テーブル内に配列がある場合、テーブル行にさらにパディングを追加するにはどうすればよいですか?

テーブル内に配列がある場合、テーブル行にさらにパディングを追加するにはどうすればよいですか?

表の行間にスペースを追加するために私が見つけた解決策は、\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

ここに画像の説明を入力してください

これを解決する正しい方法は何ですか? 表示されているベクトルの上部/下部と行を区切る線の間にもっとスペースが必要です。残りのセルはそのままで問題ありません。

TL2020

参照:

次のページ

答え1

\makegapedcellsパッケージで定義されたマクロを使用して、セルの内容に垂直方向のスペースを追加できます makecell。テーブルがテキスト幅に収まらないほど広いため、2 列目と 3 列目の列ヘッダーを再作成することをお勧めします。

\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をロードしsiunitxmathオプションはマトリックス環境で同じことを行います。 この問題とは関係なく、 をより単純な に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}

ここに画像の説明を入力してください

関連情報