\newcommand 不适用于 tcbraster

\newcommand 不适用于 tcbraster

我尝试使用 \newcommand 来获取文档中的更多结构,但看起来,在 newcommand 中定义的 tcolorboxes 在 tcbraster 环境中无法正常工作。

如果我把盒子本身放在 tcbraster 中,它们会正确地排列在一起。如果我使用新命令,它们会彼此排列。

梅威瑟:

\documentclass[utf8,fleqn]{scrartcl}

\usepackage[margin=1cm]{geometry}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}


\usepackage[many]{tcolorbox}


\begin{document}



\newtcolorbox[auto counter, number format=\alph]{pabox}[2][]{%
colback=white,colframe=white,coltitle=black,title=\thetcbcounter)}


\newcommand{\bildchen}[1]{
\begin{pabox}{}
#1
\end{pabox}
}


%works side by side
\begin{tcbraster}[enhanced]
\begin{pabox}{}
testA
\end{pabox}
\begin{pabox}{}
testB
\end{pabox}
\end{tcbraster}

%does not work side by side
\begin{tcbraster}[enhanced]
\bildchen{testA}
\bildchen{testB}
\end{tcbraster}

\end{document}

我该如何解决这个问题?有人能帮忙吗?非常感谢。

答案1

您的命令在框前后都包含一个空格,因此没有空间让两个并排。如果没有空格,它就可以工作

\documentclass[utf8,fleqn]{scrartcl}

\usepackage[margin=1cm]{geometry}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}% not needed in recent latex.


\usepackage[many]{tcolorbox}


\begin{document}



\newtcolorbox[auto counter, number format=\alph]{pabox}[2][]{%
colback=white,colframe=white,coltitle=black,title=\thetcbcounter)}


\newcommand{\bildchen}[1]{% no space here
\begin{pabox}{}
#1
\end{pabox}% no space here
}


%works side by side
\begin{tcbraster}[enhanced]
\begin{pabox}{}
testA
\end{pabox}
\begin{pabox}{}
testB
\end{pabox}
\end{tcbraster}

%does not work side by side
\begin{tcbraster}[enhanced]
\bildchen{testA}
\bildchen{testB}
\end{tcbraster}

\end{document}

答案2

我不知道为什么 OP 想要用tcolorboxa 替换 a 环境,command但如果原因是打字少,那么 atcbitemize可以完成工作。

\documentclass[utf8,fleqn]{scrartcl}

\usepackage[margin=1cm]{geometry}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[many]{tcolorbox}

\newcounter{myboxcounter}
\setcounter{myboxcounter}{0}

\tcbset{
    mybox/.style={
        enhanced, colback=white, colframe=white, coltitle=black, 
        title={\refstepcounter{myboxcounter}\alph{myboxcounter})}}
}

\begin{document}

\begin{tcbitemize}[mybox]
\tcbitem test A
\tcbitem test B
\tcbitem test C
\tcbitem test D
\end{tcbitemize}

\end{document}

在此处输入图片描述

相关内容