私は Vim+latex を使用しています。プロジェクト ディレクトリに、別の tex ファイル (図を描くための tikz/PGF ファイルなど) があります。\ll を入力すると、システムは現在のファイルをコンパイルする代わりに、プロジェクト ファイルをコンパイルします。システムに現在のファイルをコンパイルするように指示することは可能ですか?
どうもありがとう!
答え1
これは回避策と考える人もいるかもしれませんが、あなたの目的には有効だと思います。LaTeX-Suite リファレンス:
LaTeX-Suite は、新しい LaTeX ファイルを開くたびに、現在のファイルのディレクトリから上方向 (ファイル システムのルートまで) に検索して、*.latexmain 形式のファイルが見つかるかどうかを調べ、それが複数ファイル プロジェクトの一部であるかどうかを確認します。そのようなファイルが見つかった場合、現在のファイルはより大きなプロジェクトの一部であると見なされます。
*.latexmain
つまり、異なるディレクトリ レベルにある限り、プロジェクトごとに複数のファイルを持つことができます。
メイン ドキュメントmydoc.tex
を 、別のファイルをと呼びますmyfig.tex
。ディレクトリ構造を次のように設定するとします。
project-dir/
mydoc.tex
mydoc.latexmain
myfig/
myfig.tex
myfig.latexmain
myfiles/
ch01.tex
ch02.tex
すべては希望どおりに動作するはずです。 がmyfig.tex
アクティブ バッファで を押すと\ll
、LaTeX-Suite は を見つけてmyfig.latexmain
コンパイルしますmyfig.tex
。がmydoc.tex
アクティブ バッファの場合、mydoc.latexmain
が見つかり、ドキュメントがコンパイルされます。 がmyfiles/
アクティブ バッファにあるものがあれば、LaTeX-Suite は現在のディレクトリでファイルを検出せず*.latexmain
、1 レベル上に移動します。その後、mydoc.latexmain
希望どおりにドキュメントが見つかり、コンパイルされます。
他に変更されるのは、文書のテキストのソースを含むファイルだけです。
\includegraphics{myfig}
ドキュメントに図ファイルのコンパイル済み出力を含めるには、次のようにします。ファイルが別のディレクトリにあるため、これを相対パスに変更する必要があります。グラフィックがレベルから含まれている場合はproject-dir/
、次のようにします。
\includegraphics{myfig/myfig}
または、グラフィックがレベルから含まれている場合はmyfiles/
、
\includegraphics{../myfig/myfig}
コンパイルされた出力を含めます。
このアプローチは、複数の図ファイルにも拡張できます。*.latexmain
ディレクトリ ツリーの上方向のトラバース中に適切なディレクトリが常に最初に見つかるように、図ごとに別のディレクトリを導入するだけです。
とはいえ、多数の図ファイルに対してこれを行う必要がある場合、ディレクトリ構造がすぐに複雑になりすぎる可能性があります。TikZの外部化方法(現在のドキュメントの50章)を参照したほうがよいでしょう。pgf
マニュアル)。