如何在 Beamer 中格式化标题和目录中的章节/小节的编号

如何在 Beamer 中格式化标题和目录中的章节/小节的编号

我对 Beamer 中的格式和编号有一些疑问。

我已将章节编号改为两位数,如下所示:01 第 1 节 01.01 第 1 节的第 1 小节 02 第 2 节 02.01 第 2 节的第 1 小节

I) 如何对目录中的编号做出相同的更改?

II) 如何更改目录中标题的缩进,以便垂直对齐数字和标题,如下所示?:01 第 1 节 01.01 第 1 节的第 1 小节 02 第 2 节 02.01 第 2 节的第 1 小节

III) 最后,如何在特定部分的目录中隐藏任何编号和格式?具体来说,最小示例中第二部分的目录不应有任何编号或格式。

这是一个简单的例子:

\documentclass{beamer}

\makeatletter
\renewcommand*{\thesection}{\two@digits{\@arabic\c@section}}
\renewcommand*{\thesubsection}{%
\thesection.\two@digits{\@arabic\c@subsection}}
\renewcommand*{\thesubsubsection}{%
\thesubsection.\two@digits{\@arabic\c@subsubsection}}
\makeatother

\setbeamertemplate{section in toc}[sections numbered]

\setbeamertemplate{frametitle}{%
\insertsectionnumber~\insertsection\\%
\insertsectionnumber.\insertsubsectionnumber~\insertsubsection%
}
\begin{document}

\frame{\tableofcontents}

\section{First section}
\subsection{First of the first}
\frame{\frametitle{x}}

\subsection{Second of the first}
\frame{\frametitle{x}}

\section{Second section}
\frame{\tableofcontents[sections={2}]}

\subsection{First of the second}
\frame{\frametitle{x}}

\subsection{Second of the second}
\frame{\frametitle{x}}
\end{document}

答案1

I) 如何对目录中的编号做出相同的更改?

您可以重新定义section in tocsubsection in toc模板

III) 最后,如何在特定部分的目录中隐藏任何编号和格式?具体来说,最小示例中第二部分的目录不应有任何编号或格式。

您可以暂时更改定义模板的方式。只要您在一个组中执行此操作,{...}它只会影响该组模板。


\documentclass{beamer}

\makeatletter
\renewcommand*{\thesection}{\two@digits{\@arabic\c@section}}
\renewcommand*{\thesubsection}{%
\thesection.\two@digits{\@arabic\c@subsection}}
\renewcommand*{\thesubsubsection}{%
\thesubsection.\two@digits{\@arabic\c@subsubsection}}
\makeatother

\setbeamertemplate{section in toc}[sections numbered]

\setbeamertemplate{frametitle}{%
\insertsectionnumber~\insertsection\\%
\insertsectionnumber.\insertsubsectionnumber~\insertsubsection%
}


\makeatletter
\setbeamertemplate{section in toc}{%
  \leavevmode%
  % prevents the period to be printed with the first/last section option
  \ifnum\beamer@tempcount>\beamer@toclastsection
  \else
  \ifnum\beamer@tempcount>0
    \ifnum\inserttocsectionnumber<10
      0%
    \fi
    \inserttocsectionnumber.
  \fi\fi%
  \inserttocsection\par%
}
\setbeamertemplate{subsection in toc}{
    \ifnum\inserttocsectionnumber<10
      0%
    \fi
    \inserttocsectionnumber.%
    \ifnum\inserttocsubsectionnumber<10
          0%
    \fi
    \inserttocsubsectionnumber
    \space\inserttocsubsection\par}

\makeatother


\begin{document}

\frame{\tableofcontents}

\section{First section}
\frame{\frametitle{x}}


\section{First section}
\frame{\frametitle{x}}

\section{First section}
\frame{\frametitle{x}}

\section{First section}
\frame{\frametitle{x}}
\section{First section}
\frame{\frametitle{x}}

\section{First section}
\frame{\frametitle{x}}

\section{First section}
\frame{\frametitle{x}}

\section{First section}
\frame{\frametitle{x}}

\section{First section}
\frame{\frametitle{x}}

\section{First section}
\frame{\frametitle{x}}

\subsection{Second of the first}
\frame{\frametitle{x}}

{
\makeatletter
\setbeamertemplate{section in toc}{%
  \leavevmode%
  \inserttocsection\par%
}
\setbeamertemplate{subsection in toc}{
  \leavevmode
  \inserttocsubsection\par}

\makeatother
\section{Second section}
\frame{\tableofcontents[sections={2}]}
}
\subsection{First of the second}
\frame{\frametitle{x}}

\subsection{Second of the second}
\frame{\frametitle{x}}
\end{document}

在此处输入图片描述

相关内容