
Ich kann normale Kanten problemlos mit Beschriftungen versehen, wenn auf die Kante jedoch ein Stil angewendet wird, wird die Beschriftung nicht mehr angewendet.
Irgendeine Idee, was los ist/wie man das beheben kann?
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{graphs,quotes}
\begin{document}
\tikz[hv path/.style = {to path={-| (\tikztotarget)}}]
\graph[grow down sep, branch right = 4em] {
A ->["this prints"] B ->{C,D};
A ->[hv path,"this doesn't"] D;
};
\end{document}
Antwort1
Die Knoten werden tatsächlich angewendet, sie werden jedoch nicht angezeigt, da to path
in der Deklaration hv path
das Makro fehlt \tikztonodes
, das dann zu den Knoten erweitert wird, die irgendwann von der quotes
Bibliothek gesammelt wurden.
Die vollständige und korrekte Definition von hv path
ist
hv path/.style = {to path={-| (\tikztotarget) \tikztonodes}
Die Knoten werden standardmäßig an pos = .5
(= midway
) entlang des Pfades platziert. Bei normalen Linien-zu-Punkten ist dies in der tatsächlichen Mitte der Linie. Bei orthogonalen Pfaden -|
ist |-
dies an der Ecke. Die Position pos = .75
(= near end
) ist in der Mitte des zweiten Teils. (Siehe auchKnoten auf einem verbundenen TikZ-Pfad.)
Mit der Taste swap
(oder der Tastenkombination '
) kann ein Knoten entlang eines Pfads auf der anderen Seite platziert werden. (Das Diagramm verwendet intern die auto
Option, die standardmäßig auf eingestellt ist auto=left
. Mit der swap
Taste kann dies auf geändert werden auto=right
und umgekehrt.)
Code
\documentclass[tikz]{standalone}
\usetikzlibrary{graphs,quotes}
\begin{document}
\tikz[hv path/.style = {to path={-| (\tikztotarget) \tikztonodes}}]
\graph[grow down sep, branch right = 4em] {
A ->["this prints", '] B ->{C,D};
A ->[hv path,"this doesn't" near end] D;
};
\end{document}