![MiKTeX e babel: arquivo ausente e instalação de pacote inútil necessária](https://rvso.com/image/335478/MiKTeX%20e%20babel%3A%20arquivo%20ausente%20e%20instala%C3%A7%C3%A3o%20de%20pacote%20in%C3%BAtil%20necess%C3%A1ria.png)
Depois de muito tempo sem atualizar meu MiKTeX 2.9, fiz isso há alguns dias. Eu tive
pdfTeX 3.14159265-2.6-1.40.16, LaTeX2e <2014/05/01>, babel <3.8m>,
e agora eu tenho
pdfTeX 3.14159265-2.6-1.40.17, LaTeX2e <2016/03/31>, babel <3.9r>.
Algo (ruim) aconteceu no meio: agora, sempre que uso o babel
pacote (comqualquer língua), o MiKTeX me diz que bblopts.cfg
está faltando e requer a instalação do arabi
pacote - que na verdade contém esse arquivo.
Observe que não tenho nem hifenização árabe no arquivo formatado e, após ignorar essa solicitação, o arquivo tex é compilado sem erros. Na verdade, o fato bastante estranho é que bblopts.cfg
é umarquivo opcional: aparece apenas nesta linha de babel.sty
código:
\InputIfFileExists{bblopts.cfg}
...
Enfim.... Para superar o impasse, já que não preciso do arabi
pacote, simplesmente criei um bblopts.cfg
arquivo vazio. OmuitoSegue o comportamento estranho do MiKTeX:
Se
bblopts.cfg
estiver no caminho do tex, por exemplo,C:\localtexmf\tex\generic\babel
,findtexmf
retorna o caminho corretoC:\localtexmf\tex\generic\babel
,MiKTeX inclui
bblopts.cfg
, como mostra o arquivo de log* Local config file bblopts.cfg used
*
(C:\localtexmf\tex\generic\babel\bblopts.cfg).
mas issoaindadiz que
bblopts.cfg
está faltando e que tenho que instalar oarabi
pacote!
Se
bblopts.cfg
estiver na pasta atual,findtexmf
retorna o caminho correto.\bblopts.cfg
MiKTeX inclui
bblopts.cfg
, como mostra o arquivo de log* Local config file bblopts.cfg used
*
(bblopts.cfg).
enãoavisos ou requisitos de instalação de pacotes aparecem!
Alguém tem uma pista? Sou só eu ou é um bug do MiKTeX? Se você quiser tentar, certifique-se de não ter o arabi
pacote instalado e adicione-o babel
ao seu arquivo tex. Um exemplo de brinquedo poderia ser:
\documentclass{article}\usepackage[british]{babel}\begin{document}.\end{document}
Caso seja importante: meu sistema operacional é o Windows 7 SP1 Enterprise...
Responder1
O bblopts.cfg
de arabi está em tex\latex
. Você coloca sua versão em tex\generic
. Agora o latex não pesquisa primeiro a árvore texmf local e depois a árvore principal, mas segue uma espécie de caminho em zigue-zague (vejahttps://tex.stackexchange.com/a/79983/2388).
Isto significa que quando o arquivo \InputIfFileExists
é processado, o miktex encontra primeiro o bblopts.cfg
arquivo do arabi e tenta baixá-lo.
Você pode evitar isso colocando seu arquivo local, por exemplo, em localtexmf\tex\latex\babel
.
Observação lateral: O bblopts.cfg
from arabi é desnecessário hoje e deve ser removido ou movido para a pasta doc (onde está no texlive).
Responder2
Aparentemente é um bug do MikTeX. Como solução alternativa, tente
\usepackage[noconfigs,british]{babel}
A opção noconfigs
faz o que o nome sugere.
Responder3
Acabei de me deparar com esse bug. Fazendo uma busca bblopts.cfg
no manual do babel, me deparei com a seguinte explicação:
Outra forma de estender a lista de opções 'conhecidas' para o babel foi criar o arquivo
bblopts.cfg
no qual se pode adicionar declarações de opções. No entanto, este mecanismo está obsoleto – se você quiser um nome alternativo para uma linguagem, basta criar um novo.ldf
arquivo carregando o nome real.
Parece que o bug do MikTeX é assumir que este arquivo opcional --- de um método obsoleto --- deve estar absolutamente presente. O arabi
pacote deve fazer uso deste método obsoleto para integrar-se ao ecossistema babel.
Estou surpreso que o MikTeX não tenha corrigido esse bug de longa data.