在 circuitikz 中改变电压源的外观

在 circuitikz 中改变电压源的外观

我更喜欢下图所示的电压源。如何在 circuitikz 中实现这一点?

有一个相同的问题这里但是对于普通的 tikz 来说。我尝试实现他们给出的解决方案,但它似乎无法与 circtuitikz 结合使用。事实上它会产生错误。

在此处输入图片描述

答案1

一个简单的方法是使用open选项o-o

\draw (0,0) to ++(1,0) to[open,o-o,l={$U_\sim$}] ++(1,0) to ++(1,0);

或者,customV可以定义和使用自定义组件:

\draw (3.5,0) to[customV,l={$U_\sim$}] ++(3,0);

在此处输入图片描述

梅威瑟:

\documentclass[border=3mm]{standalone}
\usepackage{circuitikz}

\makeatletter
\pgfcircdeclarebipole{}{\ctikzvalof{bipoles/open/height}}{customV}{\ctikzvalof{bipoles/open/height}}{\ctikzvalof{bipoles/vsource/width}}{
    \pgftransformshift{\pgfpoint{\pgf@circ@res@left}{0pt}}
    \pgfnode{ocirc}{center}{}{}{\pgfusepath{draw}}
    \pgftransformshift{\pgfpoint{2\pgf@circ@res@right}{0pt}}
    \pgfnode{ocirc}{center}{}{}{\pgfusepath{draw}}
}
  \def\pgf@circ@customV@path#1{\pgf@circ@bipole@path{customV}{#1}}
  \compattikzset{customV/.style = {\circuitikzbasekey, /tikz/to path=\pgf@circ@customV@path, label=#1}}
\makeatother

\begin{document}
\begin{circuitikz}
\draw (0,0) to ++(1,0) to[open,o-o,l={$U_\sim$}] ++(1,0) to ++(1,0);
\draw (3.5,0) to[customV,l={$U_\sim$}] ++(3,0);
\end{circuitikz}
\end{document}

相关内容