57 lines
2.1 KiB
Makefile
57 lines
2.1 KiB
Makefile
.PHONY: all paper help html publish watch clean cp-figs
|
|
|
|
SHELL := /bin/bash
|
|
PAPERDIR=paper
|
|
MATLABDIR=matlab
|
|
TIKZDIR=tikz
|
|
|
|
PAPERNAME=paper
|
|
|
|
all: paper html publish
|
|
|
|
paper: cp-figs tangle tex pdf clean
|
|
|
|
help:
|
|
@echo "Usage: make <command>"
|
|
@echo " all - Cp-figs tex pdf html publish"
|
|
@echo " paper - Compile the org file to a pdf"
|
|
@echo " html - Export all the org files to html"
|
|
@echo " publish - Commit everything and push to repository"
|
|
@echo " tex - Export to paper in org format to tex"
|
|
@echo " tangle - Tangle everything that is in the org paper and tikz file"
|
|
@echo " pdf - Compile the tex file to pdf"
|
|
@echo " watch - Watch the tex file for changes and compile"
|
|
@echo " clean - Clean the paper directory"
|
|
@echo " cp-figs - Copy all the necessary figures from tikz and matlab folder to paper folder"
|
|
|
|
html:
|
|
for f in *.org; do emacsclient -e "(progn (find-file \"$$f\") (org-html-export-to-html))"; done
|
|
for f in $(TIKZDIR)/*.org; do emacsclient -e "(progn (find-file \"$$f\") (org-html-export-to-html))"; done
|
|
for f in $(MATLABDIR)/*.org; do emacsclient -e "(progn (find-file \"$$f\") (org-html-export-to-html))"; done
|
|
|
|
publish:
|
|
git add . && git commit -m "Update - $$(date +%F)" && git push origin master
|
|
|
|
tex: $(PAPERDIR)/$(PAPERNAME).org
|
|
emacsclient -e '(progn (find-file "$(PAPERDIR)/$(PAPERNAME).org") (org-latex-export-to-latex))'
|
|
|
|
tangle: $(PAPERDIR)/$(PAPERNAME).org
|
|
emacsclient -e '(progn (find-file "$(PAPERDIR)/$(PAPERNAME).org") (org-babel-tangle))'
|
|
emacsclient -e '(progn (find-file "$(TIKZDIR)/index.org") (org-babel-tangle))'
|
|
|
|
pdf: $(PAPERDIR)/$(PAPERNAME).tex
|
|
latexmk -cd -quiet -bibtex $(PREVIEW_CONTINUOUSLY) -f -pdf -pdflatex="xelatex -synctex=1 -interaction nonstopmode" -use-make $(PAPERDIR)/$(PAPERNAME).tex
|
|
|
|
# Set the PREVIEW_CONTINUOUSLY variable to -pvc to switch latexmk into the preview continuously mode
|
|
watch: PREVIEW_CONTINUOUSLY=-pvc
|
|
watch: pdf
|
|
|
|
watch-org: $(PAPERDIR)/$(PAPERNAME).org
|
|
echo $(PAPERDIR)/$(PAPERNAME).org | entr -s 'make tangle tex pdf'
|
|
|
|
clean:
|
|
latexmk -cd -c -bibtex $(PAPERDIR)/$(PAPERNAME).tex
|
|
|
|
cp-figs:
|
|
bash scripts/cp-figs.sh
|