Circuitikz の +/- 電圧記号とコンポーネントの距離を変更するにはどうすればよいですか?

Circuitikz の +/- 電圧記号とコンポーネントの距離を変更するにはどうすればよいですか?

回路図の+-電圧符号をシフトする回答、彼らは「/tikz/circuitikz/voltage/distance from node」を使用して、+/- 記号がコンポーネント (またはノード) からどれだけ離れているかを設定しました。そのコードを正確に使用すると、示されているとおりに動作しますが、私のコードが動作しない理由がわかりません。ctikzset の使い方が間違っているのでしょうか?

\documentclass{standalone}
\usepackage[siunitx, american, RPvoltages]{circuitikz}

\begin{document}
\begin{circuitikz}
\ctikzset{/tikz/circuitikz/voltage/distance from node=0.3cm}
\draw
    (0,0) to [generic, v<=40<\volt>] (0,3);
\end{circuitikz}

\begin{circuitikz}
\ctikzset{/tikz/circuitikz/voltage/distance from node=1cm}
\draw
    (0,0) to [generic, v<=40<\volt>] (0,3);
\end{circuitikz}

\end{document}

ノードからの距離は異なるが、数値は同じ

答え1

とても親切なユーザー @ferahfeza の提案により、MWE を追加します。

\documentclass[12pt]{standalone}
\usepackage[siunitx, american]{circuitikz}

\begin{document}
\begin{circuitikz}
\ctikzset{bipoles/generic/voltage/distance from node=0.6cm}
\draw
    (0,0) to [generic, v<=40<\volt>] (0,3);
\end{circuitikz}

\begin{circuitikz}
\ctikzset{/tikz/circuitikz/voltage/distance from node=1cm}
\draw
    (0,0) to [generic, v<=40<\volt>] (0,3);
\end{circuitikz}

\end{document}

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

答え2

与えられた答えは有効ですが、いくつか誤解があるように思われるので、ここに回答を追加します。

まず、 --- は\ctikzset{key}(おおよそ) と同等なので\tikzset{/tikz/circuitikz/key}、そのコマンドの使用法は上記では冗長になっています。

次の例を見てください。

\documentclass[12pt]{standalone}
\usepackage[EFvoltages, siunitx, american]{circuitikz}
\begin{document}
\begin{circuitikz}
\draw (-2,0) to [generic, v<=1<\volt>, d-d] ++(0,3);
\ctikzset{voltage/distance from node=1cm}
\draw (0,0) to [generic, v<=2<\volt>, d-d] ++(0,3);
\ctikzset{bipoles/generic/voltage/distance from node=.3cm}
\draw (2,0) to [generic, v<=3<\volt>, d-d] ++(0,3);
\ctikzset{bipoles/generic/voltage/distance from node=1cm}
\draw (4,0) to [generic, v<=4<\volt>, d-d] ++(0,3);
\end{circuitikz}
\end{document}

出力は次のようになります。

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

ご覧のとおり、最初のもの\ctikzsetは何もしていないように見えます --- 1V と 2V のコンポーネントは+との位置が同じです-(実際には、これは大混乱を引き起こしています。読み進めてください)。これは、voltage/distance from nodeキーがデフォルトのものであり、 の場合は に設定されているgenericコンポーネント固有の距離 [*] によって上書きされるためです。意味はここで説明されています --- これは、ノードからコンポーネントまでの比例距離です。bipoles/generic/voltage/distance from node0.4

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

...ご覧のとおり、コマンドは期待どおりに動作します。絶対値を使用すると、distance from nodeリードが小さい場合は自分自身に負担がかかることに注意してください...

技術的な注意: の引数は、distance from node実際には次のような TikZcalc式で使用されます。($(node)!argument!(start of the component)$)

なぜ最初のコマンドが大混乱を引き起こすのか:距離を1cmに設定しているため全てコンポーネントマイナス以下は特別なもの…

ドキュメントのパッチがすぐにリリースされます:https://github.com/circuitikz/circuitikz/pull/438


  • これはgeneric、、、agenericおよびmemristorで発生しますfullgenericopenマニュアルの次のバージョンでこれを文書化します。

関連情報