根据内容的不同,\AtBeginSection我会得到不同的错误

根据内容的不同,\AtBeginSection我会得到不同的错误

我有一个基本的 MWE [删除了 400 行不相关的代码后 :(] 包含beamer由 生成的参考书目的演示文稿biblatex

\documentclass{beamer}

\usepackage{tikz}

\usepackage{biblatex}   

\begin{filecontents}{BibDatabase.bib}
@book{Miller2012,
    author = {Adam Miller},
    title = {Clever Book Title},
    date = {2012},
}
\end{filecontents}

\addbibresource{BibDatabase.bib}    

\AtBeginSection{
    \begin{frame}[plain]
    \begin{tikzpicture}
    \end{tikzpicture}
    \end{frame}
}

\begin{document}

\section{test}
\begin{frame}
  \cite{Miller2012}
  \printbibliography
\end{frame}

\end{document}

根据内容的不同,\AtBeginSection我会得到不同的错误

错误 1(plain选项有效)

\begin{frame}[plain]
\begin{tikzpicture}
\end{tikzpicture}
\end{frame}
! Extra }, or forgotten \endgroup.
\endframe ->\egroup 
                    \begingroup \def \@currenvir {frame}
l.30 \end{frame}

I've deleted a group-closing symbol because it seems to be
spurious, as in `$x}$'. But perhaps the } is legitimate and
you forgot something else, as in `\hbox{$x}'. In such cases
the way to recover is to insert both the forgotten and the
deleted material, e.g., by typing `I$}'.

错误 2(plain选项不是活跃 /tikzpicture已移除)

\AtBeginSection{
    \begin{frame}%[plain]
    \begin{tikzpicture}
    \end{tikzpicture}
    \end{frame}
}

\AtBeginSection{
    \begin{frame}%[plain]
    %\begin{tikzpicture}
    %\end{tikzpicture}
    \end{frame}
}
! Missing \endcsname inserted.
<to be read again> 
                   \vrule 
l.30 \end{frame}

The control sequence marked <to be read again> should
not appear between \csname and \endcsname.

无错误(没有任何内容)

\AtBeginSection{
%   \begin{frame}%[plain]
%   \begin{tikzpicture}
%   \end{tikzpicture}
%   \end{frame}
}

在此处输入图片描述

您能重现这个问题吗?

答案1

\printbibliography调用\section*。因此,您尝试将 嵌套frame在 中frame,这是行不通的。

要么使用

\AtBeginSection[]{%
  ...
}

避免在未编号部分中进行自定义,或使用

\printbibliography[heading=none]

以避免\printbibliography创建章节标题。

相关内容