LaTeX 入门 · 第6篇 参考文献与超链接

1450 字
7 分钟
LaTeX 入门 · 第6篇 参考文献与超链接

1. 手动文献列表:thebibliography#

文献不多时,可以直接用 thebibliography 环境手动列出。每条文献用 \bibitem 声明一个引用键:

\begin{thebibliography}{99}
\bibitem{partl1988} H.~Partl: \emph{German \TeX}, TUGboat, Vol.~9, 1988.
\end{thebibliography}

正文中用 \cite{引用键} 引用:

Partl~\cite{partl1988} 提出了一种方案。

渲染效果:

手动文献列表
手动文献列表

几个要点:

  • thebibliography 的花括号参数 {99} 是最宽编号的占位,用来对齐编号宽度。条目少于 10 条用 {9},10–99 条用 {99}
  • \bibitem 的引用键(如 partl1988)可任意取名,习惯用「作者+年份」;
  • \cite[附加说明]{键} 可以加页码等,如 \cite[p.~22]{partl1988}
  • thebibliographyarticle 里标题是「References」,在 report/book 里是「Bibliography」,会自动单独成章。

手动方式的缺点是:文献一多就难维护,改引用顺序、统一格式都很麻烦。实际项目推荐用下面的 BibTeX 或 biblatex。


2. BibTeX 与 .bib 数据库#

2.1 .bib 文件的格式#

把所有文献条目存成一个 .bib 文件,每条用 @类型{引用键, 字段 = {值}, ...} 的格式:

@article{einstein1905,
author = {Albert Einstein},
title = {Zur Elektrodynamik bewegter K{\"o}rper},
journal = {Annalen der Physik},
year = {1905},
volume = {322},
number = {10},
pages = {891--921}
}
@book{knuth1984,
author = {Donald E. Knuth},
title = {The {\TeX}book},
publisher = {Addison-Wesley},
year = {1984}
}

常见的条目类型和必填字段:

类型适用关键字段
@article期刊论文author, title, journal, year
@book书籍author/editor, title, publisher, year
@incollection书中章节author, title, booktitle, publisher, year
@inproceedings会议论文author, title, booktitle, year
@misc其他灵活

.bib 文件是纯文本,一次编写、到处复用。Google Scholar、Zotero、EndNote 都能导出 BibTeX 格式。

2.2 文献样式#

文献列表的排版样式由 .bst(bibliography style)文件决定。常用的有:

样式特点
plain按字母排序,编号 [1]
unsrt按引用顺序排序
alpha编号用作者名缩写+年份,如 [Knu84]
abbrv类似 plain,但名字缩写
ieeetranIEEE 格式

国内常用的是符合 GB/T 7714 国标的样式,由 gbt7714 宏包提供。


3. biblatex:现代化的方案#

BibTeX 是老牌工具,但功能有限(中文支持差、样式定制难)。biblatex 是现代替代品,配合 biber 后端,支持 UTF-8、中文、复杂样式。

3.1 基本用法#

导言区加载:

\usepackage[style=numeric]{biblatex}
\addbibresource{sample.bib} % 声明 .bib 文件

正文引用:

Knuth~\cite{knuth1984} 详细介绍了 \TeX{} 系统。
\nocite{*} % 列出所有条目,即使未被 \cite
\printbibliography % 输出文献列表

完整示例:

\documentclass{ctexart}
\usepackage[style=numeric]{biblatex}
\addbibresource{sample.bib}
\begin{document}
\section{使用 biblatex 管理参考文献}
Knuth 在其著作~\cite{knuth1984} 中详细介绍了 \TeX{} 系统。
Lamport~\cite{lamport1994} 开发了 \LaTeX{}。
\nocite{*}
\printbibliography
\end{document}

渲染效果:

biblatex 参考文献列表
biblatex 参考文献列表

3.2 biblatex 的编译流程#

biblatex 需要 四次编译(biber 是处理 .bib 的后端):

xelatex 文档名 # 第1次:生成 .bcf(引用信息)
biber 文档名 # 处理 .bcf,生成 .bbl(格式化后的文献)
xelatex 文档名 # 第2次:读入 .bbl
xelatex 文档名 # 第3次:解析交叉引用

VS Code + LaTeX Workshop 配合 latexmk 时,工具链会自动判断是否要跑 biber,无需手动执行。但如果在命令行手动编译,必须按这个顺序。

3.3 常用样式#

style特点
numeric数字编号 [1](默认)
authoryear作者-年份,如 Knuth (1984)
alphabetic标签 [Knu84]
gb7714-2015中国国标 GB/T 7714-2015 格式

国标样式需要单独安装 biblatex-gb7714-2015 宏包(TeX Live 完整安装已包含):

\usepackage[style=gb7714-2015]{biblatex}

3.4 引用命令#

biblatex 提供比 BibTeX 更丰富的引用命令:

命令效果
\cite{key}[1]
\parencite{key}(作者 年份)
\textcite{key}作者(年份)
\citeauthor{key}只显示作者
\citeyear{key}只显示年份
\footcite{key}脚注引用

4. 超链接与 PDF 书签:hyperref 宏包#

hyperref 宏包让生成的 PDF 拥有超链接和书签——交叉引用、目录、URL 都可以点击跳转。这是几乎所有正式文档都会加载的宏包。

4.1 加载与配置#

\usepackage[
colorlinks=true,
linkcolor=blue,
citecolor=green,
urlcolor=cyan,
bookmarks=true
]{hyperref}

常用选项:

选项含义默认值
colorlinks链接是否用彩色文字(false 时加边框)false
linkcolor内部链接颜色(目录、交叉引用)
citecolor文献引用链接颜色
urlcolor外部 URL 链接颜色
bookmarks是否生成 PDF 书签true
bookmarksopen书签是否默认展开false
pdftitlePDF 元数据:标题
pdfauthorPDF 元数据:作者

hyperref 有一个加载顺序的特殊性:它通常应该最后加载(在大多数其他宏包之后),否则可能与其他宏包冲突。cleveref 等少数宏包例外,要放在 hyperref 之后。

4.2 三类链接#

hyperref 自动把以下内容变成可点击链接:

  1. 内部链接:目录条目、\ref/\eqref 交叉引用、脚注标记;
  2. URL\url{https://www.ctan.org} 会渲染成可点击的链接,且能在行末自动断行;
  3. 文献引用\cite 的编号指向参考文献列表。

完整示例:

\documentclass{ctexart}
\usepackage[colorlinks=true, linkcolor=blue, urlcolor=cyan, bookmarks=true]{hyperref}
\begin{document}
\section{超链接与书签}\label{sec:hyper}
交叉引用变成可点击链接:见第~\ref{sec:hyper} 节。
访问 CTAN:\url{https://www.ctan.org}。
\end{document}

渲染效果:

hyperref 超链接
hyperref 超链接

图中的蓝色文字都是可点击的链接(PDF 阅读器里生效)。

4.3 PDF 书签#

加载 hyperref 后,PDF 阅读器左侧会自动出现书签面板(基于文档的章节结构)。\section\chapter 等命令自动生成书签条目,层级和文档结构一致。

带星号的章节(如 \section*{...})默认不进书签。若要添加,需用:

\section*{致谢}
\addcontentsline{toc}{section}{致谢} % 加入目录
\phantomsection % 为书签提供锚点(hyperref 提供)
\pdfbookmark[0]{致谢}{ack} % 或直接加书签

5. 小结#

这一篇覆盖了文献管理和 PDF 交互的主要内容:

  • 手动文献thebibliography 环境 + \bibitem + \cite,适合文献少的场合;
  • .bib 数据库:条目类型(@article/@book 等)、字段、引用键;
  • biblatexstyle 选项、\addbibresource\printbibliography、四次编译流程(xelatex→biber→xelatex→xelatex);
  • hyperrefcolorlinks/linkcolor/urlcolor 配置、\url、自动生成的 PDF 书签、加载顺序(通常最后加载)。

下一篇是系列的最后一篇,覆盖索引、TikZ 绘图和自定义宏命令。


本系列基于《一份(不太)简短的 LaTeX2e 介绍》(lshort-zh-cn)整理,辅以实战讲解和渲染示例。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
LaTeX 入门 · 第6篇 参考文献与超链接
https://xingyun8.fun/posts/latex-bibliography-hyperref/
作者
nanashi
发布于
2026-07-11
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
nanashi
众生皆苦,唯有自渡
公告
欢迎来到我的博客!这是一则示例公告。
音乐
封面

音乐

暂未播放

0:000:00
暂无歌词
分类
标签
站点统计
文章
20
分类
3
标签
37
总字数
27,069
运行时长
0
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.13.8
文章许可
CC BY-NC-SA 4.0