使用 tcolorbox 定义新环境时,hbox 引发错误

使用 tcolorbox 定义新环境时,hbox 引发错误

我想创建一个这样的新环境:

\newenvironment{smallbox}[1][black]{
\colorlet{ShadowColor}{#1!70!black}\vspace{10px}
\begin{center}
\begin{tcolorbox}[hbox,valign=center,colback=#1!5!white, colframe=#1!80!black, enhanced jigsaw,sharp corners, drop shadow=ShadowColor]
}
{\end{tcolorbox}
\end{center}
\vspace{10px}
}

当我将它放入 .sty 文件中并将 .sty 文件用作新 .tex 中的包,然后使用 smallbox 环境时,出现以下错误:

\begin{tcolorbox} on input line 154 ended by \end{smallbox}

如果我从 .sty 文件中删除 tcolorbox 中的参数 hbox,则 .tex 会进行编译。

如果我尝试直接在 .tex 文件中写入,

\begin{tcolorbox}[hbox,valign=center,colback=#1!5!white, colframe=#1!80!black, enhanced jigsaw,sharp corners, drop shadow=ShadowColor]
%stuff    
\end{tcolorbox}

这也行得通。因此,定义一个将 hbox 作为参数传递给 tcolorbox 的新环境存在问题。

有任何想法吗?

相关内容