Code

Code

Ich erstelle eine ziemlich lange Präsentation mit Beamer. Sie ist in Abschnitte unterteilt und am Ende jedes Abschnitts mache ich eine Pause. Daher möchte ich einen doppelten Zähler für die aktuelle Folie haben. Beispiel: Angenommen, ich befinde mich gerade bei der 3. Folie von Abschnitt 2 (bestehend aus 20 Folien) und Abschnitt 1 besteht aus 50 Folien, dann beträgt der erste Zähler 3/20 und der zweite 53/70 (wenn es nur zwei Abschnitte gibt).

Das ist meine Arbeitsumgebung:

\documentclass[t,10pt,xcolor=dvipsnames]{beamer}
 \mode<presentation>
 {
 \usetheme{AnnArbor}
 \setbeamercovered{transparent}
\useinnertheme{rounded}
   \usecolortheme{spruce}
 }

  \setbeamercolor{section in head/foot}{fg=White}
\section{Sec1}
\subsection{Sub 1}
\begin{frame}{Fra 1}
\end{frame}
\begin{frame}{Fra 2}
\end{frame}
\begin{frame}{Fra 3}
\end{frame}
\section{Sec2}
\subsection{Sub 1}
\begin{frame}{Fra 1}
\end{frame}
\begin{frame}{Fra 2}
\end{frame}
\end{document}

Irgendeine Hilfe?

Antwort1

Es sind keine neuen Zähler erforderlich, nur ein bisschen Berechnung. Beamer speichert die Seitenzahlen, an denen ein Abschnitt beginnt und endet, in Makros \insertsectionstartpageund \insertsectionendpage. Somit kann die Anzahl der Seiten in einem Abschnitt berechnet werden durch

\insertsectionendpage-\insertsectionstartpage+1

Die Seitenzahl innerhalb eines Abschnitts ist

\insertframenumber-\insertsectionstartpage+1

wo \insertframenumberdie Seitennummer des aktuellen Frames gespeichert wird.

Patchen Sie diese mithilfe \patchcmddes Pakets etoolboxan den Beamer-Befehl, der die Fußzeile einfügt \beamer@@tmpl@footline, und Sie haben in der Fußzeile links einen Abschnittsseitenzähler und rechts einen Gesamtseitenzähler.

Code

\documentclass[t,10pt,xcolor=dvipsnames]{beamer}

\usepackage{etoolbox}

\mode<presentation>
{
  \usetheme{AnnArbor}
  \setbeamercovered{transparent}
  \useinnertheme{rounded}
  \usecolortheme{spruce}
}
\setbeamercolor{section in head/foot}{fg=White}

\makeatletter
% change author box alignment 
\patchcmd{\beamer@@tmpl@footline}% <cmd>
  {center}% <search>
  {left}% <replace>
  {}% <success>
  {}% <failure>

% add page to author box
\patchcmd{\beamer@@tmpl@footline}% <cmd>
  {\usebeamerfont{author in head/foot}\insertshortauthor\expandafter\beamer@ifempty\expandafter{\beamer@shortinstitute}{}{~~(\insertshortinstitute)}}% <search>
  {\def\sectotpage{\number\numexpr\insertsectionendpage-\insertsectionstartpage+1}%
   \def\pageinsec{\number\numexpr\insertframenumber-\insertsectionstartpage+1}%
   \rlap{\hspace*{2ex}\pageinsec{} / \sectotpage} \hfill
  \usebeamerfont{author in head/foot}\insertshortauthor\expandafter\beamer@ifempty\expandafter{\beamer@shortinstitute}{}{~~(\insertshortinstitute)}}% <replace>
  {}% <success>
  {}% <failure>
\makeatother

\author{Author}

\begin{document}
\newcommand\nf{\frame{Frame in Section~\thesection.}}

\section{Sec 1}
\nf\nf\nf\nf\nf

\section{Sec 2}
\nf\nf\nf\nf\nf\nf

\section{Sec 3}
\nf\nf\nf\nf\nf\nf\nf

\end{document}

Ausgabe

Bildbeschreibung hier eingeben

verwandte Informationen