Перейти до вмісту

Вузли, стрілки й діаграми в 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.