在 ciruitikz 图中用 3 行书写

在 ciruitikz 图中用 3 行书写

circuitikz图表上,我希望能够在 3 行上写注释:我当然使用命令在 2 行上写注释

\draw (0,0) to[rmeter, t=GBF, l2=\SI{1}{\kHz} and \SI{0.05}{\V}]

resistance $r$但我无法在rmeter 上添加第三行。

我的 MWE:

\documentclass{article}
\usepackage[european, RPvoltages, straightvoltages]{circuitikz}
\usepackage{siunitx}

\begin{document}
\begin{circuitikz}
\draw (0,0) to[rmeter, t=GBF, l2=\SI{1}{\kHz} and \SI{0.05}{\V}] ++(0,3)  --++(1.5,0) coordinate(charge) to[vR, mirror, invert] ++(0,-3) --++(-1.5,0);
\draw (charge) --++(1.5,0) to[rmeter, t=V] ++(0,-3) --++(-1.5,0);
\end{circuitikz}
\end{document}

答案1

l2标签被放在tabular环境中,因此您可以尝试通过添加两行第二个参数来作弊。但这很危险;在键处理期间,括号会被剥离并重新定位,因此很容易出错。在这种情况下,

   ... and {\SI{0.05}{\V} \\  resistance $r$} 

最近出现circuitikz错误

   ... and \SI{0.05}{\V} \\  resistance $r$

可以工作,但不能保证一定有效。(键值的括号在 1.2.2 和最新版本之间发生了变化;这对用户来说应该是透明的除非做这样的没有记录的事情(是的,我知道我是第一个提出这个建议的人;-)))。

正确的多线方式是使用stackengine,并执行与我在此处对电压表所执行的操作类似的操作:

\documentclass{article}
\usepackage[european, RPvoltages, straightvoltages]{circuitikz}
\usepackage{siunitx}
\usepackage{stackengine}

\begin{document}
\begin{circuitikz}
\draw (0,0) to[rmeter, t=GBF, 
    % this is more or less an hack
    l2=\SI{1}{\kHz} and \SI{0.05}{\V} \\ resistance $r$] ++(0,3)
    --++(1.5,0) coordinate(charge) to[vR, mirror, invert]
    ++(0,-3) --++(-1.5,0);
    \draw (charge) --++(1.5,0) to[rmeter, t=V,
    % better like this
    l = {\Centerstack[l]{{first line} {second line} {third line}}}] ++(0,-3) --++(-1.5,0);
\end{circuitikz}
\end{document}

在此处输入图片描述

相关内容