Sphinx (バージョン 1.1.2-1) の複数行の数学モード内で、3 つの非常に基本的なことを実行しようとしています。
- 数学モードでも、変数名の一部としてアンダースコアを書きます。
\big
、などの区切り文字を使用して、\biggl
大きな括弧と括弧を作成します。- 数式の一部として通常のテキストを含めます。
以下の 2 点に注意してください。(1) Sphinx マークアップ ドキュメントの Python コードで生の文字列を使用しているため、エスケープ文字に余分なバックスラッシュは必要ありません。(2) インライン数学モードを使用していません。これは Sphinx で次のように区切られています。
:math:`Some math stuff goes here` regular text could go here...
代わりに、eqnarray
LaTeX のように、複数行の処理を行っています。
.. math::
DividendYield &=& \frac{DVT(t)}{CurrentMarketCap} \\
Avg_Assets &=& \biggl( A/B \biggr) \textrm { when B is not zero...}
現在、次のような Sphinx エラーが発生します (そして、生成されたドキュメント ページは意味不明のように見えます)。
Unknown LaTeX command: textrm
同じことが起こり\biggl
ます。アンダースコアの場合、常に下付き文字を示しているかのように解釈しますが、\textunderscore
または他のトリックを使用すると、上記と同じ種類のエラーがスローされます。
数学モード内のアンダースコア、textrm
コマンド、および大きな区切り文字は、私が今まで使用したすべてのネイティブ TeX パッケージの非常に基本的な部分です。では、なぜ Sphinx からアクセスできないのでしょうか?
アップデート
私が取り組んでいる特定の Python ファイルの 1 つで、Book Equity データが計算されます。以下、BookEquity に関するものを見ると、それが参考になります。バージョン管理システムを介さない限り、build-docs プロセスを実行できないため、既存のファイルを変更するだけで、再現可能なエラーを作成するのが最も簡単でした。
ただし、単純な docstring を使用して、コードに次のクラス関数を追加しただけです。
def foo(self):
r"""
Sample docstring
.. math::
Ax &=& b \\
Cx &=& \biggl(\frac{x/y}\biggr) \textrm{ if y is not zero.}
"""
pass
下の画像は、Sphinx 1.1.2-1 でドキュメントをビルドした結果の出力です。
右クリックして「画像を表示」を選択すると、より良いバージョンが表示されます。