和word引用插入文献方式不同,quarto能够借助pandoc自动生成引文和参考文献,并支持多种引用引用风格,不过目前CSL(Citation Style Language)还不能支持多语言的参考文献格式化,需要借助 Pandoc Lua filter 来解决这个问题,具体解决方法可参见 github的开源项目 quarto-cn-tools。
若想实现该功能,需要满足三个要件:
- quarto文档中符合引用文献引用标记语法的命令;
- 引文文献数据库;
- CSL(Citation Style Language),用于描述引注和参考文献表的格式。
正式讲述上个三个要件之前,需要在quarto中的qmd文件YAML中设定引文文献数据库和CSL,即
---
title: "正确引用文献"
author: 青松薤谷
bibliography: mybibliography.bib
csl: mystyle.cls
---1 引用语法和引文文献数据库
1.1 引用语法
在quarto书写文档时采用pandoc引用文献的格式,通常为@citekey、[@citekey],其中 citekey 为引文文献数据库的唯一标识ID,见 Figure 1 标红处。
具体的引用形式如下:
- 一次同时引用多条文献,用冒号隔开:
[@citekey1;@citekey2]; - 强制不出现作者名字,用减号
-加@citekey来实现,即[-@citekey1]; - 行内引用,使用
@citekey实现,注意@citekey要与后文文本保持空格。 - 对于行内引用同一作者不同年份的文献,用
@citekeyname2022 [@citekeyname2024]来实现。
有学者[-@Gans2025]认同该结论。@Barwick2024 则持相反的观点,众多学者还对此观点进行了解释[@Gans2025; @Gorin2025]。
显示为:有学者(2025)认同该结论。Barwick et al. (2024) 则持相反的观点,众多学者还对此观点进行了解释(Gans 2025; Gorin et al. 2025)。
- 包含未被引用的文献,需要在yaml中设定
nocite参数来实现。
title: "正确引用文献"
author: 青松薤谷
bibliography: mybibliography.bib
nocite: |
@citekey1, @citekey2
---
@citekey3在上述例子中,@citekey3在正文和参考文献列表中同时出现,而@citekey1, @citekey2仅在参考文献列表中出现。
- 包含引用文献数据库中的所有文献。
---
nocite: |
@*
---1.2 引用文献数据库
上文YAML中mybibliography文件包含着文档写作中引用的基本素材。通常在zotero软件中选定引用的文献(见 Figure 2),右键选择导出 Better BibTex(前提需要安装zotero-better-bibtex 插件)并保存至相应目录,最后在yaml设定即可,见 Figure 1。 另外如果选取的引文库是个文件夹的话,在 Figure 2 勾选保持更新,实现时时更新。
2 CSL样式
文献引标格式设定需要借助 CSL 样式来设定。中文写作背景下一般是下列三种 CSL 样式下进行微调。详细微调步骤可参见CSL样式基础
- China National Standard GB/T 7714-2015 (author-date, 中文)
- China National Standard GB/T 7714-2015 (numeric, 中文)
- National Natural Science Foundation of China (numeric, 中文)
不过,即便经过微调过后的CSL样式符合期刊或著作的写作风格,但在中文写作环境里,尤其是涉及到中英文文献混排时,由于Pandoc不支持双语混排 CSL 样式,若直接使用会导致本地化字符转化成英文。为此, Ben(2025)编写了一个 Lua filter 解决此问题,不过需要注意的是该 Lua filter是基于作者自身定制的 CSL 样式来编写的,其他 CSL 样式不太适用。详细可参见从 Pandoc 到 Quarto:纯文本学术写作的实践与优化。
2.1 参考文献的基础知识
引文参考文献的标注方式有两种(详见《信息与文献 参考文献著录规则 GB/T-7714-2025》):
- 顺序编码制,即引文采用序号标注,参考文献列表按照引文的序号进行排序;
- 著者-出版年制,即引文采用著者-出版年标注,参考文献列表按照著者字顺和出版年排序。
正如《信息与文献 参考文献著录规则 GB/T-7714-2025》所述,参考文献有图书、连续出版物、会议录、学位论文、报告、专利、网站网页、档案、地图、数据集、预印本等多种形式,相应的每一种类型的参考文献标识符号也有相应的规定,见 Figure 3 。
每一类文献条目中大致包括责任者、题名、文献类型标识、版本、出版信息、页码、获取和访问路径等要素。
- 责任者。责任者著录规则如下:
- 个人责任者采用姓前名后形式。欧美责任者中译名可只著录姓,名可用缩写字母且不加缩写点;同姓不同名者,还应著录其名的首字母。西文著录时,姓全录且首字母大写,名可缩写为首字母;若首字母无法识别,可著录全名。汉语拼音著录时,姓全录且首字母大写,名宜用全称。
- 著作方式相同的责任者不超过3个时应全部著录,超过3个时著录前3个,其后加“,等”。
- 无责任者或情况不明时,“主要责任者”项应注明“佚名”或相应词语。
- 文献类型标识,详见 Figure 4
2.1.1 各类文献著录格式
本部分仅摘录部分参考文献著录格式,详细内容请参见《信息与文献 参考文献著录规则 GB/T-7714-2025》
- 图书著录格式:
主要责任者.题名:其他题名信息[文献类型标识].其他责任者.版本.出版地:出版者,出版年;引文页码.访问路径.永久标识符. - 连续出版物著录格式:
主要责任者.题名:其他题名信息[文献类型标识].年,卷(期)——年,卷(期).出版地:出版者,出版年.访问路径.永久标识符. - 会议录著录格式:
主要责任者.题名:其他题名信息[文献类型标识]//会议名称,会议年份:引文页码.访问路径.永久标识符. - 学位论文著录格式:
主要责任者.题名:其他题名信息[文献类型标识].学位授予单位所在地:学位授予单位,学位授予年:引文页码.访问路径.永久标识符. - 报告著录格式:
主要责任者.题名:其他题名信息:报告编号[文献类型标识].发布日期:引文页码.访问路径.永久标识符. - 网站网页著录格式:
主要责任者.题名:其他题名信息[文献类型标识].(创建或修改日期)[引用日期].访问路径. - 数据集著录格式:
主要责任者.题名:其他题名信息[文献类型标识].版本.发布平台(发布或修改日期)[引用日期].访问路径.永久标识符. - 预印本著录格式:
主要责任者.题名:其他题名信息[文献类型标识].版本.出版平台(发布或修改日期)[引用日期].访问路径.永久标识符.
2.1.2 参考文献标引体系
前述提及,参考文献有顺序编码制和著者-出版年制两种标引体系,其参考文献列表即可集中在文末或书末,也可分散在文章页面下方。对于顺序编码制而言,其正文引用文献,遵循以下原则:
顺序编码制应按正文中引用的文献出现的先后顺序连续编码,并将序号置于
[]中。如果顺序编码制用脚注方式时,序号可由计算机自动生成圈码。 同一处引用多篇文献时,应将各篇文献的序号在[]内全部列出,各序号用,。若遇连续序号,起讫序号间用短横线连接,不适用于用计算机自动编码的序号。 多次引用同一责任者的同一文献时,在正文中标注首次引用的文献序号,并在序号的[]外著录引文页码。如果计算机自动编序号时,应重复著录参考文献,但参考文献表中的著录项目可简化为文献序号及引文页码。 参考文献列表应按正文部分标注的序号依次列出。
——《信息与文献 参考文献著录规则 GB/T-7714-2025》
对于著者-出版年制而言,其正文引用文献,遵循以下原则:
各篇文献的标注内容由责任者姓氏与出版年构成,并置于
()内。倘若只标注责任者姓氏无法识别该人名时,可标注责任者姓名,集体责任者著述的文献可标注机关团体名称。倘若正文中已提及责任者姓名,则在其后的()内只著录出版年。 正文中引用多责任者文献时,对欧美责任者只标注第一个责任者的性,其后附et al.;对于中国责任者应标注第一责任者的姓名,其后附等字。姓氏与et al.等之间留适当空隙。 参考文献列表首先按文中集中,分为中文、日文、西文、俄文、其他文中5部分,然后按责任者字顺和出版年排列。中文文献可按责任者汉语拼音字顺排列,也可按责任者的笔画笔顺排列。
——《信息与文献 参考文献著录规则 GB/T-7714-2025》