Adicionando um símbolo arbitrário após o número em um ambiente enumerado

Adicionando um símbolo arbitrário após o número em um ambiente enumerado

Quero criar uma lista enumerada, mas depois do número quero poder adicionar um símbolo. Agora posso fazer isso com:

\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 produz o seguinte

insira a descrição da imagem aqui

No entanto, neste exemplo adicionei os números manualmente. Como eu poderia adicionar um símbolo após o número, sem precisar inserir o número manualmente?

Inserir o símbolo após o item like \item $\diamondsuit$não é o que eu quero, pois a segunda linha ficará recuada em relação ao número, e não ao marcador, que é "1.diamante".

EsclarecimentoEu não quero exatamente esse esquema. Quero poder escolher o símbolo para cada item, por exemplo: \itemsymbol{$\diamondsuit$}adicionaria o diamante após o número correspondente. (Pode acontecer, por exemplo, que 1 e 2 sejam ouros, 3 seja uma espada, etc., ou qualquer outro símbolo!)

Responder1

Com enumiteme \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}

insira a descrição da imagem aqui

Responder2

\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}

Responder3

Uma 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}

EDIT 1: Após esclarecimento do OP

Uma abordagem dinâmica baseada na solução 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}

informação relacionada