Ich möchte die von beamer vorgegebenen Blöcke (theorem, definition, ...) global verschmälern und zentriert im Frame haben. Die Breite konnte ich mit \addtobeamertemplate anpassen.

Open in Online-Editor
\documentclass[12pt,t,ngerman]{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\uselanguage{German}
\usetheme{AnnArbor}
\usecolortheme{beaver}

\addtobeamertemplate{block begin}{%
  \setlength{\textwidth}{0.9\textwidth}%
}{}

\begin{document}
\begin{frame}
\frametitle{Titel}
\begin{definitions}[Name der Def]
Inhalt der Def.
\end{definitions}
\begin{theorem}[Name des Satzes]
Inhalt des Satzes.
\end{theorem}
\end{frame}
\end{document}

Manuell kann ich die Zentrierung durch \centering\begin{minipage}...\end{minipage}\par erreichen.

Gibt es eine Möglichkeit, dies mit \addtobeamertemplate zu den Blöcken hinzuzufügen, oder ist es dafür notwendig, die Blöcke komplett neu zu definieren?

gefragt 12 Feb, 07:00

tom75's gravatar image

tom75
1.9k1545
Akzeptiert: 83%

bearbeitet 12 Feb, 07:53


Du musst eine minipage in den Block einfügen und diese zentrieren, beispielsweise:

Open in Online-Editor
\documentclass[12pt,t,ngerman]{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\uselanguage{German}
\usetheme{AnnArbor}
\usecolortheme{beaver}

\addtobeamertemplate{block begin}{%
  \center\minipage{0.75\textwidth}%
}{}
\addtobeamertemplate{block end}{}{\endminipage\par\endcenter}

\begin{document}
\begin{frame}
\frametitle{Titel}
\begin{definitions}[Name der Def]
Inhalt der Def.
\end{definitions}
\begin{theorem}[Name des Satzes]
Inhalt des Satzes.
\end{theorem}
\end{frame}
\end{document}

oder

Open in Online-Editor
\documentclass[12pt,t,ngerman]{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\uselanguage{German}
\usetheme{AnnArbor}
\usecolortheme{beaver}

\addtobeamertemplate{block begin}{%
  \centering\minipage{0.75\textwidth}%
}{}
\addtobeamertemplate{block end}{}{\endminipage\par}

\begin{document}
\begin{frame}
\frametitle{Titel}
\begin{definitions}[Name der Def]
Inhalt der Def.
\end{definitions}
\begin{theorem}[Name des Satzes]
Inhalt des Satzes.
\end{theorem}
\end{frame}
\end{document}

Wenn es nicht Blöcke allgemein, sondern nur theorem- und davon abgeleitete Blöcke (wie definitions) betreffen soll, solltest Du block begin und block end durch theorem begin und theorem end ersetzen:

Open in Online-Editor
\documentclass[12pt,t,ngerman]{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usetheme{AnnArbor}
\usecolortheme{beaver}

\addtobeamertemplate{theorem begin}{%
  \centering\minipage{0.75\textwidth}%
}{}
\addtobeamertemplate{theorem end}{}{\endminipage\par}

\begin{document}
\begin{frame}
\frametitle{Titel}
\begin{definitions}[Name der Def]
Inhalt der Def.
\end{definitions}
\begin{theorem}[Name des Satzes]
Inhalt des Satzes.
\end{theorem}
\end{frame}
\end{document}
Permanenter link

beantwortet 12 Feb, 07:45

saputello's gravatar image

saputello
18.4k22352

bearbeitet 12 Feb, 08:12

Vielen Dank. Was ist der Unterschied zwischen \center und \centering

(12 Feb, 07:53) tom75

\center ist der Anfang der Umgebung center und muss durch \endcenter beendet werden. Was der Unterschied zwischen der center-Umgebung und \centering ist, findest Du beispielsweise in der Gleitumgebungs-Antwort. Du kannst den Unterschied auch sehen, wenn Du die unterschiedlichen Lösungen vergleichst.

(12 Feb, 08:16) saputello

Ich hatte vorhin versehentlich zweimal die selbe Lösung im Online-Editor angeschaut und keinen Unterschied bemerkt. :-) Jetzt ist es klar, danke!

(12 Feb, 08:21) tom75
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
×18
×2

Frage gestellt: 12 Feb, 07:00

Frage wurde angeschaut: 885 Mal

Zuletzt aktualisiert: 12 Feb, 08:31