CircuiTikZ - オープンドローに沿って電圧ラベルの位置を変更する

CircuiTikZ - オープンドローに沿って電圧ラベルの位置を変更する

2 点間の電圧ラベルの外観を調整する方法はありますか? デフォルトでは、ラベルは$U_1$電圧矢印の中間に配置されますが、電圧矢印の長さに相対するポイント、たとえば 4 分の 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}

サンプル画像

電圧方向オプションを追加したことに注目してください(警告を確認してください!)。ここにコピーしますマニュアルの関連部分...

Circuitikz 1.2.3 マニュアルの抜粋

答え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} 

ここに画像の説明を入力してください

しかし、それはあまり賢い解決策ではありません...

関連情報