Die vertikale Ausrichtung der Standardsymbole für Aufzählung und Auflistung ist in Beamer nicht einheitlich. Unten sehen Sie ein MWE mit einigen gängigen Symbolen und manuell platzierten Referenzlinien. Ausgabe, Code:
\documentclass{beamer}
\usepackage[absolute,overlay]{textpos}
\begin{document}
\begin{frame}
\begin{columns}[onlytextwidth]
\column{0.15\textwidth}
\setbeamertemplate{enumerate item}[circle]
\setbeamertemplate{itemize item}[circle]
\begin{itemize}
\item Txq
\end{itemize}
\begin{enumerate}
\item Txq
\end{enumerate}
\column{0.15\textwidth}
\setbeamertemplate{enumerate item}[ball]
\setbeamertemplate{itemize item}[ball]
\begin{itemize}
\item Txq
\end{itemize}
\begin{enumerate}
\item Txq
\end{enumerate}
\column{0.7\textwidth}
\setbeamertemplate{enumerate item}[square]
\setbeamertemplate{itemize item}[default]
\begin{itemize}
\item Txq
\end{itemize}
\begin{enumerate}
\item Txq
\end{enumerate}
\end{columns}
\begin{textblock*}{3cm}(11mm,37.58mm)
\rule{46mm}{0.1pt}
\end{textblock*}
\begin{textblock*}{3cm}(11mm,44.46mm)
\rule{46mm}{0.1pt}
\end{textblock*}
\end{frame}
\end{document}
Wo genau die Symbole zentriert werden sollen, ist vielleicht Geschmackssache, aber manche sehen nicht richtig aus, und wenn mehr als ein Symbol verwendet wird (z. B. eines für Elemente, ein anderes für Unterelemente), ist die Inkonsistenz offensichtlich schlimm. (Hier scheint es Raum für einige Verbesserungen bei Beamer zu geben.) Wie kann ich das beheben?
Ich verwende ball
standardmäßig für Aufschlüsselung, aber circle
für Aufzählung (damit die Zahlen besser sichtbar sind). Beide Symbole sind meiner Meinung nach zu niedrig platziert. Ich habe festgestellt, dass die vertikale Platzierung durch Bearbeiten beamerbaseauxtemplates.sty
gemäß den folgenden Anweisungen angepasst werden kann. In den Kommentaren finden Sie die Änderungen.
% Itemize items, ball
\defbeamertemplate{itemize item}{ball}{\raise0.9pt\beamer@usesphere{item projected}{bigsphere}} % "raise" increased to lift the ball
[...]
% Enumerate items, circle
\defbeamertemplate{enumerate item}{circle}
{
\usebeamerfont*{item projected}%
\usebeamercolor[bg]{item projected}%
\begin{pgfpicture}{-1ex}{-0.3ex}{1ex}{2ex} % second argument lowered to raise the circle
\pgfpathcircle{\pgfpoint{0pt}{.75ex}}{1.2ex}
\pgfusepath{fill}
\pgftext[base]{\color{fg}\insertenumlabel}
\end{pgfpicture}
}
Besser erscheint es allerdings, die Anpassungen in den Dateien selbst vorzunehmen (damit überall zuverlässig die gleiche Ausgabe erzeugt wird). Ich komme nicht weiter, wenn ich versuche, diese Änderungen in die Präambel des Dokuments zu übernehmen.
Antwort1
Es gibt mehrere Methoden, die Sie verwenden können. Hier zwei einfache:
Definieren Sie die
enumerate item
unter einem neuen Namen, z. B.mycircle
stattcircle
Wenn Sie nicht zwischen verschiedenen Vorlagen wechseln müssen, können Sie
\setbeamertemplate{enumerate item}{...}
die Vorlage direkt definieren.
Beide Methoden haben den Vorteil, dass Ihnen die Originaldefinition weiterhin zur Verfügung steht.
Darüber hinaus können Sie die Vorlagen aufheben, bevor Sie sie neu definieren, wie von @Marijn in den Kommentaren vorgeschlagen, oder Sie können die Vorlagen patchen.
\documentclass{beamer}
% methode 1:
\defbeamertemplate{enumerate item}{mycircle}
{
\usebeamerfont*{item projected}%
\usebeamercolor[bg]{item projected}%
\begin{pgfpicture}{-1ex}{-2ex}{1ex}{2ex} % second argument lowered to raise the circle
\pgfpathcircle{\pgfpoint{0pt}{.75ex}}{1.2ex}
\pgfusepath{fill}
\pgftext[base]{\color{fg}\insertenumlabel}
\end{pgfpicture}%
}
[action]
{\setbeamerfont{item projected}{size=\scriptsize}}
\setbeamertemplate{enumerate item}[mycircle]
\makeatletter
\defbeamertemplate{itemize item}{myball}{\raise4pt\beamer@usesphere{item projected}{bigsphere}}
\makeatother
\setbeamertemplate{itemize item}[myball]
% methode 2:
%\setbeamertemplate{enumerate item}
%{
% \usebeamerfont*{item projected}%
% \usebeamercolor[bg]{item projected}%
% \begin{pgfpicture}{-1ex}{-2ex}{1ex}{2ex} % second argument lowered to raise the circle
% \pgfpathcircle{\pgfpoint{0pt}{.75ex}}{1.2ex}
% \pgfusepath{fill}
% \pgftext[base]{\color{fg}\insertenumlabel}
% \end{pgfpicture}%
%}
%\setbeamerfont{item projected}{size=\scriptsize}
%
%\makeatletter
%\setbeamertemplate{itemize item}{\raise4pt\beamer@usesphere{item projected}{bigsphere}}
%\makeatother
\begin{document}
\begin{frame}
\begin{enumerate}
\item Txq
\end{enumerate}
\begin{itemize}
\item Txq
\end{itemize}
\end{frame}
\end{document}