CircuiTikz 中的虚线短路

CircuiTikz 中的虚线短路

我在 CircuiTikz 中有一个电路,我想在其中添加虚线短路。我知道\draw[dashed],但这也会在端点处给我虚线。带虚线的电路

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

\begin{document}
\begin{figure}[ht]
    \begin{circuitikz}
        \draw           (0,0)       node[op amp] (opAmp) {};

        \draw           (opAmp.-)   to[short,-] ++(-0.5,0) coordinate (J5);

        \draw[dashed]   (J5)        to[short,*-o] ++(0,2)
    \end{circuitikz}
\end{figure}
\end{document}

有没有办法让端点不变成虚线?

答案1

最简单的方法是不使用circocirc定义的形状,circuitikz而是定义具有相同名称的样式,这样 TikZ 就不会选择形状。

\documentclass[border=5mm]{standalone}
\usepackage{circuitikz}
\tikzset{
  circ/.style={
    shape=circle,
    color/.expanded=\pgfkeysvalueof{/tikz/circuitikz/color},
    draw, fill, solid, inner sep=+0pt,
    minimum size=2*\pgfkeysvalueof{/tikz/circuitikz/nodes width}*\pgfkeysvalueof{/tikz/circuitikz/bipoles/length}
  },
  ocirc/.style={circ, fill=white}
}
\begin{document}
\begin{circuitikz}
  \draw           (0,0)       node[op amp] (opAmp) {};
  \draw           (opAmp.-)   to[short,-] ++(-0.5,0) coordinate (J5);
  \draw[dashed]   (J5)        to[short,*-o] ++(0,2);
\end{circuitikz}
\end{document}

不过,如果你仔细观察,你会发现这条线实际上是由两条线组成的,中间有一个空节点(shortshape)。这就是虚线不一致的原因。如果你这样做,就会变得非常明显

  \draw[dashed] (J5) to[short,*-o] ++(0,1);

答案2

像这样

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

\begin{document}
    \begin{circuitikz}
        \draw           (0,0)       node[op amp] (opAmp) {};

        \draw           (opAmp.-)   to[short,-] ++(-0.5,0) coordinate (J5);

       \draw [dashed] (J5)to[short,-] ++(0,2)coordinate (J6);
       \filldraw(J5)circle(2pt);
       \filldraw[fill=white](J6)circle(2pt);

    \end{circuitikz}
\end{document}

相关内容