是否可以重复 /begin{something} n 次?

是否可以重复 /begin{something} n 次?

我想定义一个位于 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在开始代码中保存到本地命令以供结束时使用

相关内容