\arraystretch を変更して tabular-environments をネストすると、結果の表に垂直方向のギャップが発生します。これはどのようにして発生するのでしょうか?

\arraystretch を変更して tabular-environments をネストすると、結果の表に垂直方向のギャップが発生します。これはどのようにして発生するのでしょうか?

最小限のコンパイル可能な例:

\documentclass{article}
\renewcommand{\arraystretch}{1.5}
\begin{document}
\begin{tabular}{|@{}c@{}|@{}c@{}|}
\hline
\begin{tabular}{c|c}A&B\end{tabular}&\begin{tabular}{c|c}C&D\end{tabular}\\
\hline
\begin{tabular}{c|c}E&F\end{tabular}&\begin{tabular}{c|c}G&H\end{tabular}\\
\hline
\end{tabular}
\end{document}

pdflatex でコンパイルした場合の出力:

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

質問は写真の中にあります:

  • 水平線の下の垂直の隙間はどのようにして生じるのでしょうか?
  • なぜテーブルの四隅が空白になっているのですか?

(私はこれをどうやって解決するかを尋ねているのではありません。
なぜ/どのようにしてこれらのことが起こるのかを尋ねているのです。)


変更しない場合は\arraystretch、水平方向の下の線に垂直方向のギャップが表示されます。

\documentclass{article}
\begin{document}
\begin{tabular}{|@{}c@{}|@{}c@{}|}
\hline
\begin{tabular}{c|c}A&B\end{tabular}&\begin{tabular}{c|c}C&D\end{tabular}\\
\hline
\begin{tabular}{c|c}E&F\end{tabular}&\begin{tabular}{c|c}G&H\end{tabular}\\
\hline
\end{tabular}
\end{document}

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

答え1

標準的なラテックスtabularには|水平方向のスペースがなく、両側にルール幅の半分の負のスキップがあるため、常にコーナーに切り込みが入ります。arrayパッケージを使用する場合、負のスペースは使用されず、|自然な幅になります。

表の間隔は各行に支柱を追加することで実装され、arraystretch は支柱のサイズを増やすことで機能します。ここでのように、通常は支柱の高さがセル コンテンツの高さよりも大きいため、セル コンテンツが行の上の hline に触れることはありません。

答え2

これは、垂直方向のギャップがどのようにして生じるのかを説明するかもしれません。

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

関連情報