
の使用中にエラーが発生しますpagebackref=true
。 を使用しない場合pagebackref=true
、プログラムは期待どおりに動作します。 これは、Central European Journal of Computer Science の記事です。 の他の代替手段はありますかpagebackref
?
答え1
おそらく、クラスはパッケージをすでにロードしていますhyperref
。LaTeX はパッケージを 2 回ロードできません ( や の仲間を考えてください)。したがって、LaTeX はまたはの\newcommand
ロード部分をスキップします。最小パッケージ バージョンを要求する末尾のオプション引数のみをチェックします。そして、オプションを調べます。LaTeX はパッケージ オプションを理解しており、これは「機能」と説明できます。後者のオプションがパッケージの最初のロード時にすでに存在する場合、LaTeX は満足します。ただし、以前に指定されていない新しいオプションが少なくとも 1 つある場合、LaTeX はユーザーが新しい「機能」を望んでいると考えますが、パッケージから独立したオプションをロードできないため、エラー メッセージをスローします。\usepackage
\RequirePackage
\usepackage
回避策:
指定全て必要なオプションは、最初の
\usepackage
(または\RequirePackage
) にあります。オプション衝突エラー メッセージのヘルプ テキストにリストされています。パッケージの最初の呼び出しはクラスまたは別のパッケージ内に隠すことができます。オプションを直接指定することはできません。
\PassOptonsToPackage
ヘルプ:\PassOptionsToPackage{pagebackref=true}{hyperref} \documentclass[CEJCS,PDF]{cej}
すると、この行は
\usepackage[pagebackref=true]{hyperref}
エラーなしで動作します。また、クラスがロードを忘れたり、依存関係を明示的にしたりする\usepackage{hyperref}
場合に備えて、この行を削除したり、短縮したりすることもできます。cej
hyperref
一部のクラス (パッケージ) では、クラスによってロードされたパッケージに追加のオプションを渡すための特別なオプション (例:
hyperref
クラスのオプション) が提供されますbeamer
。