tcolorbox 中的新命令

tcolorbox 中的新命令

我正在使用很多 tcolorbox,我想用 newcommand 来设置它们以节省时间。

我用

\begin{tcolorbox}[breakable, enhanced jigsaw]
        test test
    \end{tcolorbox} 

我想更换

[breakable, enhanced jigsaw]

类似于

\newcommand{\help}{breakable, enhanced jigsaw}
-->
\begin{tcolorbox}[\help]
        test test
    \end{tcolorbox} 

但它不起作用。有人知道为什么吗?

答案1

虽然你可以使用宏,但这会违背目的(在我看来)。我建议改用样式,它们是为此而设计的。

\documentclass{article}
\usepackage[breakable,skins]{tcolorbox}
\begin{document}
\begin{tcolorbox}[breakable, enhanced jigsaw]
        test test
\end{tcolorbox} 

\tcbset{help/.style={breakable, enhanced jigsaw}}
\begin{tcolorbox}[help]
        test test
\end{tcolorbox} 
\end{document}

style您可以通过将密钥从复制tikztcolorbox并将其与密钥处理程序一起使用来使宏发挥作用/.expanded

\documentclass{article}
\usepackage[breakable,skins]{tcolorbox}
\pgfkeys{/tcb/style/.style=#1}%
% adapted from 
% \pgfkeys{/tikz/style/.style=#1}%
% in tikz.code.tex
\begin{document}
\begin{tcolorbox}[breakable, enhanced jigsaw]
        test test
\end{tcolorbox} 


\newcommand{\help}{breakable, enhanced jigsaw}
\begin{tcolorbox}[style/.expanded=\help]
        test test
\end{tcolorbox} 
\end{document}

两种代码均产生

在此处输入图片描述

但我发现第一个选项,即第一个代码中的第二个框更合适。

相关内容