📝
KaTeXマクロ集とVS Code用シンタックスハイライト
はじめに
KaTeXはウェブブラウザ上で数式を表示するJavaScriptライブラリです。
この記事では、私がKaTeXコードを書く際に設定しているマクロ(多くはLaTeXマクロの模倣)を同等なKaTeXコードを挙げて解説します。
設定ファイル
VS Codeの拡張機能Markdown Preview Enhancedの設定ファイルconfig.js
の内容を挙げます。
このファイルはMarkdown Preview Enhanced: Open Config Script (Global)
コマンドを実行することで開けます。
ab系 - 自動サイズ調整の括弧
\pab
等はLaTeXのphysics2パッケージのように括弧の高さを自動で調節します。
マクロ | 説明 | 例 | |
---|---|---|---|
\pab |
丸括弧 | \pab{\frac{1}{2}} |
|
\bab |
角括弧 | \bab{\frac{1}{2}} |
|
\Bab |
波括弧 | \Bab{\frac{1}{2}} |
|
\aab |
山括弧 | \aab{\frac{1}{2}} |
|
\vab |
縦棒 | \vab{\frac{1}{2}} |
|
\Vab |
二重縦棒 | \Vab{\frac{1}{2}} |
\def\ab@common#1#2#3{\mathopen{}\mathclose{\left#1 #2 \right#3}}
\def\pab#1{\ab@common\lparen{#1}\rparen}
\def\bab#1{\ab@common\lbrack{#1}\rbrack}
\def\Bab#1{\ab@common\lbrace{#1}\rbrace}
\def\aab#1{\ab@common\langle{#1}\rangle}
\def\vab#1{\ab@common\lvert{#1}\rvert}
\def\Vab#1{\ab@common\lVert{#1}\rVert}
\pab{\frac{1}{2}} \quad
\bab{\frac{1}{2}} \quad
\Bab{\frac{1}{2}} \quad
\aab{\frac{1}{2}} \quad
\vab{\frac{1}{2}} \quad
\Vab{\frac{1}{2}} \\
\pab{x}
\pab{\frac{a}{b} \middle| b}
\pab{x + \frac{a}{b}}
\pab{\cfrac{x + \cfrac{a}{b}}{x - \cfrac{a}{b}}} \\
eval - 値の代入を表す縦線
\def\ab@common#1#2#3{\mathopen{}\mathclose{\left#1 #2 \right#3}}
\def\eval#1{\ab@common.{#1}\rvert}
\eval{\frac{df}{dx}}_{x=a}
prescript, leftidx - 左側の添字
\prescript
はLaTeXのmathtoolsパッケージのように、\leftidx
はLaTeX のleftidxパッケージのように、左側に添字を付けるマクロです。
\prescript
は左上と左下の添字を右揃えにします。また、左上と左下の両方に添字があるという前提で添字の高さを決定します。
\leftidx
は左上と左下の添字を左揃えにします。添字の高さは右側の添字と同様に決定します。
マクロ | 説明 | 例 |
---|---|---|
\prescript{左上添字}{左下添字}{添字対象} |
左側添字 |
\prescript{227}{90}{\mathrm{Th}}^+
|
\leftidx{(^{左上添字})または(_{左下添字})}{添字対象} |
左側添字 |
\leftidx{_n}{\mathrm{C}}_k
|
\def\prescript#1#2#3{\hphantom{\vphantom{#3}^{#1}_{#2}} \mathllap{\vphantom{#3}^{#1}_{\vphantom{#1}}} \mathllap{\vphantom{#3}^{\vphantom{#1}}_{#2}} {#3}}
\def\leftidx#1#2{\vphantom{#2}#1 {#2}}
\prescript{227}{90}{\mathrm{Th}} \quad \leftidx{^{227}_{90}}{\mathrm{Th}} \\
\prescript{}{n}{\mathrm{C}}_k \quad \leftidx{_n}{\mathrm{C}}_k
dv系 - 微分の記法
\pdv
等はLaTeXのderivativeパッケージのような微分の記法です。
\pdv[階数]{分子}{分母}
と表記し、階数は省略できます。実装の都合から階数が二文字以上の場合は[{階数}]
とする必要があります。
マクロ | 説明 | 例 | |
---|---|---|---|
\pdv |
偏微分 | \pdv{f}{x} |
|
\odv |
常微分 | \odv{f}{x} |
|
\idv |
常微分(イタリック) | \idv{f}{x} |
|
\mdv |
物質微分 | \mdv{\phi}{t} |
|
\fdv |
汎函数微分 | \fdv{F}{\phi} |
|
\adv |
平均変化率 | \adv{f}{x} |
|
\jdv |
ヤコビアン | \jdv{f,g}{x,y} |
\def\ab@common#1#2#3{\mathopen{}\mathclose{\left#1 #2 \right#3}}
\def\pab#1{\ab@common({#1})}
\def\dv#1{\@ifnextchar{[}{\dv@option{#1}}{\dv@nooption{#1}}}
\def\dv@option#1#2#3#4#5#6{\@firstoftwo{}{#2#4}\frac{ {#1}^{#3} {#5} }{ {#1} {#6}^{#3}}}
\def\dv@nooption#1#2#3{\frac{ #1 #2}{ #1 #3}}
\def\pdv{\dv{\partial}}
\def\odv{\dv{\mathrm{d}}}
\def\idv{\dv{d}}
\def\mdv{\dv{\mathrm{D}}}
\def\fdv{\dv{\delta}}
\def\adv{\dv{\varDelta}}
\def\jdv#1#2{\frac{\partial \pab{#1}}{\partial \pab{#2}}}
\pdv{f}{x} \quad
\pdv[2]{f}{x} \quad
\pdv{}{x} f \quad
\pdv[2]{}{x} f \quad
\pdv[{n-1}]{f}{x}
その他
その他のよく使うマクロです。
マクロ | 説明 | 例 |
---|---|---|
\dd |
微分用の立体 d
|
\dd x
|
\micro |
SI 接頭語のマイクロ µ
|
\micro \mathrm{m}
|
\def\dd{\mathrm{d}}
\def\micro{\char"3bc}
シンタックスハイライト
VS CodeのMarkdown Math用KaTeXシンタックスハイライトを作りました。ぜひお試しください。
関連記事
ご清読ありがとうございました。
Discussion