LaTeX中处理参考文献的三种方法总结

1.摘要

“好记性不如烂笔头。” 为了防止忘记再从头查找,本文总结了 LaTeX \LaTeX{} LATEX中处理参考文献常用的三种方法。着重总结了用Bib LaTeX \LaTeX{} LATEX处理参考文献的方法。本文使用了超链接,鼠标在有颜色的部分如果变成手形,就表示此处是超链接,鼠标点击就可访问对应的资源。
本文链接:https://github.com/zalois/notes4references

2.关键词

参考文献,引用,BibLaTeX,BibTeX

3.处理参考文献常用的三种方法

LaTeX \LaTeX{} LATEX中处理参考文献常用如下三种方法:第三种方法最简单,但是修改起来也是最麻烦;第二种方法是传统方法,正慢慢被第一种方法替代;第一种方法出现时间稍晚些,资料不是特别多,国内研究比较深入的是胡振震,不但写了不少教程: 《Bib LaTeX \LaTeX LATEX style for gb/t7714-2015》,《 LaTeX \LaTeX LATEX文档中文参考文献的Bib LaTeX \LaTeX LATEX解决方案》,《Bib LaTeX \LaTeX LATEX宏包使用后端bibtex和biber的区别》,还根据国标gb7714-2015制作了格式文件《Bib LaTeX \LaTeX LATEX style for gb/t7714-2015》。

3.1 方法一:用BibLaTeX处理

笔者最推荐的方法,灵活,强大。 2006 2006 2006年Philipp Lehman编写了Bib LaTeX \LaTeX{} LATEX C o p y r i g h t © 2006 – 2012 P h i l i p p L e h m a n , 2012 – 2017 P h i l i p K i m e , A u d r e y B o r u v k a , J o s e p h W r i g h t , 2018 – P h i l i p K i m e a n d M o r i t z W e m h e u e r . \textcolor{blue}{Copyright © 2006–2012 Philipp Lehman, 2012–2017 Philip Kime, Audrey Boruvka, Joseph Wright, 2018– Philip Kime and Moritz Wemheuer.} Copyrightc20062012PhilippLehman,20122017PhilipKime,AudreyBoruvka,JosephWright,2018PhilipKimeandMoritzWemheuer.,Bib LaTeX \LaTeX{} LATEX包是一个更加灵活的文献处理方式,它不仅支持更多的entry type,而且支持多次加入bib文件,支持多种不同的bib内容书写格式,也支持从远程加入bib文件,支持在文档的任何位置显示参考文献的内容。比如,你可以在论文的每一章后面添加参考文献的显示,用脚注形式显示参考文献等等。从发展的眼光来看,Bib LaTeX \LaTeX{} LATEX是一个比Bib TeX \TeX{} TEX更加先进的技术,未来肯定会取代Bib TeX \TeX{} TEX
Bib TeX \TeX{} TEX的格式控制文件有两种,一类是参考文献列表格式文件,扩展名为bbx;一类是引用格式文件,扩展名为cbx。这两种文件都是用 LaTeX \LaTeX{} LATEX编写的,一般也会有提供下载,也可以自己制作。Bib LaTeX \LaTeX{} LATEX控制参考文献列表显示格式的方式比Bib TeX \TeX{} TEX灵活的地方在于,它不仅用格式文件来控制显示格式,还可以通过宏包的参数来实现精细调整控制。
Bib LaTeX \LaTeX{} LATEX有两份值得参考的文献:一份是Philip Kime等人编写的Bib LaTeX \LaTeX{} LATEX手册《 The Bib LaTeX \LaTeX LATEX Package》,另一份是胡振震编写的《 LaTeX \LaTeX LATEX文档中文参考文献的Bib LaTeX \LaTeX LATEX解决方案》。Bib LaTeX \LaTeX{} LATEX需与biber命令配合使用。
实现用Bib LaTeX \LaTeX{} LATEX来处理参考文献,需要分成如下 四 \textcolor{blue}{四} 步:
第 一 步 \textcolor{blue}{第一步} :制作生成bib文件;
第 二 步 \textcolor{blue}{第二步} :在导言区需要加入biblatex宏包:

\usepackage[格式控制参数]{biblatex}

bibstyle参数对应于bbx格式文件,citestyle参数对应于cbx文件。
style参数对应于两个同名文件,扩展名分别为bbx和cbx。
一个具体的用国标gb7714-2015文献引用格式,按姓名年份和标题升序,作者超过3个人时只显示前三个,具有超链接功能的实例如下:
例 1 \textcolor{blue}{例 1} 1

\usepackage[%
	%backend=biber,%用biber后端处理bib文件, 可选的有bibtex, bibtex8, biber, 默认为biber
	%样式文件(参考文献样式文件--bbx文件,引用样式文件--cbx)使用latex编写
	%一般可以下载提供的或标准的.bbx文件和.cbx文件,放在.tex同目录下进行引用
	%支持根据本地化排版,如:
	%	biber -l zh_pinyin texfile 按拼音排序
	%	biber -l zh_stroke texfile 按笔画排序
	%style= %引用格式和文献列表格式,有相对应的.bbx和.cbx文件
	%style=nature,%方括号数值压缩形式引用,文献列表title无引号,article类无前缀"In:", "and" 用 "&" 代替
	%style=science,%圆括号数值压缩形式引用,文献列表无and, title无引号, article类无前缀
	%style=numeric,%方括号数值引用,article类前缀"In:", title有引号,默认格式
	%style=numeric-comp,%方括号数值压缩形式引用,article类前缀"In:", title有引号
	style=gb7714-2015,%国标文献引用格式2015版, 胡振震制作
	%style=trad-abbrv,%方括号数值引用,作者名缩写
	%style=trad-abbrv,
	%bibstyle=numeric,%文献列表形式:数值格式
	sorting=nyt,%文献列表排序:姓名(n),年(y),标题(t)升序,有nty, nyt, nyvt, anyt, anyvt, ynt, ydnt, none, debug, 自定义的<name>,其中ydnt是按年份降序,默认nty,
	%citestyle=numeric-comp,%引用文献形式:数值压缩形式,同时开启sortcites=true
	%sortcites=true,%引用时自动排序
	%giveninits=true,%缩写作者名,默认为false
	maxnames=3,%至多显示三个作者
	minnames=3,%至少显示三个作者
	%abbreviate=true,%缩写Editor之类,默认为true
	date=year,%只显示年份
	%url=true,%显示url,默认为true
	%doi=true,%显示doi,默认为true
	isbn=false,%不显示isbn/issn/isrn,默认为true
	%eprint=true,%对于arxiv文章有用,默认为true
	%subentry=false,%不再细分子列a,b之类,默认为false
	%hyperref=true,%使用超链接,需要配合hyperref宏包才能起作用,默认为auto,取决于是否加载hyperref宏包
	%不显示语言
	%不显示冒号
	%backref=true,%反向引用,参考文献中列出引用所在的页码,需要在第四次再编译源文件,默认为false
	]{biblatex}%用biblatex处理参考文献
	%\renewbibmacro{in:}{\ifentrytype{article}{}{\printtext{\bibstring{in}\intitlepunct}}}%对于article类不显示"In:"
\usepackage[%
	colorlinks,%彩色超链接
	linkcolor=blue,%蓝色定理定义交叉引用等链接
	citecolor=blue,%蓝色文献引用链接
	urlcolor=OliveGreen,%橄榄绿色网址链接,颜色需要用到xcolor宏包,用dvipsnames参数
	]{hyperref}%使用超链接
\usepackage[dvipsnames]{xcolor}%使用68种颜色

去掉注释, 例 1 \textcolor{blue}{例 1} 1可简写为
例 2 \textcolor{blue}{例 2} 2

\usepackage[style=gb7714-2015,sorting=nyt,maxnames=3,minnames=3,date=year,isbn=false]{biblatex}
\usepackage[colorlinks,linkcolor=blue,citecolor=blue,urlcolor=OliveGreen]{hyperref}
\usepackage[dvipsnames]{xcolor}

第 三 步 \textcolor{blue}{第三步} :和第二步一样,在 导 言 区 \textcolor{red}{导言区} 指定第一步的bib文件,注意带上bib文件的扩展名。
例 3 \textcolor{blue}{例 3} 3

\addbibresource{seu/bib/refers.bib}%须带参考文献库文件扩展名

第 四 步 \textcolor{blue}{第四步} :在文档中需要显示参考文献的位置,加入打印参考文献列表语句:
例 4 \textcolor{blue}{例 4} 4

\printbibliography[heading=bibintoc,title=参考文献]%在目录列表中显示参考文献,title为自定义。
%可以不带任何参数,用默认设置

3.2 方法二:用BibTeX处理

1986 1986 1986年Oren Patashnik引入的参考文献管理程序Bib TeX \TeX{} TEX,由于不太灵活,有些参考文献排版要求难以实现,正在慢慢被新的Bib LaTeX \LaTeX{} LATEX处理方法替代。Bib TeX \TeX{} TEX本身不需要加载任何宏包(package),但编译的时候需使用bibtex程序。
Bib TeX \TeX{} TEX格式控制文件是扩展名为bst的文件,一般会有提供,也可以自己制作。由于笔者更倾向于用Bib LaTeX \LaTeX{} LATEX处理参考文献的方法,这里不再叙述自定义bst文件的方法。更多Bib TeX \TeX{} TEX资料可参考:胡伟《 LaTeX \LaTeX LATEX 2 ε \varepsilon ε 完全学习手册.第2版》, chikily_yongfeng 的《 LaTeX \LaTeX LATEX自定义参考文献格式(配置 bst)》, Frank Mittelbach 等的 《The LaTeX \LaTeX LATEX companion》。
使用Bib TeX \TeX{} TEX处理参考文献,类似的需要如下 三 \textcolor{blue}{三} 步。
第 一 步 \textcolor{blue}{第一步} :制作生成bib文件;
第 二 步 \textcolor{blue}{第二步} :指定参考文献的格式,一般在文档末尾处加入
例 5 \textcolor{blue}{例 5} 5

\bibliographystyle{spmpsci}

参考文献格式有abbrv,alpha,plain,unsrt几类标准格式可供选择。
本例用的spmpsci是Springer出版集团提供的数学、物理类文章参考文献常用的列表格式,对应于spmpsci.bst文件(可由Springer官网下载得到)。
第 三 步 \textcolor{blue}{第三步} :一般是在第二步的下一行,指定第一步的bib文件:
例 6 \textcolor{blue}{例 6} 6

\bibliography{seu/bib/refers}%这里不需要加bib文件的扩展名

注 \textcolor{blue}{ 注} 关于bib文献库的制作生成,可用JabRef程序来完成,配合 TeX \TeX{} TEX编辑器,可以比较方便地在文档中实现参考文献的引用,可以参考笔者《Jabref和Zotero使用笔记》
注 \textcolor{blue}{ 注} 不论用Bib LaTeX \LaTeX{} LATEX或Bib TeX \TeX{} TEX处理参考文献,都需要在文中引用bib文件中的条目,如果想把所有未引用的条目也显示出来,可以用如下语句:

\nocite{*}

注 \textcolor{blue}{ 注} bib文件,最好是与文档的tex源文件放在同一目录下。如果bib文件放在其它位置,需要指定bib文件的路径,如 例 3 \textcolor{blue}{例 3} 3 例 6 \textcolor{blue}{例 6} 6中所示。
注 \textcolor{blue}{ 注} 不论用Bib LaTeX \LaTeX{} LATEX或Bib TeX \TeX{} TEX处理参考文献,可以指定多个bib文件,文件之间需要用逗号(“,”)隔开,注意Bib LaTeX \LaTeX{} LATEX方式中.bib扩展名不能省略。

3.3 方法三:用thebibliography环境直接处理

简单直接,参考文献条目很少时可以用这种方法。但不推荐这种处理参考文献的方法,因为调整起来比较麻烦,还容易出错。

\begin{lstlisting}
\begin{thebibliography}{编号样本}
\bibitem[记号]{引用标志}文献条目1
\bibitem[记号]{引用标志}文献条目2
……
\end{thebibliography}
\end{lstlisting}

4. 关于编译过程

4.1 使用BibLaTeX处理的编译过程

如果用Xe LaTeX \LaTeX{} LATEX编译,流程如下:

Xe LaTeX \LaTeX LATEX → \to biber → \to Xe LaTeX \LaTeX LATEX
如需要后向超链接(就是在参考文献列表中显示该参考文献在第几页被引用),则除了为biblatex宏包设置 backref选项外,还需第4遍Xe LaTeX \LaTeX{} LATEX编译,编译流程如下:
Xe LaTeX \LaTeX LATEX → \to biber → \to Xe LaTeX \LaTeX LATEX → \to Xe LaTeX \LaTeX LATEX
整个编译流程图如下,图的制作属于registor
\includegraphics{BibLaTeX排版交叉引用+参考文献流程.png}
在这里插入图片描述

4.2 使用BibTeX处理的编译过程

如果用Xe LaTeX \LaTeX{} LATEX编译,流程如下:
Xe LaTeX \LaTeX LATEX → \to bibtex → \to Xe LaTeX \LaTeX LATEX → \to Xe LaTeX \LaTeX LATEX
整个编译流程图如下,图的制作属于registor
\includegraphics{BibTeX排版交叉引用+参考文献流程.png}
在这里插入图片描述

4.3 使用系统提供的 LaTeX \LaTeX{} LATEXmk编译

为了简化目录、交叉引用、参考文献等编译过程的自动化操作, LaTeX \LaTeX{} LATEX发行版提供了舭“latexmk”命令,以实现一次性完成所有的编译过程,也就是用“latexmk”命令完成上述所有工作。

latexmk -xelatex jobname.tex
latexmk -xelatex jobname.tex -c %清除临时文件,保留.bbl文件;  -C参数清除临时文件,包括pdf文件

以下图给出的是 LaTeX \LaTeX{} LATEX常见编译过程,图片来源于网络。
在这里插入图片描述

\nocite{*}%显示所有未引用文献
%正文结束
%

5. 利益无关声明

本文涉及到的程序,如 TeX \TeX TEX 系统,Jabref和Zotero文献管理器,Vim,Emacs, TeX \TeX TEXstudio等文本编辑器都是开源软件。本文也是以开源协议发布的,欢迎大家在开源协议下自由修改分享。本文链接:https://github.com/zalois/notes4references

6. 致谢

感谢创建 TeX \TeX TEX 的Donald Ervin Knuth先生,感谢Jabref和Zotero的贡献者们。
本文档套用的模板下载自https://github.com/ElegantLaTeX/ElegantNote,感谢模板作者邓东升。\footnote{插播一个小广告:本文档系统环境:
Slackware64-Current+TeX Live 2020+Vim8.2.1456

%参考文献开始
%当使用biblatex宏包时用
\printbibliography[heading=bibintoc,title=参考文献]
%在目录列表中显示参考文献
%\printbibliography[heading=bibintoc]
%
%参考文献结束
%
%生成索引页开始
%\cleardoublepage
%\phantomsection
%\addcontentsline{toc}{section}{Index}
%\printindex
%生成索引页结束

7. 参考文献

KIME, Philip, MORITZ WEMHEUER, y PHILIPP LEHMAN, . The Bib Package. 2019, http://mirrors.ctan.org/macros/latex/contrib/biblatex/doc/biblatex.pdf.

CHIKILY_YONGFENG. 自定义参考文献格式(配置 bst). 2019, https://blog.csdn.net/chikily_yongfeng/article/details/86553359.

CMP y BARTMAN, . How to customize the bib items with Bib?. 2020, https://latex.org/forum/viewtopic.php?f=50&t=33479.

COREJT. 论文排版 | (15) 中的参考文献Bib. 2019, https://blog.csdn.net/sdu_hao/article/details/101429993.

CSKYWIT. 【学习笔记14】中的参考文献Bib. 2019, https://blog.csdn.net/cskywit/article/details/86727860.

胡振震. Bib宏包使用后端bibtex和biber的区别. 2019, https://blog.csdn.net/xenonhu/article/details/87899868.

胡振震. Bib style for gb/t7714-2015. 2020, https://github.com/hushidong/biblatex-gb7714-2015.

胡振震. 文档中文参考文献的Bib解决方案. 2020, https://github.com/hushidong/biblatex-solution-to-latex-bibliography.

JULIOSUN. Guidelines for customizing Bib styles [转]. 2017, https://blog.csdn.net/colddie/article/details/78682754.

LaTeX \LaTeX LATEX工作室. 技巧853:符合GB/T7714-2015标准Bib参考文献样式文件. 2016, https://www.latexstudio.net/archives/6888.html.

MITTELBACH, Frank, GOOSSENS, Michel, BRAAMS, Johannes, CARLISLE, David y ROWLEY, Chris. The companion. 2 ed. Addison-Wesley Professional, 2004.

GUIDES, Overleaf. Bibliography management with Bib. 2020, https://www.overleaf.com/learn/latex/Bibliography_management_in_LaTeX.

REGISTOR. 目录、交叉引用、参考文献中的多次编译问题. 2019, https://wenda.latexstudio.net/article-5033.html.

REGISTOR y 青莲剑仙, . 和Bib的区别?. 2020, https://wenda.latexstudio.net/q-1629.html.

KHIREVICH, Siarhei. Bib customization. 2020, http://www.khirevich.com/latex/biblatex/.

USER2478 y KIT, . Suppress “In:” Bib. 2011, https://tex.stackexchange.com/questions/10682/suppress-in-biblatex.

VANABEL. Bib参考文献(Biber引擎)用法举例. 2015, https://lttt.vanabel.cn/2015/04/22/biblatex参考文献(biber引擎)用法举例.html.

ZALOIS@126.COM. Jabref和Zotero使用笔记. 2020, https://github.com/zalois/note4JabrefandZotero.

胡伟. 完全学习手册.第2版. 北京: 清华大学出版社, 2013.

阿智智. 一个简单的、基本的、完整的使用Bib包的例子. 2016, https://blog.csdn.net/RobertChenGuangzhi/article/details/50457038.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值