Напишите текст на стрелке, соединяющей два узла в TikZ

Напишите текст на стрелке, соединяющей два узла в TikZ

Я пытаюсь создать простую блок-схему. Последний шаг — соединить первый и последний узлы стрелкой и написать на стрелке какой-нибудь текст.

У меня возникли трудности с нанесением текста на стрелку.

Вот что я сделал:

\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 работает как середина.

введите описание изображения здесь

Связанный контент