在标准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
为:1cm
tlinestub
\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 的完整示例。这似乎给出了与 相同的大小tlinestub
。tline
使用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}