LaTeX中处理参考文献的三种方法总结
LaTeX 中处理参考文献的三种方法总结
- 1.摘要
- 2.关键词
- 3.处理参考文献常用的三种方法
- 3.1 方法一:用BibLaTeX处理
- 3.2 方法二:用BibTeX处理
- 3.3 方法三:用thebibliography环境直接处理
- 4. 关于编译过程
- 4.1 使用BibLaTeX处理的编译过程
- 4.2 使用BibTeX处理的编译过程
- 4.3 使用系统提供的LaTeX\LaTeX{}LATEXmk编译
- 5. 利益无关声明
- 6. 致谢
- 7. 参考文献
1.摘要
“好记性不如烂笔头。” 为了防止忘记再从头查找,本文总结了LaTeX\LaTeX{}LATEX中处理参考文献常用的三种方法。着重总结了用BibLaTeX\LaTeX{}LATEX处理参考文献的方法。本文使用了超链接,鼠标在有颜色的部分如果变成手形,就表示此处是超链接,鼠标点击就可访问对应的资源。
本文链接:https://github.com/zalois/notes4references
2.关键词
参考文献,引用,BibLaTeX,BibTeX
3.处理参考文献常用的三种方法
LaTeX\LaTeX{}LATEX中处理参考文献常用如下三种方法:第三种方法最简单,但是修改起来也是最麻烦;第二种方法是传统方法,正慢慢被第一种方法替代;第一种方法出现时间稍晚些,资料不是特别多,国内研究比较深入的是胡振震,不但写了不少教程: 《BibLaTeX\LaTeXLATEX style for gb/t7714-2015》,《LaTeX\LaTeXLATEX文档中文参考文献的BibLaTeX\LaTeXLATEX解决方案》,《BibLaTeX\LaTeXLATEX宏包使用后端bibtex和biber的区别》,还根据国标gb7714-2015制作了格式文件《BibLaTeX\LaTeXLATEX style for gb/t7714-2015》。
3.1 方法一:用BibLaTeX处理
笔者最推荐的方法,灵活,强大。200620062006年Philipp Lehman编写了BibLaTeX\LaTeX{}LATEX包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{}LATEX包是一个更加灵活的文献处理方式,它不仅支持更多的entry type,而且支持多次加入bib文件,支持多种不同的bib内容书写格式,也支持从远程加入bib文件,支持在文档的任何位置显示参考文献的内容。比如,你可以在论文的每一章后面添加参考文献的显示,用脚注形式显示参考文献等等。从发展的眼光来看,BibLaTeX\LaTeX{}LATEX是一个比BibTeX\TeX{}TEX更加先进的技术,未来肯定会取代BibTeX\TeX{}TEX。
BibTeX\TeX{}TEX的格式控制文件有两种,一类是参考文献列表格式文件,扩展名为bbx;一类是引用格式文件,扩展名为cbx。这两种文件都是用LaTeX\LaTeX{}LATEX编写的,一般也会有提供下载,也可以自己制作。BibLaTeX\LaTeX{}LATEX控制参考文献列表显示格式的方式比BibTeX\TeX{}TEX灵活的地方在于,它不仅用格式文件来控制显示格式,还可以通过宏包的参数来实现精细调整控制。
BibLaTeX\LaTeX{}LATEX有两份值得参考的文献:一份是Philip Kime等人编写的BibLaTeX\LaTeX{}LATEX手册《 The BibLaTeX\LaTeXLATEX Package》,另一份是胡振震编写的《LaTeX\LaTeXLATEX文档中文参考文献的BibLaTeX\LaTeXLATEX解决方案》。BibLaTeX\LaTeX{}LATEX需与biber命令配合使用。
实现用BibLaTeX\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,%缩写作者名,默认为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{}TEX,由于不太灵活,有些参考文献排版要求难以实现,正在慢慢被新的BibLaTeX\LaTeX{}LATEX处理方法替代。BibTeX\TeX{}TEX本身不需要加载任何宏包(package),但编译的时候需使用bibtex程序。
BibTeX\TeX{}TEX格式控制文件是扩展名为bst的文件,一般会有提供,也可以自己制作。由于笔者更倾向于用BibLaTeX\LaTeX{}LATEX处理参考文献的方法,这里不再叙述自定义bst文件的方法。更多BibTeX\TeX{}TEX资料可参考:胡伟《LaTeX\LaTeXLATEX 2ε\varepsilonε 完全学习手册.第2版》, chikily_yongfeng 的《LaTeX\LaTeXLATEX自定义参考文献格式(配置 bst)》, Frank Mittelbach 等的 《The LaTeX\LaTeXLATEX companion》。
使用BibTeX\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}{ 注}注 不论用BibLaTeX\LaTeX{}LATEX或BibTeX\TeX{}TEX处理参考文献,都需要在文中引用bib文件中的条目,如果想把所有未引用的条目也显示出来,可以用如下语句:
\nocite{*}
注\textcolor{blue}{ 注}注 bib文件,最好是与文档的tex源文件放在同一目录下。如果bib文件放在其它位置,需要指定bib文件的路径,如例3\textcolor{blue}{例 3}例3和例6\textcolor{blue}{例 6}例6中所示。
注\textcolor{blue}{ 注}注 不论用BibLaTeX\LaTeX{}LATEX或BibTeX\TeX{}TEX处理参考文献,可以指定多个bib文件,文件之间需要用逗号(“,”)隔开,注意BibLaTeX\LaTeX{}LATEX方式中.bib扩展名不能省略。
3.3 方法三:用thebibliography环境直接处理
简单直接,参考文献条目很少时可以用这种方法。但不推荐这种处理参考文献的方法,因为调整起来比较麻烦,还容易出错。
\begin{lstlisting}
\begin{thebibliography}{编号样本}
\bibitem[记号]{引用标志}文献条目1
\bibitem[记号]{引用标志}文献条目2
……
\end{thebibliography}
\end{lstlisting}
4. 关于编译过程
4.1 使用BibLaTeX处理的编译过程
如果用XeLaTeX\LaTeX{}LATEX编译,流程如下:
XeLaTeX\LaTeXLATEX→\to→biber→\to→XeLaTeX\LaTeXLATEX
如需要后向超链接(就是在参考文献列表中显示该参考文献在第几页被引用),则除了为biblatex宏包设置 backref选项外,还需第4遍XeLaTeX\LaTeX{}LATEX编译,编译流程如下:
XeLaTeX\LaTeXLATEX→\to→biber→\to→XeLaTeX\LaTeXLATEX→\to→XeLaTeX\LaTeXLATEX
整个编译流程图如下,图的制作属于registor。
\includegraphics{BibLaTeX排版交叉引用+参考文献流程.png}
4.2 使用BibTeX处理的编译过程
如果用XeLaTeX\LaTeX{}LATEX编译,流程如下:
XeLaTeX\LaTeXLATEX→\to→bibtex→\to→XeLaTeX\LaTeXLATEX→\to→XeLaTeX\LaTeXLATEX
整个编译流程图如下,图的制作属于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\TeXTEX 系统,Jabref和Zotero文献管理器,Vim,Emacs,TeX\TeXTEXstudio等文本编辑器都是开源软件。本文也是以开源协议发布的,欢迎大家在开源协议下自由修改分享。本文链接:https://github.com/zalois/notes4references
6. 致谢
感谢创建TeX\TeXTEX 的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\LaTeXLATEX工作室. 技巧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中处理参考文献的三种方法总结相关推荐
- LaTeX 中处理参考文献的三种方法总结
LaTeX 中处理参考文献的三种方法总结 方法一:用BibLaTeX处理 分成如下四步: 第一步:制作生成bib文件: 第二步:在导言区需要加入biblatex宏包: \usepackage[格式控制 ...
- 在JavaScript中重复字符串的三种方法
In this article, I'll explain how to solve freeCodeCamp's "Repeat a string repeat a string" ...
- 在JavaScript中反转字符串的三种方法
This article is based on Free Code Camp Basic Algorithm Scripting "Reverse a String" 本文基于F ...
- mysql添加临时索引_mysql 中添加索引的三种方法
在mysql中有多种索引,有普通索引,全文索引,唯一索引,多列索引,小伙伴们可以通过不同的应用场景来进行索引的新建,在此列出三种新建索引的方法 mysql 中添加索引的三种方法 1.1 新建表中添加索 ...
- centos 卸载软件_一篇看懂!详解-Linux系统中安装软件的三种方法
Linux系统中安装软件的三种方法 注:本文主要以CentOS为例介绍常用的安装方式,其他版本linux在文章底部 Linux系统中怎么安装软件,首先说一下应用程序与系统命令的区别: 1.文件位置 系 ...
- c++语言定义排序函数,关于C++中定义比较函数的三种方法小结
C++编程优与Pascal的原因之一是C++中存在STL(标准模板库).STL存在很多有用的方法. C++模板库中的许多方法都需要相关参数有序,例如Sort().显然,如果你想对一个集合进行排序,你必 ...
- java 终止方法_Java中终止线程的三种方法
Java中终止线程的三种方法 Thread.stop, Thread.suspend, Thread.resume 和Runtime.runFinalizersOnExit 这些终止线程运行的方法已经 ...
- android全局计时_Android中使用定时器的三种方法
本文实例为大家分享了Android中使用定时器的三种方法,供大家参考,具体内容如下 图示: 因为都比较简单,所以就直接贴代码(虑去再次点击停止的操作),有个全局的Handler负责接收消息更新UI 第 ...
- 【在PowerPoint中插入视频的三种方法】
为了能更好地帮助大家合理地在PowerPoint课件中插入和播放视频文件, 在PowerPoint中插入视频的三种方法 ,本文特向大家介绍PowerPoint中插入和处理视频的三种方法. 直接播放视频 ...
最新文章
- Chrome Extension 检查视图(无效)处理方法
- AutoML综述更新 【AutoML:Survey of the State-of-the-Art】
- 巴特沃斯滤波器应用场合_巴特沃斯数字低通滤波器设计及应用
- 禅道项目管理_禅道 11.6.1 版本发布,完善细节,修复 Bug
- 在Apache Camel中使用Spring数据
- 【Html】Html基本标记
- 【差分约束】POJ3159/LG P1993 小K的农场
- 机器学习--支持向量机(五)核函数详解
- java 7个数排序_7 Java 快速排序
- 四格漫画《MUXing》——发版后……
- 海马苹果助手ipad版_资源分享苹果越狱工具
- IT大学生成长周报 | 第 2 期
- 解决“不是有效的win32应用程序”
- CountingSort(计数排序)——C语言实现
- 程序员进阶架构师、技术总监、CTO,需要掌握哪些核心技能
- 基于深度信念网络的硬件模拟器研究(Matlab代码实现)
- 云教室桌面虚拟化环境搭建——flexVDI Dashboard 3.0 云桌面管理系统的使用
- 电动汽车蒙特卡洛模拟(附Matlab代码)
- 训练softmax分类器实例_assignment1-softmax分类器
- 20本最好的免费的Python书籍
热门文章
- 谷歌Colab云端部署Stable Diffusion 进行绘图
- E - Polycarp and Snakes(模拟)
- 【对讲机的那点事】物流行业为什么会选择公网集群对讲机?
- html旋转的等到的圆圈,CSS3 Loading 旋转圆盘加载动画
- Mysql完结汇总篇(18万字送给你),完结撒花
- php报错:Notice: iconv(): Wrong charset, conversion from `GBK' to `UTF8' is not allowed
- 无线网络共享服务器,双频无线路由器网络共享服务器
- 【转载】linux之vi编辑器
- 【splishsplash】Houdini粒子的导入与导出
- OpenCV人脸识别(二) 初步实现人脸签到