本稿は MathJax, KaTeX における数式および数式中のテキストの表現能力を確かめることを目的とし、何か完成を目的としたものではない。
また、拙作「TeX コマンド・チートシート」にて紙幅の関係で記せなかった注意事項を漏れなく書き留めておく目的もあり、それは達成されている。もっとも、より進んだ挑戦的な使い方に踏み込んだ文書が「Pages などにおける TeX コマンドのコツ」にてメモとして記してあるが、一部は現状あまり実用的ではないので注意すること。
[2021/11/30] 先ほど MathJax の拡張 mathtools, textmacros を有効にしておく決断に至った。
[2021/12/17] 先ほど KaTeX の拡張 mhchem を常に導入しておく決断に至った。
\cancel
コマンド\color
, \colorbox
コマンド\xtwoheadrightarrow
, \xtwoheadleftarrow
, \xlongequal
, \xmapsto
, \xtofrom
及び、非公式 \Newextarrow
コマンド\ce
コマンド{CD}
環境\ddots
と「⋰」U+22F0 の右上がり省略記号 \adots
論理学の記号の定義は、数学の慣習の頼るのではなく、より厳密な定義を目指すものであるが、そもそも前置単項演算子なのか二項演算子なのかを明記していない教科書がほとんどである。計算機科学における記号の定義の方がより厳密であるので、ここでは論理学のとある教科書における定義を計算機科学での知見を参考に、より厳密に定義してみる。ここでは、参考文献「加藤 浩, 土屋 俊, 『記号論理学』, 放送大学教育振興会, 2014.」の記述をまとめる。ところで、書体に厳密でありそうでありながら P.31 微分係数に関する \(x\,\mathrm{d}x\) の d をイタリック体で表したままであったり、肝心の演習問題がなぜか本文とは異にすべてサンセリフ体になってしまっていたり、数式の慣習に精通しているとは言い難い。随所 \(\TeX\) で端的に表しておく。
(\lnot)
logical not … これは前置単項演算子だと思われる。(\land)
logical and … 以下は2項演算子だと思われる。
(\lor)
logical or
(\to)
to
(\forall)
for all … 以下は前置2項演算子だと(現時点では)思われる。(\exists)
exists{x, y, z, w, \ldots}
{\sf a, b, c, d, \ldots}
{\sf C, T, P, H, M, S, \doteq, R, L, V, W, H', S', I}
同一性述語記号 \(\doteq\) (\doteq)
{\cal L}
… 以上のサンスセリフ体の記号のみが \({\cal L}\) に属すると思われる。{P_{t_1,\cdots,t_n}}
の述語記号 \(P\)、項数 \(n\)、個体記号 \(t_1,\cdots,t_n\)\(x\in\Bbb{R}\) において。
以下を \(x\) の \(b\) 進法による表現とする。 \[ \begin{split} x &= a_0.a_1a_1\cdots a_i\cdots\\ &= a_0 + \sum_{i=1}^n\frac{a_i}{b^i} \end{split} \]
有理数であっても循環小数として無理数と同様に無限小数となる。有限小数となるのは小数部分の素因数が \(b\) の素因数であるときのみに限られる。
以下を \(x\) の正則連分数による表現と呼ぶ。 \[ x = a_0 + \cfrac1{ a_1 + \cfrac1{ a_2 + \cfrac1{ \ddots + \cfrac1{ a_i + \cfrac1{ \ddots } } } } } \] 紙幅の関係で以下のように表すこともある。 \[ x = a_0 + \frac1{a_1}{\atop +}\frac1{a_2}{\atop +\dots+}\frac1{a_i}{\atop +\dots} \] 但しここで、\(a_0\in \Bbb{Z}, a_i\in\Bbb{Z}_+\) (\(0 < i\)) であり、\(x=[a_0; a_1, \cdots]\) と表すことにする。
\(x\) が有理数であれば \(i\) は有限 \(i < n\) となり、無理数であれば \(n\to\infty\) となる。
例えば、1/2, 1/3, 1/4, 1/5, 1/6, 1/7 は 2, 3, 10 進法と連分数は以下のように表される。
数⧵\(n\) | \(2\) | \(3\) | \(10\) | 連分数 |
1/7 | \(0.\dot00\dot1_{(2)}\) | \(0.\dot01021\dot2_{(3)}\) | \(0.\dot14285\dot7_{(10)}\) | \([0; 7]\) |
1/6 | \(0.0\dot0\dot1_{(2)}\) | \(0.0\dot1_{(3)}\) | \(0.1\dot6_{(10)}\) | \([0; 6]\) |
1/5 | \(0.\dot001\dot1_{(2)}\) | \(0.\dot012\dot1_{(3)}\) | \(0.2_{(10)}\) | \([0; 5]\) |
1/4 | \(0.01_{(2)}\) | \(0.\dot0\dot2_{(3)}\) | \(0.25_{(10)}\) | \([0; 4]\) |
1/3 | \(0.\dot1\dot0_{(2)}\) | \(0.1_{(3)}\) | \(0.\dot3_{(10)}\) | \([0; 3]\) |
1/2 | \(0.1_{(2)}\) | \(0.\dot1_{(3)}\) | \(0.5_{(10)}\) | \([0; 2]\) |
上ドットもしくは上ドット間が循環部分を表す。
一つめ、CMS では $E = mc^2$ や $$e^{i\theta} = \cos\theta + i\sin\theta$$ のような「$」「$$」ドル記号を数式の開始・終了位置に使うのは、意図しない事態を招きかねないので避けるべきであるし、一端の LaTeX 使いもこのような数式範囲を検索しにくい記号は避けているはずである。よって、これらを設定にて無効化し、かつ、有効化しないようにすべきである。MathJax, MathJax v2, KaTeX では「$$」が既定で有効なようである。
二つめ、CMS では記事の投稿者がブラウザのコンソールに慣れているとは限らない。よって、数式に誤りがあったり、意図せず数式として識別されてしまったときに、エラーをコンソールではなくウインドウに表されていなければならない。KaTeX では既定値ではそうはならないので、throwOnError オプションを false
に指定しておくことは必須となるだろう。
三つめ、CMS には WordPress のように、記事を編集した後に自動的に br タグや p タグを挿入するものも存在する。数式を LaTeX のノリで HTML に記述する場合、CMS そのものはそういった事態を想定していないので問題が生じやすい。以下の例を用いて試験環境の整備と解説を行う。
この数式を含む段落は以下のように記述されている。
見ての通り、数式のつもりの文字列の中に意図せず HTML のタグが混入してしまっている、という状況をここで用意している。
TeX と HTML の書式を混ぜたときの規則などは未定義であるし、そのようなものは物事を複雑にするだけである。よって、MathJax では HTML タグは無視して処理を行うようである(すべてのタグが無視されるわけではないようだ)。
しかし、KaTeX ではまったく異なる結果となり、結論を言えば数式が無視される。
詳しくカラクリを述べれば、HTML タグの DOM ツリーによって数式開始と数式終了の記号が別々のノードに分断され、KaTeX には数式を意図した文字列として認識されなくなるのである。
よって、以上のような、書き手には数式を意図した文字列は、なんら KaTeX のエラーも生じず、無視されるのである。
CMS に意図しない br や p タグを挿入しないように修正を施すのも一考だが、そもそも MathJax では数式内の HTML タグは無視するので、KaTeX でも同様な仕様にしてしまってもよいだろう。以下のような KaTeX の renderMathInElement
のラッパー関数を用意して、それを代わりに呼び出せばよい。
function preprocessMathInElementForCMS(e) { /* Note that "[\s\S]" is used instead of "." because 's' flag of the regular expression is not supported by SeaMonkey. */ const ra = [ [ /<(br|\/?p)\b[^>]*?>/img, '' ], [ /[“”]/g, '"' ], ]; e.innerHTML = e.innerHTML.replace(/\\\([\s\S]*?\\\)|\\\[[\s\S]*?\\\]/img, m=>{ ra.forEach(a=>{ m = m.replace(a[0], a[1]); }); return m; }); } function renderMathInElementForCMS(e, options) { // requires processMathInElementForCMS.js preprocessMathInElementForCMS(e); renderMathInElement(e, { ...options, throwOnError: false, }); }
MathJax でもこのような方策が必要となる場面があるようである。
[2021/12/21 追記] ダブルククオートを開きと閉じダブルクオートに変換するようなこともするので、数式内ではそれを元に戻すようなことも追加した。本来なら CMS でそういったことを抑止する仕組みを導入すべきであろう。
Unicode: 𝛅𝐓 𝛿𝑇 𝜹𝑻 𝝳𝗧 𝞭𝙏 ẟ𝖳 (𝛅𝐓 𝛿𝑇 𝜹𝑻 𝝳𝗧 𝞭𝙏 ẟ𝖳)
MathJax or KaTeX: \(\displaystyle\mathit{\delta T}\ \mathrm{\delta T}\ \mathbf{\delta T}\ \mathsf{\delta T}\ \mathtt{\delta T}\ \mathcal{\delta T}\ \mathfrak{\delta T}\ \mathbb{\delta T}\)\(\mathit{\delta T}\ \mathrm{\delta T}\ \mathbf{\delta T}\ \mathsf{\delta T}\ \mathtt{\delta T}\ \mathcal{\delta T}\ \mathfrak{\delta T}\ \mathbb{\delta T}\)
ちなみに、KaTeX ではサロゲートペアの Unicode 直接入力には問題があり、\char
コマンドで回避することもできない。
KaTeX の \bm
コマンドは \boldsymbol
であるようで、さらに MathJax では \bm
コマンドは未サポートを謳っているので、\boldsymbol
のみを考慮することにする。以下に適当な例をあげておくので太字になるグリフの例として参考にされたい。
\boldsymbol
\boldsymbol
\boldsymbol
\text
内及び \text*
コマンドを MathJax と KaTeX で記しておく。
\[
\begin{array}{ll}
\text{\rm TeX の text 内の書体コマンド、及び、$E=mc^2$ テキスト内数式} &\qquad{\scriptsize\verb|\rm|} \\
\text{\it TeX の text 内の書体コマンド、及び、$E=mc^2$ テキスト内数式} &\qquad{\scriptsize\verb|\it|} \\
\text{\bf TeX の text 内の書体コマンド、及び、$E=mc^2$ テキスト内数式} &\qquad{\scriptsize\verb|\bf|} \\
\text{\sf TeX の text 内の書体コマンド、及び、$E=mc^2$ テキスト内数式} &\qquad{\scriptsize\verb|\sf|} \\
\text{\tt TeX の text 内の書体コマンド、及び、$E=mc^2$ テキスト内数式} &\qquad{\scriptsize\verb|\tt|} \\
\end{array}
\]
\[
\begin{array}{ll}
\textup{TeX の text 書体コマンド、及び、$E=mc^2$ テキスト内数式} &\qquad{\scriptsize\verb|\textup|} \\
\textrm{TeX の text 書体コマンド、及び、$E=mc^2$ テキスト内数式} &\qquad{\scriptsize\verb|\textrm|} \\
\textit{TeX の text 書体コマンド、及び、$E=mc^2$ テキスト内数式} &\qquad{\scriptsize\verb|\textit|} \\
\textsl{TeX の text 書体コマンド、及び、$E=mc^2$ テキスト内数式} &\qquad\color{steelblue}{\scriptsize\verb|\textsl|} \\
\textbf{TeX の text 書体コマンド、及び、$E=mc^2$ テキスト内数式} &\qquad{\scriptsize\verb|\textbf|} \\
\textmd{TeX の text 書体コマンド、及び、$E=mc^2$ テキスト内数式} &\qquad\color{royalblue}{\scriptsize\verb|\textmd|} \\
\textsf{TeX の text 書体コマンド、及び、$E=mc^2$ テキスト内数式} &\qquad{\scriptsize\verb|\textsf|} \\
\textsc{TeX の text 書体コマンド、及び、$E=mc^2$ テキスト内数式} &\qquad\color{steelblue}{\scriptsize\verb|\textsc|} \\
\texttt{TeX の text 書体コマンド、及び、$E=mc^2$ テキスト内数式} &\qquad{\scriptsize\verb|\texttt|} \\
\end{array}
\]
実のところ \textsl
, \textsc
, \textmd
(MathJax) は未サポートなのだが以下の定義で(欠点はあるものの)使えるようになる。但し、ブラウザと閲覧環境の依存性が高い。
% for MathJax \newcommand{\textsc}{\style{ font-variant-caps: small-caps; }{\text{#1}}} \newcommand{\textsl}{\style{ font-style: italic; }{\text{#1}}} \newcommand{\textup}{\style{ font-style: normal; }{\text{#1}}} \newcommand{\textmd}{\style{ font-weight: normal; }{\text{#1}}} % for KaTeX \newcommand{\textsc}{\htmlStyle{ font-variant-caps: small-caps; }{\text{#1}}} \newcommand{\textsl}{\htmlStyle{ font-style: oblique; }{\text{#1}}} \newcommand{\textup}{\htmlStyle{ font-style: normal; }{\text{#1}}} \newcommand{\textmd}{\htmlStyle{ font-weight: normal; }{\text{#1}}}
それ以外は MathJax, KaTeX ともに問題はない。
MathJax と KaTeX の長さの単位は既定の設定ではまったく異なる。また、サポートされている単位も KaTeX の方が多い。ここでの例は KaTeX を標準として作成したので MathJax との違いがわかるだろう。
以下では、\(\text{–}\rule{1em}{1em}\text{—}\) \text{–}\rule{1em}{1em}\text{—}
のように縦横の長さの単位指定による矩形フィルを EN ダーシと EM ダーシで挟んだ様子を、各長さ単位にて 10pt フォントサイズのもと一覧にしている。
mu 18 mu (18 mu = 1 em) | \( \text{–}\rule{18mu}{18mu}\text{—} \) |
em 1 em | \( \text{–}\rule{1em}{1em}\text{—} \) |
ex 2.32 ex | \( \text{–}\rule{2.32ex}{2.32ex}\text{—} \) |
in 10/72.27 (≒0.13837) in (1 in = 2.54 cm) | \( \text{–}\rule{0.138370001in}{0.138370001in}\text{—} \) |
cm 2.54*10/72.27 (≒0.35146) cm (0.1 cm = 1 mm) | \( \text{–}\rule{0.351459804cm}{0.351459804cm}\text{—} \) |
cc 1157*10/14856 (≒0.77881) cc (1 cc = 14856/1157 pt) | \( \text{–}\rule{0.778809908cc}{0.778809908cc}\text{—} \) |
nc 107*10/1370 (≒0.78102) nc (1nc = 1370/107 pt) | \( \text{–}\rule{0.781021898nc}{0.781021898nc}\text{—} \) |
pc 10/12 (≒0.83333) pc (1 pc = 12 pt) | \( \text{–}\rule{0.833333333pc}{0.833333333pc}\text{—} \) |
mm 2.54*100/72.27 (≒3.5146) mm (1 mm = 0.1 cm) | \( \text{–}\rule{3.51459804mm}{3.51459804mm}\text{—} \) |
dd 1157*10/1238 (≒9.3457) dd (1 dd = 1238/1157 pt) | \( \text{–}\rule{9.34571890dd}{9.34571890dd}\text{—} \) |
nd 642*10/685 (≒9.3723) nd (1nd = 685/642 pt) | \( \text{–}\rule{9.37226277nd}{9.37226277nd}\text{—} \) |
bp 72*10/72.27 (≒9.9626) bp (72 bp = 1 in) | \( \text{–}\rule{9.96264010bp}{9.96264010bp}\text{—} \) |
pt 10 pt (72.27 pt = 1 in) | \( \text{–}\rule{10pt}{10pt}\text{—} \) |
sp 65536*10 (=655360) sp (65536 sp = 1 pt) | \( \text{–}\rule{655360sp}{655360sp}\text{—} \) |
KaTeX だと相対サイズ mu, em, ex
以外の単位も CSS の font-size
によってスケーリングされるとのこと(それだと絶対サイズの意味がないと思うが)。
TeX で単に \mathrm{atan}
とする (\(a\mathrm{atan}x\)) と左右にアキがないので、\operatorname{atan}
とするとよい。
\[
a\operatorname{atan}x
\]
しかし、名前に空白があるとき \mathrm{local min}
とする (\(a\mathrm{local min}x\)) と空白が削られてしまうので、\operatorname{local\ min}
とするとよい。
\[
a\operatorname{local\ min}x
\]
しかし、加えて太字にもしたいとなるとこれらは(例は示さないが)両立しないので、自前でアキを実現 \,\mathbf{local\ min}\,
しなくてはならない。
\[
a\,\mathbf{local\ min}\,x
\]
よりエレガントには \mathop{\mathbf{local\ min}}
とすると用途が明確で好ましい。
\[
a\mathop{\mathbf{local\ min}}x
\]
\mathopen
\mathclose
\mathord
\mathpunct
\mathinner
\mathop
\mathbin
\mathrel
MathJax の数式クラスは、アキの効果は含まないようである。KaTeX と Pages 他などは \mathpunct
からアキが広くなっていく。KaTeX では \mathop
の積み重ねが未サポートなので注意。
\newcommand{\operatornamewithlimits}[1]{\operatorname{#1}\limits} % for MathJax
\operatorname
\operatorname\limits
\operatorname\nolimits
\operatornamewithlimits
\operatornamewithlimits\limits
\operatornamewithlimits\nolimits
\mathop{\operatorname}
\mathop{\operatorname}\limits
\mathop{\operatorname}\nolimits
\mathop{\operatornamewithlimits}
\mathop{\operatornamewithlimits}\limits
\mathop{\operatornamewithlimits}\nolimits
一方で、MathJax では \operatornamewithlimits
が未サポートであるので、上記のように \operatornamewithlimits
を定義しておけば MathJax と KaTeX の両立した記述は可能である。
\Bbb{C}\setminus \Bbb{A}=\left\{a\in\Bbb{C}
\[
\newcommand{\bigmid}{\mathinner{\big|}}
\newcommand{\Bigmid}{\mathinner{\Big|}}
\newcommand{\bigggmid}{\mathinner{\bigg|}}
\newcommand{\Bigggmid}{\mathinner{\Bigg|}}
\Bbb{C}\setminus \Bbb{A}=\left\{a\in\Bbb{C}\bigmid 0\ne \forall p(x)\in\Bbb{Q}[x],\ p(a)\ne 0\right\}
\]
ここで \(\Bbb{A}\) は代数的数の集合、\(\Bbb{Q}\) は有理数係数多項式の集合。さておき、ここで使用している以下の定義が便利かと思われる。\bigmid
0\ne \forall p(x)\in\Bbb{Q}[x],\ p(a)\ne 0\right\}
\newcommand{\bigmid}{\mathinner{\big|}} \newcommand{\Bigmid}{\mathinner{\Big|}} \newcommand{\bigggmid}{\mathinner{\bigg|}} \newcommand{\Bigggmid}{\mathinner{\Bigg|}}
もっとも、\left
, \middle
, \right
コマンドの \middle
が使えれば大きさ指定は以下のように不要である。
\Bbb{C}\setminus \Bbb{A}=\left\{a\in\Bbb{C}\;\middle\vert\;
0\ne \forall p(x)\in\Bbb{Q}[x],\ p(a)\ne 0\right\}
\[
\Bbb{C}\setminus \Bbb{A}=\left\{a\in\Bbb{C}\;\middle\vert\;0\ne \forall p(x)\in\Bbb{Q}[x],\ p(a)\ne 0\right\}
\]
Pages 他では \middle
は未サポートである。
本稿では現状、以下の例に限定しておくが、便利なコマンドが MathJax, Pages 他にはない傾向にある。よって、以下のように定義してしまおう。
%\newcommand{\stackrel}[2]{\mathrel{\overset{#1}{#2}}} % only for Pages \newcommand{\coloneq}{\mathrel{:-}} \newcommand{\Coloneq}{\mathrel{::-}} \newcommand{\coloneqq}{\mathrel{:=}} \newcommand{\Coloneqq}{\mathrel{::=}} \newcommand{\colonsim}{\mathrel{:\sim}} \newcommand{\Colonsim}{\mathrel{::\sim}} \newcommand{\colonapprox}{\mathrel{:\approx}} \newcommand{\Colonapprox}{\mathrel{::\approx}} \newcommand{\eqcolon}{\mathrel{-:}} \newcommand{\Eqcolon}{\mathrel{-::}} \newcommand{\eqqcolon}{\mathrel{=:}} \newcommand{\Eqqcolon}{\mathrel{=::}} \newcommand{\simcolon}{\mathrel{\sim:}} \newcommand{\Simcolon}{\mathrel{\sim::}} \newcommand{\approxcolon}{\mathrel{\approx:}} \newcommand{\Approxcolon}{\mathrel{\approx::}}\[ %\newcommand{\stackrel}[2]{\mathrel{\overset{#1}{#2}}} \begin{array}{cl|cl} a\coloneq b &\verb|\coloneq| & a\Coloneq b &\verb|\Coloneq| \\ a\coloneqq b &\verb|\coloneqq| & a\Coloneqq b &\verb|\Coloneqq| \\ a\colonsim b &\verb|\colonsim| & a\Colonsim b &\verb|\Colonsim| \\ a\colonapprox b &\verb|\colonapprox| & a\Colonapprox b &\verb|\Colonapprox| \\ a\stackrel{\mathrm{def}}{=}b &\verb|\stackrel{\mathrm{def}}{=}| & a\stackrel{\mathrm{m}}{=}b &\verb|\stackrel{\mathrm{m}}{=}| \\ a\eqcolon b &\verb|\eqcolon| & a\Eqcolon b &\verb|\Eqcolon| \\ a\eqqcolon b &\verb|\eqqcolon| & a\Eqqcolon b &\verb|\Eqqcolon| \\ a\simcolon b &\verb|\simcolon| & a\Simcolon b &\verb|\Simcolon| \\ a\approxcolon b &\verb|\approxcolon| & a\Approxcolon b &\verb|\Approxcolon| \\ a\stackrel{\mathrm{!}}{=}b &\verb|\stackrel\{\mathrm{!}}{=}| & a\stackrel{\mathrm{?}}{=}b &\verb|\stackrel\{\mathrm{?}}{=}| \\ \end{array} \]
実はこの中の
「≔」colon equals 「\(\coloneqq\)」 \coloneqq
,
「≝」equal to by definition 「\(\eqdef\)」 \eqdef
,
「≞」measured by 「\(\measeq\)」 \measeq
,
「⩴」double colon equal 「\(\Coloneqq\)」 \Coloneqq
,
「∹」excess 「\(\eqcolon\)」 \eqcolon
,
「≕」equals colon 「\(\eqqcolon\)」 \eqqcolon
,
「≟」questioned equal to 「\(\questeq\)」 \questeq
,
などは Unicode として定義されているのだが、どのフォントのデザインもあまり美しくないのである。ゆえに需要はあるのだろう。
\stackrel
は流石に MathJax, KaTeX では定義されているのでコメントアウトしてある。Pages ではそれを使えばよいだろう。
[2021/11/30] これらの一部は mathtools パッケージ由来らしく、MathJax でも使用可能。
トーシェント関数 \varphi(n)=\sum_{
\[
\varphi(n)=\sum_{\substack{1\le m\le n\\(m,n)=1}}1
\]
\substack{1\le m\le n\\(m,n)=1}
}1
MathJax, KaTeX ではフォントに対する配慮は必要だが Unicode が使えるので、以下のようなことも可能である。
\newcommand{\mathvisiblespace}{\mathord{␣}} \newcommand{\textvisiblespace}{␣}\[ (\mathvisiblespace)\quad\text{␣: \textvisiblespace} \qquad\verb|(\mathvisiblespace)\quad\text{␣: \textvisiblespace}| \]
MathJax では \text 内では \textvisiblespace のようなコマンド一般は展開されないので注意、むしろそのまま書けばよい。[2021/11/30] textmacros で有効になるので、極めて便利なので強くお勧めする。
Pages 他では縦方向にアキ過ぎの \underbrace
について。
KaTeX では \overbrace
では添字が誤る、\underbrace
では上付きが印字されないので注意。もし \overbrace
には下付き, \underbrace
には上付きを添えたければ以下のようにした方が無難である。
Pages 他では挙動が同じ \hbox
, \text
について。
\hbox
\[
\left(\vcenter{\hbox{$\tfrac{\frac x y}z$}}\right),\quad
\left(\vcenter{\hbox{$\frac{\frac x y}z$}}\right),\quad
\left(\vcenter{\hbox{$\dfrac{\frac x y}z$}}\right).
\]
\text
\[
\left(\vcenter{\text{$\tfrac{\frac x y}z$}}\right),\quad
\left(\vcenter{\text{$\frac{\frac x y}z$}}\right),\quad
\left(\vcenter{\text{$\dfrac{\frac x y}z$}}\right).
\]
MathJax において \text
内は \displaystyle
が既定のようだ。
Pages 他ではそもそも未対応のアクセントについて。
\[ \begin{array}{llllllllllll} \text{\'{a}} &\'{a} &\verb|\'{a}| & \text{\~{a}} &\~{a} &\verb|\~{a}| & \text{\.{a}} &\.{a} &\verb|\.{a}| & \text{\H{a}} &\H{a} &\verb|\H{a}| \\ \text{\`{a}} &\`{a} &\verb|\`{a}| & \text{\={a}} &\={a} &\verb|\={a}| & \text{\"{a}} &\"{a} &\verb|\"{a}| & \text{\v{a}} &\v{a} &\verb|\v{a}| \\ \text{\^{a}} &\^{a} &\verb|\^{a}| & \text{\u{a}} &\u{a} &\verb|\u{a}| & \text{\r{a}} &\r{a} &\verb|\r{a}| & \end{array} \]\text
内のアクセントは MathJax ではこれは未サポートである。一方で KaTeX では数式内でも有効となっている。
Pages 他では未対応の \rule[基準線の位置]{幅}{高さ}
, \rule[1ex]{2em}{1ex}
について。
MathJax, KaTeX ともにサポートされている。
Pages 他では未対応のフォントサイズ指定について。
MathJax では \footnotesize が効かず、KaTeX では \Tiny が効かないが、実は \sixptsize として定義されている。
{\color{Black}Black} 及び \colorbox{Black}{{\color{White}Black}} について。
\color
, \colorbox
については MathJax は LaTeX の色名が揃っている。
KaTeX では MathJax ともに以下の W3C カラーならば揃って定義されている。
但し、MathJax は白抜きは実現できないようなので注意。
いくつかは重複名となりえる未定義なので、別名で定義すればすむ。p という接尾辞は「積 (product)」 という意味のようで、演算子として調整されている。
\dddot
, \ddddot
は MathJax のみサポートで代替方法が不明につき保留。KaTeX の \newcommand
によるマクロ定義では Unicode 文字列の処理の問題で実現はできないのだが、Javascript による設定で以下と同趣旨のマクロを定義すれば実現は可能である。但し、Unicode の合字の仕組みに依存するため、その品質はあまり期待できないかもしれない(末尾の一文字にしか合字されない等)。
%\newcommand{\dot}[1]{#1̇} % already defined %\newcommand{\ddot}[1]{#1̈} % already defined \newcommand{\dddot}[1]{#1⃛} \newcommand{\ddddot}[1]{#1⃜}
ちなみに、KaTeX であれば以下のような書き方もでき、意味は同じである。
%\newcommand{\dot}[1]{#1\char"0308} % already defined %\newcommand{\ddot}[1]{#1\char"0309} % already defined \newcommand{\dddot}[1]{#1\char"20DB} \newcommand{\ddddot}[1]{#1\char"20DC}
しかし、KaTeX では後述するように、執筆時点では Unicode 文字列サロゲートペア処理が不十分である。
以下はいずれも定義されているようだ。
\[ \begin{array}{ll} a \bmod b &\verb|a \bmod b| \\ a \mod b &\verb|a \mod b| \\ a \pmod b &\verb|a \pmod b| \\ a \pod b &\verb|a \pod b| \\ \end{array} \]x\stackrel{!}{=}y
\[
%\newcommand{\stackrel}[2]{\mathrel{\overset{#1}{#2}}}
x\stackrel{!}{=}y
\]
x\mathrel{\overset{!}{=}}y
\[
x\mathrel{\overset{!}{=}}y
\]
Pages 他では \stackrel
が未サポートなので以下を再度提案しておく。
\newcommand{\stackrel}[2]{\mathrel{\overset{#1}{#2}}} x\stackrel{!}{=}y
よく使われる関数は TeX と同様に定義済みである。稀に略語が慣習と異なるので以下のように定義してもよいだろう。
\newcommand{\cosec}{\operatorname{cosec}} % original here \newcommand{\cotan}{\operatorname{cotan}} % original here \newcommand{\vers}{\operatorname{vers}} % original here \newcommand{\versin}{\operatorname{versin}} % original here \newcommand{\covers}{\operatorname{covers}} % original here \newcommand{\coversin}{\operatorname{coversin}} % original here \newcommand{\sech}{\operatorname{sech}} % original here \newcommand{\csch}{\operatorname{csch}} % original here \newcommand{\cosech}{\operatorname{cosech}} % original here \newcommand{\sgn}{\operatorname{sgn}} % original here \newcommand{\rad}{\operatorname{rad}} % original here \newcommand{\argmax}{\mathop{\mathrm{arg\ max}}} \newcommand{\argmin}{\mathop{\mathrm{arg\ min}}}
以下に確認用に関数一覧を表示しておく。但し、末尾に詳しく再録してある。
\arccos
\arcctg
\arcsin
\arctan
\arctg
\arg
\ch
\cos
\cosec
\cosech
\cosh
\cot
\cotan
\cotg
\coth
\covers
\coversin
\csc
\csch
\ctg
\cth
\deg
\dim
\exp
\gcd
\hom
\inf
\ker
\lg
\ln
\log
\max
\min
\rad
\sec
\sech
\sgn
\sh
\sin
\sinh
\sup
\tan
\tanh
\tg
\th
\vers
\versin
\Pr\limits_x
\argmax\limits_x
\argmin\limits_x
\det\limits_x
\gcd\limits_x
\injlim\limits_x
\lim\limits_x
\limits_x
\liminf\liminf
\limsup\limits_x
\plim\limits_x
\projlim\limits_x
\varliminf\limits_x
\varlimsup\limits_x
\varprojlim\limits_x
\operatorname{f}\limits_x
\operatorname*{f}\limits_x
\operatornamewithlimits{f}\limits_x
\operatornamewithlimits
は MathJax では未サポートであるので注意。代わりに、\mathop{\operatorname{…}}
を使えばよい。
数式モードでは、
\(
\#
\$
\%
\&
\{\}
\_
\tilde{}
\backslash
\)
は、バックスラッシュでエスケープするか、
\tilde{}
,
\backslash
というコマンドが必要である。
テキストモードでは、
\(
\text{
\#
\$
\%
\&
\{\}
\_
}\)
\(\text{
\textasciitilde
\textbackslash
\textasciicircum
}
\)
は、同様にバックスラッシュでエスケープするか、
\textasciitilde
,
\textbackslash
,
\textasciicircum
というコマンドが必要である。
しかし、MathJax ではテキストモードでのコマンドは効かずにやはり不便である。[2021/11/30] textmacros パッケージで便利になる。
MathJax, KaTeX ともに問題はない。但し、KaTeX での \overbrace
, \underbrace
の上付き、下付きには前述のように十分に注意すること。
MathJax, KaTeX ともに問題はない。
MathJax, KaTeX ともに問題はない。
e = 2 + \cfrac{2}{2 + \cfrac{3}{3 + \cfrac{4}{4 + \cfrac{5}{5 + \cfrac{6}{6 + \cfrac{7}{7 + \cfrac{8}{8 + \cfrac{9}{9 + \cfrac{10}{10 + \ddots}}}}}}}}}
\[
e = 2 + \cfrac{2}{2 + \cfrac{3}{3 + \cfrac{4}{4 + \cfrac{5}{5 + \cfrac{6}{6 + \cfrac{7}{7 + \cfrac{8}{8 + \cfrac{9}{9 + \cfrac{10}{10 + \ddots}}}}}}}}}
\]
これを \cfrac
ではなく \dfrac
にしてしまうと以下のようになる。
\[
e = 2 + \dfrac{2}{2 + \dfrac{3}{3 + \dfrac{4}{4 + \dfrac{5}{5 + \dfrac{6}{6 + \dfrac{7}{7 + \dfrac{8}{8 + \dfrac{9}{9 + \dfrac{10}{10 + \ddots}}}}}}}}}
\]
MathJax の方が意図した上下ツメになっているようである。
e = 2 + \frac{2}{2}{\atop +}\frac{3}{3}{\atop +}\frac{4}{4}{\atop +}\frac{5}{5}{\atop +}\frac{6}{6}{\atop +}\frac{7}{7}{\atop +}\frac{8}{8}{\atop +}\frac{9}{9}{\atop +}\frac{10}{10}{\atop +\cdots}
紙幅の関係で以下のように表すこともある。
\[ e = 2 + \frac{2}{2}{\atop +}\frac{3}{3}{\atop +}\frac{4}{4}{\atop +}\frac{5}{5}{\atop +}\frac{6}{6}{\atop +}\frac{7}{7}{\atop +}\frac{8}{8}{\atop +}\frac{9}{9}{\atop +}\frac{10}{10}{\atop +\cdots} \]\oiint
, \oiiint
は MathJax は未サポート。\iiiint
は KaTeX で未サポート。また、\Bbbsum
以降のすべては Unicode に存在するので本稿で独自に定義したもので、いずれにしても通常は未対応。
MathJax, KaTeX ともに問題はない。
以下の演算子も定義されている。
\[ \begin{array}{llllllll} \backepsilon &\verb|\backepsilon| & \backsim &\verb|\backsim| & \backsimeq &\verb|\backsimeq| & \because &\verb|\because| \\ \between &\verb|\between| & \bigtriangledown &\verb|\bigtriangledown| & \bigtriangleup &\verb|\bigtriangleup| & \blacktriangleleft &\verb|\blacktriangleleft| \\ \blacktriangleright &\verb|\blacktriangleright| & \bowtie &\verb|\bowtie| & \Bumpeq &\verb|\Bumpeq| & \bumpeq &\verb|\bumpeq| \\ \circeq &\verb|\circeq| & \dagger &\verb|\dagger| & \dashv &\verb|\dashv| & \ddagger &\verb|\ddagger| \\ \diamond &\verb|\diamond| & \doteqdot &\verb|\doteqdot| & \downdownarrows &\verb|\downdownarrows| & \eqcirc &\verb|\eqcirc| \\ \fallingdotseq &\verb|\fallingdotseq| & \ggg &\verb|\ggg| & \gtrapprox &\verb|\gtrapprox| & \gtrless &\verb|\gtrless| \\ \gtrsim &\verb|\gtrsim| & \Join &\verb|\Join| & \leadsto &\verb|\leadsto| & \lessapprox &\verb|\lessapprox| \\ \lessgtr &\verb|\lessgtr| & \lesssim &\verb|\lesssim| & \lll &\verb|\lll| & \models &\verb|\models| \\ \pitchfork &\verb|\pitchfork| & \restriction &\verb|\restriction| & \risingdotseq &\verb|\risingdotseq| & \shortmid &\verb|\shortmid| \\ \smallfrown &\verb|\smallfrown| & \smallsmile &\verb|\smallsmile| & \star &\verb|\star| & \therefore &\verb|\therefore| \\ \thicksim &\verb|\thicksim| & \triangleleft &\verb|\triangleleft| & \triangleright &\verb|\triangleright| & \upuparrows &\verb|\upuparrows| \\ \end{array} \]これら Unicode を添えて一部印字してみるが、
「\(\backepsilon\)」\backepsilon
「∍」small contains as member
「\(\because\)」\because
「∵」because
「\(\between\)」\between
「≬」between
「\(\bowtie, \Join\)」\bowtie, \Join
「⋈」 bowtie
「\(\Bumpeq\)」\Bumpeq
「≎」geometrically equivalent to
「\(\bumpeq\)」\bumpeq
「≏」difference between
「\(\doteqdot\)」\doteqdot
「≑」geometrically equal to
「\(\fallingdotseq\)」\fallingdotseq
「≒」approximately equal to or the image of
「\(\models\)」\models
「⊨」true
「\(\risingdotseq\)」\risingdotseq
「≓」image of or approximately equal to
「\(\shortmid\)」\shortmid
「∣」divides
「\(\smallfrown\)」\smallfrown
「⌢」frown
「\(\smallsmile\)」\smallsmile
「⌣」smile
「\(\therefore\)」\therefore
「∴」therefore
は Unicde での意味づけと TeX のコマンド名から推測される意味と、一致しているものと一致していないものがある。グリフの形状を表した説明やコマンド名なら形で判断できるが、何らかの意味づけがなされているとなると TeX と Unicode での用法が異なるものがあると混乱の元であろうが、概ね一致していると思われる。一つだけ、\backepsilon
のみコマンド名にグリフのデザインが引っ張られてしまった例かもしれない。
詳しくは後述するが、まずは既定の否定演算子を列挙しておく。
\[ \begin{array}{llllllll} \not= &\verb|\not=| & \ne &\verb|\ne| & \neq &\verb|\neq| & \nsim &\verb|\nsim| \\ \ncong &\verb|\ncong| & \nvdash &\verb|\nvdash| & \nvDash &\verb|\nvDash| & \nVDash &\verb|\nVDash| \\ \nmid &\verb|\nmid| & \nparallel &\verb|\nparallel| & \nless &\verb|\nless| & \ngtr &\verb|\ngtr| \\ \nleqslant &\verb|\nleqslant| & \ngeqslant &\verb|\ngeqslant| & \lneq &\verb|\lneq| & \gneq &\verb|\gneq| \\ \nleq &\verb|\nleq| & \ngeq &\verb|\ngeq| & \nleqq &\verb|\nleqq| & \ngeqq &\verb|\ngeqq| \\ \lneqq &\verb|\lneqq| & \gneqq &\verb|\gneqq| & \lvertneqq &\verb|\lvertneqq| & \gvertneqq &\verb|\gvertneqq| \\ \lnsim &\verb|\lnsim| & \gnsim &\verb|\gnsim| & \lnapprox &\verb|\lnapprox| & \gnapprox &\verb|\gnapprox| \\ \notin &\verb|\notin| & \notni &\verb|\notni| & \nsubseteq &\verb|\nsubseteq| & \nsupseteq &\verb|\nsupseteq| \\ \subsetneq &\verb|\subsetneq| & \supsetneq &\verb|\supsetneq| & \varsubsetneq &\verb|\varsubsetneq| & \varsupsetneq &\verb|\varsupsetneq| \\ \nsubseteqq &\verb|\nsubseteqq| & \nsupseteqq &\verb|\nsupseteqq| & \subsetneqq &\verb|\subsetneqq| & \supsetneqq &\verb|\supsetneqq| \\ \varsubsetneqq &\verb|\varsubsetneqq| & \varsupsetneqq &\verb|\varsupsetneqq| & \nprec &\verb|\nprec| & \nsucc &\verb|\nsucc| \\ \npreceq &\verb|\npreceq| & \nsucceq &\verb|\nsucceq| & \precneqq &\verb|\precneqq| & \succneqq &\verb|\succneqq| \\ \precnsim &\verb|\precnsim| & \succnsim &\verb|\succnsim| & \precnapprox &\verb|\precnapprox| & \succnapprox &\verb|\succnapprox| \\ \ntriangleleft &\verb|\ntriangleleft| & \ntriangleright &\verb|\ntriangleright| & \ntrianglelefteq &\verb|\ntrianglelefteq| & \ntrianglerighteq &\verb|\ntrianglerighteq| \\ \end{array} \]\notni が MathJax ではサポートされない。しかし、演算子への否定は \not
と合字されるので、以下のようにすればよい。
\newcommand{\notni}{\not\ni}
しかし、上記のように \not=
が MathJax では \ne
にならないので注意を要する。
MathJax, KaTeX のために以下を定義している。
\renewcommand{\P}{\mathord{¶}} % MathJax \newcommand{\qed}{\rule{1ex}{1.5ex}} \newcommand{\rightangle}{\mathbin{∟}}\[ \begin{array}{llllllll} \dots &\verb|\dots| & \cdots &\verb|\cdots| & \ddots &\verb|\ddots| & \vdots &\verb|\vdots| \\ \| &\verb$\|$ & \hbar &\verb|\hbar| & \hslash &\verb|\hslash| & \nabla &\verb|\nabla| \\ \partial &\verb|\partial| & \infty &\verb|\infty| & \emptyset &\verb|\emptyset| & \varnothing &\verb|\varnothing| \\ \top &\verb|\top| & \bot &\verb|\bot| & \diagdown &\verb|\diagdown| & \diagup &\verb|\diagup| \\ \imath &\verb|\imath| & \jmath &\verb|\jmath| & \Re &\verb|\Re| & \Im &\verb|\Im| \\ \wp &\verb|\wp| & \Finv &\verb|\Finv| & \Game &\verb|\Game| & \aleph &\verb|\aleph| \\ \beth &\verb|\beth| & \gimel &\verb|\gimel| & \daleth &\verb|\daleth| & \rightangle &\verb|\rightangle| \\ \angle &\verb|\angle| & \measuredangle &\verb|\measuredangle| & \sphericalangle &\verb|\sphericalangle| & \leftarrow &\verb|\leftarrow| \\ \rightarrow &\verb|\rightarrow| & \leftrightarrow &\verb|\leftrightarrow| & \uparrow &\verb|\uparrow| & \downarrow &\verb|\downarrow| \\ \updownarrow &\verb|\updownarrow| & \And &\verb|\And| & \Bbb{N} &\verb|\Bbb{N}| & \Bbb{Z} &\verb|\Bbb{Z}| \\ \Bbb{Q} &\verb|\Bbb{Q}| & \Bbb{R} &\verb|\Bbb{R}| & \Bbb{C} &\verb|\Bbb{C}| & \Bbb{H} &\verb|\Bbb{H}| \\ \Bbb{O} &\verb|\Bbb{O}| & \Bbb{S} &\verb|\Bbb{S}| & \Bbbk &\verb|\Bbbk| & \Gamma &\verb|\Gamma| \\ \Delta &\verb|\Delta| & \Theta &\verb|\Theta| & \Lambda &\verb|\Lambda| & \Xi &\verb|\Xi| \\ \Pi &\verb|\Pi| & \Sigma &\verb|\Sigma| & \Upsilon &\verb|\Upsilon| & \Phi &\verb|\Phi| \\ \Psi &\verb|\Psi| & \Omega &\verb|\Omega| & \alpha &\verb|\alpha| & \beta &\verb|\beta| \\ \gamma &\verb|\gamma| & \delta &\verb|\delta| & \epsilon &\verb|\epsilon| & \varepsilon &\verb|\varepsilon| \\ \zeta &\verb|\zeta| & \eta &\verb|\eta| & \theta &\verb|\theta| & \vartheta &\verb|\vartheta| \\ \iota &\verb|\iota| & \kappa &\verb|\kappa| & \varkappa &\verb|\varkappa| & \lambda &\verb|\lambda| \\ \mu &\verb|\mu| & \nu &\verb|\nu| & \xi &\verb|\xi| & \pi &\verb|\pi| \\ \varpi &\verb|\varpi| & \rho &\verb|\rho| & \varrho &\verb|\varrho| & \sigma &\verb|\sigma| \\ \varsigma &\verb|\varsigma| & \tau &\verb|\tau| & \upsilon &\verb|\upsilon| & \phi &\verb|\phi| \\ \varphi &\verb|\varphi| & \chi &\verb|\chi| & \psi &\verb|\psi| & \omega &\verb|\omega| \\ \digamma &\verb|\digamma| & \omicron &\verb|\omicron| & \mho &\verb|\mho| & \ell &\verb|\ell| \\ \eth &\verb|\eth| & \S &\verb|\S| & \P &\verb|\P| & \maltese &\verb|\maltese| \\ \checkmark &\verb|\checkmark| & \yen &\verb|\yen| & \Box &\verb|\Box| & \qed &\verb|\qed| \\ \end{array} \]
MathJax では \P
が未サポート、これは頂けない。他にも多くの演算子が TeX パッケージ等で定義されているので、Symbols defined by unicode-math が参考になるだろう。
\hbar
\(\hbar\) ついては \hslash
\(\hslash\) が MathJax, KaTeX ともに定義されているが Pages 他にはない。Unicode としては ℎ U+210E
がプランク定数であり、ℏ U+210F
は換算プランク定数(ディラック定数)である。
MathJax では \medspace
, \thickspace
は未サポート。Pages では負の字送りが実現できていないようなので、不用意な使用は現時点では控えた方がいいだろう。
ここでは以下を追加で定義している。
\newcommand{\cosec}{\operatorname{cosec}} % original here \newcommand{\cotan}{\operatorname{cotan}} % original here \newcommand{\vers}{\operatorname{vers}} % original here \newcommand{\versin}{\operatorname{versin}} % original here \newcommand{\covers}{\operatorname{covers}} % original here \newcommand{\coversin}{\operatorname{coversin}} % original here \newcommand{\sech}{\operatorname{sech}} % original here \newcommand{\csch}{\operatorname{csch}} % original here \newcommand{\cosech}{\operatorname{cosech}} % original here \newcommand{\sgn}{\operatorname{sgn}} % original here \newcommand{\rad}{\operatorname{rad}} % original here\[ \begin{aligned} \min &\quad\hbox{最小} &\max &\quad\hbox{最大} &\gcd &\quad\hbox{最大公約数} \\ \cos &\quad\hbox{余弦関数} &\sin &\quad\hbox{正弦関数} &\tan &\quad\hbox{正接関数} \\ \csc &\quad\hbox{余割関数} &\sec &\quad\hbox{正割関数} &\cot &\quad\hbox{余接関数} \\ \cosec &\quad\hbox{〃} & & &\cotan &\quad\hbox{〃} \\ & & & &\cotg &\quad\hbox{〃} \\ & & & &\ctg &\quad\hbox{〃} \\ \coversin &\quad\hbox{余矢関数} &\versin &\quad\hbox{正矢関数} & & \\ \covers &\quad\hbox{〃} &\vers &\quad\hbox{〃} & & \\ \arccos &\quad\hbox{逆余弦関数} &\arcsin &\quad\hbox{逆正弦関数} &\arctan &\quad\hbox{逆正接関数} \\ & & & &\arctg &\quad\hbox{〃} \\ & & & &\arcctg &\quad\hbox{逆余接関数} \\ \cosh &\quad\hbox{双曲線余弦関数} &\sinh &\quad\hbox{双曲線正弦関数} &\tanh &\quad\hbox{双曲線正接関数} \\ \ch &\quad\hbox{〃} &\sh &\quad\hbox{〃} &\th &\quad\hbox{〃} \\ \csch &\quad\hbox{双曲線余割関数} &\sech &\quad\hbox{双曲線正割関数} &\coth &\quad\hbox{双曲線余接関数} \\ \cosech &\quad\hbox{〃} & & &\cth &\quad\hbox{〃} \\ \exp &\quad\hbox{指数関数} &\arg &\quad\hbox{偏角} \\ \lg &\quad\hbox{常用対数関数} &\ln &\quad\hbox{自然対数関数} &\log &\quad\hbox{対数関数} \\ \dim &\quad\hbox{次元} &\hom &\quad\hbox{準同型} &\ker &\quad\hbox{核} \\ \det &\quad\hbox{行列式} &\Pr &\quad\hbox{確率} &\sgn &\quad\hbox{符号関数} \\ \sup &\quad\hbox{上限} &\inf &\quad\hbox{下限} &\lim &\quad\hbox{極限} \\ \limsup &\quad\hbox{上極限} &\liminf &\quad\hbox{下極限} \\ \varlimsup &\quad\hbox{〃} &\varliminf &\quad\hbox{〃} \\ \injlim &\quad\hbox{帰納極限} &\projlim &\quad\hbox{射影極限} \\ \varinjlim &\quad\hbox{〃} &\varprojlim &\quad\hbox{〃} &\rad &\quad\hbox{根基} \\ \end{aligned} \]
\(\displaystyle
\begin{matrix}
a&b\\
c&d
\end{matrix}\verb| {matrix} |
\)
\(\displaystyle
\begin{pmatrix}
a&b\\
c&d
\end{pmatrix}\verb| {pmatrix} |
\)
\(\displaystyle
\begin{vmatrix}
a&b\\
c&d
\end{vmatrix}\verb| {vmatrix} |
\)
\(\displaystyle
\begin{Vmatrix}
a&b\\
c&d
\end{Vmatrix}\verb| {Vmatrix} |
\)
\(\displaystyle
\begin{Bmatrix}
a&b\\
c&d
\end{Bmatrix}\verb| {Bmatrix} |
\)
\(\displaystyle
\begin{bmatrix}
a&b\\
c&d
\end{bmatrix}\verb| {bmatrix} |
\)
\(\displaystyle
\begin{smallmatrix}
a&b\\
c&d
\end{smallmatrix}\verb| {smallmatrix} |
\)
\(\displaystyle
x=\begin{cases}
a&\text{if }b\\
c&\text{otherwise}
\end{cases}\verb| {cases} |
\)
以下は Pages 他で未サポート。
MathJax, KaTeX ともに基本的には問題ないが、KaTeX 独自のものなのか、{matrix*}
と {rcases}
は MathJax で未対応 だったが mathtools パッケージの導入で対応できた。必要なら以下の定義で事足りる。
\newenvironment{rcases}{\left.\begin{array}{ll}}{\end{array}\right\}}
ここでは以下をマクロ定義している。\bra
, \ket
は定義済みなのでコメントアウトされている (MathJax v2 では定義)。
\newcommand{\heiko}{\mathbin{∥}} \newcommand{\nheiko}{\mathbin{∦}} %\newcommand{\bra}[1]{\langle #1\rvert} %\newcommand{\ket}[1]{\lvert #1\rangle}
平行 \vec{A}\heiko\vec{B}\quad\vec{A}\nheiko\vec{B}
Schrödinger 方程式 i\hbar\frac{\mathrm d}{\mathrm dt}\ket{\psi(t)}=\hat{H}\ket{\psi(t)}
MathJax, KaTeX ともに問題ないのだが、ここで意図しているのは「平行」の記号を「日本式の斜め」にすることである。そのような対処には以下の方法がある。但し、KaTeX では trust オプションを true
にする必要はある。
% for MathJax \newcommand{\heiko}{\mathbin{\style{font-family: 'Noto Serif CJK JP', 'Yu Mincho', 'YuMincho', 'Hiragino Mincho ProN';}{\text{∥}}}} \newcommand{\nheiko}{\mathbin{\style{font-family: 'Noto Serif CJK JP', 'Yu Mincho', 'YuMincho', 'Hiragino Mincho ProN';}{\text{∦}}}} % for KaTeX \newcommand{\heiko}{\mathbin{\htmlStyle{font-family: 'Noto Serif CJK JP', 'Yu Mincho', 'YuMincho', 'Hiragino Mincho ProN';}{\text{∥}}}} \newcommand{\nheiko}{\mathbin{\htmlStyle{font-family: 'Noto Serif CJK JP', 'Yu Mincho', 'YuMincho', 'Hiragino Mincho ProN';}{\text{∦}}}}\[ \renewcommand{\heiko}{\mathbin{\htmlStyle{font-family: 'Noto Serif CJK JP', 'Yu Mincho', 'YuMincho', 'Hiragino Mincho ProN';}{\text{∥}}}} \renewcommand{\nheiko}{\mathbin{\htmlStyle{font-family: 'Noto Serif CJK JP', 'Yu Mincho', 'YuMincho', 'Hiragino Mincho ProN';}{\text{∦}}}} \vec{A}\heiko\vec{B}\quad\vec{A}\nheiko\vec{B} \]
多段の左側・右側の上付き・下付きの TeX の書き方は、特に左側に関して、悩まれる方はいるのでは無いだろうか。以下に纏めておくのでちょっと混乱したときの助けとしたい。
\[ \newcommand{\UCadots}{\text{⋰}} %\newcommand{\UCddots}{\text{⋱}} \begin{array}{l|ccc} \text{Command\String}&\text{Latin}&\text{Symbol}&\text{Unicode}&\\\hline {\scriptsize\verb|x^{y^{z}}|} & a^{b^c} & & a^{b^\UCadots} \\ {\scriptsize\verb|x^{y^{z^{w}}}|} & a^{b^{c^d}} & & a^{b^{c^\UCadots}} \\ {\scriptsize\verb|{}^{{}^xy}z|} & {}^{{}^ab}c & {}^{{}^{\ddots}a}b & {}^{{}^{\UCddots}a}b \\ {\scriptsize\verb|{}^{{}^{{}^xy}z}w|} & {}^{{}^{{}^ab}c}d & {}^{{}^{{}^{\ddots}a}b}c & {}^{{}^{{}^{\UCddots}a}b}c \\\hline {\scriptsize\verb|x_{y_z}|} & a_{b_c} & a_{b_{\scriptsize\mathstrut\ddots}} & a_{b_{\scriptsize\mathstrut\UCddots}} \\ {\scriptsize\verb|x_{y_{z_w}}|} & a_{b_{c_d}} & a_{b_{c_{\scriptsize\mathstrut\ddots}}} & a_{b_{c_{\scriptsize\mathstrut\UCddots}}} \\ {\scriptsize\verb|{}_{{}_xy}z|} & {}_{{}_ab}c & & {}_{{}_{\scriptsize\mathstrut\UCadots}a}b \\ {\scriptsize\verb|{}_{{}_{{}_xy}z}w|} & {}_{{}_{{}_ab}c}d & & {}_{{}_{{}_{\scriptsize\mathstrut\UCadots}a}b}c \\\hline {\scriptsize\verb|\presupsubscript{{{}^xy}}{{{}_ab}}{W^{i^j}_{p_q}}|} & \presupsubscript{{{}^xy}}{{{}_ab}}{W^{i^j}_{p_q}} & \presupsubscript{{{}^{\ddots}x}}{{{}_{\lower{1ex}{\scriptsize\mathstrut\iddots}}a}}{W^{i^{\scriptsize\mathstrut\iddots}}_{p_{\scriptsize\mathstrut\ddots}}} & \presupsubscript{{{}^{\UCddots}x}}{{{}_{\lower{1ex}{\scriptsize\mathstrut\UCadots}}a}}{W^{i^{\UCadots}}_{p_{\scriptsize\mathstrut\UCddots}}} &\\ {\scriptsize\verb|\presupsubscript{{{}^{{}^xy}z}}{{{}_{{}_ab}c}}{W^{i^{j^k}}_{p_{q_r}}}|} & \presupsubscript{{{}^{{}^xy}z}}{{{}_{{}_ab}c}}{W^{i^{j^k}}_{p_{q_r}}} & \presupsubscript{{{}^{{}^{\ddots}x}y}}{{{}_{{}_{\lower{1ex}{\scriptsize\mathstrut\iddots}}a}b}}{W^{i^{j^{\scriptsize\iddots}}}_{p_{q_{\scriptsize\mathstrut\ddots}}}} & \presupsubscript{{{}^{{}^{\UCddots}x}y}}{{{}_{{}_{\lower{1ex}{\scriptsize\mathstrut\UCadots}}a}b}}{W^{i^{j^{\UCadots}}}_{p_{q_{\scriptsize\mathstrut\UCddots}}}} & \end{array} \]下付き省略記号の前には \mathstrut
コマンドを入れて不自然さを避けているが、MathJax ではそれでよいとして、KaTeX ではそれでも足りない印象ではある。
そして、左側上付き下付きをいちどきに配置するには多少工夫を要する。ここでは拙作 \presupsubscript
を使用しているが、本来以下のように左側上付き下付きを右寄せにするための工夫である。
\newcommand{\presupsubscript}[3]{\phantom{{}^{#1}_{#2}}{}^{\mathllap{#1}}_{\mathllap{#2}}#3}\[ \begin{split} {}^\top_{(i,j)}{W}_t^{(x,y)} &\qquad{\scriptsize\verb|{}^\top_{(i,j)}{W}_t^{(x,y)}|} \\ \presupsubscript\top{(i,j)}{W}_t^{(x,y)} &\qquad{\scriptsize\verb|\presupsubscript\top{(i,j)}{W}_t^{(x,y)}|} \end{split} \]
mathtools パッケージには \prescript
コマンドがサポートされている。
\prescript
についてMathJax での閲覧環境を前提にして、この \prescript
の優れたところをみてみよう。
拙作 \presupsubscript
だと上付き・下付きをいちどきに配置するときは問題はないが、下付きしかない場合に下付きの \(n\) が基線から下がってしまう欠点がある。流石に私がちょっと思いついただけのマクロは敵わない。しかし、そもそも左側の上付き・下付きをいちどきに配置しようという趣旨なので使い方が間違っているとも言える。同時に、このコマンドには書きやすいとは言い難い左側の上付き・下付きを簡単に書けるという利点がある。よって、以下のマクロを用意した。
\newcommand{\presupscript}[2]{{}^{#1}#2} \newcommand{\presubscript}[2]{{}_{#1}#2}\[ \prescript{}n{\mathrm{C}}_k \quad \presupsubscript{}n{\mathrm{C}}_k \quad \presubscript{n}{\mathrm{C}}_k \qquad{\scriptsize\verb|\prescript vs. \presupsubscript vs. \presubscript|} \] \[ \prescript{n}{}{\mathrm{C}}^k \quad \presupsubscript{n}{}{\mathrm{C}}^k \quad \presupscript{n}{\mathrm{C}}^k \qquad{\scriptsize\verb|\prescript vs. \presupsubscript vs. \presupscript|} \] \[ \prescript{14}2{\mathbf{C}}^{5+}_2 \quad \presupsubscript{14}2{\mathbf{C}}^{5+}_2 \qquad{\scriptsize\verb|\prescript vs. \presupsubscript|} \]
こういった用途の発展で tensor パッケージなるものもあるらしい。
右下がり省略記号 \ddots
に対する右上がり省略記号 \iddots
と \adots
については後述している。
Unicode, TeX, コマンド名の順で「否定」に関する演算子を列挙する。
\({≠}\quad \ne \qquad{\scriptsize\verb|\ne|} \) | \({≁}\quad \nsim \qquad{\scriptsize\verb|\nsim|} \) | \({≇}\quad \ncong \qquad{\scriptsize\verb|\ncong|} \) | \({⊬}\quad \nvdash \qquad{\scriptsize\verb|\nvdash|} \) |
\({⊭}\quad \nvDash \qquad{\scriptsize\verb|\nvDash|} \) | \({⊯}\quad \nVDash \qquad{\scriptsize\verb|\nVDash|} \) | \({∤}\quad \nmid \qquad{\scriptsize\verb|\nmid|} \) | \({∦}\quad \nparallel \qquad{\scriptsize\verb|\nparallel|} \) |
\({≮}\quad \nless \qquad{\scriptsize\verb|\nless|} \) | \({≯}\quad \ngtr \qquad{\scriptsize\verb|\ngtr|} \) | \({⪇}\quad \lneq \qquad{\scriptsize\verb|\lneq|} \) | \({⪈}\quad \gneq \qquad{\scriptsize\verb|\gneq|} \) |
\({≰}\quad \nleq \qquad{\scriptsize\verb|\nleq|} \) | \({≱}\quad \ngeq \qquad{\scriptsize\verb|\ngeq|} \) | \({≨}\quad \lneqq \qquad{\scriptsize\verb|\lneqq|} \) | \({≩}\quad \gneqq \qquad{\scriptsize\verb|\gneqq|} \) |
\({≨}\quad \lvertneqq \qquad{\scriptsize\verb|\lvertneqq|} \) | \({≩}\quad \gvertneqq \qquad{\scriptsize\verb|\gvertneqq|} \) | \({⋦}\quad \lnsim \qquad{\scriptsize\verb|\lnsim|} \) | \({⋧}\quad \gnsim \qquad{\scriptsize\verb|\gnsim|} \) |
\({⪉}\quad \lnapprox \qquad{\scriptsize\verb|\lnapprox|} \) | \({⪊}\quad \gnapprox \qquad{\scriptsize\verb|\gnapprox|} \) | \({∉}\quad \notin \qquad{\scriptsize\verb|\notin|} \) | \({∌}\quad \notni \qquad{\scriptsize\verb|\notni|} \) |
\({⊈}\quad \nsubseteq \qquad{\scriptsize\verb|\nsubseteq|} \) | \({⊉}\quad \nsupseteq \qquad{\scriptsize\verb|\nsupseteq|} \) | \({⊊}\quad \subsetneq \qquad{\scriptsize\verb|\subsetneq|} \) | \({⊋}\quad \supsetneq \qquad{\scriptsize\verb|\supsetneq|} \) |
\({⊊}\quad \varsubsetneq \qquad{\scriptsize\verb|\varsubsetneq|} \) | \({⊋}\quad \varsupsetneq \qquad{\scriptsize\verb|\varsupsetneq|} \) | \({⫋}\quad \subsetneqq \qquad{\scriptsize\verb|\subsetneqq|} \) | \({⫌}\quad \supsetneqq \qquad{\scriptsize\verb|\supsetneqq|} \) |
\({⫋}\quad \varsubsetneqq \qquad{\scriptsize\verb|\varsubsetneqq|} \) | \({⫌}\quad \varsupsetneqq \qquad{\scriptsize\verb|\varsupsetneqq|} \) | \({⊀}\quad \nprec \qquad{\scriptsize\verb|\nprec|} \) | \({⊁}\quad \nsucc \qquad{\scriptsize\verb|\nsucc|} \) |
\({⪵}\quad \precneqq \qquad{\scriptsize\verb|\precneqq|} \) | \({⪶}\quad \succneqq \qquad{\scriptsize\verb|\succneqq|} \) | \({⋨}\quad \precnsim \qquad{\scriptsize\verb|\precnsim|} \) | \({⋩}\quad \succnsim \qquad{\scriptsize\verb|\succnsim|} \) |
\({⪹}\quad \precnapprox \qquad{\scriptsize\verb|\precnapprox|} \) | \({⪺}\quad \succnapprox \qquad{\scriptsize\verb|\succnapprox|} \) | \({⋪}\quad \ntriangleleft \qquad{\scriptsize\verb|\ntriangleleft|} \) | \({⋫}\quad \ntriangleright \qquad{\scriptsize\verb|\ntriangleright|} \) |
\({⋬}\quad \ntrianglelefteq \qquad{\scriptsize\verb|\ntrianglelefteq|} \) | \({⋭}\quad \ntrianglerighteq \qquad{\scriptsize\verb|\ntrianglerighteq|} \) | ||
\(\verb|⩽̸|\quad \nleqslant \qquad{\scriptsize\verb|\nleqslant|} \) | \(\verb|⩾̸|\quad \ngeqslant \qquad{\scriptsize\verb|\ngeqslant|} \) | \(\verb|≦̸|\quad \nleqq \qquad{\scriptsize\verb|\nleqq|} \) | \(\verb|≧̸|\quad \ngeqq \qquad{\scriptsize\verb|\ngeqq|} \) |
\(\verb|⫅̸|\quad \nsubseteqq \qquad{\scriptsize\verb|\nsubseteqq|} \) | \(\verb|⫆̸|\quad \nsupseteqq \qquad{\scriptsize\verb|\nsupseteqq|} \) | \(\verb|⪯̸|\quad \npreceq \qquad{\scriptsize\verb|\npreceq|} \) | \(\verb|⪰̸|\quad \nsucceq \qquad{\scriptsize\verb|\nsucceq|} \) |
表の末尾に集めておいた Unicode「⩽̸⩾̸≦̸≧̸⫅̸⫆̸⪯̸⪰̸」は KaTeX では、そのままでも \text 内でもエラーになってしまう。原因は U+0338
(combining long solidus overlay) にあるようで、\verb 内ならエラーにはならないが合字になっていない上にタイプライタ体になってしまう。MathJax にはそういった問題はないが、そもそもグリフや意味合いが異なっているものもある。つまり、TeX にあって Unicode に無いものを合字で表す際に若干の齟齬が生じている。
以下はすべて Unicode で TeX コマンド名が定義されている否定演算子である。先の例とグリフが同一に見えるもの (\UC*
) もあるが、前者は TeX 由来のフォント、後者は Unicode 由来のフォントである。
\({\lnot}\quad \lnot \qquad{\scriptsize\verb|\lnot|} \) | \({⌐}\quad \invnot \qquad{\scriptsize\verb|\invnot|} \) | \({⌙}\quad \turnednot \qquad{\scriptsize\verb|\turnednot|} \) | \({⍀}\quad \APLnotbackslash \qquad{\scriptsize\verb|\APLnotbackslash|} \) |
\({↚}\quad \UCnleftarrow \qquad{\scriptsize\verb|\UCnleftarrow|} \) | \({↛}\quad \UCnrightarrow \qquad{\scriptsize\verb|\UCnrightarrow|} \) | \({↮}\quad \UCnleftrightarrow \qquad{\scriptsize\verb|\UCnleftrightarrow|} \) | \({⇍}\quad \UCnLeftarrow \qquad{\scriptsize\verb|\UCnLeftarrow|} \) |
\({⇎}\quad \UCnLeftrightarrow \qquad{\scriptsize\verb|\UCnLeftrightarrow|} \) | \({⇏}\quad \UCnRightarrow \qquad{\scriptsize\verb|\UCnRightarrow|} \) | \({⇷}\quad \nvleftarrow \qquad{\scriptsize\verb|\nvleftarrow|} \) | \({⇸}\quad \nvrightarrow \qquad{\scriptsize\verb|\nvrightarrow|} \) |
\({⇹}\quad \nvleftrightarrow \qquad{\scriptsize\verb|\nvleftrightarrow|} \) | \({⇺}\quad \nVleftarrow \qquad{\scriptsize\verb|\nVleftarrow|} \) | \({⇻}\quad \nVrightarrow \qquad{\scriptsize\verb|\nVrightarrow|} \) | \({⇼}\quad \nVleftrightarrow \qquad{\scriptsize\verb|\nVleftrightarrow|} \) |
\({∉}\quad \UCnotin \qquad{\scriptsize\verb|\UCnotin|} \) | \({∌}\quad \nni \qquad{\scriptsize\verb|\nni|} \) | \({∤}\quad \UCnmid \qquad{\scriptsize\verb|\UCnmid|} \) | \({∦}\quad \UCnparallel \qquad{\scriptsize\verb|\UCnparallel|} \) |
\({≁}\quad \UCnsim \qquad{\scriptsize\verb|\UCnsim|} \) | \({≄}\quad \nsime \qquad{\scriptsize\verb|\nsime|} \) | \({≄}\quad \nsimeq \qquad{\scriptsize\verb|\nsimeq|} \) | \({≇}\quad \UCncong \qquad{\scriptsize\verb|\UCncong|} \) |
\({≉}\quad \napprox \qquad{\scriptsize\verb|\napprox|} \) | \({≠}\quad \UCne \qquad{\scriptsize\verb|\UCne|} \) | \({≢}\quad \nequiv \qquad{\scriptsize\verb|\nequiv|} \) | \({≨}\quad \UClneqq \qquad{\scriptsize\verb|\UClneqq|} \) |
\({≩}\quad \UCgneqq \qquad{\scriptsize\verb|\UCgneqq|} \) | \({≭}\quad \nasymp \qquad{\scriptsize\verb|\nasymp|} \) | \({≮}\quad \UCnless \qquad{\scriptsize\verb|\UCnless|} \) | \({≯}\quad \UCngtr \qquad{\scriptsize\verb|\UCngtr|} \) |
\({≰}\quad \UCnleq \qquad{\scriptsize\verb|\UCnleq|} \) | \({≱}\quad \UCngeq \qquad{\scriptsize\verb|\UCngeq|} \) | \({≴}\quad \nlesssim \qquad{\scriptsize\verb|\nlesssim|} \) | \({≵}\quad \ngtrsim \qquad{\scriptsize\verb|\ngtrsim|} \) |
\({≸}\quad \nlessgtr \qquad{\scriptsize\verb|\nlessgtr|} \) | \({≹}\quad \ngtrless \qquad{\scriptsize\verb|\ngtrless|} \) | \({⊀}\quad \UCnprec \qquad{\scriptsize\verb|\UCnprec|} \) | \({⊁}\quad \UCnsucc \qquad{\scriptsize\verb|\UCnsucc|} \) |
\({⊄}\quad \nsubset \qquad{\scriptsize\verb|\nsubset|} \) | \({⊅}\quad \nsupset \qquad{\scriptsize\verb|\nsupset|} \) | \({⊈}\quad \UCnsubseteq \qquad{\scriptsize\verb|\UCnsubseteq|} \) | \({⊉}\quad \UCnsupseteq \qquad{\scriptsize\verb|\UCnsupseteq|} \) |
\({⊊}\quad \UCsubsetneq \qquad{\scriptsize\verb|\UCsubsetneq|} \) | \({⊋}\quad \UCsupsetneq \qquad{\scriptsize\verb|\UCsupsetneq|} \) | \({⊬}\quad \UCnvdash \qquad{\scriptsize\verb|\UCnvdash|} \) | \({⊭}\quad \UCnvDash \qquad{\scriptsize\verb|\UCnvDash|} \) |
\({⊮}\quad \UCnVdash \qquad{\scriptsize\verb|\UCnVdash|} \) | \({⊯}\quad \UCnVDash \qquad{\scriptsize\verb|\UCnVDash|} \) | \({⋠}\quad \npreccurlyeq \qquad{\scriptsize\verb|\npreccurlyeq|} \) | \({⋡}\quad \nsucccurlyeq \qquad{\scriptsize\verb|\nsucccurlyeq|} \) |
\({⋢}\quad \nsqsubseteq \qquad{\scriptsize\verb|\nsqsubseteq|} \) | \({⋣}\quad \nsqsupseteq \qquad{\scriptsize\verb|\nsqsupseteq|} \) | \({⋤}\quad \sqsubsetneq \qquad{\scriptsize\verb|\sqsubsetneq|} \) | \({⋥}\quad \sqsupsetneq \qquad{\scriptsize\verb|\sqsupsetneq|} \) |
\({⋨}\quad \UCprecnsim \qquad{\scriptsize\verb|\UCprecnsim|} \) | \({⋩}\quad \UCsuccnsim \qquad{\scriptsize\verb|\UCsuccnsim|} \) | \({⋪}\quad \nvartriangleleft \qquad{\scriptsize\verb|\nvartriangleleft|} \) | \({⋫}\quad \nvartriangleright \qquad{\scriptsize\verb|\nvartriangleright|} \) |
\({⌿}\quad \APLnotslash \qquad{\scriptsize\verb|\APLnotslash|} \) | \({¬}\quad \UCneg \qquad{\scriptsize\verb|\UCneg|} \) | \({⋬}\quad \UCntrianglelefteq \qquad{\scriptsize\verb|\UCntrianglelefteq|} \) | \({⋭}\quad \UCntrianglerighteq \qquad{\scriptsize\verb|\UCntrianglerighteq|} \) |
\({⪇}\quad \UClneq \qquad{\scriptsize\verb|\UClneq|} \) | \({⪈}\quad \UCgneq \qquad{\scriptsize\verb|\UCgneq|} \) | \({⪉}\quad \UClnapprox \qquad{\scriptsize\verb|\UClnapprox|} \) | \({⪊}\quad \UCgnapprox \qquad{\scriptsize\verb|\UCgnapprox|} \) |
\({⪱}\quad \precneq \qquad{\scriptsize\verb|\precneq|} \) | \({⪲}\quad \succneq \qquad{\scriptsize\verb|\succneq|} \) | \({⪵}\quad \UCprecneqq \qquad{\scriptsize\verb|\UCprecneqq|} \) | \({⪶}\quad \UCsuccneqq \qquad{\scriptsize\verb|\UCsuccneqq|} \) |
\({⪹}\quad \UCprecnapprox \qquad{\scriptsize\verb|\UCprecnapprox|} \) | \({⪺}\quad \UCsuccnapprox \qquad{\scriptsize\verb|\UCsuccnapprox|} \) | \({⫋}\quad \UCsubsetneqq \qquad{\scriptsize\verb|\UCsubsetneqq|} \) | \({⫌}\quad \UCsupsetneqq \qquad{\scriptsize\verb|\UCsupsetneqq|} \) |
\({⫝}\quad \forksnot \qquad{\scriptsize\verb|\forksnot|} \) | \({⫬}\quad \Not \qquad{\scriptsize\verb|\Not|} \) | \({⫭}\quad \bNot \qquad{\scriptsize\verb|\bNot|} \) | \({⫮}\quad \revnmid \qquad{\scriptsize\verb|\revnmid|} \) |
\({⫲}\quad \nhpar \qquad{\scriptsize\verb|\nhpar|} \) | \({⬴}\quad \nvtwoheadleftarrow \qquad{\scriptsize\verb|\nvtwoheadleftarrow|} \) | \({⬵}\quad \nVtwoheadleftarrow \qquad{\scriptsize\verb|\nVtwoheadleftarrow|} \) | \({⬹}\quad \nvleftarrowtail \qquad{\scriptsize\verb|\nvleftarrowtail|} \) |
\({⬺}\quad \nVleftarrowtail \qquad{\scriptsize\verb|\nVleftarrowtail|} \) | \({⬻}\quad \twoheadleftarrowtail \qquad{\scriptsize\verb|\twoheadleftarrowtail|} \) | \({⬼}\quad \nvtwoheadleftarrowtail \qquad{\scriptsize\verb|\nvtwoheadleftarrowtail|} \) | \({⬽}\quad \nVtwoheadleftarrowtail \qquad{\scriptsize\verb|\nVtwoheadleftarrowtail |} \) |
こちらは合字には無関係なので MathJax はもとより KaTeX でも特に問題はない。
\phantom
は「幻影 (phantom)」で引数が存在するかのように処理するが表示はしないコマンドである。以下の例を取り上げる。
\[
\sum_{n=1}^\infty n^{-s} = \zeta(s) \qquad \sum_{n=1}^\infty\frac{\mu(n)}{n^s} = \frac{1}{\zeta(s)}
\]
\phantom
は縦横のボックスの幅と高さを配置する。
\(1\) と \(s\) を \phantom にしてみる。
\[
\sum_{n=\phantom1}^\infty n^{-\phantom{s}} = \zeta(\phantom{s}) \qquad \sum_{n=\phantom1}^\infty\frac{\mu(n)}{n^{\phantom{s}}} = \frac{\phantom1}{\zeta(\phantom{s})}
\]
\hphantom
は縦横のボックスの幅だけを配置する。
\(1\) と \(s\) を \hphantom にしてみる。
\[
\sum_{n=\phantom1}^\infty n^{-\hphantom{s}} = \zeta(\hphantom{s}) \qquad \sum_{n=\phantom1}^\infty\frac{\mu(n)}{n^{\hphantom{s}}} = \frac{\phantom1}{\zeta(\hphantom{s})}
\]
\vphantom
は縦横のボックスの高さだけを配置する。
\(1\) と \(s\) を \vphantom にしてみる。
\[
\sum_{n=\phantom1}^\infty n^{-\vphantom{s}} = \zeta(\vphantom{s}) \qquad \sum_{n=\phantom1}^\infty\frac{\mu(n)}{n^{\vphantom{s}}} = \frac{\phantom1}{\zeta(\vphantom{s})}
\]
\smash
は「スマッシュ (smash)」で引数は表示するものの、引数の幅で高さと深さが零のボックスを配置する。
\mathstrut
は高さと深さが「()」と同じボックスを配置する。
\strut
は「突っ張り (strut)」で高さが 8.6 pt で深さが 3pt 固定のボックスを配置する。
\smash[t]
は深さは残す、\smash[b]
は高さは残すボックスを配置する。
KaTeX は \smash[t]
は未サポートのようである(\rule[-3pt]{0pt}{3pt}
で代用可能)。
これらはベクトルや根号の屋根の高さを揃えるためによく使われる。以下の例が高さを揃えるために小技である。
\[ \vec{a} + \vec{b} \quad{\scriptsize\verb|\vec{a} + \vec{b}|} \implies \vec{\mathstrut a} + \vec{\mathstrut b} \quad{\scriptsize\verb|\vec{\mathstrut a} + \vec{\mathstrut b}|} \] \[ \sqrt{a} + \sqrt{b} \quad{\scriptsize\verb|\sqrt{a} + \sqrt{b}|} \implies \sqrt{\mathstrut a} + \sqrt{\mathstrut b} \quad{\scriptsize\verb|\sqrt{\mathstrut a} + \sqrt{\mathstrut b}|} \] \[ \sqrt{\mathstrut g} + \sqrt{\mathstrut h} \quad{\scriptsize\verb|\sqrt{\mathstrut g} + \sqrt{\mathstrut h}|} \implies \sqrt{\smash[b]{\mathstrut g}} + \sqrt{\smash[b]{\mathstrut h}} \quad{\scriptsize\verb|\sqrt{\smash[b]{\mathstrut g}} + \sqrt{\smash[b]{\mathstrut h}}|} \]
\mathllap, \mathrlap, \mathclap
は「重なり (lap)」で引数は表示するものの、引数の高さと深さで幅が零のボックスを配置する。その際、
\mathllap
は右寄せ、
\mathrlap
は左寄せ、
\mathclap
は中央揃えで表示する。以下に実用例を示す。
MathJax では要 mathtools パッケージ。
\vcenter
は引数の縦方向を中央揃えで配置する。
以下の節はフォントサイズを意図して 10 pt にしてある。
MathJax の \hbox
はスタイルモードを維持しない。逆に、
KaTeX の \text
は数式のスタイルモードを維持しない。
MathJax の \mathmbox
はスタイルモードも数式のスタイルモードも維持される。
よって、KaTeX では拙作の \mathmbox
でスタイルモードも数式のスタイルモードも維持するようにした。
MathJax の \raisebox
はスタイルモードを維持する。しかし、
KaTeX の \raisebox
はスタイルモードを維持しない。
よって、KaTeX では拙作の \raise
で MathJax の \raise
と同様にスタイルモードを維持するようにした。
しかし、長さの単位 em, ex, mu
がスタイルモードやフォントサイズに依存していないので使用に難が残されている。
MathJax の \fbox
はスタイルモードを維持する。しかし、
KaTeX の \fbox
はスタイルモードを維持しない。
よって、KaTeX では拙作の \mathfbox
でスタイルモードを維持するようにした。
MathJax と KaTeX の \boxed
はいずれも数式のスタイルモードを維持しない。
よって、双方とも拙作の \mathboxed
で数式のスタイルモードを維持するようにした。
表示形式\コマンド |
x\text{y$z$}w |
x\hbox{y$z$}w |
x\mathmbox{y\text{z}}w |
x\raisebox{9mu}{y$\raisebox{.5em}{z}$}w |
x\raise{9mu}{y\raise{.5em}{z}}w |
x\lower{9mu}{y\lower{.5em}{z}}w |
x\fbox{y$z$}w |
x\mathfbox{y\text{z}}w |
x\boxed{y}w |
x\mathboxed{y\text{z}}w |
\scriptscriptstyle | \(\scriptscriptstyle x\text{y$z$}w\) | \(\scriptscriptstyle x\hbox{y$z$}w\) | \(\scriptscriptstyle x\mathmbox{y\text{z}}w\) | \(\scriptscriptstyle x\raisebox{9mu}{y$\raisebox{.5em}{z}$}w\) | \(\scriptscriptstyle x\raise{9mu}{y\raise{.5em}{z}}w\) | \(\scriptscriptstyle x\lower{9mu}{y\lower{.5em}{z}}w\) | \(\scriptscriptstyle x\fbox{y$z$}w\) | \(\scriptscriptstyle x\mathfbox{y\text{z}}w\) | \(\scriptscriptstyle x\boxed{y\text{z}}w\) | \(\scriptscriptstyle x\mathboxed{y\text{z}}w\) |
\scriptstyle | \(\scriptstyle x\text{y$z$}w\) | \(\scriptstyle x\hbox{y$z$}w\) | \(\scriptstyle x\mathmbox{y\text{z}}w\) | \(\scriptstyle x\raisebox{9mu}{y$\raisebox{.5em}{z}$}w\) | \(\scriptstyle x\raise{9mu}{y\raise{.5em}{z}}w\) | \(\scriptstyle x\lower{9mu}{y\lower{.5em}{z}}w\) | \(\scriptstyle x\fbox{y$z$}w\) | \(\scriptstyle x\mathfbox{y\text{z}}w\) | \(\scriptstyle x\boxed{y\text{z}}w\) | \(\scriptstyle x\mathboxed{y\text{z}}w\) |
\textstyle | \(\textstyle x\text{y$z$}w\) | \(\textstyle x\hbox{y$z$}w\) | \(\textstyle x\mathmbox{y\text{z}}w\) | \(\textstyle x\raisebox{9mu}{y$\raisebox{.5em}{z}$}w\) | \(\textstyle x\raise{9mu}{y\raise{.5em}{z}}w\) | \(\textstyle x\lower{9mu}{y\lower{.5em}{z}}w\) | \(\textstyle x\fbox{y$z$}w\) | \(\textstyle x\mathfbox{y\text{z}}w\) | \(\textstyle x\boxed{y\text{z}}w\) | \(\textstyle x\mathboxed{y\text{z}}w\) |
\displaystyle | \(\displaystyle x\text{y$z$}w \) | \(\displaystyle x\hbox{y$z$}w\) | \(\displaystyle x\mathmbox{y\text{z}}w\) | \(\displaystyle x\raisebox{9mu}{y$\raisebox{.5em}{z}$}w\) | \(\displaystyle x\raise{9mu}{y\raise{.5em}{z}}w\) | \(\displaystyle x\lower{9mu}{y\lower{.5em}{z}}w\) | \(\displaystyle x\fbox{y$z$}w\) | \(\displaystyle x\mathfbox{y\text{z}}w\) | \(\displaystyle x\boxed{y\text{z}}w\) | \(\displaystyle x\mathboxed{y\text{z}}w\) |
MathJax 及び KaTeX における以上の拙作のマクロ定義は以下の通り。
% for MathJax \newcommand{\mathfbox}[1]{\mathchoice{\fbox{$\displaystyle#1$}}{\fbox{$\textstyle#1$}}{\fbox{$\scriptstyle#1$}}{\fbox{$\scriptscriptstyle#1$}}} \newcommand{\mathboxed}[1]{\mathchoice{\boxed{\displaystyle#1}}{\boxed{\textstyle#1}}{\boxed{\scriptstyle#1}}{\boxed{\scriptscriptstyle#1}}} \newcommand{\raisebox}[2]{\raise{#1}{\text{#2}}} % for KaTeX \newcommand{\mathmbox}[1]{\mathchoice{\hbox{$\displaystyle#1$}}{\hbox{$\textstyle#1$}}{\hbox{$\scriptstyle#1$}}{\hbox{$\scriptscriptstyle#1$}}} \newcommand{\raise}[2]{\mathchoice{\raisebox{#1}{$\displaystyle#2$}}{\raisebox{#1}{$\textstyle#2$}}{\raisebox{#1}{$\scriptstyle#2$}}{\raisebox{#1}{$\scriptscriptstyle#2$}}} \newcommand{\mathfbox}[1]{\mathchoice{\fbox{$\displaystyle#1$}}{\fbox{$\textstyle#1$}}{\fbox{$\scriptstyle#1$}}{\fbox{$\scriptscriptstyle#1$}}} \newcommand{\mathboxed}[1]{\mathchoice{\boxed{\displaystyle#1}}{\boxed{\textstyle#1}}{\boxed{\scriptstyle#1}}{\boxed{\scriptscriptstyle#1}}} \newcommand{\lower}[2]{\raise{-#1}{#2}}
ちなみに、\mathmakebox
コマンドも MathJax には用意されているが、KaTeX には幅を持たせたボックスを用意するコマンドがないので実現は困難である。
絶対値 \(|x|\) は |x|
ではなく \(\lvert x\rvert\) \lvert x\rvert
とすべきである。なぜなら \(|\) (|
= \vert
) は括弧ではない約物だからである。\(||\) (||
= \Vert
) も同様である。
面倒なら以下のようにマクロにしておくと、さらに伸縮性も備えて便利である。但し、高さが低くなり過ぎないように \mathstrut を挿入しておくことにした。
\newcommand{\abs}[1]{\left\lvert\mathstrut#1\right\rvert} \newcommand{\norm}[1]{\left\lVert\mathstrut#1\right\rVert}\[ \abs{x} \quad{\scriptsize\verb|\abs{x}|} \qquad \abs{\begin{matrix}1&0\\0&1\end{matrix}} \quad{\scriptsize\verb|\abs{\begin{matrix}1&0\\0&1\end{matrix}}|} \] \[ \norm{x} \quad{\scriptsize\verb|\norm{x}|} \qquad \norm{\begin{matrix}1&0\\0&1\end{matrix}} \quad{\scriptsize\verb|\norm{\begin{matrix}1&0\\0&1\end{matrix}}|} \]
このように伸縮性のある(か否かは問わず \left, \right, \middle
を前置可能な)開き括弧・閉じ括弧とその他区切りを以下にあげておく。
MathJax, KaTeX 互いに未サポートがあるが、MathJax では \backslash
があるのに \mathslash
がない。
水平方向に伸縮可能な矢印は以下の通りである。
\[ \xleftarrow[a\cdots b]{x\cdots y}\quad{\scriptsize\verb|\xleftarrow[a\cdots b]{x\cdots y}|} \qquad \xrightarrow[a\cdots b]{x\cdots y}\quad{\scriptsize\verb|\xrightarrow[a\cdots b]{x\cdots y}|} \qquad \xleftrightarrow[a\cdots b]{x\cdots y}\quad{\scriptsize\verb|\xleftrightarrow[a\cdots b]{x\cdots y}|} \] \[ \xtwoheadleftarrow[a\cdots b]{x\cdots y}\quad{\scriptsize\verb|\xtwoheadleftarrow[a\cdots b]{x\cdots y}|} \qquad \xtwoheadrightarrow[a\cdots b]{x\cdots y}\quad{\scriptsize\verb|\xtwoheadrightarrow[a\cdots b]{x\cdots y}|} \] \[ \xlongequal[a\cdots b]{x\cdots y}\quad{\scriptsize\verb|\xlongequal[a\cdots b]{x\cdots y}|} \]MathJax と比べて KaTeX が既定で大変充実しているが、MathJax に mathtools パッケージを拡張することでかなり補うことができる。
以下は TeX コマンド名による矢印である。
\[ \begin{matrix} \gets&\to&\implies&\mapsto&\longmapsto&\leadsto&\restriction&\iff\\ {\scriptsize\verb|\gets|}&{\scriptsize\verb|\to|}&{\scriptsize\verb|\implies|}&{\scriptsize\verb|\mapsto|}&{\scriptsize\verb|\longmapsto|}&{\scriptsize\verb|\leadsto|}&{\scriptsize\verb|\restriction|}&{\scriptsize\verb|\iff|}\\ \leftharpoondown&\leftharpoonup&\rightharpoondown&\rightharpoonup&\downharpoonleft&\downharpoonright&\upharpoonleft&\upharpoonright\\ {\scriptsize\verb|\leftharpoondown|}&{\scriptsize\verb|\leftharpoonup|}&{\scriptsize\verb|\rightharpoondown|}&{\scriptsize\verb|\rightharpoonup|}&{\scriptsize\verb|\downharpoonleft|}&{\scriptsize\verb|\downharpoonright|}&{\scriptsize\verb|\upharpoonleft|}&{\scriptsize\verb|\upharpoonright|}\\ \leftarrow&\leftrightarrow&\rightarrow&\downarrow&\updownarrow&\uparrow&\swarrow&\searrow&\nwarrow&\nearrow\\ {\scriptsize\verb|\leftarrow|}&{\scriptsize\verb|\leftrightarrow|}&{\scriptsize\verb|\rightarrow|}&{\scriptsize\verb|\downarrow|}&{\scriptsize\verb|\updownarrow|}&{\scriptsize\verb|\uparrow|}&{\scriptsize\verb|\swarrow|}&{\scriptsize\verb|\searrow|}&{\scriptsize\verb|\nwarrow|}&{\scriptsize\verb|\nearrow|}\\ \leftleftarrows&\leftrightarrows&\rightrightarrows&\rightleftarrows&\downdownarrows&\upuparrows\\ {\scriptsize\verb|\leftleftarrows|}&{\scriptsize\verb|\leftrightarrows|}&{\scriptsize\verb|\rightrightarrows|}&{\scriptsize\verb|\rightleftarrows|}&{\scriptsize\verb|\downdownarrows|}&{\scriptsize\verb|\upuparrows|}\\ \Leftarrow&\Leftrightarrow&\Rightarrow&\Downarrow&\Updownarrow&\Uparrow\\ {\scriptsize\verb|\Leftarrow|}&{\scriptsize\verb|\Leftrightarrow|}&{\scriptsize\verb|\Rightarrow|}&{\scriptsize\verb|\Downarrow|}&{\scriptsize\verb|\Updownarrow|}&{\scriptsize\verb|\Uparrow|}\\ \longleftarrow&\longleftrightarrow&\longrightarrow&& \Longleftarrow&\Longleftrightarrow&\Longrightarrow\\ {\scriptsize\verb|\longleftarrow|}&{\scriptsize\verb|\longleftrightarrow|}&{\scriptsize\verb|\longrightarrow|}&& {\scriptsize\verb|\Longleftarrow|}&{\scriptsize\verb|\Longleftrightarrow|}&{\scriptsize\verb|\Longrightarrow|}\\ \nleftarrow&\nleftrightarrow&\nrightarrow&& \nLeftarrow&\nLeftrightarrow&\nRightarrow\\ {\scriptsize\verb|\nleftarrow|}&{\scriptsize\verb|\nleftrightarrow|}&{\scriptsize\verb|\nrightarrow|}&& {\scriptsize\verb|\nLeftarrow|}&{\scriptsize\verb|\nLeftrightarrow|}&{\scriptsize\verb|\nRightarrow|}\\ \leftarrowtail&\rightarrowtail& \leftrightsquigarrow&\rightsquigarrow& \leftrightharpoons&\rightleftharpoons& \Lsh&\Rsh\\ {\scriptsize\verb|\leftarrowtail|}&{\scriptsize\verb|\rightarrowtail|}& {\scriptsize\verb|\leftrightsquigarrow|}&{\scriptsize\verb|\rightsquigarrow|}& {\scriptsize\verb|\leftrightharpoons|}&{\scriptsize\verb|\rightleftharpoons|}& {\scriptsize\verb|\Lsh|}&{\scriptsize\verb|\Rsh|}\\ \circlearrowleft&\circlearrowright& \curvearrowleft&\curvearrowright& \dashleftarrow&\dashrightarrow& \hookleftarrow&\hookrightarrow\\ {\scriptsize\verb|\circlearrowleft|}&{\scriptsize\verb|\circlearrowright|}& {\scriptsize\verb|\curvearrowleft|}&{\scriptsize\verb|\curvearrowright|}& {\scriptsize\verb|\dashleftarrow|}&{\scriptsize\verb|\dashrightarrow|}& {\scriptsize\verb|\hookleftarrow|}&{\scriptsize\verb|\hookrightarrow|}\\ \looparrowleft&\looparrowright& \twoheadleftarrow&\twoheadrightarrow& \Lleftarrow&\Rrightarrow\\ {\scriptsize\verb|\looparrowleft|}&{\scriptsize\verb|\looparrowright|}& {\scriptsize\verb|\twoheadleftarrow|}&{\scriptsize\verb|\twoheadrightarrow|}& {\scriptsize\verb|\Lleftarrow|}&{\scriptsize\verb|\Rrightarrow|}\\ \end{matrix} \]MathJax と KaTeX で装備されているフォントには違いがある。以下に表示しておこう。
\[ \begin{array}{rl} \verb|\mathcal: |&\mathcal{ 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz }\\ \verb|\mathbb: |&\mathbb{ 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz }\\ \verb|\mathtt: |&\mathtt{ 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz }\\ \verb|\mathfrak: |&\mathfrak{ 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz }\\ \verb|\mathit: |&\mathit{ 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz }\\ \verb|\mathrm: |&\mathrm{ 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz }\\ \verb|\mathbf: |&\mathbf{ 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz }\\ \verb|\mathsf: |&\mathsf{ 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz }\\ \end{array} \]MathJax の方が充実していることが、小文字の対応済みの様子でわかる。
他にも多くの演算子が TeX パッケージ等で定義されているので、Symbols defined by unicode-math が参考になるだろう。いくつか定義しておく。
\newcommand{\curvearrowleftplus}{\mathbin{⤽}} \newcommand{\doubleplus}{\mathbin{⧺}} \newcommand{\tripleplus}{\mathbin{⧻}} \newcommand{\triangleplus}{\mathbin{⨹}} \newcommand{\subsetplus}{\mathbin{⪿}} \newcommand{\supsetplus}{\mathbin{⫀}} \newcommand{\dotminus}{\mathbin{∸}} \newcommand{\curvearrowrightminus}{\mathbin{⤼}} \newcommand{\commaminus}{\mathbin{⨩}} \newcommand{\minusdot}{\mathbin{⨪}} \newcommand{\minusfdots}{\mathbin{⨫}} \newcommand{\minusrdots}{\mathbin{⨬}} \newcommand{\triangleminus}{\mathbin{⨺}} \newcommand{\uminus}{\mathbin{⩁}} \newcommand{\simminussim}{\mathbin{⩬}} \newcommand{\lozengeminus}{\mathbin{⟠}} \newcommand{\lftimes}{\mathbin{⧔}} \newcommand{\rftimes}{\mathbin{⧕}} \newcommand{\btimes}{\mathbin{⨲}} \newcommand{\shuffle}{\mathbin{⧢}} \newcommand{\intprod}{\mathbin{⨼}} \newcommand{\intprodr}{\mathbin{⨽}} \newcommand{\smashtimes}{\mathbin{⨳}} \newcommand{\closedvarcupsmashprod}{\mathbin{⩐}} \newcommand{\dottimes}{\mathbin{⨰}} \newcommand{\timesbar}{\mathbin{⨱}} \newcommand{\triangletimes}{\mathbin{⨻}} \newcommand{\submult}{\mathbin{⫁}} \newcommand{\supmult}{\mathbin{⫂}} \newcommand{\obot}{\mathbin{⦺}} \newcommand{\odotslashdot}{\mathbin{⦼}} \newcommand{\odiv}{\mathbin{⨸}}\[ \begin{array}{llllllll} A\curvearrowleftplus B &\verb|\curvearrowleftplus| & A\doubleplus B &\verb|\doubleplus| & A\tripleplus B &\verb|\tripleplus| & A\triangleplus B &\verb|\triangleplus| \\ A\subsetplus B &\verb|\subsetplus| & A\supsetplus B &\verb|\supsetplus| & &\\ A\dotminus B &\verb|\dotminus| & A\curvearrowrightminus B &\verb|\curvearrowrightminus| & A\commaminus B &\verb|\commaminus| & A\minusdot B &\verb|\minusdot| \\ A\minusfdots B &\verb|\minusfdots| & A\minusrdots B &\verb|\minusrdots| & A\triangleminus B &\verb|\triangleminus| & A\uminus B &\verb|\uminus| \\ A\simminussim B &\verb|\simminussim| & A\lozengeminus B &\verb|\lozengeminus| & &\\ A\lftimes B &\verb|\lftimes| & A\rftimes B &\verb|\rftimes| & A\shuffle B &\verb|\shuffle| & A\btimes B &\verb|\btimes| \\ A\smashtimes B &\verb|\smashtimes| & A\intprod B &\verb|\intprod| & A\intprodr B &\verb|\intprodr| & A\closedvarcupsmashprod B &\verb|\closedvarcupsmashprod| \\ A\dottimes B &\verb|\dottimes| & A\timesbar B &\verb|\timesbar| & A\triangletimes B &\verb|\triangletimes| \\ A\submult B &\verb|\submult| & A\supmult B &\verb|\supmult| & &\\ A\obot B &\verb|\obot| & A\odotslashdot B &\verb|\odotslashdot| & A\odiv B &\verb|\odiv| \\ \end{array} \]
\overparen, \underparen
\overbrace, \underbrace
\overgroup, \undergroup
MathJax では \*group
は未サポート。KaTeX では \*bracket
は未サポート。
これらはレイアウトは別として Unicode でコードポイントに割り当てられているので、一応コマンド名を付けておいた。
U+023B4
⎴ \(\UCoverbracket\) \UCoverbracket
top square bracketU+023B5
⎵ \(\UCunderbracket\) \UCunderbracket
bottom square bracketU+023DC
⏜ \(\UCoverparen\) \UCoverparen
top parenthesis (mathematical use)U+023DD
⏝ \(\UCunderparen\) \UCunderparen
bottom parenthesis (mathematical use)U+023DE
⏞ \(\UCoverbrace\) \UCoverbrace
top curly bracket (mathematical use)U+023DF
⏟ \(\UCunderbrace\) \UCunderbrace
bottom curly bracket (mathematical use)U+023E0
⏠ \(\UCoverrbrbraket\) \UCoverrbrbraket
top tortoise shell bracket (mathematical use)U+023E1
⏡ \(\UCunderrbrbraket\) \UCunderrbrbraket
bottom tortoise shell bracket (mathematical use)これは理屈の上では、Unicode の合字を使えば TeX のコマンドとして実現可能であるが、合字の結果をみると、KaTeX ではなぜか所々成功しない。これは現時点で謎である。KaTeX サポートの \char
コマンドで回避できることが判り、サロゲートペア以外の Unicode 問題は解決したと思われる。品質はどうあれとにかく、以下の合字のコマンド名をすべて TeX の命名慣習に倣って定義しておいた。
U+00300
𝑥̀ 𝐶̀ grave accentU+00301
𝑥́ 𝐶́ acute accentU+00302
𝑥̂ 𝐶̂ circumflexU+00303
𝑥̃ 𝐶̃ tildeU+00304
𝑥̄ 𝐶̄ macronU+00305
𝑥̅ 𝐶̅ overlineU+00306
𝑥̆ 𝐶̆ breveU+00307
𝑥̇ 𝐶̇ dot aboveU+00308
𝑥̈ 𝐶̈ diaeresisU+00309
𝑥̉ 𝐶̉ hook aboveU+0030A
𝑥̊ 𝐶̊ ring aboveU+0030B
𝑥̋ 𝐶̋ double acuteU+0030C
𝑥̌ 𝐶̌ caronU+0030D
𝑥̍ 𝐶̍ vertical line aboveU+0030E
𝑥̎ 𝐶̎ double vertical line aboveU+0030F
𝑥̏ 𝐶̏ double graveU+00310
𝑥̐ 𝐶̐ candrabinduU+00311
𝑥̑ 𝐶̑ inverted breveU+00312
𝑥̒ 𝐶̒ turned comma aboveU+00313
𝑥̓ 𝐶̓ comma aboveU+00314
𝑥̔ 𝐶̔ reversed commaU+00315
𝑥̕ 𝐶̕ comma above rightU+00316
𝑥̖ 𝐶̖ grave accent belowU+00317
𝑥̗ 𝐶̗ acute accent belowU+00318
𝑥̘ 𝐶̘ left tack belowU+00319
𝑥̙ 𝐶̙ right tack belowU+0031A
𝑥̚ 𝐶̚ left angle aboveU+0031B
𝑥̛ 𝐶̛ hornU+0031C
𝑥̜ 𝐶̜ left half ring belowU+0031D
𝑥̝ 𝐶̝ up tack belowU+0031E
𝑥̞ 𝐶̞ down tack belowU+0031F
𝑥̟ 𝐶̟ plus sign belowU+00320
𝑥̠ 𝐶̠ minus sign belowU+00321
𝑥̡ 𝐶̡ palatalized hook belowU+00322
𝑥̢ 𝐶̢ retroflex hook belowU+00323
𝑥̣ 𝐶̣ dot belowU+00324
𝑥̤ 𝐶̤ diaeresis belowU+00325
𝑥̥ 𝐶̥ ring belowU+00326
𝑥̦ 𝐶̦ comma belowU+00327
𝑥̧ 𝐶̧ cedillaU+00328
𝑥̨ 𝐶̨ ogonekU+00329
𝑥̩ 𝐶̩ vertical line belowU+0032A
𝑥̪ 𝐶̪ bridge belowU+0032B
𝑥̫ 𝐶̫ inverted double arch belowU+0032C
𝑥̬ 𝐶̬ caron belowU+0032D
𝑥̭ 𝐶̭ circumflex accent belowU+0032E
𝑥̮ 𝐶̮ breve belowU+0032F
𝑥̯ 𝐶̯ inverted breve belowU+00330
𝑥̰ 𝐶̰ tilde belowU+00331
𝑥̱ 𝐶̱ macron belowU+00332
𝑥̲ 𝐶̲ low lineU+00333
𝑥̳ 𝐶̳ double low lineU+00334
𝑥̴ 𝐶̴ tilde overlayU+00335
𝑥̵ 𝐶̵ short stroke overlayU+00336
𝑥̶ 𝐶̶ long stroke overlayU+00337
𝑥̷ 𝐶̷ short solidus overlayU+00338
𝑥̸ 𝐶̸ long solidus overlayU+00339
𝑥̹ 𝐶̹ right half ring belowU+0033A
𝑥̺ 𝐶̺ inverted bridge belowU+0033B
𝑥̻ 𝐶̻ square belowU+0033C
𝑥̼ 𝐶̼ seagull belowU+0033D
𝑥̽ 𝐶̽ x aboveU+0033E
𝑥̾ 𝐶̾ vertical tildeU+0033F
𝑥̿ 𝐶̿ double overlineU+00340
𝑥̀ 𝐶̀ grave tone markU+00341
𝑥́ 𝐶́ acute tone markU+00342
𝑥͂ 𝐶͂ greek perispomeniU+00343
𝑥̓ 𝐶̓ greek koronisU+00344
𝑥̈́ 𝐶̈́ greek dialytika tonosU+00345
𝑥ͅ 𝐶ͅ greek ypogegrammeniU+00346
𝑥͆ 𝐶͆ bridge aboveU+00347
𝑥͇ 𝐶͇ equals sign belowU+00348
𝑥͈ 𝐶͈ double vertical line belowU+00349
𝑥͉ 𝐶͉ left angle belowU+0034A
𝑥͊ 𝐶͊ not tilde aboveU+0034B
𝑥͋ 𝐶͋ homothetic aboveU+0034C
𝑥͌ 𝐶͌ almost equal to aboveU+0034D
𝑥͍ 𝐶͍ left right arrow belowU+0034E
𝑥͎ 𝐶͎ upwards arrow belowU+00350
𝑥͐ 𝐶͐ right arrowhead aboveU+00351
𝑥͑ 𝐶͑ left half ring aboveU+00352
𝑥͒ 𝐶͒ fermataU+00353
𝑥͓ 𝐶͓ x belowU+00354
𝑥͔ 𝐶͔ left arrowhead belowU+00355
𝑥͕ 𝐶͕ right arrowhead belowU+00356
𝑥͖ 𝐶͖ right arrowhead and up arrowhead belowU+00357
𝑥͗ 𝐶͗ right half ring aboveU+00358
𝑥͘ 𝐶͘ dot above rightU+00359
𝑥͙ 𝐶͙ asterisk belowU+0035A
𝑥͚ 𝐶͚ double ring belowU+0035B
𝑥͛ 𝐶͛ zigzag aboveU+0035C
𝑥͜ 𝐶͜ double breve belowU+0035D
𝑥͝ 𝐶͝ double breveU+0035E
𝑥͞ 𝐶͞ double macronU+0035F
𝑥͟ 𝐶͟ double macron belowU+00360
𝑥͠ 𝐶͠ double tildeU+00361
𝑥͡ 𝐶͡ double inverted breveU+00362
𝑥͢ 𝐶͢ double rightwards arrow belowU+00363
𝑥ͣ 𝐶ͣ latin small letter aU+00364
𝑥ͤ 𝐶ͤ latin small letter eU+00365
𝑥ͥ 𝐶ͥ latin small letter iU+00366
𝑥ͦ 𝐶ͦ latin small letter oU+00367
𝑥ͧ 𝐶ͧ latin small letter uU+00368
𝑥ͨ 𝐶ͨ latin small letter cU+00369
𝑥ͩ 𝐶ͩ latin small letter dU+0036A
𝑥ͪ 𝐶ͪ latin small letter hU+0036B
𝑥ͫ 𝐶ͫ latin small letter mU+0036C
𝑥ͬ 𝐶ͬ latin small letter rU+0036D
𝑥ͭ 𝐶ͭ latin small letter tU+0036E
𝑥ͮ 𝐶ͮ latin small letter vU+0036F
𝑥ͯ 𝐶ͯ latin small letter xU+01AB0
𝑥᪰ 𝐶᪰ doubled circumflex accentU+01AB1
𝑥᪱ 𝐶᪱ diaeresis-ringU+01AB2
𝑥᪲ 𝐶᪲ infinityU+01AB3
𝑥᪳ 𝐶᪳ downwards arrowU+01AB4
𝑥᪴ 𝐶᪴ triple dotU+01AB5
𝑥᪵ 𝐶᪵ x-x belowU+01AB6
𝑥᪶ 𝐶᪶ wiggly line belowU+01AB7
𝑥᪷ 𝐶᪷ open mark belowU+01AB8
𝑥᪸ 𝐶᪸ double open mark belowU+01AB9
𝑥᪹ 𝐶᪹ light centralization stroke belowU+01ABA
𝑥᪺ 𝐶᪺ strong centralization stroke belowU+01ABB
𝑥᪻ 𝐶᪻ parentheses aboveU+01ABC
𝑥᪼ 𝐶᪼ double parentheses aboveU+01ABD
𝑥᪽ 𝐶᪽ parentheses belowU+01ABE
𝑥᪾ 𝐶᪾ parentheses overlayU+01ABF
𝑥ᪿ 𝐶ᪿ latin small letter w belowU+01AC0
𝑥ᫀ 𝐶ᫀ latin small letter turned w belowU+01DC0
𝑥᷀ 𝐶᷀ dotted grave accentU+01DC1
𝑥᷁ 𝐶᷁ dotted acute accentU+01DC2
𝑥᷂ 𝐶᷂ snake belowU+01DC3
𝑥᷃ 𝐶᷃ suspension markU+01DC4
𝑥᷄ 𝐶᷄ macron-acuteU+01DC5
𝑥᷅ 𝐶᷅ grave-macronU+01DC6
𝑥᷆ 𝐶᷆ macron-graveU+01DC7
𝑥᷇ 𝐶᷇ acute-macronU+01DC8
𝑥᷈ 𝐶᷈ grave-acute-graveU+01DC9
𝑥᷉ 𝐶᷉ acute-grave-acuteU+01DCA
𝑥᷊ 𝐶᷊ latin small letter r belowU+01DCB
𝑥᷋ 𝐶᷋ breve-macronU+01DCC
𝑥᷌ 𝐶᷌ macron-breveU+01DCD
𝑥᷍ 𝐶᷍ double circumflex aboveU+01DCE
𝑥᷎ 𝐶᷎ oogonek aboveU+01DCF
𝑥᷏ 𝐶᷏ zigzag belowU+01DD0
𝑥᷐ 𝐶᷐ is belowU+01DD1
𝑥᷑ 𝐶᷑ ur aboveU+01DD2
𝑥᷒ 𝐶᷒ us aboveU+01DD3
𝑥ᷓ 𝐶ᷓ latin small letter flattened open a aboveU+01DD4
𝑥ᷔ 𝐶ᷔ latin small letter aeU+01DD5
𝑥ᷕ 𝐶ᷕ latin small letter aoU+01DD6
𝑥ᷖ 𝐶ᷖ latin small letter avU+01DD7
𝑥ᷗ 𝐶ᷗ latin small letter c cedillaU+01DD8
𝑥ᷘ 𝐶ᷘ latin small letter insular dU+01DD9
𝑥ᷙ 𝐶ᷙ latin small letter ethU+01DDA
𝑥ᷚ 𝐶ᷚ latin small letter gU+01DDB
𝑥ᷛ 𝐶ᷛ latin letter small capital gU+01DDC
𝑥ᷜ 𝐶ᷜ latin small letter kU+01DDD
𝑥ᷝ 𝐶ᷝ latin small letter lU+01DDE
𝑥ᷞ 𝐶ᷞ latin letter small capital lU+01DDF
𝑥ᷟ 𝐶ᷟ latin letter small capital mU+01DE0
𝑥ᷠ 𝐶ᷠ latin small letter nU+01DE1
𝑥ᷡ 𝐶ᷡ latin letter small capital nU+01DE2
𝑥ᷢ 𝐶ᷢ latin letter small capital rU+01DE3
𝑥ᷣ 𝐶ᷣ latin small letter r rotundaU+01DE4
𝑥ᷤ 𝐶ᷤ latin small letter sU+01DE5
𝑥ᷥ 𝐶ᷥ latin small letter long sU+01DE6
𝑥ᷦ 𝐶ᷦ latin small letter zU+01DE7
𝑥ᷧ 𝐶ᷧ latin small letter alphaU+01DE8
𝑥ᷨ 𝐶ᷨ latin small letter bU+01DE9
𝑥ᷩ 𝐶ᷩ latin small letter betaU+01DEA
𝑥ᷪ 𝐶ᷪ latin small letter schwaU+01DEB
𝑥ᷫ 𝐶ᷫ latin small letter fU+01DEC
𝑥ᷬ 𝐶ᷬ latin small letter l with double middle tildeU+01DED
𝑥ᷭ 𝐶ᷭ latin small letter o with light centralization strokeU+01DEE
𝑥ᷮ 𝐶ᷮ latin small letter pU+01DEF
𝑥ᷯ 𝐶ᷯ latin small letter eshU+01DF0
𝑥ᷰ 𝐶ᷰ latin small letter u with light centralization strokeU+01DF1
𝑥ᷱ 𝐶ᷱ latin small letter wU+01DF2
𝑥ᷲ 𝐶ᷲ latin small letter a with diaeresisU+01DF3
𝑥ᷳ 𝐶ᷳ latin small letter o with diaeresisU+01DF4
𝑥ᷴ 𝐶ᷴ latin small letter u with diaeresisU+01DF5
𝑥᷵ 𝐶᷵ up tack aboveU+01DF6
𝑥᷶ 𝐶᷶ kavyka above rightU+01DF7
𝑥᷷ 𝐶᷷ kavyka above leftU+01DF8
𝑥᷸ 𝐶᷸ dot above leftU+01DF9
𝑥᷹ 𝐶᷹ wide inverted bridge belowU+01DFB
𝑥᷻ 𝐶᷻ deletion markU+01DFC
𝑥᷼ 𝐶᷼ double inverted breve belowU+01DFD
𝑥᷽ 𝐶᷽ almost equal to belowU+01DFE
𝑥᷾ 𝐶᷾ left arrowhead aboveU+01DFF
𝑥᷿ 𝐶᷿ right arrowhead and down arrowhead belowU+020D0
𝑥⃐ 𝐶⃐ left harpoon aboveU+020D1
𝑥⃑ 𝐶⃑ right harpoon aboveU+020D2
𝑥⃒ 𝐶⃒ long vertical line overlayU+020D3
𝑥⃓ 𝐶⃓ short vertical line overlayU+020D4
𝑥⃔ 𝐶⃔ anticlockwise arrow aboveU+020D5
𝑥⃕ 𝐶⃕ clockwise arrow aboveU+020D6
𝑥⃖ 𝐶⃖ left arrow aboveU+020D7
𝑥⃗ 𝐶⃗ right arrow aboveU+020D8
𝑥⃘ 𝐶⃘ ring overlayU+020D9
𝑥⃙ 𝐶⃙ clockwise ring overlayU+020DA
𝑥⃚ 𝐶⃚ anticlockwise ring overlayU+00307
𝑥̇ 𝐶̇ dot aboveU+00308
𝑥̈ 𝐶̈ diaeresisU+020DB
𝑥⃛ 𝐶⃛ three dots aboveU+020DC
𝑥⃜ 𝐶⃜ four dots aboveU+020DD
𝑥⃝ 𝐶⃝ enclosing circleU+020DE
𝑥⃞ 𝐶⃞ enclosing squareU+020DF
𝑥⃟ 𝐶⃟ enclosing diamondU+020E0
𝑥⃠ 𝐶⃠ enclosing circle backslashU+020E1
𝑥⃡ 𝐶⃡ left right arrow aboveU+020E2
𝑥⃢ 𝐶⃢ enclosing screenU+020E3
𝑥⃣ 𝐶⃣ enclosing keycapU+020E4
𝑥⃤ 𝐶⃤ enclosing upward pointing triangleU+020E5
𝑥⃥ 𝐶⃥ reverse solidus overlayU+020E6
𝑥⃦ 𝐶⃦ double vertical stroke overlayU+020E7
𝑥⃧ 𝐶⃧ annuity symbolU+020E8
𝑥⃨ 𝐶⃨ triple underdotU+020E9
𝑥⃩ 𝐶⃩ leftwards arrow overlayU+020EA
𝑥⃪ 𝐶⃪ leftwards arrow overlayU+020EB
𝑥⃫ 𝐶⃫ long double solidus overlayU+020EC
𝑥⃬ 𝐶⃬ rightwards harpoon with barb downwardsU+020ED
𝑥⃭ 𝐶⃭ leftwards harpoon with barb downwardsU+020EE
𝑥⃮ 𝐶⃮ left arrow belowU+020EF
𝑥⃯ 𝐶⃯ right arrow belowU+020F0
𝑥⃰ 𝐶⃰ asterisk above上記は非常に長いので、文献「Will Robertson, “Symbols defined by unicode-math,” 2019」にて定義されているもののみ以下に再掲する。
U+00300
𝑥̀ \(\grave{x}\) \grave
grave accentU+00300
𝑥̀ \(\UCgrave{x}\) \UCgrave
grave accentU+00301
𝑥́ \(\acute{x}\) \acute
acute accentU+00301
𝑥́ \(\UCacute{x}\) \UCacute
acute accentU+00302
𝑥̂ \(\hat{x}\) \hat
circumflex accentU+00302
𝑥̂ \(\UChat{x}\) \UChat
circumflex accentU+00303
𝑥̃ \(\tilde{x}\) \tilde
tildeU+00303
𝑥̃ \(\UCtilde{x}\) \UCtilde
tildeU+00304
𝑥̄ \(\bar{x}\) \bar
macronU+00304
𝑥̄ \(\UCbar{x}\) \UCbar
macronU+00305
𝑥̅ \(\overbar{x}\) \overbar
overbar embellishmentU+00306
𝑥̆ \(\breve{x}\) \breve
breveU+00306
𝑥̆ \(\UCbreve{x}\) \UCbreve
breveU+00307
𝑥̇ \(\dot{x}\) \dot
dot aboveU+00307
𝑥̇ \(\UCdot{x}\) \UCdot
dot aboveU+00308
𝑥̈ \(\ddot{x}\) \ddot
dieresisU+00308
𝑥̈ \(\UCddot{x}\) \UCddot
dieresisU+00309
𝑥̉ \(\ovhook{x}\) \ovhook
hook aboveU+0030A
𝑥̊ \(\ocirc{x}\) \ocirc
ringU+0030C
𝑥̌ \(\check{x}\) \check
caronU+0030C
𝑥̌ \(\UCcheck{x}\) \UCcheck
caronU+00310
𝑥̐ \(\candra{x}\) \candra
candrabindu (non-spacing)U+00312
𝑥̒ \(\oturnedcomma{x}\) \oturnedcomma
turned comma aboveU+00315
𝑥̕ \(\ocommatopright{x}\) \ocommatopright
comma above rightU+0031A
𝑥̚ \(\droang{x}\) \droang
left angle above (non-spacing)U+020D0
𝑥⃐ \(\leftharpoonaccent{x}\) \leftharpoonaccent
left harpoon aboveU+020D1
𝑥⃑ \(\rightharpoonaccent{x}\) \rightharpoonaccent
right harpoon aboveU+020D2
𝑥⃒ \(\vertoverlay{x}\) \vertoverlay
long vertical line overlayU+020D7
𝑥⃗ \(\vec{x}\) \vec
right arrow aboveU+020D7
𝑥⃗ \(\UCvec{x}\) \UCvec
right arrow aboveU+020DB
𝑥⃛ \(\dddot{x}\) \dddot
three dots aboveU+020DB
𝑥⃛ \(\UCdddot{x}\) \UCdddot
three dots aboveU+020DC
𝑥⃜ \(\ddddot{x}\) \ddddot
four dots aboveU+020DC
𝑥⃜ \(\UCddddot{x}\) \UCddddot
four dots aboveU+020E7
𝑥⃧ \(\annuity{x}\) \annuity
annuity symbolU+020E9
𝑥⃩ \(\widebridgeabove{x}\) \widebridgeabove
wide bridge aboveU+020F0
𝑥⃰ \(\asteraccent{x}\) \asteraccent
asterisk aboveU+020E8
𝑥⃨ \(\threeunderdot{x}\) \threeunderdot
triple underdot以下に、コマンド名が定義されているほぼすべてのグリフを Unicode を利用して印字してみる。ちなみに、現時点では KaTeX において印字内容が大幅に削られている。それは、Unicode の UTF-16 のサロゲートペアを用いたグリフの処理に問題があるようで、以下のようなエラーで処理が中断されてしまうからである。
Uncaught Error: Font metrics not found for font: . LaTeX-incompatible input and strict mode is set to 'warn': Unrecognized Unicode character "U+D835" (55349) [unknownSymbol]
U+00021
! \(\mathexclam\) \mathexclam
exclamation markU+00028
( \(\lparen\) \lparen
left parenthesisU+00029
) \(\rparen\) \rparen
right parenthesisU+0005B
[ \(\lbrack\) \lbrack
left square bracketU+0005D
] \(\rbrack\) \rbrack
right square bracketU+0007B
{ \(\lbrace\) \lbrace
left curly bracketU+0007D
} \(\rbrace\) \rbrace
right curly bracketU+0221A
√ \(\sqrt{}\) \sqrt{}
radicalU+0221B
∛ \(\cuberoot\) \cuberoot
cube rootU+0221C
∜ \(\fourthroot\) \fourthroot
fourth rootU+02308
⌈ \(\lceil\) \lceil
left ceilingU+02309
⌉ \(\rceil\) \rceil
right ceilingU+0230A
⌊ \(\lfloor\) \lfloor
left floorU+0230B
⌋ \(\rfloor\) \rfloor
right floorU+0231C
⌜ \(\ulcorner\) \ulcorner
upper left cornerU+0231D
⌝ \(\urcorner\) \urcorner
upper right cornerU+0231E
⌞ \(\llcorner\) \llcorner
lower left cornerU+0231F
⌟ \(\lrcorner\) \lrcorner
lower right cornerU+023B0
⎰ \(\lmoustache\) \lmoustache
upper left or lower right curly bracket sectionU+023B1
⎱ \(\rmoustache\) \rmoustache
upper right or lower left curly bracket sectionU+02772
❲ \(\lbrbrak\) \lbrbrak
light left tortoise shell bracket ornamentU+02773
❳ \(\rbrbrak\) \rbrbrak
light right tortoise shell bracket ornamentU+027C5
⟅ \(\lbag\) \lbag
left s-shaped bag delimiterU+027C6
⟆ \(\rbag\) \rbag
right s-shaped bag delimiterU+027CC
⟌ \(\longdivision\) \longdivision
long divisionU+027E6
⟦ \(\lBrack\) \lBrack
mathematical left white square bracketU+027E7
⟧ \(\rBrack\) \rBrack
mathematical right white square bracketU+027E8
⟨ \(\langle\) \langle
mathematical left angle bracketU+027E9
⟩ \(\rangle\) \rangle
mathematical right angle bracketU+027EA
⟪ \(\lAngle\) \lAngle
mathematical left double angle bracketU+027EB
⟫ \(\rAngle\) \rAngle
mathematical right double angle bracketU+027EC
⟬ \(\Lbrbrak\) \Lbrbrak
mathematical left white tortoise shell bracketU+027ED
⟭ \(\Rbrbrak\) \Rbrbrak
mathematical right white tortoise shell bracketU+027EE
⟮ \(\lgroup\) \lgroup
mathematical left flattened parenthesisU+027EF
⟯ \(\rgroup\) \rgroup
mathematical right flattened parenthesisU+02983
⦃ \(\lBrace\) \lBrace
left white curly bracketU+02984
⦄ \(\rBrace\) \rBrace
right white curly bracketU+02985
⦅ \(\lParen\) \lParen
left white parenthesisU+02986
⦆ \(\rParen\) \rParen
right white parenthesisU+02987
⦇ \(\llparenthesis\) \llparenthesis
z notation left image bracketU+02988
⦈ \(\rrparenthesis\) \rrparenthesis
z notation right image bracketU+02989
⦉ \(\llangle\) \llangle
z notation left binding bracketU+0298A
⦊ \(\rrangle\) \rrangle
z notation right binding bracketU+0298B
⦋ \(\lbrackubar\) \lbrackubar
left square bracket with underbarU+0298C
⦌ \(\rbrackubar\) \rbrackubar
right square bracket with underbarU+0298D
⦍ \(\lbrackultick\) \lbrackultick
left square bracket with tick in top cornerU+0298E
⦎ \(\rbracklrtick\) \rbracklrtick
right square bracket with tick in bottom cornerU+0298F
⦏ \(\lbracklltick\) \lbracklltick
left square bracket with tick in bottom cornerU+02990
⦐ \(\rbrackurtick\) \rbrackurtick
right square bracket with tick in top cornerU+02991
⦑ \(\langledot\) \langledot
left angle bracket with dotU+02992
⦒ \(\rangledot\) \rangledot
right angle bracket with dotU+02993
⦓ \(\lparenless\) \lparenless
left arc less-than bracketU+02994
⦔ \(\rparengtr\) \rparengtr
right arc greater-than bracketU+02995
⦕ \(\Lparengtr\) \Lparengtr
double left arc greater-than bracketU+02996
⦖ \(\Rparenless\) \Rparenless
double right arc less-than bracketU+02997
⦗ \(\lblkbrbrak\) \lblkbrbrak
left black tortoise shell bracketU+02998
⦘ \(\rblkbrbrak\) \rblkbrbrak
right black tortoise shell bracketU+029D8
⧘ \(\lvzigzag\) \lvzigzag
left wiggly fenceU+029D9
⧙ \(\rvzigzag\) \rvzigzag
right wiggly fenceU+029DA
⧚ \(\Lvzigzag\) \Lvzigzag
left double wiggly fenceU+029DB
⧛ \(\Rvzigzag\) \Rvzigzag
right double wiggly fenceU+029FC
⧼ \(\lcurvyangle\) \lcurvyangle
left pointing curved angle bracketU+029FD
⧽ \(\rcurvyangle\) \rcurvyangle
right pointing curved angle bracketU+0007C
| \(\vert\) \vert
vertical barU+02016
‖ \(\Vert\) \Vert
double vertical barU+02980
⦀ \(\Vvert\) \Vvert
triple vertical bar delimiterU+0002C
, \(\mathcomma\) \mathcomma
commaU+0003A
: \(\mathcolon\) \mathcolon
colonU+0003B
; \(\mathsemicolon\) \mathsemicolon
semicolonU+0002B
+ \(x\mathplus y\) \mathplus
plus sign b:U+000B1
± \(x\pm y\) \pm
plus-or-minus signU+000B7
· \(x\cdotp y\) \cdotp
/centerdot b: middle dotU+000D7
× \(x\times y\) \times
multiply signU+000F7
÷ \(x\div y\) \div
divide signU+02020
† \(x\dagger y\) \dagger
dagger relationU+02021
‡ \(x\ddagger y\) \ddagger
double dagger relationU+02022
• \(x\smblkcircle y\) \smblkcircle
/bullet b: round bullet, filledU+02040
⁀ \(x\tieconcat y\) \tieconcat
character tie, z notation sequence concatenationU+02044
⁄ \(x\fracslash y\) \fracslash
fraction slashU+0214B
⅋ \(x\upand y\) \upand
turned ampersandU+02212
− \(x\minus y\) \minus
minus signU+02213
∓ \(x\mp y\) \mp
minus-or-plus signU+02214
∔ \(x\dotplus y\) \dotplus
plus sign, dot aboveU+02215
∕ \(x\divslash y\) \divslash
division slashU+02216
∖ \(x\smallsetminus y\) \smallsetminus
small set minus (cf. reverse solidus)U+02217
∗ \(x\ast y\) \ast
centered asteriskU+02218
∘ \(x\vysmwhtcircle y\) \vysmwhtcircle
composite function (small circle)U+02219
∙ \(x\vysmblkcircle y\) \vysmblkcircle
bullet operatorU+02227
∧ \(x\wedge y\) \wedge
/wedge /land b: logical andU+02228
∨ \(x\vee y\) \vee
/vee /lor b: logical orU+02229
∩ \(x\cap y\) \cap
intersectionU+0222A
∪ \(x\cup y\) \cup
union or logical sumU+02238
∸ \(x\dotminus y\) \dotminus
minus sign, dot aboveU+0223E
∾ \(x\invlazys y\) \invlazys
most positive [inverted lazy s]U+02240
≀ \(x\wr y\) \wr
wreath productU+0228C
⊌ \(x\cupleftarrow y\) \cupleftarrow
multisetU+0228D
⊍ \(x\cupdot y\) \cupdot
union, with dotU+0228E
⊎ \(x\uplus y\) \uplus
plus sign in unionU+02293
⊓ \(x\sqcap y\) \sqcap
square intersectionU+02294
⊔ \(x\sqcup y\) \sqcup
square unionU+02295
⊕ \(x\oplus y\) \oplus
plus sign in circleU+02296
⊖ \(x\ominus y\) \ominus
minus sign in circleU+02297
⊗ \(x\otimes y\) \otimes
multiply sign in circleU+02298
⊘ \(x\oslash y\) \oslash
solidus in circleU+02299
⊙ \(x\odot y\) \odot
middle dot in circleU+0229A
⊚ \(x\circledcirc y\) \circledcirc
small circle in circleU+0229B
⊛ \(x\circledast y\) \circledast
asterisk in circleU+0229C
⊜ \(x\circledequal y\) \circledequal
equal in circleU+0229D
⊝ \(x\circleddash y\) \circleddash
hyphen in circleU+0229E
⊞ \(x\boxplus y\) \boxplus
plus sign in boxU+0229F
⊟ \(x\boxminus y\) \boxminus
minus sign in boxU+022A0
⊠ \(x\boxtimes y\) \boxtimes
multiply sign in boxU+022A1
⊡ \(x\boxdot y\) \boxdot
/dotsquare /boxdot b: small dot in boxU+022BA
⊺ \(x\intercal y\) \intercal
intercalU+022BB
⊻ \(x\veebar y\) \veebar
logical or, bar below (large vee); exclusive disjunctionU+022BC
⊼ \(x\barwedge y\) \barwedge
bar, wedge (large wedge)U+022BD
⊽ \(x\barvee y\) \barvee
bar, vee (large vee)U+022C4
⋄ \(x\smwhtdiamond y\) \smwhtdiamond
white diamondU+022C5
⋅ \(x\cdot y\) \cdot
small middle dotU+022C6
⋆ \(x\star y\) \star
small star, filled, lowU+022C7
⋇ \(x\divideontimes y\) \divideontimes
division on timesU+022C9
⋉ \(x\ltimes y\) \ltimes
times sign, left closedU+022CA
⋊ \(x\rtimes y\) \rtimes
times sign, right closedU+022CB
⋋ \(x\leftthreetimes y\) \leftthreetimes
left semidirect productU+022CC
⋌ \(x\rightthreetimes y\) \rightthreetimes
right semidirect productU+022CE
⋎ \(x\curlyvee y\) \curlyvee
curly logical orU+022CF
⋏ \(x\curlywedge y\) \curlywedge
curly logical andU+022D2
⋒ \(x\Cap y\) \Cap
/cap /doublecap b: double intersectionU+022D3
⋓ \(x\Cup y\) \Cup
/cup /doublecup b: double unionU+02305
⌅ \(x\varbarwedge y\) \varbarwedge
/barwedge b: logical and, bar aboveU+02306
⌆ \(x\vardoublebarwedge y\) \vardoublebarwedge
/doublebarwedge b: logical and, double bar above [perspective (double bar over small wedge)]U+0233D
⌽ \(x\obar y\) \obar
circle with vertical barU+025B3
△ \(x\bigtriangleup y\) \bigtriangleup
big up triangle, openU+025B7
▷ \(x\triangleright y\) \triangleright
(large) right triangle, open; z notation range restrictionU+025C1
◁ \(x\triangleleft y\) \triangleleft
(large) left triangle, open; z notation domain restrictionU+025CB
○ \(x\mdlgwhtcircle y\) \mdlgwhtcircle
medium large circleU+025EB
◫ \(x\boxbar y\) \boxbar
vertical bar in boxU+027C7
⟇ \(x\veedot y\) \veedot
or with dot insideU+027D1
⟑ \(x\wedgedot y\) \wedgedot
and with dotU+027E0
⟠ \(x\lozengeminus y\) \lozengeminus
lozenge divided by horizontal ruleU+027E1
⟡ \(x\concavediamond y\) \concavediamond
white concave-sided diamondU+027E2
⟢ \(x\concavediamondtickleft y\) \concavediamondtickleft
white concave-sided diamond with leftwards tickU+027E3
⟣ \(x\concavediamondtickright y\) \concavediamondtickright
white concave-sided diamond with rightwards tickU+027E4
⟤ \(x\whitesquaretickleft y\) \whitesquaretickleft
white square with leftwards tickU+027E5
⟥ \(x\whitesquaretickright y\) \whitesquaretickright
white square with rightwards tickU+029B5
⦵ \(x\circlehbar y\) \circlehbar
circle with horizontal barU+029B6
⦶ \(x\circledvert y\) \circledvert
circled vertical barU+029B7
⦷ \(x\circledparallel y\) \circledparallel
circled parallelU+029B8
⦸ \(x\obslash y\) \obslash
circled reverse solidusU+029B9
⦹ \(x\operp y\) \operp
circled perpendicularU+029C0
⧀ \(x\olessthan y\) \olessthan
circled less-thanU+029C1
⧁ \(x\ogreaterthan y\) \ogreaterthan
circled greater-thanU+029C4
⧄ \(x\boxdiag y\) \boxdiag
squared rising diagonal slashU+029C5
⧅ \(x\boxbslash y\) \boxbslash
squared falling diagonal slashU+029C6
⧆ \(x\boxast y\) \boxast
squared asteriskU+029C7
⧇ \(x\boxcircle y\) \boxcircle
squared small circleU+029C8
⧈ \(x\boxbox y\) \boxbox
squared squareU+029CD
⧍ \(x\triangleserifs y\) \triangleserifs
triangle with serifs at bottomU+029D6
⧖ \(x\hourglass y\) \hourglass
white hourglassU+029D7
⧗ \(x\blackhourglass y\) \blackhourglass
black hourglassU+029E2
⧢ \(x\shuffle y\) \shuffle
shuffle productU+029EB
⧫ \(x\mdlgblklozenge y\) \mdlgblklozenge
black lozengeU+029F5
⧵ \(x\setminus y\) \setminus
reverse solidus operatorU+029F6
⧶ \(x\dsol y\) \dsol
solidus with overbarU+029F7
⧷ \(x\rsolbar y\) \rsolbar
reverse solidus with horizontal strokeU+029FA
⧺ \(x\doubleplus y\) \doubleplus
double plusU+029FB
⧻ \(x\tripleplus y\) \tripleplus
triple plusU+029FE
⧾ \(x\tplus y\) \tplus
tinyU+029FF
⧿ \(x\tminus y\) \tminus
minyU+02A22
⨢ \(x\ringplus y\) \ringplus
plus sign with small circle aboveU+02A23
⨣ \(x\plushat y\) \plushat
plus sign with circumflex accent aboveU+02A24
⨤ \(x\simplus y\) \simplus
plus sign with tilde aboveU+02A25
⨥ \(x\plusdot y\) \plusdot
plus sign with dot belowU+02A26
⨦ \(x\plussim y\) \plussim
plus sign with tilde belowU+02A27
⨧ \(x\plussubtwo y\) \plussubtwo
plus sign with subscript twoU+02A28
⨨ \(x\plustrif y\) \plustrif
plus sign with black triangleU+02A29
⨩ \(x\commaminus y\) \commaminus
minus sign with comma aboveU+02A2A
⨪ \(x\minusdot y\) \minusdot
minus sign with dot belowU+02A2B
⨫ \(x\minusfdots y\) \minusfdots
minus sign with falling dotsU+02A2C
⨬ \(x\minusrdots y\) \minusrdots
minus sign with rising dotsU+02A2D
⨭ \(x\opluslhrim y\) \opluslhrim
plus sign in left half circleU+02A2E
⨮ \(x\oplusrhrim y\) \oplusrhrim
plus sign in right half circleU+02A2F
⨯ \(x\vectimes y\) \vectimes
vector or cross productU+02A30
⨰ \(x\dottimes y\) \dottimes
multiplication sign with dot aboveU+02A31
⨱ \(x\timesbar y\) \timesbar
multiplication sign with underbarU+02A32
⨲ \(x\btimes y\) \btimes
semidirect product with bottom closedU+02A33
⨳ \(x\smashtimes y\) \smashtimes
smash productU+02A34
⨴ \(x\otimeslhrim y\) \otimeslhrim
multiplication sign in left half circleU+02A35
⨵ \(x\otimesrhrim y\) \otimesrhrim
multiplication sign in right half circleU+02A36
⨶ \(x\otimeshat y\) \otimeshat
circled multiplication sign with circumflex accentU+02A37
⨷ \(x\Otimes y\) \Otimes
multiplication sign in double circleU+02A38
⨸ \(x\odiv y\) \odiv
circled division signU+02A39
⨹ \(x\triangleplus y\) \triangleplus
plus sign in triangleU+02A3A
⨺ \(x\triangleminus y\) \triangleminus
minus sign in triangleU+02A3B
⨻ \(x\triangletimes y\) \triangletimes
multiplication sign in triangleU+02A3C
⨼ \(x\intprod y\) \intprod
interior productU+02A3D
⨽ \(x\intprodr y\) \intprodr
righthand interior productU+02A3E
⨾ \(x\fcmp y\) \fcmp
z notation relational compositionU+02A3F
⨿ \(x\amalg y\) \amalg
amalgamation or coproductU+02A40
⩀ \(x\capdot y\) \capdot
intersection with dotU+02A41
⩁ \(x\uminus y\) \uminus
union with minus signU+02A42
⩂ \(x\barcup y\) \barcup
union with overbarU+02A43
⩃ \(x\barcap y\) \barcap
intersection with overbarU+02A44
⩄ \(x\capwedge y\) \capwedge
intersection with logical andU+02A45
⩅ \(x\cupvee y\) \cupvee
union with logical orU+02A46
⩆ \(x\cupovercap y\) \cupovercap
union above intersectionU+02A47
⩇ \(x\capovercup y\) \capovercup
intersection above unionU+02A48
⩈ \(x\cupbarcap y\) \cupbarcap
union above bar above intersectionU+02A49
⩉ \(x\capbarcup y\) \capbarcup
intersection above bar above unionU+02A4A
⩊ \(x\twocups y\) \twocups
union beside and joined with unionU+02A4B
⩋ \(x\twocaps y\) \twocaps
intersection beside and joined with intersectionU+02A4C
⩌ \(x\closedvarcup y\) \closedvarcup
closed union with serifsU+02A4D
⩍ \(x\closedvarcap y\) \closedvarcap
closed intersection with serifsU+02A4E
⩎ \(x\Sqcap y\) \Sqcap
double square intersectionU+02A4F
⩏ \(x\Sqcup y\) \Sqcup
double square unionU+02A50
⩐ \(x\closedvarcupsmashprod y\) \closedvarcupsmashprod
closed union with serifs and smash productU+02A51
⩑ \(x\wedgeodot y\) \wedgeodot
logical and with dot aboveU+02A52
⩒ \(x\veeodot y\) \veeodot
logical or with dot aboveU+02A53
⩓ \(x\Wedge y\) \Wedge
double logical andU+02A54
⩔ \(x\Vee y\) \Vee
double logical orU+02A55
⩕ \(x\wedgeonwedge y\) \wedgeonwedge
two intersecting logical andU+02A56
⩖ \(x\veeonvee y\) \veeonvee
two intersecting logical orU+02A57
⩗ \(x\bigslopedvee y\) \bigslopedvee
sloping large orU+02A58
⩘ \(x\bigslopedwedge y\) \bigslopedwedge
sloping large andU+02A5A
⩚ \(x\wedgemidvert y\) \wedgemidvert
logical and with middle stemU+02A5B
⩛ \(x\veemidvert y\) \veemidvert
logical or with middle stemU+02A5C
⩜ \(x\midbarwedge y\) \midbarwedge
ogical and with horizontal dashU+02A5D
⩝ \(x\midbarvee y\) \midbarvee
logical or with horizontal dashU+02A5E
⩞ \(x\doublebarwedge y\) \doublebarwedge
logical and with double overbarU+02A5F
⩟ \(x\wedgebar y\) \wedgebar
logical and with underbarU+02A60
⩠ \(x\wedgedoublebar y\) \wedgedoublebar
logical and with double underbarU+02A61
⩡ \(x\varveebar y\) \varveebar
small vee with underbarU+02A62
⩢ \(x\doublebarvee y\) \doublebarvee
logical or with double overbarU+02A63
⩣ \(x\veedoublebar y\) \veedoublebar
logical or with double underbarU+02A64
⩤ \(x\dsub y\) \dsub
z notation domain antirestrictionU+02A65
⩥ \(x\rsub y\) \rsub
z notation range antirestrictionU+02A71
⩱ \(x\eqqplus y\) \eqqplus
equals sign above plus signU+02A72
⩲ \(x\pluseqq y\) \pluseqq
plus sign above equals signU+02AF4
⫴ \(x\interleave y\) \interleave
triple vertical bar binary relationU+02AF5
⫵ \(x\nhVvert y\) \nhVvert
triple vertical bar with horizontal strokeU+02AF6
⫶ \(x\threedotcolon y\) \threedotcolon
triple colon operatorU+02AFB
⫻ \(x\trslash y\) \trslash
triple solidus binary relationU+02AFD
⫽ \(x\sslash y\) \sslash
double solidus operatorU+02AFE
⫾ \(x\talloblong y\) \talloblong
white vertical barU+0213F
ℿ \(\displaystyle\Bbbprod_{n=0}^\infty\) \Bbbprod
double-struck capital piU+02140
⅀ \(\displaystyle\Bbbsum_{n=0}^\infty\) \Bbbsum
double-struck n-ary summationU+0220F
∏ \(\displaystyle\prod_{n=0}^\infty\) \prod
product operatorU+02210
∐ \(\displaystyle\coprod_{n=0}^\infty\) \coprod
coproduct operatorU+02211
∑ \(\displaystyle\sum_{n=0}^\infty\) \sum
summation operatorU+0222B
∫ \(\displaystyle\int_0^\infty\) \int
integral operatorU+0222C
∬ \(\displaystyle\iint_0^\infty\) \iint
double integral operatorU+0222D
∭ \(\displaystyle\iiint_0^\infty\) \iiint
triple integral operatorU+0222E
∮ \(\displaystyle\oint_0^\infty\) \oint
contour integral operatorU+0222F
∮ \(\displaystyle\oiint_0^\infty\) \oiint
double contour integral operatorU+02230
∮ \(\displaystyle\oiiint_0^\infty\) \oiiint
triple contour integral operatorU+02231
∱ \(\displaystyle\intclockwise_0^\infty\) \intclockwise
clockwise integralU+02232
∲ \(\displaystyle\varointclockwise_0^\infty\) \varointclockwise
contour integral, clockwiseU+02233
∳ \(\displaystyle\ointctrclockwise_0^\infty\) \ointctrclockwise
contour integral, anticlockwiseU+022C0
⋀ \(\displaystyle\bigwedge_{n=0}^\infty\) \bigwedge
logical and operatorU+022C1
⋁ \(\displaystyle\bigvee_{n=0}^\infty\) \bigvee
logical or operatorU+022C2
⋂ \(\displaystyle\bigcap_{n=0}^\infty\) \bigcap
intersection operatorU+022C3
⋃ \(\displaystyle\bigcup_{n=0}^\infty\) \bigcup
union operatorU+027D5
⟕ \(\displaystyle\leftouterjoin_{n=0}^\infty\) \leftouterjoin
left outer joinU+027D6
⟖ \(\displaystyle\rightouterjoin_{n=0}^\infty\) \rightouterjoin
right outer joinU+027D7
⟗ \(\displaystyle\fullouterjoin_{n=0}^\infty\) \fullouterjoin
full outer joinU+027D8
⟘ \(\displaystyle\bigbot_{n=0}^\infty\) \bigbot
large up tackU+027D9
⟙ \(\displaystyle\bigtop_{n=0}^\infty\) \bigtop
large down tackU+029F8
⧸ \(\displaystyle\xsol_{n=0}^\infty\) \xsol
big solidusU+029F9
⧹ \(\displaystyle\xbsol_{n=0}^\infty\) \xbsol
big reverse solidusU+02A00
⨀ \(\displaystyle\bigodot_{n=0}^\infty\) \bigodot
n-ary circled dot operatorU+02A01
⨁ \(\displaystyle\bigoplus_{n=0}^\infty\) \bigoplus
n-ary circled plus operatorU+02A02
⨂ \(\displaystyle\bigotimes_{n=0}^\infty\) \bigotimes
n-ary circled times operatorU+02A03
⨃ \(\displaystyle\bigcupdot_{n=0}^\infty\) \bigcupdot
n-ary union operator with dotU+02A04
⨄ \(\displaystyle\biguplus_{n=0}^\infty\) \biguplus
n-ary union operator with plusU+02A05
⨅ \(\displaystyle\bigsqcap_{n=0}^\infty\) \bigsqcap
n-ary square intersection operatorU+02A06
⨆ \(\displaystyle\bigsqcup_{n=0}^\infty\) \bigsqcup
n-ary square union operatorU+02A07
⨇ \(\displaystyle\conjquant_{n=0}^\infty\) \conjquant
two logical and operatorU+02A08
⨈ \(\displaystyle\disjquant_{n=0}^\infty\) \disjquant
two logical or operatorU+02A09
⨉ \(\displaystyle\bigtimes_{n=0}^\infty\) \bigtimes
n-ary times operatorU+02A0A
⨊ \(\displaystyle\modtwosum_{n=0}^\infty\) \modtwosum
modulo two sumU+02A0B
⨋ \(\displaystyle\sumint_0^\infty\) \sumint
summation with integralU+02A0C
⨌ \(\displaystyle\iiiint_0^\infty\) \iiiint
quadruple integral operatorU+02A0D
⨍ \(\displaystyle\intbar_0^\infty\) \intbar
finite part integralU+02A0E
⨎ \(\displaystyle\intBar_0^\infty\) \intBar
integral with double strokeU+02A0F
⨏ \(\displaystyle\fint_0^\infty\) \fint
integral average with slashU+02A10
⨐ \(\displaystyle\cirfnint_0^\infty\) \cirfnint
circulation functionU+02A11
⨑ \(\displaystyle\awint_0^\infty\) \awint
anticlockwise integrationU+02A12
⨒ \(\displaystyle\rppolint_0^\infty\) \rppolint
line integration with rectangular path around poleU+02A13
⨓ \(\displaystyle\scpolint_0^\infty\) \scpolint
line integration with semicircular path around poleU+02A14
⨔ \(\displaystyle\npolint_0^\infty\) \npolint
line integration not including the poleU+02A15
⨕ \(\displaystyle\pointint_0^\infty\) \pointint
integral around a point operatorU+02A16
⨖ \(\displaystyle\sqint_0^\infty\) \sqint
quaternion integral operatorU+02A17
⨗ \(\displaystyle\intlarhk_0^\infty\) \intlarhk
integral with leftwards arrow with hookU+02A18
⨘ \(\displaystyle\intx_0^\infty\) \intx
integral with times signU+02A19
⨙ \(\displaystyle\intcap_0^\infty\) \intcap
integral with intersectionU+02A1A
⨚ \(\displaystyle\intcup_0^\infty\) \intcup
integral with unionU+02A1B
⨛ \(\displaystyle\upint_0^\infty\) \upint
integral with overbarU+02A1C
⨜ \(\displaystyle\lowint_0^\infty\) \lowint
integral with underbarU+02A1D
⨝ \(\displaystyle\UCJoin_{n=0}^\infty\) \UCJoin
joinU+02A1E
⨞ \(\displaystyle\bigtriangleleft_{n=0}^\infty\) \bigtriangleleft
large left triangle operatorU+02A1F
⨟ \(\displaystyle\zcmp_{n=0}^\infty\) \zcmp
z notation schema compositionU+02A20
⨠ \(\displaystyle\zpipe_{n=0}^\infty\) \zpipe
z notation schema pipingU+02A21
⨡ \(\displaystyle\zproject_{n=0}^\infty\) \zproject
z notation schema projectionU+02AFC
⫼ \(\displaystyle\biginterleave_{n=0}^\infty\) \biginterleave
large triple vertical bar operatorU+02AFF
⫿ \(\displaystyle\bigtalloblong_{n=0}^\infty\) \bigtalloblong
n-ary white vertical barU+00023
# \(\mathoctothorpe\) \mathoctothorpe
number signU+00024
$ \(\mathdollar\) \mathdollar
dollar signU+00025
% \(\mathpercent\) \mathpercent
percent signU+00026
& \(\mathampersand\) \mathampersand
ampersandU+0002E
. \(\mathperiod\) \mathperiod
full stop, periodU+0002F
/ \(\mathslash\) \mathslash
solidusU+0003F
? \(\mathquestion\) \mathquestion
question markU+00040
@ \(\mathatsign\) \mathatsign
commercial atU+0005C
\ \(\backslash\) \backslash
reverse solidusU+000A3
£ \(\mathsterling\) \mathsterling
pound signU+000A5
¥ \(\mathyen\) \mathyen
yen signU+000A7
§ \(\mathsection\) \mathsection
section symbolU+000AC
¬ \(\neg\) \neg
/neg /lnot not signU+000B6
¶ \(\mathparagraph\) \mathparagraph
paragraph symbolU+001B5
Ƶ \(\Zbar\) \Zbar
impedance (latin capital letter z with stroke)U+003F6
϶ \(\upbackepsilon\) \upbackepsilon
greek reversed lunate epsilon symbolU+02015
― \(\horizbar\) \horizbar
horizontal barU+02017
‗ \(\twolowline\) \twolowline
double low line (spacing)U+02025
‥ \(\enleadertwodots\) \enleadertwodots
double baseline dot (en leader)U+02026
… \(\unicodeellipsis\) \unicodeellipsis
ellipsis (horizontal)U+02032
′ \(\prime\) \prime
prime or minute, not superscriptedU+02033
″ \(\dprime\) \dprime
double prime or second, not superscriptedU+02034
‴ \(\trprime\) \trprime
triple prime (not superscripted)U+02035
‵ \(\backprime\) \backprime
reverse prime, not superscriptedU+02036
‶ \(\backdprime\) \backdprime
double reverse prime, not superscriptedU+02037
‷ \(\backtrprime\) \backtrprime
triple reverse prime, not superscriptedU+02038
‸ \(\caretinsert\) \caretinsert
caret (insertion mark)U+0203C
‼ \(\Exclam\) \Exclam
double exclamation markU+02043
⁃ \(\hyphenbullet\) \hyphenbullet
rectangle, filled (hyphen bullet)U+02047
⁇ \(\Question\) \Question
double question markU+02057
⁗ \(\qprime\) \qprime
quadruple prime, not superscriptedU+020AC
€ \(\euro\) \euro
euro signU+020DD
⃝ \(\enclosecircle\) \enclosecircle
enclosing circleU+020DE
⃞ \(\enclosesquare\) \enclosesquare
enclosing squareU+020DF
⃟ \(\enclosediamond\) \enclosediamond
enclosing diamondU+020E4
⃤ \(\enclosetriangle\) \enclosetriangle
enclosing upward pointing triangleU+02107
Ɛ \(\Eulerconst\) \Eulerconst
euler constantU+0210E
ℎ \(\Planckconst\) \Planckconst
planck constantU+02127
℧ \(\mho\) \mho
conductanceU+02132
Ⅎ \(\Finv\) \Finv
turned capital fU+0213C
ℼ \(\Bbbpi\) \Bbbpi
double-struck small piU+02141
⅁ \(\Game\) \Game
turned sans-serif capital gU+02142
⅂ \(\sansLturned\) \sansLturned
turned sans-serif capital lU+02143
⅃ \(\sansLmirrored\) \sansLmirrored
reversed sans-serif capital lU+02144
⅄ \(\Yup\) \Yup
turned sans-serif capital yU+02145
ⅅ \(\mitBbbD\) \mitBbbD
double-struck italic capital dU+02146
ⅆ \(\mitBbbd\) \mitBbbd
double-struck italic small dU+02147
ⅇ \(\mitBbbe\) \mitBbbe
double-struck italic small eU+02148
ⅈ \(\mitBbbi\) \mitBbbi
double-struck italic small iU+02149
ⅉ \(\mitBbbj\) \mitBbbj
double-struck italic small jU+0214A
⅊ \(\PropertyLine\) \PropertyLine
property lineU+021A8
↨ \(\updownarrowbar\) \updownarrowbar
up down arrow with base (perpendicular)U+021B4
↴ \(\linefeed\) \linefeed
rightwards arrow with corner downwardsU+021B5
↵ \(\carriagereturn\) \carriagereturn
downwards arrow with cornerleftward = carriage returnU+021B8
↸ \(\barovernorthwestarrow\) \barovernorthwestarrow
north west arrow to long barU+021B9
↹ \(\barleftarrowrightarrowbar\) \barleftarrowrightarrowbar
leftwards arrow to bar over rightwards arrow to barU+021BA
↺ \(\acwopencirclearrow\) \acwopencirclearrow
anticlockwise open circle arrowU+021BB
↻ \(\cwopencirclearrow\) \cwopencirclearrow
clockwise open circle arrowU+021DE
⇞ \(\nHuparrow\) \nHuparrow
upwards arrow with double strokeU+021DF
⇟ \(\nHdownarrow\) \nHdownarrow
downwards arrow with doublestrokeU+021E0
⇠ \(\leftdasharrow\) \leftdasharrow
leftwards dashed arrowU+021E1
⇡ \(\updasharrow\) \updasharrow
upwards dashed arrowU+021E2
⇢ \(\rightdasharrow\) \rightdasharrow
rightwards dashed arrowU+021E3
⇣ \(\downdasharrow\) \downdasharrow
downwards dashed arrowU+021E6
⇦ \(\leftwhitearrow\) \leftwhitearrow
leftwards white arrowU+021E7
⇧ \(\upwhitearrow\) \upwhitearrow
upwards white arrowU+021E8
⇨ \(\rightwhitearrow\) \rightwhitearrow
rightwards white arrowU+021E9
⇩ \(\downwhitearrow\) \downwhitearrow
downwards white arrowU+021EA
⇪ \(\whitearrowupfrombar\) \whitearrowupfrombar
upwards white arrow from barU+02200
∀ \(\forall\) \forall
for allU+02201
∁ \(\complement\) \complement
complement signU+02203
∃ \(\exists\) \exists
at least one existsU+02204
∄ \(\nexists\) \nexists
negated existsU+02205
∅ \(\varnothing\) \varnothing
circle, slashU+02206
∆ \(\increment\) \increment
laplacian (delta; nabla^2)U+0220E
∎ \(\QED\) \QED
end of proofU+0221A
√ \(\surd\) \surd
radicalU+0221E
∞ \(\infty\) \infty
infinityU+0221F
∟ \(\rightangle\) \rightangle
right (90 degree) angleU+02220
∠ \(\angle\) \angle
angleU+02221
∡ \(\measuredangle\) \measuredangle
angle-measuredU+02222
∢ \(\sphericalangle\) \sphericalangle
angle-sphericalU+02234
∴ \(\therefore\) \therefore
thereforeU+02235
∵ \(\because\) \because
becauseU+0223F
∿ \(\sinewave\) \sinewave
sine waveU+022A4
⊤ \(\top\) \top
topU+022A5
⊥ \(\bot\) \bot
bottomU+022B9
⊹ \(\hermitmatrix\) \hermitmatrix
hermitian conjugate matrixU+022BE
⊾ \(\measuredrightangle\) \measuredrightangle
right angle-measured [with arc]U+022BF
⊿ \(\varlrtriangle\) \varlrtriangle
right triangleU+022EF
⋯ \(\unicodecdots\) \unicodecdots
three dots, centeredU+02300
⌀ \(\diameter\) \diameter
diameter signU+02302
⌂ \(\house\) \house
houseU+02310
⌐ \(\invnot\) \invnot
reverse notU+02311
⌑ \(\sqlozenge\) \sqlozenge
square lozengeU+02312
⌒ \(\profline\) \profline
profile of a lineU+02313
⌓ \(\profsurf\) \profsurf
profile of a surfaceU+02317
⌗ \(\viewdata\) \viewdata
viewdata squareU+02319
⌙ \(\turnednot\) \turnednot
turned not signU+02320
⌠ \(\inttop\) \inttop
top half integralU+02321
⌡ \(\intbottom\) \intbottom
bottom half integralU+0232C
⌬ \(\varhexagonlrbonds\) \varhexagonlrbonds
six carbon ring, corner down, double bonds lower right etcU+02332
⌲ \(\conictaper\) \conictaper
conical taperU+02336
⌶ \(\topbot\) \topbot
top and bottomU+02340
⍀ \(\APLnotbackslash\) \APLnotbackslash
apl functional symbol backslash barU+02353
⍓ \(\APLboxupcaret\) \APLboxupcaret
boxed up caretU+02370
⍰ \(\APLboxquestion\) \APLboxquestion
boxed question markU+0237C
⍼ \(\rangledownzigzagarrow\) \rangledownzigzagarrow
right angle with downwards zigzagarrowU+02394
⎔ \(\hexagon\) \hexagon
horizontal benzene ring [hexagon flat open]U+0239B
⎛ \(\lparenuend\) \lparenuend
left parenthesis upper hookU+0239C
⎜ \(\lparenextender\) \lparenextender
left parenthesis extensionU+0239D
⎝ \(\lparenlend\) \lparenlend
left parenthesis lower hookU+0239E
⎞ \(\rparenuend\) \rparenuend
right parenthesis upper hookU+0239F
⎟ \(\rparenextender\) \rparenextender
right parenthesis extensionU+023A0
⎠ \(\rparenlend\) \rparenlend
right parenthesis lower hookU+023A1
⎡ \(\lbrackuend\) \lbrackuend
left square bracket upper cornerU+023A2
⎢ \(\lbrackextender\) \lbrackextender
left square bracket extensionU+023A3
⎣ \(\lbracklend\) \lbracklend
left square bracket lower cornerU+023A4
⎤ \(\rbrackuend\) \rbrackuend
right square bracket upper cornerU+023A5
⎥ \(\rbrackextender\) \rbrackextender
right square bracket extensionU+023A6
⎦ \(\rbracklend\) \rbracklend
right square bracket lower cornerU+023A7
⎧ \(\lbraceuend\) \lbraceuend
left curly bracket upper hookU+023A8
⎨ \(\lbracemid\) \lbracemid
left curly bracket middle pieceU+023A9
⎩ \(\lbracelend\) \lbracelend
left curly bracket lower hookU+023AA
⎪ \(\vbraceextender\) \vbraceextender
curly bracket extensionU+023AB
⎫ \(\rbraceuend\) \rbraceuend
right curly bracket upper hookU+023AC
⎬ \(\rbracemid\) \rbracemid
right curly bracket middle pieceU+023AD
⎭ \(\rbracelend\) \rbracelend
right curly bracket lower hookU+023AE
⎮ \(\intextender\) \intextender
integral extensionU+023AF
⎯ \(\harrowextender\) \harrowextender
horizontal line extension (used to extend arrows)U+023B2
⎲ \(\sumtop\) \sumtop
summation topU+023B3
⎳ \(\sumbottom\) \sumbottom
summation bottomU+023B6
⎶ \(\bbrktbrk\) \bbrktbrk
bottom square bracket over top square bracketU+023B7
⎷ \(\sqrtbottom\) \sqrtbottom
radical symbol bottomU+023B8
⎸ \(\lvboxline\) \lvboxline
left vertical box lineU+023B9
⎹ \(\rvboxline\) \rvboxline
right vertical box lineU+023CE
⏎ \(\varcarriagereturn\) \varcarriagereturn
return symbolU+023E0
⏠ \(\obrbrak\) \obrbrak
top tortoise shell bracket (mathematical use)U+023E1
⏡ \(\ubrbrak\) \ubrbrak
bottom tortoise shell bracket (mathematical use)U+023E2
⏢ \(\trapezium\) \trapezium
white trapeziumU+023E3
⏣ \(\benzenr\) \benzenr
benzene ring with circleU+023E4
⏤ \(\strns\) \strns
straightnessU+023E5
⏥ \(\fltns\) \fltns
flatnessU+023E6
⏦ \(\accurrent\) \accurrent
ac currentU+023E7
⏧ \(\elinters\) \elinters
electrical intersectionU+02422
␢ \(\blanksymbol\) \blanksymbol
blank symbolU+02423
␣ \(\mathvisiblespace\) \mathvisiblespace
open boxU+02506
┆ \(\bdtriplevdash\) \bdtriplevdash
doubly broken vertU+02580
▀ \(\blockuphalf\) \blockuphalf
upper half blockU+02584
▄ \(\blocklowhalf\) \blocklowhalf
lower half blockU+02588
█ \(\blockfull\) \blockfull
full blockU+0258C
▌ \(\blocklefthalf\) \blocklefthalf
left half blockU+02590
▐ \(\blockrighthalf\) \blockrighthalf
right half blockU+02591
░ \(\blockqtrshaded\) \blockqtrshaded
25% shaded blockU+02592
▒ \(\blockhalfshaded\) \blockhalfshaded
50% shaded blockU+02593
▓ \(\blockthreeqtrshaded\) \blockthreeqtrshaded
75% shaded blockU+025A0
■ \(\mdlgblksquare\) \mdlgblksquare
square, filledU+025A1
□ \(\mdlgwhtsquare\) \mdlgwhtsquare
square, openU+025A2
▢ \(\squoval\) \squoval
white square with rounded cornersU+025A3
▣ \(\blackinwhitesquare\) \blackinwhitesquare
white square containing black small squareU+025A4
▤ \(\squarehfill\) \squarehfill
square, horizontal rule filledU+025A5
▥ \(\squarevfill\) \squarevfill
square, vertical rule filledU+025A6
▦ \(\squarehvfill\) \squarehvfill
square with orthogonal crosshatch fillU+025A7
▧ \(\squarenwsefill\) \squarenwsefill
square, nw-to-se rule filledU+025A8
▨ \(\squareneswfill\) \squareneswfill
square, ne-to-sw rule filledU+025A9
▩ \(\squarecrossfill\) \squarecrossfill
square with diagonal crosshatch fillU+025AA
▪ \(\smblksquare\) \smblksquare
/blacksquare - sq bullet, filledU+025AB
▫ \(\smwhtsquare\) \smwhtsquare
white small squareU+025AC
▬ \(\hrectangleblack\) \hrectangleblack
black rectangleU+025AD
▭ \(\hrectangle\) \hrectangle
horizontal rectangle, openU+025AE
▮ \(\vrectangleblack\) \vrectangleblack
black vertical rectangleU+025AF
▯ \(\vrectangle\) \vrectangle
rectangle, white (vertical)U+025B0
▰ \(\parallelogramblack\) \parallelogramblack
black parallelogramU+025B1
▱ \(\parallelogram\) \parallelogram
parallelogram, openU+025B2
▲ \(\bigblacktriangleup\) \bigblacktriangleup
black up-pointing triangleU+025B4
▴ \(\blacktriangle\) \blacktriangle
up triangle, filledU+025B6
▶ \(\blacktriangleright\) \blacktriangleright
(large) right triangle, filledU+025B8
▸ \(\smallblacktriangleright\) \smallblacktriangleright
right triangle, filledU+025B9
▹ \(\smalltriangleright\) \smalltriangleright
right triangle, openU+025BA
► \(\blackpointerright\) \blackpointerright
black right-pointing pointerU+025BB
▻ \(\whitepointerright\) \whitepointerright
white right-pointing pointerU+025BC
▼ \(\bigblacktriangledown\) \bigblacktriangledown
big down triangle, filledU+025BD
▽ \(\bigtriangledown\) \bigtriangledown
big down triangle, openU+025BE
▾ \(\blacktriangledown\) \blacktriangledown
down triangle, filledU+025BF
▿ \(\triangledown\) \triangledown
down triangle, openU+025C0
◀ \(\blacktriangleleft\) \blacktriangleleft
(large) left triangle, filledU+025C2
◂ \(\smallblacktriangleleft\) \smallblacktriangleleft
left triangle, filledU+025C3
◃ \(\smalltriangleleft\) \smalltriangleleft
left triangle, openU+025C4
◄ \(\blackpointerleft\) \blackpointerleft
black left-pointing pointerU+025C5
◅ \(\whitepointerleft\) \whitepointerleft
white left-pointing pointerU+025C6
◆ \(\mdlgblkdiamond\) \mdlgblkdiamond
black diamondU+025C7
◇ \(\mdlgwhtdiamond\) \mdlgwhtdiamond
white diamond; diamond, openU+025C8
◈ \(\blackinwhitediamond\) \blackinwhitediamond
white diamond containing black small diamondU+025C9
◉ \(\fisheye\) \fisheye
fisheyeU+025CA
◊ \(\mdlgwhtlozenge\) \mdlgwhtlozenge
lozenge or total markU+025CC
◌ \(\dottedcircle\) \dottedcircle
dotted circleU+025CD
◍ \(\circlevertfill\) \circlevertfill
circle with vertical fillU+025CE
◎ \(\bullseye\) \bullseye
bullseyeU+025CF
● \(\mdlgblkcircle\) \mdlgblkcircle
circle, filledU+025D0
◐ \(\circlelefthalfblack\) \circlelefthalfblack
circle, filled left half [harvey ball]U+025D1
◑ \(\circlerighthalfblack\) \circlerighthalfblack
circle, filled right halfU+025D2
◒ \(\circlebottomhalfblack\) \circlebottomhalfblack
circle, filled bottom halfU+025D3
◓ \(\circletophalfblack\) \circletophalfblack
circle, filled top halfU+025D4
◔ \(\circleurquadblack\) \circleurquadblack
circle with upper right quadrant blackU+025D5
◕ \(\blackcircleulquadwhite\) \blackcircleulquadwhite
circle with all but upper left quadrant blackU+025D6
◖ \(\blacklefthalfcircle\) \blacklefthalfcircle
left half black circleU+025D7
◗ \(\blackrighthalfcircle\) \blackrighthalfcircle
right half black circleU+025D8
◘ \(\inversebullet\) \inversebullet
inverse bulletU+025D9
◙ \(\inversewhitecircle\) \inversewhitecircle
inverse white circleU+025DA
◚ \(\invwhiteupperhalfcircle\) \invwhiteupperhalfcircle
upper half inverse white circleU+025DB
◛ \(\invwhitelowerhalfcircle\) \invwhitelowerhalfcircle
lower half inverse white circleU+025DC
◜ \(\ularc\) \ularc
upper left quadrant circular arcU+025DD
◝ \(\urarc\) \urarc
upper right quadrant circular arcU+025DE
◞ \(\lrarc\) \lrarc
lower right quadrant circular arcU+025DF
◟ \(\llarc\) \llarc
lower left quadrant circular arcU+025E0
◠ \(\topsemicircle\) \topsemicircle
upper half circleU+025E1
◡ \(\botsemicircle\) \botsemicircle
lower half circleU+025E2
◢ \(\lrblacktriangle\) \lrblacktriangle
lower right triangle, filledU+025E3
◣ \(\llblacktriangle\) \llblacktriangle
lower left triangle, filledU+025E4
◤ \(\ulblacktriangle\) \ulblacktriangle
upper left triangle, filledU+025E5
◥ \(\urblacktriangle\) \urblacktriangle
upper right triangle, filledU+025E6
◦ \(\smwhtcircle\) \smwhtcircle
white bulletU+025E7
◧ \(\squareleftblack\) \squareleftblack
square, filled left halfU+025E8
◨ \(\squarerightblack\) \squarerightblack
square, filled right halfU+025E9
◩ \(\squareulblack\) \squareulblack
square, filled top left cornerU+025EA
◪ \(\squarelrblack\) \squarelrblack
square, filled bottom right cornerU+025EC
◬ \(\trianglecdot\) \trianglecdot
triangle with centered dotU+025ED
◭ \(\triangleleftblack\) \triangleleftblack
up-pointing triangle with left half blackU+025EE
◮ \(\trianglerightblack\) \trianglerightblack
up-pointing triangle with right half blackU+025EF
◯ \(\lgwhtcircle\) \lgwhtcircle
large circleU+025F0
◰ \(\squareulquad\) \squareulquad
white square with upper left quadrantU+025F1
◱ \(\squarellquad\) \squarellquad
white square with lower left quadrantU+025F2
◲ \(\squarelrquad\) \squarelrquad
white square with lower right quadrantU+025F3
◳ \(\squareurquad\) \squareurquad
white square with upper right quadrantU+025F4
◴ \(\circleulquad\) \circleulquad
white circle with upper left quadrantU+025F5
◵ \(\circlellquad\) \circlellquad
white circle with lower left quadrantU+025F6
◶ \(\circlelrquad\) \circlelrquad
white circle with lower right quadrantU+025F7
◷ \(\circleurquad\) \circleurquad
white circle with upper right quadrantU+025F8
◸ \(\ultriangle\) \ultriangle
upper left triangleU+025F9
◹ \(\urtriangle\) \urtriangle
upper right triangleU+025FA
◺ \(\lltriangle\) \lltriangle
lower left triangleU+025FB
◻ \(\mdwhtsquare\) \mdwhtsquare
white medium squareU+025FC
◼ \(\mdblksquare\) \mdblksquare
black medium squareU+025FD
◽ \(\mdsmwhtsquare\) \mdsmwhtsquare
white medium small squareU+025FE
◾ \(\mdsmblksquare\) \mdsmblksquare
black medium small squareU+025FF
◿ \(\lrtriangle\) \lrtriangle
lower right triangleU+02605
★ \(\bigstar\) \bigstar
star, filledU+02606
☆ \(\bigwhitestar\) \bigwhitestar
star, openU+02609
☉ \(\astrosun\) \astrosun
sunU+02621
☡ \(\danger\) \danger
dangerous bend (caution sign)U+0263B
☻ \(\blacksmiley\) \blacksmiley
black smiling faceU+0263C
☼ \(\sun\) \sun
white sun with raysU+0263D
☽ \(\rightmoon\) \rightmoon
first quarter moonU+0263E
☾ \(\leftmoon\) \leftmoon
last quarter moonU+02640
♀ \(\female\) \female
venus, femaleU+02642
♂ \(\male\) \male
mars, maleU+02660
♠ \(\spadesuit\) \spadesuit
spades suit symbolU+02661
♡ \(\heartsuit\) \heartsuit
heart suit symbolU+02662
♢ \(\diamondsuit\) \diamondsuit
diamond suit symbolU+02663
♣ \(\clubsuit\) \clubsuit
club suit symbolU+02664
♤ \(\varspadesuit\) \varspadesuit
spade, white (card suit)U+02665
♥ \(\varheartsuit\) \varheartsuit
filled heart (card suit)U+02666
♦ \(\vardiamondsuit\) \vardiamondsuit
filled diamond (card suit)U+02667
♧ \(\varclubsuit\) \varclubsuit
club, white (card suit)U+02669
♩ \(\quarternote\) \quarternote
music note (sung text sign)U+0266A
♪ \(\eighthnote\) \eighthnote
eighth noteU+0266B
♫ \(\twonotes\) \twonotes
beamed eighth notesU+0266D
♭ \(\flat\) \flat
musical flatU+0266E
♮ \(\natural\) \natural
music naturalU+0266F
♯ \(\sharp\) \sharp
musical sharpU+0267E
♾ \(\acidfree\) \acidfree
permanent paper signU+02680
⚀ \(\dicei\) \dicei
die face-1U+02681
⚁ \(\diceii\) \diceii
die face-2U+02682
⚂ \(\diceiii\) \diceiii
die face-3U+02683
⚃ \(\diceiv\) \diceiv
die face-4U+02684
⚄ \(\dicev\) \dicev
die face-5U+02685
⚅ \(\dicevi\) \dicevi
die face-6U+02686
⚆ \(\circledrightdot\) \circledrightdot
white circle with dot rightU+02687
⚇ \(\circledtwodots\) \circledtwodots
white circle with two dotsU+02688
⚈ \(\blackcircledrightdot\) \blackcircledrightdot
black circle with white dot rightU+02689
⚉ \(\blackcircledtwodots\) \blackcircledtwodots
black circle with two white dotsU+026A5
⚥ \(\Hermaphrodite\) \Hermaphrodite
male and female signU+026AA
⚪ \(\mdwhtcircle\) \mdwhtcircle
medium white circleU+026AB
⚫ \(\mdblkcircle\) \mdblkcircle
medium black circleU+026AC
⚬ \(\mdsmwhtcircle\) \mdsmwhtcircle
medium small white circleU+026B2
⚲ \(\neuter\) \neuter
neuterU+02713
✓ \(\checkmark\) \checkmark
tick, check markU+02720
✠ \(\maltese\) \maltese
maltese crossU+0272A
✪ \(\circledstar\) \circledstar
circled white starU+02736
✶ \(\varstar\) \varstar
six pointed black starU+0273D
✽ \(\dingasterisk\) \dingasterisk
heavy teardrop-spoked asteriskU+0279B
➛ \(\draftingarrow\) \draftingarrow
right arrow with bold head (drafting)U+027C0
⟀ \(\threedangle\) \threedangle
three dimensional angleU+027C1
⟁ \(\whiteinwhitetriangle\) \whiteinwhitetriangle
white triangle containing small white triangleU+027C3
⟃ \(\subsetcirc\) \subsetcirc
open subsetU+027C4
⟄ \(\supsetcirc\) \supsetcirc
open supersetU+027D0
⟐ \(\diamondcdot\) \diamondcdot
white diamond with centred dotU+0292B
⤫ \(\rdiagovfdiag\) \rdiagovfdiag
rising diagonal crossing falling diagonalU+0292C
⤬ \(\fdiagovrdiag\) \fdiagovrdiag
falling diagonal crossing rising diagonalU+0292D
⤭ \(\seovnearrow\) \seovnearrow
south east arrow crossing north east arrowU+0292E
⤮ \(\neovsearrow\) \neovsearrow
north east arrow crossing south east arrowU+0292F
⤯ \(\fdiagovnearrow\) \fdiagovnearrow
falling diagonal crossing north eastarrowU+02930
⤰ \(\rdiagovsearrow\) \rdiagovsearrow
rising diagonal crossing south eastarrowU+02931
⤱ \(\neovnwarrow\) \neovnwarrow
north east arrow crossing north west arrowU+02932
⤲ \(\nwovnearrow\) \nwovnearrow
north west arrow crossing north east arrowU+02934
⤴ \(\uprightcurvearrow\) \uprightcurvearrow
arrow pointing rightwards then curving upwardsU+02935
⤵ \(\downrightcurvedarrow\) \downrightcurvedarrow
arrow pointing rightwards then curving downwardsU+02981
⦁ \(\mdsmblkcircle\) \mdsmblkcircle
z notation spotU+02999
⦙ \(\fourvdots\) \fourvdots
dotted fenceU+0299A
⦚ \(\vzigzag\) \vzigzag
vertical zigzag lineU+0299B
⦛ \(\measuredangleleft\) \measuredangleleft
measured angle opening leftU+0299C
⦜ \(\rightanglesqr\) \rightanglesqr
right angle variant with squareU+0299D
⦝ \(\rightanglemdot\) \rightanglemdot
measured right angle with dotU+0299E
⦞ \(\angles\) \angles
angle with s insideU+0299F
⦟ \(\angdnr\) \angdnr
acute angleU+029A0
⦠ \(\gtlpar\) \gtlpar
spherical angle opening leftU+029A1
⦡ \(\sphericalangleup\) \sphericalangleup
spherical angle opening upU+029A2
⦢ \(\turnangle\) \turnangle
turned angleU+029A3
⦣ \(\revangle\) \revangle
reversed angleU+029A4
⦤ \(\angleubar\) \angleubar
angle with underbarU+029A5
⦥ \(\revangleubar\) \revangleubar
reversed angle with underbarU+029A6
⦦ \(\wideangledown\) \wideangledown
oblique angle opening upU+029A7
⦧ \(\wideangleup\) \wideangleup
oblique angle opening downU+029A8
⦨ \(\measanglerutone\) \measanglerutone
measured angle with open arm ending in arrow pointing up and rightU+029A9
⦩ \(\measanglelutonw\) \measanglelutonw
measured angle with open arm ending in arrow pointing up and leftU+029AA
⦪ \(\measanglerdtose\) \measanglerdtose
measured angle with open arm ending in arrow pointing down and rightU+029AB
⦫ \(\measangleldtosw\) \measangleldtosw
measured angle with open arm ending in arrow pointing down and leftU+029AC
⦬ \(\measangleurtone\) \measangleurtone
measured angle with open arm ending in arrow pointing right andupU+029AD
⦭ \(\measangleultonw\) \measangleultonw
measured angle with open arm ending in arrow pointing left andupU+029AE
⦮ \(\measangledrtose\) \measangledrtose
measured angle with open arm ending in arrow pointing right and downU+029AF
⦯ \(\measangledltosw\) \measangledltosw
measured angle with open arm ending in arrow pointing left and downU+029B0
⦰ \(\revemptyset\) \revemptyset
reversed empty setU+029B1
⦱ \(\emptysetobar\) \emptysetobar
empty set with overbarU+029B2
⦲ \(\emptysetocirc\) \emptysetocirc
empty set with small circle aboveU+029B3
⦳ \(\emptysetoarr\) \emptysetoarr
empty set with right arrow aboveU+029B4
⦴ \(\emptysetoarrl\) \emptysetoarrl
empty set with left arrow aboveU+029BA
⦺ \(\obot\) \obot
circle divided by horizontal bar and top half divided by vertical barU+029BB
⦻ \(\olcross\) \olcross
circle with superimposed xU+029BC
⦼ \(\odotslashdot\) \odotslashdot
circled anticlockwise-rotated divi-sion signU+029BD
⦽ \(\uparrowoncircle\) \uparrowoncircle
up arrow through circleU+029BE
⦾ \(\circledwhitebullet\) \circledwhitebullet
circled white bulletU+029BF
⦿ \(\circledbullet\) \circledbullet
circled bulletU+029C2
⧂ \(\cirscir\) \cirscir
circle with small circle to the rightU+029C3
⧃ \(\cirE\) \cirE
circle with two horizontal strokes tothe rightU+029C9
⧉ \(\boxonbox\) \boxonbox
two joined squaresU+029CA
⧊ \(\triangleodot\) \triangleodot
triangle with dot aboveU+029CB
⧋ \(\triangleubar\) \triangleubar
triangle with underbarU+029CC
⧌ \(\triangles\) \triangles
s in triangleU+029DC
⧜ \(\iinfin\) \iinfin
incomplete infinityU+029DD
⧝ \(\tieinfty\) \tieinfty
tie over infinityU+029DE
⧞ \(\nvinfty\) \nvinfty
infinity negated with vertical barU+029E0
⧠ \(\laplac\) \laplac
square with contoured outlineU+029E7
⧧ \(\thermod\) \thermod
thermodynamicU+029E8
⧨ \(\downtriangleleftblack\) \downtriangleleftblack
down-pointing triangle with left half blackU+029E9
⧩ \(\downtrianglerightblack\) \downtrianglerightblack
down-pointing triangle with right half blackU+029EA
⧪ \(\blackdiamonddownarrow\) \blackdiamonddownarrow
black diamond with down arrowU+029EC
⧬ \(\circledownarrow\) \circledownarrow
white circle with down arrowU+029ED
⧭ \(\blackcircledownarrow\) \blackcircledownarrow
black circle with down arrowU+029EE
⧮ \(\errbarsquare\) \errbarsquare
error-barred white squareU+029EF
⧯ \(\errbarblacksquare\) \errbarblacksquare
error-barred black squareU+029F0
⧰ \(\errbardiamond\) \errbardiamond
error-barred white diamondU+029F1
⧱ \(\errbarblackdiamond\) \errbarblackdiamond
error-barred black diamondU+029F2
⧲ \(\errbarcircle\) \errbarcircle
error-barred white circleU+029F3
⧳ \(\errbarblackcircle\) \errbarblackcircle
error-barred black circleU+02AE1
⫡ \(\perps\) \perps
perpendicular with sU+02AF1
⫱ \(\topcir\) \topcir
down tack with circle belowU+02B12
⬒ \(\squaretopblack\) \squaretopblack
square with top half blackU+02B13
⬓ \(\squarebotblack\) \squarebotblack
square with bottom half blackU+02B14
⬔ \(\squareurblack\) \squareurblack
square with upper right diagonal half blackU+02B15
⬕ \(\squarellblack\) \squarellblack
square with lower left diagonal half blackU+02B16
⬖ \(\diamondleftblack\) \diamondleftblack
diamond with left half blackU+02B17
⬗ \(\diamondrightblack\) \diamondrightblack
diamond with right half blackU+02B18
⬘ \(\diamondtopblack\) \diamondtopblack
diamond with top half blackU+02B19
⬙ \(\diamondbotblack\) \diamondbotblack
diamond with bottom half blackU+02B1A
⬚ \(\dottedsquare\) \dottedsquare
dotted squareU+02B1B
⬛︎ \(\lgblksquare\) \lgblksquare
black large squareU+02B1C
⬜︎ \(\lgwhtsquare\) \lgwhtsquare
white large squareU+02B1D
⬝ \(\vysmblksquare\) \vysmblksquare
black very small squareU+02B1E
⬞ \(\vysmwhtsquare\) \vysmwhtsquare
white very small squareU+02B1F
⬟ \(\pentagonblack\) \pentagonblack
black pentagonU+02B20
⬠ \(\pentagon\) \pentagon
white pentagonU+02B21
⬡ \(\varhexagon\) \varhexagon
white hexagonU+02B22
⬢ \(\varhexagonblack\) \varhexagonblack
black hexagonU+02B23
⬣ \(\hexagonblack\) \hexagonblack
horizontal black hexagonU+02B24
⬤ \(\lgblkcircle\) \lgblkcircle
black large circleU+02B25
⬥ \(\mdblkdiamond\) \mdblkdiamond
black medium diamondU+02B26
⬦ \(\mdwhtdiamond\) \mdwhtdiamond
white medium diamondU+02B27
⬧ \(\mdblklozenge\) \mdblklozenge
black medium lozengeU+02B28
⬨ \(\mdwhtlozenge\) \mdwhtlozenge
white medium lozengeU+02B29
⬩ \(\smblkdiamond\) \smblkdiamond
black small diamondU+02B2A
⬪ \(\smblklozenge\) \smblklozenge
black small lozengeU+02B2B
⬫ \(\smwhtlozenge\) \smwhtlozenge
white small lozengeU+02B2C
⬬ \(\blkhorzoval\) \blkhorzoval
black horizontal ellipseU+02B2D
⬭ \(\whthorzoval\) \whthorzoval
white horizontal ellipseU+02B2E
⬮ \(\blkvertoval\) \blkvertoval
black vertical ellipseU+02B2F
⬯ \(\whtvertoval\) \whtvertoval
white vertical ellipseU+02B50
⭐︎ \(\medwhitestar\) \medwhitestar
white medium starU+02B51
⭑︎ \(\medblackstar\) \medblackstar
black medium starU+02B52
⭒ \(\smwhitestar\) \smwhitestar
white small starU+02B53
⭓ \(\rightpentagonblack\) \rightpentagonblack
black right-pointing pentagonU+02B54
⭔ \(\rightpentagon\) \rightpentagon
white right-pointing pentagonU+03012
〒 \(\postalmark\) \postalmark
postal markU+03030
〰 \(\hzigzag\) \hzigzag
zigzagU+0003C
< \(\less\) \less
less-than sign r:U+0003D
= \(\equal\) \equal
equals sign r:U+0003E
> \(\greater\) \greater
greater-than sign r:U+02050
⁐ \(\closure\) \closure
close upU+02190
← \(\leftarrow\) \leftarrow
/leftarrow /gets a: leftward arrowU+02191
↑ \(\uparrow\) \uparrow
upward arrowU+02192
→ \(\rightarrow\) \rightarrow
/rightarrow /to a: rightward arrowU+02193
↓ \(\downarrow\) \downarrow
downward arrowU+02194
↔ \(\leftrightarrow\) \leftrightarrow
left and right arrowU+02195
↕ \(\updownarrow\) \updownarrow
up and down arrowU+02196
↖ \(\nwarrow\) \nwarrow
nw pointing arrowU+02197
↗ \(\nearrow\) \nearrow
ne pointing arrowU+02198
↘ \(\searrow\) \searrow
se pointing arrowU+02199
↙ \(\swarrow\) \swarrow
sw pointing arrowU+0219A
↚ \(\nleftarrow\) \nleftarrow
not left arrowU+0219B
↛ \(\nrightarrow\) \nrightarrow
not right arrowU+0219C
↜ \(\leftwavearrow\) \leftwavearrow
left arrow-wavyU+0219D
↝ \(\rightwavearrow\) \rightwavearrow
right arrow-wavyU+0219E
↞ \(\twoheadleftarrow\) \twoheadleftarrow
left two-headed arrowU+0219F
↟ \(\twoheaduparrow\) \twoheaduparrow
up two-headed arrowU+021A0
↠ \(\twoheadrightarrow\) \twoheadrightarrow
right two-headed arrowU+021A1
↡ \(\twoheaddownarrow\) \twoheaddownarrow
down two-headed arrowU+021A2
↢ \(\leftarrowtail\) \leftarrowtail
left arrow-tailedU+021A3
↣ \(\rightarrowtail\) \rightarrowtail
right arrow-tailedU+021A4
↤ \(\mapsfrom\) \mapsfrom
maps to, leftwardU+021A5
↥ \(\mapsup\) \mapsup
maps to, upwardU+021A6
↦ \(\mapsto\) \mapsto
maps to, rightwardU+021A7
↧ \(\mapsdown\) \mapsdown
maps to, downwardU+021A9
↩ \(\hookleftarrow\) \hookleftarrow
left arrow-hookedU+021AA
↪ \(\hookrightarrow\) \hookrightarrow
right arrow-hookedU+021AB
↫ \(\looparrowleft\) \looparrowleft
left arrow-loopedU+021AC
↬ \(\looparrowright\) \looparrowright
right arrow-loopedU+021AD
↭ \(\leftrightsquigarrow\) \leftrightsquigarrow
left and right arr-wavyU+021AE
↮ \(\nleftrightarrow\) \nleftrightarrow
not left and right arrowU+021AF
↯ \(\downzigzagarrow\) \downzigzagarrow
downwards zigzag arrowU+021B0
↰ \(\Lsh\) \Lsh
/lsh a:U+021B1
↱ \(\Rsh\) \Rsh
/rsh a:U+021B2
↲ \(\Ldsh\) \Ldsh
left down angled arrowU+021B3
↳ \(\Rdsh\) \Rdsh
right down angled arrowU+021B6
↶ \(\curvearrowleft\) \curvearrowleft
left curved arrowU+021B7
↷ \(\curvearrowright\) \curvearrowright
right curved arrowU+021BC
↼ \(\leftharpoonup\) \leftharpoonup
left harpoon-upU+021BD
↽ \(\leftharpoondown\) \leftharpoondown
left harpoon-downU+021BE
↾ \(\upharpoonright\) \upharpoonright
/upharpoonright /restriction a: up harpoon-rightU+021BF
↿ \(\upharpoonleft\) \upharpoonleft
up harpoon-leftU+021C0
⇀ \(\rightharpoonup\) \rightharpoonup
right harpoon-upU+021C1
⇁ \(\rightharpoondown\) \rightharpoondown
right harpoon-downU+021C2
⇂ \(\downharpoonright\) \downharpoonright
down harpoon-rightU+021C3
⇃ \(\downharpoonleft\) \downharpoonleft
down harpoon-leftU+021C4
⇄ \(\rightleftarrows\) \rightleftarrows
right arrow over left arrowU+021C5
⇅ \(\updownarrows\) \updownarrows
up arrow, down arrowU+021C6
⇆ \(\leftrightarrows\) \leftrightarrows
left arrow over right arrowU+021C7
⇇ \(\leftleftarrows\) \leftleftarrows
two left arrowsU+021C8
⇈ \(\upuparrows\) \upuparrows
two up arrowsU+021C9
⇉ \(\rightrightarrows\) \rightrightarrows
two right arrowsU+021CA
⇊ \(\downdownarrows\) \downdownarrows
two down arrowsU+021CB
⇋ \(\leftrightharpoons\) \leftrightharpoons
left harpoon over rightU+021CC
⇌ \(\rightleftharpoons\) \rightleftharpoons
right harpoon over leftU+021CD
⇍ \(\nLeftarrow\) \nLeftarrow
not implied byU+021CE
⇎ \(\nLeftrightarrow\) \nLeftrightarrow
not left and right double arrowsU+021CF
⇏ \(\nRightarrow\) \nRightarrow
not impliesU+021D0
⇐ \(\Leftarrow\) \Leftarrow
is implied byU+021D1
⇑ \(\Uparrow\) \Uparrow
up double arrowU+021D2
⇒ \(\Rightarrow\) \Rightarrow
impliesU+021D3
⇓ \(\Downarrow\) \Downarrow
down double arrowU+021D4
⇔ \(\Leftrightarrow\) \Leftrightarrow
left and right double arrowU+021D5
⇕ \(\Updownarrow\) \Updownarrow
up and down double arrowU+021D6
⇖ \(\Nwarrow\) \Nwarrow
nw pointing double arrowU+021D7
⇗ \(\Nearrow\) \Nearrow
ne pointing double arrowU+021D8
⇘ \(\Searrow\) \Searrow
se pointing double arrowU+021D9
⇙ \(\Swarrow\) \Swarrow
sw pointing double arrowU+021DA
⇚ \(\Lleftarrow\) \Lleftarrow
left triple arrowU+021DB
⇛ \(\Rrightarrow\) \Rrightarrow
right triple arrowU+021DC
⇜ \(\leftsquigarrow\) \leftsquigarrow
leftwards squiggle arrowU+021DD
⇝ \(\rightsquigarrow\) \rightsquigarrow
rightwards squiggle arrowU+021E4
⇤ \(\barleftarrow\) \barleftarrow
leftwards arrow to barU+021E5
⇥ \(\rightarrowbar\) \rightarrowbar
rightwards arrow to barU+021F4
⇴ \(\circleonrightarrow\) \circleonrightarrow
right arrow with small circleU+021F5
⇵ \(\downuparrows\) \downuparrows
downwards arrow leftwards ofupwards arrowU+021F6
⇶ \(\rightthreearrows\) \rightthreearrows
three rightwards arrowsU+021F7
⇷ \(\nvleftarrow\) \nvleftarrow
leftwards arrow with vertical strokeU+021F8
⇸ \(\nvrightarrow\) \nvrightarrow
rightwards arrow with vertical strokeU+021F9
⇹ \(\nvleftrightarrow\) \nvleftrightarrow
left right arrow with vertical strokeU+021FA
⇺ \(\nVleftarrow\) \nVleftarrow
leftwards arrow with double verticalstrokeU+021FB
⇻ \(\nVrightarrow\) \nVrightarrow
rightwards arrow with double vertical strokeU+021FC
⇼ \(\nVleftrightarrow\) \nVleftrightarrow
left right arrow with double vertical strokeU+021FD
⇽ \(\leftarrowtriangle\) \leftarrowtriangle
leftwards open-headed arrowU+021FE
⇾ \(\rightarrowtriangle\) \rightarrowtriangle
rightwards open-headed arrowU+021FF
⇿ \(\leftrightarrowtriangle\) \leftrightarrowtriangle
left right open-headed arrowU+02208
∈ \(\in\) \in
set membership, variantU+02209
∉ \(\notin\) \notin
negated set membershipU+0220A
∊ \(\smallin\) \smallin
set membership (small set membership)U+0220B
∋ \(\ni\) \ni
contains, variantU+0220C
∌ \(\nni\) \nni
negated contains, variantU+0220D
∍ \(\smallni\) \smallni
/ni /owns r: contains (small contains as member)U+0221D
∝ \(\propto\) \propto
is proportional toU+02223
∣ \(\mid\) \mid
/mid r:U+02224
∤ \(\nmid\) \nmid
negated midU+02225
∥ \(\parallel\) \parallel
parallelU+02226
∦ \(\nparallel\) \nparallel
not parallelU+02236
∶ \(\mathratio\) \mathratio
ratioU+02237
∷ \(\Colon\) \Colon
two colonsU+02239
∹ \(\dashcolon\) \dashcolon
excess (-:)U+0223A
∺ \(\dotsminusdots\) \dotsminusdots
minus with four dots, geometric propertiesU+0223B
∻ \(\kernelcontraction\) \kernelcontraction
homotheticU+0223C
∼ \(\sim\) \sim
similarU+0223D
∽ \(\backsim\) \backsim
reverse similarU+02241
≁ \(\nsim\) \nsim
not similarU+02242
≂ \(\eqsim\) \eqsim
equals, similarU+02243
≃ \(\simeq\) \simeq
similar, equalsU+02244
≄ \(\nsime\) \nsime
not similar, equalsU+02243
≃ \(\sime\) \sime
similar, equals (alias)U+02244
≄ \(\nsimeq\) \nsimeq
not similar, equals (alias)U+02245
≅ \(\cong\) \cong
congruent withU+02246
≆ \(\simneqq\) \simneqq
similar, not equals [vert only for 9573 entity]U+02247
≇ \(\ncong\) \ncong
not congruent withU+02248
≈ \(\approx\) \approx
approximateU+02249
≉ \(\napprox\) \napprox
not approximateU+0224A
≊ \(\approxeq\) \approxeq
approximate, equalsU+0224B
≋ \(\approxident\) \approxident
approximately identical toU+0224C
≌ \(\backcong\) \backcong
all equal toU+0224D
≍ \(\asymp\) \asymp
asymptotically equal toU+0224E
≎ \(\Bumpeq\) \Bumpeq
bumpy equalsU+0224F
≏ \(\bumpeq\) \bumpeq
bumpy equals, equalsU+02250
≐ \(\doteq\) \doteq
equals, single dot aboveU+02251
≑ \(\Doteq\) \Doteq
/doteqdot /doteq r: equals, even dotsU+02252
≒ \(\fallingdotseq\) \fallingdotseq
equals, falling dotsU+02253
≓ \(\risingdotseq\) \risingdotseq
equals, rising dotsU+02254
≔ \(\coloneq\) \coloneq
colon, equalsU+02255
≕ \(\eqcolon\) \eqcolon
equals, colonU+02256
≖ \(\eqcirc\) \eqcirc
circle on equals signU+02257
≗ \(\circeq\) \circeq
circle, equalsU+02258
≘ \(\arceq\) \arceq
arc, equals; corresponds toU+02259
≙ \(\wedgeq\) \wedgeq
corresponds to (wedge, equals)U+0225A
≚ \(\veeeq\) \veeeq
logical or, equalsU+0225B
≛ \(\stareq\) \stareq
star equalsU+0225C
≜ \(\triangleq\) \triangleq
triangle, equalsU+0225D
≝ \(\eqdef\) \eqdef
equals by definitionU+0225E
≞ \(\measeq\) \measeq
measured by (m over equals)U+0225F
≟ \(\questeq\) \questeq
equal with questionmarkU+02260
≠ \(\ne\) \ne
/ne /neq r: not equalU+02261
≡ \(\equiv\) \equiv
identical withU+02262
≢ \(\nequiv\) \nequiv
not identical withU+02263
≣ \(\Equiv\) \Equiv
strict equivalence (4 lines)U+02264
≤ \(\leq\) \leq
/leq /le r: less-than-or-equalU+02265
≥ \(\geq\) \geq
/geq /ge r: greater-than-or-equalU+02266
≦ \(\leqq\) \leqq
less, double equalsU+02267
≧ \(\geqq\) \geqq
greater, double equalsU+02268
≨ \(\lneqq\) \lneqq
less, not double equalsU+02269
≩ \(\gneqq\) \gneqq
greater, not double equalsU+0226A
≪ \(\ll\) \ll
much less than, type 2U+0226B
≫ \(\gg\) \gg
much greater than, type 2U+0226C
≬ \(\between\) \between
betweenU+0226D
≭ \(\nasymp\) \nasymp
not asymptotically equal toU+0226E
≮ \(\nless\) \nless
not less-thanU+0226F
≯ \(\ngtr\) \ngtr
not greater-thanU+02270
≰ \(\nleq\) \nleq
not less-than-or-equalU+02271
≱ \(\ngeq\) \ngeq
not greater-than-or-equalU+02272
≲ \(\lesssim\) \lesssim
less, similarU+02273
≳ \(\gtrsim\) \gtrsim
greater, similarU+02274
≴ \(\nlesssim\) \nlesssim
not less, similarU+02275
≵ \(\ngtrsim\) \ngtrsim
not greater, similarU+02276
≶ \(\lessgtr\) \lessgtr
less, greaterU+02277
≷ \(\gtrless\) \gtrless
greater, lessU+02278
≸ \(\nlessgtr\) \nlessgtr
not less, greaterU+02279
≹ \(\ngtrless\) \ngtrless
not greater, lessU+0227A
≺ \(\prec\) \prec
precedesU+0227B
≻ \(\succ\) \succ
succeedsU+0227C
≼ \(\preccurlyeq\) \preccurlyeq
precedes, curly equalsU+0227D
≽ \(\succcurlyeq\) \succcurlyeq
succeeds, curly equalsU+0227E
≾ \(\precsim\) \precsim
precedes, similarU+0227F
≿ \(\succsim\) \succsim
succeeds, similarU+02280
⊀ \(\nprec\) \nprec
not precedesU+02281
⊁ \(\nsucc\) \nsucc
not succeedsU+02282
⊂ \(\subset\) \subset
subset or is implied byU+02283
⊃ \(\supset\) \supset
superset or impliesU+02284
⊄ \(\nsubset\) \nsubset
not subset, variant [slash negation]U+02285
⊅ \(\nsupset\) \nsupset
not superset, variant [slash negation]U+02286
⊆ \(\subseteq\) \subseteq
subset, equalsU+02287
⊇ \(\supseteq\) \supseteq
superset, equalsU+02288
⊈ \(\nsubseteq\) \nsubseteq
not subset, equalsU+02289
⊉ \(\nsupseteq\) \nsupseteq
not superset, equalsU+0228A
⊊ \(\subsetneq\) \subsetneq
subset, not equalsU+0228B
⊋ \(\supsetneq\) \supsetneq
superset, not equalsU+0228F
⊏ \(\sqsubset\) \sqsubset
square subsetU+02290
⊐ \(\sqsupset\) \sqsupset
square supersetU+02291
⊑ \(\sqsubseteq\) \sqsubseteq
square subset, equalsU+02292
⊒ \(\sqsupseteq\) \sqsupseteq
square superset, equalsU+022A2
⊢ \(\vdash\) \vdash
vertical, dashU+022A3
⊣ \(\dashv\) \dashv
dash, verticalU+022A6
⊦ \(\assert\) \assert
assertion (vertical, short dash)U+022A7
⊧ \(\models\) \models
models (vertical, short double dash)U+022A8
⊨ \(\vDash\) \vDash
vertical, double dashU+022A9
⊩ \(\Vdash\) \Vdash
double vertical, dashU+022AA
⊪ \(\Vvdash\) \Vvdash
triple vertical, dashU+022AB
⊫ \(\VDash\) \VDash
double vert, double dashU+022AC
⊬ \(\nvdash\) \nvdash
not vertical, dashU+022AD
⊭ \(\nvDash\) \nvDash
not vertical, double dashU+022AE
⊮ \(\nVdash\) \nVdash
not double vertical, dashU+022AF
⊯ \(\nVDash\) \nVDash
not double vert, double dashU+022B0
⊰ \(\prurel\) \prurel
element precedes under relationU+022B1
⊱ \(\scurel\) \scurel
succeeds under relationU+022B2
⊲ \(\vartriangleleft\) \vartriangleleft
left triangle, open, variantU+022B3
⊳ \(\vartriangleright\) \vartriangleright
right triangle, open, variantU+022B4
⊴ \(\trianglelefteq\) \trianglelefteq
left triangle, equalsU+022B5
⊵ \(\trianglerighteq\) \trianglerighteq
right triangle, equalsU+022B6
⊶ \(\origof\) \origof
original ofU+022B7
⊷ \(\imageof\) \imageof
image ofU+022B8
⊸ \(\multimap\) \multimap
/multimap a:U+022C8
⋈ \(\bowtie\) \bowtie
bowtieU+022CD
⋍ \(\backsimeq\) \backsimeq
reverse similar, equalsU+022D0
⋐ \(\Subset\) \Subset
double subsetU+022D1
⋑ \(\Supset\) \Supset
double supersetU+022D4
⋔ \(\pitchfork\) \pitchfork
pitchforkU+022D5
⋕ \(\equalparallel\) \equalparallel
parallel, equal; equal or parallelU+022D6
⋖ \(\lessdot\) \lessdot
less than, with dotU+022D7
⋗ \(\gtrdot\) \gtrdot
greater than, with dotU+022D8
⋘ \(\lll\) \lll
/ll /lll /llless r: triple less-thanU+022D9
⋙ \(\ggg\) \ggg
/ggg /gg /gggtr r: triple greater-thanU+022DA
⋚ \(\lesseqgtr\) \lesseqgtr
less, equals, greaterU+022DB
⋛ \(\gtreqless\) \gtreqless
greater, equals, lessU+022DC
⋜ \(\eqless\) \eqless
equal-or-lessU+022DD
⋝ \(\eqgtr\) \eqgtr
equal-or-greaterU+022DE
⋞ \(\curlyeqprec\) \curlyeqprec
curly equals, precedesU+022DF
⋟ \(\curlyeqsucc\) \curlyeqsucc
curly equals, succeedsU+022E0
⋠ \(\npreccurlyeq\) \npreccurlyeq
not precedes, curly equalsU+022E1
⋡ \(\nsucccurlyeq\) \nsucccurlyeq
not succeeds, curly equalsU+022E2
⋢ \(\nsqsubseteq\) \nsqsubseteq
not, square subset, equalsU+022E3
⋣ \(\nsqsupseteq\) \nsqsupseteq
not, square superset, equalsU+022E4
⋤ \(\sqsubsetneq\) \sqsubsetneq
square subset, not equalsU+022E5
⋥ \(\sqsupsetneq\) \sqsupsetneq
square superset, not equalsU+022E6
⋦ \(\lnsim\) \lnsim
less, not similarU+022E7
⋧ \(\gnsim\) \gnsim
greater, not similarU+022E8
⋨ \(\precnsim\) \precnsim
precedes, not similarU+022E9
⋩ \(\succnsim\) \succnsim
succeeds, not similarU+022EA
⋪ \(\nvartriangleleft\) \nvartriangleleft
not left triangleU+022EB
⋫ \(\nvartriangleright\) \nvartriangleright
not right triangleU+022EC
⋬ \(\ntrianglelefteq\) \ntrianglelefteq
not left triangle, equalsU+022ED
⋭ \(\ntrianglerighteq\) \ntrianglerighteq
not right triangle, equalsU+022EE
⋮ \(\vdots\) \vdots
vertical ellipsisU+022F0
⋰ \(\adots\) \adots
three dots, ascendingU+022F1
⋱ \(\ddots\) \ddots
three dots, descendingU+022F2
⋲ \(\disin\) \disin
element of with long horizontal strokeU+022F3
⋳ \(\varisins\) \varisins
element of with vertical bar at end ofhorizontal strokeU+022F4
⋴ \(\isins\) \isins
small element of with vertical bar atend of horizontal strokeU+022F5
⋵ \(\isindot\) \isindot
element of with dot aboveU+022F6
⋶ \(\varisinobar\) \varisinobar
element of with overbarU+022F7
⋷ \(\isinobar\) \isinobar
small element of with overbarU+022F8
⋸ \(\isinvb\) \isinvb
element of with underbarU+022F9
⋹ \(\isinE\) \isinE
element of with two horizontalstrokesU+022FA
⋺ \(\nisd\) \nisd
contains with long horizontal strokeU+022FB
⋻ \(\varnis\) \varnis
contains with vertical bar at end ofhorizontal strokeU+022FC
⋼ \(\nis\) \nis
small contains with vertical bar atend of horizontal strokeU+022FD
⋽ \(\varniobar\) \varniobar
contains with overbarU+022FE
⋾ \(\niobar\) \niobar
small contains with overbarU+022FF
⋿ \(\bagmember\) \bagmember
z notation bag membershipU+02322
⌢ \(\frown\) \frown
down curveU+02323
⌣ \(\smile\) \smile
up curveU+0233F
⌿ \(\APLnotslash\) \APLnotslash
solidus, bar through (apl functional symbol slash bar)U+025B5
▵ \(\vartriangle\) \vartriangle
/triangle - up triangle, openU+027C2
⟂ \(\perp\) \perp
perpendicularU+027C8
⟈ \(\bsolhsub\) \bsolhsub
reverse solidus preceding subsetU+027C9
⟉ \(\suphsol\) \suphsol
superset preceding solidusU+027D2
⟒ \(\upin\) \upin
element of opening upwardsU+027D3
⟓ \(\pullback\) \pullback
lower right corner with dotU+027D4
⟔ \(\pushout\) \pushout
upper left corner with dotU+027DA
⟚ \(\DashVDash\) \DashVDash
left and right double turnstileU+027DB
⟛ \(\dashVdash\) \dashVdash
left and right tackU+027DC
⟜ \(\multimapinv\) \multimapinv
left multimapU+027DD
⟝ \(\vlongdash\) \vlongdash
long left tackU+027DE
⟞ \(\longdashv\) \longdashv
long right tackU+027DF
⟟ \(\cirbot\) \cirbot
up tack with circle aboveU+027F0
⟰ \(\UUparrow\) \UUparrow
upwards quadruple arrowU+027F1
⟱ \(\DDownarrow\) \DDownarrow
downwards quadruple arrowU+027F2
⟲ \(\acwgapcirclearrow\) \acwgapcirclearrow
anticlockwise gapped circle arrowU+027F3
⟳ \(\cwgapcirclearrow\) \cwgapcirclearrow
clockwise gapped circle arrowU+027F4
⟴ \(\rightarrowonoplus\) \rightarrowonoplus
right arrow with circled plusU+027F5
⟵ \(\longleftarrow\) \longleftarrow
long leftwards arrowU+027F6
⟶ \(\longrightarrow\) \longrightarrow
long rightwards arrowU+027F7
⟷ \(\longleftrightarrow\) \longleftrightarrow
long left right arrowU+027F8
⟸ \(\Longleftarrow\) \Longleftarrow
long leftwards double arrowU+027F9
⟹ \(\Longrightarrow\) \Longrightarrow
long rightwards double arrowU+027FA
⟺ \(\Longleftrightarrow\) \Longleftrightarrow
long left right double arrowU+027FB
⟻ \(\longmapsfrom\) \longmapsfrom
long leftwards arrow from barU+027FC
⟼ \(\longmapsto\) \longmapsto
long rightwards arrow from barU+027FD
⟽ \(\Longmapsfrom\) \Longmapsfrom
long leftwards double arrow from barU+027FE
⟾ \(\Longmapsto\) \Longmapsto
long rightwards double arrow from barU+027FF
⟿ \(\longrightsquigarrow\) \longrightsquigarrow
long rightwards squiggle arrowU+02900
⤀ \(\nvtwoheadrightarrow\) \nvtwoheadrightarrow
rightwards two-headed arrow with vertical strokeU+02901
⤁ \(\nVtwoheadrightarrow\) \nVtwoheadrightarrow
rightwards two-headed arrow with double vertical strokeU+02902
⤂ \(\nvLeftarrow\) \nvLeftarrow
leftwards double arrow with verticalstrokeU+02903
⤃ \(\nvRightarrow\) \nvRightarrow
rightwards double arrow with vertical strokeU+02904
⤄ \(\nvLeftrightarrow\) \nvLeftrightarrow
left right double arrow with vertical strokeU+02905
⤅ \(\twoheadmapsto\) \twoheadmapsto
rightwards two-headed arrow from barU+02906
⤆ \(\Mapsfrom\) \Mapsfrom
leftwards double arrow from barU+02907
⤇ \(\Mapsto\) \Mapsto
rightwards double arrow from barU+02908
⤈ \(\downarrowbarred\) \downarrowbarred
downwards arrow with horizontalstrokeU+02909
⤉ \(\uparrowbarred\) \uparrowbarred
upwards arrow with horizontal strokeU+0290A
⤊ \(\Uuparrow\) \Uuparrow
upwards triple arrowU+0290B
⤋ \(\Ddownarrow\) \Ddownarrow
downwards triple arrowU+0290C
⤌ \(\leftbkarrow\) \leftbkarrow
leftwards double dash arrowU+0290D
⤍ \(\rightbkarrow\) \rightbkarrow
rightwards double dash arrowU+0290E
⤎ \(\leftdbkarrow\) \leftdbkarrow
leftwards triple dash arrowU+0290F
⤏ \(\dbkarrow\) \dbkarrow
rightwards triple dash arrowU+02910
⤐ \(\drbkarrow\) \drbkarrow
rightwards two-headed triple dasharrowU+02911
⤑ \(\rightdotarrow\) \rightdotarrow
rightwards arrow with dotted stemU+02912
⤒ \(\baruparrow\) \baruparrow
upwards arrow to barU+02913
⤓ \(\downarrowbar\) \downarrowbar
downwards arrow to barU+02914
⤔ \(\nvrightarrowtail\) \nvrightarrowtail
rightwards arrow with tail with vertical strokeU+02915
⤕ \(\nVrightarrowtail\) \nVrightarrowtail
rightwards arrow with tail with double vertical strokeU+02916
⤖ \(\twoheadrightarrowtail\) \twoheadrightarrowtail
rightwards two-headed arrow with tailU+02917
⤗ \(\nvtwoheadrightarrowtail\) \nvtwoheadrightarrowtail
rightwards two-headed arrow with tail with vertical strokeU+02918
⤘ \(\nVtwoheadrightarrowtail\) \nVtwoheadrightarrowtail
rightwards two-headed arrow with tail with double vertical strokeU+02919
⤙ \(\lefttail\) \lefttail
leftwards arrow-tailU+0291A
⤚ \(\righttail\) \righttail
rightwards arrow-tailU+0291B
⤛ \(\leftdbltail\) \leftdbltail
leftwards double arrow-tailU+0291C
⤜ \(\rightdbltail\) \rightdbltail
rightwards double arrow-tailU+0291D
⤝ \(\diamondleftarrow\) \diamondleftarrow
leftwards arrow to black diamondU+0291E
⤞ \(\rightarrowdiamond\) \rightarrowdiamond
rightwards arrow to black diamondU+0291F
⤟ \(\diamondleftarrowbar\) \diamondleftarrowbar
leftwards arrow from bar to blackdiamondU+02920
⤠ \(\barrightarrowdiamond\) \barrightarrowdiamond
rightwards arrow from bar to black diamondU+02921
⤡ \(\nwsearrow\) \nwsearrow
north west and south east arrowU+02922
⤢ \(\neswarrow\) \neswarrow
north east and south west arrowU+02923
⤣ \(\hknwarrow\) \hknwarrow
north west arrow with hookU+02924
⤤ \(\hknearrow\) \hknearrow
north east arrow with hookU+02925
⤥ \(\hksearrow\) \hksearrow
south east arrow with hookU+02926
⤦ \(\hkswarrow\) \hkswarrow
south west arrow with hookU+02927
⤧ \(\tona\) \tona
north west arrow and north eastarrowU+02928
⤨ \(\toea\) \toea
north east arrow and south eastarrowU+02929
⤩ \(\tosa\) \tosa
south east arrow and south westarrowU+0292A
⤪ \(\towa\) \towa
south west arrow and north westarrowU+02933
⤳ \(\rightcurvedarrow\) \rightcurvedarrow
wave arrow pointing directly rightU+02936
⤶ \(\leftdowncurvedarrow\) \leftdowncurvedarrow
arrow pointing downwards then curving leftwardsU+02937
⤷ \(\rightdowncurvedarrow\) \rightdowncurvedarrow
arrow pointing downwards then curving rightwardsU+02938
⤸ \(\cwrightarcarrow\) \cwrightarcarrow
right-side arc clockwise arrowU+02939
⤹ \(\acwleftarcarrow\) \acwleftarcarrow
left-side arc anticlockwise arrowU+0293A
⤺ \(\acwoverarcarrow\) \acwoverarcarrow
top arc anticlockwise arrowU+0293B
⤻ \(\acwunderarcarrow\) \acwunderarcarrow
bottom arc anticlockwise arrowU+0293C
⤼ \(\curvearrowrightminus\) \curvearrowrightminus
top arc clockwise arrow with minusU+0293D
⤽ \(\curvearrowleftplus\) \curvearrowleftplus
top arc anticlockwise arrow with plusU+0293E
⤾ \(\cwundercurvearrow\) \cwundercurvearrow
lower right semicircular clockwisearrowU+0293F
⤿ \(\ccwundercurvearrow\) \ccwundercurvearrow
lower left semicircular anticlockwisearrowU+02940
⥀ \(\acwcirclearrow\) \acwcirclearrow
anticlockwise closed circle arrowU+02941
⥁ \(\cwcirclearrow\) \cwcirclearrow
clockwise closed circle arrowU+02942
⥂ \(\rightarrowshortleftarrow\) \rightarrowshortleftarrow
rightwards arrow above short leftwards arrowU+02943
⥃ \(\leftarrowshortrightarrow\) \leftarrowshortrightarrow
leftwards arrow above short rightwards arrowU+02944
⥄ \(\shortrightarrowleftarrow\) \shortrightarrowleftarrow
short rightwards arrow above leftwards arrowU+02945
⥅ \(\rightarrowplus\) \rightarrowplus
rightwards arrow with plus belowU+02946
⥆ \(\leftarrowplus\) \leftarrowplus
leftwards arrow with plus belowU+02947
⥇ \(\rightarrowx\) \rightarrowx
rightwards arrow through xU+02948
⥈ \(\leftrightarrowcircle\) \leftrightarrowcircle
left right arrow through small circleU+02949
⥉ \(\twoheaduparrowcircle\) \twoheaduparrowcircle
upwards two-headed arrow from small circleU+0294A
⥊ \(\leftrightharpoonupdown\) \leftrightharpoonupdown
left barb up right barb down harpoonU+0294B
⥋ \(\leftrightharpoondownup\) \leftrightharpoondownup
left barb down right barb up harpoonU+0294C
⥌ \(\updownharpoonrightleft\) \updownharpoonrightleft
up barb right down barb left harpoonU+0294D
⥍ \(\updownharpoonleftright\) \updownharpoonleftright
up barb left down barb right harpoonU+0294E
⥎ \(\leftrightharpoonupup\) \leftrightharpoonupup
left barb up right barb up harpoonU+0294F
⥏ \(\updownharpoonrightright\) \updownharpoonrightright
up barb right down barb right harpoonU+02950
⥐ \(\leftrightharpoondowndown\) \leftrightharpoondowndown
left barb down right barb down harpoonU+02951
⥑ \(\updownharpoonleftleft\) \updownharpoonleftleft
up barb left down barb left harpoonU+02952
⥒ \(\barleftharpoonup\) \barleftharpoonup
leftwards harpoon with barb up to barU+02953
⥓ \(\rightharpoonupbar\) \rightharpoonupbar
rightwards harpoon with barb up to barU+02954
⥔ \(\barupharpoonright\) \barupharpoonright
upwards harpoon with barb right to barU+02955
⥕ \(\downharpoonrightbar\) \downharpoonrightbar
downwards harpoon with barb right to barU+02956
⥖ \(\barleftharpoondown\) \barleftharpoondown
leftwards harpoon with barb down to barU+02957
⥗ \(\rightharpoondownbar\) \rightharpoondownbar
rightwards harpoon with barb down to barU+02958
⥘ \(\barupharpoonleft\) \barupharpoonleft
upwards harpoon with barb left to barU+02959
⥙ \(\downharpoonleftbar\) \downharpoonleftbar
downwards harpoon with barb left to barU+0295A
⥚ \(\leftharpoonupbar\) \leftharpoonupbar
leftwards harpoon with barb up from barU+0295B
⥛ \(\barrightharpoonup\) \barrightharpoonup
rightwards harpoon with barb up from barU+0295C
⥜ \(\upharpoonrightbar\) \upharpoonrightbar
upwards harpoon with barb right from barU+0295D
⥝ \(\bardownharpoonright\) \bardownharpoonright
downwards harpoon with barb right from barU+0295E
⥞ \(\leftharpoondownbar\) \leftharpoondownbar
leftwards harpoon with barb down from barU+0295F
⥟ \(\barrightharpoondown\) \barrightharpoondown
rightwards harpoon with barb down from barU+02960
⥠ \(\upharpoonleftbar\) \upharpoonleftbar
upwards harpoon with barb left from barU+02961
⥡ \(\bardownharpoonleft\) \bardownharpoonleft
downwards harpoon with barb left from barU+02962
⥢ \(\leftharpoonsupdown\) \leftharpoonsupdown
leftwards harpoon with barb up above leftwards harpoon with barb downU+02963
⥣ \(\upharpoonsleftright\) \upharpoonsleftright
upwards harpoon with barb left beside upwards harpoon with barb rightU+02964
⥤ \(\rightharpoonsupdown\) \rightharpoonsupdown
rightwards harpoon with barb up above rightwards harpoon with barb downU+02965
⥥ \(\downharpoonsleftright\) \downharpoonsleftright
downwards harpoon with barb left beside downwards harpoon with barb rightU+02966
⥦ \(\leftrightharpoonsup\) \leftrightharpoonsup
leftwards harpoon with barb up above rightwards harpoon with barbupU+02967
⥧ \(\leftrightharpoonsdown\) \leftrightharpoonsdown
leftwards harpoon with barb down above rightwards harpoon with barb downU+02968
⥨ \(\rightleftharpoonsup\) \rightleftharpoonsup
rightwards harpoon with barb up above leftwards harpoon with barbupU+02969
⥩ \(\rightleftharpoonsdown\) \rightleftharpoonsdown
rightwards harpoon with barb down above leftwards harpoon with barb downU+0296A
⥪ \(\leftharpoonupdash\) \leftharpoonupdash
leftwards harpoon with barb up above long dashU+0296B
⥫ \(\dashleftharpoondown\) \dashleftharpoondown
leftwards harpoon with barb down below long dashU+0296C
⥬ \(\rightharpoonupdash\) \rightharpoonupdash
rightwards harpoon with barb up above long dashU+0296D
⥭ \(\dashrightharpoondown\) \dashrightharpoondown
rightwards harpoon with barb down below long dashU+0296E
⥮ \(\updownharpoonsleftright\) \updownharpoonsleftright
upwards harpoon with barb left beside downwards harpoon with barb rightU+0296F
⥯ \(\downupharpoonsleftright\) \downupharpoonsleftright
downwards harpoon with barb left beside upwards harpoon with barb rightU+02970
⥰ \(\rightimply\) \rightimply
right double arrow with rounded headU+02971
⥱ \(\equalrightarrow\) \equalrightarrow
equals sign above rightwards arrowU+02972
⥲ \(\similarrightarrow\) \similarrightarrow
tilde operator above rightwardsarrowU+02973
⥳ \(\leftarrowsimilar\) \leftarrowsimilar
leftwards arrow above tilde operatorU+02974
⥴ \(\rightarrowsimilar\) \rightarrowsimilar
rightwards arrow above tilde operatorU+02975
⥵ \(\rightarrowapprox\) \rightarrowapprox
rightwards arrow above almost equal toU+02976
⥶ \(\ltlarr\) \ltlarr
less-than above leftwards arrowU+02977
⥷ \(\leftarrowless\) \leftarrowless
leftwards arrow through less-thanU+02978
⥸ \(\gtrarr\) \gtrarr
greater-than above rightwards ar-rowU+02979
⥹ \(\subrarr\) \subrarr
subset above rightwards arrowU+0297A
⥺ \(\leftarrowsubset\) \leftarrowsubset
leftwards arrow through subsetU+0297B
⥻ \(\suplarr\) \suplarr
superset above leftwards arrowU+0297C
⥼ \(\leftfishtail\) \leftfishtail
left fish tailU+0297D
⥽ \(\rightfishtail\) \rightfishtail
right fish tailU+0297E
⥾ \(\upfishtail\) \upfishtail
up fish tailU+0297F
⥿ \(\downfishtail\) \downfishtail
down fish tailU+02982
⦂ \(\typecolon\) \typecolon
z notation type colonU+029CE
⧎ \(\rtriltri\) \rtriltri
right triangle above left triangleU+029CF
⧏ \(\ltrivb\) \ltrivb
left triangle beside vertical barU+029D0
⧐ \(\vbrtri\) \vbrtri
vertical bar beside right triangleU+029D1
⧑ \(\lfbowtie\) \lfbowtie
left black bowtieU+029D2
⧒ \(\rfbowtie\) \rfbowtie
right black bowtieU+029D3
⧓ \(\fbowtie\) \fbowtie
black bowtieU+029D4
⧔ \(\lftimes\) \lftimes
left black timesU+029D5
⧕ \(\rftimes\) \rftimes
right black timesU+029DF
⧟ \(\dualmap\) \dualmap
double-ended multimapU+029E1
⧡ \(\lrtriangleeq\) \lrtriangleeq
increases asU+029E3
⧣ \(\eparsl\) \eparsl
equals sign and slanted parallelU+029E4
⧤ \(\smeparsl\) \smeparsl
equals sign and slanted parallel with tilde aboveU+029E5
⧥ \(\eqvparsl\) \eqvparsl
identical to and slanted parallelU+029E6
⧦ \(\gleichstark\) \gleichstark
gleich starkU+029F4
⧴ \(\ruledelayed\) \ruledelayed
rule-delayedU+02A59
⩙ \(\veeonwedge\) \veeonwedge
logical or overlapping logical andU+02A66
⩦ \(\eqdot\) \eqdot
equals sign with dot belowU+02A67
⩧ \(\dotequiv\) \dotequiv
identical with dot aboveU+02A68
⩨ \(\equivVert\) \equivVert
triple horizontal bar with double vertical strokeU+02A69
⩩ \(\equivVvert\) \equivVvert
triple horizontal bar with triple vertical strokeU+02A6A
⩪ \(\dotsim\) \dotsim
tilde operator with dot aboveU+02A6B
⩫ \(\simrdots\) \simrdots
tilde operator with rising dotsU+02A6C
⩬ \(\simminussim\) \simminussim
similar minus similarU+02A6D
⩭ \(\congdot\) \congdot
congruent with dot aboveU+02A6E
⩮ \(\asteq\) \asteq
equals with asteriskU+02A6F
⩯ \(\hatapprox\) \hatapprox
almost equal to with circumflex accentU+02A70
⩰ \(\approxeqq\) \approxeqq
approximately equal or equal toU+02A73
⩳ \(\eqqsim\) \eqqsim
equals sign above tilde operatorU+02A74
⩴ \(\Coloneq\) \Coloneq
double colon equalU+02A75
⩵ \(\eqeq\) \eqeq
two consecutive equals signsU+02A76
⩶ \(\eqeqeq\) \eqeqeq
three consecutive equals signsU+02A77
⩷ \(\ddotseq\) \ddotseq
equals sign with two dots above and two dots belowU+02A78
⩸ \(\equivDD\) \equivDD
equivalent with four dots aboveU+02A79
⩹ \(\ltcir\) \ltcir
less-than with circle insideU+02A7A
⩺ \(\gtcir\) \gtcir
greater-than with circle insideU+02A7B
⩻ \(\ltquest\) \ltquest
less-than with question mark aboveU+02A7C
⩼ \(\gtquest\) \gtquest
greater-than with question mark aboveU+02A7D
⩽ \(\leqslant\) \leqslant
less-than or slanted equal toU+02A7E
⩾ \(\geqslant\) \geqslant
greater-than or slanted equal toU+02A7F
⩿ \(\lesdot\) \lesdot
less-than or slanted equal to with dot insideU+02A80
⪀ \(\gesdot\) \gesdot
greater-than or slanted equal to with dot insideU+02A81
⪁ \(\lesdoto\) \lesdoto
less-than or slanted equal to with dot aboveU+02A82
⪂ \(\gesdoto\) \gesdoto
greater-than or slanted equal to with dot aboveU+02A83
⪃ \(\lesdotor\) \lesdotor
less-than or slanted equal to with dot above rightU+02A84
⪄ \(\gesdotol\) \gesdotol
greater-than or slanted equal to with dot above leftU+02A85
⪅ \(\lessapprox\) \lessapprox
less-than or approximateU+02A86
⪆ \(\gtrapprox\) \gtrapprox
greater-than or approximateU+02A87
⪇ \(\lneq\) \lneq
less-than and single-line not equal toU+02A88
⪈ \(\gneq\) \gneq
greater-than and single-line not equal toU+02A89
⪉ \(\lnapprox\) \lnapprox
less-than and not approximateU+02A8A
⪊ \(\gnapprox\) \gnapprox
greater-than and not approximateU+02A8B
⪋ \(\lesseqqgtr\) \lesseqqgtr
less-than above double-line equal above greater-thanU+02A8C
⪌ \(\gtreqqless\) \gtreqqless
greater-than above double-line equal above less-thanU+02A8D
⪍ \(\lsime\) \lsime
less-than above similar or equalU+02A8E
⪎ \(\gsime\) \gsime
greater-than above similar or equalU+02A8F
⪏ \(\lsimg\) \lsimg
less-than above similar abovegreater-thanU+02A90
⪐ \(\gsiml\) \gsiml
greater-than above similar above less-thanU+02A91
⪑ \(\lgE\) \lgE
less-than above greater-than above double-line equalU+02A92
⪒ \(\glE\) \glE
greater-than above less-than above double-line equalU+02A93
⪓ \(\lesges\) \lesges
less-than above slanted equal above greater-than above slanted equalU+02A94
⪔ \(\gesles\) \gesles
greater-than above slanted equal above less-than above slanted equalU+02A95
⪕ \(\eqslantless\) \eqslantless
slanted equal to or less-thanU+02A96
⪖ \(\eqslantgtr\) \eqslantgtr
slanted equal to or greater-thanU+02A97
⪗ \(\elsdot\) \elsdot
slanted equal to or less-than with dot insideU+02A98
⪘ \(\egsdot\) \egsdot
slanted equal to or greater-than with dot insideU+02A99
⪙ \(\eqqless\) \eqqless
double-line equal to or less-thanU+02A9A
⪚ \(\eqqgtr\) \eqqgtr
double-line equal to or greater-thanU+02A9B
⪛ \(\eqqslantless\) \eqqslantless
double-line slanted equal to or less-thanU+02A9C
⪜ \(\eqqslantgtr\) \eqqslantgtr
double-line slanted equal to or greater-thanU+02A9D
⪝ \(\simless\) \simless
similar or less-thanU+02A9E
⪞ \(\simgtr\) \simgtr
similar or greater-thanU+02A9F
⪟ \(\simlE\) \simlE
similar above less-than above equals signU+02AA0
⪠ \(\simgE\) \simgE
similar above greater-than above equals signU+02AA1
⪡ \(\Lt\) \Lt
double nested less-thanU+02AA2
⪢ \(\Gt\) \Gt
double nested greater-thanU+02AA3
⪣ \(\partialmeetcontraction\) \partialmeetcontraction
double less-than with underbarU+02AA4
⪤ \(\glj\) \glj
greater-than overlapping less-thanU+02AA5
⪥ \(\gla\) \gla
greater-than beside less-thanU+02AA6
⪦ \(\ltcc\) \ltcc
less-than closed by curveU+02AA7
⪧ \(\gtcc\) \gtcc
greater-than closed by curveU+02AA8
⪨ \(\lescc\) \lescc
less-than closed by curve above slanted equalU+02AA9
⪩ \(\gescc\) \gescc
greater-than closed by curve above slanted equalU+02AAA
⪪ \(\smt\) \smt
smaller thanU+02AAB
⪫ \(\lat\) \lat
larger thanU+02AAC
⪬ \(\smte\) \smte
smaller than or equal toU+02AAD
⪭ \(\late\) \late
larger than or equal toU+02AAE
⪮ \(\bumpeqq\) \bumpeqq
equals sign with bumpy aboveU+02AAF
⪯ \(\preceq\) \preceq
precedes above single-line equals signU+02AB0
⪰ \(\succeq\) \succeq
succeeds above single-line equals signU+02AB1
⪱ \(\precneq\) \precneq
precedes above single-line not equal toU+02AB2
⪲ \(\succneq\) \succneq
succeeds above single-line not equal toU+02AB3
⪳ \(\preceqq\) \preceqq
precedes above equals signU+02AB4
⪴ \(\succeqq\) \succeqq
succeeds above equals signU+02AB5
⪵ \(\precneqq\) \precneqq
precedes above not equal toU+02AB6
⪶ \(\succneqq\) \succneqq
succeeds above not equal toU+02AB7
⪷ \(\precapprox\) \precapprox
precedes above almost equal toU+02AB8
⪸ \(\succapprox\) \succapprox
succeeds above almost equal toU+02AB9
⪹ \(\precnapprox\) \precnapprox
precedes above not almost equal toU+02ABA
⪺ \(\succnapprox\) \succnapprox
succeeds above not almost equal toU+02ABB
⪻ \(\Prec\) \Prec
double precedesU+02ABC
⪼ \(\Succ\) \Succ
double succeedsU+02ABD
⪽ \(\subsetdot\) \subsetdot
subset with dotU+02ABE
⪾ \(\supsetdot\) \supsetdot
superset with dotU+02ABF
⪿ \(\subsetplus\) \subsetplus
subset with plus sign belowU+02AC0
⫀ \(\supsetplus\) \supsetplus
superset with plus sign belowU+02AC1
⫁ \(\submult\) \submult
subset with multiplication sign belowU+02AC2
⫂ \(\supmult\) \supmult
superset with multiplication sign belowU+02AC3
⫃ \(\subedot\) \subedot
subset of or equal to with dot aboveU+02AC4
⫄ \(\supedot\) \supedot
superset of or equal to with dot aboveU+02AC5
⫅ \(\subseteqq\) \subseteqq
subset of above equals signU+02AC6
⫆ \(\supseteqq\) \supseteqq
superset of above equals signU+02AC7
⫇ \(\subsim\) \subsim
subset of above tilde operatorU+02AC8
⫈ \(\supsim\) \supsim
superset of above tilde operatorU+02AC9
⫉ \(\subsetapprox\) \subsetapprox
subset of above almost equal toU+02ACA
⫊ \(\supsetapprox\) \supsetapprox
superset of above almost equal toU+02ACB
⫋ \(\subsetneqq\) \subsetneqq
subset of above not equal toU+02ACC
⫌ \(\supsetneqq\) \supsetneqq
superset of above not equal toU+02ACD
⫍ \(\lsqhook\) \lsqhook
square left open box operatorU+02ACE
⫎ \(\rsqhook\) \rsqhook
square right open box operatorU+02ACF
⫏ \(\csub\) \csub
closed subsetU+02AD0
⫐ \(\csup\) \csup
closed supersetU+02AD1
⫑ \(\csube\) \csube
closed subset or equal toU+02AD2
⫒ \(\csupe\) \csupe
closed superset or equal toU+02AD3
⫓ \(\subsup\) \subsup
subset above supersetU+02AD4
⫔ \(\supsub\) \supsub
superset above subsetU+02AD5
⫕ \(\subsub\) \subsub
subset above subsetU+02AD6
⫖ \(\supsup\) \supsup
superset above supersetU+02AD7
⫗ \(\suphsub\) \suphsub
superset beside subsetU+02AD8
⫘ \(\supdsub\) \supdsub
superset beside and joined by dash with subsetU+02AD9
⫙ \(\forkv\) \forkv
element of opening downwardsU+02ADA
⫚ \(\topfork\) \topfork
pitchfork with tee topU+02ADB
⫛ \(\mlcp\) \mlcp
transversal intersectionU+02ADC
⫝̸ \(\forks\) \forks
forkingU+02ADD
⫝ \(\forksnot\) \forksnot
nonforkingU+02ADE
⫞ \(\shortlefttack\) \shortlefttack
short left tackU+02ADF
⫟ \(\shortdowntack\) \shortdowntack
short down tackU+02AE0
⫠ \(\shortuptack\) \shortuptack
short up tackU+02AE2
⫢ \(\vDdash\) \vDdash
vertical bar triple right turnstileU+02AE3
⫣ \(\dashV\) \dashV
double vertical bar left turnstileU+02AE4
⫤ \(\Dashv\) \Dashv
vertical bar double left turnstileU+02AE5
⫥ \(\DashV\) \DashV
double vertical bar double left turnstileU+02AE6
⫦ \(\varVdash\) \varVdash
long dash from left member of double verticalU+02AE7
⫧ \(\Barv\) \Barv
short down tack with overbarU+02AE8
⫨ \(\vBar\) \vBar
short up tack with underbarU+02AE9
⫩ \(\vBarv\) \vBarv
short up tack above short down tackU+02AEA
⫪ \(\barV\) \barV
double down tackU+02AEB
⫫ \(\Vbar\) \Vbar
double up tackU+02AEC
⫬ \(\Not\) \Not
double stroke not signU+02AED
⫭ \(\bNot\) \bNot
reversed double stroke not signU+02AEE
⫮ \(\revnmid\) \revnmid
does not divide with reversed negation slashU+02AEF
⫯ \(\cirmid\) \cirmid
vertical line with circle aboveU+02AF0
⫰ \(\midcir\) \midcir
vertical line with circle belowU+02AF2
⫲ \(\nhpar\) \nhpar
parallel with horizontal strokeU+02AF3
⫳ \(\parsim\) \parsim
parallel with tilde operatorU+02AF7
⫷ \(\lllnest\) \lllnest
stacked very much less-thanU+02AF8
⫸ \(\gggnest\) \gggnest
stacked very much greater-thanU+02AF9
⫹ \(\leqqslant\) \leqqslant
double-line slanted less-than orequal toU+02AFA
⫺ \(\geqqslant\) \geqqslant
double-line slanted greater-than or equal toU+02B30
⬰ \(\circleonleftarrow\) \circleonleftarrow
left arrow with small circleU+02B31
⬱ \(\leftthreearrows\) \leftthreearrows
three leftwards arrowsU+02B32
⬲ \(\leftarrowonoplus\) \leftarrowonoplus
left arrow with circled plusU+02B33
⬳ \(\longleftsquigarrow\) \longleftsquigarrow
long leftwards squiggle arrowU+02B34
⬴ \(\nvtwoheadleftarrow\) \nvtwoheadleftarrow
leftwards two-headed arrow withvertical strokeU+02B35
⬵ \(\nVtwoheadleftarrow\) \nVtwoheadleftarrow
leftwards two-headed arrow withdouble vertical strokeU+02B36
⬶ \(\twoheadmapsfrom\) \twoheadmapsfrom
leftwards two-headed arrow frombarU+02B37
⬷ \(\twoheadleftdbkarrow\) \twoheadleftdbkarrow
leftwards two-headed triple-dasharrowU+02B38
⬸ \(\leftdotarrow\) \leftdotarrow
leftwards arrow with dotted stemU+02B39
⬹ \(\nvleftarrowtail\) \nvleftarrowtail
leftwards arrow with tail with verti-cal strokeU+02B3A
⬺ \(\nVleftarrowtail\) \nVleftarrowtail
leftwards arrow with tail with dou-ble vertical strokeU+02B3B
⬻ \(\twoheadleftarrowtail\) \twoheadleftarrowtail
leftwards two-headed arrow withtailU+02B3C
⬼ \(\nvtwoheadleftarrowtail\) \nvtwoheadleftarrowtail
leftwards two-headed arrow withtail with vertical strokeU+02B3D
⬽ \(\nVtwoheadleftarrowtail\) \nVtwoheadleftarrowtail
leftwards two-headed arrow withtail with double vertical strokeU+02B3E
⬾ \(\leftarrowx\) \leftarrowx
leftwards arrow through xU+02B3F
⬿ \(\leftcurvedarrow\) \leftcurvedarrow
wave arrow pointing directly leftU+02B40
⭀ \(\equalleftarrow\) \equalleftarrow
equals sign above leftwards arrowU+02B41
⭁ \(\bsimilarleftarrow\) \bsimilarleftarrow
reverse tilde operator above leftwards arrowU+02B42
⭂ \(\leftarrowbackapprox\) \leftarrowbackapprox
leftwards arrow above reverse almost equal toU+02B43
⭃ \(\rightarrowgtr\) \rightarrowgtr
rightwards arrow through greater-thanU+02B44
⭄ \(\rightarrowsupset\) \rightarrowsupset
rightwards arrow through subsetU+02B45
⭅ \(\LLeftarrow\) \LLeftarrow
leftwards quadruple arrowU+02B46
⭆ \(\RRightarrow\) \RRightarrow
rightwards quadruple arrowU+02B47
⭇ \(\bsimilarrightarrow\) \bsimilarrightarrow
reverse tilde operator above rightwards arrowU+02B48
⭈ \(\rightarrowbackapprox\) \rightarrowbackapprox
rightwards arrow above reverse almost equal toU+02B49
⭉ \(\similarleftarrow\) \similarleftarrow
tilde operator above leftwards arrowU+02B4A
⭊ \(\leftarrowapprox\) \leftarrowapprox
leftwards arrow above almost equal toU+02B4B
⭋ \(\leftarrowbsimilar\) \leftarrowbsimilar
leftwards arrow above reverse tildeoperatorU+02B4C
⭌ \(\rightarrowbsimilar\) \rightarrowbsimilar
righttwards arrow above reverse tilde operatorU+000F0
ð \(ð\) \(\matheth\) \matheth
ethU+02010
‐ \(‐\) \(\mathhyphen\) \mathhyphen
hyphenU+02102
ℂ \(ℂ\) \(\BbbC\) \BbbC
/bbb c, open face cU+0210A
ℊ \(ℊ\) \(\mscrg\) \mscrg
/scr g, script letter gU+0210B
ℋ \(ℋ\) \(\mscrH\) \mscrH
hamiltonian (script capital h)U+0210C
ℌ \(ℌ\) \(\mfrakH\) \mfrakH
/frak h, upper case hU+0210D
ℍ \(ℍ\) \(\BbbH\) \BbbH
/bbb h, open face hU+0210F
ℏ \(ℏ\) \(\hslash\) \hslash
/hslash - variant planck’s over 2piU+02110
ℐ \(ℐ\) \(\mscrI\) \mscrI
/scr i, script letter iU+02111
ℑ \(ℑ\) \(\Im\) \Im
imaginary partU+02112
ℒ \(ℒ\) \(\mscrL\) \mscrL
lagrangian (script capital l)U+02113
ℓ \(ℓ\) \(\ell\) \ell
cursive small lU+02115
ℕ \(ℕ\) \(\BbbN\) \BbbN
/bbb n, open face nU+02118
℘ \(℘\) \(\wp\) \wp
weierstrass pU+02119
ℙ \(ℙ\) \(\BbbP\) \BbbP
/bbb p, open face pU+0211A
ℚ \(ℚ\) \(\BbbQ\) \BbbQ
/bbb q, open face qU+0211B
ℛ \(ℛ\) \(\mscrR\) \mscrR
/scr r, script letter rU+0211C
ℜ \(ℜ\) \(\Re\) \Re
real partU+0211D
ℝ \(ℝ\) \(\BbbR\) \BbbR
/bbb r, open face rU+02124
ℤ \(ℤ\) \(\BbbZ\) \BbbZ
/bbb z, open face zU+02128
ℨ \(ℨ\) \(\mfrakZ\) \mfrakZ
/frak z, upper case zU+02129
℩ \(℩\) \(\turnediota\) \turnediota
turned iotaU+0212B
Å \(Å\) \(\Angstrom\) \Angstrom
angstrom capital a, ringU+0212C
ℬ \(ℬ\) \(\mscrB\) \mscrB
bernoulli function (script capital b)U+0212D
ℭ \(ℭ\) \(\mfrakC\) \mfrakC
black-letter capital cU+0212F
ℯ \(ℯ\) \(\mscre\) \mscre
/scr e, script letter eU+02130
ℰ \(ℰ\) \(\mscrE\) \mscrE
/scr e, script letter eU+02131
ℱ \(ℱ\) \(\mscrF\) \mscrF
/scr f, script letter fU+02133
ℳ \(ℳ\) \(\mscrM\) \mscrM
physics m-matrix (script capital m)U+02134
ℴ \(ℴ\) \(\mscro\) \mscro
order of (script small o)U+02135
א \(א\) \(\aleph\) \aleph
aleph, hebrewU+02136
ב \(ב\) \(\beth\) \beth
beth, hebrewU+02137
ג \(ג\) \(\gimel\) \gimel
gimel, hebrewU+02138
ד \(ד\) \(\daleth\) \daleth
daleth, hebrewU+0213D
ℽ \(ℽ\) \(\Bbbgamma\) \Bbbgamma
double-struck small gammaU+0213E
ℾ \(ℾ\) \(\BbbGamma\) \BbbGamma
double-struck capital gammaU+0213F
ℿ \(ℿ\) \(\BbbPi\) \BbbPi
double-struck capital piU+02202
∂ \(∂\) \(\partial\) \partial
partial differentialU+02207
∇ \(∇\) \(\nabla\) \nabla
nabla, del, hamilton operatorU+00391
Α \(Α\) \(\mupAlpha\) \mupAlpha
capital alpha, greekU+00392
Β \(Β\) \(\mupBeta\) \mupBeta
capital beta, greekU+00393
Γ \(Γ\) \(\mupGamma\) \mupGamma
capital gamma, greekU+00394
Δ \(Δ\) \(\mupDelta\) \mupDelta
capital delta, greekU+00395
Ε \(Ε\) \(\mupEpsilon\) \mupEpsilon
capital epsilon, greekU+00396
Ζ \(Ζ\) \(\mupZeta\) \mupZeta
capital zeta, greekU+00397
Η \(Η\) \(\mupEta\) \mupEta
capital eta, greekU+00398
Θ \(Θ\) \(\mupTheta\) \mupTheta
capital theta, greekU+00399
Ι \(Ι\) \(\mupIota\) \mupIota
capital iota, greekU+0039A
Κ \(Κ\) \(\mupKappa\) \mupKappa
capital kappa, greekU+0039B
Λ \(Λ\) \(\mupLambda\) \mupLambda
capital lambda, greekU+0039C
Μ \(Μ\) \(\mupMu\) \mupMu
capital mu, greekU+0039D
Ν \(Ν\) \(\mupNu\) \mupNu
capital nu, greekU+0039E
Ξ \(Ξ\) \(\mupXi\) \mupXi
capital xi, greekU+0039F
Ο \(Ο\) \(\mupOmicron\) \mupOmicron
capital omicron, greekU+003A0
Π \(Π\) \(\mupPi\) \mupPi
capital pi, greekU+003A1
Ρ \(Ρ\) \(\mupRho\) \mupRho
capital rho, greekU+003A3
Σ \(Σ\) \(\mupSigma\) \mupSigma
capital sigma, greekU+003A4
Τ \(Τ\) \(\mupTau\) \mupTau
capital tau, greekU+003A5
Υ \(Υ\) \(\mupUpsilon\) \mupUpsilon
capital upsilon, greekU+003A6
Φ \(Φ\) \(\mupPhi\) \mupPhi
capital phi, greekU+003A7
Χ \(Χ\) \(\mupChi\) \mupChi
capital chi, greekU+003A8
Ψ \(Ψ\) \(\mupPsi\) \mupPsi
capital psi, greekU+003A9
Ω \(Ω\) \(\mupOmega\) \mupOmega
capital omega, greekU+003B1
α \(α\) \(\mupalpha\) \mupalpha
small alpha, greekU+003B2
β \(β\) \(\mupbeta\) \mupbeta
small beta, greekU+003B3
γ \(γ\) \(\mupgamma\) \mupgamma
small gamma, greekU+003B4
δ \(δ\) \(\mupdelta\) \mupdelta
small delta, greekU+003B5
ε \(ε\) \(\mupvarepsilon\) \mupvarepsilon
rounded small varepsilon, greekU+003B6
ζ \(ζ\) \(\mupzeta\) \mupzeta
small zeta, greekU+003B7
η \(η\) \(\mupeta\) \mupeta
small eta, greekU+003B8
θ \(θ\) \(\muptheta\) \muptheta
straight theta, small theta, greekU+003B9
ι \(ι\) \(\mupiota\) \mupiota
small iota, greekU+003BA
κ \(κ\) \(\mupkappa\) \mupkappa
small kappa, greekU+003BB
λ \(λ\) \(\muplambda\) \muplambda
small lambda, greekU+003BC
μ \(μ\) \(\mupmu\) \mupmu
small mu, greekU+003BD
ν \(ν\) \(\mupnu\) \mupnu
small nu, greekU+003BE
ξ \(ξ\) \(\mupxi\) \mupxi
small xi, greekU+003BF
ο \(ο\) \(\mupomicron\) \mupomicron
small omicron, greekU+003C0
π \(π\) \(\muppi\) \muppi
small pi, greekU+003C1
ρ \(ρ\) \(\muprho\) \muprho
small rho, greekU+003C2
ς \(ς\) \(\mupvarsigma\) \mupvarsigma
terminal sigma, greekU+003C3
σ \(σ\) \(\mupsigma\) \mupsigma
small sigma, greekU+003C4
τ \(τ\) \(\muptau\) \muptau
small tau, greekU+003C5
υ \(υ\) \(\mupupsilon\) \mupupsilon
small upsilon, greekU+003C6
φ \(φ\) \(\mupvarphi\) \mupvarphi
curly or open small phi, greekU+003C7
χ \(χ\) \(\mupchi\) \mupchi
small chi, greekU+003C8
ψ \(ψ\) \(\muppsi\) \muppsi
small psi, greekU+003C9
ω \(ω\) \(\mupomega\) \mupomega
small omega, greekU+003D1
θ \(θ\) \(\mupvartheta\) \mupvartheta
/vartheta - curly or open thetaU+003D5
φ \(φ\) \(\mupphi\) \mupphi
/straightphi - small phi, greekU+003D6
π \(π\) \(\mupvarpi\) \mupvarpi
rounded small pi (pomega), greekU+003DC
Ϝ \(Ϝ\) \(\upDigamma\) \upDigamma
capital digammaU+003DD
ϝ \(ϝ\) \(\updigamma\) \updigamma
old greek small letter digammaU+003F0
κ \(κ\) \(\mupvarkappa\) \mupvarkappa
rounded small kappa, greekU+003F1
ρ \(ρ\) \(\mupvarrho\) \mupvarrho
rounded small rho, greekU+003F4
Θ \(Θ\) \(\mupvarTheta\) \mupvarTheta
greek capital theta symbolU+003F5
ε \(ε\) \(\mupepsilon\) \mupepsilon
greek lunate varepsilon symbolUnicode では通貨記号が充実しているので、MathJax や KaTeX では部分的ウェブフォント回避の観点から、それらで上書きしてしまってもよいと考える。ちなみに、青色は MathJax, KaTeX でサポート。橙色以外は他所で提案済みコマンド名。
U+00024
$ \(\char"0024\) \(\dollar\) \dollar
Dollar signU+020AC
€ \(\char"20AC\) \(\euro\) \euro
Euro signU+000A5
¥ \(\char"00A5\) \(\yen\) \yen
Yen signU+000A2
¢ \(\char"00A2\) \(\cent\) \cent
Cent signU+000A3
£ \(\char"00A3\) \(\pound\) \pound
Pound signU+020BD
₽ \(\char"20BD\) \(\ruble\) \ruble
Ruble signU+020A8
₨ \(\char"20A8\) \(\rupee\) \rupee
Rupee signU+020A9
₩ \(\char"20A9\) \(\won\) \won
Won signU+00E3F
฿ \(\char"0E3F\) \(\baht\) \baht
Thai Currency Symbol BahtU+020BA
₺ \(\char"20BA\) \(\turkishlira\) \turkishlira
Turkish Lira signU+020AE
₮ \(\char"20AE\) \(\tugrik\) \tugrik
Tugrik signU+020B1
₱ \(\char"20B1\) \(\peso\) \peso
Peso signU+020AD
₭ \(\char"20AD\) \(\kip\) \kip
Kip signU+020B4
₴ \(\char"20B4\) \(\hryvnia\) \hryvnia
Hryvnia signU+020A6
₦ \(\char"20A6\) \(\naira\) \naira
Naira signU+009F2
৲ \(\char"09F2\) \(\bengalirupeemark\) \bengalirupeemark
Bengali Rupee markU+009F3
৳ \(\char"09F3\) \(\bengalirupee\) \bengalirupee
Bengali Rupee signU+00AF1
૱ \(\char"0AF1\) \(\gujaratirupee\) \gujaratirupee
Gujarati Rupee signU+00BF9
௹ \(\char"0BF9\) \(\tamilrupee\) \tamilrupee
Tamil Rupee signU+0FDFC
﷼ \(\char"FDFC\) \(\rial\) \rial
Rial signU+020B9
₹ \(\char"20B9\) \(\indianrupee\) \indianrupee
Indian Rupee signU+020B2
₲ \(\char"20B2\) \(\guarani\) \guarani
Guarani signU+020AA
₪ \(\char"20AA\) \(\sheqel\) \sheqel
New Sheqel signU+020A1
₡ \(\char"20A1\) \(\colonsign\) \colonsign
Colon signU+020AB
₫ \(\char"20AB\) \(\dong\) \dong
Dong signU+017DB
៛ \(\char"17DB\) \(\khmer\) \khmer
Khmer Currency Symbol RielU+020B5
₵ \(\char"20B5\) \(\cedi\) \cedi
Cedi signU+020A2
₢ \(\char"20A2\) \(\cruzeiro\) \cruzeiro
Cruzeiro signU+020B8
₸ \(\char"20B8\) \(\tenge\) \tenge
Tenge signU+020A4
₤ \(\char"20A4\) \(\lira\) \lira
Lira signU+020B3
₳ \(\char"20B3\) \(\austral\) \austral
Austral signU+020A5
₥ \(\char"20A5\) \(\mill\) \mill
Mill signU+020A0
₠ \(\char"20A0\) \(\eurocurrency\) \eurocurrency
Euro-Currency signU+020A3
₣ \(\char"20A3\) \(\franc\) \franc
French Franc signU+020B0
₰ \(\char"20B0\) \(\penny\) \penny
German Penny signU+020A7
₧ \(\char"20A7\) \(\peseta\) \peseta
Peseta signU+020AF
₯ \(\char"20AF\) \(\drachme\) \drachme
Drachma signU+020B6
₶ \(\char"20B6\) \(\livretournois\) \livretournois
Livre Tournois signU+020B7
₷ \(\char"20B7\) \(\spesmilo\) \spesmilo
Spesmilo signU+0060B
؋ \(\char"060B\) \(\afghani\) \afghani
Afghani signU+00191
Ƒ \(\char"0191\) \(\Florin\) \Florin
Aruba GuilderU+00192
ƒ \(\char"0192\) \(\florin\) \florin
Netherlands Antilles GuilderU+020BC
₼ \(\char"20BC\) \(\manat\) \manat
Manat sign但し、あくまで MathJax, KaTeX システムに頼らず Unicode を直接叩くので閲覧環境のフォント次第となることは改めて注意が必要である。例えば、上記の \rupee
と \manat
は手元では工夫をしなければ表示されなかった。その工夫は以下の通り。
/* HTML の head > style 内に以下を入れておく。*/ /* only for this article. consider better one for the others. */ body { font-family: "Source Serif Variable", "Noto Serif", serif; } mjx-char { font-family: STIXGeneral, "Source Serif Variable", "Noto Serif", serif; } mjx-utext { font-family: MJXZERO, "Source Serif Variable", "Noto Serif", serif !important; } .katex { font-family: KaTeX_Main, "Times New Roman", "Source Serif Variable", "Noto Serif", serif; }
MathJax では TeX ではあまり見かけないコマンドがサポートされていることも多々あり、どうも WikiPedia の MediaWiki で使用されている texvc 由来のコマンドが導入されているようである。それらはデファクトスタンダードになり得るので、価値あるものは KaTeX でも対応を目指してみる。
具体的な実現方法は後述するが、まずは、実例を列挙する。
\N
\[\N\]\Z
\[\Z\]\Q
\[\Q\]\R
\[\R\]\C
\[\C\]\RiemannSphere
\[\RiemannSphere\]\Hamilton
\[\Hamilton\]\O
\[\O\]\Cl
\[\Cl\]\Coppa
\[\Coppa\]\Digamma
\[\Digamma\]\Koppa
\[\Koppa\]\Sampi
\[\Sampi\]\Stigma
\[\Stigma\]\coppa
\[\coppa\]\koppa
\[\koppa\]\sampi
\[\sampi\]\stigma
\[\stigma\]\bigsqcap_{i=0}^\infty
\[\bigsqcap_{i=0}^\infty\]\bracevert
\[\bracevert\]\dddot,\ddddot
\[\dddot{x}\quad\ddddot{x}\]\idotsint_0^\infty x
\[\idotsint_0^\infty x\]\iiiint_0^\infty x
\[\iiiint_0^\infty x\]\leftarrowtail
\[\leftarrowtail\]\ndownarrow
\[x\ndownarrow y\]\nuparrow
\[x\nuparrow y\]\lower{}{}
\[l\lower{2pt}{owe}r\]\moveleft,\moveright
\[\square\square\moveleft{2em}{\blacksquare\blacksquare}.\] \[\square\square\moveright{2em}{\blacksquare\blacksquare}.\]\mspace
\[a\mspace18mu b\]\overparen,\underparen
\[\overparen{\underparen{x\cdots y}}\]\rightarrowtail
\[\rightarrowtail\]\strut
\[\sqrt{(\ )}\] \[\sqrt{\mathstrut\rm mathstrut}\] \[\sqrt{\strut\rm strut}\]\prescript
\[\prescript{14}{5}{\mathrm{C}}^{5+}_2\]\splitdfrac,\splitfrac
\[\splitdfrac{xy}{ab} \quad \splitfrac{xy}{ab}\]\bigominus
\[\bigominus_x^yz\]\bigoslash
\[\bigoslash_x^yz\]\ang
\[\ang{30}\]\iddots
\[\iddots\]\smiley
\[\newcommand{\smiley}{😀} \smiley\]\varcoppa
\[\varcoppa\]具体的な代替方法は後述するが、まずは、実例を列挙する。
\abovewithdelims
\genfrac
\[\genfrac{.}{|}{1.5pt}{}{x}{y}_z\]\atopwithdelims
\genfrac
\[\genfrac{.}{|}{0pt}{}{x}{y}_z\]\buildrel
\stackrel
\[\stackrel{\rm def}{:=}\]\cancelto
\leftroot,\uproot
\oldstyle
\overwithdelims
\genfrac
\[\genfrac{.}{|}{}{}{x}{y}_z\]\skew{n}
\kern{-1mu}
\[\dot{Ŭ}.\implies\dot{\kern{-1mu}Ŭ}.\]\unicode{x9ABC}
\char"9ABC
\[\char"9ABC\]\I
\[\newcommand{\I}{\Bbb{I}} \I\]\L
\[\newcommand{\L}{\Bbb{L}} \L\]\LeftArrow
\[\newcommand{\LeftArrow}{\LLeftarrow} \LeftArrow\]\and
\[\newcommand{\and}{\land} A\and B\]\cf
\[\newcommand{\cf}{\text{cf. }}\cf\]\cline
\[\verb|\cline|\]\geneuro
\[\geneuro\]\geneuronarrow
\[\geneuronarrow\]\geneurowide
\[\geneurowide\]\itshape
\[\verb|{\itshape italic shape}|\]\md
\[\verb|{\md medium face}|\]\normalfont
\[\verb|\normalfont|\]\or
\[\newcommand{\or}{\lor} A\or B\]\overbracket
\[\overbracket{x\cdots y}^z\]\rotatebox
\[\newcommand{\rotatebox}[2]{\htmlStyle{ transform: rotate(#1deg); }{#2}} x\rotatebox{30}{y}z\]\sc
\[\verb|{\sc small caps}|\]\scalebox
\[\newcommand{\scalebox}[2]{\htmlStyle{ transform: scale(#1); }{#2}} x\scalebox{.5}{y}z\]\skip
\[\verb|\skip|\]\sl
\[\verb|{\sl slanted shape}|\]\textsc
\[\textsc{small caps}\]\textsl
\[\textsl{slanted shape}\]\underbracket
\up
\[\verb|{\up up shape}|\]\upshape
\[\verb|{\upshape up shape}|\]\vline
\[\verb|\vline|\]\wideparen
\[\newcommand{\wideparen}[1]{\overbrace{#1}} \wideparen{x\cdots y}\]以下のようなマクロを定義しておけばよい(技術的に似たものは省略)。
\newcommand{\R}{\mathrm{R}} \newcommand{\Cl}{\mathit{C\ell}} %\newcommand{\stigma}{\htmlStyle{ font-style: italic; }{ϛ}} % for MathJax \newcommand{\stigma}{\htmlStyle{ font-style: italic; }{ϛ}} % for KaTeX \newcommand{\varcoppa}{ϙ} \newcommand{\strut}{\phantom{\rule[3pt]{}{8.6pt}}} %\newcommand{\mathstrut}{\vphantom{(}} % already defined in KaTeX %\newcommand{\iddots}{{\kern3mu\raise1mu{.}\kern3mu\raise6mu{.}\kern3mu\raise12mu{.}}} % for MathJax \newcommand{\iddots}{{\scriptsize{\cdot\>}^{\scriptsize{\cdot\>}^{\scriptsize{\cdot\>}}}}} % for KaTeX \newcommand{\idotsint}{\int\!\cdots\!\int} \newcommand{\bracevert}{\vert} % use it with \middle \newcommand{\overparen}{\overgroup} \newcommand{\underparen}{\undergroup} \newcommand{\mspace}{\kern} \newcommand{\lower}[2]{\raise{-#1}{#2}} \newcommand{\moveleft}[2]{\kern{-#1}\mathrlap{#2}\kern{#1}\phantom{#2}} \newcommand{\moveright}[2]{\kern{#1}\mathrlap{#2}\kern{-#1}\phantom{#2}} \newcommand{\prescript}{\phantom{{}^{#1}_{#2}}{}^{\mathllap{#1}}_{\mathllap{#2}}#3} %\newcommand{\bigominus}{\mathop{\phantom{\rule{1em}{1em}}\moveleft{.5em}{\raise{.1em}{\mathclap{\bigcirc}\mathclap{-}}}}} % for MathJax \newcommand{\bigominus}{\operatornamewithlimits{\phantom{\rule{1em}{1em}}\moveleft{.5em}{\raise{.1em}{\mathclap{\bigcirc}\mathclap{-}}}}} % for KaTeX \newcommand{\ang}[1]{#1\degree} \newcommand{\smiley}{😀} \newcommand{\splitdfrac}[2]{\displaystyle{#1\hphantom{#2}\atop\hphantom{#1}#2}} \newcommand{\splitfrac}[2]{\textstyle{\displaystyle{#1\hphantom{#2}}\atop\displaystyle{\hphantom{#1}#2}}}
以下のように他のコマンドで代替すればよい。
\abovewithdelims \[{x\abovewithdelims . | 1.5pt y}_z\] % for MathJax use \genfrac \[\genfrac{.}{|}{1.5pt}{}{x}{y}_z\] % for KaTeX \atopwithdelims \[{x\atopwithdelims . | y}_z\] % for MathJax use \genfrac \[\genfrac{.}{|}{0pt}{}{x}{y}_z\] % for KaTeX \buildrel \[\buildrel \rm def \over {:=}\] % for MathJax use \stackrel \[\stackrel{\rm def}{:=}\] % for KaTeX \overwithdelims \[{x\overwithdelims . | y}_z\] % for MathJax use \genfrac \[\genfrac{.}{|}{}{}{x}{y}_z\] % for KaTeX \skew{n} \[\dot{Ŭ}.\implies\skew{7}\dot{Ŭ}.\] % for MathJax use \kern{-1mu} \[\dot{Ŭ}.\implies\dot{\kern{-1mu}Ŭ}.\] % for KaTeX \unicode{x9ABC} \[\unicode{x9ABC}\] % for MathJax use \char"9ABC \[\char"9ABC\] % for KaTeX
この KaTeX オプションは以下にあげる棒線が太い MathJax v2 に似せるか、細い MathJax に似せるかのためにあるものと想像するが、試験環境として残しておく。
\[ \sqrt[3]{i^3 + j^3 + k^3},\qquad \underline{x\cdots y},\qquad \overline{x\cdots y},\qquad \boxed{E = mc^2},\qquad \mathfbox{E = mc^2},\qquad {\sin\theta\over\cos\theta},\qquad \frac{\sin\theta}{\cos\theta},\qquad \varliminf_x\;y,\qquad \varlimsup_x\;y,\qquad \]既定値だと、言われてみれば少し細すぎるのかもしれない。ここでは KaTeX にて 0.06 あたりにしてある。
KaTeX では幅ゼロの \rule
は可能だが、
\[\therefore\rule[.5em]{0em}{1em}\because\qquad\verb|\therefore\rule[.5em]{0em}{1em}\because|\]
高さゼロの \rule
は実現できない。KaTeX だと以下は細い横棒が見えてしまう。
\[\therefore\rule[.5em]{1em}{0em}\because\qquad\verb|\therefore\rule[.5em]{1em}{0em}\because|\]
とは言え、幅ゼロの活用はよくあるが、高さゼロの活用はなぜか見たことがないので問題ないのかもしれない。必要なら以下のように \phantom
で囲って見えなくしてしまえばいいだろう。
\[\therefore\phantom{\rule[.5em]{1em}{0em}}\because\qquad\verb|\therefore\rule[.5em]{1em}{0em}\because|\]
\cancel
コマンド\color
, \colorbox
コマンドMathJax では白抜きができないと思っていたが、もしかしたら勘違いかもしれない。そして少なくとも MathJax v2 では白抜きができていない。
\xtwoheadrightarrow
, \xtwoheadleftarrow
, \xlongequal
, \xmapsto
, \xtofrom
及び、非公式 \Newextarrow
コマンド\ce
コマンド{CD}
環境足りないと思ったけど AMSmath.js
, AMSsymbols.js
あたりは既定で導入されているのだと思う。よって、以下のようにすればよい。
MathJax.Hub.Config({ TeX: { extensions: [ /*"AMSmath.js", "AMSsymbols.js",*/ "AMScd.js", "cancel.js", "color.js", "extpfeil.js", "mhchem.js", "mediawiki-texvc.js", ], :
既に述べてあることに重複するので例は示さないが、以下のコマンドで「*」アスタリスクのついていないものは実現可能である。
\coloneq
\Coloneq
\coloneqq
\Coloneqq
\colonsim
\Colonsim
\colonapprox
\Colonapprox
\eqcolon
\Eqcolon
\eqqcolon
\Eqqcolon
\bigtimes
\bra
\ket
\mathllap
\mathrlap
\mathclap
*\mathmbox
\ndownarrow
\nuparrow
\prescript
\splitdfrac
\splitfrac
\textup
{matrix*}
*{rcases}
*具体的にはマウスホバーして得られるマクロ定義を参照のこと。
以下のようにすればよい。
MathJax.Hub.Config({ 'SVG': { // config=TeX-AMS_SVG undefinedFamily: `\ 'Hiragino Mincho ProN', \ 'Hiragino Mincho Pro', \ 'Noto Serif Japanese', \ 'Source Han Serif JP', \ 'Noto Serif CJK JP', \ 'Noto Serif JP', \ 'YuMincho', \ 'TakaoMjMincho', \ 'IPAmjMincho', \ 'TakaoExMincho', \ 'IPAexMincho', \ 'BIZ UDPMincho', \ 'Yu Mincho', \ 'TakaoPMincho', \ 'IPAPMincho', \ 'MS PMincho', \ STIXGeneral, \ 'Source Serif Variable', \ 'Noto Serif', \ serif`, }, 'HTML-CSS': { // config=TeX-AMS_HTML availableFonts: [ /*'STIXGeneral', */'TeX', ], undefinedFamily: `\ 'Hiragino Mincho ProN', \ 'Hiragino Mincho Pro', \ 'Noto Serif Japanese', \ 'Source Han Serif JP', \ 'Noto Serif CJK JP', \ 'Noto Serif JP', \ 'YuMincho', \ 'TakaoMjMincho', \ 'IPAmjMincho', \ 'TakaoExMincho', \ 'IPAexMincho', \ 'BIZ UDPMincho', \ 'Yu Mincho', \ 'TakaoPMincho', \ 'IPAPMincho', \ 'MS PMincho', \ STIXGeneral, \ 'Source Serif Variable', \ 'Noto Serif', \ serif`, }, CommonHTML: { // config=TeX-MML-AM_CHTML undefinedFamily: `\ 'Hiragino Mincho ProN', \ 'Hiragino Mincho Pro', \ 'Noto Serif Japanese', \ 'Source Han Serif JP', \ 'Noto Serif CJK JP', \ 'Noto Serif JP', \ 'YuMincho', \ 'TakaoMjMincho', \ 'IPAmjMincho', \ 'TakaoExMincho', \ 'IPAexMincho', \ 'BIZ UDPMincho', \ 'Yu Mincho', \ 'TakaoPMincho', \ 'IPAPMincho', \ 'MS PMincho', \ STIXGeneral, \ 'Source Serif Variable', \ 'Noto Serif', \ serif`, }, :
厄介なことに WordPress では絵文字をなんとしてでも表示させようとして、VS16 (Variation Selector 16) が付記されていなくても文字を絵文字画像にしてしまうお節介な機能がある。数式では矢印などは多用することから \updownallow
, \blacktriangleleft
, \blacktriangleright
, \swarrow
などが絵文字になってしまうのは極めて不自然な事態となる。
そこで、数式中の VS15〜16 が明示的に付記されていないこれらの文字には VS15 を明示的に付記する処理が必要になる。
前節と結果は同じなのだが、VS15 (Variation Selector 15) が付記されているのに着色絵文字になってしまう問題が KaTeX には存在する。これは VS15 を除去してしまうことに起因する。
真っ当な対処としては KaTeX を修正することであるが、拙速には数式のレンダリング後に VS15 を付記してしまうことも一考かもしれない。
\ddots
と「⋰」U+22F0 の右上がり省略記号 \adots
右下がり省略記号は行列の要素によく使われるが、他のこれらの具体的な使用場面を紹介する。
この \(\iddots\) \iddots の実装は MathJax では以下の通りである。
\newcommand{\iddots}{{\kern3mu\raise1mu{.}\kern3mu\raise6mu{.}\kern3mu\raise12mu{.}}}
これを KaTeX で実装しようとすると未サポートの \raise コマンドの代わりに \raisebox を使うしかない。
\newcommand{\iddots}{{\kern{3mu}\raisebox{1mu}{.}\kern{3mu}\raisebox{6mu}{.}\kern{3mu}\raisebox{12mu}{.}}}
しかし、KaTeX の \raisebox
は \scriptstyle
などの表示形式に追従しない問題がある。では、表示形式に対応した先の拙作 \raise
で実現してみよう。
\newcommand{\iddots}{{\kern{3mu}\raise{1mu}{.}\kern{3mu}\raise{6mu}{.}\kern{3mu}\raise{12mu}{.}}}
すると、em, ex, mu
の単位にカレントのフォントサイズに応じていない問題が顕になる。これは流石に治したいバグだ。よって、次の泥臭いマクロを使う。
\newcommand{\iddots}{{\scriptsize{\cdot\>}^{\scriptsize{\cdot\>}^{\scriptsize{\cdot\>}}}}}
実際にはさらに泥臭く調整をしている。
前者はかつて提案された TeX の機能でピリオドの組み合わせで構成された記号「\(\iddots\)」\iddots で、後者は Unicode で定義されている「⋰」U+22F0
(up right diagonal ellipsis) である。unicode-math では \(\adots\) \adots として定義されている。
各々に右肩上付きと左肩上付きのパターンがあり、さらに MathJax, KaTeX それぞれに微調整が必要になるが、一応許容範囲のタイプセットができているように思われる。ここでは他にも Unicode で代替した記号を試みており、以下にそれらをまとめておく。
非 Unicode | \(\coloneqq\) \coloneqq | \(\eqqcolon\) \eqqcolon | \(\uparrow\) \uparrow | \(\upuparrows\) \upuparrows | \(\upupuparrows\) \upupuparrows | \(\ddots\) \ddots | \(\iddots\) \iddots |
---|---|---|---|---|---|---|---|
Unicode | \(\UCcoloneq\) \UCcoloneq | \(\UCeqcolon\) \UCeqcolon | \(\UCuparrow\) \UCuparrow | \(\UCupuparrows\) \UCupuparrows | \(\UCupupuparrows\) \UCupupuparrows | \(\UCddots\) \UCddots | \(\adots\) \adots |
ブラウザのフォント設定によって、むしろ大抵の場合、表示されないであろうグリフの一部をここにまとめておく。この他にも Unicode の追加多言語面の絵文字の後ろに定義されている記号などは対応しているフォントは稀である。
U+20BD
₽ \(\ruble\) \ruble
ruble sign流石に通貨記号はどのフォントでも安定して定義しておいて欲しいものである。
TeX の古にはフォントのグリフにも不自由していたので、似た形状のグリフで代用して紙媒体に印刷して凌ぐことは当たり前だった。しかし、昨今は紙媒体ではなく例えば PDF 形式のまま情報伝達され、かつ、「コピペ」した段階でも「形状」ではなく「意味」として情報交換用コードが維持される時代である。よって、グリフの代用は意味づけが誤ったまま伝達され続ける恐れがあり、グリフの「意味」を極力配慮する必要があると考える。以下に紛らわしいグリフをあげておくので形が似ているからといって適当に凌ごうとせずに正しいグリフを選ぶことを心掛けよう。その見地では TeX コマンド名には「意味」が込められていることが多いので良い命名のコマンドはその一助となると言える。但し、ほぼ同じ意味のグリフもあげているので局所にはいずれかに統一して使うことにも配慮できるだろう。
U+00D8
Ø \(\O\) \O
Latin capital letter o with stroke, not \(\emptyset\) \emptyset
, alsoU+00F8
ø \(\o\) \o
Latin small letter o with stroke, nor belowU+2205
∅ \(\varnothing\) \varnothing
empty setU+00B0
° \(\degree\) \degree
degree sign, not belowU+02DA
˚ \(\symbol{02DA}\) \symbol{02DA}
ring aboveU+00A6
¦ \(\brokenbar\) \brokenbar
broken bar, not belowU+007C
| \(\textbar\) \textbar
vertical line, nor belowU+2223
∣ \(|\) |
dividesU+203E
‾ \(\symbol{203E}\) \symbol{203E}
overline, not belowU+00AF
¯ \(\textasciimacron\) \textasciimacron
macronU+2A3F
⨿ \(\amalg\) \amalg
amalgamation or coproduct, not belowU+2210
⨿ \(\coprod\) \coprod
n-ary coproduct, nor \(\bigsqcup\) \bigsqcup
, nor ⨆ \symbol{2A06}
n-ary square union operatorU+29BC
⦼ \(\odotslashdot\) \odotslashdot
circled anticlockwise-rotated division sign, not belowU+2A38
⨸ \(\odiv\) \odiv
circled division signU+24B8
Ⓒ \(\circledC\) \circledC
circled Latin capital letter c, not belowU+1F12B
🄫 \(\symbol{1F12B}\) \symbol{1F12B}
circled italic Latin capital letter c, nor belowU+00A9
© \(\copyright\) \copyright
copyright signU+24C7
Ⓡ \(\circledR\) \circledR
circled Latin capital letter r, not belowU+1F12C
🄬 \(\symbol{1F12C}\) \symbol{1F12C}
circled italic Latin capital letter r, nor belowU+00AE
® \(\registered\) \registered
registered signU+24C5
Ⓟ \(\circledP\) \circledP
circled Latin capital letter p, not belowU+2117
℗ \(\phonogram\) \phonogram
sound recording copyrightU+24C2
Ⓜ \(\circledM\) \circledM
circled Latin capital letter m, not belowU+1F1AD
🆭 \(\maskwork\) \maskwork
mask work symbolU+0251
ɑ \(\htit{\symbol{0251}}\) \symbol{0251}
Latin small letter alpha, not belowU+03B1
α \(\alpha\) \alpha
Greek small letter alphaU+03D0
ϐ \(\htit{\symbol{03D0}}\) \symbol{03D0}
Greek beta symbol, not belowU+03B2
β \(\beta\) \beta
Greek small letter betaU+1D26
ᴦ \(\htit{\symbol{1D26}}\) \symbol{1D26}
Greek letter small capital gamma, not belowU+03B3
γ \(\gamma\) \gamma
Greek small letter gammaU+1E9F
ẟ \(\htit{\symbol{1E9F}}\) \symbol{1E9F}
Latin small letter delta, not belowU+03B4
δ \(\delta\) \delta
Greek small letter deltaU+01B1
Ʊ \(\htit{\symbol{01B1}}\) \symbol{01B1}
Latin capital letter upsilon, not belowU+2127
℧ \(\mho\) \mho
inverted ohm signU+1D2A
ᴪ \(\htit{\symbol{1D2A}}\) \symbol{1D2A}
Greek letter small capital psi, not belowU+03C8
ψ \(\psi\) \psi
Greek small letter psi, nor ⫝̸ \symbol{2ADC}
forking, ⫝ \symbol{2ADD}
nonforking, nor \(\pitchfork\), \(\topfork\) \pitchfork
, \topfork
U+03F6
϶ \(\backepsilon\) \backepsilon
Greek reversed lunate epsilon symbol, not belowU+220D
∍ \(\smallni\) \smallni
small contains as member, nor below
U+2108
℈ \(\scruple\) \scruple
scruple, nor \(\ni\) \ni
contains as memberU+2107
ℇ \(\Eulerconst\) \Eulerconst
Euler constant, not belowU+03B5
ε \(\varepsilon\) \varepsilon
Greek small letter epsilon, nor belowU+220A
∊ \(\smallin\) \smallin
small element of, nor \(\in\) \in
U+00B5
µ \(\micro\) \micro
micro signU+03BC
μ \(\mu\) \mu
Greek small letter muU+210E
ℎ \(\Planckconst\) \Planckconst
Planck constant, not belowU+0068
h \(h\) h
Latin small letter hU+039F
Ο \(\Omicron\) \Omicron
Greek capital letter omicron, not belowU+004F
O \(O\) O
Latin capital letter oU+03BF
ο \(\omicron\) \omicron
Greek small letter omicron, not belowU+006F
o \(o\) o
Latin small letter oここで、MathJax, KaTeX で Unicode のコードポイントの指定方法が異なり煩わしいので、以下を双方に定義しておくとよいかもしれない。
\newcommand{\symbol}[1]{\unicode{x#1}} % for MathJax \newcommand{\symbol}[1]{\char"#1} % for KaTeX
混同しても許容範囲のグリフもあるが、閲覧環境のフォントによっても、ほとんど見分けがつかないグリフもあるので、特に「コピペ」などしたときには誤りを継承しないように注意されたい。
但し、TeX において例えば \(\epsilon\) \epsilon
に対する \(\varepsilon\) \varepsilon
などは \var*
による命名により区別しやすいので、ここには載せていない。
以上のすべてを踏まえた上で、多少重なる事項はあるものの、稀に使い分けたり必要になったり明確に区別して使用したりするグリフを列挙しておく。使用する TeX システムで未定義グリフであれば必要に応じてマクロ等で活用されたい。
U+000A6 ¦ \(\brokenbar\) \newcommand{\brokenbar}{\htrm{¦}} |
U+0203E ‾ \(\textoverline\) \newcommand{\textoverline}{\htrm{‾}} |
U+000AE ® \(\registered\) \newcommand{\registered}{\htrm{®}} |
U+02117 ℗ \(\phonogram\) \newcommand{\phonogram}{\htrm{℗}} |
U+1F1AD 🆭 \(\maskwork\) \newcommand{\maskwork}{\htrm{🆭}} |
U+000A9 © \(\copyright\) \newcommand{\copyright}{\htrm{\symbol{00A9}}} |
U+1F12F 🄯 \(\copyleft\) \newcommand{\copyleft}{\htrm{🄯}} |
U+1F16D 🅭 \(\cc\) \newcommand{\cc}{\htrm{🅭}} |
U+1F16E 🅮 \(\ccPublicDomain\) \newcommand{\ccPublicDomain}{\htrm{🅮}} |
U+1F16F 🅯 \(\ccAttribution\) \newcommand{\ccAttribution}{\htrm{🅯}} |
U+02122 ™ \(\trademark\) \newcommand{\trademark}{\htrm{™}} |
U+02120 ℠ \(\servicemark\) \newcommand{\servicemark}{\htrm{℠}} |
U+1F16C 🅬 \(\raisedMR\) \newcommand{\raisedMR}{\htrm{🅬}} |
U+02116 № \(\numero\) \newcommand{\numero}{\htrm{№}} |
U+00025 % \(\percent\) \newcommand{\percent}{\htrm{\%}} |
U+02030 ‰ \(\perthousand\) \newcommand{\perthousand}{\htrm{‰}} |
U+02031 ‱ \(\pertenthousand\) \newcommand{\pertenthousand}{\htrm{‱}} |
U+02113 ℓ \(\ell\) \newcommand{\ell}{\htrm{ℓ}} |
U+000B5 µ \(\micro\) \newcommand{\micro}{\htrm{µ}} |
U+0211E ℞ \(\recipe\) \newcommand{\recipe}{\htrm{℞}} |
U+000B0 ° \(\degree\) \newcommand{\degree}{\htrm{°}} |
U+000C5 Å \(\Angstroem\) \newcommand{\Angstroem}{\htrm{Å}} |
U+02103 ℃ \(\celsius\) \newcommand{\celsius}{\htrm{℃}} |
U+02109 ℉ \(\fahrenheit\) \newcommand{\fahrenheit}{\htrm{℉}} |
U+000D8 Ø \(\O\) \newcommand{\O}{\htrm{Ø}} |
U+000F8 ø \(\o\) \newcommand{\o}{\htrm{ø}} |
U+00370 Ͱ \(\Heta\) \newcommand{\Heta}{\htit{Ͱ}} |
U+00371 ͱ \(\heta\) \newcommand{\heta}{\htit{ͱ}} |
U+00373 ͳ \(\arcSampi\) \newcommand{\arcSampi}{\htit{ͳ}} |
U+00373 ͳ \(\arcsampi\) \newcommand{\arcsampi}{\htit{ͳ}} |
U+00376 Ͷ \(\pamDigamma\) \newcommand{\pamDigamma}{\htit{Ͷ}} |
U+00377 ͷ \(\pamdigamma\) \newcommand{\pamdigamma}{\htit{ͷ}} |
U+0037F Ϳ \(\Yot\) \newcommand{\Yot}{\htit{Ϳ}} |
U+003A9 Ω \(\Ohm\) \newcommand{\Ohm}{\htrm{Ω}} |
U+003D8 Ϙ \(\Coppa\) \newcommand{\Coppa}{\htit{Ϙ}} |
U+003D8 Ϙ \(\Qoppa\) \newcommand{\Qoppa}{\htit{Ϙ}} |
U+003D8 Ϙ \(\varCoppa\) \newcommand{\varCoppa}{\htit{Ϙ}} |
U+003D9 ϙ \(\coppa\) \newcommand{\coppa}{\htit{ϙ}} |
U+003D9 ϙ \(\qoppa\) \newcommand{\qoppa}{\htit{ϙ}} |
U+003D9 ϙ \(\varcoppa\) \newcommand{\varcoppa}{\htit{ϙ}} |
U+003DA Ϛ \(\Stigma\) \newcommand{\Stigma}{\htit{Ϛ}} |
U+003DB ϛ \(\stigma\) \newcommand{\stigma}{\htit{ϛ}} |
U+003DC Ϝ \(\Digamma\) \newcommand{\Digamma}{\htit{Ϝ}} |
U+003DD ϝ \(\digamma\) \newcommand{\digamma}{\htit{ϝ}} |
U+003DE Ϟ \(\Koppa\) \newcommand{\Koppa}{\htit{Ϟ}} |
U+003DF ϟ \(\koppa\) \newcommand{\koppa}{\htit{ϟ}} |
U+003E0 Ϡ \(\Sampi\) \newcommand{\Sampi}{\htit{Ϡ}} |
U+003E1 ϡ \(\sampi\) \newcommand{\sampi}{\htit{ϡ}} |
U+003F3 ϳ \(\yot\) \newcommand{\yot}{\htit{ϳ}} |
U+003F7 Ϸ \(\Sho\) \newcommand{\Sho}{\htit{Ϸ}} |
U+003F8 ϸ \(\sho\) \newcommand{\sho}{\htit{ϸ}} |
U+003FA Ϻ \(\San\) \newcommand{\San}{\htit{Ϻ}} |
U+003FB ϻ \(\san\) \newcommand{\san}{\htit{ϻ}} |
U+00480 Ҁ \(\cyrillicKoppa\) \newcommand{\cyrillicKoppa}{\htit{Ҁ}} |
U+00481 ҁ \(\cyrillickoppa\) \newcommand{\cyrillickoppa}{\htit{ҁ}} |
U+02107 ℇ \(\Euler\) \newcommand{\Euler}{\htrm{ℇ}} |
U+02108 ℈ \(\scruple\) \newcommand{\scruple}{\htrm{℈}} |
U+02125 ℥ \(\Ounce\) \newcommand{\Ounce}{\htrm{℥}} |
U+02144 ⅄ \(\Yup\) \newcommand{\Yup}{\htit{⅄}} |
U+0214B ⅋ \(\invamp\) \newcommand{\invamp}{\htrm{⅋}} |
U+1D402 𝐂 \(\C\) \newcommand{\C}{\htrm{𝐂}} |
U+1D407 𝐇 \(\Hamilton\) \newcommand{\Hamilton}{\htrm{𝐇}} |
U+1D40D 𝐍 \(\N\) \newcommand{\N}{\htrm{𝐍}} |
U+1D40E 𝐎 \(\Octonion\) \newcommand{\Octonion}{\htrm{𝐎}} |
U+1D410 𝐐 \(\Q\) \newcommand{\Q}{\htrm{𝐐}} |
U+1D411 𝐑 \(\R\) \newcommand{\R}{\htrm{𝐑}} |
U+1D419 𝐙 \(\Z\) \newcommand{\Z}{\htrm{𝐙}} |
U+1D6E2 𝛢 \(\Alpha\) \newcommand{\Alpha}{\htit{𝛢}} |
U+1D6E3 𝛣 \(\Beta\) \newcommand{\Beta}{\htit{𝛣}} |
U+1D6E6 𝛦 \(\Epsilon\) \newcommand{\Epsilon}{\htit{𝛦}} |
U+1D6E7 𝛧 \(\Zeta\) \newcommand{\Zeta}{\htit{𝛧}} |
U+1D6E8 𝛨 \(\Eta\) \newcommand{\Eta}{\htit{𝛨}} |
U+1D6EA 𝛪 \(\Iota\) \newcommand{\Iota}{\htit{𝛪}} |
U+1D6EB 𝛫 \(\Kappa\) \newcommand{\Kappa}{\htit{𝛫}} |
U+1D6ED 𝛭 \(\Mu\) \newcommand{\Mu}{\htit{𝛭}} |
U+1D6EE 𝛮 \(\Nu\) \newcommand{\Nu}{\htit{𝛮}} |
U+1D6F0 𝛰 \(\Omicron\) \newcommand{\Omicron}{\htit{𝛰}} |
U+1D6F2 𝛲 \(\Rho\) \newcommand{\Rho}{\htit{𝛲}} |
U+1D6F5 𝛵 \(\Tau\) \newcommand{\Tau}{\htit{𝛵}} |
U+1D6F8 𝛸 \(\Chi\) \newcommand{\Chi}{\htit{𝛸}} |
ここでは、以下のマクロでフォントのスタイルをそれぞれ明示している。
\newcommand{\htit}[1]{\htmlStyle{ font-style: italic; }{#1}} \newcommand{\htrm}[1]{\htmlStyle{ font-style: normal; }{#1}}
MathJax よりも KaTeX の方が軽快であるし、コマンドのサポートも充実していると思っていたが、改めて KaTeX の方が優れていると感じている。
しかし、よく比較してみると MathJax の方が手堅く実装されており一日の長が確かにある、という印象も得られている。
そもそも、例えば、Pages でたまたま上手く表現できていた数式をそのまま TeX などにペーストしても、意図した通りにならないことが往々にしてあり得ることに注意すべきだ。
最後に、MathJax, KaTeX ともに本稿を執るにあたって大変な数のマクロを定義している。意図した通りに定義されているのか、定義を敢えて外してあるのか、すべてを確認するために緑色で実際に定義されているマクロをマウスホバーでポップアップするようにしておいたが、本稿の記述と敢えて多少異なっている箇所もあるかもしれない。
http://gva.noekeon.org/blahtexml/blahtexml-0.9-doc.pdf
, 2010. Pages 他で内部で使用されている.https://ftp.kddilabs.jp/CTAN/macros/unicodetex/latex/unicode-math/unimath-symbols.pdf
, 2020.https://ftp.yz.yamagata-u.ac.jp/pub/CTAN/fonts/amsfonts/doc/amsfndoc.pdf
, AMS, 2002.https://docs.mathjax.org/en/v2.7-latest/tex.html
, 2018.https://katex.org/docs/supported.html
, 2021.https://meta.wikimedia.org/wiki/Help:Displaying_a_formula/ja
, 2021 閲覧.https://www.latex-project.org/help/documentation/short-math-guide_jpn.pdf
, 2018.https://www.aihara.co.jp/~taiji/lecture/TeX-commands.pdf
, 2021.https://www.icloud.com/pages/0sT9BCSfmlfgVik79iTMHQwCA#TipsPagesTeX
, 2021.https://www.aihara.co.jp/~taiji/unix-tips/
, 2021. 左肩上付きの数式について.https://www.aihara.co.jp/~taiji/browser-security/js/converters/index.ja.html
, 2021. 単位換算について.https://www.aihara.co.jp/~taiji/browser-security/js/glyphs.html
, 2021.https://japanknowledge.com/contents/common/si.html
, JapanKnowledge, 2021.https://docs.mathjax.org/en/latest/input/tex/extensions/mathtools.html#mathtools-commands
, 2021.https://texdoc.org/serve/mathtools.pdf/0
, 2021.https://docs.mathjax.org/en/latest/input/tex/extensions/textmacros.html
, 2021.https://books.google.co.jp/books?id=iX9MAQAAQBAJ
, 2003.https://ftp.yz.yamagata-u.ac.jp/pub/CTAN/macros/latex/contrib/tensor/tensor.pdf
, 2004.https://ftp.kddilabs.jp/CTAN/macros/latex/contrib/texvc/texvc.pdf
, 2018.http://tug.ctan.org/info/symbols/comprehensive/symbols-a4.pdf
, 2021.output/chtml/fonts/tex.ts
,” https://github.com/mathjax/MathJax-src/blob/master/ts/output/chtml/fonts/tex.ts
, 2021 閲覧.https://ctan.org/tex-archive/fonts/lm-math
, 2021 閲覧.https://docs.microsoft.com/en-us/typography/font-list/cambria
, 2021 閲覧.https://docs.microsoft.com/en-us/typography/font-list/cambria-math
, 2021 閲覧.https://fonts.google.com/specimen/Caladea
, 2021 閲覧.https://ctan.org/pkg/stix/
, 2021 閲覧.https://ctan.org/pkg/stix2-otf/
, 2021 閲覧.https://ctan.org/pkg/xits/
, 2021 閲覧.https://ctan.org/pkg/tex-gyre/
, 2021 閲覧.