在投影机上,显示阴影目录并在同一帧上逐步取消阴影

在投影机上,显示阴影目录并在同一帧上逐步取消阴影

我想知道如何在同一框架上首先显示全部阴影的目录,然后通过叠加逐渐显示(取消阴影)其中的每一行。

到目前为止我有这个:

\begin{frame}{Outline}
  \tableofcontents[pausesections,pausesubsections,subsectionstyle=shaded]
\end{frame}

它在开始时显示第一部分并隐藏其余目录,然后逐步显示阴影的子部分和不带阴影的部分。

谢谢!

答案1

这个建议只有在目录适合一个框架的情况下才有效。这个想法是先绘制一个“褪色”的目录,然后在其上放置第二个目录,并依次将其隐藏起来。

\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}{Outline}
\begin{overlayarea}{\textwidth}{0.85\textheight}
\begin{tikzpicture}
\node at (0,0) {\begin{minipage}{\textwidth}
\setbeamertemplate{section in toc shaded}[default][50] 
\tableofcontents[sectionstyle=shaded,subsectionstyle=shaded]
\end{minipage}};
\node at (0,0) {\begin{minipage}{\textwidth}
\tableofcontents[pausesections,pausesubsections]
\end{minipage}};
\end{tikzpicture}
\end{overlayarea}
\end{frame}
\section{A section}
\subsection{A subsection}
\begin{frame}
\frametitle{A frame}
\begin{overlayarea}{\textwidth}{0.85\textheight}

\end{overlayarea}
\end{frame}
\subsection{Another subsection}
\begin{frame}
\frametitle{Another frame}
\begin{overlayarea}{\textwidth}{0.85\textheight}

\end{overlayarea}
\end{frame}
\section{Another section}
\subsection{Yet another subsection}
\begin{frame}
\frametitle{Yet another frame}
\begin{overlayarea}{\textwidth}{0.85\textheight}

\end{overlayarea}
\end{frame}
\end{document}

答案2

我有一个解决方案,尽管它需要包含一些包。

我们将使用 一次创建一行目录parts,因为\tableofcontents[part=1]将为文档的某些指定部分创建目录。这将允许我们使用覆盖规范功能beamer可一次取消一条线条的阴影。

为了按节和小节分隔行,我们首先使用包中的命令\part{}\section\subsection命令前添加一个空调用:\pretocmdetoolbox

\pretocmd{\section}{\part{}}{}{}{}
\pretocmd{\subsection}{\part{}}{}{}{}

接下来,我们使用包中的命令计算parts文档中创建的数量:totvaluetotcount

\regtotcounter{part} % <- preamble
...
\totvalue{part} % <- the total number 

最后,我们使用包\foreach中的命令tikz循环遍历所有内容parts,并仅打印此元素的目录,并附带\uncover规范:

\begin{frame}{Outline}
  \setbeamercovered{transparent}
  \foreach\i in {1,...,\totvalue{part}}%
    {\uncover<\i->{\tableofcontents[part=\i,subsectionstyle=shaded]}}
\end{frame}

就我个人而言,我认为双重阴影subsections太难看清,但你可以尝试一下。

整个平均能量损失

\documentclass{beamer}

\usepackage{etoolbox}
\usepackage{tikz}
\usepackage{totcount}

\regtotcounter{part}
\pretocmd{\section}{\part{}}{}{}{}
\pretocmd{\subsection}{\part{}}{}{}{}

\begin{document}

\begin{frame}{Outline}
  \setbeamercovered{transparent}
  \foreach\i in {1,...,\totvalue{part}}%
    {\uncover<\i->{\tableofcontents[part=\i,subsectionstyle=shaded]}}
\end{frame}

\section{Sec 1}
\subsection{Sec 1.1}
\subsection{Sec 1.2}
\section{Sec 2}
\subsection{Sec 1.1}
\subsection{Sec 1.2}
\begin{frame}
dummy
\end{frame}

\end{document}

答案3

你可以将所有阴影目录移到一个单独的框架中,并减少帧数以使它们看起来像一个框架:

\documentclass{beamer}

\begin{document}

{
    \setbeamercovered{transparent}
    \begin{frame}{Outline}
          \tableofcontents[
            currentsection
          ]
    \end{frame} 
    \addtocounter{framenumber}{-1}
    \begin{frame}{Outline}
          \tableofcontents[
            pausesections,
            pausesubsections,
          ]
    \end{frame}
}

\section{sec1}
\subsection{sub1}
\begin{frame}
content...
\end{frame}
\subsection{sub2}
\begin{frame}
content...
\end{frame}
\section{sec2}
\begin{frame}
content...
\end{frame}


\end{document}

相关内容