编号:数学:reStructuredText中的方程式

时间:2013-01-01 13:16:31

标签: python-sphinx restructuredtext

如何在重组文本中创建方程式,后跟方程式编号:

p = f(x)                (1)

.. math::
   p = f(x)

只会导致:

p = f(x)

2 个答案:

答案 0 :(得分:5)

.. math:: p=f(x)
  :label: eq:pfx

答案 1 :(得分:2)

看了几年之后,似乎数字仍然没有自动放在等式的右边。因此,我想补充一下已接受的答案。

首先,您要在第一个文件的方程式中添加一个标签:

.. math::
   :label: pfx

   p = f(x)

这将生成类<span>的{​​{1}},其中包含数字并连接到方程。为了使它如预期的那样显示出来,您需要添加一种样式来覆盖该类的默认行为。

我通常通过在文档根目录下的eqno文件夹中添加custom.css来完成此操作:

_static/css

.math { text-align: left; } .eqno { float: right; } 类标记包含整个方程的math。如果没有<div>样式,则所有方程式都将居中,从而使其在左侧编号完全合理。

现在,您需要在text-align: left;中注册CSS文件。我添加了以下基本挂钩:

conf.py

相对路径从def setup(app): app.add_stylesheet('css/custom.css') 文件夹中解析。您可以添加通配符来一次拾取文件夹中的所有文件,但这足够了。

@EngineeredBrain's comment在前一行报告一个数字的原因是,它们的方程太长并且不适合同一行。我确信无论如何都可以对它们进行样式设置,但我什至不会尝试在这里进行介绍。

这仅适用于狮身人面像(不适用于rST),并且据我所知仅适用于HTML输出。我将有一天尝试使用latexpdf并进行更新。