Bon je ne sais pas trop comment on peut faire cela avec Beamer/LaTeX, mais le hack dégueu c'est de le faire dans un script python à exécuter dans le Makefile qui compile la présentation...
Générer une liste de booléens qui décrit si chaque frame suit directement une section
Ajouter une condition à tester dans la boucle qui définit la taille du cercle correspondant dans pacman.sty.
1.
#!/usr/bin/pythonif__name__=="__main__":# 2 solutions équivalentes pour le faire:# a) Pur Python, une boucle: (je plussoie celui qui réécrit ça de manière plus pythonesque)arr=[]isnew=Falsewithopen('slides.tex','r')asf:forlineinf:ifr"\section"inline:isnew=Trueifr'begin{frame}'inline:arr.append(isnew)isnew=Falseprint"\def\newsec{{",foriiinarr:print"%d,"%int(ii),print"0}}"# b) Idem, mais avec NumPywithopen('slides.tex','r')asf:data=f.readlines()sections=[r"\section"inlineforlineindata]frames=[r"begin{frame}"inlineforlineindata]cframes=np.cumsum(frames)# Cumulative frame positionsecpos=np.where(sections)# positions of the sectionsframe_at_sec=cframes[secpos]# frame number at section positionssec_lists=np.zeros(cframes[-1])sec_lists[frame_at_sec]=1print"\def\newsec{{",foriiinsec_lists:print"%d,"%int(ii),print"0}}"
(je suis sûr qu'il existe une regex pour faire pareil...)
Insérer la sortie du code précédent quelque part dans le fichier tex (sed est notre ami, sinon le code Python pourrait le faire), et dans le pacman.sty, remplacer:
[^] # Re: Indispensable.
Posté par TNorth . En réponse au journal Le retour de pacman en beamer. Évalué à 2.
Bon je ne sais pas trop comment on peut faire cela avec Beamer/LaTeX, mais le hack dégueu c'est de le faire dans un script python à exécuter dans le Makefile qui compile la présentation...
pacman.sty.1.
(je suis sûr qu'il existe une regex pour faire pareil...)
par:
Ou l'on remplace A par un offset (1 ou 2, selon la config du document).