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>처럼 입력하시면 좋습니다.
tikzexternalize 관련 질문입니다.
2020.06.23 15:42
사용 환경: Windows 10 / XeLaTeX
pgfplot을 좀 많이 쓰는 문서를 작성중입니다. (정확히는 각 figure마다 pgfplot을 이용해 gnuplot을 호출하고 있습니다.)
처음 몇 개의 figure만 있을 때는 그냥저냥 잘 작동하다, figure 갯수가 많아지니 그냥 TeX으로 컴파일하면 main memory exceeded 오류가 뜨고, 이를 해결하기 위해
C:\texlive\2019\texmf-dist\web2c\texmf.cnf
에서 extra_mem_top과 extra_mem_bot을 늘려줬지만 여전히 부족한 듯 합니다.
이리저리 찾아다니다보니 tikz의 externalize를 사용하면 된다는 것을 알게 되었는데, 첨부한 MWE와 같이 가능한 모든 것을 떼어버렸는데도 다음과 같은 오류가 뜨며 externalize가 제대로 작동되지 않습니다.
! Package tikz Error: Sorry, the system call 'xelatex -halt-on-error -interaction=batchmode -jobname "untitled-2-figure0" "\def\tikzexternalrealjob{untitled-2}\input{untitled-2}"' did NOT result in a usable output file 'untitled-2-figure0' (expected one of .pdf:.jpg:.jpeg:.png:.bmp:). Please verify that you have enabled system calls. For pdflatex, this is 'pdflatex -shell-escape'. Sometimes it is also named 'write 18' or something like that. Or maybe the command simply failed? Error messages can be found in 'untitled-2-figure0.log'. If you continue now, I'll try to typeset the picture.
오류 메시지를 읽어보면... 우선
(1) system call을 허용하지 않았다고 하는데, 이미 TeXworks 상에서 환경설정-문서처리-문서처리 도구에서 인자를 추가해서 XeLaTeX에 shell escape 옵션은 정상적으로 준 상태입니다. (원래의 문서가 raw gnuplot을 사용하는데, figure의 수가 적을 때는 정상적으로 작동했습니다)
(2) untitled-2-figure0.log 파일에서 에러 메시지를 찾을 수 있다고 하는데, 이 log 파일은 생성조차 되지 않아서 무슨 일이 일어나고 있는지도 파악할 수가 없습니다.
구글링을 통해 몇 가지 해결책들을 찾았는데, 몇 가지는 사용 환경이 리눅스 등등으로 달라서 적용을 못 하겠고, 시도해볼만 한 것들은 별로 결과가 달라지지 않습니다.
댓글 3
-
anonymous
2020.06.23 17:56
-
Pi
2020.06.23 19:42
답변 감사합니다. 아마 계속 설정을 바꾸는 동안 shell escape 설정을 지웠었나봅니다. 확인해보니 MWE는 정상적으로 작동합니다.
다만 여전히 원래 파일에서는 작동하지 않아서 MWE를 조금 수정중입니다. 아마 tikzexternalize 명령과 gnuplot을 이용하는 과정 사이에 뭔가 충돌이 있는 것 같은데, 뾰족한 방법을 모르겠네요 ㅠㅠ
-
Pi
2020.06.23 20:02
해결한 것 같습니다!
원래 파일 이름에 #이 들어가 있었는데, 아마 이 #때문에 하위 파일들을 생성하는 과정에서 문제가 생겼던 것 같습니다. 파일 이름을 바꿨더니 잘 작동합니다.
올려주신 MWE를 컴파일하여 보니, 말슴하신 것 처럼 --shell-escape option을 주면 컴파일 되는 듯 합니다. 그런데 TeXworks에서는 옵션을 주셨다고 하셨으니, 옵션을 주셨는지 다시 확인하여 보시면 어떠실지요?