\ newcommand环境从markdown转换为pandoc时

时间:2014-04-17 09:50:00

标签: markdown ipython-notebook mathjax pandoc

我使用ipython notebook键入math,然后转换为latex。为了让mathjax理解\newcommand,我必须把它放在$...$里面。例如,$\newcommand{\cl}{\operatorname{cl}}$适用于mathjax。问题是,当我使用pandoc转换为tex文件时,它仍然是$\newcommand{\cl}{\operatorname{cl}}$,但我想要的只是\newcommand{\cl}{\operatorname{cl}}(没有$...$)。有没有人请告诉我如何解决这个问题?

非常感谢你!

1 个答案:

答案 0 :(得分:0)

一个简单的选择是使用latex magic在ipython中使用乳胶环境。

例如,这是一个example

%%latex \begin{aligned} \nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\ \nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\ \nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\ \nabla \cdot \vec{\mathbf{B}} & = 0 \end{aligned}

或者,在降价单元格中使用完整的胶乳的唯一解决方案是使用配置文件在MathJax中创建tex宏而不是重载$ ... $。

首先

  1. 创建本地MathJax安装(请参阅ipython docs

  2. 使用自定义配置文件和tex宏修改本地MathJax安装。 (参见下文提供)

  3. 告诉ipython使用

    使用本地修改的MathJax安装
     python -m IPython.external.mathjax -d /some/other/mathjax
    
  4. 修改MathJax安装

    以下是MathJax Documentation

    的相关摘录
      

    如果你有许多这样的定义,你想要超过   一页,您可以将它们放入配置文件中   加载主配置文件。例如,你可以   在MathJax / config / local中创建一个名为local.js的文件,其中包含   您的宏定义:

    MathJax.Hub.Config({   
      TeX: {
        Macros: {
         RR: "{\\bf R}",
         bold: ["{\\bf #1}",1]
    }   } });
    
         

    MathJax.Ajax.loadComplete( “[MathJax] /config/local/local.js”);然后   将其与主配置文件一起加载到脚本上   加载MathJax.js:

    <script src="/MathJax/MathJax.js?config=TeX-AMS_HTML,local/local.js"></script>
    
         

    如果您使用的是CDN,则可以创建本地配置文件   您自己的服务器,并从CDN和您的服务器加载MathJax本身   来自服务器的配置文件。请参阅使用本地配置   有关详细信息的CDN文件。