
Я не очень опытен с latex, и я пытаюсь обернуть команду \begin{collect*} с некоторыми общими аргументами, используемыми в ее собственной среде, но у меня возникли проблемы с тем, чтобы заставить все это работать. Проблема проявляется только внутри пользовательской среды. Минимальный пример, демонстрирующий этот пример, следующий:
\documentclass[11pt,english]{article}
\usepackage{xparse}
\usepackage{collect}
\DeclareDocumentEnvironment{dup}{ m }
{ \begin{collect*}{#1dupcollection}{}{}{}{}
}
{
\end{collect*}
}
\begin{document}
\begin{dup}{atest}
content...
\end{dup}
\end{document}
Я получаю следующую ошибку: Файл закончился при сканировании использования \@tempa
Я пытался найти решение, но не смог. Я уверен, что кто-то здесь может помочь.
решение1
\documentclass[11pt,english]{article}
\usepackage{collect}
\makeatletter
\newenvironment{dup}[1]{%
\definecollection{#1dupcollection}%
\@nameuse{collect*}{#1dupcollection}{}{}{}{}%
}{%
\@nameuse{endcollect*}%
}
\makeatother
\begin{document}
\begin{dup}{atest}
content...
\end{dup}
\end{document}