From d868be7c25c89d334424a74e089fa70412d64349 Mon Sep 17 00:00:00 2001 From: David Denoncin Date: Wed, 27 Aug 2025 19:48:29 +0200 Subject: [PATCH] =?UTF-8?q?MAJ=20des=20TD=20et=20des=20encadr=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- documentex/constantes_document_latex.py | 11 +++-- documentex/documentex.py | 7 +-- documentex/templates/LW.png | Bin 8790 -> 0 bytes documentex/templates/Utils/01_paquets.tex | 2 + .../templates/Utils/02_config_paquets.tex | 44 ++++++++++++++++++ .../templates/Utils/04_environnements.tex | 3 +- documentex/templates/Utils/05_macros.tex | 9 ++-- .../templates/Utils/06_math_operator.tex | 23 +++------ documentex/templates/example.tex | 13 ++++-- documentex/templates/raspail.png | Bin 0 -> 20012 bytes 10 files changed, 79 insertions(+), 33 deletions(-) delete mode 100644 documentex/templates/LW.png create mode 100644 documentex/templates/raspail.png diff --git a/documentex/constantes_document_latex.py b/documentex/constantes_document_latex.py index 5faf734..a9830f8 100644 --- a/documentex/constantes_document_latex.py +++ b/documentex/constantes_document_latex.py @@ -25,11 +25,11 @@ debug = False Constantes customisant l'en-tête des fichiers LaTeX et remplies automatiquement """ classe_appartenance = "PT" -lycee_appartenance = "Lycée Langevin Wallon" +lycee_appartenance = "Lycée Raspail" institution = "Lycée" -nom_institution = "Langevin Wallon" -lycee_adresse = "126 avenue Roger Salengro" -lycee_complement_adresse = "Champigny-sur-Marne, 94240" +nom_institution = "Langevin Raspail" +lycee_adresse = "5bis, avenue Maurice d'Ocagne" +lycee_complement_adresse = "Paris, 75014" auteur = "D. Denoncin" # est mise d'office sur tout type de document auteur_lettre = "Dr. David Denoncin" auteur_titre = "Professeur Agrégé" @@ -54,13 +54,14 @@ dictionnaire_type_document = {'ds': [False, '', True, True], 'ob': [False, '*', False, True], 'doc': [False, '', False, False], 'let': [False, '', False, True], # Lettre de motivation + 'sob': [False, '*', True, False], } """ Types de documents pour lesquels il faut créer un sous-dossier pour la correction """ -type_document_correction = ['ds', 'dm', 'pb'] +type_document_correction = ['ds', 'dm', 'pb', 'sob'] """ Dictionnaire paramétrant les abréviations pour les numéros de DS (limité à 10 DS) diff --git a/documentex/documentex.py b/documentex/documentex.py index 0fd9c68..e94d459 100644 --- a/documentex/documentex.py +++ b/documentex/documentex.py @@ -126,6 +126,7 @@ def documentex(dossier: str, type_document: str): "choices": [ "LLW", "Lycée de Cachan", + "Lycée Raspail", ] }, { @@ -195,12 +196,12 @@ def documentex(dossier: str, type_document: str): ressource_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)),template_dir) # dossier des templates fichiers = glob.glob(os.path.join(ressource_dir,'*')) fichiers = [fichier for fichier in fichiers if 'Utils' not in fichier ] - image = [fichier for fichier in fichiers if 'LW.png' in fichier][0] - fichiers.remove(image) #on enlève l'image LW.png des fichiers + image = [fichier for fichier in fichiers if 'raspail.png' in fichier][0] + fichiers.remove(image) #on enlève l'image raspail.png des fichiers fichiers_utils = glob.glob(os.path.join(os.path.join(ressource_dir,'Utils'),'*')) if type_document in ['ds','let']: - shutil.copy(image,os.path.join(tex_file_path,'LW.png')) + shutil.copy(image,os.path.join(tex_file_path,'raspail.png')) if type_document == 'ds': ds_numero = constantes.dictionnaire_numero_ds[numero] ## attention mettre numéro épreuve (?) diff --git a/documentex/templates/LW.png b/documentex/templates/LW.png deleted file mode 100644 index 7b2a8e6476af47a6a7a1d9bc8f37a41113ca6021..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8790 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 M07*qoM6N<$g3+!jaR2}S diff --git a/documentex/templates/Utils/01_paquets.tex b/documentex/templates/Utils/01_paquets.tex index 78e5b2c..f10022a 100644 --- a/documentex/templates/Utils/01_paquets.tex +++ b/documentex/templates/Utils/01_paquets.tex @@ -1,6 +1,8 @@ \BLOCK{ if type_ecrit == 'let' } \documentclass[11pt, a4paper,french]{letter} \usepackage{babel} +\BLOCK{ elif type_ecrit == 'td' } +\documentclass[10pt, a4paper,french,landscape]{letter} \BLOCK{ else } \documentclass[12pt,a4paper]{article} \BLOCK{ endif } diff --git a/documentex/templates/Utils/02_config_paquets.tex b/documentex/templates/Utils/02_config_paquets.tex index 4746f4d..bf8b0ce 100644 --- a/documentex/templates/Utils/02_config_paquets.tex +++ b/documentex/templates/Utils/02_config_paquets.tex @@ -11,6 +11,50 @@ right=3cm, % Right margin %showframe, % Uncomment to show how the type block is set on the page } + +\BLOCK{elif type_ecrit == 'sob'} + +\geometry{% + a4paper, % format de papier + % Définition des marges : + left=1.6cm, % marge intérieure à la page + right = 1.6cm, % marge extérieure + top = 1.8cm, + bottom = 1.8cm, + % En-tête et pied de page : + headheight=5.2mm, % espace réservé à l'en-tête dans la marge top + headsep=3mm, % espace entre le corps et l'en-tête + footskip=9mm % espace entre le corps et le pied de page +} + +% paquet itemize +\setlist[itemize]{label=$\bullet$} + +% paquet lstset +\lstset{inputencoding=utf8} + +% paquet hyperlink +\hypersetup{colorlinks = true, linkcolor = Turquoise, citecolor = red, + urlcolor = red} + +% paquet titlesec +\titleformat{\section}[block] +{\bfseries\normalsize} +{\thesection.}{5pt} +{\filcenter} +\titleformat{\subsection}[block] +{\bfseries\normalsize} +{\thesubsection.}{5pt} +{\filcenter} +\titleformat{\subsubsection}[block] +{\bfseries\normalsize} +{\thesubsubsection.}{5pt} +{\filcenter} + +% paquet fancyhdr +\pagestyle{fancy} +\fancyhead[L]{Oral blanc} + \BLOCK{ else } % zone de texte \geometry{% diff --git a/documentex/templates/Utils/04_environnements.tex b/documentex/templates/Utils/04_environnements.tex index f0a5499..bc4bcfe 100644 --- a/documentex/templates/Utils/04_environnements.tex +++ b/documentex/templates/Utils/04_environnements.tex @@ -55,7 +55,7 @@ %Phone: (000) 111-1111\\ % Your phone number %URL: LaTeXTemplates.com % Your URL } -\logo{LW.png} % Logo filename, your logo should have square dimensions (i.e. roughly the same width and height), if it does not, you will need to adjust spacing within the HEADER STRUCTURE block in structure.tex (read the comments carefully!) +\logo{raspail.png} % Logo filename, your logo should have square dimensions (i.e. roughly the same width and height), if it does not, you will need to adjust spacing within the HEADER STRUCTURE block in structure.tex (read the comments carefully!) \headerlineone{\VAR{ institution }} % Top header line, leave blank if you only want the bottom line \headerlinetwo{\VAR{ nom_institution}} % Bottom header line \BLOCK{ else } @@ -63,7 +63,6 @@ \theoremstyle{plain} \newtheorem*{thmm}{Théorème} \newtheorem*{propp}{Proposition} -\newtheorem*{corr}{Corollaire} \newtheorem*{lemm}{Lemme} \theoremstyle{definition} diff --git a/documentex/templates/Utils/05_macros.tex b/documentex/templates/Utils/05_macros.tex index c6f7171..8f8cc1f 100644 --- a/documentex/templates/Utils/05_macros.tex +++ b/documentex/templates/Utils/05_macros.tex @@ -43,15 +43,16 @@ \newcommand{\bdcap}{\displaystyle \bigcap} \newcommand{\leftexp}[2]{{\vphantom{#2}}^{#1}{#2}} -\newtcbox{\mresult}[1][]{nobeforeafter,#1,colframe=Turquoise,colback=white,leftrule=-1pt,toprule=-1pt,rightrule=1pt,bottomrule=1pt,boxsep=0.3cm,right=0.3cm,left=0.3cm,top=3pt,bottom=3pt,notitle,sharpish corners,math upper,#1} % type de box pour les résultats mathématique +\newtcbox{\mresult}[1][]{nobeforeafter,#1,colframe=Red,colback=white,leftrule=-1pt,toprule=-1pt,rightrule=1pt,bottomrule=1pt,boxsep=0.3cm,right=0.3cm,left=0.3cm,top=3pt,bottom=3pt,notitle,sharpish corners,math upper,#1} % type de box pour les résultats mathématique +\newtcbox{\mres}[1][]{tcbox raise base,nobeforeafter,#1,colframe=Red,colback=white,leftrule=1pt,toprule=1pt,rightrule=1pt,bottomrule=1pt,boxsep=0.05cm,right=0.05cm,left=0.05cm,top=0.05cm,bottom=0.05cm,notitle,sharpish corners,math upper,#1} % type de box pour les résultats mathématique \newcommand{\mathresult}[1]{\begin{empheq}[box=\mresult]{align*}#1\end{empheq}} % commande pour encadrer un résultat mathématique \newcommand{\reseq}[1]{\begin{empheq}[box=\mresult]{align*}#1\end{empheq}} % compatibilité rétrograde -\newtcolorbox{maresult}[1][]{nobeforeafter,colframe=Turquoise,colback=white,leftrule=-1pt,toprule=-1pt,rightrule=1pt,bottomrule=1pt,boxsep=0.3cm,right=0.3cm,left=0.3cm,top=3pt,bottom=3pt,notitle,sharpish corners,math upper,#1} % type de box pour les résultats mathématique trop longs -\newtcolorbox{teresult}[1][]{breakable,enhanced,nobeforeafter,colframe=Turquoise,colback=white,leftrule=-1pt,toprule=-1pt,rightrule=1pt,bottomrule=1pt,boxsep=0.3cm,right=0.3cm,left=0.3cm,top=3pt,bottom=3pt,notitle,sharpish corners,#1} % type de box pour les résultats texte trop long. +\newtcolorbox{maresult}[1][]{nobeforeafter,colframe=Red,colback=white,leftrule=-1pt,toprule=-1pt,rightrule=1pt,bottomrule=1pt,boxsep=0.3cm,right=0.3cm,left=0.3cm,top=3pt,bottom=3pt,notitle,sharpish corners,math upper,#1} % type de box pour les résultats mathématique trop longs +\newtcolorbox{teresult}[1][]{breakable,enhanced,nobeforeafter,colframe=Red,colback=white,leftrule=-1pt,toprule=-1pt,rightrule=1pt,bottomrule=1pt,boxsep=0.3cm,right=0.3cm,left=0.3cm,top=3pt,bottom=3pt,notitle,sharpish corners,#1} % type de box pour les résultats texte trop long. %\newtcolorbox{result}[1][]{breakable,enhanced,nobeforeafter,colframe=Turquoise,colback=white,leftrule=-1pt,toprule=-1pt,rightrule=1pt,bottomrule=1pt,boxsep=0.3cm,right=0.3cm,left=0.3cm,top=3pt,bottom=3pt,notitle,sharpish corners,#1} % resultat en général : permet de mettre du texte et des maths avec align* -\newtcbox{\tresult}[1][]{breakable,enhanced,nobeforeafter,#1,colframe=Turquoise,colback=white,leftrule=-1pt,toprule=-1pt,rightrule=1pt,bottomrule=1pt,boxsep=0.3cm,right=0.3cm,left=0.3cm,top=3pt,bottom=3pt,notitle,sharpish corners,#1} % type de box pour les résultats texte +\newtcbox{\tresult}[1][]{breakable,enhanced,nobeforeafter,#1,colframe=Red,colback=white,leftrule=1pt,toprule=1pt,rightrule=1pt,bottomrule=1pt,boxsep=0.05cm,right=0.05cm,left=0.05cm,top=0.05cm,bottom=0.05cm,notitle,sharpish corners,#1} % type de box pour les résultats texte \newcommand{\textresult}[1]{\begin{center}\tresult{#1}\end{center}} % commande pour encadrer un résultat texte \newcommand{\fresult}[1]{\begin{center}\tresult{#1}\end{center}} % compatibilité rétrograde \newcommand{\result}[1]{\begin{center}\tresult{#1}\end{center}} % compatibilité rétrograde diff --git a/documentex/templates/Utils/06_math_operator.tex b/documentex/templates/Utils/06_math_operator.tex index 876afb9..05794c0 100644 --- a/documentex/templates/Utils/06_math_operator.tex +++ b/documentex/templates/Utils/06_math_operator.tex @@ -2,10 +2,7 @@ \DeclareMathOperator{\Sym}{S} \DeclareMathOperator{\An}{A} \DeclareMathOperator{\Uni}{U} -\DeclareMathOperator{\syl}{Syl} -\DeclareMathOperator{\stab}{Stab} \DeclareMathOperator{\GU}{GU} -\DeclareMathOperator{\PGL}{PGL} \DeclareMathOperator{\SL}{SL} \DeclareMathOperator{\Or}{O} \DeclareMathOperator{\SO}{SO} @@ -15,26 +12,20 @@ \DeclareMathOperator{\Image}{Im} \DeclareMathOperator{\Real}{Re} \DeclareMathOperator{\ID}{id} -\DeclareMathOperator{\tr}{tr} -\DeclareMathOperator{\trace}{trace} +\DeclareMathOperator{\Tr}{Tr} \DeclareMathOperator{\Ker}{Ker} -\DeclareMathOperator{\exponential}{exp} -\DeclareMathOperator{\Modulo}{mod} -\DeclareMathOperator{\spec}{spec} +\DeclareMathOperator{\Spec}{Spec} \DeclareMathOperator{\ch}{ch} \DeclareMathOperator{\sh}{sh} -\DeclareMathOperator{\ppcm}{ppcm} \DeclareMathOperator{\arcos}{arcos} \DeclareMathOperator{\Vect}{Vect} -\DeclareMathOperator{\diag}{diag} \DeclareMathOperator{\mat}{Mat} -\DeclareMathOperator{\Sp}{Sp} \DeclareMathOperator{\Arg}{Arg} \DeclareMathOperator{\Cov}{Cov} \DeclareMathOperator{\I}{I} \DeclareMathOperator{\rang}{rang} \DeclareMathOperator{\M}{M} -\DeclareMathOperator{\mul}{mul} +\DeclareMathOperator{\trace}{Trace} \begin{document} \BLOCK{ if type_ecrit == 'ds' } @@ -42,12 +33,12 @@ \fancyhead{} \begin{figure} \centering - \includegraphics[width=0.1\textwidth]{LW.png} + \includegraphics[width=0.1\textwidth]{raspail.png} \end{figure} \fancyfoot{} \begin{center} \huge{\textbf{\VAR{ ds_numero } \'epreuve de Mathématiques}}\\ - \huge{\textbf{\VAR{ classe } - \VAR{ annee }}}\\ + \huge{\textbf{\VAR{ classe }/\VAR{ classe }$^\star$ - \VAR{ annee }}}\\ \vspace{1em} \Large{Durée : 4h} \end{center} @@ -63,7 +54,7 @@ \vspace{1em} \begin{center} \begin{minipage}[]{.98\textwidth} - \Large{Toute réponse non justifiée \textbf{ne sera pas prise en compte}. \\ \newline Par ailleurs la \textbf{présentation, la qualité de la rédaction, la clarté et la précision des raisonnements} entreront pour une part importante dans l'appréciation des copies.\\ \newline Vous êtes invités à encadrer vos résultats.} + \Large{Toute réponse non justifiée \textbf{ne sera pas prise en compte}. \\ \newline Par ailleurs la \textbf{présentation, la qualité de la rédaction, la clarté et la précision des raisonnements} entreront pour une part importante dans l'appréciation des copies.\\ \newline En particulier, vous devez écrire dans un français correct et encadrer vos résultats à la règle.} \end{minipage} \vspace{5em} @@ -77,7 +68,7 @@ \newpage \renewcommand{\headrulewidth}{0.5pt} \setcounter{page}{1} -\fancyhead[L]{\VAR{ classe } - \VAR{ short_title } - \VAR{ lycee } \VAR{ annee } } +\fancyhead[L]{\VAR{ classe }/\VAR{ classe }$^\star$ - \VAR{ short_title } - \VAR{ lycee } \VAR{ annee } } \fancyhead[R]{\VAR{ auteur }} \fancyfoot[C]{\thepage} diff --git a/documentex/templates/example.tex b/documentex/templates/example.tex index a969e2c..f79f63c 100644 --- a/documentex/templates/example.tex +++ b/documentex/templates/example.tex @@ -5,7 +5,7 @@ } \opening{Chers <++>,} -Je connais <++> car celui-ci a effectué sa deuxième année de classe préparatoire dans la filière PT du lycée Langevin-Wallon dans laquelle j'enseigne les mathématiques. <++> +Je connais <++> car celui-ci a effectué sa deuxième année de classe préparatoire dans la filière PT du lycée Raspail dans lequel j'enseigne les mathématiques. <++> <++> pour ces raisons je me permets de recommander <++> pour son \textbf{inscription au niveau <++>} de <++> @@ -40,9 +40,9 @@ Je connais <++> car celui-ci a effectué sa deuxième année de classe préparat \end{tcolorbox} % Barème % Tableau question de cours : /3 -% Exposé question de cours : /6 +% Exposé question de cours : /5 % Tableau exercice : /3 -% Raisonner : /5 +% Raisonner : /6 % Dialoguer : /3 % Si pas de question de cours @@ -102,3 +102,10 @@ Je connais <++> car celui-ci a effectué sa deuxième année de classe préparat \vspace{17cm} } \BLOCK{ endif } + +\BLOCK{ if type_ecrit == 'td' } +\setlength{\columnseprule}{1pt} +\begin{multicols*}{2} + <++> +\end{multicols*} +\BLOCK{ endif } diff --git a/documentex/templates/raspail.png b/documentex/templates/raspail.png new file mode 100644 index 0000000000000000000000000000000000000000..92e354f75e2e204abe99803873dd62866f5e20f4 GIT binary patch literal 20012 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