用一条线在表格中的几列下划线

用一条线在表格中的几列下划线

下面是一个 LaTeX 表格,其中我划出了“主号码”和“子号码”:

在此处输入图片描述

来源:

\begin{tabular}{ |l|l|l| }
  \hline
  \underline{Main number} & \underline{Subnumber} & Name \\
  \hline
  1 & 1 & Bob \\
  1 & 2 & Bob \\
  2 & 1 & Liz \\
  2 & 3 & Sam \\
  \hline
\end{tabular}

现在我想使用一行来强调两列,如下所示:

在此处输入图片描述

有没有办法做到这一点?

编辑:

我还想要一个解决方案来处理这种情况,我只是将“主号码”更改为“大号码”,导致下划线绘制在不同的级别上:

在此处输入图片描述

答案1

之后\underline{Main number},我添加了\rlap{\underline{~~~~}},它在右侧放置了 4 个空格的下划线,但不占用任何净空间。

\documentclass{article}

\begin{document}
\begin{tabular}{ |l|l|l| }
  \hline
  \underline{Main number}\rlap{\underline{~~~~}} & \underline{Subnumber} & Name \\
  \hline
  1 & 1 & Bob \\
  1 & 2 & Bob \\
  2 & 1 & Liz \\
  2 & 3 & Sam \\
  \hline
\end{tabular}
\end{document}

在此处输入图片描述

为了处理其中一个标题有下降部的情况,你需要\vphantom为另一项添加下降部以及\rlap

\documentclass{article}
\newcommand\pg{\vphantom{g}}
\begin{document}
\begin{tabular}{ |l|l|l| }
  \hline
  \underline{Big number}\rlap{\underline{\pg~~~~}} & \underline{Subnumber\pg} & Name \\[2pt]
  \hline
  1 & 1 & Bob \\
  1 & 2 & Bob \\
  2 & 1 & Liz \\
  2 & 3 & Sam \\
  \hline
\end{tabular}
\end{document}

在此处输入图片描述

答案2

是的,有,但我不推荐。如果你坚持,你可以用 轻松做到这一点pstricks。要用 编译 pstricks 代码pdflatex,请使用编译器开关--enable-write18(MiKTeX) 或-shell-escape(TeX Live、MacTeX) 并加载auto-pst-pdf。或者,用 编译xelatex

除了评论之外:为了在表格中有很好地相交的水平线和垂直线,请加载array包。

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{array}
\usepackage{pst-node, auto-pst-pdf}

\begin{document}

\begin{postscript}
\renewcommand\arraystretch{1.2}
\begin{tabular}{ |l|l|l| }
  \hline
  \pnode[0,-0.5ex]{B}Main number &Subnumber\pnode[0,-0.5ex]{E} & Name \\
  \hline
  1 & 1 & Bob \\
  1 & 2 & Bob \\
  2 & 1 & Liz \\
  2 & 3 & Sam \\
  \hline
\end{tabular}
\ncline[linewidth=\arrayrulewidth]{B}{E}
\end{postscript}

\end{document} 

在此处输入图片描述

相关内容