synctex sido posible orden nonstopmode mac insertar ejecutar descargar latex pdflatex

sido - Ejecutar pdflatex en silencio



pdflatex r (2)

Desafortunadamente (La) TeX no respeta realmente las reglas de stdout y sterr , debiendo (supongo) a sus orígenes a principios de los 80s. Pero hay algunos interruptores que puede invocar para alterar la cantidad de información que se muestra.

Ejecute el latex con los -interaction=nonstopmode o -interaction=batchmode para el comportamiento de no detención incluso en el caso de un error de sintaxis. nonstopmode imprimirá todas las líneas habituales, simplemente no se detendrá. batchmode suprimirá todas las líneas declarativas excepto una ("esto es pdfTeX v3.14 ...").

Estos también pueden invocarse desde dentro del documento con /batchmode y /nonstopmode , pero esto es menos útil para la situación que está describiendo.

Estoy llamando a pdflatex desde mi programa (C ++) usando system (), no hace falta decir que toda la basura que pone pdflatex en la pantalla es un poco irritante en este caso.

Entonces ... ¿cómo animo a pdflatex a renunciar a los resultados largos? Sería incluso mejor si solo los errores fueran visibles ...


Para simplemente ignorar todas las salidas, redirija la salida estándar de pdflatex a / dev / null:

system("pdflatex yourdocument >/dev/null");

Es posible que desee agregar /nonstopmode al principio de su documento para indicar a tex que continúe, incluso cuando encuentre errores.

Para obtener los mensajes de error, conecte la salida de pdflatex a su programa y busque errores alrededor de las filas que comienzan con ! , p.ej

FILE *outputf = popen("pdflatex yourdocument", "r"); // ... read and analyze output from outputf ... pclose(outputf);