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};thebibliography在article里标题是「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,但名字缩写 |
ieeetran | IEEE 格式 |
国内常用的是符合 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}渲染效果:

3.2 biblatex 的编译流程
biblatex 需要 四次编译(biber 是处理 .bib 的后端):
xelatex 文档名 # 第1次:生成 .bcf(引用信息)biber 文档名 # 处理 .bcf,生成 .bbl(格式化后的文献)xelatex 文档名 # 第2次:读入 .bblxelatex 文档名 # 第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 |
pdftitle | PDF 元数据:标题 | |
pdfauthor | PDF 元数据:作者 |
hyperref有一个加载顺序的特殊性:它通常应该最后加载(在大多数其他宏包之后),否则可能与其他宏包冲突。cleveref等少数宏包例外,要放在 hyperref 之后。
4.2 三类链接
hyperref 自动把以下内容变成可点击链接:
- 内部链接:目录条目、
\ref/\eqref交叉引用、脚注标记; - URL:
\url{https://www.ctan.org}会渲染成可点击的链接,且能在行末自动断行; - 文献引用:
\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}渲染效果:

图中的蓝色文字都是可点击的链接(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等)、字段、引用键; - biblatex:
style选项、\addbibresource、\printbibliography、四次编译流程(xelatex→biber→xelatex→xelatex); - hyperref:
colorlinks/linkcolor/urlcolor配置、\url、自动生成的 PDF 书签、加载顺序(通常最后加载)。
下一篇是系列的最后一篇,覆盖索引、TikZ 绘图和自定义宏命令。
本系列基于《一份(不太)简短的 LaTeX2e 介绍》(lshort-zh-cn)整理,辅以实战讲解和渲染示例。
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!













