Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

ClutTeX: Process LaTeX document without cluttering your directory

ClutTeX is a program to automatically process your LaTeX document. If necessary, it re-runs (La)TeX program to resolve cross-references and everything.

One of its main feature is that, it does not clutter your working directory (but the final .pdf file is still brought for you).



  • Does not clutter your working directory with .aux, .log, etc. files.
  • Does not prompt for input when there is a (La)TeX error.
  • With pTeX-like engines, automatically run dvipdfmx to produce PDF file.
  • Automatically re-run (La)TeX to resolve cross-references and other things.
  • Watch input files for change (requires an external program). [--watch option]
  • Support for MakeIndex, BibTeX, Biber, makeglossaries commands. [--makeindex, --bibtex, --biber, --makeglossaries options]


$ cluttex -e pdflatex file.tex

More general form:

$ cluttex [OPTIONS] [--] INPUT.tex

See example/ for some examples.


Click [Clone or download] button on GitHub and [Download ZIP]. Unpack and copy bin/cluttex (or bin/cluttex.bat on Windows) to somewhere in PATH.

Command-line Options

  • -e, --engine=ENGINE Specify which TeX engine/format to use. ENGINE is one of the following: pdflatex, pdftex, lualatex, luatex, luajittex, xelatex, xetex, latex, etex, tex, platex, eptex, ptex, uplatex, euptex, uptex.
  • -o, --output=FILE The name of output file. [default: JOBNAME.FORMAT]
  • --fresh Clean intermediate files before running TeX. Cannot be used with --output-directory.
  • --max-iterations=N Maximum number of running TeX to resolve cross-references. [default: 3]
  • --[no-]change-directory Change the current working directory to the output directory when running TeX.
  • --watch Watch input files for change. Requires fswatch program or inotifywait program to be installed on Unix systems.
  • --color[=WHEN] Make ClutTeX's message colorful. WHEN is one of always, auto, or never. [default: auto if --color is omitted, always if =WHEN is omitted]
  • --includeonly=NAMEs Insert \includeonly{NAMEs}.
  • --make-depends=FILE Write dependencies as a Makefile rule.
  • --tex-option=OPTION Pass OPTION to TeX as a single option.
  • --tex-options=OPTIONs Pass OPTIONs to TeX as multiple options.
  • --dvipdfmx-option[s]=OPTION[s] Same for dvipdfmx.
  • -h, --help Print this message and exit.
  • -v, --version Print version information and exit.
  • -V, --verbose Be more verbose.
  • --print-output-directory Print the output directory and exit.
  • --package-support=PKG1[,PKG2,...,PKGn] Enable special support for shell-escaping packages. Currently supported packages are minted and epstopdf.
  • --engine-executable=COMMAND The actual TeX command to use.
  • --check-driver=DRIVER Check that the correct driver file is loaded. DRIVER is one of dvipdfmx, dvips, dvisvgm. Can only be used with --output-format=dvi.

Options to run auxiliary programs:

  • --makeindex=COMMAND Use MakeIndex program to process .idx files. (e.g. --makeindex=makeindex, or --makeindex=mendex)
  • --bibtex=COMMAND Use BibTeX program to produce .bbl file from .aux files. (e.g. --bibtex=bibtex, or --bibtex=upbibtex)
  • --biber[=COMMAND] Use Biber program to produce .bbl file from .bcf file.
  • --makeglossaries[=COMMAND] Use makeglossaries program to produce .gls file from .glo file.

TeX-compatible options:

  • --[no-]shell-escape
  • --shell-restricted
  • --synctex=NUMBER
  • --[no-]file-line-error [default: yes]
  • --[no-]halt-on-error [default: yes]
  • --interaction=STRING (STRING=batchmode/nonstopmode/scrollmode/errorstopmode) [default: nonstopmode]
  • --jobname=STRING
  • --fmt=FORMAT
  • --output-directory=DIR [default: somewhere in the temporary directory]
  • --output-format=FORMAT Set output format (pdf or dvi). [default: pdf]

For TeX-compatible options, single-hypen forms are allowed (e.g. -synctex=1 in addition to --synctex=1).

If run as cllualatex or clxelatex, then the default engine is lualatex or xelatex, accordingly.


This program is distributed under GNU General Public License, version 3.


Process LaTeX documents without cluttering your working directory








No packages published