【问题标题】:Pandoc not generating new lines in markdown with latexPandoc 不使用乳胶在降价中生成新行
【发布时间】:2020-08-11 01:23:10
【问题描述】:

我正在处理一个包含latex.md 文件。该文件如下所示:

$$
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 确保保留换行符而不是保持所有内容内联?

【问题讨论】:

  • ` \\ ` 不应用于表外的换行符。如果您想要多行方程,请查看split 或类似环境

标签: latex markdown pandoc


【解决方案1】:

无论您使用什么文件预览工具:它都是在骗您。双反斜杠不是在数学中插入换行符的正确方法。

Pandoc 要么解析数学并将其转换为目标格式,要么只是传递代码,具体取决于输出格式。对于通过 LaTeX 输出的 PDF,公式只是通过。 (您可以通过使用--verbose 运行 pandoc 来检查,除其他外,它将打印生成的原始 LaTeX 代码。)因此很明显问题在于输入。

有多种方法可以在 LaTeX 的数学中添加换行符。其中之一是align* 环境:

\begin{align*}
1+1 = 2
\\
2+2 = 4
\end{align*}

这将为您提供预期的 PDF 输出,但缺点是无法以其他输出格式(如 HTML)显示。我不知道有任何方法会在所有可能的 pandoc 输出格式的数学方程中产生换行符。如果需要,您必须使用多个单线方程。

【讨论】:

    猜你喜欢
    • 2017-12-26
    • 1970-01-01
    • 2021-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-11
    • 1970-01-01
    相关资源
    最近更新 更多