| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- #!/home/moi/ProtoMemoires/venv/bin/python
- import glob
- #-------------------------------------------
- def addpath(x,ajout):
- # Pour transformer les chemins vers les images
- if "includegraphics" in x:
- return x.replace("{",ajout)
- else:
- return x
- #
- # Récupérer la liste des textes à introduire
- #
- with open("all_texts") as f:
- lf= [x for x in f.readlines() if x[0] != "#"]
-
- # faire la liste des *.bib (éventuels):
- forbiblatex={}
- for f in lf:
- forbiblatex[f]=",".join([x for x
- in glob.glob(f"../{f.split("/")[0]}/*.bib")])
- allbibfiles=[forbiblatex[k] for k in forbiblatex.keys() if forbiblatex[k]!=""]
- print("Fichiers bib",allbibfiles,"\n")
- #
- # Récuperer le template
- #
- templat= "../tpl.tex"
- #
- with open(templat) as f:
- Ltmpl=f.readlines()
- #
- # ne garder du template que le début
- Lall=[]
- for l in Ltmpl:
- if "%@@debut" in l:
- break
- else:
- if "addbibresource" in l:
- # ajouter les chemins vers les fichires bib
- for x in allbibfiles:
- Lall.append(f"\\addbibresource{{{x}}}\n")
-
- Lall.append(l)
- #
- # parcourir les fichiers à assembler:
- #
- for l in lf:
- lok="../"+l.replace("\n","")
- print(lok)
- with open(lok) as g:
- LL=g.readlines()
- # insérer ce qui entre %@@debut et "%@@fin":
- start= False
- Z= []
- for x in LL:
- if "@@debut" in x:
- start= True
- print("--> start")
- if "@@fin" in x:
- break
- if start:
- Z.append(x)
- print("--> nl:",len(Z))
- # graphiques: modifier les chemins:
- ajout="{../"+l.split("/")[0]+"/"
- Lall+=[addpath(x,ajout) for x in Z if not "newcounter" in x]
- Lall.append("\\vfill\n\\eject\n")
- #
- # sauver le resultat....
- with open("final.tex","w") as f:
- for x in Lall[:-1]:
- f.write(x)
- #-----------------------------------------------------------
- f.write("\\tableofcontents\n")
- f.write("\\end{document}\n")
|