\arraystretch를 변경하고 테이블 형식 환경을 중첩하면 결과 테이블에 수직 간격이 발생합니다. 그것들은 어떻게 생겨납니까?

\arraystretch를 변경하고 테이블 형식 환경을 중첩하면 결과 테이블에 수직 간격이 발생합니다. 그것들은 어떻게 생겨납니까?

최소한의 컴파일 가능한 예:

\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

이는 수직 간격이 어떻게 발생하는지 설명할 수 있습니다.

여기에 이미지 설명을 입력하세요

관련 정보