Ao usar o estilo de caminho personalizado em um gráfico tikz, o rótulo das cotações não é impresso

Ao usar o estilo de caminho personalizado em um gráfico tikz, o rótulo das cotações não é impresso

Posso colocar rótulos em bordas normais sem problemas, mas quando a borda tem um estilo aplicado a ela, o rótulo não é mais aplicado.

Alguma ideia do que está acontecendo/como consertar isso?

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

Responder1

Os nós são realmente aplicados, porém não aparecem porque a to pathdeclaração em hv pathperde a \tikztonodesmacro que então se expandirá para os nós que foram coletados em algum momento pela quotesbiblioteca.

A definição completa e correta de hv pathé

hv path/.style = {to path={-| (\tikztotarget) \tikztonodes}

Os nós são, por padrão, colocados em pos = .5(= midway) ao longo do caminho. Em linhas normais, isso fica no meio da linha. Com os caminhos ortogonais -|e |-isso fica na esquina. A posição pos = .75(= near end) está no ponto médio da segunda parte. (Veja tambémNó em um caminho TikZ articulado.)

A chave swap(ou seu atalho ') pode ser usada para colocar um nó ao longo de um caminho do outro lado. (O gráfico usa internamente a autoopção cujo padrão é auto=left. A swapchave troca isso para auto=righte vice-versa.)

Código

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

Saída

insira a descrição da imagem aqui

informação relacionada