LaTeXでの箇条書き作成は easylist パッケージが便利
easylistパッケージで箇条書きを簡単に
LaTeXで箇条書きを作りたい場合、easylist パッケージが非常に便利だ。このパッケージを使うと、非常に簡単に箇条書きを記述することができる。特に、箇条書きの中に箇条書きが埋め込まれているような複雑な場合において、この easylist パッケージは強い味方になる。
LaTeXに最初から組み込まれている itemize や enumerate といった環境でも箇条書きを記述することはできるが、これらの環境の記述は複雑になりがちだ。easylist パッケージは itemize や enumerate といった環境よりずっと単純に記述できるのだ。
easylist パッケージを使った場合と、itemize 環境を使った場合を比較してみよう。まず、easylist パッケージを使った場合は次のようになる。アットマーク (@) の数が箇条書きの深さに対応していることが分かるだろう。
\begin{easylist}[itemize]
@ 北日本
@@ 北海道
@@ 東北
@@@ 宮城
@@@ 山形
@ 東日本
@@ 関東
@@@ 東京
@@@@ 新宿
@@@@ 上野
@@@ 千葉
@@ 東海
@@@ 静岡
@ 西日本
@@ 近畿
@@@ 大阪
@@@ 京都
\end{easylist}
これに対して、itemize 環境では次のようになる。ここではインデントを入れてあるから、まだ箇条書きの階層構造が理解しやすい。しかし、インデントがなくなったら、かなり分かりにくくなる。また、\begin と \end の数が合っていない場合、エラーが出てしまう。
\begin{itemize}
\item 北日本
\begin{itemize}
\item 北海道
\item 東北
\begin{itemize}
\item 宮城
\item 山形
\end{itemize}
\end{itemize}
\item 東日本
\begin{itemize}
\item 関東
\begin{itemize}
\item 東京
\begin{itemize}
\item 新宿
\item 上野
\end{itemize}
\item 千葉
\end{itemize}
\item 東海
\begin{itemize}
\item 静岡
\end{itemize}
\end{itemize}
\item 西日本
\begin{itemize}
\item 近畿
\begin{itemize}
\item 大阪
\item 京都
\end{itemize}
\end{itemize}
\end{itemize}
easylist パッケージの出力結果の例を収めたPDFを用意してある。今回の記事の事例はすべてこのPDFに含まれている。
easylistパッケージの設定
インストール
最近のLaTeXのディストリビューションには、easylist パッケージが最初から入っていることが多い。このため、わざわざインストールしなくても、easylist パッケージを使うことができる。
easylist パッケージがインストールされていなかったら、CTANのeasylistのパッケージのページからダウンロードし、インストールしよう。インストールの方法は環境によって異なるので、ここでは詳細を書かない。TeXWikiの「TeX入門/各種パッケージの利用」というページを参考にすると良いだろう。
プリアンブルへの記述
easylist パッケージを使うためには、LaTeXのソースファイル ((一般的には、.tex という拡張子のファイルになる。)) のプリアンブル ((LaTeXのソースファイルの冒頭部分にあるパッケージの使用などを記述する場所のこと。\documentclass と \begin{document} の間と言うと分かりやすいだろう。)) に以下のように記せば良い。
\usepackage[at]{easylist}
ここでは、easylist パッケージを読み込むように命令している。\usepackage と {easylist} の間には、箇条書きを示すためにどんな記号を使うか ((LaTeXのデフォルトのitemize環境における \item の代わりにどの記号を用いるかと捉えても良いだろう。)) というオプションを記述する。ここでは、at と記述することで、箇条書きの記述に当たって、アットマーク(@)を使うと指定しているのだ。
オプションは指定しなくても構わないのだが、私としてはオプションに at を指定することを強く勧めたい。実は何もオプションを記述しないと、箇条書きを示す記号はセクション記号(§)になる。しかし、セクション記号は使い勝手が良くないので、これは使わない方が良い。LaTeXのソースファイルの文字コードをUTF-8にして記述する場合、うまく認識しないことがあるからだ。また、普通のキーボードではセクション記号 (§) を直接入力できないのも面倒である。
アットマーク(@)ならば、UTF-8の文書でも問題ないし、キーボードからの入力も容易である。このため、オプションには at を指定し、\usepackage[at]{easylist} と記述することをお勧めする。なお、アットマークの代わりに、アンパサンド(&)やシャープ記号(#)を使うこともできるが、これらは他の用途で用いることが少なくないので、避けた方が良いだろう。
easylist環境による箇条書きの記述
easylist 環境を使うことで箇条書きを記述することができる。すなわち、\begin{easylist} と \end{easylist} の間に内容を書くことで箇条書きを作ることができるのだ。
\begin{easylist}[itemize]
@ アジア
@@ モンゴル
@@ パキスタン
@ アフリカ
@@ エジプト
@@ ケニア
@ ヨーロッパ
\end{easylist}
@の後には必ず空白を入れなくてはならない。つまり、“@hoge”のように記述してはならず、“@ hoge”と記述しなくてはならない。また、アットマーク(@)を複数重ねることで、箇条書きの階層を深くすることができる。
上記の例の出力結果は以下のようになる。なお、この例では \begin{easylist} の後に、itemize というオプションを指定しているので、LaTeXに最初から組み込まれている itemize 環境(点などの記号による箇条書き)と同様の出力が得られる。
箇条書きの形を指定する
\begin{easylist} のあとにオプションを指定することで、箇条書きの形を変えることができる。なお、オプションを何も指定しない場合、前に使った easylist 環境と同じ形式の箇条書きになる。
itemize
オプションにitemizeを指定すると、LaTeXに最初から組み込まれている itemize 環境(点などの記号による箇条書き)と同様の出力が得られる。
\begin{easylist}[itemize]
@ アジア
@@ モンゴル
@@ パキスタン
@ アフリカ
@@ エジプト
@@ ケニア
@ ヨーロッパ
\end{easylist}

enumerate
オプションにenumerateを指定すると、LaTeXに最初から組み込まれている enumerate 環境(番号付きの箇条書き)と同様の出力が得られる。
\begin{easylist}[enumerate]
@ 茶
@@ 紅茶
@@@ ダージリン
@@@ アッサム
@@ 緑茶
@ コーヒー
@ ココア
\end{easylist}

ウィトゲンシュタインの『論理哲学論考』風の番号付きリスト
オプションにtractatusを指定すると、ウィトゲンシュタインの『論理哲学論考』風の番号付きリストの形で出力される。
\begin{easylist}[tractatus]
@ 朝はその日の準備をする。
@@ 朝ご飯はしっかり食べる。
@ 昼はじっくり仕事に取り組む。
@@ 仕事場は清潔にしておく。
@@ 適度に休憩する。
@ 夕方は遊びに行く。
@ 夜はゆっくり休む。
\end{easylist}

チェックリスト
オプションにchecklistを指定すると、チェックリストが出力される。
\begin{easylist}[checklist]
@ 国語
@@ 現代文
@@@ 「高瀬舟」
@@@ 「羅生門」
@@ 古文
@@@ 「春はあけぼの」
@@@ 「香炉峰の雪は」
@@ 漢字の練習
@@@ 読み
@@@ 書き
@ 数学
@@ 作図
@@ 二次方程式
\end{easylist}

他の箇条書きのスタイル
この他、オプションには booktoc ((オプションに booktoc を指定すると、book というドキュメントクラスの目次のスタイルに似た番号付きの箇条書きを出力する。)) や articletoc ((オプションに articletoc を指定すると、article というドキュメントクラスの目次のスタイルに似た番号付きの箇条書きを出力する。)) というものも指定できる。
その他の特徴
easylist パッケージのその他の機能を簡単に紹介しよう。これらの機能の使い方については、easylist パッケージのドキュメントPDFを参照のこと。
- \label と \ref を用いて箇条書きの番号を取得することが可能である。\pageref も使える。
- 箇条書きの番号は、1番からではなく、別の番号から始めることもできる。また、5番の次を7番にするなど、番号を飛ばすことも可能である。
- アラビア数字を用いた1, 2, 3…のような番号付けだけでなく、ローマ数字を用いた i, ii, iii…のような番号付けも可能である。また、a, b, c…のようにアルファベットにすることも可能である。