アニメーションなしの Beamer ページ番号付け

アニメーションなしの Beamer ページ番号付け

プレゼンテーションを行うときは、通常、次のようにフレームを整理します。

  • タイトルに表示されているトピックについて1つのフレームを作成します
  • onlyそのフレーム内で、コマンドを使用してサブトピックごとに1つのスライドを作成します。
  • 各サブトピックのスライド内には、通常、アニメーションitemizeリストを配置し、\item<N->

各スライドに関連する質問を簡略化するために、スライドの番号を次のように付けたいと思います。

  • カウントはフレームごとに進む必要があります
  • フレームのサブトピックの各スライドには、次のように番号を付けます。Nframe.Nslide

たとえば、2 番目のフレームの 3 番目のスライドを表示する場合、カウンターを表示したいと思います2.3

私の知る限り、番号付けには 2 つの可能性があります。

  • フレーム番号(私の場合、サブトピックのスライドでカウンターが増加しないため機能しません)
  • ページ番号 (私の場合は、リスト内のアニメーションもカウントされるため機能しませんitemize)。

スライドに望ましい動作が書かれた例を次に示します。

\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usetheme{Dresden}
\setbeamersize{text margin left=.3cm,text margin right=.5cm}
\setbeamertemplate{itemize items}[triangles]
\title[]{Title}
\author[]{Author}
\date{date}
\setbeamercovered{transparent}

\setbeamertemplate{page number in head/foot}[totalpagenumber]

%1 titolo
\begin{document}
\beamertemplatenavigationsymbolsempty
\begin{frame}
\maketitle
\end{frame}

\begin{frame}{Frame 1}
    Frame 1, slide 1\\
    Should be numbered as slide 1
\end{frame}

\begin{frame}{Frame 2}
    \only<1-2>{
    \framesubtitle{Frame 2, slide 1}
    Should be numbered as slide 2.1
    \begin{itemize}
        \item <1-> Even if I use itemize
        \item <2-> With animations
    \end{itemize}
    }
    
    \only<3>{
    \framesubtitle{Frame 2, slide 2}
    Should be numbered as slide 2.2
    }
\end{frame}

\begin{frame}{Frame 3}
    Frame 3, slide 1\\
    Should be numbered as slide 3
\end{frame}

\end{document}

前もって感謝します :)

答え1

裏では と\item<>同じ仕組みが使われています\only<>。それらを解きほぐすのは複雑になります。

代わりに、プレゼンテーションを別の方法で構成することもできます。トピックごとにセクション、サブセクション、またはサブサブセクションを使用し、サブトピックごとにフレームを使用し、フレーム内に必要なだけアニメーションを追加します。

\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usetheme{Dresden}
\setbeamersize{text margin left=.3cm,text margin right=.5cm}
\setbeamertemplate{itemize items}[triangles]
\title[]{Title}
\author[]{Author}
\date{date}
\setbeamercovered{transparent}


% total number of sections %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{totcount}
\newcounter{totalsection}
\regtotcounter{totalsection}

\AtBeginDocument{%
  \pretocmd{\section}{\refstepcounter{totalsection}}{}{}%
}%

% fix for xcntperchap from https://topanswers.xyz/tex?q=1987#a2230
\ExplSyntaxOn % fix xcntperchap
\cs_set_eq:NN \c_zero \c_zero_int
\ExplSyntaxOff
\usepackage{xcntperchap}
\RegisterCounters{section}{framenumber}

\newcounter{FrameInSection}

\AtBeginEnvironment{frame}{
\ifnum\thesection>0
\setcounter{FrameInSection}{\ObtainTrackedValueExp[\thesection]{section}{framenumber}}
\fi
}

\setbeamertemplate{page number in head/foot}{%
  \insertsectionnumber
  \ifnum\theFrameInSection>1
    .\insertframenumber
  \fi
}

\AtBeginSection{\setcounter{framenumber}{0}}

\setbeamertemplate{headline}{}

%1 titolo
\begin{document}
\beamertemplatenavigationsymbolsempty
\begin{frame}[noframenumbering,plain]
\maketitle
\end{frame}

\section{Topic 1}

\begin{frame}
    \frametitle{Topic 1}
    Frame 1, slide 1

    Should be numbered as slide 1
\end{frame}

\section{Topic 2}

\begin{frame}
    \frametitle{Topic 2}
    \framesubtitle{Frame 2, slide 1}
    Should be numbered as slide 2.1
    \begin{itemize}
        \item <1-> Even if I use itemize
        \item <2-> With animations
    \end{itemize}
\end{frame}
    
\begin{frame}
    \frametitle{Topic 2}
    \framesubtitle{Topic 2, slide 2}
    Should be numbered as slide 2.2
\end{frame}

\section{Topic 3}

\begin{frame}
    \frametitle{Topic 3}
    Frame 3, slide 1

    Should be numbered as slide 3
\end{frame}

\end{document}

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

関連情報