2011-09-30 71 views
3

之间的工作流程比方说,我写了下面的小.Rnw文件:试图了解乳胶,sweave和R

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

<<>>= 
sessionInfo() 
@ 

\end{document} 

然后我可以去R和使用sweave翻译的.Rnw文件成.tex文件 完成此操作后,可以调用乳胶解释器,因为我使用了乳胶知道如何处理sweave特定的代码标签。 当我第一次做这个程序时,我得到了Sweave.sty文件可能不存在的常见错误 。我一派,可以通过键入以下命令 到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 /库/框架/ R .framework/Resources/share/texmf Sweave_Link

在.Rnw文件中,我必须使用那么\usepackage{Sweave_Link}

回答

3

安装LaTeX时会自动设置该路径;它是您的个人texmf树,您可以放置​​任何您希望LaTeX在其中找到的样式或类文件。目录名不重要,它在它们中递归地搜索Sweave.sty。因此,将目录链接更改为Sweave_Link应该没有关系。

你可以通过运行kpsewhich Sweave.sty来测试它,它在所有texmf树中查找所需的文件。

此外,您不需要在Rnw文件中有\usepackage{Sweave}; Sweave会自动添加它。

+0

你好,谢谢你回答亚伦。你说,安装路径〜/ Library/texmf/tex/latex是由latex自动设置的,但为什么不自动创建这个目录呢?非常感谢! – user969113

+0

@ user969113如果它会创建这条路径,它将是空的开始,这看起来很浪费。有一些目录树在LaTeX(和其他TeX相关的程序)搜索文件,你的用户树只是其中之一,并不是每个人都需要它。输入'kpsewhich --show-path = tex'获取搜索到的路径列表。 –

+0

好吧,这听起来合乎逻辑:)感谢您的意见! – user969113