我想制作一个 tcolorbox,它基于变量 ( ) 的值居中。我想仅当不等于 时才\standardboxwidth
调用 tcbset 的参数 center 。我查看了文档,但找不到解决方案。有人能帮帮我吗?\standardboxwidth
\linewidth
以下是我的问题的一小部分代码片段:
\documentclass[a4paper, 11pt]{book}
\usepackage{tcolorbox}
\def\standardboxwidth{0.5\linewidth}
\newtcolorbox{mybox}{
width = \standardboxwidth,
center, % Only call, if \standardboxwidth != \linewidth
}
\begin{document}
\begin{mybox}
Text
\end{mybox}
\end{document}
答案1
\tcbset
您可以根据条件定义自己的风格。
My Center Style
下面我根据定义的条件来定义样式\UseCenter
。如果是,则center
应用,center
否则不是已应用。
代码
\def\UseCenter{}%
\documentclass[a4paper, 11pt]{book}
\usepackage{tcolorbox}
\def\standardboxwidth{0.5\linewidth}
\ifdefined\UseCenter
\tcbset{My Center Style/.style={center}}
\else
\tcbset{My Center Style/.style={}}
\fi
\newtcolorbox{mybox}{
width = \standardboxwidth,
My Center Style,
}
\begin{document}
\begin{mybox}
Text
\end{mybox}
\end{document}