Estou usando uma versão portátil do MiKTeX 2.9 em um disco rígido externo em um PC sem direitos de administrador.
Tento executar um arquivo .ins com o terminal TeXmaker usando 'latex NameOfPackage.ins', mas ele diz que não é possível encontrar o arquivo NameOfPackage.ins. Primeiro coloquei o arquivo dentro da árvore MiKTeX e atualizei o FNDB, o que não funcionou. Tentei então colocá-lo fora da árvore, mas ainda não consegui encontrar o arquivo
Usei um comando de usuário no texmaker para compilar o arquivo .ins, que deu o erro: nenhum arquivo de log encontrado
"E:/MiKTeX 2.9/miktex/bin/latex.exe" -interaction=nonstopmode %.ins
Eu usei um comando de usuário antes, com sucesso, mas após a redefinição das configurações não sei exatamente qual era o comando, então posso ter feito isso errado
Editar: enquanto tentei executar o mesmo comando novamente, ocorreu uma parada de emergência para a linha
\generate{\file{dutch.ldf}{\from{dutch.dtx}{code}}}
dutch.ldf já estava na pasta, então apaguei o arquivo e tentei novamente. Funcionou desta vez, então o problema parece estar resolvido. Eu acho que é melhor excluir os arquivos gerados quando o problema ocorreu, para evitar problemas como este
O lugar onde encontrei o comando para .ins: tex.stackexchange.com/questions/123129
Ainda gostaria de saber por que usar o terminal não funciona
Responder1
.ins
e .dtx
são arquivos de origem, geralmente são classificados na source
subárvore de uma árvore TDS ( texmf/source/latex/babel/babel.ins
).
Os arquivos em uma árvore TDS são organizados de tal maneira que os arquivos de origem e de documentação sãonãopesquisado, quando o TeX procura por seus arquivos de entrada/pacote/classe. Isso reduz o espaço de pesquisa e torna a pesquisa de arquivos mais rápida.
Mas, por outro lado, não é possível chamar a geração de arquivos de origem de outro lugar, porque .ins
ou .dtx
os arquivos não são encontrados fora da subárvore TDS:tex/
. Qualquer
esses arquivos podem ser compilados no diretório, onde estão:
cd source\latex\babel tex babel.ins
No entanto, isso não funcionará no MiKTeX devido a um recurso de segurança. VerA resposta de Ulrica(O MiKTeX não encontra arquivos nos diretórios de aplicativos).
Copie os arquivos para um novo diretório inicial e compile lá:
md scratch copy source\latex\babel/* scratch cd scratch tex babel.ins
(O caminho anterior
source\...
é omitido em ambos os exemplos e precisa ser adicionado.)
Normalmente os arquivos de instalação do LaTeX .ins
podem ser executados por TeX simples ( tex
), porque os .ins
arquivos são baseados em docstrip
, que não precisa do formato LaTeX. Mesmo assim, em alguns casos, o LaTeX é necessário, às vezes apenas por causa de alguma bobagem \NeedsTeXFormat{LaTeX2e}
.
Normalmente um usuário LaTeX não precisa executar .ins
arquivos, porque a distribuição TeX já fornece os pacotes descompactados. Se a distribuição TeX não contiver o pacote, então o CTAN poderá ter package.tds.zip
os arquivos abaixo CTAN:install/
. Eles só precisam ser descompactados na raiz da árvore TDS (além de atualizar o banco de dados de nomes de arquivos).
Problema (c) "Comando não encontrado", discutido na seção de comentários
MiKTeX portátil não adiciona seu diretório bin
à variável de ambiente PATH
. Portanto, o Windows não consegue localizar os binários, se eles não estiverem qualificados com um componente de caminho suficiente. Este é o preço de ser portátil. O sistema host permanece intacto e o caminho da bin
pasta pode mudar (diferentes letras da unidade USB, ...).
Para usar o MiKTeX portátil com uma janela de comando, miktex-portable
o diretório de instalação do MiKTeX portátil deve ser chamado primeiro. Adiciona um ícone à barra de tarefas. Um clique com o botão direito oferece a opção "Prompt de Comando", que abre uma janela de comando, onde são definidas as variáveis de ambiente do MiKTeX. Ver"Como usar o MiKTeX portátil".
Se você deseja usar o MiKTeX permanentemente em seu sistema, então a versão normal do MiKTeX é preferível. Caso contrário, as variáveis de ambiente podem ser configuradas manualmente no sistema Windows, caso a bin
pasta tenha um local permanente ou pode-se utilizar o modo descrito anteriormente.