4
我一直在試圖弄清楚這個表達式在我的文檔字符串中有什麼問題。我在python sphinx v1.2b中使用sphinx.ext.mathjax
擴展。文檔字符串:在sphinx python中的Mathjax表達式不呈現correclty
.. 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
。
謝謝這確實是問題所在。我應該總是加倍所有反斜槓嗎?我試圖遵循[numpy doscstring標準](https://github.com/numpy/numpy/blob/master/doc/HOWTO_DOCUMENT.rst.txt)。但他們既不使用原始字符串也不使用雙反斜槓。 – bluecat 2013-05-09 22:23:35
並非所有的LaTeX命令都與Python的特殊轉義序列衝突。你注意到'\ lambda'工作。所以,你總是**必須加雙反斜槓或使用原始字符串(但這樣做似乎是一種好習慣,以免麻煩)並不是絕對正確的。 – mzjn 2013-05-10 08:47:57
我認爲這將有助於顯示原始方程:w_k^* = \ min_ {w_k} \ ell_k(w_k)+ \ lambda \ left(\ alpha || w_k || _1 + \ frac {1} {2 }(1 \ \ alpha || || w_k ||^2 \ right),然後展示如何修改它以讓autodoc在Python文檔字符串中正確讀取它。 – benjaminmgross 2013-11-15 06:30:13