使用 \arraystretch 和 m-columns 时表格垂直填充不均匀

使用 \arraystretch 和 m-columns 时表格垂直填充不均匀

当我使用 \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} 

在此处输入图片描述

相关内容