Как заставить bookdown отображать документ с помощью механизма xelatex вместо pdflatex?

Я использую bookdown для рендеринга html-книг. Как можно отобразить ту же книгу, используя LaTeX, используя 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

Кто-нибудь знает, как справиться с этой проблемой?


person rdatasculptor    schedule 06.07.2020    source источник
comment
Как подробно описано здесь, pandoc_options имеет аргумент с именем to (я думаю, это имя вывода, но я могу ошибаться). Вы не указали этот аргумент, отсюда и ошибка. Вы также можете указать latex_engine в YAML, как описано здесь   -  person bretauv    schedule 06.07.2020
comment
Спасибо за ваш ответ. Я уже пробовал это, но bookdown продолжает хотеть использовать pdflatex.   -  person rdatasculptor    schedule 06.07.2020
comment
Вы проверили, что отступы в YAML хорошие? Недавно я был удивлен тем, что некоторые параметры YAML не учитывались, потому что отступы были плохими.   -  person bretauv    schedule 06.07.2020


Ответы (1)