当我使用 \arraystretch 在单元格周围添加填充时,每个单元格上方的填充大于下方的填充,导致文本偏离中心。我读到过使用 \\ 作为替代,但这会破坏单元格边框。有没有人有解决这个问题的替代方法?谢谢!
\documentclass[12pt, letterpaper]{article}
\usepackage[utf8]{inputenc}
\usepackage[margin=0.5in]{geometry}
\usepackage{array}
\newcolumntype{M}[1]{>{\centering\arraybackslash}m{#1}}
\begin{document}
\bgroup
\renewcommand{\arraystretch}{2.8}
\centering\begin{tabular}{@{}|M{0.3in}|M{3in}|M{0.3in}|M{3in}|@{}}
\hline
1 & & 11 & \\ \hline
2 & & 12 & \\ \hline
3 & & 13 & \\ \hline
4 & & 14 & \\ \hline
5 & & 15 & \\ \hline
6 & & 16 & \\ \hline
7 & & 17 & \\ \hline
8 & & 18 & \\ \hline
9 & & 19 & \\ \hline
10 & & 20 & \\ \hline
\end{tabular}
\egroup
\end{document}
答案1
只需在其中一列的开头自动添加一条不可见的规则:
\documentclass[12pt, letterpaper]{article}
\usepackage[utf8]{inputenc}
\usepackage[margin=0.5in]{geometry}
\usepackage{array}
\newcolumntype{M}[1]{>{\centering\arraybackslash}m{#1}}
\begin{document}
\bgroup
\centering\begin{tabular}{@{}| >{\rule[-0.3in]{0pt}{0.6in}}M{0.3in}|M{3in}|M{0.3in}|M{3in}|@{}}
\hline
1 & & 11 & \\ \hline
2 & & 12 & \\ \hline
3 & & 13 & \\ \hline
4 & & 14 & \\ \hline
5 & & 15 & \\ \hline
6 & & 16 & \\ \hline
7 & & 17 & \\ \hline
8 & & 18 & \\ \hline
9 & & 19 & \\ \hline
10 & & 20 & \\ \hline
\end{tabular}
\egroup
\end{document}