我想将信息传递给 pgfkey,该 pgfkey 必须生成一些相对于设置密钥的节点的代码。
在这个例子中,我想要访问节点 (a) 并将另一个节点放在 (a.north east)。 (**)
是调用节点的坐标(a)
,但是我不想传递 (a),密钥必须自己猜测。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\newlength{\MboxL}
\tikzset{/.search also={/tikz},
title/.code={\node[red] at (**) {#1};},
}
\begin{tikzpicture}
\node[draw,title=Nounours] (a) {The} ;
\end{tikzpicture}
\end{document}
答案1
类似于这个答案?(我认为,不code
应该使用append after command
和\pgfextra
,因为否则当前节点就不会“完成”。)我想知道第 17.4 节,特别是这个node also
技巧,是否对你有用。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\tikzset{
title/.style = {
append after command={
\pgfextra{
\node[red,anchor=south] at (\tikzlastnode.north east) (\tikzlastnode-outer) {#1};
}
}
}
}
\begin{document}
\newlength{\MboxL}
\tikzset{/.search also={/tikz},
}
\begin{tikzpicture}
\node[draw,title=Nounours] (a) {The} ;
\node[draw] (b) at (5,0) {The} ;
\node also [label={[above,red,anchor=south west]:marmot}] (b);
\end{tikzpicture}
\end{document}
编辑:稍微清理了一下。