我对 TikZ 电路库有疑问。以下代码生成一个电路,但电阻旋转了 90 度:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{circuits.ee.IEC}
\begin{document}
\begin{tikzpicture} [circuit ee IEC]
\node (pow) [battery] at (0,0) {};
\node (res) [resistor] at (-1,1) {};
\draw (pow) -| (res) -- (-1,2);
\end{tikzpicture}
\end{document}
电阻的长边与线垂直。如何改变它,使长边沿着导线?
答案1
当您在实际绘制连接这些节点的线之前放置节点时,这些节点可能完全不知道它们的旋转。这只有在to
内部使用库的路径中才有可能markings
,这使得节点可以放置在该线上。(请参阅/pgf/decoration/mark connection node
第 30.5 节“任意标记”的末尾,第 331 页。)
您可以使用以下代码轻松构建路径,请注意,我at end
曾经
- 将电池放在
(0,0)
- 而没有其后面的部分线(如您的示例所示)。
如果不付出一点努力,就不可能以同样的方式使用|-
或(参见第二张 TikZ 图片)。-|
代码
\documentclass[tikz]{standalone}
\usetikzlibrary{circuits.ee.IEC}
\begin{document}
\begin{tikzpicture}[circuit ee IEC]
\begin{scope}[red]
\node (pow) [battery] at (0,0) {};
\node (res) [resistor] at (-1,1) {};
\draw (pow) -| (res) -- (-1,2);
\end{scope}
\draw (-1,2) to[resistor] (-1,0) to[battery={at end}] (0,0);
\end{tikzpicture}
\begin{tikzpicture}[circuit ee IEC]
\begin{scope}[red]
\node (pow) [battery] at (0,0) {};
\node (res) [resistor] at (-1,1) {};
\draw (pow) -| (res) -- (-1,2);
\end{scope}
\draw (-1,2) to[resistor={at end}] (-1,1) to (-1,1 |- 0,0) to [battery={at end}] (0,0);
\end{tikzpicture}
\end{document}