O alinhamento vertical dos símbolos padrão de itemização e enumeração não é consistente no Beamer. Abaixo está um MWE com alguns símbolos comuns e linhas de referência colocadas manualmente. Saída, código:
\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}
Exatamente onde os símbolos devem ser centralizados talvez seja uma questão de gosto, mas alguns deles não parecem corretos, e quando se utiliza mais de um símbolo (por exemplo, um para itens, outro para subitens), a inconsistência é obviamente ruim. (Aqui parece haver espaço para algumas melhorias no Beamer.) Como consertar isso?
Eu uso ball
por padrão para discriminar, mas circle
para enumerar (tornando os números mais claramente visíveis). Ambos os símbolos estão, aos meus olhos, muito baixos. Descobri que o posicionamento vertical pode ser ajustado editando beamerbaseauxtemplates.sty
de acordo com o abaixo. Veja os comentários para saber onde estão as mudanças.
% 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}
}
No entanto, parece melhor fazer os ajustes nos próprios arquivos (para que a mesma saída seja produzida de forma confiável em todos os lugares). Fico preso ao tentar adaptar essas alterações ao preâmbulo do documento.
Responder1
Existem vários métodos que você pode usar. Aqui estão dois simples:
defina o
enumerate item
sob um novo nome, por exemplo,mycircle
em vez decircle
se você não precisar alternar entre modelos diferentes, poderá usar
\setbeamertemplate{enumerate item}{...}
para definir diretamente o modelo
Ambos os métodos têm a vantagem de ainda ter a definição original disponível.
Além disso, você pode indefinir os modelos antes de redefini-los, conforme sugerido por @Marijn nos comentários, ou corrigir os modelos.
\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}