0

我使用 bookdown 来呈现 html 书籍。如何使用 LaTeX enging xelatex 而不是 pdflatex 渲染同一本书?

这是我使用的主要代码:

bookdown::render_book('index.Rmd', output_file='mybook.pdf','bookdown::pdf_book')

它一直在说! Sorry, but C:\PROGRA~1\MIKTEX~1.9\miktex\bin\x64\pdflatex.exe did not succeed.。因为在渲染其他类型的 pdf 文档时,我使用 xelatex 作为引擎,我知道它应该在我的系统中可用。如何强制 bookdown 使用 xelatex?

之前似乎有人问过这个答案,但我不知道如何使用上述解决方案pandoc_options(args = c("--latex-engine", "xelatex")) .

当我做这样的事情时:

bookdown::render_book('index.Rmd', output_file='mybook.pdf','bookdown::pdf_book',pandoc_options(latex_engine = 'xelatex'))

有一个错误:Error in pandoc_options(latex_engine = "xelatex") : argument "to" is missing, with no default

有谁知道如何处理这个问题?

4

1 回答 1

4

您可以尝试将其插入到_output.yml通用配置文件中(对于,如文档bookdown中所见):

bookdown::pdf_book:
  latex_engine: xelatex

这通常适用于我的情况。

如果您想使用pandoc_options(),您可能还必须传递to参数(我还没有尝试过):

bookdown::render_book(
  'index.Rmd',
  output_file = 'mybook.pdf',
  'bookdown::pdf_book',
  pandoc_options(
    to = "pdf",
    latex_engine = "xelatex"
  )
)
于 2020-07-06T13:37:18.887 回答