| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- import hashlib
- from jinja2 import Environment, FileSystemLoader
- import os,yaml
- #
- def dolabel(k,t):
- # faire une étiquette "unique" à partir de deux chaines de caratères k et t.
- s=(k+t).encode("UTF-8")
- return hashlib.sha1(s).hexdigest()
- #
- # Données pour treatline.
- #
- # attention, l'ordre est important !
- tabler={"textsuperscript{e}":"ieme{}",
- "textsuperscript{ème}":"ieme{}",
- "textsuperscript{er}":"ier{}",
- "\\begin{quote}":"",
- "\\end{quote}":"",
- "subsection{":"subsection*{",
- "\\textquotesingle ":"'",
- "\\textquotesingle":"",
- "~":"",
- }
- def treatline(l):
- # Les substitutions éventuelles à faire sur une ligne
- for x,y in tabler.items():
- l=l.replace(x,y)
- return l
- def nocite_all(fich):
- # Créer un nocite{...} avec toutes les entrées du fichier fich
- # (un fichier .bib).
- with open(fich) as f:
- L=f.readlines()
- all=[]
- for x in L:
- if "@" in x:
- d=x.find("{")+1
- e=x.find(",")
- all.append(x[d:e])
- return f"\\nocite{{{','.join(all)}}}"
-
- def doTitre(d):
- #path= f"{os.getcwd()}/../Jinja"
- path= "/home/moi/Memoires/Jinja"
- env = Environment(loader=FileSystemLoader(path))
- # Load a template
- template = env.get_template('titre.jin')
- #
- if d["auteur"][0].lower()[0] in ("a","e","i","o","u","y"):
- d["de"]=" d'"
- else:
- d["de"]=" de "
- if d["statut"] !="":
- d["virgule"]=","
- else:
- d["virgule"]=""
- if "titre_court" not in d.keys():
- d["titre_court"]= d["titre"]
-
- return template.render(di=d)
- #
|