
Есть ли способ настроить вид метки напряжения между двумя точками? По умолчанию метка $U_1$
будет размещена посередине стрелки напряжения, но я хочу, чтобы она отображалась в точке относительно длины стрелки напряжения, например, на четверти пути или на 70% пути.
\usepackage[americaninductors, straightvoltages]{circuitikz}
\begin{document}
\begin{circuitikz}
\draw (0,0) to [open, v^=$U_1$] (2,0);
\end{circuitikz}
\end{document}
решение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
одно из решений — дополнительный узел в правильном положении и замена метки напряжения на защищенное пространство, как это
\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}
но это не очень умное решение...