【问题标题】:Set path to miktex for pdflatex in R在 R 中为 pdflatex 设置 miktex 的路径
【发布时间】:2019-01-19 17:00:26
【问题描述】:

我一直在尝试让 pdflatex 使用正确版本的 miktex,但没有成功。

我已将 R 路径设置为 Miktex 2.9 的正确位置,并验证它是否适用:

Sys.getenv("PATH")
"C:\\Program Files\\MiKTeX 2.9\\miktex\\bin\\x64\\pdflatex;..." 

但是,当我查看 pdflatex 正在使用的 miktex 版本时:

Sys.which("pdflatex")
"C:\\PROGRA~1\\MIKTEX~1.9\\miktex\\bin\\x64\\pdflatex.exe"

这个 1.9 路径指向一个甚至不再存在的旧版本的 miktex。

在命令提示符下运行 pdflatex 返回正确的路径,所以问题出在 R 中。如何让 R 使用正确的 pdflatex 路径?

【问题讨论】:

  • 我知道这是一个旧线程,但您的 PATH 环境中的路径包含一个额外的“pdflatex”,可能会导致此问题

标签: r latex r-markdown pdflatex


【解决方案1】:

您可以尝试几种解决方案:

  1. Disable the "Enable shell escape commands" in Tools > Global Options > Sweave

  2. 根据 answer 手动设置路径。每次重新启动 RStudio 时都必须运行它。

     Sys.setenv(PATH = paste(Sys.getenv("PATH"), "C:/Program Files/MiKTeX 2.9/miktex/bin/x64", sep=.Platform$path.sep))
    
  3. 将以下行放入文件夹R_HOME/etc 中的Renviron.site 中,其中R_HOMESys.getenv("R_HOME") 返回的路径。 Ref

     PATH=C:/Program Files/MiKTeX 2.9/miktex/bin/x64:"${PATH}"
    
  4. 安装tinytex 包。 请注意,您应该使用 MiKTeX 或 tinytex,但不能同时使用两者。如果您都安装了,易会建议您在这种情况下删除 MiKTeX。 Ref

您可能需要在每次更改后重新启动 R/RStudio 甚至您的 PC/笔记本电脑,看看它是否有效

【讨论】:

  • 感谢您的详细解答!遗憾的是,这些解决方案都不起作用。我在每次测试之间重新启动了 R 和我的计算机。如果我设置路径(手动或通过 Renviron.site)然后在命令提示符下(即在 R 之外)找到 miktex 的正确路径,但在 R Sys.which("pdflatex") 中仍然指的是旧的不存在小路。我也无法卸载 MikTex,因为我需要它用于其他项目。
  • @clairekelley:你可以同时使用tinytex 和 MiKTeX。我也在我的 Windows PC 上同时使用它们
  • 如果没有任何效果,那么您可能应该考虑卸载/重新安装 R、RStudio 和 MikTeX
  • 我做了所有事情(包括重新安装)。不幸的是仍然没有工作。 R 仍然指向不存在的 1.9。
  • @claairekelley 你有没有解决这个问题?!如果(已解决)你是怎么做到的?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-23
  • 2013-02-08
  • 2016-02-12
  • 2015-04-09
  • 1970-01-01
  • 2018-03-15
  • 2012-03-25
相关资源
最近更新 更多