我目前正在尝试使用模板制作发票,该模板要求表格无论内容如何都延伸到页面末尾。我尝试使用\fill
如下所示的方法(在 中\tabularnewline[\fill]
),但它没有将行高扩展到页面末尾,而是什么也没做。有没有办法扩展表格,正如您天真地期望此代码所做的那样?我已经设置了大部分格式,因为我不确定它们是否会干扰任何可能的解决方案。
\documentclass{article}
\usepackage{array}
\begin{document}
Front matter (name, address, etc.)
\noindent
\begin{tabular}{|>{\raggedright}p{0.2\linewidth}|>{\raggedright}p{0.3\linewidth}|>{\raggedright}p{0.3\linewidth}|>{\raggedright}p{0.2\linewidth}|}\hline
Quantity & Description & Unit Price & Amount \tabularnewline\hline
& & & \tabularnewline[\fill]\hline
\multicolumn{2}{>{\raggedright}p{0.4\linewidth}|}{Bank Details} & Total & \tabularnewline\cline{3-4}
\end{tabular}
\end{document}
答案1
表格间距位于(几个)框内,因此不会拉伸,就像\mbox{\hfill}
宽度始终为 0pt 一样。但是,您可以测量输出位置并添加合适的固定长度。这需要几次 latex 运行,并且不稳定)如下所述:如果您编辑文件,则可能必须删除辅助文件,否则它将始终尝试根据旧版本的文件强制使用不合适的大小。
\documentclass{article}
\usepackage{array}
\begin{document}
Front matter (name, address, etc.)
a
\vspace{1in}
\noindent
\begin{tabular}{|>{\raggedright}p{0.2\linewidth}|>{\raggedright}p{0.3\linewidth}|>{\raggedright}p{0.3\linewidth}|>{\raggedright}p{0.2\linewidth}|}\hline
Quantity & Description & Unit Price & Amount \tabularnewline\hline
\makeatletter\pdfsavepos\write\@auxout{\gdef\string\tmppos{\the\pdflastypos}}%
\ifx\tmppos\@undefined\gdef\tmpheight{0pt}\else\gdef\tmpheight{\dimexpr\tmppos sp - 190pt\relax}\fi
& & & \tabularnewline[\tmpheight]\hline
\multicolumn{2}{>{\raggedright}p{0.4\linewidth}|}{Bank Details} & Total & \tabularnewline\cline{3-4}
\end{tabular}
\end{document}