본문 바로가기
컴퓨터 & IT (Computer & IT)/LaTeX

[LateX] 테이블 만들기 2 (테이블의 한 셀에 여러 줄 작성하기)

by UltraLowTemp-Physics 2022. 8. 13.
728x90

테이블을 작성을 할 때, 간혹 한 셀에 두 줄 이상을 작성하고 싶을 경우가 있다. 일반적인 워드프로그램과 다르게, Latex에서 테이블의 하나의 셀에 개별적인 두 줄이상을 작성을 하고자 하려면 별도의 작업을 해야한다. 간단한 예제로써, 우리가 아래와 같은 형태의 테이블을 Latex을 이용해서 만든다고 가정을 하자. 

 

이런 경우, Latex에서 사용할 수 있는 방법은 아래와 같다. 

 • 중첩 tabular 사용 
 • tabular와 p-type culunm사용 
 • makecell 패키지 사용 
 • tabularx  패지키 사용 
 • tabularray 패지지 사용


1. 중첩 tabular 사용 [1]

\begin{tabular}{|c|l|c|}
  \hline
  % The first row
  Name  & Remark & Weight \\ \hline
  % The second row 
  John  & 
  \begin{tabular}{@{}l@{}} 
    Age: 19\\
    Job: Singer
  \end{tabular}
  & 60 Kg  \\ \hline
  % The third row 
  Nancy & \begin{tabular}{@{}l@{}} 
    Age: 27 \\
    Job: Businessman
    \end{tabular}
  & 80 Kg \\
  \hline
\end{tabular}

위 Latex 코드의 결과는 아래와 같다. 

테이블의 한 셀에서 여러 줄을 만들기 위해, \begin{tabular} 내에 아래와 같이 또 다른 \begin{tabular}이 있는 것을 볼 수 있다. 

  \begin{tabular}{@{}l@{}} 
    Age: 19\\
    Job: Singer
  \end{tabular}

이때, 위 코드에서 아래 사항을 기억하자. 
  • @{}..@{}: 중첩 tabular에 의해 삽입된 추가 공간 (가로 탭 구분)이 무효화됨 
  • 중첩 tabular에서 top 혹은 bottom 정렬은 \begin{tabular}[t] 와 같은 형식으로 사용하면 된다.  


2. tabular와 p-type column 사용

\begin{tabular}{|c|p{5cm}|c|}
    \hline
    Name & Remark & Weight \\ \hline
    % The second row
    John & 
        Age: 19 \newline
        Job: Singer 
         & 60 Kg \\ 
    \hline
    Nancy & 
        Age: 27 \newline
        Job: Businessman
          & 80 Kg \\
    \hline
\end{tabular}

•  NOTE 1: p-type cell에서는 문장의 길이가 옵션에서 설정한 너비를 넘어가면 자동으로 줄바꿈을 한다. 또한, p-type cell에서는 \newline을 통해서 줄바꿈을 할 수 있다. (위 코드에서 \newline을 사용하여 셀 내에서 줄바꿈이 일어나는 것을 확인하자.)
• 위 코드의 결과는 아래와 같다.  


3. makecell 패키지 사용 

\usepackage{makecell}
...
\begin{tabular}{|c|c|c|}
     \hline
     Name & Remark & Weight\\
     \hline
     John & \makecell[l]{Age:19 \\ Job: Singer} & 60 Kg \\
     \hline
     Nancy & \makecell[l]{Age: 27 \\ Job: Businessman} & 80Kg \\
     \hline
\end{tabular}

• Note 1: makecell 명령어를 사용하기 위해서 \usepackage{makecell}로 해당 패키지를 불러와야 한다. 
• Note 2: makecell 명령어를 사용하여 \\를 통해 줄바꿈이 일어나는 것을 확인하자. 
• 위 코드의 결과는 아래와 같다. 


4. tabularx 패키지 사용

• Note 1: tabular와 다르게 tabularx를 사용하면, 셀 어디에서나 \newline을 사용하여 줄바꿈을 할 수 있다. 
• Note 2: tabular 패지지 설명:  https://en.wikibooks.org/wiki/LaTeX/Tables#The_tabularx_package   

\usepackage{tabularx}
...
\begin{tabularx}{\textwidth}{|c|X|c|}
    \hline
    Name  & Remark & Weight \\ \hline
    John  &  Age: 19 \newline Job: Singer      & 60 Kg \\ \hline
    Nancy &  Age: 27 \newline Job: Businessman & 80 Kg \\ \hline
\end{tabularx}

5. tabularray 패키지 사용 

\begin{tblr}{|c|l|c|}
	\hline
 	Name & Remark & Weight \\ \hline
 	John & { Age: 19 \\ Job: Singer } & 60 Kg \\
	\hline
 	Nancy & { Age: 27 \\ Job: Businessman } & 80 Kg \\
	\hline
\end{tblr}

• Note 1: Latex3 패지키인 tabularray패키지를 사용
• Note 2: {} 괄호 사이에 \\를 사용함으로써 한 셀 내에 줄바꿈을 만들어냄

 

Summary

이번 포스트에서는 Latex을 사용하여 테이블 내에서 한 셀에 여러 줄을 만드는 방법을 알아보았다. 위에서 설명한 방법 말고도 더욱 다양한 방법들이 많이 있긴 하지만, 위의 방법들 정도만 아는 정도도 충분한 것 같다. 해당 방법들의 다양한 옵션들은 구글링을 통해서 찾아보길 바란다. 

 

Reference
[1] https://tex.stackexchange.com/questions/40561/table-with-multiple-lines-in-some-cells    

 

728x90

댓글