
Я пытаюсь создать простую блок-схему. Последний шаг — соединить первый и последний узлы стрелкой и написать на стрелке какой-нибудь текст.
У меня возникли трудности с нанесением текста на стрелку.
Вот что я сделал:
\begin{tikzpicture}[node distance = 2cm, auto]
\node [block] (init) {A};
\node [block] (init2) {A};
\node [block, below of=init] (init3) {B};
\node [block, below of=init3] (init4) {C};
\path [line] (init) -- (init2);
\path [line] (init2) -- (init3);
\path [line] (init3) -- (init4);
\draw [->] (init4.west) -| ++(-1,0) |- (init.west);
\end{tikzpicture}
Последняя строка: \draw [->] (init4.west) -| ++(-1,0) |- (init.west);
соединяет два узла. Однако я не могу добавить текст на эту стрелку.
решение1
Вам не нужно копировать эти вещи block
, line
которые взяты из вопроса, заданного здесь несколько лет назад и застрявшего в сети.
\begin{tikzpicture}[node distance = 2cm]
\node (init) {A};
\node[below of=init] (init2) {B};
\node[below of=init2] (init3) {C};
\draw (init) -- (init2) -- (init3);
\draw [->] (init3) -| ++(-1,0) |- (init) node[pos=0.25,left] {D};
\end{tikzpicture}
Когда у вас есть ортогональный классификатор на пути посередине или pos пути установлен на угол этого пути. Здесь часть от временной точки до init
. Так что pos=0 — это временная точка, а pos=1 — это init
. Вот почему 0,25 работает как середина.