つれづれなる備忘録

日々の発見をあるがままに綴る

Texによる数式表現19~関数表記(physics パッケージ)

 今回はMathJax3.0のphysicsパッケージの機能のうち関数表示に関するコマンドについて紹介する。

physicsパッケージのマニュアルはhttp://ftp.jaist.ac.jp/pub/CTAN/macros/latex/contrib/physics/physics.pdf

MathJax3.0とphysicsパッケージのロードについては以下に示す。

+MathJax3.0をロードするscript

<script>
MathJax = {
  loader: {load: ['[tex]/physics']},
  tex: {
    inlineMath: [['$', '$'], ['\\(', '\\)']],
    packages: {'[+]': ['physics']}
  },
  chtml: {
    matchFontHeight: false
  }
};
</script>
<script id="MathJax-script" async
  src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js">
</script>
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script> //IE用スクリプト

注:HOMEやTOPページで複数ページ表示された状態では、script同士が干渉してうまく認識できないコマンドがある模様。1記事のみ個別のページとしてロードすれば正しく表示される

(追記2020.09.21): CDNサイトへのプライバシーエラーによりChromeなどで数式表示できない。対策は下記参照

Texによる数式表現37~MathJax, KaTeX表示トラブルの要因・解決 - つれづれなる備忘録

Texによる数式表現38~MathJaxの表示トラブル解決法 - つれづれなる備忘録

1. 関数表示コマンド

通常の関数コマンドが書き換わっており、括弧のサイズが自動調整されるようになっている。例えば

$\sin(\dfrac{x}{2})$ → $\sin(\dfrac{x}{2})$

となり、括弧内の表記に応じて括弧サイズが大きくなっている。従来と同じ括弧のサイズが固定のものを用いるには

$\sine(\dfrac{x}{2})$→ $\sine(\dfrac{x}{2})$

とすれば、括弧のサイズは変わらない。

三角関数の一覧を以下に示す。コマンドとその右に実行結果をあらわしており、もとのコマンド$\csc(x)$など残っている場合は、うまく認識できていないことをあらわす。physicsパッケージのマニュアル記載のものがすべて認識できているわけではない。あくまで、Tex/Latexの拡張パッケージのマニュアルのためMathJax下では動作が異なるためと考えられる。

三角関数コマンド 括弧調整なし
\sin:$\sin(x)$ \sine: $\sine(x)$
\cos:$\cos(x)$ \cosine: $\cosine(x)$
\tan:$\tan(x)$ \tangent: $\tangent(x)$
\csc:$\csc(x)$ \cosecant: $\cosecant(x)$
\sec:$\sec(x)$ \secant: $\secant(x)$
\cot:$\cot(x)$ \cotangent: $\cotangent(x)$
\asin:$\asin(x)$ \asine:$\asine(x)$
\arcsin:$\arcsin(x)$ \arcsine:$\arcsine(x)$
\acos:$\acos(x)$ \acosine:$\acosine(x)$
\arccos:$\arccos(x)$ \arcosine:$\arccosine(x)$
\atan:$\atan(x)$ \atangent: $\atangent(x)$
\arctan:$\arctan(x)$ \arctangent: $\arctangent(x)$
\acsc:$\acsc(x)$ \acosecant: $\acosecant(x)$
\arccsc:$\arccsc(x)$ \arccosecant: $\arccosecant(x)$
\asec:$\asec(x)$ \asecant: $\asecant(x)$
\arcsec:$\arcsec(x)$ \arcsecant: $\arcsecant(x)$
\acot:$\acot(x)$ \acotangent: $\acotangent(x)$
\arccot:$\arccot(x)$ \arccotangent: $\arccotangent(x)$

双曲関数については以下の通り:

双曲関数コマンド 括弧調整なし
\sinh:$\sinh(x)$ \hypsine: $\hypsine(x)$
\cosh:$\cosh(x)$ \hypcosine: $\hypcosine(x)$
\tanh:$\tanh(x)$ \hyptangent: $\hyptangent(x)$
\csch:$\csch(x)$ \hypcosecant: $\cosecant(x)$
\sech:$\sech(x)$ \hypsecant: $\secant(x)$
\coth:$\coth(x)$ \hypcotangent: $\cotangent(x)$

その他、対数・指数関数などは以下の通り:

関数コマンド 括弧調整なし
\exp: $\exp(x)$ \exponential: $\exponential(x)$
\log: $\log(x)$ \logarithm: $\logarithm(x) $
\ln: $\ln(x)$ \naturallogarithm: $\naturallogarithm(x)$
\det: $\det(A)$ \determinant: $\determinant(A)$
\Pr: $\Pr(A)$ \Probability: $\Probability(A)$

2. 新しく定義された関数

physicsパッケージで新しく(マクロで)定義された関数がいくつかある。

行列のトレース$\tr\rho$:$\tr\rho$ , または$\Tr\rho$:$\Tr\rho$

ガウス誤差関数, $\erf(x)$: $\erf(x)$

留数Res, Resをローマン体、残りはイタリック, $\Res[f(z)]$:$\Res[f(z)]$

主値, $\pv{ \int f(z) \dd{z}}$ : $\pv{ \int f(z) \dd{z}}$

複素数の実部は通常とコマンドが書き換わっている:$\Re{z}$: $\Re{z}$

旧コマンドは$\real z$: $\real z$

複素数の虚部も同様にコマンドが書き換わっている:$\Im{z}$: $\Im{z}$

旧コマンドは$\imaginary z$: $\imaginary z$

3. まとめ

physicsパッケージの関数は、括弧のサイズが自動調整されるように従来の関数定義が書き換えられている。ただしMathJax下のphysicsパッケージでは、いくつか認識できない関数コマンドがあり注意が必要だ。