今天我想画几个 3D 示意图,可以插入到我的 LaTeX 文件中。我选择 Asymptote 是因为它的 3D 渲染优势众所周知,优于其他工具。
我在自己喜欢的 Emacs 中配置了“asy-mode”来编写我的第一个脚本。但是,当我按 Cc Cc 进行编译时,编译过程将打开输出文件(.eps 或 .pdf),直到我关闭该文件。
每次都要关闭预览,真是麻烦。我编译tex文件的时候,编译器只会解析处理,不会打开dvi文件等我预览。而yap在编译完成后,可以检测到变化,自动重新加载。很多pdf阅读器也有自动重新加载的功能。当我用双屏电脑的时候,这个功能特别方便。
但现在每次“asy”都会打开预览文件,我必须关闭它才能继续。我注意到编译的命令是
asy -V -wait file.asy
我尝试了很多方法,但都无法阻止“asy”打开输出文件。我编辑了 asy-mode.el 以删除 -wait 参数;我在 Emacs 之外手动编译它,尝试了所有可能的参数,例如
asy -silent file.asy
命令执行成功后,窗口一直跳出。
这真是令人沮丧。你们有什么解决方案或解决方法吗?我在 Windows 7 上使用 Emacs 23.4,渐近线版本是 2.24。
提前致谢。
答案1
问题 9.1. 如何在 asy 文件处理完成后禁用 PS 查看器的自动调用?
实际上,默认情况下它不是启用的,除非您恰好使用的是 Microsoft Windows(因为大多数 Microsoft Windows 用户都希望如此)。Microsoft Windows 用户可以使用命令行选项 -noV 或输入以下命令关闭此功能
import settings; interactiveView=false; batchView=false;
在其 config.asy 文件中。请参阅http://asymptote.sourceforge.net/doc/Options.html。
其他可行的选择:
除了使用
config.asy
文件之外,您还可以将以下行放入settings.interactiveView=false;
settings.batchView=false;
直接在您的.asy
文件中(在开头)。我不知道这是否会在使用 emacs 后禁用预览。您可以将这一行放在文件
shipout(view=false);
末尾.asy
,这样即使在 emacs 中运行时也可以禁用预览。该shipout()
函数告诉 Asymptote 实际生成一个文件;它会在文件结束后自动调用如果您没有亲自调用它(您在这里调用了它)。该view
选项似乎或多或少地按照您的想法执行;默认值是true
,因此我不确定它与视图设置究竟如何交互。