【问题标题】:Trying to understand the workflow between latex, sweave and R试图了解 Latex、sweave 和 R 之间的工作流程
【发布时间】:2011-09-30 11:57:47
【问题描述】:

假设我编写了以下微小的 .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.sty 文件可能出现的常见错误 找不到。我用谷歌搜索并可以通过键入以下命令来解决问题 进入 Mac OS 终端:

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

我现在不明白的是latex包\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}吗?

【问题讨论】:

    标签: r latex sweave


    【解决方案1】:

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

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

    另外,您不需要在 Rnw 文件中包含 \usepackage{Sweave}; Sweave 会自动添加。

    【讨论】:

    • 您好,感谢您回答亚伦。您说路径 ~/Library/texmf/tex/latex 在安装时由 latex 自动设置,但为什么它不自动创建这个目录呢?非常感谢!
    • @user969113 如果它会创建这个路径,那么它一开始就是空的,看起来很浪费。有一些目录树用于 LaTeX(和其他 TeX 相关程序)搜索文件,您的用户树只是其中之一,并不是每个人都需要它。键入 kpsewhich --show-path=tex 以获取被搜索的路径列表。
    猜你喜欢
    • 2012-10-12
    • 1970-01-01
    • 1970-01-01
    • 2012-04-30
    • 1970-01-01
    • 2019-04-29
    • 1970-01-01
    • 1970-01-01
    • 2015-02-14
    相关资源
    最近更新 更多