![在一列中添加双垂直线](https://linux22.com/image/349875/%E5%9C%A8%E4%B8%80%E5%88%97%E4%B8%AD%E6%B7%BB%E5%8A%A0%E5%8F%8C%E5%9E%82%E7%9B%B4%E7%BA%BF.png)
我正在尝试使用 \hhline 在水平线中添加一条垂直双线。我想在表格中的 Year 列之后、(a,b) 之前(左侧第二行)添加这条垂直双线。我希望这条新的垂直双线从表格顶部一直延伸到底部。
我的代码是:
\begin{table}[h!]
\begin{center}
\begin{tabular}{|c|c|c|c|c|c|}
\hline
Year & a & c &e & g\\
&b & d & f &h \\ \hhline{|=|=|=|=|=|}
1995 & 423 & 1049.5 & 3.4 & 31.1 \\ \hline
1996 & 224 & 1009.9 & 3.2 & 31.0\\ \hline
1997 & 209 & 1069.1* & 3.5 & 30.8\\ \hline
1998 & 298 & 1270.9 & 4.0 & 31.9\\ \hline
1999 & 322 & 1386.1 &4.2 & 32.9\\ \hline
2000 & 507 & 1633.9 & 5.0&32.7 \\ \hline
2001 & 472 & 1515.5 & 4.5&34.0\\ \hline
\end{tabular}
\end{center}
\end{table}
我该怎么做才能改善它?我尝试搜索其他帖子,但找不到适合我的解决方案。
答案1
你不需\hhline
要这样做:
\begin{center}
\begin{tabular}{|c||c|c|c|c|c|}
\hline
Year & a & c &e & g\\
&b & d & f &h \\ \hline\hline % \hhline{|=|=|=|=|=|}
1995 & 423 & 1049.5 & 3.4 & 31.1\\ \hline
1996 & 224 & 1009.9 & 3.2 & 31.0\\ \hline
1997 & 209 & \phantom{*}1069.1*& 3.5 & 30.8\\ \hline
1998 & 298 & 1270.9 & 4.0 & 31.9\\ \hline
1999 & 322 & 1386.1 & 4.2 & 32.9\\ \hline
2000 & 507 & 1633.9 & 5.0 & 32.7\\ \hline
2001 & 472 & 1515.5 & 4.5 & 34.0\\ \hline
\end{tabular}
\end{center}
答案2
与双水平线 ( ) 交叉的垂直双线=
需要#
。不过,我会选择更开放的,booktabs
推介会:
\documentclass{article}
\usepackage{hhline,booktabs}
\begin{document}
\begin{tabular}{|c||c|c|c|c|c|}
\hline
Year & a & c &e & g\\
&b & d & f &h \\
\hhline{|=#=|=|=|=|}
1995 & 423 & 1049.5 & 3.4 & 31.1\\ \hline
1996 & 224 & 1009.9 & 3.2 & 31.0\\ \hline
1997 & 209 & 1069.1\rlap{*} & 3.5 & 30.8\\ \hline
1998 & 298 & 1270.9 & 4.0 & 31.9\\ \hline
1999 & 322 & 1386.1 & 4.2 & 32.9\\ \hline
2000 & 507 & 1633.9 & 5.0 & 32.7\\ \hline
2001 & 472 & 1515.5 & 4.5 & 34.0\\ \hline
\end{tabular}
\bigskip
\begin{tabular}{ *{6}{c} }
\toprule
& a & c & e & g \\
Year & b & d & f & h \\
\midrule
1995 & 423 & 1049.5 & 3.4 & 31.1 \\
1996 & 224 & 1009.9 & 3.2 & 31.0 \\
1997 & 209 & 1069.1\rlap{*} & 3.5 & 30.8 \\
1998 & 298 & 1270.9 & 4.0 & 31.9 \\
1999 & 322 & 1386.1 & 4.2 & 32.9 \\
2000 & 507 & 1633.9 & 5.0 & 32.7 \\
2001 & 472 & 1515.5 & 4.5 & 34.0 \\
\bottomrule
\end{tabular}
\end{document}
答案3
如果您确实想要一条双垂直线穿过一条双水平线(不断开),则可以使用{NiceTabular}
。nicematrix
使用该包,垂直线用 PGF/TikZ 绘制,并且永远不会断开。
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\begin{NiceTabular}{|c||c|c|c|c|}
\hline
Year & a & c &e & g\\
&b & d & f &h \\
\hline\hline
1995 & 423 & 1049.5 & 3.4 & 31.1\\ \hline
1996 & 224 & 1009.9 & 3.2 & 31.0\\ \hline
1997 & 209 & 1069.1\rlap{*} & 3.5 & 30.8\\ \hline
1998 & 298 & 1270.9 & 4.0 & 31.9\\ \hline
1999 & 322 & 1386.1 & 4.2 & 32.9\\ \hline
2000 & 507 & 1633.9 & 5.0 & 32.7\\ \hline
2001 & 472 & 1515.5 & 4.5 & 34.0\\ \hline
\end{NiceTabular}
\end{document}
{tabular}
但是,如果您想要with的默认行为{NiceTabular}
(因为您想要用于{NiceTabular}
其他功能),您可以I
使用 的原始定义来定义一个列|
。
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\newcolumntype{I}{!{\vrule}}
\begin{NiceTabular}{|cIIc|c|c|c|}
\hline
Year & a & c &e & g\\
&b & d & f &h \\
\hline\hline
1995 & 423 & 1049.5 & 3.4 & 31.1\\ \hline
1996 & 224 & 1009.9 & 3.2 & 31.0\\ \hline
1997 & 209 & 1069.1\rlap{*} & 3.5 & 30.8\\ \hline
1998 & 298 & 1270.9 & 4.0 & 31.9\\ \hline
1999 & 322 & 1386.1 & 4.2 & 32.9\\ \hline
2000 & 507 & 1633.9 & 5.0 & 32.7\\ \hline
2001 & 472 & 1515.5 & 4.5 & 34.0\\ \hline
\end{NiceTabular}
\end{document}