Beamer: Gleiche Seitennummer für Slides in "allowframebreaks"

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Beamer: Gleiche Seitennummer für Slides in "allowframebreaks"

Re: Beamer: Gleiche Seitennummer für Slides in "allowframebreaks"

von hask » Fr 25. Jun 2021, 01:16

Vielen Dank, das klappt gut!

Re: Beamer: Gleiche Seitennummer für Slides in "allowframebreaks"

von Grummelgast » Do 24. Jun 2021, 10:59

Das kommt davon, wenn man interne Makros patched und dabei nicht einmal testet, ob der Patch erfolgreich ist. Warum nicht ganz ohne interne Makros rein auf Basis von \insertframenumber.

\documentclass{beamer}
  \mode<presentation>

\usetheme{Boadilla}

\usepackage{xpatch}
\usepackage{lipsum}

\newcounter{multipleslide}
\newif\ifmultipleslide
\xapptocmd{\multipleslidetrue}{\setcounter{multipleslide}{\value{framenumber}}\stepcounter{multipleslide}}{}{\PatchFailure}
\xapptocmd{\multipleslidefalse}{\setcounter{framenumber}{\value{multipleslide}}}{}{\PatchFailure}
\xpretocmd{\insertframenumber}{\ifmultipleslide \themultipleslide\else}{}{\PatchFailure}
\apptocmd{\insertframenumber}{\fi}{}{\PatchFailure}

\begin{document}

% "Slide 1"
\multipleslidetrue  %<------------------------------------
\begin{frame}[allowframebreaks]
\begin{itemize}
 \item Foo
 \item Bar
 \item Baz
\end{itemize}
\lipsum[1-5]
\end{frame}
\multipleslidefalse  %<------------------------------------

% "Slide 2"
\begin{frame}
test
\end{frame}

% "Slide 3"
\multipleslidetrue  %<------------------------------------
\begin{frame}[allowframebreaks]
\begin{itemize}
 \item Foo
 \item Bar
 \item Baz
\end{itemize}
\lipsum[1-5]
\end{frame}
\multipleslidefalse  %<------------------------------------

\end{document}

Allerdings würde ich selbst bei der dem Multi-Frame der Frame-Nummer eher einen Postfix anhängen, damit man noch eine Unterscheidung hat.

Beamer: Gleiche Seitennummer für Slides in "allowframebreaks"

von hask » Do 24. Jun 2021, 01:32

Hallo zusammen,

ich möchte gerne, dass in einer Beamer-Präsentation mehrere Slides, die durch die Verwendung von "allowframebreaks" entstehen, dieselbe Slide-Nummer haben (danach soll dann normal weitergezählt werden).

Ich habe eine StackOverflow-Antwort (mit MWE) gefunden und weiß, dass sie vor vielen Jahren einmal bei mir funktioniert hatte. Aktuell funktioniert das dort beschriebene MWE allerdings nicht mehr:

\documentclass{beamer}
  \mode<presentation>

\usetheme{Boadilla}

\usepackage{etoolbox}
\usepackage{lipsum}

\newcounter{multipleslide}

\makeatletter%
\newcommand{\multipleframe}{%
\setcounter{multipleslide}{\value{framenumber}}
\stepcounter{multipleslide}
\patchcmd{\beamer@@tmpl@footline}% <cmd>
  {\insertframenumber}% <search>
  {\themultipleslide}% <replace>
  {}% <success>
  {}% <failure>
}
\newcommand{\restoreframe}{%
\patchcmd{\beamer@@tmpl@footline}% <cmd>
  {\themultipleslide}% <search>
  {\insertframenumber}% <replace>
  {}% <success>
  {}% <failure>
\setcounter{framenumber}{\value{multipleslide}}%
}
\makeatother%

\begin{document}

% "Slide 1"
\multipleframe  %<------------------------------------
\begin{frame}[allowframebreaks]
\begin{itemize}
 \item Foo
 \item Bar
 \item Baz
\end{itemize}
\lipsum[1-5]
\end{frame}
\restoreframe  %<------------------------------------

% "Slide 2"
\begin{frame}
test
\end{frame}

\end{document}

Weiß jemand, wo dort das Problem liegt und wie man dies behoben kann? Ich verwende TeX Live 2020.

Viele Grüße


Nach oben