
答え1
基本的には、 がどれだけ新しいかによって異なりますcircuitikz
。1.2.1 以降では、電圧の座標を使用して、次のような操作を行うことができます。
\documentclass[a4paper,12pt]{article}
\usepackage[EFvoltages, americaninductors, straightvoltages]{circuitikz}
\begin{document}
\begin{circuitikz}
\draw
(0,0) to [open, v, name=O1] (2,0);
\draw [thin, -Triangle] (O1-Vfrom) -- (O1-Vto) node[above, pos=0.2]{$U_1$};
\end{circuitikz}
\end{document}
電圧方向オプションを追加したことに注目してください(警告を確認してください!)。ここにコピーしますマニュアルの関連部分...
答え2
よく理解していただけたと思います。 コマンドを使用してラベルを手動でシフトできます\mkern<value>
...これは単なる例です。
\documentclass[a4paper,12pt]{article}
\usepackage[americaninductors, straightvoltages]{circuitikz}
\begin{document}
\begin{circuitikz}
\draw (0,0) to [open, v^=$U_1$] (2,0);
\draw (0,0) to [open, v^=$\mkern30mu U_2$] (2,0);
\end{circuitikz}
\end{document}
答え3
1つの解決策は、適切な位置にノードを追加し、電圧ラベルを次のように保護されたスペースに置き換えることです。
\documentclass[a4paper,12pt]{article}
\usepackage[americaninductors, straightvoltages]{circuitikz}
\begin{document}
\begin{circuitikz}
\draw
(0,0) to [open, v=\ ] (2,0)
(0.5,0) node[above]{$U_1$};
\end{circuitikz}
\end{document}
しかし、それはあまり賢い解決策ではありません...