Yamamoto's Laboratory
 
 
表紙
表組
図
 
公開情報
 
 
古い情報
 
 

はじめに

このセクションでは,LaTeX の表組の様々なテクニックを,初心者から詳しい利用者までを対象に紹介します.通常の表作成に加え,小数点揃え(siunitx, dcolumn),長い表(longtable),文字の回り込み(wraptable),色付け(colortbl),その他の便利な機能(破線,脚注,斜線二分割)について説明します.

なぜ,LaTeXの表を使うか

LaTeX の表は Microsoft Word に比べ,柔軟性が高く,美しく仕上げやすいという利点があります.柔軟性が高いというのは,(1) 表のデータと区切りがテキストなので外部データを取り込みやすい,(2) 表のスタイルを文書全体で統一しやすい,という意味です.Excel のデータも比較的簡単に取り込めますし,自分でプログラムを書く場合は LaTeX 形式で表を出力すると便利です.多くのページから構成されるレポートや論文では,表のスタイルを揃える必要があります.LaTeX では,このような統一作業を自動化しやすく,内容の作成に集中できます.

表の例

実際の LaTeX の表組の例 (ソース) を以下に示します.一見,難しそうに見えますが,慣れるととても簡単です.いつも同じパターンで,表を作ることができます.表の内容はテキストで表現されるので,簡単かつ短時間で入力ができます.

\documentclass[10pt,a4paper]{jarticle}
\usepackage[dvipdfmx]{graphicx}
\pagestyle{empty}    % ページ番号を出力しない
%
% ----- ドキュメントの開始 -----
\begin{document}
光速度の測定は,物理学の発展に大きく寄与しました.表\ref{table:SpeedOfLight}
に,その歴史を簡単にまとめます.
%
% ----- 表:物理定数 ------
\begin{table}[h]
 \caption{光速度の測定の歴史}
 \label{table:SpeedOfLight}
 \centering
  \begin{tabular}{clll}
   \hline
   西暦 & 測定者 & 測定方法 & 測定結果 \\
    & & & $\times 10^8$ [m/sec] \\
   \hline \hline
   1638 & Galileo & 二人が離れてランプの光を見る & (音速10倍以上) \\
   1675 & Roemer & 木星の衛星の観測から & 2 \\
   1728 & Bradley & 星の収差から & 3.01 \\
   1849 & Fizeau & 高速に回転する歯車を通過する光を見る & 3.133 \\
   1862 & Foucault & 高速に回転する鏡の光の角度変化 & 2.99796 \\
   今日 & (定義) & & 2.99792458 \\
   \hline
  \end{tabular}
\end{table}
% --------------------
\end{document}

このソースのうち,11 – 28 行で表を作成します.table 環境 (「\begin{table}[h]」から「\end{table}」まで) に,表に関するすべての情報を記載します.ここに書かれている情報(表の内容)は,以下のとおりです.コンパイル結果である図1を確認しながら,各行の役割を見ると理解しやすいでしょう.

行 内容
11 table 環境の開始.[h] は here の略で,表をできればこの位置に配置したいという指定です.
12 キャプションです.
13 表を参照するときのラベル指定です.
14 表全体を中央揃えにします.
15 表の開始と列の位置指定です.l: 左揃え,c: 中央揃えを表します.
16 横線を引きます.
17–18 第1行と第2行の内容です.
19 2本の横線を描きます.
20–25 二重線と最後の一重線の間にある,表本体の内容です.
26 横線を引きます.
27 表の終わりです.
28 table 環境の終了.

図1: 表組みを使った例

基本

追加のスタイルファイルを使わない普通の表の作成方法を説明します.ほとんどの場合,ここで示す表で十分でしょう.

キャプション付きの普通の表

文書で最も使われるタイプのキャプション付きの表の作成方法を示します.

構造

文書中の表は,表番号付きのキャプションとカラムの集合であるテーブルから構成されます.もちろん,LaTeX では表番号は自動的に割り振られ,文書中で引用できます.このようなキャプションが付いた普通の表の書式は以下のとおりで,LaTeX で使われる最も基本的な表のパターンです.

\begin{table}[表の位置指定]
  \caption{キャプションを記述}
  \label{ラベル名}
  \centering
  \begin{tabular}{カラムのデータの位置指定}
      表のデータの記述
	横罫線は \hline 等を使う
	カラムの区切りは, &
	行の区切りは,\\
  \end{tabular}
\end{table}

これが,LaTeX の表の基本的な作成パターンです.表のアウトラインは table で,中身は tabular 環境で記述します.

具体例

前節「構造」で示した書式の表の設定パラメーターを説明します.リスト 1 は,C言語のデータ型の説明用の表の LaTeX のソースファイルです.その右は,このソースを LaTeX で処理した結果です.

\begin{table}[hbtp]
  \caption{C言語の代表的なデータの型}
  \label{table:data_type}
  \centering
  \begin{tabular}{lcr}
    \hline
    データの型  & 宣言  &  ビット幅  \\
    \hline \hline
    文字型  & char  & 8 \\
    整数型  & int   & 32 \\
    倍精度実数型  & double  & 64 \\
    倍々精度実数型  &  long double  &  96 \\
    \hline
  \end{tabular}
\end{table}

図2: 左のソースのコンパイル結果

表の作成には,table 環境を使います.キャプションとラベルを記述,位置を指定(任意),tabular 環境でデータの記述というパターンです.リスト 1 のソースファイルの行毎のコマンドの働きは,次の通りです.

コマンド 実行内容
\begin{table}[場所指定] 表環境の開始を宣言します.角括弧内は表の配置候補です.この例では h: here (できればここ),b: bottom (ページ下部),t: top (ページ上部),p: page (浮動体専用ページ) を候補にし,LaTeX がページ全体の組版を考慮して配置を決めます.指定した順序がそのまま優先順位になるわけではありません.どうしてもその位置に固定したい場合は,float パッケージを読み込み,\begin{table}[H] とします.
\caption{文字列} 表番号とともに,この文字列がキャプションとして出力されます.
\label{ラベル名} ラベルをつけます.本文中で\ref{ラベル名}で表番号を表示します.
\centering 引き続くブロックをセンタリングします.
\begin{tabular}{列の場所} tabular 環境の開始を宣言し,列を作成します.各列の配置は,l: 左揃え,c: 中央揃え,r: 右揃えです.
\hline 横の罫線を描きます.
第一列 & 第二列 & 第三列 \\ 列の内容を記述します.「&」が列の区切り,「\\」が行の終わりを示します.
\end{tabular} tabular 環境の終わりを表しています.
\end{table} table 環境の終わりを表しています.

キャプション

通常のキャプションは,「\caption{キャプション文字列}」と記述します.この文字列が,表のキャプションとして出力されます.表目次にも,このキャプションの文字列が書かれます.

キャプションの文字列が長い場合には,表目次のタイトルも長くなり,読みづらくなります.このような場合,「\caption[表目次タイトル]{キャプション文字列}」とします.すると,表目次には「表目次タイトル」が,本文中の表には「キャプション文字列」が表示されます.

罫線

LaTeX の表の罫線には booktabs を使うことを強く推奨します.本節では,booktabs を使わない標準的な罫線指定を説明します.

リスト 1 で作成した表には縦の罫線が無く,横の線も多くはありません.このように罫線を最小限にすると,品の良い表になります.通常の文書では,やむを得ない場合を除き縦の罫線は使わないほうが無難です.とはいえ,LaTeX では,任意に罫線の指定は可能です.ここでは表の罫線の指定方法を示します.

縦線

カラムの位置指定で,縦棒「|」を記述すると縦罫線が現れます.たとえば,{|c|l|r|r|} とすると,すべての列の境界に罫線が引かれます.

\multicolumn を使う場合には,その位置指定子とともに縦線を指定します.たとえば,{\multicolumn{2}{|c||}{ホゲホゲ}とすると,二つのセルが結合され,文字列「ホゲホゲ」が中央揃えで配置され,そのセルの左側に罫線が1本,右側に2本引かれます.これを上手に使うと,セル毎の縦線を指定できます.

\begin{table}[hbtp]
  \caption{いろいろな物理定数と物性値}
  \label{physics}
  \centering
  \begin{tabular}{|lr||l|p{50mm}|||}
    \hline
    物理量 & 記号 & 値 & 備考 \\
    \hline\hline
    \multicolumn{4}{|l|||}{基本物理定数です.定義なので値には誤差はありません.}\\
    \hline
    真空中の光速   & $c$              & 299792458            & 定義 \\
    真空中の透磁率 & $\mu_0$          & $4\pi\times 10^{-7}$ & 定義 \\
    真空中の誘電率 & $\varepsilon_0$  & $1/(\mu_0c^2)$       & 定義から計算 \\
    \hline
    \multicolumn{4}{|c|||}{基本物理定数です.実験値なので誤差があります.}\\
    \hline
    重力定数       & $G$              & 6.673e-11           & キャベンディッシュの有名な実験\\
    ボルツマン定数 & $k$              & 1.381e-23           & 測定値 \\
    プランク定数   & $h$              & 6.62606876e-34      & 測定値 \\
    \hline
    \multicolumn{4}{|r|||}{物性値です.条件により値が変わります.}\\
    \hline
    \multicolumn{2}{|l||}{銅の導電率} & 5.76e7                & 抵抗は小さい \\
    \multicolumn{2}{|l||}{タングステンの比重} & 19.25         & 重い \\
    \multicolumn{2}{|l||}{水の非誘電率} & 81                   & 大きい \\
    \hline\hline\hline
    \end{tabular}
\end{table}

図3: 縦の罫線の例

横線

tabular 環境で,\hlineを書くと行の端から端まで横の罫線が引かれます.任意のカラムに横線を引く場合には,「\cline」を使います.例えば「\cline{3-5}」とすると,第3列から第5列までに線が引かれます.

カラム(列)の位置・幅

表の列ごとの配置は,\begin{tabular}{列指定} の列指定の中で,l: 左揃え,c: 中央揃え,r: 右揃え,p{幅指定} などを使って指定します.例えば,\begin{tabular}{p{30mm}rcl} とすると,第一列は幅 30 mm の段落列,第二列は右揃え,第三列は中央揃え,第四列は左揃えとなります.p{幅指定} は上揃え・左揃えで,幅を超えた内容は折り返して表示されます.幅指定列のセルを個別に中央揃えや右揃えにしたい場合は,次に述べる \multicolumn を使えます.列全体の揃え方を指定したい場合は,array パッケージの >{...} 指定を使います.

tabular の設定パラメーター
パラメーター 動作 備考
l 左詰 (left)
r 右詰 (right)
c 中央揃え (center)
p{長さ} 上/左詰めの幅指定カラム (paragraph)
m{長さ} 中/左詰めの幅指定カラム (middle) array.sty の読み込みが必要
b{長さ} 下/左詰めの幅指定カラム (bottom) array.sty の読み込みが必要
@{文字列} 文字列がセパレーターになる
| 縦線(1本)
|| 縦線(2本) 3本以上も可能

要素 (カラム/セル) の結合

横に並んだ表のセルを結合する場合は,\multicolumn{結合する列数}{列指定}{内容} を使います.最初の引数は結合する列数,第二引数は結合後の列指定 (l: 左揃え,c: 中央揃え,r: 右揃え,縦線など),第三引数は表示内容です.特定のセルだけ配置を変更する場合は,例えば \multicolumn{1}{c}{内容} のようにします.

縦に並んだ表のセルを結合する場合には,\multirow{結合する行数}{*}{内容} を使います.このコマンドを使うには,プリアンブルで multirow パッケージを読み込む必要があります.

フォントサイズの変更

通常,フォントサイズを変更する必要はありませんが,やむを得ない場合には変更できます.利用できるフォントサイズについては,別ページ(フォント・行)のサイズの指定に記載があります.キャプションを除くフォントサイズは,table 環境内で tabular 環境の前にフォントサイズのコマンド(例: \Large)を記述すると変更できます.

罫線を美しく (booktabs.sty)

booktabs.sty は,LaTeX の表の罫線を美しくするためのスタイルファイルです.このスタイルファイルを使うと,表の罫線を美しくするためのコマンドが使えるようになります.

表作成のガイドライン

booktabs のマニュアルによると,美しい表を作成するガイドラインは,

  1. 垂直罫線を使用しない.
  2. 二重罫線を使用しない.

です.私もこれらのガイドラインには同意します.垂直罫線や二重罫線はできるだけ使わないほうが良いですが,読者にとってわかりやすい場合は例外です.これらに加えて,さらに三つのガイドラインも示されています.

  1. 単位は (表の本文ではなく) 列見出しに記述します.
  2. 常に小数点の前に数字を付けます.「.1」ではなく「0.1」にする.
  3. 前の値を繰り返すために,「同上」あるいは記号のようなものは使用しない.多くの場合,ブランクも同様に機能します.

これらのガイドラインに従うと,美しい表ができます.読者にとって分かりやすく誤解が生じない範囲で,これらのガイドラインを守ることが大事です.誤解が生じる可能性があるならば,美しさを犠牲にする必要があります.

booktabs の設定・コマンド

booktabs を使うためにプリアンブルに \usepackage{booktabs}を記述します.すると,以下のコマンドが使えます.

コマンド(マクロ) 内容
\toprule[<wd>] 表の最上部の横罫線を引きます.<wd>は線幅です.線幅を設定しないデフォルトを強く推奨します.
\midrule[<wd>] 列見出しと本文の間に横罫線を引きます.
\bottomrule[<wd>] 表の最下部の横罫線を引きます.
\cmidrule[<wd>](<trim>){a-b} a 列目から b 列目まで罫線を引きます.trim の設定(lr)を強く勧めます.
\addlinespace[<wd>] 行間にスペースを挿入します.
\morecmidrules \cmidrule を二重罫線にするときに使います.他の罫線 (\toprule, \midrule, \bottomrule) では不要です.
\specialrule{<wd>}{<abovespace>}{<belowspace>} 上下にスペースを挿入した罫線を引きます.これを使う場合,三つの引数が必須です.

表中の「<オプション>」は記述しなければ,デフォルトでそこそこの設定になります.通常は設定不要です.

  • 「<wd>」は幅指定です.例えば(1pt, 0.5em, 1.2mm) のようにします.
  • 「<trim>」は線のトリミングの指定です.「(lr)」とすると,列の幅より少し短い罫線になります.見栄えの良い罫線を引けますので,このオプションをつけることを強く推奨します.「l{-2.3mm}r{3.4mm}」のようにすると,罫線を左側へ 2.3 mm 伸ばし,右側を 3.4 mm 短くします.
  • 「<abovespace>」と「<belowspace>」は,罫線上下の空白の幅を指定します.幅指定は (1pt, 0.5em, 1.2mm) のようにします.

普通の使い方

booktabs を使った例を以下に示します.通常の表の罫線は,6行目: \toprule,10行目: \midrule,17行目: \bottomrule を使います.この三つの罫線コマンドを使うと,きれいな表を作ることができます.次に使うコマンドは,8行目: \cmidrule と 14行目: \addlinespace です.

\begin{table}[h]
 \caption{SI組立単位}
 \label{table:ex_booktabs}
 \centering
  \begin{tabular}{lcrrrrrrrc}
   \toprule             % --- booktabs: 上の罫線 ---
   物理量 & 単位 & \multicolumn{7}{l}{SI単位系の基本単位} & 他の単位 \\
   \cmidrule(lr){3-9}   % --- booktabs: 3 から 9 列の罫線 ---
       & 記号 & m & kg & s & A & K & mol & cd \\
   \midrule             % --- booktabs: 中間の罫線 ---
   力 & N & 1 & 1 & -2 & & & & & \\
   エネルギー & J & 2 & 1 & -2 & & & & & N$\cdot$m \\
   仕事率 & W & 2 & 1 & -3 & & & & & J$\cdot$s$^{-1}$ \\
   \addlinespace[5mm]   % --- booktabs: 行間スペース ---
   電圧 & V & 2 & 1 & -3 & -1 & & & & W$\cdot$A$^{-1}$ \\
   磁束 & Wb & 2 & 1 & -2 & -1 & & & & V$\cdot$s \\
   \bottomrule          % --- booktabs: 底の罫線 ---
  \end{tabular}
\end{table}

上の表のソースをコンパイルすると,以下の表が出力されます.(注意) 上の表中の単位は,そのまま書いています.siunitx を使うことを強く推奨します.

図4: 罫線に booktabs を使った例

この表のソースコードを見てみると,booktabs のコマンドは,\toprule, \midrule, \bottomrule, \cmidrule, \addlinespace であることがわかります.これらのコマンドを使うと,簡単に美しい表を作ることができます.

数値を整理して並べる (siunitx.sty, dcolumn.sty)

パッケージ「siunitx.sty」と「dcolumn.sty」を使うと,表中で小数点をそろえることができます.siunitx は入力が簡単で,数値や単位の処理もまとめて扱えます.dcolumn は古くから使われている方法で,そろえる記号を細かく指定できます.通常は siunitx がお勧めです.

自動的に並べる (siunitx)

書式設定なし(S)

SI 単位表示のための siunitx を使うと,表中の数値を簡単に整列できます.siunitx を使うために,プリアンブルに \usepackage{siunitx} を記述します.

siunitx の位置指定は「S」です.以下に具体例を示します.5行目の二列目の位置指定が「S」です.

\begin{table}
 \caption{siunitx の S の例}
 \label{tab:S:standard}
 \centering
 \begin{tabular}{lS}   % 位置指定の S
  \hline
   数値 & 出力例\\
  \hline
  小数 & 2.3456 \\
       & 12340.56789 \\
       & -987.6543 \\
       & 90.473 \\
  整数 & 299792458 \\
  浮動小数点 (2.99792458E+8) & 2.99792458E+8 \\
  複素数 & 1.23+4.56i \\
  \hline
 \end{tabular}
\end{table}

図5: 表の位置指定に siunitx の S を指定

書式設定あり(S[table-format])

ほとんどの場合,列指定は「S」だけで十分です.桁数を明示してそろえたい場合は,table-format を指定します.table-format には「整数部の桁数.小数部の桁数」を基本として,符号,不確かさ,指数,比較記号などの分の幅も含められます.複数のオプションは,S[table-format = 2.2, table-number-alignment = right] のようにカンマで区切って指定します.

siunitx の位置設定 S の主なオプション
位置設定 内容 入力例 出力例
S 数値を自動解析して整列 3.1415 3.1415
S[table-format = 2.2] 整数部2桁,小数部2桁の幅を確保 1.2   3.14 1.2   3.14
S[table-format = 2.4, table-number-alignment = left] 確保した幅の中で左揃え 3.1415 3.1415
S[table-format = 2.4, table-number-alignment = center] 確保した幅の中で中央揃え 3.1415 3.1415
S[table-format = 2.4, table-number-alignment = right] 確保した幅の中で右揃え 3.1415 3.1415
S[table-format = +2.2] 符号の幅も含めて整列 1.23   -3.24   +-6.54 1.23   -3.24   ±6.54
S[table-format = >2.2] 比較記号の幅も含めて整列 < 2.3   >= 56.78 < 2.3   ≥ 56.78
S[table-format = 2.2(1)] 不確かさの表示に対応 2.3(5)   23.45(6) 2.3(5)   23.45(6)
S[table-format = 2.2e1] 指数表示に対応 2.3e8   56.78e3 2.3×108 56.78×103

小数点揃え (dcolumn)

表中で小数点をそろえるには,パッケージ「dcolumn.sty」も便利です.これは,tabular や array 環境で小数点をそろえるために使います.小数点に限らず,任意の区切り文字を基準にそろえたり,出力時に別の記号へ置き換えたりすることもできます.

準備

通常,このスタイルファイルは TeX Live や MiKTeX に含まれています.使えない場合は,利用している TeX 環境のパッケージ管理機能で tools バンドルをインストールします.

これを使用するためには,プリアンブルに,\usepackage{dcolumn}と記述します.

使い方

dcolumn.sty の使い方は,dcolumn.pdf が詳しいです.ここでは,その内容を簡単にまとめます.

このスタイルファイルを使うと,l (左揃え) や c (中央揃え),r (右揃え) の代わりに,三つの引数をともなった D が使えます.これを使うと,任意の区切り文字を基準に列を揃えられます.

D{<sep.tex>}{<sep.dvi>}{<decimal places>}

<sep.tex> は LaTeX ファイル中の文字区切りを表すひとつの文字です.通常は,ピリオド「.」またはカンマ「,」です.

<sep.dvi> は,コンパイル後の出力の文字区切りです.位置そろえに使うのであれば,これら二つの引数は同じ文字にします.異なる場合には,<sep.tex> が <sep.dvi> と入れ替わります.<sep.dvi> は常に数式モードなので,\cdot としても良いでしょう.

<decimal places> は,表中の小数点以下の幅を決めます.列の中で小数点以下の桁数が最大になる値に合わせて指定します.例えば,列の並びが (0.1234, 1.123, 2.12345) の場合には,最大が 5 桁なので 5 とします.負の値にすると,小数点以下の桁数を固定せず,区切り文字の位置を基準に中央揃えします.

「dcolumn.sty」を使った具体例を以下に示します.

dcolumn.sty を使った例.

\begin{table}[hbtp]
 \centering
 \begin{tabular}{|D{.}{.}{5}|D{.}{.}{-1}|D{.}{,}{5}|D{.}{\otimes}{5}|}
   \hline
   \multicolumn{1}{|c}{\texttt{D\{.\}\{.\}\{5\}}} &
   \multicolumn{1}{|c}{\texttt{D\{.\}\{.\}\{-1\}}} &
   \multicolumn{1}{|c}{\texttt{D\{.\}\{,\}\{5\}}} &
   \multicolumn{1}{|c|}{\texttt{D\{.\}\{\textbackslash otimes\}\{5\}}} \\
   \hline\hline
   1.234           & 1.234           & 1.234           & 1.234 \\
   987654321.12345 & 987654321.12345 & 987654321.12345 & 987654321.12345 \\
   12.345          & 12.345          & 12.345          & 12.345 \\
   13579           & 13579           & 13579           & 13579 \\
   \hline
  \end{tabular}
\end{table}

図6に,この実行結果を示します.第一列は,D{.}{.}{5} と最も一般的な小数点揃えになっています.第二列は,第三引数が負なので小数点を基準に中央揃えしています.第三列は小数点をカンマに変換しています.第四列は小数点を数学記号で置き換えています.数式モードなので,「$」で囲む必要がありません.

[注意] 通常の列のタイトル行には小数点が無いので,「\multicolumn」を使います.これを使うことで,思わぬ位置にタイトルが書かれるのを防ぎます.

LaTeX の表 dcolumn.sty を使った例
図6: dcolumn.sty を使った例

進んだ使い方

マニュアルには,次のようなカラムのデータの位置指定の定義の例が示されています.\newcolumntype を使うと,任意の位置指定のコマンドを作ることができます.

\newcolumntype{d}[1]{D{.}{\cdot}{#1}}
「d{3}」のように使います.これは,「D{.}{\cdot}{3}」と同じです.
\newcolumntype{.}{D{.}{.}{-1}}
ドット「.」による位置指定です.ドットを列の中心にそろえます.
\newcolumntype{,}{D{,}{,}{2}}
「,」とすれば,位置指定は「D{,}{,}{2}」となります.

長い表(longtable.sty)

longtable.sty を使うと複数ページにまたがる表を,美しく仕上げることができます.

準備

現在の TeX Live や MiKTeX では,longtable.sty は通常あらかじめ含まれています.使えるかどうかは,コマンド「kpsewhich longtable.sty」で確認できます.見つからない場合は,TeX Live Manager や MiKTeX Console など,利用している TeX 環境のパッケージ管理機能で tools バンドルをインストールします.

手動で入れる場合は,CTAN の tools バンドルから取得し,スタイルファイルの追加方法に従って配置します.通常の環境では手動インストールは不要です.

使い方

使用方法の詳細は,longtable.pdf に書かれています.詳しい反面,最初は少し分かりにくいので,急いで使いたい場合には次節の使用例を見ると良いでしょう.

このスタイルファイルを使うためには,プリアンブルに「\usepackage{longtable}」と記述します.

表の作成方法は通常の table 環境を使う場合と似ていますが,tabular 環境ではなく longtable 環境を使います.

\begin{longtable}[位置指定]{列指定}

位置指定は表全体のページの位置指定で,l: 左揃え,c: 中央揃え,r: 右揃えが選択可能です.列指定は tabular 環境と同じで,l: 左揃え,c: 中央揃え,r: 右揃え,p{幅}:幅指定,小数点揃えなどが選べます.また,縦線「|」を書くと縦の罫線が書かれます.

複数ページにわたる長い表を記述するために,ヘッダーとフッターを区切るコマンドが用意されています.そのほかにも便利なコマンドがあります.以下に代表的なコマンドを示します.

  • \endfirsthead 最初のページに出す表ヘッダーの終わりを示します.
  • \endhead 2ページ目以降に出す表ヘッダーの終わりを示します.
  • \endfoot 各ページ末尾に出す表フッターの終わりを示します.
  • \endlastfoot 最後のページに出す表フッターの終わりを示します.
  • \footnote{文章} 脚注を書くときに使います.通常の table/tabular では扱いにくい脚注も,longtable では使用可能です.
  • \pagebreak 表中の行末にこのコマンドを書くと,そこで改ページします.

使用例

longtable を使った例を示します.リスト2は,元素に関する長い表を作成する LaTeX ソースです.longtable を使えるようになるためには,このソースを理解してください.注意点は以下のとおりです.

  • プリアンブルに,小数点揃えのための dcolumn.sty と複数ページ用の longtable.sty を使うために,\usepackage{dcolumn}と\usepackage{longtable}が書かれています.
  • \begin{longtable}[c]{rllld{-2}r}で,表全体をセンタリング,表中の各列を(右詰,左詰,左詰,左詰,小数点揃え, 右詰)にしています.
  • 通常の table と同じように,\caption{元素の名前と性質.}と\label{tab:elements_list}が続きます.その後の改行を表す「\\」は必須です.
  • そして,4つのコマンド \endfirsthead と \endhead,\endfoot,\endlastfoot で表の最上部と最下部を決めます.
  • 表の内容の書き方は tabular 環境と同じで,&で列を区切り,\\で行を終えます.

LaTeXでの複数ページの表.

\documentclass[10pt,a4paper]{jarticle}
\usepackage{dcolumn}
\usepackage{longtable}
\newcolumntype{d}[1]{D{.}{.}{#1}}
\begin{document}

表\ref{tab:elements_list}は原子番号 99 までの元素の名前と特徴を表しています.
%
%===================================================
% longtable のサンプル   dcolumn も使っている
%===================================================
\begin{longtable}[c]{rllld{-2}r}
 \caption{元素の名前と性質.}
 \label{tab:elements_list}
 \\
 %------ 最初のページの表の最上部 ----
 \hline
 原子番号 & 元素記号 & 日本語 & 英語 & \multicolumn{1}{c}{原子量} & 融点/$^\circ C$ \\
 \hline\hline
 \endfirsthead
 %------ 2ページ以降の表の最上部 ----
 \multicolumn{6}{l}{\small\it 前ページからの続き}\\
 \hline
 原子番号 & 元素記号 & 日本語 & 英語 & \multicolumn{1}{c}{原子量} & 融点/$^\circ C$ \\
 \hline\hline
 \endhead
 %----- ページの表の最下部 --------
 \hline
 \multicolumn{6}{r}{\small\it 表は次ページに続く}\\
 \endfoot
 %----- 最終ページの表の最下部 --------
 \hline
 \multicolumn{6}{r}{\small\it これで終わり}\\
 \endlastfoot
 %----------------------------------------------------------------
 1  & H  & 水素               & Hydrogen      & 1.0079  & -259 \\
 2  & He & ヘリウム\footnote{最も融点が低い} & Helium & 4.0026  & -272 \\
 3  & Li & リチウム           & Lithium       & 6.941   & 180 \\
 4  & Be & ベリリウム         & Beryllium     & 9.0122  & 1278 \\
 5  & B  & ホウ素             & Boron         & 10.811  & 2300 \\
 6  & C  & 炭素               & Carbon        & 12.0107 & 3500 \\
 7  & N  & 窒素               & Nitrogen      & 14.0067 & -210 \\
 8  & O  & 酸素               & Oxygen        & 15.9994 & -218 \\
 9  & F  & フッ素             & Fluorine      & 18.9984 & -220 \\
 10 & Ne & ネオン             & Neon          & 20.1797 & -249 \\
 11 & Na & ナトリウム         & Sodium        & 22.9897 & 98 \\
 12 & Mg & マグネシウム       & Magnesium     & 24.305  & 639 \\
 13 & Al & アルミニウム       & Aluminum      & 26.9815 & 660 \\
 14 & Si & ケイ素             & Silicon      & 28.0855 & 1410 \\
 15 & P  & リン               & Phosphorus   & 30.9738 & 44 \\
 16 & S  & 硫黄               & Sulfur       & 32.065  & 113 \\
 17 & Cl & 塩素               & Chlorine     & 35.453  & -101 \\
 18 & Ar & アルゴン           & Argon        & 39.948  & -189 \\
 19 & K  & カリウム           & Potassium    & 39.0983 & 64 \\
 20 & Ca & カルシウム         & Calcium      & 40.078  & 839 \\
 21 & Sc & スカンジウム       & Scandium     & 44.9559 & 1539 \\
 22 & Ti & チタン             & Titanium     & 47.867  & 1660 \\
 23 & V  & バナジウム         & Vanadium     & 50.9415 & 1890 \\
 24 & Cr & クロム             & Chromium     & 51.9961 & 1857 \\
 25 & Mn & マンガン           & Manganese    & 54.938  & 1245 \\
 26 & Fe & 鉄                & Iron         & 55.845   & 1535 \\
 27 & Co & コバルト           & Cobalt       & 58.9332 & 1495 \\
 28 & Ni & ニッケル           & Nickel       & 58.6934 & 1453 \\
 29 & Cu & 銅                 & Copper       & 63.546  & 1083 \\
 30 & Zn & 亜鉛               & Zinc         & 65.39   & 420 \\
 31 & Ga & ガリウム           & Gallium      & 69.723   & 30 \\
 32 & Ge & ゲルマニウム       & Germanium     & 72.64   & 937 \\
 33 & As & ヒ素              & Arsenic       & 74.9216 & 81 \\
 34 & Se & セレン            & Selenium      & 78.96   & 217 \\
 35 & Br & 臭素              & Bromine       & 79.904  & -7 \\
 36 & Kr & クリプトン        & Krypton       & 83.8     & -157 \\
 37 & Rb & ルビジウム        & Rubidium      & 85.4678  & 39 \\
 38 & Sr & ストロンチウム    & Strontium     & 87.62    & 769 \\
 39 & Y  & イットリウム      & Yttrium       & 88.9059  & 1523 \\
 40 & Zr & ジルコニウム      & Zirconium     & 91.224   & 1852 \\
 41 & Nb & ニオブ            & Niobium       & 92.9064  & 2468 \\
 42 & Mo & モリブデン        & Molybdenum    & 95.94    & 2617 \\
 43 & Tc & テクネチウム      & Technetium    & 98       & 2200 \\
 44 & Ru & ルテニウム        & Ruthenium     & 101.07   & 2250 \\
 45 & Rh & ロジウム          & Rhodium       & 102.9055 & 1966 \\
 46 & Pd & パラジウム        & Palladium     & 106.42   & 1552 \\
 47 & Ag & 銀                & Silver       & 107.8682 & 962 \\
 48 & Cd & カドミウム        & Cadmium       & 112.411 & 321 \\
 49 & In & インジウム        & Indium        & 114.818 & 157 \\
 50 & Sn & スズ              & Tin          & 118.71   & 232 \\
 51 & Sb & アンチモン        & Antimony     & 121.76   & 630 \\
 52 & Te & テルル            & Tellurium    & 127.6    & 449 \\
 53 & I  & ヨウ素            & Iodine       & 126.9045 & 114 \\
 54 & Xe & キセノン          & Xenon        & 131.293  & -112 \\
 55 & Cs & セシウム          & Cesium       & 132.9055 & 29 \\
 56 & Ba & バリウム          & Barium       & 137.327  & 725 \\
 57 & La & ランタン          & Lanthanum    & 138.9055 & 920 \\
 58 & Ce & セリウム          & Cerium       & 140.116  & 795 \\
 59 & Pr & プラセオジム      & Praseodymium & 140.9077 & 935 \\
 60 & Nd & ネオジム          & Neodymium    & 144.24   & 1010 \\
 61 & Pm & プロメチウム      & Promethium   & 145      & 1100 \\
 62 & Sm & サマリウム        & Samarium     & 150.36   & 1072 \\
 63 & Eu & ユウロピウム      & Europium     & 151.964  & 822 \\
 64 & Gd & ガドリニウム      & Gadolinium   & 157.25   & 1311 \\
 65 & Tb & テルビウム        & Terbium      & 158.9253 & 1360 \\
 66 & Dy & ジスプロシウム    & Dysprosium   & 162.5    & 1412 \\
 67 & Ho & ホルミウム        & Holmium      & 164.9303 & 1470 \\
 68 & Er & エルビウム        & Erbium       & 167.259  & 1522 \\
 69 & Tm & ツリウム          & Thulium      & 168.9342 & 1545 \\
 70 & Yb & イッテルビウム     & Ytterbium    & 173.04  & 824 \\
 71 & Lu & ルテチウム        & Lutetium     & 174.967  & 1656 \\
 72 & Hf & ハフニウム        & Hafnium      & 178.49   & 2150 \\
 73 & Ta & タンタル          & Tantalum     & 180.9479 & 2996 \\
 74 & W  & タングステン      & Tungsten     & 183.84   & 3410 \\
 75 & Re & レニウム          & Rhenium      & 186.207  & 3180 \\
 76 & Os & オスミウム        & Osmium       & 190.23   & 3045 \\
 77 & Ir & イリジウム        & Iridium      & 192.217  & 2410 \\
 78 & Pt & 白金             & Platinum      & 195.078  & 1772 \\
 79 & Au & 金               & Gold          & 196.9665 & 1064 \\
 80 & Hg & 水銀             & Mercury       & 200.59   & -39 \\
 81 & Tl & タリウム          & Thallium     & 204.3833 & 303 \\
 82 & Pb & 鉛               & Lead          & 207.2   & 327 \\
 83 & Bi & ビスマス          & Bismuth      & 208.9804 & 271 \\
 84 & Po & ポロニウム        & Polonium     & 209      & 254 \\
 85 & At & アスタチン        & Astatine     & 210      & 302 \\
 86 & Rn & ラドン            & Radon        & 222      & -71 \\
 87 & Fr & フランシウム      & Francium     & 223      & 27 \\
 88 & Ra & ラジウム          & Radium       & 226      & 700 \\
 89 & Ac & アクチニウム      & Actinium     & 227      & 1050 \\
 90 & Th & トリウム          & Thorium     & 232.0381  & 1750 \\
 91 & Pa & プロアクチニウム  & Protactinium & 231.0359  & 1568 \\
 92 & U  & ウラン           & Uranium      & 238.0289  & 1132 \\
 93 & Np & ネプツニウム      & Neptunium    & 237      & 640 \\
 94 & Pu & プルトニウム      & Plutonium    & 244      & 640 \\
 95 & Am & アメリシウム      & Americium    & 243      & 994 \\
 96 & Cm & キュリウム        & Curium       & 247      & 1340 \\
 97 & Bk & バークリウム       & Berkelium   & 247      & 986 \\
 98 & Cf & カリホルニウム     & Californium & 251      & 900 \\
 99 & Es & アインスタイニウム & Einsteinium & 252      & 860 \\
\end{longtable}
%===================================================
\end{document}

図7 – 9に,この LaTeX のファイルのコンパイル結果を示します.クリックすると拡大表示を見ることができます.表の最上部と最下部にメッセージが書かれており,表が複数ページにわたっていることを示しています.

LaTeX の表 longtable.sty を使った例 (1/3)ページ LaTeX の表 longtable.sty を使った例 (2/3)ページ LaTeX の表 longtable.sty を使った例 (3/3)ページ
図7: (1/3)ページ 図8: (2/3)ページ 図9: (3/3)ページ

文字の回り込み (wraptable 環境)

小さな表を別行立てにすると,文書の余白が目立つことがあります.そのような場合は,表の周りに文字を回り込ませると紙面を有効に使えます.LaTeX では,wraptable 環境を使うと,表の周りへの回り込みができます.これは,図の周りに文字を回り込ませる wrapfigure 環境とよく似ています.

使い方

使い方の詳細については,マニュアルを参照してください.このマニュアルでは wrapfigure 環境を中心に説明していますが,wraptable も同じ考え方で使えます.細かい設定はマニュアルに譲るとして,ここでは普通に使う分には十分な説明を行います.

プリアンブル

wraptable 環境を使うためには,プリアンブルに以下の記述が必要です.

\usepackage{wrapfig}

本文

表(キャプションも含む)と文章の配置を決め,表の周りに文章(テキスト)を回り込ませます.これらの配置は wraptable 環境で指定します.主なパラメーターは,回り込みの行数,場所,オーバーハング幅,表を配置する幅です.基本的な wraptable 環境の記述方法は,以下のとおりです.

wraptable の記述方法

\begin{wraptable}[行数]{場所}[オーバーハング幅]{表を配置する幅}
  \caption{キャプション}
  \label{ラベル}
  \centering
  \begin{tabular}{カラムのデータの位置指定}
      & 区切りの表のカラムのデータ \\
      & 区切りの表のカラムのデータ \\
      …
\end{wraptable}
%---
      文章
      文章
      …

ユーザーはこの構文の緑色の部分を目的に応じて記述するだけで,表の周りに文字を回り込ませることができます.wraptable 環境の設定パラメーターは以下のとおりです.また,図10にテキストと表の位置の関係を示します.

設定 効果/動作
行数 回り込みする文章の行数の指定です.
場所 表の配置場所を指定します.大文字と小文字を使えます.大文字は浮動配置,小文字は記述した場所での配置を表します.
r, R 表をテキストの右端に配置
l, L 表をテキストの左端に配置
i, I \documentclass[twoside] の場合,見開きページの内側に配置します.
o, O \documentclass[twoside] の場合,見開きページの外側に配置します.
オーバーハング幅 表を本文領域から外側へどれだけはみ出させるかを指定します.
表を配置する幅 表を配置する幅の指定です.この幅よりも大きな表を指定すると,表がはみ出ます.
LaTeX wrapfig.sty wraptable の設定パラメーターの説明図
図10: wraptable 環境の図とテキストの配置.場所の指定は「r」.

[注意] 回り込みで確保される領域は,引数の「行数」と「表を配置する幅」をもとに決まります.これは場所の確保だけで,実際の表のサイズは表の内容によって決まります.表のサイズが確保した領域よりも大きいと,表がはみ出します.wraptable は,表の実寸に合わせて領域を自動調整しません. \begin{wraptable} — \end{wraptable} 内で,表データ以外の文字列(多くの場合はキャプション)はオーバーハングを超えられません.長い文字列は折り返されます.表本体(列内の文字列を含む)はオーバーハングを超えることもありますが,できるだけ避けるべきです.

具体例

以下のリストは,wrapfig.sty の wraptable 環境を使った具体例です(wraptable 環境の部分のみ表示).図11に,実行結果を示します.図をクリックすると拡大表示します.

wraptable 環境を使った例

\begin{wraptable}[9]{r}[5mm]{50mm}
 \caption{単位の次元}
 \label{table:unit}
 \centering
 \begin{tabular}{lrrrr}
  \hline
  物理量 & \multicolumn{4}{c}{SI単位} \\
  & 
  \multicolumn{1}{c}{L}  & 
  \multicolumn{1}{c}{M} & 
  \multicolumn{1}{c}{T} & 
  \multicolumn{1}{c}{I} \\
  \hline \hline
  力   & 1 & 1 & -2 &  \\
  エネルギー & 2 & 1 & -2 & \\
  電場の強さ & 1 & 1 & -3 & -1 \\
  磁場の強さ & -1 &  &  & 1 \\
  \hline
 \end{tabular}
\end{wraptable}
%
物理学で使われるすべての単位には,長さ L [m]と質量 M [kg],時間 T [sec],
電流 I [A]の4つの基本単位の乗算(除算を含む)で表せます.なぜ,たった4つだ
と言い切れるのか? --- という疑問も湧くでしょう.それは,物理学の基本方程
式(力学,電磁気学,量子力学,\dots)がこれらの単位しか使っていないからです.
すべての物理法則は基本方程式から得られるので,その方程式が使う単位しか出
てこないことになります.もし,新たな基本法則が発見され,全く別の物理量が
必要になれば基本単位に加えられるでしょう.次の疑問は,乗算だけで表すこと
ができる理由は? --- です.物理学の方程式では,(1)左右の式の単位は等しい,
(2)加算(減算を含む)が可能な物理量は同じ単位のものである --- という大原則
があります.方程式は物理量の比較を行っており,その比較は同じ尺度(単位)で
なくては意味がありません.重さと長さを比較しても,大小関係は決定できない
のと一緒です.したがって,単位の異なる物理量の加算は意味をなさないので,単位の次
元にも加算は現れません.表\ref{table:unit}に,代表的な物理量の単位の次元
を示します.
wraptable 環境を使った例
図11: wraptable 環境を使った例 (ソース)

行や列,セルに色をつける (colortbl.sty)

ビジネス文書では表に色をつけて,重要な項目を分かりやすくすることがあります.ここではスタイル「colortbl.sty」を使い,LaTeX の表に色を付ける方法を示します.

使い方

使い方の詳細については,マニュアルを参照ください.細かい使用方法はマニュアルに譲るとして,ここでは普通に使う分には十分な説明を行います.

プリアンブル

スタイル colortbl を使うためには,プリアンブルに以下の記述が必要です.

\usepackage{colortbl}

本文

表の色指定は,列(column),行(row),セル(cell)の単位で行えます.

列の色指定

列の色指定は,tabular 列の設定で行います.コマンドは,

\columncolor[<color model>]{<color>}[<left overhang>][<right overhang>]

です.具体的には,「\begin{tabular}{|l|r| >{\columncolor[rgb]{1.0, 0.0, 0.0}} l|}」のようにします.これで第3列が左揃えで背景が赤色になります.カラーモデルについては,次節を参考にしてください.左右のオーバーハングを指定しないと,セルいっぱいに指定色で塗りつぶされます.オーバーハングの [0pt][0pt] とすると,その列の中で最も長い文字列いっぱいに,指定色で塗りつぶされます.オーバーハングに正の値を指定すると塗りつぶし範囲が広がり,負の値を指定すると狭くなります.

行の色指定

行の色指定は,行の先頭で行います.コマンドは,

\rowcolor[<color model>]{<color>}[<left overhang>][<right overhang>]

です.具体的には,「 \rowcolor[rgb]{0.0, 1.0, 0.0}」のようにします.これで行が緑色に塗りつぶされます.カラーモデルとオーバーハングは,列の色指定と同じです.列の最大文字列幅がオーバーハングの [0pt][0pt] に相当します.

セルの色指定

セルの色指定は,セル内で行います.コマンドは,

\cellcolor[<color model>]{<color>}

です.具体的には,「 \cellcolor[rgb]{0.0, 0.0, 1.0}」のようにします.これでセルが青色に塗りつぶされます.カラーモデルは行や列と同じです.オーバーハングは使えません.

カラーモデル

colortbl では,以下のカラーモデルを使うことができます.

カラーモデル
モデル 説明 例
rgb 赤緑青の要素を 0 – 1 の数値で指定 [rgb]{0.12, 0.45, 0.26}
gray グレイスケールを 0 – 1 の数値で指定 [gray]{0.85}
named black, white, red, green, blue, cyan, magenta, yellow {red}

具体例

以下のリストは,colortbl.sty を使った具体例です(表の部分のみ表示).

colortbl を使った表の例.

\begin{table}[h]
  \caption{時計の精度向上の歴史.表中の「1秒誤差」は時計が1秒狂う時間.}
  \label{table:colortbl}
  \centering
  \begin{tabular}{|l|l|l|r|>{\columncolor[rgb]{0.0, 0.9, 0.9}}l|}  % 列の色付け
   \hline
   西暦 & 方式 & 発明者 & 1秒誤差 & 精度 \\
   \hline\hline
   \rowcolor[rgb]{0.9, 0.9, 0.9}   % 行の色付け
   13世紀後半 & 最初の機械式時計 & ヨーロッパ & 50[秒] & 2E-2 \\
   \rowcolor[rgb]{0.9, 0.9, 0.0}   % 行の色付け
   1656 & 振り子時計 & クリスチャン・ホイヘンス & 5[分] & 3E-3 \\
   1675 & てんぷぜんまいの発明 & クリスチャン・ホイヘンス & 5[分] & 3E-3 \\
   1735 & マリンクロノメーターの開発 & ジョン・ハリソン & 8[時間] & 3E-5\\
   1921 & シンクロノーム自由振子時計 & W.ショート & 12[年] & 3E-9\\
   1955 & セシウム原子時計 & \cellcolor[rgb]{0.9, 0.0, 0.0} ルイ・エッセン & 300[年] & 1E-10\\  % セルの色付け
   2005 & ストロンチウム光格子時計 & 香取 & 10[億年] & 3E-16\\
   \hline
  \end{tabular}
\end{table}

図12に,実行結果を示します.図をクリックすると拡大表示します.

図12: colortbl スタイルを使った例

便利なスタイル

罫線を破線に (arydshln.sty)

「arydshln.sty」は,tabular や array 環境で,破線を表示するために使います.表の罫線を破線にすることができます.このスタイルを使うためには,(1) arydshln.sty のインストール,(2) プリアンブルに「\usepackage{arydshln}」を記述する必要があります.

基本的な使い方

縦の罫線は「|」で実線が表示されますが,arydshln を使うと「:」で破線となります.横の罫線は「\hline」や「\cline」の代わりに,「\hdashline」や「\cdashline」を使うことで破線にできます.

破線の設定

デフォルトの変更

デフォルトの破線の実線(ダッシュ: —)の長さとその間隔(ギャップ)は,いずれも 4pt です.これは変更可能なので,プリアンブルに \setlength{\dashlinedash}{2.3pt} と \setlength{\dashlinegap}{0.5pt} を記述すると,ダッシュの長さは 2.3pt,ギャップは 0.5pt になります.

破線ごとの変更

破線ごとに,実線(ダッシュ: —)の長さとその間隔(ギャップ)を設定できます.以下の例は,いずれも,ダッシュの長さは 2.3pt,ギャップは 0.5pt になります.

縦の罫線 「;{2.3pt/0.5pt}」とします.コロン(:)ではなく,セミコロン(;)です.
横の罫線 「\hdashline[2.3pt/0.5pt]」とします.
横の部分罫線 「\cdashline{2-5}[2.3pt/0.5pt]」とします.これで,第2列から第5列までの破線が指定できます.

表中の脚注

通常の tabular 環境や table 環境の中では,脚注を記述するコマンド「\footnote{脚注本文}」が期待どおりに動かないことがあります.スタイルファイル「tablefootnote.sty」や「footnote.sty」を使うことで,この問題を解消できます.

tablefootnote.sty

プリアンブルに以下を記述することで,table 環境で脚注を書くためのスタイルファイル「tablefootnote.sty」が使えます.

\usepackage{tablefootnote}

そして,脚注を記述するコマンド「\tablefootnote{脚注文章を書く}」を使います.通常の脚注と同じように,「\tablefootnote[番号]{脚注文章を書く}」も使えます.

footnote.sty

スタイルファイル「footnote.sty」を使うことも可能です.プリアンブルに以下を書きます.

\usepackage{footnote}
\makesavenoteenv{tabular}

こうすることで,tabular 環境中で「\footnote{脚注を記述}」を使うことができるようになります.

表の要素(セル)を斜線で分割 (diagbox.sty)

古い「slashbox.sty」は,現在の TeX Live では利用できない場合があります.新しい文書では,後継パッケージの「diagbox.sty」を使うのがお勧めです.プリアンブルには「\usepackage{diagbox}」を記述します.

セルを斜線で分割するには,「\diagbox{文字列 A}{文字列 B}」を使います.斜線の向きを変える場合は,「\diagbox[dir=SW]{文字列 A}{文字列 B}」のように dir オプションを指定します.diagbox には互換用の \slashbox と \backslashbox も用意されていますが,新しい文書では \diagbox を使う方が分かりやすいです.

細かい調整

表の見栄えを良くするためには,細かい調整が必要な場合があります.ここでは,カラムの高さの変更方法を示します.

カラムの高さ

表中のすべての行の高さの変更は,

\renewcommand{\arraystretch}{1.5}

のようにします.これで,行の高さを標準の 1.5 倍にできます.特定の表だけを変更したい場合は,変更したい table 環境全体をグループ {...} で囲み,その中で \renewcommand{\arraystretch}{1.5} を指定します.

表中の行ごとの高さの変更は,\rule[0mm]{0mm}{5mm} のようにします.\rule は長方形を描くコマンドで,ベースラインからの持ち上げ量,長方形の幅,高さを指定できます.幅をゼロにすることで目に見えない支柱を立て,行の高さを調整します.具体的には,次のとおりです.

\begin{table}[hbtp]
 \centering
 \begin{tabular}{rl}
   \hline
   長方形の高さ &  説明\\
   \hline \hline
   1mm  & 支柱 1mmは無意味\rule[0mm]{0mm}{1mm} \\
   \hline
   5mm  & ちょっと高くなります.\rule[0mm]{0mm}{5mm} \\
   \hline
   10mm & かなり高いです.\rule[0mm]{0mm}{10mm} \\
   \hline
   15mm & 高い!!\rule[0mm]{0mm}{15mm} \\
   \hline
   30mm & 四角形の底を -15mm.\rule[-15mm]{0mm}{30mm} \\
   \hline
  \end{tabular}
\end{table}

図13: カラムの高さを変化させた表

様々なテクニック

以下に,様々なテクニックを示します.

  1. 表の説明文(caption)に,「\caption{… \url{http://hoge.com/foo.html} …}」のように URL を書くと,エラーが発生することがあります.このエラーを防ぐためには,「\caption{… \protect\url{http://hoge.com/foo.html} …}」のようにします.ただし,\url{} を使うためには,プリアンブルに「\usepackage{url}」を記述します.
  2. 行頭のセルが角括弧で始まる場合など,角括弧がうまく処理されないことがあります.その場合は,\lbrack hoge \rbrack とします.

ページ作成情報

参考資料

  1. 表中の斜め線の作成方法を詳しく説明している.http://blogs.yahoo.co.jp/koh_hotta/36084959.html
  2. *.dtx ファイルの処理方法については,TeX Wiki の TeX入門/各種パッケージの利用を参考にしました.
  3. longtable の具体例は,longtable exampleを参考にしました.
  4. arydshln については,そのマニュアルを参考にしました.
  5. booktabs については,そのマニュアルを参考にしました.
  6. diagbox については,TeX Live 2025 収録の diagbox マニュアルを参考にしました.

更新履歴

2007年11月頃 ページの新規作成
2014年01月13日 長い表(longtable.sty)の説明を追加.
2014年02月08日 小数点揃え(dcolumn.sty)の説明を追加.
2017年12月03日 セルの色付け(colortbl.sty)の説明を追加.
2021年08月14日 booktabs.sty の説明の追加.
2021年08月28日 siunitx.sty の説明の追加.
2026年05月16日 誤字・表現を見直し,siunitx.sty の説明を v3 向けに更新.slashbox.sty の説明を diagbox.sty に更新.


no counter