如何在投影机中明确分割长目录?

如何在投影机中明确分割长目录?

假设我有一个很长的目录beamer,通过该allowframebreaks选项,LaTeX 可以将其扩展为两张(或更多)幻灯片。

\documentclass[12pt]{beamer}
\usetheme{madrid}
\usepackage[american]{babel}
\usepackage[utf8]{inputenx}
\usepackage[T1]{fontenc}
\usepackage{lmodern}

\title{List of Donald Duck universe characters}
\author{Walt Disney}

\begin{document}

\section{Main characters}
\subsection{Donald Duck}
\subsection{Daisy Duck}
\subsection{Huey, Dewey, and Louie}
\subsection{Scrooge McDuck}
\subsection{Ludwig Von Drake}

\section{Relatives}
\subsection{Duck family (Disney)}
\subsection{Clan McDuck}

\section{Duck characters}
\subsection{Umperio Bogarto}
\subsection{Bum Bum Ghigno}
\subsection{Magica De Spell}
\subsection{Evroniani}
\subsection{Flintheart Glomgold}
\subsection{Gloria}
\subsection{Gotrocks}
\subsection{Grand Mogul}
\subsection{Mata Harrier}
\subsection{Brigitta MacBridge}

\begin{frame}[allowframebreaks]{Donald Duck universe characters}
\tableofcontents
\end{frame}

\end{document}

第一张幻灯片已填满,其余部分(顶部对齐)放在第二张幻灯片上。但是,我想对其进行微调,使第 1 和第 2 部分显示在幻灯片 1 上,而第 3 部分(包括其所有子部分)显示在幻灯片 2 上。当然,两张幻灯片上的文本应垂直居中,而不是顶部对齐。我还想保留后续幻灯片上的自动标题编号,即 I、II、III。

我知道\framebreak,但不知道放在哪里! \tableofcontents[hideothersubsections]建议在这里似乎也没有什么效果。

答案1

\documentclass[12pt]{beamer}
\usetheme{Madrid}
\usepackage[american]{babel}
\usepackage[utf8]{inputenx}
\usepackage[T1]{fontenc}
\usepackage{lmodern}

\title{List of Donald Duck universe characters}
\author{Walt Disney}

\begin{document}

\section{Main characters}
\subsection{Donald Duck}
\subsection{Daisy Duck}
\subsection{Huey, Dewey, and Louie}
\subsection{Scrooge McDuck}
\subsection{Ludwig Von Drake}

\section{Relatives}
\subsection{Duck family (Disney)}
\subsection{Clan McDuck}

\section{Duck characters}
\subsection{Umperio Bogarto}
\subsection{Bum Bum Ghigno}
\subsection{Magica De Spell}
\subsection{Evroniani}
\subsection{Flintheart Glomgold}
\subsection{Gloria}
\subsection{Gotrocks}
\subsection{Grand Mogul}
\subsection{Mata Harrier}
\subsection{Brigitta MacBridge}

\begin{frame}[allowframebreaks]{Donald Duck universe characters}
  \tableofcontents[sections={1-2}]
    \framebreak
  \tableofcontents[sections={3}]
\end{frame}

\end{document}

答案2

我的建议是避免将 ToC 拆分成几帧。替代方案:

1)开始仅显示章节(不显示子章节):

\begin{frame}{ToC}
\setcounter{tocdepth}{1}
\tableofcontents
% \setcounter{tocdepth}{2} % allow subsequent ToCs *with* subsections  
\end{frame}

...或者更短:

\begin{frame}{ToC}
\tableofcontents[hideallsubsections]
\end{frame}

mwe1

演示中的简单就是力量。

2)与上一点不矛盾,显示每个部分开始的目录,但突出显示当前部分并可选择仅显示此部分的子部分:

% In the preamble!!
\AtBeginSection
{\begin{frame}{ToC}
\tableofcontents[currentsection,hideothersubsections]
\end{frame}}
\begin{document}

如果您离开了点 1 的框架,则设置tocdepth计数器!2

mwe2

在某些情况下(例如显示第 3 部分),这还不够,因为有 10 个子部分。以下是我的建议:

a) 不显示任何子部分(tocdepth在 中维护1)。简单就是力量。

b) 如果可能的话,重新设计结构,减少子部分。

c)使用多列,例如:

% In the preamble!!
\usepackage{multicol}
\AtBeginSection
{\begin{frame}{ToC}
\begin{multicols}{2}
\tableofcontents[currentsection,hideothersubsections]
\end{multicols}
\end{frame}}
\begin{document}

MWE3

d) 删除阴影部分,仅显示实际部分的目录 \tableofcontents[sectionstyle=show/hide,subsectionstyle=show/show/hide]

MWE4

答案3

您可以通过选项指定要显示哪个部分:

\tableofcontents[sections={1-3}]

因此,您可以手动指定在每个框架中显示哪个部分:

\begin{frame}{Outline}
  \tableofcontents[sections={1-3}]
\end{frame}
\begin{frame}
   \tableofcontents[sections={4-5}]
\end{frame}

答案4

\section*{Outline}
\begin{frame}{Agenda}
\begin{columns}[onlytextwidth]
\column{0.5\textwidth}
\tableofcontents[sections = 1-2]
\column{0.5\textwidth}
\tableofcontents[sections = 3-4]
\end{columns}
\end{frame}

\section{Executive Summary}
\subsection{Vision and Objectives}
\subsection{Current Needs and Status}
\subsection{Approaches}
\subsection{Review}
\section{The 5 W's and the H}
\subsection{What?}
\subsection{Why?}
\subsection{Where?}
\subsection{When?}
\subsection{Who?}
\section{Examples}

产生以下输出:

在此处输入图片描述

相关内容