使用 Sweave 和 XeLaTeX

使用 Sweave 和 XeLaTeX

我正在做一份很繁重的报告R,但也想使用系统字体,所以我希望能够使用SweaveXeLaTeX

我首选的 tex 编辑器是 TexShop (Mac 10.7),但它似乎只允许我选择任何一个Sweave 或 XeLaTeX。我可以从 Sweave 生成​​ .tex 文件,然后在调整包/字体后手动通过 XeLaTeX 引擎运行该文件,但似乎一定有更简单的方法。

在我看来,RStudio 似乎具有此功能,但当我选择 XeLaTeX 作为排版程序时,它会产生错误:[object Uint8Array]' is not a valid argument for 'Function.prototype.apply',看起来像某种C基于的代码。产生该错误的 Sweave 文档是:

\documentclass{article}
\begin{document}
\SweaveOpts{concordance=TRUE}
Text
\end{document}

pdfLatex 可以很好地编译它。据我所知,我使用 XeLaTeX 和 Sweave 检查过的资源并未解决这个问题。

答案1

最简单的方法是自己制作一个 TeXShop 的 Sweave-XeLaTeX 引擎文件。为此,请执行以下操作。

  • 使用 Finder 中的“前往”菜单,选择“前往”,然后输入~/Library/TeXShop/Engines
  • 复制 Sweave 引擎并将其重命名为 Sweave-XeLaTeX
  • 在 TeXShop 中打开引擎并更改行

     pdflatex "${1%.*}"
    

     xelatex "${1%.*}"
    

保存文件并重新启动 TeXShop。现在,Typeset 按钮旁边的下拉菜单中应该有一个 Sweave-XeLaTeX 引擎文件。

您还可以通过添加以下代码在 .Rnw 文件中自动访问引擎:

% !TEX TS-program = Sweave-xelatex

作为文件的第一行(您也可以从宏 -> 程序菜单项中选择。)

相关内容