Latex 如何使用MathJax配置Sphinx以使用美元符号作为数学分隔符

Latex 如何使用MathJax配置Sphinx以使用美元符号作为数学分隔符,latex,python-sphinx,mathjax,Latex,Python Sphinx,Mathjax,如何将Sphinx配置为使用美元符号作为MathJax扩展的数学分隔符 我试着加上 mathjax_config = { 'tex2jax': { 'inlineMath': [ ['$','$']], 'displayMath': [ ['$$','$$']], }, } 到conf.py,但这有两个问题: 数学需要两个反斜杠。例如,$\\sin(x)$。斯芬克斯似乎去掉了一个反斜杠 如果我没有在页面的某个地方包含普通的.math指令,它就不会加载Ma

如何将Sphinx配置为使用美元符号作为MathJax扩展的数学分隔符

我试着加上

mathjax_config = {
    'tex2jax': {
      'inlineMath': [ ['$','$']],
      'displayMath': [ ['$$','$$']],
    },
}
conf.py
,但这有两个问题:

  • 数学需要两个反斜杠。例如,
    $\\sin(x)$
    。斯芬克斯似乎去掉了一个反斜杠
  • 如果我没有在页面的某个地方包含普通的
    .math
    指令,它就不会加载MathJax Javascript。我想专门使用
    $
    $$
    来定义数学

  • 我已经编写了一个Sphinx扩展,可以让您这样做

    要使用它,请安装扩展

    pip install sphinx-math-dollar
    
    并将其添加到conf.py中

    extensions = ['sphinx_math_dollar', 'sphinx.ext.mathjax']
    
    作为技术说明,在不使用此扩展的情况下尝试正确执行此操作将非常困难。你必须在狮身人面像处理中正确的位置进行替换。如果您在处理过程中做得太晚(例如,通过设置JavaScript配置),它将无法工作,因为Sphinx已经在该点从数学中删除了所有反斜杠。如果你做得太快(例如,对输入文本进行正则表达式替换),它也会失败,因为你最终会在你不想做的事情上替换数学,例如在doctest或代码中