表格环境中的连续垂直线

表格环境中的连续垂直线

我使用以下代码创建了一个表:

\begin{tabular}{p{3cm}|p{3cm}|p{3cm}} 
  Symbol & Units & Quantity     \\  
\hline \hline
    $A$                 & m$^2$   & Area         \\
    $a$                 & m^{2}/s & Acceleration \\
    $F$                 & N       & Force        \\
    $l$                 & m       & Length       \\
    $u$                 & m/s     & Velocity
\end{tabular}

其输出为:

在此处输入图片描述

可以看出,垂直线是不连续的,即当垂直线与水平线相遇时会有间隙,并且在第二条水平线之后垂直线再次变得连续。

我不希望垂直线之间有间隙。我想要下图所示的效果:

在此处输入图片描述

有人能告诉我我应该对代码做哪些修改才能达到预期的结果吗?

答案1

要获得所需的连续垂直线,您可以使用包\hhline{=|=|=}中的hhline。在下面的例子中,我还使用了siunitx单位包。

在下面的 mwe 中,我添加了三个版本的表格。在第一个版本中,我仅添加了\hhlinesiunitx。在这里,指数触及水平线。为了防止这种情况,我添加了第二个表格,其中我额外使用了包cellspace在单元格周围留出一些空白。但就我个人而言,我更喜欢更紧凑的表格,没有垂直线和包的水平线booktabs。第三个表格显示了一个示例:

在此处输入图片描述

\documentclass{article}
\usepackage{hhline}
\usepackage{siunitx}
\sisetup{per-mode=symbol}
\usepackage[column=0]{cellspace}
\setlength\cellspacetoplimit{3pt}
\setlength\cellspacebottomlimit{\cellspacetoplimit}
\usepackage{booktabs}

\begin{document}

\begin{tabular}{p{3cm}|p{3cm}|p{3cm}} 
  Symbol & Units & Quantity     \\  
\hhline{=|=|=}
    $A$                 & \si{\m\squared}       & Area         \\
    $a$                 & \si{\m\squared\per\s} & Acceleration \\
    $F$                 & \si{\N}               & Force        \\
    $l$                 & \si{\m}               & Length       \\
    $u$                 & \si{\m\per\s}         & Velocity
\end{tabular}

\bigskip

\begin{tabular}{0{p{3cm}}|0{p{3cm}}|0{p{3cm}}} 
  Symbol & Units & Quantity     \\  
\hhline{=|=|=}
    $A$                 & \si{\m\squared}       & Area         \\
    $a$                 & \si{\m\squared\per\s} & Acceleration \\
    $F$                 & \si{\N}               & Force        \\
    $l$                 & \si{\m}               & Length       \\
    $u$                 & \si{\m\per\s}         & Velocity
\end{tabular}

\bigskip

\begin{tabular}{lll} 
\toprule
  Symbol & Units & Quantity     \\  
\midrule
    $A$                 & \si{\m\squared}       & Area         \\
    $a$                 & \si{\m\squared\per\s} & Acceleration \\
    $F$                 & \si{\N}               & Force        \\
    $l$                 & \si{\m}               & Length       \\
    $u$                 & \si{\m\per\s}         & Velocity     \\
\bottomrule
\end{tabular}
\end{document}

答案2

使用,您可以直接获得预期的输出(但是,带有{NiceTabular}nicematrix表的设计booktabs可能更好)。

\documentclass{article}
\usepackage{nicematrix}

\begin{document}

\begin{NiceTabular}{p{3cm}|p{3cm}|p{3cm}}[cell-space-top-limit=2pt]
  Symbol & Units & Quantity     \\  
\hline \hline
    $A$                 & m$^2$     & Area         \\
    $a$                 & m$^{2}$/s & Acceleration \\
    $F$                 & N         & Force        \\
    $l$                 & m         & Length       \\
    $u$                 & m/s       & Velocity
\end{NiceTabular}

\end{document}

您需要多次编译(因为nicematrix在后台使用 PGF/Tikz 节点)。

上述代码的输出

相关内容