如何用Latex组织文献?

不管是否使用 \(\LaTeX\) 对文章的参考文献进行组织,对于一篇文章的参考文献都由两个最基本的部分组成:

  • 参考文献在正文中引用(包括:引用的方式和样式)
参考文献在正文中引用
  • 文章末尾参考文献列表的生成(包括:生成的方式和样式)
文章末尾参考文献列表的生成

在下面即将要介绍的三种方法中,不管是哪一种方法,对于参考文献在正文中引用的方式都是相同的:

1
\cite{⟨citation⟩}
  • ⟨citation⟩ 为引用的参考文献的标签;

  • \cite 带一个可选参数,为引用的编号后加上额外的内容,如:\cite[page 22]{Paper2013},可能得到形如 [13, page 22] 这样的引用;

注意:下面对于三种方法的介绍中将不再提及参考文献在正文中的引用方式,重点介绍参考文献列表的生成方式,以及样式的设置。

第一种:最基本的参考文献和引用(不推荐)

简单介绍一下使用 \(\LaTeX{}\) 自带的参考文献组织方式生成参考文献列表

1
2
3
4
5
\begin{thebibliography}{⟨widest label⟩}

\bibitem[⟨item number⟩]{⟨citation⟩} ...

\end{thebibliography}
  • ⟨citation⟩\cite 使用的文献标签;

  • ⟨item number⟩ 自定义参考文献的序号,如果省略, 则按自然排序给定序号;

  • ⟨widest label⟩ 用以限制参考文献序号的宽度,如:99 意味着不超过两位数字。通常设定为与参考文献的数目一致。

第二种:使用 \(\mathrm{B\scriptstyle{IB}}\TeX\) 格式组织参考文献

\(\mathrm{B\scriptstyle{IB}}\TeX\) 格式的组织参考文献主要分成两个部分:

  • \(\mathrm{B\scriptstyle{IB}}\TeX\) 数据库:用来管理参考文献数据
    • 数据文件以 .bib 作为扩展名,比如:ref.bib
    • 通过 \bibliography{} 生成参考文献列表,比如:\bibliography{ref},不包括扩展名;
  • \(\mathrm{B\scriptstyle{IB}}\TeX\) 样式:决定了参考文献的写法
    • 样式文件以 .bst 为扩展名;
    • 通过 \bibliographystyle{} 设置样式,比如:\bibliographystyle{plain},不包括扩展名;

具体实践:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
\documentclass{article}
% 导言区
\bibliographystyle{plain} % 设置 bibtex 样式

\begin{document}
% 正文内容
\section{Some words}
This is a example \cite{citation1}.
······

% 导入 bibtex 文献数据 ref.bib,按照 \bibliographystyle 设置的样式生成参考文献列表
% 注意:BIBTEX 程序在生成参考文献列表的时候,通常只列出用了 \cite 命令引用的那些。
% \nocite{⟨citation⟩} 命令可以列出未被引用的文献
\bibliography{ref}

\end{document}
% 此后内容会被忽略

第三种:使用 biblatex 宏包组织参考文献

biblatex 宏包组织参考文献的思路于 \(\mathrm{B\scriptstyle{IB}}\TeX\) 大致相同,主要区别如下:

  • biblatex 宏包将文献数据的导入和生成参考文献列表分成了两步
    • \addbibresource{ref.bib} 导入文献数据;
    • \printbibliography 生成参考文献列表;
  • biblatex 宏包在导入时通过 ⟨key⟩ = ⟨value⟩ 形式进行一些内容的设定,包括
    • 参考文献样式 style,在 biblatex 宏包样式又被细分为著录样式和引用样式
      • 可以统一进行设定:

        1
        \usepackage[style=gb7714-2015]{biblatex}
      • 也可以分别进行设定:

        1
        \usepackage[bibstyle=gb7714-2015,citestyle=authoryear]{biblatex}

    • 参考文献著录排序的规则 sorting
  • biblatex 宏包在正文中引用参考文献的形式更丰富,除了使用 \cite 之外,还可以使用
    • \citeauthor 单独引用作者;
    • \citeyear 单独引用年份;
  • 编译方式不同,biblatex 宏包使用 biber 程序处理参考文献,而 \(\mathrm{B\scriptstyle{IB}}\TeX\) 使用 bibtex 程序
    • \(\mathrm{B\scriptstyle{IB}}\TeX\) 编译过程:xelatex -> bibtex -> xelatex*2
    • biblatex 宏包编译过程:xelatex -> biber -> xelatex*2

具体实践:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
\documentclass{article}
% 导言区

% 使用符合 GB/T 7714-2015 规范的参考文献样式
\usepackage[style=gb7714-2015]{biblatex}
% 导入文献数据文件,包括了文件的扩展名
\addbibresource{ref.bib}

\begin{document}
% 正文内容
\section{Some words}
This is a example \cite{citation1}.
······

% 利用 \addbibresource 导入的数据以及导入 biblatex 宏包时设置的样式,生成参考文献列表
% 注意:biber 程序在生成参考文献列表的时候,通常只列出用了 \cite 命令引用的那些。
% \nocite{⟨citation⟩} 命令可以列出未被引用的文献

\printbibliography

\end{document}
% 此后内容会被忽略

参考文献