这.Rnw
可以很好地编译RStudio Version 0.99.862
\documentclass{book}
\usepackage{Rd} % Rstudio will be able to find this .sty file
\begin{document}
<<label=Test, echo=FALSE, results='asis'>>=
library(noamtools)
help_console(topic="mean", format = "latex")
@
\end{document}
但是,将其导入.Rnw
会LyX Version 2.1.4
引发以下错误Ubuntu 14.0.2
。
LaTeX Error: File `Rd.sty' not found.
该R
包noamtools
可以通过以下方式安装devtools::install_github('noamross/noamtools')
答案1
这里的问题是 RStudio 知道在哪里寻找Rd.sty
,这不是加拿大运输安全局因此不是 TeX Live 的一部分。(Rd.sty
它是随基础 R 包和二进制文件一起分发的,但据我所知不包含在任何 TeX 分发版中。)
TeX Live 默认配置为仅查看某些地方用于 TeX 内容。该链接提供了有关这些预定义 texmf 树的更多信息。LyX 建立在 TeX 发行版之上,因此它只知道在 TeX 发行版告诉它查找文件的位置进行查找。
可以更改 TeX 发行版将搜索的位置,这实际上是本文要讨论的内容问题,几乎重复。
但是,我建议对该问题采取一种与链接问题及其答案中讨论的解决方案不同的解决方案。
TeX Live 实际上提供了两个现成的 texmf 树,用于本地文件。这些 texmf 树由 TeX Live 变量 TEXMFLOCAL 和 TEXMFHOME 指定,这些变量将在下文中详细讨论这里。在这种情况下,我建议使用 TEXMFHOME 树,因为安装新版本的 TeX Live 时会覆盖 TEXMFLOCAL 文件夹。(请注意,使用 TEXMFLOCAL 实际上有优势,如果您点击链接,将会讨论这些优势。鉴于它自Rd.sty
诞生以来一直未进入 CTAN 和 TeX Live,我认为它不太可能进入 CTAN 和 TeX Live。在这种情况下,安装到 TEXMFLOCAL 的优势(如果您点击链接,将会讨论这些优势)被提出;安装到 TEXMFHOME 更有意义Rd.sty
。)
要“安装”Rd.sty
到 TEXMFHOME,只需创建一个符号链接(symlink)从Rd.sty
您计算机上的任何位置到您的 TEXMFHOME 文件夹。
如果你还没有创建 TEXMFHOME 文件夹(另请参阅我应该将自己的 .sty 或 .cls 文件放在哪里,以使它们可供我的所有 .tex 文件使用?),您可以执行以下操作,这将设置一个基本的 texmf 树,该树应该涵盖大多数用例和需求(当然,在最大程度上符合 TDS 的目录中还有更多目录)。
mkdir -p $(kpsewhich -var-value=TEXMFHOME)/{doc,generic,scripts,source} && \
mkdir -p $(kpsewhich -var-value=TEXMFHOME)/bibtex/{bib,bst} && \
mkdir -p $(kpsewhich -var-value=TEXMFHOME)/fonts/{afm,map,misc,pk,source,tfm,type1} && \
mkdir -p $(kpsewhich -var-value=TEXMFHOME)/tex/{context,generic,latex,plain,xelatex,xetex} && \
mkdir -p $(kpsewhich -var-value=TEXMFHOME)/tex/latex/biblatex/{bbx,cbx}
现在您已经设置了 TEXMFHOME 文件夹,您可以符号链接Rd.sty
到适当的位置。
如果你使用的是 Mac OS X,Rd.sty
则应该位于:
/Library/Frameworks/R.framework/Resources/share/texmf/tex/latex/Rd.sty
在我的 Ubuntu 14.04 机器上,Rd.sty
位于:
/usr/share/texmf/tex/latex/R/tex/latex/Rd.sty
您可能希望在尝试将其符号链接到 TEXMFHOME 之前检查该文件确实存在,您可以通过运行来执行此操作:
[ -f /usr/share/texmf/tex/latex/R/tex/latex/Rd.sty ] && ln -s /usr/share/texmf/tex/latex/R/tex/latex/Rd.sty $(kpsewhich -var-value=TEXMFHOME)/tex/latex/ || echo 'File does not exist'