使用 circuitikz 绘制电路

使用 circuitikz 绘制电路

我有一个小问题(我设法画出了我需要的东西,对于第一次画的人来说,我为自己感到非常自豪 XD)。我需要绘制这样的图像: 在此处输入图片描述

我得到的是:

在此处输入图片描述

因此,电阻器可能可以通过改变美式或欧式来改变,这不是什么大问题。一个大问题是,我无法获得像第一张图片中那样的节点:此外,如何正确对齐电流表和电压表?代码是:

\begin{figure}[ht!]
\begin{center}
\begin{circuitikz}\draw
(0,0)to[sI] (0,4)
     to[R=$1\ k\Omega$,-*] (3,4) -- (5,4)
     to[voltmeter] (5,0) -- (0,0)
(3,4)to[ammeter] (3,2)
(3,0)to[Do,*-] (3,2)
(2,1)to[zDo](2,1)
;\end{circuitikz}
\end{center}
\end{figure}

另外,我能得到齐纳二极管前后的小线吗?

答案1

(回答以下评论)

这里有一个解决方案。请注意,您想要的电流表和电压表不在circuitikz' 组件集中。为了解决这个问题,我利用了所有组件和线路都是tikz 组件和线路的事实,以便可以使用所有有效的东西tikz。我创建了具有适当信息的节点。此外,我使用包siunitx来输入电阻器。这样就可以正确设置单位。circuitikz有一个siunitx选项。要获得带有二极管的小线:只需使用不同的起点和终点。我的代码是

\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{arrows}
\usepackage{siunitx}
\usepackage{circuitikz}

\begin{document}

\tikzset{component/.style={draw,thick,circle,fill=white,minimum size =0.75cm,inner sep=0pt}}

\begin{circuitikz}[european]
\draw (0,2.5)node[left] {$+$} to[short,o-] (0,4)
      to[R=\SI{1}{k\ohm},-*] (3,4) to[short] (5,4)
      to[short] (5,2) node[component]{V} to[short] (5,0)
      to[short] (0,0) to[short,-o] (0,1.5)node[left] {$-$};
\draw    (3,4) to[short] (3,3) node[component]{A} to[short] (3,2)
        (3,0) to[Do,*-] (3,2)
        (2,0.5) to[zDo] (2,1.5);
\end{circuitikz}

\end{document}

结果是

电路

关于小圆圈:关键不是--在路径中使用(如我最初的解决方案),而是使用 circuitikz 路径样式。对于您想要的内容,您需要输入to[short,o-]。所有这些都在新版本的代码中。

对于 + 和 -,只需在适当的位置添加节点即可。我为此修改了我的示例代码(不是图片中的想法)。

相关内容