beamer 源码中一些宏的含义

beamer 源码中一些宏的含义

beamerbasetoc.sty在包的源文件中beamer有以下几行:

\def\tableofcontents{\@ifnextchar[{\beamer@tableofcontents}{\beamer@tableofcontents[]}}
\def\beamer@tableofcontents[#1]{%
  \def\beamer@toc@cs{show}%
  \def\beamer@toc@os{show}%
  \def\beamer@toc@css{show}%
  \def\beamer@toc@oss{show}%
  \def\beamer@toc@ooss{show}%
  \def\beamer@toc@csss{show}%
  \def\beamer@toc@osss{show}%
  \def\beamer@toc@oosss{show}%
  \def\beamer@toc@ooosss{show}%
  \beamer@showpartnumber=\c@part%
  \beamer@pausesectionsfalse%
  \beamer@pausesubsectionsfalse%
  \def\beamer@tocsections{<*>}%
  \setkeys{beamertoc}{firstsection=1}%
  \setkeys{beamertoc}{#1}%
  \vspace*{-.5em}{\makeatletter%
    \pause[0]%
    \@input{\jobname.toc}%
    \vfill}%

这些宏的含义是什么?

  • \beamer@toc@cs
  • \beamer@toc@os
  • \beamer@toc@css
  • \beamer@toc@oss
  • \beamer@toc@ooss
  • \beamer@toc@csss
  • \beamer@toc@osss
  • \beamer@toc@oosss
  • \beamer@toc@ooosss

我猜s代表sectionsssubsection。但是和sss呢?subsubsectionco

答案1

简短回答

c为当前,o为其他。这些宏用于beamer目录中分段单元条目样式的默认值。

不太简短的答案

beamer允许对目录中的条目应用一些效果。条目可以像在标准类别中一样以常规方式显示(这称为样式show),也可以以半透明方式显示(这称为样式shaded),或者根本不显示(样式hide)。

问题中的代码显示了控制目录中节、小节和小子节样式的宏beamer

对于章节,您有两种选择样式的可能性:一种用于当前章节(cs),另一种用于其他章节(os)。

对于小节,您有三种样式可供选择:一种用于当前小节(css);一种用于当前节中的其他小节(oss),还有一种用于其他节中的小节(ooss)。

对于小节,您有四种样式可供选择:一种用于当前小节 ( csss);一种用于当前小节中的小节 ( osss),一种用于其他小节中其他小节 ( oosss),还有一种用于其他小节 ( ooosss)。

对于每一种可能性,您可以选择其中一种风格showhideshaded

问题中的代码给出了样式的默认值。例如,

\def\beamer@toc@css{show}%

用于设置show为当前小节的默认样式;该样式存储在中\beamer@toc@css

您可以使用 的可选参数中的sectionstylesubsectionstyle、键更改默认设置。例如,您可以说subsubsectionstyle\tableofcontents

\tableofcontents[sectionstyle=show/shaded]

这将导致当前部分出现show样式,而其他部分也将具有该shaded样式(当然,您也可以自定义这些样式)。

一些样式定义有简写形式:例如,

\tableofcontents[currentsection]

是相同的

\tableofcontents[sectionstyle=show/shaded,subsectionstyle=show/show/shaded]

这些简写和有关样式的其他信息在第节中描述10.5 添加目录手册beamer

相关内容