Sphinx未正确呈现文档字符串中的数学表达式 [英] Math expression in docstring is not rendered correctly by Sphinx

查看:17
本文介绍了Sphinx未正确呈现文档字符串中的数学表达式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在尝试找出我的文档字符串中的这个表达式有什么问题。我使用的是pythonsphinxv1.2b中的sphinx.ext.mathjax扩展。文档字符串:

.. math::

    w_k^* = min_{w_k} ell_k(w_k) + lambdaleft(alpha||w_k||_1 
    + frac{1}{2}(1-alpha) ||w_k||^2
ight)
显示的内容如下:

但它继续生成此奇怪的警告,并且根本不呈现该表达式:

WARNING: Block quote ends without a blank line; unexpected unindent.
非常奇怪的是,如果我删除alphaleft ightfrac符号,则表达式在没有警告的情况下呈现得很好。不确定为什么支持lambda而不支持alpha

推荐答案

来自Sphinx documentation

请记住,当您将数学标记放入由自动文档读取的Python文档字符串中时,您必须将所有反斜杠都加两倍,或者使用Python原始字符串(r"raw")。

这是必需的,以便正确解释LaTeX命令,如alpha(a和其他几个序列的字符串文字中有special meaning)。

这是问题中文档字符串的原始版本,带有三引号,前缀为r

r"""
.. math::
 
    w_k^* = min_{w_k} ell_k(w_k) + lambdaleft(alpha||w_k||_1 
    + frac{1}{2}(1-alpha) ||w_k||^2
ight)
"""

这篇关于Sphinx未正确呈现文档字符串中的数学表达式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆