-
Notifications
You must be signed in to change notification settings - Fork 2
/
build.cmd
78 lines (65 loc) · 1.82 KB
/
build.cmd
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
SETLOCAL ENABLEEXTENSIONS
GOTO :MAIN
:build_count
SET /p build= < build.txt
SET /A build=%build%+1
ECHO %build% > build.txt
GOTO :EOF
:maketex
MKDIR build%1
SET strip=%~1
IF %strip:~0,1%==/ SET strip=%strip:~1,-1%
pdflatex --shell-escape -synctex=1 --interaction=nonstopmode -output-directory=build%strip% .%~1/%~2.tex
GOTO :EOF
:makemd
MKDIR build%1
SET strip=%~1
IF %strip:~0,1%==/ SET strip=%strip:~1,-1%
pandoc -t latex -o build%strip%/%~2.pdf .%~1/%~2.md
GOTO :EOF
:makepreamble
MKDIR build
ECHO \documentclass[12pt, a4paper]{book} > build/book.tex
ECHO. >> build/book.tex
ECHO \usepackage{subfiles} >> build/book.tex
ECHO \usepackage[colorlinks=true, urlcolor=blue]{hyperref} >> build/book.tex
ECHO. >> build/book.tex
ECHO \begin{document} >> build/book.tex
ECHO \pagenumbering{gobble} >> build/book.tex
GOTO :EOF
:makefinal
ECHO \end{document} >> build/book.tex
CALL :maketex \build book
CALL :maketex \build book
MKDIR output
COPY build\build\book.pdf output\book.pdf
GOTO :EOF
:includetex
SET strip=%~1
IF %strip:~0,1%==/ SET strip=%strip:~1,-1%
rem SET strip=%~1
rem IF %strip:~-1%==/ SET strip=%strip:~0,-1%
ECHO \subfile{"%strip%%~2"} >> build/book.tex
GOTO :EOF
:includemd
SET strip=%~1
IF %strip:~0,1%==/ SET strip=%strip:~1,-1%
MKDIR build/%~STRIP1
pandoc %strip%%~2.md -t latex -o build/%strip%%~2.tex
ECHO \subfile{"build/%strip%%~2"}" >> build/book.tex
GOTO :EOF
:MAIN
CALL :build_count
REM Preamble
DEL /q build
DEL /q output
CALL :makepreamble
REM Write book
CALL :includetex / cover
ECHO \tableofcontents >> build/book.tex
ECHO \newpage >> build/book.tex
ECHO \pagenumbering{arabic} >> build/book.tex
CALL :includetex "Basic Math/" ChapterIntro
CALL :includetex "Basic Math/" NumericSystem
REM End
CALL :makefinal