tabularx
我在環境中遇到問題tcolorbox
,程式碼如下:
\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}
在常規tabularx
環境中,該表沒問題(請參閱第二表)。但是,如果我在環境(第一個表)中執行相同的操作tcolorbox
,則包含 , 的第一行multicolumn
不起作用,而如果其中一個通過了所有錯誤,則其他 5 行會顯示。
錯誤是(出現 6x):
! Misplaced \omit.
\multispan ->\omit
\@multispan
l.31 \end{tcolorbox}
?
我嘗試調整第一個多列的“大小”,但沒有成功。
非常感謝任何幫助。謝謝。
答案1
最簡單的方法是將 放在\multicolumn
第二行中,留下一個空的第一行,您可以使用負虛擬空間進行備份。我還修正了你的ibs
定義。
\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}
答案2
這個問題已經解決了tcolorbox v4.20
。現在,multicolumn
選項可以毫無問題地在最上面的行中使用。
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}
產生預期結果,沒有任何錯誤訊息