itemize は、順序のない 箇条書き(黒丸つきリスト) を作る環境です。\begin{itemize} と \end{itemize} で囲み、項目ごとに \item を置くだけ。番号ではなく行頭記号(マーカー)が付き、入れ子にすると階層に応じて記号が自動で変わります。このページでは既定の記号、個々の項目や階層全体での記号の変え方、入れ子、そして項目間の空きまでを扱います。
基本の使い方
itemize 環境の中では、各項目を \item で始めます。\item の後ろから次の \item(または \end{itemize})までが 1 項目の本文で、途中の改行や字下げは自由 — 行頭記号と左インデントは LaTeX が揃えます。項目は段落をまたいでもよく、\item を書かずに本文だけ並べることはできません(必ず \item で始めます)。
\begin{itemize}
\item 牛乳
\item 卵
\item パン
\end{itemize}これで 3 つの項目が、行頭に黒丸(•)を付けて並びます。itemize は LaTeX 標準の環境で、追加パッケージは要りません。番号を振りたいときは enumerate、見出し付きの定義リストには description を使います。
既定の行頭記号と階層
itemize は 4 段階まで入れ子 にでき、行頭記号は階層(ネストの深さ)ごとに自動で変わります。既定では、第 1 階層が黒丸 •、第 2 階層が太字の en ダッシュ –、第 3 階層がアスタリスク *、第 4 階層が中点 · です。これらの記号は、それぞれ \labelitemi・\labelitemii・\labelitemiii・\labelitemiv という命令に定義されています(語尾の i・ii・iii・iv がローマ数字で階層を表します)。
| 階層 | 既定の記号 | 内部での定義 | |
|---|---|---|---|
\labelitemi | 第 1 | • 黒丸 | \textbullet |
\labelitemii | 第 2 | – en ダッシュ(太字) | 太字の \textendash |
\labelitemiii | 第 3 | * アスタリスク | \textasteriskcentered |
\labelitemiv | 第 4 | · 中点 | \textperiodcentered |
ドキュメントクラスによっては既定の記号が異なることもありますが、標準クラス(article など)では上の通りです。記号そのものを変えたいときは、後述のとおりこれらの命令を \renewcommand で再定義します。
入れ子(ネスト)
itemize の項目の中にもう一つ itemize を書けば、入れ子のリストになります。内側の環境は外側のどの \item の本文に置いてもよく、深さに応じて記号(• → – → * → ·)が自動で切り替わります。4 階層を超えて入れ子にすると Too deeply nested というエラーになります。
\begin{itemize}
\item 果物
\begin{itemize}
\item りんご
\item みかん
\end{itemize}
\item 野菜
\end{itemize}ここでは「果物」「野菜」が第 1 階層の黒丸 •、その下の「りんご」「みかん」が第 2 階層の en ダッシュ – で組まれます。階層ごとの細かな調整や記号の一括変更は「ネストしたリスト」のページでさらに詳しく扱います。
行頭記号を変える
1 項目だけ 記号を変えるには、\item の直後に角括弧でラベルを与えます。たとえば \item[$\star$] でその項目の行頭が星に、\item[--] でダッシュになります。角括弧で与えたラベルは太字で、しかも右寄せ(フラッシュライト)に置かれるのが既定の挙動です。チェックリストのように特定の項目だけ印を変えたいときに便利です。
階層全体 の記号を変えるには、対応するラベル命令を \renewcommand で再定義します。プリアンブルか、効かせたい範囲の手前でこう書きます。
\renewcommand{\labelitemi}{$\diamond$}
\begin{itemize}
\item この階層の記号は菱形になる
\item 二つめの項目
\end{itemize}これで第 1 階層の記号が菱形(⋄)に置き換わります。多くのリストで体裁を細かく整えたい場合は、こうした手作業よりも enumitem パッケージを使う方が見通しがよくなります。enumitem を読み込むと、環境のオプションで label= を指定するだけで記号を変えられます。
\usepackage{enumitem}
% ...
\begin{itemize}[label=$\star$]
\item 星印のリスト
\item 二つめの項目
\end{itemize}項目間の空きと詰めたリスト
リストの縦方向の空きは、いくつかの長さで決まります。\topsep はリストの前後に入る空き、\itemsep は項目どうしの間、\parsep は 1 つの項目が複数段落になったときの段落間、\partopsep はリストが段落の直後に来るときの追加の空きです。既定ではこれらにわずかな伸縮(ゴム長)が含まれ、ページ全体の行送りに馴染むよう調整されます。
空きを詰めた コンパクトなリスト が欲しいときは、enumitem の nosep オプションが手軽です。nosep は \partopsep・\topsep・\itemsep・\parsep をまとめてゼロにし、リストの上下と項目間の縦の空きをすべて取り除きます。
\usepackage{enumitem}
% ...
\begin{itemize}[nosep]
\item 詰まった項目その一
\item 詰まった項目その二
\item 詰まった項目その三
\end{itemize}まとめの例
最後に、これまでの要素を組み合わせた例を見ます。外側の itemize の中に内側の itemize を入れて 2 階層にし、内側のある項目だけ \item[$\to$] で記号を矢印に差し替えています。
\begin{itemize}
\item 準備するもの
\begin{itemize}
\item 小麦粉
\item[$\to$] 砂糖(任意)
\item 塩
\end{itemize}
\item 手順を確認する
\end{itemize}出力では、「準備するもの」と「手順を確認する」が第 1 階層の黒丸 • で並びます。その下の内側リストは第 2 階層なので既定では en ダッシュ – ですが、「砂糖(任意)」の行だけは角括弧で与えた矢印 → が太字・右寄せで置かれ、ほかの 2 項目と区別されます。記号も間隔もこのように項目単位・階層単位で自在に制御できるのが itemize の柔軟さです。