有什么方法可以改变表格环境的垂直线的高度?
这是我的 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}