Cuando se utiliza un estilo de ruta personalizado en un gráfico tikz, la etiqueta de comillas no se imprime

Cuando se utiliza un estilo de ruta personalizado en un gráfico tikz, la etiqueta de comillas no se imprime

Puedo colocar etiquetas en bordes normales sin problemas, pero cuando el borde tiene un estilo aplicado, la etiqueta ya no se aplica.

¿Alguna idea de qué está pasando o cómo solucionarlo?

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

Respuesta1

Los nodos realmente se aplican, sin embargo, no aparecen porque la to pathdeclaración hv pathpierde la \tikztonodesmacro que luego se expandirá a los nodos que la biblioteca recopiló en algún momento quotes.

La definición completa y correcta de hv pathes

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

Los nodos se colocan de forma predeterminada en pos = .5(= midway) a lo largo de la ruta. En líneas normales, esto está en el medio real de la línea. Con los caminos ortogonales -|y |-este está en la esquina. La posición pos = .75(= near end) está en el punto medio de la segunda parte. (Ver tambiénNodo en un camino TikZ articulado.)

La clave swap(o su atajo ') se puede utilizar para colocar un nodo a lo largo de un camino en el otro lado. (El gráfico utiliza internamente la autoopción predeterminada auto=left. La swapclave cambia esto a auto=righty viceversa).

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}

Producción

ingrese la descripción de la imagen aquí

información relacionada