Como devo ler a "distância do rótulo" atual do TikZ?

Como devo ler a "distância do rótulo" atual do TikZ?

Decidi que não gosto do comportamento da funcionalidade do rótulo do TikZ. Quero obter rótulos posicionados usando a âncora oposta ao ângulo especificado do rótulo. Assim, por exemplo, se o rótulo for indicado na lista de opções do nó, o rótulo deverá ser posicionado no ângulo 210 usando sua âncora [..., label = {210: my label}, ...](do rótulo) (210 +/- 180 é 30 módulo 360). 30(A lógica de posicionamento do rótulo TikZ não faz isso. Em vez disso (de acordo com o manual 3.00), ele escolhe uma das 8 âncoras north, north east, east, ..., north westpara o rótulo, dependendo do ângulo.)

Como os nós rotulados serão criados dentro de uma macro e não digitando o código TikZ diretamente, parecia que seria simples o suficiente criar eu mesmo o nó do rótulo, sem realmente usar a funcionalidade "rótulo". No entanto, ainda é preciso acertar label distance. E quero que a distância do rótulo responda às alterações na chave TikZ label distance, assim como os rótulos TikZ reais fazem.

No entanto, não parece haver uma chave /tikz/ ou /pgf/ que armazene o arquivo label distance. Existe /tikz/label distance, mas aparentemente é usado para definir a distância da etiqueta em vez de armazená-la; se você tentar ler usando \pgfkeysgetvalue, você obterá \relax. Olhando o código do TikZ, parece que a distância atual do rótulo está armazenada em uma macro chamada \tikz@label@distance. Então tentei um código que copia o valor desta macro e o usa para posicionar o rótulo substituto, e parece funcionar corretamente.

Minha pergunta é: é assim que eu "deveria" determinar a distância do rótulo? Com isso quero dizer que o que estou fazendo aqui é olhar "nos bastidores" do Tikz/PGF e mexer em seus componentes internos. Se uma versão posterior do TikZ/PGF renomear a \tikz@label@distancemacro ou começar a usar, digamos, uma chave PGFkeys para armazená-la, meu código será quebrado. Existe uma maneira melhor?

informação relacionada