forked from sjtug/SJTUThesis
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Makefile
52 lines (39 loc) · 1.34 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
THESIS = thesis
# TEX, BIB, TEST dir
TEX_DIR = tex
BIB_DIR = bib
# Option for latexmk
LATEXMK_OPT_BASE = -xelatex -gg -silent
LATEXMK_OPT = $(LATEXMK_OPT_BASE) -f
LATEXMK_OPT_PVC = $(LATEXMK_OPT_BASE) -pvc
all: $(THESIS).pdf
.PHONY : all cleanall pvc view wordcount git zip
$(THESIS).pdf : $(THESIS).tex $(TEX_DIR)/*.tex $(BIB_DIR)/*.bib sjtuthesis.cls sjtuthesis.cfg Makefile
-latexmk $(LATEXMK_OPT) $(THESIS)
pvc :
latexmk $(LATEXMK_OPT_PVC) $(THESIS)
validate :
xelatex -no-pdf -halt-on-error $(THESIS)
biber --debug $(THESIS)
view : $(THESIS).pdf
open $<
wordcount: $(THESIS).tex
@if grep -v ^% $< | grep -qz '\\documentclass\[[^\[]*english'; then \
texcount $< -inc -char-only | awk '/total/ {getline; print "英文字符数\t\t\t:",$$4}'; \
else \
texcount $< -inc -ch-only | awk '/total/ {getline; print "纯中文字数\t\t\t:",$$4}'; \
fi
@texcount $< -inc -chinese | awk '/total/ {getline; print "总字数(英文单词 + 中文字)\t:",$$4}'
clean :
-@latexmk -c -silent 2> /dev/null
-@rm -f $(TEX_DIR)/*.aux 2> /dev/null || true
cleanall :
-@latexmk -C -silent 2> /dev/null
-@rm -f $(TEX_DIR)/*.aux 2> /dev/null || true
s3 : $(THESIS).pdf
s3cmd put $< s3://sjtuthesis/README.pdf
git :
git push --tags github; git push github;
git push --tags gitlab; git push gitlab;
zip :
git archive --format zip --output thesis.zip master