Thierry Dumont 1 mese fa
parent
commit
b9f7e9baf8
4 ha cambiato i file con 0 aggiunte e 237 eliminazioni
  1. 0 3
      All/all_texts
  2. 0 2
      All/nettex.sh
  3. 0 74
      All/tout.py
  4. 0 158
      extr.py

+ 0 - 3
All/all_texts

@@ -1,3 +0,0 @@
-Crepel2/meteo1.tex
-Crepel1/c2.tex
-Dumont1/dumont1.tex

+ 0 - 2
All/nettex.sh

@@ -1,2 +0,0 @@
-#!/bin/sh
-rm -f *.aux *.md *.log *.toc *.bcf *.run.xml *blg *bbl

+ 0 - 74
All/tout.py

@@ -1,74 +0,0 @@
-#!/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")

+ 0 - 158
extr.py

@@ -1,158 +0,0 @@
-#!/home/moi/ProtoMemoires/venv/bin/python
-import sys,pypandoc,os,re,subprocess,yaml
-#
-data_yml_mandatory_keys=['fichier', 'date',  'auteur', 'titre']
-data_yml_order=['date','type','auteur','statut','titre']
-def star_sec(l):
-    # \section est transformée en \section* et on ne garde comme argument
-    # que ce qui est nécessaire.
-    it=iter(L)
-    ret=[]
-    passed= False
-    for x in it:
-        if "begin{document" in x:
-            passed= True
-        if passed and "section[" in x:
-            s=x
-            while "label" not in x:
-                x=next(it)
-                s=s+" "+x
-
-            if not "}" in s:
-                x=next(it)
-                s=s+x
-            k=s.find("]")
-            r=(s[:k]+"}").replace("[","*{")+" "
-            ret.append(r)
-            ret.append("\n")
-        else:
-            ret.append(x)
-    return ret
-#
-
-#-----------------------------------------------------------------------
-# Construire le titre à partir du fichier yml.
-#-----------------------------------------------------------------------
-with open("data.yml") as f:
-    lt=yaml.safe_load(f)
-
-for x in data_yml_mandatory_keys: #vérifier la présence des clés obligatoires
-    if not x in lt.keys():
-        raise Exception(f"\n\n Il manque {x} dans data.yml\n\n")
-# si statut est défini, type doit l'être aussi:
-if "statut" in lt.keys():
-    if "type" not in lt.keys():
-        raise Exception(f"\n\n statut est défini, mais pas type\n\n")
-    lt['statut']=", "+lt["statut"]
-else: # si statut n'est pas défini, on le définit  à " " et type à "Conférence".
-    lt["statut"]=" "
-    lt["type"]="Conférence"
-# biblio ?
-has_bib= "biblio"in lt.keys()
-#
-# le fichier (docx, odt) qu'on va traiter:
-#
-fich=lt["fichier"].strip()
-#
-# fabriquer le titre à partir des données yml
-#
-titre_elements="}{".join([lt[x].replace("\n","") for x in data_yml_order])
-
-#le_titre="\\titre{"+titre_elements+"}"+"\n"
-le_titre= f"\\titre{{{titre_elements}}}\n"
-
-
-#--------------------------------------------------------------------
-template="../tpl.tex" # le template
-#---------------------------------------------------------------------
-exten=fich.split(".")[-1]
-
-if exten=="docx" or exten=="odt":
-    futurTex= fich.replace(exten,"tex")
-else:
-    s=f"\n{fich} : extension incorrecte"
-    raise Exception(s)
-
-#répertoire pour les images
-images= fich.split(".")[0]+"-media"
-print("Répertoire des images : ",images)
-if not os.path.isdir(images):
-    os.mkdir(images)
-#
-# conversion en latex
-#
-#extra_args= ["-s",f"--template={template}",f"--extract-media={images}"]
-extra_args= ["-s",f"--template={template}",f"--extract-media={images}",
-             f"--lof=true"]
-L = pypandoc.convert_file(fich, 'tex',
-                          extra_args=extra_args).splitlines()
-
-#-----------------------------------------------------------------------
-
-# section -> section*
-rechsec= r"section[{\[]"
-rechsecc=re.compile(rechsec)
-
-# pour modifier le latex en changeant le chemin vers les images.
-if exten=="docx":
-    rechgra=r"includegraphics\[.*\]{media.*}"
-    repPath=("media",f"{images}/word/media")
-elif exten=="odt":
-    rechgra=r"includegraphics\[.*\]{Pictures.*}"
-    repPath=("Pictures",f"{images}/Pictures")
-    
-rechgrac=re.compile(rechgra)
-#
-# On crée le fichier tex
-#
-with open(futurTex,"w") as f:
-    L1=star_sec(L)
-    
-    rp0,rp1= repPath
-    for l in L1:
-        if has_bib and "addbibresource{}" in l:
-            bibfile=lt['biblio']
-            l=l.replace("{","{"+bibfile)
-        if "textsuperscript{e}" in l:
-            print(l)
-            l=l.replace("textsuperscript{e}","ieme{}")
-            print(l)
-            #ccc=input()
-        while (q:=rechgrac.search(l)) != None:
-            l=l.replace(rp0,rp1)
-        # on supprime les "quote"
-        l=l.replace("\\begin{quote}","")
-        l=l.replace("\\end{quote}","")
-        # subsection-> subsection*
-        l=l.replace("subsection{","subsection*{")
-        
-        if "@@fin" in l:
-            if has_bib:
-                f.write("\\begin{center}\\textbf{Bibliographie}\\end{center}\n")
-                f.write("\citeall[\\fullcite]\n")
-                f.write("\FloatBarrier\n")
-        f.write(l)
-        f.write("\n")
-
-        
-        if "@@debut" in l:
-            f.write("\\fancyhead{}\n")
-            f.write("\\fancyhead[CE]{Mémoires: 2\ieme{} partie}\n")
-            aut= lt["auteur"]
-            f.write(f"\\fancyhead[CO]{{{lt['auteur']}, {lt['titre']}}}\n")
-            f.write(le_titre)
-        
-#
-#---fin d'éciture du fichier tex
-#
-# lualatex, 2 fois:
-#
-
-subprocess.run(["/usr/bin/lualatex", futurTex])
-if has_bib:
-    subprocess.run(["/usr/bin/biber", futurTex.replace(".tex","")])
-    subprocess.run(["/usr/bin/lualatex", futurTex])
-subprocess.run(["/usr/bin/lualatex", futurTex])
-#--- fin
-
-