erweiterbarer optionaler Parameter zum Aufzählen der Umgebung

erweiterbarer optionaler Parameter zum Aufzählen der Umgebung

Das folgende MWE paralistsoll durch die Verwendung des Pakets zulassen, \begin{enumerate}[...]dass ...„in gewisser Weise“ flexibel ist (erbt von enumerates oben).

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

Die kommentierte Zeile scheint jedoch ein falscher Versuch zu sein, da der MWE-Satz falsch ist.

Das erwartete erweiterte Ergebnis wäre das Folgende.

\begin{enumerate}[{A}1]
\item \label{one} {\bfseries~Appendix One}
  \begin{enumerate}[{A1.}1.]
    \item text
  \end{enumerate}
\end{enumerate}

Ich freue mich über jede Hilfe und jeden Vorschlag.

enumeratePS: Ich muss eigentlich ein Makro im optionalen Parameter auf die Umgebung erweitern , etwa \begin{enumerate}[\mwe{...}1.], aber es funktioniert nicht (das ??kommt überall vor) und dieses MWE ist mein Ansatz, aber ich stecke bei folgendem seltsamen Fehler fest:

! LaTeX Error: \begin{enumerate} on input line 21 ended by \end{enumerate}.

Antwort1

\expandafterüberspringt nur ein einzelnes Token, keine Klammergruppen. Am einfachsten ist es also, alles, was Sie überspringen möchten, in ein einzelnes Token zu packen:

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

verwandte Informationen