使用乳胶数学的狮身人面像扩展
texext的Python项目详细描述
texext包含两个用于处理乳胶数学的Sphinx扩展。
数学美元
math_dollar将ReST中美元之间的数学表达式替换为 等效内联数学。
例如:
Here is some math: $a = 2$
将替换为:
Here is some math: :math:`a = 2`
扩展使一些努力不取代美元,不意味着 数学,但请仔细检查你的输出,并提交一个关于 texext issue tracker如果我们搞砸了。
要启用math-dollar,请确保texext包位于 python路径,并将texext.math_dollar添加到 狮身人面像conf.py。如果你想用数学来处理docstring,你 应该在扩展列表中添加比 math_dollar。
mathcode指令
sympy的用户可能希望生成乳胶 在sympy中动态地表达,然后在构建的 页。您可以使用mathcode指令来完成此操作:
.. mathcode:: import sympy a, b = sympy.symbols('a, b') a * 10 + 2 * b
指令在final的返回结果上运行sympy.latex()。 表达式,并将其嵌入到.. math::指令中,导致 斯芬克斯的等效输出:
.. math:: 10 a + 2 b
默认情况下保留上下文(命名空间),因此可以在 后续指令,例如:
.. mathcode:: a * 5 + 3 * b
如果mathcode块中的最后一个表达式不是表达式,则上下文 已更新,但扩展未生成输出的数学指令。 这允许您有块来填充计算,而无需渲染到 那一页。例如,这不会生成输出:
.. mathcode:: expr = a * 4
您可以在以后的指令中使用生成的上下文:
.. mathcode:: expr
要重置上下文(命名空间),请使用newcontext选项:
.. mathcode:: :newcontext: import sympy # again
如果希望mathcode与matplotlib plot_directive共享命名空间,请在conf.py中设置以下内容:
# Config of mathcode directive mathcode_use_plot_ns = True
注意
如果要在mathcode中使用plot_指令上下文 指令,您需要在mathcode上面列出plot_指令 斯芬克斯扩展列表中的指令。所有绘图指令代码 将在所有mathcode指令代码之前运行。
相反,如果要使用 plot_指令,首先在sphinx扩展列表中列出mathcode。
注意
默认情况下,matplotlibplot_directive将清除命名空间 每个指令的上下文,因此您可能希望使用:context: plot指令的选项,大多数情况下。
如果对绘图使用Nb2plots,并且希望mathcode共享 名称空间使用nb2plots plot指令,您将需要指定 nb2直接打印上下文:
# Config of mathcode directive mathcode_use_plot_ns = True mathcode_plot_context = 'nb2plots.nbplots.plot_context'
如果要使用自定义版本的 plot_指令,需要为 plot指令,作为字符串。例如,如果有自定义绘图 指令模块可导入为import my_path.plot_directive,具有 在my_path.plot_directive.plot_context中绘制上下文,然后在conf.py 应该有这样的行:
# Config of mathcode directive mathcode_plot_context = "my_path.plot_directive.plot_context"
绘图上下文是一个字符串,而不是属性本身,以便 sphinx pickle运行之间的配置。这样狮身人面像就可以避免 正在生成在调用sphinx-build之间未更改的页。
要启用mathcode指令,请确保texext包已打开 python路径,并将textext.mathcode添加到 狮身人面像。
代码
见https://github.com/matthew-brett/texext
在bsd two子句许可下发布-请参见 来源分布。
travis-ci请测试 在Python2.7和3.3到3.6版本下自动编写代码。
最新发布的版本位于https://pypi.python.org/pypi/texext
支架
请在texext issue tracker上提出问题。