aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2023-12-16 14:11:07 +0100
committerFlorian Fischer <florian.fischer@muhq.space>2023-12-16 14:11:07 +0100
commit6a0fd02d90743ec5f8661e749c8341b6bbf0c6f4 (patch)
tree21216f56cec0994d5d970bbbbc3e12038cf6fb15
parent730b28db1cd7f0f642712bcb7f15a7cdad0dda91 (diff)
downloadunterricht-6a0fd02d90743ec5f8661e749c8341b6bbf0c6f4.tar.gz
unterricht-6a0fd02d90743ec5f8661e749c8341b6bbf0c6f4.zip
use latex formats for maps, sequences and slides
TODO: support handout and schedule
-rw-r--r--common.mk20
1 files changed, 19 insertions, 1 deletions
diff --git a/common.mk b/common.mk
index 8119b2dc..10a32461 100644
--- a/common.mk
+++ b/common.mk
@@ -6,6 +6,7 @@ MAKEFILE_DIR ?= $(dir $(MAKEFILE_PATH))
IMGS := $(wildcard img/*)
LATEX_BASE := $(MAKEFILE_DIR)latex
+LATEX_FMT_BASE := $(LATEX_BASE)/fmts
COMMON_IMAGES := $(LATEX_BASE)/images
PANDOC_DIR := $(MAKEFILE_DIR)pandoc
PANDOC_FILTER_DIR := $(PANDOC_DIR)/filters
@@ -16,15 +17,23 @@ PANDOC_FILTER_OPTIONS := --lua-filter "$(PANDOC_FILTER_DIR)/center-img.lua" --l
COMMON_PANDOC_OPTIONS := --resource-path="$(COMMON_IMAGES):." $(PANDOC_CITE_OPTIONS) $(PANDOC_FILTER_OPTIONS)
PANDOC := pandoc $(COMMON_PANDOC_OPTIONS)
-SLIDES_OPTIONS := --slide-level 2 -t beamer --pdf-engine-opt=--shell-escape --metadata-file=$(PANDOC_DIR)/defaults/slides-metadata.yml --template=$(PANDOC_TEMPLATE_DIR)/beamer.tex
+SLIDES_OPTIONS := --slide-level 2 -t beamer
+SLIDES_OPTIONS += --pdf-engine-opt=--shell-escape
+SLIDES_OPTIONS += --metadata-file=$(PANDOC_DIR)/defaults/slides-metadata.yml
+SLIDES_OPTIONS += --template=$(PANDOC_TEMPLATE_DIR)/beamer.tex
+SLIDES_OPTIONS += --pdf-engine-opt=-fmt=$(LATEX_FMT_BASE)/slides.fmt
RUBBER_OPTS := --into .build --pdf --shell-escape -I "$(LATEX_BASE)"
+LATEX := TEXINPUTS=$(LATEX_BASE): pdflatex
+LATEX_OPTS := -interaction=batchmode -shell-escape -output-directory=.build/
+
PDF2PPTX := pdf2pptx
VERBOSE ?= @
ifeq ($(VERBOSE), @)
RUBBER_OPTS += --quiet
+ SILENCE := > /dev/null
endif
slides.pdf: slides.md $(wildcard img/*) $(MAKEFILE_LIST)
@@ -52,6 +61,15 @@ slides.pptx: slides.pdf $(MAKEFILE_LIST)
@mkdir -p .build
$(VERBOSE)rubber $(RUBBER_OPTS) --jobname $(@:.build/%.pdf=%) $<
+define generatePDFLatexExceptions
+.PRECIOUS: .build/$(1).pdf
+.build/$(1).pdf: $(1).tex .FORCE $(MAKEFILE_LIST)
+ @mkdir -p .build
+ $(VERBOSE)TEXINPUTS=$(LATEX_BASE): TEXFORMATS=$(LATEX_FMT_BASE): pdflatex $(LATEX_OPTS) --jobname=$(1) \&$(1) $$< $(SILENCE)
+endef
+
+$(foreach t, map sequence, $(eval $(call generatePDFLatexExceptions,$(t))))
+
.PRECIOUS: .build/lehrer_%.pdf
.build/lehrer_%.pdf: %.tex .FORCE $(MAKEFILE_LIST)
@mkdir -p .build