Ajoute les macros latex et le rendu visuel pour les exemples de SAE
This commit is contained in:
parent
cd33056792
commit
9eab5f03ac
@ -245,15 +245,41 @@
|
||||
% *********************************************
|
||||
% Exemples de SAE
|
||||
% *********************************************
|
||||
\def\nouvelexemple#1#2{
|
||||
\def\nouvelexemple#1{
|
||||
\addtocounter{cptSexemple\currentSsae}{1} % Ajoute un exemple (tous semestres confondu)
|
||||
\def\currentESsae{\currentSsae\Alph{cptSexemple\currentSsae}} %
|
||||
|
||||
\expandafter\xdef\csname EScode\currentESsae\endcsname{#1} % code
|
||||
\expandafter\xdef\csname ESname\currentESsae\endcsname{#2} % nom/intitule
|
||||
\expandafter\xdef\csname ESname\currentESsae\endcsname{#1} % nom/intitule
|
||||
% \expandafter\xdef\csname ESsem\currentESsae\endcsname{\csname semestrenumero\currentsemestre\endcsname} % nom du semestre
|
||||
}
|
||||
|
||||
% La description
|
||||
\def\ajoutESdescription#1{
|
||||
\begingroup\let\+\relax
|
||||
\expandafter\gdef\csname ESdescription\currentESsae\endcsname{\noexpand #1} % descriptif
|
||||
\endgroup
|
||||
}
|
||||
|
||||
% Les formes pédagogique
|
||||
\def\ajoutESformes#1{
|
||||
\begingroup\let\+\relax
|
||||
\expandafter\gdef\csname ESformes\currentESsae\endcsname{\noexpand #1} % descriptif
|
||||
\endgroup
|
||||
}
|
||||
|
||||
% La problématique
|
||||
\def\ajoutESproblematique#1{
|
||||
\begingroup\let\+\relax
|
||||
\expandafter\gdef\csname ESproblematique\currentESsae\endcsname{\noexpand #1} % descriptif
|
||||
\endgroup
|
||||
}
|
||||
|
||||
% La modalité
|
||||
\def\ajoutESmodalite#1{
|
||||
\begingroup\let\+\relax
|
||||
\expandafter\gdef\csname ESmodalite\currentESsae\endcsname{\noexpand #1} % descriptif
|
||||
\endgroup
|
||||
}
|
||||
|
||||
% *************************************
|
||||
\definecolor{colormotscle}{RGB}{120, 185, 235}
|
||||
|
55
latex/modeles/tableau_exemple.tex
Normal file
55
latex/modeles/tableau_exemple.tex
Normal file
@ -0,0 +1,55 @@
|
||||
|
||||
% Le tableau complet présentant un exemple d'une SAE donné
|
||||
\newcommand\tableauExempleSAE[2]{
|
||||
|
||||
\xdef\CODE{#1} % code de la sae (par ex: AA avec A=1er semestre, A=1ère ressource)
|
||||
\xdef\NUMERO{#2} % numéro de l'exemple
|
||||
\xdef\EXEMPLE{\CODE\NUMERO} % code de l'exemple pour latex
|
||||
|
||||
\setlength{\tabcolsep}{0.125cm} % Marge des colonnes
|
||||
\setlength{\extrarowheight}{2pt} % Marge des lignes
|
||||
|
||||
% 1er tableau : Nom/Code/Semestre
|
||||
|
||||
% 3ème tableau : descriptif
|
||||
\begin{tabular}[t]{|P|T|}
|
||||
\hline
|
||||
{\bfseries Titre} &
|
||||
{\csname ESname\EXEMPLE\endcsname} \\
|
||||
\hline
|
||||
{\bfseries Description} &
|
||||
\tableauChampLong{\csname ESdescription\EXEMPLE\endcsname} \\
|
||||
\hline
|
||||
{ \setlength{\extrarowheight}{0pt}
|
||||
\begin{tabular}[t]{@{}P@{}}
|
||||
{\bfseries Problématique} \\
|
||||
{\bfseries professionnelle} \\
|
||||
{\bfseries posée} \\
|
||||
\end{tabular}
|
||||
} &
|
||||
\tableauChampLong{\csname ESproblematique\EXEMPLE\endcsname} \\
|
||||
\hline
|
||||
{ \setlength{\extrarowheight}{0pt}
|
||||
\begin{tabular}[t]{@{}P@{}}
|
||||
{\bfseries Formes} \\
|
||||
{\bfseries pédagogiques} \\
|
||||
\end{tabular}
|
||||
}
|
||||
& \tableauChampLong{\csname ESformes\EXEMPLE\endcsname} \\
|
||||
\hline
|
||||
{ \setlength{\extrarowheight}{0pt}
|
||||
\begin{tabular}[t]{@{}P@{}}
|
||||
{\bfseries Modalités} \\
|
||||
{\bfseries d'évaluation} \\
|
||||
{\bfseries assurant l'acquisition} \\
|
||||
{\bfseries du niveau de compétence} \\
|
||||
{\bfseries visée} \\
|
||||
\end{tabular}
|
||||
}
|
||||
& \tableauChampLong{\csname ESmodalite\EXEMPLE\endcsname} \\
|
||||
\hline
|
||||
\hline
|
||||
|
||||
\end{tabular}
|
||||
|
||||
}
|
@ -65,6 +65,7 @@ bottom=15mm
|
||||
\input{modeles/tableau.tex}
|
||||
\input{modeles/tableau_ressource.tex}
|
||||
\input{modeles/tableau_sae.tex}
|
||||
\input{modeles/tableau_exemple.tex}
|
||||
|
||||
\begin{document}
|
||||
|
||||
@ -95,15 +96,22 @@ bottom=15mm
|
||||
|
||||
\newcounter{noressource}
|
||||
\newcounter{nosae}
|
||||
\newcounter{noexemple}
|
||||
|
||||
%% SEMESTRE 1
|
||||
|
||||
%\tableauExempleSAE{AA}{A}
|
||||
|
||||
% Les SAE du semestre 1
|
||||
% ****************************
|
||||
% \tableauSAE{AA}
|
||||
\forLoop{1}{\value{cptSA}}{nosae}{
|
||||
\forLoop{1}{\value{cptSA}}{nosae}{ % Pour chaque SAE
|
||||
%A\Alph{noressource}
|
||||
\tableauSAE{A\Alph{nosae}}
|
||||
\def\currentSAE{A\Alph{nosae}}
|
||||
\tableauSAE{\currentSAE}
|
||||
\forLoop{1}{\value{cptSexemple\currentSAE}}{noexemple}{
|
||||
\tableauExempleSAE{\currentSAE}{\Alph{noexemple}}
|
||||
}
|
||||
\newpage
|
||||
}
|
||||
|
||||
|
@ -4,10 +4,27 @@
|
||||
\nouveausemestre{}
|
||||
|
||||
\input{saes/SAE11.tex}
|
||||
\input{saes/SAE11_exemple1.tex}
|
||||
\input{saes/SAE11_exemple2.tex}
|
||||
\input{saes/SAE11_exemple3.tex}
|
||||
|
||||
\input{saes/SAE12.tex}
|
||||
\input{saes/SAE12_exemple1.tex}
|
||||
\input{saes/SAE12_exemple2.tex}
|
||||
\input{saes/SAE12_exemple3.tex}
|
||||
\input{saes/SAE12_exemple4.tex}
|
||||
|
||||
\input{saes/SAE13.tex}
|
||||
\input{saes/SAE13_exemple1.tex}
|
||||
\input{saes/SAE13_exemple2.tex}
|
||||
\input{saes/SAE13_exemple3.tex}
|
||||
\input{saes/SAE13_exemple4.tex}
|
||||
|
||||
\input{saes/SAE14.tex}
|
||||
\input{saes/SAE14_exemple1.tex}
|
||||
|
||||
\input{saes/SAE15.tex}
|
||||
\input{saes/SAE15_exemple1.tex}
|
||||
|
||||
\input{ressources/R101.tex}
|
||||
%\input{ressources/R102.tex}
|
||||
|
@ -1,5 +1,5 @@
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Ressources
|
||||
% SAE
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\nouvellesae{SAÉ11}{Sensibilisation à l'hygiène informatique et à la cybersécurité}
|
||||
|
@ -1,5 +1,5 @@
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Ressources
|
||||
% SAE
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\nouvellesae{SAÉ12}{S'initier aux réseaux informatiques}
|
||||
|
@ -1,5 +1,5 @@
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Ressources
|
||||
% SAE
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\nouvellesae{SAÉ13}{Découvrir un dispositif de transmission}
|
||||
|
@ -1,5 +1,5 @@
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Ressources
|
||||
% SAE
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\nouvellesae{SAÉ14}{Se présenter sur Internet}
|
||||
|
@ -1,5 +1,5 @@
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Ressources
|
||||
% SAE
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\nouvellesae{SAÉ15}{Traitement de données}
|
||||
|
@ -1,5 +1,5 @@
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Ressources
|
||||
% SAE
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\nouvellesae{SAÉ21}{Construire un réseau informatique pour une petite structure}
|
||||
|
@ -1,5 +1,5 @@
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Ressources
|
||||
% SAE
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\nouvellesae{SAÉ22}{Mesurer et caractériser un signal ou un système}
|
||||
|
@ -1,5 +1,5 @@
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Ressources
|
||||
% SAE
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\nouvellesae{SAÉ23}{Mettre en place une solution informatique pour l’entreprise}
|
||||
|
@ -63,7 +63,8 @@ if False:
|
||||
fid.write(contenu)
|
||||
print(f"Export de {fichierlatex} ")
|
||||
|
||||
# Export latex des ressources
|
||||
# Export latex des sae
|
||||
if False:
|
||||
for sem in saes:
|
||||
for s in saes[sem]:
|
||||
|
||||
@ -72,3 +73,13 @@ for sem in saes:
|
||||
with open(fichierlatex, "w", encoding="utf8") as fid:
|
||||
fid.write(contenu)
|
||||
print(f"Export de {fichierlatex} ")
|
||||
|
||||
# Export latex des exemples
|
||||
for sem in exemples:
|
||||
for s in exemples[sem]:
|
||||
for (i, e) in enumerate(exemples[sem][s]):
|
||||
fichierlatex = REPERTOIRE_LATEX + "/" + "{}_exemple{}.tex".format(e.exemple["code"].replace("É", "E"), i+1)
|
||||
contenu = e.to_latex()
|
||||
with open(fichierlatex, "w", encoding="utf8") as fid:
|
||||
fid.write(contenu)
|
||||
print(f"Export de {fichierlatex} ")
|
15
python/pn/modele_exemple_sae.tex
Normal file
15
python/pn/modele_exemple_sae.tex
Normal file
@ -0,0 +1,15 @@
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Exemple de SAE
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\nouvelexemple{#titre}
|
||||
|
||||
\ajoutESdescription{
|
||||
#description
|
||||
}
|
||||
|
||||
\ajoutESformes{#formes}
|
||||
|
||||
\ajoutESproblematique{#problematique}
|
||||
|
||||
\ajoutESmodalite{#modalite}
|
@ -1,5 +1,5 @@
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Ressources
|
||||
% SAE
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\nouvellesae{#code}{#titre}
|
||||
|
@ -188,59 +188,52 @@ class ExempleSAE():
|
||||
except:
|
||||
Ressource.__LOGGER.warning(f"Pb de chargement de {fichieryaml}")
|
||||
|
||||
def to_latex(self, modele="pn/modele_sae_exemple.tex"):
|
||||
def to_latex(self, modele="pn/modele_exemple_sae.tex"):
|
||||
"""Génère le code latex décrivant la ressource"""
|
||||
modlatex = get_modele(modele) #"pn/modele_ressource.tex")
|
||||
|
||||
# Préparation des ac
|
||||
ajoutac = "\\ajoutSac{%s}{%s}"
|
||||
compRT = []
|
||||
for accomp in self.sae["acs"]:
|
||||
comps = []
|
||||
for no_ac in range(len(self.sae["acs"][accomp])): # les ac de la comp
|
||||
code_ac = self.sae["acs"][accomp][no_ac]
|
||||
comps.append( ajoutac % (code_ac, DATA_ACS[accomp][code_ac]) )
|
||||
compRT.append("\n".join(comps))
|
||||
|
||||
# Préparation des ressources
|
||||
ajoutressources = "\\ajoutSressources{%s}{%s}"
|
||||
resRT = []
|
||||
for (i, res) in enumerate(self.sae["ressources"]): # in range(len(self.apprentissages)):
|
||||
resRT.append(ajoutressources % (res, get_officiel_ressource_name_by_code(res)))
|
||||
ressources = "\n".join(resRT)
|
||||
|
||||
|
||||
# préparation du descriptif
|
||||
descriptif = self.sae["description"]
|
||||
if descriptif == "Aucun":
|
||||
descriptif = ""
|
||||
SAE.__LOGGER.warning(f"{self.sae['titre']} n'a pas de description")
|
||||
description = self.exemple["description"]
|
||||
if not description:
|
||||
description = ""
|
||||
ExempleSAE.__LOGGER.warning(f"{self.exemple['titre']} n'a pas de description")
|
||||
else:
|
||||
descriptif = descriptif.replace("\n", "\n\n").replace("\n" * 4, "\n") # corrige les suppressions de ligne à la relecture du yaml
|
||||
descriptif = md_to_latex(descriptif)
|
||||
description = description.replace("\n", "\n\n").replace("\n" * 4, "\n") # corrige les suppressions de ligne à la relecture du yaml
|
||||
description = md_to_latex(description)
|
||||
|
||||
# préparation des livrables
|
||||
livrables = self.sae["livrables"]
|
||||
if livrables == "Aucun":
|
||||
livrables = ""
|
||||
SAE.__LOGGER.warning(f"{self.sae['titre']} n'a pas de livrables")
|
||||
# préparation de la forme
|
||||
formes = self.exemple["formes"]
|
||||
if not formes:
|
||||
formes = ""
|
||||
ExempleSAE.__LOGGER.warning(f"{self.exemple['titre']} n'a pas de formes")
|
||||
else:
|
||||
livrables = livrables.replace("\n", "\n\n").replace("\n" * 4, "\n") # corrige les suppressions de ligne à la relecture du yaml
|
||||
livrables = md_to_latex(livrables)
|
||||
formes = formes.replace("\n", "\n\n").replace("\n" * 4, "\n") # corrige les suppressions de ligne à la relecture du yaml
|
||||
formes = md_to_latex(formes)
|
||||
|
||||
# préparation de la problématique
|
||||
problematique = self.exemple["problematique"]
|
||||
if not formes:
|
||||
problematique = ""
|
||||
ExempleSAE.__LOGGER.warning(f"{self.exemple['titre']} n'a pas de problematique")
|
||||
else:
|
||||
problematique = problematique.replace("\n", "\n\n").replace("\n" * 4, "\n") # corrige les suppressions de ligne à la relecture du yaml
|
||||
problematique = md_to_latex(problematique)
|
||||
|
||||
# préparation des modalites
|
||||
modalite = self.exemple["modalite"]
|
||||
if not formes:
|
||||
modalite = ""
|
||||
ExempleSAE.__LOGGER.warning(f"{self.exemple['titre']} n'a pas de modalite")
|
||||
else:
|
||||
modalite = modalite.replace("\n", "\n\n").replace("\n" * 4, "\n") # corrige les suppressions de ligne à la relecture du yaml
|
||||
modalite = md_to_latex(modalite)
|
||||
|
||||
chaine = ""
|
||||
chaine = TemplateLatex(modlatex).substitute(code=self.sae["code"],
|
||||
titre=self.sae["titre"],
|
||||
heures_encadrees=self.sae["heures_encadrees"],
|
||||
heures_tp=self.sae["tp"],
|
||||
heures_projet=self.sae["projet"],
|
||||
compRT1=compRT[0],
|
||||
compRT2=compRT[1],
|
||||
compRT3=compRT[2],
|
||||
description=caracteres_recalcitrants(descriptif),
|
||||
ressources=ressources,
|
||||
livrables= livrables,
|
||||
motscles = caracteres_recalcitrants(self.sae["motscles"]),
|
||||
chaine = TemplateLatex(modlatex).substitute(titre=self.exemple["titre"],
|
||||
description=description,
|
||||
formes=formes,
|
||||
problematique = problematique,
|
||||
modalite=modalite
|
||||
)
|
||||
# chaine = chaine.replace("&", "\&")
|
||||
|
||||
|
@ -496,7 +496,7 @@ class ExempleSAEDocx():
|
||||
"semestre": self.semestre,
|
||||
"description": folded(self.description),
|
||||
"formes": self.formes,
|
||||
"problematique": folded(self.problematique),
|
||||
"problematique": folded(self.problematique) if self.problematique !="" else "",
|
||||
"modalite": folded(self.modalite),
|
||||
}
|
||||
output = ruamel.yaml.dump(dico, Dumper=ruamel.yaml.RoundTripDumper,
|
||||
|
Loading…
Reference in New Issue
Block a user