如何更改 Circuitikz 中 +/- 電壓符號與組件的距離?

如何更改 Circuitikz 中 +/- 電壓符號與組件的距離?

在 Circuitikz 中移動 +- 電壓符號答案,他們使用“/tikz/ Circuitikz/電壓/距節點的距離”來設定 +/- 符號距組件(或節點)的距離,當我使用該確切代碼時,它的工作原理如圖所示,但我不明白為什麼我的程式碼似乎不起作用。我是否錯誤地使用了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


  • genericagenericmemristor和會發生這種fullgeneric情況open。我將在下一版本的手冊中記錄它。

相關內容