diff --git a/Makefile b/Makefile index 4e7734f..ebf6182 100644 --- a/Makefile +++ b/Makefile @@ -1,46 +1,26 @@ -.PHONY: all -tex_deps = build variables.tt library/*/*/*.tt song_choices.csv song_template.tt propers/*.tt purpose_processing.tt docker = podman -all: leadsheet_collection.pdf print_a3.pdf print_a4.pdf clean_intermediate -%.pdf: %.tex - cd build && \ - lualatex --shell-escape $< -print_a3.pdf: songsheet_a3part.pdf - cd build && \ - pdftk A=$< B=$< shuffle A B output - | pdfjam -o a4.pdf --nup 1x2 --paper a4paper --clip true /dev/stdin && \ - pdfbook2 --paper a3paper -s -n -o 0 -i 0 -t 0 -b 0 a4.pdf && \ - mv a4-book.pdf print_a3.pdf && \ - rm a4.pdf -print_a4.pdf: songsheet_a4part.pdf - cd build && \ - pdftk A=$< B=$< shuffle A B output - | pdfjam -o $@ --nup 1x2 --paper a4paper /dev/stdin; -songsheet_a3part.pdf: songsheet_a5.pdf - cd build && \ - pdftk $< cat ~3-4 output $@ -# cp $< $@ -songsheet_a4part.pdf: songsheet_a5.pdf -# cp $< $@ -# Uncomment this if songsheet.pdf has 12 pages or less, and you want to use an a4 sheet inside a folded a3 sheet - cd build && \ - pdftk $< cat 3-4 output $@ -songsheet_a5.pdf: songsheet.pdf - cd build && \ - pdfjam -o $@ --nup 2x1 --paper a5paper --landscape $< +build_dir = build +tex_deps = variables.tt library/*/*/*.tt song_choices.csv song_template.tt empty_page_template.tt propers/*.tt purpose_processing.tt +.PHONY: all +.PRECIOUS: %.tex +all: leadsheet_collection.pdf choir_scores.pdf print_a3.pdf clean_intermediate #print_a4.pdf +%.pdf: build + $(MAKE) -C $(build_dir) $@ songsheet.tex: songsheet.tt $(tex_deps) header.tt head.tt footer.tt - tpage $< > build/$@ + tpage $< > $(build_dir)/$@ musician_scores.tex: musician_scores.tt $(tex_deps) - tpage $< > build/$@ + tpage $< > $(build_dir)/$@ leadsheet_collection.tex: musician_scores.tt $(tex_deps) - tpage --define parts=band $< > build/$@ -chornoten.tex: musician_scores.tt $(tex_deps) - tpage --define parts=choir $< > build/$@ + tpage --define parts=band $< > $(build_dir)/$@ +choir_scores.tex: musician_scores.tt $(tex_deps) + tpage --define parts=SATB $< > $(build_dir)/$@ clean_intermediate: - cd build && \ - rm songsheet_a3part.pdf songsheet_a4part.pdf songsheet_a5.pdf -build: - mkdir build + $(MAKE) -C $(build_dir) clean_intermediate +build: build-Makefile + mkdir -p $(build_dir) && \ + cp build-Makefile $(build_dir)/Makefile clean: - rm -r build + $(RM) -r build init: git submodule update --init --recursive build_docker_image: diff --git a/build-Makefile b/build-Makefile new file mode 100644 index 0000000..0cb52f4 --- /dev/null +++ b/build-Makefile @@ -0,0 +1,22 @@ +%.pdf: %.tex + lualatex --shell-escape $< +print_a3.pdf: songsheet_a3part.pdf + pdftk A=$< B=$< shuffle A B output - | pdfjam -o a4.pdf --nup 1x2 --paper a4paper --clip true /dev/stdin && \ + pdfbook2 --paper a3paper -s -n -o 0 -i 0 -t 0 -b 0 a4.pdf && \ + mv a4-book.pdf print_a3.pdf && \ + rm a4.pdf +print_a4.pdf: songsheet_a4part.pdf + pdftk A=$< B=$< shuffle A B output - | pdfjam -o $@ --nup 1x2 --paper a4paper /dev/stdin; +songsheet_a3part.pdf: songsheet_a5.pdf + cp $< $@ +# pdftk $< cat ~3-4 output $@ +songsheet_a4part.pdf: songsheet_a5.pdf +# cp $< $@ +# Uncomment this if songsheet.pdf has 12 pages or less, and you want to use an a4 sheet inside a folded a3 sheet + pdftk $< cat 3-4 output $@ +songsheet_a5.pdf: songsheet.pdf + pdfjam -o $@ --nup 2x1 --paper a5paper --landscape $< +%.tex: + $(MAKE) -C .. $@ +clean_intermediate: + $(RM) songsheet_a3part.pdf songsheet_a4part.pdf songsheet_a5.pdf diff --git a/empty_page_template.tt b/empty_page_template.tt new file mode 100644 index 0000000..35a7816 --- /dev/null +++ b/empty_page_template.tt @@ -0,0 +1,3 @@ +[% IF parts == '' -%] +\newpage\null\thispagestyle{empty}\newpage +[% END -%] diff --git a/musician_scores.tt b/musician_scores.tt index 0bf2529..423f434 100644 --- a/musician_scores.tt +++ b/musician_scores.tt @@ -1,19 +1,20 @@ [% PROCESS variables.tt -%] \documentclass[a4paper,12pt]{article} -\usepackage[margin=2cm]{geometry} -\usepackage[utf8]{inputenc} \usepackage[ngerman]{babel} -\usepackage{fontspec} -\usepackage{multirow} -\usepackage{graphicx} -\usepackage{xcolor} -\usepackage{svg} -\usepackage{wrapfig} \usepackage{enumitem} +\usepackage{fontspec} +\usepackage[margin=2cm]{geometry} +\usepackage{graphicx} \usepackage{hyperref} \usepackage{ifthen} +\usepackage[utf8]{inputenc} \usepackage{ltxtable} \usepackage[pass-fonts=true]{lyluatex} +\usepackage{multirow} +\usepackage{svg} +\usepackage[explicit]{titlesec} +\usepackage{wrapfig} +\usepackage{xcolor} \newcolumntype{L}{>{\raggedright\arraybackslash}X} \newcolumntype{Y}{>{\centering\arraybackslash}X} @@ -30,9 +31,10 @@ BoldItalicFont = *-BoldItalic, Numbers = {OldStyle, Proportional}, RawFeature = {+ss06} ]{EBGaramond} +%\titleformat{\subsection}{\normalfont\Large}{\thesubsection. }{0em}{#1} \newcommand{\song}[3]{\ifthenelse{\equal{#1}{}} {\subsection*{#2}\par{#3}\par} - {\subsection*{\textbf{#1} {#2}}\par{#3}\par}} + {\subsection*{\textit{#1} {#2}}\par{#3}\par}} \newcommand{\gradualverse}[2]{#1\hfill\textit{#2}} \newcommand{\ordinarium}[1]{\input{#1}} \newcommand{\original}[1]{{