단일 가져오기만 처리하는 경우에만 importonly를 사용하시겠습니까?

단일 가져오기만 처리하는 경우에만 importonly를 사용하시겠습니까?

대용량 문서를 작성 중인데, include/input을 사용하는 대신 패키지 \subimport*의 명령을 사용합니다 import. 이를 통해 친척 경로를 매우 쉽게 처리할 수 있습니다.

그러나 좋은 점은 참조를 깨지 않고 특정 파일만 포함하는 데 \include사용할 수 있다는 것입니다 . \includeonly에 대한 비슷한 명령이 있습니까 \subimport?

편집하다

나는 이 문제를 해결할 수 있는 몇 가지 코드를 작성하려고 노력하고 있지만 LaTeX 지식은 실제로 매우 제한적입니다. 제가 이상한 의사코드 같은 것을 썼는데, 도움이 될까요?

\makeatletter
\AtBeginDocument{%
  \let\origsubimport\subimport
  \newcommand\subimportonly[1]{\let\somevar=#1}
  \renewcommand\subimport[1]{\@ifstar
                             if #1 == letvar, use origsubimport*; 
                             o/w just include aux?
   }}
\makeatother

답변1

\subimport의 모든 인스턴스를 업데이트 \subincludefrom하고 경로에서 '.tex' 확장자를 제거합니다.

예를 들어 다음과 같이 사용됩니다 \subimport.

\begin{document}
\subimport{intro/}{intro.tex}
\subimport{chap1/}{chap1.tex}
\subimport{discussion/}{discussion.tex}
\end{document}

다음과 같을 것이다:

\begin{document}
\subincludefrom{intro/}{intro}
\subincludefrom{chap1/}{chap1}
\subincludefrom{discussion/}{discussion}
\end{document}

최소한 한 번 이상 컴파일한 후 토론(예:)만 포함하려는 경우 \includeonly다음과 같이 서문에 추가할 수 있습니다.

\includeonly{discussion}
\begin{document}
\subincludefrom{intro/}{intro}
\subincludefrom{chap1/}{chap1}
\subincludefrom{discussion/}{discussion}
\end{document}

그리고 문서에는 Discussion.tex만 포함됩니다. 이렇게 하면 작업 중이 아닌 섹션을 포함하지 않아 편집-컴파일-뷰 루프가 더 빨라지지만, 참조가 중단되는 것을 방지하기 위해 intro.tex 및 chap1.tex 포함에 *.aux 파일을 사용합니다.

@touhami님의 댓글 덕분에챕터를 별도로 (사전) 컴파일하여 컴파일 속도를 높이는 방법에 대한 답변입니다.그리고로컬 경로에 계층적 포함을 어떻게 수행합니까?에 대한 답변입니다.제가 점들을 연결하도록 도와주셔서요.

답변2

글을 쓰는 시점에서,기존 답변Debian/TeXLive 2019 (LaTeX2e <2020-02-02> patch level 5), import 6.0또는 에서는 작동하지 않습니다 Windows/MiKTeX 2.9 (LaTeX2e <2019-10-01> patch level 3), import 6.1. 둘 다 완전히 업데이트되었습니다.

불과 이틀 전인 2020-04-01 버전이 6.2출시되었고CTAN에서 사용 가능. 해당 sty파일을 수동으로 사용해도 문제가 해결되지 않았습니다.

그러던 중 문제가 발생했습니다(@Paul-Calcraft의 예를 빌려서).

\includeonly{discussion/discussion}
\begin{document}
\subincludefrom{intro/}{intro}
\subincludefrom{chap1/}{chap1}
\subincludefrom{discussion/}{discussion}
\end{document}

즉, 전체 경로가 includeonly. 그렇지 않으면 warning (pdf backend): no pages of output.모든 문서 내용이 명령 안에 있으므로 매우 예상치 못한 인사말이 표시됩니다 subincludefrom.

관련 정보