这是代码。
\documentclass[12pt,letterpaper]{article}
\usepackage[left=20mm,top=30mm,bottom=30mm,right=20mm]{geometry}
\usepackage[siunitx]{circuitikz} % circuit package and include electrical units in our labels
\begin{document}
\begin{center}
\begin{circuitikz} [american voltages] \draw
(5,0) to
(5,3) to [V, v<=15<\volt>, a = $V_{source}$] (-1,3) --
(-1,0) -- (1,0) to [pR, l = $Load$, a = 50k$\Omega$] (3,0) -- (5,0)
;
\end{circuitikz}
\end{center}
\end{document}
红色框中标记的电阻就是我想要实现的。
我尝试过使用rotate
和yscale
,但它们都不起作用。我该如何调整电阻的长度?
答案1
作为@marijn 答案的补充:
\documentclass[12pt,margin=3mm]{standalone}
\usepackage[siunitx]{circuitikz}
\usetikzlibrary{arrows.meta}
\begin{document}
\begin{circuitikz} [american voltages,
> = Straight Barb
]
\ctikzset{resistors/width=1.6, resistors/zigs=7}
\draw (0,0) to [V=15<\volt>, a = $V_{\mathrm{source}}$] ++ (-4,0)
-- ++ (0,-3)
to [pR, a = Load, l = 50<\kilo\ohm>, mirror, name=R] ++ (4,0)
-- (0,0)
;
\draw[|<->,
transform canvas={yshift=0.5mm}] (R.north west) -- node[fill=white, inner sep=0pt] {$V_{\mathrm{th}}$} (R.wiper);
\end{circuitikz}
\end{document}
答案2
较长的电阻器在 CircuiTikZ 中有描述手动的在第52页:
对于美式电阻器,您可以通过设置键来更改“之字形”的数量
resistors/zigs
(默认值为 3)。
在手册中,这句话后面有一个代码示例,我在下面的 MWE 中重复了该示例。
可以使用l_
代替 来l
切换元素下方的标签,a^
使用 代替a
来切换元素上方的注释,使用 代替 来切换标签和注释。使用 键可以将箭头放在另一侧mirror
。
注意:由于您加载了该siunitx
选项,circuitikz
因此不仅适用于伏特,而且适用于千欧姆,这可以稍微改善间距。
梅威瑟:
\documentclass[12pt,letterpaper]{article}
\usepackage[left=20mm,top=30mm,bottom=30mm,right=20mm]{geometry}
\usepackage[siunitx]{circuitikz} % circuit package and include electrical units in our labels
\begin{document}
\begin{center}
\begin{circuitikz} [american voltages, longpot/.style = {pR, resistors/scale=0.75,
resistors/width=1.6, resistors/zigs=6}] \draw
(5,0) to
(5,3) to [V, v<=15<\volt>, a = $V_{source}$] (-1,3) --
(-1,0) -- (1,0) to [longpot, l_ = $Load$, a^ = \qty{50}{\kohm}, mirror] (3,0) -- (5,0)
;
\end{circuitikz}
\end{center}
\end{document}
结果: