# Matthias Quintern 2025 # Compile image (tex) to pdf, # convert to svg in tmp dir # and then replace all color occurances with css class names SRC_DIR = src PDF_DIR = out TMP_DIR = /tmp/latex-img SVG_DIR = svg WDIR = $(shell pwd) DIRS = $(SRC_DIR) $(PDF_DIR) $(TMP_DIR) $(SVG_DIR) LATEX = lualatex BIBER = biber REPL_COLORS = python3 repl-colors.py DEPS = $(SRC_DIR)/colorscheme.sty $(SRC_DIR)/tensorstyle.sty SRC_FLS = $(wildcard $(SRC_DIR)/*.tex) SRC_FLS_= $(notdir $(SRC_FLS)) PDF_FLS = $(SRC_FLS_:%.tex=$(PDF_DIR)/%.pdf) TMP_FLS = $(SRC_FLS_:%.tex=$(TMP_DIR)/%.svg) SVG_FLS = $(SRC_FLS_:%.tex=$(SVG_DIR)/%.svg) # PDF_FLS = $(foreach file,$(notdir $(SRC_FLS)), $(PDF_DIR)/$(file)) # TMP_FLS = $(foreach file,$(notdir $(SRC_FLS)), $(TMP_DIR)/$(file)) # SVG_FLS = $(foreach file,$(notdir $(SRC_FLS)), $(SVG_DIR)/$(file)) LATEX_OPTS := -output-directory=$(WDIR)/$(PDF_DIR) -interaction=nonstopmode -shell-escape .PHONY: default release clean scripts default: $(SVG_FLS) allpdf: $(PDF_FLS) allsvg: $(SVG_FLS) $(DIRS): mkdir -p $@ # Default target $(PDF_DIR)/%.pdf: $(SRC_DIR)/%.tex $(DEPS) | $(PDF_DIR) cd $(SRC_DIR) && lualatex $(LATEX_OPTS) $(notdir $<) $(TMP_DIR)/%.svg: $(PDF_DIR)/%.pdf | $(TMP_DIR) inkscape --export-filename=$@ $< # pdf2svg $< $@ $(SVG_DIR)/%.svg: $(TMP_DIR)/%.svg | $(SVG_DIR) $(REPL_COLORS) --input $< --output $@ clean: rm -r $(SVG_FLS) $(TMP_DIR) $(PDF_DIR) print: @echo '$(notdir $(SRC_FLS))' @echo '$(PDF_FLS)' @echo '$(TMP_FLS)' @echo '$(SVG_FLS)' .PHONY: all clean allpdf allsvg print