Dav*_*jad 3 restructuredtext python-sphinx
如何在重组后的文本中生成方程式,然后加上方程式编号:
p = f(x) (1)
Run Code Online (Sandbox Code Playgroud)
.. math::
p = f(x)
Run Code Online (Sandbox Code Playgroud)
只会导致:
p = f(x)
Run Code Online (Sandbox Code Playgroud)
Mad*_*ist 10
几年后看这个,似乎数字仍然没有自动放在方程的右边。因此,我想补充一点已接受的答案。
首先,您在 rst 文件中为方程添加一个标签:
.. math::
:label: pfx
p = f(x)
Run Code Online (Sandbox Code Playgroud)
这将生成一个包含数字和方程链接<span>的类eqno。为了让它像您期望的等式编号那样显示,您需要添加一个样式来覆盖该类的默认行为。
我通常通过添加custom.css到_static/css我的文档根目录下的文件夹来做到这一点:
.math {
text-align: left;
}
.eqno {
float: right;
}
Run Code Online (Sandbox Code Playgroud)
本math类标签的<div>包含整个公式。如果没有text-align: left;样式,您的所有方程都将居中,因此将它们编号在左侧是完全合理的。
现在您需要在 .css 文件中注册 CSS 文件conf.py。我添加了以下基本钩子:
def setup(app):
app.add_stylesheet('css/custom.css')
Run Code Online (Sandbox Code Playgroud)
从_static文件夹解析相对路径。您可以添加通配符以一次提取文件夹中的所有文件,但这应该就足够了。
@EngineeredBrain 的评论在前一行报告了一个数字的原因是他们的方程太长,不适合在同一行。我敢肯定有一种方法可以让它们适应任何情况,但我什至不会在这里尝试讨论。
这仅适用于 sphinx(而不是 rST),并且仅适用于 HTML 输出,据我所知。有一天我会尝试使用 latexpdf 并进行更新。
.. math:: p=f(x)
:label: eq:pfx
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
837 次 |
| 最近记录: |