TikZ 电路:电阻旋转 90 度

TikZ 电路:电阻旋转 90 度

我对 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}

输出

在此处输入图片描述

相关内容