latex-zines/build.sh

31 lines
916 B
Bash
Executable File

pandoc --listings doc.md -o doc.tex
pdflatex -interaction=nonstopmode main.tex
#calculate pages to extract first and last for cover
pages=$(pdfinfo main.pdf | awk '/^Pages:/ {print $2}')
# split cover from guts to add correct signature
pdfjam main.pdf 1,$(($pages))-$pages -o cover.pdf
pdfjam main.pdf 2-$((pages-1)) -o guts.pdf
# insert blank pages after front cover and before back cover
pdfjam cover.pdf '1,{},{},2' --outfile cover.pdf
# calculate pages for guts signature length
pages=$(pdfinfo guts.pdf | awk '/^Pages:/ {print $2}')
let rem=pages%4
let extra=(4-rem)%4
let sig=pages+extra
# booklet print
pdfbook2 -n --short-edge cover.pdf
pdfbook2 -n --signature=$sig --short-edge guts.pdf
# put them back together!
pdfunite cover-book.pdf guts-book.pdf print-zine.pdf
mv main.pdf read-zine.pdf
# directory cleanup
mv -t .build *.aux *.log *.out doc.tex cover.pdf guts.pdf cover-book.pdf guts-book.pdf