Quarto中为不同参考文献列表应用不同格式的实现方法
实现不同参考文献列表的独立格式配置
完全可以实现,不需要复杂的LaTeX操作,下面是两种实用方案:
方案一:基于multibib + LaTeX bib样式(最直接,适配PDF输出)
因为你已经禁用了Quarto的citeproc,改用multibib处理参考文献,本质是调用LaTeX的参考文献工具,所以可以直接通过LaTeX代码为不同文献库指定独立的样式和排序规则:
步骤1:修改Quarto文档的YAML头部
替换原有csl配置,改用LaTeX头部注入定义双样式:
--- format: pdf: include-in-header: text: | \usepackage{multibib} % 定义附录参考文献的专属引用命令和标题 \newcites{lit}{附录参考文献} % 主文献:采用著者-年份格式,按作者姓名排序(agsm对应哈佛格式) \bibliographystyle{agsm} % 附录文献:采用编号格式,按引用顺序排序(plain为基础编号样式) \bibliographystylelit{plain} filters: - multibib title: "测试文档" validate-yaml: false bibliography: main: references.bib lit: literature.bib citeproc: false ---
步骤2:调整正文引用方式
主文献保持原有@aa引用,附录文献改用multibib生成的专属命令\citelit{bb}:
# 正文内容 \citelit{bb} % 附录文献引用 @aa % 主文献引用
步骤3:生成对应参考文献列表
替换原有的div块,用LaTeX命令生成两个独立列表:
# 参考文献 \bibliography{references} # 附录 \bibliographylit{literature}
方案二:无需LaTeX的Quarto预处理方案(兼容多格式输出)
如果需要适配非PDF格式,可以用多文档合并思路:
- 分别创建两个子文档,各自指定不同的csl(主文档用
elsevier-harvard.csl,附录文档用numeric.csl) - 用Quarto交叉引用功能分别引用对应文献
- 最后将两个子文档合并为最终文档,各自保留独立的参考文献格式
该方案操作稍繁琐,若仅需PDF输出,方案一效率更高。
内容的提问来源于stack exchange,提问作者julien.leroux5
相关产品推荐
相关产品推荐

