RStudio Sweave 错误 -> 退出代码 -1073740791

RStudio Sweave error -> exit code -1073740791

由于此错误消息,我在 RStudio 中 运行 我的 .rnw(我是 运行 Sweave)文件有问题:

Writing to file test.tex
Processing code chunks with options ...

You can now run (pdf)latex on 'test.tex'
Running pdflatex.exe on test.tex...failed
Error running C:/PROGRA~1/MiKTeX/miktex/bin/x64/pdflatex.exe (exit code -1073740791)

我默认安装了 MiKTeX,根据我在 PC 上看到的内容,我下载了 21.2 版。我一直在检查更新,没有任何新的更新。我使用新安装的 Windows 10 作为 OS 和新安装的 R、RStudio 和 MiKTeX。所以不应该与另一个 MiKTeX 版本有任何干扰。

当我使用以下代码在 RStudio 中检查我的 MiKTeX 的路径时: Sys.which("pdflatex") 然后我得到这个回复:

                                              pdflatex 
"C:\PROGRA~1\MiKTeX\miktex\bin\x64\pdflatex.exe" 

我也尝试在 Tools/Global 选项中启用 shell 转义命令,但这也不起作用。 我不知道这里可能出了什么问题。您知道如何解决这个问题吗?

感谢您的时间和精力。

我遇到了同样的问题,唯一的解决办法是卸载 MikTex 并安装 TinyTex。

tinytex::install_tinytex()

我在更新 MikTex 和 RStudio 后也遇到了这个问题。

pdflatex 日志显示 RStudio 首先调用 pdflatex --version 然后发生错误。我的结论是 RStudio 不喜欢这个答案。

编辑 2:

到目前为止,这似乎是正确的,我已将 MikTex 和 RStudio 更新到最新版本。

我猜想安装旧版本的 MikTex 是可行的,因为旧的 pdflatex returns RStudio 知道如何处理的版本消息。

我的解决方案是这样的:

  1. 在您的 R 目录中创建一个文件,pdflatex.cmd
  2. 在同一目录中创建一个文件rs.cmd(或您想要的任何其他名称)

这些文件是:

------------ pdflatex.cmd------------

@echo off
if %1 == --version goto version

pdflatex.exe %1 %2 %3 %4 %5 %6 %7 %8 %9    
goto :eof

:version
echo MiKTeX-pdfTeX 4.8 (MiKTeX 21.10)

------------ pdflatex.cmd --------------

返回的版本是“pdflatex --version”输出的第一行

------------ rs.cmd --------------

@echo off

rem Start RStudio with specific environment variables    
set RSTUDIO_PDFLATEX=pdflatex.cmd    
set PATH=%PATH%;"C:\Program Files\RStudio\bin\";..
start /D "C:\Program Files\RStudio\" rstudio.exe

------------ rs.cmd --------------

要使用它,请使用 rs 命令启动 RStudio。

现在,单击 'Compile PDF' 按钮成功 运行s 并编译 pdf 并在查看器中打开它。

有一些限制:

  • 之前的项目环境没有完全恢复;您可能需要重新打开一些文件。
  • pdflatex 命令的输出未被 RStudio 捕获。如果你有乳胶错误,你可能需要在命令 shell 中 运行 pdflatex 来检查它们。

当然,真正的答案是让 RStudio 正确处理“--version”响应,但这现在对我有用。

富有