RMarkdown生成PDF报错:Undefined control sequence \cs_new:Npe
解决RMarkdown+TinyTeX生成PDF时
\cs_new:Npe未定义错误 这个错误是LaTeX的expl3/color包版本不兼容导致的,\cs_new:Npe属于LaTeX3的命令,要么是TinyTeX里的相关包太旧,要么是包文件损坏,试试下面的修复步骤:
强制更新所有TinyTeX包
打开R控制台运行这行命令,把所有LaTeX包更新到最新版本:tinytex::tlmgr_update(all = TRUE)彻底重置TinyTeX(更新无效时使用)
如果更新后问题依旧,直接重装TinyTeX,清空旧的损坏文件:tinytex::uninstall_tinytex() tinytex::install_tinytex()手动加载依赖包
查看生成的.tex文件开头,要是没加载expl3或xparse,就在RMarkdown的YAML头部添加自定义头文件配置:output: pdf_document: includes: in_header: preamble.tex然后在同目录下创建
preamble.tex文件,写入以下内容:\usepackage{expl3} \usepackage{xparse}用极简文档验证环境
用最基础的RMarkdown文件测试,排除文档内容的干扰:--- title: "Test" output: pdf_document --- 测试内容。
额外排查点:
- 检查RStudio的编译工具是否指向TinyTeX:依次点击
Tools > Global Options > Sweave,确认PDF编译工具选择的是TinyTeX。 - 查看系统中是否存在其他LaTeX发行版(如TeX Live、MiKTeX),暂时卸载这些发行版避免路径冲突。
内容的提问来源于stack exchange,提问作者carusis
相关产品推荐
相关产品推荐

