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:
Obtenga
latexmk
aquí: http://www.phys.psu.edu/~collins/software/latexmk-jcc/Agregue lo siguiente a su archivo
~/.latexmkrc
:$pdflatex = ''pdflatex -interaction=nonstopmode'';
(Para OS X con Skim)
$pdf_previewer = "open -a /Applications/Skim.app";
Mientras edita su archivo fuente,
foo.tex
, ejecute lo siguiente en un terminal:latexmk -pvc -pdf foo.tex
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í.