在在 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
组件特定 distance[*] 覆盖。含义解释如下 --- 这是从节点到组件的比例距离:bipoles/generic/voltage/distance from node
0.4
...如您所见,现在命令按预期工作。请注意,如果您使用绝对值,则distance from node
如果引线较小,则您自己承担责任...
技术说明:的参数distance from node
实际上在 TikZ 表达式中使用,calc
例如:($(node)!argument!(start of the component)$)
为什么第一个命令是“造成严重破坏”:因为现在它已经将距离设置为 1cm全部组件减下面是特殊的...
很快将会有一个文档补丁:https://github.com/circuitikz/circuitikz/pull/438
- 这发生在
generic
、ageneric
、memristor
和。我将在下一版手册中记录它fullgeneric
。open