我尝试使用 \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 想要用tcolorbox
a 替换 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}