> 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/obrazky-a-tabulky/05-tikz-package.md).

# Balíček TikZ

## Úvod

[Ti*k*Z](https://en.wikipedia.org/wiki/PGF/TikZ) je pravděpodobně nejsložitějším a nejvýkonnějším nástrojem pro vytváření grafických prvků v LaTeXu. Na jednoduchém příkladu tento článek představuje některé základní koncepty: kreslení čar, bodů, křivek, kruhů, obdélníků atd.

Nejprve načtěte `tikz` balíček vložením řádku `\usepackage{tikz}` do preambule dokumentu a poté nakreslete grafiku pomocí `tikzpicture` prostředí.

```latex
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[gray, thick] (-1,2) -- (2,-4);
\draw[gray, thick] (-1,-1) -- (2,2);
\filldraw[black] (0,0) circle (2pt) node[anchor=west]{Bod průsečíku};
\end{tikzpicture}
\end{document}
```

[Otevřete tento příklad v Overleafu](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=First+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%0A%5Cdraw%5Bgray%2C+thick%5D+%28-1%2C2%29+--+%282%2C-4%29%3B%0A%5Cdraw%5Bgray%2C+thick%5D+%28-1%2C-1%29+--+%282%2C2%29%3B%0A%5Cfilldraw%5Bblack%5D+%280%2C0%29+circle+%282pt%29+node%5Banchor%3Dwest%5D%7BIntersection+point%7D%3B%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

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

![OLV2tikz1.png](/files/8abde8184c06927862270409bdcfb7ea9e958ed8)

V tomto příkladu jsou nakresleny dvě čáry a jeden bod. Pro přidání čáry použijte příkaz `\draw[gray, thick]` definuje grafický prvek, jehož *barva* je `šedá` a s `tlustým` tahem. Čára je ve skutečnosti definována svými dvěma koncovými body, `(-1,2)` a `(2,-4)`, spojenými pomocí `--`.

Ta *bod* je ve skutečnosti `kruh` nakreslený pomocí `\filldraw[black]`tento příkaz nejen nakreslí kruh, ale také jej vyplní černou barvou. V tomto příkazu je středový bod `(0,0)` a poloměr `(2pt)` jsou zadány. Vedle bodu je `uzel`čímž je ve skutečnosti rámeček obsahující text `průsečík`a ukotvený na `západní` straně bodu.

Je důležité si všimnout středníku `;` používaného na konci každého `příkazu draw` příkaz.

Poznámka:  `tikzfigure` prostředí může být uzavřeno uvnitř prostředí figure nebo podobného prostředí. Viz [Vkládání obrázků](/latex/cs/dalsi-temata/27-inserting-images.md) článek pro více informací k tomuto tématu.

## Základní prvky: body, čáry a cesty

V této části uvádíme několik příkladů ukazujících, jak vytvořit některé základní grafické prvky, které lze kombinovat pro tvorbu propracovanějších obrazců.

```latex
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}

\draw (-2,0) -- (2,0);
\filldraw [gray] (0,0) circle (2pt);
\draw (-2,-2) .. controls (0,0) .. (2,-2);
\draw (-2,2) .. controls (-1,0) and (1,0) .. (2,2);

\end{tikzpicture}
\end{document}
```

[Otevřete tento příklad v Overleafu](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Second+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%0A%0A%5Cdraw+%28-2%2C0%29+--+%282%2C0%29%3B%0A%5Cfilldraw+%5Bgray%5D+%280%2C0%29+circle+%282pt%29%3B%0A%5Cdraw+%28-2%2C-2%29+..+controls+%280%2C0%29+..+%282%2C-2%29%3B%0A%5Cdraw+%28-2%2C2%29+..+controls+%28-1%2C0%29+and+%281%2C0%29+..+%282%2C2%29%3B%0A%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

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

![OLV2tikz2.png](/files/ac158694426f99230d76d7f64b7d8ff95c88f45f)

V tomto příkladu jsou tři základní příkazy:

* **`\draw (-2,0) -- (2,0);`**: Tím se definuje čára, jejíž koncové body jsou `(-2,0)` a `(2,0)`.
* **`\filldraw [gray] (0,0) circle (2pt);`**: Bod je vytvořen jako velmi malý `šedá` `kruh` se středem v `(0,0)` a jehož poloměr je `(2pt)`. Balíček `\filldraw` příkaz se používá k vykreslování prvků a jejich vyplňování určitou barvou. Další příklady najdete v následující části.
* **`\draw (-2,2) .. controls (-1,0) and (1,0) .. (2,2);`**: Kreslí [Bézierovu křivku](https://en.wikipedia.org/wiki/B%C3%A9zier_curve). Definují ji 4 body: `(-2,2)` a `(2,2)` jsou její koncové body, `(-1,0)` a `(1,0)` jste [*řídicí body*](https://en.wikipedia.org/wiki/Control_point_\(mathematics\)) které určují „jak je zakřivená“. Tyto dva body si můžete představit jako „přitažlivé body“.

## Základní geometrické tvary: kruhy, elipsy a mnohoúhelníky

Geometrické útvary lze sestavit z jednodušších prvků, takže začněme kruhy, elipsami a oblouky.

```latex
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\filldraw[color=red!60, fill=red!5, very thick](-1,0) circle (1.5);
\fill[blue!50] (2.5,0) ellipse (1.5 and 0.5);
\draw[ultra thick, ->] (6.5,0) arc (0:220:1);
\end{tikzpicture}
\end{document}
```

[Otevřete tento příklad v Overleafu](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Third+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%0A%5Cfilldraw%5Bcolor%3Dred%2160%2C+fill%3Dred%215%2C+very+thick%5D%28-1%2C0%29+circle+%281.5%29%3B%0A%5Cfill%5Bblue%2150%5D+%282.5%2C0%29+ellipse+%281.5+and+0.5%29%3B%0A%5Cdraw%5Bultra+thick%2C+-%3E%5D+%286.5%2C0%29+arc+%280%3A220%3A1%29%3B%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

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

![TikzEx3.png](/files/e5f28cdd754cd31f0482e02b86dab219e04981ac)

* **`\filldraw[color=red!60, fill=red!5, very thick](-1,0) circle (1.5);`**: Tento příkaz byl použit v předchozí části k nakreslení *bod*, ale v tomto případě jsou v závorkách některé další parametry. Níže jsou vysvětleny:
  * **`color=red!60`**: Barva prstence kolem kruhu je nastavena na 60 % červené (světlejší než „čistá“ červená). Viz [referenční příručku](#reference-guide) pro seznam výchozích barev dostupných v LaTeXu; také viz [Používání barev v LaTeXu](/latex/cs/formatovani/13-using-colors-in-latex.md) jak si vytvořit vlastní barvy.
  * **`fill=red!5`**: Kruh je vyplněn ještě světlejším odstínem červené.
  * **`velmi tlustý`**: Tento parametr definuje tloušťku tahu. Viz [referenční příručku](#reference-guide) pro úplný seznam hodnot.
* **`\fill[blue!50] (2.5,0) ellipse (1.5 and 0.5);`**: Chcete-li vytvořit elipsu, zadáte středový bod `(2.5,0)`, a dva poloměry: vodorovný a svislý (`1.5` a `0.5` v tomto pořadí). Všimněte si také příkazu `fill` místo `příkazu draw` nebo filldraw, protože v tomto případě není třeba řídit vnější a vnitřní barvy.
* **`\draw[ultra thick, ->] (6.5,0) arc (0:220:1);`**: Tento příkaz nakreslí oblouk začínající v `(6.5,0)`. Doplňkový parametr `->` značí, že oblouk bude na konci opatřen šipkou. Kromě počátečního bodu musíte zadat tři další hodnoty: počáteční a koncový úhel a poloměr; zde jsou tyto tři hodnoty parametrů zadány ve formátu `(0:220:1)`.

Kromě zakřivených geometrických tvarů můžete vytvářet také prvky používající přímé čáry, a to pomocí podobné syntaxe:

```latex
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[blue, very thick] (0,0) rectangle (3,2);
\draw[orange, ultra thick] (4,0) -- (6,0) -- (5.7,2) -- cycle;
\end{tikzpicture}
\end{document}
```

[Otevřete tento příklad v Overleafu](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Fourth+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%0A%5Cdraw%5Bblue%2C+very+thick%5D+%280%2C0%29+rectangle+%283%2C2%29%3B%0A%5Cdraw%5Borange%2C+ultra+thick%5D+%284%2C0%29+--+%286%2C0%29+--+%285.7%2C2%29+--+cycle%3B%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

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

![OLV2tikz4.png](/files/a4a0c7469a55e99b25bff97f072d0254b778f84b)

* **`\draw[blue, very thick] (0,0) rectangle (3,2);`**: Obdélníky se vytvářejí speciálním příkazem `rectangle`. Musíte zadat dva body, první je místo, kde „tužka“ začíná kreslit obdélník, a druhý je bod protilehlého rohu.
* **`\draw[orange, ultra thick] (4,0) -- (6,0) -- (5.7,2) -- cycle;`**: Chcete-li nakreslit mnohoúhelník, kreslíme *uzavřenou* cestu přímých čar: čáru z `(4,0)` na `(6,0)` a čáru z `(6,0)` na `(5.7,2)`. Balíček `cycle` znamená, že počáteční a koncový bod se mají shodovat a vytvořit „uzavřenou“ cestu (tvar), což vede k vykreslení závěrečného úseku čáry.

## Diagramy

Uzly jsou v TikZ pravděpodobně nejuniverzálnějšími prvky. V úvodu jsme už jeden uzel použili — pro přidání textu do obrázku. Následující příklad používá uzly k vytvoření diagramu.

```latex
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[
roundnode/.style={circle, draw=green!60, fill=green!5, very thick, minimum size=7mm},
squarednode/.style={rectangle, draw=red!60, fill=red!5, very thick, minimum size=5mm},
]
%Uzly
\node[squarednode]      (maintopic)                              {2};
\node[roundnode]        (uppercircle)       [above=of maintopic] {1};
\node[squarednode]      (rightsquare)       [right=of maintopic] {3};
\node[roundnode]        (lowercircle)       [below=of maintopic] {4};

%Čáry
\draw[->] (uppercircle.south) -- (maintopic.north);
\draw[->] (maintopic.east) -- (rightsquare.west);
\draw[->] (rightsquare.south) .. controls +(down:7mm) and +(right:7mm) .. (lowercircle.east);
\end{tikzpicture}
\end{document}
```

[Otevřete tento příklad v Overleafu](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=More+advanced+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cusetikzlibrary%7Bpositioning%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%5B%0Aroundnode%2F.style%3D%7Bcircle%2C+draw%3Dgreen%2160%2C+fill%3Dgreen%215%2C+very+thick%2C+minimum+size%3D7mm%7D%2C%0Asquarednode%2F.style%3D%7Brectangle%2C+draw%3Dred%2160%2C+fill%3Dred%215%2C+very+thick%2C+minimum+size%3D5mm%7D%2C%0A%5D%0A%25Nodes%0A%5Cnode%5Bsquarednode%5D++++++%28maintopic%29++++++++++++++++++++++++++++++%7B2%7D%3B%0A%5Cnode%5Broundnode%5D++++++++%28uppercircle%29+++++++%5Babove%3Dof+maintopic%5D+%7B1%7D%3B%0A%5Cnode%5Bsquarednode%5D++++++%28rightsquare%29+++++++%5Bright%3Dof+maintopic%5D+%7B3%7D%3B%0A%5Cnode%5Broundnode%5D++++++++%28lowercircle%29+++++++%5Bbelow%3Dof+maintopic%5D+%7B4%7D%3B%0A%0A%25Lines%0A%5Cdraw%5B-%3E%5D+%28uppercircle.south%29+--+%28maintopic.north%29%3B%0A%5Cdraw%5B-%3E%5D+%28maintopic.east%29+--+%28rightsquare.west%29%3B%0A%5Cdraw%5B-%3E%5D+%28rightsquare.south%29+..+controls+%2B%28down%3A7mm%29+and+%2B%28right%3A7mm%29+..+%28lowercircle.east%29%3B%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

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

![OLV2tikz5.png](/files/ca384365d58bfe8deec3d5cb5a838d0a4bfdf40e)

V tomto obrázku jsou v podstatě tři příkazy: definice uzlu, deklarace uzlu a čáry spojující dva uzly.

* **`roundnode/.style={circle, draw=green!60, fill=green!5, very thick, minimum size=7mm}`**: Předáno jako parametr prostředí `tikzpicture` prostředí. Definuje uzel, na který se bude odkazovat jako `roundnode`: tento uzel bude kruh, jehož vnější obrys bude vykreslen barvou `green!60` a bude vyplněn pomocí `green!5`. Tah bude `velmi tlustý` a jeho `minimální velikost` je `7mm`. Řádek níže definuje druhý obdélníkový uzel nazvaný `squarednode`, s podobnými parametry.
* **`\node[squarednode] (maintopic) {2};`**: Tím se vytvoří `squarednode`, jak bylo definováno v předchozím příkazu. Tento uzel bude mít identifikátor `maintopic` a bude obsahovat číslo `2`. Pokud uvnitř složených závorek necháte prázdné místo, nebude zobrazen žádný text.
* **`[above=of maintopic]`**: Všimněte si, že všechny uzly kromě prvního mají další parametr, který určuje jejich polohu vůči ostatním uzlům. Například, `[above=of maintopic]` znamená, že tento uzel má být umístěn nad uzlem s názvem `maintopic`. Aby tento systém umisťování fungoval, musíte přidat `\usetikzlibrary{positioning}` do preambule. Bez `positioning` knihovny můžete použít syntaxi `above of=maintopic` místo toho, ale `positioning` syntaxe je flexibilnější a mocnější: můžete ji rozšířit a napsat `above=**3cm** of maintopic` tj. ovládat skutečnou vzdálenost od `maintopic`.
* **`\draw[->] (uppercircle.south) -- (maintopic.north);`**: Bude nakreslena přímá čára se šipkou. Syntaxe již byla vysvětlena v části [základní prvky](#basic-elements-points-lines-and-paths) části. Jediný rozdíl je ve způsobu, jakým zapisujeme koncové body čáry: odkazem na uzel (proto jsme jim dali názvy) a polohou vůči uzlu.

## Referenční příručka

Možné parametry barvy a tloušťky v `tikz` balíček:

| parametr | hodnoty                                                           | picture                                                              |
| -------- | ----------------------------------------------------------------- | -------------------------------------------------------------------- |
| color    | bílá, černá, červená, zelená, modrá, azurová, purpurová, žlutá    | ![BasicColours.png](/files/dc1da8cc2547c18ad71ceb0e85ad9f9a035eef3e) |
| tloušťka | ultratenký, velmi tenký, tenký, tlustý, velmi tlustý, ultratlustý | ![Thickness.png](/files/874b793aa60f4c5f5dc438ad796606761560e26a)    |

Ve vaší distribuci LaTeXu mohou být k dispozici další barvy. Viz [Používání barev v LaTeXu](/latex/cs/formatovani/13-using-colors-in-latex.md)

## Další čtení

Více informací viz:

* [Používání barev v LaTeXu](/latex/cs/formatovani/13-using-colors-in-latex.md)
* [balíček pgfplots](/latex/cs/pro-konkretni-obor/08-pgfplots-package.md)
* [Vkládání obrázků](/latex/cs/dalsi-temata/27-inserting-images.md)
* [Seznamy tabulek a obrázků](/latex/cs/obrazky-a-tabulky/03-lists-of-tables-and-figures.md)
* [Umísťování obrázků a tabulek](/latex/cs/obrazky-a-tabulky/02-positioning-images-and-tables.md)
* [Kreslení diagramů přímo v LaTeXu](/latex/cs/obrazky-a-tabulky/04-picture-environment.md)
* [Příručka k balíčkům TikZ a PGF](http://mirrors.ctan.org/graphics/pgf/base/doc/pgfmanual.pdf)
* [Příklady TikZ a PGF na TeXample.net](http://www.texample.net/tikz/examples/all/)


---

# 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/obrazky-a-tabulky/05-tikz-package.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.
