Me gustaría que me \item
enumeraran en un orden especial, no secuencial. En el siguiente ejemplo (que es mi proyecto actual) siempre hay exactamente 3 \item
s.
(Para manejar los errores del usuario donde el \item
contador excede el número máximo definido, podría generar un texto de error (rojo) para los \item
s, para llamar la atención sobre que la lista de enumeración contiene demasiados \item
s.)
En este caso he usado código para el texto encerrado en un círculo de¿Buena forma de hacer números \textcircled?
me gustaria escribir
\begin{CircleProcedure}
\item \lipsum[1][1-2]
\item \lipsum[1][1-2]
\item \lipsum[1][1-2]
\end{CircleProcedure}
en lugar del argumento "completo" como se muestra en el MWE a continuación.
Otro posible resultado en el que estoy pensando es con un índice matemático, que se muestra en el ejemplo número 2.
A continuación muestro una entrada sugerida en un MWE, pero con los []
argumentos que me gustaría evitar.
(Para entornos de entrada/salida simples y uniformes se utilizan)
MWE:
\documentclass{article}
\usepackage{tikz}
\usepackage{lipsum}
\usepackage{enumitem}
\newcommand*\circled[1]{\tikz[baseline=(char.base)]{
\node[shape=circle,draw,inner sep=2pt] (char) {#1};}}
\newenvironment{CircleProcedure}
{\begin{enumerate}[labelwidth=16mm,leftmargin=16mm,labelsep=2mm]}
{\end{enumerate}}
\newenvironment{IndexProcedure}
{\begin{enumerate}[align=left,labelwidth=9mm,leftmargin=10mm,labelsep=1mm]}
{\end{enumerate}}
\begin{document}
\lipsum[1][1-5]
\begin{CircleProcedure}
\item[\circled{1}] \lipsum[1][1-2]
\item[\circled{2}] \lipsum[1][1-2]
\item[\(\circled{1}+\circled{2}\)] \lipsum[1][1-2]
\end{CircleProcedure}
\lipsum[1][1-5]
\begin{IndexProcedure}
\item[\(\textbf{P}_{1}\)] \lipsum[1][1-2]
\item[\(\textbf{P}_{2}\)] \lipsum[1][1-2]
\item[\(\textbf{P}_{1+2}\)] \lipsum[1][1-2]
\end{IndexProcedure}
\lipsum[1][1-5]
\end{document}
(Ejecuto pdfLaTeX 2023 enal dorso.com)
Respuesta1
Puede generar su propia lista y luego especificar los contadores que deben representarse y vincularlos (usando \AddEnumerateCounter
). Las representaciones del contador definen cómo se ven los números para 1, 2 y 3, y provocan un error ("Contador demasiado grande") para \item
4 (o superior).
\documentclass{article}
\usepackage{tikz}
\usepackage{lipsum}
\usepackage{enumitem}
\NewDocumentCommand{\circled}{m}{%
\tikz[baseline=(char.base)]{%
\node[shape=circle,draw,inner sep=2pt] (char) {#1};}}
\newlist{CircleProcedure}{enumerate}{1}
\setlist[CircleProcedure]{%
labelwidth=16mm,
leftmargin=16mm,
labelsep=2mm,
label=\circledenum*,
}
\newlist{IndexProcedure}{enumerate}{1}
\setlist[IndexProcedure]{%
align=left,
labelwidth=15mm,
leftmargin=15mm,
labelsep=0mm,
label=\indexenum*
}
\makeatletter
\newcommand*{\circledenum}[1]{%
\expandafter\@circledenum\csname c@#1\endcsname%
}
\newcommand*{\@circledenum}[1]{%
$\ifcase#1\or\circled{1}\or\circled{2}\or\circled{1}+\circled{2}%
\else\@ctrerr\fi$%
}
\AddEnumerateCounter{\circledenum}{\@circledenum}{1}
\newcommand*{\indexenum}[1]{%
\expandafter\@indexenum\csname c@#1\endcsname%
}
\newcommand*{\@indexenum}[1]{%
$\ifcase#1\or\textbf{P}_1\or\textbf{P}_2\or\textbf{P}_1+\textbf{P}_2%
\else\@ctrerr\fi$%
}
\AddEnumerateCounter{\indexenum}{\@indexenum}{1}
\makeatother
\begin{document}
\lipsum[1][1-5]
\begin{CircleProcedure}
\item \lipsum[1][1-2]
\item \lipsum[1][1-2]
\item \lipsum[1][1-2]
\end{CircleProcedure}
\lipsum[1][1-5]
\begin{IndexProcedure}
\item \lipsum[1][1-2]
\item \lipsum[1][1-2]
\item \lipsum[1][1-2]
\end{IndexProcedure}
\lipsum[1][1-5]
\end{document}
También puedes usar \label
y \ref
si es necesario.
Respuesta2
Un método sin usar enumitem
:
\documentclass{article}
\usepackage{tikz}
\usepackage{lipsum}
\newcommand*\circled[1]{\tikz[baseline=(char.base)]{
\node[shape=circle,draw,inner sep=2pt] (char) {#1};}}
\newcounter{CircledProcedure}
\newenvironment{CircledProcedure}%
{\begin{list}{}{
\labelwidth 16mm%
\leftmargin 16mm%
\labelsep 2mm%
\let\makelabel\CircledProcedureLabel
\usecounter{CircledProcedure}
}}{\end{list}}
\newcommand*{\CircledProcedureLabel}{%
\ifnum\value{CircledProcedure}<3 \hfill\circled{\theCircledProcedure} \else \(\circled{1}+\circled{2}\) \fi}
\begin{document}
\begin{CircledProcedure}
\item \lipsum[1][1-2]
\item \lipsum[1][1-2]
\item \lipsum[1][1-2]
\end{CircledProcedure}
\end{document}