Testbed: MathJax v2, MathJax, KaTeX

2021/12/21 Taiji Yamada
[MathJax] [MathJax v2] [KaTeX] / [MathJax 総覧] [MathJax v2 総覧] [KaTeX 総覧]

MathJax, KaTeX における数式フォントの CSS 操作

MathJax, MathJax v2, KaTeX にて提供される数式フォントを超えて CSS を定義することによってブラウザフォントを使用することは不可能ではない。

そして昨今は Google, Adobe らによる Noto Serif, Source Serif Variable フォントなどがオープンソースで提供されているので、それを有効活用しない手は無いだろう。そこで、例に取り上げる題材は同梱の数式フォントでは未定義であるようなグリフを取り上げざるを得ないので、実用上の価値はさておき技術的な側面に注目していただきたい。何か困ったときに技術的な助けとなることを期待する。

さて、MathJax, KaTeX では数式フォントは基本的に変更できないが、以下の HTML 向けの TeX コマンドが用意されているので、HTML+CSS で(品質はさておき)変更は可能である。

MathJax, MathJax v2
  • \cssId{}{} … 第2引数の内容となるタグに DOM 識別子をつける。
  • \class{}{} … 第2引数の内容となるタグに DOM クラスをつける。
  • \style{}{} … 第2引数の内容となるタグに CSS を施す。
  • \unicode[,][]{} … 引数に Unicode コードポイントで文字を指定する。
KaTeX
  • \htmlId{}{} … 第2引数の内容となるタグに DOM 識別子をつける。
  • \htmlClass{}{} … 第2引数の内容となるタグに DOM クラスをつける。
  • \htmlStyle{}{} … 第2引数の内容となるタグに CSS を施す。
  • \htmlData{}{} … 第2引数の内容となるタグに data 属性をつける。
  • \char"9ABC … Unicode コードポイントで文字を指定する(但し、サロゲートペアや BMP を超える領域は未サポート)。

よって、HTML+CSS を書く要領で以下のようにすれば数式内でも CSS でスタイルを決めることができる。

\[ e^{\boldsymbol{\iota}\vartheta} = \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \qquad\style{ font-weight: bold; color: darkslateblue; background: aliceblue; border: powderblue solid 5px; }{\small\fbox{オイラーの公式}} \]
e^{\boldsymbol{\iota}\vartheta} = \cos\vartheta + \boldsymbol{\iota}\sin\vartheta
\qquad\style{
font-weight: bold;
color: darkslateblue;
background: aliceblue;
border: powderblue solid 5px;
}{\small\fbox{オイラーの公式}}

しかし、CSS の font-family については話は別だ。これは MathJax, KaTeX で制御されているので、例えば以下のようにしても無駄である。

\[ \style{ font-family: 'Cambria Math', Cambria !important; }{ e^{\boldsymbol{\iota}\vartheta} = \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \qquad\style{ font-weight: bold; color: darkslateblue; background: aliceblue; border: powderblue solid 5px; }{\small\fbox{オイラーの公式}} } \]
\style{ font-family: 'Cambria Math', Cambria !important; }{
e^{\boldsymbol{\iota}\vartheta} = \cos\vartheta + \boldsymbol{\iota}\sin\vartheta
	:	}

但し、KaTeX ではラテン文字は指定した通りに 'Cambria Math', Cambria フォントになる。MathJax ではすべて完全に制御されている。

では、どうすべきであろうか。DOM クラスを利用して属性を !important で上書きしてしまおう。以下の例は 'Cambria Math', Cambria フォントを所有していれば MathJax, KaTeX にて見慣れた数式フォントではなく、Microsoft Word で見慣れた数式フォントになるはずである。

\[\class{Cambria_in_math}{ e^{\boldsymbol{\iota}\vartheta} = \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \qquad\style{ font-weight: bold; color: darkslateblue; background: aliceblue; border: powderblue solid 5px; }{\small\fbox{オイラーの公式}} } \]
<style>
.Cambria_in_math * { font-family: 'Cambria Math', Cambria !important; }
</style>
\[\class{Cambria_in_math}{
e^{\boldsymbol{\iota}\vartheta} = \cos\vartheta + \boldsymbol{\iota}\sin\vartheta
	:	}
\]

無論、\class{Cambria_in_math}{…} をわざわざ使わず div.Cambria_in_math タグで括った方がよい(節尾の例ではそうしている)。

但し、KaTeX であれば斜体も太字もこのフォントで連動し十分実用的なのであるが、MathJax は斜体や太字はフォント指定で制御しているので、すべて非斜体・非太字のままになってしまうのである。

そこで、以下のような対処方法の一つを提案したい。ここで、そもそも MathJax, KaTeX は把握しているフォントメトリックは正確には一致していないフォントへの置き換えなので、あくまで TeX の Computer Modern フォントに似たフォントメトリックをもつ数式向けのフォントへの痴漢であることを前提であることに留意されたい。

先のスタイルを以下のようにすれば、この場合は違和感がなくなる。

<style>
.Cambria_in_math *			{ font-family: 'Cambria Math', Cambria		!important; }
.Cambria_in_math .TEX-R			{ font-weight: normal; font-style: normal	!important; }
.Cambria_in_math .TEX-B			{ font-weight: bold; font-style: normal		!important; }
.Cambria_in_math .TEX-I			{ font-weight: normal; font-style: italic	!important; }
.Cambria_in_math .TEX-BI		{ font-weight: bold; font-style: italic		!important; }
.Cambria_in_math .MJXc-TeX-main-R	{ font-weight: normal; font-style: normal	!important; }
.Cambria_in_math .MJXc-TeX-main-B	{ font-weight: bold; font-style: normal		!important; }
.Cambria_in_math .MJXc-TeX-main-I	{ font-weight: normal; font-style: italic	!important; }
.Cambria_in_math .MJXc-TeX-main-BI	{ font-weight: bold; font-style: italic		!important; }
.Cambria_in_math .MJXc-TeX-math-R	{ font-weight: normal; font-style: normal	!important; }
.Cambria_in_math .MJXc-TeX-math-B	{ font-weight: bold; font-style: normal		!important; }
.Cambria_in_math .MJXc-TeX-math-I	{ font-weight: normal; font-style: italic	!important; }
.Cambria_in_math .MJXc-TeX-math-BI	{ font-weight: bold; font-style: italic		!important; }
</style>

まだ MathJax では思わぬ落とし穴があるのでぬか喜びはせずに、最後までお読み頂きたい。

Unicode とギリシャ文字等における CSS 操作の応用例

かなりニッチな話題になってしまうが、数式における記号としての文字を増やすことができるリッチなブラウザ環境であるので、社会通念や実用性は無視してやれることをやってみよう。そして、諸問題を確認するために、それぞれの話題について、立体、太字、斜体、太字斜体それぞれを例示するので紙幅そのものは広くなることに留意されたい。

まず、本節すべての応用にて、MathJax, MathJax v2, KaTeX で共通してコマンドが指定できるように以下のようなコマンドを用意している。

MathJax, MathJax v2 (MathJax v2 では Tex: { Macros: … } に読み替え):
{
  tex: {
    macros: {
      htbd:		[ '\\class{boldized}{\\style{ font-weight: bold; }{#1}}', 1 ],
      htmd:		[ '\\class{mediumized}{\\style{ font-weight: normal; }{#1}}', 1 ],
      htit:		[ '\\class{italicized}{\\style{ font-style: italic; }{#1}}', 1 ],
      htup:		[ '\\class{uplightized}{\\style{ font-style: normal; }{#1}}', 1 ],
      boldweight:	[ '\\htbd{\\boldsymbol{#1}}', 1 ],
      normalweight:	[ '\\htmd{#1}', 1 ],
      italicstyle:	[ '\\htit{\\mathit{#1}}', 1 ],
      normalstyle:	[ '\\htup{\\mathrm{#1}}', 1 ],
	:	}}}
KaTeX:
{
  macros: {
    '\\htbd':		'\\htmlClass{boldized}{\\htmlStyle{ font-weight: bold; }{#1}}',
    '\\htmd':		'\\htmlClass{mediumized}{\\htmlStyle{ font-weight: normal; }{#1}}',
    '\\htit':		'\\htmlClass{italicized}{\\htmlStyle{ font-style: italic; }{#1}}',
    '\\htup':		'\\htmlClass{uplightized}{\\htmlStyle{ font-style: normal; }{#1}}',
    '\\boldweight':	'\\htbd{\\boldsymbol{#1}}',
    '\\normalweight':	'\\htmd{#1}',
    '\\italicstyle':	'\\htit{\\mathit{#1}}',
    '\\normalstyle':	'\\htup{\\mathrm{#1}}',
	:	}}

さらに、以下のスタイルでいくつかのクラスを適所に準備しておく。

.boldized	* { font-weight: bold	!important; }
.mediumized	* { font-weight: normal	!important; }
.italicized	* { font-style: italic	!important; }
.uplightized	* { font-style: normal	!important; }

そして、数式フォントの入れ替えを想定して、以下のような TeX コマンドの読み替えを行って数式を入力することになる。

つまり、TeX の数式フォントスタイルのコマンドをラップしながら CSS も連動してフォントスタイルをしてしつつ、それだけでは対応しきれない DOM ツリーの文字列に備えていくつかのクラスを所望のノードに定義していることになる。

\[ e^{\boldweight{\iota}\italicstyle{\vartheta}} = \cos\italicstyle{\vartheta} + \boldweight{\iota}\sin\italicstyle{\vartheta} \qquad\style{ font-weight: bold; color: darkslateblue; background: aliceblue; border: powderblue solid 5px; }{\small\fbox{オイラーの公式}} \]
e^{\boldweight{\iota}\italicstyle{\vartheta}} =
\cos\italicstyle{\vartheta} + \boldweight{\iota}\sin\italicstyle{\vartheta}
	:

本稿では以下のようにこれらのフォントを、後述の応用例のために実験的に指定している。

<style>
.boldized	*,
.mediumized	*,
.italicized	*,
.uplightized	* {
  font-family: 'Source Serif Variable', 'Noto Serif', serif !important;
}
</style>

さらにきめ細かくフォントを指定したければ、DOM ツリーの親のノードにクラス名などを定めて適切なセレクタで個別にフォントを指定することも可能である。そこは本題ではないので例は示さない。

現状の欠点は、TeX の慣わしである斜体が既定スタイルであることから外れてしまっているので、数式の変数をいちいち斜体指定しなければならないことであろう、それは今後の課題とする。

そして、具体的な応用例をいくつか紹介する。

最初に、Unicode にはギリシャ文字の名前を冠するラテン文字が定義されている。それらに TeX コマンド名、例えば \(\latinalpha, \latinAlpha\) を割り当てて以上の技術で試験してみよう。フォントを先のものに置き換えなければならない理由がそこにある。なぜなら、そういったグリフは数式用フォントには定義されていないからである。Google, Adobe らのフォントであれば(数式としての品質はさておき、)数式用グリフもそういったグリフも大抵揃っていて便利である。

Greek named Latin (uplight)
\[ \begin{array}{llll} \normalstyle{\latinalpha\latinAlpha} &{\small\verb|\latinalpha\latinAlpha|} & \normalstyle{\latingamma\latinGamma} &{\small\verb|\latingamma\latinGamma|} \\ \normalstyle{\latiniota\latinIota} &{\small\verb|\latiniota\latinIota|} & \normalstyle{\latinupsilon\latinUpsilon} &{\small\verb|\latinupsilon\latinUpsilon|} \\ \normalstyle{\latinomega\latinOmega} &{\small\verb|\latinomega\latinOmega|} & \end{array} \]
Greek named Latin (bold)
\[ \begin{array}{llll} \boldweight{\latinalpha\latinAlpha} &{\small\verb|\latinalpha\latinAlpha|} & \boldweight{\latingamma\latinGamma} &{\small\verb|\latingamma\latinGamma|} \\ \boldweight{\latiniota\latinIota} &{\small\verb|\latiniota\latinIota|} & \boldweight{\latinupsilon\latinUpsilon} &{\small\verb|\latinupsilon\latinUpsilon|} \\ \boldweight{\latinomega\latinOmega} &{\small\verb|\latinomega\latinOmega|} & \end{array} \]
Greek named Latin (italic)
\[ \begin{array}{llll} \italicstyle{\latinalpha\latinAlpha} &{\small\verb|\latinalpha\latinAlpha|} & \italicstyle{\latingamma\latinGamma} &{\small\verb|\latingamma\latinGamma|} \\ \italicstyle{\latiniota\latinIota} &{\small\verb|\latiniota\latinIota|} & \italicstyle{\latinupsilon\latinUpsilon} &{\small\verb|\latinupsilon\latinUpsilon|} \\ \italicstyle{\latinomega\latinOmega} &{\small\verb|\latinomega\latinOmega|} & \end{array} \]
Greek named Latin (bold italic)
\[ \begin{array}{llll} \boldweight{\italicstyle{\latinalpha\latinAlpha}} &{\small\verb|\latinalpha\latinAlpha|} & \boldweight{\italicstyle{\latingamma\latinGamma}} &{\small\verb|\latingamma\latinGamma|} \\ \boldweight{\italicstyle{\latiniota\latinIota}} &{\small\verb|\latiniota\latinIota|} & \boldweight{\italicstyle{\latinupsilon\latinUpsilon}} &{\small\verb|\latinupsilon\latinUpsilon|} \\ \boldweight{\italicstyle{\latinomega\latinOmega}} &{\small\verb|\latinomega\latinOmega|} & \end{array} \]

次に、Unicode にはラテン文字の合字で単一のコードポイントに割り当てられているグリフ等が存在する。のちに使うので、まずはそれを TeX コマンド名、例えば \(\ou, \OU\) に割り当てて以上の技術で試験してみよう。ちなみに、KaTeX では \(\ae, \AE\), \(\oe, \OE\) は定義済みなのだが \text 内でしか使えないので本稿では Unicode で再定義している。

Latin ligature (uplight)
\[ \begin{array}{llll} \normalstyle{\ezh\EZH} &{\small\verb|\ezh\EZH|} & \normalstyle{\ae\AE} &{\small\verb|\ae\AE|} & \normalstyle{\oe\OE} &{\small\verb|\oe\OE|} & \normalstyle{\ou\OU} &{\small\verb|\ou\OU|} & \end{array} \]
Latin ligature (bold)
\[ \begin{array}{llll} \boldweight{\ezh\EZH} &{\small\verb|\ezh\EZH|} & \boldweight{\ae\AE} &{\small\verb|\ae\AE|} & \boldweight{\oe\OE} &{\small\verb|\oe\OE|} & \boldweight{\ou\OU} &{\small\verb|\ou\OU|} & \end{array} \]
Latin ligature (italic)
\[ \begin{array}{llll} \italicstyle{\ezh\EZH} &{\small\verb|\ezh\EZH|} & \italicstyle{\ae\AE} &{\small\verb|\ae\AE|} & \italicstyle{\oe\OE} &{\small\verb|\oe\OE|} & \italicstyle{\ou\OU} &{\small\verb|\ou\OU|} & \end{array} \]
Latin ligature (bold italic)
\[ \begin{array}{llll} \boldweight{\italicstyle{\ezh\EZH}} &{\small\verb|\ezh\EZH|} & \boldweight{\italicstyle{\ae\AE}} &{\small\verb|\ae\AE|} & \boldweight{\italicstyle{\oe\OE}} &{\small\verb|\oe\OE|} & \boldweight{\italicstyle{\ou\OU}} &{\small\verb|\ou\OU|} & \end{array} \]

ちなみに、TeX でも KaTeX でも \(\ae, \AE\), \(\oe, \OE\) が定義されていることから、少なくとも \text 内での需要はそれなりにあるのだろう。せっかく昨今のフォントには他にも多くのこうしたグリフが定義されているので、TeX の世界からも気軽に使えると便利である。但し、あまりにも数が多いのでコマンド名の命名が大変だ。

次に、Unicode にはラテン文字のスモールキャピタルも定義されている。それなのに、何故かラテンアルファベットのうち \(\SCq, \SCx\) だけ定義されていない(それは OpenType フォントの機能で小文字からスモールキャピタルのグリフは得ることができる)。

それなのに、それなのに、先の合字のスモールキャピタルも定義されている。これらの合字は確固たる需要があるという証左なのだと思う。個人的には使うことはないのであるが、せっかくなのでここで試験してみよう。品質はいかがなものだろうか。

small capital Latin (uplight)
\[ \begin{array}{llllllllllllll} \normalstyle{Aa\SCa} &{\small\verb|\SCa|} & \normalstyle{Bb\SCb} &{\small\verb|\SCb|} & \normalstyle{Cc\SCc} &{\small\verb|\SCc|} & \normalstyle{Dd\SCd} &{\small\verb|\SCd|} & \normalstyle{Ee\SCe} &{\small\verb|\SCe|} \\ \normalstyle{Ff\SCf} &{\small\verb|\SCf|} & \normalstyle{Gg\SCg} &{\small\verb|\SCg|} & \normalstyle{Hh\SCh} &{\small\verb|\SCh|} & \normalstyle{Ii\SCi} &{\small\verb|\SCi|} & \normalstyle{Jj\SCj} &{\small\verb|\SCj|} \\ \normalstyle{Kk\SCk} &{\small\verb|\SCk|} & \normalstyle{Ll\SCl} &{\small\verb|\SCl|} & \normalstyle{Mm\SCm} &{\small\verb|\SCm|} & \normalstyle{Nn\SCn} &{\small\verb|\SCn|} & \normalstyle{Oo\SCo} &{\small\verb|\SCo|} \\ \normalstyle{Pp\SCp} &{\small\verb|\SCp|} & \normalstyle{Qq\SCq} &{\small\verb|\SCq|} & \normalstyle{Rr\SCr} &{\small\verb|\SCr|} & \normalstyle{Ss\SCs} &{\small\verb|\SCs|} & \normalstyle{Tt\SCt} &{\small\verb|\SCt|} \\ \normalstyle{Uu\SCu} &{\small\verb|\SCu|} & \normalstyle{Vv\SCv} &{\small\verb|\SCv|} & \normalstyle{Ww\SCw} &{\small\verb|\SCw|} & \normalstyle{Xx\SCx} &{\small\verb|\SCx|} & \normalstyle{Yy\SCy} &{\small\verb|\SCy|} \\ \normalstyle{Zz\SCz} &{\small\verb|\SCz|} & \normalstyle{\EZH\ezh\SCezh} &{\small\verb|\SCezh|} & \normalstyle{\AE\ae\SCae} &{\small\verb|\SCae|} & \normalstyle{\OE\oe\SCoe} &{\small\verb|\SCoe|} & \normalstyle{\OU\ou\SCou} &{\small\verb|\SCou|} \\ \end{array} \]
small capital Latin (bold)
\[ \begin{array}{llllllllllllll} \boldweight{Aa\SCa} &{\small\verb|\SCa|} & \boldweight{Bb\SCb} &{\small\verb|\SCb|} & \boldweight{Cc\SCc} &{\small\verb|\SCc|} & \boldweight{Dd\SCd} &{\small\verb|\SCd|} & \boldweight{Ee\SCe} &{\small\verb|\SCe|} \\ \boldweight{Ff\SCf} &{\small\verb|\SCf|} & \boldweight{Gg\SCg} &{\small\verb|\SCg|} & \boldweight{Hh\SCh} &{\small\verb|\SCh|} & \boldweight{Ii\SCi} &{\small\verb|\SCi|} & \boldweight{Jj\SCj} &{\small\verb|\SCj|} \\ \boldweight{Kk\SCk} &{\small\verb|\SCk|} & \boldweight{Ll\SCl} &{\small\verb|\SCl|} & \boldweight{Mm\SCm} &{\small\verb|\SCm|} & \boldweight{Nn\SCn} &{\small\verb|\SCn|} & \boldweight{Oo\SCo} &{\small\verb|\SCo|} \\ \boldweight{Pp\SCp} &{\small\verb|\SCp|} & \boldweight{Qq\SCq} &{\small\verb|\SCq|} & \boldweight{Rr\SCr} &{\small\verb|\SCr|} & \boldweight{Ss\SCs} &{\small\verb|\SCs|} & \boldweight{Tt\SCt} &{\small\verb|\SCt|} \\ \boldweight{Uu\SCu} &{\small\verb|\SCu|} & \boldweight{Vv\SCv} &{\small\verb|\SCv|} & \boldweight{Ww\SCw} &{\small\verb|\SCw|} & \boldweight{Xx\SCx} &{\small\verb|\SCx|} & \boldweight{Yy\SCy} &{\small\verb|\SCy|} \\ \boldweight{Zz\SCz} &{\small\verb|\SCz|} & \boldweight{\EZH\ezh\SCezh} &{\small\verb|\SCezh|} & \boldweight{\AE\ae\SCae} &{\small\verb|\SCae|} & \boldweight{\OE\oe\SCoe} &{\small\verb|\SCoe|} & \boldweight{\OU\ou\SCou} &{\small\verb|\SCou|} \\ \end{array} \]
small capital Latin (italic)
\[ \begin{array}{llllllllllllll} \italicstyle{Aa\SCa} &{\small\verb|\SCa|} & \italicstyle{Bb\SCb} &{\small\verb|\SCb|} & \italicstyle{Cc\SCc} &{\small\verb|\SCc|} & \italicstyle{Dd\SCd} &{\small\verb|\SCd|} & \italicstyle{Ee\SCe} &{\small\verb|\SCe|} \\ \italicstyle{Ff\SCf} &{\small\verb|\SCf|} & \italicstyle{Gg\SCg} &{\small\verb|\SCg|} & \italicstyle{Hh\SCh} &{\small\verb|\SCh|} & \italicstyle{Ii\SCi} &{\small\verb|\SCi|} & \italicstyle{Jj\SCj} &{\small\verb|\SCj|} \\ \italicstyle{Kk\SCk} &{\small\verb|\SCk|} & \italicstyle{Ll\SCl} &{\small\verb|\SCl|} & \italicstyle{Mm\SCm} &{\small\verb|\SCm|} & \italicstyle{Nn\SCn} &{\small\verb|\SCn|} & \italicstyle{Oo\SCo} &{\small\verb|\SCo|} \\ \italicstyle{Pp\SCp} &{\small\verb|\SCp|} & \italicstyle{Qq\SCq} &{\small\verb|\SCq|} & \italicstyle{Rr\SCr} &{\small\verb|\SCr|} & \italicstyle{Ss\SCs} &{\small\verb|\SCs|} & \italicstyle{Tt\SCt} &{\small\verb|\SCt|} \\ \italicstyle{Uu\SCu} &{\small\verb|\SCu|} & \italicstyle{Vv\SCv} &{\small\verb|\SCv|} & \italicstyle{Ww\SCw} &{\small\verb|\SCw|} & \italicstyle{Xx\SCx} &{\small\verb|\SCx|} & \italicstyle{Yy\SCy} &{\small\verb|\SCy|} \\ \italicstyle{Zz\SCz} &{\small\verb|\SCz|} & \italicstyle{\EZH\ezh\SCezh} &{\small\verb|\SCezh|} & \italicstyle{\AE\ae\SCae} &{\small\verb|\SCae|} & \italicstyle{\OE\oe\SCoe} &{\small\verb|\SCoe|} & \italicstyle{\OU\ou\SCou} &{\small\verb|\SCou|} \\ \end{array} \]
small capital Latin (bold italic)
\[ \begin{array}{llllllllllllll} \boldweight{\italicstyle{Aa\SCa}} &{\small\verb|\SCa|} & \boldweight{\italicstyle{Bb\SCb}} &{\small\verb|\SCb|} & \boldweight{\italicstyle{Cc\SCc}} &{\small\verb|\SCc|} & \boldweight{\italicstyle{Dd\SCd}} &{\small\verb|\SCd|} & \boldweight{\italicstyle{Ee\SCe}} &{\small\verb|\SCe|} \\ \boldweight{\italicstyle{Ff\SCf}} &{\small\verb|\SCf|} & \boldweight{\italicstyle{Gg\SCg}} &{\small\verb|\SCg|} & \boldweight{\italicstyle{Hh\SCh}} &{\small\verb|\SCh|} & \boldweight{\italicstyle{Ii\SCi}} &{\small\verb|\SCi|} & \boldweight{\italicstyle{Jj\SCj}} &{\small\verb|\SCj|} \\ \boldweight{\italicstyle{Kk\SCk}} &{\small\verb|\SCk|} & \boldweight{\italicstyle{Ll\SCl}} &{\small\verb|\SCl|} & \boldweight{\italicstyle{Mm\SCm}} &{\small\verb|\SCm|} & \boldweight{\italicstyle{Nn\SCn}} &{\small\verb|\SCn|} & \boldweight{\italicstyle{Oo\SCo}} &{\small\verb|\SCo|} \\ \boldweight{\italicstyle{Pp\SCp}} &{\small\verb|\SCp|} & \boldweight{\italicstyle{Qq\SCq}} &{\small\verb|\SCq|} & \boldweight{\italicstyle{Rr\SCr}} &{\small\verb|\SCr|} & \boldweight{\italicstyle{Ss\SCs}} &{\small\verb|\SCs|} & \boldweight{\italicstyle{Tt\SCt}} &{\small\verb|\SCt|} \\ \boldweight{\italicstyle{Uu\SCu}} &{\small\verb|\SCu|} & \boldweight{\italicstyle{Vv\SCv}} &{\small\verb|\SCv|} & \boldweight{\italicstyle{Ww\SCw}} &{\small\verb|\SCw|} & \boldweight{\italicstyle{Xx\SCx}} &{\small\verb|\SCx|} & \boldweight{\italicstyle{Yy\SCy}} &{\small\verb|\SCy|} \\ \boldweight{\italicstyle{Zz\SCz}} &{\small\verb|\SCz|} & \boldweight{\italicstyle{\EZH\ezh\SCezh}} &{\small\verb|\SCezh|} & \boldweight{\italicstyle{\AE\ae\SCae}} &{\small\verb|\SCae|} & \boldweight{\italicstyle{\OE\oe\SCoe}} &{\small\verb|\SCoe|} & \boldweight{\italicstyle{\OU\ou\SCou}} &{\small\verb|\SCou|} \\ \end{array} \]

流石、Adobe らが整備したオープンソースのフォント「Source Serif」である(ここの読者は自身のブラウザでの閲覧環境であるので、これをインストールしていない方は是非とも使用を検討してみることをお勧めする)。品質もまったく問題ない。そして、次に体現する問題点は、このフォントに起因するものでは全く無いことに注意。

さて、ここまで MathJax, MathJax v2, KaTeX では大きな問題は生じなかった。

最後に、Unicode にはギリシャ文字のスモールキャピタルも(何故か6個しか)定義されている。一方で、昨今の OpenType フォントはギリシャ文字の小文字からスモールキャピタルのグリフを(フォントに依存するが大抵は)得ることができるので、多くの足りないグリフはそれで補う形で TeX のコマンド、例えば \(\SCgamma, \SCtheta, \SCiota\) に割り当てて試験してみよう。

small capital Greek (uplight)
\[ \begin{array}{llllllll} \normalstyle{\Alpha\alpha\SCalpha} &{\small\verb|\SCalpha|^\star} & \normalstyle{\Beta\beta\SCbeta} &{\small\verb|\SCbeta|^\star} & \normalstyle{\Gamma\gamma\SCgamma} &{\small\verb|\SCgamma|} & \normalstyle{\Delta\delta\SCdelta} &{\small\verb|\SCdelta|^\star} \\ \normalstyle{\Epsilon\varepsilon\SCvarepsilon} &{\small\verb|\SCvarepsilon|^\star} & \normalstyle{\Epsilon\epsilon\SCepsilon} &{\small\verb|\SCepsilon|^\star} & \normalstyle{\Zeta\zeta\SCzeta} &{\small\verb|\SCzeta|^\star} & \normalstyle{\Eta\eta\SCeta} &{\small\verb|\SCeta|^\star} \\ \normalstyle{\Theta\theta\SCtheta} &{\small\verb|\SCtheta|^\star} & \normalstyle{\Theta\vartheta\SCvartheta} &{\small\verb|\SCvartheta|^\star} & \normalstyle{\Iota\iota\SCiota} &{\small\verb|\SCiota|^\star} & \normalstyle{\Kappa\kappa\SCkappa} &{\small\verb|\SCkappa|^\star} \\ \normalstyle{\Kappa\varkappa\SCvarkappa} &{\small\verb|\SCvarkappa|^\star} & \normalstyle{\Lambda\lambda\SClambda} &{\small\verb|\SClambda|} & \normalstyle{\Mu\mu\SCmu} &{\small\verb|\SCmu|^\star} & \normalstyle{\Nu\nu\SCnu} &{\small\verb|\SCnu|^\star} \\ \normalstyle{\Xi\xi\SCxi} &{\small\verb|\SCxi|^\star} & \normalstyle{\Omicron\omicron\SComicron} &{\small\verb|\SComicron|^\star} & \normalstyle{\Pi\pi\SCpi} &{\small\verb|\SCpi|} & \normalstyle{\Pi\varpi\SCvarpi} &{\small\verb|\SCvarpi|^\star} \\ \normalstyle{\Rho\rho\SCrho} &{\small\verb|\SCrho|} & \normalstyle{\Sigma\sigma\SCsigma} &{\small\verb|\SCsigma|^\star} & \normalstyle{\varSigma\varsigma\SCvarsigma} &{\small\verb|\SCvarsigma|^\star} & \normalstyle{\Tau\tau\SCtau} &{\small\verb|\SCtau|^\star} \\ \normalstyle{\Upsilon\upsilon\SCupsilon} &{\small\verb|\SCupsilon|^\star} & \normalstyle{\Phi\varphi\SCvarphi} &{\small\verb|\SCvarphi|^\star} & \normalstyle{\Phi\phi\SCphi} &{\small\verb|\SCphi|^\star} & \normalstyle{\Chi\chi\SCchi} &{\small\verb|\SCchi|^\star} \\ \normalstyle{\Psi\psi\SCpsi} &{\small\verb|\SCpsi|} & \normalstyle{\Omega\omega\SComega} &{\small\verb|\SComega|} & \end{array} \]
small capital Greek (bold)
\[ \begin{array}{llllllll} \boldweight{\Alpha\alpha\SCalpha} &{\small\verb|\SCalpha|^\star} & \boldweight{\Beta\beta\SCbeta} &{\small\verb|\SCbeta|^\star} & \boldweight{\Gamma\gamma\SCgamma} &{\small\verb|\SCgamma|} & \boldweight{\Delta\delta\SCdelta} &{\small\verb|\SCdelta|^\star} \\ \boldweight{\Epsilon\varepsilon\SCvarepsilon} &{\small\verb|\SCvarepsilon|^\star} & \boldweight{\Epsilon\epsilon\SCepsilon} &{\small\verb|\SCepsilon|^\star} & \boldweight{\Zeta\zeta\SCzeta} &{\small\verb|\SCzeta|^\star} & \boldweight{\Eta\eta\SCeta} &{\small\verb|\SCeta|^\star} \\ \boldweight{\Theta\theta\SCtheta} &{\small\verb|\SCtheta|^\star} & \boldweight{\Theta\vartheta\SCvartheta} &{\small\verb|\SCvartheta|^\star} & \boldweight{\Iota\iota\SCiota} &{\small\verb|\SCiota|^\star} & \boldweight{\Kappa\kappa\SCkappa} &{\small\verb|\SCkappa|^\star} \\ \boldweight{\Kappa\varkappa\SCvarkappa} &{\small\verb|\SCvarkappa|^\star} & \boldweight{\Lambda\lambda\SClambda} &{\small\verb|\SClambda|} & \boldweight{\Mu\mu\SCmu} &{\small\verb|\SCmu|^\star} & \boldweight{\Nu\nu\SCnu} &{\small\verb|\SCnu|^\star} \\ \boldweight{\Xi\xi\SCxi} &{\small\verb|\SCxi|^\star} & \boldweight{\Omicron\omicron\SComicron} &{\small\verb|\SComicron|^\star} & \boldweight{\Pi\pi\SCpi} &{\small\verb|\SCpi|} & \boldweight{\Pi\varpi\SCvarpi} &{\small\verb|\SCvarpi|^\star} \\ \boldweight{\Rho\rho\SCrho} &{\small\verb|\SCrho|} & \boldweight{\Sigma\sigma\SCsigma} &{\small\verb|\SCsigma|^\star} & \boldweight{\varSigma\varsigma\SCvarsigma} &{\small\verb|\SCvarsigma|^\star} & \boldweight{\Tau\tau\SCtau} &{\small\verb|\SCtau|^\star} \\ \boldweight{\Upsilon\upsilon\SCupsilon} &{\small\verb|\SCupsilon|^\star} & \boldweight{\Phi\varphi\SCvarphi} &{\small\verb|\SCvarphi|^\star} & \boldweight{\Phi\phi\SCphi} &{\small\verb|\SCphi|^\star} & \boldweight{\Chi\chi\SCchi} &{\small\verb|\SCchi|^\star} \\ \boldweight{\Psi\psi\SCpsi} &{\small\verb|\SCpsi|} & \boldweight{\Omega\omega\SComega} &{\small\verb|\SComega|} & \end{array} \]
small capital Greek (italic)
\[ \begin{array}{llllllll} \italicstyle{\Alpha\alpha\SCalpha} &{\small\verb|\SCalpha|^\star} & \italicstyle{\Beta\beta\SCbeta} &{\small\verb|\SCbeta|^\star} & \italicstyle{\Gamma\gamma\SCgamma} &{\small\verb|\SCgamma|} & \italicstyle{\Delta\delta\SCdelta} &{\small\verb|\SCdelta|^\star} \\ \italicstyle{\Epsilon\varepsilon\SCvarepsilon} &{\small\verb|\SCvarepsilon|^\star} & \italicstyle{\Epsilon\epsilon\SCepsilon} &{\small\verb|\SCepsilon|^\star} & \italicstyle{\Zeta\zeta\SCzeta} &{\small\verb|\SCzeta|^\star} & \italicstyle{\Eta\eta\SCeta} &{\small\verb|\SCeta|^\star} \\ \italicstyle{\Theta\theta\SCtheta} &{\small\verb|\SCtheta|^\star} & \italicstyle{\Theta\vartheta\SCvartheta} &{\small\verb|\SCvartheta|^\star} & \italicstyle{\Iota\iota\SCiota} &{\small\verb|\SCiota|^\star} & \italicstyle{\Kappa\kappa\SCkappa} &{\small\verb|\SCkappa|^\star} \\ \italicstyle{\Kappa\varkappa\SCvarkappa} &{\small\verb|\SCvarkappa|^\star} & \italicstyle{\Lambda\lambda\SClambda} &{\small\verb|\SClambda|} & \italicstyle{\Mu\mu\SCmu} &{\small\verb|\SCmu|^\star} & \italicstyle{\Nu\nu\SCnu} &{\small\verb|\SCnu|^\star} \\ \italicstyle{\Xi\xi\SCxi} &{\small\verb|\SCxi|^\star} & \italicstyle{\Omicron\omicron\SComicron} &{\small\verb|\SComicron|^\star} & \italicstyle{\Pi\pi\SCpi} &{\small\verb|\SCpi|} & \italicstyle{\Pi\varpi\SCvarpi} &{\small\verb|\SCvarpi|^\star} \\ \italicstyle{\Rho\rho\SCrho} &{\small\verb|\SCrho|} & \italicstyle{\Sigma\sigma\SCsigma} &{\small\verb|\SCsigma|^\star} & \italicstyle{\varSigma\varsigma\SCvarsigma} &{\small\verb|\SCvarsigma|^\star} & \italicstyle{\Tau\tau\SCtau} &{\small\verb|\SCtau|^\star} \\ \italicstyle{\Upsilon\upsilon\SCupsilon} &{\small\verb|\SCupsilon|^\star} & \italicstyle{\Phi\varphi\SCvarphi} &{\small\verb|\SCvarphi|^\star} & \italicstyle{\Phi\phi\SCphi} &{\small\verb|\SCphi|^\star} & \italicstyle{\Chi\chi\SCchi} &{\small\verb|\SCchi|^\star} \\ \italicstyle{\Psi\psi\SCpsi} &{\small\verb|\SCpsi|} & \italicstyle{\Omega\omega\SComega} &{\small\verb|\SComega|} & \end{array} \]
small capital Greek (bold italic)
\[ \begin{array}{llllllll} \boldweight{\italicstyle{\Alpha\alpha\SCalpha}} &{\small\verb|\SCalpha|^\star} & \boldweight{\italicstyle{\Beta\beta\SCbeta}} &{\small\verb|\SCbeta|^\star} & \boldweight{\italicstyle{\Gamma\gamma\SCgamma}} &{\small\verb|\SCgamma|} & \boldweight{\italicstyle{\Delta\delta\SCdelta}} &{\small\verb|\SCdelta|^\star} \\ \boldweight{\italicstyle{\Epsilon\varepsilon\SCvarepsilon}} &{\small\verb|\SCvarepsilon|^\star} & \boldweight{\italicstyle{\Epsilon\epsilon\SCepsilon}} &{\small\verb|\SCepsilon|^\star} & \boldweight{\italicstyle{\Zeta\zeta\SCzeta}} &{\small\verb|\SCzeta|^\star} & \boldweight{\italicstyle{\Eta\eta\SCeta}} &{\small\verb|\SCeta|^\star} \\ \boldweight{\italicstyle{\Theta\theta\SCtheta}} &{\small\verb|\SCtheta|^\star} & \boldweight{\italicstyle{\Theta\vartheta\SCvartheta}} &{\small\verb|\SCvartheta|^\star} & \boldweight{\italicstyle{\Iota\iota\SCiota}} &{\small\verb|\SCiota|^\star} & \boldweight{\italicstyle{\Kappa\kappa\SCkappa}} &{\small\verb|\SCkappa|^\star} \\ \boldweight{\italicstyle{\Kappa\varkappa\SCvarkappa}} &{\small\verb|\SCvarkappa|^\star} & \boldweight{\italicstyle{\Lambda\lambda\SClambda}} &{\small\verb|\SClambda|} & \boldweight{\italicstyle{\Mu\mu\SCmu}} &{\small\verb|\SCmu|^\star} & \boldweight{\italicstyle{\Nu\nu\SCnu}} &{\small\verb|\SCnu|^\star} \\ \boldweight{\italicstyle{\Xi\xi\SCxi}} &{\small\verb|\SCxi|^\star} & \boldweight{\italicstyle{\Omicron\omicron\SComicron}} &{\small\verb|\SComicron|^\star} & \boldweight{\italicstyle{\Pi\pi\SCpi}} &{\small\verb|\SCpi|} & \boldweight{\italicstyle{\Pi\varpi\SCvarpi}} &{\small\verb|\SCvarpi|^\star} \\ \boldweight{\italicstyle{\Rho\rho\SCrho}} &{\small\verb|\SCrho|} & \boldweight{\italicstyle{\Sigma\sigma\SCsigma}} &{\small\verb|\SCsigma|^\star} & \boldweight{\italicstyle{\varSigma\varsigma\SCvarsigma}} &{\small\verb|\SCvarsigma|^\star} & \boldweight{\italicstyle{\Tau\tau\SCtau}} &{\small\verb|\SCtau|^\star} \\ \boldweight{\italicstyle{\Upsilon\upsilon\SCupsilon}} &{\small\verb|\SCupsilon|^\star} & \boldweight{\italicstyle{\Phi\varphi\SCvarphi}} &{\small\verb|\SCvarphi|^\star} & \boldweight{\italicstyle{\Phi\phi\SCphi}} &{\small\verb|\SCphi|^\star} & \boldweight{\italicstyle{\Chi\chi\SCchi}} &{\small\verb|\SCchi|^\star} \\ \boldweight{\italicstyle{\Psi\psi\SCpsi}} &{\small\verb|\SCpsi|} & \boldweight{\italicstyle{\Omega\omega\SComega}} &{\small\verb|\SComega|} & \end{array} \]

MathJax v2, KaTeX では目論見通り上手くスモールキャピタルのグリフを OpenType フォントから得ることができて、全く問題はない。

問題が露呈したのは MathJax であった。以下の追加のスタイルを必要とする。さもなくば、このグリフ \(\SCvarkappa\) を得ることは問題ないのだが、ここで唯一 \(\varkappa\) だけ置き換えられたフォントでは表示されないのだ。

.TEX-A		{ font-family: MJXTEX-A !important; } /* AMSFonts */

問題が露呈した原因は、MathJax はグリフ \(\varkappa\), \varkappa を Unicode の私用領域 U+E009 に割り当てているのである。こうなると、素直にこの私用領域を使ったフォントファミリ MJXTEX-A を使う他ない。よって、上記のスタイルが追加で必要になる。

以上、なかなか重箱の隅を突いて初めて遭遇した MathJax の仕組みであったが、MathJax v2, KaTeX では目論見通りに動いてくれたので色々と可能性を感じさせる試みであった。何かの応用の参考になれば幸甚である。余談ではあるが、MathJax は要求されるレベルが高くて HTML+CSS 側の設計のバランスがあまりよくない一方、KaTeX は程々の品質で HTML+CSS とのバランスが上手く取れており故に高速なレンダリングが実現できているのだと感じた次第である。

四元数版オイラーの公式

本節で例に使用したオイラーの公式を、試験がてら明確に定義しておこう。試験に指定しているフォントはシステムにインストールされていることを前提としており、対応しているシステムで閲覧するか、指定されているフォントをインストールする必要があることに注意。

MathJax, KaTeX フォントファミリ

MathJax, MathJax v2, KaTeX 標準の数式フォントでの試験。

\[ e^{\boldsymbol{\iota}\vartheta} = \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \qquad\style{ font-weight: bold; color: darkslateblue; background: aliceblue; border: powderblue solid 5px; }{\small\fbox{四元数版オイラーの公式}} \]

ここで \(\boldsymbol{\iota}\), \(\vartheta\) を次のように定義する。四元数 \(\italicstyle{q} = \italicstyle{a} + \boldweight{\italicstyle{v}} = \italicstyle{a} + \italicstyle{b}\italicstyle{i} + \italicstyle{c}\italicstyle{j} + \italicstyle{d}\italicstyle{k}\) の実部 \(\italicstyle{a} = 0\) として、四元数の冪の定義から以下を得る。

\[ \begin{split} e^{\italicstyle{q}} &= \sum_{n=0}^\infty\frac{\italicstyle{q}^n}{n!} \\ &= e^{\italicstyle{a}}\left(\cos\abs{\italicstyle{q} - \italicstyle{a}} + \frac{\italicstyle{q} - \italicstyle{a}}{\abs{\italicstyle{q} - \italicstyle{a}}}\sin\abs{\italicstyle{q} - \italicstyle{a}}\right) \\ &= \cos\abs{\boldweight{\italicstyle{v}}} + \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}}\sin\abs{\boldweight{\italicstyle{v}}} \\ e^{\boldsymbol{\iota}\vartheta} &= \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \\ &\text{where}\qquad \italicstyle{q} = \boldsymbol{\iota}\vartheta,\quad \boldsymbol{\iota} = \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}},\quad \vartheta = \abs{\boldweight{\italicstyle{v}}}. \end{split} \]

Latin Modern フォントファミリ

Knuth の Computer Modern 由来の Latin Modern フォントでの試験。

\[ e^{\boldsymbol{\iota}\vartheta} = \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \qquad\style{ font-weight: bold; color: darkslateblue; background: aliceblue; border: powderblue solid 5px; }{\small\fbox{四元数版オイラーの公式}} \]

ここで \(\boldsymbol{\iota}\), \(\vartheta\) を次のように定義する。四元数 \(\italicstyle{q} = \italicstyle{a} + \boldweight{\italicstyle{v}} = \italicstyle{a} + \italicstyle{b}\italicstyle{i} + \italicstyle{c}\italicstyle{j} + \italicstyle{d}\italicstyle{k}\) の実部 \(\italicstyle{a} = 0\) として、四元数の冪の定義から以下を得る。

\[ \begin{split} e^{\italicstyle{q}} &= \sum_{n=0}^\infty\frac{\italicstyle{q}^n}{n!} \\ &= e^{\italicstyle{a}}\left(\cos\abs{\italicstyle{q} - \italicstyle{a}} + \frac{\italicstyle{q} - \italicstyle{a}}{\abs{\italicstyle{q} - \italicstyle{a}}}\sin\abs{\italicstyle{q} - \italicstyle{a}}\right) \\ &= \cos\abs{\boldweight{\italicstyle{v}}} + \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}}\sin\abs{\boldweight{\italicstyle{v}}} \\ e^{\boldsymbol{\iota}\vartheta} &= \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \\ &\text{where}\qquad \italicstyle{q} = \boldsymbol{\iota}\vartheta,\quad \boldsymbol{\iota} = \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}},\quad \vartheta = \abs{\boldweight{\italicstyle{v}}}. \end{split} \]

Cambria フォントファミリ

Windows や Microsoft アプリケーションに同梱されている Cambria フォントでの試験。

\[ e^{\boldsymbol{\iota}\vartheta} = \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \qquad\style{ font-weight: bold; color: darkslateblue; background: aliceblue; border: powderblue solid 5px; }{\small\fbox{四元数版オイラーの公式}} \]

ここで \(\boldsymbol{\iota}\), \(\vartheta\) を次のように定義する。四元数 \(\italicstyle{q} = \italicstyle{a} + \boldweight{\italicstyle{v}} = \italicstyle{a} + \italicstyle{b}\italicstyle{i} + \italicstyle{c}\italicstyle{j} + \italicstyle{d}\italicstyle{k}\) の実部 \(\italicstyle{a} = 0\) として、四元数の冪の定義から以下を得る。

\[ \begin{split} e^{\italicstyle{q}} &= \sum_{n=0}^\infty\frac{\italicstyle{q}^n}{n!} \\ &= e^{\italicstyle{a}}\left(\cos\abs{\italicstyle{q} - \italicstyle{a}} + \frac{\italicstyle{q} - \italicstyle{a}}{\abs{\italicstyle{q} - \italicstyle{a}}}\sin\abs{\italicstyle{q} - \italicstyle{a}}\right) \\ &= \cos\abs{\boldweight{\italicstyle{v}}} + \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}}\sin\abs{\boldweight{\italicstyle{v}}} \\ e^{\boldsymbol{\iota}\vartheta} &= \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \\ &\text{where}\qquad \italicstyle{q} = \boldsymbol{\iota}\vartheta,\quad \boldsymbol{\iota} = \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}},\quad \vartheta = \abs{\boldweight{\italicstyle{v}}}. \end{split} \]

Caladea フォントファミリ

Cambria フォント互換とされる Google による Caladea フォントでの試験。

\[ e^{\boldsymbol{\iota}\vartheta} = \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \qquad\style{ font-weight: bold; color: darkslateblue; background: aliceblue; border: powderblue solid 5px; }{\small\fbox{四元数版オイラーの公式}} \]

ここで \(\boldsymbol{\iota}\), \(\vartheta\) を次のように定義する。四元数 \(\italicstyle{q} = \italicstyle{a} + \boldweight{\italicstyle{v}} = \italicstyle{a} + \italicstyle{b}\italicstyle{i} + \italicstyle{c}\italicstyle{j} + \italicstyle{d}\italicstyle{k}\) の実部 \(\italicstyle{a} = 0\) として、四元数の冪の定義から以下を得る。

\[ \begin{split} e^{\italicstyle{q}} &= \sum_{n=0}^\infty\frac{\italicstyle{q}^n}{n!} \\ &= e^{\italicstyle{a}}\left(\cos\abs{\italicstyle{q} - \italicstyle{a}} + \frac{\italicstyle{q} - \italicstyle{a}}{\abs{\italicstyle{q} - \italicstyle{a}}}\sin\abs{\italicstyle{q} - \italicstyle{a}}\right) \\ &= \cos\abs{\boldweight{\italicstyle{v}}} + \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}}\sin\abs{\boldweight{\italicstyle{v}}} \\ e^{\boldsymbol{\iota}\vartheta} &= \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \\ &\text{where}\qquad \italicstyle{q} = \boldsymbol{\iota}\vartheta,\quad \boldsymbol{\iota} = \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}},\quad \vartheta = \abs{\boldweight{\italicstyle{v}}}. \end{split} \]

STIX フォントファミリ

TeX Live や macOS 搭載の STIX フォントでの試験。

\[ e^{\boldsymbol{\iota}\vartheta} = \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \qquad\style{ font-weight: bold; color: darkslateblue; background: aliceblue; border: powderblue solid 5px; }{\small\fbox{四元数版オイラーの公式}} \]

ここで \(\boldsymbol{\iota}\), \(\vartheta\) を次のように定義する。四元数 \(\italicstyle{q} = \italicstyle{a} + \boldweight{\italicstyle{v}} = \italicstyle{a} + \italicstyle{b}\italicstyle{i} + \italicstyle{c}\italicstyle{j} + \italicstyle{d}\italicstyle{k}\) の実部 \(\italicstyle{a} = 0\) として、四元数の冪の定義から以下を得る。

\[ \begin{split} e^{\italicstyle{q}} &= \sum_{n=0}^\infty\frac{\italicstyle{q}^n}{n!} \\ &= e^{\italicstyle{a}}\left(\cos\abs{\italicstyle{q} - \italicstyle{a}} + \frac{\italicstyle{q} - \italicstyle{a}}{\abs{\italicstyle{q} - \italicstyle{a}}}\sin\abs{\italicstyle{q} - \italicstyle{a}}\right) \\ &= \cos\abs{\boldweight{\italicstyle{v}}} + \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}}\sin\abs{\boldweight{\italicstyle{v}}} \\ e^{\boldsymbol{\iota}\vartheta} &= \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \\ &\text{where}\qquad \italicstyle{q} = \boldsymbol{\iota}\vartheta,\quad \boldsymbol{\iota} = \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}},\quad \vartheta = \abs{\boldweight{\italicstyle{v}}}. \end{split} \]

STIX 2 フォントファミリ

TeX Live や macOS 搭載の STIX 2 フォントでの試験。

\[ e^{\boldsymbol{\iota}\vartheta} = \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \qquad\style{ font-weight: bold; color: darkslateblue; background: aliceblue; border: powderblue solid 5px; }{\small\fbox{四元数版オイラーの公式}} \]

ここで \(\boldsymbol{\iota}\), \(\vartheta\) を次のように定義する。四元数 \(\italicstyle{q} = \italicstyle{a} + \boldweight{\italicstyle{v}} = \italicstyle{a} + \italicstyle{b}\italicstyle{i} + \italicstyle{c}\italicstyle{j} + \italicstyle{d}\italicstyle{k}\) の実部 \(\italicstyle{a} = 0\) として、四元数の冪の定義から以下を得る。

\[ \begin{split} e^{\italicstyle{q}} &= \sum_{n=0}^\infty\frac{\italicstyle{q}^n}{n!} \\ &= e^{\italicstyle{a}}\left(\cos\abs{\italicstyle{q} - \italicstyle{a}} + \frac{\italicstyle{q} - \italicstyle{a}}{\abs{\italicstyle{q} - \italicstyle{a}}}\sin\abs{\italicstyle{q} - \italicstyle{a}}\right) \\ &= \cos\abs{\boldweight{\italicstyle{v}}} + \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}}\sin\abs{\boldweight{\italicstyle{v}}} \\ e^{\boldsymbol{\iota}\vartheta} &= \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \\ &\text{where}\qquad \italicstyle{q} = \boldsymbol{\iota}\vartheta,\quad \boldsymbol{\iota} = \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}},\quad \vartheta = \abs{\boldweight{\italicstyle{v}}}. \end{split} \]

XITS フォントファミリ

TeX Live 搭載の XITS フォントでの試験。

\[ e^{\boldsymbol{\iota}\vartheta} = \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \qquad\style{ font-weight: bold; color: darkslateblue; background: aliceblue; border: powderblue solid 5px; }{\small\fbox{四元数版オイラーの公式}} \]

ここで \(\boldsymbol{\iota}\), \(\vartheta\) を次のように定義する。四元数 \(\italicstyle{q} = \italicstyle{a} + \boldweight{\italicstyle{v}} = \italicstyle{a} + \italicstyle{b}\italicstyle{i} + \italicstyle{c}\italicstyle{j} + \italicstyle{d}\italicstyle{k}\) の実部 \(\italicstyle{a} = 0\) として、四元数の冪の定義から以下を得る。

\[ \begin{split} e^{\italicstyle{q}} &= \sum_{n=0}^\infty\frac{\italicstyle{q}^n}{n!} \\ &= e^{\italicstyle{a}}\left(\cos\abs{\italicstyle{q} - \italicstyle{a}} + \frac{\italicstyle{q} - \italicstyle{a}}{\abs{\italicstyle{q} - \italicstyle{a}}}\sin\abs{\italicstyle{q} - \italicstyle{a}}\right) \\ &= \cos\abs{\boldweight{\italicstyle{v}}} + \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}}\sin\abs{\boldweight{\italicstyle{v}}} \\ e^{\boldsymbol{\iota}\vartheta} &= \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \\ &\text{where}\qquad \italicstyle{q} = \boldsymbol{\iota}\vartheta,\quad \boldsymbol{\iota} = \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}},\quad \vartheta = \abs{\boldweight{\italicstyle{v}}}. \end{split} \]

Bonum (TeX Gyre) フォントファミリ

TeX Live 搭載の Gyre Bonum フォント(Bookman 代替)での試験。

\[ e^{\boldsymbol{\iota}\vartheta} = \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \qquad\style{ font-weight: bold; color: darkslateblue; background: aliceblue; border: powderblue solid 5px; }{\small\fbox{四元数版オイラーの公式}} \]

ここで \(\boldsymbol{\iota}\), \(\vartheta\) を次のように定義する。四元数 \(\italicstyle{q} = \italicstyle{a} + \boldweight{\italicstyle{v}} = \italicstyle{a} + \italicstyle{b}\italicstyle{i} + \italicstyle{c}\italicstyle{j} + \italicstyle{d}\italicstyle{k}\) の実部 \(\italicstyle{a} = 0\) として、四元数の冪の定義から以下を得る。

\[ \begin{split} e^{\italicstyle{q}} &= \sum_{n=0}^\infty\frac{\italicstyle{q}^n}{n!} \\ &= e^{\italicstyle{a}}\left(\cos\abs{\italicstyle{q} - \italicstyle{a}} + \frac{\italicstyle{q} - \italicstyle{a}}{\abs{\italicstyle{q} - \italicstyle{a}}}\sin\abs{\italicstyle{q} - \italicstyle{a}}\right) \\ &= \cos\abs{\boldweight{\italicstyle{v}}} + \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}}\sin\abs{\boldweight{\italicstyle{v}}} \\ e^{\boldsymbol{\iota}\vartheta} &= \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \\ &\text{where}\qquad \italicstyle{q} = \boldsymbol{\iota}\vartheta,\quad \boldsymbol{\iota} = \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}},\quad \vartheta = \abs{\boldweight{\italicstyle{v}}}. \end{split} \]

Pagella (TeX Gyre) フォントファミリ

TeX Live 搭載の Gyre Pagella フォント(Palatino 代替)での試験。

\[ e^{\boldsymbol{\iota}\vartheta} = \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \qquad\style{ font-weight: bold; color: darkslateblue; background: aliceblue; border: powderblue solid 5px; }{\small\fbox{四元数版オイラーの公式}} \]

ここで \(\boldsymbol{\iota}\), \(\vartheta\) を次のように定義する。四元数 \(\italicstyle{q} = \italicstyle{a} + \boldweight{\italicstyle{v}} = \italicstyle{a} + \italicstyle{b}\italicstyle{i} + \italicstyle{c}\italicstyle{j} + \italicstyle{d}\italicstyle{k}\) の実部 \(\italicstyle{a} = 0\) として、四元数の冪の定義から以下を得る。

\[ \begin{split} e^{\italicstyle{q}} &= \sum_{n=0}^\infty\frac{\italicstyle{q}^n}{n!} \\ &= e^{\italicstyle{a}}\left(\cos\abs{\italicstyle{q} - \italicstyle{a}} + \frac{\italicstyle{q} - \italicstyle{a}}{\abs{\italicstyle{q} - \italicstyle{a}}}\sin\abs{\italicstyle{q} - \italicstyle{a}}\right) \\ &= \cos\abs{\boldweight{\italicstyle{v}}} + \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}}\sin\abs{\boldweight{\italicstyle{v}}} \\ e^{\boldsymbol{\iota}\vartheta} &= \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \\ &\text{where}\qquad \italicstyle{q} = \boldsymbol{\iota}\vartheta,\quad \boldsymbol{\iota} = \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}},\quad \vartheta = \abs{\boldweight{\italicstyle{v}}}. \end{split} \]

Termes (TeX Gyre) フォントファミリ

TeX Live 搭載の Gyre Termes フォント(Times 代替)での試験。

\[ e^{\boldsymbol{\iota}\vartheta} = \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \qquad\style{ font-weight: bold; color: darkslateblue; background: aliceblue; border: powderblue solid 5px; }{\small\fbox{四元数版オイラーの公式}} \]

ここで \(\boldsymbol{\iota}\), \(\vartheta\) を次のように定義する。四元数 \(\italicstyle{q} = \italicstyle{a} + \boldweight{\italicstyle{v}} = \italicstyle{a} + \italicstyle{b}\italicstyle{i} + \italicstyle{c}\italicstyle{j} + \italicstyle{d}\italicstyle{k}\) の実部 \(\italicstyle{a} = 0\) として、四元数の冪の定義から以下を得る。

\[ \begin{split} e^{\italicstyle{q}} &= \sum_{n=0}^\infty\frac{\italicstyle{q}^n}{n!} \\ &= e^{\italicstyle{a}}\left(\cos\abs{\italicstyle{q} - \italicstyle{a}} + \frac{\italicstyle{q} - \italicstyle{a}}{\abs{\italicstyle{q} - \italicstyle{a}}}\sin\abs{\italicstyle{q} - \italicstyle{a}}\right) \\ &= \cos\abs{\boldweight{\italicstyle{v}}} + \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}}\sin\abs{\boldweight{\italicstyle{v}}} \\ e^{\boldsymbol{\iota}\vartheta} &= \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \\ &\text{where}\qquad \italicstyle{q} = \boldsymbol{\iota}\vartheta,\quad \boldsymbol{\iota} = \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}},\quad \vartheta = \abs{\boldweight{\italicstyle{v}}}. \end{split} \]

Schola (TeX Gyre) フォントファミリ

TeX Live 搭載の Gyre Schola フォント(Century Schoolbook 代替)での試験。

\[ e^{\boldsymbol{\iota}\vartheta} = \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \qquad\style{ font-weight: bold; color: darkslateblue; background: aliceblue; border: powderblue solid 5px; }{\small\fbox{四元数版オイラーの公式}} \]

ここで \(\boldsymbol{\iota}\), \(\vartheta\) を次のように定義する。四元数 \(\italicstyle{q} = \italicstyle{a} + \boldweight{\italicstyle{v}} = \italicstyle{a} + \italicstyle{b}\italicstyle{i} + \italicstyle{c}\italicstyle{j} + \italicstyle{d}\italicstyle{k}\) の実部 \(\italicstyle{a} = 0\) として、四元数の冪の定義から以下を得る。

\[ \begin{split} e^{\italicstyle{q}} &= \sum_{n=0}^\infty\frac{\italicstyle{q}^n}{n!} \\ &= e^{\italicstyle{a}}\left(\cos\abs{\italicstyle{q} - \italicstyle{a}} + \frac{\italicstyle{q} - \italicstyle{a}}{\abs{\italicstyle{q} - \italicstyle{a}}}\sin\abs{\italicstyle{q} - \italicstyle{a}}\right) \\ &= \cos\abs{\boldweight{\italicstyle{v}}} + \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}}\sin\abs{\boldweight{\italicstyle{v}}} \\ e^{\boldsymbol{\iota}\vartheta} &= \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \\ &\text{where}\qquad \italicstyle{q} = \boldsymbol{\iota}\vartheta,\quad \boldsymbol{\iota} = \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}},\quad \vartheta = \abs{\boldweight{\italicstyle{v}}}. \end{split} \]

Asana Math フォントファミリ

TeX Live 搭載の Asana Math フォントでの試験。

\[ e^{\boldsymbol{\iota}\vartheta} = \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \qquad\style{ font-weight: bold; color: darkslateblue; background: aliceblue; border: powderblue solid 5px; }{\small\fbox{四元数版オイラーの公式}} \]

ここで \(\boldsymbol{\iota}\), \(\vartheta\) を次のように定義する。四元数 \(\italicstyle{q} = \italicstyle{a} + \boldweight{\italicstyle{v}} = \italicstyle{a} + \italicstyle{b}\italicstyle{i} + \italicstyle{c}\italicstyle{j} + \italicstyle{d}\italicstyle{k}\) の実部 \(\italicstyle{a} = 0\) として、四元数の冪の定義から以下を得る。

\[ \begin{split} e^{\italicstyle{q}} &= \sum_{n=0}^\infty\frac{\italicstyle{q}^n}{n!} \\ &= e^{\italicstyle{a}}\left(\cos\abs{\italicstyle{q} - \italicstyle{a}} + \frac{\italicstyle{q} - \italicstyle{a}}{\abs{\italicstyle{q} - \italicstyle{a}}}\sin\abs{\italicstyle{q} - \italicstyle{a}}\right) \\ &= \cos\abs{\boldweight{\italicstyle{v}}} + \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}}\sin\abs{\boldweight{\italicstyle{v}}} \\ e^{\boldsymbol{\iota}\vartheta} &= \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \\ &\text{where}\qquad \italicstyle{q} = \boldsymbol{\iota}\vartheta,\quad \boldsymbol{\iota} = \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}},\quad \vartheta = \abs{\boldweight{\italicstyle{v}}}. \end{split} \]

Libertinus フォントファミリ

TeX Live 搭載の Libertinus フォントでの試験。

\[ e^{\boldsymbol{\iota}\vartheta} = \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \qquad\style{ font-weight: bold; color: darkslateblue; background: aliceblue; border: powderblue solid 5px; }{\small\fbox{四元数版オイラーの公式}} \]

ここで \(\boldsymbol{\iota}\), \(\vartheta\) を次のように定義する。四元数 \(\italicstyle{q} = \italicstyle{a} + \boldweight{\italicstyle{v}} = \italicstyle{a} + \italicstyle{b}\italicstyle{i} + \italicstyle{c}\italicstyle{j} + \italicstyle{d}\italicstyle{k}\) の実部 \(\italicstyle{a} = 0\) として、四元数の冪の定義から以下を得る。

\[ \begin{split} e^{\italicstyle{q}} &= \sum_{n=0}^\infty\frac{\italicstyle{q}^n}{n!} \\ &= e^{\italicstyle{a}}\left(\cos\abs{\italicstyle{q} - \italicstyle{a}} + \frac{\italicstyle{q} - \italicstyle{a}}{\abs{\italicstyle{q} - \italicstyle{a}}}\sin\abs{\italicstyle{q} - \italicstyle{a}}\right) \\ &= \cos\abs{\boldweight{\italicstyle{v}}} + \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}}\sin\abs{\boldweight{\italicstyle{v}}} \\ e^{\boldsymbol{\iota}\vartheta} &= \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \\ &\text{where}\qquad \italicstyle{q} = \boldsymbol{\iota}\vartheta,\quad \boldsymbol{\iota} = \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}},\quad \vartheta = \abs{\boldweight{\italicstyle{v}}}. \end{split} \]

DejaVu フォントファミリ

TeX Live 搭載の DejaVu フォントでの試験。

\[ e^{\boldsymbol{\iota}\vartheta} = \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \qquad\style{ font-weight: bold; color: darkslateblue; background: aliceblue; border: powderblue solid 5px; }{\small\fbox{四元数版オイラーの公式}} \]

ここで \(\boldsymbol{\iota}\), \(\vartheta\) を次のように定義する。四元数 \(\italicstyle{q} = \italicstyle{a} + \boldweight{\italicstyle{v}} = \italicstyle{a} + \italicstyle{b}\italicstyle{i} + \italicstyle{c}\italicstyle{j} + \italicstyle{d}\italicstyle{k}\) の実部 \(\italicstyle{a} = 0\) として、四元数の冪の定義から以下を得る。

\[ \begin{split} e^{\italicstyle{q}} &= \sum_{n=0}^\infty\frac{\italicstyle{q}^n}{n!} \\ &= e^{\italicstyle{a}}\left(\cos\abs{\italicstyle{q} - \italicstyle{a}} + \frac{\italicstyle{q} - \italicstyle{a}}{\abs{\italicstyle{q} - \italicstyle{a}}}\sin\abs{\italicstyle{q} - \italicstyle{a}}\right) \\ &= \cos\abs{\boldweight{\italicstyle{v}}} + \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}}\sin\abs{\boldweight{\italicstyle{v}}} \\ e^{\boldsymbol{\iota}\vartheta} &= \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \\ &\text{where}\qquad \italicstyle{q} = \boldsymbol{\iota}\vartheta,\quad \boldsymbol{\iota} = \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}},\quad \vartheta = \abs{\boldweight{\italicstyle{v}}}. \end{split} \]

Segoe UI Symbol フォントファミリ

Windows や Microsoft アプリケーションに同梱されている Segoe UI Symbol フォントでの試験。

\[ e^{\boldsymbol{\iota}\vartheta} = \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \qquad\style{ font-weight: bold; color: darkslateblue; background: aliceblue; border: powderblue solid 5px; }{\small\fbox{四元数版オイラーの公式}} \]

ここで \(\boldsymbol{\iota}\), \(\vartheta\) を次のように定義する。四元数 \(\italicstyle{q} = \italicstyle{a} + \boldweight{\italicstyle{v}} = \italicstyle{a} + \italicstyle{b}\italicstyle{i} + \italicstyle{c}\italicstyle{j} + \italicstyle{d}\italicstyle{k}\) の実部 \(\italicstyle{a} = 0\) として、四元数の冪の定義から以下を得る。

\[ \begin{split} e^{\italicstyle{q}} &= \sum_{n=0}^\infty\frac{\italicstyle{q}^n}{n!} \\ &= e^{\italicstyle{a}}\left(\cos\abs{\italicstyle{q} - \italicstyle{a}} + \frac{\italicstyle{q} - \italicstyle{a}}{\abs{\italicstyle{q} - \italicstyle{a}}}\sin\abs{\italicstyle{q} - \italicstyle{a}}\right) \\ &= \cos\abs{\boldweight{\italicstyle{v}}} + \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}}\sin\abs{\boldweight{\italicstyle{v}}} \\ e^{\boldsymbol{\iota}\vartheta} &= \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \\ &\text{where}\qquad \italicstyle{q} = \boldsymbol{\iota}\vartheta,\quad \boldsymbol{\iota} = \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}},\quad \vartheta = \abs{\boldweight{\italicstyle{v}}}. \end{split} \]

Apple Symbols フォントファミリ

macOS 同梱の Apple Symbols フォントでの試験。

\[ e^{\boldsymbol{\iota}\vartheta} = \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \qquad\style{ font-weight: bold; color: darkslateblue; background: aliceblue; border: powderblue solid 5px; }{\small\fbox{四元数版オイラーの公式}} \]

ここで \(\boldsymbol{\iota}\), \(\vartheta\) を次のように定義する。四元数 \(\italicstyle{q} = \italicstyle{a} + \boldweight{\italicstyle{v}} = \italicstyle{a} + \italicstyle{b}\italicstyle{i} + \italicstyle{c}\italicstyle{j} + \italicstyle{d}\italicstyle{k}\) の実部 \(\italicstyle{a} = 0\) として、四元数の冪の定義から以下を得る。

\[ \begin{split} e^{\italicstyle{q}} &= \sum_{n=0}^\infty\frac{\italicstyle{q}^n}{n!} \\ &= e^{\italicstyle{a}}\left(\cos\abs{\italicstyle{q} - \italicstyle{a}} + \frac{\italicstyle{q} - \italicstyle{a}}{\abs{\italicstyle{q} - \italicstyle{a}}}\sin\abs{\italicstyle{q} - \italicstyle{a}}\right) \\ &= \cos\abs{\boldweight{\italicstyle{v}}} + \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}}\sin\abs{\boldweight{\italicstyle{v}}} \\ e^{\boldsymbol{\iota}\vartheta} &= \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \\ &\text{where}\qquad \italicstyle{q} = \boldsymbol{\iota}\vartheta,\quad \boldsymbol{\iota} = \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}},\quad \vartheta = \abs{\boldweight{\italicstyle{v}}}. \end{split} \]

Code 2000 フォントファミリ

オープンソースの Code 2000 フォントでの試験。

\[ e^{\boldsymbol{\iota}\vartheta} = \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \qquad\style{ font-weight: bold; color: darkslateblue; background: aliceblue; border: powderblue solid 5px; }{\small\fbox{四元数版オイラーの公式}} \]

ここで \(\boldsymbol{\iota}\), \(\vartheta\) を次のように定義する。四元数 \(\italicstyle{q} = \italicstyle{a} + \boldweight{\italicstyle{v}} = \italicstyle{a} + \italicstyle{b}\italicstyle{i} + \italicstyle{c}\italicstyle{j} + \italicstyle{d}\italicstyle{k}\) の実部 \(\italicstyle{a} = 0\) として、四元数の冪の定義から以下を得る。

\[ \begin{split} e^{\italicstyle{q}} &= \sum_{n=0}^\infty\frac{\italicstyle{q}^n}{n!} \\ &= e^{\italicstyle{a}}\left(\cos\abs{\italicstyle{q} - \italicstyle{a}} + \frac{\italicstyle{q} - \italicstyle{a}}{\abs{\italicstyle{q} - \italicstyle{a}}}\sin\abs{\italicstyle{q} - \italicstyle{a}}\right) \\ &= \cos\abs{\boldweight{\italicstyle{v}}} + \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}}\sin\abs{\boldweight{\italicstyle{v}}} \\ e^{\boldsymbol{\iota}\vartheta} &= \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \\ &\text{where}\qquad \italicstyle{q} = \boldsymbol{\iota}\vartheta,\quad \boldsymbol{\iota} = \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}},\quad \vartheta = \abs{\boldweight{\italicstyle{v}}}. \end{split} \]

Unifont Math フォントファミリ

GNU プロジェクトの Unifont フォントでの試験。

\[ e^{\boldsymbol{\iota}\vartheta} = \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \qquad\style{ font-weight: bold; color: darkslateblue; background: aliceblue; border: powderblue solid 5px; }{\small\fbox{四元数版オイラーの公式}} \]

ここで \(\boldsymbol{\iota}\), \(\vartheta\) を次のように定義する。四元数 \(\italicstyle{q} = \italicstyle{a} + \boldweight{\italicstyle{v}} = \italicstyle{a} + \italicstyle{b}\italicstyle{i} + \italicstyle{c}\italicstyle{j} + \italicstyle{d}\italicstyle{k}\) の実部 \(\italicstyle{a} = 0\) として、四元数の冪の定義から以下を得る。

\[ \begin{split} e^{\italicstyle{q}} &= \sum_{n=0}^\infty\frac{\italicstyle{q}^n}{n!} \\ &= e^{\italicstyle{a}}\left(\cos\abs{\italicstyle{q} - \italicstyle{a}} + \frac{\italicstyle{q} - \italicstyle{a}}{\abs{\italicstyle{q} - \italicstyle{a}}}\sin\abs{\italicstyle{q} - \italicstyle{a}}\right) \\ &= \cos\abs{\boldweight{\italicstyle{v}}} + \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}}\sin\abs{\boldweight{\italicstyle{v}}} \\ e^{\boldsymbol{\iota}\vartheta} &= \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \\ &\text{where}\qquad \italicstyle{q} = \boldsymbol{\iota}\vartheta,\quad \boldsymbol{\iota} = \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}},\quad \vartheta = \abs{\boldweight{\italicstyle{v}}}. \end{split} \]

KaTeX フォントファミリ

MathJax で KaTeX フォントでの試験。

\[ e^{\boldsymbol{\iota}\vartheta} = \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \qquad\style{ font-weight: bold; color: darkslateblue; background: aliceblue; border: powderblue solid 5px; }{\small\fbox{四元数版オイラーの公式}} \]

ここで \(\boldsymbol{\iota}\), \(\vartheta\) を次のように定義する。四元数 \(\italicstyle{q} = \italicstyle{a} + \boldweight{\italicstyle{v}} = \italicstyle{a} + \italicstyle{b}\italicstyle{i} + \italicstyle{c}\italicstyle{j} + \italicstyle{d}\italicstyle{k}\) の実部 \(\italicstyle{a} = 0\) として、四元数の冪の定義から以下を得る。

\[ \begin{split} e^{\italicstyle{q}} &= \sum_{n=0}^\infty\frac{\italicstyle{q}^n}{n!} \\ &= e^{\italicstyle{a}}\left(\cos\abs{\italicstyle{q} - \italicstyle{a}} + \frac{\italicstyle{q} - \italicstyle{a}}{\abs{\italicstyle{q} - \italicstyle{a}}}\sin\abs{\italicstyle{q} - \italicstyle{a}}\right) \\ &= \cos\abs{\boldweight{\italicstyle{v}}} + \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}}\sin\abs{\boldweight{\italicstyle{v}}} \\ e^{\boldsymbol{\iota}\vartheta} &= \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \\ &\text{where}\qquad \italicstyle{q} = \boldsymbol{\iota}\vartheta,\quad \boldsymbol{\iota} = \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}},\quad \vartheta = \abs{\boldweight{\italicstyle{v}}}. \end{split} \]

MathJax フォントファミリ

KaTeX で MathJax フォントでの試験。

\[ e^{\boldsymbol{\iota}\vartheta} = \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \qquad\style{ font-weight: bold; color: darkslateblue; background: aliceblue; border: powderblue solid 5px; }{\small\fbox{四元数版オイラーの公式}} \]

ここで \(\boldsymbol{\iota}\), \(\vartheta\) を次のように定義する。四元数 \(\italicstyle{q} = \italicstyle{a} + \boldweight{\italicstyle{v}} = \italicstyle{a} + \italicstyle{b}\italicstyle{i} + \italicstyle{c}\italicstyle{j} + \italicstyle{d}\italicstyle{k}\) の実部 \(\italicstyle{a} = 0\) として、四元数の冪の定義から以下を得る。

\[ \begin{split} e^{\italicstyle{q}} &= \sum_{n=0}^\infty\frac{\italicstyle{q}^n}{n!} \\ &= e^{\italicstyle{a}}\left(\cos\abs{\italicstyle{q} - \italicstyle{a}} + \frac{\italicstyle{q} - \italicstyle{a}}{\abs{\italicstyle{q} - \italicstyle{a}}}\sin\abs{\italicstyle{q} - \italicstyle{a}}\right) \\ &= \cos\abs{\boldweight{\italicstyle{v}}} + \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}}\sin\abs{\boldweight{\italicstyle{v}}} \\ e^{\boldsymbol{\iota}\vartheta} &= \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \\ &\text{where}\qquad \italicstyle{q} = \boldsymbol{\iota}\vartheta,\quad \boldsymbol{\iota} = \frac{\boldweight{\italicstyle{v}}}{\abs{\boldweight{\italicstyle{v}}}},\quad \vartheta = \abs{\boldweight{\italicstyle{v}}}. \end{split} \]

(注)何故か本節のみ MathJax v2 のレンダリングがなされない。本節を前の方へ移動したり、以下のような所望のクラス指定なしの数式エリアで試してみたが正常にレンダリングされ、このバグの原因が不明である。

\[ e^{\boldsymbol{\iota}\vartheta} = \cos\vartheta + \boldsymbol{\iota}\sin\vartheta \qquad\style{ font-weight: bold; color: darkslateblue; background: aliceblue; border: powderblue solid 5px; }{\small\fbox{四元数版オイラーの公式}} \]

これは、本節冒頭の TeX に相違なく、MathJax v2 でも普通にレンダリングされる。

HTML タグのクラス属性 class="…"data-class="…" のようにコメントアウトすると正常にレンダリングはされ、そもそも、MathJax v2 上で強制的に MathJax のフォントを使用しようとする無意味な節であり、このような使用方法は通常しないので、ひとまず深くは追求しないことにした。

CSS にて :not(.mjx-chtml) でスタイル適用を回避しようとしたが上手くいっていない。


\[lrc]lap コマンド

\[ \displaystyle{x\llap{y}}\qquad \textstyle{x\llap{y}}\qquad \scriptstyle{x\llap{y}}\qquad \scriptscriptstyle{x\llap{y}}\qquad \] \[ \displaystyle{x\rlap{y}}\qquad \textstyle{x\rlap{y}}\qquad \scriptstyle{x\rlap{y}}\qquad \scriptscriptstyle{x\rlap{y}}\qquad \] \[ \displaystyle{x\clap{y}}\qquad \textstyle{x\clap{y}}\qquad \scriptstyle{x\clap{y}}\qquad \scriptscriptstyle{x\clap{y}}\qquad \]

\math[lrc]lap コマンド

\[ \displaystyle{x\mathllap{y}}\qquad \textstyle{x\mathllap{y}}\qquad \scriptstyle{x\mathllap{y}}\qquad \scriptscriptstyle{x\mathllap{y}}\qquad \] \[ \displaystyle{x\mathrlap{y}}\qquad \textstyle{x\mathrlap{y}}\qquad \scriptstyle{x\mathrlap{y}}\qquad \scriptscriptstyle{x\mathrlap{y}}\qquad \] \[ \displaystyle{x\mathclap{y}}\qquad \textstyle{x\mathclap{y}}\qquad \scriptstyle{x\mathclap{y}}\qquad \scriptscriptstyle{x\mathclap{y}}\qquad \]

\text[lrc]lap コマンド

\[ \displaystyle{x\textllap{y}}\qquad \textstyle{x\textllap{y}}\qquad \scriptstyle{x\textllap{y}}\qquad \scriptscriptstyle{x\textllap{y}}\qquad \] \[ \displaystyle{x\textrlap{y}}\qquad \textstyle{x\textrlap{y}}\qquad \scriptstyle{x\textrlap{y}}\qquad \scriptscriptstyle{x\textrlap{y}}\qquad \] \[ \displaystyle{x\textclap{y}}\qquad \textstyle{x\textclap{y}}\qquad \scriptstyle{x\textclap{y}}\qquad \scriptscriptstyle{x\textclap{y}}\qquad \]

\text 内外のコマンドの試験

\command: \(. \command \text{\command} \textcommand\) . の試験


\dollar: \(\$ \dollar \text{\dollar} \textdollar\) $
\cent: \(¢ \cent \text{\cent} \textcent\) ¢
\currency: \(¤ \currency \text{\currency} \textcurrency\) ¤
\yen: \(¥ \yen \text{\yen} \textyen\) ¥
\brokenbar: \(¦ \brokenbar \text{\brokenbar} \textbrokenbar\) ¦
\copyright: \(© \copyright \text{\copyright} \textcopyright\) ©
\registered: \(® \registered \text{\registered} \textregistered\) ®
\degree: \(° \degree \text{\degree} \textdegree\) °
\florin: \(ƒ \florin \text{\florin} \textflorin\) ƒ
\baht: \(฿ \baht \text{\baht} \textbaht\) ฿
\pertenthousand: \(‱ \pertenthousand \text{\pertenthousand} \textpertenthousand\) ‱
\perthousand: \(‱ \perthousand \text{\perthousand} \textperthousand\) ‱
\lira: \(₤ \lira \text{\lira} \textlira\) ₤
\naira: \(₦ \naira \text{\naira} \textnaira\) ₦
\won: \(₩ \won \text{\won} \textwon\) ₩
\dong: \(₫ \dong \text{\dong} \textdong\) ₫
\euro: \(€ \euro \text{\euro} \texteuro\) €
\peso: \(₱ \peso \text{\peso} \textpeso\) ₱
\guarani: \(₲ \guarani \text{\guarani} \textguarani\) ₲
\celsius: \(℃ \celsius \text{\celsius} \textcelsius\) ℃
\numero: \(№ \numero \text{\numero} \textnumero\) №
\trademark: \(™ \trademark \text{\trademark} \texttrademark\) ™

以上は、特に重要なコマンドの確認。

エラーになることの確認

\(\text{\acutedbl}\) \text{\acutedbl}
\(\text{\asciiacute}\) \text{\asciiacute}
\(\text{\asciibreve}\) \text{\asciibreve}
\(\text{\asciicaron}\) \text{\asciicaron}
\(\text{\asciicircum}\) \text{\asciicircum}
\(\text{\asciidiaeresis}\) \text{\asciidiaeresis}
\(\text{\asciimacron}\) \text{\asciimacron}
\(\text{\asciitilde}\) \text{\asciitilde}
\(\text{\asteriskcentered}\) \text{\asteriskcentered}
\(\text{\backslash}\) \text{\backslash}
\(\text{\baht}\) \text{\baht}
\(\text{\bar}\) \text{\bar}
\(\text{\bardbl}\) \text{\bardbl}
\(\text{\bigcircle}\) \text{\bigcircle}
\(\text{\blank}\) \text{\blank}
\(\text{\born}\) \text{\born}
\(\text{\braceleft}\) \text{\braceleft}
\(\text{\braceright}\) \text{\braceright}
\(\text{\brokenbar}\) \text{\brokenbar}
\(\text{\bullet}\) \text{\bullet}
\(\text{\celsius}\) \text{\celsius}
\(\text{\cent}\) \text{\cent}
\(\text{\centoldstyle}\) \text{\centoldstyle}
\(\text{\circledP}\) \text{\circledP}
\(\text{\colonmonetary}\) \text{\colonmonetary}
\(\text{\compwordmark}\) \text{\compwordmark}
\(\text{\copyleft}\) \text{\copyleft}
\(\text{\copyright}\) \text{\copyright}
\(\text{\currency}\) \text{\currency}
\(\text{\dagger}\) \text{\dagger}
\(\text{\daggerdbl}\) \text{\daggerdbl}
\(\text{\degree}\) \text{\degree}
\(\text{\died}\) \text{\died}
\(\text{\discount}\) \text{\discount}
\(\text{\div}\) \text{\div}
\(\text{\divorced}\) \text{\divorced}
\(\text{\dollar}\) \text{\dollar}
\(\text{\dollaroldstyle}\) \text{\dollaroldstyle}
\(\text{\dong}\) \text{\dong}
\(\text{\downarrow}\) \text{\downarrow}
\(\text{\eightoldstyle}\) \text{\eightoldstyle}
\(\text{\ellipsis}\) \text{\ellipsis}
\(\text{\emdash}\) \text{\emdash}
\(\text{\endash}\) \text{\endash}
\(\text{\estimated}\) \text{\estimated}
\(\text{\euro}\) \text{\euro}
\(\text{\exclamdown}\) \text{\exclamdown}
\(\text{\fiveoldstyle}\) \text{\fiveoldstyle}
\(\text{\florin}\) \text{\florin}
\(\text{\fouroldstyle}\) \text{\fouroldstyle}
\(\text{\fractionsolidus}\) \text{\fractionsolidus}
\(\text{\gravedbl}\) \text{\gravedbl}
\(\text{\greater}\) \text{\greater}
\(\text{\guarani}\) \text{\guarani}
\(\text{\interrobang}\) \text{\interrobang}
\(\text{\interrobangdown}\) \text{\interrobangdown}
\(\text{\langle}\) \text{\langle}
\(\text{\lbrackdbl}\) \text{\lbrackdbl}
\(\text{\leftarrow}\) \text{\leftarrow}
\(\text{\less}\) \text{\less}
\(\text{\lira}\) \text{\lira}
\(\text{\lnot}\) \text{\lnot}
\(\text{\lquill}\) \text{\lquill}
\(\text{\married}\) \text{\married}
\(\text{\mho}\) \text{\mho}
\(\text{\minus}\) \text{\minus}
\(\text{\mu}\) \text{\mu}
\(\text{\musicalnote}\) \text{\musicalnote}
\(\text{\naira}\) \text{\naira}
\(\text{\nineoldstyle}\) \text{\nineoldstyle}
\(\text{\numero}\) \text{\numero}
\(\text{\ohm}\) \text{\ohm}
\(\text{\onehalf}\) \text{\onehalf}
\(\text{\oneoldstyle}\) \text{\oneoldstyle}
\(\text{\onequarter}\) \text{\onequarter}
\(\text{\onesuperior}\) \text{\onesuperior}
\(\text{\openbullet}\) \text{\openbullet}
\(\text{\ordfeminine}\) \text{\ordfeminine}
\(\text{\ordmasculine}\) \text{\ordmasculine}
\(\text{\paragraph}\) \text{\paragraph}
\(\text{\periodcentered}\) \text{\periodcentered}
\(\text{\pertenthousand}\) \text{\pertenthousand}
\(\text{\perthousand}\) \text{\perthousand}
\(\text{\peso}\) \text{\peso}
\(\text{\pm}\) \text{\pm}
\(\text{\questiondown}\) \text{\questiondown}
\(\text{\quotedblleft}\) \text{\quotedblleft}
\(\text{\quotedblright}\) \text{\quotedblright}
\(\text{\quoteleft}\) \text{\quoteleft}
\(\text{\quoteright}\) \text{\quoteright}
\(\text{\rangle}\) \text{\rangle}
\(\text{\rbrackdbl}\) \text{\rbrackdbl}
\(\text{\recipe}\) \text{\recipe}
\(\text{\referencemark}\) \text{\referencemark}
\(\text{\registered}\) \text{\registered}
\(\text{\rightarrow}\) \text{\rightarrow}
\(\text{\rquill}\) \text{\rquill}
\(\text{\section}\) \text{\section}
\(\text{\servicemark}\) \text{\servicemark}
\(\text{\sevenoldstyle}\) \text{\sevenoldstyle}
\(\text{\sixoldstyle}\) \text{\sixoldstyle}
\(\text{\sterling}\) \text{\sterling}
\(\text{\surd}\) \text{\surd}
\(\text{\threeoldstyle}\) \text{\threeoldstyle}
\(\text{\threequarters}\) \text{\threequarters}
\(\text{\threesuperior}\) \text{\threesuperior}
\(\text{\tildelow}\) \text{\tildelow}
\(\text{\times}\) \text{\times}
\(\text{\trademark}\) \text{\trademark}
\(\text{\twooldstyle}\) \text{\twooldstyle}
\(\text{\twosuperior}\) \text{\twosuperior}
\(\text{\underscore}\) \text{\underscore}
\(\text{\uparrow}\) \text{\uparrow}
\(\text{\visiblespace}\) \text{\visiblespace}
\(\text{\won}\) \text{\won}
\(\yen
\text{\yen}\) \yen
\text{\yen}

\(\text{\zerooldstyle}\) \text{\zerooldstyle}

MathJax, MathJax v2 にてエラーになることの確認

\(\text{\textacutedbl}\) \text{\textacutedbl}
\(\text{\textasciiacute}\) \text{\textasciiacute}
\(\text{\textasciibreve}\) \text{\textasciibreve}
\(\text{\textasciicaron}\) \text{\textasciicaron}
\(\text{\textasciicircum}\) \text{\textasciicircum}
\(\text{\textasciidieresis}\) \text{\textasciidieresis}
\(\text{\textasciimacron}\) \text{\textasciimacron}
\(\text{\textasciitilde}\) \text{\textasciitilde}
\(\text{\textasteriskcentered}\) \text{\textasteriskcentered}
\(\text{\textbackslash}\) \text{\textbackslash}
\(\text{\textbaht}\) \text{\textbaht}
\(\text{\textbar}\) \text{\textbar}
\(\text{\textbardbl}\) \text{\textbardbl}
\(\text{\textbigcircle}\) \text{\textbigcircle}
\(\text{\textblank}\) \text{\textblank}
\(\text{\textborn}\) \text{\textborn}
\(\text{\textbraceleft}\) \text{\textbraceleft}
\(\text{\textbraceright}\) \text{\textbraceright}
\(\text{\textbrokenbar}\) \text{\textbrokenbar}
\(\text{\textbullet}\) \text{\textbullet}
\(\text{\textcelsius}\) \text{\textcelsius}
\(\text{\textcent}\) \text{\textcent}
\(\text{\textcentoldstyle}\) \text{\textcentoldstyle}
\(\text{\textcircledP}\) \text{\textcircledP}
\(\text{\textcolonmonetary}\) \text{\textcolonmonetary}
\(\text{\textcompwordmark}\) \text{\textcompwordmark}
\(\text{\textcopyleft}\) \text{\textcopyleft}
\(\text{\textcopyright}\) \text{\textcopyright}
\(\text{\textcurrency}\) \text{\textcurrency}
\(\text{\textdagger}\) \text{\textdagger}
\(\text{\textdaggerdbl}\) \text{\textdaggerdbl}
\(\text{\textdegree}\) \text{\textdegree}
\(\text{\textdied}\) \text{\textdied}
\(\text{\textdiscount}\) \text{\textdiscount}
\(\text{\textdiv}\) \text{\textdiv}
\(\text{\textdivorced}\) \text{\textdivorced}
\(\text{\textdollar}\) \text{\textdollar}
\(\text{\textdollaroldstyle}\) \text{\textdollaroldstyle}
\(\text{\textdong}\) \text{\textdong}
\(\text{\textdownarrow}\) \text{\textdownarrow}
\(\text{\texteightoldstyle}\) \text{\texteightoldstyle}
\(\text{\textellipsis}\) \text{\textellipsis}
\(\text{\textemdash}\) \text{\textemdash}
\(\text{\textendash}\) \text{\textendash}
\(\text{\textestimated}\) \text{\textestimated}
\(\text{\texteuro}\) \text{\texteuro}
\(\text{\textexclamdown}\) \text{\textexclamdown}
\(\text{\textfiveoldstyle}\) \text{\textfiveoldstyle}
\(\text{\textflorin}\) \text{\textflorin}
\(\text{\textfouroldstyle}\) \text{\textfouroldstyle}
\(\text{\textfractionsolidus}\) \text{\textfractionsolidus}
\(\text{\textgravedbl}\) \text{\textgravedbl}
\(\text{\textgreater}\) \text{\textgreater}
\(\text{\textguarani}\) \text{\textguarani}
\(\text{\textinterrobang}\) \text{\textinterrobang}
\(\text{\textinterrobangdown}\) \text{\textinterrobangdown}
\(\text{\textlangle}\) \text{\textlangle}
\(\text{\textlbrackdbl}\) \text{\textlbrackdbl}
\(\text{\textleftarrow}\) \text{\textleftarrow}
\(\text{\textless}\) \text{\textless}
\(\text{\textlira}\) \text{\textlira}
\(\text{\textlnot}\) \text{\textlnot}
\(\text{\textlquill}\) \text{\textlquill}
\(\text{\textmarried}\) \text{\textmarried}
\(\text{\textmho}\) \text{\textmho}
\(\text{\textminus}\) \text{\textminus}
\(\text{\textmu}\) \text{\textmu}
\(\text{\textmusicalnote}\) \text{\textmusicalnote}
\(\text{\textnaira}\) \text{\textnaira}
\(\text{\textnineoldstyle}\) \text{\textnineoldstyle}
\(\text{\textnumero}\) \text{\textnumero}
\(\text{\textohm}\) \text{\textohm}
\(\text{\textonehalf}\) \text{\textonehalf}
\(\text{\textoneoldstyle}\) \text{\textoneoldstyle}
\(\text{\textonequarter}\) \text{\textonequarter}
\(\text{\textonesuperior}\) \text{\textonesuperior}
\(\text{\textopenbullet}\) \text{\textopenbullet}
\(\text{\textordfeminine}\) \text{\textordfeminine}
\(\text{\textordmasculine}\) \text{\textordmasculine}
\(\text{\textparagraph}\) \text{\textparagraph}
\(\text{\textperiodcentered}\) \text{\textperiodcentered}
\(\text{\textpertenthousand}\) \text{\textpertenthousand}
\(\text{\textperthousand}\) \text{\textperthousand}
\(\text{\textpeso}\) \text{\textpeso}
\(\text{\textpm}\) \text{\textpm}
\(\text{\textquestiondown}\) \text{\textquestiondown}
\(\text{\textquotedblleft}\) \text{\textquotedblleft}
\(\text{\textquotedblright}\) \text{\textquotedblright}
\(\text{\textquoteleft}\) \text{\textquoteleft}
\(\text{\textquoteright}\) \text{\textquoteright}
\(\text{\textrangle}\) \text{\textrangle}
\(\text{\textrbrackdbl}\) \text{\textrbrackdbl}
\(\text{\textrecipe}\) \text{\textrecipe}
\(\text{\textreferencemark}\) \text{\textreferencemark}
\(\text{\textregistered}\) \text{\textregistered}
\(\text{\textrightarrow}\) \text{\textrightarrow}
\(\text{\textrquill}\) \text{\textrquill}
\(\text{\textsection}\) \text{\textsection}
\(\text{\textservicemark}\) \text{\textservicemark}
\(\text{\textsevenoldstyle}\) \text{\textsevenoldstyle}
\(\text{\textsixoldstyle}\) \text{\textsixoldstyle}
\(\text{\textsterling}\) \text{\textsterling}
\(\text{\textsurd}\) \text{\textsurd}
\(\text{\textthreeoldstyle}\) \text{\textthreeoldstyle}
\(\text{\textthreequarters}\) \text{\textthreequarters}
\(\text{\textthreesuperior}\) \text{\textthreesuperior}
\(\text{\texttildelow}\) \text{\texttildelow}
\(\text{\texttimes}\) \text{\texttimes}
\(\text{\texttrademark}\) \text{\texttrademark}
\(\text{\texttwooldstyle}\) \text{\texttwooldstyle}
\(\text{\texttwosuperior}\) \text{\texttwosuperior}
\(\text{\textunderscore}\) \text{\textunderscore}
\(\text{\textuparrow}\) \text{\textuparrow}
\(\text{\textvisiblespace}\) \text{\textvisiblespace}
\(\text{\textwon}\) \text{\textwon}
\(\text{\textyen}\) \text{\textyen}
\(\text{\textzerooldstyle}\) \text{\textzerooldstyle}

エラーにならないものはトラブルの原因にならないか、よく確認する。

エラーにならないことの確認

\textacutedbl: '\(\textacutedbl\)',
\textasciiacute: '\(\textasciiacute\)',
\textasciibreve: '\(\textasciibreve\)',
\textasciicaron: '\(\textasciicaron\)',
\textasciicircum: '\(\textasciicircum\)',
\textasciidieresis: '\(\textasciidieresis\)',
\textasciimacron: '\(\textasciimacron\)',
\textasciitilde: '\(\textasciitilde\)',
\textasteriskcentered: '\(\textasteriskcentered\)',
\textbackslash: '\(\textbackslash\)',
\textbaht: '\(\textbaht\)',
\textbar: '\(\textbar\)',
\textbardbl: '\(\textbardbl\)',
\textbigcircle: '\(\textbigcircle\)',
\textblank: '\(\textblank\)',
\textborn: '\(\textborn\)',
\textbraceleft: '\(\textbraceleft\)',
\textbraceright: '\(\textbraceright\)',
\textbrokenbar: '\(\textbrokenbar\)',
\textbullet: '\(\textbullet\)',
\textcelsius: '\(\textcelsius\)',
\textcent: '\(\textcent\)',
\textcentoldstyle: '\(\textcentoldstyle\)',
\textcircledP: '\(\textcircledP\)',
\textcolonmonetary: '\(\textcolonmonetary\)',
\textcompwordmark: '\(\textcompwordmark\)',
\textcopyleft: '\(\textcopyleft\)',
\textcopyright: '\(\textcopyright\)',
\textcurrency: '\(\textcurrency\)',
\textdagger: '\(\textdagger\)',
\textdaggerdbl: '\(\textdaggerdbl\)',
\textdegree: '\(\textdegree\)',
\textdied: '\(\textdied\)',
\textdiscount: '\(\textdiscount\)',
\textdiv: '\(\textdiv\)',
\textdivorced: '\(\textdivorced\)',
\textdollar: '\(\textdollar\)',
\textdollaroldstyle: '\(\textdollaroldstyle\)',
\textdong: '\(\textdong\)',
\textdownarrow: '\(\textdownarrow\)',
\texteightoldstyle: '\(\texteightoldstyle\)',
\textellipsis: '\(\textellipsis\)',
\textemdash: '\(\textemdash\)',
\textendash: '\(\textendash\)',
\textestimated: '\(\textestimated\)',
\texteuro: '\(\texteuro\)',
\textexclamdown: '\(\textexclamdown\)',
\textfiveoldstyle: '\(\textfiveoldstyle\)',
\textflorin: '\(\textflorin\)',
\textfouroldstyle: '\(\textfouroldstyle\)',
\textfractionsolidus: '\(\textfractionsolidus\)',
\textgravedbl: '\(\textgravedbl\)',
\textgreater: '\(\textgreater\)',
\textguarani: '\(\textguarani\)',
\textinterrobang: '\(\textinterrobang\)',
\textinterrobangdown: '\(\textinterrobangdown\)',
\textlangle: '\(\textlangle\)',
\textlbrackdbl: '\(\textlbrackdbl\)',
\textleftarrow: '\(\textleftarrow\)',
\textless: '\(\textless\)',
\textlira: '\(\textlira\)',
\textlnot: '\(\textlnot\)',
\textlquill: '\(\textlquill\)',
\textmarried: '\(\textmarried\)',
\textmho: '\(\textmho\)',
\textminus: '\(\textminus\)',
\textmu: '\(\textmu\)',
\textmusicalnote: '\(\textmusicalnote\)',
\textnaira: '\(\textnaira\)',
\textnineoldstyle: '\(\textnineoldstyle\)',
\textnumero: '\(\textnumero\)',
\textohm: '\(\textohm\)',
\textonehalf: '\(\textonehalf\)',
\textoneoldstyle: '\(\textoneoldstyle\)',
\textonequarter: '\(\textonequarter\)',
\textonesuperior: '\(\textonesuperior\)',
\textopenbullet: '\(\textopenbullet\)',
\textordfeminine: '\(\textordfeminine\)',
\textordmasculine: '\(\textordmasculine\)',
\textoverline: '\(\textoverline\)',
\textparagraph: '\(\textparagraph\)',
\textperiodcentered: '\(\textperiodcentered\)',
\textpertenthousand: '\(\textpertenthousand\)',
\textperthousand: '\(\textperthousand\)',
\textpeso: '\(\textpeso\)',
\textpm: '\(\textpm\)',
\textquestiondown: '\(\textquestiondown\)',
\textquotedblleft: '\(\textquotedblleft\)',
\textquotedblright: '\(\textquotedblright\)',
\textquoteleft: '\(\textquoteleft\)',
\textquoteright: '\(\textquoteright\)',
\textrangle: '\(\textrangle\)',
\textrbrackdbl: '\(\textrbrackdbl\)',
\textrecipe: '\(\textrecipe\)',
\textreferencemark: '\(\textreferencemark\)',
\textregistered: '\(\textregistered\)',
\textrightarrow: '\(\textrightarrow\)',
\textrquill: '\(\textrquill\)',
\textsection: '\(\textsection\)',
\textservicemark: '\(\textservicemark\)',
\textsevenoldstyle: '\(\textsevenoldstyle\)',
\textsixoldstyle: '\(\textsixoldstyle\)',
\textsterling: '\(\textsterling\)',
\textsurd: '\(\textsurd\)',
\textthreeoldstyle: '\(\textthreeoldstyle\)',
\textthreequarters: '\(\textthreequarters\)',
\textthreesuperior: '\(\textthreesuperior\)',
\texttildelow: '\(\texttildelow\)',
\texttimes: '\(\texttimes\)',
\texttrademark: '\(\texttrademark\)',
\texttwooldstyle: '\(\texttwooldstyle\)',
\texttwosuperior: '\(\texttwosuperior\)',
\textunderscore: '\(\textunderscore\)',
\textuparrow: '\(\textuparrow\)',
\textvisiblespace: '\(\textvisiblespace\)',
\textwon: '\(\textwon\)',
\textyen: '\(\textyen\)',
\textzerooldstyle: '\(\textzerooldstyle\)',

以上は、見た目かつ情報交換の見地からよく確認して MathJax, MathJax v2, KaTeX において個々に調整をすること。


参考文献は「MathJax, KaTeX 総覧」に記す。

Written by Taiji Yamada at 2021/12/21