
Decidí que no me gusta el comportamiento de la funcionalidad de etiquetas de TikZ. Quiero obtener etiquetas que se coloquen utilizando el ancla opuesta al ángulo de etiqueta especificado. Entonces, por ejemplo, si la etiqueta se indicaría en la lista de opciones del nodo, entonces [..., label = {210: my label}, ...]
la etiqueta debe colocarse en el ángulo 210 usando su 30
anclaje (la etiqueta) (210 +/- 180 es 30 módulo 360). (La lógica de posicionamiento de etiquetas de TikZ no hace esto. En cambio (según el manual 3.00) elige uno de los 8 anclajes north
, north east
, east
, ..., north west
para la etiqueta, dependiendo del ángulo).
Dado que los nodos etiquetados se crearán dentro de una macro y no escribiendo el código TikZ directamente, parecía que sería bastante sencillo crear el nodo de etiqueta yo mismo sin utilizar la funcionalidad de "etiqueta". Sin embargo, todavía hay que acertar label distance
. Y quiero que la distancia de la etiqueta responda a los cambios en la clave TikZ label distance
, tal como lo hacen las etiquetas TikZ reales.
Sin embargo, no parece haber una clave /tikz/ o /pgf/ que almacene el archivo label distance
. Lo hay /tikz/label distance
, pero aparentemente se usa para establecer la distancia de la etiqueta en lugar de almacenarla; si intentas leerlo usando \pgfkeysgetvalue
, obtendrás \relax
. Al revisar el código de TikZ, parece que la distancia de la etiqueta actual está almacenada en una macro llamada \tikz@label@distance
. Así que probé un código que copia el valor de esta macro y lo usa para colocar la etiqueta sucedánea, y parece funcionar correctamente.
Mi pregunta es: ¿es esta la forma en que "debería" determinar la distancia de la etiqueta? Con esto quiero decir que lo que estoy haciendo aquí es mirar "debajo del capó" de Tikz/PGF y juguetear con sus partes internas. Si una versión posterior de TikZ/PGF cambia el nombre de la \tikz@label@distance
macro o comienza a usar, digamos, una clave PGFkeys para almacenarla, mi código se romperá. ¿Existe una mejor manera?