入れ子構造を避けたい
$\LaTeX$で箇条書きをするとき、itemize環境を入れ子構造にすることがありますよね。
\begin{itemize}
\item 第1階層
\begin{itemize}
\item 第2階層
\begin{itemize}
\item 第3階層
\begin{itemize}
\item 第4階層
\end{itemize}
\end{itemize}
\end{itemize}
\end{itemize}
これは次のように出力されます。

enumerate環境でも同様です。
\begin{enumerate}
\item 第1階層
\begin{enumerate}
\item 第2階層
\begin{enumerate}
\item 第3階層
\begin{enumerate}
\item 第4階層
\end{enumerate}
\end{enumerate}
\end{enumerate}
\end{enumerate}

この入れ子構造は可読性が低いし、打ち込むのも面倒臭い1。
本記事の目的を「$\LaTeX$で深い階層まで箇条書きをする際の入れ子構造を解消すること」とします。
なお、筆者は$\LaTeX$の実行環境としてOverleafを採用しています。
解決策(1)
iitemパッケージを導入することで、入れ子構造問題を簡単に解消できます2。
導入
プリアンブルに
\usepackage{iitem}
と記載すれば使用できます。
使い方
次のコマンドを使用することで、箇条書きの各階層を出力できます。
| 階層 | コマンド |
|---|---|
| 1 | \item |
| 2 | \iitem |
| 3 | \iiitem |
| 4 | \ivtem |
具体例は以下の通りです。
\begin{itemize}
\item 第1階層
\iitem 第2階層
\iiitem 第3階層
\ivtem 第4階層
\end{itemize}
\begin{enumerate}
\item 第1階層
\iitem 第2階層
\iiitem 第3階層
\ivtem 第4階層
\end{enumerate}
入れ子構造を解消し、見やすくしただけですので、出力結果はすでに示したものと同じです。
解決策(2)
easylist環境に乗り換える手もあります3。easylist環境ではitemize・enumerate環境と違い、\itemでは無く§や@などの記号によって箇条書きをします。
導入
プリアンブルに
\usepackage[<options>]{easylist}
と記載すれば使用できます。<options>は箇条書きの際に使用する記号を選択できます。必要に応じて、以下のいずれかを記載します。
<options> |
記号 |
|---|---|
| (default) | § |
| pilcrow | ¶ |
| at | @ |
| sharp | # |
| ampersand | & |
著者は@を採用しました。
\usepackage[at]{easylist}
使い方
基本的には以下のように使用します。
\begin{easylist}[<style>]
@ 第1階層
@@ 第2階層
@@@ 第3階層
@@@@ 第4階層
\end{easylist}
itemize・enumerate環境とは違い、\itemでは無く@を使用して箇条書きをします。
<style>はitemizeかenumerateを選択すると良いでしょう。
具体的には次のように出力されます。
\begin{easylist}[itemize]
@ 第1階層
@@ 第2階層
@@@ 第3階層
@@@@ 第4階層
\end{easylist}
\begin{easylist}[enumerate]
@ 第1階層
@@ 第2階層
@@@ 第3階層
@@@@ 第4階層
\end{easylist}
まとめ
解決策(1),(2) のどちらを採用しても良いと思います。一方で、出力結果のレイアウトに違いがあることに注意してください。easylist環境の方が箇条書きの間隔が広くなっています。個人的にはitemize環境とiitem環境の組み合わせのほうが好みです4。
itemize環境 |
easylist環境 |
|---|---|
![]() |
![]() |