问题陈述

问题陈述

问题陈述

在环境内部circuitikzto操作无法按预期进行。在下面的示例中,红色圆圈内应该有一个点,就像其正上方的线内一样。

我做错了什么吗?我该如何解决?

执行

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

结果:

结果

我希望这可以帮助你。

相关内容