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

标签 r latex rstudio knitr pdflatex

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

"Running pdflatex.exe on testdoc.tex...failed Error running C:/Users/myusername/AppData/Local/Programs/MiKTeX/miktex/bin/x64/pdflatex.exe (exit code -1073740791)"
OR C:/PROGRA~1/MiKTeX/miktex/bin/x64/pdflatex.exe


我的文件名为 testdoc.Rnw 并包含:
\documentclass{article}

\begin{document}
some text
\end{document}
  • 我已经卸载并重新安装了 MiKTeX、R 和 Rstudio
    尝试用户和管理员。 (我的所有版本都是截至 2/19/2021 的最新版本)
  • 无论我使用用户模式还是管理员模式都会出现此问题。
  • 错误中给出的路径是正确的。
  • 我输入 Sys.which("pdflatex") 时的路径是正确的。
  • 没有创建日志文件。它只是到达它尝试运行 pdflatex 并给出错误的部分。
  • 我可以构建和查看使用 TeX Studio 生成的 .tex 文件。
  • 我的 MiKTeX 控制台已更新。
  • 我在选项中选择了“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  
    
    对于“路径”的环境变量(我尝试在系统级别更改它们)我尝试过 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通过
    其管理控制台:设置 -> 目录 [Tab] 点击 +在那里签名并添加该路径(如链接的答案中所述,不要沿着路径走得比 texmf 更远——例如,从那里进入 tex 文件夹左右)。
    我认为这至少应该给你机会 > pdflatex testdoc.tex [终端中的此命令 - 假设您位于包含 testdoc.tex 的文件夹中RStudio 应该从 testdoc.Rnw 创建的和 pdlatex可以通过您的路径找到]。
    至于其余部分(即让 RStudio 正确编织一个没有 tinytex 的 Sweave .Rnw 文档),通过点击那里的“编译 PDF”在 RStudio 中 - 我确实有一种强烈的感觉,你在那里发现了一个错误。我只是不完全确定应该通知哪些维护者(RStudio 的维护者或 MiKTeX 的维护者)。可能更好的主意,即更有效地将其发布给 RStudio 人员,因为他们在那里有更多资源可以与 edocevoli 取得联系。 (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)

    关于r - 从 RStudio 运行 pdflatex 时出错 - 更新后无法编译 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66285654/

    相关文章:

    r - 是什么导致我的 R 脚本文本消失?

    rstudio - 如何使用 Rcpp 关闭 Rstudio 中的 CLANG 诊断?

    r - 向条形图添加标签?

    r - 颜色树状图基于外部标签向根分支,直到标签匹配

    latex - 具有多列的自定义表格

    latex - 打印 LaTeX 变量

    r-markdown - 在 RStudio 中是否有将文本包装为 RMarkdown 文件中的代码块的快捷方式?

    r - 用 R 计算每月返回

    在R中读取多个csv文件

    latex - 如何在 LaTeX 文章中进行完全对齐?