9

docstring のこの式の何が問題なのかを突き止めようとしています。私はsphinx.ext.mathjaxpython sphinx v1.2bで拡張機能を使用しています。ドキュメント文字列:

.. math::

    w_k^* = \min_{w_k} \ell_k(w_k) + \lambda\left(\alpha||w_k||_1 
    + \frac{1}{2}(1-\alpha) ||w_k||^2\right)

これが表示されます: ここに画像の説明を入力

しかし、この奇妙な警告が引き続き生成され、式がまったくレンダリングされません。

WARNING: Block quote ends without a blank line; unexpected unindent.

奇妙なことに、、、、記号を削除する\alpha\left、式は警告なしで正常にレンダリングされます。がサポートされていない理由がわからない。\right\frac\lambda\alpha

4

1 に答える 1

16

スフィンクスのドキュメントから:

autodoc によって読み取られるPython docstringに数学マークアップを配置する場合は、すべてのバックスラッシュを 2 つにするか、Python の生の文字列 ( r"raw") を使用する必要があることに注意してください。

これは、 などの LaTeX コマンド\alphaが正しく解釈されるために必要です (また、文字列リテラルで特別な意味\aを持つ他のいくつかのシーケンスもあります)。

これは、質問の docstring の生のバージョンで、三重引用符が先頭にr:

r"""
.. math::
 
    w_k^* = \min_{w_k} \ell_k(w_k) + \lambda\left(\alpha||w_k||_1 
    + \frac{1}{2}(1-\alpha) ||w_k||^2\right)
"""
于 2013-05-09T20:42:26.820 に答える