1. 从受力分析到电路图:为什么选择TikZ?
上次我们用TikZ画了一个漂亮的受力分析图,解决了用普通绘图软件时角度标注不精准、线条不标准的问题。画完给队友看,他那个用WPS画的图瞬间就不香了。很多朋友看了之后问我:“这个TikZ看起来挺厉害的,除了画物理示意图,还能干点别的吗?比如我们电子专业的电路图?”
当然可以!而且我敢说,TikZ画电路图,那才是真正发挥它威力的地方。你可能用过一些电路仿真软件自带的绘图工具,或者专门的电路图软件,它们确实方便,但很多时候你会发现,想画一个符合论文排版风格、线条清晰、标注美观、并且能无缝嵌入到LaTeX文档里的电路图,并不那么容易。要么导出的图片分辨率不够,要么字体和文档不匹配,调整起来特别麻烦。
TikZ画电路图,最大的好处就是“原生”。你的电路图就是一段代码,它本身就是你LaTeX文档的一部分。你想改一个电阻值?直接改代码里的标签文字。你想调整元件位置?改一下坐标参数就行。你想统一所有连线的粗细和颜色?一个样式定义就全部搞定。更重要的是,它输出的矢量图,无论你怎么缩放,都清晰得不得了,打印出来效果一流。
我自己在读博期间写论文,所有的电路示意图都是用TikZ完成的。一开始也觉得写代码麻烦,不如用鼠标拖拽来得快。但画过几个图之后,我就再也回不去了。尤其是当导师让我反复修改电路结构,调整了七八个版本之后,我只需要在代码里复制粘贴、微调坐标,几分钟就搞定。而实验室里用Visio画图的同学,每次修改都像是在重画,效率高低立判。
所以,如果你经常需要制作电子工程文档、实验报告、教材讲义,或者学术论文,里面包含大量的电路示意图,那么花点时间学习用TikZ来画,绝对是一笔超值的投资。接下来,我们就抛开那些复杂的电路仿真软件界面,直接用代码,从画一根导线、一个电阻开始,搭建起属于你自己的电路图世界。
2. 准备工作:加载强大的circuitikz宏包
想用TikZ画电路图,我们得请出一位“专业外援”——circuitikz宏包。TikZ本身是个“万能绘图工具箱”,而circuitikz则是这个工具箱里专门为电子工程师准备的一套“精密电工器具”。它预先定义好了几十种标准的电路元件符号,比如电阻、电容、电感、电源、晶体管、运放等等,我们直接调用就行,不用再从基本的线条和形状开始拼凑。
首先,你需要在你的LaTeX文档导言区(就是\documentclass之后,\begin{document}之前)加载这个宏包。
\documentclass{article}
\usepackage{tikz}
\usepackage{circuitikz} % 这就是我们的主角
\begin{document}
% 你的文档内容
\end{document}
注意,circuitikz宏包会自动加载tikz,所以你理论上只写\usepackage{circuitikz}也行。但为了清晰,我习惯两个都写上。加载之后,你就可以在tikzpicture环境里使用所有电路元件命令了。
circuitikz提供了丰富的全局选项来定制你的电路图风格,这在文档开头用方括号设置。这里我分享几个最常用、最能影响最终效果的选项:
\usepackage[european, siunitx]{circuitikz}
european/american: 这是选择元件符号的标准。european(欧洲标准)的电阻画成一个矩形,而american(美国标准)的电阻是锯齿形。电容、电感等符号也有细微差别。国内教材和论文比较常用欧洲标准,看起来更简洁,我们后续例子也用它。siunitx: 这是一个强烈建议启用的选项。它让你可以用\ohm,\farad,\henry等命令来漂亮地输出单位符号(Ω, F, H),而不是直接打“Ohm”这样的文字。配合\si{}命令,标注像$R = 1\kilo\ohm$这样的参数会非常专业。
设置好环境,我们就可以动手画了。我建议你一开始创建一个简单的测试文档,把下面每个例子都复制进去编译看看效果。遇到报错别慌,多半是拼写错误或者少了个括号。LaTeX的报错信息有时候不太友好,但养成仔细检查代码的习惯,本身就是学习的一部分。
3. 绘制基础无源元件:电阻、电容与电感
万事开头难,我们就从电路里最常见的三个小伙伴开始:电阻(R)、电容(C)、电感(L)。在circuitikz里,画它们简单到不可思议。
3.1 画一个电阻并连接导线
最基本的命令是\draw,我们用它来“画”出元件和连线。画一个电阻的代码如下:
\begin{tikzpicture}
\draw (0,0) to[R, l=$R_1$, o-] (2,0);
\end{tikzpicture}
编译后,你会得到一条水平线,中间有一个矩形(欧洲标准电阻),上面标着R1,左边起点处有一个小圆圈(代表连接点)。我们来拆解一下这条命令:
(0,0)和
333



被折叠的 条评论
为什么被折叠?



