【LaTeX】箇条書きで入れ子構造にしたくない【itemize／enumerate】

## 入れ子構造を避けたい
$\LaTeX$で箇条書きをするとき、`itemize`環境を入れ子構造にすることがありますよね。
```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}
```
これは次のように出力されます。
<img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1217473/788d613c-44dc-8f50-ddbe-519a4d88fe0e.png">\
`enumerate`環境でも同様です。
```latex: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}
```
<img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1217473/e126b7d1-486e-94ac-d3ce-29d61c6a0b10.png">\
この入れ子構造は可読性が低いし、打ち込むのも面倒臭い[^面倒]。
[^面倒]: たとえVSCodeのユーザースニペットを使用しようとも。
:::note info
本記事の目的を「$\LaTeX$で深い階層まで箇条書きをする際の入れ子構造を解消すること」とします。
:::
なお、筆者は$\LaTeX$の実行環境としてOverleafを採用しています。


## 解決策(1)
`iitem`パッケージを導入することで、入れ子構造問題を簡単に解消できます[^footnote_iitem]。
[^footnote_iitem]: `iitem`パッケージの[公式ドキュメント](https://www.ctan.org/pkg/iitem)

### 導入
プリアンブルに
```latex:usepackage
\usepackage{iitem}
```
と記載すれば使用できます。

### 使い方
次のコマンドを使用することで、箇条書きの各階層を出力できます。
| 階層 | コマンド |
|:-:|:-:|
| 1 | `\item` |
| 2 | `\iitem` |
| 3 | `\iiitem` |
| 4 | `\ivtem` |

具体例は以下の通りです。
```latex:itemize環境+iitem環境
\begin{itemize}
    \item 第1階層
        \iitem 第2階層
            \iiitem 第3階層
                \ivtem 第4階層
\end{itemize}
```
```latex:enumerate環境+iitem環境
\begin{enumerate}
    \item 第1階層
        \iitem 第2階層
            \iiitem 第3階層
                \ivtem 第4階層
\end{enumerate}
```
入れ子構造を解消し、見やすくしただけですので、出力結果はすでに示したものと同じです。



## 解決策(2)
`easylist`環境に乗り換える手もあります[^footenote_easylist]。`easylist`環境では`itemize`・`enumerate`環境と違い、`\item`では無く`§`や`@`などの記号によって箇条書きをします。
[^footenote_easylist]: `easylist`パッケージの[公式ドキュメント](https://ctan.org/pkg/easylist)の他に、[このサイト](https://konoyonohana.blog.fc2.com/blog-entry-98.html)では日本語の解説があります。なお、本記事は入れ子構造の解消のみが目的なので`\ListProperties`コマンドや`<style>`には詳しく触れません。

### 導入
プリアンブルに
```latex:usepackage
\usepackage[<options>]{easylist}
```
と記載すれば使用できます。`<options>`は箇条書きの際に使用する記号を選択できます。必要に応じて、以下のいずれかを記載します。
| `<options>` | 記号 |
|:-:|:-:|
| （default） | `§` |
| pilcrow | `¶` |
| at | `@` |
| sharp | `#` |
| ampersand | `&` |

著者は`@`を採用しました。
```latex:usepackage
\usepackage[at]{easylist}
```

## 使い方
基本的には以下のように使用します。
```latex:easylist
\begin{easylist}[<style>]
    @ 第1階層
        @@ 第2階層
            @@@ 第3階層
                @@@@ 第4階層
\end{easylist}
```
`itemize`・`enumerate`環境とは違い、`\item`では無く`@`を使用して箇条書きをします。
`<style>`は`itemize`か`enumerate`を選択すると良いでしょう。

具体的には次のように出力されます。
```latex:easylist[itemize]
\begin{easylist}[itemize]
    @ 第1階層
        @@ 第2階層
            @@@ 第3階層
                @@@@ 第4階層
\end{easylist}
```
<img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1217473/4f4a703c-db04-6352-5acb-f0925d488c23.png">

```latex:easylist[enumerate]
\begin{easylist}[enumerate]
    @ 第1階層
        @@ 第2階層
            @@@ 第3階層
                @@@@ 第4階層
\end{easylist}
```
<img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1217473/eb444ed9-839a-d4fa-a661-c277c8cec1bf.png">

## まとめ

解決策(1),(2) のどちらを採用しても良いと思います。一方で、出力結果のレイアウトに違いがあることに注意してください。`easylist`環境の方が箇条書きの間隔が広くなっています。個人的には`itemize`環境と`iitem`環境の組み合わせのほうが好みです[^のほうが好み]。
[^のほうが好み]:`easylist`環境の出力結果で間隔を詰める方法があればご教示頂きたいです。筆者はマクロを完全には理解していないので、[このような手法](https://kawaiihaseigi.blogspot.com/2014/07/latexitemizeenumerate.html)によってコマンドを再定義することもできるかも知れませんが…。

| `itemize`環境 | `easylist`環境 |
|:-:|:-:|
|<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1217473/788d613c-44dc-8f50-ddbe-519a4d88fe0e.png">|<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1217473/4f4a703c-db04-6352-5acb-f0925d488c23.png">|