테이블 행 사이의 수직 공간

테이블 행 사이의 수직 공간

테이블 행 사이의 공간을 늘리려고 합니다 tabularx. 다음 코드는 잘 작동하며 원하는 작업을 수행합니다.

\begin{tabularx}{5ex}{X}
    text \\[2ex]
    x
\end{tabularx}

그러나 텍스트가 너무 길어서 한 줄에 맞지 않으면 세로 공간이 작동하지 않습니다.

\begin{tabularx}{5ex}{X}
    text text \\[2ex]
    x
\end{tabularx}

코드가 작동하도록 수정하는 방법을 알려주십시오. 사용할 변형은 (N - 1) * \baselineskip + 2ex텍스트 줄 수에 따라 달라지므로 적합하지 않습니다 N.

UPD전체 예:

\documentclass{article}

\usepackage{tabularx}

\begin{document}
    % code above
\end{document}

답변1

와 :tabularxcellspace

\documentclass{article}
\usepackage[column=O]{cellspace}% better, than {} aren't necessary
    \setlength\cellspacetoplimit{2ex}
    \setlength\cellspacebottomlimit{2ex}
    \addparagraphcolumntypes{X}
\usepackage{tabularx}               % "tabularx" had to be after "cellspace"

\begin{document}
\begin{tabularx}{5ex}{OX}
\hline
    text text   \\ 
\hline
    x           \\
\hline
\end{tabularx}
\end{document}

hline수직 거리를 더 잘 볼 수 있도록 s가 추가되었습니다)

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

패키지 포함 tabularray:

\documentclass{article}
\usepackage{tabularray}  

\begin{document}
\begin{tblr}{width=5ex,
             hlines, % for better visibility of vertical distances
             colspec = {X},
             rowsep=2ex}
    text text   \\ 
    x           \\
\end{tblr}
\end{document}

결과는 이전과 같습니다.

부록:
분명히 질문은 전혀 명확하지 않습니다. 아래 설명에서 행 사이의 거리를 늘리려면 일부 행 사이에서만 필요하다는 내용이 나옵니다. 이를 수행하는 가장 간단한 방법은 다음을 사용하는 것입니다 \addlinespace[<desired space>].

\documentclass{article}
\usepackage{tabularx}   
\usepackage{booktabs}

\begin{document}
\begin{tabularx}{5ex}{X}
    text text   \\
    text text   \\
    \addlinespace[2ex] % you can omit this space, if its default value 3pt is ok
        x           \\
    text text   \\
\end{tabularx}
\end{document}

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

답변2

arraystretch다음 요소에 따라 셀을 늘리는 데 사용할 수 있습니다 <F>.

\renewcommand\arraystretch{<F>}

1.0이 기본값입니다. 효과는 비대칭이지만 작은 요소는 잘 작동합니다.

또한 arraystretch셀 내용 앞뒤에 보이지 않는 요소(예: 텍스트 한 줄보다 큰 높이와 깊이의 길이가 0인 수직 막대)를 삽입하고 추가할 수도 있습니다. 막대를 사용하면 셀이 해당 내용에 적응하게 되고 공간이 늘어나는 효과를 얻게 됩니다.

이는 열 정의 시 자동화될 수 있습니다. 특정 행에서 효과를 취소하거나 변경해야 하는 경우에는 \multicolumn변경된 설정으로 사용하세요.

\documentclass{article}
\usepackage{tabularx}

\newcommand\upstrut[1][2ex]{\rule[1.5ex]{0pt}{#1}}
\newcommand\lostrut[1][2ex]{\rule[-#1]{0pt}{#1}}


\begin{document}
\begin{tabularx}{9ex}{>{\upstrut}X<{\lostrut}}
  \hline
  \multicolumn{1}{l}{\textbf{head}} \\
  \hline
  \multicolumn{1}{l<{\lostrut[4ex]}}{x} \\
  text text \\
  text text \\
  text text \\
  \multicolumn{1}{>{\upstrut[4ex]}l}{x} \\
  \hline
\end{tabularx}
\end{document}

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


편집하다. 그러나 다음과 같이자르코님의 답변에 따르면 다음을 사용하여 작업을 단순화할 수 있습니다 tabularray.

\documentclass{article}
\usepackage{tabularray}

\begin{document}
\begin{tblr}{
    width = 9ex,
    colspec = {X},
    hline{1-2,Z},
    row{3-Y} = {rowsep=2ex},
  }
  \textbf{head} \\
  x \\
  text text \\
  text text \\
  text text \\
  x \\
\end{tblr}
\end{document}

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

관련 정보