After not updating my MiKTeX 2.9 for a very long time, I did it a few days ago. I had
pdfTeX 3.14159265-2.6-1.40.16, LaTeX2e <2014/05/01>, babel <3.8m>,
and now I have
pdfTeX 3.14159265-2.6-1.40.17, LaTeX2e <2016/03/31>, babel <3.9r>.
Something (bad) happened in between: now, whenever I use the babel
package (with any language), MiKTeX tells me that bblopts.cfg
is missing and requires the installation of the arabi
package – which actually contains that file.
Note that I don't even have arabic hyphenation in the format file and, after ignoring that request, the tex file is compiled without errors. Indeed, the rather weird fact is that bblopts.cfg
is an optional file: it only appears in this line of babel.sty
code:
\InputIfFileExists{bblopts.cfg}
…
Anyway…. To overcome the impasse, since I don't need the arabi
package, I simply created an empty bblopts.cfg
file. The very weird behaviour of MiKTeX follows:
-
If
bblopts.cfg
is in the tex path, e.g.,C:\localtexmf\tex\generic\babel
,findtexmf
returns the correct pathC:\localtexmf\tex\generic\babel
,-
MiKTeX includes
bblopts.cfg
, as the log file shows* Local config file bblopts.cfg used
*
(C:\localtexmf\tex\generic\babel\bblopts.cfg).
-
but it still says that
bblopts.cfg
is missing and that I have to install thearabi
package!
-
If
bblopts.cfg
is in the current folder,findtexmf
returns the correct path.\bblopts.cfg
-
MiKTeX includes
bblopts.cfg
, as the log file shows* Local config file bblopts.cfg used
*
(bblopts.cfg).
-
and no warnings or package installation requirements appear!
Does anyone have a clue? Is it just me or is it a MiKTeX bug?? If you want to try, be sure not have the arabi
package installed and add the babel
package to your tex file. A toy example could be:
\documentclass{article}\usepackage[british]{babel}\begin{document}.\end{document}
Just in case it matters: my OS is Windows 7 SP1 Enterprise…
Best Answer
The
bblopts.cfg
from arabi is intex\latex
. You put your version intex\generic
. Now latex doesn't search first the local texmf tree and then the main tree but follows a sort of zig-zag path (see https://tex.stackexchange.com/a/79983/2388).This means that when the
\InputIfFileExists
is processed miktex finds first thebblopts.cfg
from arabi and so tries to download it.You can avoid this by putting your local file e.g. in
localtexmf\tex\latex\babel
.Side remark: The
bblopts.cfg
from arabi is imho unnecessary today and should be removed or moved to the doc-folder (where it is in texlive).