Quiero crear una lista enumerada, pero después del número quiero poder agregar un símbolo. Ahora mismo puedo hacerlo con:
\documentclass{article}
\begin{document}
\begin{enumerate}
\item[1.$\diamondsuit$] First item
\item[2.$\clubsuit$] Second item
\item[3.$\spadesuit$] Third item
\item[4.$\heartsuit$] Fourth item
\end{enumerate}
\end{document
que produce lo siguiente
Sin embargo, en este ejemplo agregué los números a mano. ¿Cómo podría agregar un símbolo después del número sin necesidad de insertar el número manualmente?
Insertar el símbolo después del elemento, como \item $\diamondsuit$
no es lo que quiero, porque la segunda línea tendrá sangría con respecto al número y no a la viñeta, que es "1.diamante".
AclaraciónNo quiero exactamente este esquema. Quiero poder elegir el símbolo de cada elemento, por ejemplo: \itemsymbol{$\diamondsuit$}
agregaría el diamante después del número correspondiente. (Puede darse el caso, por ejemplo, de que 1 y 2 sean diamantes, 3 sea una pica, etc., ¡o cualquier otro símbolo!)
Respuesta1
Con enumitem
y \itemsymbol
:
\documentclass{article}
\usepackage{enumitem}
\newenvironment{symenum}
{\enumerate[label=\arabic*.\noexpand\thisenumsymbol,align=left]}
{\endenumerate}
\newcommand\thisenumsymbol{}
\newcommand\itemsymbol[1]{%
\renewcommand{\thisenumsymbol}{#1}%
\item
}
\begin{document}
\begin{symenum}
\itemsymbol{$\diamondsuit$}\label{first} First item
\itemsymbol{$\clubsuit$} Second item
\itemsymbol{$\spadesuit$} Third item
\itemsymbol{$\heartsuit$} Fourth item
\itemsymbol{} Fourth item
\end{symenum}
Here's the reference: \ref{first}
\end{document}
Respuesta2
\documentclass{article}
\def\zz#1{%
\ifcase#1\relax\or$\diamondsuit$\or$\clubsuit$\or$\spadesuit$\or$\heartsuit$\else?\fi}
\begin{document}
\renewcommand\labelenumi{\theenumi.\zz{\value{enumi}}}
\begin{enumerate}
\item First item
\item Second item
\item Third item
\item Fourth item
\end{enumerate}
\end{document}
Respuesta3
Una alternativa usando enumitem.sty
:
\documentclass{article}
\usepackage{enumitem}
\makeatletter
\def\ctext#1{\expandafter\@ctext\csname c@#1\endcsname}
\def\@ctext#1{\ifcase#1\or $\diamondsuit$\or
$\clubsuit$\or $\spadesuit$\or$\heartsuit$\or ?\fi}
\makeatother
\AddEnumerateCounter{\ctext}{\@ctext}{MyWidth}
\begin{document}
\begin{enumerate}[label=\arabic*.\ctext{enumi}]
\item foo
\item bar
\item baz
\item foobar
\end{enumerate}
\end{document}
EDITAR 1: Después de la aclaración de OP
Un enfoque dinámico basado en la solución de David:
\documentclass{article}
\usepackage{enumitem}
\def\switchenum#1{%
\renewcommand\labelenumi{\theenumi.#1}%
}
\begin{document}
\begin{enumerate}[align=left]
\switchenum{$\heartsuit$}
\item First item \switchenum{$\diamondsuit$}
\item Second item
\item Third item \switchenum{$\clubsuit$}
\item Fourth item \switchenum{}
\item Fifth item
\end{enumerate}
\end{document}