3

C++ を知っている人は、「ユニティ ビルド」の意味を知っているかもしれません。

  1. プロジェクトの *.cpp ファイルはすべて、*.cpp および *.h ファイルで指定された#include ディレクティブに続いて、単一の超大規模なソース ファイルに効果的に#include されます。
  2. このソースファイルはコンパイラに供給されます
  3. 終了!出力バイナリを取得します。

このようにすることで、中間ファイル (*.o) が少なくなり、ファイルの読み取りとディスク IO のオーバーヘッドが少なくなり、コンパイラの呼び出しが少なくなり、ビルドのパフォーマンスが向上します。

私の質問は、これはラテックスでも可能ですか? pdflatex を使用して最終的な .pdf を構築する前に、.tex ファイルに対して実行したい遅い後処理パスがあるため、それが必要です。現在、増え続ける .tex ファイルのリストを処理するのに約 7 秒かかります。このパスを1 つのファイルに対して実行すると、大幅に高速になると思います。これが私の質問の動機です!

要約すると、私はしたい

  1. 各 .t​​ex ファイルの\input{} マクロと \include{}マクロに従って、すべての .tex ファイルを超大規模な .tex ソース ファイルに「マージ」します。
  2. 超大規模な .tex ソース ファイルを低速の後処理パス(実際には Ott tex-filter、fyi) にフィードします。
  3. 出力を直接pdflatexにパイプします
  4. 終了!出力PDFファイルを取得します!

ここで最初のステップが問題です。どんなアイデアでも大歓迎です。このステップを実行するために独自のスクリプトを作成する必要がないのが最善です!

どうもありがとう!

4

1 に答える 1

3

これを処理できる優れたツールは、モジュールの助けを借りてゴムです。combineすべての依存関係を収集し、すぐに使用できる単一のファイルを生成します。

于 2011-02-20T17:12:38.130 に答える