44

I just want to have a .tex file which I compile with pdflatex and end up with a .pdf file. I don't want all the other .aux, .log and .synctex.gz files. pdflatex doesn't seem to have arguments for this.

4

10 回答 10

56

latexmk -c将删除不必要的文件。latexmk也是管理编译的好方法!

于 2010-11-26T04:00:16.523 回答
34

我总是像这样构建我的 PDF 文件:

pdflatex -aux-directory=/some/temp/dir <additional options>

这样,我就不会看到所有其他文件。这些文件不应该被删除,因为它们对于交叉引用、参考书目、目录等很重要。运行pdflatex几次然后删除文件需要太多时间。

不幸的-aux-directory是,在 pdflatex 的 linux 版本中不存在。在 Ubuntu Lucid 上测试。

于 2010-12-20T12:58:52.447 回答
10

对于 Linux 上的人来说,相当于-aux-directory似乎是-output-directory,不幸的是它不能很好地使用\include{...}(包含文件的.aux文件仍然被转储到当前目录中)。

另请参阅:手册页

于 2013-10-29T20:19:10.783 回答
5

如果任何使用TeXnicCenter的人都希望只为给定的 *.tex 文件(没有 *.aux、*.bbl、*.blg 和 *.log 文件)获取 *.pdf 文件,这里有一个快速的解决方案:选择从菜单中:构建 | 定义输出配置文件,将"LaTeX => PDF"配置文件复制到新配置文件"LaTeX => PDF ONLY",然后在后处理器选项卡上创建四个新的后处理器:

名称:删除*.XXX

可执行文件:“C:\WINDOWS\system32\cmd.exe”

参数:/C del "%bm.XXX"

将 XXX 分别替换为 aux、bbl、blg、​​log。

于 2010-11-26T03:55:25.057 回答
3

对于 MikTeX:

texify -cp  file.tex

它将根据需要运行 pdflatex 多次,然后清理临时文件。很有用。

于 2010-10-02T00:01:31.313 回答
2

精心设计的包装脚本似乎是最好的答案。这些方面的东西,我在 Ubuntu 上使用 texlive-latex (pdftex 1.40.10) 进行了测试:

#!/bin/bash
TMPDIR=$(mktemp -d)
trap "rm -fr $TMPDIR; exit 255;" SIGINT SIGTERM SIGKILL

/usr/bin/latex -interaction=batchmode -output-directory=$TMPDIR $1
cp $TMPDIR/$1.dvi .
rm -fr $TMPDIR
于 2011-05-26T19:23:00.090 回答
1

您文件中的IIRC\nofiles会抑制.aux输出。

于 2012-12-14T22:35:21.167 回答
0

编写一个删除文件的 shell 脚本包装器:

#!/bin/sh
pdflatex "$@" && rm -f *.aux *.log *.synctex.gz

奖励分配:修改脚本以仅删除 pdflatex 实际创建的文件。

于 2010-09-19T13:50:13.653 回答
0

您如何创建/编辑您的 LaTex 文档?如果您使用的是 Sublime Text 2,您可以编辑项目文件以禁止打开您选择的文件类型。它们仍然会在编译时创建,但不会加载到您的项目中,从而使它们不可见。

于 2013-02-26T19:14:50.043 回答
-2

使用选项pdflatex-enable-write18在 LaTeX 文件末尾写入

\write18{del *.aux}
\write18{del *.log}
\write18{del *.gz}

或更贵

\write18{del \jobname.aux}
\write18{del \jobname.log}
\write18{del \jobname.synctex.gz}
\write18{del \jobname.toc}
\write18{del \jobname.loc}

del是一个DOS函数。用于rmUNIX。

于 2010-09-20T11:29:19.637 回答