설명, 짧은 약어 및 값이 포함된 세 개의 열이 있는 테이블이 있습니다. 설명이 매우 긴 항목일 수 있으므로 p 열 유형을 사용하여 자동으로 줄을 바꿉니다. 최종 테이블이 몇 페이지에 걸쳐 있기 때문에 나는 longtable을 사용하고 있습니다.
현재 이 코드를 사용하고 있습니다.
\documentclass{article}
\usepackage{longtable}
\begin{document}
\begin{longtable}{p{0.5\textwidth}cc}
\hline
Column 2 & Column 2 & Column 3\\
\hline
short entry & Entry s.1 & Value v.s1\\
& Entry s.2 & Value v.s2 \\
\hline
here is a very long text in the first column that will be broken into multiple rows & Entry l.1 & Value v.l1 \\
& Entry l.2 & Value v.l2 \\
\hline
\end{longtable}
\end{document}
이 테이블을 얻으려면 :
보시다시피 첫 번째 열의 항목이 짧으면 마지막 두 열을 쉽게 정렬할 수 있습니다. 그러나 첫 번째 열의 텍스트가 여러 줄로 나누어지면 자연스럽게 마지막 두 줄에도 유사하지만 비어 있는 공간이 생깁니다. 따라서 이 예에서 내가 원하는 것은 Entry l.2와 Value v.l2를 두 "행" 위로 "이동"하는 것입니다.
답변1
여러 행에 걸쳐 셀을 확장하기 위해 패키지 \multirow
에서 사용할 수 있습니다 .multirow
\documentclass{article}
\usepackage{longtable}
\usepackage{multirow}
\begin{document}
\begin{longtable}{p{0.5\textwidth}cc}
\hline
Column 2 & Column 2 & Column 3\\
\hline
short entry & Entry s.1 & Value v.s1\\
& Entry s.2 & Value v.s2 \\
\hline
\multirow{2}{0.5\textwidth}{here is a very long text in the first column that will be broken into multiple rows} & Entry l.1 & Value v.l1 \\
& Entry l.2 & Value v.l2 \\
\\
\hline
\end{longtable}
\end{document}
텍스트 줄 바꿈의 경우 열 너비를 수동으로 설정해야 합니다. 예에서는 로 설정되어 있습니다 .5\textwidth
. 또한보십시오"여러 행 열의 텍스트 줄 바꿈"에 대한 답변.
편집하다:
텍스트가 걸쳐 있는 행을 수동으로 확인하지 않으려면 fe를 사용하는 대신 마지막 두 열에 대해 중첩 테이블을 사용할 수 있습니다 \multirow
.
\documentclass{article}
\usepackage{longtable}
\begin{document}
\begin{longtable}{p{0.5\textwidth}c}
\hline
Column 2 &\begin{tabular}{cc}Column 2 & Column 3\end{tabular}\\
\hline
short entry &\begin{tabular}{cc}
Entry s.1 & Value v.s1\\
Entry s.2 & Value v.s2
\end{tabular}\\
\hline
here is a very long text in the first column that will be broken into multiple rows &\begin{tabular}{cc}
Entry l.1 & Value v.l1 \\
Entry l.2 & Value v.l2
\end{tabular}\\
\hline
\end{longtable}
\end{document}
가능하면 표에 긴 텍스트를 피하려고 하기 때문에 두 번 확인하는 것이 더 좋을 것 같습니다.
답변2
booktabs 패키지를 사용할 수도 있습니다.
\documentclass{article}
\usepackage{booktabs}
\usepackage{longtable}
\begin{document}
\begin{longtable}{p{0.5\textwidth}p{3cm} p{3cm}}
\toprule
Column 1 & Column 2 & Column 3\\
\midrule
short entry & Entry s.1 & Value v.s1\\
& Entry s.2 & Value v.s2 \\
\midrule
There is a very long text in the & Entry l.1 & Value v.l1 \\
first column that will be broken &Entry 1.2 & Value v.12\\
into multi rows&&\\
\bottomrule
\end{longtable}
\end{document}
답변3
모든 열은 이므로 셀 내부에서 p{some width}
사용할 수 있으며 행 수가 적습니다. 또는 셀 내부에서 줄 바꿈을 허용하는 패키지를 \newline
사용할 수 있습니다 .makecell
\documentclass{article}
\usepackage{booktabs}
\usepackage{longtable}
\usepackage{makecell}
\renewcommand\cellalign{lt}
\begin{document}
\begin{longtable}{p{0.5\textwidth}p{3cm} p{3cm}}
\toprule
Column 1 & Column 2 & Column 3 \\
\midrule
short entry & Entry s.1 & Value v.s1 \\
& Entry s.2 & Value v.s2 \\
\midrule
There is a very long text in the first column that will be broken into multi rows & \makecell{Entry l.1 & \\Entry 1.2} & \makecell{Value v.l1\\Value v.12} \\
\addlinespace
There is a very long text in the first column that will be broken into multi rows & Entry l.1\newline Entry 1.2 & Value v.l1\newline Value v.12 \\
\bottomrule
\end{longtable}
\end{document}