诊断R程序包生成错误:pdfLatex不可用

诊断R程序包生成错误:pdfLatex不可用,r,packaging,pdflatex,R,Packaging,Pdflatex,我正在尝试在R中构建一个包。我制作了骨架,并运行命令rcmdcheckpackage1。我得到一个错误描述。 我遵循解决方案步骤,结果如下: 软件包devtools不适用于R 2.15.1 打孔R CMD Rd2pdf包装1 我查阅了其他资料,安装了完整的tex live&MiKTeX。显示了相同的错误消息 我导航到pdflatex所在的目录,并尝试从那里运行该命令。没有帮助 这里有我遗漏的东西吗,或者有解决办法吗?或者,有没有一种方法可以在包创建期间抑制pdf生成 更新:我在LINUX(Cen

我正在尝试在
R
中构建一个包。我制作了骨架,并运行命令
rcmdcheckpackage1
。我得到一个错误描述。 我遵循解决方案步骤,结果如下:

  • 软件包
    devtools
    不适用于
    R 2.15.1

  • 打孔
    R CMD Rd2pdf包装1

  • 我查阅了其他资料,安装了完整的tex live&MiKTeX。显示了相同的错误消息
  • 我导航到pdflatex所在的目录,并尝试从那里运行该命令。没有帮助
  • 这里有我遗漏的东西吗,或者有解决办法吗?或者,有没有一种方法可以在包创建期间抑制pdf生成


    更新:我在LINUX(CentOS)中尝试时未引发此错误。

    尽管您已在Windows下安装了MikTeX,但这不会使R可用。您需要将latex可执行文件的位置添加到PATH环境变量中。如何做到这一点完全取决于您的Windows版本。例如,介绍了如何在Windows 7上执行此操作。搜索
    更改环境变量(windows 7 | windows xp | windows 95)
    将告诉您如何更改环境变量。

    您当然可以禁止生成PDF

    R CMD check package --no-manual
    

    只需按照此视频的说明在windows上安装MikTex即可:

    我也有类似的问题,pdfLatex不可用。以这种方式安装MikTex后,在使用knitr创建pdf时,可以解决诸如“pandoc.exe:pdflatex未找到。pdf输出需要pdflatex。错误:pandoc文档转换失败,错误为41”之类的错误

    安装文件可从以下位置下载:


    步骤1:从下载并安装MiKTeX

    第二步:跑步

    Sys.getenv("PATH") 
    
    在R工作室 此命令返回Rstudio试图查找pdflatex.exe的路径 在windows(64位)中,它应返回C:\Program Files\MiKTeX 2.9\MiKTeX\bin\x64\pdflatex.exe 如果pdflatex.exe不在此位置,Rstudio将给出此错误代码41

    步骤3:要设置此path变量,请运行:

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

    我最近也收到了同样的问题。对我来说,有效的方法是安装
    texlivefont-extra
    。这适用于Docker-base映像,也适用于Ubuntu


    在CentOS中,软件包系统不同,您可能需要安装更多与latex相关的软件包()。

    PATH环境变量具有latex可执行文件的位置。当我安装texlive时,它自动发生了。但是错误仍然存在。您已经安装了两个Latex发行版,第一个是MikTex,然后是Texlive?我安装了MikTex并试用了它。没用。我卸载了它并安装了Texlive。不起作用。给定的链接重定向到一个不相关的新闻网站谢谢,对于我来说,上一个miktex版本(20.6.29-)是
    Sys.setenv(PATH=paste(Sys.getenv(“PATH”),“C:/Users/MY_USER_NAME/AppData/Local/Programs/miktex/miktex/bin/x64”,sep=“;”)
    这个解决方案在Ubuntu 20.04和R4.0.3上对我有效。我使用了以下命令:
    sudo apt install texlive字体extra
    Sys.setenv(PATH=paste(Sys.getenv("PATH"),"C:/Program Files/MiKTeX 2.9/miktex/bin/x64/",sep=";"))