ぷそさんのプログラミング研究所

【全パターン紹介】LaTeXの表の作成方法|図解でわかる

本記事では,LaTeXで表を作る方法をほぼ全パターン紹介します。

基本的に追加のプリアンブルが必要ない場合のみを紹介しています。

数式の書き方は以下の記事をご覧ください。

あわせて読みたい
【全パターン紹介】LaTeXの数式の書き方|改行や左揃えにする方法などを紹介 【数式の基本的な書き方】 LaTeXで数式を書くには大きく「インライン数式」と「別行立て数式(ディスプレイスタイル数式)」の2つがあります。 インライン数式の場合に...
目次

【LaTeX】表の作り方の基本

まずは,基本的な構文についてです。

基本的な構文
\begin{table}[h]
    \centering
    \caption{表のタイトル}
    \label{tab:hogehoge}
    \begin{tabular}{ccc}
        %「表の中身を書く」
    \end{tabular}
\end{table}
  • \begin{tabular}{ccc}ccc列数位置を指定します。
  • c中央l左寄せr右寄せを意味します。
  • 例:lcc→「左寄せ・中央・中央」の3列
  • 例:llllr→ 「左寄せ・左寄せ・左寄せ・右寄せ」の4列

2行3列の表を例に,基本的な書き方をご紹介します。

罫線なしの表

1行ずつ入力していきます。

要素の切れ目で&を入力し,1行終わると\\を入力します。

\begin{table}[h]
    \centering
    \caption{表のタイトル}
    \label{tab:hogehoge}
    \begin{tabular}{ccc}
        1行目1列目 & 1行目2列目 & 1行目3列目 \\
        2行目1列目 & 2行目2列目 & 2行目3列目 \\
    \end{tabular}
\end{table}

横の罫線を入れる

横線を入れたい位置に\hlineと入力します。

\begin{table}[h]
    \centering
    \caption{表のタイトル}
    \label{tab:hogehoge}
    \begin{tabular}{ccc}
        \hline
        1行目1列目 & 1行目2列目 & 1行目3列目 \\ \hline
        2行目1列目 & 2行目2列目 & 2行目3列目 \\ \hline
    \end{tabular}
\end{table}

縦の罫線を入れる

\begin{tabular}{ccc}cccの位置にを入れます。

\begin{table}[h]
    \centering
    \caption{表のタイトル}
    \label{tab:hogehoge}
    \begin{tabular}{|c|c|c|}
        1行目1列目 & 1行目2列目 & 1行目3列目 \\
        2行目1列目 & 2行目2列目 & 2行目3列目 \\
    \end{tabular}
\end{table}
\begin{table}[h]
    \centering
    \caption{表のタイトル}
    \label{tab:hogehoge}
    \begin{tabular}{|ccc|}
        1行目1列目 & 1行目2列目 & 1行目3列目 \\
        2行目1列目 & 2行目2列目 & 2行目3列目 \\
    \end{tabular}
\end{table}

縦と横の両方の罫線を入れる

横と縦の罫線を組み合わせると格子状になります。

\begin{table}[h]
    \centering
    \caption{表のタイトル}
    \label{tab:hogehoge}
    \begin{tabular}{|c|c|c|}
        \hline
        1行目1列目 & 1行目2列目 & 1行目3列目 \\ \hline
        2行目1列目 & 2行目2列目 & 2行目3列目 \\ \hline
    \end{tabular}
\end{table}

自由自在に表を作る

二重線を引く

二重線にしたい位置に線を追加するだけです。

横線を二重線にする\hlineの追加)

\begin{table}[h]
    \centering
    \caption{表のタイトル}
    \label{tab:hogehoge}
    \begin{tabular}{ccc}
        \hline \hline
        1行目1列目 & 1行目2列目 & 1行目3列目 \\ \hline
        2行目1列目 & 2行目2列目 & 2行目3列目 \\ \hline
    \end{tabular}
\end{table}

縦線を二重線にする|の追加)

\begin{table}[h]
    \centering
    \caption{表のタイトル}
    \label{tab:hogehoge}
    \begin{tabular}{||ccc||}
        \hline
        1行目1列目 & 1行目2列目 & 1行目3列目 \\ \hline
        2行目1列目 & 2行目2列目 & 2行目3列目 \\ \hline
    \end{tabular}
\end{table}

横線を一部に引く

一部に横線を引く場合には\cline{初め-終わり}と指定します。

1列目,2列目だけに引く場合には\cline{1-2},3列目だけ引く場合には\cline{3-3}とします。

\begin{table}[h]
    \centering
    \caption{表のタイトル}
    \label{tab:hogehoge}
    \begin{tabular}{ccc}
        \hline
        1行目1列目 & 1行目2列目 & 1行目3列目 \\ \cline{1-2}
        2行目1列目 & 2行目2列目 & 2行目3列目 \\ \cline{3-3}
    \end{tabular}
\end{table}

縦線を一部に引く

縦線を一部に引く場合には,引きたい線に隣接するセルのどれか一つ\multicolumn{1}{位置}{内容}とします。

例えば,1行目1列目と1行目2列目の間に引く場合には,\multicolumn{1}{c|}{1行目1列目}とするか,\multicolumn{1}{|c}{1行目2列目}とします。

\begin{table}[h]
    \centering
    \caption{表のタイトル}
    \label{tab:hogehoge}
    \begin{tabular}{ccc}
        \hline
        \multicolumn{1}{c|}{1行目1列目} & 1行目2列目 & 1行目3列目 \\
        2行目1列目 & \multicolumn{1}{c|}{2行目2列目} & 2行目3列目 \\
        3行目1列目 & \multicolumn{1}{c|}{3行目2列目} & 3行目3列目 \\ \hline
    \end{tabular}
\end{table}

横方向にセルの結合

横方向の結合はシンプルです。

\multicolumn{結合数}{位置}{内容}とします。その分&の数が減ることに注意です。

\begin{table}[h]
    \centering
    \caption{表のタイトル}
    \label{tab:hogehoge}
    \begin{tabular}{ccc}
        \hline
        \multicolumn{2}{c}{1行目1-2列目} & 1行目3列目 \\
        2行目1列目 & 2行目2列目        & 2行目3列目 \\ \hline
    \end{tabular}
\end{table}

縦方向にセルの結合

縦方向にセルの結合をする場合には,multirow.styをインストールする必要があります。

ダウンロードされていない方は,スタイルパッケージを追加する必要があります。

詳細は以下の記事を参考にしてください。

あわせて読みたい
【LaTeX】スタイルパッケージを追加する方法|not found対処法 LaTeXで色々な機能を追加する場合には,スタイルパッケージと呼ばれるものを追加する必要があります。 今回は,そのスタイルパッケージの追加方法をご紹介します。 【ス...

インストールしたのちに,\usepackage{multirow}と書いて使用します。

使い方は,\multirow{結合数}{*}{内容}です。

\usepackage{multirow}
\begin{table}[h]
    \centering
    \caption{表のタイトル}
    \label{tab:hogehoge}
    \begin{tabular}{ccc}
        \hline
        \multirow{2}{*}{1-2行目1列目} & 1行目2列目 & 1行目3列目 \\
                                   & 2行目2列目 & 2行目3列目 \\ \hline
    \end{tabular}
\end{table}

縦横にセルの結合

縦横にセルを結合する場合は,横に結合→縦に結合を組み合わせる形になります。

n行m列を結合する場合には,\multicolumn{n}{c}{\multirow{m}{*}{内容}}と書きます。

\begin{table}[h]
    \centering
    \caption{表のタイトル}
    \label{tab:hogehoge}
    \begin{tabular}{ccc}
        \hline
        \multicolumn{2}{c}{\multirow{2}{*}{1-2行目1-2列目}} & 1行目3列目 \\
        \multicolumn{2}{l}{}                               & 2行目3列目 \\
        3行目1列目 & 3行目2列目                               & 3行目3列目 \\ \hline
    \end{tabular}
\end{table}

表の横幅を変更する

表の横幅を任意の値にする場合には,l,c,rで位置を決める際にp{大きさ}とします。

例えば,3cmにする場合にはp{3cm}とします。

また,p{大きさ}を使う場合には左寄せになることに注意してください。

中央揃えにする場合は,「1つのセルだけ配置を変える」の章を参考にしてください。

\begin{table}[h]
    \centering
    \caption{表のタイトル}
    \label{tab:hogehoge}
    \small
    \begin{tabular}{p{3cm}p{5cm}p{3cm}}
        \hline
        1行目1列目 & 1行目2列目 & 1行目3列目 \\
        2行目1列目 & 2行目2列目 & 2行目3列目 \\ \hline
    \end{tabular}
\end{table}

表内で文字を折り返す

表の横幅を任意の値にする場合には,l,c,rで位置を決める際にp{大きさ}としますが,この場合には文字列が自動で折り返されるようになっています。

そのため,文字を折り返す場合にはp{大きさ}で幅を先に指定すれば良いです。

\begin{table}[h]
    \centering
    \caption{表のタイトル}
    \label{tab:hogehoge}
    \begin{tabular}{ccp{7.5cm}}
        \hline
        1行目1列目 & 1行目2列目 & 1行目3列目1行目3列目1行目3列目1行目3列目1行目3列目1行目3列目1行目3列目 \\
        2行目1列目 & 2行目2列目 & 2行目3列目 \\
        2行目1列目 & 2行目2列目 & \multicolumn{1}{c}{3行目3列目} \\ \hline
    \end{tabular}
\end{table}

1つのセルだけ配置を変える

場合によっては,\begin{tabular}{ccc}で指定した位置を一部変更したい場合があると思います。

その場合には,1つのセルを結合したように見せる\multicolumn{1}{位置}{内容]とすれば実現できます。

元々中央揃えを指定していたけど,ここだけ右揃えにしたい場合には\multicolumn{1}{r}{内容}とすれば良いです。

\begin{table}[h]
    \centering
    \caption{表のタイトル}
    \label{tab:hogehoge}
    \begin{tabular}{ccc}
        \hline
        ------見出し1------   & ------見出し2------ & ------見出し3------ \\ \hline \hline
        1行目1列目 & 1行目2列目 & \multicolumn{1}{r}{1行目3列目} \\ \hline
        2行目1列目 & 2行目2列目 & \multicolumn{1}{r}{2行目3列目} \\ \hline
    \end{tabular}
\end{table}

見出しだけ中央揃え(それ以外は左右寄せ)

見出しだけ中央揃えにして,それ以外は右揃えにしたいなどは論文では多々あると思います。

その場合には,1つのセルを結合したように見せる\multicolumn{1}{位置}{内容]とすれば実現できます。

詳細は「1つのセルだけ配置を変える」の章を参考にしてください。

\begin{table}[h]
    \centering
    \caption{表のタイトル}
    \label{tab:hogehoge}
    \begin{tabular}{ccc}
        \hline
        ------見出し1------   & ------見出し2------ & ------見出し3------ \\ \hline \hline
        \multicolumn{1}{l}{1行目1列目} & \multicolumn{1}{r}{1行目2列目} & \multicolumn{1}{r}{1行目3列目} \\ \hline
        \multicolumn{1}{l}{2行目1列目} & \multicolumn{1}{r}{2行目2列目} & \multicolumn{1}{r}{2行目3列目} \\ \hline
    \end{tabular}
\end{table}

文字の大きさを変える

文字の大きさを変えたい場合には,\begin{tabular}{ccc}の前に文字サイズ指定の命令を書きます。

\Huge > \huge> \LARGE > \Large > \large > \normalsize(デフォルト) > \small > \footnotesize > \scriptsize > \tiny

の順番に大きさは変えられます。

\begin{table}[h]
    \centering
    \caption{表のタイトル}
    \label{tab:hogehoge}
    \small
    \begin{tabular}{ccc}
        \hline
        1行目1列目 & 1行目2列目 & 1行目3列目 \\
        2行目1列目 & 2行目2列目 & 2行目3列目 \\ \hline
    \end{tabular}
\end{table}

その他の装飾

ここからは,追加でスタイルパッケージが必要な装飾についてご紹介します。

表に色をつける場合

あわせて読みたい
【LaTeX】表のセルに色を付ける方法(colortbl)|様々なパターンを紹介 LaTeXで表を作成するときにセルに色をつけたいことがあると思います。 そこで,この記事では「表のセルに色をつける方法」をご紹介します! 【LaTeXで表のセルに色をつ...

スタイルパッケージの追加方法

あわせて読みたい
【LaTeX】スタイルパッケージを追加する方法|not found対処法 LaTeXで色々な機能を追加する場合には,スタイルパッケージと呼ばれるものを追加する必要があります。 今回は,そのスタイルパッケージの追加方法をご紹介します。 【ス...
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

このブログでは,PythonやLaTeXの使い方などを紹介しています!
仕事でも趣味でもプログラミングをしています。
ブログは2022年8月にスタートしました。
【経歴】東京大学大学院修了→大手IT企業勤務

コメント

コメントする

目次