💡
Sphinxでphysicsパッケージしたい
はじめに
physics パッケージは物理学関連の数式の入力をサポートするコマンド群。
数式を多用する Sphinx ドキュメントで使いたいと思っていたのだけど、Sphinx v3 が使っていた MathJax v2 での設定方法がよく分からなくて断念してた。
先日、Sphinx v4 がリリースされ、デフォルトが MathJax v3 に変更されたので、再び設定を試してみたらあっさりと使うことができちゃった。
Sphinx の設定ファイルに追記する内容
- 設定ファイル(
conf.py)に、HTML 出力と PDF 出力のそれぞれに関係する設定を追記する
HTML 出力(make html)
-
mathjax3_configを追記し、次の値に設定する
conf.py
mathjax3_config = {
"loader": {"load": ["[tex]/physics"]},
"tex": {"packages": {"[+]": ["physics"]}},
}
- 数式が使われているページの HTML のソースは以下のようになる
数式を使っているページのソース
...
<script async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
<script>window.MathJax = {"loader": {"load": ["[tex]/physics"]}, "tex": {"packages": {"[+]": ["physics"]}}}</script>
...
PDF 出力(make latexpdf)
- LaTeX のプリアンブルの設定を追加する
-
\はエスケープして\\にする必要がある
conf.py
latex_elements = {
"extrapackages": "\\usepackage{physics}"
}
- 出力した LaTeX ドキュメントは以下のようになる
プリアンブル
...
\usepackage{physics}
...
関連ドキュメント
physics パッケージとは
- どんなコマンドがあるかは PDF を確認する
- PDF は
$ texdoc physicsで開くことができる - 個人的にものすごい便利と思ってるパッケージのひとつ。できれば学生の時に知っておきたかった・・・
Sphinx で MathJax を設定するには
-
Sphinx v4からMathJax v3がデフォルトになったことが書いてある -
mathjax3_configに辞書型で設定した値が、MathJaxの`window.MathJax``に渡される
MathJax で physics パッケージを設定するには
まとめ
physics パッケージが使えて幸せ 🥰
Discussion