减少 Beamer TOC 小节条目的间距

减少 Beamer TOC 小节条目的间距

减少目录间距(投影仪)答案是使用带有代码的 etoolbox

\patchcmd{\beamer@sectionintoc}{\vskip1.5em}{\vskip0.5em}{}{}. 

这对我来说可以减少 Beamer TOC 中部分条目之间的空间,但对子部分条目之间的空间无效。修补 \beamer@subsectionintoc 是可行的方法吗?我试过了

\patchcmd{\beamer@subsectionintoc}{\vskip1.5em}{\vskip0.5em}{}{}, 

但这不起作用。

以下是 MWE samcarter 请求的:

\documentclass{beamer}

\usepackage[T1]{fontenc}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
\setlength{\parskip}{\smallskipamount}
\setlength{\parindent}{0pt}

\usepackage{amsmath}
\usepackage{mathspec}
\setmainfont{Times New Roman}
\setmathsfont(Digits,Latin)[Numbers={Lining,Proportional}]{Times New Roman}

\usetheme{CambridgeUS}

\usefonttheme{serif}
\setbeamerfont{quote}{shape=\upshape,family=\rmfamily}

\setbeamertemplate{itemize item}{\scriptsize\raise1.25pt\hbox{\donotcoloroutermaths$\blacktriangleright$}}
\setbeamertemplate{itemize subitem}{\tiny\raise1.5pt\hbox{\donotcoloroutermaths$\blacktriangleright$}}
\setbeamertemplate{itemize subsubitem}{\tiny\raise1.5pt\hbox{\donotcoloroutermaths$\blacktriangleright$}}

\setbeamertemplate{enumerate item}{\insertenumlabel.}
\setbeamertemplate{enumerate subitem}{\insertenumlabel.\insertsubenumlabel}
\setbeamertemplate{enumerate subsubitem}{\insertenumlabel.\insertsubenumlabel.\insertsubsubenumlabel}

\setbeamertemplate{enumerate mini template}{\insertenumlabel}

\AtBeginSection[]{\frame<beamer>{ \tableofcontents[currentsection,hideallsubsections]}}

\AtBeginSubsection[] {\frame<beamer>{ \tableofcontents[currentsection,currentsubsection] }}

\beamerdefaultoverlayspecification{<+->}

\usepackage{etoolbox}

\makeatletter
\patchcmd{\beamer@sectionintoc}{\vskip1.5em}{\vskip0.5em}{}{}
\patchcmd{\beamer@subsectionintoc}{\vskip1.5em}{\vskip0.5em}{}{}
\makeatother

\usepackage[style=philosophy-classic,natbib=true,backend=biber,shorthandintro=false]{biblatex}

\begin{document}

\title{A Title}

\author{An. Author}

\institute{Universitas Nulla}

\date{}

\maketitle

\begin{frame}{Outline}
\tableofcontents{}
\end{frame}

\section{A}

\subsection{A1}
\subsection{A2}
\subsection{A3}

\section{B}

\section{C}

\section{D}

\section{E}

\section{F}

\subsection{F1}
\subsection{F2}
\subsection{F3}

\section{G}

\section{H}

\end{document}

注释掉\setlength{\parskip}{\smallskipamount}似乎会产生正确的结果。

相关内容