TeX软件包未在R 3.1.0版中安装

时间:2014-06-16 08:28:39

标签: r knitr rstudio

我正在尝试使用knitr包从.Rnw文件生成pdf。 请在下面找到sessioninfo()的输出

R version 3.1.0 (2014-04-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252   
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C                          
[5] LC_TIME=English_United States.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] knitr_1.6

loaded via a namespace (and not attached):
[1] evaluate_0.5.5 formatR_0.10   stringr_0.6.2  tools_3.1.0 

我已安装knitr但无法编译.Rnw文件中的代码。 有一个弹出窗口说"没有检测到TeX安装。请在编译之前安装TeX"。但是,无法为此版本的R安装TeX和pdfLaTeX,因此会出现一条警告消息,指出TeX或pdfLaTex不可用。

提前致谢。

3 个答案:

答案 0 :(得分:5)

为方便起见,installr R包是一种非常方便的方式来安装TeX - 以及一些其他有用的东西。只需运行installr::installr()并选择MikTeX(至少)。 (不确定它是否适用于非Windows。)

答案 1 :(得分:4)

将我的评论包含在答案中。 knitr使用pdflatex生成pdf。 pdflatex是TeX / LaTeX安装的一部分,它不是R包,不能使用R终端安装(至少在本地,因为installr实际上可以这样做,如@Gregor所示)。

您需要在计算机上安装TeX才能与knitr一起正常使用。有几个选项,Windows为Miktex或Linux为TexLive

查看knitr附带的minimal example。它以\documentclass{article}开头,这是TeX文件的典型第一行。

最后一点,R markdown可以使用pandoc生成HTML,因此它不需要TeX,如果您不想使用TeX / LaTeX,可能是一个不错的选择。

答案 2 :(得分:4)

第1步:从http://miktex.org/2.9/setup

下载并安装MiKTeX

第2步:运行

Sys.getenv("PATH") 

在R studio中此命令返回Rstudio尝试查找pdflatex.exe的路径在Windows(64位)中它应返回C:\ Program Files \ MiKTeX 2.9 \ miktex \ bin \ x64 \ pdflatex.exe如果pdflatex .exe不在此位置,Rstudio提供此错误代码41。

步骤3:设置此路径变量:

Sys.setenv(PATH=paste(Sys.getenv("PATH"),"C:/Program Files/MiKTeX 2.9/miktex/bin/x64/",sep=";"))