试图了解乳胶,sweave和R之间的工作流程

时间:2011-09-30 11:57:48

标签: r latex sweave

假设我写了以下微小的.Rnw文件:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{Sweave}
\usepackage{tikz}
\usepackage{pgf}
\begin{document}

<<>>=
sessionInfo()
@ 

\end{document}

然后我可以转到R并使用sweave将.Rnw文件转换为.tex文件 一旦完成,可以调用乳胶解释器,因为我使用过 \usepackage{Sweave} Latex知道如何处理特定于sweave的代码标记。 当我第一次执行此过程时,我得到了Sweave.sty文件可能出现的常见错误 找不到。我用Google搜索并可以通过键入以下命令来解决问题 进入Mac OS终端:

mkdir -p ~/Library/texmf/tex/latex 
cd ~/Library/texmf/tex/latex 
ln -s /Library/Frameworks/R.framework/Resources/share/texmf Sweave 

我现在不明白的是乳胶包装\usepackage{Sweave}如何知道它 必须查看〜/ Library / texmf / tex / latex才能找到Sweave.sty文件的符号链接? 如果我更改以下行会发生什么:

ln -s /Library/Frameworks/R.framework/Resources/share/texmf Sweave

ln -s /Library/Frameworks/R.framework/Resources/share/texmf Sweave_Link

在.Rnw文件中我是否必须使用\usepackage{Sweave_Link}

1 个答案:

答案 0 :(得分:3)

安装LaTeX时会自动设置该路径;它是你的个人texmf树,你可以把你希望LaTeX找到的任何样式或类文件放在那里。目录名称无关紧要,它以递归方式搜索Sweave.sty。因此,将目录链接更改为Sweave_Link无关紧要。

您可以通过运行kpsewhich Sweave.sty来测试这一点,\usepackage{Sweave}在所有texmf树中查找所需文件。

此外,您不需要在Rnw文件中包含{{1}}; Sweave会自动添加它。