Получить ширину строки и внутреннюю sep узла TikZ

#tikz

#tikz

Вопрос:

Возможно ли получить узел inner sep и line width использовать дерево ключей? Мой точный вариант использования приведен ниже.

Я хочу найти координаты красных меток на изображении ниже, но не используя метод, который я использовал ниже. По сути, я хочу, каким был бы north east якорь (или какой-либо другой якорь на прямоугольнике), если бы он находился в середине линии границы вместо внешнего края, а также если бы он лежал на содержимом узла перед inner sep добавлением. Я не хочу использовать повторяющиеся «фантомные» узлы, как показано ниже, потому что в моем случае использования содержимое узла может быть беспорядочным.

Я также понимаю, что могу просто сохранить line width и inner sep глобально, используя pgfmathsetlength{}{} , применяя их к узлу и используя те же макросы для навигации относительно north east или аналогичным образом, определяя пользовательские ключи. Но я бы действительно хотел напрямую спросить узел, как если бы эти значения были указаны как литералы в параметрах узла, например node [inner sep=1.2em] {}; .

Изображение:

изображение

Код:

 documentclass{standalone}
usepackage{tikz}

begin{document}
begin{tikzpicture}

  node [draw, line width=5pt, inner sep=8pt] (A) {foo};

  node [draw=cyan, line width=2pt, inner sep=8pt] (B) {phantom{foo}};
  node [line width=0pt, inner sep=0pt] (C) {phantom{foo}};
  node [line width=0pt, inner sep=8pt] (D) {phantom{foo}};

  % Basically I don't want to use nodes C and D, I want everything relative to A
  draw [red] plot [mark=x] coordinates { (C.north east) };
  draw [red] plot [mark=x] coordinates { (D.north east) };
  draw [green] plot [mark=x] coordinates { (A.north east) };

end{tikzpicture}
end{document}
  

Комментарии:

1. Я думаю, этот вопрос имеет отношение к подходу, который я пытаюсь использовать: tex.stackexchange.com/questions/15204 /…

2. Вы можете получить больше ответов на этот вопрос на tex.stackexchange.com .