1
0
mirror of https://github.com/balkian/gists.git synced 2024-11-24 02:12:29 +00:00
gists/repos/a5894ae26437006b8efb/Makefile
J. Fernando Sánchez 7a9c1f28a4 Add 'repos/a5894ae26437006b8efb/' from commit '9491756c9549d502a43e828cf402ee23ece444b2'
git-subtree-dir: repos/a5894ae26437006b8efb
git-subtree-mainline: e167429310
git-subtree-split: 9491756c95
2021-10-30 15:13:23 +02:00

72 lines
2.1 KiB
Makefile

# 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