数式の色を変えるには, mathcolor
属性を利用して, 次のように書きます.
<math xmlns="http://www.w3.org/1998/Math/MathML"> <mi mathcolor="#FF0000">a</mi> <mo mathcolor="#00FF00">+</mo> <mn mathcolor="#0000FF">3</mn> </math>リスト5.1 数式の色を変える
ここで, mathcolor
属性の値は, CSSのcolor
プロパティと同様に, #
につづけて, 色の赤, 緑, 青の成分をそれぞれ2ケタの16進数で00
〜FF
の間の値で書きます. リスト5.1だと, #FF0000
は赤, #00FF00
は緑, #0000FF
は青をそれぞれ表しています. また, mathcolor
属性の値には, HTMLで使われているred
やlime
やblue
といった色名を用いることもできます. ですから, 色名を用いて次のように書くこともできます.
<math xmlns="http://www.w3.org/1998/Math/MathML"> <mi mathcolor="red">a</mi> <mo mathcolor="lime">+</mo> <mn mathcolor="blue">3</mn> </math>リスト5.2 色名を用いて数式の色を変える
数式を太字にするには, mathvariant
属性の値をbold
にして, 次のように書きます.
<math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>a</mi> <mo>-</mo> <mn mathvariant="bold">4</mn> <mo mathvariant="bold">+</mo> <mi mathvariant="bold">b</mi> </math>リスト5.3 数式を太字にする
<mi>b</mi>
のような内容が1文字のアルファベットのmi
は, 通常, 斜体で表されます. これは, そのようなmi
のmathvariant
属性の既定値がitalic
であるためです. 詳しくは, 5.5 mathvariant
の既定値を見て下さい. しかし, mathvariant
属性の値をbold
にすると, 太字にはなりますが斜体でなくなります. 斜体を保ったまま太字にするには, 5.4 数式を太字の斜体にするを見て下さい.
数式を斜体にするには, mathvariant
属性の値をitalic
にして, 次のように書きます.
<math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>a</mi> <mo>-</mo> <mn mathvariant="italic">4</mn> <mo mathvariant="italic">+</mo> <mi mathvariant="italic">b</mi> </math>リスト5.4 数式を斜体にする
<mi>b</mi>
のような内容が1文字のアルファベットのmi
ではmathvariant
属性の既定値はitalic
です. このため, mathvariant
属性の値をitalic
にしなくても斜体として表されます. 詳しくは, 5.5 mathvariant
の既定値を見て下さい.
数式を太字の斜体にするには, mathvariant
属性の値をbold-italic
にして次のように書きます.
<math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>a</mi> <mo>-</mo> <mn mathvariant="bold-italic">4</mn> <mo mathvariant="bold-italic">+</mo> <mi mathvariant="bold-italic">b</mi> </math>リスト5.5 数式を太字の斜体にする
mathvariant
の既定値mathvariant
属性の既定値は, <mi>b</mi>
のような内容が1文字のアルファベットのmi
ではitalic
です. それ以外の場合はnormal
です. 例えば, <mi>sin</mi>
や<mi>cos</mi>
やmo
やmn
は, 既定値はnormal
です. 図5.6の上の式は, mathvariant
属性が既定値の場合, 中の式は, mathvariant
属性をnormal
とした場合, 下の式は, mathvariant
属性をitalic
とした場合です. 上の式と中の式ではxのみが, 上の式と下の式ではx以外が, それぞれ表示のされ方が違っているのが分かるでしょう.
<math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>sin</mi> <mo>⁡</mo> <mi>x</mi> <mo>+</mo> <mn>5</mn> </math> <br/> <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi mathvariant="normal">sin</mi> <mo>⁡</mo> <mi mathvariant="normal">x</mi> <mo mathvariant="normal">+</mo> <mn mathvariant="normal">5</mn> </math> <br/> <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi mathvariant="italic">sin</mi> <mo>⁡</mo> <mi mathvariant="italic">x</mi> <mo mathvariant="italic">+</mo> <mn mathvariant="italic">5</mn> </math>リスト5.6
mathvariant
属性の既定値
mathvariant
属性の既定値
1/2のように, 分数の記号を斜線(/)にするには, bevelled
属性をtrue
にして, 次のように書きます.
<math xmlns="http://www.w3.org/1998/Math/MathML"> <mfrac bevelled="true"> <mn>1</mn> <mn>2</mn> </mfrac> </math>リスト5.7 分数の記号を斜線(/)にする
bevelled
属性はtrue
またはfalse
のどちらかをとり, 既定値はfalse
です. bevelled
属性をfalse
にした場合, 分数の記号は横線(-)で表されます.
分数の記号の太さを変えるには, linethickness
属性を利用して次のように書きます.
<math xmlns="http://www.w3.org/1998/Math/MathML"> <mfrac linethickness="thick"> <mrow> <mfrac linethickness="medium"> <mrow> <mfrac linethickness="thin"> <mn>1</mn> <mi>x</mi> </mfrac> <mo>+</mo> <mn>1</mn> </mrow> <mi>x</mi> </mfrac> <mo>+</mo> <mn>1</mn> </mrow> <mi>x</mi> </mfrac> </math>リスト5.8 分数の記号の太さを変える
ここで, thick
は通常より太くすること, medium
は通常通り, thin
は通常より細くすることをそれぞれ表しています. thickness
属性の既定値はmedium
です. また, thickness
属性は太さを直接数値で指定することもできます. 1
はmedium
に相当し, 0
は何も引かないこと, 2
は通常の2倍の太さの線を引くこと, 3
は通常の3倍の太さの線を引くことにそれぞれ相当します. 数値を使って分数の記号の太さを変える例を次に示します.
<math xmlns="http://www.w3.org/1998/Math/MathML"> <mfrac linethickness="2"> <mrow> <mfrac linethickness="1"> <mrow> <mfrac linethickness="0"> <mn>1</mn> <mi>x</mi> </mfrac> <mo>+</mo> <mn>1</mn> </mrow> <mi>x</mi> </mfrac> <mo>+</mo> <mn>1</mn> </mrow> <mi>x</mi> </mfrac> </math>リスト5.9 数値を使って分数の記号の太さを変える
さらに, linethickness
属性は, 1mm
のように数値+単位という形で直接太さを指定することもできます. 数値と単位を使って分数の記号の太さを変える例を次に示します.
<math xmlns="http://www.w3.org/1998/Math/MathML"> <mfrac linethickness="1mm"> <mi>a</mi> <mi>b</mi> </mfrac> <mo>+</mo> <mfrac linethickness="1pt"> <mi>c</mi> <mi>d</mi> </mfrac> </math>リスト5.10 数値と単位を使って分数の記号の太さを変える
分子を左寄せ,中央寄せ,右寄せするには, numalign
属性を用いて, 次のように書きます.
<math xmlns="http://www.w3.org/1998/Math/MathML"> <mfrac numalign="left"> <mn>1</mn> <mrow> <mi>x</mi> <mo>+</mo> <mn>1</mn> </mrow> </mfrac> <mo>+</mo> <mfrac numalign="center"> <mn>1</mn> <mrow> <mi>x</mi> <mo>+</mo> <mn>1</mn> </mrow> </mfrac> <mo>+</mo> <mfrac numalign="right"> <mn>1</mn> <mrow> <mi>x</mi> <mo>+</mo> <mn>1</mn> </mrow> </mfrac> </math>リスト5.11 分子を左寄せ,中央寄せ,右寄せする
ここで, left
は左寄せ, center
は中央寄せ, right
は右寄せをそれぞれ表します. numalign
属性の既定値は, center
です.
分母を左寄せ,中央寄せ,右寄せするには, denomalign
属性を用いて, 次のように書きます.
<math xmlns="http://www.w3.org/1998/Math/MathML"> <mfrac denomalign="left"> <mrow> <mi>a</mi> <mo>-</mo> <mi>b</mi> </mrow> <mi>c</mi> </mfrac> <mo>+</mo> <mfrac denomalign="center"> <mrow> <mi>a</mi> <mo>-</mo> <mi>b</mi> </mrow> <mi>c</mi> </mfrac> <mo>+</mo> <mfrac denomalign="right"> <mrow> <mi>a</mi> <mo>-</mo> <mi>b</mi> </mrow> <mi>c</mi> </mfrac> </math>リスト5.12 分母を左寄せ,中央寄せ,右寄せする
ここで, left
は左寄せ, center
は中央寄せ, right
は右寄せをそれぞれ表します. denomalign
の既定値はcenter
です.
文字の大きさを変えるには, mathsize
属性を利用して次のように書きます.
<math xmlns="http://www.w3.org/1998/Math/MathML"> <mi mathsize="6pt">a</mi> <mo mathsize="9pt">+</mo> <mi mathsize="12pt">b</mi> <mo mathsize="15pt">+</mo> <mi mathsize="18pt">c</mi> </math>リスト5.13 文字の大きさを変える
mathsize
属性は, 数値+単位という形で文字の大きさを指定します.
4.10 等号や不等号で, "≥"や"≤"の書き方は説明しました. MathMLでは, ">"や"<"に"="を組み合わせた"≧"や"≦"等を書くことができます. "≧"にはgE
, "≦"にはlE
という実体参照を使います.
<math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>c</mi> <mo>≧</mo> <mn>3</mn> </math> <br/> <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>d</mi> <mo>≦</mo> <mn>3</mn> </math>リスト5.14 様々な不等号
単位を書くには, mi
をmathvariant
属性をnormal
にして利用します. また, 数値と単位の間には, rspace
属性をthickmathspace
にしたmo
を使ってInvisibleTimes
という実体参照を入れます. 例えば, 1mは次のように書かれます.
<math xmlns="http://www.w3.org/1998/Math/MathML"> <mn>1</mn> <mo rspace="thickmathspace">⁢</mo> <mi mathvariant="normal">m</mi> </math>リスト5.15 単位
ここで, mo
のrspace
属性をthickmathspace
としているのは, 数値と単位の間を空けないためです. また, mi
のmathvariant
属性をnormal
としているのは, 一般に単位は直立体で書くことになっているためです.
複数の単位のかけ算や割り算, 累乗となっている単位を表すには, 通常の数式と同じようにmo
やmsup
を用います. 例えばN·mやm3/sは次のように書かれます.
<math xmlns="http://www.w3.org/1998/Math/MathML"> <mn>1.8</mn> <mo rspace="thickmathspace">⁢</mo> <mrow> <mi mathvariant="normal">N</mi> <mo>·</mo> <mi mathvariant="normal">m</mi> </mrow> </math> <br/> <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>Q</mi> <mo rspace="thickmathspace">⁢</mo> <mrow> <msup> <mi mathvariant="normal">m</mi> <mn>3</mn> </msup> <mo>/</mo> <mi mathvariant="normal">s</mi> </mrow> </math>リスト5.16 複雑な単位
middot
は, 点(·)を表す実体参照です. 単位の途中のかけ算を表す点(·)は表示すべきです.
単位を含む計算を書くには, 基本的に通常の計算と同じように書きます. 例えば, 次のものは, 流量を計算する例です.
<math xmlns="http://www.w3.org/1998/Math/MathML"> <mn>4</mn> <mo rspace="thickmathspace">⁢</mo> <msup> <mi mathvariant="normal">m</mi> <mn>2</mn> </msup> <mo>×</mo> <mn>5</mn> <mo rspace="thickmathspace">⁢</mo> <mrow> <mi mathvariant="normal">m</mi> <mo>/</mo> <mi mathvariant="normal">s</mi> </mrow> <mo>=</mo> <mn>20</mn> <mrow> <msup> <mi mathvariant="normal">m</mi> <mn>3</mn> </msup> <mo>/</mo> <mi mathvariant="normal">s</mi> </mrow> </math>リスト5.17 単位を含む計算