我正在使用主题创建演示文稿Bergen
。以下是我的目录页。sidebar
包含section
s,主文本区域包含subsection
s。
我还有几个部分要插入。为了将整个目录放入一张幻灯片中,我希望实现以下目标:
subsection
每个的第一个应该出现在同一行。(现在它从 中的section
后的下一行开始。)section
sidebar
- 需要控制
\vspace
节与小节之间的。
以下是 MWE。请帮忙。
\documentclass[aspectratio=169, xcolor=table]{beamer}
\usetheme{Bergen}
\usefonttheme{serif}
\begin{document}
\begin{frame}{Overview}
\tableofcontents
\end{frame}
\section{Highlights of the year}
\begin{frame}
\end{frame}
\section{Profile of the College}
\begin{frame}
\end{frame}
\subsection{Management Structure}
\begin{frame}
\end{frame}
\subsection{Student Strength}
\begin{frame}
\end{frame}
\subsection{Faculty Strength}
\begin{frame}
\end{frame}
\section{NBU Examination Results}
\begin{frame}
\end{frame}
\subsection{Even Semester Examination -- July 2021}
\begin{frame}
\end{frame}
\subsection{Odd Semester Examination -- February 2022}
\begin{frame}
\end{frame}
\section{Students' Achievements}
\begin{frame}
\end{frame}
\end{document}
答案1
您可以使用以下补丁将每个第一小节上移一位\baselineskip
(对于这还不够的情况,比如两行部分,您可以使用 手动调整它\addtocontents{toc}{\vspace{-\baselineskip}}
):
\documentclass[aspectratio=169, xcolor=table]{beamer}
\usetheme{Bergen}
\usefonttheme{serif}
\makeatletter
\patchcmd{\beamer@subsection}{%
\refstepcounter{subsection}%
}{%
\refstepcounter{subsection}%
\ifnum\the\c@subsection=1
\addtocontents{toc}{\vspace{-\baselineskip}}%
\fi
}{}{}
\makeatother
\begin{document}
\begin{frame}{Overview}
\tableofcontents
\end{frame}
\section{Highlights of the year}
\begin{frame}
\end{frame}
\section{Profile of the College}
\begin{frame}
\end{frame}
\subsection{Management Structure}
\begin{frame}
\end{frame}
\subsection{Student Strength}
\begin{frame}
\end{frame}
\subsection{Faculty Strength}
\begin{frame}
\end{frame}
\section{NBU Examination Results}
\begin{frame}
\end{frame}
\addtocontents{toc}{\vspace{-\baselineskip}}%
\subsection{Even Semester Examination -- July 2021}
\begin{frame}
\end{frame}
\subsection{Odd Semester Examination -- February 2022}
\begin{frame}
\end{frame}
\section{Students' Achievements}
\begin{frame}
\end{frame}
\end{document}