- 假设我们想在 (0,0) 和 (2,0) 之间放置一个电阻。
- 此任务使用起来很简单
\usetikzlibrary {circuits.ee.IEC}
:
\draw (0,0) to [resistor={info={ $R=1\Omega$}}] (2cm,0);
如我们所见,电阻的宽度和高度由 IEC 库自动选择。
现在假设我们想使用节点形状在同一位置绘制相同尺寸的电阻。挑战在于猜测内部 xsep 和 ysep。但我们可以通过反复试验来获得相同尺寸的电阻:
\draw [red](0,0) to node[draw,name=res,shape=var resistor IEC,inner xsep = 0.6cm,inner ysep=0.1cm] {} (2,0);
您知道如何使用节点形状命令避免这种线交叉吗?以下是我的代码:
\documentclass[border=0.5cm]{standalone}
\usepackage{tikz}
\usetikzlibrary {circuits.ee.IEC}
\begin{document}
\begin{tikzpicture}
\draw [help lines,xstep=.1cm,ystep=.1cm] (0,0.4) grid (2,-.8);
\begin{scope}[circuit ee IEC,set resistor graphic=var resistor IEC graphic,line width=1]
\draw (0,0) to [resistor={info={ $R=1\Omega$}}] (2cm,0);
\end{scope}
\begin{scope}[yshift=-.7cm,line width=1]
\draw [red](0,0) to node[draw,name=res,shape=var resistor IEC,inner xsep = 0.6cm,inner
ysep=0.1cm] {} (2,0);
\node[anchor=south,text=red]at(res.north){$R=1\Omega$};
\end{scope}
\end{tikzpicture}
\end{document}
答案1
请注意,说出来(A) to node[]{} (B)
和使用有很大不同to[ to_path_style ]
:你所做的是从(A)到(B)画一条线,然后然后绘制路径后将会添加节点。
如果你看看 Ti钾Z 手册中,当他们描述如何添加新形状时(在我的版本中大约第 604 页,当他们描述时/tikz/circuit handle symbol
,解释了将to path
节点作为标记安装在路径中的操作。这可能是一种比circuitikz
(*) 更先进的方法 --- 我认为它会有更好的连接。
如果您尝试单独定位节点,然后连接它,则会遇到连接问题。
\begin{scope}[yshift=-1.4cm,line width=1]
\draw (1,0) node [blue,draw,name=res,shape=var resistor IEC,inner xsep = 0.6cm,inner ysep=0.1cm, name=R]{};
\draw [blue] (0,0) -- (R.west) (R.east) -- (2,0);
\node[anchor=south,text=blue]at(R.north){$R=1\Omega$};
\end{scope}
(*) 这只是一条评论,因为我circuitikz
在这里维护...我现在将删除我的评论,因为我对库内部结构的猜测是错误的circuit
。