我正在通过 做演示beamer
。
我需要在文档的主要内容中放入一些完整的引用而不是简单的引用。
例如,我不想说根据 George (2015),而是想把这个 bib 条目的确切内容放在这里。
有没有一种简单的方法可以做到这一点,而不用自己编写所有内容?
答案1
我个人的观点是,书目和参考文献的呈现方式应该与文章有根本的不同:
- 观众不可能记住数字引用,
- 作者年份风格可以奏效,但您需要在首次出现时显示完整的条目,以便让不熟悉相关文献的那部分观众看到。
- 演讲结束时的完整参考书目毫无用处,除非你想对参考文献发表评论(或者你发布幻灯片以供线下咨询)
- 您希望更好地控制条目的显示方式,因为它们需要最小化以提高可读性
对我来说,由于这些原因,书目包提供的解决方案既过度又不够。一种选择是使用biblatex
并大量定制输出,但我更喜欢一种更简单(如果是临时的)基于一些非常简单的自定义宏的方法。
\newcommand{\bibliotitlestyle}[1]{\textbf{\large #1}\par}
\newif\ifinbiblio
\newcounter{bibkey}
\newenvironment{biblio}[2][long]{%
\ifx!#2!\else%
\bibliotitlestyle{#2}%
\fi%
\begin{thebibliography}{}%
\inbibliotrue%
\setbeamertemplate{bibliography entry title}[#1]%
}{%
\inbibliofalse%
\end{thebibliography}%
}
% \biblioref{author}{year}{title}{publication}
\newcommand{\biblioref}[5][short]{
\setbeamertemplate{bibliography entry title}[#1]%
\stepcounter{bibkey}%
\ifinbiblio%
\bibitem{\thebibkey}%
#4
\newblock #2, #3
\ifx!#5!\else\newblock {\em #5}\fi%
\else%
\begin{biblio}{}
\bibitem{\thebibkey}
#4
\newblock #2, #3
\ifx!#5!\else\newblock {\em #5}\fi
\end{biblio}
\fi
}
这两个宏使用 beamer 的样式(但是由您的主题定义)对自定义数据进行排版引用。
如果您希望在幻灯片中使用内联的单个条目
\biblioref{author}{year}{title}{publication}
如果你想要一份清单
\begin{biblio}{References}
\biblioref{author}{year}{title}{publication}
\biblioref{author}{year}{title}{publication}
% ...
\end{biblio}
当然,主要的缺点是,如果您想多次使用一个条目,则必须重复数据。可以使用每个参考文献的自定义宏轻松解决此问题:这样,您可以完全控制显示的内容和位置,避免重复,而且它仍然不太麻烦,因为幻灯片中通常没有太多参考文献。