1

我正在尝试使用xelatex作为乳胶引擎从rmarkdown文件生成 pdf。该文件在使用 pdflatex 作为乳胶引擎时生成 pdf。但是,如果我使用 xelatex,文件会给出以下错误。

`!LaTeX 错误:包 fontspec 的选项冲突。

错误:LaTeX 无法编译 cvGeneration.tex。调试技巧见https://yihui.org/tinytex/r/#debugging。有关更多信息,请参阅 cvGeneration.log。执行停止`

当我检查日志文件时,我只得到了以下几行。

*`!LaTeX 错误:包 fontspec 的选项冲突。有关说明,请参阅 LaTeX 手册或 LaTeX Companion。键入 H 以获得即时帮助。...

l.65 ...包[\eu@zf@math]{fontspec}[2008/08/09]

包 fontspec 已经加载了选项:[] 现在已经尝试使用选项加载它 [no-math] 将全局选项: ,no-math 添加到您的 \documentclass 声明可能会解决此问题。尝试输入以继续。`*

谁能告诉我为什么这个问题特别针对 xelatex 产生?我正在尝试实现 xelatex,因为它支持 UTF-8 字符。提前致谢。

我的 YAML 标头如下所示:

  params:
  cvName: RJ MIMI
  name: "`r params$cvName`"
  address: 
  www: 
  phone:
  email: 
  linkedin: 
  headcolor: "00008B"
  date: "`r format(Sys.time(), '%B')`"
  output:
    vitae::hyndman:
      keep_tex: true
      latex_engine: xelatex
  header_includes:
    - \ExecuteBibliographyOptions{useprefix=true}
    - renewcommand{\bibfont}{\normalfont\fontsize{10}{12.4}\sffamily}
4

1 回答 1

0

这还很遥远,但是,克服fontspec错误的最简单方法是设置defaultfontfeatures. (fontspec是 RMarkdown 中的默认设置。)

我没有将所有内容放入您的代码中,请将您的代码更新header_includes为:

header_includes:
    - \ExecuteBibliographyOptions{useprefix=true}
    - \defaultfontfeatures(Ligatures = TeX)
    - renewcommand{\bibfont}{\normalfont\fontsize{10}{12.4}\sffamily}

这可能仍然会给您警告,因为它不正确,但它有效。

于 2022-02-19T22:14:30.467 回答