circuitikz:将标签旋转 90° 并放置在两侧

circuitikz:将标签旋转 90° 并放置在两侧
\documentclass{standalone}
\usepackage[siunitx]{circuitikz}
\begin{document}
    \begin{circuitikz}
    \draw (0,0) to[V, v=$10V$,invert] (0,6) -- (2,6)
    to[R, l_={$ \SI{100}{\kilo\ohm}$},] (2,3)
    to[R, l_={$ \SI{100}{\kilo\ohm}$}] (2,0) 
    -- (0,0);
    \draw (4,3) to [R, l={$R_{\text{probe}}=1$M$\Omega$}] (4,0) -- (2,0);
    \draw[-Latex] (2,3) -- (5,3);
    \node[circ] at (4,3) {}; % Default label (you can customize it)
    \node[above right] at (4,3) {$V_{\text{out}}$};
    \end{circuitikz}
\end{document}

我想将电阻器的标签旋转 90°,并且1$M$\Omega$--> 我想将其放在右侧,将R_{probe}放在左侧(因此两者都旋转 90°)。

我试过:

\draw (4,3) to [R, l_={\rotatebox{90}{$R_{\text{probe}}=1$M$\Omega$}}] (4,0) -- (2,0);

但这个不是居中的 原来的

答案1

一种可能的“纯”circuitikz解决方案(不为标签添加单独的节点)是这样的。

我必须改变绘制组件的方向,因为rotate当它们垂直时,该制度下的标签会遵循该方向。

对于“双方”,我一起使用了label 和nnotation。a

\documentclass[border=3mm]{standalone}
\usepackage[siunitx]{circuitikz}
\begin{document}
    \begin{circuitikz}
    \ctikzset{label/align=rotate}
    \draw (2,0)
    to[R, l=\qty{100}{\kohm}] (2,3)
    to[R, l=\qty{100}{\kohm}] (2,6)  -- (0,6)
    to[V, v<=$10V$] (0,0) -- (2,0);
    \draw (2,0) -- (4,0)
    to [R, l=$R_{\text{probe}}$, a=\qty{1}{\Mohm}] (4,3);
    \draw[-Latex] (2,3) -- (5,3);
    \node[circ] at (4,3) {};
    \node[above right] at (4,3) {$V_{\text{out}}$};
    \end{circuitikz}
\end{document}

在此处输入图片描述

答案2

选项label/align=rotate

\documentclass{standalone}
\usepackage[siunitx]{circuitikz}

\begin{document}
    \begin{circuitikz}
    \draw (0,0) to[V, v=$10V$,invert] (0,6) -- (2,6)
    to[R, l_={$ \SI{100}{\kilo\ohm}$},] (2,3)
    to[R, l_={$ \SI{100}{\kilo\ohm}$}] (2,0) 
    -- (0,0);
    \draw (4,3) to [R, l={$R_{\text{probe}}=1$M$\Omega$}, label/align=rotate] (4,0) -- (2,0);
    \draw[-Latex] (2,3) -- (5,3);
    \node[circ] at (4,3) {}; % Default label (you can customize it)
    \node[above right] at (4,3) {$V_{\text{out}}$};
    \end{circuitikz}
\end{document}

在此处输入图片描述

答案3

根据 siunitx 软件包的文档,\SI不推荐使用该命令。相反,请使用\qty

使用该键。然后使用先前给定的名称的选项name将文本放置在其中。\noderotate=90

此外,$10V$\qty{10}{\volt}$1$M$\Omega$取代\qty{1}{\mega\ohm}

在此处输入图片描述

\documentclass[border=6pt]{standalone}
\usepackage[siunitx]{circuitikz}
\begin{document}
\begin{circuitikz}
\draw (0,0) to[V,v=\qty{10}{\volt}] (0,6)--(2,6) to[R,name=A] (2,3) to[R,name=B] (2,0)--(0,0);
\node[above,rotate=90] at (A.south) {\qty{100}{\kilo\ohm}};
\node[above,rotate=90] at (B.south) {\qty{100}{\kilo\ohm}};
\draw (4,3) to[R,name=C] (4,0)--(2,0);
\node[above,rotate=90] at (C.south) {$R_{\text{probe}}$};
\node[below,rotate=90] at (C.north) {\qty{1}{\mega\ohm}};
\draw[-Latex] (2,3)--(5,3);
\node[circ] at (4,3) {}; % Default label (you can customize it)
\node[above right] at (4,3) {$V_{\text{out}}$};
\end{circuitikz}
\end{document}

相关内容