サブディレクトリからラテックス.styファイルをロードする方法は?
質問
Texliveの一部ではなく、Main.Texを使用してフォルダーのサブディレクトリにそれらを持ちたいと考えています。次の行を使用してパッケージをロードしました。
\usepackage{sty/prettythesis}
これは機能しますが、xelatexを使用してmain.texをコンパイルし、使用して ゴム 警告を与えてください:
sty/prettythesis.sty: You have requested package `sty/prettythesis',
but the package provides `prettythesis'. (page 1)
すべての.sty-files ' ressionPackageコマンドに「sty 」を含めることなく、この警告を防止したり、このケースを処理したりする方法はありますか? ?
解決
私はこのスレッドをここに信じています:
まったく同じことについて話します:だから、唯一の選択肢は使用することです TEXINPUTS
環境変数;またはを使用します インポートパッケージ. (注意してください、にバリアントがあります import
パッケージをオンにします ... Texファイルを含むpg 3。)
Texinputsについてもう少し:
- Texはよくある質問 - (LA)Texファイルの「一時的な」インストール
- TEX環境変数パスの設定
- ラテックスを実行するための環境変数
- 数学を書くためのtex(およびバリエーション)-math.umn.edu (「Tex入力」を参照)
- ラテックスパッケージのインストール-TEX検索パス
お役に立てれば;
乾杯!
編集:TexInputsパスをTexファイルに直接設定できることを願っています(使用して \write18
- そして、ラテックス使用のいくつかのバージョン --enable-write18
, 、私の使用 -shell-escape
有効にする \write18
;参照してください これ) - しかし、それは不可能なようです:
"...これは不可能です。 ...子プロセスの環境変数が設定されていますが、これは親プロセス(TEX)に影響を与えません。" (Re:LaTex -comp.text.tex内の環境変数テキシンプットの設定).
...だから、今私はただ電話します pdflatex
私のLinuxで bash
このような:
TEXINPUTS=.//:$TEXINPUTS pdflatex ./myfile.tex
そして、それは直接解決します \usepackage{mypackage}
の中に myfile.tex
ファイル - 場合でも mypackage.sty
たとえば、サブディレクトリにあります ./subdir/mypackage.sty
.
他のヒント
MakeFileまたはビルドスクリプトのPDFlatex(またはLaTex)への呼び出しの前に、以下に行を置くだけです。
export TEXINPUTS=".:./sty:"
次に、パッケージを次のように参照してください。
\usepackage{prettythesis}
発見したように、パッケージをサブディレクトリに入れます(たとえば、 ./sty/prettythesis.sty
あなたのメインに関して .tex
でファイル ./
)、そして介してパッケージを呼び出します
\usepackage{sty/prettythesis}
パッケージを正常にロードしますが、警告が発生します
sty/prettythesis.sty: You have requested package `sty/prettythesis',
but the package provides `prettythesis'. (page 1)
あなたが望むのがこの警告を取り除くことであるなら、あなたは .sty
ファイル、次に、レポートするパッケージ名を単純に変更できます。 \ProvidesPackage
コマンドに
\ProvidesPackage{sty/prettythesis}
これは、負荷を動かしている場合は不便な場合がありますが、変更の負荷も悪くはありません。
さらに良いことに、あなたが持っているものが標準のTEXパッケージの特定の修正バージョンがある場合(たとえば、たとえば、 ナトビブのこのパッチ)、パッケージ名の変更は、どのパッケージが提供しているかを明確に示し、ファイルを再利用すると、警告を再作成して、自分が何をしているかを確認するように促します。