サブディレクトリからラテックス.styファイルをロードする方法は?

StackOverflow https://stackoverflow.com/questions/3936565

  •  30-09-2019
  •  | 
  •  

質問

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についてもう少し:

お役に立てれば;
乾杯!

 

編集: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パッケージの特定の修正バージョンがある場合(たとえば、たとえば、 ナトビブのこのパッチ)、パッケージ名の変更は、どのパッケージが提供しているかを明確に示し、ファイルを再利用すると、警告を再作成して、自分が何をしているかを確認するように促します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top