(Vim+latex) \ll を使用してプロジェクト ディレクトリ内の単一の tex ファイルをコンパイルする方法

(Vim+latex) \ll を使用してプロジェクト ディレクトリ内の単一の tex ファイルをコンパイルする方法

私は 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マニュアル)。

関連情報