![如何停用特定部分的 AtBeginSection?](https://linux22.com/image/359055/%E5%A6%82%E4%BD%95%E5%81%9C%E7%94%A8%E7%89%B9%E5%AE%9A%E9%83%A8%E5%88%86%E7%9A%84%20AtBeginSection%EF%BC%9F.png)
我一直使用 AtBeginSection 在新章节的开头插入标题页(按照以下答案这个问题)。标题页遵循 Beamer 主题的格式。但是,我想停用此自动标题页或更改某些特定部分的格式。我该怎么做?
答案1
您可以使用可选参数和在某些章节的开头插入不同的代码。因此,对于没有自动标题页的特定章节,您可以使用空的可选参数\AtBeginSection
和。\section*
\AtBeginSection
\section*
\documentclass{beamer}
\usetheme{Madrid}
\AtBeginSection[]{
\begin{frame}
\vfill
\centering
\begin{beamercolorbox}[sep=8pt,center,shadow=true,rounded=true]{title}
\usebeamerfont{title}\insertsectionhead\par%
\end{beamercolorbox}
\vfill
\end{frame}
}
\title{The Title}
\author{The Author}
\institute{The Institute}
\begin{document}
\begin{frame}
\maketitle
\end{frame}
\section{Test section one}
\begin{frame}
test frame for section one
\end{frame}
\section*{Test section two}
\begin{frame}
test frame for section two
\end{frame}
\section{Test section three}
\begin{frame}
test frame for section three
\end{frame}
\end{document}
结果:
更新
\section
如果您因为需要书签而无法使用带星号的版本,那么也许您可以使用\newif
和定义命令来切换到下一部分或所有以下部分:
\documentclass{beamer}
\usetheme{Madrid}
\newif\ifSectionTitlePage
\newcommand*\SectionTitlePagedefault{\SectionTitlePagefalse}
\newcommand\AllSectionsWithTitlePage{%
\SectionTitlePagetrue
\renewcommand*\SectionTitlePagedefault{\SectionTitlePagetrue}%
}
\newcommand\AllSectionsWithoutTitlePage{%
\SectionTitlePagefalse
\renewcommand*\SectionTitlePagedefault{\SectionTitlePagefalse}%
}
\newcommand\NextSectionWithTitlePage{\SectionTitlePagetrue}
\newcommand\NextSectionWithoutTitlePage{\SectionTitlePagefalse}
\AtBeginSection[]{%
\ifSectionTitlePage
\begin{frame}
\vfill
\centering
\begin{beamercolorbox}[sep=8pt,center,shadow=true,rounded=true]{title}
\usebeamerfont{title}\insertsectionhead\par%
\end{beamercolorbox}
\vfill
\end{frame}
\fi
\SectionTitlePagedefault
}
\AllSectionsWithTitlePage% <- enable the title pages
\title{The Title}
\author{The Author}
\institute{The Institute}
\begin{document}
\begin{frame}
\maketitle
\end{frame}
\section{Test section one}
\begin{frame}
test frame for section one
\end{frame}
\NextSectionWithoutTitlePage% <- disable the title page for the next section
\section{Test section two}
\begin{frame}
test frame for section two
\end{frame}
\section{Test section three}
\begin{frame}
test frame for section three
\end{frame}
\end{document}
结果与上面相同,但也带有第 2 部分的书签。
答案2
如果你出于某种原因不想使用星号部分(我个人会使用esdd 解决方案),您可以\AtBeginSection[]{}
在组内重新定义:
\documentclass{beamer}
\usetheme{Madrid}
\AtBeginSection[]{
\begin{frame}
\vfill
\centering
\begin{beamercolorbox}[sep=8pt,center,shadow=true,rounded=true]{title}
\usebeamerfont{title}\insertsectionhead\par%
\end{beamercolorbox}
\vfill
\end{frame}
}
\title{The Title}
\author{The Author}
\institute{The Institute}
\begin{document}
\begin{frame}
\maketitle
\end{frame}
\section{Test section one}
\begin{frame}
test frame for section one
\end{frame}
{
\AtBeginSection[]{}
\section{Test section two}
\begin{frame}
test frame for section two
\end{frame}
}
\section{Test section three}
\begin{frame}
test frame for section three
\end{frame}
\end{document}