Crie uma árvore texmf local no MiKTeX

Crie uma árvore texmf local no MiKTeX

No TeX Live existem TEXMFLOCALpara admin e TEXMFHOMEpara usuário predefinidos, mas no MiKTeX não há por padrão nenhuma texmfárvore local instalada, embora seja útil, cf.Finalidade das árvores texmf locais. Portanto minha pergunta:

Como faço para criar uma texmfárvore local no MiKTeX?

Responder1

Na verdade você pode criar mais de uma pasta TeXMF local! Já existe uma descrição na documentação online do MiKTeX, vejaIntegrando adições locais, no momento em que este artigo foi escrito para o recente MiKTeX 2.9(mas as imagens incluídas são de uma versão mais antiga, aparentemente MiKTeX 2.5, e um pouco diferente, cf. tambémhttp://docs.miktex.org/2.5/manual/localadditions.html). A denominação lá é “Diretório TEXMF gerenciado pelo usuário”(veja também a nota adicional no final desta resposta).

De qualquer forma, aqui uma descrição alternativa:

  • Crie uma pasta em algum lugar do seu computador – com umexceção importante. IstoNão deveser uma subpasta da instalação do MiKTeX (funcionava dessa forma nas versões mais antigas do MiKTeX, mas foi alterado por motivos de segurança). Evite ao máximo espaços no caminho, pois é um risco potencial de mau funcionamento. Para usar com o MiKTeX portátil a pasta deve estar, é claro, na mesma unidade da instalação do MiKTeX, ela será salva como caminho relativo. Aqui vou usar c:\localtexmf.

    Esta pasta deve ser compatível com TDS (vejaUma estrutura de diretório para arquivos TeX); MiKTeX irá reclamar, se não. O que você precisa depende do que você deseja instalar neste diretório, pelo menos uma tex\latexsubárvore deve ser suficiente. Você estará seguro se imitar a estrutura do(em si compatível com TDS)Árvore MiKTEX, mas os binários podem ir diretamente para uma subpasta c:\localtexmf\bin.

  • Agora, usando a GUI:

    1. No Menu Iniciar vá até a entrada MiKTeX e abra as configurações – se você atuar como administrador respectivamente “Configurações (Admin)”, é claro. A janela “Opções do MiKTeX” será aberta.

    2. Vá para a guia “Raízes”. Clique em “Adicionar” e escolha c:\localtexmf\. Caso exista mais de um diretório local, pode-se escolher a ordem de busca com os botões “Para cima” e “Para baixo”.

    3. Agora a parte quase mais importante: Vá até a aba “Geral” e clique lá em “Atualizar FNDB”(FNDB = Base de Dados de Nomes de Arquivos). Em alguns casos, especialmente se novas fontes forem instaladas, é necessário pressionar também o botão “Atualizar Formatos”.

    Se você esquecer esta etapa, todas as etapas anteriores seriam executadas sem nenhum propósito.

  • Caso contrário, usando a linha de comando (como admin sempre adicione o switch --admin):

    Execute initexmf --register-root=c:\localtexmf, seguido por initexmf --update-fndb(mais curto: initexmf -u).

    (Em cada etapa você pode adicionar a opção --verbosepara obter mais informações sobre o que acontece.)

    Observação:Por questões de compatibilidade existe também o switch mais antigo --user-roots=<local-texmf-dir>, que de acordo com os initexmf --helpregistros dos diretórios raiz dos usuários, presumo também no modo administrativo, mas emhttp://docs.miktex.org/manual/initexmf.htmlnão é mais mencionado, então devo adivinhar.

  • Caso bintenha sido criada uma subpasta para binários, ela deverá ser cadastrada na variável de ambiente%PATH% antesa subárvore de binários da própria instalação do MiKTeX, veja, por exemploComo gerenciar variáveis ​​de ambiente no Windows XPou uma ferramenta de terceiros comoHomem-EnvouRapidEE. Então você precisa reiniciar o sistema para entrar em vigor. Um problema que não pode ser resolvido: uma variável de ambiente de todo o sistema, definida por um administrador, é sempre lida antes de uma variável específica do usuário. Então, como um usuário simples, você só pode escrever e usar arquivos em lote com um próprio %PATH%incluído.

Todas as árvores texmf locais criadas pelo usuário podem ser desabilitadas removendo temporariamente das raízes do MiKTeX (cf. nota adicional no final).

Veja tambémComo posso instalar manualmente um pacote no MiKTeX (Windows).

Para completar, aqui está uma descrição de como remover uma árvore TeXMF local do MiKTeX, com c:\localtexmf\um exemplo:

  • GUI:
    Vá novamente para a guia “Roots” nas configurações (caixa de diálogo “Opções MiKTeX”), selecione o diretório c:\localtexmf\e clique em “Remover” na parte inferior da janela. Depois disso você deve atualizar novamente o FNDB e talvez atualizar os arquivos de formato.

  • Linha de comando (também aqui: como administrador adicione a opção --admin):
    Execute initexmf --unregister-root=c:\localtexmf, seguido por initexmf --update-fndb. Se você desinstalou uma fonte, execute adicionalmente initexmf --mkmaps. O --verboseswitch também pode ser adicionado.

  • Se você não precisar binmais da subpasta, a variável de ambiente %PATH%deverá ser limpa.

  • Então a árvore de pastas c:\localtexmf\poderia ser excluída com segurança.

Nota adicional

Uma dica primeiro: no prompt de comando você pode digitar, echo %Variable%por %Variable%exemplo %Userprofile%. Assim você pode ver até qual valor as variáveis ​​se expandem em seu sistema.

Precisamente a frase“no MiKTeX, por padrão, nenhuma árvore texmf local está instalada”  na pergunta não é verdade. MiKTeX adiciona várias árvores %UserProfile%no modo admin também %AllUsersProfile%(a seguir a denominação MiKTeX vem primeiro):

  • “Configuração do usuário”:%AppData%\MiKTeX\<version>\
  • “UserData”: %LocalAppData%\MiKTeX\<version>\(desde o Windows Vista) ou %UserProfile%\<Local Settings>\<Application Data>\MiKTeX\<version>\(até o Windows XP, as strings <Local Settings>e <Application Data>dependem do idioma)
  • somente no modo admin usado“CommonConfig” e “CommonData”: %AllUsersProfile%\MiKTeX\<version>\(desde o Windows Vista) ou %AllUsersProfile%\<Application Data>\MiKTeX\<version>\(até o Windows XP, a string <Application Data>depende do idioma)

Os caminhos reais que você pode ver com a GUI na janela “Opções do MiKTeX” na guia “Roots” ou com a interface de linha de comando executando initexmf --report.

Desvantagens de todas estas árvores locais: Elas só podem ser alteradas na instalação, cf.Alterando a localização dos pacotes instalados automaticamente no MiKTeX, e eles não podem ser desativados (por remoção temporária das raízes do MiKTeX).

Para informações adicionais consulteDiferença entre o modo administrativo e de usuário do MiKTeX.

Responder2

Esta é a instrução nas versões mais recentes do MikTeX. As partes citadas permanecem inalteradas desdea outra resposta.

  • Crie uma pasta em algum lugar do seu computador – com umexceção importante. IstoNão deveser uma subpasta da instalação do MiKTeX (funcionava dessa forma nas versões mais antigas do MiKTeX, mas foi alterado por motivos de segurança). Evite ao máximo espaços no caminho, pois é um risco potencial de mau funcionamento. Para usar com o MiKTeX portátil a pasta deve estar, é claro, na mesma unidade da instalação do MiKTeX, ela será salva como caminho relativo. Aqui vou usar c:\localtexmf.

Qual é o melhor diretório para manter meus arquivos .sty? contém algumas sugestões sobre onde colocar a pasta.

Esta pasta deve ser compatível com TDS (vejaUma estrutura de diretório para arquivos TeX); MiKTeX irá reclamar, se não. O que você precisa depende do que você deseja instalar neste diretório, pelo menos uma tex\latexsubárvore deve ser suficiente. Você estará seguro se imitar a estrutura do(em si compatível com TDS)Árvore MiKTEX, mas os binários podem ir diretamente para uma subpasta c:\localtexmf\bin.

  • Agora, usando a GUI:
  1. Vá para Iniciar → MiKTeX → Console MiKTeX.
  2. Clique em "Configurações" (no painel esquerdo) → guia "Diretórios" → botão "+" → selecione o caminho.
  3. "Tarefas" (entrada de menu) → "Atualizar banco de dados de nomes de arquivos".
  • Caso contrário, usando a linha de comando (como admin sempre adicione o switch --admin):

    Execute initexmf --register-root=c:\localtexmf, seguido por initexmf --update-fndb(mais curto: initexmf -u).

Observe que initexmf --register-root=<path>deve <path>ser um caminho absoluto. Então deve começar com c:\ou algo assim.

(Em cada etapa você pode adicionar a opção --verbosepara obter mais informações sobre o que acontece.)

informação relacionada