我想创建一个 2 列的tcolorbox
es 栅格,但只有第一行的框正确对齐。我期望结果是 2 列 3 行。
bxTypeA
我使用和而txTypeB
不是的原因tcolorbox
是这bxTypeA
会稍微复杂一些,而且我不想一次又一次地重复代码。
\documentclass{article}
\usepackage{tcolorbox}
\tcbuselibrary{skins,raster}
\newtcolorbox{bxTypeA}[2][]{
title=#1
}
\newtcolorbox{bxTypeB}[2][]{
enhanced,
title=#2,
#1
}
\setlength\parindent{0pt}
\pagestyle{empty}
\begin{document}
\begin{tcbraster}[raster columns=2,raster equal height=rows]
\begin{bxTypeB}{First}
These are the menu items:
\begin{itemize}
\item aafdsaf
\item
\end{itemize}
\end{bxTypeB}
\begin{bxTypeB}{Second}
These are the menu items:
\begin{itemize}
\item aafdsaf
\item
\end{itemize}
\end{bxTypeB}
\begin{bxTypeA}
These are the menu items:
\begin{itemize}
\item aaa
\item
\end{itemize}
\end{bxTypeA}
\begin{bxTypeA}
These are the menu items:
\begin{itemize}
\item
\item
\item
\item
\item
\end{itemize}
\end{bxTypeA}
\begin{bxTypeB}{Third}
These are the menu items:
\begin{itemize}
\item aafdsaf
\item
\end{itemize}
\end{bxTypeB}
\begin{bxTypeA}
These are the menu items:
\begin{itemize}
\item
\item
\end{itemize}
\end{bxTypeA}
\end{tcbraster}
\end{document}
答案1
(此答案扩展自@UlrikeFischer 的评论。
空行里面 tcbraster
环境会强制段落中断,因此应避免bxTypeA
在内部使用的环境之间使用空行。tcbraster
\begin{tcbraster}[...]
% empty lines at the beginning or end is acceptable
\begin{bxTypeB}{...}
contents
\end{bxTypeB}
% no empty line(s) here
\begin{bxTypeB}{...}
contents
\end{bxTypeB}
\end{tcbraster}