(Translated by https://www.hiragana.jp/)
数学置标语言 - 维基百科,自由的百科全书 とべ转到内容ないよう

数学すうがくおけ标语げん

本页使用了标题或全文手工转换
维基百科ひゃっか自由じゆうてき百科ひゃっかぜん
重定しげさだこうMathML
数学すうがく标记语言(MathML)
互联网媒体ばいたい类型application/mathml+xml、​application/mathml-presentation+xml、​application/mathml-content+xml、​math/mml
开发しゃまん维网联盟(W3C)
格式かくしき类型标记语言
扩展XML
标准Mathematical Markup Language (MathML) Version 3.0 2nd Edition
网站W3C MathML

数学すうがく标记语言Mathematical Markup LanguageMathML),いち种基于XMLてき标准,ようらい描述数学すうがく符号ふごう公式こうしき。它的标是数学すうがく公式こうしき集成しゅうせいいたまん维网かず其他ぶん档中。从2015ねん开始,MathMLなり为了HTML5てきいち部分ぶぶんISO标准。

よし于数がく符号ふごう公式こうしきてき结构复杂且符ごうあずか符号ふごう存在そんざい种逻辑关けい,MathMLてき格式かくしきじゅうふんしげる琐。よし此,だい多数たすうじんかい手写しゅしゃMathML,而是利用りよう其它てき工具こうぐらい编写,其中包括ほうかつTeXいたMathMLてき转换

历史

[编辑]

它是ゆかりW3Cてき数学すうがく工作こうさく提出ていしゅつてき。语言规格1.01はん于1999ねん7がつ公布こうふ,2.0はん于2001ねん2がつ现。W3Cてき数学すうがく工作こうさく组在2003ねん10がつ发布りょうMathML 2.0てきだいはん, これきさきまたざい2010ねん10がつ发布りょうMathML 3.0.

结构语法

[编辑]

MathMLじゅうふん类似HTMLただし非常ひじょうしげる琐。它继承りょうかくくくごうそう标签(<标签>内容ないよう</标签>)てき用法ようほう

MathMLただし规定数学すうがく式子しょくしてきおもて,而且也规定数ていすうがく数字すうじてき含义前者ぜんしゃさけべ做“Presentation MathML”,きさきしゃさけべ做“Content MathML”)。よし于数がく式子しょくしてき义与ひょう现是ぶん离开てき如何いか交流こうりゅう内容ないようとめ给了よう户。れい如,ないはまMathMLてき网页以让许多浏览按照正常せいじょうてき网页いち样浏览。ただし视觉受损しゃ也可以用しょうどうてきMathML,つうへいまく阅读れいIE浏览てきMathPlayer插件Opera浏览9.50构建ごう9656+、きつね浏览てきFire VoxえいFire Vox附加ふか组件)ゆうごえろう出来でき

Presentation MathML

[编辑]

Presentation MathML 侧重于如なん显示いち个数がく式子しょくしだい约有30个元素げんそ元素げんそ名字みょうじ全部ぜんぶm开头。构建 Presentation MathML ひょう达式てき记号ゆう一些更高层的元素组合而成的,这些元素げんそひかえせい它们てき界面かいめんだい约有50个属せい基本きほん很好ひかえせいりょう细节)。

记号元素げんそただ包含ほうがん文字もじぼつゆう其他元素げんそ),它们ゆう

  • <mi>x</mi> —— 标识
  • <mo>+</mo> —— 操作そうさ
  • <mn>2</mn> —— 数字すうじ
  • <mtext>non zero</mtext> —— ぶんほん

注意ちゅういいたつきかん这些记号元素げんそのうよう表示ひょうじ扩展要点ようてんまこと许用宿主しゅくしゅ语言らい标记。HTML5てきMathML几乎まこと许在mtext中内なかうち联HTML标记,以把HTML标记ざいMathMLちゅうらい标记ないはまぶんほんざいれい子中こなか使とくだい一个单词加粗)。并且

  • <mtext><b>non</b> zero</mtext>

合格ごうかくてき

这些ぬのきょく元素げんそ,它们ただのう包含ほうがん元素げんそ。它们ゆう

  • <mrow> —— 水平すいへいてきいちぎょう
  • <msup> <munderover> ひとしとう —— うえ,规定上下じょうげ操作そうさ,就像もとめごうとうとういち
  • <mfrac> —— 分数ぶんすう
  • <msqrt> <mroot> —— ほう
  • <mfenced> —— よう栅隔离开内容ないようれいくくごう

あずかHTMLXMLいち样,ゆう许多实体らい指定してい特殊とくしゅ符号ふごうれい&pi;&RightArrow;ゆうおもむきてき通常つうじょう不可ふか操作そうさ也依しか存在そんざい实体,れい&InvisibleTimes; よう表示ひょうじ乘法じょうほう运算ちゅう省略しょうりゃくてきじょうごう。这些不可ふか操作そうさ

  • U+2061 函数かんすう应用
  • U+2062 不可ふか见乘ごう
  • U+2063 不可ふか见分へだた
  • U+2064 不可ふか见加ごう

MathMLてきかんせい实体说明ざい标准てきだいななしょう,并且HTMLあずかXMLてき协调ざい [1]页面そん档备份そん互联网档あん)。

所以ゆえんおもて达式需要じゅよう两个元素げんそ:一个是创建总体的水平行,另一个创建上标的指数。ただ有元ありもとぼつゆう标记てきはだか记号てきぬのきょくてき结构如下:

    <mrow>
      a &InvisibleTimes; <msup>x 2</msup>
      + b &InvisibleTimes; x
      + c
    </mrow>

しか而,单个记号也必须用标识(mi)、操作そうさ(mo)ある数字すうじ(mn)表示ひょうじ添加てんかいた记号标记,かんせいてき形式けいしき如下:

    <mrow>
      <mi>a</mi> <mo>&InvisibleTimes;</mo> <msup><mi>x</mi><mn>2</mn></msup>
      <mo>+</mo><mi>b</mi><mo>&InvisibleTimes;</mo><mi>x</mi>
      <mo>+</mo><mi>c</mi>
    </mrow>

有效ゆうこうてきMathMLぶん档需よう包含ほうがんXML声明せいめい、DOCTYPE声明せいめい和文わぶん元素げんそぶん档体包含ほうがん于<math>元素げんそないてきMathMLひょう达式。通常つうじょう,MathMLかいうちはま于多种通用つうようぶん档中,れいHTMLDocBook,获知其它てきXMLしきいち包含ほうがん如上じょじょうMathMLてきかんせいてきぶん档显しめせ如下:

 <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE math PUBLIC "-//W3C//DTD MathML 2.0//EN"
           "http://www.w3.org/Math/DTD/mathml2/mathml2.dtd">
  <math xmlns="http://www.w3.org/1998/Math/MathML">
    <mrow>
      <mi>a</mi>
      <mo>&InvisibleTimes;</mo>
      <msup>
        <mi>x</mi>
        <mn>2</mn>
      </msup>
      <mo>+</mo>
      <mi>b</mi>
      <mo>&InvisibleTimes; </mo>
      <mi>x</mi>
      <mo>+</mo>
      <mi>c</mi>
    </mrow>
  </math>

Content MathML

[编辑]

Content MathML 侧重于表达式てき语义,而不ぬのきょくちゅう间的 Content MathML よう<apply>元素げんそらい表示ひょうじこうのうてき具体ぐたい应用。应用てきこうのうてき长子元素げんそざい<apply>した,并且它的操作そうさすうあるさんすうあましもてき元素げんそ, Content MathML ただゆうしょう许属せい

标识数字すうじ类的记号单独标记,就像 Presentation MathML いち样,ただし元素げんそ类似 ci cn不同ふどう于仅仅是另一个类型的记号,操作そうさ表示ひょうじ具体ぐたいてき元素げんそ。它们てき数学すうがく语义以从MathMLちゅうてきせい鞋符ごうちゅう出来できtimespowerひとしひとし。为不同ふどうてきこうのう操作そうさちょう过100个不同ふどうてき元素げんそ(见标じゅんだいよんしょう)。

れい如,<apply><sin/><ci>x</ci></apply>代表だいひょう,而<apply><plus/><ci>x</ci><cn>5</cn></apply>代表だいひょう表示ひょうじ操作そうさかずいさおのうてき元素げんそそら元素げんそいん为它们的操作そうさすう其它ざい下面かめんつつみ含有がんゆう<apply>てき元素げんそ

おもて达式以被表示ひょうじ为:

<math>
    <apply>
        <plus/>
        <apply>
            <times/>
            <ci>a</ci>
            <apply>
                <power/>
                <ci>x</ci>
                <cn>2</cn>
            </apply>
        </apply>
        <apply>
            <times/>
            <ci>b</ci>
            <ci>x</ci>
        </apply>
        <ci>c</ci>
    </apply>
</math>

Content MathML きん乎是どう构于一个功能语言(れいSchemeちゅうてきひょう达式。<apply>...</apply>てき数量すうりょう就是Schemeてき(...),而且许多操作そうさかずいさおのう元素げんそてき就是Schemeてき函数かんすうゆうりょう这些せい细的ぶんほん转换,そと标签てき单独记号,上面うわつらてきれい就成为:[1]

  (plus
    (times a (power x 2))
    (times b x)
    c)

放映ほうえいXML元素げんそ结构LISPあるSchemeてきS-おもて达式てき长期てき亲密关系。[2][3]

[4]

あずか其它格式かくしきてき对比

[编辑]

れい如,书写以下いかてきかたほど求根きゅうこん公式こうしき

わかようLaTeX,则只需要じゅよういちぎょうだい码:

x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}

わかようeqn,则也ただいちぎょうだい

x={-b +- sqrt{b sup 2 – 4ac}} over 2a

わかようApache OpenOffice MathLibreOffice Math,则也ただ需要じゅよういちぎょうだい码(以下いかさん种均):

x={-b plusminus sqrt {b^2 – 4 ac}} over {2 a}
x={-b ± sqrt {b^2 – 4ac}} over 2a
x={-b +- sqrt {b^2 – 4ac}} over 2a

わかようASCIIMathML页面そん档备份そん互联网档あん),则也ただ需要じゅよういちぎょうだい

x = (-b +- sqrt(b^2 – 4ac)) / (2a)

ただしようMathML,则需要じゅよう

<math mode="display" xmlns="http://www.w3.org/1998/Math/MathML">
  <mrow>
    <mi>x</mi>
    <mo>=</mo>
    <mfrac>
      <mrow>
        <mo form="prefix">&#x2212;<!-- − --></mo>
        <mi>b</mi>
        <mo>&#x00B1;<!-- &PlusMinus; --></mo>
        <msqrt>
          <msup>
            <mi>b</mi>
            <mn>2</mn>
          </msup>
          <mo>&#x2212;<!-- − --></mo>
          <mn>4</mn>
          <mo>&#x2062;<!-- &InvisibleTimes; --></mo>
          <mi>a</mi>
          <mo>&#x2062;<!-- &InvisibleTimes; --></mo>
          <mi>c</mi>
        </msqrt>
      </mrow>
      <mrow>
        <mn>2</mn>
        <mo>&#x2062;<!-- &InvisibleTimes; --></mo>
        <mi>a</mi>
      </mrow>
    </mfrac>
  </mrow>
  <annotation encoding="TeX">
     x=\frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
  </annotation>
  <annotation encoding="StarMath 5.0">
     x={-b plusminus sqrt {b^2 - 4 ac}} over {2 a}
  </annotation>
</math>

虽然如此,ゆかり于MathML严格遵守じゅんしゅXML规范てき语言,很多やめ经运ようXMLてき软件以轻えきてき读懂MathML。这也这种语言てき制作せいさくしゃW3C组织宁可选择复杂てき句法くほう也要标准一致的一个重要原因。

ざいXHTMLあるHTML5ぶんけん中内なかうちはまMathML

[编辑]

MathMLいち种XML,以通过使用しようXML命名めいめいそら间来嵌入かんにゅうXMLぶんけんちゅうれい如XHTMLぶんけん。现代浏览れいきつね浏览版本はんぽん3以上いじょう版本はんぽんOpera浏览9.6以上いじょう版本はんぽん不完全ふかんぜん支持しじ展示てんじXHTMLないはまてきMathML。

れい如 math-test.xhtml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
	<head>
		<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
		<title>Example of MathML embedded in an XHTML file</title>
		<meta name="description" content="Example of MathML embedded in an XHTML file" />
		<meta name="keywords" content="Example of MathML embedded in an XHTML file" />
	</head>
	<body>
		<h1>Example of MathML embedded in an XHTML file</h1>
		<p>
			Given the quadratic equation
			<math xmlns="http://www.w3.org/1998/Math/MathML">
				<mrow>
					<mi>a</mi>
					<mo>&#x2062;<!-- &InvisibleTimes; --></mo>
					<msup>
						<mi>x</mi>
						<mn>2</mn>
					</msup>
					<mo>+</mo>
					<mi>b</mi>
					<mo>&#x2062;<!-- &InvisibleTimes; --></mo>
					<mi>x</mi>
					<mo>+</mo>
					<mi>c</mi>
					<mo>=</mo>
					<mi>0</mi>
				</mrow>
			</math>
			, the roots are given by
			<math xmlns="http://www.w3.org/1998/Math/MathML">
				<mrow>
					<mi>x</mi>
				<mo>=</mo>
					<mfrac>
						<mrow>
							<mo form="prefix">&#x2212;<!-- − --></mo>
							<mi>b</mi>
							<mo>&#x00B1;<!-- &PlusMinus; --></mo>
							<msqrt>
								<msup>
									<mi>b</mi>
									<mn>2</mn>
								</msup>
								<mo>&#x2212;<!-- − --></mo>
								<mn>4</mn>
								<mo>&#x2062;<!-- &InvisibleTimes; --></mo>
								<mi>a</mi>
								<mo>&#x2062;<!-- &InvisibleTimes; --></mo>
								<mi>c</mi>
							</msqrt>
						</mrow>
						<mrow>
							<mn>2</mn>
							<mo>&#x2062;<!-- &InvisibleTimes; --></mo>
							<mi>a</mi>
						</mrow>
					</mfrac>
				</mrow>
			</math>
			.
		</p>
	</body>
</html>
使用带有STIX Beta字体的火狐浏览器3.5版显示MathML的图片例子 (math-test.xhtml)
使用しよう带有 STIXえいSTIX Fonts project Beta字体じたいてき きつね浏览3.5はん显示MathMLてき图片れい (math-test.xhtml)

而内联MathMLどう样被HTML5ぶんけん支持しじ支持しじてき浏览ゆうとうぜん版本はんぽんてきWebKitSafariGeckoFirefox)。

れい如: math-test.htm

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>Example of MathML embedded in an HTML5 file</title>
	</head>

	<body>
		<h1>Example of 
			<abbr title="Mathematical Markup Language">MathML</abbr>
			embedded in an 
			<abbr title="HyperText Markup Language">HTML</abbr>
			5 file
		</h1>
		<p>
			Given the quadratic equation
			<math>
				<mrow>
					<mi>a</mi>
					<mo>&InvisibleTimes;</mo>
					<msup>
						<mi>x</mi>
						<mn>2</mn>
					</msup>
					<mo>+</mo>
					<mi>b</mi>
					<mo>&InvisibleTimes;</mo>
					<mi>x</mi>
					<mo>+</mo>
					<mi>c</mi>
					<mo>=</mo>
					<mi>0</mi>
				</mrow>
			</math>
			, the roots are given by
			<math>
				<mrow>
					<mi>x</mi>
					<mo>=</mo>
					<mfrac>
						<mrow>
							<mo form="prefix"></mo>
							<mi>b</mi>
							<mo>&PlusMinus;</mo>
							<msqrt>
								<msup>
									<mi>b</mi>
									<mn>2</mn>
								</msup>
								<mo></mo>
								<mn>4</mn>
								<mo>&InvisibleTimes;</mo>
								<mi>a</mi>
								<mo>&InvisibleTimes;</mo>
								<mi>c</mi>
							</msqrt>
						</mrow>
						<mrow>
							<mn>2</mn>
							<mo>&InvisibleTimes;</mo>
							<mi>a</mi>
						</mrow>
					</mfrac>
				</mrow>
			</math>
			.
		</p>
	</body>
</html>

软件支持しじ

[编辑]

浏览

[编辑]

ざい现在几个主要しゅようてき网页浏览ちゅうGeckoてき浏览(如Firefoxゆうさいかん备的原生げんせい支持しじ[5][6]

WebKitはいばん引擎ゆう针对MathMLてき开发ばん[7]这一特性只出现在Safari 5.1及更だか版本はんぽん[8]Chrome 24,[9][10]ただし不在ふざいきさきらいてきChrome版本はんぽんさとめん[11]GoogleうつりじょりょうMathML支持しじせんしょう构上てき安全あんぜん问题てい使用しようりょうかい证明们的维护时间有理ゆうり[12]截至2013ねん10がつねん (2013ねん10がつ-Missing required parameter 1=month!),WebKit/Safariてき实现存在そんざい个bug。[13]

Opera 9.5—12支持しじMathML CSS配置はいち[14][15]ただし不能ふのう使附加ふか符号ふごうせい放置ほうち[16]9.5ぜん需要じゅようよう脚本きゃくほんある样式以模拟MathML支持しじ[17]Opera 14开始,Operaどおり过迁うつりいたChromium 25引擎うつりじょりょうMathML支持しじ[18]

Internet Explorer原生げんせい支持しじMathML。IE6いたIE9ざいあんそうりょうMathPlayer插件きさき也可以识别MathML。[19]IE10使用しようMathPlayer时存在そんざいいち些崩溃bug,并且ほろ软决ていざいIE11完全かんぜん禁止きんしMathPlayerしょ需的进制插件界面かいめん[20]MathPlayerゆう协议じょう款会げんせいざい商用しょうよう页面ある软件上面うわつらてき使用しようある发行。使用しようある发行MathPlayer插件以通过商よう软件ちゅうてきWebBrowserひかえけん显示HTML内容ないよう也有やゆう可能かのう受到禁止きんし

もとKHTMLてきKonqueror提供ていきょう对MathMLてき支持しじ[21]

编辑

[编辑]

MathML还得いたりょう主要しゅよう办公软件てき支持しじ,如Apache OpenOfficeLibreOfficeMicrosoft Office,以及数学すうがく软件てき支持しじ,如MathematicaMaple

FiremathえいFiremathこれきつね浏览てき附加ふか组件,提供ていきょうWYSIWYGてきMathML编辑

手写しゅしゃ识别

[编辑]

Windows 7工具こうぐめいさけべMath Input Panel。以把手写しゅしゃ输入转换为MathML。

参考さんこう文献ぶんけん

[编辑]
  1. ^ Calculadora Alicia. [2022-11-10]. (原始げんし内容ないようそん于2023-12-29). 
  2. ^ Steven DeRose. The SGML FAQ Book: Understanding the Relationship of SGML and XML, Kluwer Academic Publishers, 1997. ISBN 978-0-7923-9943-8.
  3. ^ Canonical S-expressions#cite note-0えいCanonical S-expressions#cite note-0
  4. ^ Calculadora Alicia. [2022-11-10]. (原始げんし内容ないようそん于2023-12-29). 
  5. ^ Wang, Frédéric, Mozilla MathML Status, Mozilla, [2018-07-11], (原始げんし内容ないようそん于2013-04-09) 
  6. ^ Sidje, Roger B., Authoring MathML for Mozilla, Mozilla, [2018-07-11], (原始げんし内容ないようそん于2010-03-24) 
  7. ^ Bug 3251 – Implement MathML (master bug), WebKit, [2018-07-11], (原始げんし内容ないようそん于2018-07-11)  . . . (However, "see also") https://trac.webkit.org/wiki/MathML%20Status页面そん档备份そん互联网档あん
  8. ^ Safari 5.1 and math, [2018-07-11], (原始げんし内容ないようそん于2018-07-26) 
  9. ^ MathML Support Coming To Chrome, BrowserFame, [16 October 2012]  やめゆるがせりゃく未知みちさんすう|archive- url= (帮助)
  10. ^ Stable Chrome 24 supports MathML and closes security holes, The H Online, [11 January 2013], (原始げんし内容ないようそん于2017-04-21) 
  11. ^ Stable Channel Update, [7 April 2013], (原始げんし内容ないようそん于2016-11-04) 
  12. ^ Google subtracts MathML from Chrome, and anger multiplies. CNET. [22 November 2014]. (原始げんし内容ないようそん于2018-07-11). 
  13. ^ Frédéric Wang. Funding MathML Developments in Gecko and WebKit - Blog de Frédéric. maths-informatique-jeux.com. [22 November 2014]. (原始げんし内容ないようそん档于2014-12-14). 
  14. ^ McCathieNevile, Charles, Can Kestrels do Math? MathML support in Opera Kestrel, Opera, 27 September 2007 [2018-07-11], (原始げんし内容ないようそん于2012-03-12) 
  15. ^ Olsen, Tommy A., Even more work, Opera, 16 November 2007, (原始げんし内容ないようそん档于18 November 2007) 
  16. ^ MathML – The Opera MathML blog. My.opera.com (1 November 2007). Retrieved on 9 May 2012.
  17. ^ UserJS for MathML 2.0. My.opera.com. Retrieved on 9 May 2012.
  18. ^ Opera 14 beta for Android is out, (原始げんし内容ないようそん档于2013-03-08) 
  19. ^ MathPlayer – version history, [2018-07-11], (原始げんし内容ないようそん于2018-07-11) 
  20. ^ Microsoft cripples the display of math in IE10 & 11. dessci.com. [22 November 2014]. (原始げんし内容ないようそん档于2014ねん7がつ1にち). 
  21. ^ Bug 30526 – MathML support for Konqi, [2018-07-11], (原始げんし内容ないようそん于2018-06-10) 

外部がいぶ链接

[编辑]

まいり

[编辑]