如何使用 pandoc 将降价方程式转换为 pdf

How do I convert markdown equations to pdf using pandoc

我有一个带有很多方程式的降价文档(我认为是 mathjax),它可以很好地与应用程序 Marked 2 一起呈现。当我尝试使用 pandoc 将其转换为 pdf 以创建参考书目时,我收到一个错误。

例如,

\[ \mu_{s,h,d,y} = \left\{
  \begin{array}{1 1}
    \omega_{s,h,d,y} + \delta_{s}(t_{s,h,d-1,y} - \omega_{s,h,d-1,y}) & \quad  \text{for $t_{s,h,d-1,y}$ is real} \
    \omega_{s,h,d,y} & \quad  \text{for $t_{s,h,d-1,y}$ is not real}
  \end{array} \right.
 \]

看起来像

然而,当我 运行

pandoc -H format.sty -V fontsize=12pt --bibliography northeast_temperature_refs.bib --csl=american-geophysical-union.csl northeast_temperature_ms2.md -o northeast_temperature_ms.pdf --mathjax

有或没有 --mathjax 我得到以下错误

! Missing $ inserted.
<inserted text> 
                $
l.268 \textbackslash{}{[} \mu

pandoc: Error producing PDF from TeX source

如果我尝试使用 $$ 而不是 \[,例如:

$$
\mu_{s,h,d,y} = \left\{
  \begin{array}
    \omega_{s,h,d,y} + \delta_{s}(t_{s,h,d-1,y} - \omega_{s,h,d-1,y}) & \quad  \text{for $$t_{s,h,d-1,y}$$ is real} \
    \omega_{s,h,d,y} & \quad  \text{for $$t_{s,h,d-1,y}$$ is not real}
  \end{array} \right.
 $$

我收到以下错误:

! LaTeX Error: Illegal character in array arg.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.278   \begin{array}{1 1}

pandoc: Error producing PDF from TeX source

这是我第一次尝试在固定程序之外编写方程式,如有任何帮助,我们将不胜感激。当我使用 Marked 进行快速检查时,我认为我做得很好,但显然它不能像我那样使用 pandoc。

我在 Mac 上 Yosemite 并安装了 MacTex。

我认为 pandoc 没有涵盖 array 命令,因为你的命令在 IPython 笔记本中对我不起作用。但是,用 cases 语句替换数组命令对我来说确实有效:

\[ \mu_{s,h,d,y} = \begin{cases}
    \omega_{s,h,d,y} + \delta_{s}(t_{s,h,d-1,y} - \omega_{s,h,d-1,y}) & \quad  \text{for $t_{s,h,d-1,y}$ is real} \
    \omega_{s,h,d,y} & \quad  \text{for $t_{s,h,d-1,y}$ is not real}
  \end{cases}
 \]

Marked 使用与 Pandoc 不同的底层降价处理器 (MultiMarkdown),Pandoc 具有不同的方程式语法(\[ \] 而不是 $$)。如果你想为 Marked previewing/HTML 和 pandoc PDF/anything else 输出以单一格式编写,你可以将 Marked 的处理器更改为 Pandoc(方向 here)。这样您就可以对所有内容使用 $$ 语法。