考虑以下节点:
\node (foo) [draw] { This is a fancy caption };
我试图将宽度存储foo
在一个变量中,以便我可以相应地设置其他节点的宽度。这种方法对我有用:
\path let \p1=($(foo.west)-(foo.east)$), \n1 = {veclen(\p1)-\pgflinewidth} in
node (bar) [draw, minimum width=\n1] { Sor };
问题是它\n1
不是持久的,也就是说,我不能将它用于下一个节点,而每次我都需要提前调用 let。
是否可以将\n1
其存储在变量中以便以后可以访问?像这样:
\def\mywidth{\n1} % pseudocode --> this doesn't work
答案1
\documentclass[border=3mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{math,calc}
\begin{document}
\begin{tikzpicture}
\node(foo) [draw] { This is a fancy caption };
\tikzmath{
coordinate \wNode;
\wNode1=(foo.east) - (foo.west);
\n1= {veclen(\wNodex1,\wNodey1) - \pgflinewidth};
}
\node[draw=red,opacity=0.5,minimum width=\n1 pt] {};
\end{tikzpicture}
\end{document}