1

我创建了一个闪亮的应用程序,用 knitr 和 rmarkdown 生成可下载的 pdf 报告。

我可以在 Rstudio 中生成报告,但是当我尝试从应用程序中生成报告时,我收到此错误:

2020-04-22T19:40:03.590795+00:00 shinyapps[2124372]: cannot setup TLPDB in /home/shiny/texmf at /usr/bin/tlmgr line 5604.
2020-04-22T19:40:03.593636+00:00 shinyapps[2124372]: Warning in system2("tlmgr", args, ...) :
2020-04-22T19:40:03.593638+00:00 shinyapps[2124372]:   running command ''tlmgr' search --file --global '/unicode-math.sty'' had status 2
2020-04-22T19:40:03.594869+00:00 shinyapps[2124372]: ! LaTeX Error: File `unicode-math.sty' not found.
2020-04-22T19:40:03.594871+00:00 shinyapps[2124372]: 
2020-04-22T19:40:03.594872+00:00 shinyapps[2124372]: ! Emergency stop.
2020-04-22T19:40:03.594873+00:00 shinyapps[2124372]: <read *> 
2020-04-22T19:40:03.594873+00:00 shinyapps[2124372]: 
2020-04-22T19:40:03.597624+00:00 shinyapps[2124372]: Warning: Error in : LaTeX failed to compile /tmp/RtmpDEOSFT/fileca7f657fa3.tex. See https://yihui.org/tinytex/r/#debugging for debugging tips. See fileca7f657fa3.log for more info.
2020-04-22T19:40:03.602043+00:00 shinyapps[2124372]:   [No stack trace available]

调试提示建议重新安装 tinytex,所以我尝试了一下。我还将 unicode-math.sty 单独下载到我闪亮的应用程序文件夹并重新部署,但都没有帮助。有什么建议么?

4

1 回答 1

1

我也遇到了同样的问题,找不到解决方案。请使用以下解决方案来解决此问题。

转到安装 tex 包的文件夹,该文件夹很可能位于 C:\Users\vksharma\AppData\Roaming\TinyTeX\texmf-dist\tex\latex\unicode-math。复制所有四个文件,即在此处输入图像描述

进入你的工作目录。然后编写以下代码,其中您已呈现降价 pdf:

      tempsty <- file.path(tempdir(), "unicode-math.sty")
      file.copy("unicode-math.sty", tempsty, overwrite = TRUE)
      tempxesty <- file.path(tempdir(), "unicode-math-xetex.sty")
      file.copy("unicode-math-xetex.sty", tempxesty, overwrite = TRUE)
      tempxesty1 <- file.path(tempdir(), "unicode-math-table.tex")
      file.copy("unicode-math-table.tex", tempxesty, overwrite = TRUE)
      tempxesty2 <- file.path(tempdir(), "unicode-math-luatex.sty")
      file.copy("unicode-math-luatex.sty", tempxesty, overwrite = TRUE)

它所做的基本上是将这些文件从您的工作目录复制到 shinyapps 服务器的临时目录,然后在呈现 markdown 时,它搜索这些包并安装它们。

快乐编码!

于 2020-08-07T12:25:36.533 回答