我正在处理 .md
包含 latex
的文件.该文件如下所示:
$$
1+1 = 2
\\
2+2 = 4
$$
文件:当查看它为
markdown
正确添加新行后,文件看起来非常好。虽然当我使用 pandoc 将文件写入
pdf
发生以下情况:PDF 文件(来自 pandoc)
如您所见,新行已被完全删除并生成
latex
难读。我正在使用以下 pandoc 命令:
pandoc --wrap=preserve in.md -o out.pdf
--wrap=preserve
似乎没有工作,因为它忽略了一个新行。我也试过用 \newline
\linebreak
而不是 \\
并且似乎都没有工作。如何指定换行符,以便 pandoc 确保保留换行符而不是将所有内容保持内联?
最佳答案
无论您使用什么文件预览工具:它都在骗您。双反斜杠不是在数学中插入换行符的正确方法。
Pandoc 要么解析数学并将其转换为目标格式,要么只传递代码,具体取决于输出格式。对于通过 LaTeX 输出的 PDF,方程只是通过了。 (您可以通过使用 --verbose
运行 pandoc 来检查,除其他外,它将打印生成的原始 LaTeX 代码。)所以很明显问题出在输入上。
有多种方法可以在 LaTeX 中将换行符添加到数学中。其中之一是 align*
环境:
\begin{align*}
1+1 = 2
\\
2+2 = 4
\end{align*}
这将为您提供预期的 PDF 输出,但缺点是不会以其他输出格式(如 HTML)显示。我不知道有任何方法会在所有可能的 pandoc 输出格式的数学方程中产生换行符。如果需要,您将不得不使用多个单线方程。
关于latex - Pandoc 不使用 latex 在 Markdown 中生成新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63350182/