我使用下面的标准投影仪代码在每个小节的开头创建了一个目录:
\在开始子节[] { \begin{框架}{轮廓} \tableofcontents[当前部分,当前子部分] \结束{框架} }
但是,我想自定义某些小节的目录;例如:
如果 \subsectionname != "..." 那么显示标准目录就可以了。
我怎样才能做到这一点?
答案1
对于特定子部分,您可以在它们开始之前修改其行为:您可以\AtBeginSubsection
在本地进行更改。这意味着您可以针对子部分进行更改,但通过将其包含在组中来保持此更改的本地性。例如,禁用\AtBeginSubsection
子部分目录:
\begingroup
\AtBeginSubsection{}
\subsection{No TOC}
\begin{frame}
...
\end{frame}
\endgroup
\subsection{Here's a TOC}
组结束后,全局\AtBeginSubsection
定义的宏将恢复活动状态。以下小节将显示目录 - 我已经测试过了。
这是因为\AtBeginSubsection
使用\def
重新定义内部宏而有效,内部宏在本地起作用,因此仅在组内可见,与相反\gdef
。