PR

【LaTeX】箇条書きの方法ついて徹底解説

LaTeX
記事内に広告が含まれています。

\LaTeX における,enumerate, itemize, description といった箇条書きの環境について,その使い方を徹底的に解説しましょう。後半は enumitem パッケージを用いた拡張的な方法について解説します。

番号付き箇条書き

番号付き箇条書きを行うためには,enumerate 環境を用います。各項目には,\item を用います。

enumerate環境の基本

\begin{enumerate}
  \item 一つ目
  \item 二つ目
  \item 三つ目
\end{enumerate}
enumerate環境の出力例

入れ子にすることも可能です。デフォルトでは,4階層まで可能で,以下のようになります。

\begin{enumerate}
  \item 一つ目
  \begin{enumerate}
    \item 入れ子一つ目
    \begin{enumerate}
      \item 入れ子の入れ子一つ目
      \begin{enumerate}
        \item 入れ子の入れ子の入れ子一つ目
        \item 入れ子の入れ子の入れ子二つ目
      \end{enumerate}
      \item 入れ子の入れ子二つ目
    \end{enumerate}
    \item 入れ子二つ目
  \end{enumerate}
  \item 二つ目
\end{enumerate}
enumerate環境の入れ子の例

見出しを変えたいとき

\item[見出し] とすると,ある特定の項目だけ見出しを変えることができます。この際,そこでは番号は増えません。

\begin{enumerate}
  \item 一つ目
  \item[1a.] 二つ目
  \item 三つ目
\end{enumerate}
enumerate環境で,番号を一つカスタマイズした出力例

また,全体の番号のつけ方を変えたい場合は,たとえば

\renewcommand{\theenumi}{\roman{enumi}}
\renewcommand{\labelenumi}{(\theenumi)}
\renewcommand{\theenumii}{\theenumi-\alph{enumii}}
\renewcommand{\labelenumii}{(\theenumii)}

みたいな感じにすると,第一階層は \text{(i), (ii),}\ldots となり,第二階層(入れ子階層)は \text{ (i-a), (i-b),}\ldots のようになります。

第一・第二・第三・第四階層を出力する命令はそれぞれ \theenumi, \theenumii, \theenumiii, \theenumiv\labelenumi, \labelenumii, \labelenumiii, \labelenumiv です。\the~ のほうは \ref{} などで参照する際の実際の番号を指し,\label~ の方は,番号をカッコつきで出力することを指します。

\roman{}\alph{} などは番号付けの種類を指します。以下の中から選択します。

コマンド番号
\arabic1,2,3,…
\romani,ii,iii,…
\RomanI,II,III,…
\alpha,b,c,…
\AlphA,B,C,…

番号を途中から始めたいとき

enumerate 環境内で,

\setcounter{enumi}{3}

のようにすることで,番号を途中から始めることが可能です。上の場合,番号は「4」から始まります。

あるいは,後に解説する enumitem パッケージを用いれば,

\begin{enumerate}[start=4]

のようにすることもできます。

単に番号を途中から始めたいのではなく,前の enumerate 環境の番号の続きから始めたい場合は,別の方法がありますから,下の方で解説しましょう。

記号付き箇条書き

記号付き箇条書きを行うには,itemize 環境を用います。各項目には,\item を用います。

itemize環境の基本

\begin{itemize}
  \item 一つ目
  \item 二つ目
  \item 三つ目
\end{itemize}
itemize環境の出力例

以下のように入れ子にすることも可能です。デフォルトでは,4階層まで可能で,以下のようになります。

\begin{itemize}
  \item 一つ目
  \begin{itemize}
    \item 入れ子一つ目
    \begin{itemize}
      \item 入れ子の入れ子一つ目
      \begin{itemize}
        \item 入れ子の入れ子の入れ子一つ目
        \item 入れ子の入れ子の入れ子二つ目
      \end{itemize}
      \item 入れ子の入れ子二つ目
    \end{itemize}
    \item 入れ子二つ目
  \end{itemize}
  \item 二つ目
\end{itemize}
itemize環境の入れ子の例

enumerateitemize を入れ子にすることも可能です。

見出しを変えたいとき

\item[見出し] とすると,ある特定の項目だけ見出しを変えることができます。

\begin{itemize}
  \item 一つ目
  \item[$\heartsuit$] 二つ目
  \item 三つ目
\end{itemize}
itemize環境のカスタマイズの例

また,全体の記号のつけ方を変えたい場合は,

\renewcommand{\labelitemi}{・}

のようにします。第一・第二・第三・第四階層のラベルはそれぞれ \labelitemi, \labelitemii, \labelitemiii, \labelitemiv です。

見出し付き箇条書き

左寄せの太字を見出しとして,箇条書きを行うには,description 環境を用います。各項目には,\item[見出し] を用います。

description環境の基本

\begin{description}
  \item[日時] 一つ目
  \item[場所] 二つ目
  \item[注意事項] 三つ目
\end{description}
description環境の出力例

見出しの直後で改行したい場合は,単に強制改行 \\ を入れてもうまくいかないため,\item[日時]\mbox{}\\ のようにします。

入れ子にすることも可能です。

enumitemパッケージによる拡張

enumitem パッケージを用いれば,箇条書きのバリエーションをさらに広げることができます。これは,旧来の enumerate パッケージを置き換えるものです。プリアンブルに \usepackage{enumitem} とすれば使えます。ぜひ導入しましょう。

ここからは,enumitem パッケージで出来ることを,いくつか簡単に紹介します。

各環境ごとにラベルの付き方を指定する

enumerate 環境において,\begin{enumerate}[label=...] のようにすることで,その環境のラベルの付き方を指定することが可能です。

\begin{enumerate}[label=\textbf{その\arabic*.}]
  \item 一つ目
  \item 二つ目
  \item 三つ目
\end{enumerate}
enuitemパッケージによるenumerate環境のカスタマイズの例

\arabic* は,以下の5つから選べます。

コマンド番号
\arabic*1,2,3,…
\roman*i,ii,iii,…
\Roman*I,II,III,…
\alph*a,b,c,…
\Alph*A,B,C,…

スペースの調整

各環境のスペースを調整したい場合,たとえば

\begin{itemize}[itemsep=1ex, leftmargin=1cm]

のようにします。文書中全ての箇条書き環境のスペースを調整したい場合は,

\setlist{itemsep=1ex, leftmargin=1cm}

のようにします。\setlist[itemize]{...} とすれば,itemize 環境全てを変更することも可能ですし,\setlist[enumerate,2]{...} とすれば,enumerate 環境の第二階層のみ変更することも可能です。

各スペースのパラメータを表しているのが,以下の図です。

enuitemパッケージの公式ページによる図
enumitemパッケージの公式ページより

また,各環境の全ての縦方向のスペースを除きたい場合は,\begin{itemize}[nosep] とし,全ての箇条書き環境の縦方向のスペースを除きたい場合は,\setlist{nosep} とします。

前のenumerate環境の番号の続きから始める

resume オプションをつけることで,番号付けに関して,前の番号を引き継ぐことが可能です。以下を見てください。

\begin{enumerate}
  \item 一つ目
  \item 二つ目
\end{enumerate}
さらに,
\begin{enumerate}[resume]
  \item 三つ目
\end{enumerate}
resumeオプションをつけることで,番号を引き継ぐenumerate環境の出力例

resume の代わりに,resume* とすると,前の環境で使われた,その他のオプションも引き継ぐことが可能です。

もっとグローバルに番号付けを継続したい場合は,まず一つ目の enumerate 環境で,series=hoge のように,オプションでシリーズ名を定義し,それ以降の enumerate 環境のうち,番号を引き継ぎたいところで resume=hoge のようにオプションを記述してください。

改行しない箇条書き

インライン形式の箇条書きも可能です。これを使えるようにするには,\usepackage[inline]{enumitem} とする必要があります。こうすることで,インライン形式の箇条書き環境 enumerate*, itemize*, description* を使うことが可能です。以下に例を挙げましょう。

大事なことは三つある。それは,
\begin{enumerate*}
  \item 一つ目
  \item 二つ目
  \item 三つ目
\end{enumerate*}
である。
インライン形式の箇条書き環境の出力例

それぞれの項目のスペースを空けたい場合は,\begin{enumerate*}[itemjoin={\hspace{20pt}}] などと書いておけばよいです。ほかにも,この書き方で項目間にセミコロンを入れたりすることもできます。

他にもさまざまな機能があるため,公式ページを見てみてください。

関連する記事

参考

  1. 奥村晴彦, 黒木裕介「LaTeX 美文書作成入門」(技術評論社, 第9版, 2023)
  2. enumitem – Control layout of itemize, enumerate, description