Pandoc不会在markdown中使用乳胶生成新行

问题描述

我正在处理一个包含.md的{​​{1}}文件。该文件如下所示:

latex

文件:

the file

$$ 1+1 = 2 \\ 2+2 = 4 $$ 格式查看文件时,正确添加新行后,文件看起来就很好。

尽管当我使用pandoc将文件写入markdown时,还是会发生以下情况:

PDF文件(来自pandoc)

pandoc

如您所见,新行已被完全删除,使pdf难以阅读。

我正在使用以下pandoc命令:

latex

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输出格式中的数学方程式中产生换行符。如果需要,您必须使用多个单线方程。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...