제가 회로 드로잉을 위해 "Circuit Macros" 라이브러리를 사용하는데,
"Circuit Macros" 라이브러리 파일 확장자는 ".m4" 입니다.
커맨드창에서 아래와 같이 하면 "test.m4" 파일이 "test.tex"파일로 변환 됩니다.
(M4PATH는 환경변수로 "Circuit Macros" 라이브러리가 설치된 "c:\usr\texlive\texmf-local\circuit_macros" 입니다.)
************************************
>> m4 -I %M4PATH% test.m4 > test.pic
>> dpic -p test.pic > test.tex
************************************
(위 두 라인을 윈도우 커맨트창 프롬프트에서 c 드라이브나 d 드라이브에서 실행해도 문제없이 test.tex 파일이 생성됩니다.)
위의 두 라인을 Tex에서 write18 커맨드로 아래와 같이 처리할 수 있습니다.
% m4totex.tex
\newcommand\mIVtotex[2]{\immediate\write18{m4 -I M4PATH #2.m4 | dpic -#1 > #2.tex}} % line 1
문제는 위의 m4totex.tex 파일을 c 드라이브에서 빌드하면 문제없는데,
m4totex.tex 파일을 d 드라이브에서 빌드하면 dvi 파일이 생성되지 않는다는 에러가 발생합니다.
아마도, Circuit Macros 폴더를 지정한 환경변수 M4PATH가 c 드라이브로 지정되었기 때문인 것 같습니다.
즉, m4totex 파일을 환경변수 M4PATH과 다른 드라이브에서 빌드하면 인식하지 못하는 것 같습니다.
제가 혹시 무엇을 잘 못 한건지 아시는 분 계시면 고견 부탁드립니다.
KTUG 한국 텍 사용자 그룹