Circuitikz 有很好的
\draw (a) to[multiwire=n] (b);
选项,在导线上画一条斜线来表示总线宽度。它将斜线和标签 n 放在中间。有没有方便的方法将它放在其他地方?常见的 tikz 选项(如“近端”)不起作用。这里没有其他与多线相关的问题不相关。
答案1
既约翰·科米洛和扎尔科注释:circuitikz
将组件定位在路径坐标的中间to
。更改它并不简单,因为您应该考虑组件大小和当前路径的缩放比例……
作为一种解决方法,如果您需要定位其中的许多,您可以使用一个宏(啊,TeX 的强大功能);下面是一个适用于 0.1 到 0.9 之间位置的肮脏的黑客技术:
\documentclass[border=10pt]{standalone}
\usepackage[siunitx, RPvoltages]{circuitikz}
\newcommand{\mwire}[3]{% args: position (0.1-0.9), label, final coordinate
% remove `node{x}` which is here just for debug
coordinate(tmp1) #3 node{x} coordinate(tmp2)
(tmp1) -- ($(tmp1)!{#1-0.1}!(tmp2)$) to[multiwire=#2] ($(tmp1)!{#1+0.1}!(tmp2)$) -- (tmp2)
}
\begin{document}
\begin{tikzpicture}[]
\draw (0,2) \mwire{0.7}{2}{++(3,0)};
\draw (0,1) \mwire{0.2}{2}{++(3,0)};
\draw (0,0) \mwire{0.7}{4}{++(3,0)} to[R] ++(2,0);
\end{tikzpicture}
\end{document}