在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}