微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 RStudio 运行 pdflatex 时出错 - 更新后无法编译 pdf

如何解决从 RStudio 运行 pdflatex 时出错 - 更新后无法编译 pdf

我正在尝试在 RStudio 中使用 knitr 来制作 pdf(使用 pdflatex/MiKTeX)。我在 Windows 10 机器上。在我本月(2021 年 2 月)更新 R、RStudio 和 MikTeX 之前,这一切正常。我收到一条错误消息,提示

"在 testdoc.tex 上运行 pdflatex.exe...失败 运行 C:/Users/myusername/AppData/Local/Programs/MiKTeX/miktex/bin/x64/pdflatex.exe 时出错(退出代码 -1073740791)"
要么 C:/PROGRA~1/MiKTeX/miktex/bin/x64/pdflatex.exe

我的文件名为 testdoc.Rnw 并包含:

\documentclass{article}

\begin{document}
some text
\end{document}
  1. 我已经卸载并重新安装了 MiKTeX、R 和 Rstudio 尝试用户管理员。 (我的所有版本都是截至 2021 年 2 月 19 日的最新版本)
  2. 无论我使用用户模式还是管理员模式,都会出现此问题。
  3. 错误中给出的路径是正确的。
  4. 输入 Sys.which("pdflatex") 时的路径是正确的。
  5. 未创建日志文件。它只是到达它尝试运行 pdflatex 并给出错误的部分。
  6. 我可以构建和查看使用 TeX Studio 生成的 .tex 文件
  7. 我的 MiKTeX 控制台已更新。
  8. 我在选项中选择了“knitr”,并尝试选中和取消选中大多数复选框。关闭和打开并重新启动。

我不想切换到 TinyTeX。 我已经尝试了在 Rstudio 和堆栈溢出帖子中可以找到的所有建议。我看过日志文件。我注意到我不是唯一一个遇到这个问题的人,但其他人似乎都有不同的错误编号。请帮忙。

这是 sessionInfo()输出

R version 4.0.4 (2021-02-15)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 16299)

Matrix products: default

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     

loaded via a namespace (and not attached):
[1] compiler_4.0.4 tools_4.0.4  

对于“path”的环境变量(我尝试在系统级别更改它们),我尝试了 C:\PROGRA~1\MiKTeX\miktex\bin\x64\C:\Users\myusername\AppData\Local\Programs\MiKTeX\miktex\bin\x64\。我还尝试以管理员和我的用户身份运行。好像没什么区别。

我刚刚根据评论注意到 Sys.which("pdftex")Sys.which("pdflatex") 都返回相同的内容,但我不知道这是否重要。

我可以在 texstudio 或命令行中使用 tex 文件创建 pdf。这是在命令行中运行它的输出

This is pdfTeX,Version 3.141592653-2.6-1.40.22 (MiKTeX 21.2)
entering extended mode
(testdoc.tex
LaTeX2e <2020-10-01> patch level 4
L3 programming layer <2021-02-18> xparse <2020-03-03>
(C:\Program Files\MiKTeX\tex/latex/base\article.cls
Document Class: article 2020/04/10 v1.4m Standard LaTeX document class
(C:\Program Files\MiKTeX\tex/latex/base\size10.clo))
(C:\Program Files\MiKTeX\tex/latex/graphics\graphicx.sty
(C:\Program Files\MiKTeX\tex/latex/graphics\keyval.sty)
(C:\Program Files\MiKTeX\tex/latex/graphics\graphics.sty
(C:\Program Files\MiKTeX\tex/latex/graphics\trig.sty)
(C:\Program Files\MiKTeX\tex/latex/graphics-cfg\graphics.cfg)
(C:\Program Files\MiKTeX\tex/latex/graphics-def\pdftex.def)))
(C:\Program Files\MiKTeX\tex/latex/graphics\color.sty
(C:\Program Files\MiKTeX\tex/latex/graphics-cfg\color.cfg))
(C:\Users\myusername\AppData\Roaming\MiKTeX\tex/latex/framed\framed.sty)
(C:\Program Files\MiKTeX\tex/latex/base\alltt.sty)
(C:\Users\myusername\AppData\Roaming\MiKTeX\tex/latex/upquote\upquote.sty)
(C:\Program Files\MiKTeX\tex/latex/l3backend\l3backend-pdftex.def)
No file testdoc.aux.
(C:\Program Files\MiKTeX\tex/context/base/mkii\supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
) (C:\Program Files\MiKTeX\tex/latex/epstopdf-pkg\epstopdf-base.sty) [1{C:/User
s/myusername/AppData/Local/MiKTeX/pdftex/config/pdftex.map}] (testdoc.aux) )<C:/Pro
gram Files/MiKTeX/fonts/type1/public/amsfonts/cm/cmr10.pfb>
Output written on testdoc.pdf (1 page,12954 bytes).
Transcript written on testdoc.log.

解决方法

好的,根据您目前的意见,我猜您正在目睹这个“问题”Latex Error: 'Sweave.sty' not found? 的变体。
所以我的第一次尝试是让 MiKTeX 知道额外的 texmf 文件夹,即 R_HOME/share/texmf via
它的管理控制台:设置 -> 目录 [Tab] 点击 + 符号并在那里添加该路径(如链接答案中所述,不要沿着路径比 texmf 更远 - 例如进入 {{1 }} 文件夹左右)。

我认为这至少应该让您有机会 tex [终端中的这个命令 - 假设您位于包含 > pdflatex testdoc.tex 的文件夹中,RStudio 应该从 {{1} 创建} 和 testdoc.tex 可以通过您的 PATH] 找到。

就其余部分而言(即,通过在 RStudio 中单击“编译 PDF”,使 RStudio 正确编织一个没有 tinytex 的 Sweave .Rnw 文档) - 我确实有一种强烈的感觉,您在那里发现了一个错误。我只是不完全确定应该通知哪些维护者(RStudio 的维护者或 MiKTeX 的维护者)。可能是更好的主意,即更有效地将其发布给 RStudio 人员,因为他们在那里有更多资源可以与 testdoc.Rnw(MiKTeX 维护者)联系,以防万一。

这里分别是我要找的骗子……https://tex.stackexchange.com/questions/582041/r-sweave-does-not-compile-to-pdf 一个相当不令人满意的临时 solution 降级 MiKTeX 而不更新包(可能是这个问题的最早版本:https://tex.stackexchange.com/questions/582041/r-sweave-does-not-compile-to-pdf

@Ben Elizabeth Ward - 我创建了一张带有 RStudio 链接(有点重新打开)到与“tinytex”相关的先前问题的票证 - 这里不涉及 imo(参见:#9019

,

我在帖子中提到了同样的问题。我个人使用以下程序:

  1. Miktex 和 Tekmaker
  2. 致力于 W10
  3. R 和 R Studio

我也使用 RSweave,我无法使用“编译 PDF”按钮(使用 knitr)来生成相应的 pdf 文件,但是如果创建了 .tex 文件,但是,如果您打开 Textmaker 并从那里运行 .tex 文件,它将成功生成 pdf 文件。

尝试编译pdf时控制台中显示的错误是:

运行错误 C:/Users/Daniel/AppData/Local/Programs/MiKTeX/miktex/bin/x64/pdflatex.exe(退出代码 -1073740791)

否则,Sys.which ("pdftex") 和 Sys.which ("pdflatex") 命令会显示正确的路径。

我也尝试过多次重新安装,但无济于事。我将安装旧版本的 Miktex,我会被告知结果。 '

(编辑)

你好,正如我上面提到的,我会对结果发表评论。

我安装了旧版本的 Miktex,特别是 20.10。过程是这样的:

  1. 我卸载了 Miktex(最新版本)
  2. 我重新启动了
  3. 我安装了 20.10 版
  4. 我重新启动了
  5. 它奏效了,我可以使用 Rsweave 从 Rstudio 生成我的 pdf 文件。

您好,我希望这个解决方案能为您服务(至少在他们在未来版本中纠正错误之前)

PS:我想这是一个 miktex 错误(我不是该主题的专家),因为在研究时我发现 pdflatex.exe 无法访问在 Miktex 中指定的日志文件的写入的错误。这是我的经验,运气!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。