# Some automation to submit to a journal (e.g. Elsevier). # It detects the main latex file and eps files used. # Author: @balkian # TODO: Only import the tex files used in the main file, and their images. AUX_DIR=.aux LATEX=$(basename $(shell grep -l '\\begin{document' *.tex)) LETTER=letter COVER=cover HIGHLIGHTS=highlights HTML_OUT=$(LETTER).html .PHONY: all cover clean highlights latex letter zip default: latex all: $(LATEX).pdf $(LETTER).pdf $(COVER).pdf $(HIGHLIGHTS).pdf | zip $(AUX_DIR): @mkdir -p $(AUX_DIR) $(LETTER).pdf: $(LETTER).md | $(AUX_DIR) @pandoc -s -H style.html $(LETTER).md -o $(HTML_OUT) @wkhtmltopdf $(HTML_OUT) $(LETTER).pdf @echo Letter generated: $(LETTER) $(LATEX).pdf: *.tex | $(AUX_DIR) # An alternative to doing three passes is using latexmk @pdflatex -interaction=batchmode -output-directory=$(AUX_DIR) $(LATEX) >/dev/null # openout_any=a -> write to a folder (AUX_DIR) # TEXMFOUTPUT -> find the aux files in that folder @openout_any=a TEXMFOUTPUT="$(AUX_DIR)/" bibtex $(AUX_DIR)/$(LATEX) >/dev/null @pdflatex -interaction=batchmode -output-directory=$(AUX_DIR) $(LATEX) >/dev/null @pdflatex -interaction=batchmode -output-directory=$(AUX_DIR) $(LATEX) @mv $(AUX_DIR)/$(LATEX).pdf . @echo "Finished" $(HIGHLIGHTS).pdf: $(HIGHLIGHTS).md pandoc $(HIGHLIGHTS).md -o (HIGHLIGHTS).pdf $(COVER).pdf: $(COVER).md pandoc $(COVER).md -o $(COVER).pdf $(LATEX).zip: $(LATEX).pdf $(LETTER).pdf $(HIGHLIGHTS).pdf $(COVER).pdf @zip $(LATEX).zip *.tex $(LETTER).pdf $(COVER).pdf $(HIGHLIGHTS).pdf @for r in `sed -n 's/.*bibliography{\(.*\)}.*/\1/p' *.tex`; do \ zip $(LATEX).zip $$r.bib; \ done @for i in `sed -n 's/.*includegraphics\[.*\]{\(.*\)}.*/\1/p' *.tex`; do \ zip $(LATEX).zip figures/$$i.eps; \ done zip Makefile clean: @-rm -rf $(AUX_DIR) @-rm -f $(HTML_OUT) clean_all: clean @rm -f $(LATEX).zip @rm -f $(LATEX).pdf @rm -f $(REVIEW).pdf @rm -f $(COVER).pdf @rm -f $(HIGHLIGHTS).pdf view: $(LATEX).pdf xdg-open $(LATEX).pdf cover: $(COVER).pdf highlights: $(HIGHLIGHTS).pdf latex: $(LATEX).pdf letter: $(LETTER).pdf zip: $(LATEX).zip