如何在 \draw 模式下设置 circuitikz 节点标签位置

如何在 \draw 模式下设置 circuitikz 节点标签位置

\draw当我尝试在模式下定位电路元件的标签时遇到了麻烦。

\documentclass{article}
\usepackage{tikz}
\usepackage[american, siunitx]{circuitikz}

\begin{document}

\begin{figure*}[h]
\centering
\begin{tikzpicture} \draw
(0,0) node[ocirc]{Anode} to[short,i=$i'_D$] (1,0) to[empty diode, v=$v'_D$] 
(3,0) node[ocirc]{Cathode};
%\node at (0,0) [left] {Anode};
%\node at (3,0) [right] {Cathode};
\end{tikzpicture}
\caption*{Figure: Diode}
\end{figure*}

\end{document}

在此处输入图片描述

我能想到的唯一替代方案是放置和标记单个节点(已注释),但我只是想知道是否有更有效的方法。我试过了,node[ocirc, left]但无法编译,我不确定为什么,是不是因为在绘制模式下必须以不同的方式处理节点?

谨致问候,马修

答案1

最好使用label节点。我认为自定义节点类型circuitikz仅用于生成形状,不包括文本。

至于为什么node[ocirc,left]不起作用,您收到的错误消息给出了提示,即它表示east未知。left选项设置了anchor=east,但显然ocirc节点没有定义任何名为的锚点east,因此您会收到错误。

\documentclass{article}
\usepackage[american, siunitx]{circuitikz}

\begin{document}

\begin{figure*}
\centering
\begin{tikzpicture} \draw
(0,0) node[ocirc,label=left:Anode]{} to[short,i=$i'_D$] (1,0) to[empty diode, v=$v'_D$] 
(3,0) node[ocirc,label=right:Cathode]{};
\end{tikzpicture}
\caption*{Figure: Diode}
\end{figure*}

\end{document}

相关内容