Tikz 或 CircuitTikz 中与设备长度相关的一些困惑

Tikz 或 CircuitTikz 中与设备长度相关的一些困惑

抱歉,这是一个非常基本的问题,但在任何地方都找不到。希望你能解释一下或给我一个链接。

\documentclass[border={5mm 5mm 5mm 5mm}]{standalone}
\usepackage[american,siunitx]{circuitikz}
\usetikzlibrary{decorations.markings}
\usetikzlibrary{backgrounds}

\begin{document}

\begin{tikzpicture}
 \draw (0,3) to[R, l=$R_1$] ++(3,0) node[npn, anchor=B]{};
\end{tikzpicture}


\end{document}

enter image description here

首先,这个会创建一个带有电阻和晶体管的漂亮电路。据我所知,它从点 (0,3) 开始,放置一个电阻,然后在点 (3,3) 放置一个晶体管。

到目前为止一切顺利。现在如果我将其更改为类似这样的内容。

\draw (0,3) to[R, l=$R_1$] ++(1,0) node[npn, anchor=B]{};

因此,按照上述相同的逻辑,我假设晶体管位于点 (1,3),但图形变成了一些奇怪的东西。

enter image description here

我认为这是因为我将它们之间的距离设置得太小,小于组件长度。

但是,有没有定义电阻、晶体管等的长度的来源?例如,如果你只画一个电阻(我也不知道该怎么做),它会像下面这样画吗?如果是这样,图像中这些标记部分的长度是多少?

enter image description here

答案1

在手册第 33 页中,您可以找到以下内容:

enter image description here

这确实有点隐晦和神秘。组件的大小不取决于它们所在的路径;它们有自己的大小,放置在路径中间,然后连接起来。所以在你的图中,距离由组件决定,并且是固定的百分比bipoles/length,并且X取决于外部路径。

\documentclass[border=10pt]{standalone}
\usepackage[siunitx, RPvoltages]{circuitikz}
\begin{document}
\begin{tikzpicture}[]
    \draw[cyan!30] (0,0) grid[step=1mm] (5,5); 
    \draw[thick, cyan!30] (0,0) grid[step=1cm] (5,5);
    \node [resistorshape] at (2,4){}; 
    \draw (1,3) to[R] (3,3);
    \draw (0,2) to[R] (4,2);
    % just an example: changing bipoles/length should be *global*
    % at least for the current picture.
    \ctikzset{bipoles/length=1cm} % don't do that, use styles!
    \draw[red] (1,1) to[R] (3,1);
\end{tikzpicture}
\end{document}

enter image description here

更详细地说,对于电阻器,核心元件的长度是基本长度的 0.8 倍;您可以在手册的“元件清单”部分找到信息:

enter image description here

对于节点式组件,比如晶体管,情况大致相同。

如果您想改变组件的相对大小,我建议您阅读有关“样式”的章节:

enter image description here

相关内容