将 \hline 垂直间距重新校准为 \cline

将 \hline 垂直间距重新校准为 \cline

我如何改变的间距尺寸\hline以复制的间距尺寸\cline

我绘制了一系列(空单元格)表格,使用\hline横跨整个表格的线条和\cline{1-2}仅横跨一列的线条。很久以后,我意识到我需要覆盖它们,现在我可以看到这\hline增加了总行高,但并\cline没有增加。

(例如,查看下面叠加的表格。在每对中,左侧的表格有两条内部水平线,而左侧的表格没有。左侧的表格使用 ,\hline并且顶部和底部的线无法对齐。右侧的表格正确对齐(我认为)并使用\cline

在此处输入图片描述

(另一种方法是浏览我的文档,根据具体情况更改\hline\cline{1-1}\cline{1-2}或。很乏味。)\cline{1-3}

\documentclass{article}
\begin{document}

\begin{tabular}{|c|}
\hline 
 \\ \hline
  \\ \hline
   \\ \hline
\end{tabular}
%
\hspace{\tabcolsep}%
\llap{
\begin{tabular}{|c|}
\hline 
 \\
  \\
   \\ \hline
\end{tabular}
}
%
\quad
%
\begin{tabular}{|c|}
\cline{1-1}
 \\ \cline{1-1}
  \\ \cline{1-1}
   \\ \cline{1-1}
\end{tabular}
%
\hspace{\tabcolsep}%
\llap{
\begin{tabular}{|c|}
\cline{1-1}
 \\ 
  \\ 
   \\ \cline{1-1}
\end{tabular}
}

\end{document}

答案1

不匹配是由于中间的两条线造成的。它们增加了高度。您可以在第二个表中使用\extrarowheightfromarray包对其进行补偿。

\documentclass{article}
\usepackage{array}
\begin{document}

    \begin{tabular}{|c|}

\hline
 \\ \hline
  \\ \hline
   \\ \hline
\end{tabular}
%
\hspace{\tabcolsep}%
{\extrarowheight=0.6\arrayrulewidth   %%% <<-- this one within a group, adjust suitably
\llap{
\begin{tabular}{|c|}
\hline
 \\
  \\
   \\ \hline
\end{tabular}
}
}
%
\quad
%
\begin{tabular}{|c|}
\cline{1-1}
 \\ \cline{1-1}
  \\ \cline{1-1}
   \\ \cline{1-1}
\end{tabular}
%
\hspace{\tabcolsep}%
\llap{
\begin{tabular}{|c|}
\cline{1-1}
 \\
  \\
   \\ \cline{1-1}
\end{tabular}
}

\end{document}

在此处输入图片描述

您也可以按行手动添加,\\[\arrayrulewidth]如下所示

\hspace{\tabcolsep}%
%{\extrarowheight=0.6\arrayrulewidth   %%% <<-- this one within a group
\llap{
\begin{tabular}{|c|}
\hline
 \\[\arrayrulewidth]
  \\[\arrayrulewidth]
   \\ \hline
\end{tabular}

\extrarowheight方法可以是近似的,但按行添加空间是准确的。

相关内容