> 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/clanky-do-hloubky/26-how-to-draw-vector-graphics-using-tikz-in-latex.md).

# Jak kreslit vektorovou grafiku pomocí TikZ v LaTeXu

**Autor: Cody Herring (květen 2013)**

### Procedurální grafika v LaTeXu: základy

Tradičně je grafika reprezentována jako bitmapy, od 1 bitu (černobíle) až po 24 bitů (true color). To umožňuje jednoduché zobrazení grafiky na tradiční (obdélníkové) obrazovce počítače. Může však být obtížné a zdlouhavé vytvářet bitmapy, které přesně reprezentují to, co má být zobrazeno v dokumentu nebo na papíře.

Procedurální grafika s tím pomáhá tím, že umožňuje použít lépe definovaný a snadno pochopitelný systém, jako je Scalable Vector Graphics (SVG). Tím, že se definují vektory, čáry a tvary namísto jednotlivých pixelů, lze obrázky snadno generovat pro různé velikosti, poměry stran, hustoty pixelů, kvalitu tisku a další. Tento tutoriál poskytne stručný úvod do procedurální grafiky pomocí Portable Graphics Format a TikZ:

* **Přenosný grafický formát** (PGF) je základní sada nástrojů, která umožňuje vytvářet jednoduchou grafiku a obrázky;
* **TikZ** je rozšířením PGF, které umožňuje používat množství předpřipravených obrazců.

Rozsáhlou dokumentaci k TikZu a PGF lze nalézt v [příručce PGF](http://mirrors.ctan.org/graphics/pgf/base/doc/pgfmanual.pdf).

### Použití PGF a TikZu

Aby bylo možné použít balíček TikZ, je nutné jej importovat:

```latex
\\usepackage{tikz}
```

Pro kreslení obrázků je třeba `tikzpicture` použít prostředí:

```latex
\begin{tikzpicture}
příkazy patří sem
\end{tikzpicture}
```

### Základní kreslení

TikZ umožňuje kreslit mnoho různých tvarů a cest. Zde budou ukázány některé základní techniky kreslení. Tyto techniky lze kombinovat a vytvářet tak složitější kresby.

#### Přímé cesty

Přímou cestu z jednoho bodu do druhého lze nakreslit pomocí `\draw` příkazu podle souřadnicového systému X/Y (vodorovně/svisle), například takto:

```latex
\begin{tikzpicture}
\\draw (5,0) -- (-5, 0);
\end{tikzpicture}
```

Více `\draw` volání lze také řetězit. Tím se vykreslí soustava os od -5 do +5 ve směru X a od -2 do +2 ve směru Y.

```latex
\begin{tikzpicture}
\\draw   (5,0) -- (-5, 0)
        (0,2) -- (0,-2);
\end{tikzpicture}
```

![TikZFigure 1.png](/files/f3de17290b74dcb7de82c96387d3a610cb7ccaf0)

Na tyto čáry lze použít styly přidáním dalších parametrů. Zde je stejný diagram, ale se zelenými tečkovanými velmi silnými čarami otočenými o 15 stupňů proti směru hodinových ručiček:

```latex
\begin{tikzpicture}
\\draw[green, dotted, ultra thick, rotate=15]
        (5,0) -- (-5, 0)
        (0,2) -- (0,-2);
\end{tikzpicture}
```

![TiKZFigure 2.png](/files/6f539b0540083a3e3c7a8d4ca560b14e6a72e8e9)

#### Změna velikosti diagramu

Někdy je výchozí velikost diagramu příliš velká nebo příliš malá. Použitím `scale` parametru při deklaraci `tikzpicture` prostředí lze dosáhnout různých velikostí při zachování stejných proporcí:

```latex
\\begin{tikzpicture}[scale=0.3]
\\draw   (5,0) -- (-5, 0)
        (0,2) -- (0,-2);
\end{tikzpicture}
```

Následující obrázek ukazuje efekt před a po použití `[scale=0.3]`:

![TiKZFigure 3.png](/files/a250ee57cfc9697428b6eed577092070dff23c3c)

#### Přidání hrotů šipek

Šipky mohou být užitečné pro grafy a diagramy a do obrázku TikZ se dají snadno zahrnout. Lze použít dříve ukázané styly i několik různých hrotů šipek.

```latex
\begin{tikzpicture}
\\draw[->](0,0) -- (5,0);
\end{tikzpicture}

\begin{tikzpicture}
\\draw[<<->>](0,0) -- (5,0);
\end{tikzpicture}

\begin{tikzpicture}
\\draw[<<->>, ultra thick, blue](0,0) -- (5,0);
\end{tikzpicture}

\begin{tikzpicture}
\\draw[|->>, thick, red](0,0) -- (5,0);
\end{tikzpicture}
```

![TiKZFigure 4.png](/files/06a5f00c64c6acac79b1075511b193b411dce0e3)

### Kreslení křivek

Nejjednodušší způsob, jak v TikZu nakreslit křivku, je určit počáteční a koncový bod a požadovaný úhel, pod kterým křivka vychází z počátečního bodu a přichází do koncového bodu.

```latex
\begin{tikzpicture}
\\draw[ultra thick]
(0,0) to [out=75,in=135](3,4);
\end{tikzpicture}
```

![TiKZFigure 5.png](/files/6ff1d9200db754e29aaa5a37d856bd66fdbde907)

Pomocí řetězených volání lze vytvářet i mnohem složitější diagramy. PGF se pokusí vykreslit co nejhladší čáry pomocí zadaných směrů.

```latex
\begin{tikzpicture}
\\draw[ultra thick]
(0,0)
to [out=90,in=180] (2,2)
to [out=270,in=0](0,0)
to [out=0,in=90](2,-2)
to [out=180,in=270](0,0)
to [out=270,in=0](-2,-2)
to [out=90,in=180](0,0)
to [out=180,in=270](-2,2)
to [out=0,in=90](0,0);
\end{tikzpicture}
```

![TIkZFigure 6.png](/files/4151306285ea52f7d3807d80d4255023feda9415)

### Závěr

Možnostem, co lze s vektorovou grafikou vytvořit, se meze nekladou, a jejich hodnota spočívá v tom, že umožňují škálovatelné, snadno upravitelné diagramy a obrázky, což je přínos pro uživatele LaTeXu hledající snadný způsob, jak používat grafiku. Tento příspěvek se jen dotýká toho, co je možné, ale měl by být dobrým úvodem do možností vektorové grafiky a prostředí TikZ/PGF.

Další zdroje:

* [Minimální úvod do TikZ](http://cremeronline.com/LaTeX/minimaltikz.pdf);
* [Dokumentace CTAN k TikZ a PGF](http://mirrors.ctan.org/graphics/pgf/base/doc/pgfmanual.pdf);
* [Stránka Learn Wiki na Overleafu](/latex/cs/obrazky-a-tabulky/05-tikz-package.md).


---

# 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/clanky-do-hloubky/26-how-to-draw-vector-graphics-using-tikz-in-latex.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.
