MiKTeX y babel: falta un archivo y se requiere instalación de paquete inútil

MiKTeX y babel: falta un archivo y se requiere instalación de paquete inútil

Después de mucho tiempo sin actualizar mi MiKTeX 2.9, lo hice hace unos días. Yo tenía

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

y ahora tengo

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

Algo (malo) sucedió en el medio: ahora, cada vez que uso el babelpaquete (concualquier idioma), MiKTeX me dice que bblopts.cfgfalta y requiere la instalación del arabipaquete, que en realidad contiene ese archivo.

Tenga en cuenta que ni siquiera tengo guiones árabes en el archivo de formato y, después de ignorar esa solicitud, el archivo tex se compila sin errores. De hecho, el hecho bastante extraño es que bblopts.cfges unarchivo opcional: solo aparece en esta línea de babel.stycódigo:

\InputIfFileExists{bblopts.cfg}...

De todos modos... Para superar el punto muerto, como no necesito el arabipaquete, simplemente creé un bblopts.cfgarchivo vacío. ElmuyEl comportamiento extraño de MiKTeX es el siguiente:

  1. Si bblopts.cfgestá en la ruta tex, por ejemplo C:\localtexmf\tex\generic\babel,

    • findtexmfdevuelve la ruta correcta C:\localtexmf\tex\generic\babel,
    • MiKTeX incluye bblopts.cfg, como muestra el archivo de registro

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

    • peroaúndice que bblopts.cfgfalta y que tengo que instalar el arabipaquete!

  2. Si bblopts.cfgestá en la carpeta actual,

    • findtexmfdevuelve la ruta correcta.\bblopts.cfg
    • MiKTeX incluye bblopts.cfg, como muestra el archivo de registro

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

    • yNo¡Aparecen advertencias o requisitos de instalación del paquete!

¿Alguien tiene una idea? ¿Soy solo yo o es un error de MiKTeX? Si desea intentarlo, asegúrese de no tener el arabipaquete instalado y agréguelo babela su archivo tex. Un ejemplo de juguete podría ser:

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

Por si es importante: mi sistema operativo es Windows 7 SP1 Enterprise...

Respuesta1

El bblopts.cfgde árabe está en tex\latex. Pones tu versión tex\generic. Ahora latex no busca primero en el árbol texmf local y luego en el árbol principal, sino que sigue una especie de camino en zig-zag (verhttps://tex.stackexchange.com/a/79983/2388).

Esto significa que cuando \InputIfFileExistsse procesa el miktex encuentra primero el bblopts.cfgde arabi e intenta descargarlo.

Puedes evitar esto colocando tu archivo local, por ejemplo, en localtexmf\tex\latex\babel.

Observación al margen: el bblopts.cfgfrom arabi es, en mi humilde opinión, innecesario hoy en día y debe eliminarse o moverse a la carpeta doc (donde está en texlive).

Respuesta2

Aparentemente es un error de MikTeX. Como solución alternativa, intente

\usepackage[noconfigs,british]{babel} 

La opción noconfigshace lo que sugiere su nombre.

Respuesta3

Yo mismo me encontré con este error. Al buscar bblopts.cfgen el manual de Babel, encontré la siguiente explicación:

Otra forma de ampliar la lista de opciones "conocidas" para Babel era crear el archivo bblopts.cfgen el que se pueden agregar declaraciones de opciones. Sin embargo, este mecanismo está en desuso: si desea un nombre alternativo para un idioma, simplemente cree un nuevo .ldfarchivo cargando el actual.

Parece que el error de MikTeX es asumir que este archivo opcional, de un método obsoleto, debe estar absolutamente presente. El arabipaquete debe hacer uso de este método obsoleto para integrarse en el ecosistema de Babel.

Me sorprende que MikTeX no haya solucionado este error de larga data.

información relacionada