CircuiTikZ - change position of voltage label along open draw
I hope to have understand well. You can shift the label manually using with the command \mkern<value>
...just this is like an example.
\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}
It depends basically on how new is your circuitikz
. Since 1.2.1 you can use the coordinates for voltages and do something like that:
\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}
Notice that I added the voltage direction option (please look at the warnings!). I copy here the relevant part of the manual...