2

我在编译一个简单的 Rmarkdown 文件时遇到问题,我对解决方案一无所知。这是问题所在:

我要编译的文件

这是一个没有 R 代码的简单文档,只有文本。在标题中:标题、作者、日期和output: pdf_document.

软件包是如何安装的

我安装了软件包rmarkdowntinytex使用install.packages("tidyverse"). TinyTex(发行版)是这样安装的:tinytex::install_tinytex().

错误

> rmarkdown::render("~/document.Rmd", "pdf_document")


processing file: document.Rmd
  |........................................................................| 100%
  ordinary text without R code


output file: document.knit.md

/usr/lib/rstudio/bin/pandoc/pandoc +RTS -K512m -RTS document.utf8.md --to latex --from markdown+autolink_bare_uris+tex_math_single_backslash --output document.tex --lua-filter /home/rik/R/x86_64-pc-linux-gnu-library/4.0/rmarkdown/rmarkdown/lua/pagebreak.lua --lua-filter /home/rik/R/x86_64-pc-linux-gnu-library/4.0/rmarkdown/rmarkdown/lua/latex-div.lua --self-contained --highlight-style tango --pdf-engine pdflatex --variable graphics --variable 'geometry:margin=1in' 
tlmgr: package repository https://ctan.dcc.uchile.cl/systems/texlive/tlnet (verified)
tlmgr install: package already present: latex
tlmgr install: package already present: latex-base-dev
! LaTeX Error: File `article.cls' not found.

! Emergency stop.
<read *> 

Erro: LaTeX failed to compile document.tex. See https://yihui.org/tinytex/r/#debugging for debugging tips. See document.log for more info.
Além disso: Warning message:
In has_crop_tools() : 
Tool(s) not installed or not in PATH: pdfcrop, ghostcript
-> As a result, figure cropping will be disabled.

文档日志

This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020) (preloaded format=pdflatex 2021.3.6)  6 MAR 2021 13:05
entering extended mode
 restricted \write18 enabled.
 %&-line parsing enabled.
**document.tex
(./document.tex
LaTeX2e <2020-10-01> patch level 4
L3 programming layer <2021-02-18>

! LaTeX Error: File `article.cls' not found.

Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: cls)

Enter file name: 
! Emergency stop.
<read *> 
         
l.7 \usepackage
               {lmodern}^^M 
Here is how much of TeX's memory you used:
 22 strings out of 480971
 456 string characters out of 5907552
 278620 words of memory out of 5000000
 17342 multiletter control sequences out of 15000+600000
 403430 words of font info for 27 fonts, out of 8000000 for 9000
 14 hyphenation exceptions out of 8191
 32i,0n,39p,87b,13s stack positions out of 5000i,500n,10000p,200000b,80000s

!  ==> Fatal error occurred, no output PDF file produced!

#1 尝试:重新安装tinytex

我尝试卸载 ( tinytex::uninstall_tinytex()),再次安装 ( tinytex::install_tinytex()) 并重新安装 ( tinytex::reinstall_tinytex()),但错误仍然存​​在。

#2 尝试:安装lmodern

虽然tinytex::check_installed("lm") == TRUE,我尝试lmoden使用tinytex::tlmgr_install("lmodern").

安装

> tinytex::tlmgr_install("lmodern")
tlmgr install lmodern
tlmgr: package repository https://ctan.dcc.uchile.cl/systems/texlive/tlnet (verified)
tlmgr install: package lmodern not present in repository.
tlmgr: action install returned an error; continuing.
tlmgr: An error has occurred. See above messages. Exiting.
tlmgr update --self
fmtutil [WARNING]: You seem to have no formats defined in your fmtutil.cnf files!
tlmgr install lmodern
tlmgr: package repository https://ctan.dcc.uchile.cl/systems/texlive/tlnet (verified)
tlmgr install: package lmodern not present in repository.
tlmgr: action install returned an error; continuing.
tlmgr: An error has occurred. See above messages. Exiting.

搜索

rik@arch ~ : sudo find / -regex ".*lmodern.sty"
/home/rik/.TinyTex/texmf-dist/tex/latex/lm/lmodern.sty

环境

sessionInfo()

R version 4.0.4 (2021-02-15)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Arch Linux

Matrix products: default
BLAS:   /usr/lib/libblas.so.3.9.0
LAPACK: /usr/lib/liblapack.so.3.9.0

locale:
 [1] LC_CTYPE=pt_BR.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=pt_BR.UTF-8        LC_COLLATE=pt_BR.UTF-8    
 [5] LC_MONETARY=pt_BR.UTF-8    LC_MESSAGES=pt_BR.UTF-8   
 [7] LC_PAPER=pt_BR.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=pt_BR.UTF-8 LC_IDENTIFICATION=C       

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

定义的环境变量没有.bash_profile

export PATH=$PATH:$HOME/.local/appimages:$HOME/bin:$HOME/.local/bin

export XDG_DATA_HOME="$HOME/.local/share"
export XDG_CONFIG_HOME="$HOME/.config"
export XDG_CACHE_HOME="$HOME/.cache"

export TEXMFDIST=/usr/share/texmf-dist

一些观察

  • 我在全新安装 Arch Linux 时遇到了这个问题(已安装 wget)
  • 我总是以这种方式安装rmarkdowntinytex即使在 Arch 上也是如此,而且每次都运行良好。
  • 我在 Windows 机器和 Ubuntu 机器上进行了尝试,它按预期工作。
  • RStudio 上的 knit 按钮也不起作用
4

1 回答 1

2

有两件事要尝试:

  • 如果您texlive-latexextra从 arch repos 安装会发生什么?我猜您正在尝试避免这种情况,因为您正在使用tinytex; 我问的原因是因为乳胶似乎在系统目录中查找。
  • 如果可行,请尝试TEXMFDIST.bashrc.
于 2021-03-06T19:40:03.663 回答