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

  • 1.摘要
  • 2.关键词
  • 3.处理参考文献常用的三种方法
    • 3.1 方法一:用BibLaTeX处理
    • 3.2 方法二:用BibTeX处理
    • 3.3 方法三:用thebibliography环境直接处理
  • 4. 关于编译过程
    • 4.1 使用BibLaTeX处理的编译过程
    • 4.2 使用BibTeX处理的编译过程
    • 4.3 使用系统提供的LaTeX\LaTeX{}LATE​Xmk编译
  • 5. 利益无关声明
  • 6. 致谢
  • 7. 参考文献

1.摘要

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

2.关键词

参考文献,引用,BibLaTeX,BibTeX

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

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

3.1 方法一:用BibLaTeX处理

笔者最推荐的方法,灵活,强大。200620062006年Philipp Lehman编写了BibLaTeX\LaTeX{}LATE​X包Copyright©2006–2012PhilippLehman,2012–2017PhilipKime,AudreyBoruvka,JosephWright,2018–PhilipKimeandMoritzWemheuer.\textcolor{blue}{Copyright © 2006–2012 Philipp Lehman, 2012–2017 Philip Kime, Audrey Boruvka, Joseph Wright, 2018– Philip Kime and Moritz Wemheuer.}Copyrightc◯2006–2012PhilippLehman,2012–2017PhilipKime,AudreyBoruvka,JosephWright,2018–PhilipKimeandMoritzWemheuer.,BibLaTeX\LaTeX{}LATE​X包是一个更加灵活的文献处理方式,它不仅支持更多的entry type,而且支持多次加入bib文件,支持多种不同的bib内容书写格式,也支持从远程加入bib文件,支持在文档的任何位置显示参考文献的内容。比如,你可以在论文的每一章后面添加参考文献的显示,用脚注形式显示参考文献等等。从发展的眼光来看,BibLaTeX\LaTeX{}LATE​X是一个比BibTeX\TeX{}TE​X更加先进的技术,未来肯定会取代BibTeX\TeX{}TE​X。
BibTeX\TeX{}TE​X的格式控制文件有两种,一类是参考文献列表格式文件,扩展名为bbx;一类是引用格式文件,扩展名为cbx。这两种文件都是用LaTeX\LaTeX{}LATE​X编写的,一般也会有提供下载,也可以自己制作。BibLaTeX\LaTeX{}LATE​X控制参考文献列表显示格式的方式比BibTeX\TeX{}TE​X灵活的地方在于,它不仅用格式文件来控制显示格式,还可以通过宏包的参数来实现精细调整控制。
BibLaTeX\LaTeX{}LATE​X有两份值得参考的文献:一份是Philip Kime等人编写的BibLaTeX\LaTeX{}LATE​X手册《 The BibLaTeX\LaTeXLATE​X Package》,另一份是胡振震编写的《LaTeX\LaTeXLATE​X文档中文参考文献的BibLaTeX\LaTeXLATE​X解决方案》。BibLaTeX\LaTeX{}LATE​X需与biber命令配合使用。
实现用BibLaTeX\LaTeX{}LATE​X来处理参考文献,需要分成如下四\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,%缩写作者名,默认为falsemaxnames=3,%至多显示三个作者minnames=3,%至少显示三个作者%abbreviate=true,%缩写Editor之类,默认为truedate=year,%只显示年份%url=true,%显示url,默认为true%doi=true,%显示doi,默认为trueisbn=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处理

198619861986年Oren Patashnik引入的参考文献管理程序BibTeX\TeX{}TE​X,由于不太灵活,有些参考文献排版要求难以实现,正在慢慢被新的BibLaTeX\LaTeX{}LATE​X处理方法替代。BibTeX\TeX{}TE​X本身不需要加载任何宏包(package),但编译的时候需使用bibtex程序。
BibTeX\TeX{}TE​X格式控制文件是扩展名为bst的文件,一般会有提供,也可以自己制作。由于笔者更倾向于用BibLaTeX\LaTeX{}LATE​X处理参考文献的方法,这里不再叙述自定义bst文件的方法。更多BibTeX\TeX{}TE​X资料可参考:胡伟《LaTeX\LaTeXLATE​X 2ε\varepsilonε 完全学习手册.第2版》, chikily_yongfeng 的《LaTeX\LaTeXLATE​X自定义参考文献格式(配置 bst)》, Frank Mittelbach 等的 《The LaTeX\LaTeXLATE​X companion》。
使用BibTeX\TeX{}TE​X处理参考文献,类似的需要如下三\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{}TE​X编辑器,可以比较方便地在文档中实现参考文献的引用,可以参考笔者《Jabref和Zotero使用笔记》。
注\textcolor{blue}{ 注}注 不论用BibLaTeX\LaTeX{}LATE​X或BibTeX\TeX{}TE​X处理参考文献,都需要在文中引用bib文件中的条目,如果想把所有未引用的条目也显示出来,可以用如下语句:

\nocite{*}

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

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

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

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

4. 关于编译过程

4.1 使用BibLaTeX处理的编译过程

如果用XeLaTeX\LaTeX{}LATE​X编译,流程如下:

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

4.2 使用BibTeX处理的编译过程

如果用XeLaTeX\LaTeX{}LATE​X编译,流程如下:
XeLaTeX\LaTeXLATE​X→\to→bibtex→\to→XeLaTeX\LaTeXLATE​X→\to→XeLaTeX\LaTeXLATE​X
整个编译流程图如下,图的制作属于registor。
\includegraphics{BibTeX排版交叉引用+参考文献流程.png}

4.3 使用系统提供的LaTeX\LaTeX{}LATE​Xmk编译

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

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

以下图给出的是LaTeX\LaTeX{}LATE​X常见编译过程,图片来源于网络。

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

5. 利益无关声明

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

6. 致谢

感谢创建TeX\TeXTE​X 的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\LaTeXLATE​X工作室. 技巧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.

LaTeX中处理参考文献的三种方法总结相关推荐

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

    LaTeX 中处理参考文献的三种方法总结 方法一:用BibLaTeX处理 分成如下四步: 第一步:制作生成bib文件: 第二步:在导言区需要加入biblatex宏包: \usepackage[格式控制 ...

  2. 在JavaScript中重复字符串的三种方法

    In this article, I'll explain how to solve freeCodeCamp's "Repeat a string repeat a string" ...

  3. 在JavaScript中反转字符串的三种方法

    This article is based on Free Code Camp Basic Algorithm Scripting "Reverse a String" 本文基于F ...

  4. mysql添加临时索引_mysql 中添加索引的三种方法

    在mysql中有多种索引,有普通索引,全文索引,唯一索引,多列索引,小伙伴们可以通过不同的应用场景来进行索引的新建,在此列出三种新建索引的方法 mysql 中添加索引的三种方法 1.1 新建表中添加索 ...

  5. centos 卸载软件_一篇看懂!详解-Linux系统中安装软件的三种方法

    Linux系统中安装软件的三种方法 注:本文主要以CentOS为例介绍常用的安装方式,其他版本linux在文章底部 Linux系统中怎么安装软件,首先说一下应用程序与系统命令的区别: 1.文件位置 系 ...

  6. c++语言定义排序函数,关于C++中定义比较函数的三种方法小结

    C++编程优与Pascal的原因之一是C++中存在STL(标准模板库).STL存在很多有用的方法. C++模板库中的许多方法都需要相关参数有序,例如Sort().显然,如果你想对一个集合进行排序,你必 ...

  7. java 终止方法_Java中终止线程的三种方法

    Java中终止线程的三种方法 Thread.stop, Thread.suspend, Thread.resume 和Runtime.runFinalizersOnExit 这些终止线程运行的方法已经 ...

  8. android全局计时_Android中使用定时器的三种方法

    本文实例为大家分享了Android中使用定时器的三种方法,供大家参考,具体内容如下 图示: 因为都比较简单,所以就直接贴代码(虑去再次点击停止的操作),有个全局的Handler负责接收消息更新UI 第 ...

  9. 【在PowerPoint中插入视频的三种方法】

    为了能更好地帮助大家合理地在PowerPoint课件中插入和播放视频文件, 在PowerPoint中插入视频的三种方法 ,本文特向大家介绍PowerPoint中插入和处理视频的三种方法. 直接播放视频 ...

最新文章

  1. Chrome Extension 检查视图(无效)处理方法
  2. AutoML综述更新 【AutoML:Survey of the State-of-the-Art】
  3. 巴特沃斯滤波器应用场合_巴特沃斯数字低通滤波器设计及应用
  4. 禅道项目管理_禅道 11.6.1 版本发布,完善细节,修复 Bug
  5. 在Apache Camel中使用Spring数据
  6. 【Html】Html基本标记
  7. 【差分约束】POJ3159/LG P1993 小K的农场
  8. 机器学习--支持向量机(五)核函数详解
  9. java 7个数排序_7 Java 快速排序
  10. 四格漫画《MUXing》——发版后……
  11. 海马苹果助手ipad版_资源分享苹果越狱工具
  12. IT大学生成长周报 | 第 2 期
  13. 解决“不是有效的win32应用程序”
  14. CountingSort(计数排序)——C语言实现
  15. 程序员进阶架构师、技术总监、CTO,需要掌握哪些核心技能
  16. 基于深度信念网络的硬件模拟器研究(Matlab代码实现)
  17. 云教室桌面虚拟化环境搭建——flexVDI Dashboard 3.0 云桌面管理系统的使用
  18. 电动汽车蒙特卡洛模拟(附Matlab代码)
  19. 训练softmax分类器实例_assignment1-softmax分类器
  20. 20本最好的免费的Python书籍

热门文章

  1. 谷歌Colab云端部署Stable Diffusion 进行绘图
  2. E - Polycarp and Snakes(模拟)
  3. 【对讲机的那点事】物流行业为什么会选择公网集群对讲机?
  4. html旋转的等到的圆圈,CSS3 Loading 旋转圆盘加载动画
  5. Mysql完结汇总篇(18万字送给你),完结撒花
  6. php报错:Notice: iconv(): Wrong charset, conversion from `GBK' to `UTF8' is not allowed
  7. 无线网络共享服务器,双频无线路由器网络共享服务器
  8. 【转载】linux之vi编辑器
  9. 【splishsplash】Houdini粒子的导入与导出
  10. OpenCV人脸识别(二) 初步实现人脸签到