答案1
首先,不清楚为什么你为所有五列选择了非常小的列宽。其次,由于单元格内的换行似乎不需要(甚至不允许),我不会使用允许换行的列类型,而是使用列类型w
。第三,出现垂直线缺失的原因是,你使用了\multicolumn{2}{c}{...}
而不是\multicolumn{2}{c|}{...}
。
\documentclass{article}
\usepackage{array} % for 'm' and 'w' column types
\usepackage{multirow}
\usepackage{newtxtext,newtxmath} % optional
\renewcommand\thetable{\Roman{table}} % optional
\begin{document}
\setcounter{table}{4} % just for this example
\begin{table}[h]
\centering
\caption{Dummy table}
\begin{tabular}{| *{5}{wc{3mm}} |} % choose suitable column types/widths
\hline
\multirow{2}{*}{a}
& \multicolumn{2}{c }{b-c}
& \multicolumn{2}{c|}{b-c} \\ % <- note the "|" symbol
& b2 & c2 & d2 & e2 \\ \hline
r & 1 & 2 & 3 & 4 \\ \hline
\end{tabular}
\end{table}
\end{document}
答案2
tabularray
就简单多了。
\documentclass{article}
\usepackage{tabularray}
\begin{document}
\begin{table}
\caption{title}
\centering
\begin{tblr}
{
colspec = {Q[c,m]Q[c,m]Q[c,m]Q[c,m]Q[c,m]},
hline{1,3,Z} = {},
vline{1,Z} = {},
cell{1}{2,4} = {c=2}{},
cell{1}{1} = {r=2}{},
}
a & b-c & & b-c & \\
& b2 & c2 & d2 & e2 \\
r & 1 & 2 & 3 & 4 \\
\end{tblr}
\end{table}
\end{document}