tcolorbox, tabularx: erste Zeile mit mehreren Spalten funktioniert in der tcolorbox-Umgebung nicht

tcolorbox, tabularx: erste Zeile mit mehreren Spalten funktioniert in der tcolorbox-Umgebung nicht

Ich habe ein Problem mit tabularxeiner tcolorboxUmgebung, hier ist der Code:

\documentclass[]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}


\usepackage[most]{tcolorbox}
\usepackage{tabularx}
\usepackage{array}
\usepackage{colortbl}
\tcbuselibrary{skins}

\begin{document}

\newcolumntype{b}{X}
\newcolumntype{i}{>{\hsize=.005\hsize}X}
\newcolumntype{s}{>{\hsize=.15\hsize}X}

\begin{table}
\begin{center}
\begin{tcolorbox}[colback=black!0.8!white,colframe=black!4!white,
colbacktitle=gray!40!white, coltitle=black,width=1.0\linewidth,tabularx={ibs}]   
    \multicolumn{2}{b}{Number}                           & 11     \\\hline                  
    & part a                                             & 38     \\\hline 
    & part b                                             & 4      \\\hline 
    & part c                                             & 2      \\\hline\hline
    \multicolumn{2}{l}{Blabla 1}                         & 217    \\\hline 
    \multicolumn{2}{l}{Blabla 2}                         & 20     \\\hline 
    \multicolumn{2}{l}{Blabla 1}                         & 105    \\\hline 
    \multicolumn{2}{l}{Blabla 1}                         & 3100   \\\hline 
    \multicolumn{2}{l}{Blabla 1}                         & 367
\end{tcolorbox}
\end{center}
\end{table}

\vspace{3cm}

\begin{center}
\begin{tabularx}{1.0\linewidth}{ibs}   
    \multicolumn{2}{b}{Number}                           & 11     \\\hline                  
    & part a                                             & 38     \\\hline 
    & part b                                             & 4      \\\hline 
    & part c                                             & 2      \\\hline\hline
    \multicolumn{2}{l}{Blabla 1}                         & 217    \\\hline 
    \multicolumn{2}{l}{Blabla 2}                         & 20     \\\hline 
    \multicolumn{2}{l}{Blabla 1}                         & 105    \\\hline 
    \multicolumn{2}{l}{Blabla 1}                         & 3100   \\\hline 
    \multicolumn{2}{l}{Blabla 1}                         & 367\end{tabularx}
\end{center}

\vspace{3cm}

\end{document}

In einer normalen tabularxUmgebung ist die Tabelle in Ordnung (siehe 2. Tabelle). Wenn ich jedoch dasselbe in einer tcolorboxUmgebung mache (1. Tabelle), funktioniert die erste Zeile, die ein enthält multicolumn, nicht, während die anderen 5 angezeigt werden, wenn man alle Fehler durchläuft.

Bildbeschreibung hier eingeben

Der Fehler ist (tritt 6x auf):

! Misplaced \omit.
\multispan ->\omit 
                   \@multispan 
l.31 \end{tcolorbox}

? 

Ich habe versucht, mit der „Größe“ der ersten Mehrfachspalte zu spielen, aber es ist mir nicht gelungen.

Für jede Hilfe bin ich sehr dankbar. Danke.

Antwort1

Am einfachsten ist es, sie einfach \multicolumnin die zweite Zeile zu setzen und eine leere erste Zeile zu lassen, die Sie mit einem negativen vspace sichern können. Ich habe auch Ihre ibsDefinitionen korrigiert.

Bildbeschreibung hier eingeben

\documentclass[]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}


\usepackage[most]{tcolorbox}
\usepackage{tabularx}
\usepackage{array}
\usepackage{colortbl}
\tcbuselibrary{skins}

\begin{document}

\newcolumntype{b}{>{\hsize=2.8\hsize}X}
\newcolumntype{i}{>{\hsize=.05\hsize}X}
\newcolumntype{s}{>{\hsize=.15\hsize}X}

\begin{table}
\begin{center}
\errorcontextlines400
\tracingonline2

%\tracingall
\begin{tcolorbox}[colback=black!0.8!white,colframe=black!4!white,
colbacktitle=gray!40!white, coltitle=black,width=1.0\linewidth,tabularx={ibs}]%
\\
\noalign{\vspace{-\normalbaselineskip}}
    \multicolumn{2}{b}{Number}
                           & 11     \\\hline                  
    & part a                                             & 38     \\\hline 
    & part b                                             & 4      \\\hline 
    & part c                                             & 2      \\\hline\hline
    \multicolumn{2}{l}{Blabla 1}                         & 217    \\\hline 
    \multicolumn{2}{l}{Blabla 2}                         & 20     \\\hline 
    \multicolumn{2}{l}{Blabla 1}                         & 105    \\\hline 
    \multicolumn{2}{l}{Blabla 1}                         & 3100   \\\hline 
    \multicolumn{2}{l}{Blabla 1}                         & 367
\end{tcolorbox}
\end{center}
\end{table}

\vspace{3cm}

\begin{center}
\begin{tabularx}{1.0\linewidth}{ibs}   
    \multicolumn{2}{b}{Number}                           & 11     \\\hline                  
    & part a                                             & 38     \\\hline 
    & part b                                             & 4      \\\hline 
    & part c                                             & 2      \\\hline\hline
    \multicolumn{2}{l}{Blabla 1}                         & 217    \\\hline 
    \multicolumn{2}{l}{Blabla 2}                         & 20     \\\hline 
    \multicolumn{2}{l}{Blabla 1}                         & 105    \\\hline 
    \multicolumn{2}{l}{Blabla 1}                         & 3100   \\\hline 
    \multicolumn{2}{l}{Blabla 1}                         & 367\end{tabularx}
\end{center}

\vspace{3cm}

\end{document}

Antwort2

Dieses Problem wurde mit gelöst tcolorbox v4.20. Jetzt multicolumnkann die Option problemlos in der obersten Zeile verwendet werden.

Code des OP

\documentclass[]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage[most]{tcolorbox}
\usepackage{tabularx}
\usepackage{array}
\usepackage{colortbl}
\tcbuselibrary{skins}

\begin{document}

\newcolumntype{b}{X}
\newcolumntype{i}{>{\hsize=.005\hsize}X}
\newcolumntype{s}{>{\hsize=.15\hsize}X}

\begin{table}
\begin{center}
\begin{tcolorbox}[colback=black!0.8!white,colframe=black!4!white,
colbacktitle=gray!40!white, coltitle=black,width=1.0\linewidth,tabularx={ibs}]   
    \multicolumn{2}{b}{Number}                           & 11     \\\hline                  
    & part a                                             & 38     \\\hline 
    & part b                                             & 4      \\\hline 
    & part c                                             & 2      \\\hline\hline
    \multicolumn{2}{l}{Blabla 1}                         & 217    \\\hline 
    \multicolumn{2}{l}{Blabla 2}                         & 20     \\\hline 
    \multicolumn{2}{l}{Blabla 1}                         & 105    \\\hline 
    \multicolumn{2}{l}{Blabla 1}                         & 3100   \\\hline 
    \multicolumn{2}{l}{Blabla 1}                         & 367
\end{tcolorbox}
\end{center}
\end{table}

\vspace{3cm}

\begin{center}
\begin{tabularx}{1.0\linewidth}{ibs}   
    \multicolumn{2}{b}{Number}                           & 11     \\\hline                  
    & part a                                             & 38     \\\hline 
    & part b                                             & 4      \\\hline 
    & part c                                             & 2      \\\hline\hline
    \multicolumn{2}{l}{Blabla 1}                         & 217    \\\hline 
    \multicolumn{2}{l}{Blabla 2}                         & 20     \\\hline 
    \multicolumn{2}{l}{Blabla 1}                         & 105    \\\hline 
    \multicolumn{2}{l}{Blabla 1}                         & 3100   \\\hline 
    \multicolumn{2}{l}{Blabla 1}                         & 367\end{tabularx}
\end{center}

\vspace{3cm}

\end{document}

liefert das erwartete Ergebnis ohne Fehlermeldung

Bildbeschreibung hier eingeben

verwandte Informationen