> 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/uk/dokladni-statti/26-how-to-draw-vector-graphics-using-tikz-in-latex.md).

# Як малювати векторну графіку за допомогою TikZ у LaTeX

**Автор: Коді Геррінг (травень 2013)**

### Процедурна графіка в LaTeX: основи

Традиційно графіку подають у вигляді растрових зображень — від 1 біта (чорно-біле) до 24 бітів (true color). Це дає змогу просто відображати графіку на традиційному (прямокутному) екрані комп’ютера. Однак може бути складно й клопітно створювати растрові зображення, які точно відтворюють те, що має бути показано в документі або на папері.

Процедурна графіка допомагає з цим, даючи змогу використовувати більш чітко визначену й легко зрозумілу систему, таку як Scalable Vector Graphics (SVG). Визначаючи вектори, лінії та фігури замість окремих пікселів, зображення можна легко створювати для різних розмірів, співвідношень сторін, щільності пікселів, якості друку тощо. У цьому посібнику буде подано короткий вступ до процедурної графіки з використанням Portable Graphics Format і TikZ:

* **Портативний графічний формат** (PGF) — це базовий набір інструментів, що дає змогу створювати просту графіку й фігури;
* **TikZ** — це розширення до PGF, яке дає змогу використовувати безліч готових фігур.

Докладну документацію з TikZ і PGF можна знайти в [Посібнику PGF](http://mirrors.ctan.org/graphics/pgf/base/doc/pgfmanual.pdf).

### Використання PGF і TikZ

Щоб використовувати пакет TikZ, його потрібно підключити:

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

Щоб малювати зображення, потрібно використовувати `tikzpicture` середовище:

```latex
\begin{tikzpicture}
команди тут
\end{tikzpicture}
```

### Базове малювання

TikZ дає змогу малювати багато різних фігур і шляхів. Тут буде показано кілька базових технік малювання. Ці техніки можна поєднувати, щоб створювати складніші зображення.

#### Прямі шляхи

Прямий шлях від однієї точки до іншої можна намалювати за допомогою `\draw` команди відповідно до системи координат X/Y (горизонтальна/вертикальна), ось так:

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

Кілька `\draw` викликів також можна з’єднувати між собою. Це малює набір осей від -5 до +5 у напрямку X і від -2 до +2 у напрямку Y.

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

![TikZFigure 1.png](/files/7694c7a04c00f996e07c9cfc9665dac6a7a5ddcf)

До цих ліній можна застосовувати стилі, додаючи додаткові параметри. Ось та сама діаграма, але з зеленими, пунктирними, надзвичайно товстими лініями, повернутими на 15 градусів проти годинникової стрілки:

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

![TiKZFigure 2.png](/files/f34bc0f9f40ac4df582c1a66144864af64768026)

#### Зміна розміру діаграми

Іноді стандартний розмір діаграми занадто великий або занадто малий. Використання параметра `scale` під час оголошення `tikzpicture` середовища дає змогу отримувати різні розміри, зберігаючи ті самі пропорції:

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

Наведене нижче зображення показує ефект до і після застосування `[scale=0.3]`:

![TiKZFigure 3.png](/files/2e366a08f7d1b6e0ff82f75b8d8624a80430edae)

#### Додавання наконечників стрілок

Стрілки можуть бути корисними для графіків і діаграм, і їх легко додати до зображення TikZ. Можна використовувати стилі, показані раніше, а також кілька різних наконечників стрілок.

```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/3631d7b655fbc86ee336e5bc740481fd2504eba7)

### Малювання кривих

Найпростіший спосіб намалювати криву в TikZ — це вказати початкову й кінцеву точки, а також бажаний кут виходу з початкової точки та входу в кінцеву точку.

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

![TiKZFigure 5.png](/files/276d52528d4d907e7f66cbc05d1f46f2522b47cd)

Набагато складніші діаграми також можна створювати, використовуючи послідовні виклики. PGF намагатиметься малювати якомога плавніші лінії, використовуючи задані напрямки.

```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/960f18fdc7e8ce9e7a4d6f3a3fc43a7372d0a661)

### Висновок

Немає меж тому, що можна намалювати за допомогою векторної графіки, а її цінність у можливості створювати масштабовані, легко редаговані діаграми та зображення є великою перевагою для користувачів LaTeX, які шукають простий спосіб використовувати графіку. Цей допис лише торкається поверхні того, що можливо, але має бути хорошим вступом до можливостей векторної графіки та середовища TikZ/PGF.

Додаткові ресурси:

* [Мінімальний вступ до TikZ](http://cremeronline.com/LaTeX/minimaltikz.pdf);
* [Документація CTAN щодо TikZ і PGF](http://mirrors.ctan.org/graphics/pgf/base/doc/pgfmanual.pdf);
* [Сторінка Wiki Learn від Overleaf](/latex/uk/risunki-ta-tablici/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/uk/dokladni-statti/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.
