如何将部分内容添加到 beamer 中的目录中?

如何将部分内容添加到 beamer 中的目录中?

我想将文档部分详细信息添加到目录中,并在浏览框架时使它们显示阴影。

\documentclass{beamer}

\newcommand{\mypart}{
\begin{frame}[noframenumbering, plain]
    \partpage
\end{frame}
}

\newcommand{\mymaintoc}{
\begin{frame}[noframenumbering, plain]
    \frametitle{Outline}
        \tableofcontents
\end{frame}
}

\newcommand{\mytoc}{
\begin{frame}[noframenumbering, plain]
    \frametitle{Outline}
    \tableofcontents[
        sectionstyle=show/shaded,
        subsectionstyle=show/shaded,
        subsubsectionstyle=show/shaded
    ]
\end{frame}
}

\begin{document}
    \mymaintoc
    \section{Introduction}
    \begin{frame}{Intro}
    \end{frame}

    \part{Harry Potter and the Sorcerer's Stone}
    \mypart
    \section{Section 1}
    \mytoc
    \frame{}

    \part{Harry Potter and the Chamber of Secrets}
    \mypart
    \section{Section 2}
    \mytoc
    \frame{}
    \section{Section 3}
    \mytoc
    \frame{}
\end{document}

我正在尝试获取以下内容:

  • 介绍
  • 第一部分:哈利·波特与魔法石
    • 第 1 部分
  • 第二部分:哈利·波特与密室
    • 第 2 部分
    • 第 3 部分

此外,我想对其中的部分和章节进行阴影处理\mytoc

答案1

\documentclass{beamer}

\AtBeginPart{
\begin{frame}[noframenumbering, plain]
    \partpage
\end{frame}
}

\usepackage{pgffor}

\usepackage{totcount}
\regtotcounter{part}



\newcommand{\mymaintoc}{
\begin{frame}[noframenumbering, plain]
    \frametitle{Outline}
    \tableofcontents
    \addtobeamertemplate{section in toc}{\hspace{0.5cm}}{}
    \foreach\x in {1,...,\totvalue{part}}{%
    
        \vfill
        \vskip-0.4cm
        Part \x: \nameref{part:\x}
        \vfill
        
        \tableofcontents[part=\x]%
    }%
    \end{frame}
}

\newcommand{\mytoc}{
\begin{frame}[noframenumbering, plain]
    \frametitle{Outline}
    \tableofcontents[
        sectionstyle=show/shaded,
        subsectionstyle=show/shaded,
        subsubsectionstyle=show/shaded
    ]
\end{frame}
}

\begin{document}
    \mymaintoc
    \section{Introduction}
    \begin{frame}{Intro}
    \end{frame}

    \part{Foo}
    \makeatletter
    \expandafter\NR@gettitle\expandafter{\beamer@partname}
    \makeatother
    \label{part:1}
    \section{Section 1}
    \mytoc
    \frame{}

    \part{Bar}
    \makeatletter
    \expandafter\NR@gettitle\expandafter{\beamer@partname}
    \makeatother
    \label{part:2}
    \section{Section 2}
    \mytoc
    \frame{}
    \section{Section 3}
    \mytoc
    \frame{}
\end{document}

在此处输入图片描述

使用 beamer v3.70 或更新版本,上述代码可以简化为

\documentclass{beamer}

\AtBeginPart{
\begin{frame}[noframenumbering, plain]
    \partpage
\end{frame}
\label{part:\thepart}
}

\usepackage{pgffor}

\usepackage{totcount}
\regtotcounter{part}



\newcommand{\mymaintoc}{
\begin{frame}[noframenumbering, plain]
    \frametitle{Outline}
    \tableofcontents
    \addtobeamertemplate{section in toc}{\hspace{0.5cm}}{}
    \foreach\x in {1,...,\totvalue{part}}{%
    
        \vfill
        \vskip-0.4cm
        Part \x: \nameref{part:\x}
        \vfill
        
        \tableofcontents[part=\x]%
    }%
    \end{frame}
}

\newcommand{\mytoc}{
\begin{frame}[noframenumbering, plain]
    \frametitle{Outline}
    \tableofcontents[
        sectionstyle=show/shaded,
        subsectionstyle=show/shaded,
        subsubsectionstyle=show/shaded
    ]
\end{frame}
}

\begin{document}
    \mymaintoc
    \section{Introduction}
    \begin{frame}{Intro}
    \end{frame}

    \part{Foo}

    \section{Section 1}
    \mytoc
    \frame{}

    \part{Bar}

    \section{Section 2}
    \mytoc
    \frame{}
    \section{Section 3}
    \mytoc
    \frame{}
\end{document}

相关内容