我想定义一个位于 n 个填充环境中的环境。但是当我尝试编译代码时,我得到了
"message": "Illegal parameter number in definition of \\endsubproof.\n<to be read again> \n",
这是代码
\newcommand{\Repeat}[2]{% \repeat already defined
\foreach \n in {1,...,#1}{#2}
}
\newenvironment{subproof}[2][1]{
%begin
\Repeat{\number#1}{\begin{subproofill}}
\begin{tcolorbox}[demo, title = #2, colframe = black]
\vspace*{5\logicv}
}{
%end
\end{tcolorbox}
\Repeat{\number#1}{\end{subproofill}}
}
使用命令存储 #1 可以解决上述错误。但现在使用/Repeat{n}{\begin{som}}
示例代码编译环境时出现问题:
\Repeat{2}{\begin{subproofill}}
hola
\Repeat{2}{\end{subproofill}}
这引发了几个错误(如果我不使用 \Repeat 则不会出现)
答案1
环境参数在结束代码中不可用,#1
在开始代码中保存到本地命令以供结束时使用