Вузли, стрілки й діаграми в TikZ
Розмістіть кожен блок командою \node[draw] (name) {text};, розставте наступні за допомогою бібліотеки positioning (right=of name) і з’єднайте їх через \draw[->] (a) -- (b);.
Вузли
Вузол є фрагментом тексту в точці, за бажанням із рамкою. draw дає йому контур, fill тло, а circle чи ellipse округлу форму (rectangle за замовчуванням). Назва в дужках дозволяє пізніше посилатися на вузол.
Вузли з формами, заливками й розмірами
\begin{tikzpicture}
\node[draw] (a) at (0,0) {plain box};
\node[draw, rounded corners, fill=blue!10] (b) at (3,0) {rounded};
\node[draw, circle, fill=yellow!40] (c) at (5.5,0) {44};
\node[draw, ellipse] (d) at (8,0) {ellipse};
\node[draw, minimum width=2.5cm, minimum height=1cm] at (1,-1.6) {fixed size};
\node[draw, text width=2.6cm, align=center] at (5,-1.6) {text that wraps onto two lines};
\end{tikzpicture}Стрілки між вузлами
\draw[->] (a) -- (b); малює стрілку від вузла a до вузла b. Лінія починається й закінчується на межах вузлів, а не в їхніх центрах. -| і |- малюють з’єднання під прямим кутом.
Невелика блок-схема з бібліотекою positioning
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning, arrows.meta}
\begin{document}
\begin{tikzpicture}[
node distance=1.2cm and 1.6cm,
box/.style={draw, rounded corners, fill=blue!8, minimum width=2.2cm, minimum height=0.8cm},
>={Stealth},
]
\node[box] (in) {Read data};
\node[box, right=of in] (clean) {Clean};
\node[box, right=of clean] (fit) {Fit model};
\node[draw, circle, below=of clean] (ok) {OK?};
\draw[->] (in) -- (clean);
\draw[->] (clean) -- (fit);
\draw[->] (fit) |- (ok);
\draw[->] (ok) -| node[pos=0.75, left] {no} (in);
\end{tikzpicture}
\end{document}right=of in ставить вузол праворуч від in на відстані node distance. Інші напрямки: left, above, below і діагоналі на кшталт above right. right=2cm of in задає відстань для одного вузла.
Підписи на стрілках і вузлах
node, записаний посередині шляху, підписує його. above, below, left, right задають бік, а midway, near start, near end чи pos=0.3 положення вздовж шляху. label=below:text додає підпис до вузла.
Діаграма станів із вигнутими підписаними ребрами
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning, arrows.meta}
\begin{document}
\begin{tikzpicture}[state/.style={draw, circle, minimum size=1cm}, >={Stealth}, node distance=2.4cm]
\node[state, label=below:start] (s0) {$q_0$};
\node[state, right=of s0] (s1) {$q_1$};
\node[state, right=of s1, fill=green!15] (s2) {$q_2$};
\draw[->] (s0) to[bend left] node[above] {$a$} (s1);
\draw[->] (s1) to[bend left] node[below] {$b$} (s0);
\draw[->] (s1) -- node[above] {$a$} (s2);
\end{tikzpicture}
\end{document}Якорі
Кожен вузол має якорі на своїй межі: north, south, east, west і кути на кшталт north east. (box.north) є точкою вгорі посередині box.
Стрілки від якорів вузла
\begin{tikzpicture}
\node[draw, minimum width=3cm, minimum height=1cm] (box) {Server};
\draw[->] (box.north) -- ++(0,0.7) node[above] {north};
\draw[->] (box.east) -- ++(1,0) node[right] {east};
\draw[->] (box.south west) -- ++(-0.6,-0.6) node[below left] {south west};
\node[anchor=west] at (box.south east) {\small (anchor=west)};
\end{tikzpicture}anchor=west для вузла розміщує його так, щоб його західний якір опинився в заданій точці.
Наконечники стрілок
| Параметр | Наконечник | У Scissor LaTeX |
|---|---|---|
->, <-, <-> | стандартний наконечник TikZ | Працює |
-stealth, -latex | класичні наконечники stealth і LaTeX | Працює |
-{Stealth}, -{Latex} (arrows.meta) | новіші наконечники | Працює |
|-| | риска на кожному кінці | Працює |
>={Stealth} для рисунка | наконечник, який використовує -> | Працює |
параметри наконечника на кшталт -{Stealth[length=3mm]} | розміри й форми наконечника | Частково: наконечник малюється стандартного розміру |
Розміри наконечників близькі до TikZ, але не ідентичні.
Що не підтримується
Ці можливості компілюються в установленому TeX, але не тут. Про більшість із них повідомляє вкладка «Проблеми».
| Можливість | Що відбувається в Scissor LaTeX | Що писати натомість |
|---|---|---|
\matrix (і matrix of nodes) | Увесь рисунок стає пунктирною рамкою з повідомленням | Розміщуйте вузли через at (x,y) або positioning |
\pic | Увесь рисунок стає пунктирною рамкою з повідомленням | Повторіть малюнок у scope із shift |
декорації (decorate, decoration=...) | Ігноруються з повідомленням; шлях малюється простим | Простий або пунктирний шлях |
форми вузлів із shapes.geometric (diamond, trapezium ...) | Малюються як прямокутник, з повідомленням | rectangle, circle або ellipse |
подвійні лінії double | Ігноруються з повідомленням | Два вузли або шляхи |
to[loop above] (петля на одному вузлі) | Петля не малюється, повідомлення немає; її підпис стоїть на вузлі | arc або крива .. controls .. від межі вузла |
pin= | Текст показується без лінії-виноски | label= |
pos= на шляху -| чи |- | Підпис розміщується лише вздовж другої ділянки, тож pos=0.25 опиняється біля кута | Підпишіть другу ділянку з pos=0.75 або розбийте шлях на два |
tikz-cd, circuitikz, forest | Рисунок пропускається з повідомленням | Простий TikZ або зображення |
\matrix стає заглушкою
\begin{tikzpicture}
\matrix[draw] {
\node {a}; & \node {b}; \\
\node {c}; & \node {d}; \\
};
\end{tikzpicture}Вкладка «Проблеми»: \matrix in a picture is not supported yet
Вузол diamond малюється як прямокутник
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric}
\begin{document}
\begin{tikzpicture}
\node[draw, diamond] at (0,0) {Yes?};
\node[draw, ellipse] at (2.5,0) {ellipse works};
\end{tikzpicture}
\end{document}Вкладка «Проблеми»: TikZ node option 'diamond' is not supported yet
Посібник TikZ (у пакеті PGF) описує вузли, бібліотеку positioning і наконечники стрілок: ctan.org/pkg/pgf. Про фігури й шляхи див. рисунки з TikZ.
Див. також основи TikZ, TikZ і рисунки та зображення.
Запитання й відповіді
Як намалювати блок-схему в LaTeX?
Використайте вузли TikZ із draw для блоків, бібліотеку positioning (right=of a, below=of b) для їх розміщення і \draw[->] (a) -- (b); для стрілок.
Як додати текст на стрілку в TikZ?
Напишіть вузол посередині шляху: \draw[->] (a) -- node[above] {text} (b);.
Чи працює tikz-cd у Scissor LaTeX?
Поки ні. Діаграма tikzcd пропускається з повідомленням. Натомість малюйте прості діаграми вузлами й стрілками.
Кожен приклад на цій сторінці верстається в Scissor LaTeX під час збирання сайту. Оновлено 2026-11-07.