首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >悄悄运行pdflatex

悄悄运行pdflatex
EN

Stack Overflow用户
提问于 2009-06-24 12:01:47
回答 2查看 40.9K关注 0票数 58

我正在使用system()从我的(C++)程序中调用pdflatex,不用说,屏幕上的所有垃圾pdflatex在这种情况下都有点烦人。

So...how我是否鼓励pdflatex放弃冗长的输出?如果能看到错误就更好了..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-06-24 12:09:00

要简单地忽略所有输出,将pdflatex stdout重定向到/dev/null:

代码语言:javascript
复制
system("pdflatex yourdocument >/dev/null");

您可能需要在文档开头添加\nonstopmode,以指示tex即使遇到错误也要继续运行。

为了获得错误消息,管道pdflatex输出到您的程序,并查找从!开始的行周围的错误。

代码语言:javascript
复制
FILE *outputf = popen("pdflatex yourdocument", "r");

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

pclose(outputf);
票数 24
EN

Stack Overflow用户

发布于 2009-06-26 07:04:43

不幸的是(La)TeX并没有真正遵守stdoutsterr的规则,因为它起源于80年代初。但是,您可以调用一些开关来更改所显示的信息量。

即使在语法错误的情况下,也可以使用latex-interaction=nonstopmode-interaction=batchmode开关执行不停机行为。nonstopmode会打印所有常用的行,但不会停止。batchmode将禁止所有声明性行(“这是pdfTeX v3.14.”)。

也可以使用\batchmode\nonstopmode从文档中调用这些信息,但是这对于您所描述的情况并不那么有用。

票数 67
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1037927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档