¿Cómo hacer una etiqueta de artículo de varias líneas?
Ejemplo
\documentclass[a4paper,10pt]{article}
\usepackage{lipsum}
\begin{document}
\begin{itemize}
\item[Great Item] \lipsum[1]
\end{itemize}
\end{document}
me encantaría hacer
\item[Great \newline Item] \lipsum[1]
Pero no trabajo.
Resultado esperado: primeras líneas de la etiqueta del artículo y el contenido del artículo alineados:
Great Lorem ipsum dolor sit amet,
Item consectetuer adipiscing elit.
Ut purus elit, ver...
Para ser más específico, uso mydesc
el entorno proporcionado enhttps://tex.stackexchange.com/a/23569/7128. Me encantaría que funcionara en conjunto. El ejemplo anterior está demasiado simplificado. Aquí está más detallado:
\documentclass[a4paper,10pt]{article}
\usepackage{lipsum}
% mydesc thanks for https://tex.stackexchange.com/a/23569/7128
\newenvironment{mydesc}[1]
{\list{}{\renewcommand\makelabel[1]{\it##1\hfil}%
\settowidth\labelwidth{\makelabel{\it#1}}%
\setlength\leftmargin{\dimexpr\labelwidth+\labelsep\relax}}}
{\endlist}
\begin{document}
\begin{mydesc}{LongestItem}
\item[Great Item] \lipsum[1]
\end{mydesc}
\end{document}
Respuesta1
LaTeX ofrece un comando \shortstack
para este tipo de cosas, por lo que su solución podría verse así:
\item[\smash{\shortstack[l]{Great\\Item}}] \lipsum[1]
Desafortunadamente, \shortstack
está alineado hacia abajo de forma predeterminada, por lo que tenemos que piratear una variante "superior":
\makeatletter
\gdef\tshortstack{\@ifnextchar[\@tshortstack{\@tshortstack[c]}}
\gdef\@tshortstack[#1]{%
\leavevmode
\vtop\bgroup
\baselineskip-\p@\lineskip 3\p@
\let\mb@l\hss\let\mb@r\hss
\expandafter\let\csname mb@#1\endcsname\relax
\let\\\@stackcr
\@ishortstack}
\makeatother
\begin{document}
\begin{itemize}
\item[\smash{\tshortstack[l]{Great\\Item}}] \lipsum[1]
\end{itemize}
El código \tshortstack
se acaba de copiar del código respectivo en las fuentes de LaTeX. Si no desea copiar tanto código, también puede usar \patchcmd
:
\documentclass[a4paper,10pt]{article}
\usepackage{lipsum}
\usepackage{etoolbox}
\makeatletter
\gdef\tshortstack{\@ifnextchar[\@tshortstack{\@tshortstack[c]}}
\let\@tshortstack\@shortstack
\patchcmd\@tshortstack\vbox\vtop{}{}
\makeatother
\begin{document}
\begin{itemize}
\item[\smash{\tshortstack[l]{Great\\Item}}] \lipsum[1]
\end{itemize}
\end{document}