
Ich verwende MetaPost seit mehr als zwanzig Jahren. Vor Kurzem bin ich auf Asymptote gestoßen, das eine wunderbare Rationalisierung und Verallgemeinerung des wunderbaren Tools MetaPost zu sein scheint. Ich würde wirklich gerne von MetaPost zu Asymptote migrieren, aber ich habe ein Problem.
Mein aktuelles Betriebssystem ist Windows 10 Pro. Fragen Sie nicht.
Ich habe die neueste Version von Asymptote für Windows heruntergeladen, alle Standardeinstellungen akzeptiert und alles schien in Ordnung zu sein. Hier ist das Ergebnis der Abfrage der Version.
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
Das Verzeichnis C:\Programme\Asymptote scheint alle Module zu enthalten, einschließlich plain. Die Eingabe von „asy -f PNG test“ in ein Verzeichnis, das das klassische test.asy enthält, führte jedoch zu „Modul plain nicht gefunden“.
Obwohl dies unnötig erschien, bin ich dem Rat aus dem Internet gefolgt und habe die Umgebungsvariable ASYMPTOTE_DIR als C:\Programme\Asymptote definiert. Das Ergebnis war folgendes, was für diesen betagten Compiler-Autor wie ein Kompilierungsfehler aussieht:
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'
Hat jemand eine Idee, was ich falsch machen könnte?
Antwort1
Ich habe diese Bitte um Hilfe an die Asymptote-Community auf SourceForge kopiert und John Bowman hat freundlicherweise auf das Problem hingewiesen. MikTeX wird mit einer hoffnungslos veralteten Kopie von asy.exe ausgeliefert, die mit den neuesten Versionen von Asymptote inkompatibel ist. Aufgrund der Reihenfolge, in der Windows nach ausführbaren Dateien sucht, fand es diese alte Version vor der neuen. Eine Lösung besteht darin, die PATH-Pfade neu anzuordnen, sodass Asymptote vor MikTeX steht. Ich habe asy.exe im Bin-Verzeichnis von MikTeX einfach umbenannt. Problem gelöst. :)