commit 6383de6fd313c56a8f0a1d565e6ec01bb3946b92 Author: Thomas Forgione Date: Wed Feb 19 15:09:43 2020 +0100 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..378eac2 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +build diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..a7fe91b --- /dev/null +++ b/Makefile @@ -0,0 +1,43 @@ +default: pdf + +all: pdf printer screen + +# Constants. +rootname = main +rootfile = $(rootname).tex +outdir = build +outfile = $(outdir)/$(rootname).pdf + +# Compression with ghostscript. +compress = gs -sDEVICE=pdfwrite -dPDFSETTINGS=/$(1) -dCompatibilityLevel=1.4 -dNOPAUSE -dQUIET -dBATCH -sOutputFile=$(outdir)/$(rootname)-$(1).pdf $(outfile) + +# Latex command to build pdf file. +latexmk = latexmk -lualatex -f -latexoption=-shell-escape -interaction=nonstopmode $< -outdir=$(outdir) $(1) $(rootfile) + +# Build PDF version adapted to printers. +printer: pdf + $(call compress,printer) + +# Build PDF version adapted to screens. +screen: pdf + $(call compress,screen) + +# Build PDF version of the thesis manuscript. +pdf: $(rootfile) + $(call latexmk) + +# Watch and automatically recompile when a file changes. +watch: $(rootfile) + $(call latexmk,-pvc -view=none) + +# Remove intermediate build artifacts. +clean: + latexmk -c -outdir=$(outdir) $(rootfile) + +# Remove all build artifacts. +clean-all: + rm -rf $(outdir) + +# Phony targets will always trigger a re-run. +.PHONY: clean-all clean watch pdf + diff --git a/main.tex b/main.tex new file mode 100644 index 0000000..daa96b4 --- /dev/null +++ b/main.tex @@ -0,0 +1,4 @@ +\documentclass{scrartcl} +\begin{document} +\section{Hello world!} +\end{document}