我有一個表的以下程式碼:
\bgroup
\def\arraystretch{1.5}
\begin{table}[ht]
\textbf{\caption{My Table}} % title of Table
\centering % used for centering table
\begin{tabular}{ c|ccc }
\hline
Col1 & Col2 & Col3 & Col4\\[5pt]
\hline
\multirow{2}{*}{Merged Cell} & A12 & A13 & A14\\
\cmidrule(lr){2-4}
& A22 & A23 & A24 \\
\hline
\end{tabular}
\end{table}
\egroup
當我運行此程式碼時,我發現第一列和第二列之間的垂直線不連續。不知道為什麼會發生這種情況。
答案1
Booktabs
在其規則 (aboverulesep
和belowrulesep
) 周圍添加垂直填充,這解釋了不連續性。將它們設為-0.2pt
(標準線粗細的一半)可以解決問題。
您也可以載入boldline
以模擬 booktabs 規則的可變厚度,但您失去了修剪 s 的可能性 \cmidrule
。
以下是兩種解決方案的範例:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{multirow, booktabs, caption, boldline, cellspace}
\captionsetup{font=bf}
\setlength\cellspacetoplimit{8pt}
\setlength\cellspacebottomlimit{\cellspacetoplimit}
\begin{document}
\bgroup
\aboverulesep = -0.2pt
\belowrulesep = -0.2pt
\def\arraystretch{1.5}
\begin{table}[!ht]
\caption{My Table} % title of Table
\centering % used for centering table
\begin{tabular}{ c|ccc }
\toprule
Col1 & Col2 & Col3 & Col4 \\[5pt]
\midrule
\multirow{2}{*}{Merged Cell} & A12 & A13 & A14 \\
\cmidrule(lr){2-4}
& A22 & A23 & A24 \\
\bottomrule
\end{tabular}
\end{table}
\egroup
\vskip 1cm
\begin{table}[!ht]
\caption{My Table} % title of Table
\centering % used for centering table
\begin{tabular}{ c|Sccc }
\hlineB{2}
Col1 & Col2 & Col3 & Col4 \\
\hlineB{1.5}
\multirow{2}{*}[-4.6pt]{Merged Cell} & A12 & A13 & A14 \\
\clineB{2-4}{1.5}
& A22 & A23 & A24 \\
\hlineB{2}
\end{tabular}
\end{table}
\end{document}