Last active
November 27, 2015 13:39
-
-
Save arthurlevy/5cbce852d4e7f685df0b to your computer and use it in GitHub Desktop.
makefile for articles written in LaTeX with LyX
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#Name of the main lyx and tex file | |
ARTICLE = article | |
#name of the bibliography | |
BIBLIO = biblio | |
#path to the mendeley bibliography where it comes from | |
MENDELEY_DATABASE = ../Bibtex\ Databases/thermostamping.bib | |
#path to LyX application | |
LYX = /Applications/LyX.app/Contents/MacOS/lyx | |
#path to MATLAB | |
MATLAB = /Applications/MATLAB_R2015b.app/bin/matlab | |
#name of the graffle source file for eps figures | |
GRAFFLE_FILE = figures.graffle | |
#path to the graffle2eps applescript | |
GRAFFLE2EPS_PATH = ~/Library/Scripts/ | |
#get eps files produced from graffle or matlab | |
EPS_FROM_GRAFFLE:=$(shell awk -F"[<>]" '/SheetTitle/ {getline;print $$3".eps"}' $(GRAFFLE_FILE)/data.plist) | |
FIG_FILES=$(wildcard *.fig) | |
EPS_FROM_MATLAB=$(FIG_FILES:.fig=.eps) | |
all: $(ARTICLE).pdf sources.zip clean | |
$(ARTICLE).pdf: $(ARTICLE).tex $(BIBLIO).bib *.eps $(EPS_FROM_MATLAB) $(EPS_FROM_GRAFFLE) | |
echo "-- MAKE -- PRODUCING PDF FILE" | |
latex $(ARTICLE).tex | |
bibtex $(ARTICLE) | |
latex $(ARTICLE).tex | |
latex $(ARTICLE).tex | |
latex $(ARTICLE).tex | |
dvipdfmx -o $(ARTICLE).pdf $(ARTICLE).dvi | |
$(BIBLIO).bib: $(MENDELEY_DATABASE) | |
echo "-- MAKE -- UPDATE BIBTEX FILE FROM MENDELEY" | |
cp $(MENDELEY_DATABASE) $(BIBLIO).bib | |
echo "-- MAKE -- CLEANING BIBTEX FILE" | |
TMPFILE=`mktemp -t bibXXXXXXX.pdf` | |
TMPFILE2=`mktemp -t bibXXXXXXX.pdf` | |
grep -v "url =" $(BIBLIO).bib > $TMPFILE | |
grep -v "doi =" $TMPFILE > $TMPFILE2 | |
grep -v "issn =" $TMPFILE2 > $TMPFILE | |
grep -v "month =" $TMPFILE > $TMPFILE2 | |
grep -v "file =" $TMPFILE2 > $TMPFILE | |
grep -v "keywords =" $TMPFILE > $TMPFILE2 | |
grep -v "isbn =" $TMPFILE2 > $TMPFILE | |
grep -v "abstract =" $TMPFILE > $TMPFILE2 | |
cp $TMPFILE2 $(BIBLIO).bib | |
rm -f $TMPFILE $TMPFILE2 | |
$(ARTICLE).tex: $(ARTICLE).lyx | |
echo "-- MAKE -- EXPORT LYX TO LATEX" | |
$(LYX) -e latex $(ARTICLE).lyx -batch | |
sources.zip: $(ARTICLE).tex *.eps $(BIBLIO).bib | |
echo "-- MAKE -- ARCHIVE FILES" | |
zip -r sources.zip $(ARTICLE).tex $(BIBLIO).bib *.eps | |
%.eps: %.fig | |
echo "-- MAKE -- EXPORT EPS FROM Matlab ($< to $@)" | |
echo "figure(1); open('$<'); print(figure(1),'-depsc2','$@')" >> tmp.m | |
$(MATLAB) -nodisplay -r "cd $(PWD); tmp; exit" | |
rm tmp.m | |
.PHONY: omnigraffle | |
omnigraffle: $(GRAFFLE_FILE) | |
echo "-- MAKE -- EXPORT EPS FROM OmniGraffle" | |
osascript $(GRAFFLE2EPS_PATH)/graffle2eps.scpt $(GRAFFLE_FILE) | |
$(EPS_FROM_GRAFFLE): omnigraffle | |
clean: | |
echo "-- MAKE -- CLEANING DIRECTORY" | |
rm -f $(ARTICLE).log $(ARTICLE).dvi $(ARTICLE).aux $(ARTICLE).blg $(ARTICLE).toc $(ARTICLE).aux $(ARTICLE).bbl $(ARTICLE).glo $(ARTICLE).ist $(ARTICLE).out biblio.bbl biblio.blg *-eps-converted-to.pdf | |
commit: $(ARTICLE).tex $(BIBLIO).bib *.eps | |
git status | |
diff: diff.tex $(ARTICLE).tex | |
latex diff.tex | |
bibtex diff | |
latex diff.tex | |
latex diff.tex | |
latex diff.tex | |
dvipdfmx -o diff.pdf diff.dvi | |
rm diff.aux diff.bbl diff.blg diff.cb diff.dvi diff.log | |
diff.tex: | |
echo "-- MAKE -- PRODUCING Diff FILE with revision $(REV)" | |
latexdiff-vc -t CULINECHBAR --append-safecmd="vect,tens,moy,norm" -r $(REV) $(ARTICLE).tex | |
mv $(ARTICLE)-*.tex diff.tex |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment