L’outil Makefile à la rescousse de la génération de documents LaTeX.
Vous avez une bibliographie, un glossaire, une table des matières, ... bref votre document LaTeX est complet, la génération en fonction des outils que vous utilisez peut vite devenir un calvaire.
J’ai jamais été un fan des logiciels de type TexShop et autres éditeurs LaTeX, le plus souvent ils sont peu personnalisables, compliqué à utiliser avec plein de fonction, lent et pas beau ! J’y ai donc assez rapidement préféré l’utilisation de Visual Studio Code, avec son interface sympa, ses plug-in de la communauté, ... Et si vous êtes un grand malade une visualisation et un pilotage de votre git dans l’interface.
Création du PDF “à la main” avec pdflatex
Maintenant si vous ne voulez pas vous casser la tête et générer votre code vous pourrez utiliser la commande terminal pdflatex. Vous pourrez l’installer en installant classiquement les outils de MacTex ou équivalent Linux. C’est problématique au final, car vous devez installer un ensemble d’outils graphique que je viens de déconseiller précédemment.
J’sais utiliser un terminal pas besoin d’un Makefile
Ça peut vite devenir lourd de générer un PDF en ligne de commande comportant un glossaire, une table des matières.
Par exemple pour la génération d’un fichier avec une table des matières vous devez exécuter deux fois cette commande :
pdflatex --file-line-error --synctex=1 MonFichier
Bref on va automatiser tout ça avec un makefile.
GENERATOR = pdflatex --file-line-error --synctex=1
DRAFT = pdflatex -draftmode
CIBLE = MonFichier
GLOSS = makeglossaries
GO = $(GENERATOR) $(CIBLE)
MAKEGLOSS = $(GLOSS) $(CIBLE)
all :
make clean
$(DRAFT) $(CIBLE)
$(MAKEGLOSS)
$(DRAFT) $(CIBLE)
bibtex $(CIBLE)
$(MAKEGLOSS)
$(GO)
double : #Le double permet surtout de générer la table des matiéres et le sommaire en une ligne.
$(GO)
$(GO)
glossaire :
$(DRAFT) $(CIBLE)
$(MAKEGLOSS)
$(DRAFT) $(CIBLE)
$(MAKEGLOSS)
$(GO)
bibli :
$(DRAFT) $(CIBLE)
$(DRAFT) $(CIBLE)
bibtex $(CIBLE)
$(GO)
$(GO)
clean :
rm -f *.aux
rm -f *.bbl
rm -f *.blg
rm -f *.idx
rm -f *.ind
rm -f *.lof
rm -f *.lot
rm -f *.log
rm -f *.out
rm -f *.gz
rm -f *.toc
rm -f *.fdb_latexmk
rm -f *.fls
rm -f *.acn
rm -f *.acr
rm -f *.alg
rm -f *.glg
rm -f *.glo
rm -f *.gls
rm -f *.ist
rm -f *.xdy
rm -f *.glsdefs
rm -f *.dvi