
Cada vez que o LaTeX gera um .aux
arquivo corrompido por qualquer motivo, a seguinte caixa de diálogo aparece, lendo _Whil tupesetting, um arquivo .aux corrompido de uma execução anterior foi detectado. Você deve removê-lo e executar novamente o processo de composição. Deseja exibir a caixa de diálogo "Remover arquivos auxiliares..." agora?
Não só é redundante (por que não exibir a outra caixa de diálogo imediatamente com Skip
o botão?), mas o mais importante é que é muito chato.
Não quero que nenhuma caixa de diálogo apareça!Ele pode ser desligado de alguma forma ou preciso pegar a fonte, apagar essa parte e recompilá-la?
Responder1
Do meu comentário a uma resposta adequada.:)
A raiz de todo mal depende de um gancho chamado logParser.js
inside <USERHOME>/.TeXworks/scripts/Hooks
. Se você não tem certeza de onde encontrar esse caminho, o TeXworks tem um atalho para ele:
Ou seja, Scripts ▶ Scripting TeXworks ▶ Show Scripts Folder
. Então você pode acessar uma pasta chamada Hooks
lá. Muito fácil, não é?:)
O arquivo culpado é logParser.js
,
que é um código JavaScript. Temos duas maneiras de lidar com isso. Desativando toda a execução deste analisador de log por meio de:
( Scripts ▶ Scripting TeXworks ▶ Manage Scripts
)
E então desmarcando o item Errors, warnings, badboxes
na Hook Scripts
guia.
Ou podemos editar logParser.js
diretamente. A função que trata do aviso sobre arquivos auxiliares fica por volta da linha 373:
LogParser.prototype.WarnAuxFiles = function()
{
for (var i = this.Results.length-1; i >= 0; i--) {
if (this.Results[i].Description.indexOf("File ended while scanning use of") > -1) {
if (TW.question(null, "", "While typesetting, a corrupt .aux " +
"file from a previous run was detected. You should remove " +
"it and rerun the typesetting process. Do you want to display" +
"the \"Remove Aux Files...\" dialog now?", 0x14000) == 0x4000)
TW.target.removeAuxFiles();
break;
}
}
}
Embora eu pudesse adicionar uma return
instrução logo após o bloco de abertura do corpo da função, prefiro comentar as partes ofensivas. :)
Então:
LogParser.prototype.WarnAuxFiles = function()
{
/*
No more! (Dr. Who, The Day Of The Doctor)
_.._
/ a\__,
\ -.___/
\ \
(\____) \
|\_( ))
_____| (_ /________
_\____(______/__
______
ooh a duck! :)
for (var i = this.Results.length-1; i >= 0; i--) {
if (this.Results[i].Description.indexOf("File ended while scanning use of") > -1) {
if (TW.question(null, "", "While typesetting, a corrupt .aux " +
"file from a previous run was detected. You should remove " +
"it and rerun the typesetting process. Do you want to display" +
"the \"Remove Aux Files...\" dialog now?", 0x14000) == 0x4000)
TW.target.removeAuxFiles();
break;
}
}
*/
}
E terminamos.:)
Responder2
Eu encontrei o mesmo problema.
Esse problema pode ser causado por erros no processo de composição. No meu caso, se houver um erro no arquivo tex, então eu compilo, o processo de composição informa que ocorreu um erro e eu paro a composição, quando eu digito novamente, aparece a caixa de diálogo informando para remover o arquivo aux, na verdade se você clicar em 'OK', outra caixa de diálogo aparecerá para escolher qual arquivo deve ser removido, então você clica em 'Excluir', todos os arquivos selecionados serão excluídos.
Este problema pode ser inferido que:
Ocorre um erro em seu processo de composição, tornando seus arquivos auxiliares inválidos. Você deve corrigir o erro e remover os arquivos aux e depois compor novamente.
Esta caixa de diálogo aparece quando você digita o arquivo pela segunda vez após a ocorrência do erro.
Esta caixa de diálogo apenas informa e, na verdade, os arquivos aux serão excluídos na próxima caixa de diálogo.
Portanto, minha solução é que, se ocorrer um erro no processo de composição, quando eu o interromper, a caixa de diálogo de remoção de arquivos aparecerá e clique no botão 'excluir' para remover os arquivos auxiliares. (Ainda há uma caixa de diálogo porque acho difícil remover arquivos aux usando o script e não sei como fazer isso.)
E aqui está o meu código. A função WarnAuxFiles em torno da linha 373 logParser.js
foi modificada.
LogParser.prototype.WarnAuxFiles = function()
{
for (var i = this.Results.length-1; i >= 0; i--) {
if(this.Results[i].Severity == Severity.Error) {
TW.target.removeAuxFiles();
break;
}
}
}