Circuitikz 疑问如何让电压标签往左边走?

Circuitikz 疑问如何让电压标签往左边走?

MWE 就在这里。

 \documentclass{standalone}
 \usepackage{circuitikz}
 \begin{document}
   \begin{circuitikz}[european]
   \ctikzset{v/.append style={/tikz/american voltages}}
   \draw (0,0) to[vsource=$u_\mathrm{S}$] (0,-3);
   \end{circuitikz}
\end{document}

在此处输入图片描述

当我使用 'vsource,l_=' 时得到了错误的结果

\documentclass{standalone}
\usepackage{circuitikz}
\begin{document}
   \begin{circuitikz}[european]
   \ctikzset{v/.append style={/tikz/american voltages}}
   \draw (0,0) to[vsource,l_=$u_\mathrm{S}$] (0,-3);
   \end{circuitikz}
\end{document}

在此处输入图片描述 您可以看到缺少“+”和“-”。如何以欧式风格和此 ctikzset 获得正确的结果?

答案1

Qite 很简单,只需替换vsource=$u_\mathrm{S}$vsource, v_=$u_\mathrm{S}$

 \documentclass[margin=3mm]{standalone}
 \usepackage{circuitikz}
 
 \begin{document}
   \begin{circuitikz}[european]
   \ctikzset{v/.append style={/tikz/american voltages}}
   \draw (0,0) to[vsource, v_=$u_\mathrm{S}$] (0,-3);
   \end{circuitikz}

\end{document}

在此处输入图片描述

答案2

参照第 3.1.2 节circuitikzmanual.pdf,我们可以使用预定义的边框锚点来手动绘制符号。

\documentclass{standalone}
\usepackage{circuitikz}
\begin{document}
\begin{circuitikz}[european]
\ctikzset{v/.append style={/tikz/american voltages}}
\draw (0,0) to (0,-3);
\node [vsourceshape, rotate=90, name=vs] at (0,-1.5) {};
\node at (vs.45) {$+$};
\node at (vs.135) {$-$};
\node[left] at (vs.90) {$u_{S}$};
\end{circuitikz}
\end{document}

相关内容