環境を列挙するための拡張可能なオプションパラメータ

環境を列挙するための拡張可能なオプションパラメータ

以下の MWE は、パッケージを使用することで、 「何らかの方法で」柔軟性を持たせること(上記の s から継承)paralistができるはずです。\begin{enumerate}[...]...enumerate

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

しかし、コメント行は間違った試みのようで、MWE のタイプセットも間違っています。

拡張された結果は次のようになると予想されます。

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

どのようなご助力やご提案でも歓迎いたします。

PS: 実際には、オプション パラメータのマクロを のenumerateように環境に展開する必要があります\begin{enumerate}[\mwe{...}1.]が、うまくいきません ( は??どこでも発生します)。この MWE が私のアプローチですが、奇妙なエラーが発生してしまいました:

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

答え1

\expandafter括弧グループではなく単一のトークンのみをステップオーバーするので、ステップオーバーしたいものをすべて単一のトークンにまとめるのが最も簡単です。

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

関連情報