biblatex パッケージの uniquelist=false オプションが、最初に挿入された場合にのみ機能するのはなぜですか?

biblatex パッケージの uniquelist=false オプションが、最初に挿入された場合にのみ機能するのはなぜですか?

biblatex パッケージでは、次のオプションを使用していました。\usepackage[style=authoryearcomp,maxbibnames=99,maxcitenames=2,isbn=false,backend=biber]{biblatex} しかし、後でオプションを追加する必要がありましたuniquelist=false。しかし、後者は機能せず、LaTeX はそれを無視しました。作業フォルダーから .bbl ファイルを手動で削除し、すべての biblatex オプションを使用してドキュメントを再コンパイルすることで、問題を解決しました。これは正しい手順ですか? これを実現する別の方法はありますか?

答え1

このオプションは、uniquelist=false,いつドキュメントに追加しても宣伝どおりに機能するはずです。しかしこのオプションは Biber (バックエンド) によって実行される計算に影響するため、オプションを追加した後に LaTeX を実行しただけではすぐに効果が現れない可能性があります。Biber に影響するオプションを変更する場合は、新しい設定が確実に使用されるように、LaTeX、Biber、LaTeX、LaTeX のコンパイル サイクル全体を再実行する必要があります。

他の場合とは異なり、biblatexオプションの変更が有効になっていることを確認するために Biber を再実行する必要があることを自動的に警告しません。理論的には、biblatexBiber でこれをチェックする機能を実装することは可能ですが、これも完全に簡単なことではなく、今のところ誰もそれを要求していません。自動警告が役立つと思われる場合は、いつでも機能リクエストを開くことができます。https://github.com/plk/biblatex/issues

あなたの説明からすると、オプションを追加した後にのみ LaTeX を実行したようです。.bblファイルを削除したときに、あなた (またはあなたのエディター) は Biber を再実行する必要があり、その時点でオプションがようやく有効になりました。

通常は自動的に Biber を実行するエディタやその他のツールを使用していると思います。おそらくそのツールは Biber の再実行が必要であることを検出できなかったのでしょう。biblatexこのことについて警告しないので、それほど驚くことではありません。ただし、一部のツールは非常に高度なヒューリスティックを備えており、すでにこのような状況を検出して Biber を再実行できます (素晴らしいlatexmk思い浮かぶのは、このような高度なツールを使用していない場合、現時点で実行できる唯一のことは、LaTeX、Biber、LaTeX、LaTeX を手動で再実行することです。(そのため.bblにファイルを削除する必要はまったくありません。エディターは手動で行うオプションを提供するはずですが、それが完全な再実行を得るための最も簡単な方法であるなら、なぜそうしないのでしょうか?)

関連情報