我无法让 Asymptote 在 Windows 10 下运行

我无法让 Asymptote 在 Windows 10 下运行

我使用 MetaPost 已有二十多年了。最近我偶然发现了 Asymptote,它似乎是对 MetaPost 这一出色工具的完美合理化和概括。我真的很想从 MetaPost 迁移到 Asymptote,但我遇到了一个问题。

我当前的操作系统是 Windows 10 Pro。别问了。

我下载了最新的 Asymptote for Windows,接受所有默认设置,一切似乎都很好。这是询问版本的结果。

miktex-asy version 2.67 [(C) 2004 Andy Hammerlindl, John C. Bowman, Tom Prince]

ENABLED OPTIONS:
WebGL    3D HTML rendering
OpenGL   3D OpenGL rendering
CURL     URL support

DISABLED OPTIONS:
GSL      GNU Scientific Library (special functions)
FFTW3    Fast Fourier transforms
XDR      external data representation (portable binary file format)
Readline interactive history and editing
Editline interactive editing (if Readline is unavailable)
Sigsegv  distinguish stack overflows from segmentation faults
GC       Boehm garbage collector

目录 C:\Program Files\Asymptote 似乎包含所有模块,包括 plain。但是,在包含经典 test.asy 的目录中输入“asy -f PNG test”会导致“找不到模块 plain”。

尽管这看起来是不必要的,我还是听从了 WEB 的建议,将环境变量 ASYMPTOTE_DIR 定义为 C:\Program Files\Asymptote,结果如下,对于我这个老编译器编写者来说,这看起来像是一个编译错误:

Welcome to miktex-asy version 2.67 (to view the manual, type help)
  real value(string s, int i) {return byteinv(hex(substr(s,2i+offset,2)));}
                                      ^
C:/Program Files/Asymptote/plain_pens.asy: 333.39: no matching variable 'byteinv'
  real[][][] S=_schur(a);
               ^
C:/Program Files/Asymptote/plain.asy: 312.16: no matching variable '_schur'
  pair[][][] S=_schur(a);
               ^
C:/Program Files/Asymptote/plain.asy: 326.16: no matching variable '_schur'
error: recursive loading of module 'plain'

有人知道我可能做错了什么吗?

答案1

我把这个求助请求复制到 SourceForge 上的 Asymptote 社区,John Bowman 友好地指出了这个问题。MikTeX 附带了一个过时的 asy.exe 副本,它与最新版本的 Asymptote 不兼容。由于 Windows 搜索可执行文件的顺序,它先找到了这个旧版本,然后才找到新版本。一个解决方案是重新排列 PATH 路径,使 Asymptote 位于 MikTeX 之前。我只需在 MikTeX 的 bin 目录中重命名 asy.exe 即可。问题解决了。:)

相关内容