Выровненные поля блок-схемы

библиотека позиционирования так, чтобы столбцы имели общий край.

Выровненные поля блок-схемы

Блок-схема выглядит дилетантской ровно по одной причине: блоки почти совпадают. TikZ структурно позволяет избежать этой проблемы, поскольку каждый блок размещается относительно другого, поэтому столбец блоков имеет общую ось по конструкции, а не визуально. Второй ингредиент — это именованный стиль, поэтому все коробки имеют одинаковую форму и минимальный размер. Вот вертикальный трехэтапный поток:

\usetikzlibrary{positioning,arrows.meta}
\begin{tikzpicture}[
box/.style={draw, rounded corners, align=center, minimum width=2.8cm},
node distance=10mm and 14mm
]
\node[box] (i) {Input};
\node[box, below=of i] (p) {Process};
\node[box, below=of p] (o) {Output};
\draw[-Latex] (i) -- (p);
\draw[-Latex] (p) -- (o);
\end{tikzpicture}

Определение стиля один раз

Строка box/.style={...} создает многоразовый стиль с именем box. Его содержимое представляет собой обычные параметры узла: «draw» придает узлу границу, «закругленные углы» смягчают ее, «align=center» центрирует многострочный текст внутри узла, а «минимальная ширина=2,8 см» заставляет каждый блок иметь по крайней мере эту ширину, чтобы короткие метки не сжимались в крошечные прямоугольники. С этого момента \node[box] применяет весь набор. Если вам нужен цвет заливки или большая ширина, измените одну линию, и вся диаграмма обновится. Это диаграмма, которую вы поддерживаете, а не перерисовываете.

Расстояние в двух направлениях

node distance=10mm и 14mm устанавливает зазоры по умолчанию, используемые библиотекой positioning: первое значение — это расстояние по вертикали, второе — по горизонтали. При этом below=of i помещает поле процесса на 10 мм ниже поля ввода, от края до края, и идеально центрирует его. Во втором столбце будет использоваться «right=of p» и приземляться на 14 мм в сторону. Поскольку каждое размещение связывает существующий узел, вставка шага означает добавление одного узла и обновление одной ссылки «ниже=of». Все, что происходит дальше по течению, меняется вместе с ним. Вы также можете переопределить расстояние на узел, например, «ниже = 15 мм от i».

Соединение ступеней

Каждый \draw[-Latex] (i) -- (p); рисует стрелку от одного именованного узла к другому, при этом -Latex выбирает сплошную стрелку из библиотеки arrows.meta на конечном конце. Стрелки автоматически соединяются на границах узлов. Для ветви решения рисуйте от определенных привязок, например (p.east), чтобы уйти с правой стороны, и прокладывайте маршрут с изгибами, такими как -- ++(2,0) |-, когда диаграмме нужны углы.

Вывод TikZ не отображается в этих предварительных просмотрах на странице, поэтому скомпилируйте фрагмент, чтобы увидеть его. Классическая ошибка в блок-схемах — размещение нескольких блоков с абсолютными координатами «только один раз»: именно эти блоки оказываются смещенными после следующего редактирования. Сохраняйте каждое размещение относительным и смотрите узлы и стрелки для базовых вариантов размещения.

Вернуться к Рисовать в TeX