> 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/cs/zaklady-latexu/04-lists.md).

# Seznamy

## Tři způsoby, jak vložit seznamy v Overleafu

Overleaf poskytuje 3 způsoby, jak vytvářet seznamy pomocí LaTeXu:

1. Použijte **Vložit odrážkový seznam** (![Image of the menu icon for insert a bulleted list in Overleaf](/files/8ba21a7b87d7855b21bd445f818d35debe75454d)) nebo **Vložit číslovaný seznam** (![Image of the menu icon for insert a numbered list in Overleaf](/files/3046172d3cba1b97556e4680c58f8928b5256985)) na panelu nástrojů editoru pro vložení seznamů do **Vizuální editor** nebo **Editor kódu**.
2. [Vložte formátovaný seznam do **Vizuální editor**](/latex/cs/znalostni-baze/075-how-to-paste-formatted-content-into-overleaf.md#pasteformattedlist).
3. Napište svůj vlastní kód LaTeXu pomocí **Editor kódu**.

Možnosti 1 a 2 jsou navrženy tak, aby automaticky generovaly kód LaTeXu potřebný pro sazbu seznamů. Pro ty, kdo chtějí psát vlastní kód LaTeXu, však může být preferovanou volbou možnost 3. Nabízí největší flexibilitu a je hlavním tématem tohoto článku.

## Úvod

Tento článek poskytuje úvod do sazby a úprav různých typů seznamů v LaTeXu:

* webových stránkách `itemize` prostředí pro vytvoření odrážkového (nečíslovaného) seznamu
* webových stránkách `enumerate` prostředí pro vytvoření číslovaného (řazeného) seznamu
* webových stránkách `popisu` prostředí pro vytvoření seznamu popisů

Sazba seznamů je rozsáhlé téma, protože seznamy v LaTeXu jsou *mimořádně* konfigurovatelné, což umožňuje vytvořit obrovskou škálu typů a struktur seznamů. Projdeme si a předvedeme některé způsoby, které můžete použít k [konfiguraci a úpravě svých seznamů](#customizing-lists).

## Příklady základních seznamů

### Prostředí itemize pro odrážkové (nečíslované) seznamy

Nečíslované (odrážkové) seznamy se vytvářejí pomocí `itemize` prostředí, kde každá položka seznamu začíná použitím `\item` příkazu, který také generuje symbol odrážky.

```latex
Seznamy se vytvářejí snadno:
\begin{itemize}
  \item Položky seznamu začínají příkazem \verb|\item|.
  \item Jednotlivé položky jsou označeny černou tečkou, takzvanou odrážkou.
  \item Text v položkách může mít libovolnou délku.
\end{itemize}
```

[Otevřít tento příklad v Overleafu.](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)

Tento příklad vytvoří následující výstup:

![List1bOLV2.png](/files/a765724c203750324519be5f0e436ad009457e02)

### Prostředí enumerate pro číslované (řazené) seznamy

Číslované (řazené) seznamy mají stejnou syntaxi, ale používají `enumerate` prostředí: každá položka musí předcházet řídicí sekvence `\item`, která automaticky vygeneruje čísla pro označení položky. Tato čísla začínají na 1 při každém použití `enumerate` prostředí — všimněte si, že toto výchozí chování číslování v LaTeXu lze změnit/ovládat pomocí [`enumitem` accents](https://ctan.org/pkg/enumitem).

```latex
Číslované (řazené) seznamy se vytvářejí snadno:
\begin{enumerate}
  \item Položky jsou číslovány automaticky.
  \item Čísla začínají na 1 při každém použití prostředí \texttt{enumerate}.
  \item Další položka v seznamu
\end{enumerate}
```

[Otevřít tento příklad v Overleafu.](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)

Tento příklad vytvoří následující výstup:

![List2OLV2.png](/files/5c5590daf6091a942bf14184acfc2844cc8a2cd8)

### Prostředí description

Následující příklad demonstruje `popisu` prostředí. (Volitelný) štítek pro každou položku je uzavřen do hranatých závorek za `\item` příkazu:

```latex
\item[text štítku] Zde je text vašeho popisu...
```

Také používáme `blindtext` balíček k vygenerování ukázkového anglického textu ve třetí položce. Pro získání angličtiny je třeba použít `babel` balíček s jazykovou volbou `[english]`:

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

Zde je příklad:

```latex
\documentclass{article}
\usepackage[english]{babel} % Pro získání anglického textu pomocí balíčku blindtext
\usepackage{blindtext}
\begin{document}

\begin{description}
   \item Toto je položka \textit{bez} štítku.
   \item[Krátké] Krátký popis na jeden řádek.
   \item[Dlouhé] Mnohem delší popis. \blindtext[1]
\end{description}
\end{document}
```

[Otevřít tento příklad v Overleafu.](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)

Tento příklad vytvoří následující výstup:

![Descriptionlist2.png](/files/77c497db5f8f7ae3f6917b74ec61d2ee59d2b3ba)

## Změna štítku jednotlivých položek

Jak je ukázáno v `popisu` příkladu prostředí, `\item` příkaz přijímá volitelný parametr v hranatých závorkách. Tuto vlastnost můžete použít v `itemize` a `enumerate` prostředích ke změně výchozího štítku jednotlivých položek ve vašem seznamu:

```latex
\item[text štítku] Text vaší položky sem patří...
```

Ta `text štítku` bude použit pro vytvoření štítku této položky.

```latex
Změňte štítky pomocí \verb|\item[text štítku]| v prostředí \texttt{itemize}
\begin{itemize}
  \item Toto je můj první bod
  \item Další bod, který chci uvést
  \item[!] Bod, kterým něco vykřiknu!
  \item[$\blacksquare$] Uveďte bod pěkně a přesně.
  \item[POZNÁMKA] Tato položka nemá odrážku
  \item[] Prázdný štítek?
\end{itemize}

\vspace{10pt}

Změňte štítky pomocí \verb|\item[text štítku]| v prostředí \texttt{enumerate}
\begin{enumerate}
  \item Toto je můj první bod
  \item Další bod, který chci uvést
  \item[!] Bod, kterým něco vykřiknu!
  \item[$\blacksquare$] Uveďte bod pěkně a přesně.
  \item[POZNÁMKA] Tato položka nemá odrážku
  \item[] Prázdný štítek?
\end{enumerate}
```

[Otevřít tento příklad v Overleafu.](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)

Tento příklad vytvoří následující výstup:

![ChangeBullets.png](/files/5fd1c839473c178c212eeac20baca3c2c90b0bce)

## Vnořené seznamy

V LaTeXu můžete vložit seznam do jiného seznamu. Výše uvedené typy seznamů lze vnořovat do sebe navzájem, a to i smíšeně nebo stejného typu, do hloubky 4 úrovní.

```latex
\begin{enumerate}
   \item Štítky se skládají z postupně číslovaných položek
   \begin{itemize}
     \item Jednotlivé položky jsou označeny černou tečkou, takzvanou odrážkou
     \item Text v položkách může mít libovolnou délku
     \begin{description}
     \item[Pozn.:] Zde bych rád popsal něco
     \item[Varování!] A zde uveďme upozornění
     \end{description}
   \end{itemize}
   \item Čísla začínají na 1 při každém použití prostředí \texttt{enumerate}
\end{enumerate}
```

[Otevřít tento příklad v Overleafu.](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)

Tento příklad vytvoří následující výstup:

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

### Vnořené seznamy: styl štítků

Styl štítků položek ve vnořeném seznamu se mění podle hloubky v seznamu. U vnořených `itemize` seznamů se mění typ odrážky; u `enumerate` seznamů se formát čísel mění s rostoucí hloubkou položky. Oba jsou omezeny na hloubku 4 úrovní.

#### Vnořené seznamy enumerate: formát čísel

```latex
\begin{enumerate}
   \item Položka první úrovně
   \item Položka první úrovně
   \begin{enumerate}
     \item Položka druhé úrovně
     \item Položka druhé úrovně
     \begin{enumerate}
       \item Položka třetí úrovně
       \item Položka třetí úrovně
       \begin{enumerate}
         \item Položka čtvrté úrovně
         \item Položka čtvrté úrovně
       \end{enumerate}
     \end{enumerate}
   \end{enumerate}
 \end{enumerate}
```

[Otevřít tento příklad v Overleafu.](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)

Tento příklad vytvoří následující výstup:

![List4OLV2.png](/files/3a0a7d4f7cdae5e50cfa05557022aea7bbc64e18)

#### Vnořené seznamy itemize: styl odrážek

Styl odrážek se mění v závislosti na hloubce vnořených seznamů:

```latex
\begin{itemize}
   \item Položka první úrovně
   \item Položka první úrovně
   \begin{itemize}
     \item Položka druhé úrovně
     \item Položka druhé úrovně
     \begin{itemize}
       \item Položka třetí úrovně
       \item Položka třetí úrovně
       \begin{itemize}
         \item Položka čtvrté úrovně
         \item Položka čtvrté úrovně
       \end{itemize}
     \end{itemize}
   \end{itemize}
 \end{itemize}
```

[Otevřít tento příklad v Overleafu.](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)

Tento příklad vytvoří následující výstup:

![List5OLV2.png](/files/112245d777008bec6bb16ccb9d2f4787503935ce)

## Úprava seznamů

Seznamy v LaTeXu jsou *vysoce* konfigurovatelné, což poskytuje dostatek prostoru pro vytváření mnoha různých typů upravených seznamů. Můžete buď přímo upravovat standardní typy seznamů v LaTeXu, nebo, *ideálně*, použít velmi všestranný [balíček enumitem](https://ctan.org/pkg/enumitem) k tomu.

CTAN hostí řadu [balíčků souvisejících se seznamy](https://ctan.org/topic/list) , které stojí za prozkoumání, pokud máte specifické požadavky na úpravy. Navíc tex.stackexchange poskytuje bohatství [otázek souvisejících se seznamy](https://tex.stackexchange.com/questions/tagged/lists) s odpověďmi, které poskytují užitečné postřehy a skvělé příklady!

Začneme několika příklady, které upravují štítky seznamů, a poté přejdeme k úpravě rozvržení seznamů.

### Úprava seznamů: změna štítků

Nejprve ukážeme, jak změnit označování seznamu bez použití [balíček enumitem](https://ctan.org/pkg/enumitem).

#### Standardní příkazy pro generování štítků

Upravené seznamy lze vytvořit pomocí [enumitem](https://ctan.org/pkg/enumitem) balíčku nebo přímou úpravou standardních seznamů. Zde uvedeme přehled některých standardních příkazů LaTeXu, proměnných čítačů a parametrů seznamu, které může být třeba znát.

Následující tabulka ukazuje příkazy LaTeXu používané pro generování štítků na každé úrovni `itemize` a `enumerate` prostředí seznamu:

|            |                                |                              |
| ---------- | ------------------------------ | ---------------------------- |
| **Úroveň** | **`enumerate`** příkazy štítků | **`itemize`** příkazy štítků |
| Úroveň 1   | `\labelenumi`                  | `\labelitemi`                |
| Úroveň 2   | `\labelenumii`                 | `\labelitemii`               |
| Úroveň 3   | `\labelenumiii`                | `\labelitemiii`              |
| Úroveň 4   | `\labelenumiv`                 | `\labelitemiv`               |

#### Čítačové proměnné pro enumerate

Ta `enumerate` prostředí seznamu používá také čtyři *čítač* proměnné, které sledují aktuální hodnotu štítku pro každou úroveň:

|            |                                   |
| ---------- | --------------------------------- |
| **Úroveň** | **`enumerate`** čítačová proměnná |
| Úroveň 1   | `enumi`                           |
| Úroveň 2   | `enumii`                          |
| Úroveň 3   | `enumiii`                         |
| Úroveň 4   | `enumiv`                          |

#### Příklady: úprava štítků seznamů enumerate

Standardní označování LaTeXu můžete nastavit pomocí `\renewcommand` k předefinování příkazů generujících štítky a pro `enumerate` prostředí můžete také použít příslušnou čítačovou proměnnou.

Zde jsou některé příklady, které to dělají bez použití `enumitem` balíček.

**Praktický příklad**

```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 Jedna
\item Dva
\item Tři
\begin{enumerate}
    \item Tři bod jedna
    \begin{enumerate}
    \item Tři bod jedna, bod jedna
        \begin{enumerate}
        \item Tři bod jedna, bod jedna, bod jedna
        \item Tři bod jedna, bod jedna, bod dva
        \end{enumerate}
    \end{enumerate}
\end{enumerate}
\item Čtyři
\item Pět
\end{enumerate}

\end{document}
```

[Otevřít tento příklad v Overleafu.](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)

Tento příklad vytvoří následující výstup:

![List9OLV2.png](/files/7d156edf737fcc5efa79cfa803762f94842926db)

**Výpis čítačových proměnných**

V předchozím příkladu byl použit příkaz `\arabic` k vysázení aktuální hodnoty různých štítků *čítačových proměnných*. Všimněte si, že „arabské číslice“ a použití příkazu `\arabic`, odkazuje na číslice 0 až 9: podívejte se na tento [článek o arabských číslicích na Wikipedii](https://en.wikipedia.org/wiki/Arabic_numerals) pro další souvislosti.

Obecně lze *čítačová proměnná* vypsat v různých formátech pomocí jednoho z následujících 5 příkazů:

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

Například:

```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}| vytvoří \arabic{foo}
\item \verb|\roman{foo}| vytvoří \roman{foo}
\item \verb|\Roman{foo}| vytvoří \Roman{foo}
\item \verb|\Alph{foo}| vytvoří \Alph{foo}
\item \verb|\alph{foo}| vytvoří \alph{foo}
\end{itemize}

\end{document}
```

[Otevřít tento příklad v Overleafu.](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)

Tento příklad vytvoří následující výstup:

![List8OLV2.png](/files/a00a2e22ccce70863d1e43d92a4bdf3cb5dedf1e)

**Nepraktický (zábavný) příklad**

Tento příklad vysází emoji pomocí barevného fontu OpenType, takže bude *fungovat pouze v LuaLaTeXu*. Viz článek na Overleafu [Přehled technologií podporujících použití barevných emoji fontů v LaTeXu](/latex/cs/clanky-do-hloubky/10-an-overview-of-technologies-supporting-the-use-of-colour-emoji-fonts-in-latex.md) pro více informací o sazbě emoji.

Ačkoli je to jen zábavný příklad, používá LuaLaTeX a ukazuje úpravu všech čtyř příkazů pro generování štítků a použití čítačových proměnných štítků k vytvoření neobvyklého označování... Klikněte na odkaz „Otevřít v Overleafu“ pro zobrazení úplného kódu.

```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 Kachna
\item Více kachen
\item Hejno kachen
\begin{enumerate}
    \item Kachny a vejce
    \begin{enumerate}
    \item Vidím...
    \item Kachny a předkachny
       \begin{enumerate}
       \item Jé...
       \item Tak roztomilé!
       \end{enumerate}
    \end{enumerate}
\end{enumerate}
\item Zpět ke kachnám
\item Znovu
\end{enumerate}
```

[Chcete-li vidět ***úplný kód***, otevřete tento příklad LuaLaTeXu v Overleafu.](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)

Tento příklad vytváří následující výstup

![Ducklist.png](/files/1d057e3ba373ffa809ad787d31da3c8486e9ebff)

### Úprava seznamů: změna rozvržení

Kromě úpravy štítků je možné změnit rozestupy a rozvržení seznamu, ale nejprve musíme znát různé parametry LaTeXu, které určují sazbu a rozvržení seznamů.

#### Parametry seznamu v LaTeXu

Můžete použít [balíček layouts](https://ctan.org/pkg/layouts?lang=en) k vygenerování diagramu, který zobrazuje parametry seznamu v LaTeXu:

```latex
\documentclass{article}
\usepackage{layouts}
\begin{document}
\begin{figure}
\listdiagram
\caption{Parametry \LaTeX{}u, které definují sazbu a rozvržení seznamů.}
\end{figure}
\end{document}
```

[Otevřít tento příklad v Overleafu.](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)

Tento příklad vytvoří následující výstup:

![](/files/c013f1f2da8ce2ff4f1cf9f42cfff4bfb8ab13cb)

Význam těchto parametrů je popsán v [sekci o seznamech v neoficiální referenční příručce LaTeX2e](https://tug.org/texinfohtml/latex2e.html#list) takže jej zde nebudeme reprodukovat.

#### Vytvoření vlastního seznamu pomocí prostředí list

LaTeX poskytuje obecné `prostředí` prostředí, které poskytuje rámec pro vytvoření vlastního typu/typů seznamu. S využitím informací obsažených ve výše uvedeném diagramu je následující příklad mírně upravenou verzí jednoho z příkladů v [sekci seznamů](https://tug.org/texinfohtml/latex2e.html#list) toho [Neoficiální referenční příručka LaTeX2e](https://tug.org/texinfohtml/latex2e.html)

```latex
\documentclass{article}
\begin{document}
\newcounter{boxlblcounter}
\newcommand{\makeboxlabel}[1]{\fbox{#1.}\hfill}% \hfill vyplňuje políčko štítku
\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}{Ahoj, tady je nějaký text bez významu. Ahoj, tady je nějaký text bez významu. Ahoj, tady je nějaký text bez významu.}

\noindent\randomtext

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

[Otevřít tento příklad v Overleafu.](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)

Tento příklad vytvoří následující výstup:

![Listenvironmemt2.png](/files/ff3ed7983eab6efd3334967f125eac0f23fbba6e)

### Použití balíčku enumitem k úpravě a vytváření seznamů

Ta [`enumitem` accents](https://ctan.org/pkg/enumitem?lang=en) je doporučená metoda pro úpravu standardních seznamů v LaTeXu nebo vytváření vlastních formátů seznamů. `enumitem` poskytuje *bohatou škálu* funkcí, takže je nemůžeme všechny pokrýt, ale můžeme uvést několik základních příkladů, které vám pomohou začít. Každému, kdo chce tento všestranný balíček prozkoumat podrobněji, se *důrazně* doporučuje prohlédnout si na tex.stackexchange [otázky, odpovědi (a příklady) týkající se `enumitem` accents](https://tex.stackexchange.com/questions/tagged/enumitem), a přečíst si [dokumentace balíčku](http://mirrors.ctan.org/macros/latex/contrib/enumitem/enumitem.pdf).

#### volbu shortlabels v balíčku enumitem

Ta `enumitem` poskytuje volitelný konfigurační parametr nazvaný `shortlabels` který použijete pomocí

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

Ta `shortlabels` volba napodobuje chování `enumerate` balíčku a poskytuje stručný způsob definování schématu číslování prostředí enumerate. Viz [`enumerate` dokumentace balíčku](https://ctan.org/pkg/enumerate?lang=en) pro další informace.

#### Úprava standardního seznamu

S odkazem na [diagram parametrů LaTeXu](#latex-list-parameters) můžeme použít `enumitem` pro snadnou úpravu standardního seznamu v LaTeXu, jako je `itemize`:

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

\begin{document}

\newcommand{\randomtext}{Ahoj, tady je nějaký text bez významu. Ahoj, tady je nějaký text bez významu.}

\section*{Použití výchozího nastavení LaTeXu pro \texttt{itemize}}

\randomtext

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

\section*{Použití vlastního \texttt{itemize} pomocí \texttt{enumitem}}

\subsection*{Všimněte si účinku nastavení levého a pravého okraje}

\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}
```

[Otevřete tento `enumitem` příklad v 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)

Tento příklad vytvoří následující výstup:

![Tweakitemize2.png](/files/151101eb142965eee50a687debe1a116748c12db)

#### Vytvoření nového seznamu pomocí enumitem

Chcete-li vytvořit nový typ seznamu pomocí `enumitem` použijete `\newlist` příkaz, který vyžaduje 3 argumenty:

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

* **`název`**: název vašeho seznamu, který se použije jako prostředí:

  ```
  \begin{name}
  ...
  \end{name}
  ```
* **`list-type`** to musí být jeden ze standardních typů seznamů v LaTeXu:
* `enumerate`
* `itemize`
* `popisu`
* **`max-depth`**: maximální hloubka, do které bude tento seznam vnořen. **POZNÁMKA** u seznamů, které překračují výchozí limit vnoření 4 v LaTeXu, musíte také zadat příkaz `\setlistdepth{*integer*}` kde `*integer*` je maximální hloubka vnoření, kterou hodláte používat. Viz [příklad Seznamy pro právníky](#lists-for-lawyers-nesting-lists-to-an-arbitrary-depth) pro ukázku toho.

Jakmile vytvoříte nový seznam, můžete jej nakonfigurovat pomocí `\setlist` příkaz.

**Použití \setlist ke konfiguraci vlastního seznamu vytvořeného pomocí enumitem**

V tomto příkladu vytvoříme nový seznam nazvaný `myitems` který je založen na `enumerate`. Nastavíme [`**max-depth**`](#maxdepth) na 3:

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

Minimální požadavek je použít příkaz `\setlist` k definování štítků pro tento vlastní seznam. Jeden způsob, jak to u seznamů založených na enumerate udělat, je použít čítačové proměnné vytvořené `enumitem` balíčkem — tyto čítačové proměnné používají `**název**` vašeho seznamu: `myitems` v našem příkladu.

Zde je ukázka, jak používáme odpovídající proměnné čítačů v naší konfiguraci štítků:

* `myitems**i**` pro položky úrovně 1
* `myitems**ii**` pro položky úrovně 2
* `myitems**iii**` pro položky úrovně 3

Kdybychom měli více než 3 úrovně, odpovídající proměnné čítačů by se jmenovaly `myitems**iv**` (úroveň 4), `myitems**v**` (úroveň 5) a tak dále, přičemž se nadále používají malá římská čísla.

Kromě štítků nastavíme také některé hodnoty pro `leftmargin` a `rightmargin` (viz [diagram parametrů LaTeXu](#latex-list-parameters)).

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

\newcommand{\randomtext}{Ahoj, tady je nějaký text bez významu. Ahoj, tady je nějaký text bez významu.}

\newcommand{\shortrandomtext}{Hello, here is some text.}
% Vytvořte vlastní seznam založený na enumerate
% Nazývá se "myitems"
% Vytvoříme seznam o 3 úrovních vnoření
\newlist{myitems}{enumerate}{3}

% Nakonfigurujte chování položek úrovně 1
% POZNÁMKA: používáme čítač seznamu "myitemsi"
\setlist[myitems, 1]
{label=\arabic{myitemsi}., %1., 2., 3., ...
leftmargin=\parindent,
rightmargin=10pt
}

% Nakonfigurujte chování položek úrovně 2
% POZNÁMKA: používáme čítač seznamu "myitemsii"
\setlist[myitems, 2]
{label=\arabic{myitemsi}.\arabic{myitemsii}, %1.1, 1.2, 1.3...
leftmargin=15pt,
rightmargin=15pt}

% Nakonfigurujte chování položek úrovně 3
% POZNÁMKA: používáme čítač seznamu "myitemsiii"
\setlist[myitems, 3]
% Použijte štítek 1.1:<kern>(a), 1.1:<kern>(b) apod.
{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}
```

[Otevřete tento `enumitem` příklad v 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)

Tento příklad vytvoří následující výstup:

![CustomItemizeList.png](/files/36fdd4aec0521e91722318eb3ac9a3ece13ac511)

#### Seznamy pro právníky: vnořování seznamů do libovolné hloubky

Ta `enumitem` balíček umožňuje vytvářet seznamy, které lze vnořovat do libovolné hloubky, čímž se odstraňuje limit LaTeXu 4. Každý, kdo připravuje smlouvy se složitými (hluboce vnořenými) strukturami ustanovení, by z toho mohl mít užitek, i když ten vnořený kód vypadá trochu zastrašující...

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

\begin{document}

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

\section*{Vlastní seznam zanořený do 10 úrovní hluboko!}

\begin{contract}
\item Úroveň 1
 \begin{contract}
 \item Úroveň 2
   \begin{contract}
   \item Úroveň 3
     \begin{contract}
     \item Úroveň 4
       \begin{contract}
       \item Úroveň 5
        \begin{contract}
        \item Úroveň 6
         \begin{contract}
         \item Úroveň 7
          \begin{contract}
          \item Úroveň 8
           \begin{contract}
           \item Úroveň 9
            \begin{contract}
            \item Úroveň 10
          \end{contract}
         \end{contract}
        \end{contract}
       \end{contract}
      \end{contract}
     \end{contract}
    \end{contract}
   \end{contract}
  \end{contract}
 \end{contract}
\end{document}
```

[Otevřete tento `enumitem` příklad v 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)

Tento příklad vytvoří následující výstup:

![10levels.png](/files/1b54a5a06573c33478267263f0c885cf7bf0cde4)

#### Vlastní odrážky pomocí balíčku enumitem a MetaPostu

Následující příklady fungují pouze s LuaLaTeXem a mají naznačit některé možnosti — MetaPost samozřejmě nahraďte svým preferovaným kreslicím programem/nástrojem!

Tyto příklady používají `luamplib` balíček a také ukazují rozbalitelné příkazy, jako například `\the` a `\directlua`, lze použít uvnitř kódu MetaPostu.

**Příklad 1: automaticky se přizpůsobující odrážky**

Tento příklad vytváří odrážky, které se s rostoucí hloubkou seznamu zmenšují. Klikněte na odkaz „Open in Overleaf“ pro spuštění příkladu a zobrazení celého kódu.

```latex
% Deklarujte nový seznam založený na itemize pomocí enumitem
\newlist{myEnumerate}{itemize}{6}

% Volba nosep odstraní všechny svislé mezery
% volba label=\protect\mpbullet způsobí, že všechny odrážky budou
% vykreslovány makrem, které používá kód MetaPostu. \protect
% je vyžadováno, jak je uvedeno v příručce enumitem

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

\begin{myEnumerate}
\item Úroveň 1
  \begin{myEnumerate}
   \item Úroveň 2
    \begin{myEnumerate}
     \item Úroveň 3
      \begin{myEnumerate}
       \item Úroveň 4
        \begin{myEnumerate}
         \item Úroveň 5
          \begin{myEnumerate}
           \item Úroveň 6
           \end{myEnumerate}
        \end{myEnumerate}
       \end{myEnumerate}
    \end{myEnumerate}
   \end{myEnumerate}
\end{myEnumerate}
```

[Chcete-li vidět ***úplný kód***, otevřete tento příklad LuaLaTeXu v Overleafu.](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)

Tento příklad vytvoří následující výstup:

![Autosize.png](/files/01d48d8ec77ad1cac9c5ffe60c345d7c1789fcd2)

**Příklad 2: originální vlastní odrážky**

Tento příklad byl inspirován [příklad na tex.stackexchange](https://tex.stackexchange.com/a/313337) který Overleaf upravil tak, aby vytvářel vlastní odrážky pomocí kódu MetaPostu. Klikněte na odkaz „Open in Overleaf“ pro spuštění příkladu a zobrazení celého kódu.

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

\begin{itemize}
  \item Začněte přemýšlet o tom, čeho chceme dosáhnout
  \begin{todolist}
  \item[\mpdot] Určete cíle
  \item[\mpyingyang] Vyvažte dopad na životní prostředí
  \item[\mpsquare{0}{5}{0}] Proveďte plány
    \begin{todolist}
    \item[\mpsquare{-0.5}{4}{0}] Plány fáze 1
    \item[\mpsquare{-0.5}{4}{-20}] Plány fáze 2
    \item[\mpsquare{-0.5}{4}{-40}] Plány fáze 3
    \item[\mpsquare{-0.5}{4}{-60}] Plány fáze 4
    \end{todolist}
  \end{todolist}
\end{itemize}
```

[Chcete-li vidět ***úplný kód***, otevřete tento příklad LuaLaTeXu v Overleafu.](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)

Tento příklad vytvoří následující výstup:

![CustomBullets2.png](/files/17ded772fe34cd3158fb4c65b9885ee57c03ed9b)

## Další funkce balíčku enumitem

Jak bylo uvedeno, `enumitem` balíček je mimořádně všestranný a nabízí řadu funkcí pro práci se seznamy a jejich přizpůsobení. Mezi funkce, které jsme nepokryli, patří například:

* odkazování na položky seznamu: například viz toto [otázka a příklad na tex.stackexchane](https://tex.stackexchange.com/questions/524822/help-for-formatting-the-ref-of-nested-enumerate)
* řízení `enumerate` číslování seznamu:
  * nastavit počáteční číslo první položky
  * pokračovat v číslování různých `enumerate` seznamů

A mnohem více! Projděte si [tex.stackexchange a najděte spoustu skvělých příkladů](https://tex.stackexchange.com/questions/tagged/enumitem) toho, co můžete dělat prostřednictvím `enumitem`—a samozřejmě, [si přečtěte dokumentaci balíčku](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/cs/zaklady-latexu/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.
