试图了解 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}
```
如果重复,我深表歉意。
我有一个 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}
```