
Eu seria capaz de fazer algo como o seguinte:
Em vez de ter o seguinte, onde repito o mesmo código muitas vezes:
\documentclass{article}
\usepackage{enumerate}
\newenvironment{enum1}{\begin{enumerate}[1.]}{\end{enumerate}}
\newenvironment{enuma}{\begin{enumerate}[a.]}{\end{enumerate}}
...
Eu gostaria de poder "automatizá-lo" um pouco, por exemplo:
\documentclass{article}
\newcommand{\newEnum}[1]{\newenvironment{enum#1}{\begin{enumerate}[#1.]}{\end{enumerate}}
\newEnum{1}
\newEnum{a}
...
Claro, isso não compila, ou eu não estaria aqui perguntando.
Existe uma maneira de fazer isso ou estou preso em copiar e colar e fazer as alterações necessárias?
Responder1
Para listas, recomendo que você use o enumitem
pacote e o newlist
recurso integrado.
Se você tiver muitos desses, você pode usar
\newcommand{\DefineNewList}[3]{%
% #1 = name
% #2 = max depth
% #3 = label
\newlist{#1}{enumerate}{#2}
\setlist[#1]{label*=#3}
}%
mas não vejo muito valor nisso.
Código:
\documentclass{article}
\usepackage{enumitem}
\newlist{enumOne}{enumerate}{2}
\setlist[enumOne]{label*=\arabic*.}
\newlist{enumA}{enumerate}{2}
\setlist[enumA]{label*=\alph*.}
\begin{document}
\begin{enumOne}
\item First item in enumOne
\item Second item in enumOne
\end{enumOne}
\begin{enumA}
\item First item in enumA
\item Second item in enumA
\end{enumA}
\end{document}
Código Repeated Usage
:
\documentclass{article}
\usepackage{enumitem}
\newcommand{\DefineNewList}[3]{%
% #1 = name
% #2 = max depth
% #3 = label
\newlist{#1}{enumerate}{#2}
\setlist[#1]{label*=#3}
}%
\DefineNewList{enumOne}{2}{\arabic*.}
\DefineNewList{enumA}{2}{\alph*.}
\begin{document}
\begin{enumOne}
\item First item in enumOne
\item Second item in enumOne
\end{enumOne}
\begin{enumA}
\item First item in enumA
\item Second item in enumA
\end{enumA}
\end{document}
Responder2
\documentclass{article}
\usepackage{enumerate}
\newcommand\newEnum[1]{%
\newenvironment{enum#1}{\enumerate[#1.]}{\endenumerate}}
\newEnum{1}
\newEnum{a}
\begin{document}
\begin{enumerate}
\item foo
\item bar
\end{enumerate}
\begin{enum1}
\item foo
\item bar
\end{enum1}
\begin{enuma}
\item foo
\item bar
\end{enuma}
\end{document}
No entanto, usar package enumitem
tem mais algumas possibilidades.