
O MWE abaixo, usando paralist
package, deve permitir \begin{enumerate}[...]
onde ...
é flexível de "alguma forma" (herda de enumerate
s acima).
\documentclass[a4paper,10pt]{report}
\usepackage{paralist,xargs}
\newcommand\mwe[2]{[{\ref{#1}.}.#2]}
\begin{document}
\newenvironmentx{enumwe}[2][2=1]{%
\begin{enumerate}\mwe{#1}{#2}%
%\expandafter\begin\expandafter{\expandafter enumerate\expandafter}\mwe{#1}{#2}%
\ignorespaces%
}{\end{enumerate}%
\ignorespacesafterend%
}
\begin{enumerate}[{A}1]
\item \label{one} {\bfseries~Appendix One}
\begin{enumwe}{one}
\item text
\end{enumwe}
\end{enumerate}
\end{document}
No entanto, a linha comentada parece uma tentativa errada, enquanto o MWE digita errado.
O resultado ampliado esperado seria o seguinte.
\begin{enumerate}[{A}1]
\item \label{one} {\bfseries~Appendix One}
\begin{enumerate}[{A1.}1.]
\item text
\end{enumerate}
\end{enumerate}
Agradeço qualquer ajuda ou sugestão.
PS: Na verdade, preciso expandir uma macro no parâmetro opcional para enumerate
ambiente, como \begin{enumerate}[\mwe{...}1.]
, mas não está funcionando ( ??
ocorre em todos os lugares) e esse MWE é minha abordagem, mas fiquei preso com um erro estranho:
! LaTeX Error: \begin{enumerate} on input line 21 ended by \end{enumerate}.
Responder1
\expandafter
apenas percorre um único token, não grupos de chaves, então a coisa mais simples é colocar tudo o que você deseja passar em um único token:
\documentclass[a4paper,10pt]{report}
\usepackage{paralist,xargs}
\newcommand\mwe[2]{[{\ref{#1}.}.#2]}
\begin{document}
\newenvironmentx{enumwe}[2][2=1]{%
\def\temp{\begin{enumerate}}%
\expandafter\temp\mwe{#1}{#2}%
\ignorespaces%
}{\end{enumerate}%
\ignorespacesafterend%
}
\begin{enumerate}[{A}1]
\item \label{one} {\bfseries~Appendix One}
\begin{enumwe}{one}
\item text
\end{enumwe}
\end{enumerate}
\end{document}