From f4c7b8793ccecc68259b27ed564d57189eec3175 Mon Sep 17 00:00:00 2001 From: David Soulayrol Date: Thu, 11 Jan 2024 17:13:35 +0100 Subject: [PATCH] =?UTF-8?q?Syst=C3=A8me=20g=C3=A9n=C3=A9rique=20de=20compi?= =?UTF-8?q?lation=20pour=20Beamer.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Makefile.common | 25 +++++++++++++++++++++++++ README.md | 18 ++++++++++++++++++ logiciels_libres/Makefile | 17 ++--------------- 3 files changed, 45 insertions(+), 15 deletions(-) create mode 100644 Makefile.common create mode 100644 README.md diff --git a/Makefile.common b/Makefile.common new file mode 100644 index 0000000..0ec6670 --- /dev/null +++ b/Makefile.common @@ -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 $< diff --git a/README.md b/README.md new file mode 100644 index 0000000..01c5ef5 --- /dev/null +++ b/README.md @@ -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. diff --git a/logiciels_libres/Makefile b/logiciels_libres/Makefile index d1e1849..23059bb 100644 --- a/logiciels_libres/Makefile +++ b/logiciels_libres/Makefile @@ -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