![如何重置 beamer 中的部分编号?](https://linux22.com/image/253354/%E5%A6%82%E4%BD%95%E9%87%8D%E7%BD%AE%20beamer%20%E4%B8%AD%E7%9A%84%E9%83%A8%E5%88%86%E7%BC%96%E5%8F%B7%EF%BC%9F.png)
我想在投影机的某个部分启动时重置部分编号。
所以我尝试了:
\setcounter{section}{0}
那是行不通的。
经过搜索我发现了这个:
\makeatletter
\numberwithin{section}{part}
\AtBeginPart{\beamer@tocsectionnumber=0\relax}
\makeatother
在
它曾经工作过一两次,然后我开始清理,现在它再也无法工作了。我试图将它移入文档和序言中。我还更改了该部分的编号和标题,但我不知道这是否会影响它。
MWE:
\documentclass{beamer}
\setbeamerfont{block title}{size={}}
\setbeamercolor{titlelike}{parent=structure,bg=white}
\usetheme[]{Frankfurt}
\setbeamertemplate{navigation symbols}{}
\AtBeginSection[]{\begin{frame}\frametitle{Agenda}\tableofcontents[currentsection,hideallsubsections]\end{frame}}
\AtBeginDocument{\renewcommand*{\partname}{Theme}}
\begin{document}
\makeatletter
\numberwithin{section}{part}
\AtBeginPart{\beamer@tocsectionnumber=0\relax}
\makeatother
\AtBeginPart{\frame{\partpage}}
\setcounter{part}{2}
\setcounter{section}{0}
\part{1st}
\section{First}
\begin{frame}
First
\end{frame}
\setcounter{part}{3}
\setcounter{section}{0}
\part{2nd}
\section{First}
\begin{frame}
First
\end{frame}
\end{document}
答案1
每当开始新的部分时,将计数器\beamer@tocsectionnumber=0
设置为零就足够了:section
\documentclass{beamer}
\usetheme[]{Frankfurt}
\setbeamerfont{block title}{size={}}
\setbeamercolor{titlelike}{parent=structure,bg=white}
\setbeamertemplate{navigation symbols}{}
\AtBeginSection[]{%
\begin{frame}\frametitle{Agenda}\tableofcontents[currentsection,hideallsubsections]\end{frame}}
\AtBeginDocument{\renewcommand*{\partname}{Theme}}
\makeatletter
\AtBeginPart{%
\beamer@tocsectionnumber=0\relax
\setcounter{section}{0}
\frame{\partpage}%
}
\makeatother
\begin{document}
\part{1st}
\section{Part One - Section~\thesection}
\begin{frame}
First
\end{frame}
\part{2nd}
\section{Part Two - Section~\thesection}
\begin{frame}
First
\end{frame}
\end{document}
相关框架的图像显示了计数器section
和目录中导航编号的所需行为: