删除表格中特定整行(包含文本)的边框

删除表格中特定整行(包含文本)的边框

我正在尝试绘制下表:

在此处输入图片描述

到目前为止我尝试过这个:

\begin{table}[]
    \centering
    \begin{tabular}{|c|c|c|c|c|c|c|c|c|}
        \hline
        1 & 1 & 1 & 1 & 1 & 1 & 0 & 0 & 0 \\ \hline
        it & was & the & best & of & times & worst & age & wisdom \\
    \end{tabular}
    \caption{Caption}
    \label{tab:my_label}
\end{table}

如何删除第二行包含未更改列中的文本的表格边框。我找到了这个解决方案,但它不适合这种情况:删除表格行的垂直边框

答案1

最基本的方法是将需要更改其列规范的每个单元格包装在 内\multicolumn{1}{<new col spec>}。根据您的示例,所有单元格都应该从 更改为c|c这可以通过宏简化\mc

在此处输入图片描述

\documentclass{article}

\usepackage{array}
\newcommand{\mc}{\multicolumn{1}{c}}

\begin{document}

\begin{table}
  \centering
  \begin{tabular}{ | *{9}{ c| } }
    \hline
    1 & 1 & 1 & 1 & 1 & 1 & 0 & 0 & 0 \\
    \hline
    \mc{it} & \mc{was} & \mc{the} & \mc{best} & \mc{of} & \mc{times} & \mc{worst} & \mc{age} & \mc{wisdom}
  \end{tabular}
  \caption{Caption}
\end{table}

\end{document}

纳入array不是必需的,但在 中提供了更好的规则对齐/连接tabular

答案2

Simple 是宽度tabularray包。它的tblr表和X列使您可以简单地编写代码来执行以下任务:

\documentclass{article}
\usepackage{tabularray}

\begin{document}

\begin{table}
  \centering
  \begin{tblr}{hline{1,2}={solid}, vlines={1}{solid}, % define lines in the first row
               colspec   = {*{9}{X[c]}},              % column specification: X, centered 
               colsep    = 1pt                        % column separation  
               }
1   & 1   & 1   & 1    & 1  & 1     & 0     & 0   & 0       \\
it  & was & the & best & of & times & worst & age & wisdom 
  \end{tblr}
  \caption{Caption}
\end{table}

\end{document}

在此处输入图片描述

相关内容