overleaf overfull not how hbox genera found latex automation prompt expect latexmk

overfull - No me haga abortar manualmente una compilación LaTeX cuando hay un error



overleaf (4)

Con MikTeX, pdflatex tiene esta opción de línea de comandos:

-interaction=MODE Set the interaction mode; MODE must be one of: batchmode, nonstopmode, scrollmode, errorstopmode.

Editar sugerido por @ 9999 años:

Esos valores son equivalentes a un conjunto de /commands LaTeX /commands que proporcionan la misma funcionalidad.

De los consejos de uso de TeX :

Los modos hacen que TeX se comporte de la siguiente manera:

  • errorstopmode detiene en todos los errores, ya sean errores en el código fuente o archivos inexistentes.

  • scrollmode no se detiene en los errores en el origen, sino que solicita la entrada cuando ocurre un error más grave, como un archivo faltante.

  • En el modo nonstopmode nombre, TeX no solicita entrada después de errores graves, pero se detiene por completo.

  • batchmode previene todos los resultados además de eso (destinados para uso en scripts automatizados). En todos los casos, todos los errores se escriben en el archivo de registro (yourtexfile.log).

Como se sugiere here , latexmk es una forma práctica de compilar continuamente su documento cada vez que cambia la fuente. Pero a menudo, cuando trabajas en un documento, terminas con errores y luego latex pánico y esperas a que el usuario ingrese antes de continuar. Eso puede ser muy molesto, especialmente recientemente cuando pirateé algo para compilar latex directamente desde un documento etherpad , que se guarda continuamente a medida que escribe.

¿Hay alguna configuración para latexmk o latexmk para que simplemente se latexmk con un mensaje de error si no se puede compilar? O, si es necesario, ¿cómo podría configurar algún tipo de script Expect para descartar automáticamente las quejas de LaTeX?

(Pensé que la opción de -halt-on-error haría el truco, pero aparentemente no).

Pregunta de bonificación: Skim en Mac OSX es un buen visor de pdf que se regenera automáticamente cuando cambia el pdf (a diferencia de la Vista previa), excepto que cada vez que hay un error de látex, hace que vuelva a confirmar que desea la restauración automática. Texniscope no tiene este problema, pero tuve que deshacerme de Texniscope por otras razones . ¿Hay alguna forma de hacer que Skim siempre se recupere automáticamente, o hay otro espectador que lo hace bien?

AGREGADO: Mini-tutorial sobre latexmk basado en la respuesta a esta pregunta:

  1. Obtenga latexmk aquí: http://www.phys.psu.edu/~collins/software/latexmk-jcc/

  2. Agregue lo siguiente a su archivo ~/.latexmkrc :

    $pdflatex = ''pdflatex -interaction=nonstopmode'';

    (Para OS X con Skim)

    $pdf_previewer = "open -a /Applications/Skim.app";

  3. Mientras edita su archivo fuente, foo.tex , ejecute lo siguiente en un terminal:

    latexmk -pvc -pdf foo.tex

  4. Use Skim u otro visor de pdf en tiempo real para ver foo.pdf. Para Skim, solo mire la pestaña "Sincronización" en las preferencias de Skim y configúrela para su editor.

Voila! Pulsar guardar en foo.tex ahora hará que foo.pdf actualice sin tocar nada.


Otro posible truco es simplemente usar:

yes x | latexmk source.tex

Siempre puedes crear un alias para ''sí x | latexmk ''si vas a utilizar esta opción mucho. La principal ventaja de esto que puedo ver arriba de las otras sugerencias es que es muy rápido para cuando ocasionalmente quieres que latexmk se comporte así.

Mehmet


También hay un comando /batchmode puede hacer el trabajo.


También puede poner /nonstopmode o /batchmode al principio de su archivo tex; entonces funcionará con cualquier versión de TeX, no solo con pdflatex . Para obtener más información sobre estos y los comandos relacionados, vea la muy buena referencia en los comandos (crudos) TeX de David Bausum . Especialmente el comando de la familia de depuración podría ser de interés aquí.