> 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/formatovani/10-counters.md).

# Čítače

## Úvod do čítačů LaTeXu

Sazba založená na LaTeXu je specializovaná forma programování: používáte sazební jazyk (příkazy LaTeXu) k zadávání „pokynů“, které vedou k výstupu: zkompilovanému dokumentu LaTeX ve formě souboru PDF. Stejně jako u jakéhokoli programování je pravděpodobné, že budete LaTeX potřebovat k dočasnému ukládání celočíselných hodnot pro pozdější opětovné použití ve vašem dokumentu (kódu) — možná budete chtít:

* vysázet tyto uložené celé čísla ve vašem dokumentu
* zajistit automatické číslování určitých prvků vašeho dokumentu
* použít je jako proměnné pro řízení podmíněného kódu (nebo smyček)
* měnit a aktualizovat jejich hodnoty zvyšováním/snižováním o nějakou pevnou hodnotu
* resetovat je na zcela odlišné hodnoty

Takové činnosti zpracovávající celá čísla jsou mimořádně běžné v „běžných“ programovacích jazycích, jako jsou Javascript, C, Lua nebo jakýkoli jiný jazyk podle vašeho výběru, kde obvykle deklarujete (vytvoříte název pro) proměnnou (pro uložení celého čísla) a poté jí přiřadíte hodnotu. Sazební jazyk LaTeX poskytuje podobné možnosti, i když jsou implementovány zcela jiným způsobem, jak si ukážeme níže.

V podstatě je čítač LaTeXu název „proměnné LaTeXu“ používané k ukládání celočíselných hodnot, které lze použít pro výše uvedené činnosti a mnohé další. Samotný LaTeX používá řadu interních čítačů, které zajišťují číslování stránek, oddílů, tabulek, obrázků, odrážkových/číslovaných seznamů apod. Tento článek vysvětluje, jak k těmto čítačům přistupovat, jak je upravovat a jak vytvářet a používat nové.

## Příkazy LaTeXu pro práci s čítači

Zde je seznam příkazů pro čítače v LaTeXu, s odkazy na jejich popis v následujících částech.

Vytváření a zvyšování čítačů:

* [`\newcounter{somecounter}[anothercounter]`](#newcountersomecounteranothercounter)
* [`\setcounter{somecounter}{number}`](#setcountersomecounternumber)
* [`\addtocounter{somecounter}{number}`](#addtocountersomecounternumber)
* [`\stepcounter{somecounter}`](#stepcountersomecounter)
* [`\refstepcounter{somecounter}`](#refstepcountersomecounter)

Přístup k hodnotám čítačů a jejich výpis:

* [`\arabic{somecounter}`](#arabicsomecounter)
* [`\roman{somecounter}`](#romansomecounter)
* [`\Roman{somecounter}`](#romanoutput)
* [`\alph{somecounter}`](#alphsomecounter)
* [`\Alph{somecounter}`](#alphoutput)
* [`\fnsymbol{somecounter}`](#fnsymbolsomecounter)
* [`\value{somecounter}`](#valuesomecounter)

Další příkazy pro čítače:

* [`\counterwithin{somecounter}{anothercounter}`](#counterwithinsomecounteranothercounter)
* [`\counterwithout{somecounter}{anothercounter}`](#counterwithoutsomecounteranothercounter)

### Vytváření a zvyšování čítačů

#### \newcounter{somecounter}\[anothercounter]

Používá se k definování nového čítače. Druhý argument, uzavřený v `[]`, je volitelný, ale pokud se použije, definuje `*somecounter*` jako nový čítač, který se resetuje, když `*anothercounter*` je zvýšen. `\newcounter` se často používá v jednodušší formě `\newcounter{*somecounter*}` což vytvoří `*somecounter*` a inicializuje jej na hodnotu 0.

* **Poznámka**: Pro každý čítač vytvořený příkazem `\newcounter` se *také* definuje příkaz, který lze použít k vysázení hodnoty čítače. Například, `\newcounter{*mycounter*}` definuje příkaz nazvaný `\the*mycounter*`. Příklad je zobrazen v následujícím úryvku kódu LaTeXu, který můžete otevřít v Overleafu jako plně sestavený dokument pomocí uvedeného odkazu:

```latex
\newcounter{mycounter}
\setcounter{mycounter}{42}
Nyní můžete napsat \verb|\themycounter| a získat \themycounter.
```

[Otevřete tento fragment LaTeXu v Overleafu](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+newcounter\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewcounter%7Bmycounter%7D%0A%5Csetcounter%7Bmycounter%7D%7B42%7D%0AYou+can+now+write+%5Cverb%7C%5Cthemycounter%7C+to+obtain+%5Cthemycounter.%0A%5Cend%7Bdocument%7D)

Tento příklad vytváří $$\text{You can now write }\verb|\themycounter|\text{ to obtain 42.}$$

* **Poznámka**: Pokud `*mycounter*` již byl definován, LaTeX vypíše chybu `c@mycounter already defined`, jak ukazuje následující příklad, který můžete otevřít v Overleafu.

```latex
\newcounter{mycounter}
...spousta kódu... ale zapomeneme a znovu napíšeme \verb|\newcounter{mycounter}|
\newcounter{mycounter}
```

[Otevřete tento ***kód generující chybu*** v Overleafu](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+newcounter\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewcounter%7Bmycounter%7D%0A...lots+of+code...+but+we+forget+and+write+%5Cverb%7C%5Cnewcounter%7Bmycounter%7D%7C+again%0A%5Cnewcounter%7Bmycounter%7D%0A%5Cend%7Bdocument%7D)

#### \setcounter{somecounter}{number}

Nastaví `*somecounter*` na hodnotu `*number*`.

* **Poznámka**: `*number*` může být kladné nebo záporné.

Příklad je zobrazen v následujícím úryvku kódu LaTeXu, který můžete otevřít v Overleafu jako plně sestavený dokument pomocí uvedeného odkazu:

```latex
\noindent Vytvořte nový čítač \texttt{myvar} a přiřaďte mu hodnotu \texttt{42}.
\vspace{10pt}

\newcounter{myvar}
\setcounter{myvar}{42}

\noindent Zápis \verb|\themymar| vysází \texttt{\themyvar}.
\vspace{10pt}

\noindent Nyní změníme \texttt{myvar} na \texttt{-42} zápisem \verb|\setcounter{myvar}{-42}|
\setcounter{myvar}{-42}. Nyní zápis \verb|\themyvar| vypíše \texttt{\themyvar}.
```

[Otevřete tento fragment LaTeXu v Overleafu](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+newcounter\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnoindent+Create+a+new+counter+%5Ctexttt%7Bmyvar%7D+and+assign+it+the+value+%5Ctexttt%7B42%7D.%0A%5Cvspace%7B10pt%7D%0A%0A%5Cnewcounter%7Bmyvar%7D%0A%5Csetcounter%7Bmyvar%7D%7B42%7D+%0A%0A%5Cnoindent+Writing+%5Cverb%7C%5Cthemymar%7C+typesets+%5Ctexttt%7B%5Cthemyvar%7D.%0A%5Cvspace%7B10pt%7D%0A%0A%5Cnoindent+Next%2C+we%27ll+change+%5Ctexttt%7Bmyvar%7D+to+%5Ctexttt%7B-42%7D%2C+writing+%5Cverb%7C%5Csetcounter%7Bmyvar%7D%7B-42%7D%7C%0A%5Csetcounter%7Bmyvar%7D%7B-42%7D.+Now%2C+writing+%5Cverb%7C%5Cthemyvar%7C+outputs+%5Ctexttt%7B%5Cthemyvar%7D.%0A%5Cend%7Bdocument%7D)

#### \addtocounter{somecounter}{number}

Zvyšuje čítač `*somecounter*` o hodnotu `*number*`.

* **Poznámka**: `*number*` může být kladné, aby se hodnota čítače zvýšila, nebo záporné, aby se snížila. Například:

```latex
\addtocounter{somecounter}{-1} % snižuje somecounter o 1
```

Příklad je zobrazen v následujícím úryvku kódu LaTeXu, který můžete otevřít v Overleafu jako plně sestavený dokument pomocí uvedeného odkazu:

```latex
\noindent Vytvořte nový čítač \texttt{myvar} a přiřaďte mu hodnotu \texttt{42}.
\vspace{10pt}

\newcounter{myvar}
\setcounter{myvar}{42}

\noindent Zápis \verb|\themymar| vysází \texttt{\themyvar}.
\vspace{10pt}

\noindent Nyní změníme \texttt{myvar} na \texttt{142} zápisem \verb|\addtocounter{myvar}{100}|\addtocounter{myvar}{100}. Nyní zápis \verb|\themyvar| vypíše \texttt{\themyvar}.
```

[Otevřete tento fragment LaTeXu v Overleafu](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+addtocounter\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnoindent+Create+a+new+counter+%5Ctexttt%7Bmyvar%7D+and+assign+it+the+value+%5Ctexttt%7B42%7D.%0A%5Cvspace%7B10pt%7D%0A%0A%5Cnewcounter%7Bmyvar%7D%0A%5Csetcounter%7Bmyvar%7D%7B42%7D+%0A%0A%5Cnoindent+Writing+%5Cverb%7C%5Cthemymar%7C+typesets+%5Ctexttt%7B%5Cthemyvar%7D.%0A%5Cvspace%7B10pt%7D%0A%0A%5Cnoindent+Next%2C+we%E2%80%99ll+change+%5Ctexttt%7Bmyvar%7D+to+%5Ctexttt%7B142%7D+by+writing+%5Cverb%7C%5Caddtocounter%7Bmyvar%7D%7B100%7D%7C%5Caddtocounter%7Bmyvar%7D%7B100%7D.+Now%2C+writing+%5Cverb%7C%5Cthemyvar%7C+outputs+%5Ctexttt%7B%5Cthemyvar%7D.%0A%5Cend%7Bdocument%7D)

#### \stepcounter{somecounter}

Zvyšuje `*somecounter*` o 1. Příklad je zobrazen v následujícím úryvku kódu LaTeXu, který můžete otevřít v Overleafu jako plně sestavený dokument pomocí uvedeného odkazu:

```latex
Pokud vytvoříme nový čítač zápisem \verb|\newcounter{mycounter}|
\newcounter{mycounter}, pak se čítač \texttt{mycounter} vytvoří a
inicializuje na nulu, jak můžete vidět, když napíšete \verb|\themycounter|:
\texttt{mycounter} aktuálně ukládá: \themycounter.

Pokud nyní napíšeme \verb|\stepcounter{mycounter}|\stepcounter{mycounter}, pak
\verb|\themycounter| nyní obsahuje hodnotu \themycounter.
```

[Otevřete tento fragment LaTeXu v Overleafu](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+stepcounter\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AIf+we+create+a+new+counter+by+writing+%5Cverb%7C%5Cnewcounter%7Bmycounter%7D%7C%0A%5Cnewcounter%7Bmycounter%7D+then+the+counter+%5Ctexttt%7Bmycounter%7D+is+created+and+%0Ainitialized+to+zero%2C+as+you+can+see+if+you+write+%5Cverb%7C%5Cthemycounter%7C%3A%0A%5Ctexttt%7Bmycounter%7D+currently+stores%3A+%5Cthemycounter.+%0A%0AIf+we+now+write+%5Cverb%7C%5Cstepcounter%7Bmycounter%7D%7C%5Cstepcounter%7Bmycounter%7D+then+%0A%5Cverb%7C%5Cthemycounter%7C+now+contains+the+value+%5Cthemycounter.%0A%5Cend%7Bdocument%7D)

#### \refstepcounter{somecounter}

Zvyšuje `*somecounter*` o 1 a zpřístupní jej mechanismu odkazování, zároveň nastaví hodnotu tak, abyste mohli použít `\label` následně.

**Příklad používající \refstepcounter**

Následující příklad používá `\refstepcounter` pro vytvoření nového čítače pro `příklad` prostředí a používá `\label` a `\ref` k demonstraci odkazování pomocí `příklad` proměnné čítače.

```latex
\documentclass{article}

\newcounter{example}[section]
\newenvironment{example}[1][]{\refstepcounter{example}\par\medskip
   \noindent\textbf{Příklad~\theexample. #1} \rmfamily}{\medskip}

\begin{document}
\section{Tři příklady}
\begin{example}
V tomto prvním příkladu vytvořte štítek \verb|\label{ex:1}|\label{ex:1}. Toto je první příklad. Čítač \texttt{example} bude na začátku každé nové sekce dokumentu \verb|\section| vynulován.
\end{example}

\begin{example}
A zde je další očíslovaný příklad. Vytvořte druhý \verb|\label{ex:2}|\label{ex:2}, abyste na něj mohli později odkazovat. V příkladu \ref{ex:1} čteme... něco.
\end{example}

\begin{example}
A zde je další očíslovaný příklad: použijte \verb|\theexample| k vysázení čísla aktuálně přiřazeného čítači \texttt{example}: je to \theexample.
\end{example}

\section{Další sekce}
Právě jsme začali novou sekci, což znamená, že čítač \texttt{example} byl nastaven na \theexample.
Budeme odkazovat na příklady z předchozí sekce (Příklady \ref{ex:1} a \ref{ex:2}). Toto je pouze fiktivní sekce bez jakéhokoli účelu kromě textu. Čítač \texttt{section} pro tuto sekci lze vysázet pomocí \verb|\thesection|: aktuálně má přiřazenu hodnotu \thesection.

\begin{example}
Toto je první příklad v této sekci: čítač \texttt{example} byl zvýšen a nyní nastaven na \theexample.
\end{example}
\end{document}
```

[Otevřete tento `\refstepcounter` příklad v Overleafu](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=An+example+using+refstepcounter\&snip=%5Cdocumentclass%7Barticle%7D%0A%0A%5Cnewcounter%7Bexample%7D%5Bsection%5D%0A%5Cnewenvironment%7Bexample%7D%5B1%5D%5B%5D%7B%5Crefstepcounter%7Bexample%7D%5Cpar%5Cmedskip%0A+++%5Cnoindent%5Ctextbf%7BExample%7E%5Ctheexample.+%231%7D+%5Crmfamily%7D%7B%5Cmedskip%7D%0A%0A%5Cbegin%7Bdocument%7D%0A%5Csection%7BThree+examples%7D%0A%5Cbegin%7Bexample%7D%0ACreate+a+label+in+this+first+example+%5Cverb%7C%5Clabel%7Bex%3A1%7D%7C%5Clabel%7Bex%3A1%7D.+This+is+the+first+example.+The+%5Ctexttt%7Bexample%7D+counter+will+be+reset+at+the+start+of+each+new+each+document+%5Cverb%7C%5Csection%7C.%0A%5Cend%7Bexample%7D%0A%0A%5Cbegin%7Bexample%7D%0AAnd+here%27s+another+numbered+example.+Create+a+second+%5Cverb%7C%5Clabel%7Bex%3A2%7D%7C%5Clabel%7Bex%3A2%7D+to+later+reference+this+one.+In+Example+%5Cref%7Bex%3A1%7D+we+read...+something.+%0A%5Cend%7Bexample%7D%0A%0A%5Cbegin%7Bexample%7D%0AAnd+here%27s+another+numbered+example%3A+use+%5Cverb%7C%5Ctheexample%7C+to+typeset+the+number+currently+assigned+to+the+%5Ctexttt%7Bexample%7D+counter%3A+it+is++%5Ctheexample.%0A%5Cend%7Bexample%7D%0A%0A%5Csection%7BAnother+section%7D%0AWe%27ve+just+started+a+new+section+meaning+that+the++%5Ctexttt%7Bexample%7D+counter+has+been+set+to+%5Ctheexample.++%0AWe%27ll+reference+examples+from+the+previous+section+%28Examples+%5Cref%7Bex%3A1%7D+and+%5Cref%7Bex%3A2%7D%29.++This+is+a+dummy+section+with+no+purpose+whatsoever+but+to+contain+text.+The+%5Ctexttt%7Bsection%7D+counter+for+this+section+can+be+typeset+using+%5Cverb%7C%5Cthesection%7C%3A+it+is++currently+assigned+the+value+of+%5Cthesection.%0A%0A%5Cbegin%7Bexample%7D%0AThis+is+the+first+example+in+this+section%3A+the+%5Ctexttt%7Bexample%7D+counter+has+been+stepped+and+now+set+to+%5Ctheexample.+%0A%5Cend%7Bexample%7D%0A%5Cend%7Bdocument%7D)

**Shrnutí kódu**

V tomto příkladu je nové prostředí `příklad` definováno; toto prostředí má 3 příkazy specifické pro čítače:

* `\newcounter{example}[section]`: Vytvoří nový čítač s názvem `příklad` který se vynuluje na 0 pokaždé, když se `sekce` čítač zvýší. Místo něj můžete zadat jakýkoli jiný čítač `sekce` nebo parametr vynechat, pokud nechcete, aby se váš čítač automaticky resetoval.
* `\refstepcounter{example}`: Zvyšuje `příklad` čítač o 1 a zpřístupní jej mechanismu odkazování, takže můžete použít `\label` následně.
* `\theexample`: Vypíše aktuální hodnotu čítače `příklad`.

Další informace o uživatelsky definovaných prostředích viz [článek o definování nových prostředí](/latex/cs/prikazy/02-environments.md#defining-a-new-environment)

### Přístup k hodnotám čítačů a jejich výpis

Následující výklady vycházejí z výchozího nastavení LaTeXu před jakýmikoli úpravami provedenými balíčky načtenými uživatelem.

#### \arabic{somecounter}

Vypíše reprezentaci `*somecounter*` jako arabské číslice: 1, 2, 3...

#### \roman{somecounter}

Vypíše reprezentaci `*somecounter*` jako malé římské číslo: i, ii, iii...

* **Poznámka**: Pokud `*somecounter*` $$\leq$$ `0` nevytvoří se žádný výstup. Navíc převod *mimořádně* velkých celočíselných hodnot na malá římská čísla může trvat dlouho — a vytvoří dlouhou posloupnost `m` znaků (představujících číslo `1000`).
* **TIP**: Pokud vás zajímá algoritmus, který TeX používá k převodu arabských čísel na římské číslice, můžete si o něm přečíst tento článek o [Algoritmy pro římské číslice](https://www.hanshq.net/roman-numerals.html#tex).

#### \Roman{somecounter}

Vypíše reprezentaci `*somecounter*` jako velké římské číslo: I, II, III...

* **Poznámka**: Pokud `*somecounter*` $$\leq$$ `0` nevytvoří se žádný výstup. Navíc převod *mimořádně* převod velkých celočíselných hodnot na velká římská čísla může trvat dlouho — a vytvoří dlouhou posloupnost `M` znaků (představujících číslo `1000`).
* **TIP**: Pokud vás zajímá algoritmus, který TeX používá k převodu arabských čísel na římské číslice, můžete si o něm přečíst tento článek o [Algoritmy pro římské číslice](https://www.hanshq.net/roman-numerals.html#tex).

#### \alph{somecounter}

Vypíše reprezentaci `*somecounter*` jako malé písmeno, kde a=1, b=2, c=3...

* **Poznámka**: `*somecounter*` musí být v rozmezí `1` $$\leq$$ `*somecounter*` $$\leq$$ `26`, jinak vyvolá chybu `! Chyba LaTeXu: Čítač je příliš velký.`

#### \Alph{somecounter}

Vypíše reprezentaci `*somecounter*` jako velké písmeno, kde A=1, B=2, C=3...

* **Poznámka**: `*somecounter*` musí být v rozmezí `1` $$\leq$$ `*somecounter*` $$\leq$$ `26`, jinak vyvolá chybu `! Chyba LaTeXu: Čítač je příliš velký.`

#### \fnsymbol{somecounter}

Vypíše reprezentaci `*somecounter*` jako symbol poznámky pod čarou, kde 1 =∗, 2 =†...

* **Poznámka**: `*somecounter*` musí být v rozmezí `1` $$\leq$$ `*somecounter*` $$\leq$$ `9`, jinak vyvolá chybu `! Chyba LaTeXu: Čítač je příliš velký.`

|                         |                                  |
| ----------------------- | -------------------------------- |
| Hodnota `*somecounter*` | Znak vysázený pomocí `\fnsymbol` |
| 1                       | \*                               |
| 2                       | †                                |
| 3                       | ‡                                |
| 4                       | §                                |
| 5                       | ¶                                |
| 6                       | ∥                                |
| 7                       | ∗∗                               |
| 8                       | ††                               |
| 9                       | ‡‡                               |

#### Příklad výpisu hodnot čítačů

Následující příklad ukazuje použití příkazů `\arabic{*somecounter*}`, `\roman{*somecounter*}`, `\Roman{*somecounter*}`, `\alph{*somecounter*}`, `\Alph{*somecounter*}`, a `\fnsymbol{*somecounter*}`.

```latex
\newcounter{somecounter}
\setcounter{somecounter}{9}
\begin{itemize}
    \item \verb|\arabic{somecounter}| vysází hodnotu čítače \texttt{somecounter} \thesomecounter{} jako \arabic{somecounter}
    \item \verb|\roman{somecounter}| vysází hodnotu čítače \texttt{somecounter} \thesomecounter{} jako \roman{somecounter}
    \item \verb|\Roman{somecounter}| vysází hodnotu čítače \texttt{somecounter} \thesomecounter{} jako \Roman{somecounter}
    \item \verb|\alph{somecounter}| vysází hodnotu čítače \texttt{somecounter} \thesomecounter{} jako \alph{somecounter}
   \item \verb|\Alph{somecounter}| vysází hodnotu čítače \texttt{somecounter} \thesomecounter{} jako \Alph{somecounter}
    \item \verb|\fnsymbol{somecounter}| vysází hodnotu čítače \texttt{somecounter} \thesomecounter{} jako \fnsymbol{somecounter}
\end{itemize}
```

[Otevřete tento fragment LaTeXu v Overleafu](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Converting+counter+values\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewcounter%7Bsomecounter%7D%0A%5Csetcounter%7Bsomecounter%7D%7B9%7D%0A%5Cbegin%7Bitemize%7D%0A++++%5Citem+%5Cverb%7C%5Carabic%7Bsomecounter%7D%7C+typesets+the+%5Ctexttt%7Bsomecounter%7D+value+of++%5Cthesomecounter%7B%7D+as+%5Carabic%7Bsomecounter%7D+%0A++++%5Citem+%5Cverb%7C%5Croman%7Bsomecounter%7D%7C+typesets+the+%5Ctexttt%7Bsomecounter%7D+value+of++%5Cthesomecounter%7B%7D+as++%5Croman%7Bsomecounter%7D%0A++++%5Citem+%5Cverb%7C%5CRoman%7Bsomecounter%7D%7C+typesets+the+%5Ctexttt%7Bsomecounter%7D+value+of++%5Cthesomecounter%7B%7D+as++%5CRoman%7Bsomecounter%7D%0A++++%5Citem+%5Cverb%7C%5Calph%7Bsomecounter%7D%7C+typesets+the+%5Ctexttt%7Bsomecounter%7D+value+of++%5Cthesomecounter%7B%7D+as++%5Calph%7Bsomecounter%7D%0A+++%5Citem+%5Cverb%7C%5CAlph%7Bsomecounter%7D%7C+typesets+the+%5Ctexttt%7Bsomecounter%7D+value+of++%5Cthesomecounter%7B%7D+as++%5CAlph%7Bsomecounter%7D%0A++++%5Citem+%5Cverb%7C%5Cfnsymbol%7Bsomecounter%7D%7C+typesets+the+%5Ctexttt%7Bsomecounter%7D+value+of++%5Cthesomecounter%7B%7D+as++%5Cfnsymbol%7Bsomecounter%7D%0A%5Cend%7Bitemize%7D%0A%5Cend%7Bdocument%7D)

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

![Příklad převodu čítačů v LaTeXu](/files/41854bcb4fe04d2b21cfebe743240637b04f853b)

#### \value{somecounter}

Účel tohoto příkazu, jak je popsán ve zdrojovém kódu LaTeXu, je „Pro přístup k hodnotě čítače jako k číslu TeXu“: tj. použijete `\value{somecounter}` v situacích, kdy LaTeX očekává zpracování číselné hodnoty.

**(Volitelné) doplňující poznámky k příkazu \value**

Svádí to myslet si, že příkaz `\value{*somecounter*}` bude *přímo* vysází hodnotu `*somecounter*`, ale není to tak. Je určen pro použití uvnitř jiných příkazů k přístupu k hodnotě čítače jako k číslu TeXu, na rozdíl od příkazu `\thesomecounter` který vytváří vytištěnou reprezentaci `*somecounter*`.

Ve zdrojovém kódu LaTeXu, `\value` je definován takto:

```latex
\def\value#1{\csname c@#1\endcsname}
```

V důsledku toho, `\value{*somecounter*}` vytvoří instanci vnitřní řídicí posloupnosti LaTeXu `\c@somecounter` která obsahuje hodnotu čítače `*somecounter*`.

**Příklad**

Následující příklad ukazuje jeden základní případ použití `\value`.

```latex
\noindent Začněte deklarací dvou nových čítačů:
\begin{verbatim}
\newcounter{first}
\newcounter{second}
\end{verbatim}

\newcounter{first}
\newcounter{second}

\noindent O něco později v kódu nastavíte jejich hodnoty:
\begin{verbatim}
\setcounter{first}{100}
\setcounter{second}{50}
\end{verbatim}

\setcounter{first}{100}
\setcounter{second}{50}
\noindent Potom napíšete další kód \LaTeXu{}...\vspace{10pt}

\noindent V určité chvíli bychom mohli chtít přičíst hodnotu čítače \texttt{second} k čítači \texttt{first}. Jedním ze způsobů je použít \verb|\value| k získání \textit{aktuální} hodnoty uložené v čítači \texttt{second}:

\begin{verbatim}
\addtocounter{first}{\value{second}}
\end{verbatim}

\addtocounter{first}{\value{second}}\noindent Hodnotu čítače \texttt{first} lze vypsat pomocí \verb|\thefirst|: \thefirst. Můžeme také napsat \verb|\the\value{first}|, což také vysází \the\value{first}. Zápis \verb|\value{first}| však vyvolá chybu \texttt{Missing number, treated as zero}, protože \LaTeX{} se pak pokusí spustit interní příkaz \verb|\c@first|. Odkomentujte následující řádek, aby se chyba vyvolala:
\begin{verbatim}
%\value{first}
\end{verbatim}
%\value{first}
```

[Otevřete tento fragment kódu v Overleafu](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+the+value+command\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnoindent+Start+by+declaring+two+new+counters%3A%0A%5Cbegin%7Bverbatim%7D%0A%5Cnewcounter%7Bfirst%7D%0A%5Cnewcounter%7Bsecond%7D++++%0A%5Cend%7Bverbatim%7D%0A%0A%5Cnewcounter%7Bfirst%7D%0A%5Cnewcounter%7Bsecond%7D%0A%0A%5Cnoindent+Sometime+later+in+your+code+you+set+their+values%3A%0A%5Cbegin%7Bverbatim%7D%0A%5Csetcounter%7Bfirst%7D%7B100%7D%0A%5Csetcounter%7Bsecond%7D%7B50%7D++++%0A%5Cend%7Bverbatim%7D%0A%0A%5Csetcounter%7Bfirst%7D%7B100%7D%0A%5Csetcounter%7Bsecond%7D%7B50%7D++%0A%5Cnoindent+Then+you+write+more+%5CLaTeX%7B%7D+code...%5Cvspace%7B10pt%7D%0A%0A%5Cnoindent+At+some+point+we+might+want+to+add+the+value+of+counter+%5Ctexttt%7Bsecond%7D+to+counter+%5Ctexttt%7Bfirst%7D.+One+way+to+do+that+is+using+%5Cverb%7C%5Cvalue%7C+to+obtain+the+%5Ctextit%7Bcurrent%7D+value+stored+in+the+%5Ctexttt%7Bsecond%7D+counter%3A%0A%0A%5Cbegin%7Bverbatim%7D%0A%5Caddtocounter%7Bfirst%7D%7B%5Cvalue%7Bsecond%7D%7D%0A%5Cend%7Bverbatim%7D%0A%0A%5Caddtocounter%7Bfirst%7D%7B%5Cvalue%7Bsecond%7D%7D%5Cnoindent+The+value+of+%5Ctexttt%7Bfirst%7D+can+be+output+by+%5Cverb%7C%5Cthefirst%7C%3A+%5Cthefirst.+We+can+also+write+%5Cverb%7C%5Cthe%5Cvalue%7Bfirst%7D%7C+which+also+typesets+%5Cthe%5Cvalue%7Bfirst%7D.+However%2C++writing+%5Cverb%7C%5Cvalue%7Bfirst%7D%7C+will+generate+the+error+%5Ctexttt%7BMissing+number%2C+treated+as+zero%7D+because+%5CLaTeX%7B%7D+then+tries+to+execute+the+internal+command+%5Cverb%7C%5Cc%40first%7C.+Uncomment+the+following+line+to+generate+the+error%3A%0A%5Cbegin%7Bverbatim%7D%0A%25%5Cvalue%7Bfirst%7D%0A%5Cend%7Bverbatim%7D%0A%25%5Cvalue%7Bfirst%7D%0A%5Cend%7Bdocument%7D)

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

![Příklad používající příkaz \value](/files/00d004e82fafebce767b49efbc29738cdd6400ba)

### Další příkazy pro čítače

Zde popisujeme příkazy `\counterwithin` a `\counterwithout` které vznikly v balíčku [`chngcntr` accents](https://ctan.org/pkg/chngcntr) ale nyní byly integrovány přímo do LaTeXu — viz [LaTeX News, duben 2018](https://www.latex-project.org/news/latex2e-news/ltnews28.pdf). Balíček `chngcntr` [dokumentace balíčku](https://mirror.ox.ac.uk/sites/ctan.org/macros/latex/contrib/chngcntr/chngcntr.pdf) uvádí následující poznámky, které pomáhají pochopit účel těchto příkazů:

Zapnuto `\counterwithin`:

> Někdy je žádoucí změnit čítač, který byl definován pomocí `\newcounter{<ctr>}` tak, aby se choval, jako by byl definován jako `\newcounter{<ctr>}[<within>]`. Balíček poskytuje příkaz `\counterwithin{<ctr>}{<within>}` který to umožňuje.

Zapnuto `\counterwithout`:

> Podobně příkaz `\counterwithout{<ctr>}{<within>}` změní čítač, který byl vytvořen pomocí `\newcounter{<ctr>}[<within>]` tak, aby se choval, jako by byl vytvořen pomocí `\newcounter{<ctr>}`.

Tyto dva příkazy v podstatě poskytují způsob, jak propojit (`\counterwithin`) nebo odpojit (`\counterwithout`) dva čítače poté, co byly definovány.

**\counterwithin{somecounter}{anothercounter}**

Resetuje `*somecounter*` na 0 vždy, když `*anothercounter*` je zvýšen, což je mechanismus, který propojuje oba čítače. Kromě vytvoření propojení tento příkaz předefinuje, co je vysázeno pomocí `\the*somecounter*`: místo výpisu hodnoty čítače `*somecounter*` vytváří `<value of anothercounter>**.**<value of somecounter>`. Hvězdičková podoba (`\counterwithin*{somecounter}{anothercounter}`) nepředefinuje formát výpisu `*somecounter*`, jak ukazuje následující příklad — pomocí odkazu pod kódem jej otevřete v Overleafu:

```latex
\documentclass{article}
\begin{document}
\section{Krátký příklad}
\newcounter{example}
\counterwithin{example}{section}
\newcounter{exampletwo}
\counterwithin*{exampletwo}{section}
\setcounter{example}{100}
\setcounter{exampletwo}{100}
\begin{itemize}
\item \verb|\theexample| vysází \theexample
\item \verb|\theexampletwo| vysází \theexampletwo
\end{itemize}
\end{document}
```

[Otevřete tento `\counterwithin` příklad v Overleafu](https://www.overleaf.com/docs?engine=\&snip_name=Example+of+starred+version+of+counterwithin\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csection%7BA+short+example%7D%0A%5Cnewcounter%7Bexample%7D%0A%5Ccounterwithin%7Bexample%7D%7Bsection%7D%0A%5Cnewcounter%7Bexampletwo%7D%0A%5Ccounterwithin%2A%7Bexampletwo%7D%7Bsection%7D%0A%5Csetcounter%7Bexample%7D%7B100%7D%0A%5Csetcounter%7Bexampletwo%7D%7B100%7D%0A%5Cbegin%7Bitemize%7D%0A%5Citem+%5Cverb%7C%5Ctheexample%7C+typesets+%5Ctheexample%0A%5Citem+%5Cverb%7C%5Ctheexampletwo%7C+typesets+%5Ctheexampletwo%0A%5Cend%7Bitemize%7D%0A%5Cend%7Bdocument%7D)

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

![Použití příkazu \counterwithin](/files/bcbccc381b7c86c0fab9f50234aa286633dcea58)

Můžete použít `\counterwithin` se standardními čítači poskytovanými LaTeXem, například:

* `sekce`: používáno `\section` příkaz
* `equation` používáno `equation` prostředí

nebo s čítači, které jste vytvořili.

**Příklad \counterwithin a \counterwithin\***

Následující kód poskytuje úplnější příklad použití `\counterwithin` a `\counterwithin*`; pomocí odkazu pod kódem jej otevřete v Overleafu:

```latex
\documentclass{article}
\counterwithin{equation}{section}
\newcounter{example}
\counterwithin*{example}{section}
\newenvironment{example}[1][]{%
\stepcounter{example}%
\par\vspace{5pt}\noindent
\fbox{\textbf{Příklad~\thesection.\theexample}}%
\hrulefill\par\vspace{10pt}\noindent\rmfamily}%
{\par\noindent\hrulefill\vrule width10pt height2pt depth2pt\par}
\begin{document}
\section{První rovnice}
Nějaký úvodní text...
\begin{example}
\begin{equation}
    f(x)=\frac{x}{1+x^2}
\end{equation}
\end{example}

\subsection{Více podrobností}
\begin{example}
Zde rozebíráme
\begin{equation}
    f(x)=\frac{x+1}{x-1}
\end{equation}
... ale nic neříkejte
\end{example}

\subsubsection{Ještě více podrobností}
\begin{example}
\begin{equation}
    f(x)=\frac{x^2}{1+x^3}
\end{equation}
\begin{equation}
    f(x+\delta x)=\frac{(x+\delta x)^2}{1+(x+\delta x)^3}
\end{equation}
\end{example}

\section{Třetí rovnice}
\begin{example}
Následující funkce...
\begin{equation}
    f_1(x)=\frac{x+1}{x-1}
\end{equation}
..je funkce
\begin{equation}
    f_2(x)=\frac{x^2}{1+x^3}
\end{equation}
\begin{equation}
    f_3(x)=\frac{3+ x^2}{1-x^3}
\end{equation}
\end{example}
\end{document}
```

[Otevřete tento `\counterwithin` příklad v Overleafu](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+of+using+counterwithin\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Ccounterwithin%7Bequation%7D%7Bsection%7D%0A%5Cnewcounter%7Bexample%7D%0A%5Ccounterwithin%2A%7Bexample%7D%7Bsection%7D%0A%5Cnewenvironment%7Bexample%7D%5B1%5D%5B%5D%7B%25%0A%5Cstepcounter%7Bexample%7D%25%0A%5Cpar%5Cvspace%7B5pt%7D%5Cnoindent%0A%5Cfbox%7B%5Ctextbf%7BExample%7E%5Cthesection.%5Ctheexample%7D%7D%25%0A%5Chrulefill%5Cpar%5Cvspace%7B10pt%7D%5Cnoindent%5Crmfamily%7D%25%0A%7B%5Cpar%5Cnoindent%5Chrulefill%5Cvrule+width10pt+height2pt+depth2pt%5Cpar%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csection%7BFirst+equation%7D%0ASome+introductory+text...%0A%5Cbegin%7Bexample%7D%0A%5Cbegin%7Bequation%7D%0A++++f%28x%29%3D%5Cfrac%7Bx%7D%7B1%2Bx%5E2%7D%0A%5Cend%7Bequation%7D%0A%5Cend%7Bexample%7D%0A%0A%5Csubsection%7BMore+detail%7D%0A%5Cbegin%7Bexample%7D%0AHere+we+discuss%0A%5Cbegin%7Bequation%7D%0A++++f%28x%29%3D%5Cfrac%7Bx%2B1%7D%7Bx-1%7D%0A%5Cend%7Bequation%7D%0A...+but+don%27t+say+anything%0A%5Cend%7Bexample%7D%0A%0A%5Csubsubsection%7BEven+more+detail%7D%0A%5Cbegin%7Bexample%7D%0A%5Cbegin%7Bequation%7D%0A++++f%28x%29%3D%5Cfrac%7Bx%5E2%7D%7B1%2Bx%5E3%7D%0A%5Cend%7Bequation%7D%0A%5Cbegin%7Bequation%7D%0A++++f%28x%2B%5Cdelta+x%29%3D%5Cfrac%7B%28x%2B%5Cdelta+x%29%5E2%7D%7B1%2B%28x%2B%5Cdelta+x%29%5E3%7D%0A%5Cend%7Bequation%7D%0A%5Cend%7Bexample%7D%0A%0A%5Csection%7BThird+equation%7D%0A%5Cbegin%7Bexample%7D%0AThe+following+function...%0A%5Cbegin%7Bequation%7D%0A++++f_1%28x%29%3D%5Cfrac%7Bx%2B1%7D%7Bx-1%7D%0A%5Cend%7Bequation%7D%0A..is+a+function%0A%5Cbegin%7Bequation%7D%0A++++f_2%28x%29%3D%5Cfrac%7Bx%5E2%7D%7B1%2Bx%5E3%7D%0A%5Cend%7Bequation%7D%0A%5Cbegin%7Bequation%7D%0A++++f_3%28x%29%3D%5Cfrac%7B3%2B+x%5E2%7D%7B1-x%5E3%7D%0A%5Cend%7Bequation%7D%0A%5Cend%7Bexample%7D%0A%5Cend%7Bdocument%7D)

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

![Použití příkazu \counterwithin](/files/883d13f8802c1f9b750aec67725c2ef9ef7daeab)

**Shrnutí kódu**

* `\newcounter{example}`: Tím se vytvoří nový čítač pro použití v našem prostředí, také nazvaný `příklad`
* `\counterwithin*{example}{section}`: Tím se propojí náš `příklad` čítač s `sekce` čítačem používaným uvnitř příkazu `\section` příkazu: pokaždé, když zadáme `\section` příkaz, je `příklad` čítač vynulován na nulu. Všimněte si, že jsme použili hvězdičkovou verzi `\counterwithin*` abychom zabránili předefinování `\theexample`
* Dále vytvoříme nové prostředí také nazvané `příklad`. V tomto prostředí používáme `\stepcounter{example}` k inkrementaci čítače prostředí. Také si všimněte, že píšeme `\textbf{Příklad~\thesection.\theexample}` k výpisu **Příklad** `<section number>.<example number>`

```latex
\newenvironment{example}[1][]{%
\stepcounter{example}%
\par\vspace{5pt}\noindent
\fbox{\textbf{Příklad~\thesection.\theexample}}%
\hrulefill\par\vspace{10pt}\noindent\rmfamily}%
{\par\noindent\hrulefill\vrule width10pt height2pt depth2pt}
```

**\counterwithout{somecounter}{anothercounter}**

`\counterwithout{*somecounter*}{*anothercounter*}` odstraní propojení mezi `*somecounter*` a `*anothercounter*` takže jsou nezávislé. Pro libovolnou dvojici čítačů můžete přepínat mezi použitím `\counterwithout` a `\counterwithin`, jak ukazuje následující příklad pro `příklad` a `sekce` čítače — tento příklad můžete v Overleafu otevřít pomocí odkazu uvedeného pod kódem.

```latex
\section{První rovnice}
\begin{example}
\begin{equation}
    f(x)=\frac{x}{1+x^2}
\end{equation}
\end{example}

\subsection{Druhá rovnice}
\begin{example}
\begin{equation}
    f(x)=\frac{x+1}{x-1}
\end{equation}
\end{example}
\vspace{6pt}\noindent Všimněte si, jak je čítač \texttt{example} na začátku sekce \ref{sec:n0} vynulován.
\section{Třetí rovnice}
\label{sec:n0}
\begin{example}
\begin{equation}
    f(x)=\frac{x+1}{x-1}
\end{equation}
\end{example}
\vspace{6pt}\noindent Zde jsme napsali \verb|\counterwithout{example}{section}|, takže \texttt{example} se již na začátku sekce neresetuje. V sekcích \ref{sec:n1} a \ref{sec:n2} čítač \texttt{example} dál roste. \counterwithout{example}{section}
\section{Čtvrtá rovnice}
\label{sec:n1}
\begin{example}
\begin{equation}
    f(x)=\frac{x^2+x^3}{1+x^3}
\end{equation}
\end{example}
\section{Pátá rovnice}
\label{sec:n2}
\begin{example}
\begin{equation}
    f(x,k)=\frac{x^2-x^k}{1+x^3}
\end{equation}
\end{example}
```

[Otevřete tento `\counterwithout` příklad v Overleafu](<https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+of+using+counterwithout\&snip=\documentclass{article}&#xA;\counterwithin{equation}{section}&#xA;\newcounter{example}&#xA;\counterwithin*{example}{section}&#xA;\newenvironment{example}\[1]\[]{%&#xA;\stepcounter{example}%&#xA;\par\vspace{3pt}\noindent&#xA;\fbox{\textbf{Example~\thesection.\theexample}}%&#xA;\hrulefill\par\vspace{3pt}\noindent\rmfamily}%&#xA;{\par\noindent\hrulefill\vrule+width10pt+height2pt+depth2pt\par}&#xA;\begin{document}&#xA;\section{First+equation}&#xA;\begin{example}&#xA;\begin{equation}&#xA;++++f(x)=\frac{x}{1+x^2}&#xA;\end{equation}&#xA;\end{example}&#xA;&#xA;\subsection{Second+equation}&#xA;\begin{example}&#xA;\begin{equation}&#xA;++++f(x)=\frac{x+1}{x-1}&#xA;\end{equation}&#xA;\end{example}&#xA;\vspace{6pt}\noindent+Note+how+the+\texttt{example}+counter+is+reset+at+the+start+Section+\ref{sec:n0}.+&#xA;\section{Third+equation}&#xA;\label{sec:n0}&#xA;\begin{example}&#xA;\begin{equation}&#xA;++++f(x)=\frac{x+1}{x-1}&#xA;\end{equation}&#xA;\end{example}&#xA;\vspace{6pt}\noindent+Here,+we+wrote+\verb|\counterwithout{example}{section}|+so+that+\texttt{example}+is+no+longer+reset+at+the+start+of+a+section.+In+Sections+\ref{sec:n1}+and+\ref{sec:n2}+the+\texttt{example}+counter+keeps+increasing.+\counterwithout{example}{section}&#xA;\section{Fourth+equation}&#xA;\label{sec:n1}&#xA;\begin{example}&#xA;\begin{equation}&#xA;++++f(x)=\frac{x^2+x^3}{1+x^3}&#xA;\end{equation}&#xA;\end{example}&#xA;\section{Fifth+equation}&#xA;\label{sec:n2}&#xA;\begin{example}&#xA;\begin{equation}&#xA;++++f(x,k)=\frac{x^2-x^k}{1+x^3}&#xA;\end{equation}&#xA;\end{example}&#xA;\end{document}>)

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

![Použití příkazu counterwithout](/files/dd095a693aa2da37c4cc660af3e56897ea2e6341)

## Příklad

### enumerate

Ta `enumerate` prostředí list používá č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`                          |

Tyto čítače lze změnit pomocí příkazu `\setcounter` Příkaz. Viz níže uvedený příklad — který nemusí být nutně tím nejlepším řešením (viz [Overleaf uvádí](/latex/cs/zaklady-latexu/04-lists.md) článek pro více informací):

```latex
Tento příklad ukazuje jeden ze způsobů, jak změnit číslování seznamu; zde se změnou hodnoty čítače \texttt{enumi} na začátek číslování seznamu od 4 (příkaz \verb|\item| jej zvyšuje):

\begin{enumerate}
\setcounter{enumi}{3}
\item Něco.
\item Něco jiného.
\item Další prvek.
\item Poslední položka v seznamu.
\end{enumerate}
```

[Otevřete tento příklad v Overleafu](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Modifying+an+enumerate+counter\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csection%7BIntroduction%7D%0AThis+example+shows+one+way+to+change+the+numbering+of+a+list%3B+here%2C+changing+the+value+of+the+%5Ctexttt%7Benumi%7D+counter+to+start+the+list+numbering+at+4+%28it+is+incremented+by+the+%5Cverb%7C%5Citem%7C+command%29%3A%0A%0A%5Cbegin%7Benumerate%7D%0A%5Csetcounter%7Benumi%7D%7B3%7D%0A%5Citem+Something.%0A%5Citem+Something+else.%0A%5Citem+Another+element.%0A%5Citem+The+last+item+in+the+list.%0A%5Cend%7Benumerate%7D%0A%5Cend%7Bdocument%7D)

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

![Úprava čítače enumerate](/files/6277da9bc713de1b235fcb6d95953c85a45f0057)

## Výchozí čítače v LaTeXu

| Použití                   | Název                                                                                                                 |
| ------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| Pro strukturu dokumentu   | <p>- part<br>- chapter<br>- section<br>- subsection<br>- subsubsection<br>- paragraph<br>- subparagraph<br>- page</p> |
| Pro plovoucí objekty      | <p>- equation<br>- figure<br>- table</p>                                                                              |
| Pro poznámky pod čarou    | <p>- footnote<br>- mpfootnote</p>                                                                                     |
| Pro `enumerate` prostředí | <p>- enumi<br>- enumii<br>- enumiii<br>- enumiv</p>                                                                   |

## Další čtení

Více informací viz:

* [Prostředí](/latex/cs/prikazy/02-environments.md)
* [Příkazy](/latex/cs/prikazy/01-commands.md)
* [Seznamy](/latex/cs/zaklady-latexu/04-lists.md)
* [Číslování stránek](/latex/cs/formatovani/03-page-numbering.md)
* [Sekce a kapitoly](/latex/cs/struktura-dokumentu/01-sections-and-chapters.md)
* [Matematické výrazy](/latex/cs/matematika/01-mathematical-expressions.md)
* [Vkládání obrázků](/latex/cs/dalsi-temata/27-inserting-images.md)
* [Tabulky](/latex/cs/obrazky-a-tabulky/01-tables.md)
* [Zkoušení v LaTeXu](/latex/cs/pro-konkretni-obor/09-typesetting-exams-in-latex.md)
* [Psaní vlastního balíčku](/latex/cs/tridni-soubory/03-writing-your-own-package.md)
* [Vytvoření vlastní třídy](/latex/cs/tridni-soubory/04-writing-your-own-class.md)
* [Ne zcela krátký úvod do LaTeX2ε](http://www.ctan.org/tex-archive/info/lshort/)


---

# 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/formatovani/10-counters.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.
