当表格内部有数组时,如何向表格行添加更多填充?

当表格内部有数组时,如何向表格行添加更多填充?

我发现在表格行之间添加更多间距的解决方案是使用\arraystretch

但这对我来说不起作用。我的表格\begin{array}里面有。并且\arraystretch正在拉伸表格内的数组,而不是在显示的向量底部和表格行之间添加更多空间,而这正是我想要的。

请注意array:我无法将用于排版最后一列中的向量的代码更改为其他代码。因为该代码是自动生成的。

我可以更改表中的任何其他内容,但必须保留array原有的代码。我没有办法更改这一点。

并举例说明。

\documentclass[12pt]{article}
\usepackage{amsmath}
\begin{document}
\begin{center}
\bgroup
\renewcommand{\arraystretch}{2}
\begin{tabular}{|c|c|c|c|c|}\hline
eigenvalue & {\footnotesize algebraic multiplicity $m$}&  {\footnotesize geometric multiplicty $k$}& {\small defective?}& eigenvectors \\ \hline 
$3 i$&$1$&$1$&No&$\left[\begin{array}{c}i \\1 \\\end{array}\right]$ \\ \hline
$-3 i$&$1$&$1$&No&$\left[\begin{array}{c}-i \\1 \\\end{array}\right]$ \\ \hline
\end{tabular}
\egroup
\end{center}                       
\end{document}

使用 lualatex 编译时,这是输出

在此处输入图片描述

更改\renewcommand{\arraystretch}{2}\renewcommand{\arraystretch}{5}也会拉伸内部的矢量,保持矢量底部和表格边缘之间的空间相同,这不是我想要的。

结果如下5

在此处输入图片描述

解决这个问题的正确方法是什么?我只需要在显示的向量的顶部/底部与分隔行的线之间留出更多空间。其余单元格保持原样即可。

TL 2020

参考:

背面

答案1

您可以使用 包\makegapedcells中定义的宏为单元格内容添加一些垂直空间makecell。由于您的表格太宽,无法适应文本宽度,我建议重新制定第二列和第三列的列标题:

\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{makecell}

\begin{document}
    \begin{center}
    \setcellgapes{5pt}
    \makegapedcells
\begin{tabular}{|*{5}{c|} }
    \hline
    &   \multicolumn{2}{c|}{ multiplicity}
            &   &                   \\
    \cline{2-3}
eigenvalue 
    &   algebraic $m$
        &   multiplicty $k$
            &   defective?
                &   eigenvectors    \\ 
    \hline
$3i$    & 1 & 1 &   No  & $\begin{bmatrix} i \\1 \end{bmatrix}$     \\ 
    \hline
$-3i$   & 1 & 1 &   No  & $\begin{bmatrix} -i \\1 \end{bmatrix}$     \\ 
    \hline
\end{tabular}
    \end{center}
\end{document}

在此处输入图片描述

编辑:

如果您出于某种原因将代码用于矩阵,则只需将使用的代码替换bmatrix为使用的代码的简短而优雅的代码array

\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{makecell}

\begin{document}
    \begin{center}
    \setcellgapes{5pt}
    \makegapedcells
\begin{tabular}{|*{5}{c|} }
    \hline
    &   \multicolumn{2}{c|}{ multiplicity}
            &   &                   \\
    \cline{2-3}
eigenvalue 
    &   algebraic $m$
        &   multiplicty $k$
            &   defective?
                &   eigenvectors    \\ 
    \hline
$3i$    & 1 & 1 &   No  & $\left[\begin{array}{c} i \\1 \end{array}\right]$     \\ 
    \hline
$-3i$   & 1 & 1 &   No  & $\left[\begin{array}{c} -i \\1 \end{array}\right]$     \\ 
    \hline
\end{tabular}
    \end{center}
\end{document}

上述解决方案的结果与之前相同......

答案2

cellspace包使您能够定义最小在以字母为前缀的说明符的列中,单元格顶部和底部的垂直填充S(或者,C如果您加载siunitx,则该math选项对矩阵环境执行相同的操作amsmath 。独立于这个问题,我擅自通过\left[\begin{array}[c}...\end{array}\right]用更简单的替换来简化您的代码\begin{bmatrix} ... \end{bmatrix}

\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage[math]{cellspace}
\setlength{\cellspacetoplimit}{6pt}
\setlength{\cellspacebottomlimit}{6pt}

\begin{document}

\begin{center}
\begin{tabular}{|*{5}{Sc|}}\hline
eigenvalue & {\footnotesize algebraic multiplicity $m$}& {\footnotesize geometric multiplicty $k$}& {\small defective?}& eigenvectors \\ \hline
$3 i$&$1$&$1$&No&$\begin{bmatrix}i \\ \,1\, \end{bmatrix}$ \\ \hline
$-3 i$&$1$&$1$&No&$\begin{bmatrix} -i \\1 \\\end{bmatrix}$ \\ \hline
\end{tabular}
\end{center}

\end{document}

在此处输入图片描述

相关内容