问题陈述
在环境内部circuitikz
,to
操作无法按预期进行。在下面的示例中,红色圆圈内应该有一个点,就像其正上方的线内一样。
我做错了什么吗?我该如何解决?
执行
\documentclass[tikz,border=3pt]{standalone}
\usepackage[siunitx,european]{circuitikz}
\begin{document}
\begin{circuitikz}
\draw[dotted] (-1,-0.5) rectangle (3.8,3);
\draw (0,0) to[I=$I$]
(0,2) to[R=$R_i$,-o]
(4,2) to
(5,2);
\draw (5,2) to[R=$R_L$]
(5,0) to[-o] % the enddot here isn't drawn
(4,0) to
(0,0);
\draw[->] (1,1.5) -- node[right] {$U_0 = \mathrm{const}$} (1,0.5);
\draw[->] (4,1.5) -- node[right] {$U_\mathrm{kl}$} (4,0.5);
\end{circuitikz}
\end{document}
输出
答案1
我不知道发生了什么,但我确实找到了一种解决方法:
to[short,-o]
short
根据手册判断,这只是一条直线。-o
当路径中没有其他内容时,似乎不起作用to
。
\documentclass[tikz,border=3pt]{standalone}
\usepackage[siunitx,european]{circuitikz}
\begin{document}
\begin{circuitikz}
\draw[dotted] (-1,-0.5) rectangle (3.8,3);
\draw (0,0) to[I=$I$]
(0,2) to[R=$R_i$,-o]
(4,2) to
(5,2);
\draw (5,2) to[R=$R_L$]
(5,0) to[short,-o]
(4,0) to
(0,0);
\draw[->] (1,1.5) -- node[right] {$U_0 = \mathrm{const}$} (1,0.5);
\draw[->] (4,1.5) -- node[right] {$U_\mathrm{kl}$} (4,0.5);
\end{circuitikz}
\end{document}
答案2
这个问题已经问了快四年了。但也许这是一个理想的答案。
我认为(就像 Torbjørn T. 所说的那样)to []
需要“某些东西”[]
才能处理o-o
(例如)。
我会这样做:
\documentclass{scrartcl}
\usepackage{amsmath}
\usepackage[siunitx,european]{circuitikz}
\begin{document}
\begin{circuitikz}
\draw
(-1, -.5) [dotted] rectangle (2.8, 3);%thank you for this, I didn't knew this
\draw
(0, 0) to [I = $I$, v = $U_0{\;=\;}\text{const}$] (0, 2)%{\;=\;}: double equals signs are somehow not allowed
to [R = $R_i$] (3, 2) -- (5, 2)
to [R = $R_L$] (5, 0) -- (0, 0)
(3, 2) to [open, v^ = $U_{\text{kl}}$, o-o] (3, 0);%^: shifts the label on the other side of the arrow
\end{circuitikz}
\end{document}
结果:
我希望这可以帮助你。