我无法手动在第二行和第三行之间添加垂直空间。它应该由第二个参数控制,\MyTable
但该参数似乎不起作用:
笔记:
- 该
\MyTable
宏是专门为这个测试用例创建的,这样我就可以轻松测试各种设置。即使没有为表格使用宏,也会出现此问题。 - 在这种情况下,使用
\renewcommand*{\arraystretch}{1.5}
之前\begin{tabular}
没有帮助,因为它也会拉长bmatrix
。
代码:
\documentclass{article}
\usepackage[paperwidth=21cm]{geometry}% To eliminate warning in MWE
\usepackage{amsmath}
\usepackage{booktabs}
\newcommand*{\MyTable}[2]{%
\begin{tabular}[t]{@{}cc@{}}\toprule
#1 & #2 \\
\cmidrule{1-2}
$\begin{bmatrix}
a_{11} & a_{12} & a_{13} & a_{14} \\
\end{bmatrix}$ & $1 \times 4$ \\[#1]
% -------------------------------------------
$\begin{bmatrix}
a_{11} & a_{12} & a_{13} & a_{14} \\
a_{21} & a_{22} & a_{23} & a_{24} \\
a_{31} & a_{32} & a_{33} & a_{34} \\
a_{41} & a_{42} & a_{43} & a_{44} \\
\end{bmatrix}$ & $4 \times 4$ \\[#2]
% -------------------------------------------
$\begin{bmatrix}
a_{11} & a_{12} & a_{13} \\
a_{21} & a_{22} & a_{23} \\
a_{31} & a_{32} & a_{33} \\
a_{41} & a_{42} & a_{43} \\
\end{bmatrix}$ & $4 \times 3$ \\
\bottomrule
\end{tabular}%
}
\begin{document}\noindent
\MyTable{0.0ex}{0.0ex}
\MyTable{2.0ex}{2.0ex}
\MyTable{2.0ex}{4.0ex}
\end{document}
答案1
我不知道为什么它不起作用。但是使用\noalign{\vspace{#2}}
有效。
\documentclass{article}
\usepackage[paperwidth=21cm]{geometry}% To eliminate warning in MWE
\usepackage{amsmath}
\usepackage{booktabs}
\newcommand*{\MyTable}[2]{%
\begin{tabular}[t]{@{}cc@{}}\toprule
#1 & #2 \\
\cmidrule{1-2}
$\begin{bmatrix}
a_{11} & a_{12} & a_{13} & a_{14} \\
\end{bmatrix}$ & $1 \times 4$ \\[#1]
% -------------------------------------------
$\begin{bmatrix}
a_{11} & a_{12} & a_{13} & a_{14} \\
a_{21} & a_{22} & a_{23} & a_{24} \\
a_{31} & a_{32} & a_{33} & a_{34} \\
a_{41} & a_{42} & a_{43} & a_{44} \\
\end{bmatrix}$ & $4 \times 4$ \\\noalign{\vspace{#2}}
% -------------------------------------------
$\begin{bmatrix}
a_{11} & a_{12} & a_{13} \\
a_{21} & a_{22} & a_{23} \\
a_{31} & a_{32} & a_{33} \\
a_{41} & a_{42} & a_{43} \\
\end{bmatrix}$ & $4 \times 3$ \\
\bottomrule
\end{tabular}%
}
\begin{document}\noindent
\MyTable{0.0ex}{0.0ex}
\MyTable{2.0ex}{2.0ex}
\MyTable{2.0ex}{4.0ex}
\end{document}
答案2
您提供的额外垂直空间量 --2ex
和4ex
-- 不足以产生效果。也就是说,如果您选择10ex
或15ex
,效果显而易见。
如果您不确定从哪里开始计算所需的额外垂直间距量:“基线”是1\times4
、4\times4
和4\times3
项出现的地方。
\documentclass{article}
\usepackage[paperwidth=21cm]{geometry}% To eliminate warning in MWE
\usepackage{amsmath}
\usepackage{booktabs}
\newcommand*{\MyTable}[2]{%
\begin{tabular}[t]{@{}cc@{}}\toprule
#1 & #2 \\
\cmidrule{1-2}
$\begin{bmatrix}
a_{11} & a_{12} & a_{13} & a_{14} \\
\end{bmatrix}$ & $1 \times 4$ \\[#1]
% -------------------------------------------
$\begin{bmatrix}
a_{11} & a_{12} & a_{13} & a_{14} \\
a_{21} & a_{22} & a_{23} & a_{24} \\
a_{31} & a_{32} & a_{33} & a_{34} \\
a_{41} & a_{42} & a_{43} & a_{44} \\
\end{bmatrix}$ & $4 \times 4$ \\[#2]
% -------------------------------------------
$\begin{bmatrix}
a_{11} & a_{12} & a_{13} \\
a_{21} & a_{22} & a_{23} \\
a_{31} & a_{32} & a_{33} \\
a_{41} & a_{42} & a_{43} \\
\end{bmatrix}$ & $4 \times 3$ \\
\bottomrule
\end{tabular}%
}
\begin{document}\noindent
\MyTable{0ex}{0ex}
\MyTable{10ex}{10ex}
\MyTable{15ex}{15ex}
\end{document}
答案3
您还可以尝试添加\rule{0pt}{#n}
\documentclass{article}
\usepackage[paperwidth=21cm]{geometry}% To eliminate warning in MWE
\usepackage{amsmath}
\usepackage{booktabs}
\newcommand*{\MyTable}[2]{%
\begin{tabular}[t]{@{}cc@{}}\toprule
#1 & #2 \\
\cmidrule{1-2}
$\begin{bmatrix}
a_{11} & a_{12} & a_{13} & a_{14} \\
\end{bmatrix}$ & $1 \times 4$ \\ \rule{0pt}{#1}
% -------------------------------------------
$\begin{bmatrix}
a_{11} & a_{12} & a_{13} & a_{14} \\
a_{21} & a_{22} & a_{23} & a_{24} \\
a_{31} & a_{32} & a_{33} & a_{34} \\
a_{41} & a_{42} & a_{43} & a_{44} \\
\end{bmatrix}$ & $4 \times 4$ \\ \rule{0pt}{#2}
% -------------------------------------------
$\begin{bmatrix}
a_{11} & a_{12} & a_{13} \\
a_{21} & a_{22} & a_{23} \\
a_{31} & a_{32} & a_{33} \\
a_{41} & a_{42} & a_{43} \\
\end{bmatrix}$ & $4 \times 3$ \\
\bottomrule
\end{tabular}%
}
\begin{document}\noindent
\MyTable{6ex}{6ex}
\MyTable{7ex}{7ex}
\MyTable{8ex}{8ex}
\end{document}