我想在 circuitikz 中创建一个新命令,该命令创建一条末尾带有箭头的总线。代码如下:
\newcommand{\busLineWithArrow}[3]{\draw (#1) \to[multiwire=#3] (#2) [arrow];}
\begin{circuitikz}
% defined nodes named point A and B in this region
\busLineWithArrow{pointA}{pointB}{64}
\end{circuitikz}
我在 overleaf 中得到的错误是:
软件包 tikz 错误:放弃此路径。您忘记了分号吗?
问题存在于\to[multiwire=#3]
命令中,当我用它替换它时,--
我看到末尾有一条带箭头的线。
答案1
这可能就是你要找的。主要的错误是之前的反斜杠to
和对 Ti 中箭头工作原理的误解钾Z。
\documentclass{article}
\usepackage{circuitikz}
\newcommand{\busLineWithArrow}[3]{\draw (#1) to[multiwire=#3] (#2) node[inputarrow]{};}
\begin{document}
\begin{circuitikz}
% defined nodes named point A and B in this region
\coordinate (pointA) at (0,0);
\coordinate (pointB) at(3,0);
\busLineWithArrow{pointA}{pointB}{64}
\end{circuitikz}
\end{document}
(还请注意,这是一个可以编译的最小、完整的示例,也是在此处提问的首选方式)。
最后,关于箭头的评论,请查看此代码片段(已评论!)和 Ti钾Z 手册https://tikz.dev/tikz-arrows#pgf./pgf/tips:
\documentclass{article}
\usepackage{circuitikz}
\begin{document}
\begin{circuitikz}
% arrow is a path global thing, and it's applied only to the
% last subpath!
\draw (0,2) -- ++(1,0) ++(1,0) -- ++(1,0) [<-];
% it doesn't matter where you put the arrow option...
\draw [<-] (0,1) -- ++(1,0) ++(1,0) -- ++(1,0);
% so... this could surprise you
\draw [<-] (0,0) to[R] ++(3,0);
\end{circuitikz}
\end{document}