改变表格中垂直线的高度

改变表格中垂直线的高度

有什么方法可以改变表格环境的垂直线的高度?

这是我的 MWE:

\begin{tabular}{|c|c|}
\multicolumn{2}{|c|}{Header 1}\\
Subheader 1 & Subheader 2 \\ \hline
Cell 1 & Cell 2 \\ \hline
\end{tabular}

生成:

在此处输入图片描述

不过,我想让子标题 1 和子标题 2 之间的垂直线短一些。

答案1

您可以将包!的功能array与一起使用\vline;但是,最好根本不使用垂直规则,如第二张表所示。

\documentclass{article}
\usepackage{array} % necessary for the shorter rule
\usepackage{booktabs} % for the second example
\begin{document}

\begin{tabular}{|c|c|}
\hline
\multicolumn{2}{|c|}{Header 1}\\
\multicolumn{1}{|c!{\vline height .8\ht\strutbox}}{Subheader 1} & Subheader 2 \\
\hline
Cell 1 & Cell 2 \\
\hline
\end{tabular}

\bigskip

\begin{tabular}{cc}
\toprule
\multicolumn{2}{c}{Header 1} \\
\addlinespace
Subheader 1 & Subheader 2 \\
\midrule
Cell 1 & Cell 2 \\
\bottomrule
\end{tabular}

\end{document}

在此处输入图片描述

答案2

使用\multicolumn{2}{c}{Header 1}或:

\documentclass[fontsize=12pt]{scrartcl}
\usepackage{array}
\begin{document}

\begin{tabular}{|c|c|}
\multicolumn{2}{!{\vrule height 0.6ex}c!{\vrule height 0.6ex}}{Header 1}\\
Subheader 1 & Subheader 2 \\ \hline
Cell 1 & Cell 2 \\ \hline
\end{tabular}

\end{document}

在此处输入图片描述

答案3

如果你只想要单元格 1 和单元格 2 之间的垂直线,你可以使用

\multicolumn{1}{|c}{Subheader 1} & \multicolumn{1}{c|}{Subheader 2} \\

答案4

{NiceTabular}的环境与经典环境(由提供)nicematrix类似,但也会在行、列和单元格下创建 PGF/Tikz 节点。{tabular}array

然后,就可以用 Tikz 绘制任何你想要的规则(所谓的\CodeAfter)。

\documentclass{article}
\usepackage{nicematrix,tikz}

\begin{document}

\begin{NiceTabular}{c|c}
  \multicolumn{2}{c}{Header 1}\\
  Subheader 1 & Subheader 2 \\ \hline
  Cell 1 & Cell 2 \\ \hline
\CodeAfter
  \begin{tikzpicture} [shorten < = 3pt]
    \draw (1-|1) -- (last-|1) ;
    \draw (1-|last) -- (last-|last) ;
  \end{tikzpicture}
\end{NiceTabular}

\end{document}

上述代码的输出

相关内容