tikz 그래프에서 사용자 정의 경로 스타일을 사용할 때 따옴표 레이블이 인쇄되지 않습니다.

tikz 그래프에서 사용자 정의 경로 스타일을 사용할 때 따옴표 레이블이 인쇄되지 않습니다.

일반 가장자리에 레이블을 붙일 수 있지만 가장자리에 스타일이 적용되면 레이블이 더 이상 적용되지 않습니다.

무슨 일이 일어나고 있는지/이 문제를 어떻게 해결할 수 있는지 아시나요?

\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\tikztonodesquotes

의 완전하고 정확한 정의는 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}

산출

여기에 이미지 설명을 입력하세요

관련 정보