circuitikz 中的异极电池

circuitikz 中的异极电池

这可能是一个简单的问题,但我希望电池正极在左边,默认在右边,

(0,0) to [battery, v=$\varepsilon$] (2,0)

另外,有没有选项circuitikz可以只画一对杆而不是两对?我看到过以下解决方案 circuitikz 中的电池符号 但我很高兴知道是否circuitikz存在解决方案。

答案1

我能想到的最简单的方法就是简单地反转放置的方向battery。因此,\draw (0,0) to [battery, ...] (2,0)您可以使用\draw (2,0) to [battery, ..] (0,0)(如下面的第二个示例所示)。

如果您不想反转放置节点的方向,则可以使用rotate=180,transform shape选项。不幸的是,这最终也会产生文本的镜像,可以通过将 应用于\rotatebox{180}{}电压标签来解决(文本旋转 180 度两次会使文本恢复到原始方向)。默认情况下,这会将方向箭头放在底部。如果您希望将其放在顶部,可以使用,\circuitikzbasekey/bipole/voltage/position =below如以下示例中所示:

在此处输入图片描述

\documentclass{article}
\usepackage{tikz}
\usepackage{circuitikz}

\begin{document}
\begin{tikzpicture}
\draw (0,0) to [battery, v=$\varepsilon$] (2,0) node [right] {Default};
\end{tikzpicture}

\medskip
\begin{tikzpicture}
\draw (2,0) node [right] {Reverse  coordinates} to
    [battery, v=$\varepsilon$,
        \circuitikzbasekey/bipole/voltage/position = below] (0,0) ;
\end{tikzpicture}

\medskip

\begin{tikzpicture}
\draw (0,0) to 
    [rotate=180,transform shape,
        battery, v=\rotatebox{180}{$\varepsilon$},
        \circuitikzbasekey/bipole/voltage/position = below] (2,0) 
    node {Rotate text and symbol};
\end{tikzpicture}
\end{document}

答案2

在 Circuitikz 的最新版本中,您可以使用选项invert来反转双极元件的极点,但它不会旋转标签或指示电位上升的箭头。也就是说,您始终可以使用v<= , v>=小于或大于符号的点作为箭头的方向来设置箭头的方向。

\documentclass{article}
\usepackage{tikz}
\usepackage{circuitikz}

\begin{document}
\begin{tikzpicture}
\draw (0,0) to [battery, v=$\varepsilon$] (2,0) node [right] {Default};
\end{tikzpicture}

\medskip

\begin{tikzpicture}
\draw (0,0) to [battery, v<=$\varepsilon$,invert] (2,0) node [right] {Inverted};
\end{tikzpicture}

\end{document}

结果 结果

请注意,v<=在反转的例子中,箭头指向左边。

附言:抱歉我的英语不好。

答案3

要更改 circuitikz 默认值,你可能需要更改其.sty.tex文件。相反,您可以通过更改组件方向的顺序来更改电池端子的方向。您还可以使用 circuitikz 的标签机制 (l^ 和 l_) 将名称放在组件上方或下方。

\documentclass{article}
\usepackage{tikz}
\usepackage[european,american]{circuitikz}
\begin{document}

\begin{tikzpicture}
    \draw (0,0) to [battery, l^={$\varepsilon$}] (2,0);
\end{tikzpicture}

\begin{tikzpicture}
    \draw (2,0) to [battery, l_={$\varepsilon$}] (0,0);
    \draw (4,0) to [battery, l^={$\varepsilon$}] (3,0);
\end{tikzpicture}
\end{document}

相关内容