pandoc:无法使用第一个编写器生成pdf输出

时间:2014-09-01 07:52:25

标签: pandoc

我尝试使用此命令将pandoc第一个文件转换为pdf

pandoc -V geometry:a4paper -t rst test.rst --toc -s -o test.pdf

,但我收到以下错误:

pandoc: cannot produce pdf output with rst writer

如何使用pandoc将rst转换为pdf?

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

我遇到了同样的问题,使用 Windows 的默认 Pandoc 安装程序(在 C:\Program Files 中),并在驱动器 D: 中安装了 texlive ...上述路径在其 PATH 中,我通常会成功地从 Markdown 转换为 pdf。

所以,这些是我尝试过的命令,但都失败了:

$ pandoc -s -t rst --toc rest_syntax.rst -o rest_syntax.pdf
cannot produce pdf output from rst

然后,此页面 knitr pandoc: "cannot produce pdf output with pdf writer" 指出:

<块引用>

... [*对于 pdf 输出,使用 latex 或 beamer 和 -o FILENAME.pdf] ...

所以基本上 format = "pdf" 是无效的,你应该使用 pandoc("tmp.Rmd", format = "latex", ext = "pdf") ...

好的,然后我记得我实际上在大多数调用中使用了 --pdf-engine 参数,当我将 Markdown 转换为 pdf 时,所以我尝试了:

$ pandoc -s -t rst --toc rest_syntax.rst --pdf-engine=pdflatex -o rest_syntax.pdf
pdf-engine pdflatex is not compatible with output format rst

$ pandoc -s -t rst --toc rest_syntax.rst --pdf-engine=xelatex -o rest_syntax.pdf
pdf-engine xelatex is not compatible with output format rst

$ pandoc -s -t rst --toc rest_syntax.rst --pdf-engine=lualatex -o rest_syntax.pdf
pdf-engine lualatex is not compatible with output format rst

...我觉得这很奇怪...但后来我注意到“输出格式为rst”——而且,我不希望rst为输出格式!所以我查看了pandoc --help - 结果,-t--to,也就是说,它确实指定了输出格式!

所以,一旦我删除了它,终于成功了:

$ pandoc -s --toc rest_syntax.rst --pdf-engine=lualatex -o rest_syntax.pdf
[WARNING] Reference not found for 'Key "today"' at chunk line 1 column 8
[WARNING] Reference not found for 'python' at line 726 column 118
[WARNING] Reference not found for '#name' at line 811 column 30
[WARNING] Reference not found for '1' at line 822 column 53
[WARNING] Reference not found for '#' at line 823 column 32

最后,这似乎有效;请注意,rest_syntax.rst 文件实际上是这样的:https://thomas-cokelaer.info/tutorials/sphinx/_sources/rest_syntax.txt - 并非所有内容都在 PDF 中格式化得很好,但有一个目录,基本格式和方程似乎有效。