> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/ja/latexno/04-lists.md).

# リスト

## Overleafでリストを挿入する3つの方法

Overleafでは、LaTeXを使用してリストを作成する3つの方法が用意されています:

1. 使用する **箇条書きリストを挿入** (![Image of the menu icon for insert a bulleted list in Overleaf](/files/ba49673f1d53256d2dd0c57a21567c80b108cad4)) または **番号付きリストを挿入** (![Image of the menu icon for insert a numbered list in Overleaf](/files/230da2bcf1f33dfe84fa46c25f65f2b7b418c41f)) をエディタのツールバーで使用して、次の場所にリストを挿入します **ビジュアルエディター** または **コードエディター**.
2. [書式設定されたリストを次の場所に貼り付ける **ビジュアルエディター**](/latex/ja/narejjibsu/075-how-to-paste-formatted-content-into-overleaf.md#pasteformattedlist).
3. 次を使用して独自のLaTeXコードを記述する **コードエディター**.

オプション1と2は、リストを組版するために必要なLaTeXコードを自動的に生成するよう設計されています。ただし、独自のLaTeXコードを記述したい場合は、オプション3が適した選択肢かもしれません。これは最も高い柔軟性を提供し、この記事の主な焦点です。

## はじめに

この記事では、LaTeXにおけるさまざまな種類のリストの組版とカスタマイズを紹介します:

* その `itemize` 箇条書き（順序なし）リストを作成するためのenvironment
* その `enumerate` 番号付き（順序付き）リストを作成するためのenvironment
* その `説明` 説明リストを作成するためのenvironment

LaTeXのリストは *極めて* 設定可能であり、非常に多様な種類や構造のリストを作成できます。ここでは、次のことに使用できるいくつかの方法を概観し、実演します [リストを設定およびカスタマイズする](#customizing-lists).

## 基本的なリストの例

### 箇条書き（順序なし）リストのためのitemize環境

順序なし（箇条書き）リストは、次のものによって作成されます `itemize` environmentであり、各リスト項目は次を使用して始まります `\item` コマンド。このコマンドは箇条書き記号も生成します。

```latex
リストは簡単に作成できます:
\begin{itemize}
  \item リスト項目は \verb|\item| コマンドで始まります。
  \item 個々の項目は、箇条書きと呼ばれる黒い点で示されます。
  \item 項目内のテキストは任意の長さにできます。
\end{itemize}
```

[この例を Overleaf で開く。](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Basic+unordered+list+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0ALists+are+easy+to+create%3A%0A%5Cbegin%7Bitemize%7D%0A++%5Citem+List+entries+start+with+the+%5Cverb%7C%5Citem%7C+command.%0A++%5Citem+Individual+entries+are+indicated+with+a+black+dot%2C+a+so-called+bullet.%0A++%5Citem+The+text+in+the+entries+may+be+of+any+length.%0A%5Cend%7Bitemize%7D%0A%5Cend%7Bdocument%7D)

この例では次の出力が生成されます:

![List1bOLV2.png](/files/99e7a6a5b825ae52e9c865484c31f7998f7b96f6)

### 番号付き（順序付き）リストのためのenumerate環境

番号付き（順序付き）リストの構文は同じですが、次を使用します `enumerate` environment: 各項目の前には制御シーケンス `\item`を付ける必要があります。これにより項目のラベルとして番号が自動生成されます。これらの番号は、次を使用するたびに1から始まります `enumerate` environment—なお、このデフォルトのLaTeXの番号付け動作は、次によって変更・制御できます [`enumitem` パッケージ](https://ctan.org/pkg/enumitem).

```latex
番号付き（順序付き）リストは簡単に作成できます:
\begin{enumerate}
  \item 項目には自動的に番号が付けられます。
  \item 番号は \texttt{enumerate} 環境を使用するたびに1から始まります。
  \item リスト内のもう1つの項目
\end{enumerate}
```

[この例を Overleaf で開く。](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Basic+ordered+list+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0ANumbered+%28ordered%29+lists+are+easy+to+create%3A%0A%5Cbegin%7Benumerate%7D%0A++%5Citem+Items+are+numbered+automatically.%0A++%5Citem+The+numbers+start+at+1+with+each+use+of+the+%5Ctexttt%7Benumerate%7D+environment.%0A++%5Citem+Another+entry+in+the+list%0A%5Cend%7Benumerate%7D%0A%5Cend%7Bdocument%7D)

この例では次の出力が生成されます:

![List2OLV2.png](/files/e191c594593ac3f591870be0d57b1f6c52ec09ac)

### description環境

次の例では `説明` environment。各項目の（任意の）ラベルは、次の後に角括弧で囲んで記述します `\item` コマンド：

```latex
\item[label text] 説明文をここに入力します...
```

また、次を使用します `blindtext` パッケージを使用して、3番目の項目にダミーの英語テキストを生成します。英語を取得するには、次を使用する必要があります `babel` パッケージの言語オプション `[english]`:

```latex
\usepackage[english]{babel}
```

以下は例です:

```latex
\documentclass{article}
\usepackage[english]{babel} % blindtextパッケージで英語テキストを取得するため
\usepackage{blindtext}
\begin{document}

\begin{description}
   \item これはラベル\textit{なし}の項目です。
   \item[短いもの] 1行の短い説明。
   \item[長いもの] より長い説明。\blindtext[1]
\end{description}
\end{document}
```

[この例を Overleaf で開く。](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Basic+description+list+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Benglish%5D%7Bbabel%7D+%25+To+obtain+English+text+with+the+blindtext+package%0A%5Cusepackage%7Bblindtext%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cbegin%7Bdescription%7D%0A+++%5Citem+This+is+an+entry+%5Ctextit%7Bwithout%7D+a+label.%0A+++%5Citem%5BSomething+short%5D+A+short+one-line+description.%0A+++%5Citem%5BSomething+long%5D+A+much+longer+description.+%5Cblindtext%5B1%5D%0A%5Cend%7Bdescription%7D%0A%5Cend%7Bdocument%7D)

この例では次の出力が生成されます:

![Descriptionlist2.png](/files/0d6e18c972053f65bc9aa77025800a3f7f44185b)

## 個々の項目のラベルを変更する

次に示すように `説明` environmentの例では、 `\item` コマンドは角括弧で囲まれた任意パラメータを受け取ります。この機能は次の中で使用できます `itemize` や `enumerate` environmentsを使用して、リスト内の個々の項目のデフォルトラベルを変更できます:

```latex
\item[label text] 項目のテキストをここに入力します...
```

この `label text` は、この項目のラベルを生成するために使用されます。

```latex
\texttt{itemize}環境で\verb|\item[label text]|を使用してラベルを変更する
\begin{itemize}
  \item これが最初のポイントです
  \item もう1つ指摘したいポイント
  \item[!] 強調したいポイント！
  \item[$\blacksquare$] 明確に主張する。
  \item[NOTE] この項目には箇条書きがありません
  \item[] 空白のラベル？
\end{itemize}

\vspace{10pt}

\texttt{enumerate}環境で\verb|\item[label text]|を使用してラベルを変更する
\begin{enumerate}
  \item これが最初のポイントです
  \item もう1つ指摘したいポイント
  \item[!] 強調したいポイント！
  \item[$\blacksquare$] 明確に主張する。
  \item[NOTE] この項目には箇条書きがありません
  \item[] 空白のラベル？
\end{enumerate}
```

[この例を Overleaf で開く。](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Changing+list+labels\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bamssymb%7D%25+to+access+%24%5Cblacksquare%24%0A%5Cbegin%7Bdocument%7D%0AChange+the+labels+using+%5Cverb%7C%5Citem%5Blabel+text%5D%7C+in+an+%5Ctexttt%7Bitemize%7D+environment%0A%5Cbegin%7Bitemize%7D%0A++%5Citem+This+is+my+first+point%0A++%5Citem+Another+point+I+want+to+make+%0A++%5Citem%5B%21%5D+A+point+to+exclaim+something%21%0A++%5Citem%5B%24%5Cblacksquare%24%5D+Make+the+point+fair+and+square.%0A++%5Citem%5BNOTE%5D+This+entry+has+no+bullet%0A++%5Citem%5B%5D+A+blank+label%3F%0A%5Cend%7Bitemize%7D%0A%0A%5Cvspace%7B10pt%7D%0A%0AChange+the+labels+using+%5Cverb%7C%5Citem%5Blabel+text%5D%7C+in+an+%5Ctexttt%7Benumerate%7D+environment%0A%5Cbegin%7Benumerate%7D%0A++%5Citem+This+is+my+first+point%0A++%5Citem+Another+point+I+want+to+make+%0A++%5Citem%5B%21%5D+A+point+to+exclaim+something%21%0A++%5Citem%5B%24%5Cblacksquare%24%5D+Make+the+point+fair+and+square.%0A++%5Citem%5BNOTE%5D+This+entry+has+no+bullet%0A++%5Citem%5B%5D+A+blank+label%3F%0A%5Cend%7Benumerate%7D%0A%5Cend%7Bdocument%7D)

この例では次の出力が生成されます:

![ChangeBullets.png](/files/0c715f21a7d415238606688a660cde9e029fe064)

## 入れ子のリスト

LaTeXでは、あるリストの中に別のリストを挿入できます。上記のリストタイプは、混在させることも同一タイプにすることもでき、最大4階層まで相互に含めることができます。

```latex
\begin{enumerate}
   \item ラベルは連番で構成されます
   \begin{itemize}
     \item 個々の項目は、箇条書きと呼ばれる黒い点で示されます
     \item 項目内のテキストは任意の長さにできます
     \begin{description}
     \item[注:] ここで何かを説明したいです
     \item[注意!] ここで警告を示します
     \end{description}
   \end{itemize}
   \item 番号は\texttt{enumerate}環境を使用するたびに1から始まります
\end{enumerate}
```

[この例を Overleaf で開く。](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Basic+nested+list+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Benumerate%7D%0A+++%5Citem+The+labels+consists+of+sequential+numbers%0A+++%5Cbegin%7Bitemize%7D%0A+++++%5Citem+The+individual+entries+are+indicated+with+a+black+dot%2C+a+so-called+bullet%0A+++++%5Citem+The+text+in+the+entries+may+be+of+any+length%0A+++++%5Cbegin%7Bdescription%7D%0A+++++%5Citem%5BNote%3A%5D+I+would+like+to+describe+something+here%0A+++++%5Citem%5BCaveat%21%5D+And+give+a+warning+here%0A+++++%5Cend%7Bdescription%7D%0A+++%5Cend%7Bitemize%7D%0A+++%5Citem+The+numbers+starts+at+1+with+each+use+of+the+%5Ctexttt%7Benumerate%7D+environment%0A%5Cend%7Benumerate%7D%0A%5Cend%7Bdocument%7D)

この例では次の出力が生成されます:

![List3bOLV2.png](/files/f36379d1fea1c4f2f58d22f3c8453ed212a25f97)

### 入れ子のリスト: ラベルスタイル

入れ子のリスト項目のラベルスタイルは、リスト内の深さに応じて変化します。入れ子の `itemize` リストでは箇条書きの種類が変化します。一方、 `enumerate` リストでは、項目の深さが増すにつれて番号の形式が変化します。どちらも最大4階層に制限されます。

#### 入れ子のenumerateリスト: 番号形式

```latex
\begin{enumerate}
   \item 第1階層の項目
   \item 第1階層の項目
   \begin{enumerate}
     \item 第2階層の項目
     \item 第2階層の項目
     \begin{enumerate}
       \item 第3階層の項目
       \item 第3階層の項目
       \begin{enumerate}
         \item 第4階層の項目
         \item 第4階層の項目
       \end{enumerate}
     \end{enumerate}
   \end{enumerate}
 \end{enumerate}
```

[この例を Overleaf で開く。](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Basic+nested+ordered+list+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Benumerate%7D%0A+++%5Citem+First+level+item%0A+++%5Citem+First+level+item%0A+++%5Cbegin%7Benumerate%7D%0A+++++%5Citem+Second+level+item%0A+++++%5Citem+Second+level+item%0A+++++%5Cbegin%7Benumerate%7D%0A+++++++%5Citem+Third+level+item%0A+++++++%5Citem+Third+level+item%0A+++++++%5Cbegin%7Benumerate%7D%0A+++++++++%5Citem+Fourth+level+item%0A+++++++++%5Citem+Fourth+level+item%0A+++++++%5Cend%7Benumerate%7D%0A+++++%5Cend%7Benumerate%7D%0A+++%5Cend%7Benumerate%7D%0A+%5Cend%7Benumerate%7D%0A%5Cend%7Bdocument%7D)

この例では次の出力が生成されます:

![List4OLV2.png](/files/60507604382e0d3bcfb16cfd8d5c8bf25831d43b)

#### 入れ子のitemizeリスト: 箇条書きスタイル

箇条書きスタイルは、入れ子のリストの深さに応じて変化します:

```latex
\begin{itemize}
   \item 第1階層の項目
   \item 第1階層の項目
   \begin{itemize}
     \item 第2階層の項目
     \item 第2階層の項目
     \begin{itemize}
       \item 第3階層の項目
       \item 第3階層の項目
       \begin{itemize}
         \item 第4階層の項目
         \item 第4階層の項目
       \end{itemize}
     \end{itemize}
   \end{itemize}
 \end{itemize}
```

[この例を Overleaf で開く。](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Basic+nested+ordered+list+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bitemize%7D%0A+++%5Citem+First+level+item%0A+++%5Citem+First+level+item%0A+++%5Cbegin%7Bitemize%7D%0A+++++%5Citem+Second+level+item%0A+++++%5Citem+Second+level+item%0A+++++%5Cbegin%7Bitemize%7D%0A+++++++%5Citem+Third+level+item%0A+++++++%5Citem+Third+level+item%0A+++++++%5Cbegin%7Bitemize%7D%0A+++++++++%5Citem+Fourth+level+item%0A+++++++++%5Citem+Fourth+level+item%0A+++++++%5Cend%7Bitemize%7D%0A+++++%5Cend%7Bitemize%7D%0A+++%5Cend%7Bitemize%7D%0A+%5Cend%7Bitemize%7D%0A%5Cend%7Bdocument%7D)

この例では次の出力が生成されます:

![List5OLV2.png](/files/871c98d3daa6125d206035a5791089a174276496)

## リストのカスタマイズ

LaTeXのリストは *非常に* 設定可能であり、多種多様なカスタムリストを作成する余地があります。LaTeXの標準リストタイプを直接変更することもできますが、 *できれば*、非常に多用途な [enumitemパッケージ](https://ctan.org/pkg/enumitem) に任せることができます。

CTANには多数の [リスト関連パッケージ](https://ctan.org/topic/list) があり、特定のカスタマイズ要件がある場合は調べる価値があるかもしれません。さらに、tex.stackexchangeには豊富な [リスト関連の質問](https://tex.stackexchange.com/questions/tagged/lists) があり、有用な知見や優れた例を提供する回答が付いています！

まずリストラベルを変更するいくつかの例から始め、次にリストレイアウトのカスタマイズへ進みます。

### リストのカスタマイズ: ラベルの変更

最初に、次を使用せずにリストのラベル付けを変更する方法を示します [enumitemパッケージ](https://ctan.org/pkg/enumitem).

#### 標準のラベル生成コマンド

カスタムリストは、次を使用するか [enumitem](https://ctan.org/pkg/enumitem) パッケージ、または標準リストを直接変更することで作成できます。ここでは、知っておく必要がある標準LaTeXコマンド、カウンタ変数、リストパラメータの一部を要約します。

次の表は、各階層でのラベル生成に使用されるLaTeXコマンドを示しています `itemize` や `enumerate` リスト環境:

|        |                         |                       |
| ------ | ----------------------- | --------------------- |
| **階層** | **`enumerate`** ラベルコマンド | **`itemize`** ラベルコマンド |
| 階層1    | `\labelenumi`           | `\labelitemi`         |
| 階層2    | `\labelenumii`          | `\labelitemii`        |
| 階層3    | `\labelenumiii`         | `\labelitemiii`       |
| 階層4    | `\labelenumiv`          | `\labelitemiv`        |

#### enumerateのカウンタ変数

この `enumerate` リスト環境では、さらに4つの *カウンター* 変数を使用して、各階層の現在のラベル値を追跡します:

|        |                        |
| ------ | ---------------------- |
| **階層** | **`enumerate`** カウンタ変数 |
| 階層1    | `enumi`                |
| 階層2    | `enumii`               |
| 階層3    | `enumiii`              |
| 階層4    | `enumiv`               |

#### 例: enumerateリストのラベルをカスタマイズする

次を使用してLaTeXの標準ラベル付けを設定できます `\renewcommand` を使用してラベル生成コマンドを再定義できます。また、次の `enumerate` environmentでは、適切なカウンタ変数も使用できます。

以下に、次を使用せずにこれを行う例をいくつか示します `enumitem` xr

**実用例**

```latex
\documentclass{article}
\begin{document}
\renewcommand{\labelenumii}{\arabic{enumi}.\arabic{enumii}}
\renewcommand{\labelenumiii}{\arabic{enumi}.\arabic{enumii}.\arabic{enumiii}}
\renewcommand{\labelenumiv}{\arabic{enumi}.\arabic{enumii}.\arabic{enumiii}.\arabic{enumiv}}

\begin{enumerate}
\item 1
\item 2
\item 3
\begin{enumerate}
    \item 3.1
    \begin{enumerate}
    \item 3.1.1
        \begin{enumerate}
        \item 3.1.1.1
        \item 3.1.1.2
        \end{enumerate}
    \end{enumerate}
\end{enumerate}
\item 4
\item 5
\end{enumerate}

\end{document}
```

[この例を Overleaf で開く。](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Configuring+list+layout\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Crenewcommand%7B%5Clabelenumii%7D%7B%5Carabic%7Benumi%7D.%5Carabic%7Benumii%7D%7D%0A%5Crenewcommand%7B%5Clabelenumiii%7D%7B%5Carabic%7Benumi%7D.%5Carabic%7Benumii%7D.%5Carabic%7Benumiii%7D%7D%0A%5Crenewcommand%7B%5Clabelenumiv%7D%7B%5Carabic%7Benumi%7D.%5Carabic%7Benumii%7D.%5Carabic%7Benumiii%7D.%5Carabic%7Benumiv%7D%7D%0A%0A%5Cbegin%7Benumerate%7D%0A%5Citem+One%0A%5Citem+Two%0A%5Citem+Three%0A%5Cbegin%7Benumerate%7D%0A++++%5Citem+Three+point+one%0A++++%5Cbegin%7Benumerate%7D%0A++++%5Citem+Three+point+one%2C+point+one%0A++++++++%5Cbegin%7Benumerate%7D%0A++++++++%5Citem+Three+point+one%2C+point+one%2C+point+one%0A++++++++%5Citem+Three+point+one%2C+point+one%2C+point+two%0A++++++++%5Cend%7Benumerate%7D%0A++++%5Cend%7Benumerate%7D%0A%5Cend%7Benumerate%7D%0A%5Citem+Four%0A%5Citem+Five%0A%5Cend%7Benumerate%7D%0A%0A%5Cend%7Bdocument%7D)

この例では次の出力が生成されます:

![List9OLV2.png](/files/89285860e206706e878b32c18e694e3aa44d7bea)

**カウンタ変数を出力する**

前の例では、コマンド `\arabic` を使用して、さまざまなラベルの現在の値を組版しました *カウンタ変数*。なお、「アラビア数字」およびコマンドの使用は `\arabic`、0から9までの数字を指します。詳細については、こちらの [Wikipediaのアラビア数字に関する記事](https://en.wikipedia.org/wiki/Arabic_numerals) を参照してください。

一般に、 *カウンタ変数* は、以下の5つのコマンドのいずれかを使用してさまざまな形式で出力できます:

* `\arabic{*counter variable*}`
* `\roman{*counter variable*}`
* `\Roman{*counter variable*}`
* `\Alph{*counter variable*}`
* `\alph{*counter variable*}`

例:

```latex
\documentclass{article}
\begin{document}
\begin{verbatim}
\newcounter{foo}
\setcounter{foo}{5}
\end{verbatim}
\newcounter{foo}
\setcounter{foo}{5}

\begin{itemize}
\item \verb|\arabic{foo}| は \arabic{foo} を生成します
\item \verb|\roman{foo}| は \roman{foo} を生成します
\item \verb|\Roman{foo}| は \Roman{foo} を生成します
\item \verb|\Alph{foo}| は \Alph{foo} を生成します
\item \verb|\alph{foo}| は \alph{foo} を生成します
\end{itemize}

\end{document}
```

[この例を Overleaf で開く。](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Configuring+list+layout\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bverbatim%7D%0A%5Cnewcounter%7Bfoo%7D%0A%5Csetcounter%7Bfoo%7D%7B5%7D++++%0A%5Cend%7Bverbatim%7D%0A%5Cnewcounter%7Bfoo%7D%0A%5Csetcounter%7Bfoo%7D%7B5%7D+%0A%0A%5Cbegin%7Bitemize%7D%0A%5Citem+%5Cverb%7C%5Carabic%7Bfoo%7D%7C+produces+%5Carabic%7Bfoo%7D%0A%5Citem+%5Cverb%7C%5Croman%7Bfoo%7D%7C+produces+%5Croman%7Bfoo%7D+%0A%5Citem+%5Cverb%7C%5CRoman%7Bfoo%7D%7C+produces+%5CRoman%7Bfoo%7D%0A%5Citem+%5Cverb%7C%5CAlph%7Bfoo%7D%7C+produces+%5CAlph%7Bfoo%7D%0A%5Citem+%5Cverb%7C%5Calph%7Bfoo%7D%7C+produces+%5Calph%7Bfoo%7D%0A%5Cend%7Bitemize%7D%0A%0A%5Cend%7Bdocument%7D)

この例では次の出力が生成されます:

![List8OLV2.png](/files/42932bfb3a707617124150f55f882de8279fe796)

**非実用的な（楽しい）例**

この例ではOpenTypeカラーフォントを使用して絵文字を組版するため、 *LuaLaTeXでのみ動作します*。Overleafの記事 [LaTeXでのカラー絵文字フォントの使用をサポートする技術の概要](/latex/ja/xiang-xi-ji-shi/10-an-overview-of-technologies-supporting-the-use-of-colour-emoji-fonts-in-latex.md) を参照して、絵文字の組版に関する詳細をご確認ください。

これは単なる楽しい例ですが、LuaLaTeXを使用して、4つすべてのラベル生成コマンドをカスタマイズし、ラベルカウンタ変数を使用して、少し変わったラベル付けを作成する方法を示しています…。完全なコードを見るには、「Open in Overleaf」リンクをクリックしてください。

```latex
\renewcommand{\labelenumi}{\duck{enumi}}
\renewcommand{\labelenumii}{\duck{enumi}.\duckegg{enumii}}
\renewcommand{\labelenumiii}{\duck{enumi}.\duckegg{enumii}.\duckegg{enumiii}}
\renewcommand{\labelenumiv}{\duck{enumi}.\duckegg{enumii}.\duckegg{enumiii}.\duckchick{enumiv}}

\begin{enumerate}
\item アヒル1羽
\item もっとたくさんのアヒル
\item アヒルの大群
\begin{enumerate}
    \item アヒルと卵
    \begin{enumerate}
    \item 見えるかな…
    \item アヒルとアヒルになる前のもの
       \begin{enumerate}
       \item かわいい…
       \item とてもかわいい！
       \end{enumerate}
    \end{enumerate}
\end{enumerate}
\item アヒルに戻る
\item もう一度
\end{enumerate}
```

[次のものを見るには ***完全なコード***、OverleafでこのLuaLaTeXの例を開いてください。](https://www.overleaf.com/docs?engine=lualatex\&snip_name=Fun+example+of+configuring+a+list\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bfontspec%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewfontfamily%5Cemojifont%5BRenderer%3DHarfbuzz%2CSizeFeatures%3D%7BSize%3D6%7D%5D%7BNotoColorEmoji.ttf%7D%0A%0A%5Cnewcount%5Cduckcount%0A%5Cnewcount%5Ceggcount%0A%5Cnewcount%5Cchickcount%0A%0A%5Cdef%5Cduck%231%7B%25%0A%5Cduckcount%3D%5Cvalue%7B%231%7D%25%0A%5Cloop%7B%5Cemojifont%5CUchar%221F986%7D%25%0A%5Cadvance%5Cduckcount+by+-1%0A%5Cunless%5Cifnum%5Cduckcount%3D0+%0A%5Crepeat%7D%0A%0A%5Cdef%5Cduckegg%231%7B%25%0A%5Ceggcount%3D%5Cvalue%7B%231%7D%25%0A%5Cloop%7B%5Cemojifont%5CUchar%221F95A%7D%25%0A%5Cadvance%5Ceggcount+by+-1%0A%5Cunless%5Cifnum%5Ceggcount%3D0+%0A%5Crepeat%7D%0A%0A%5Cdef%5Cduckchick%231%7B%25%0A%5Cchickcount%3D%5Cvalue%7B%231%7D%25%0A%5Cloop%7B%5Cemojifont%5CUchar%221F424%7D%25%0A%5Cadvance%5Cchickcount+by+-1%0A%5Cunless%5Cifnum%5Cchickcount%3D0+%0A%5Crepeat%7D%0A%5Crenewcommand%7B%5Clabelenumi%7D%7B%5Cduck%7Benumi%7D%7D%0A%5Crenewcommand%7B%5Clabelenumii%7D%7B%5Cduck%7Benumi%7D.%5Cduckegg%7Benumii%7D%7D%0A%5Crenewcommand%7B%5Clabelenumiii%7D%7B%5Cduck%7Benumi%7D.%5Cduckegg%7Benumii%7D.%5Cduckegg%7Benumiii%7D%7D%0A%5Crenewcommand%7B%5Clabelenumiv%7D%7B%5Cduck%7Benumi%7D.%5Cduckegg%7Benumii%7D.%5Cduckegg%7Benumiii%7D.%5Cduckchick%7Benumiv%7D%7D+%0A%0A%5Cbegin%7Benumerate%7D%0A%5Citem+A+duck%0A%5Citem+More+ducks%0A%5Citem+A+flurry+of+ducks%0A%5Cbegin%7Benumerate%7D%0A++++%5Citem+Ducks+and+eggs%0A++++%5Cbegin%7Benumerate%7D%0A++++%5Citem+Do+I+see...+%0A++++%5Citem+Ducks+and+pre-ducks+%0A+++++++%5Cbegin%7Benumerate%7D%0A+++++++%5Citem+Awww...%0A+++++++%5Citem+So+cute%21%0A+++++++%5Cend%7Benumerate%7D%0A++++%5Cend%7Benumerate%7D%0A%5Cend%7Benumerate%7D%0A%5Citem+Back+to+ducks%0A%5Citem+Again%0A%5Cend%7Benumerate%7D%0A%5Cend%7Bdocument%7D)

この例では次の出力が生成されます

![Ducklist.png](/files/d178e3ce6d4c72c5e5dba371e3b950c10f2704a7)

### リストのカスタマイズ: レイアウトの変更

ラベルのカスタマイズに加えて、リストの間隔やレイアウトを変更することも可能ですが、まずリストの組版とレイアウトを決定するさまざまなLaTeXパラメータを知る必要があります。

#### LaTeXリストパラメータ

以下を使用できます。 [layoutsパッケージ](https://ctan.org/pkg/layouts?lang=en) を使用して、LaTeXリストパラメータを表示する図を生成します:

```latex
\documentclass{article}
\usepackage{layouts}
\begin{document}
\begin{figure}
\listdiagram
\caption{リストの組版とレイアウトを定義する\LaTeX{}パラメータ。}
\end{figure}
\end{document}
```

[この例を Overleaf で開く。](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+the+layout+package+to+view+list+structures\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Blayouts%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bfigure%7D%0A%5Clistdiagram%0A%5Ccaption%7BThe+%5CLaTeX%7B%7D+parameters+which+define+typesetting+and+layout+of+lists.%7D+%0A%5Cend%7Bfigure%7D%0A%5Cend%7Bdocument%7D)

この例では次の出力が生成されます:

![](/files/89f90b0a70016c905f8a443b0a2cba3e594efca6)

これらのパラメータの意味は、次で説明されています [LaTeX2e非公式リファレンスマニュアルのリスト節](https://tug.org/texinfohtml/latex2e.html#list) したがって、ここでは繰り返しません。

#### list環境を使用してカスタムリストを作成する

LaTeXは汎用の `list` environmentを提供しており、独自のリストタイプを作成するための枠組みとなります。上の図に含まれている情報を使用して、以下の例は次に含まれている例を少し変更したものです [list節](https://tug.org/texinfohtml/latex2e.html#list) におけるパラメーターを含みます [LaTeX2e 非公式リファレンスマニュアル](https://tug.org/texinfohtml/latex2e.html)

```latex
\documentclass{article}
\begin{document}
\newcounter{boxlblcounter}
\newcommand{\makeboxlabel}[1]{\fbox{#1.}\hfill}% \hfillはラベルボックスを埋めます
\newenvironment{boxlabel}
  {\begin{list}
    {\arabic{boxlblcounter}}
    {\usecounter{boxlblcounter}
     \setlength{\labelwidth}{3em}
     \setlength{\labelsep}{0em}
     \setlength{\itemsep}{2pt}
     \setlength{\leftmargin}{1.5cm}
     \setlength{\rightmargin}{2cm}
     \setlength{\itemindent}{0em}
     \let\makelabel=\makeboxlabel
    }
  }
{\end{list}}

\newcommand{\randomtext}{こんにちは、これは意味のないテキストです。こんにちは、これは意味のないテキストです。こんにちは、これは意味のないテキストです。}

\noindent\randomtext

\begin{boxlabel}
\item \randomtext
\item \randomtext
\item \randomtext
\end{boxlabel}
\end{document}
```

[この例を Overleaf で開く。](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+the+list+environment\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewcounter%7Bboxlblcounter%7D++%0A%5Cnewcommand%7B%5Cmakeboxlabel%7D%5B1%5D%7B%5Cfbox%7B%231.%7D%5Chfill%7D%25+%5Chfill+fills+the+label+box%0A%5Cnewenvironment%7Bboxlabel%7D%0A++%7B%5Cbegin%7Blist%7D%0A++++%7B%5Carabic%7Bboxlblcounter%7D%7D%0A++++%7B%5Cusecounter%7Bboxlblcounter%7D%0A+++++%5Csetlength%7B%5Clabelwidth%7D%7B3em%7D%0A+++++%5Csetlength%7B%5Clabelsep%7D%7B0em%7D%0A+++++%5Csetlength%7B%5Citemsep%7D%7B2pt%7D%0A+++++%5Csetlength%7B%5Cleftmargin%7D%7B1.5cm%7D%0A+++++%5Csetlength%7B%5Crightmargin%7D%7B2cm%7D%0A+++++%5Csetlength%7B%5Citemindent%7D%7B0em%7D+%0A+++++%5Clet%5Cmakelabel%3D%5Cmakeboxlabel%0A++++%7D%0A++%7D%0A%7B%5Cend%7Blist%7D%7D%0A%0A%5Cnewcommand%7B%5Crandomtext%7D%7BHello%2C+here+is+some+text+without+a+meaning.+Hello%2C+here+is+some+text+without+a+meaning.+Hello%2C+here+is+some+text+without+a+meaning.%7D%0A%0A%5Cnoindent%5Crandomtext%0A%0A%5Cbegin%7Bboxlabel%7D%0A%5Citem+%5Crandomtext%0A%5Citem+%5Crandomtext%0A%5Citem+%5Crandomtext%0A%5Cend%7Bboxlabel%7D%0A%5Cend%7Bdocument%7D)

この例では次の出力が生成されます:

![Listenvironmemt2.png](/files/975ace4266de2e58f9f37aba4a7997976cc0ed6c)

### enumitemパッケージを使用してリストを変更・作成する

この [`enumitem` パッケージ](https://ctan.org/pkg/enumitem?lang=en) は、標準LaTeXリストを変更したり、独自のカスタムリスト形式を作成したりするための推奨方法です。 `enumitem` は次を提供します *豊富な* 機能を備えているため、そのすべてを扱うことはできませんが、始めるのに役立つ基本的な例をいくつか紹介できます。この多用途なパッケージをより深く探究したい方には、 *強く* 次に関するtex.stackexchangeを閲覧することを推奨します [に関連する質問、回答（および例） `enumitem` パッケージ](https://tex.stackexchange.com/questions/tagged/enumitem)、および次を読むことをお勧めします [パッケージのドキュメント](http://mirrors.ctan.org/macros/latex/contrib/enumitem/enumitem.pdf).

#### enumitemパッケージオプションshortlabels

この `enumitem` は、次という任意の設定パラメータを提供します `shortlabels` これは次を介して使用します

```latex
\usepackage[shortlabels]{enumitem}
```

この `shortlabels` オプションは、次の動作を模倣します `enumerate` パッケージであり、enumerate環境の番号付けスキームを定義する簡潔な方法を提供します。次を参照してください [`enumerate` パッケージのドキュメント](https://ctan.org/pkg/enumerate?lang=en) さらに情報を得ることができます。

#### 標準リストを変更する

次を参照して [LaTeXパラメータ図](#latex-list-parameters) を使えます `enumitem` のような標準LaTeXリストを簡単にカスタマイズするには `itemize`:

```latex
\documentclass{article}
\usepackage{enumitem}

\begin{document}

\newcommand{\randomtext}{こんにちは、これは意味のないテキストです。こんにちは、これは意味のないテキストです。}

\section*{\texttt{itemize}に対するLaTeXのデフォルト設定の使用}

\randomtext

\begin{itemize}
\item \randomtext
   \begin{itemize}
      \item \randomtext
        \begin{itemize}
        \item \randomtext
        \end{itemize}
   \item \randomtext
   \end{itemize}
\item \randomtext
\end{itemize}

\section*{\texttt{enumitem}によるカスタム\texttt{itemize}の使用}

\subsection*{左右のマージン設定の効果に注目}

\randomtext

\begin{itemize}[leftmargin=30pt, rightmargin=2cm]
\item \randomtext
   \begin{itemize}
      \item \randomtext
        \begin{itemize}
        \item \randomtext
        \end{itemize}
   \item \randomtext
   \end{itemize}
\item \randomtext
\end{itemize}

\end{document}
```

[この `enumitem` Overleaf の例。](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Modifying+a+LaTeX+list+with+enumitem\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Benumitem%7D%0A%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cnewcommand%7B%5Crandomtext%7D%7BHello%2C+here+is+some+text+without+a+meaning.+Hello%2C+here+is+some+text+without+a+meaning.%7D%0A%0A%5Csection%2A%7BUsing+LaTeX%27s+default+settings+for+%5Ctexttt%7Bitemize%7D%7D%0A%0A%5Crandomtext%0A%0A%5Cbegin%7Bitemize%7D%0A%5Citem+%5Crandomtext%0A+++%5Cbegin%7Bitemize%7D%0A++++++%5Citem+%5Crandomtext%0A++++++++%5Cbegin%7Bitemize%7D%0A++++++++%5Citem+%5Crandomtext%0A++++++++%5Cend%7Bitemize%7D%0A+++%5Citem+%5Crandomtext%0A+++%5Cend%7Bitemize%7D%0A%5Citem+%5Crandomtext%0A%5Cend%7Bitemize%7D%0A%0A%5Csection%2A%7BUsing+a+custom+%5Ctexttt%7Bitemize%7D+via+%5Ctexttt%7Benumitem%7D%7D%0A%0A%5Csubsection%2A%7BNote+the+effect+of+left+and+right+margin+settings%7D%0A%0A%5Crandomtext%0A%0A%5Cbegin%7Bitemize%7D%5Bleftmargin%3D30pt%2C+rightmargin%3D2cm%5D%0A%5Citem+%5Crandomtext%0A+++%5Cbegin%7Bitemize%7D%0A++++++%5Citem+%5Crandomtext%0A++++++++%5Cbegin%7Bitemize%7D%0A++++++++%5Citem+%5Crandomtext%0A++++++++%5Cend%7Bitemize%7D%0A+++%5Citem+%5Crandomtext%0A+++%5Cend%7Bitemize%7D%0A%5Citem+%5Crandomtext%0A%5Cend%7Bitemize%7D%0A%0A%5Cend%7Bdocument%7D)

この例では次の出力が生成されます:

![Tweakitemize2.png](/files/5af9f9f983b8b1d2467ea7b3f9a3a4835cb4f6c4)

#### enumitemで新しいリストを作成する

次を使用して新しいリストタイプを作成するには `enumitem` 次を使用します `\newlist` コマンドには3つの引数が必要です:

```latex
\newlist{name}{list-type}{max-depth}
```

* **`名前`**: 環境として使用するリストの名前:

  ```
  \begin{name}
  ...
  \end{name}
  ```
* **`list-type`** これは標準LaTeXリストタイプのいずれかでなければなりません:
* `enumerate`
* `itemize`
* `説明`
* **`max-depth`**: このリストを入れ子にする最大の深さ。 **注意** LaTeXのデフォルトの入れ子制限である4を超えるリストでは、次のコマンドも実行する必要があります `\setlistdepth{*integer*}` ここで `*integer*` は、使用する予定の最大入れ子深さです。次を参照してください [法律家のためのリスト](#lists-for-lawyers-nesting-lists-to-an-arbitrary-depth) の例で、その実演を確認できます。

新しいリストを作成した後、次を使用して設定できます `\setlist` コマンド。

**\setlistを使用してenumitemで作成したカスタムリストを設定する**

この例では、次という新しいリストを作成します `myitems` これは次を基にしています `enumerate`。次を設定します [`**max-depth**`](#maxdepth) を3に:

```latex
\newlist{myitems}{enumerate}{3}
```

最低限必要なのは、 `\setlist` コマンドを使ってこのカスタムリストのラベルを定義することです。enumerateベースのリストでは、その方法の一つとして、 `enumitem` パッケージによって作成されたカウンタ変数を使うことができます—それらのカウンタ変数は `**name**` を使います: `myitems` この例では。

ラベル設定の中で対応するカウンタ変数をどのように使うかは次のとおりです:

* `myitems**i**` レベル1の項目に対して
* `myitems**ii**` レベル2の項目に対して
* `myitems**iii**` レベル3の項目に対して

3レベルを超える場合、対応するカウンタ変数は `myitems**iv**` （レベル4）、 `myitems**v**` （レベル5）などとなり、引き続き小文字のローマ数字を使います。

ラベルに加えて、 `leftmargin` や `rightmargin` を使って取り込むこともできます（ [LaTeXパラメータ図](#latex-list-parameters)).

```latex
\documentclass{article}
\usepackage{enumitem}
\begin{document}

\newcommand{\randomtext}{こんにちは、これは意味のないテキストです。こんにちは、これは意味のないテキストです。}

\newcommand{\shortrandomtext}{こんにちは、ここに少しテキストがあります。}
% enumerate をベースにしたカスタムリストを作成
% これは「myitems」と呼ばれます
% 3階層の深さを持つリストを作成します
\newlist{myitems}{enumerate}{3}

% レベル1の項目の動作を設定
% 注: リストカウンタ「myitemsi」を使用します
\setlist[myitems, 1]
{label=\arabic{myitemsi}., %1., 2., 3., ...
leftmargin=\parindent,
rightmargin=10pt
}

% レベル2の項目の動作を設定
% 注: リストカウンタ「myitemsii」を使用します
\setlist[myitems, 2]
{label=\arabic{myitemsi}.\arabic{myitemsii}, %1.1, 1.2, 1.3...
leftmargin=15pt,
rightmargin=15pt}

% レベル3の項目の動作を設定
% 注: リストカウンタ「myitemsiii」を使用します
\setlist[myitems, 3]
% 1.1:<kern>(a), 1.1:<kern>(b) などのラベルを使う
{label=\arabic{myitemsi}.\arabic{myitemsii}:\kern1.5pt(\alph{myitemsiii}),
leftmargin=30pt,
rightmargin=30pt}

\randomtext
\begin{myitems}
\item \randomtext
    \begin{myitems}
    \item \randomtext
        \begin{myitems}
        \item \randomtext
        \item \randomtext
        \end{myitems}
    \item \shortrandomtext
    \item \shortrandomtext
    \end{myitems}
\item \randomtext
\end{myitems}
\end{document}
```

[この `enumitem` Overleaf の例。](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Create+a+custom+list+with+enumitem\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Benumitem%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cnewcommand%7B%5Crandomtext%7D%7BHello%2C+here+is+some+text+without+a+meaning.+Hello%2C+here+is+some+text+without+a+meaning.%7D%0A%0A%5Cnewcommand%7B%5Cshortrandomtext%7D%7BHello%2C+here+is+some+text.%7D%0A%25+Create+a+custom+list+based+on+enumerate%0A%25+It+is+called+%22myitems%22%0A%25+We%27ll+create+a+list+that+is+3+levels+deep%0A%5Cnewlist%7Bmyitems%7D%7Benumerate%7D%7B3%7D%0A%0A%25+Configure+the+behaviour+of+level+1+entries%0A%25+NOTE%3A+we+use+the+list+counter+%22myitemsi%22%0A%5Csetlist%5Bmyitems%2C+1%5D%0A%7Blabel%3D%5Carabic%7Bmyitemsi%7D.%2C+%251.%2C+2.%2C+3.%2C+...%0Aleftmargin%3D%5Cparindent%2C%0Arightmargin%3D10pt%0A%7D%0A%0A%25+Configure+the+behaviour+of+level+2+entries%0A%25+NOTE%3A+we+use+the+list+counter+%22myitemsii%22%0A%5Csetlist%5Bmyitems%2C+2%5D%0A%7Blabel%3D%5Carabic%7Bmyitemsi%7D.%5Carabic%7Bmyitemsii%7D%2C+%251.1%2C+1.2%2C+1.3...%0Aleftmargin%3D15pt%2C%0Arightmargin%3D15pt%7D%0A%0A%25+Configure+the+behaviour+of+level+3+entries%0A%25+NOTE%3A+we+use+the+list+counter+%22myitemsiii%22%0A%5Csetlist%5Bmyitems%2C+3%5D%0A%25+Use+a+label+of+1.1%3A%3Ckern%3E%28a%29%2C+1.1%3A%3Ckern%3E%28b%29+etc++%0A%7Blabel%3D%5Carabic%7Bmyitemsi%7D.%5Carabic%7Bmyitemsii%7D%3A%5Ckern1.5pt%28%5Calph%7Bmyitemsiii%7D%29%2C%0Aleftmargin%3D30pt%2C%0Arightmargin%3D30pt%7D%0A%0A%5Crandomtext%0A%5Cbegin%7Bmyitems%7D%0A%5Citem+%5Crandomtext%0A++++%5Cbegin%7Bmyitems%7D%0A++++%5Citem+%5Crandomtext%0A++++++++%5Cbegin%7Bmyitems%7D%0A++++++++%5Citem+%5Crandomtext%0A++++++++%5Citem+%5Crandomtext%0A++++++++%5Cend%7Bmyitems%7D%0A++++%5Citem+%5Cshortrandomtext%0A++++%5Citem+%5Cshortrandomtext%0A++++%5Cend%7Bmyitems%7D%0A%5Citem+%5Crandomtext%0A%5Cend%7Bmyitems%7D%0A%5Cend%7Bdocument%7D)

この例では次の出力が生成されます:

![CustomItemizeList.png](/files/80b33735b223fd70600dccd809e8b974d159ee51)

#### 弁護士向けのリスト：任意の深さまでリストを入れ子にする

この `enumitem` パッケージを使うと、任意の深さまで入れ子にできるリストを作成でき、LaTeXの4段階制限を取り除けます。複雑な（深く入れ子になった）条項構成の契約書を作成する人には役立つでしょうが、入れ子のコードは少しとっつきにくく見えるかもしれません...

```latex
\documentclass{article}
\usepackage{enumitem}

\begin{document}

\newlist{contract}{enumerate}{10}
\setlist[contract]{label*=\arabic*.}
\setlistdepth{10}

\section*{10階層まで入れ子にしたカスタムリスト！}

\begin{contract}
\item レベル1
 \begin{contract}
 \item レベル2
   \begin{contract}
   \item レベル3
     \begin{contract}
     \item レベル4
       \begin{contract}
       \item レベル5
        \begin{contract}
        \item レベル6
         \begin{contract}
         \item レベル7
          \begin{contract}
          \item レベル8
           \begin{contract}
           \item レベル9
            \begin{contract}
            \item レベル10
          \end{contract}
         \end{contract}
        \end{contract}
       \end{contract}
      \end{contract}
     \end{contract}
    \end{contract}
   \end{contract}
  \end{contract}
 \end{contract}
\end{document}
```

[この `enumitem` Overleaf の例。](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+the+enumitem+package+to+create+deeply+nested+lists\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Benumitem%7D%0A%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cnewlist%7Bcontract%7D%7Benumerate%7D%7B10%7D%0A%5Csetlist%5Bcontract%5D%7Blabel%2A%3D%5Carabic%2A.%7D%0A%5Csetlistdepth%7B10%7D+%0A%0A%5Csection%2A%7BCustom+list+nested+to+10+levels+deep%21%7D%0A%0A%5Cbegin%7Bcontract%7D%0A%5Citem+Level+1%0A+%5Cbegin%7Bcontract%7D%0A+%5Citem+Level+2%0A+++%5Cbegin%7Bcontract%7D%0A+++%5Citem+Level+3%0A+++++%5Cbegin%7Bcontract%7D%0A+++++%5Citem+Level+4%0A+++++++%5Cbegin%7Bcontract%7D%0A+++++++%5Citem+Level+5%0A++++++++%5Cbegin%7Bcontract%7D%0A++++++++%5Citem+Level+6%0A+++++++++%5Cbegin%7Bcontract%7D%0A+++++++++%5Citem+Level+7%0A++++++++++%5Cbegin%7Bcontract%7D%0A++++++++++%5Citem+Level+8%0A+++++++++++%5Cbegin%7Bcontract%7D%0A+++++++++++%5Citem+Level+9%0A++++++++++++%5Cbegin%7Bcontract%7D%0A++++++++++++%5Citem+Level+10%0A++++++++++%5Cend%7Bcontract%7D%0A+++++++++%5Cend%7Bcontract%7D%0A++++++++%5Cend%7Bcontract%7D%0A+++++++%5Cend%7Bcontract%7D%0A++++++%5Cend%7Bcontract%7D%0A+++++%5Cend%7Bcontract%7D%0A++++%5Cend%7Bcontract%7D%0A+++%5Cend%7Bcontract%7D%0A++%5Cend%7Bcontract%7D%0A+%5Cend%7Bcontract%7D%0A%5Cend%7Bdocument%7D)

この例では次の出力が生成されます:

![10levels.png](/files/c31a4e358f29afc20bbfdec8c8b9dc3236338353)

#### enumitemパッケージとMetaPostを使ったカスタム箇条書き記号

次の例はLuaLaTeXでのみ動作し、可能性の一部を示すためのものです—もちろん、MetaPostはお好みの描画アプリケーション/ツールに置き換えてください！

これらの例では `luamplib` パッケージを使用し、さらに `\the` や `\directlua`のような展開可能なコマンドがMetaPostコード内で使えることも示しています。

**例1：自動サイズ調整の箇条書き記号**

この例では、リストの階層が深くなるほど小さくなる箇条書き記号を生成します。例を実行して完全なコードを表示するには、「Open in Overleaf」リンクをクリックしてください。

```latex
% enumitem を通じて itemize ベースの新しいリストを宣言
\newlist{myEnumerate}{itemize}{6}

% nosep オプションはすべての縦方向の余白を削除します
% label=\protect\mpbullet により、すべての箇条書きが
% MetaPostコードを使うマクロによって描画されます。\protect
% は enumitem マニュアルに記載されているとおり必要です

\setlist[myEnumerate]{nosep,label=\protect\mpbullet}
\setlistdepth{6}

\begin{myEnumerate}
\item レベル1
  \begin{myEnumerate}
   \item レベル2
    \begin{myEnumerate}
     \item レベル3
      \begin{myEnumerate}
       \item レベル4
        \begin{myEnumerate}
         \item レベル5
          \begin{myEnumerate}
           \item レベル6
           \end{myEnumerate}
        \end{myEnumerate}
       \end{myEnumerate}
    \end{myEnumerate}
   \end{myEnumerate}
\end{myEnumerate}
```

[次のものを見るには ***完全なコード***、OverleafでこのLuaLaTeXの例を開いてください。](https://www.overleaf.com/docs?engine=lualatex\&snip_name=Using+MetaPost+with+the+enumitem+package\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bluamplib%7D%0A%5Cusepackage%7Benumitem%7D%0A%5Ceverymplib%7Bbeginfig%280%29%3B%7D%0A%5Ceveryendmplib%7Bendfig%3B%7D%0A%0A%5Cbegin%7Bdocument%7D%0A%0AThis+list+configuration+example+uses+MetaPost+code+that+contains+Lua+code+via+%5Cverb%7C%5Cdirectlua%7C.+Bullets+are+created+by+MetaPost+code%2C+size+is+calculated+from+the+depth+of+the+entry.%0A%0A%25+It+is+convenient+to+use+%5Clet%5Cmpdepth%5C%40listdepth%3A+makes+it+%0A%25+easier+to+use+in+MetaPost+code%0A%0A%5Ccatcode%60%40%3D11%0A%5Clet%5Cmpdepth%5C%40listdepth%0A%5Ccatcode%60%40%3D12%0A%0A%5Cnewcommand%7B%5Cmpbullet%7D%7B%25%0A%5Cbegin%7Bmplibcode%7D%25%0Adraw+%280%2C0%29..%280%2C-%5Cdirectlua%7Btex.print%28%5Cthe%5Cmpdepth%2F2%29%7D%29+withpen+pencircle+scaled+2pt+withcolor+white%3B%0Adrawdot%280%2C0%29+withpen+pencircle+scaled+%5Cdirectlua%7Btex.print%285%2Fmath.sqrt%28%5Cthe%5Cmpdepth%29%29%7Dbp%3B%0A%5Cend%7Bmplibcode%7D%7D%0A%25+Declare+a+new+itemize-based+list+via+enumitem%0A%5Cnewlist%7BmyEnumerate%7D%7Bitemize%7D%7B6%7D%0A%0A%25+The+nosep+option+removes+all+vertical+spacing%0A%25+the+label%3D%5Cprotect%5Cmpbullet+causes+all+bullets+to+be+%0A%25+drawn+by+a+macro+that+uses+MetaPost+code.+%5Cprotect%0A%25+is+required+as+noted+in+the+enumitem+manual+%0A%0A%5Csetlist%5BmyEnumerate%5D%7Bnosep%2Clabel%3D%5Cprotect%5Cmpbullet%7D%0A%5Csetlistdepth%7B6%7D%0A%0A%5Cbegin%7BmyEnumerate%7D%0A%5Citem+Level+1%0A++%5Cbegin%7BmyEnumerate%7D%0A+++%5Citem+Level+2%0A++++%5Cbegin%7BmyEnumerate%7D%0A+++++%5Citem+Level+3%0A++++++%5Cbegin%7BmyEnumerate%7D%0A+++++++%5Citem+Level+4%0A++++++++%5Cbegin%7BmyEnumerate%7D%0A+++++++++%5Citem+Level+5%0A++++++++++%5Cbegin%7BmyEnumerate%7D%0A+++++++++++%5Citem+Level+6%0A+++++++++++%5Cend%7BmyEnumerate%7D%0A++++++++%5Cend%7BmyEnumerate%7D%0A+++++++%5Cend%7BmyEnumerate%7D%0A++++%5Cend%7BmyEnumerate%7D%0A+++%5Cend%7BmyEnumerate%7D%0A%5Cend%7BmyEnumerate%7D%0A%5Cend%7Bdocument%7D)

この例では次の出力が生成されます:

![Autosize.png](/files/15dda10b743cb2426af58bc9dc7ee290be11be3b)

**例2：個性的なカスタム箇条書き記号**

この例は、ある [tex.stackexchange 上の例](https://tex.stackexchange.com/a/313337) に触発されており、OverleafがMetaPostコードを使ってカスタム箇条書き記号を作成するよう改変したものです。例を実行して完全なコードを表示するには、「Open in Overleaf」リンクをクリックしてください。

```latex
\newlist{todolist}{itemize}{2}

\begin{itemize}
  \item 何を達成したいのか考え始める
  \begin{todolist}
  \item[\mpdot] 目的を特定する
  \item[\mpyingyang] 環境への影響のバランスを取る
  \item[\mpsquare{0}{5}{0}] 計画を実施する
    \begin{todolist}
    \item[\mpsquare{-0.5}{4}{0}] 第1段階の計画
    \item[\mpsquare{-0.5}{4}{-20}] 第2段階の計画
    \item[\mpsquare{-0.5}{4}{-40}] 第3段階の計画
    \item[\mpsquare{-0.5}{4}{-60}] 第4段階の計画
    \end{todolist}
  \end{todolist}
\end{itemize}
```

[次のものを見るには ***完全なコード***、OverleafでこのLuaLaTeXの例を開いてください。](https://www.overleaf.com/docs?engine=lualatex\&snip_name=Second+example+using+MetaPost+with+the+enumitem+package\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Benumitem%7D%0A%5Cusepackage%7Bluamplib%7D%0A%5Ceverymplib%7Bbeginfig%280%29%3B%7D%0A%5Ceveryendmplib%7Bendfig%3B%7D%0A%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cnewcommand%7B%5Cmpyingyang%7D%7B%25%0A%5Clower1.5pt%5Chbox%7B%5Cbegin%7Bmplibcode%7D%25%0Apath+p%3B%0Ap%3A%3D%28-1%2C0%29..%280%2C-1%29..%281%2C0%29%3B%0Afill+%28p%7Bup%7D..%7Bdown%7D%280%2C0%29%7Bdown%7D..%7Bup%7Dcycle%29+scaled+0.15cm%3B%0Adraw+%28p..%280%2C1%29..cycle%29+scaled+0.15cm+%3B%0A%5Cend%7Bmplibcode%7D%7D%25%0A%7D%25%0A%5Cnewcommand%7B%5Cmpdot%7D%7B%25%0A%5Clower1.5pt%5Chbox%7B%5Cbegin%7Bmplibcode%7D%25%0Adrawdot%280%2C0%29+withpen+pencircle+scaled+2bp%3B%0Adraw+fullcircle+scaled+0.2cm%3B%0Adraw+fullcircle+scaled+0.3cm%3B%0A%5Cend%7Bmplibcode%7D%7D%25%0A%7D%25%0A%5Cnewcommand%7B%5Cmpsquare%7D%5B3%5D%7B%25%0A%5Clower%231pt%5Chbox%7B%5Cbegin%7Bmplibcode%7D%25%0Adraw+unitsquare+rotated+%233+scaled+%232pt%3B%0A%5Cend%7Bmplibcode%7D%25%0A%7D%7D%25%0A%5Cnewlist%7Btodolist%7D%7Bitemize%7D%7B2%7D%0A%0A%5Cbegin%7Bitemize%7D%0A++%5Citem+Start+thinking+about+what+we+hope+to+achieve%0A++%5Cbegin%7Btodolist%7D%0A++%5Citem%5B%5Cmpdot%5D+Identify+objectives%0A++%5Citem%5B%5Cmpyingyang%5D+Balance+environmental+impact+%0A++%5Citem%5B%5Cmpsquare%7B0%7D%7B5%7D%7B0%7D%5D+Implement+plans%0A++++%5Cbegin%7Btodolist%7D%0A++++%5Citem%5B%5Cmpsquare%7B-0.5%7D%7B4%7D%7B0%7D%5D+Stage+1+plans%0A++++%5Citem%5B%5Cmpsquare%7B-0.5%7D%7B4%7D%7B-20%7D%5D+Stage+2+plans%0A++++%5Citem%5B%5Cmpsquare%7B-0.5%7D%7B4%7D%7B-40%7D%5D+Stage+3+plans%0A++++%5Citem%5B%5Cmpsquare%7B-0.5%7D%7B4%7D%7B-60%7D%5D+Stage+4+plans%0A++++%5Cend%7Btodolist%7D%0A++%5Cend%7Btodolist%7D%0A%5Cend%7Bitemize%7D%0A%5Cend%7Bdocument%7D)

この例では次の出力が生成されます:

![CustomBullets2.png](/files/bb8fbb5a29cbf65b07c7a8a142c04a51474a67fd)

## enumitemパッケージのその他の機能

前述のとおり、 `enumitem` パッケージは非常に多用途で、リストの使用やカスタマイズのための多くの機能を提供します。たとえば、ここで取り上げていない機能には次のようなものがあります:

* リスト項目の参照: たとえば、こちらの [tex.stackexchaneの質問と例](https://tex.stackexchange.com/questions/524822/help-for-formatting-the-ref-of-nested-enumerate)
* 制御する `enumerate` リスト番号付け:
  * 最初の項目の開始番号を設定する
  * 異なる `enumerate` リスト

ほかにもたくさんあります！参照してみてください [tex.stackexchangeで多くの素晴らしい例を見つけてください](https://tex.stackexchange.com/questions/tagged/enumitem) で何ができるか `enumitem`—そしてもちろん、 [パッケージのドキュメントを読む](https://ctan.org/pkg/enumitem).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/ja/latexno/04-lists.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
