2

In Reduce spacing in table of contents (beamer) the answer is to use etoolbox with code

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

This works for me to reduces space between sections entries in Beamer TOC, but it not between subsection entries. Is patching \beamer@subsectionintoc the way to go? I tried

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

but this doesn't work.

Here's the MWE samcarter requested:

\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}

Commenting out \setlength{\parskip}{\smallskipamount} seems to yield the right result.

  • 3
    While you wait for an answer to this question, can you go back to your previous ones and look if the answers solve your problems and accept them, if they do? – samcarter_is_at_topanswers.xyz Aug 9 '17 at 18:41
  • 2
    Can you please make a MWE that demonstrates your problem? If I take the code from the answer you liked to I get i.stack.imgur.com/dl04m.png which basically has no spaces at all between the subsection. – samcarter_is_at_topanswers.xyz Aug 9 '17 at 18:44
  • So is your problem solved by removing \setlength{\parskip}{\smallskipamount}? – samcarter_is_at_topanswers.xyz Aug 9 '17 at 20:49
  • 1
    Yes, that worked. Sorry to have troubled you, but thanks for urging me to do an MWE. – ss1789 Aug 10 '17 at 3:55
  • 4
    I'm voting to close this question as solved by the OP – samcarter_is_at_topanswers.xyz Aug 10 '17 at 8:26

Browse other questions tagged or ask your own question.