Tengo un problema tabularx
en un tcolorbox
entorno, aquí está el código:
\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}
En un tabularx
entorno normal, la mesa está bien (consulte la segunda tabla). Sin embargo, si hago lo mismo en un tcolorbox
entorno (primera tabla), la primera línea, que contiene un multicolumn
, no funciona, mientras que las otras 5 aparecen, si se pasan todos los errores.
El error es (aparece 6x):
! Misplaced \omit.
\multispan ->\omit
\@multispan
l.31 \end{tcolorbox}
?
Intenté jugar con el "tamaño" de la primera columna múltiple pero no lo logré.
Cualquier ayuda es muy apreciada. Gracias.
Respuesta1
Es más fácil simplemente colocar el \multicolumn
en la segunda fila, dejando una primera fila vacía que pueda respaldar con un vspace negativo. También arreglé tus ibs
definiciones.
\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}
Respuesta2
Este problema se ha solucionado con tcolorbox v4.20
. Ahora, multicolumn
la opción se puede utilizar en la fila superior sin problemas.
código de 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}
produce el resultado esperado sin ningún mensaje de error