有没有办法实现一个宽度为的表格\textwidth
,其中顶行具有正常高度,其余行按相同比例填充页面的剩余部分?
我已经实现了这个,但是使用了不精确的模糊因子。我可以想象使用花哨的表格包(我无法让它tabularht
工作)或类似下面的方法来实现,其中\rowht
精确地基于\arraystretch
或某些东西以及标题的高度进行设置,但我不知道该怎么做。
\documentclass{article}
\usepackage{tabularx}
\usepackage[margin=1in]{geometry}
\def\rowht{0.935in}
\pagestyle{empty}
\begin{document}
\noindent
\begin{tabularx}{\textwidth}{| X | X | X | X |}
\hline
A & B & C & D \\\hline
& & &\\[\rowht]\hline
& & &\\[\rowht]\hline
& & &\\[\rowht]\hline
& & &\\[\rowht]\hline
& & &\\[\rowht]\hline
& & &\\[\rowht]\hline
& & &\\[\rowht]\hline
& & &\\[\rowht]\hline
\end{tabularx}
\end{document}
答案1
我将使用新的 LaTeX3 包给出解决方案tabularray
:
\documentclass{article}
\usepackage[margin=1in]{geometry}
%\usepackage{showframe}
%\renewcommand*{\ShowFrameColor}{\color{red}}
\pagestyle{empty}
\usepackage{tabularray}
\def\rowht{%
\dimexpr
(
\textheight
- \baselineskip % height of first row
- 4pt * \value{rowcount} % rowsep sizes
- 0.4pt * ( \value{rowcount} - 1) % hrule sizes
) / ( \value{rowcount} - 1 )
\relax
}
\begin{document}
\noindent
\begin{tblr}{
colspec={|X|X|X|X|},
hlines,
row{2-Z} = {\rowht}, % Z stands for the last row
}
A & B & C & D \\
& & & \\
& & & \\
& & & \\
& & & \\
& & & \\
& & & \\
& & & \\
& & & \\
\end{tblr}
\newpage
\noindent
\begin{tblr}{
colspec={|X|X|X|X|},
hlines,
row{2-Z} = {\rowht},
}
A & B & C & D \\
& & & \\
& & & \\
& & & \\
& & & \\
& & & \\
\end{tblr}
\end{document}