
Cada vez que LaTeX genera un .aux
archivo dañado por cualquier motivo, aparece el siguiente cuadro de diálogo, que dice _Mientras se configuraba, se detectó un archivo .aux corrupto de una ejecución anterior. Debe eliminarlo y volver a ejecutar el proceso de composición tipográfica. ¿Quiere mostrar el cuadro de diálogo "Eliminar archivos auxiliares..." ahora?
No sólo es redundante (¿por qué no mostrar el otro cuadro de diálogo inmediatamente con Skip
el botón?), sino que, lo que es más importante, es muy molesto.
¡No quiero que aparezca ningún cuadro de diálogo!¿Se puede desactivar de alguna manera o tengo que obtener la fuente, borrar esta parte y volver a compilarla?
Respuesta1
De mi comentario a una respuesta adecuada.:)
La raíz de todos los males reside en un anzuelo cuyo nombre se encuentra logParser.js
en su interior <USERHOME>/.TeXworks/scripts/Hooks
. Si no está seguro de dónde encontrar esta ruta, TeXworks tiene un atajo para ella:
Es decir Scripts ▶ Scripting TeXworks ▶ Show Scripts Folder
,. Luego puede acceder a una carpeta nombrada Hooks
allí. Bastante fácil, ¿no?:)
El archivo culpable es logParser.js
,
que es un código JavaScript. Tenemos dos maneras de afrontarlo. Ya sea deshabilitando toda la ejecución de este analizador de registros a través de:
( Scripts ▶ Scripting TeXworks ▶ Manage Scripts
)
Y luego desmarcar el elemento Errors, warnings, badboxes
debajo de la Hook Scripts
pestaña.
O podemos editar logParser.js
directamente. La función que se ocupa de advertir sobre archivos auxiliares se encuentra alrededor de la línea 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;
}
}
}
Aunque podría agregar una return
declaración justo después del bloque de apertura del cuerpo de la función, preferiría comentar las partes ofensivas. :)
Entonces:
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;
}
}
*/
}
Y hemos terminado.:)
Respuesta2
Me he encontrado con el mismo problema.
Este problema puede deberse a errores en el proceso de composición tipográfica. En mi caso, si hay un error en el archivo tex, entonces lo compilo, el proceso de composición tipográfica informa que se produce un error y dejo de componer, cuando lo vuelvo a componer, aparece el cuadro de diálogo para informarle que elimine el archivo auxiliar, en realidad Si hace clic en 'Aceptar', aparecerá otro cuadro de diálogo para elegir qué archivo debe eliminarse, luego hace clic en 'Eliminar' y se eliminarán todos los archivos seleccionados.
De este problema se puede inferir que:
Se produce un error en el proceso de composición tipográfica que invalida los archivos auxiliares. Debe corregir el error y eliminar los archivos auxiliares y luego volver a componerlos.
Este cuadro de diálogo aparece cuando escribe el archivo por segunda vez después de que se produce el error.
Este cuadro de diálogo solo le informa y, de hecho, los archivos auxiliares se eliminarán en el siguiente cuadro de diálogo.
Entonces, mi solución es que si ocurre un error en el proceso de composición tipográfica, cuando lo cancelo, aparece el cuadro de diálogo de eliminación de archivos, luego hago clic en el botón "eliminar" para eliminar los archivos auxiliares. (Aún aparece un cuadro de diálogo porque me resulta difícil eliminar archivos auxiliares mediante el script y no sé cómo hacerlo).
Y aquí está mi código. logParser.js
Se modifica la función WarnAuxFiles alrededor de la línea 373 .
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;
}
}
}