我如何知道我的 TiKZ 电路元件的方向?

我如何知道我的 TiKZ 电路元件的方向?

我正在尝试为电流和电压源创建自己的符号 - 基本上我希望电流源作为电流方向的环形箭头,电压源作为圆圈内的 + 和 - ,显示电位差的方向。

我已经走得足够远,开始在圆圈上绘制一些东西来创建这些元素,但我无法弄清楚如何正确获取方向 - 请参阅以下示例:

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{circuits.ee.IEC}

\tikzset{set current source graphic = current source IEC graphic}
\tikzset{current source IEC graphic/.style={
    circuit symbol lines,
    circuit symbol size = width 3 height 3,
    shape = generic circle IEC,
    /pgf/generic circle IEC/before background={
        % What do I put here?
        \draw[->,thick] (0,-.5pt) -- (0,.5pt);
    }
}}

\begin{document}
\begin{tikzpicture}[circuit ee IEC,scale=5]
\draw (0,0) to[current source] (2,0) 
            to[current source] (2,2) 
            to[current source] (0,2) 
            to[current source] (0,0);
\end{tikzpicture}
\end{document}

MWE 输出

箭头渲染正常,但无论电路元件的方向如何,它们都指向上方。我希望箭头指向元件的方向,在本例中是电路中的逆时针方向(即右边的是正确的,其他的则不正确)。

我怎样才能做到这一点?

答案1

transform shape按照 Peter Grill 的建议,可以完成这项工作。以下样式定义对我有用。

\tikzset{current source IEC graphic/.style={
    circuit symbol lines,
    circuit symbol size = width 3 height 3,
    shape = generic circle IEC,
    /pgf/generic circle IEC/before background={
        % What do I put here?
        %\draw[->,thick] (0,-.5pt) -- (0,.5pt);
        \draw[->,thick] (-.5pt,0) -- (.5pt,0);
    },
    transform shape
}}

相关内容