susceptibility1/Makefile

195 lines
7.0 KiB
Makefile

TEXBASE=susceptibility1
BIBFILE=references.bib
REBUTTALBASE=
TEXFILE=$(TEXBASE).tex
PDFFILE=$(TEXBASE).pdf
TXTFILE=$(TEXBASE).txt
REVISION=
ifdef REBUTTALBASE
REBUTTALTEXFILE=$(REBUTTALBASE).tex
REBUTTALPDFFILE=$(REBUTTALBASE).pdf
endif
REBUTTALREVISION=
# all ###########################################################
ifdef REBUTTALBASE
all: bib rebuttalbib
else
all: bib
endif
# python #########################################################
plots: $(PYTHONPDFFILES)
$(PYTHONPDFFILES): %.pdf: %.py plotstyle.py
python3 $<
watchplots :
while true; do ! make -q plots && make plots; sleep 0.5; done
# rescue_local_eod manuscript #################################################
bib: $(TEXBASE).bbl
$(TEXBASE).bbl: $(TEXFILE) $(BIBFILE)
lualatex $(TEXFILE)
bibtex $(TEXBASE)
lualatex $(TEXFILE)
lualatex $(TEXFILE)
lualatex $(TEXFILE)
@echo
@echo "BibTeX log:"
@sed -n -e '1,/You.ve used/p' $(TEXBASE).blg
pdf: $(PDFFILE)
$(PDFFILE) : $(TEXFILE)
lualatex -interaction=scrollmode $< | tee /dev/stderr | fgrep -q "Rerun to get cross-references right" && lualatex -interaction=scrollmode $< || true
again :
lualatex $(TEXFILE)
# watch files #######################################################
watchpdf :
while true; do ! make -s -q pdf && make pdf; sleep 0.5; done
# make diffs ########################################################
diff :
#latexdiff-git -r $(REVISION) --pdf $(TEXFILE)
latexdiff-git -r $(REVISION) $(TEXFILE)
-lualatex $(TEXBASE)-diff$(REVISION)
-bibtex $(TEXBASE)-diff$(REVISION)
-lualatex $(TEXBASE)-diff$(REVISION)
-lualatex $(TEXBASE)-diff$(REVISION)
-lualatex $(TEXBASE)-diff$(REVISION)
mv $(TEXBASE)-diff$(REVISION).pdf $(TEXBASE)-diff.pdf
mv $(TEXBASE)-diff$(REVISION).tex $(TEXBASE)-diff.tex
mv $(TEXBASE)-diff$(REVISION).bbl $(TEXBASE)-diff.bbl
rm $(TEXBASE)-diff$(REVISION).*
# convert to txt file ################################################
txt: $(PDFFILE)
#dvi2tty -w 132 -v 500000 -e-60 -q $(DVIFILE) | sed -n -e '/\cL/,+2!p' > $(TXTFILE)
pdftotext -nopgbrk $(PDFFILE) - | fold -s > $(TXTFILE)
# convert to rtf file ################################################
rtf :
latex2rtf $(TEXFILE)
# remove all fancy commands from the tex file:
simplify :
sed -e '/overall style/,/page style/d; /setdoublespacing/,+1d; /usepackage.*caption/s/{\(.*\)}/\1/; /figure placement/,/^%/d; /ifthenelse.*nofigs/,/#1/d; /begin{multicols}/d; /end{multicols}/d; /begin{keywords}/,/end{keywords}/d; /begin{contributions}/,/end{contributions}/d; /figurecaptions/d; /linenomath/d; s/captionc/caption/' $(TEXFILE) | perl -00 -lpe 's/\\showfigure{((\s|.)*?)}/$$1/' > $(TEXBASE)-simplified.tex
# statistics #########################################################
stats: $(PDFFILE)
# use \pagestyle{empty} and don't include any pictures!
pdftotext -nopgbrk $(PDFFILE) - | fold -s > tmp.txt
@echo
@echo " words: " `wc -w tmp.txt 2> /dev/null | cut -d ' ' -f 1`
@echo "characters: " `wc -c tmp.txt 2> /dev/null | cut -d ' ' -f 1`
rm tmp.txt
# rebuttal ##########################################################
ifdef REBUTTALBASE
rebuttalbib: $(REBUTTALBASE).bbl
$(REBUTTALBASE).bbl: $(REBUTTALTEXFILE) $(BIBFILE)
lualatex $(REBUTTALTEXFILE)
bibtex $(REBUTTALBASE)
lualatex $(REBUTTALTEXFILE)
lualatex $(REBUTTALTEXFILE)
lualatex $(REBUTTALTEXFILE)
@echo
@echo "BibTeX log:"
@sed -n -e '1,/You.ve used/p' $(REBUTTALBASE).blg
rebuttal: $(REBUTTALPDFFILE)
$(REBUTTALPDFFILE) : $(REBUTTALTEXFILE)
lualatex -interaction=scrollmode $< | tee /dev/stderr | fgrep -q "Rerun to get cross-references right" && lualatex -interaction=scrollmode $< || true
watchrebuttal :
while true; do ! make -q rebuttal && make rebuttal; sleep 0.5; done
rebuttaldiff :
latexdiff-git -r $(REBUTTALREVISION) --append-textcmd="response,issue" --pdf $(REBUTTALTEXFILE)
mv $(REBUTTALBASE)-diff$(REBUTTALREVISION).pdf $(REBUTTALBASE)-diff.pdf
rm $(REBUTTALBASE)-diff$(REBUTTALREVISION).*
endif
# git ##############################################################
pull :
git pull origin master
ifdef REBUTTALBASE
edit : pull
emacs $(TEXFILE) $(BIBFILE) $(REBUTTALTEXFILE) Makefile &
sleep 1
okular $(REBUTTALPDFFILE) $(PDFFILE) &
prepare : pull bib diffrev rebuttalbib rebuttaldiff
else
edit : pull
emacs $(TEXFILE) $(BIBFILE) Makefile &
sleep 1
okular $(PDFFILE) &
prepare : pull bib diffrev
endif
push : prepare
git commit -a
git push origin master
# convert figures to png files #######################################
figures:
./latexfigures2png $(TEXFILE)
# convert pdf figures to eps #########################################
epsfigures:
#for i in $(PDFFIGURES); do echo $$i; rm -f $${i%.pdf}.eps; pdftops -level3 -eps $$i $${i%.pdf}.eps; done
for i in $(PDFFIGURES); do echo $$i; rm -f $${i%.pdf}.eps; gs -q -dNOCACHE -dNOPAUSE -dBATCH -dSAFER -sDEVICE=epswrite -sOutputFile=$${i%.pdf}.eps $$i; done
# clean up ############################################################
clean:
rm -rf auto *~ *.aux *.blg *.bbl *.dvi *.log *.out *.fff *.ttt $(PDFFIGURES) __pycache__
cleanall: clean
rm -f $(PDFFILE) figure-??.png
# help ################################################################
help :
@echo -e \
"make pdf: make the pdf file of the paper.\n"\
"make bib: run bibtex and make the pdf file of the paper.\n"\
"make again: run pdflatex and make the pdf file of the paper,\n"\
" no matter whether you changed the .tex file or not.\n"\
"make watchpdf: make the pdf file of the paper\n"\
" whenever the tex file is modified.\n"\
"make diff: make a diff file against the specified revision (REVISION variable)\n"\
"make txt: make a plain text version of the paper ($(TXTFILE)).\n"\
"make rtf: convert the paper ($(TXTFILE)) to rtf format.\n"\
"make simplify: strip all fancy commands from the paper ($(TXTFILE))\n"\
"make stats: print number of words and characters.\n"\
"make rebuttalbib: run bibtex and make the pdf file of the rebuttal.\n"\
"make rebuttal: make the pdf file of the rebuttal.\n"\
"make watchrebuttal: make the pdf file of the rebuttal\n"\
" whenever the tex file is modified.\n"\
"make rebuttaldiff: make a diff file of the rebuttal against the specified revision\n"\
" (REBUTTALREVISION variable).\n"\
"make pull: pull from the git repository.\n"\
"make edit: pull and open emacs and okular with te relevant files.\n"\
"make prepare: pull and make the pdfs and diffs of the manuscript and the rebuttal.\n"\
"make push: prepare, commit, and push to the git repository.\n"\
"make figures : convert all figures to png files.\n"\
"make epsfigures: convert all included pdf figures to eps files.\n"\
"make clean: remove all intermediate files,\n"\
" just leave the source files and the final .pdf files.\n"\
"make cleanup: remove all intermediate files as well as\n"\
" the final .pdf files.\n"\