서브 파일 컴파일 질문
문서가 있다고 가정 해 보겠습니다.
% Preamble
\usepackage{subfiles}
% Preamble
\begin{document}
\maketitle
\subfile{FileA}
\subfile{FileB}
\subfile{FileC}
\end{document}
몇 가지 질문 :
- 파일이 아직 컴파일되지 않았다고 가정하고 FileA라고 컴파일합니다. 제목이 표시 되나요? 아니면 제목을 표시하려면 메인 파일을 실행해야하나요?
- 내가보기에, 서브 파일은 나머지 서브 파일과는 독립적으로 컴파일됩니다. 즉, 해당 섹션 만 컴파일하는 반면, 메인 파일을 컴파일하는 것은 내가
\input서브 파일에서 전체 TeX 코드를 사용 하거나 그 안에 있는 것과 동일 합니다. 다른 서브 파일은 그대로두고 일부 서브 파일을 동시에 컴파일하는 방법이 있습니까 (예 : 서브 파일의 결과가 pdf에 표시되지 않는 대신 변경되지 않음)? - 서브 파일을 컴파일하고 여러 서브 파일의 결과가 해당 서브 파일과 동일한 페이지에있는 경우, 후속 서브 파일의 결과가 해당 서브 파일 컴파일로 인한 결과로 "덮어 쓰기"됩니까?
- 방금 서브 파일을 컴파일했습니다. 어떤 이유로 컴파일 시간이 메인 파일을 컴파일하는 것과 같습니다. 이런 일이 일어날까요?
- 4로 편집 : 방금 메인 파일을 닫고 서브 파일을 실행했는데 결과가 서브 파일이 아닌 전체 파일을 컴파일하는 것으로 나타났습니다. 이는 서브 파일이 "자체 컴파일 가능"한 것과 모순되는 것 같습니다. 누군가 자세히 설명 할 수 있습니까?
그런데 저는 TeXStudio를 사용합니다.
답변
댓글이 너무 깁니다.
질문 1 :\maketitle 명령 이 포함 된 문서에 제목이 나타납니다 . 메인 파일에 있고 일부 서브 파일을 컴파일하면 서브 파일이 메인 파일에서 프리앰블 만 취하고 나머지는 무시하기 때문에 제목이 나타나지 않습니다.
다시 질문 2 : 이 질문은에 한정되지 않으며 subfiles대답은 기본적으로 '아니요'입니다. 내가 아는 한, TeX 프로세서 중 어느 것도 캐싱을 수행하지 않고 변경된 부분 만 입력합니다. 일부 패키지는 다음 실행에 대한 집중적 인 계산 결과를 캐시 할 수있는 가능성을 제공합니다 (예 :에서 외부화 pgfplots). 더 큰 규모에서는 프로젝트를 빌드하기위한 도구 (예 make: ant과 같은 도구)를 사용 하여 변경된 프로젝트의 일부만 컴파일 할 수 있습니다. 그러나 TeX 파일의 경우 전체 파일을 타이핑하는 tex 프로세서를 계속 호출합니다.
다시 질문 3 : 이것이 TeX와 서브 파일 패키지가하는 일에 대한 오해라고 생각합니다. 주 문서를 조판 할 때 .NET texFramework를 무시하고 서브 파일 의 소스를 로드합니다 pdf. 따라서 서브 파일을 조판하면 서브 파일에 pdf대해 새 s 가 생성 되지만 기본 파일의 pdf는 그대로 둡니다. TeXStudio는 사용자가보기 tex위해 즉석에서 조판 된 파일을 실제로 편집하고 있다는 사실을 위장 pdf할 수 있습니다.
질문 4 : 서브 파일을 조판 할 때 처리 시간이 주 파일을 조판 할 때보 다 확실히 짧습니다. 그러나 대부분의 상황에서는 프로그램을 시작하고 파일을 여는 데 텍스트를 조판하는 것보다 훨씬 더 많은 시간이 걸리기 때문에 눈치 채지 못할 것입니다. 주 파일이 크고 / 또는 일부 부분에 컴퓨팅 집약적 인 그래픽이 포함 된 경우에만 실시간 절약 효과를 볼 수 있습니다.
다시 질문 5 : 이것은 아마도 TeXStudio 및 / 또는 사용 문제 일 것입니다. TeXStudio는 아마도 항상 파일 세트를 '현재'파일 세트로 타이프 셋하고, 아마도 서브 파일 만 타이프 셋하기를 원한다는 것을 알지 못했을 것입니다.
일반 권장 사항 : 단일 tex 파일로 시작하십시오. 너무 커지면 \input또는 을 사용하여 구성하십시오 \include. 문서의 일부를 독립적으로 조판 할 수 있어야하는 경우에만 subfiles.