
El siguiente MWE funciona como se esperaba:
\documentclass[tikz, margin=3mm]{standalone}
\usetikzlibrary{quotes}
\begin{document}
\begin{tikzpicture}
\path (0,0) edge node[auto] (label) {label} (1,1);
\draw (label.south west) rectangle (label.north east);
\end{tikzpicture}
\end{document}
sin embargo, cuando intento reemplazar la línea de código
\path (0,0) edge node[auto] (label) {label} (1,1);;
con
\path (0,0) edge ["label",name=label] (1,1);
Recibo el error "no se conoce ninguna forma llamada fr0"...
Esperaba que, según la descripción en el manual de TikZ (pág. 237), fuera posible agregar un nombre entre comillas:
En detalle, cuando se carga la biblioteca de comillas, cada vez que un par clave-valor en una lista de opciones pasadas a un borde o un comando de ruta comienza con ", el par clave-valor en realidad debe ser una cadena de la siguiente forma:
"<text>"’<options>
Esta cadena se transforma en lo siguiente:
edge node=node [every edge quotes]<options>]{<text>}
Preguntas:
- ¿Es posible agregar un nombre a la cita del borde, que luego se puede usar como coordenadas como se muestra en la imagen de arriba?
- si es posible, ¿cómo hacer esto?
Respuesta1
Su código no sigue la sintaxis especificada.
Trabajando con un ejemplo más mínimo:
\documentclass[tikz]{standalone}
\usetikzlibrary{quotes}
\begin{document}
\begin{tikzpicture}
\path (0,0) edge ["My name is Harry."{name=Harry}] (1,1);
\draw (Harry.south west) rectangle (Harry.north east);
\end{tikzpicture}
\end{document}
Cuando tu dices
<options>, "<text>"
<options>
aplicar al edge
no el edge quotes
. Debes usar
"<text>"<options>
como dice el manual si desea <options>
aplicar en edge quotes
lugar de edge
.
Comparar
\path (0,0) edge [blue, "My name is Harry."{name=Harry, red}] (1,1);
que se aplica red
a My name is Harry.
y blue
para el edge
. Por supuesto, a menudo esta diferencia es irrelevante porque los nodos en los caminos heredan atributos de esos caminos. Entonces si solo dices
\path (0,0) edge [blue, "My name is Harry."{name=Harry}] (1,1);
ambos Harry
y edge
lo serán blue
.
Pero esto no se debe a que blue
se aplique directamente aHarry
sino sólo a que los nodos en las rutas heredan colores de esas rutas de forma predeterminada. Sin embargo, los nombres no se heredan de esta forma. Por lo tanto, si quieresnombre Harry
en vez decoloranteél, debe utilizar la sintaxis especificada en el manual.