Windows 10에서 Asymptote가 작동하지 않습니다.

Windows 10에서 Asymptote가 작동하지 않습니다.

저는 20년 넘게 MetaPost를 사용해 왔습니다. 최근에 저는 MetaPost라는 놀라운 도구를 영광스럽게 합리화하고 일반화한 것처럼 보이는 Asymptote를 발견했습니다. MetaPost에서 Asymptote로 마이그레이션하고 싶지만 문제가 있습니다.

현재 OS는 Windows 10 Pro입니다. 묻지 마세요.

Windows용 최신 Asymptote를 다운로드하고 모든 기본값을 적용했는데 모두 괜찮아 보였습니다. 버전을 물어본 결과는 다음과 같습니다.

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 디렉터리에는 일반 모듈을 포함한 모든 모듈이 있는 것으로 보입니다. 그러나 클래식 test.asy가 포함된 디렉토리에 'asy -f PNG test'를 입력하면 '일반 모듈을 찾을 수 없습니다'라는 오류가 발생했습니다.

이것이 불필요한 것처럼 보였지만 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는 최신 버전의 Asymptote와 호환되지 않는 절망적으로 오래된 asy.exe 사본과 함께 제공됩니다. Windows가 실행 파일을 검색하는 순서로 인해 새 버전을 찾기 전에 이전 버전을 먼저 찾았습니다. 한 가지 해결책은 Asymptote가 MikTeX보다 앞에 오도록 PATH 경로를 재정렬하는 것입니다. MikTeX의 bin 디렉토리에서 asy.exe의 이름을 바꿨습니다. 문제 해결됨. :)

관련 정보