我在 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
最简单的方法是不使用circ
和ocirc
定义的形状,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}