Système générique de compilation pour Beamer.

This commit is contained in:
David Soulayrol 2024-01-11 17:13:35 +01:00
parent 339676b30e
commit f4c7b8793c
3 changed files with 45 additions and 15 deletions

25
Makefile.common Normal file
View File

@ -0,0 +1,25 @@
.PHONY: all
PATCHES := $(wildcard *.patch)
SOURCES := build/$(SOURCE) $(patsubst %.patch,build/%.tex,$(PATCHES))
DOCUMENTS := \
$(patsubst build/%.tex,build/%.pdf,$(SOURCES)) \
$(patsubst build/%.tex,build/%_notes.pdf,$(SOURCES))
all: $(DOCUMENTS)
build:
mkdir build
build/%.tex: %.patch build
cp $(SOURCE) $@
patch $@ $<
build/%.tex: %.tex build
cp $< $@
build/%_notes.tex: build/%.tex
cat $< | sed -e 's/{hide notes}/{show notes on second screen}/' > $@
build/%.pdf: build/%.tex
pdflatex -output-directory build $<

18
README.md Normal file
View File

@ -0,0 +1,18 @@
# Supports de discussions et conférences de Ti nuage
## Compilation des supports écris avec Beamer
Les `Makefile` fournis fonctionnent de la manière suivante.
- Un document par répertoire. Le répertoire est créé lors de la création du document. Le répertoire doit aussi contenir un fichier Makefile avec le contenu suivant, où `document.tex` est le nom du document créé.
SOURCE = document.tex
include ../Makefile.common
Pour générer les fichiers de présentation, il suffit de se placer dans ce répertoire est d'entrer `make`.
- Un document est normalement associé à un événement, une date et un lieu particuliers. S'il est ré-employé pour un autre événement, un *patch* est utilisé pour créer une copie du document pour cet événement.
- Un *patch* permet d'amender le document pour modifier les références de lieu, de date, et éventuellement pour apporter des améliorations sur l'itération précédente. À un événement correspond un *patch*, et tous les *patches* s'appliquent sur le document original.
- En cas de doute, le répertoire `logiciels_libres` montre à quoi tout ceci doit ressembler.

View File

@ -1,16 +1,3 @@
.PHONY: all
SOURCE = logiciels_libres.tex
all: build/logiciels_libres.pdf build/logiciels_libres_n.pdf
build:
mkdir build
build/logiciels_libres.tex: logiciels_libres.tex
cp $< $@
build/logiciels_libres_n.tex: logiciels_libres.tex
cat $< | sed -e 's/{hide notes}/{show notes on second screen}/' > $@
build/%.pdf: build/%.tex
pdflatex -output-directory build $<
pdflatex -output-directory build $<
include ../Makefile.common