在 beamer 中使用 biblatex \textcite 和列

在 beamer 中使用 biblatex \textcite 和列

在 beamer 中使用\textcitebiblatex 会创建一个带有引文的脚注,该脚注会出现在幻灯片的末尾。如果将其与列一起使用,脚注会停留在列内,从而破坏布局。如果我将其与块一起使用,脚注会停留在块内,问题相同。

如何在 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}。这可能不是最优雅的解决方案,但它确实有效。

相关内容