表格中的垂直线不在一条线上

表格中的垂直线不在一条线上

我有下表,但有些行不在一行中。这是什么原因造成的?

在此处输入图片描述

\begin{table}[htbp]
  \footnotesize
  \centering
  \caption{Add caption}
  \resizebox{\columnwidth}{!}{%
    \begin{tabular}{l|ll|ll|l|ll}
    \hline
    Row & \multicolumn{2}{l}{HPI} & \multicolumn{2}{|l}{CPUT} & \multicolumn{1}{|l}{FS\#} & \multicolumn{2}{|l}{GAP (\%)} \\ \cline{2-5} \cline{7-8}
    & [Min., Max.] & [Ave., Std.] & [Min., Max.] & [Ave., Std.] &  & [Min., Max.] & [Ave., Std.] \\ \hline
    \makecell[l]{Without \\ repair} & [0.78, 1] & [0.94, 0.06] & [0.59, 120] & [85.87, 42.87] & 120   & [0.11, 21.5] & [5.18, 5.86] \\ \hline
    \makecell[l]{With \\ repair} & [0.93, 1] & [0.99, 0.02] & [0.29, 22.96] & [5.18, 5.81] & 220   & [0, 2.5] & [0.14, 0.53] \\
    \hline
    \end{tabular}%
    }
  \label{tab:comp}%
\end{table}%

答案1

除第一列外,规则均位于列的右边缘,因此永远不要总是\multicolumn{2}{|l}这样\multicolumn{2}{l|}做,否则,正如您所展示的,您将得到一个凹口,其中部分规则位于一列的右侧边缘,而其他部分位于相邻列的左侧边缘。

答案2

  • 请始终提供 MWE(最小工作示例,一个完整的小文档,除了您的问题之外,它还告知我们有关页面布局的信息,它由使用的文档类定义,通常geometry也由包定义。
  • 不要缩放表格!这会导致字体大小不一致。
  • 您的问题已由@David Carlisle 回答解决,但是可以通过使用以下tabularray包(简单)避免:
\documentclass{article}
\usepackage{geometry}
\usepackage[skip=1ex, font=small, labelfont=bf]{caption}
\usepackage{tabularray}

\begin{document}
    \begin{table}[htbp]
    \small
\caption{Add caption}
\label{tab:comp}
    \begin{tblr}{hlines, 
                 colsep  = 5pt,
                 colspec = { Q[l,m] |Xl|Xl|c|Xl },
                } 
\SetCell[r=2]{l}  Row 
    & \SetCell[c=2]{l}  HPI     &   
        & \SetCell[c=2]{l}  CPUT    &   
            & \SetCell[r=2]{l}  FS\# 
                & \SetCell[c=2]{l}  GAP (\%)    
                    &                               \\
    & [Min., Max.] & [Ave., Std.]   
        & [Min., Max.]  & [Ave., Std.]
            &       & [Min., Max.]  & [Ave., Std.]  \\
{Without \\ repair} 
    & [0.78, 1] & [0.94, 0.06] 
        & [0.59, 120]   & [85.87, 42.87] 
            & 120   & [0.11, 21.5]  & [5.18, 5.86]  \\
{With \\ repair} 
    & [0.93, 1] & [0.99, 0.02] 
        & [0.29, 22.96] & [5.18, 5.81] 
            & 220   & [0, 2.5]      & [0.14, 0.53] \\
    \end{tblr}
    \end{table}
\end{document}

笔记tabularray包裹

  • 还可以使单元格内容更好地垂直居中
  • 对多行和多列单元格使用不同的命令名称:
    • 对于多行: \SetCell[r=<number of rows>] {<align>} <content>
    • 对于多列:\SetCell[c=<number of columns>] {<align>} <content>
  • 有关详细信息,请参阅软件包文档

在此处输入图片描述

相关内容