
일반 가장자리에 레이블을 붙일 수 있지만 가장자리에 스타일이 적용되면 레이블이 더 이상 적용되지 않습니다.
무슨 일이 일어나고 있는지/이 문제를 어떻게 해결할 수 있는지 아시나요?
\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}
답변1
노드는 실제로 적용되지만 매크로 누락 to path
시 선언 으로 표시되지 않으며 라이브러리에 의해 어느 시점에 수집된 노드로 확장됩니다 .hv path
\tikztonodes
quotes
의 완전하고 정확한 정의는 hv path
다음과 같습니다.
hv path/.style = {to path={-| (\tikztotarget) \tikztonodes}
노드는 기본적으로 경로를 따라 pos = .5
(= )에 배치됩니다. midway
일반 라인투에서 이것은 라인의 실제 중간에 있습니다. 직교 경로가 있고 -|
이것이 |-
모퉁이에 있습니다. 위치 pos = .75
(= near end
)는 두 번째 부분의 중간 지점에 있습니다. (또한보십시오결합된 TikZ 경로의 노드.)
키 swap
(또는 단축키 '
)를 사용하여 반대편 경로를 따라 노드를 배치할 수 있습니다. (그래프는 내부적으로 auto
기본값인 옵션을 사용합니다 auto=left
. swap
키는 이를 로 auto=right
또는 그 반대로 바꿉니다.)
암호
\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}