From 78fb509d0d9e3d4b8cf72fd54bed1f09b9481b0e Mon Sep 17 00:00:00 2001
From: hanyujie2002 <84226578+hanyujie2002@users.noreply.github.com>
Date: Sun, 5 Nov 2023 20:41:30 +0800
Subject: [PATCH] zh-cn: init the translation of mathml fraction root
---
.../first_steps/fractions_and_roots/index.md | 299 ++++++++++++++++++
1 file changed, 299 insertions(+)
create mode 100644 files/zh-cn/learn/mathml/first_steps/fractions_and_roots/index.md
diff --git a/files/zh-cn/learn/mathml/first_steps/fractions_and_roots/index.md b/files/zh-cn/learn/mathml/first_steps/fractions_and_roots/index.md
new file mode 100644
index 00000000000000..c6b2c61c9b0431
--- /dev/null
+++ b/files/zh-cn/learn/mathml/first_steps/fractions_and_roots/index.md
@@ -0,0 +1,299 @@
+---
+title: MathML 分数和根号
+slug: Learn/MathML/First_steps/Fractions_and_roots
+---
+
+{{LearnSidebar}}{{PreviousMenuNext("Learn/MathML/First_steps/Text_containers", "Learn/MathML/First_steps/Scripts", "Learn/MathML/First_steps")}}
+
+本文在前文对文本容器介绍的基础上,介绍了如何通过嵌套分数和根号构建更复杂的 MathML 表达式。
+
+
+
+
+ 前提: |
+
+ 基本的计算机操作能力,已安装基本软件,基本的文件操作知识,以及 HTML 基础知识(学习过 HTML 简介。)
+ |
+
+
+ 目标: |
+
+ 熟悉用于编写分数和平方根的 MathML 元素。
+ |
+
+
+
+
+## \、\ 和 \ 的子树
+
+在 [MathML 使用入门](/zh-CN/docs/Learn/MathML/First_steps/Getting_started)文章中,我们学习了用于描述分数的 `` 元素。现在让我们看一个基本示例,其中还添加了用于根号(`` 和 ``)的新元素:
+
+```html
+
+
+
+
+
+```
+
+下面是浏览器渲染的屏幕截图:
+
+![mfrac、msqrt 和 mroot 的屏幕截图](mfrac-msqrt-mroot.png)
+
+- 我们知道 `` 元素被渲染为一个分数:第一个子元素(分子)被绘制于第二个子元素(分母)的上方,并由一条水平线分隔。
+- `` 被渲染为一个平方根:其子元素呈现为一个 [``](/zh-CN/docs/Learn/MathML/First_steps/Getting_started#使用_mrow_元素进行分组),前缀为根号√,并完全被一条横线覆盖。
+- 最后,`` 元素被渲染为一个 n 次方根:第一个元素被根号符号覆盖,而第二个元素被用作根的次数,并作为前缀上标呈现。
+
+### 主动练习:内嵌不同元素
+
+这是一个简单的练习,旨在验证你是否理解了 MathML 子树与其可视化呈现之间的关系。该文档包含一个 MathML 公式,你需要标记所有与该 MathML 公式中的子树相对应的子树。完成后,你可以查看 MathML 公式的源代码,以验证它是否符合你的预期。
+
+```html hidden
+
+
+
+
+ 带数学字符的页面
+
+
+
+
+
+
+
+ -
+
+ 一个将 mroot 作为第一个子元素,将 msqrt 作为第二个子元素的 mfrac。
+
+ -
+
+ 一个将 mn 作为第一个子元素,将 mfrac 作为第二个子元素的 mroot。
+
+ -
+
+ 一个包含 mfrac 元素的 msqrt。
+
+ -
+
+ 一个具有一个 mn 子元素的 msqrt。
+
+ -
+
+ 一个将 mfrac 作为第一个子元素,将 mn 作为第二个子元素的 mroot。
+
+ -
+
+ 一个具有以下子元素列表的 msqrt:mn,mo,mn。
+
+ -
+
+ 一个将 msqrt 作为第一个子元素,将 mroot 作为第二个子元素的 mfrac。
+
+ -
+
+ 一个具有以下子元素列表的 mfrac:msqrt,mn,msqrt。
+
+ -
+
+ 一个具有一个 mn 子元素的 mroot。
+
+ -
+
+ 一个具有两个 mn 子元素的 mfrac。
+
+ -
+
+ 一个具有五个 mn 子元素的 msqrt。
+
+ -
+
+ 一个具有两个 mn 子元素的 mroot。
+
+
+
+
+
+
+
+
+
+```
+
+```css hidden
+math {
+ font-family:
+ Latin Modern Math,
+ STIX Two Math;
+ font-size: 200%;
+}
+math .highlight {
+ background: pink;
+}
+math [id] .highlight {
+ background: lightblue;
+}
+p {
+ padding: 0.5em;
+}
+```
+
+```js hidden
+const options = document.getElementById("options");
+const comment = document.getElementById("comment");
+const checkboxes = Array.from(options.getElementsByTagName("input"));
+const status = document.getElementById("status");
+function verifyOption(checkbox) {
+ let mathml = checkbox.dataset.highlight;
+ if (mathml) {
+ mathml = document.getElementById(mathml);
+ }
+ if (checkbox.checked) {
+ comment.textContent = checkbox.dataset.comment;
+ if (mathml) {
+ mathml.classList.add("highlight");
+ } else {
+ checkbox.checked = false;
+ }
+ } else {
+ comment.textContent = "";
+ if (mathml) {
+ mathml.classList.remove("highlight");
+ }
+ }
+ const finished = checkboxes.every(
+ (checkbox) => !!checkbox.checked === !!checkbox.dataset.highlight,
+ );
+ status.textContent = finished ? "恭喜,你选中了所有正确选项!" : "";
+}
+checkboxes.forEach((checkbox) => {
+ checkbox.addEventListener("change", () => {
+ verifyOption(checkbox);
+ });
+});
+```
+
+{{ EmbedLiveSample('主动练习:内嵌不同元素', 700, 600, "", "") }}
+
+## 可伸缩的根号符号
+
+正如之前所见,`` 和 `` 元素上的上横线会水平拉伸以覆盖其内容。但实际上根号符号 √ 也会拉伸以与其内容一样高。
+
+```html hidden
+
+```
+
+```html
+
+```
+
+{{ EmbedLiveSample('可伸缩的根号符号', 700, 200, "", "") }}
+
+> **警告:** 通常需要特殊的[数学字体](/zh-CN/docs/Web/MathML/Fonts)才能实现该拉伸效果,上面的示例依赖于[网络字体](/zh-CN/docs/Learn/CSS/Styling_text/Web_fonts)。
+
+## 无横线的分数
+
+有些数学概念有时会使用类似分数的表示法,例如[二项式系数](https://zh.wikipedia.org/wiki/组合)或[勒让德符号](https://zh.wikipedia.org/wiki/勒让德符号)。对于这种不绘制横线的类似分数的表示法,可以在 `` 元素上附加 `linethickness="0"` 属性进行标记:
+
+```html hidden
+
+```
+
+```html
+
+```
+
+{{ EmbedLiveSample('无横线分式', 700, 200, "", "") }}
+
+> **备注:** 虽然 `linethickness` 属性可以用于指定任意的线条粗细,但最好保持默认值,该值是根据数学字体中指定的参数计算得出的。
+
+## 总结
+
+在本文中,我们学习了如何使用 ``、`` 和 `` 元素来构建分数和根式。我们注意到了这些元素的一些特殊功能,即分数和根号符号。我们还学习了如何使用 `linethickness` 属性绘制无横线的分数。在下一篇文章中,我们将继续介绍基本的数学符号,并学习[上下标记](/zh-CN/docs/Learn/MathML/First_steps/Scripts)的使用。
+
+{{LearnSidebar}}{{PreviousMenuNext("Learn/MathML/First_steps/Text_containers", "Learn/MathML/First_steps/Scripts", "Learn/MathML/First_steps")}}
+
+## 参见
+
+- [`` 元素](/zh-CN/docs/Web/MathML/Element/mfrac)
+- [`` 元素](/zh-CN/docs/Web/MathML/Element/msqrt)
+- [`` 元素](/zh-CN/docs/Web/MathML/Element/mroot)