If like me, you are tired of getting many temporary files when you compile your Latex project, you can use the following method. I’m sure it can be improved by a lot, but it’s still a very good start.
Several folders are necessary in order to carry out the compilation, here mine but it can be adapted to your needs:
/document |--/build |--/img |--/src
/build folder will receive all the compilation files such as
*.log, … The
/img will obviously contains all you images in several
formats (jpg, pdf and even tikz for the LaTeX gurus). Finally, the
folder will contain all you tex files and local styles (the
Minimal required latex packages
There are several tools out there but not all of them have options for using a separate build path for the compilation. My configuration uses these applications:
- pdflatex: to create the pdf output,
- biber: to check the sanity and link the bibliography file,
- makeglossaries: to create the glossary (always useful for long documents)
Of course you can adapt or have a more complex toolchain.
At the moment I use a make file located in the
/src folder written by hand.
It’s possible to use a more formal toolchain in order to have a portable
system and less prone to specific user configuration that would create bugs
elsewhere. Nevertheless, this
Makefile can be placed in any folder
following the hierarchy described above as long as you are adapting the
.PHONY: clean, mrproper .SUFFIXES: NAME = index BUILD = ../build pdf: pdflatex -output-directory=$(BUILD) -draftmode $(NAME) biber --bblencoding=utf-8 $(BUILD)/$(NAME) makeglossaries -d $(BUILD) $(BUILD)/$(NAME) pdflatex -output-directory=$(BUILD) $(NAME) cp $(BUILD)/$(NAME).pdf ../$(NAME).pdf mrproper: rm -f $(BUILD)/*
Now, you just have to go to your
/src folder and run
make pdf. The pdf output will appeared at the root of the folder.