Booktabs 多列,列之间有垂直线

Booktabs 多列,列之间有垂直线

我对 Latex 还不熟悉,表格制作上有些问题。我必须按照以下格式制作表格(例如,特定线条粗细、列标题下方有双线以及列之间有垂直线)。如何延长使用多列的标题中列之间的垂直线?

如果 booktabs 无法实现这一点,还有哪些软件包可以很好地处理多列和多行?

% \usepackage{amssymb}
% \usepackage{array}
% \newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}

\def\toprule{\specialrule{1.5pt}{0pt}{0pt}}
\def\botrule{\toprule}
\def\headerrule{\hline\hline}
\def\midrule{\specialrule{0.5pt}{0pt}{0pt}}

\begin{table}
\centering
\caption{CAPTION.}

\begin{tabular}{C{2cm}|C{2cm}|C{2cm}|C{2cm}|C{2cm}|C{4cm}C{4cm}}
\toprule

Column A & \multicolumn{3}{c}{Column B} & Column C & Column D \\
\cline{2-4}
& B1 & B2 & B3       \\
\headerrule

blah & \checkmark & \checkmark & \checkmark & blah & blah \\
\midrule
blah & \checkmark & -- & \checkmark & blah & blah \\

\botrule
\end{tabular}

\end{table}

在此处输入图片描述

答案1

你没有提供一个可用的例子,但似乎你只是想要

 & B1 & B2 & B3 & &       \\ 

所以行不会短结束,并且会绘制垂直规则

答案2

为了好玩,但你可能会喜欢:-)

  • 使用tabularray包,您可以定义表格序言中的线条粗细
  • 您可以绝对定义列宽,或者更好地将其定义为X列宽之间的比例(如下面的 MWE 中所做的那样)。
\documentclass{article}
\usepackage{geometry}
\usepackage[skip=1ex, 
            font=sf, labelfont=bf,
            singlelinecheck=false]{caption}
\usepackage{tabularray}
\usepackage{dingbat}
\newcommand\cm{\checkmark}

\begin{document}
    \begin{table}[ht]
    \centering
\sffamily
\caption{CAPTION.}

\begin{tblr}{hline{1,Z}=1pt, 
             hline{2,4-Z}=solid,
             hline{3} = {1}{-}{},
             hline{3} = {2}{-}{},
             vline{2-Y} = solid,
             colspec={ *{5}{X[c]} X[2,c] }
            }
\SetCell[r=2]{h}   Column A    
            & \SetCell[c=3]{c}  Column B    
                    &       &       & \SetCell[r=2]{h}   Column C  
                                                & \SetCell[r=2]{h}   Column D  \\
            & B1    & B2    & B3    &           &           \\

blah        & \cm   & \cm   & \cm   & blah      & blah      \\
blah        & \cm   & --    & \cm   & blah      & blah      \\
\end{tblr}
    \end{table}
\end{document}

在此处输入图片描述

相关内容