在一列中添加双垂直线

在一列中添加双垂直线

我正在尝试使用 \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}

第二段代码的输出

相关内容