FAQ UKの「パッケージのオプション衝突」ページの翻訳 ユーザーのグループ。
ドキュメントに行を挿入しました
\usepackage[draft]{foo}
そして今
誓う
! LaTeX Error: Option clash for package foo.
( foo)
このエラーは、オプションを使用してパッケージが複数回ダウンロードされたことを示します。
彼はオプションを個別に処理できないため、不満です。 (ドキュメントの前文では、オプションなしでパッケージを数回ダウンロードできます-
最初のダウンロード要求のみを処理し、後続の要求は無視します。 ただし、オプションはパッケージの最初のダウンロード時にのみ指定できます)。
すべてが最初に思えたほど単純ではないようです。 次のコードがエラーの原因である場合
\usepackage[dvips]{graphics} \usepackage[draft]{graphics}
間違いなく次のように書き直すべきです。
\usepackage[dvips,draft]{graphics}
エラーの原因がそれほど明らかではない場合(このようなダウンロードが複数の行にまたがっている場合でも、肉眼で簡単に検出できます)? 興味のあるパッケージは既に別の場所にダウンロードされていることが判明する場合があります。 しかし、正確にはどこですか? エラーメッセージの後にhキーを押すと、パッケージのダウンロード
[1] [2]が呼び出されたオプションのリストを見ることができます。 応答メッセージが異なるように見える場合は、記事
「エラーへの対処
方法」のヒントを使用する必要があります。 覚えておくべき主なことは、ログ内のパッケージをダウンロードするプロセスは角括弧で囲まれているため、
graphics
パッケージが
foo
パッケージにロードされると、ログは次のようになります
(/foo.sty ... ... (/graphics.sty ... ...) ... )
graphics
パッケージのブラケットは、
foo
パッケージのブラケットで囲まれていることに注意してください。
bar
クラスの場合、メッセージはまったく同じになり、最初の行にのみ
bar.cls
ファイルへのパスが
bar.cls
ます。
興味のあるパッケージが別のパッケージ内にロードされている場合、尋ねることができます
必要なオプションを転送します。 代わりに
\usepackage{foo} \usepackage[draft]{graphics}
書くべき
\PassOptionsToPackage{draft}{graphics} \usepackage{foo}
チーム
\PassOptionsToPackage
は尋ねます
パッケージの最終ダウンロード中にパラメーターがオプションとして指定されているかのように、パッケージの最終ダウンロード中に動作します。
\PassOptionsToPackage
の名前は、一度に複数のオプションを指定できることを示しています。
ドキュメントクラスにロードされているパッケージにオプションを渡す必要がある場合、問題はやや複雑です。 この場合、代わりに
\documentclass[...]{bar} \usepackage[draft]{graphics}
\PassOptionsToPackage
コマンドの前に
\PassOptionsToPackage
コマンドを挿入する必要があります。
\PassOptionsToPackage{draft}{graphics} \documentclass[...]{bar}
foo
パッケージまたは
bar
クラスで、指定したいオプションと競合するオプションで
graphics
パッケージがロードされると、スタックしているように見えるかもしれません。
例えば
\PassOptionsToPackage{draft}{graphics}
パッケージまたはクラスが言う間
\usepackage[final]{graphics}
オプションが外部から渡された後に
final
オプションが設定され、
draft
は単に破棄されます。 場合によっては、パッケージにエラーメッセージが表示されることがあります(ただし、
graphics
これらのいずれでもないため、診断なしで
draft
オプションは破棄されます)。
この場合、パッケージ/クラスを自分で編集できます(ライセンスに応じて)。 また、パッケージの作者に連絡することも有用です。作者は、問題を解決するための代替方法を提供するかもしれません
[3] 。
翻訳者メモ
- エラーメッセージの例
非表示のテキスト
$ latex clash.tex
...
! LaTeX Error: Option clash for package graphics.
See the LaTeX manual or LaTeX Companion for explanation.
Type H for immediate help.
...
l.5
? h
The package graphics has already been loaded with options:
[dvips]
There has now been an attempt to load it with options
[draft]
Adding the global options:
dvips,draft
to your \documentclass declaration may fix this.
Try typing to proceed.
- 私の
TeXstudio
では、 latex -interaction=nonstopmode ...
Log - Log File
セクションの「basement」でそのような結果を探す必要があります。 - TeX.SXは、よりエレガントなソリューションを提供します:
\PreventPackageFromLoading
scrlfile
。