将TeX路径添加到R Studio - Ubuntu

时间:2015-06-02 16:08:57

标签: path ubuntu-14.04 tex sweave

我遇到与this question相同的问题:

当我打开任何.Rnw文件时,R Studio表示我没有安装TeX Distribution:我使用Ubuntu 14.04 w / Gnome和TeXLive 2014。

我在Renviron.site文件中包含行PATH=/usr/local/texlive/2014/bin:${PATH},现在看起来像:

##                      Emacs please make this -*- R -*-
## empty Renviron.site for R on Debian
##
## Copyright (C) 2008 Dirk Eddelbuettel and GPL'ed
##
## see help(Startup) for documentation on ~/.Renviron and Renviron.site

# ## Example ~/.Renviron on Unix
# R_LIBS=~/R/library
# PAGER=/usr/local/bin/less

# ## Example .Renviron on Windows
# R_LIBS=C:/R/library
# MY_TCLTK="c:/Program Files/Tcl/bin"

# ## Example of setting R_DEFAULT_PACKAGES (from R CMD check)
# R_DEFAULT_PACKAGES='utils,grDevices,graphics,stats'
# # this loads the packages in the order given, so they appear on
# # the search path in reverse order.

PATH=/usr/local/texlive/2014/bin:${PATH}

然而问题仍然存在。我该如何解决这个问题并运行Sweave或knitR?

2 个答案:

答案 0 :(得分:2)

如果有人遇到同样的问题,我打开R Studio并使用

检查pdflatex安装
> Sys.which("pdflatex")
pdflatex 
  "" 

这表明它实际上是空的,所以我运行命令Sys.getenv("PATH")来检查当前路径:

Sys.getenv("PATH")
[1]   "/usr/local/texlive/2014/bin:/usr/local/texlive/2014/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

要添加我的pdflatex路径,我必须在texlive目录中找到pdflatex文件,该文件是/usr/local/texlive/2014/bin/x86_64-linux,然后我将其添加到我当前的路径中:

> Sys.setenv(PATH=paste(Sys.getenv("PATH"),"/usr/local/texlive/2014/bin/x86_64-linux",sep=":"))

现在它完美无缺

编辑:上述解决方案仅适用于打开的会话,并且只是临时的,您必须在每次打开新会话时运行代码。我还在努力找到一个永久的解决方案

答案 1 :(得分:1)

请参阅此页:Customizing Startup,修改此文件/usr/lib/R/etc/Rprofile.site,并将您的代码放入此文件中。它看起来像是一个永久的解决方案。

===

我看到这个文件/etc/environmentSys.getenv("PATH")的输出相同,所以我认为sys.getenv(" PATH")读取文件/etc/environment

因此,更好的方法是修改此文件/etc/environment,添加此代码:/usr/local/texlive/2017/bin/x86_64-linux​

在我做完之后,我尝试了source /etc/envronment并重新启动了Rstudio,但它没有用。

最后重启我的ubuntu系统后才有意义。 ^ _ ^

我希望我的英语表达能力不够清晰。