programing

pdflatex를 조용히 실행

projobs 2021. 1. 15. 07:32
반응형

pdflatex를 조용히 실행


나는 system ()을 사용하여 내 (C ++) 프로그램 내에서 pdflatex를 호출하고 있습니다.이 경우에는 pdflatex가 화면에 넣는 모든 쓰레기가 약간 짜증나는 것은 말할 필요도 없습니다.

그래서 ... 어떻게 pdflatex가 긴 출력을 포기하도록 장려합니까? 오류 만 보이면 더 좋을 것입니다 ...


모든 출력을 무시하려면 pdflatex stdout을 / dev / null로 리디렉션합니다.

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

\nonstopmode문서의 시작 부분에 추가 하여 오류가 발생하더라도 계속 진행하도록 tex에 지시 할 수 있습니다.

오류 메시지를 얻으려면 pdflatex 출력을 프로그램에 파이프하고로 시작하는 행 주변의 오류를 찾습니다 !. 예 :

FILE *outputf = popen("pdflatex yourdocument", "r");

// ... read and analyze output from outputf ...

pclose(outputf);

불행히도 (La) TeX는 80 년대 초반의 기원 때문에 stdoutand 의 규칙을 따르지 않습니다 sterr. 그러나 표시되는 정보의 양을 변경하기 위해 호출 할 수있는 몇 가지 스위치가 있습니다.

구문 오류의 경우에도 중단되지 않는 동작을 위해 또는 스위치를 latex사용하여 실행합니다 . 모든 일반적인 라인을 인쇄합니다. 멈추지 않습니다. 소수의 선언 행을 제외한 모든 행을 억제합니다 ( "이것은 pdfTeX v3.14 ...").-interaction=nonstopmode-interaction=batchmodenonstopmodebatchmode

이들은 또한 함께 문서 내에서 호출 할 수 있습니다 \batchmode\nonstopmode, 그러나 이것은 당신이 설명하고있는 상황에 덜 유용합니다.

참조 URL : https://stackoverflow.com/questions/1037927/run-pdflatex-quietly

반응형