![如何用 circuitikz 绘制这个电路(或类似的东西)?](https://linux22.com/image/246985/%E5%A6%82%E4%BD%95%E7%94%A8%20circuitikz%20%E7%BB%98%E5%88%B6%E8%BF%99%E4%B8%AA%E7%94%B5%E8%B7%AF%EF%BC%88%E6%88%96%E7%B1%BB%E4%BC%BC%E7%9A%84%E4%B8%9C%E8%A5%BF%EF%BC%89%EF%BC%9F.png)
我一直在尝试circuitikz
,到目前为止我真的很喜欢它。唯一的问题是,当我想要的符号不存在时,我真的不知道该如何调整它。
例如我想绘制以下电路:
我遇到的具体问题是我不知道如何用 +5V 和 -5V 符号终止两端。这是我能想到的最好的办法:
\documentclass{article}
\usepackage[american voltages,siunitx]{circuitikz}
\begin{document}
\begin{circuitikz}
\draw (0,0) to [battery,l=\SI{-5}{V}] (0,0)
to [empty led,l=LED1] (0,3)
to [R=\SI{510}{\ohm}] (0,5)
to [battery,l=\SI{5}{V}] (0,5);
\end{circuitikz}
\end{document}
另一个相关问题:如何在不从顶部 (0,5) 开始并转到 (0,0) 的情况下翻转上述代码中的 LED 方向?我尝试了类似的方法,[empty led,l<=LED1]
但没有成功。
感谢您的任何建议或意见!
答案1
circuitikz 使用 tikz,因此您可以使用通常的 tikz 构造(例如\draw
)。这是一个生成您所需内容的简单版本的代码(当然,您可以根据需要随意改进它):
\documentclass{article}
\usepackage[american voltages,siunitx]{circuitikz}
\begin{document}
\begin{circuitikz}
\draw (0,5) to [R={\parbox{1cm}{R1\\\SI{510}{\ohm}}}] (0,3)
to [empty led,l=LED1] (0,0);
\draw (-0.5,0) -- node[anchor=north,align=center] {\SI{-5}{V} \\ IR-LED } (0.5,0);
\draw (-0.5,5) -- node[anchor=south] {VCC} (0.5,5) node[anchor=west] {\SI{5}{V}};
\end{circuitikz}
\end{document}
按照 Harish Kumar 的建议,您可以通过交换坐标来翻转 LED 方向:
\documentclass{article}
\usepackage[american voltages,siunitx]{circuitikz}
\begin{document}
\begin{circuitikz}
\draw (0,3) to [empty led,l=LED] (0,0);
\draw (0,3) to [R={\parbox{1cm}{R1\\\SI{510}{\ohm}}}, mirror] (0,5);
\draw (-0.5,0) -- node[anchor=north,align=center] {\SI{-5}{V} \\ IR-LED } (0.5,0);
\draw (-0.5,5) -- node[anchor=south] {VCC} (0.5,5) node[anchor=west] {\SI{5}{V}};
\end{circuitikz}
\end{document}