열거 환경에서 숫자 뒤에 임의의 기호 추가

열거 환경에서 숫자 뒤에 임의의 기호 추가

열거된 목록을 만들고 싶지만 숫자 뒤에 기호를 추가할 수 있기를 원합니다. 지금은 다음을 사용하여 할 수 있습니다.

\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

이는 다음을 생성합니다

여기에 이미지 설명을 입력하세요

하지만 이 예에서는 숫자를 직접 추가했습니다. 숫자를 수동으로 삽입할 필요 없이 숫자 뒤에 기호를 추가하려면 어떻게 해야 합니까?

항목 뒤에 기호를 삽입하는 것은 \item $\diamondsuit$내가 원하는 것이 아닙니다. 왜냐하면 두 번째 줄은 "1.diamond"라는 글머리 기호가 아닌 숫자를 기준으로 들여쓰기되기 때문입니다.

설명나는 정확히 이 계획을 원하지 않습니다. 예를 들어 각 항목에 기호를 선택할 수 있기를 원합니다. \itemsymbol{$\diamondsuit$}해당 숫자 뒤에 다이아몬드를 추가합니다. (예를 들어 1과 2는 다이아몬드, 3은 스페이드 등 또는 다른 기호일 수 있습니다!)

답변1

와 :enumitem\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}

여기에 이미지 설명을 입력하세요

답변2

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

답변3

다음을 사용하는 대안 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}

편집 1: OP 명확화 후

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}

관련 정보