Beamer プレゼンテーションの ToC を A4 の PDF に分割して取得するにはどうすればよいですか?

Beamer プレゼンテーションの ToC を A4 の PDF に分割して取得するにはどうすればよいですか?

私は講義のために長いビーマープレゼンテーションを準備中です。

プレゼンテーション全体の目次を作成し、セクション、章、各フレームのタイトルを A4 形式の別の PDF ファイルにリストしたいと思います。

この分離された PDF に、1 ページあたり約 3 枚のスライドに相当する、すべてのスライドとメモの印刷物を追加することも役立ちます。

これを実行する方法について何かアイデアはありますか?

PS テーマとして「Sapienza Presentation」を使用しています (https://www.overleaf.com/latex/templates/sapienza-presentation/yyksmrskffhk

編集: 次のコードはテストとして使用できます。章の環境宣言とテーマ テンプレートで使用されるすべての画像は、Overleaf テンプレート リンクにあります。出力として、次のような目次が期待されます。

Sapienza Beamer プレゼンテーションテーマ

  • 第1セクション
    • 第A章
      • スライド 1
      • スライド2
      • スライド3
    • 第B章
      • スライド4
      • スライド5
  • 第2セクション
    • 第C章
      • スライド6
      • スライド7

その後、すべてのスライドをそれぞれのメモとともに印刷します。

\documentclass{beamer}
\usepackage{amsfonts,amsmath,oldgerm}
\usetheme{sintef}

\newcommand{\testcolor}[1]{\colorbox{#1}{\textcolor{#1}{test}}~\texttt{#1}}

\usefonttheme[onlymath]{serif}

\titlebackground*{assets/background}

\newcommand{\hrefcol}[2]{\textcolor{cyan}{\href{#1}{#2}}}

\title{Sapienza Beamer Presentation Theme}
\subtitle{Using \LaTeX\ to prepare slides}
\course{Master's Degree in Computer Science}
\author{\href{mailto:[email protected]}{Andrea Gasparini}}
\IDnumber{1234567}
\date{Academic Year 2021/2022}

\setbeameroption{show notes on second screen}
\setbeamertemplate{note page}[default] % See Beamer User Guide pag.197

\begin{document}
\maketitle

\section{First Section}
    \begin{chapter}[assets/background_negative]{}{Chapter A}
    \end{chapter}
        \begin{frame}{Slide 1}
            \note[item]{Note to Slide 1}
        \end{frame}
        \begin{frame}{Slide 2}
            \note[item]{Note to Slide 2}
        \end{frame}
        \begin{frame}{Slide 3}  
            \note[item]{Note to Slide 3}
        \end{frame}

    \begin{chapter}[assets/background_negative]{}{Chapter B}
    \end{chapter}
        \begin{frame}{Slide 4}
        \end{frame}
        \begin{frame}{Slide 5}  
        \end{frame}

\section{Second Section}
    \begin{chapter}[assets/background_negative]{}{Chapter C}
    \end{chapter}
        \begin{frame}{Slide 6}   
        \end{frame}
        \begin{frame}{Slide 7}
        \end{frame}
\end{document}

答え1

目次にフレームタイトルを追加する

これはすでに解決されているhttps://tex.stackexchange.com/a/17233/36296

Chapter Aテーマが生成するフレームを非表示にするために、いくつかの調整を行う必要があるかもしれません。ここにいくつかの汚いハックがあります:

\documentclass{beamer}
\usepackage{amsfonts,amsmath,oldgerm}
\usetheme{sintef}

\setbeameroption{show notes on second screen}

\newcommand{\testcolor}[1]{\colorbox{#1}{\textcolor{#1}{test}}~\texttt{#1}}

\usefonttheme[onlymath]{serif}

\titlebackground*{assets/background}

\newcommand{\hrefcol}[2]{\textcolor{cyan}{\href{#1}{#2}}}

\title{Sapienza Beamer Presentation Theme}
\subtitle{Using \LaTeX\ to prepare slides}
\course{Master's Degree in Computer Science}
\author{\href{mailto:[email protected]}{Andrea Gasparini}}
\IDnumber{1234567}
\date{Academic Year 2021/2022}

\usepackage{bookmark}
\usepackage{etoolbox}

\newtoggle{hidetitles}
\togglefalse{hidetitles}

\makeatletter
% save the current definition of \beamer@@frametitle
\let\nobookmarkbeamer@@frametitle\beamer@@frametitle
% then patch it to do the bookmarks and/or TOC entries
\apptocmd{\beamer@@frametitle}{%
  % keep this to add the frame title to the TOC at the "subsection level"
  \iftoggle{hidetitles}{}{
  \addtocontents{toc}{\protect\beamer@subsectionintoc{\the\c@section}{0}{~~~~#1}{\the\c@page}{\the\c@part}%
        {\the\beamer@tocsectionnumber}}%
  }
  % keep this line to add a bookmark that shows up in the PDF TOC at the subsection level
  \bookmark[page=\the\c@page,level=3]{#1}%
  }%
  {\message{** patching of \string\beamer@@frametitle succeeded **}}%
  {\errmessage{** patching of \string\beamer@@frametitle failed **}}%

\pretocmd{\beamer@checknoslide}{%
  % ensure the bookmark is not created if the slide is filtered out
  \let\beamer@@frametitle\nobookmarkbeamer@@frametitle
  }%
  {\message{** patching of \string\beamer@checknoslide succeeded **}}%
  {\errmessage{** patching of \string\beamer@checknoslide failed **}}%


\renewenvironment{chapter}[3][]{% Args: image (optional), color, frame title
  \begingroup
  \addtocontents{toc}{\protect\beamer@subsectionintoc{\the\c@section}{0}{#3}{\the\c@page}{\the\c@part}%
          {\the\beamer@tocsectionnumber}}%
  \themecolor{main}
  \setbeamertemplate{footline}{}
  \ifstrempty{#2}{
    \setbeamercolor{frametitle}{fg=white}
    \setbeamercolor{normal text}{fg=white,bg=maincolor}
  }{
    \setbeamercolor{frametitle}{fg=white}
    \setbeamercolor{normal text}{fg=white,bg=#2}
  }
  \ifstrempty{#1}{}{\setbeamertemplate{background}{\TikzSplitSlide{#1}}}
  \setbeamertemplate{frametitle}{%
    \vspace*{8ex}
    \begin{beamercolorbox}[wd=0.45\textwidth]{frametitle}
      \usebeamerfont{frametitle}\insertframetitle\\
      \usebeamerfont{framesubtitle}\insertframesubtitle
    \end{beamercolorbox}
  }
  \toggletrue{hidetitles}
  \begin{frame}{#3}
  \hspace*{0.05\textwidth}%
  \minipage{0.35\textwidth}%
  \usebeamercolor[fg]{normal text}%
}{%
  \endminipage
  \end{frame}
  \endgroup
}

% Define sectioning and table of contents
\AtBeginSection[]
{
    \begingroup
    \toggletrue{hidetitles}
    \themecolor{main}
    \begin{frame}{Table of Contents}
        \tableofcontents[currentsection]
    \end{frame}
    \endgroup
}

\makeatother


\begin{document}
\maketitle

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

\section{First Section}
    \begin{chapter}[assets/background_negative]{}{Chapter A}
    \end{chapter}
        \begin{frame}{Slide 1}
        \end{frame}
        \begin{frame}{Slide 2} 
        \end{frame}
        \begin{frame}{Slide 3}  
        \end{frame}

    \begin{chapter}[assets/background_negative]{}{Chapter B}
    \end{chapter}
        \begin{frame}{Slide 4}
        \end{frame}
        \begin{frame}{Slide 5}  
        \end{frame}

\section{Second Section}
    \begin{chapter}[assets/background_negative]{}{Chapter C}
    \end{chapter}
        \begin{frame}{Slide 6}   
        \end{frame}
        \begin{frame}{Slide 7}
        \end{frame}
\end{document}

ドキュメントとスライドの概要を含む A4 ドキュメントを生成する

新しい .tex ドキュメントを使用し、以下のコードをdocumentプレゼンテーションの名前と14スライドの数に置き換えます。

\documentclass[t]{beamer}

\geometry{a4paper}

\usepackage{pgffor}
\usepackage{pdfpages}

\makeatletter
\newcommand{\mytoc}{%
  \def\beamer@toc@cs{show}%
  \def\beamer@toc@os{show}%
  \def\beamer@toc@css{show}%
  \def\beamer@toc@oss{show}%
  \def\beamer@toc@ooss{show}%
  \def\beamer@toc@csss{show}%
  \def\beamer@toc@osss{show}%
  \def\beamer@toc@oosss{show}%
  \def\beamer@toc@ooosss{show}%
  \beamer@showpartnumber=\c@part%
  \beamer@pausesectionsfalse%
  \beamer@pausesubsectionsfalse%
  \def\beamer@tocsections{<*>}%
  \setkeys{beamertoc}{firstsection=1}%
  {\makeatletter%
    \pause[0]%
    \@input{document.toc}%
    }%
  \vfill
}
\makeatother

\begin{document}

\begin{frame}
\mytoc
\end{frame}

\includepdf[page=1-,nup=1x3]{document}

\end{document}

ここに画像の説明を入力してください ここに画像の説明を入力してください

関連情報