CSSに対応したMathML仕様概要書(A MathML for CSS Profile 日本語訳) (original) (raw)

この文書の位置付け

Status of this Document

この節では, 公表された時点でのこの文書の位置付けについて述べます. 他の文書がこの文書に取って代わってもよいです. 現時点でのW3Cの公表した文書の一覧とこの技術報告書の最新版は, W3C技術報告書の索引(http://www.w3.org/TR/)で見つけることができます.

This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.

この文書は, W3C 数学事業の一部としてW3C数学作業部会により作成されたW3C勧告です. W3C数学作業部会の目的は, W3C数学作業部会憲章の中で述べています. この文書の著者は, W3C数学作業部会のメンバーです.

This document is a W3C Recommendation produced by the W3C Math Working Group as part of W3C Math Activity. The goals of the W3C Math Working Group are discussed in the W3C Math WG Charter. The authors of this document are W3C Math Working Group members.

この文書は, W3C会員, ソフトウェア開発者, 他のW3C部会や興味を持った団体によって検討され, ディレクターによりW3C勧告とされました. この文書は完成版であり, 資料として参照されたり, 他の文書に引用されたりします. 勧告を行う上でのW3Cの役割は, 仕様書に注意を引くことと広範囲に普及させることです. このことによりウェブの機能性や使用性を高めます.

This document has been reviewed by W3C Members, by software developers, and by other W3C groups and interested parties, and is endorsed by the Director as a W3C Recommendation. It is a stable document and may be used as reference material or cited from another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its widespread deployment. This enhances the functionality and interoperability of the Web.

この文書は, 広く検討され実装可能なように閲覧されてきて完成したのもです. W3Cは, 全ての方に対しこの仕様書を実装することを奨励しています. 意見は, 公式なメーリングリストwww-math@w3.org(履歴一覧)に送信して下さい. (訳注:この文書(日本語版)に対する意見や間違いの報告は, soco__kankyo@hotmail.comに報告して下さい.)

This is is a mature document that has been widely reviewed and has been shown to be implementable. W3C encourages everybody to implement this specification. Comments may be sent to the (archived) public mailing list www-math@w3.org.

この文書の一つ前のバージョンは勧告案です. その案とこの文書の違いは, 位置付けの節が更新されたことと参考文献がいくつか更新されたことのみです.

The previous version of this document was a Proposed Recomendation. The only differences between that draft and this are the updated status section, and some updated references.

この勧告は, MathML 3.0[mathml]W3C勧告の概要を明記し, 現在のCSS[css]と調和させようとするものです.

This Recommendation specifies a profile of the W3C Recommendation, MathML 3.0 [mathml], and is intended to accord with current CSS [css].

勧告候補の期間を通して, 作業部会は, 以前の2つの独立したCSS実装を利用するCSSに対応したMathML仕様概要書をテストしました. この仕様概要書は, 仕様書自体の中に適切なCSSスタイルシートを含んでいます. このテスト結果は, CSSに対応したMathML仕様概要書テスト結果で公表されています. このテストは, 総合的なMathMLテストツールの一部を利用して行われました. このツールも公開され利用できます. 詳しくは, MathML3実装の報告で見ることができます.

During the Candidate Recommendation phase, the Working Group tested the MathML for CSS Profile using at least two independent CSS implementations. The Profile contains a suitable CSS stylesheet within the specification itself. The results of testing, MathML for CSS Profile Test Results, have been made public. The testing used parts of the comprehensive MathML Test Suite. This is also publicly available. Further details may be found in the MathML3 Implementation Report

この文書は, 2004年2月5日のW3Cの特許指針の下で運営した作業部会により作成されました. W3Cは, この作業部会の成果に関連して作成された特許開示の公開一覧を管理しています. この一覧のページには, 特許を開示する場合の指示書きを含んでいます. 特許について実際に生じている情報を持っている方は, その情報が本質的な主張(訳注:当該日本語訳では"Essential Claim"の日本語訳に"本質的な主張"を当てていますが, "Essential Claim"という用語はW3C特許指針で定義された用語です.)に当たると思われる場合, W3C特許指針の第6節に従って, 必ずその情報を開示して下さい.

This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. W3C maintains a public list of any patent disclosuresmade in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.

MathMLについての公式な議論やW3Cを通じたインターネット上の数学に関する対応の課題については, 数学作業部会の公式なメーリングリスト(履歴一覧)で交わされています. 寄付をされたい場合, 題名にsubscribeという語句を記入してwww-math-request@w3.orgにメールを送付して下さい.

Public discussion of MathML and issues of support through the W3C for mathematics on the Web takes place on the public mailing list of the Math Working Group (list archives). To subscribe send an email to www-math-request@w3.orgwith the word subscribe in the subject line.

1 導入

Introduction

この仕様概要書は, CSSによる表現に対応する方法で数式の構造をうまく再現するために利用できるよう, MathML 3.0 [mathml]の一部となるものを意図しています. この仕様概要書はウェブブラウザやCSSを表現するソフトウェアにおいてMathMLの採用を促進することを期待されています. 具体的には, プレゼンテーションMathMLの配置構成を表現するため, 数学に適応したちょっとした拡張によって強化した, 既存のCSS [css]視覚表現モデルをそれらのソフトウェアで再利用することによって採用の促進が期待されています. CSSに対応した仕様概要書の開発は, CSSで進行中の作業と調整が図られていると想定しています. この文書で明記されているように, 適切に利用されるよう制限されたMathML3の内容は, CSS 2.1までの現在実装されているCSSとともにうまく表現されるべきです. 記述された機能の中には, CSS3に追加される限られた新しいプロパティの集合によって, より良くなるものもあるでしょう.

The current profile is intended to be subset of MathML 3.0 [mathml] that could be used to capture structure of mathematical formulae in the way suitable for further CSS formatting. This profile is expected to facilitate adoption of MathML in web browsers and CSS formatters, allowing them to reuse existing CSS [css] visual formatting model, enhanced with a few mathematics-oriented extensions, for rendering of the layout schemata of presentational MathML. Development of the CSS profile is assumed to be coordinated with ongoing work on CSS. As specified in this document a restricted part of MathML3 properly used should render well with currently implemented CSS up to CSS 2.1. Some descriptions are offered of what might be done better were a limited set of new properties to be added to CSS3 modules.

この仕様概要書が必要になった背景について記述することが有用でしょう. CSS2仕様書[css2]は, 最初のMathML仕様書[mathml1]と同じぐらいの時期に開発され改善されました. 現在, MathMLとCSS両方の新しいバージョンが作られています. ゆえに, この仕様概要書は, ウェブに提供されるW3C勧告の調和を実現するために行われている努力の一部です.

It may be useful to note, in connection with the need for this profile, that the CSS2 specification [css2] was developed and refined at about the same time as the first MathML specification [mathml1]. Now new versions of both MathML and CSS are being created. This profile is thus part of the ongoing effort to realize the synergy that W3C Recommendations offer to the Web.

1.1 表現モデルにおける違い

Differences in formatting models

数学作業部会が特定した, 完全に一貫したMathML/CSSの統合を遅らせる主な障害と考えられる問題点は次のとおりです.

The Math Working Group has identified the following issues, which are considered to be the main obstacles delaying fully consistent MathML/CSS integration.

2 数学要素

Math Elements

2.1 ルート要素

Root element

MathMLは, 文書中のMathMLの記述部分を内包する単一の最上位のmathルート要素を指定しています. 全てのそれ以外のMathML要素は, MathMLの式の常に最も外側の要素となる, いくつでも子要素を含むことのできるmath要素に含まれる必要があります. math要素は, 囲まれたMathML要素をディスプレイ形式で表示するか, インライン形式で表示するかを明示するdisplay属性を持ちます. 取り得る値は, "block"か"inline"(既定値)です. math要素は, MathMLの描画を実装していないソフトウェアに別の描画方法を提供するためのaltimg属性とalttext属性を持つことができます. altimg属性とalttext属性の値はそれぞれURIと文字データ(CDATA)です. 全てのMathML要素は, MathML名前空間http://www.w3.org/1998/Math/MathML[rec-xmlns]の中に置くべきです. これは, math要素に既定の名前空間宣言を加えるか, MathML名前空間に限定する名前空間接頭辞を利用することで実現できます.

MathML specifies a single top-level or root math element, which encapsulates each instance of MathML markup within a document. All other MathML markup must be contained in a math element, which must always be the outermost element of a MathML expression and can contain an arbitrary number of children. The math element carries the display attribute that specifies whether the enclosed MathML expression should be rendered in a display style or an in-line style. Allowed values are "block" and "inline" (default). It also accepts altimg and alttext attributes that provide fall-back for User Applications (UAs) that do not support MathML layout schemata. The values of altimg and alttext attributes are URI and CDATA respectively. All MathML elements should be in the MathML namespace http://www.w3.org/1998/Math/MathML [rec-xmlns]. This can be ensured by adding a default namespace declaration to math elements, or by using namespace prefixes bound to the MathML namespace.

2.2 素子要素と配置要素

Token elements and layout schemata

この仕様概要書に含まれるMathML要素は, 2つの集合に分けられます. _素子要素_は, 個々の記号, 名前, 数字, ラベル等を表します. 一般に, 素子要素は, 中身として文字のみのデータを持つことができます. _配置要素_は, 部分部分から式を組み立てるもので, 中身として無視される空白を除いて, 要素を持つことだけができます. また, 特定の配置要素と連携して用いられる要素もあります.

MathML elements included in the current profile can be divided into two classes. Token elements represent individual symbols, names, numbers, labels, etc. In general, tokens can have only character data as content. Layout schemata build expressions out of parts, and can only have elements as content except for whitespace, which they ignore. There are also a few empty elements used only in conjunction with specific layout schemata.

数式の個々の"記号"は全て, MathML素子要素として表現されるべきです. 基本的なMathML素子要素の分類は, 識別子(例えば, 変数や関数名), 数字, 演算子(丸がっこのようなかっこやコンマのような区切り文字を含む)です. 数学的意味よりもより美しい表現を持つ文字や空白を表す素子要素や, 数値解析システムとの互換性のための"文字列"を表す素子要素もあります. 素子要素は, 単一の意味のある"記号"(名前, 数字, ラベル, 数学記号等)を表すにも関わらず, そのような記号は, 1より多い数の文字から構成されることもあることに注意して下さい. 例えば, sin24は, それぞれ単一の素子要素<mi>sin</mi><mn>24</mn>で表されます.

All individual "symbols" in a mathematical expression should be represented by MathML token elements. The primary MathML token element types are identifiers (e.g. variables or function names), numbers, and operators (including fences, such as parentheses, and separators, such as commas). There are also token elements for representing text or whitespace that has more aesthetic than mathematical significance, and for representing "string literals" for compatibility with computer algebra systems. Note that although a token element represents a single meaningful "symbol" (name, number, label, mathematical symbol, etc.), such symbols may be comprised of more than one character. For example sin and 24 are represented by the single tokens <mi>sin</mi>and <mn>24</mn> respectively.

この仕様概要書に含まれる素子要素は下の表に要約されます.

Token elements included in the current profile are summarized in the table below.

mi 識別子identifier
mn 数字number
mo 演算子, かっこ, 区切りoperator, fence or separator
mtext 文章text
mspace 空白space
ms 文字列string literal

伝統的な数学の表記法では, 式は, 小さな式, 究極には単一の記号から構成されて描かれています. そして, "式の構成要素"と考えられる表現構成の小さな集合1つ1つを用いて, それをまとめたり, 位置を決めたりした部分部分から構成されます. MathMLにおいて, 式の構成要素として動作する配置要素を用いて, 同じ方法で式が構成されます. 配置要素は, 小さな式を大きな式に組み立てる方法を指定します. 配置要素という用語は, 個々の配置要素が, 伝統的な数学植字における大きな式を形作る, 小さい式を"配置する"個々の方法に対応することに由来しています.

In traditional mathematical notation, expressions are recursively constructed out of smaller expressions, and ultimately out of single symbols, with the parts grouped and positioned using one of a small set of notational structures, which can be thought of as "expression constructors". In MathML, expressions are constructed in the same way, with the layout schemata playing the role of the expression constructors. The layout schemata specify the way in which sub-expressions are built into larger expressions. The terminology derives from the fact that each layout schema corresponds to a different way of "laying out" its sub-expressions to form a larger expression in traditional mathematical typesetting.

この仕様概要書に含まれる基本的な式の構成は下の表に示すとおりです.

Basic expression constructions included in the current profile are listed in the table below.

mrow 水平に任意の数の式をまとめる.groups any number of sub-expressions horizontally
mfrac 2つの式から分数を構成するforms a fraction from two sub-expressions
msqrt 平方根(指数無しの根号)を構成するforms a square root (radical without an index)
mroot 特定の指数の根を構成するforms a radical with specified index
merror 処理前のエラーメッセージ構文を囲むencloses a syntax error message from a preprocessor
mphantom 大きさを保ったまま見えなくするmakes content invisible but preserve its size
mfenced かっこの組で囲むsurrounds content with a pair of fences
menclose 引き伸ばした記号で囲むencloses content with a stretching symbol
msub 下付き添え字を基となる式に付け加えるattaches a subscript to a base
msup 上付き添え字を基となる式に付け加えるattaches a superscript to a base
msubsup 下付き添え字と上付き添え字の組を基となる式に付け加えるattaches a subscript-superscript pair to a base
munder 下側添え字を基となる式に付け加えるattaches an underscript to a base
mover 上側添え字を基となる式に付け加えるattaches an overscript to a base
munderover 上側添え字と下側添え字の組を基となる式に付け加えるattaches an underscript-overscript pair to a base
mmultiscripts 前置の添え字を基となる式に付け加えるattaches prescripts to a base
mtable 表や行列を示すmarks a table or matrix
mtr 表や行列の行を示すmarks a row in a table or matrix
mtd 表や行列の要素を示すmarks a one entry in a table or matrix
mstack 足し算や引き算や掛け算の筆算のような初等数学の表記に用いられるused for elementary math notations such as 2D addition, subtraction and multiplication
mlongdiv 割り算の筆算のような初等数学の表記に用いられるused for elementary math notations for long division
msline 初等数学の配置における水平線を示すmarks horizontal line in elementary math layouts
msrow 初等数学の配置における行を示すmarks row in elementary math layouts
maction 式の一部に動作を結び付けるbinds actions to a sub-expression

2.3 必要な引数

Required Arguments

配置要素の中には特定の数の引数を必要とするものもあり, 例えば, mfracは分子と分母を表す2つの子要素を持つことになっています. この仕様概要書では, 必要とする子要素の数が決まっている要素は, 配置要素mrow, maction, merror, mphantomと素子要素mi, mn, mo, ms, mtextのみを子要素として持つことしかできません. この制限は, 配置要素それぞれ自身が式の集合部分を含む際に, DOMにおいての表現が1つであることを保証するためのものです. 例えば, 分子分母それ自身が分数である, 入れ子になった分数

Some layout schemata require a specific number of arguments, for example mfrac is supposed to have two child elements representing numerator and denominator. In the current profile, layout schemata with fixed number of required arguments accept only elements mrow, maction, merror, mphantom and tokens mi, mn, mo, ms, mtext as child elements. This restrictions is imposed to ensure that each part of layout schemata has its own containing block and is uniquely represented in the document object model. For example nested fractions where the numerator or denominator are themselves fractions

a b c d

は, MathML 3.0で認められているにも関わらず, CSSに対応したMathML仕様概要書では認められていません. mrow要素で入れ子になった分数を囲むことで, 仕様概要書のこの要件に対処することができます.

are not allowed in the MathML for CSS profile, although they are allowed in MathML 3.0. It is easy to meet the profile requirements by wrapping nested fractions in mrow elements:

a b c d

特定の配置要素で必要になる引数の数は, 下の表のとおり決められています. この仕様概要書において, mfencedmactionの中身は, MathML 3.0仕様書で認められていたものと比べて厳密になっていることに注意して下さい.

The number of arguments required by a particular layout schemata element is specified in the table below. Note that in the current profile, the content model of mfenced and maction is stricter compared to what is allowed by MathML 3.0 specification.

要素Element 必要な引数の数Required argument count 引数の役割Argument roles
mfrac 2 分子 分母 numerator denominator
mroot 2 基となる式 指数 base index
mfenced 1 基となる式 base
msub 2 基となる式 下付き添え字 base subscript
msup 2 基となる式 上付き添え字 base superscript
msubsup 3 基となる式 下付き添え字 上付き添え字 base subscript superscript
munder 2 基となる式 下側添え字 base underscript
mover 2 基となる式 上側添え字 base overscript
munderover 3 基となる式 下側添え字 上側添え字 base underscript overscript
mmultiscripts 4 基となる式 mprescripts 前置の下付き添え字 前置の上付き添え字 base mprescripts presubscript presuperscript
mtable 1+ 1つ以上のmtr要素one or more mtr elements
mtr 1+ 1つ以上のmtd要素one or more mtd elements
mstack 4+ 1つ以上のmn素子要素, それに続くmsrow要素, msline要素, 1つ以上のmn素子要素とそれに続く必須でないmsline要素から構成される集合one or more mn tokens followed by msrow element, msline and groups consisting of one or more mn tokens followed by optional msline
mlongdiv 3+ 割り算の商, それに続く_除数_, 1つ以上のmn素子要素とそれに続く必須でないmsline要素から構成される集合_result of the division_ followed by divisor and groups consisting of one or more mn tokens followed by optional msline
msrow 2 mo素子要素とそれに続くmn素子要素mo token element followed by mn token
maction 2 基となる式 ツールティップボックスの内容 base tooltip

要素mrow, msqrt, merror, mphantom, menclose, mtd, mathは任意の数の引数を受け入れ, また, 子要素としてこの仕様概要書の全ての配置要素と素子要素を受け入れます.

The elements mrow, msqrt, merror, mphantom, menclose, mtdand math admit any number of arguments and accept any layout schemata or token elements from current profile as children.

2.4 共通の属性

Common attributes

属性id, class, styleは, この仕様概要書に含まれる全ての要素に用いることができます. idは, 要素に重複の無い識別子を付ける仕組みを提供します. classは, 要素に1つ以上の集合の名前を割り当てます. styleは, 要素の書式情報を明示します. mathvariant属性は, 空でない素子要素に認められており, CSSを処理できないソフトウェアにフォントの変更を検知させることを保証する互換性のために, この仕様概要書に含まれています.

The attributes id, class and style can be used on any element included in the current profile:id provides a mechanism for annotating elements with unique identifiers, class assigns one or more class names to an element andstyle specifies style information for the current element. The attribute mathvariant is allowed on nonempty token elements, attribute is included in the profile for interoperability reasons to ensure that font changes are transparent for CSS unaware UAs.

次の表は, 共通の属性を一覧にしており, それらの値や要素として利用可能なものを示しています.

The following table lists common attributes, their values and the elements on which they can be used.

名前Name 値values 既定値default 有効な要素valid on
id ID 全ての要素all elements
class NMTOKENS 全ての要素all elements
style CDATA 全ての要素all elements
mathvariant normal | bold italic bold-italic sans-serif bold-sans-serif sans-serif-italic sans-serif-bold-italic monospace normal mn, mo, ms, mtext
mathvariant normal | bold italic bold-italic sans-serif bold-sans-serif sans-serif-italic sans-serif-bold-italic monospace italic mi

3 素子要素

Token Elements

プレゼンテーションマークアップの素子要素は, おおまかに言うと, 意味を伝える最小の表記を表すのものです. 素子要素は, おおよそ文章の中の言葉に類似したものです. しかし, 数学表記の正確性や抽象性のために, 素子要素の様々な種類や特性をMathMLの記述の中ではっきりと表します. 対照的に, 文章の中で個々の言葉は, まれにしか特別に表現されたり装飾されたりしません.

Token elements in presentation markup are, broadly speaking, intended to represent the smallest units of mathematical notation which carry meaning. Tokens are roughly analogous to words in text. However, because of the precise, symbolic nature of mathematical notation, the various categories and properties of token elements figure prominently in MathML markup. By contrast, in textual data, individual words rarely need to be marked up or styled specially.

しばしば素子要素は, 数学記号を示す単一の文字で構成されます. その他に, 例えば, 関数名のように複数の文字を伴うこともあります. それ以上に, 伝統的な数学表記が印刷特性から区別される記号の広範囲に及ぶ利用を行ってきたために, 意味を伝える印刷上の特性を尊重した描画手法が実現されるよう注意をはらわなければなりません. そのために, 文字と素子要素と記号の印刷特性は, MathMLにおいて互いに綿密に関係します.

Frequently tokens consist of a single character denoting a mathematical symbol. Other cases, e.g., function names, involve multi-character tokens. Further, because traditional mathematical notation makes extensive use of symbols distinguished by their typographical properties, care must be taken to ensure that styling mechanisms respect typographical properties which carry meaning. Consequently, characters, tokens, and typographical properties of symbols are closely related to one another in MathML.

3.1 識別子

Identifier

mi要素は, 数学の識別子を表します. その描画はmathvariant属性に応じた字体で表示される文字列の中身によって構成されます. 使用される字体によって似た文字が区別できることから, 字体は重要な意味を区別する機能をよく提供します.

An mi element represents a mathematical identifier; its rendering consists of the text content displayed in a typeface corresponding to the mathvariant attribute. Since the typeface used can distinguish similar identifiers, it often serves an important semantic function.

MathML 3.0では, mathvariantの既定値は, 要素の中身に依存し, 単一の文字の中身(例えば, <mi>x</mi>)に対しては"italic", それ以外(例えば, <mi>sin</mi>)に対しては"normal"です. このような挙動はCSSの機能とうまく合致しないため, この仕様概要書では, 表示の内容によらず"italic"が既定値で, 斜体でない字体と決められている数学の識別子(例えば, 複数の文字から成る識別子)は, はっきりとmathvariant属性を明示する必要があります.

In MathML 3.0, the default value of mathvariant depends on the content of the element, it is "italic" for single character content (e.g., <mi>x</mi>) and "normal" otherwise (e.g., <mi>sin</mi>). Such behavior does not fit well in the scope of CSS, therefore in current profile "italic" is the default value regardless of the element content and mathematical identifiers for which a non-italic typeface is desired (e.g., multi-character identifiers), must explicitly specify the mathvariant attribute.

3.2 数字

Number

mn要素は, "数字列"や数字列として表現されるべき他のデータを表します. 一般に言って, 数字列は数字の並びで, 場合によっては小数点を含み, 正の整数や実数を表します.

An mn element represents a "numeric literal" or other data that should be rendered as a numeric literal. Generally speaking, a numeric literal is a sequence of digits, perhaps including a decimal point, representing an unsigned integer or real number.

典型的な描画ソフトウェアは, mn要素を(moのような隣接する要素との間の空白以外の)周りの余計な空白を伴わずに, その内容の文字として表すでしょう.

A typical graphical renderer would render an mn element as the characters of its content, with no extra spacing around them (except spacing from neighboring elements such as mo).

3.3 演算子

Operator

mo要素は, 演算子や演算子として表されるべきもの全てを表します. MathMLにおいて"演算子として表される"べきものの一覧は, 広く言って全てを含みます. 前や間や後ろに置く形の通常の演算子に加えて, 大かっこや小かっこのようなかっこ, コンマやセミコロンのような区切り文字を含みます. この仕様概要書では, mo要素は, 縦に引き伸ばされる記号を提供することは期待されていません. その代わりに, mfenced要素が, 引き伸ばされた角がっこや大かっこや丸かっこ, 縦線のような縦に引き伸ばされた記号のために用いられるべきです.

An mo element represents an operator or anything that should be rendered as an operator. In MathML the list of things that should "render as an operator" is widely inclusive. Besides ordinary operators with infix, prefix, or postfix forms, fence characters such as braces, parentheses, and separators such as comma and semicolon are included. In the current profile the mo element is not expected to produce vertically stretchable delimiters; instead the mfenced element should be used for vertically stretchy delimiters such as stretchy brackets, braces, parentheses and vertical bars.

この仕様概要書は, 演算子辞書を頼りにしていないことにも注意して下さい. その代わり, 明示的にfence属性, separator属性, largeop属性を使用して, かっこ, 区切り, 大きい演算子を示すことが推奨されています. 加えて, form属性を用いて, 前や間や後ろに置く演算子を区別してもよいです. この仕様概要書において, この属性の既定値は, moが多くの子要素を持つ親要素の最初の子要素であれば"prefix", mo要素が複数の子要素を持つ親要素の最後の子要素であれば"postfix", それ以外の場合は"infix"です. 角がっこ, 大がっこ, 丸かっこ, 縦線のようなかっこを表すmo素子要素はfence属性を用いて, コンマやセミコロンのような区切りはseparator属性を用いて示されるべきです. 総和や総積や積分記号のような大きな演算子はlargeop属性を用いて表されてもよいです. また, ソフトウェアは, 演算子の周りの空白の大きさを推定するのにこれらの属性に頼ってもよいです.

Note also that this profile does not rely on an operator dictionary, but instead it is recommended to mark fences, separators and large operators explicitly using fence, separator and largeop attributes. In addition, prefix, infix and postfix operators may be distinguished using the form attribute. In the present profile, the default value of this attribute is "prefix" if the mo element is the first child of a parent element that has many children, and "postfix" if mo element is the last child of a parent with multiple children; the value is "infix" in all other cases. Those mo tokens that represent fences such as brackets, braces, parens and vertical bars should be marked using the fence attribute, separators such as comma and semicolon should be marked using the separator attribute, while large operators such as sums, products and integrals may be labeled using the largeop attribute. UAs may rely on these attribute to infer default spacing around operators.

この仕様概要書において, 引き伸ばされた演算子は, stretchar属性によって特定されるmo要素の中身を置き換える引き伸ばされた文字によって決められます. この特定された文字は, 許容される領域(縦に引き伸ばされる記号の場合は行の高さ, 水平に引き伸ばされる記号の場合は許容される幅)を埋めるように引き伸ばされると想定されています. 引き伸ばされるべきとstretchar属性によって特定される文字を見分けられないソフトウェアは, 属性を無視して代わりにmo要素の内容を表示すべきです.

In the present profile stretchy operators are defined by the stretchar attribute's specifying a stretchy character to replaces the content of an mo element. The specified character is supposed to stretch to fill the available space (height of line box in case of vertically stretchy delimiters and the available width in case of horizontally stretchy delimiters). UAs that do not recognize a character specified by an stretchar attribute as stretchy should ignore the attribute and display the content of the mo element instead.

名前Name 値values 既定値default
form prefix | infix postfix mo要素の位置に依存します. 正確な規則は上を参照して下さい.depends on position of mo element, see exact rules above
fence true | false false
separator true | false false
largeop true | false false
stretchar 文字character none

3.4 文章

Text

mtext要素は, コメント文を示すことを意図しています.

An mtext element is intended to denote commentary text.

3.5 空白

Space

mspace空要素は, 属性の設定によって任意の決められた大きさの空白を表します. また, この要素は, 改行の提案を視覚的描画ソフトウェアにすることができます.

An mspace empty element represents a blank space of any desired size, as set by its attributes. It can also be used to make linebreaking suggestions to a visual renderer.

名前Name 値values 既定値default
width verythinmathspace | thinmathspace mediummathspace thickmathspace verythickmathspace 0
linebreak auto | newline goodbreak auto

width属性は, mspace要素によって作られるべき空白の幅を定義します. 既定値は0です. 空白の名前は, 下の表で述べているとおりです.

The width attribute defines the width of the space produced by an mspace element. The default value is zero. Named values are described in table below.

空白の名前Named space 値(em)value (em)
verythinmathspace 1/9
thinmathspace 1/6
mediummathspace 2/9
thickmathspace 5/12
verythickmathspace 1/3

linebreak属性は, 視覚的描画ソフトウェアに改行するヒントを与えるために使われます. 属性の値は下の表で定義されているとおりです.

The linebreak attribute is used to give a linebreaking hint to a visual renderer. Attribute values are defined in table below.

値Value 説明Description
auto 既定の改行アルゴリズムによります(実装に依存します)default linebreaking algorithm (implementation dependent)
newline 新しい行を始めますstart a new line
goodbreak 行の中で改行が必要になった場合にふさわしい場所ですif a linebreak is needed on the line, here is a good spot

width属性とlinebreak属性の両方が設定されている場合, linebreak 属性は無視されます.

In the case when both the width attribute and the linebreak attribute are set, the linebreak attribute is ignored.

3.6 文字列

String Literal

ms要素は, 数値解析システムや他の"プログラミング言語"を含むシステムによって解釈されること意図する, 式の中の"文字列"を表すために用いられます. 通常, 文字列は二重引用符で囲まれて表示されます.

The ms element is used to represent "string literals" in expressions meant to be interpreted by computer algebra systems or other systems containing "programming languages". By default, string literals are displayed surrounded by double quotes.

視覚的描画ソフトウェアにおいて, ms要素の内容は, 典型的に, 文字の周りに加えられた余分な空白を無視し, 文字の最初と最後に引用符を付けて表示します. 通常, 左と右の引用符は両方とも標準的な二重引用符"です. しかしながら, これらの文字は下のように定義されるlquote属性やrquote属性によって変えることができます.

In visual renderers, the content of an mselement is typically rendered with no extra spacing added around the string, and quote characters at the beginning and the end of the string. By default, the left and right quote characters are both the standard double quote character ". However, these characters can be changed with the lquote andrquote attributes defined below.

名前Name 値values 既定値default
lquote 文字string "
rquote 文字string "

4 一般的な配置要素

General Layout Schemata

素子要素のほかにも, 様々な種類のMathMLプレゼンテーション要素があります. 要素の種類の1つは, 上付き文字や下付き文字のような"添え字"表記を取り扱います. 他の種類は行列や表に関係します. この節で述べられている他の要素は, 分数や根号のような他の基本的な表を示すものや動きを結びつけたりエラーを処理する一般的な機能を取り扱います.

Besides tokens there are several families of MathML presentation elements. One family of elements deals with various "scripting" notations, such as subscript and superscript. Another family is concerned with matrices and tables. The remainder of the elements, discussed in this section, describe other basic notations such as fractions and radicals, or deal with general functions such as action binding and error handling.

4.1 式の水平のグループ

Horizontally Group Sub-Expressions

mrow要素は, 通常, "演算子"として働く1つ以上のmo要素と"被演算子"となる式から構成される任意の数の式を一緒にまとめるのに用いられます.

An mrow element is used to group together any number of sub-expressions, usually consisting of one or more mo elements acting as "operators" on one or more other expressions that are their "operands".

4.2 分数

Fractions

mfrac要素は, 分数に用いられます. また, 分子分母からなる式やルジャンドル記号のような分数に似た表現を記述するのにも用いられます. mfracの構文は次のとおりです.

The mfrac element is used for fractions. It can also be used to mark up the presentation of fraction-like objects such as binomial coefficients and Legendre symbols. The syntax for mfrac is:

分子 分母 numerator denominator

共通の属性に加えて, mfracは分子分母の水平方向の位置揃えや分数の線の太さを制御するために利用される追加の属性を持ちます.

In addition to common attributes, mfrac has additional attributes that could be used to control horizontal alignment of numerator and denominator and thickness of fraction bar.

名前Name 値values 既定値default
linethickness 0 | 1 2 medium thick 1
numalign left | center right center
denomalign left | center right center

linethickness属性は, 分数を描画するのに典型的に用いられる, 水平の"分数の線"や"罫線"の太さを表します. 値"0"は線が描画されないことを示し, 値"1"("medium"と同じ)は分数の線の既定の幅を示し, "2"("thick")は太い分数の線を示します.

The linethickness attribute indicates the thickness of the horizontal "fraction bar", or "rule", typically used to render fractions. Value "0" indicates that no bar should be rendered, value "1" (the same as "medium") refers to default width of fraction bar and "2" ("thick") produces bold fraction bar.

numalign属性とdenomalign属性は, 分子分母それぞれの水平方向の位置揃えを制御します. 典型的に分子と分母は中央揃えされます.

The numalign and denomalign attributes control the horizontal alignment of the numerator and denominator, respectively. Typically, numerators and denominators are centered.

4.3 根号 ,

Radicals ,

これらの要素は根号を構成します. msqrt要素は平方根に用いられ, mroot要素は, 例えば立方根のような, 指数の付いた根号を描くのに用いられます. これらの要素の構文は次のとおりです.

These elements construct radicals. The msqrt element is used for square roots, while the mroot element is used to draw radicals with indices, e.g., a cube root. The syntax for these elements is:

基となる式 base 基となる式 指数 base index

mroot要素はちょうど2つの引数を必要とします. ただし, msqrtは任意の数の引数を受け付けます.

The mroot element requires exactly 2 arguments. However, msqrt accepts any number of arguments.

4.4 エラーメッセージ

Error Message

merror要素は, その内容を"エラーメッセージ"として描画します. 中身は, 任意の式や式の集合とすることができます.

The merror element displays its contents as an "error message". The contents can be any expression or expression sequence.

4.5 見えない式を作る

Making Sub-Expressions Invisible

mphantom要素は, その中身を見えないように, ただし, それらが普通に描画されたときに占めるであろう, 位置を含めて高さや幅等の寸法を保ったまま描画します. mphantomは, 見えないように式を複製することで, 式の位置揃えに利用できます.

The mphantom element renders its content as invisible, but with the same size and other dimensions, including baseline position, that its contents would have if they were rendered normally; mphantom can be used to align parts of an expression by invisibly duplicating sub-expressions.

4.6 かっこの組で囲まれた式

Expression Inside Pair of Fences

mfenced要素は, かっこ(例えば, 大かっこ, 角がっこ, 丸かっこ)に関係した構成を表現するのに便利な方法を提供します. かっこの大きさは, かっこで囲まれた式の大きさに依存します. 開始と終了のかっこは, 下に定義されているopen属性とclose属性を用いて明示します. この仕様概要書は, mfenced要素が複数の子を持つことを認めていません. 複数の子要素を持つためには, それらをmrow要素でまとめることが推奨されています.

The mfenced element provides a convenient way of expressing common constructs involving fences (i.e., braces, brackets, and parentheses). The size of the fences depends on the size of the expression enclosed by the fence element. Opening and closing fences are specified using the openand close attributes defined below. This profile does not allow an mfenced element to have multiple children; authors are encouraged to group multiple children into one mrow element if this can be done.

名前Name 値values 既定値default
open CDATA (
close CDATA )

4.7 囲まれた式

Enclose Expression Inside Notation

menclose要素は, その内容をnotation属性で特定される表現で囲んで表現します. mencloseは任意の数の引数を受け付けます.

The menclose element renders its content inside the enclosing notation specified by its notation attribute, menclose accepts any number of arguments.

notation属性で認められている値には制限がありません. 適合した描画ソフトウェアは, 最終的に下の一覧の値を認識しますが, 処理できない値を無視するように対応してもよいです.

The values allowed for notation are open-ended. Conforming renderers may ignore any value they do not handle, although renderers are supposed to recognize at least the values listed below.

名前Name 値values
notation box | left right top bottom horizontalstrike

値"box"は, 枠で要素の中身を囲むのに用いられます. 値"left", "right", "top", "bottom"は中身の関係する側面に線を引き, "horizontalstrike"はmencloseの中身の上に重ねて取消線を引きます.

The value "box" can be used to enclose content of the element in a frame. The values "left", "right", "top" and "bottom" should result in lines drawn on the corresponding sides of the contents, "horizontalstrike" should result in strikeout lines being superimposed over the content of themenclose.

5 添え字の配置要素

Script and Limit Schemata

この節で述べている要素は, 基となる式の周りに1つ以上の添え字を配置します. 下付き添え字要素や上付き添え字要素に加えて, MathMLには基の式の上や下に添え字を配置する上側添え字要素や下側添え字要素があります.

The elements described in this section position one or more scripts around a base. In addition to subscript and superscript elements, MathML has overscript and underscript elements that place scripts above and below the base.

プレゼンテーション要素は, 式の抽象的な表現構造を述べるために用いられるべきであることから, 全ての"添え字"要素における基となる式(つまり, 最初の引数の式)は, ただ共通に右端に来る文字ではなく, 添え字が付く完全な式であるべきことが重要です.

Because presentation elements should be used to describe the abstract notational structure of expressions, it is important that the base expression in all "scripting" elements (i.e., the first argument expression) should be the entire expression that is being scripted, not just, as has been common, the rightmost character.

5.1 下付き添え字

Subscript

msub要素の構文は次のとおりです.

The syntax for the msub element is:

基となる式 下付き添え字 base subscript

この要素は基となる式に下付き添え字を付け加えるために用いられます.

The element is used to attach a subscript to a base.

5.2 上付き添え字

Superscript

msup要素の構文は次のとおりです.

The syntax for the msup element is:

基となる式 上付き添え字 base superscript

この要素は基となる式に上付き添え字を付け加えるために用いられます.

The element is used to attach a superscript to a base.

5.3 下付き添え字と上付き添え字の組

Subscript-superscript Pair

msubsup要素は, 基となる式に下付き添え字と上付き添え字の両方を付け加えるために用いられます.

The msubsup element is used to attach both a subscript and a superscript to a base expression.

msubsup要素の構文は次のとおりです.

The syntax for the msubsup element is:

基となる式 下付き添え字 上付き添え字 base subscript superscript

5.4 下側添え字

Underscript

munder要素の構文は次のとおりです.

The syntax for the munder element is:

基となる式 下側添え字 base underscript

この要素は, 基となる式に下側添え字を付け加えるために用いられます.

The element is used to attach an underscript below a base.

5.5 上側添え字

Overscript

mover要素の構文は次のとおりです.

The syntax for the mover element is:

基となる式 上側添え字 base overscript

この要素は, 基となる式に上側添え字を付け加えます.

The element is used to attach an overscript over a base.

5.6 下側添え字と上側添え字の組

Underscript-overscript Pair

munderover要素の構文は次のとおりです.

The syntax for the munderover element is:

基となる式 下側添え字 上側添え字 base underscript overscript

この要素は, 基となる式に下側添え字と上側添え字の両方を付け加えるために用いられます.

The element is used to attach both an underscript and an overscript to a base.

5.7 前置の添え字

Prescripts

この仕様概要書において, mmultiscripts要素の構文は次のとおりです.

In the current profile the syntax for the mmultiscripts element is:

基となる式 前置の下付き添え字 前置の上付き添え字 base presubscript presuperscript

この要素は, 1つの基となる式に前置添え字の組を加えることを可能にしています. 省略された添え字は空要素noneで表現することができます.

This element allows adding pairs of prescripts to one base expression. Missing scripts can be represented by the empty element none.

引数は, 基となる式, それに続く空要素mprescriptsと縦に並ぶ前置の下付き添え字と上付き添え字で構成されます.

The argument sequence consists of the base followed by an empty element mprescriptsand a pair of, vertically aligned, a presubscript and a presuperscript.

6 表と行列

Tables and Matrices

行列や配列やその他の表のような数学表現は, mtable要素やmtr要素やmtd要素を用いて表現します. これらの要素は, XHTMLのtable要素やtr要素やtd要素と同じようなものです.

Matrices, arrays and other table-like mathematical notation are marked up using mtable,mtr, and mtd elements. These elements are similar to thetable, tr and td elements of XHTML.

6.1 表または行列

Table or Matrix

表または行列はmtable要素を用いて表現します.

A matrix or table is specified using the mtable element.

次に示す属性は, 位置揃えを明示したり, 枠や罫線を表に加えたりするのに使われてもよいです.

The following attributes may be used to specify alignment and to add frames and rules to the table.

名前Name 値values 既定値default
rowalign top | bottom center baseline baseline
columnalign left | center right center
rowlines none | solid dashed none
columnlines none | solid dashed none
frame none | solid dashed none

rowlinescolumnlinesframeそれぞれの既定値は, 既定値がないという意味でなく, 既定では線を引かないことを意味する文字列noneです.

Note that the default value for each of rowlines, columnlines andframe is the literal string none, meaning that the default is to render no lines, rather than that there is no default.

rowalign属性は, それぞれの行の要素がどのように位置揃えされるべきかを明示します. 例えば, "top"はそれぞれの行の要素の上端をその行の他の要素の上端に合わせることを意味します. columnalign属性は, それぞれの行の要素がどのように位置揃えされるべきかを明示します.

The rowalign attribute specifies how the entries in each row should be aligned. For example, "top" means that the tops of each entry in each row should be aligned with the tops of the other entries in that row. The columnalign attribute specifies how the entries in each column should be aligned.

6.2 表や行列の行

Row in a Table or Matrix

mtr要素は, 表や行列の1つの行を表します. mtr要素は, 唯一mtable要素の直接の子要素として認められており, その中身は表の1つの行を形作ります. mtrの引数はそれぞれ表の左端から始まる別々の列を表します.

An mtr element represents one row in a table or matrix. An mtr element is only allowed as a direct sub-expression of an mtable element, and specifies that its contents should form one row of the table. Each argument of mtr is placed in a different column of the table, starting at the leftmost column.

次の属性は, 位置揃えを特定するために用いられてもよいです.

The following attributes may be used to specify alignment

名前Name 値values 既定値default
rowalign top | bottom center baseline 継承する(訳注:親要素と同じになる)inherited
columnalign left | center right 継承するinherited

rowalign属性とcolumnalign属性は, 特定の行について, 外側のmtable要素の同じ属性によって明示される位置揃えを上書きできます.

The rowalign and columnalign attributes allow a specific row to override the alignment specified by the same attributes in the surrounding mtable element.

6.3 表や行列の要素

Entry in a Table or Matrix

mtd要素は, 表や行列の1つの要素またはマス目を表します. mtd要素は, 唯一mtrの直接の子要素として認められています.

An mtd element represents one entry, or cell, in a table or matrix. An mtd element is only allowed as a direct sub-expression of an mtr.

次の属性は, 位置揃えを特定するために用いられてもよいです.

The following attributes may be used to specify alignment

名前Name 値values 既定値default
rowalign top | bottom center baseline 継承するinherited
columnalign left | center right 継承するinherited

rowalign属性とcolumnalign属性は, 特定の行列の要素について, 外側のmtable要素やmtr要素で明示されている位置揃えを上書きできます.

The rowalign and columnalign attributes allow a specific matrix element to override the alignment specified by a surrounding mtable or mtrelement.

7 初等数学

Elementary Math

7.1 足し算や引き算や掛け算の筆算

2D addition, subtraction and multiplication

足し算や引き算や掛け算の筆算のような初等数学の表記における表に似た構造は, mstack配置要素を用いて表すことができます. mstackの縦の位置揃えは, align属性によって明示します. この仕様概要書において, mstackにおける数字の水平の位置揃えは既定では単に_right_のみです. これは, 現在のCSSの実装では, mstack配置要素に対して, より洗練された位置揃えの仕組みを処理することが見込めないためです.

Table like structures in elementary math notations such as 2D addition, subtraction and multiplication can be produced using mstack layout schemata. Vertical alignment of mstackis specified by align attribute. In current profile horizontal alignment of numbers within mstacksimply defaults to right, as current CSS implementations are unlikely to handle more sophisticated alignment mechanisms for mstacklayout schemata.

名前Name 値values 既定値default
align top | bottom center baseline baseline
stackalign right 属性が必要ですattribute is required

この要素は, 1つ以上のmn素子要素とそれに続くmsrow要素と, msline, そして1つ以上のmn素子要素とそれに続く必須でないmslineの集合から構成されます.

Element contains one or more mntokens followed by msrow element, msline and groups consisting of one or more mn tokens followed by optional msline.

mstack要素の構文は次のとおりです.

The syntax for the mstack element is:

(1つ以上のmn素子要素) (msrow要素) (1つ以上のmn素子要素とそれに続く必須でないmslineの集合)+

(one or more mn tokens) (msrow element) (one or more mn tokens followed by optional msline)+

7.2 水平の行

Horizontal rows

この仕様概要書において, msrow要素は, 足し算や引き算や掛け算の筆算のような初等数学の表記において, 演算子を最後の被演算子の前に付け加えるのに用いられます.

In the present profile msrow element is used to add operator before last operand in elementary math notations such as 2D addition, subtraction and multiplication.

この要素は, mo素子要素とそれに続くmn素子要素から構成されます.

Element contains mo token followed by mn token

msrow要素の構文は次のとおりです.

The syntax for the msrow element is:

演算子被演算子

operatoroperand

7.3 割り算の筆算

Long division

割り算の筆算に対する初等数学の表記は, mlongdiv配置要素を用いて提供されます. mlongdivの縦の位置揃えはalign属性によって明示されます. この仕様概要書において, mlongdivにおける数字の水平の位置揃えは, 既定では単に_left_のみです. これは, 現在のCSSの実装では, mlongdiv要素に対して, より洗練された位置揃えの仕組みを処理することが見込めないためです.

Elementary math notations for long division can be produced using mlongdiv layout schemata. Vertical alignment of mlongdiv is specified by align attribute. In current profile horizontal alignment of numbers within mlongdiv simply defaults to left, as current CSS implementations are unlikely to handle more sophisticated alignment mechanisms for mlongdivlayout schemata.

名前Name 値values 既定値default
align top | bottom center baseline baseline
stackalign left 属性が必要ですattribute is required

この要素は, _割り算の商_を表すmn素子要素とそれに続く_除数_を表すmn素子要素, そして1つ以上のmn素子要素とそれに続く必須でないmsline要素の集合から構成されます.

Element contains mn token representing result of the division followed by mn token representing divisor and groups consisting of one or more mn tokens followed by optional msline element.

mlongdiv要素の構文は次のとおりです.

The syntax for the mlongdiv element is:

(割り算の商) (除数) (1つ以上のmn素子要素とそれに続く必須でないmslineの集合)+

(result of the division) (divisor) (one or more mn tokens followed by optional msline)+

8 注釈

Annotations

8.1 式と動作を結び付ける

Bind Action to a Sub-Expression

式に動作を結び付ける仕組みを提供するために, MathMLはmaction要素を提供します. 動作の種類はactiontype属性によって明示されます. この仕様概要書は, "tooltip"のみ種類を定義しています.

To provide a mechanism for binding actions to expressions, MathML provides the maction element. The action type is specified by the actiontype attribute. Current profile defines only "tooltip" actiontype.

名前Name 値values 既定値default
actiontype tooltip (必要な属性, 既定値無し)(required attribute, no default value)

基となる式 ツールティップボックスの内容

base tooltip

マウスカーソルが式の上に重なったとき, この種類の動作を処理するソフトウェアは, 2番目の子要素の内容を"ツールティップ"ボックスに表示すべきです.

When a mouse cursor is placed over an expression UAs that support this action type should display the content of the second child in a "tooltip" box.

8.2 意味情報を対応させる

Add semantic mapping

この仕様概要書は, 配置要素を数式の視覚的構造を表すものとして処理します. 式の内容について述べたり, 数式の代替の表記方法を提供する等の追加の意味情報を付け加えるために, コンテントMathMLのsemantics要素を用いることができます. この仕様概要書において, semantics要素の中身は, プレゼンテーションMathMLとそれに続くannotation要素やannotation-xml要素に限られます.

The current profile deals with layout schemata that reflect the visual structure of mathematical formulae. To attach extra semantic information that describes the content of formulae or provide an alternative encoding of a mathematical expression one can use the Content MathML semantics element. In current profile content model of semantics element is limited to presentational MathML followed by annotation and/or annotation-xml elements.

9 拡張と適合

Extensibility and Conformance

9.1 拡張

Extensibility

この仕様概要書がXML/CSS環境の利用に合致するように設計されるまで, DTDに新しい要素や属性[rec-xml]を加えることやスタイルシートで既定の書式を明示することによって, 拡張することは比較的簡単でした. しかしながら, 新しい要素はそれ自身の名前空間に位置すべきで, 存在するMathML要素に加えられた新しい属性は名前空間の接頭辞を持つべきです. 著作者や実装者は可能な限り標準的な記述を用いることが強く推奨されます. 同じように, MathMLの式の仕組みを用いる文書の更新者は, 関係のある標準化活動を観察し, 可能な限りより標準化された記述を用いるよう文書を更新することが推奨されます.

Since the current profile is designed to be suitable for use in an XML/CSS environment, it is relatively easy to extend it by adding new elements or attributes[rec-xml] to a DTD and specifying the default formatting in a style sheet. However any new elements should be placed in their own namespace and any new attributes added to existing MathML elements should have a namespace prefix; authors and implementers are strongly encouraged to use standard markup whenever possible. Similarly, maintainers of documents employing MathML extension mechanisms are encouraged to monitor relevant standards activity and to update documents to use more standardized markup as it becomes available.

9.2 適合

Conformance

CSSに対応したMathML仕様概要書に適合する文書はMathML 3.0文書と適合すべきで, また, この仕様概要書に含まれるMathML要素と属性のみを用いるべきです. 決まった数の引数を持つ配置要素の中身は, 必要とされる引数の一覧やこの仕様概要書のDTDで明示される内容モデルと適合すべきです.

Documents that conform to this MathML for CSS profile should be conformant MathML 3.0 documents and should use only those MathML elements and attributes included in the current profile. The content of layout schemata with a fixed number of arguments should match the content model specified in the list of required arguments and the profile's DTD.

CSSに対応したMathML仕様概要書に適合するソフトウェアは, この仕様概要書に含まれる全てのMathML要素と属性に対応すべきです. これらのソフトウェアは, 認識できない要素に出くわしたとき, その要素を無視してもよいですが, その中身は処理すべきです. 標準的なDOMに対応するソフトウェアは, 一般的なDOMインターフェイスを介してそのような要素を処理することが推奨されています. スタイルシートに対応したソフトウェアは, そのような要素にスタイルシートで明示されている書式を適用することが推奨されています.

UAs that conform to the MathML for CSS profile should support all MathML elements and attributes included in profile. When a conformant UA encounters an element that it does not recognize it may ignore that element, but should process its content. UAs that support the standard DOM are encouraged to expose such elements through generic DOM Element interface. UAs that support style sheets are encouraged to apply formatting specified in style sheets to such elements.

10 MathMLプレゼンテーションマークアップと仕様概要書の違い

Differences between MathML presentational markup and present profile

CSSに対応したMathML仕様概要書は, 数々の点でMathMLプレゼンテーションマークアップと異なります. この節は主な違いを整理することを意図しています.

The MathML for CSS profile differs from full MathML presentational markup in a number of ways. The present section is intended to highlight the main differences.

11 文書型定義

Document Type Definition

12 標準のCSSスタイルシート

Default CSS style sheet

(この節は規範となるものではありません.)

(this section is non normative)

この仕様概要書は, 標準のスタイルシートをCSSに対応したソフトウェアでMathMLを表現するのに利用できるものと認めています. 長期にわたる将来の展望としては, 特定の数学の特性に対応するようCSS3を拡張することが適切でしょうが, それまでの間, この仕様概要書で定義されているMathMLを表現するための次の囲まれたスタイルシートを利用することができます.

This profile admits a default CSS style sheet that could be used to render MathML in CSS aware UAs. In the long term perspective it would be appropriate to extend CSS3 with a few math specific properties, until then one can use style sheet enclosed below for formatting of MathML defined in the current profile.

@namespace "http://www.w3.org/1998/Math/MathML"; math {line-height:1.3em; text-indent:0;} math[display="block"] {display:block; text-align:center; page-break-inside:avoid;} mfrac {display:inline-table; white-space:nowrap; border-collapse:collapse; text-align:center; vertical-align:0.9em; margin:0 2px; font-size:1em;} mfrac > * {line-height:1.3em; font-size:0.9em;} mfrac > *:first-child {display:inline-table; vertical-align:text-bottom;} mfrac > * + * {border-top:solid thin; display:table-row;} mfrac[linethickness="0"] > * + * {border-top:none;} mfrac[linethickness="2"] > * + *, mfrac[linethickness="thick"] > * + * {border-top:solid medium;} mfrac[numalign="left"] > *:first-child, mfrac[denalign="left"] > * + * {text-align:left;} mfrac[numalign="right"] > *:first-child, mfrac[denalign="right"] > * + * {text-align:right;} msub, msup, msubsup, mmultiscripts {display:inline-table; line-height:0.4em;} msubsup, msup, mmultiscripts {margin-top:0.4ex; table-baseline:2;} msubsup, msub, mmultiscripts {margin-bottom:0.4ex;} msubsup, msup {direction:rtl;} msub > * {display:table-row;} none {content:"\A0";} msubsup > *, msup > * {display:table-row; direction:ltr; text-align:left;} mmultiscripts > * {display:none;} mmultiscripts > *:first-child, mmultiscripts > mprescripts + * {display:table-row;} mmultiscripts > mprescripts + * + * {display:table-header-group;} msub > *:first-child:after, msub > * + *:before, msubsup > *:first-child:before, msup > *:first-child:before, mmultiscripts > *:first-child:before {display:table-cell; content:"\A0";} msubsup > * + * + *, msup > * + * {display:table-header-group;} msub > * + *, msup > * + *, msubsup > * + *, munder > * + *, mover > * + *, munderover > * + *, mmultiscripts > * + * {font-size:0.7em;} munder, munderover, mover {display:inline-table; margin:1px; text-align:center;} munder > *, munderover > *, mover > * {display:table-row;} mover > * + *, munderover > * + * + * {display:table-header-group;} mover, munderover {table-baseline:2;} msqrt {display:inline-block; margin:1px 0 1px 22px; border-top:solid 1px; border-left:groove 2px; padding:2px 5px 0 0;} msqrt:before {display:inline-block; vertical-align:bottom; content:''; width:22px; height:14px; background-repeat:no-repeat; margin:0 3px 0 -22px;} msqrt:before, mroot > * + *:after {background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAOCAYAAAArMezNAAAArklEQVR42mNgIAzkgJiRgYpAGIgnAfFvIF4JxKyUGsgOxKVA/ASI5wCxHRBvA+K9QMxHrqGRQLweiDOBmBdJnAWI5wPxeSAWJ8VAPSBOAWJTAuo6gPguEKsQY6gQEPOQ4Ih8IH4JxCYMNABhQPwOiN1pYbgzEL8C4hhaGG4AxM+BuJgWhisB8W0g7qOF4SJAfBqIl1EjI6EDbiDeAcQ7SUxlRAGQa5cA8RkGGoFeACG1GGdqegJfAAAAAElFTkSuQmCC");} mroot {display:inline-table; direction:rtl;} mroot > * {display:table-cell; direction:ltr; text-align:left;} mroot > *:first-child {border-top:solid 1px; border-left:groove 2px; padding:2px 5px 0 3px;} mroot > * + * {vertical-align:bottom; text-align:right; font-size:0.7em; line-height:1em;} mroot > * + *:after {display:block; content:""; width:22px; height:14px; margin-right:-1px; margin-left:auto;} mfenced {display:inline-table; border-collapse:separate; border-spacing:0.2ex 0; white-space:nowrap; margin:1px;} mfenced > *:first-child {display:table-row;} mfenced > * + * {display:none;} mfenced > *:before, mfenced > *:after {display:table-cell; content:"\A0"; background-repeat:no-repeat; background-size:100% 100%;} mfenced > *:before {background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAABQCAYAAAAZQFV3AAABtElEQVR42s2ZK0hEURCGr8UiPhYVRJAFoxssFtsafDXRKLogNpNNDDazTSxiMYhoMdtWsAibtKhssCj4ALWIoM4s58Awdb7gD3+45eO8z5z/FgWnfnEfAWoTz4tHCJhCdsQDBGxKXBd3EbBl8a14kIBtiF+pMdsS/4pnCNic+Ed8SMAq4g/xM7HWetIEaFdrROtOEuySgE0kmHqB2FKNBLtP3yGtmtatRWGd4scEexF3RIHrpnV7xGRcG+BsFDZuYO/i9ihw3wCPicn4NMDFKHDJwNS9UeCBgTWJ2W0a4GkUVnbd3YwCaw44TY6fOnyQ3hjYE3FUfRngVRQ45Lp7FgVWHXA3Clyhl8y2A4ZvtyMHnIwCzx1wLAq8cMDRKLDhgMNR4J0DlqPABwcsRYFvDtgdBX47YPHvgHiX8UnBlw2+sPGthx8O+PGFH7D4FVAt4EsKv0bxi16FliIqvFjCyzm84FShJbEfR6Rox58V+MNHhT7NVPjjUYU+b1X4AxyPCFRoiKHCYxYVGgRloVGVCg/TVGjcl4UGklloZJqFhrpZaOychQbjWWh0b7co9nPBqvX74w/Kju1j59IjnwAAAABJRU5ErkJggg==");} mfenced > *:after {background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAABQCAYAAAAZQFV3AAABl0lEQVR42s3ZPyhFYRjH8ddiEa5cJaVbd2SwWGwM/m1yR3FKNpNNBpvZJossBonFbKMs6k4s6A4Wyp/CIoXfqXd4etbnOzj1Wz+97znv3+eklFJV6UvwM6TMK20k2q9sZxx7upRzZYpEB5RbZYl+p6/KOonOKL/KJokeKD/KHAWWY/RZ+VCGKbTIXS8/VIVCLzN6TIGNDJaZIMBySt5nsElN0VXTyhUC7FBeMviodBLormnlGgHOGvCaANuVd4OOEeiRAfcIcMGAn8TH6TVgmUWilS0D7hPgiQFbBLjhul2LgtMOLKJg1YHIe3wy4A0BXhnwKwFL2qnr9mAU3HHgOD10lqNg4cCtKDjpwMMoOOrAsyg44sCLKFh3YDMK1hx4FwV7HPgQBbsd+EbMZwt+/zsQ7zL+UfBhgw9sfOrhiwO+fOELLL4F4JsUvo3iGz16FMEPS/hxDj9w4kdi9NCOXyvwiw96NcMvj/j1Fr2A4yUCtIiBl1nwQhBaqkKLaXi5Dy1IoiVTtKiLlp3Rwjhaukd/LqC/P/4AwHbtY0GeJ20AAAAASUVORK5CYII=");} mfenced[open="["] > *:before {border-style:solid; border-width:1px 0 1px 1px; background-image:none;} mfenced[close="]"] > *:after {border-style:solid; border-width:1px 1px 1px 0; background-image:none;} mfenced[open="\2016"] > *:before {border-style:double; border-width:0 0 0 3px; background-image:none;} mfenced[close="\2016"] > *:after {border-style:double; border-width:0 3px 0 0; background-image:none;} mfenced[open="\27e6"] > *:before {border-style:double; border-width:2px 0 2px 3px; background-image:none;} mfenced[close="\27e7"] > *:after {border-style:double; border-width:2px 3px 2px 0; background-image:none;} mfenced[open="|"] > *:before {border-style:solid; border-width:0 0 0 1px; background-image:none;} mfenced[close="|"] > *:after {border-style:solid; border-width:0 1px 0 0; background-image:none;} mfenced[open="\230a"] > *:before {border-style:solid; border-width:0 0 1px 1px; background-image:none;} mfenced[close="\230b"] > *:after {border-style:solid; border-width:0 1px 1px 0; background-image:none;} mfenced[open="\2308"] > *:before {border-style:solid; border-width:1px 0 0 1px; background-image:none;} mfenced[close="\2309"] > *:after {border-style:solid; border-width:1px 1px 0 0; background-image:none;} mfenced[open="{"] > *:before {content:"\A0\A0"; background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAABQCAYAAAAZQFV3AAABuklEQVR42rWZuy9EURCHj0c8Qta7pRMh0WgUqBQqG4leNGRL2VZpO6GiIYobHf+DhIiSf8AjFBIkmwiNRNZvsmdjtM53J/naL+fec+7MnLkhpMeoWBZDoi1F1C12REW0pK6qQ1yIY+AJQ5M4ES+inxCWRU2UCFmXeBWfokAIN+PqMkJmG1GNwnlCWIyyL9FJCI+i8IqQNcfNMOE2IZyNMmOJPHvGGCHMouw7NQE04iYKHwlZazwqJjwjhJPu/R0SwkUn3CKEa05YJhOCsUoI95ywSAhPnXCGEF464QQhvHbCEUJ4SwvvnXCQED47YQ8hrNLCdydEUlfNkRwFJ3sjhONOeE4IF5zwgBD61LVBCPfDb3GaSpUNiI8o3CVWV4myu1Bv45J3176QBzGdKlsRT6FeP9r/I7DPqU8MizmxLnpTVoQL8UfOfVNyOTa5HGz808slOeDpC0+weAkIAS5SFngZxQs93orgzRLezuENJ94S4007fq3ALz741Qy/POLXW/wCboGOCCzwIQY+ZsEHQfioygIdpoWQw7gPH0j6RJFRQnyo689kiRLig/HGBmGj+0agPxd8/Pn98QMoXcSZw6bNQwAAAABJRU5ErkJggg==");} mfenced[close="}"] > *:after {content:"\A0\A0"; background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAABQCAYAAAAZQFV3AAABoklEQVR42sWZvUpDQRBGxx+iosS/2GoXJIKNjYVapbAyCPbBRrEMaS1NJ1ppo1gEO30HQZGU+gIxooWgQkC0ESR+iwOZBzjghdMe9t7dnZ39rplZRkyJDZE38OkTNXEgRkjxubgRg5RwQryKC9FDSXdER1QpYVZ8iTcxTEnrPspdSlh0YZuaoCHx7dISNcqGC88o4b4L0+T0EsJ1FyaWCeFsECJrMhWOHxfWqe/45MJ7SnjlwrSE+gnhafiO84RwLwjXCGE1CLcI4WYQIoWiFIRHhHApCC8J4VwQ3hLCmSC8o4VNQpgLwhYhHA3CF1rYJoSZIPygKk4ngDzvQZglhNdBWCCEJ0G4SggrBpewBeseVsfUxBy68FNMEsLU1j24tEaNclE8+o4pUNIB+ztnnkXZwGdMbIsVMS3GfZv+vxB9ZXRS8GWDLmx86+HFAS9feIHFjwD0kMKPUfygx1sRvFnC2zm84cRbYrxpx68V+MUHv5rhl0f8eotfwNGIAA8x8JgFD4LwqAoN0/C4Dw8k0cgUD3XR2BkPxrHoHvu5gP7++AUnfMSZodLInwAAAABJRU5ErkJggg==");} mfenced[open="\27e8"] > *:before, mfenced[open="\2329"] > *:before {background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAABZCAYAAAA+TwS/AAAB50lEQVR42s2ZPyiFURiHj7+Lrkhks0goEqtFWSilW8oqg5GULExWk5K6g26ZrFI3i24Go8kkkWQwSPkTA673lzOcvu7kfZSnfuvTe77vnO+c834hsORgX+gjZR2WIVI4T8oaLGukcNYyTgoPLfWUbNiyR1ZXtOQpWbvl0dJECfVmDyhZneXWMkcJZywfljZKeGIpUzKt2YplkRLuRmEXIdMze7OcUdWtxurWqalyE4UDhDAfZZfUcMtRuEnIBqNMGSWEhSi7t9R4Za2W1ygsENWtJMOd9MpqLddR9mRp9Aqnk+r2ieEeJ8JZr6zf8hVl75Zmr3Anqa7klbVYXhLhgle4nMg+LZ0emVbCVSI89VY3lcgqcWK7OMoIuz2y3mSqKOfe6rYz1W14ZJq4zxnhiEe4lJHdeKfKRUa45RFOZGTKmEdYysgews+2+St6MlNFKXqq26oy3GmP8K6KsPVfVYg/Q/wt/8k8xFcKvpb/5GuDfw8F/sUW6J4i8F0P35cFenIQ+NlGoKcvgZ8PBXqCFfgZG78FhADfUwR+kwoBvusJ/DYqygG8Lwv8Ro/3HATaFRF430agnSWB974E2p0TeP8Q73AKtAcr8C6xKAawjy3wTrtA/wUI/G8F/j9FzNNC/J+U6KOFuW87Lt0vtp6NAwAAAABJRU5ErkJggg==");} mfenced[close="\27e9"] > *:after, mfenced[close="\232A"] > *:after {background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAABZCAYAAAA+TwS/AAAByElEQVR42s2ZPSjFURiH/z4XkZvIZpFQJFaLslDqdkvdVQYjqZuFyWq6JXUH3TJZpW4WyWA0mSS6yWCQ8hGDr9+pdzid7vY+g1PP+vSe//89H+97sizLOjN4jNDCCdFHS5dp4aZoI4WzokgKW8UxPe0DMUkKC6JKCjvEs+glpUf2x7GxJO5FCyXsEV9ikYzyTJyTwlXxa2scGQMm3CejvBQf9k2RsWVRblDCMRPWyRS6MWmBEu6Y8IwSTpswME4Im8SjCStUlBUTvoscIZyPpl0ihO3ixYR3opmQHkZR5glhMRKeEsIu8WnCHzFKSGtRlHuEcCUSvolur7BffEfSdSLKi0h4ayvJNUqRMLDgFQ4mwhNi2leRMKTQsFe4nUS56xVOJcJXS3zXqCfSNa+wnAivvSk0kwgDcx5hOFafEmHNO+1qIgwpNOQR5htMu+wR5hoIH/5VhOg3xP8ynof4SkHXMr7b4PshumPjZwp+6qHnMn5zwO826O0Lvx/iN1j0jo1XAXidglZSeK2HV6N4vYxW9HjPAe+KoH0bvLOE975CmmDdObx/iHc40R4s3iXG+9hopx1/C8BfK/D3FPTFB3+Twl/N0He9P0bV3S+iamc2AAAAAElFTkSuQmCC");} mfenced[open=""] > *:before, mfenced[close=""] > *:after {content:normal;} mover > * + mo[fence="true"], munder > * + mo[fence="true"] {content:"\A0"; line-height:1ex; background-size:100% 100%; background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAUCAYAAAAa2LrXAAABxElEQVR42u2YsUsCURzHnxlncmJlttYWkeDi4pBNDU6J0C4tRmPc2phb2KSL0iBt9T8EhTjWP2CFDoInCFKLINe3+gaH1ekdZ6S8L3yWd+/d7/v7+t5xpxD/WwqRcqhlIuVQa0TKoXaIlANlwCHJyDjsaQs0wRJpckxqhFZADnSBZhrXOJbjHCkoyF2VBFlQBC/AAM/AZ5rr45jBOUWuSfIewWkNYR5EwR4bOgEFcA2q4B7UwRNocRf1GMRvPIL4D7XivGa1tscaLdas00OVngr0mKXnKHv4E82BBI9TBTyA/oiG7DAA50C18KByzsDFun32UmFvCfbqihZAClwA3UXT73TALSiBYxCz4SvGNSXeo+OyN509p5iBbanc6l2L3dIAN6AMTvnrHbDoNoiAdRIGi2SSn2aKqU7YVD9CTyl61Oi5zB4aFru6yyzUcQx4eHN9aIvXwBlIg00xm9+nCntLs9fa0CNKZzYeq+N6xcmvfCbsAv8MhjWu/MygwkwMZvTtWAfAHWiDIzHFrwUTVJDZtJlVwHwxDy5BSOY0UiFmlf8a2BCfb/hS9pRjdmIfeGUetuVldmJVZuFYH9nJv8ydS3kDn8bEmYaXZFsAAAAASUVORK5CYII=");} munder > * + mo[fence="true"] {background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAUCAYAAAAa2LrXAAABzElEQVR42u2Xv0tCURzFrxlPRbEyW2uLSHBxccimBqdEaJcWozFcG3MLm3RRGqSt/oegEEf7B6zQQVBBkFoEsfPsCA8zX+9m0Y974LNc773f7znvPrlPCCE0oSSrYXYrKgdpDbPbA3aVhWXZmZ1YB2mVh2Wlmd1QGXABfCoXU/mYVcY46AG3oAkOgVfl9EZeZtNkVp7xCU5wCQbgGRTBDnD949BczKDITAbMyPneAhtIgRYn6/RAGZyCONgQf/Pqo9FbnF7L9D7KocVsbB/ZzA2OQcewgZE+qIFrUAAn3HwfxMAWCIA14gcLRPviEEZ1/Ib6AfYUY48p9lyghxo9TfLaYRZumYacLHo+dipnQRvcgDw4AiELfYW4Js892jPurUXPsWmvq1XNgQifnv6fcDd2xD+LfgLOTJ60m3P6M6zbo5civUXo9Vs0D4JgFyR51LPgCpRABVTBA2jwdeiaGLoH4Qm1wvxt2touazRYs8oeSuwpyx6T7DlID79S+rVgE0RpKAeeGMQjcBjmOjg24Jwc10S5h7p2Ucvi9Ybf4es0Uopjac5RMpF+qupgkdQ5pmRBCXBAEioOOW0TJUmtEiVJLRElSWnih393vwCZOsSZn592GQAAAABJRU5ErkJggg==");} menclose {display:inline-table; border-collapse:separate; border-spacing:0.4ex 0;} menclose[notation="top"] {border-top:solid thin;} menclose[notation="bottom"] {border-bottom:solid thin;} menclose[notation="right"] {border-right:solid thin;} menclose[notation="left"] {border-left:solid thin;} menclose[notation="box"] {border:solid thin;} menclose[notation="horizontalstrike"] {text-decoration:line-through;} mtable {display:inline-table; line-height:1.5em; text-align:center; vertical-align:middle;} mtr {display:table-row;} mtd {display:table-cell; padding:0 0.5ex;} mtable[columnalign="left"], mtr[columnalign="left"], mtd[columnalign="left"] {text-align:left;} mtable[columnalign="right"], mtr[columnalign="right"], mtd[columnalign="right"] {text-align:right;} mtable[rowalign="top"] mtd, mtable mtr[rowalign="top"] mtd, math mtable mtr mtd[rowalign="top"] {vertical-align:top} mtable[rowalign="bottom"] mtd, mtable mtr[rowalign="bottom"] mtd, math mtable mtr mtd[rowalign="bottom"] {vertical-align:bottom} mtable[rowalign="center"] mtd, mtable mtr[rowalign="center"] mtd, math mtable mtr mtd[rowalign="center"] {vertical-align:middle} mtable[frame="solid"] {border:solid thin;} mtable[frame="dashed"] {border:dashed thin;} mtable[rowlines="solid"], mtable[rowlines="dashed"], mtable[columnlines="solid"], mtable[columnlines="dashed"] {border-collapse:collapse;} mtable[rowlines="solid"] > mtr + mtr {border-top:solid thin;} mtable[rowlines="dashed"] > mtr + mtr {border-top:dashed thin;} mtable[columnlines="solid"] > mtr > mtd + mtd {border-left:solid thin;} mtable[columnlines="dashed"] > mtr > mtd + mtd {border-left:dashed thin;} mspace[linebreak="goodbreak"]:before {content:"\200B"; white-space:normal;} mspace[linebreak="newline"]:before, mspace[linebreak="indentingnewline"]:before {content:"\000A"; white-space:pre;} mspace[width]:before {content:normal;} mspace[width="verythinmathspace"] {padding:0 0.05em;} mspace[width="thinmathspace"] {padding:0 0.08em;} mspace[width="mediummathspace"] {padding:0 0.11em;} mspace[width="thickmathspace"] {padding:0 0.14em;} mspace[width="verythickmathspace"] {padding:0 0.17em;} mo[largeop="true"] {font-size:1.3em; vertical-align:-0.1ex;} mo[form="infix"], * + mo {padding:0 0.3ex;} mo[form="prefix"] {padding:0 0 0 0.5ex;} mo[form="postfix"] {padding:0 0.5ex 0 0;} mo[fence="true"], mo[separator="true"] {padding:0;} mi[mathvariant="bold"], mi[mathvariant="bold-italic"], mi[mathvariant="bold-sans-serif"], mi[mathvariant="sans-serif-bold-italic"],mn[mathvariant="bold"], mn[mathvariant="bold-italic"], mn[mathvariant="bold-sans-serif"], mn[mathvariant="sans-serif-bold-italic"],mo[mathvariant="bold"], mo[mathvariant="bold-italic"], mo[mathvariant="bold-sans-serif"], mo[mathvariant="sans-serif-bold-italic"], ms[mathvariant="bold"], ms[mathvariant="bold-italic"], ms[mathvariant="bold-sans-serif"], ms[mathvariant="sans-serif-bold-italic"],mtext[mathvariant="bold"], mtext[mathvariant="bold-italic"], mtext[mathvariant="bold-sans-serif"], mtext[mathvariant="sans-serif-bold-italic"] {font-weight:bold; font-style:normal;} mi[mathvariant="monospace"], mn[mathvariant="monospace"],mo[mathvariant="monospace"], ms[mathvariant="monospace"],mtext[mathvariant="monospace"] {font-family:monospace; font-style:normal;} mi[mathvariant="sans-serif"], mi[mathvariant="bold-sans-serif"], mi[mathvariant="bold-sans-serif"], mi[mathvariant="sans-serif-italic"], mi[mathvariant="sans-serif-bold-italic"],mn[mathvariant="bold-sans-serif"], mn[mathvariant="sans-serif"], mn[mathvariant="bold-sans-serif"], mn[mathvariant="sans-serif-italic"], mn[mathvariant="sans-serif-bold-italic"], mo[mathvariant="sans-serif"], mo[mathvariant="bold-sans-serif"], mo[mathvariant="bold-sans-serif"], mo[mathvariant="sans-serif-italic"], mo[mathvariant="sans-serif-bold-italic"], ms[mathvariant="sans-serif"], ms[mathvariant="bold-sans-serif"], ms[mathvariant="bold-sans-serif"], ms[mathvariant="sans-serif-italic"], ms[mathvariant="sans-serif-bold-italic"], mtext[mathvariant="sans-serif"], mtext[mathvariant="bold-sans-serif"], mtext[mathvariant="bold-sans-serif"], mtext[mathvariant="sans-serif-italic"], mtext[mathvariant="sans-serif-bold-italic"] {font-family:sans-serif; font-style:normal;} mi, mi[mathvariant="italic"], mi[mathvariant="bold-italic"],mi[mathvariant="sans-serif-italic"], mi[mathvariant="sans-serif-bold-italic"],mn[mathvariant="italic"], mn[mathvariant="bold-italic"], mn[mathvariant="sans-serif-italic"], mn[mathvariant="sans-serif-bold-italic"],mo[mathvariant="italic"], mo[mathvariant="bold-italic"],mo[mathvariant="sans-serif-italic"], mo[mathvariant="sans-serif-bold-italic"], ms[mathvariant="italic"], ms[mathvariant="bold-italic"],ms[mathvariant="sans-serif-italic"], ms[mathvariant="sans-serif-bold-italic"],mtext[mathvariant="italic"], mtext[mathvariant="bold-italic"], mtext[mathvariant="sans-serif-italic"], mtext[mathvariant="sans-serif-bold-italic"] {font-style:italic;} mi[mathvariant="normal"], mn[mathvariant="normal"], mo[mathvariant="normal"], ms[mathvariant="normal"], mtext[mathvariant="normal"] {font-style:normal;} ms:before, ms:after {content:"\0022"} ms[lquote]:before {content:attr(lquote)} ms[rquote]:after {content:attr(rquote)} mphantom {visibility:hidden} merror {outline:solid thin red} merror:before {content:"Error: "} mrow {white-space:nowrap;} math[display='block'] {display:block; margin:1em 0 1em 3em;} mstack, mlongdiv {display:inline-table; font-family:monospace;} mstack {text-align:right; border-collapse:collapse;} mstack[align='top'], mlongdiv[align='top'] {vertical-align:top;} mstack[align='bottom'], mlongdiv[align='bottom'] {vertical-align:bottom;} mstack[align='center'], mlongdiv[align='center'] {vertical-align:middle;} msline {display:block; border-bottom:solid thin;} mstack > *, mlongdiv > mn:first-child {display:table-row;} mlongdiv > *:first-child + * {display:table-cell;} mlongdiv > *:first-child + * + * {border-top:solid thin;} mlongdiv > *:first-child:before {display:table-cell; content:'\a0';} mlongdiv > *:first-child + *:after {content:')';} mlongdiv > * {display:block;} mscarry {display:none;} maction > * + * {display:none;} maction[actiontype="tooltip"]:focus > * + *, maction[actiontype="tooltip"]:hover > * + * {position:fixed; display:block; top:0; left:0; background-color:InfoBackground; color:InfoText; padding:0.5ex; border:solid 1px;} annotation, annotation-xml {display:none;}

13 参考文献

References

css
css

Cascading Style Sheets, level 2 revision 1, Bert Bos, Tantek Çelik, Ian Hickson, Håkon Wium Lie 著 W3C勧告 2011年6月7日
(訳注:日本語訳https://ss1.xrea.com/momdo.s35.xrea.com/web-html-test/spec/CSS21/cover.html)
Cascading Style Sheets, level 2 revision 1, Bert Bos, Tantek Çelik, Ian Hickson, Håkon Wium Lie. W3C Recommendation 7 June 2011.

css2
css2

Cascading Style Sheets, level 2 CSS2仕様書, Bert Bos, Håkon Wium Lie, Chris Lilley, Ian Jacobs 著 1998年5月
Cascading Style Sheets, level 2 CSS2 Specification, Bert Bos, Håkon Wium Lie, Chris Lilley, Ian Jacobs. May 1998.

rec-xml
rec-xml

拡張可能なマーク付け言語(XML)1.0(第5版), Tim Bray, Jean Paoli, C. M. Sperberg-McQueen, Eve Maler, François Yergeau 著 W3C勧告 2008年11月26日
(訳注:日本語訳http://w4ard.eplusx.net/translation/W3C/REC-xml-20081126/)
Extensible Markup Language (XML) 1.0 (Fifth Edition), Tim Bray, Jean Paoli, C. M. Sperberg-McQueen, Eve Maler, and François Yergeau (editors). W3C Recommendation 26 November 2008.

rec-xmlns
rec-xmlns

XML1.0名前空間(第3版),Tim Bray, Dave Hollander, Andrew Layman, Richard Tobin, Henry S. Thompson 著 W3C勧告 2009年12月8日
Namespaces in XML 1.0 (Third Edition), Tim Bray, Dave Hollander, Andrew Layman, Richard Tobin, Henry S. Thompson. W3C Recommendation 8 December 2009.

mathml
mathml

数学用マークアップ言語(MathML)バージョン3.0, David Carlisle, Patrick Ion, Robert Miner 著 W3C勧告 2010年10月21日
Mathematical Markup Language (MathML) Version 3.0, David Carlisle, Patrick Ion, Robert Miner. W3C Recommendation, 21 October 2010.

mathml1
mathml1

数学用マークアップ言語(MathML)1.0仕様書, Patrick Ion, Robert Miner 著 1998年4月
Mathematical Markup Language (MathML) 1.0 Specification, Patrick Ion, Robert Miner. April 1998.

roadmap
roadmap

数学作業部会の計画案 2007/8, Patrick Ion, Robert Miner 著 2007年3月, 文書の主題は更新. [特に2.2.1参照]
Math Working Group Roadmap 2007/8, Patrick Ion, Robert Miner. March 2007, document subject to update. [See especially 2.2.1]