【问题标题】:How to teach R find the texlive directory when using rstudio?使用rstudio时如何教R找到texlive目录?
【发布时间】:2013-07-03 01:00:09
【问题描述】:

我的操作系统是linux mint 15,最近安装的是texlive 2013,安装后将texlive的搜索路径追加到~/.bashrc

# set PATH
PATH=/usr/local/texlive/2013/bin/x86_64-linux:$PATH; export PATH

# set MANPATH
MANPATH=/usr/local/texlive/2013/texmf/doc/man:$MANPATH; export MANPATH

# set INFOPATH
INFOPATH=/usr/local/texlive/2013/texmf/doc/info:$INFOPATH; export INFOPATH

然后我可以在 xterm 上找到诸如 pdflatex 之类的 cmd。但是,当我想在 rstudio 中使用 pkg Sweave 时,它总是提示 没有检测到 Tex 安装。我通过Sys.getenv("PATH")检查了rstudio中的$PATH,发现texlive/目录没有附加到$PATH。所以我猜问题是Xsession的环境没有考虑~/.bashrc。如何解决这个问题。任何帮助将不胜感激。

【问题讨论】:

    标签: linux rstudio


    【解决方案1】:

    你是对的。 R Studio 在不关注通常启动脚本的 shell 中运行。据我所知,全局更改它们(对于所有用户)的适当位置是R_HOME/etc/Renviron.site,对于个人用户,$HOME/.Renviron。 (在我的系统上,R_HOME/usr/lib/R。)

    在 R Studio 控制台中运行 ?Startup 以获取更多详细信息。

    【讨论】:

    • 这是正确的,我认为 RStudio 不会检查 ~./profile。另请注意,您必须使用 {} 转义美元符号引用的变量,因此您要在 Renviron.site 末尾添加的行是:PATH=/usr/local/texlive/2013/bin/x86_64-linux:${PATH}
    【解决方案2】:

    我最近设置了一个像你这样的配置。

    最正确的解决方案是将这些行放入~/.profile(或/etc/profile,适用于所有用户,就像我一样);这样,所有进程都将继承该 PATH,而不仅仅是那些从 bash 派生的进程。

    【讨论】:

    • 是的,我已经通过在~/.Rprofile 中添加代码Sys.setenv(PATH=paste(Sys.getenv("PATH"),"/usr/local/texlive/2013/bin/x86_64-linux/",sep=":")) 解决了这个问题。谢谢。
    猜你喜欢
    • 2016-12-28
    • 2014-04-21
    • 1970-01-01
    • 2016-11-21
    • 2017-10-11
    • 1970-01-01
    • 2021-10-09
    • 1970-01-01
    • 2014-09-04
    相关资源
    最近更新 更多