安装最新版R/RStudio/rticle后编译失败,LaTeX报\gather命令重复定义
解决rticle包编译MDPI模板时的LaTeX冲突问题
环境信息
- R版本:4.2.2(2022-10-31 ucrt)
- RStudio版本:2022.07.2(Build 576)
- rticle包版本:v0.24
报错情况
编译MDPI期刊文章模板(New File > R MarkDown > From Template > MDPI Journal Article)及之前可正常运行的旧文件时,均出现以下LaTeX报错:
! LaTeX Error: Command \gather already defined. Or name \end... illegal, see p.192 of the manual. Erro: LaTeX failed to compile Novo.tex. See Novo.log for more info.
排查与解决步骤
- 定位LaTeX包冲突:
\gather是amsmath包的核心命令,报错说明有其他包或模板自定义代码重复定义了该命令。打开生成的Novo.tex文件,搜索\gather相关内容,找出重复加载的包或自定义命令。 - 更新LaTeX环境:确保你的LaTeX发行版(如TinyTeX、TeX Live)为最新状态,运行以下命令更新所有LaTeX包:
tinytex::tlmgr_update(all = TRUE) - 降级rticle包:rticle v0.24的MDPI模板可能引入了兼容性问题,尝试降级到之前可用的版本:
install.packages("devtools") devtools::install_version("rticle", version = "0.23") # 替换为之前能正常运行的版本号 - 覆盖冲突命令:在R Markdown文件的YAML头部添加
header-includes,先取消冲突命令定义再重新加载amsmath:header-includes: - \let\gather\undefined - \usepackage{amsmath} - 清理编译缓存:删除当前目录下的
.tex、.aux、.log等中间文件,重新编译,避免缓存文件残留导致冲突。
内容的提问来源于stack exchange,提问作者Luiz Carlos Estraviz Rodriguez
相关产品推荐
相关产品推荐

