我使用以下代码创建了一个表:
\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 中,我添加了三个版本的表格。在第一个版本中,我仅添加了\hhline
和siunitx
。在这里,指数触及水平线。为了防止这种情况,我添加了第二个表格,其中我额外使用了包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 节点)。