我正在使用很多 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
您可以通过将密钥从复制tikz
到tcolorbox
并将其与密钥处理程序一起使用来使宏发挥作用/.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}
两种代码均产生
但我发现第一个选项,即第一个代码中的第二个框更合适。