
Estoy intentando utilizar texto como etiquetas en un entorno detallado en Beamer.
He usado
\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{enumitem}
\setitemize{%
label=\usebeamerfont*{itemize item}
\usebeamercolor[fg]{itemize item}
\usebeamertemplate{itemize item}
}
\begin{document}
\begin{frame}
\begin{itemize}
\item \makebox[2.75cm][l]{$a$} iff $a$,
\item \makebox[2.75cm][l]{$b+c$} iff $a$,
\item \makebox[2.75cm][l]{$d$} iff $a$
\item \makebox[2.75cm][l]{$e+f$} iff $a$ and a lot of text which takes up multiple lines without correct alignment
\end{itemize}
\vfill
\begin{itemize}
\item[$a$] iff $a$,
\item[$b+c$] iff $a$,
\item[$d$] iff $a$
\item[$e+f$] iff $a$
\end{itemize}
\end{frame}
\end{document}
para producir
El problema en el primer entorno detallado es que necesito que la segunda línea se alinee con "iff $a$ y ..." en la línea anterior.
Intenté obtener esto usando etiquetas en el entorno itemize en lugar de \makebox
. Pero si hago esto, todavía no he definido el ancho de las etiquetas y pierdo las viñetas/flechas azules de detalle.
Respuesta1
Por lo general, beamer
no funciona bien con enumitem
, hay muchos problemas de compatibilidad. Aquí hay un truco (no tan claro) para solucionar su problema. Sin embargo, romperá la opción de superposición.
\documentclass{beamer}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{enumitem}
\setitemize{%
label=\usebeamerfont*{itemize item}
\usebeamercolor[fg]{itemize item}
\usebeamertemplate{itemize item}
}
\makeatletter
\def\Myitemize#1{%
\advance\beamer@descdefault by \labelsep%
\list
{}
{\labelwidth\beamer@descdefault%
\leftmargin\beamer@descdefault%
\let\makelabel\beamer@descriptionitem
\settowidth\labelwidth{\beamer@descriptionitem{#1}}%
\setlength\leftmargin{\labelwidth}%
\addtolength\leftmargin{\labelsep}%
}%
\beamer@cramped%
\raggedright
\beamer@firstlineitemizeunskip%
}
\def\endMyitemize{\ifhmode\unskip\fi\endlist}
\long\def\beamer@descriptionitem#1{%
\def\insertdescriptionitem{#1}%
{\usebeamertemplate**{description item}}\hfil}
\makeatother
\begin{document}
\begin{frame}
\begin{Myitemize}{$\blacktriangleright$ $b+c$} % <= longest label here
\item [$\blacktriangleright$ $a$ ] iff $a$,
\item [$\blacktriangleright$ $b+c$] iff $a$,
\item [$\blacktriangleright$ $d$ ] iff $a$,
\item [$\blacktriangleright$ $e+f$] iff $a$ and a lot of text which takes up multiple lines without correct alignment
\end{Myitemize}
\end{frame}
\end{document}
Editar:
Un mejor enfoque sería este:
\begin{itemize}
\item \makebox[2cm][l]{$a$} iff $a$,
\item \makebox[2cm][l]{$b+c$} iff $a$,
\item \makebox[2cm][l]{$d$} iff $a$,
\item \makebox[2cm][l]{$e+f$} \begin{minipage}[t]{7cm}
iff $a$ and a lot of text which takes up multiple lines without correct alignment, and a lot of text which takes up multiple lines without correct alignment
\end{minipage}
\end{itemize}