![在 Beamer TOC 的任何位置显示未编号的部分](https://linux22.com/image/438389/%E5%9C%A8%20Beamer%20TOC%20%E7%9A%84%E4%BB%BB%E4%BD%95%E4%BD%8D%E7%BD%AE%E6%98%BE%E7%A4%BA%E6%9C%AA%E7%BC%96%E5%8F%B7%E7%9A%84%E9%83%A8%E5%88%86.png)
第 10.5 条LaTeX Beamer 手册指定生成目录的不同选项。其中之一是:
firstsection=⟨section number⟩
指定哪个部分应编号为“1”。如果您有第一部分(如概述部分)不应接收编号,则此功能很有用。默认情况下不显示章节编号。要显示它们,您必须安装不同的目录模板。
有一个类似的选项lastsection
。不过,就我而言,我需要中间有一个未编号的部分我的部分,不是开始或结束。以下是经过 Photoshop 处理的模型(a目录如果你愿意的话,我的意思就是:
\section*
如果您在答案中重新定义,这是可以接受的,因为我希望所有\section
s 和\section*
s 都显示在目录中,而\section*
的唯一默认目的恰恰是不显示在目录中。因此,上述模型可能来自以下 MWE:
\documentclass{beamer}
\usetheme{Antibes}
\usebeamercolor{dolphin}
\begin{document}
\begin{frame}
\tableofcontents
\end{frame}
\section*{Intro}
\section{First section}
\section{Second section}
\section*{Nope}
\section{Third section}
\section*{Outro}
\begin{frame}
\end{frame}
\end{document}
答案1
以下代码引入了一个命令\nonumsec
,该命令创建\section*
并向文件添加一个条目.toc
,最后一个参数设置为 0。这导致 Beamer(不知何故)不打印数字。添加条目的代码是从 Beamer 源代码复制而来的,特别是beamerbasesection.sty
。
可能会有副作用,因此请仔细测试。
梅威瑟:
\documentclass{beamer}
\usetheme{Antibes}
\usebeamercolor{dolphin}
\makeatletter
\newcommand{\nonumsec}[1]{%
\section*{#1}%
\addtocontents{toc}{\protect\beamer@sectionintoc{\the\c@section}{#1}{\the\c@page}{\the\c@part}%
{0}}%
}
\makeatother
\begin{document}
\begin{frame}
\tableofcontents
\end{frame}
\nonumsec{Intro}
\section{First section}
\section{Second section}
\nonumsec{Nope}
\section{Third section}
\nonumsec{Outro}
\begin{frame}
\end{frame}
\end{document}
生成的 TOC 文件:
\beamer@sectionintoc {1}{Intro}{2}{0}{0}
\beamer@sectionintoc {2}{First section}{2}{0}{1}
\beamer@sectionintoc {3}{Second section}{2}{0}{2}
\beamer@sectionintoc {4}{Nope}{2}{0}{0}
\beamer@sectionintoc {5}{Third section}{2}{0}{3}
\beamer@sectionintoc {6}{Outro}{2}{0}{0}
PDF 输出与目录k-向上。