Appearance
怎么画 Feynman 图 [物理的に] 神必软件之 JaxoDraw
- 原文: https://zhuanlan.zhihu.com/p/1917800676395825046
- 发布日期: 2025-06-16
- 分类: Mathematica / 软件 / 写作与计算工具
以前讲过怎么画 Feynman 图:
https://www.zhihu.com/question/365669038/answer/2460633052既然现在大家都会画 Feynman 图了, 那我就不得不再讲讲该怎么画 Feynman 图了吧? 呃我是说这次说的画 Feynman 图指的是物理意义上地去画 Feynman 图··· 嗯不过上次画的确实也是物理意义上的 Feynman 图就事了. 啊所以我就是在说这个既然大家都已经会画物理意义上的 Feynman 图了, 那于是现在也就只差学一下到底该怎么物理意义上地去画 Feynman 图了对吧? 你懂我意思吧? 总之就是你光会画物理意义上的 Feynman 图却不知道该怎么物理意义上地去画 Feynman 图也并没有什么暖用.
故著此文, 以上.
你说我造! 就 TikZ 口牙. 那还真不是, 我说我这次要介绍的事跟 Windows 画图一样简单的玩意儿, 就事小学生都玩儿得转、操作简单自由度还够高的那种东西.
不过这次的内容又简单又复杂, 所以你最好全文看完点了赞[1]再去玩儿,,
神必软件之 JaxoDraw:
What is it? JaxoDraw is a Java program for drawing Feynman diagrams. It has a complete graphical user interface that allows to carry out all actions in a mouse click-and-drag fashion. Fine-tuning of the diagrams is possible through keyboard short-cuts. Graphs may be exported to a variety of image formats, including (encapsulated) postscript, and can be saved in XML files to be used in later sessions. However, the main feature of JaxoDraw is the possibility of generating LaTeX code that makes use of J. Vermaseren's axodraw package to compile. In fact the main motivation for writing JaxoDraw was to create a graphical user interface for the axodraw package. In that way, we combine the power of LaTeX with the easiness of a what-you-see-is-what-you-get interface. License JaxoDraw is free and open source software, distributed under the GNU GENERAL PUBLIC LICENSE. The full JaxoDraw license can be found here, and you implicitly agree upon it if you decide to download and use the program. As a sign of appreciation we ask physicists who draw Feynman diagrams with JaxoDraw to cite our Comp. Phys. Comm. publication in the acknowledgment of their papers (or wherever they feel like). This is of course not compulsory (we WANT people to USE JaxoDraw IRRESPECTIVELY of that), but it will help us to gain thrust for continuing improving the code with additional features. Thank you.
https://link.zhihu.com/?target=https%3A//jaxodraw.sourceforge.io/别放洋屁了, 其实就是简单点个 Downloads:

依次点击 Installers → Windows → jaxodraw-2.1-0-install.exe:

然后点开刚下完的 jaxodraw-2.1-0-install.exe:

如果你还没装 Java, 它就会先提示你去装, 点击「是(Y)」直接跳到 Java 老家, 老贴心了. 这东西必须要有 Java 才能运行, 总之进去后你看到 Download Java for Desktops 就直接点爆就完了:

https://link.zhihu.com/?target=https%3A//www.java.com/en/


然后运行这哥么儿后在弹窗里点击安装:


它说你行了你就行了:

现在我们再次点开 jaxodraw-2.1-0-install.exe, 它可能还是那段屁话:

但我们明明装了呀?
你要不放心就 win+R 输入 cmd 然后回车, 接着在命令行里输入 java -version, 然后你就发现噢那确实装了, 要不然哪来的版本号:

所以我们这次就点「否(N)」直接装他妈的:

然后就是跟随你的本能去安装, 直到出现这个页面:

然后点开就能用了:

我的背景是灰色的, 这是因为我觉得白色太刺眼了, 你自己摸索下怎么调这些东西吧. 至于一般来说具体怎么用··· 就是你要善用左边那个功能区, 上面是模板, 下面事操作. 你想画得方方正正那最简单的就是利用背后的网点, 也就是勾上那个 Snap on, 在右上角 Size 处可以修改网格的尺寸, 然后最重要的是左下角的那些细节操作:

这些操作第一行分别是移动、调整、颜色与具体参数, 我们在具体参数的状态下点击你画好的图像可以做非常细节的调整, 通过这些功能理论上你就已经可以轻松地画出所有你要的 Feynman 图了:
也可以直接通过双击右键来打开参数窗口.

值得一提的是你总可以通过按住右键框选一系列元素然后通过点击 Group 把它们绑定成一个元素以方便你同时操作它们全体, 当然也可以通过类似的过程去解绑:

画完存数据可以直接点这个 save as:

关键点在于怎么导出矢量图, 不过其实也就是点这个 Export:

然后在弹窗点 Export:

然后经典报错:

那就读读这个 output window:

噢, 缺文件呗, 那去官网下个不就完了:
https://link.zhihu.com/?target=https%3A//jaxodraw.sourceforge.io/依次点击 Downloads → axodraw4j → axodraw4j.sty:

你下的估计就是个压缩包, 打开它把里面的 axodraw4j.sty 搞出来:

然后把这个 axodraw4j.sty 拖到你要 Export 矢量图的文件夹里就完了, 现在你再 Export 就能得到矢量图了:

那个后缀为 .eps 的文件就是矢量图, 用浏览器就能打开:

为啥我不一开始就说要下这玩意儿呢? 因为我就是要让那帮看个开头就跑了的没法生成图片··· 好吧主要也是告诉你去看看 error log 事很有意义的, 将来碰到问题别光发愣. 你说哎看不懂英文咋办? 那简单, 退学.
哦对了你还可以在上面写字, 一般就是用这个 TEX 写, 进入 TEX 状态后在画布上随便点个地方然后在弹窗里写东西最后就会生成一个蓝色的小 TEX 图标, 这就是你写的内容:

然后你 Export 又他吗报错鸟:

看了下 error log, 原来事我们用的宏太高级了还没定义, 那简单, 搁这儿加载个包的事儿:

在弹窗的左下角输入宏包名然后依次点击 Add 和 OK:

好了, 够你玩儿的了:

参考
- ^最后警告,,,