RStudio使用Sweave配合TinyTex编译PDF出现LaTeX报错咨询
R Sweave配合TinyTex编译失败解决方案
- 先确认R调用的LaTeX路径是否匹配TinyTex
在R控制台执行命令Sys.which("pdflatex"),如果输出结果不是你安装的TinyTex对应路径,说明R调用了系统自带的其他pdflatex版本,没有识别到你配置的TinyTex。此时执行tinytex::use_tinytex(force = TRUE)强制绑定路径,重启RStudio后重新尝试编译。 - 开启详细编译日志定位具体错误
默认TinyTex返回的报错信息过于简略,在R控制台执行options(tinytex.verbose = TRUE)后重新编译,会输出完整的LaTeX编译日志,可以直接定位到是缺包、编码还是路径配置类的具体问题。 - 手动调用TinyTex编译生成的tex文件
在R控制台执行tinytex::pdflatex("Path/Example.tex"),如果该命令能正常生成PDF,说明故障出在RStudio的Sweave默认编译配置。可以进入RStudio全局选项的「Sweave」选项卡,将默认PDF编译引擎修改为XeLaTeX或LuaLaTeX后重试。 - 排查路径与编码问题
确认你的Rnw文件存储路径、输出路径中没有中文、空格或特殊字符,TinyTex对非ASCII路径的兼容性较差,将文件迁移到全英文无空格的路径下再尝试编译。 - 备用编译方案
绕开RStudio默认编译流程,直接在R控制台执行knitr::knit2pdf("Example.Rnw", compiler = "xelatex"),手动指定knitr调用TinyTex的编译引擎生成PDF。
内容的提问来源于stack exchange,提问作者Steve K
相关产品推荐
相关产品推荐

