尚无法使用 TeXShop 设置 knitr

尚无法使用 TeXShop 设置 knitr

我想将 knitr 与 TeXShop 一起使用。到目前为止,我无法让 knitr 和 TeXShop 对话。我不确定如何制作一个可重现的示例,也不确定如何使以下内容简洁,但这是我尝试过的方法:

  1. 最近更新的版本有:R 3.4.2、knitr 1.17、TeXShop 3.88。在装有 Sierra OS 的 Mac 上的 RStudio 中,knitr 最近经常运行良好。我想要迁移的手稿是 .rmd。[顺便说一句,最终切换的原因是图样模糊,如所述https://stackoverflow.com/questions/29568923/geom-raster-comes-out-smeared-when-saving-to-pdf收件人可能使用的预览功能不再提供禁用平滑文本和线条艺术的选项:https://discussions.apple.com/thread/7681819?start=0&tstart=0。我使用 TeXShop,而不是 LyX,因为我的工作组也使用。

  2. https://yihui.name/knitr/demo/editors/,我创建了 Knitr.engine。在 TeXShop 中,knitr 现在作为程序中的一个选项出现。

  3. https://iangow.wordpress.com/2014/04/04/using-knitr-with-texshop/,我使用 chmod +x ~/Library/TeXShop/Engines/Knitr.engine 使 Knitr.engine 可执行。之后重新启动以确保万无一失。

  4. 下列的https://stackoverflow.com/questions/14617041/how-can-i-see-the-current-value-of-my-path-variable-on-os-x,echo $PATH 返回的字符串中包含 /Library/TeX/texbin。由于理解这部分有点超出我的技能水平,这里是完整的响应:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Library/TeX/texbin

  5. 一年前,TeXShop 可以很好地处理与 r 无关的长文档。为了再次检查,我复制了https://github.com/yihui/knitr-examples/blob/master/005-latex.Rtex到 TeXShop 然后使用 Program = LaTeX 排版。显然,除了 r 部分,它渲染得很好。如果这是一个线索,那么代替 r 片段,如“…x 是 \rinline{x[1]}。并且…” .pdf 有一个礼貌的“…x 是 knitr 出了问题。并且…”

  6. 使用相同的示例文件,我将 TeXShop 程序更改为 knitr,然后尝试 Typeset。控制台屏幕空白,没有返回 .pdf。

  7. 可能相关的问题:对未回答问题的评论https://stackoverflow.com/questions/33570145/texshop-and-knitr没能让我摆脱困境。我不明白https://stackoverflow.com/questions/22901174/synchronise-pdf-to-rnw-in-knitr-with-texshop超出步骤 1 的范围,足以知道它是否有帮助。版本控制问题描述在https://stackoverflow.com/questions/27915263/knitr-in-texshop-uses-late-r-version不适用;我的 R.framework 中显示的版本是 3.4。

非常感谢您的任何想法。

答案1

以下有些事情应该会有帮助。

  1. knitr.engine链接到的为 TeX 二进制文件设置了旧路径。应该是/Library/TeX/texbin但正如 Herb Shulz 在评论中指出的那样,路径实际上并不重要,因为 TeXShop 设置了正确的路径。

  2. 确保您已经knitr在 R 中安装了该包。

  3. knitr识别各种用于嵌入 R 代码的语法,这取决于源文件的文件扩展名。您链接到的代码是一个.Rtex文件,而不是一个.Rnw文件,它使用不同的嵌入语法。

语法.Rtex

% begin.rcode 

% end.rcode

但这要求您将文件另存为.Rtex,不幸的是,TeXShop 不允许您这样做。(即使它可以打开这样的文件。)

语法.Rnw

<< ... >>=

@

还有其他一些差异。请参阅knitr参考卡快速概览。

最后,还有.Rmd语法:

```{r ... }

```

但是 TeXShop 也不知道如何保存这个扩展(尽管它可以打开这样的文件。)

由于 TeXShop 管理其“保存”对话框的方式,只允许使用一组指定的文件扩展名,因此knitr如果您尝试保存新的无标题文档,则无法识别所有文件。目前,TeXShop 只识别.Rnw文件。但是,TeXShop 可以毫无困难地读取其他文件类型,因此您可以手动将文件扩展名更改为,.Rtex然后在 Finder 中选择让 TeXShop 始终打开该文件类型(为所选文件选择“获取信息”,然后选择 TeXShop 作为打开文件的应用程序。)

此外,如果你添加

% !TEX TS-program = knitr

到文档的第一行,knitr将自动为该文件选择引擎。

相关内容