![MiKTeX と babel: ファイルが見つからないため、無駄なパッケージのインストールが必要](https://rvso.com/image/335478/MiKTeX%20%E3%81%A8%20babel%3A%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%8C%E8%A6%8B%E3%81%A4%E3%81%8B%E3%82%89%E3%81%AA%E3%81%84%E3%81%9F%E3%82%81%E3%80%81%E7%84%A1%E9%A7%84%E3%81%AA%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%8C%E5%BF%85%E8%A6%81.png)
MiKTeX 2.9を長い間アップデートしていなかったのですが、数日前にアップデートしました。
pdfTeX 3.14159265-2.6-1.40.16, LaTeX2e <2014/05/01>, babel <3.8m>,
そして今私は
pdfTeX 3.14159265-2.6-1.40.17, LaTeX2e <2016/03/31>, babel <3.9r>.
その間、何か(悪い)ことが起こりました。今では、babel
パッケージを使用するたびに(どんな言語でも)、MiKTeX はそれが欠落しており、実際にそのファイルを含むパッケージbblopts.cfg
のインストールが必要であると通知します。arabi
フォーマットファイルにはアラビア語のハイフネーションすらなく、その要求を無視した後、Texファイルはエラーなしでコンパイルされていることに注意してください。実際、かなり奇妙な事実はbblopts.cfg
、オプションファイル: このコード行にのみ表示されますbabel.sty
:
\InputIfFileExists{bblopts.cfg}
...
とにかく....行き詰まりを打開するために、パッケージは必要ないのでarabi
、単に空のbblopts.cfg
ファイルを作成しました。とてもMiKTeX の奇妙な動作は次のとおりです:
bblopts.cfg
がtexパス内にある場合、例えばC:\localtexmf\tex\generic\babel
、findtexmf
正しいパスを返しますC:\localtexmf\tex\generic\babel
。MiKTeXには
bblopts.cfg
、ログファイルに示されているように、* Local config file bblopts.cfg used
*
(C:\localtexmf\tex\generic\babel\bblopts.cfg).
しかしそれはまだ
bblopts.cfg
が欠落しており、パッケージをインストールする必要があると表示されますarabi
。
bblopts.cfg
現在のフォルダ内にある場合、findtexmf
正しいパスを返します.\bblopts.cfg
MiKTeXには
bblopts.cfg
、ログファイルに示されているように、* Local config file bblopts.cfg used
*
(bblopts.cfg).
そしていいえ警告またはパッケージのインストール要件が表示されます。
誰か手がかりを持っていますか? 私だけでしょうか、それとも MiKTeX のバグでしょうか?? 試してみたい場合は、パッケージがarabi
インストールされていないことを確認し、パッケージを tex ファイルに追加してくださいbabel
。簡単な例は次のとおりです。
\documentclass{article}\usepackage[british]{babel}\begin{document}.\end{document}
念のため言っておきますが、私の OS は Windows 7 SP1 Enterprise です...
答え1
arabi からのものbblopts.cfg
は にありますtex\latex
。あなたのバージョンは に置きますtex\generic
。これで、latex は最初にローカルの texmf ツリーを検索し、次にメインツリーを検索するのではなく、ジグザグのパスをたどります (参照)。https://tex.stackexchange.com/a/79983/2388)。
つまり、 が\InputIfFileExists
処理されるとき、 miktex はまずbblopts.cfg
arabi から を見つけて、それをダウンロードしようとします。
これを回避するには、ローカル ファイルを などに配置することができますlocaltexmf\tex\latex\babel
。
補足: bblopts.cfg
from arabi は、今日では不要であると私は考えており、削除するか、doc フォルダー (texlive にある場所) に移動する必要があります。
答え2
どうやらこれはMikTeXのバグのようです。回避策としては、
\usepackage[noconfigs,british]{babel}
このオプションは、noconfigs
その名前が示すとおりの機能を実行します。
答え3
bblopts.cfg
私自身もこのバグに遭遇しました。Babelマニュアルで検索したところ、次の説明を見つけました。
babel の「既知の」オプションのリストを拡張する別の方法は、オプション宣言を追加できるファイルを作成することです。ただし、このメカニズムは非推奨です。言語に別の名前が必要な場合は、実際の名前をロードする
bblopts.cfg
新しいファイルを作成するだけです。.ldf
MikTeX のバグは、このオプションのファイル (非推奨のメソッドから) が必ず存在すると想定しているようです。パッケージは、arabi
この非推奨のメソッドを使用して、babel エコシステムに統合する必要があります。
MikTeX がこの長年のバグを修正していないことに驚いています。