自版本以来第3.1.10版TikZ包括这两者名称前缀
和名称后缀
对于局部边界框。由于图片的名称被附加到名称前缀
这将应用两次,这意味着边界框实际上已命名A1A1型
和A2A2型
:
\绘制[红色,->](\i:1)--(A1A1);\绘制[蓝色,->](3,0)++(i:1)--(A2A2);
修复很简单。
我们提供局部边界框
一个空名称,因为我们会将其赋给一个节点,该节点应该使用pic的名称:
\tikzset{%/tikz/局部边界框pics/namedscope-code/.style={code={\tikz@fig@有胡子的\begin{scope}[localboundingbox=]#1\end{scope{}}}
或者,我们通过使用键的PGF版本使用前面的实现\提克兹@无花果@姓名
再一次:
\tikzset{%/pgf/局部边界框pics/namedscope-code/.style={code={\tikz@fig@有胡子的\开始{scope}[/pgf/local-bounding-box/.展开=\tikz@fig@名称]#1\结束{范围}}}
代码
\documentclass[tikz,border=5pt]{独立}\标记字母\tikzset{%/tikz/局部边界框pics/namedscope-code/.style={code={\tikz@fig@有胡子的\begin{scope}[localboundingbox=]#1\end{scope{}}}%\tikzset{%/pgf/局部边界框%pics/namedscope-code/.style={code={\tikz@fig@有胡子的%\开始{scope}[/pgf/local bounding box/.展开=\tikz@fig@名称]#1\结束{范围}}}\制造者\tikzset{pics/.cd,pic a/.style={命名范围代码={\节点[fill=red!20,shape=circle]{A};}}}\开始{文档}\开始{tikzpicture}\(0,0){pica}处的pic(A1);\pic(A2)位于(3,0){pica};\{0,15,…,345}中的每个\i{\绘制[红色,->](\i:1)--(A1);\绘制[蓝色,->](3,0)++(\i:1)-(A2);}\结束{tikzpicture}\结束{文档}