
나는 subfiles 패키지를 사용하여 함께 컴파일된 ~100개의 작은 파일로 구성된 큰 문서를 가지고 있습니다. 모든 컴파일 가능한 파일에서 상대 경로가 동일해야 하는 공통 스타일 파일을 사용할 수 있도록 다음 폴더 구조를 사용합니다.
Project folder
projectstyle.sty
-- Main folder
main.tex
-- Subfolder 1
subfile1a.tex
subfile1b.tex
-- Subfolder 2
subfile2a.tex
subfile2b.tex
쓰기
\usepackage{../projectstyle}
main.tex 파일 상단에 있습니다. 그러나 프로젝트가 크고 tikz 파일이 많이 포함되어 있기 때문에 이제 컴파일하는 데 꽤 오랜 시간이 걸립니다. 예를 들어 tikz/pgf 패키지의 externalize 명령을 사용하면 기본 파일의 컴파일 속도를 높일 수 있습니다.
\usetikzlibrary{external}
\tikzexternalize[prefix=tikz/]
메인 파일 상단에 Main 폴더에 tikz라는 폴더를 넣었다는 점을 고려하면 이는 메인 파일을 컴파일할 때 작동합니다. 그러나 서브파일을 스스로 컴파일할 때도 이 작업을 수행할 것입니다. 이것이 서브파일 패키지 사용의 핵심이기 때문입니다. 여기서는 그래픽을 외부화할 폴더에 대한 상대 경로를 사용하고 이를 스타일 파일과 동일한 수준에 놓은 다음 작성하는 것이 가장 좋습니다.
\tikzexternalize[prefix=../tikz/]
그러나 이것은 작동하지 않는 것 같습니다. 컴파일러(pdflatex)가 다음과 같이 불평하기 때문입니다.
! I can't write on file `../../tikz/main-figure0.md5'.
메인 파일을 컴파일하려고 할 때. 이 문제를 해결할 수 있는 방법이 있나요?
나는 한 가지 해결책이 글을 쓰는 것임을 알고 있습니다.
\tikzexternalize[prefix=tikz/]
기본 파일(또는 스타일 파일)에 있는 다음 컴파일 가능한 문서가 포함된 모든 폴더에 tikz라는 폴더를 추가합니다. 그러면 각 이미지에 대해 두 개의 복사본이 생기므로 공간이 상당히 낭비되는 것 같습니다...
답변1
실제로 디스크 공간에 관한 것이라면(마지막 단락에 표시된 대로) tikz 디렉터리의 실제 복사본 대신 기호 링크를 사용할 수 있습니다.