単一のインポートのみを処理する場合は \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}

少なくとも 1 回コンパイルした後、たとえばディスカッションだけを含めたい場合は、\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。 両方とも完全に更新されています。

ちょうど2日前の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

関連情報