在在 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 node
0.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
和會發生這種fullgeneric
情況open
。我將在下一版本的手冊中記錄它。