[LaTeX] Table 만들기

2023. 3. 14. 14:35·기타/논문작성 Writing

latex에서 table을 만드는 것이 일반 파워포인트나 워드, 한글에 비해 난이도가 있어서 다들 table generator를 많이 쓰는데 이렇게 만들어서 export했을 때 본인이 원하는 대로 수정하려면 어느정도 원리를 이해할 필요가 있다. 그리고 개인적으로는 export할 때 너무 코드가 난잡해서 불편할 때가 많았다.

그래서 정리하는 표 만들기 방법.

 

참고*

행과 열이 맨날 헷갈리는데, 보통 글을 쓸 때 '행간'을 얼마로 지정할지 정한다. 행은 즉, 각 줄의 사이 간격을 의미한다. 나는 이런 식으로 구별한다.

 

 

1. 기본 코드 구성

 

table을 만들 때는 위치와 정렬 및 구분자를 지정해야 한다.

\begin{table}[hbt] # 위치 지정
\caption{캡션}
\label{tab: 이름}
\begin{tabular}{ccc} # {}안에 정렬 및 구분자 지정
(내용)
\end{tabular}
\end{table}

 

기본 테이블 코드는 \begin{tabular}~\end{tabular}이면 되지만 caption과 label을 위해서 table로 감싸줌으로써 table 객체임을 알 수 있다. 캡션 위치는 table 위 또는 아래인데 위의 코드에는 tabular 시작 전에 썼으므로 캡션이 위에 생긴다.

 

\begin{tabular}만 있는 경우에는

\begin{tabular}[위치]{열 정렬 및 구분자}
\end{tabular}

 

position을 tabular 옆에서 지정한다. 위에서는 \begin{table} 옆에 위치를 지정했다. 위의 예시에서는 hbt 순서로 우선순위를 정했지만 (!,h,t,b,p) 원하는 것을 골라서 쓸 수 있다.

각 인자에 대한 의미는 다음과 같다.

 

! : 결과가 페이지 규격 및 규칙과 잘 안 맞더라도 강제로 배치
h : 표를 바로 이 위치에 배치
t : 표를 페이지 상단에 배치
b : 표를 페이지 하단에 배치
p : 별도의 페이지를 만들고, 그 페이지는 floating 개체(그림이나 표)만 배치

 

2. 내용 정렬 및 선 그리기

 

열은 &로 구분하고 행은 \\로 구분한다.

 

열의 개수는 정렬에 쓰이는 문자로 지정해야 한다.

 

l (왼쪽 정렬), c (가운데 정렬), r (오른쪽 정렬), p{<length>} (폭을 <length> 로 지정하고 양쪽 정렬)

다음과 같이 옵션이 4가지가 있으며, 문자 개수에 따라 열의 개수가 지정된다.

 

선을 그릴 때는 내부에 그려지는 열에 대한 세로선의 경우에는 {|c|c|c|} 다음과 같이 열 문자 사이에 |를 넣어줌으로써 지정할 수 있다.

가로선의 경우에는 행을 바꿀 때 \\를 쓰는데 이 옆에 \hline을 넣어주면 그 행이 넘어갈 때 가로선을 추가하게 된다.

가로선 두 줄을 만들고 싶으면 \hline을 두 번 써주면 된다.

 

만약 일부 열에서만 가로선을 그리고 싶다면 \hline 대신 \cline{a-b} (a는 시작 열, b는 끝 열)로 넣어준다.

 

 

3. 행(row)/열(column) 합쳐서 그리기

 

열을 합쳐서 사용한다면 

\multicolumn{사용할 열의 수}{정렬}{넣을 내용}

이 때 두 개의 열을 사용할 것이라면 시작하는 열에 저 코드를 넣고 열 구분자를 생략하여야 한다.

 

행을 합쳐서 사용한다면 package를 가져와야한다.

\usepackage{multirow}
\multirow{사용할 행 수}{너비}{넣을 내용} # 너비에 *를 넣으면 자동으로 폭 조절

이 때도 합칠 행의 맨 처음에 저 코드를 넣고 아래에서 쓸 때는 내용을 비워둬야 한다.

 

 

예시

 

\begin{table}[htbp]
\caption{Table Type Styles}
\begin{center}
\begin{tabular}{|c|c|c|c|}
\hline
\multirow{2}{*}{\textbf{Table}}&\multicolumn{3}{|c|}\textbf{Table Column Head} \\
\cline{2-4} 
 & \textbf{\textit{Table column subhead}}& \textbf{\textit{Subhead}}& \textbf{\textit{Subhead}} \\
\hline
copy& More table copy$^{\mathrm{a}}$& &  \\
\hline
\multicolumn{4}{l}{$^{\mathrm{a}}$Sample of a Table footnote.}
\end{tabular}
\label{tab1}
\end{center}
\end{table}

 

 

4. 그 외 유용한 package

 

- booktabs : 더 예쁜 표 그리기

- longtable : table이 길 때 다음 장으로 넘어갈 수 있게 하는 라이브러리

- array : column을 fixed width로 지정할 수 있음

- tabularx : 테이블 전체 크기 조절

 

등 유용한 package가 있는데 잘 사용해보지 않아서 나중에 사용하게 되면 따로 글을 쓸 것 같다.

 


https://www.overleaf.com/learn/latex/Tables

 

 

저작자표시 비영리 변경금지 (새창열림)

'기타 > 논문작성 Writing' 카테고리의 다른 글

[논문작성] Biography (예시)  (0) 2023.04.05
[LaTeX] 여러 줄 주석처리  (0) 2023.03.16
[논문작성] Zotero에서 bibtex 내보낼 때 제목형식 바꾸는 방법  (0) 2023.03.07
[서지관리프로그램] ENDNOTE/Mendeley/Zotero  (3) 2023.03.06
[논문작성] AIAA 양식 정리 (3) Mathematics  (0) 2023.02.15
'기타/논문작성 Writing' 카테고리의 다른 글
  • [논문작성] Biography (예시)
  • [LaTeX] 여러 줄 주석처리
  • [논문작성] Zotero에서 bibtex 내보낼 때 제목형식 바꾸는 방법
  • [서지관리프로그램] ENDNOTE/Mendeley/Zotero
보통의공대생
보통의공대생
수학,프로그래밍,기계항공우주 등 공부하는 기록들을 남깁니다.
  • 보통의공대생
    뛰는 놈 위에 나는 공대생
    보통의공대생
  • 전체
    오늘
    어제
    • 분류 전체보기 (458)
      • 공지 (1)
      • 영어 공부 English Study (40)
        • 텝스 TEPS (7)
        • 글 Article (21)
        • 영상 Video (10)
      • 연구 Research (99)
        • 최적화 Optimization (3)
        • 데이터과학 Data Science (7)
        • 인공지능 Artificial Intelligent (40)
        • 제어 Control (45)
      • 프로그래밍 Programming (103)
        • 매트랩 MATLAB (25)
        • 파이썬 Python (33)
        • 줄리아 Julia (2)
        • C++ (3)
        • 리눅스 우분투 Ubuntu (6)
      • 항공우주 Aeronautical engineeri.. (21)
        • 항법 Navigation (0)
        • 유도 Guidance (0)
      • 기계공학 Mechanical engineering (13)
        • 열역학 Thermodynamics (0)
        • 고체역학 Statics & Solid mechan.. (10)
        • 동역학 Dynamics (1)
        • 유체역학 Fluid Dynamics (0)
      • 수학 Mathematics (34)
        • 선형대수학 Linear Algebra (18)
        • 미분방정식 Differential Equation (3)
        • 확률및통계 Probability &amp; Sta.. (2)
        • 미적분학 Calculus (1)
        • 복소해석학 Complex Analysis (5)
        • 실해석학 Real Analysis (0)
      • 수치해석 Numerical Analysis (21)
      • 확률 및 랜덤프로세스 Random process (2)
      • 추론 & 추정 이론 Estimation (3)
      • 기타 (26)
        • 설계 프로젝트 System Design (8)
        • 논문작성 Writing (55)
        • 세미나 Seminar (2)
        • 생산성 Productivity (3)
      • 유학 생활 Daily (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    수식삽입
    WOX
    ChatGPT
    LaTeX
    pytorch
    obsidian
    인공지능
    수치해석
    생산성
    Python
    matplotlib
    teps
    Numerical Analysis
    논문작성법
    Linear algebra
    딥러닝
    텝스공부
    Zotero
    IEEE
    텝스
    에러기록
    우분투
    MATLAB
    옵시디언
    JAX
    Statics
    Dear abby
    Julia
    논문작성
    고체역학
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
보통의공대생
[LaTeX] Table 만들기
상단으로

티스토리툴바