在 tikz 中可视化标记坐标

在 tikz 中可视化标记坐标

有时能够看到\coordinates您定义的对象在图中的实际位置非常有用。我使用了一种我认为是 hack 的方法,即定义一个命令,然后在最终运行中更改定义(见下文)。

第一个问题是,我希望引脚不会改变图表中的任何东西(在这种情况下,它们至少会改变边界框)。是否可以有一种“覆盖”引脚?我检查过,添加overlay到引脚选项不起作用...

第二个... 有没有更好的方法?例如,style可以将其应用于every coordinate

\documentclass[border=10pt]{standalone}
\usepackage{circuitikz}
\begin{document}
    % \def\coord(#1){coordinate(#1)}
    \def\coord(#1){node[pin={[red]45:#1}](#1){}}
    \begin{circuitikz}[american, 
        ]
        \draw (0, 0) to [sV=$v_s$] ++(0,-5) node[ground](GND){};
        \draw (0, 0) to[short,-*] ++(2,0) \coord(inb) to[R, l=$R_1$] (inb |- GND) node[ground]{};
        \draw (inb) to [short] ++(2,0) \coord(re) to [R=$r_e$, i=$i_e$, -o] ++(0, -2.5) \coord(q1e) node[below right]{E};
        \draw (q1e) to[R, l=$R_{E1}$] (q1e |- GND) node[ground]{};
        \draw (q1e) to[short] ++(2,0) \coord(q1e2) to[R, l=$R_{E2}$] (q1e2 |- GND) node[ground]{};
        \draw (re) to [short] (q1e2 |- inb) to[short]  ++(2,0) \coord(alpha) to[american controlled current source,  l=$\alpha i_e$, -o] ++(0, -2.5) \coord(q1c);
        \draw (q1c) to[R=$R_C$] (q1c |- GND) node[ground]{};
        \draw (q1c) to[short, -o] ++(1,0) node[right]{$v_o$};
    \end{circuitikz}
\end{document}

结果

答案1

添加overlay选项时,它只会添加到节点,而不会添加到引脚的边缘。为此,您必须pin edge=overlay在顶部添加选项。

\documentclass[border=10pt]{standalone}
\usepackage{circuitikz}
\begin{document}
    % \def\coord(#1){coordinate(#1)}
    \def\coord(#1){node[pin={[pin edge=overlay,overlay,red]45:#1}](#1){}}
    \begin{circuitikz}[american, 
        ]
        \draw (0, 0) to [sV=$v_s$] ++(0,-5) node[ground](GND){};
        \draw (0, 0) to[short,-*] ++(2,0) \coord(inb) to[R, l=$R_1$] (inb |- GND) node[ground]{};
        \draw (inb) to [short] ++(2,0) \coord(re) to [R=$r_e$, i=$i_e$, -o] ++(0, -2.5) \coord(q1e) node[below right]{E};
        \draw (q1e) to[R, l=$R_{E1}$] (q1e |- GND) node[ground]{};
        \draw (q1e) to[short] ++(2,0) \coord(q1e2) to[R, l=$R_{E2}$] (q1e2 |- GND) node[ground]{};
        \draw (re) to [short] (q1e2 |- inb) to[short]  ++(2,0) \coord(alpha) to[american controlled current source,  l=$\alpha i_e$, -o] ++(0, -2.5) \coord(q1c);
        \draw (q1c) to[R=$R_C$] (q1c |- GND) node[ground]{};
        \draw (q1c) to[short, -o] ++(1,0) node[right]{$v_o$};
    \end{circuitikz}
\end{document}

在此处输入图片描述

相关内容