pgfplots/pics/apple silicon/错误

pgfplots/pics/apple silicon/错误

在执行下面的最小示例时,Pgfplots 会告知以下错误“包 pgf 错误:没有已知名为“B1”的形状。”

编译是通过在装有 Apple Silicon 的 MacBook Pro 中运行的 2024 mactex 完成的。不确定处理器架构、tex 发行版还是其他原因导致了问题。在装有 Intel 处理器和 2021 mactex 发行版的 MacBook Pro 中编译时,代码可以正常工作。有什么想法或帮助可以解决这个问题吗?

\documentclass{standalone}
\usepackage{tikz, pgfplots}

\tikzset{bus/.pic={
\draw[fill] (-0.7,-0.05) rectangle (0.7,0.05);
}}

%
\begin{document}
\begin{tikzpicture}
\pic[scale = 0.5, rotate=90] (B1) at (0,0)  {bus};
\pic[scale = 0.5, rotate=90]  (B2)  at (4,0) {bus};
\draw (B1) -- (B2);
\end{tikzpicture}
\end{document}

答案1

存在语法错误,您将其与节点混淆了。必须在 pic 创建代码中指明前缀,以便稍后使用它。

这是一个允许您访问图片的示例。

在此处输入图片描述

\documentclass[border=5mm]{standalone}
\usepackage{tikz, pgfplots}

\tikzset{bus/.pic={
\draw[fill] (-0.7,-0.05) rectangle (0.7,0.05);
 % prefix which allows access to the pic
\coordinate (-center) at (0,0);
}}


\begin{document}


\begin{tikzpicture}
\pic [scale = 0.5, rotate=90] (B1) at (0,0)  {bus};
\pic [scale = 0.5, rotate=90] (B2)  at (4,0) {bus};
\draw (B1-center) -- (B2-center);
\end{tikzpicture}
\end{document}

相关内容