如何改变 circuitikz 中 +/- 电压符号与元件的距离?

如何改变 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组件特定 distance[*] 覆盖。含义解释如下 --- 这是从节点到组件的比例距离:bipoles/generic/voltage/distance from node0.4

在此处输入图片描述

...如您所见,现在命令按预期工作。请注意,如果您使用绝对值,则distance from node如果引线较小,则您自己承担责任...

技术说明:的参数distance from node实际上在 TikZ 表达式中使用,calc例如:($(node)!argument!(start of the component)$)

为什么第一个命令是“造成严重破坏”:因为现在它已经将距离设置为 1cm全部组件下面是特殊的...

很快将会有一个文档补丁:https://github.com/circuitikz/circuitikz/pull/438


  • 这发生在genericagenericmemristor和。我将在下一版手册中记录它fullgenericopen

相关内容