使用Elsevier rticle模板时机构署名逗号无法正常渲染问题求助
修复Elsevier RMarkdown模板机构署名逗号不显示问题
以下是三种可行的解决方案,按操作复杂度排序:
方案1:YAML字段内直接转义逗号
在RMarkdown文档头部的YAML元数据中,将机构信息里的逗号替换为LaTeX文本逗号命令 \text{,},示例如下:
--- title: "Your Paper Title" author: - name: "Your Name" affiliation: "Department of Computer Science\text{,} University of XYZ\text{,} 123 Main Street" output: rticles::elsevier_article ---
编译后LaTeX会正确渲染出逗号,嫌\text{,}繁琐的话,也可以用{,}替代,效果一致。
方案2:使用YAML多行字符串保留原始格式
在YAML的affiliation字段前添加|符号,将机构信息作为多行字符串保留原始格式,避免pandoc把字符串内的逗号解析为元数据分隔符,示例:
--- title: "Your Paper Title" author: - name: "Your Name" affiliation: | Department of Computer Science, University of XYZ, 123 Main Street output: rticles::elsevier_article ---
这种方式更贴近自然书写习惯,无需额外添加转义符号。
方案3:修改rticles包模板文件(永久解决)
如果需要长期使用该模板且不想每次手动处理逗号,可以修改rticles自带的Elsevier模板:
- 在R控制台执行以下命令定位模板文件路径:
system.file("rmarkdown/templates/elsevier/resources/elsarticle-template.tex", package = "rticles")
- 找到并打开该
.tex文件,定位到包含$for(affiliation)$的机构信息处理代码块,调整模板逻辑,确保affiliation字段的原始字符串被直接传递,不过滤逗号,修改后保存文件即可。
内容的提问来源于stack exchange,提问作者Gabriel Strain
相关产品推荐
相关产品推荐

