In meiner beamer-Präsentation verwende ich \centering, um den Inhalt der ganzen Folie zu zentrieren. Ist nur eine Grafik auf der Folie und sonst nichts, landet sie einfach links:

\begin{frame}
\centering
\includegraphics{diagram}
\end{frame}

Dann merkte ich, dass das auch für Text gilt, und zwar für den letzten Absatz.

\begin{frame}
\centering
Ein Absatz mit Text

Ein Absatz mit Text
\end{frame}

Hier mal so eine typische Folie mit Grafik als komplettes Minimalbeispiel:

\PassOptionsToPackage{demo}{graphicx}
\documentclass{beamer}
\usetheme{Singapore}
\begin{document}
\begin{frame}
\centering
\Huge
Motivation
\bigskip

\includegraphics{diagram}
\end{frame}
\end{document}

Ausgabe des Beispiels

Wir kann ich das fehlgeschlagene Zentrieren korrigieren?

gefragt 06 Jul '13, 10:39

jan12's gravatar image

jan12
760172732
Akzeptiert: 66%

bearbeitet 06 Jul '13, 13:26

Clemens's gravatar image

Clemens
19.0k113060

1

Ich kann das Problem nicht reproduzieren (TeX Live 2013, heute aktualisiert)... Ich nehme an, dass ein abschließendes \par oder eine leere Zeile vor \end{frame} das Problem für Dich lösen sollte.

(06 Jul '13, 10:45) Clemens

Oha... ich nehme noch TeX Live 2011, wo das so passiert. Tatsächlich hilft Leerzeile oder \par an solchen Stellen. Ich hatte auf einen Fix gehofft, der das in der Präambel repariert, also hat das eine neuere Version von beamer wohl schon an Bord. Das wäre auch eine Antwort unten wert, kann ja noch jemand ältere Versionen nutzen und auf das Problem stoßen. Evtl. findet sich sogar noch eine bugfix-/update-Info hierzu bei beamer.

(06 Jul '13, 11:02) jan12

Das ist bzw. war ein bekanntes Problem. Offenbar wurde es aber am 26. Dezember 2012 behoben und mit einem aktuellen beamer (zum Zeitpunkt der Antwort 2013/04/04 3.27) tritt das beschriebene Problem nicht auf, ein Update sollte es also beheben.

Ansonsten sollte ein abschließendes \par oder eine leere Zeile (= ein verstecktes \par) vor \end{frame} das Problem ebenfalls lösen. Warum? Nun, im Zusammenhang mit \centering, \raggedright und \raggedleft gibt es zwei häufige Ursachen für andere Ausrichtung als vom Anwender erwartet:

  1. Wenn in einem Absatz mehrere Anweisungen wie \centering oder \raggedright auftreten, gilt diejenige, die als letztes vor dem Absatzende angegeben wurde.

    \documentclass{article}
    \begin{document}
    \centering foo \raggedright bar \raggedleft baz\par
    \end{document}
    

    Der gesamte Absatz wurde hier in linkem Flattersatz gesetzt.

  2. Hier ist es aber wohl ein anderes Problem, das folgendes VM demonstriert:

    \documentclass{article}
    \begin{document}
    \begingroup\centering
    foo
    
    foo
    \endgroup\par
    \end{document}
    

    Das zweite „foo“ ist nicht zentriert, da das \centering in einer Gruppe aufgerufen wird, diese Gruppe aber beendet wird, bevor der zweite Absatz zuende ist. Wenn der zweite Absatz gesetzt wird, ist das \centering daher vergessen. Wie alle Umgebungen bildet die {frame}-Umgebung eine implizite Gruppe und offenbar hatte \end{frame} kein \par aufgerufen, bevor die Gruppe beendet war. Durch das absichtliche Angeben von \par stellst Du also sicher, dass der Absatz beendet wird, solange \centering noch nicht vergessen ist.

Du kannst versuchen, das zu automatisieren, indem Du folgendes in die Präambel einfügst (ungetestet):

\usepackage{etoolbox}
\preto\endframe{\par}
Permanenter link

beantwortet 06 Jul '13, 11:10

Clemens's gravatar image

Clemens
19.0k113060

bearbeitet 15 Jul '13, 12:42

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×94
×57
×18

Frage gestellt: 06 Jul '13, 10:39

Frage wurde angeschaut: 4,404 Mal

Zuletzt aktualisiert: 15 Jul '13, 12:42