自Xetex弃用以来使用Pandoc降价至PDF

时间:2012-11-04 00:11:06

标签: latex markdown pandoc xetex

在我的MacBook(OSX Mountain Lion)上,我曾使用此Pandoc命令将Markdown转换为PDF:

$ markdown2pdf -N -o pandoc_output.pdf  --xetex --toc --template=mytemplate.tex myfile.md

markdown2pdf不再有效,--xetex中的markdown2pdf -N -o ../../Desktop/pandoc_output.pdf --xetex --toc --template=mytemplate-headers-garamond_date.tex选项已弃用。

如果我这样做:

$ pandoc -N -o Desktop/pandoc_output.pdf  --xetex --toc --template=mytemplate.tex myfile.md

我明白了:

pandoc: unrecognized option `--xetex'

但如果我拿出--xetex并执行此操作:

$ pandoc -N -o Desktop/pandoc_output.pdf  --toc --template=mytemplate.tex myfile.md

然后我明白了:

pandoc: Error producing PDF from TeX source.
! Package hyperref Error: Wrong driver option `xetex',
(hyperref)                because XeTeX is not detected.

See the hyperref package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.3925 \ProcessKeyvalOptions{Hyp}

解决方案是什么?

3 个答案:

答案 0 :(得分:17)

尝试使用--latex-engine=xelatex代替--xetex

答案 1 :(得分:6)

这个问题的先前答案对我有帮助,因为我几年前安装了pandoc,但从未使用过Tex Live。因此我不知道我是否正确安装它,所以放入整个路径帮助我看到它正常工作,如下所示:

pandoc --latex-engine=/usr/local/texlive/2012basic/bin/universal-darwin/xelatex

这是您从Pandoc安装页面下载的BasicTex设置的默认安装位置。

我也忘记了使用pandoc -D Latex >my-latex-template.tex生成模板。在给出一个.tex模板而不是我的.html模板(导致'你没有BEGIN {'错误)之后,我得到了.PDF:换句话说,默认模板工作了。

另外,我没有准确地输入-t pdf(上面没有显示)将pdf设置为输出格式,但这不正确。输出格式为Latex,然后转换为PDF。没有必要使用dash -t选项指定输出格式。

我希望这段轻微绊倒的记录可以节省一些时间。

答案 2 :(得分:0)

请参阅pandoc User's Guide(或手册页)了解--latex-engine选项。