这是我的 MWE,几乎正确……除了顶行多余的填充,我想将其减少到 0.2 厘米。其余部分,我想保持在 1.5 厘米。
\documentclass[12pt,letterpaper]{article}
\usepackage[utf8]{inputenc}
\usepackage{array}
\usepackage{tabularx}
\begin{document}
{
\setlength{\extrarowheight}{1.5cm}
\begin{tabularx}{8cm}{|p{2.5cm}|p{2.5cm}|X|} \hline
Top Left & Top Middle & Top Right \\ [0.2cm] \hline
Bottom Left & Bottom Middle & Bottom Right \\ [0.2cm] \hline
\end{tabularx}
}
\end{document}
此主题显示了如何为表格中的所有行指定单元格上方的垂直填充量。但是,如果各行需要不同的填充量怎么办?(我正在制作学生将用铅笔书写的工作表。)
PS 这是我在 StackExchange 上的第一篇帖子,或者说是我有史以来第一篇帖子之一。我也是 LaTeX 新手。如果有更好的提问方式,请告诉我,我会编辑此帖子。谢谢!
答案1
解决此问题的一个简单但手动的方法是将定义的值减少到\extrarowheight
0.2cm,然后在每行上方手动添加一个 1.1cm(1.1cm + 2 * 0.2cm = 1.5cm)的空行,每个行需要 1.5cm 的顶部填充。
但是这种方法也有一些局限性。因为默认情况下表格行的高度有一个最小值(参见表格中的列和行填充),使用此方法可以添加的最小填充受 限制\baselineskip
。但是,可以按照此处所述减少此值:如何使表格中的一行变短?。
下面是一个 MWE,展示了如何做到这一点:
\documentclass[12pt,letterpaper]{article}
\usepackage[utf8]{inputenc}
\usepackage{array}
\usepackage{tabularx}
\begin{document}
\begin{table}
\centering
\setlength{\extrarowheight}{0.2cm}
\begin{tabularx}{8cm}{|p{2.5cm}|p{2.5cm}|X|} \hline
Top Left & Top Middle & Top Right \\[0.2cm] \hline
&& \\[1.1cm]
Middle Left & Middle & Middle Right \\[0.2cm] \hline
&& \\[1.1cm]
Bottom Left & Bottom Middle & Bottom Right \\[0.2cm] \hline
\end{tabularx}
\end{table}
\end{document}
其结果是:
更新(2015-07-27):
以下是根据以下宏得出的更新解决方案:如何使表格中的一行变短?。它包含一个新命令,允许逐行添加给定高度的额外自定义行填充。
\documentclass[12pt,letterpaper]{article}
\usepackage{tabularx}
% Modified from :
% https://tex.stackexchange.com/questions/84524/
% how-to-make-a-row-in-a-table-shorter/84536#84536
\makeatletter
\newsavebox\saved@arstrutbox
\newcommand*{\setarstrut}[1]{%
\noalign{%
\begingroup
\global\setbox\saved@arstrutbox\copy\@arstrutbox
\global\setbox\@arstrutbox\hbox{%
\vrule \@height #1
\@depth 0cm
\@width\z@
}%
\endgroup
}%
}
\newcommand*{\restorearstrut}{%
\noalign{%
\global\setbox\@arstrutbox\copy\saved@arstrutbox
}%
}
\makeatother
% New command to add an extra custom padding at the top of a row.
% Basically, it adds an empty row with the height value
% defined in the command.
% \paddingtop{height}{content}
\newcommand{\paddingtop}[2]{\setarstrut{#1} #2 \\ \restorearstrut}
\begin{document}
\begin{tabularx}{8cm}{|p{2.5cm}|p{2.5cm}|X|} \hline
\paddingtop{0.2cm}{&&}
Top Left & Top Middle & Top Right \\[2mm] \hline
\paddingtop{1.5cm}{&&}
Middle Left & Middle & Middle Right \\[2mm] \hline
\paddingtop{5.cm}{&&}
Bottom Left & Bottom & Bottom Right \\[2mm] \hline
\end{tabularx}
\end{document}
结果是: