试图了解 Pandoc 如何从 Markdown 转换为 Latex

Trying to understand how Pandoc converts from Markdown to Latex

如果重复,我深表歉意。

我有一个 Markdown 文件 test.md,其中有两个 Latex 数学模式部分:

First latex block (in .md file):

\begin{flalign}
P(1<X) &= \int_{1}^{\infty} f(x) dx \nonumber \
&= \int_{1}^{4} 0 dx + \int_{4}^{\infty} e^{-(x-4)} dx \nonumber \
\boldsymbol{P(1<X)} &= \boldsymbol{1} \nonumber
\end{flalign}

Second latex block (in .md file):

\begin{flalign}
Expected \; Revenue &= 2.5 \cdot non-passenger \; vehicles + 1.0 \cdot passenger \; vehicles \nonumber \
&= $(2.5 \cdot (25 - E(X)) + 1.0 \cdot E(X)) \nonumber \
&= $(62.5 - 1.5(E(X))) \nonumber \
&= $(62.5 - 1.5 \cdot 15) \nonumber \
\boldsymbol{Expected \; Revenue} &= \boldsymbol{$40} \nonumber
\end{flalign}

当我运行以下命令时:

pandoc -f markdown -t latex test.md -s -o test.tex

我得到的输出为 test.tex,其中上述两个块呈现为:

First latex block (in .tex file):

\textbackslash{}begin\{flalign\} P(1\textless{}X) \&=
\int\emph{\{1\}\^{}\{\infty\} f(x) dx \nonumber \textbackslash{} \&=
\int}\{1\}\^{}\{4\} 0 dx + \int\_\{4\}\^{}\{\infty\} e\^{}\{-(x-4)\} dx
\nonumber \textbackslash{} \boldsymbol{P(1<X)} \&= \boldsymbol{1}
\nonumber \textbackslash{}end\{flalign\}

Second latex block (in .tex file):

\begin{flalign}
Expected \; Revenue &= 2.5 \cdot non-passenger \; vehicles + 1.0 \cdot passenger \; vehicles \nonumber \
&= $(2.5 \cdot (25 - E(X)) + 1.0 \cdot E(X)) \nonumber \
&= $(62.5 - 1.5(E(X))) \nonumber \
&= $(62.5 - 1.5 \cdot 15) \nonumber \
\boldsymbol{Expected \; Revenue} &= \boldsymbol{$40} \nonumber
\end{flalign}

我不确定这是怎么发生的。我正在使用:

OS: Windows 10

编辑:Visual Studio代码 1.28.1

Pandoc 版本:2.2.3.2

虽然可能是因为 Windows 中的行尾不同,所以我将行尾从 CLRF 更改为 LF,反之亦然,但这并没有影响输出。

我希望能够肯定地说出转换将如何发生,因为这让我感到困惑。

我也上传了文件,以防是字符编码问题。

Pandoc 的 LaTeX 解析器不是 100% 完美的,所以对于像这样的复杂情况,你应该在你的 markdown 中使用 generic-raw-attributes:

```{=latex}
\begin{flalign}
Expected \; Revenue &= 2.5 \cdot non-passenger \; vehicles + 1.0 \cdot passenger \; vehicles \nonumber \
&= $(2.5 \cdot (25 - E(X)) + 1.0 \cdot E(X)) \nonumber \
&= $(62.5 - 1.5(E(X))) \nonumber \
&= $(62.5 - 1.5 \cdot 15) \nonumber \
\boldsymbol{Expected \; Revenue} &= \boldsymbol{$40} \nonumber
\end{flalign}
```