在表格中用连续线在两个单元格下划线

在表格中用连续线在两个单元格下划线

我的代码是这样的:

\begin{tabular}{|c|c|}
    \hline
    \multicolumn{2}{|c|}{A} \\
    \hline 
    AID & A1 \\
    \hline 
\end{tabular}

编译结果如下:

在此处输入图片描述

我怎样才能用相同的线划出 AID 和 A1?像这样:

在此处输入图片描述

我原本以为替换\underline{AID & A1}第 5 行就可以解决问题,但看来我错了。

答案1

由于下划线不会跨越单元格的边界,因此必须手动绘制伪下划线。

nicematrix包允许您使用tikz命令,并将其在单元中创建的节点作为参考。

线的参数取决于单元格的内容,因此在此解决方案中可能需要手动稍微调整线的长度或垂直偏移。

作为奖励,当使用hvlines选项时,该包将绘制所有垂直和水平线(第二个表格,对线路使用相同的参数)。\Block构成一个多列单元格。

由于使用了 tikz 节点,所以第一次需要编译两次。

要使线条向右和向左延伸,请使用

\tikz \draw [shorten < = 0.7\tabcolsep, shorten > = 0.7\tabcolsep] ...

F

\documentclass[12pt]{article}

\usepackage{nicematrix}
\usepackage{tikz}

\begin{document}

\begin{NiceTabular}{|c|c|}
    \hline
    \Block{1-2}{A} &\\
    \hline 
    AID & A1 \\
    \hline 
    \CodeAfter
    \tikz \draw [shorten < =  \tabcolsep, shorten > = \tabcolsep]  ([yshift=0.7ex]3-|1) -- ([yshift=0.7ex]3-|3); 
\end{NiceTabular}
\bigskip    

\begin{NiceTabular}{cc}[hvlines] %<<< draw all the table lines
    \Block{1-2}{nicematrix} & \\
    AID4u & SWYP \\
    \CodeAfter
    \tikz \draw [shorten < = \tabcolsep, shorten > =  \tabcolsep]  ([yshift=0.7ex]3-|1) -- ([yshift=0.7ex]3-|3); 
\end{NiceTabular}

\end{document}

相关内容