无法获取两侧的电路元件标签

无法获取两侧的电路元件标签

我无法让尝试重新创建的电路同时在电阻的两侧显示电阻的标签(例如 R1、R2 等)及其值(例如 1.0kΩ、5.6kΩ 等),如下所示:

在此处输入图片描述

我目前的电路及相关封装说明:

\usepackage[siunitx, american]{circuitikz}

\begin{center}
    \begin{circuitikz}\draw
        (0,0) to[V=12<\volt>] (0,4) -- (0,6)
              to[R=$R_1$, l=1.0<\kilo\ohm>] (8,6) -- (8,4)
              to[R=$R_L$, l=1.0<\kilo\ohm>, *-*] (8,0)
              to[R=$R_5$, l^=1.0<\kilo\ohm>] (4,0)
              to[R=$R_4$, l^=1.0<\kilo\ohm>] (0,0);
        \draw
        (0,4) to[R=$R_2$, l=1.0<\kilo\ohm>] (4,4)
              to[R=$R_3$, l=1.0<\kilo\ohm>] (8,4);
        \draw (4,4) to[R=$R_6$, l=5.6<\kilo\ohm>] (4,0);
        \draw (0,-1) -- node[ground]{} (0,0);
    \end{circuitikz}
\end{center}

在此处输入图片描述

据我所知,我已经构建了电阻器,就像我迄今为止在网上找到的其他示例一样,但它仍然没有显示第二个标签。

我是不是丢失了一个包裹,或者我误解了什么?

顺便提一下,您可能会注意到,底部边缘的两个电阻的标签并没有像我的 LaTeX 所要求的那样被强制放置在电阻上方。

答案1

在定义标签位置时需要进行大量的手动调整......

\documentclass[border=3mm,
               many,
               prewiev]{standalone}
\usepackage[siunitx]{circuitikz}

    \begin{document}
    \begin{circuitikz}\draw
        (0,0) to[V=12<\volt>] (0,4) -- (0,6)
              to[R=$R_1$]       node[pos=0.05,below left=1.5ex] {\SI{1.0}{\kilo\ohm}} (8,6) -- (8,4)
              to[R=$R_L$, *-*]  node[pos=-0.05,above left=1.5ex] {\SI{1.0}{\kilo\ohm}}    (8,0)
              to[R=$R_5$]       node[pos=0.1,above right=1.5ex] {\SI{1.0}{\kilo\ohm}} (4,0)
              to[R=$R_4$]       node[pos=0.1,above right=1.5ex] {\SI{1.0}{\kilo\ohm}} (0,0);
        \draw
        (0,4) to[R=$R_2$]       node[pos=0.1,below left=1.5ex] {\SI{1.0}{\kilo\ohm}} (4,4)
              to[R=$R_3$]       node[pos=0.1,below left=1.5ex] {\SI{1.0}{\kilo\ohm}} (8,4);
        \draw (4,4) to[R=$R_6$] node[pos=-0.05,above left=1.5ex] {\SI{1.0}{\kilo\ohm}}  (4,0);
        \draw (0,-1) -- node[ground]{} (0,0);
    \end{circuitikz}
    \end{document}

在此处输入图片描述

答案2

对于偶尔使用的情况,可以通过命名双极子并将另一个标签节点附加到双极子的锚点来完成,而无需进行手动定位调整:

\documentclass[border=2mm]{standalone}
\usepackage[siunitx,american]{circuitikz}

\begin{document}
\begin{circuitikz}
  % for one-off usage:
  \draw (0,0) to[R=1.0<\kilo\ohm>,n=R1] ++(2,0) (R1.s) node[below] {$R_1$};
\end{circuitikz}
\end{document}

在此处输入图片描述

但是这种用法不太方便。由于circuitikz实现方式的原因,我还没有找到在绘制双极点时添加两个标签的方法。

如果您打算更频繁地使用它,可以将其打包成一个方便的宏。有了更多关于您所需语法的信息,我也许能帮上忙。

答案3

我不确定您是否可以有两个标签(一个是能够的,另一个是在下面),但您可以将它们组合成一个标签,就像我对红色标签所做的那样:

在此处输入图片描述

要将蓝色的离子移到顶部,您需要使用下划线,因为您正在绘制右到左

笔记:

代码:

\documentclass{article}
\usepackage[siunitx, american]{circuitikz}

\begin{document}

\begin{center}
    \begin{circuitikz}\draw
        (0,0) to[V=12<\volt>] (0,4) -- (0,6)
              to[R, l=\mbox{$R_1=\SI{1.0}{\kilo\ohm}$}, red] (8,6) -- (8,4)
              to[R=$R_L$, l=2.0<\kilo\ohm>, *-*] (8,0)
              to[R=$R_5$, l_=3.0<\kilo\ohm>, blue] (4,0)
              to[R=$R_4$, l_=4.0<\kilo\ohm>, blue] (0,0);
        \draw
        (0,4) to[R=$R_2$, l=5.0<\kilo\ohm>] (4,4)
              to[R=$R_3$, l=6.0<\kilo\ohm>] (8,4);
        \draw (4,4) to[R=$R_6$, l=5.6<\kilo\ohm>] (4,0);
        \draw (0,-1) -- node[ground]{} (0,0);
    \end{circuitikz}
\end{center}
\end{document}

相关内容