使用乳胶数学的狮身人面像扩展

texext的Python项目详细描述


texext包含两个用于处理乳胶数学的Sphinx扩展。

数学美元

math_dollarReST中美元之间的数学表达式替换为 等效内联数学。

例如:

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上提出问题。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何使用Java中的扫描仪读取文本文件中的特定字符?   java如果我们在hibernate中开始事务但不提交它,会发生什么?   Azure CosmosDB Java Springboot中的无服务器帐户不支持spring boot设置提供吞吐量或容器自动导航   附加到新对象的Java注释?   java如何将自定义文本视图添加到。在Kotlin中添加通知操作   java Shibboleth添加_OpenSAMLcookies,导致HTTP头大小>8k   分布式传感器数据(~40Hz)的高效Java观测器设计   java如何在while循环外声明数组,但在while循环中初始化它?   用@XmlElementRef注释的java元素没有显示在JAXB编组字符串中?   java替换二维数组的值   java如何在任务栏上创建Windows7加载栏   java如何在组件注释bean中使用会话或RequestScope bean?   java netbeans freermarker插件错误:在实现版本中请求netbeans桥的插件Lexer   java谷歌地图方向。加载失败,返回服务器错误   java当我试图递归地计算两个值之间的整数之和时,为什么结果返回一个奇怪的值?   java如何通过html文件的用户获取运行时输入,以使用Jsoup进行解析?