在 beamer 中使用\textcite
biblatex 会创建一个带有引文的脚注,该脚注会出现在幻灯片的末尾。如果将其与列一起使用,脚注会停留在列内,从而破坏布局。如果我将其与块一起使用,脚注会停留在块内,问题相同。
如何在 beamer 中使用 biblatex 才能取得良好的效果?
答案1
[frame]
如果您的问题通过使用选项得到解决\footnote
,您可以重新定义调用脚注的内部命令来biblatex
自动为您执行该操作。
\documentclass[british]{beamer}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=verbose]{biblatex}
\makeatletter
\renewrobustcmd{\blx@mkbibfootnote}[2]{%
\iftoggle{blx@footnote}
{\blx@warning{Nested notes}%
\addspace\mkbibparens{#2}}
{\unspace
\ifnum\blx@notetype=\tw@
\expandafter\@firstoftwo
\else
\expandafter\@secondoftwo
\fi
{\csuse{blx@theendnote#1}{\protecting{\blxmkbibnote{end}{#2}}}}
{\csuse{footnote#1}[frame]{\protecting{\blxmkbibnote{foot}{#2}}}}}}
\makeatother
\addbibresource{biblatex-examples.bib}
\begin{document}
\begin{frame}
\begin{columns}
\begin{column}{0.5\textwidth}
Lorem \textcite{sigfridsson}
\end{column}
\begin{column}{0.5\textwidth}
ipsum \textcite{nussbaum}
\end{column}
\end{columns}
\end{frame}
\begin{frame}
\begin{block}{Dolor}
dolor \textcite{worman}
\end{block}
\end{frame}
\end{document}
答案2
这个问题与 beamer 管理脚注的方式有关。我发现解决这个问题的一个方法是定义这个命令:
\newcommand{\citef}[1]{\citeauthor{#1}\footnote[frame]{\fullcite{#1}}}
然后使用\citef{key}
而不是\textcite{key}
。这可能不是最优雅的解决方案,但它确实有效。