Q&A 마당은 텍 관련 질문/답변을 위해 만들었습니다.
- 로그인 없이 자유롭게 글을 읽고 쓸 수 있는 철학은 처음과 같이 계속됩니다.
- 질문 전에 아래를 읽어 보세요. 좋은 질문이 좋은 답을 받을 수 있는 좋은 방법입니다.
- 질문에 맞는 제목을 붙이세요. 질문의 내용과 관련없는 "고수님", "긴급질문", "도와주세요"와 같은 제목은 답이 잘 올라오지 않습니다. 이 게시판에 올라오는 모든 글은 질문입니다. 굳이 [질문], [Q]를 적으실 필요도 없습니다.
- 내용을 충실히 적어 주시고, 같은 상황을 재현할 수 있는 최소한의 예제가 같이 있어야 합니다.
- 최소 예제는 "Minimal working example"을 읽어 보세요.
- 파일을 첨부하실 때에는 가능한 압축하여 파일 크기를 줄여서 올려주시길 바랍니다.
- 개인적으로 사용하신 글꼴이 들어 있는 경우, preparefont.sty에 관한 답변을 참조하세요.
- 스팸 글을 막기 위하여 짧은 시간 내에 다시 글이 등록되는 IP를 막거나, 광고 글을 막기 위하여 금지어로 .com, .net 등을 설정하고 있습니다. 다소간의 불편함이 있으시더라도 양해 바랍니다.
- 금지어에서 stackexchange, stackoverflow, ctan, overleaf, , github, google.com, gmail.com, .org, .io, sil.org, wiki.com, tistory.com등은 해제하였습니다.
- MathJax를 이용한 수식조판을 사용하실 수 있습니다. 여기를 참조하세요.
- 사용하는 편집기는 CKeditor입니다.
- 편집기에서 [enter]를 누르면 <p> 태그가 들어가고, 문단으로 생각하고 한 줄을 비웁니다.
- 글줄만 바꾸려면 [shift-enter]를 누르면 <BR> 태그가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.
- 수식를 문서내에 삽입하시려면 에디터를 툴바에서 [소스]를 눌러 HTML로 입력할 수 있게 바꾸신 후 <pre> </pre> tag를 사용하셔서 <pre> 여러 줄의 수식 </pre>처럼 입력하시면 좋습니다.
write18에 대해 질문 ...
2015.03.24 17:37
제가 회로 드로잉을 위해 "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
************************************
그런데, 위의 "test.m4" 파일을 "test.tex"로 변환시키서 사용하려고 tex 파일에서
(첨부파일 5페이지의 번호 5를 참조해서) 아래와 같이 해보니, 에러가 발생합니다.
************************************************************************************
\newcommand\m4totex[2]{\immediate\write18{m4 -I M4PATH #2.m4 | dpic -#1 > #2.tex}} % line 1
\begin{document}
....
\m4totex{p}{test}
\input{test.tex}
\end{document}
************************************************************************************
왜 에러가 발생하는지 모르겠습니다.
(위의 line 1에 M4PATH 대신 c:\usr\texlive\texmf-local\circuit_macros으로 해도 에러가 발생합니다.)
아시는 분 계시면, 고견 부탁드립니다.
댓글 11
-
그로몹
2015.03.24 23:40
-
펠로1
2015.03.25 00:45
\write18 tex 명령 맞구요...
외부 명령 처리 혹은 shell 명령 처리 같은 것 같습니다.
-
그로몹
2015.03.26 09:47
아 그렇군요. 이런 것을 써보지 못해서 처음 알았습니다.
텍이 이런 명령어도 가지고 있군요. 재미있네요.
-
DohyunKim
2015.03.25 01:56
\write18{m4 -I \%M4PATH\% #2.m4 | dpic -#1 > #2.tex}
c:/usr/texlive/texmf-local/circuit_macros또는 \%M4PATH\% 대신에 다음을 시도해보세요.
-
펠로1
2015.03.28 17:57
네, \%M4PATH\%로 해야 되는군요
감사합니다. %%
-
nanim
2015.03.25 09:44
--shell-escape 하셨나요?
-
펠로1
2015.03.28 18:00
texmf 씨엔에프 파일에서 shell_escape=t를 해야 되는군요
감사합니다. ^^
한가지만 더 여쭙겠습니다.
\newcommand\m4totex[2]{\immediate\write18{m4 -I \%M4PATH\% pstricks.m4 #2.m4 | dpic -#1 > #2.tex}}
로 했을 때, 에러가 났는데
m4totex 를 macrototex로 바꾸니깐 되더군요.
즉, 숫자가 들어가면 않되던데, 숫자가 들어가는 m4totex로 쓸 방법이 없나요 ?
-
두텁
2015.03.29 10:11
숫자가 포함된 매크로를 만드는 일에 관해서는 많은 사람들이 의문을 가집니다. 짧게 말씀드리면 안 하는 것이 좋습니다. 아래 링크의 내용을 참고하십시오.
http://www.tex.ac.uk/cgi-bin/texfaq2html?label=linmacnames
-
펠로1
2015.03.29 13:46
잘 이해됬습니다.
대단히 감사합니다. ^^
-
nanim
2015.03.29 14:15
texmf. cnf를 수정하는 것은 권장하지 않습니다.
cf. http://wiki.ktug.org/wiki/wiki.php/EnablingShellEscape
-
펠로1
2015.03.30 15:32
감사합니다. ^^
저는 코딩은 모르지만 \write18은 텍 명령이 아닐 것이라고 생각됩니다. 텍 명령이라면 \write에서 1을 만나는 순간에 tex program은 명령어의 끝에 도달했다고 인식되기 때문입니다. 혹시 텍 안에서 외부 프로그램의 명령을 불러 쓰시려는 것이라면 제가 조언을 드리지 못합니다만 고수분께서 도와주시겠지요.