Пытаясь понять, как Pandoc конвертирует из Markdown в Latex - PullRequest
0 голосов
/ 15 октября 2018

Я прошу прощения, если это повторение.

У меня есть файл Markdown test.md , который состоит из двух частей математического режима латекса:

Первый латексблок (в файле .md):

\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}

Второй блок латекса (в файле .md):

\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 , где два вышеупомянутых блока отображаются как:

Первый блок латекса (в .texфайл):

\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\}

Второй блок латекса (в файле .tex):

\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}

Я не уверен, как это произошло.Я использую:

ОС: Windows 10

Редактор: Visual Studio Code 1.28.1

Pandoc Версия: 2.2.3.2

Хотя, может быть, этоЭто связано с тем, что окончания строк в Windows различны, поэтому я изменил окончание строк с CLRF на LF и наоборот, но это не повлияло на вывод.

Я хотел бы сказать с определенной уверенностьюо том, как произойдет преобразование, поскольку это сбивает меня с толку.

Я также загрузил файлы на случай, если это проблема кодировки символов.

1 Ответ

0 голосов
/ 15 октября 2018

Анализатор LaTeX Pandoc не идеален на 100%, поэтому для таких сложных случаев, как этот, вы должны использовать generic-raw-attribute в уценке:

```{=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}
```
...