Needs polish!

前略。

Beamer 引用参考文献与文章类似,只是一开始听说 beamer 不支持 \cite,搞得我走了不少弯路(其实是可以的)。

使用 bibtex

假设你有 mybeamer.tex 文件,在同目录下新建 mybeamer.bib 文件(其实只是纯文本,特殊后缀而已)。将你所有需要引用的文献条目写入该文献中。比如,

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
%%% ./mybeamer.bib

@article{shamir2010learning,
  title={Learning and generalization with the information bottleneck},
  author={Shamir, Ohad and Sabato, Sivan and Tishby, Naftali},
  journal={Theoretical Computer Science},
  volume={411},
  number={29-30},
  pages={2696--2711},
  year={2010},
  publisher={Elsevier}
}

Note: 关于 bibtex 引用格式的获取,直接上 Google Scholar 或者百度学术 搜所引文题目,导出为 bibtex 格式。

然后在你的 tex 文件中加入

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
%%% ./mybeamer.tex

\usepackage{cite}
% Removes icon in bibliography
\setbeamertemplate{bibliography item}[text]
...
\begin{document}
...
%%% end of your presentation slides
\begin{frame}[allowframebreaks]{References}
	%\bibliographystyle{plain}
	\bibliographystyle{amsalpha}
	%\bibliography{mybeamer} also works
	\bibliography{./mybeamer.bib}
\end{frame}
\end{document}

Note: bib 文件可以不于 tex 文件同名,作相应改动即可。

编译顺序(这很重要)

首先用pdflatex或者xelatex编译你的 tex 文件mybeamer.tex

pdflatex mybeamer.tex

这样会在当前目录产生一个.aux文件。然后使用bibtex编译该文件,

bibtex mybeamer

然后再用pdflatex编译一遍。此时应该会出现应用错误,小问号等警告。此时再用pdflatex编译一遍即可。如果出现了其他错误,删掉所有 .bbl, .aux 文件,重复以上操作。

总结一下四个步骤:

  1. pdflatex mybeamer.tex
  2. bibtex mybeamer
  3. pdflatex mybeamer.tex
  4. pdflatex mybeamer.tex

额外知识

Beamer 中默认使用 sans 字体1,可以使用\usefonttheme{serif}切换为衬线字体,推荐 slides 只给人阅读,不用做 presentation 时使用,毕竟衬线字体更好看一些。Beamer 中基本的定义字体方法如下:

1
2
3
4
5
6
7
8
%%
%% Note that once use customizing fonts, switch to xelatex
%%
\usepackage{fontenc}
\setsansfont{Varela Round}
% \setsansfont{IM FELL DW Pica}
\setmonofont{DejaVu Sans Mono}
\setmathfont{Fira Sans}

References


  1. 想想你在台上讲 slides,如果弄个细细的衬线字体,别人看的得多费劲。 ↩︎