MiKTeX und Babel: Fehlende Datei und nutzlose Paketinstallation erforderlich

MiKTeX und Babel: Fehlende Datei und nutzlose Paketinstallation erforderlich

Nachdem ich mein MiKTeX 2.9 sehr lange nicht aktualisiert hatte, habe ich es vor ein paar Tagen getan. Ich hatte

pdfTeX 3.14159265-2.6-1.40.16, LaTeX2e <2014/05/01>, babel <3.8m>,

und jetzt habe ich

pdfTeX 3.14159265-2.6-1.40.17, LaTeX2e <2016/03/31>, babel <3.9r>.

Irgendetwas (Schlechtes) ist zwischendurch passiert: Wenn ich jetzt das babelPaket verwende (mitjede Sprache), MiKTeX sagt mir, dass bblopts.cfges fehlt und die Installation des arabiPakets erfordert – das diese Datei tatsächlich enthält.

Beachten Sie, dass ich in der Formatdatei nicht einmal arabische Silbentrennung habe und dass die Tex-Datei nach Ignorieren dieser Anforderung ohne Fehler kompiliert wird. Tatsächlich ist die ziemlich seltsame Tatsache, dass es bblopts.cfgsich um eineoptionale Datei: es erscheint nur in dieser Codezeile babel.sty:

\InputIfFileExists{bblopts.cfg}...

Wie auch immer... Um die Sackgasse zu überwinden, da ich das Paket nicht brauche arabi, habe ich einfach eine leere bblopts.cfgDatei erstellt. DiesehrEs folgt ein seltsames Verhalten von MiKTeX:

  1. Wenn bblopts.cfges sich im Tex-Pfad befindet, z. B. C:\localtexmf\tex\generic\babel,

    • findtexmfgibt den richtigen Pfad zurück C:\localtexmf\tex\generic\babel,
    • MiKTeX enthält bblopts.cfg, wie die Protokolldatei zeigt,

      * Local config file bblopts.cfg used
      *
      (C:\localtexmf\tex\generic\babel\bblopts.cfg).

    • aber esTrotzdemsagt, dass das bblopts.cfgfehlt und dass ich das Paket installieren muss arabi!

  2. Wenn bblopts.cfges sich im aktuellen Ordner befindet,

    • findtexmfgibt den richtigen Pfad zurück.\bblopts.cfg
    • MiKTeX enthält bblopts.cfg, wie die Protokolldatei zeigt,

      * Local config file bblopts.cfg used
      *
      (bblopts.cfg).

    • UndNEINWarnungen oder Paketinstallationsanforderungen werden angezeigt!

Hat jemand eine Ahnung? Bin ich der Einzige oder ist es ein MiKTeX-Fehler?? Wenn Sie es versuchen möchten, stellen Sie sicher, dass das arabiPaket nicht installiert ist, und fügen Sie das babelPaket zu Ihrer Tex-Datei hinzu. Ein Spielzeugbeispiel könnte sein:

\documentclass{article}\usepackage[british]{babel}\begin{document}.\end{document}

Nur für den Fall, dass es wichtig ist: Mein Betriebssystem ist Windows 7 SP1 Enterprise …

Antwort1

Das bblopts.cfgvon arabi ist in tex\latex. Sie setzen Ihre Version in tex\generic. Jetzt durchsucht Latex nicht zuerst den lokalen Texmf-Baum und dann den Hauptbaum, sondern folgt einer Art Zickzack-Pfad (siehehttps://tex.stackexchange.com/a/79983/2388).

Dies bedeutet, dass \InputIfFileExistsMiktex bei der Verarbeitung zuerst die Datei bblopts.cfgvon Arabi findet und versucht, sie herunterzuladen.

Sie können dies vermeiden, indem Sie Ihre lokale Datei beispielsweise in . ablegen localtexmf\tex\latex\babel.

Randbemerkung: Das bblopts.cfgvon Arabi ist meiner Meinung nach heute unnötig und sollte entfernt oder in den Doc-Ordner verschoben werden (wo es sich in Texlive befindet).

Antwort2

Offenbar handelt es sich um einen MikTeX-Fehler. Als Workaround versuchen Sie

\usepackage[noconfigs,british]{babel} 

Die Option noconfigsmacht, was ihr Name vermuten lässt.

Antwort3

Ich bin gerade selbst auf diesen Fehler gestoßen. Bei einer Suche bblopts.cfgim Babel-Handbuch bin ich auf die folgende Erklärung gestoßen:

Eine andere Möglichkeit, die Liste der „bekannten“ Optionen für Babel zu erweitern, bestand darin, eine Datei zu erstellen, bblopts.cfgin der man Optionsdeklarationen hinzufügen kann. Dieser Mechanismus ist jedoch veraltet – wenn Sie einen alternativen Namen für eine Sprache wünschen, erstellen Sie einfach eine neue .ldfDatei, die den aktuellen Namen lädt.

Es sieht so aus, als ob der MikTeX-Fehler darin besteht, anzunehmen, dass diese optionale Datei – aus einer veralteten Methode – unbedingt vorhanden sein muss. Das arabiPaket muss diese veraltete Methode verwenden, um sich in das Babel-Ökosystem zu integrieren.

Ich bin überrascht, dass MikTeX diesen seit langem bestehenden Fehler nicht behoben hat.

verwandte Informationen