我一直试图弄清楚我的docstring中这个表达式有什么问题。我在python sphinx v1.2b中使用sphinx.ext.mathjax
扩展名。 docstring:
.. 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
。
答案 0 :(得分:12)
请记住,当您将数学标记放入autodoc读取的 Python文档字符串时,您必须将所有反斜杠加倍,或者使用Python原始字符串(
r"raw"
)。
这是必需的,以便正确解释La \alpha
等LaTeX命令(\a
,其他一些序列在字符串文字中有special meaning。