栅格中的 tcolorboxes 在列中的位置不正确

栅格中的 tcolorboxes 在列中的位置不正确

我想创建一个 2 列的tcolorboxes 栅格,但只有第一行的框正确对齐。我期望结果是 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}

tcbraster 的输出

答案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}

相关内容