我需要为标题下方的行添加一些额外的顶部填充:
\documentclass{article}
\usepackage[a5paper]{geometry}
\usepackage{xcolor, booktabs, tabularx, colortbl}
\begin{document}
\noindent\begin{tabularx}{\columnwidth}{|X X X|}
\rowcolor{lightgray}
header & header & header \\
\addlinespace
test & test & test \\
test & test & test \\
test & test & test \\
\hline
\end{tabularx}
\end{document}
输出
我有垂直空间,但外边框坏了。我还有什么其他选择?
答案1
我认为您想要一个印刷支柱,即具有深度和高度但没有宽度的物体,这使得它不可见。
\rule
显然,您可以自由地改变宏所依据的两个参数\TBstrut
以满足您的需要。
最后一条评论:请认真考虑完全省略垂直规则。相信我,它们不会被遗漏。
附录:如果您不想“看到”标题行边缘的黑线,我建议您\arrayrulecolor{lightgray}
在该行的开始处和\arrayrulecolor{black}
下一行(即第一个数据行)的开始处发出指令。
\documentclass{article}
\usepackage[a5paper]{geometry}
\usepackage[table]{xcolor}
\usepackage{tabularx}
\newcommand\TBstrut{\rule[-0.7ex]{0pt}{3.2ex}} % "top-and-bottom" strut
\begin{document}
\noindent
\begin{tabularx}{\columnwidth}{|X X X|}
\rowcolor{lightgray}
header & header & header\TBstrut \\
test & test & test \\
test & test & test \\
test & test & test \\
\hline
\end{tabularx}
\end{document}
答案2
{NiceTabular}
这是的解决方案nicematrix
。输出将在所有 PDF 查看器中完美呈现。
\documentclass{article}
\usepackage[a5paper]{geometry}
\usepackage{xcolor}
\usepackage{nicematrix}
\begin{document}
\noindent
\begin{NiceTabular}[width=\columnwidth,colortbl-like]{|X X X|}
\rowcolor{lightgray}
header & header & header \\
\RowStyle[cell-space-top-limit=3pt]{}
test & test & test \\
test & test & test \\
test & test & test \\
\Hline
\end{NiceTabular}
\end{document}
您需要多次编译(因为nicematrix
在后台使用 PGF/Tikz 节点)。
答案3
含tabularray
包装:
\documentclass{article}
\usepackage[a5paper]{geometry}
\usepackage{xcolor}
\usepackage{tabularray}
\begin{document}
\noindent\begin{tblr}{colspec = {|X X X|},
row{1} = {bg=lightgray},
rowsep = 1pt,
row{2} = {abovesep=7pt},
}
header & header & header \\
test & test & test \\
test & test & test \\
test & test & test \\
\hline
\end{tblr}
\end{document}