设置固定值bipoles/length

设置固定值bipoles/length

在标准circuitikz设置中,tlinestub与标准传输线相比,(开路传输线)似乎有点太大tline。可以使用选项bipoles/length对所有组件进行缩放,也可以在作为选项传递时单独进行缩放。

\documentclass{standalone}
\usepackage{circuitikz}

\begin{document}
\begin{circuitikz}
\draw (0,0)
 to[tline] (2,0) node[tlinestub] {};

\draw (4,0)
 to[tline] (6,0);

\ctikzset{bipoles/length=1cm} % change bipole length to scale tlinestub suitably
\node[tlinestub] at (6,0) {};
\ctikzset{bipoles/length=1.4cm} % reset to default value

% Alternative: \node[tlinestub,/tikz/circuitikz/bipoles/length=1cm] at (6,0) {}; 

\end{circuitikz}
\end{document}

左侧部分演示了标准缩放,而右侧版本则具有更正缩放因子。是否有选项可以将此缩放应用于所有 tlinestubs,最好相对于设置bipoles/length

在此处输入图片描述

答案1

我相信这every tlinestub node/.style={circuitikz/bipoles/length=1cm}会达到你想要的效果。

设置固定值bipoles/length

以下示例针对形状的所有节点设置bipoles/length为:1cmtlinestub

\documentclass{standalone}
\usepackage{circuitikz}

\tikzset{every tlinestub node/.style={circuitikz/bipoles/length=1cm}}

\begin{document}
\begin{circuitikz}
% Automatic way using the above \tikzset{every tlinestub node/.style={...}}:
\draw (0,0)
 to[tline] (2,0) node[tlinestub] {};

% Manual way from your example:
\draw (4,0)
 to[tline] (6,0);

\ctikzset{bipoles/length=1cm} % change bipole length to scale tlinestub suitably
\node[tlinestub] at (6,0) {};
\ctikzset{bipoles/length=1.4cm} % reset to default value

\end{circuitikz}
\end{document}

输出

更改也可以按照每个circuitikz环境的方式进行:

\begin{circuitikz}[every tlinestub node/.style={circuitikz/bipoles/length=1cm}]

(...)

\end{circuitikz}

应用比例因子bipoles/length

根据您在评论中的请求,如果您希望将给定的比例因子自动应用于bipoles/length所有tlinestub形状的节点,您可以执行以下操作:

\makeatletter
\tikzset{every tlinestub node/.style={
   circuitikz/bipoles/length=〈factor〉\pgf@circ@Rlen}
}
\makeatother

(我没有找到更干净的方法来访问的当前值bipoles/length:请参见tex/generic/circuitikz/pgfcirc.defines.tex第 140 行左右。)

这是比例因子为 0.75 的完整示例。这似乎给出了与 相同的大小tlinestubtline使用bipoles/length=1cm比例因子 0.714(近似为 1/1.4)可以获得 ,但这似乎有点太小了。

\documentclass{standalone}
\usepackage{circuitikz}

\makeatletter
\tikzset{every tlinestub node/.style={
   circuitikz/bipoles/length=0.75\pgf@circ@Rlen}
}
\makeatother

\begin{document}

\begin{circuitikz}
\draw (-1,0) to[tline] (2,0) node[tlinestub] {};

\ctikzset{bipoles/length=3cm}   % make it bigger
\draw[yshift=-1cm] (-1,0) to[tline] (2,0) node[tlinestub] {};

\ctikzset{bipoles/length=1.4cm} % restore the circuitikz default
\draw[yshift=-2cm] (-1,0) to[tline] (2,0) node[tlinestub] {};
\end{circuitikz}

\end{document}

输出

相关内容