![如何在 \draw 模式下设置 circuitikz 节点标签位置](https://linux22.com/image/361712/%E5%A6%82%E4%BD%95%E5%9C%A8%20%5Cdraw%20%E6%A8%A1%E5%BC%8F%E4%B8%8B%E8%AE%BE%E7%BD%AE%20circuitikz%20%E8%8A%82%E7%82%B9%E6%A0%87%E7%AD%BE%E4%BD%8D%E7%BD%AE.png)
\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}