This commit is contained in:
2025-09-08 19:59:40 +02:00
parent 310deec27b
commit 8197d4a4c6
30 changed files with 4112 additions and 3846 deletions

View File

@@ -16,8 +16,6 @@ contributes:
format-resources:
- extra/couleurs.sty
- extra/shortcuts.sty
- extra/mdframed.tex
- extra/mdtheorem.tex
- extra/environments.tex
papersize: a4paper
geometry:
@@ -26,13 +24,14 @@ contributes:
- vmargin=8mm
- head=14.5pt
number-sections: true
toc: true
toc: false
metadata:
type-document:
document-type:
cours: false
exercice: false
activite: false
document-class: ""
filters:
- latex-environment
environments: [definition, propriete, theoreme, questions]
environments: [definition, propriete, theoreme, questions, exercice]
commands: [tanColor]

View File

@@ -38,22 +38,17 @@
\renewcommand*{\subsectionformat}{\thesubsection)\enskip}
\RedeclareSectionCommand[
beforeskip=1.0\baselineskip,
afterskip=0.5\baselineskip,
font=\sffamily\bfseries\large,
indent=4em
beforeskip=1.0\baselineskip,
afterskip=0.5\baselineskip,
font=\sffamily\bfseries\large,
indent=4em
]{subsubsection}
\renewcommand \thesubsubsection{\alph{subsubsection}}
\renewcommand*{\subsubsectionformat}{\circled{\thesubsubsection}\enskip}
%% GRAPHICS PATH
\graphicspath{{images/}}
%% ENVIRONMENTS
\input{mdframed.tex}
\input{mdtheorem.tex}
\input{environments.tex}

View File

@@ -0,0 +1 @@
\vspace{-4cm}

View File

@@ -1,18 +1,19 @@
%% DYNAMIC TITLE
$if(type-document.cours)$
$if(document-type.cours)$
$if(subtitle)$
\rohead*[Cours]{Cours - $subtitle$}
$else$
\rohead*[Cours]{Cours}
$endif$
$elseif(type-document.exercice)$
$elseif(document-type.exercice)$
\ohead{}
$if(subtitle)$
\rohead*[Exercices]{Exercices - $subtitle$}
$else$
\rohead*[Exercices]{Exercices}
$endif$
$elseif(type-document.activite)$
$elseif(document-type.activite)$
$if(subtitle)$
\rohead*[Activité]{Activité - $subtitle$}
$else$
@@ -22,4 +23,10 @@ $elseif(subtitle)$
\rohead*{$subtitle$}
$else$
\rohead*{}
$endif$
$endif$
$if(document-class)$
\lohead[$document-class$]{$document-class$}
$endif$
\rofoot*{\anneescolaire}

View File

@@ -1,3 +1,627 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%
% MDFRAMED
%
%
%% global options
%%
\mdfsetup{
frametitlealignment=\raggedright,%
innerbottommargin=2em,%
}
%% styles
%%
\tikzset{
symbol/.style={
rectangle, draw=white,
fill=white, scale=1,
overlay
}
}
% nologo: a standard square frame with thick border and without a logo
\mdfdefinestyle{nologo}{%
linecolor=black,linewidth=1pt,%
leftmargin=0,rightmargin=0,%
innertopmargin=1em,innerbottommargin=1em,%
innerleftmargin=.5em,innerrightmargin=.5em,%
skipabove=0,skipbelow=0,%
frametitlerule=false,%
frametitlebackgroundcolor=white!0,%
nobreak=true,%
xcolor,%
}
% noborder: a no border frame
\mdfdefinestyle{noborder}{%
linecolor=white,linewidth=0pt,%
leftmargin=0,rightmargin=0,%
innertopmargin=.5em,innerbottommargin=.5em,%
innerleftmargin=.5em,innerrightmargin=.5em,%
skipabove=0,skipbelow=0,%
frametitlerule=false,%
frametitlebackgroundcolor=white!0,%
xcolor,%
}
% pencil: a square frame with a pencil icon in upper left corner
\mdfdefinestyle{pencil}{%
linecolor=black,linewidth=1pt,%
leftmargin=0,rightmargin=0,%
innertopmargin=1em,innerbottommargin=1em,%
innerleftmargin=1em,innerrightmargin=.5em,%
skipabove=0,skipbelow=0,%
frametitlerule=false,%
frametitlebackgroundcolor=white!0,%
nobreak=true,%
xcolor,%
firstextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faPencil };
},%
secondextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faPencil };
},%
middleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faPencil };
},%
singleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faPencil };
},%
}
% eye: square frame with an eye logo
\mdfdefinestyle{eye}{%
linecolor=white,linewidth=1pt,%
tikzsetting={draw=black,line width=.5pt},%
leftmargin=2pt,rightmargin=0,%
innertopmargin=1em,innerbottommargin=1em,%
innerleftmargin=.75em,innerrightmargin=.5em,%
skipabove=0,skipbelow=0,%
frametitlerule=false,%
frametitlebackgroundcolor=white!0,%
nobreak=false,%
xcolor,%
hidealllines=true, leftline=true,%
firstextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faEye };
},%
secondextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faEye };
},%
middleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faEye };
},%
singleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faEye };
},%
}
% comment: frame with no borders but with a beginning quote at upper left and
% an ending quote at lower right
\mdfdefinestyle{comment}{%
linecolor=white,linewidth=1pt,%
leftmargin=0,rightmargin=0,%
innertopmargin=1em,innerbottommargin=1em,%
innerleftmargin=1em,innerrightmargin=.5em,%
skipabove=0,skipbelow=0,%
frametitlerule=false,%
frametitlebackgroundcolor=white!0,%
nobreak=true,%
xcolor,%
firstextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faQuoteLeft };
\path let \p1=(P), \p2=(O) in ($(\x1,.4)+(0,\y2)$)
node[symbol] { \faQuoteRight };
},%
secondextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faQuoteLeft };
\path let \p1=(P), \p2=(O) in ($(\x1,.4)+(0,\y2)$)
node[symbol] { \faQuoteRight };
},%
middleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faQuoteLeft };
\path let \p1=(P), \p2=(O) in ($(\x1,.4)+(0,\y2)$)
node[symbol] { \faQuoteRight };
},%
singleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faQuoteLeft };
\path let \p1=(P), \p2=(O) in ($(\x1,.4)+(0,\y2)$)
node[symbol] { \faQuoteRight };
},%
}
% cogs: a shadowed square frame with a file text icon at upper left
\mdfdefinestyle{cogs}{%
linecolor=white,linewidth=1pt,%
tikzsetting={draw=black,line width=1pt},%
leftmargin=0,rightmargin=0,%
innertopmargin=1em,innerbottommargin=1em,%
innerleftmargin=1em,innerrightmargin=.5em,%
skipabove=0,skipbelow=0,%
frametitlerule=false,%
frametitlebackgroundcolor=white!0,%
nobreak=true,%
xcolor,%
shadow=true,%
firstextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faCogs };
},%
secondextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faCogs };
},%
middleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faCogs };
},%
singleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faCogs };
},%
}
% tips: a shadowed square frame with a light bulb icon at upper left
\mdfdefinestyle{tips}{%
linecolor=white,linewidth=1pt,%
tikzsetting={draw=black,line width=1pt},%
leftmargin=0,rightmargin=0,%
innertopmargin=1em,innerbottommargin=1em,%
innerleftmargin=1em,innerrightmargin=.5em,%
skipabove=0,skipbelow=0,%
frametitlerule=false,%
frametitlebackgroundcolor=white!0,%
nobreak=true,%
xcolor,%
hidealllines=true, leftline=true,%
firstextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faLightbulbO };
},%
secondextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faLightbulbO };
},%
middleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faLightbulbO };
},%
singleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faLightbulbO };
},%
}
% bookmark: a shadowed square frame with cogs icon at upper left
\mdfdefinestyle{bookmark}{%
linecolor=white,linewidth=1pt,%
tikzsetting={draw=black,line width=1pt},%
leftmargin=0,rightmargin=0,%
innertopmargin=0em,innerbottommargin=1em,%
innerleftmargin=1em,innerrightmargin=.5em,%
skipabove=0,skipbelow=0,%
frametitlerule=false,%
frametitlebackgroundcolor=white!0,%
nobreak=true,%
xcolor,%
hidealllines=true, leftline=true,%
firstextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faBookmarkO };
},%
secondextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faBookmarkO };
},%
middleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faBookmarkO };
},%
singleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faBookmarkO };
},%
}
% warn: frame with only left border and warning icon at upper left
\mdfdefinestyle{warning}{%
linecolor=white,linewidth=1pt,%
innerlinewidth=1pt,outerlinewidth=1pt,
tikzsetting={draw=black,
decorate,
decoration={snake, amplitude=.5mm},
line width=.5pt},%
leftmargin=2pt,rightmargin=0,%
innertopmargin=1em,innerbottommargin=1em,%
innerleftmargin=1em,innerrightmargin=.5em,%
skipabove=0,skipbelow=0,%
frametitlerule=false,%
frametitlebackgroundcolor=white!0,%
nobreak=true,%
xcolor,%
hidealllines=true, leftline=true,%
firstextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faExclamationTriangle };
},%
secondextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faExclamationTriangle };
},%
middleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faExclamationTriangle };
},%
singleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faExclamationTriangle };
},%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%
% MDTHEOREM
%
%
%% New theorem declarations and redirection of all standard previously defined
%% environments to their starred version as they don't display numbering.
%%
% definition
\mdtheorem[style=pencil, theoremseparator={},
theoremspace={}, roundcorner=6pt]{@def1}{\Jd Définition}
\mdtheorem[style=nologo, theoremseparator={},
theoremspace={}, roundcorner=6pt]{@def2}{\Jd Définition}
\RenewDocumentEnvironment{@def1}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@def1*}
}{
\begin{@def1*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@def1*}
}
\RenewDocumentEnvironment{@def2}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@def2*}
}{
\begin{@def2*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@def2*}
}
% theoreme
\mdtheorem[style=pencil, theoremseparator={},
theoremspace={}, roundcorner=6pt,
outerlinewidth=1pt, outerlinecolor=black]{@thm1}{\Jd Théorème}
\mdtheorem[style=nologo, theoremseparator={},
theoremspace={}, roundcorner=6pt,
outerlinewidth=1pt, outerlinecolor=black]{@thm2}{\Jd Théorème}
\RenewDocumentEnvironment{@thm1}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@thm1*}
}{
\begin{@thm1*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@thm1*}
}
\RenewDocumentEnvironment{@thm2}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@thm2*}
}{
\begin{@thm2*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@thm2*}
}
% coroallaire
\mdtheorem[style=pencil, theoremseparator={},
theoremspace={}, roundcorner=3pt,
outerlinecolor=black]{@coro1}{\Jd Corollaire}
\mdtheorem[style=nologo, theoremseparator={},
theoremspace={}, roundcorner=3pt,
outerlinecolor=black]{@coro2}{\Jd Corollaire}
\RenewDocumentEnvironment{@coro1}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@coro1*}
}{
\begin{@coro1*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@coro1*}
}
\RenewDocumentEnvironment{@coro2}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@coro2*}
}{
\begin{@coro2*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@coro2*}
}
% propriete
\mdtheorem[style=pencil, theoremseparator={}, theoremspace={},
outerlinewidth=1pt, outerlinecolor=black]{@ppt1}{\Jd Propriété}
\mdtheorem[style=nologo, theoremseparator={}, theoremspace={},
outerlinewidth=1pt, outerlinecolor=black]{@ppt2}{\Jd Propriété}
\RenewDocumentEnvironment{@ppt1}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@ppt1*}
}{
\begin{@ppt1*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@ppt1*}
}
\RenewDocumentEnvironment{@ppt2}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@ppt2*}
}{
\begin{@ppt2*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@ppt2*}
}
% demonstration
\mdtheorem[style=pencil, theoremseparator={},
theoremspace={}]{@dem1}{\Jd Démonstration}
\mdtheorem[style=nologo, theoremseparator={},
theoremspace={}]{@dem2}{\Jd Démonstration}
\RenewDocumentEnvironment{@dem1}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@dem1*}
}{
\begin{@dem1*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@dem1*}
}
\RenewDocumentEnvironment{@dem2}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@dem2*}
}{
\begin{@dem2*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@dem2*}
}
% consequence
\mdtheorem[style=nologo, theoremseparator={}, theoremspace={},
outerlinewidth=1pt, outerlinecolor=black]{@csq1}{\Jd Conséquence(s)}
\mdtheorem[style=nologo, theoremseparator={}, theoremspace={},
outerlinewidth=1pt, outerlinecolor=black]{@csq2}{}
\RenewDocumentEnvironment{@csq1}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@csq1*}
}{
\begin{@csq1*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@csq1*}
}
\RenewDocumentEnvironment{@csq2}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@csq2*}
}{
\begin{@csq2*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@csq2*}
}
% vocabulaire
\mdtheorem[style=noborder, theoremseparator={},
theoremspace={}]{@voc1}{\Jd Vocabulaire}
\mdtheorem[style=nologo, theoremseparator={},
theoremspace={}]{@voc2}{\Jd Vocabulaire}
\RenewDocumentEnvironment{@voc1}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@voc1*}
}{
\begin{@voc1*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@voc1*}
}
\RenewDocumentEnvironment{@voc2}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@voc2*}
}{
\begin{@voc2*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@voc2*}
}
% commentaire
\mdtheorem[style=comment, frametitle=none,
frametitleaboveskip=0em, frametitlebelowskip=0em]{@com}{}
\RenewDocumentEnvironment{@com}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@com*}
}{
\begin{@com*}[#1]
}
}{%end
\end{@com*}
}
% remarque
\mdtheorem[style=warning, theoremseparator={ -},
theoremspace={}]{@rmq1}{\Jd Remarque(s)}
\mdtheorem[style=warning, theoremseparator={},
theoremspace={}]{@rmq2}{}
\RenewDocumentEnvironment{@rmq1}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@rmq1*}
}{
\begin{@rmq1*}[#1]
}
}{%end
\end{@rmq1*}
}
\RenewDocumentEnvironment{@rmq2}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@rmq2*}
}{
\begin{@rmq2*}[#1]
}
}{%end
\end{@rmq2*}
}
% exemple
\mdtheorem[style=eye, theoremseparator={ -}, theoremspace={}]{@exe1}{\Jd Exemple}
\mdtheorem[style=eye, theoremseparator={}, theoremspace={}]{@exe2}{}
\RenewDocumentEnvironment{@exe1}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@exe1*}
}{
\begin{@exe1*}[#1]
}
}{%end
\end{@exe1*}
}
\RenewDocumentEnvironment{@exe2}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@exe2*}
}{
\begin{@exe2*}[#1]
}
}{%end
\end{@exe2*}
}
% application
\mdtheorem[style=cogs, theoremseparator={},
theoremspace={}]{@app1}{\Jd Application}
\mdtheorem[style=cogs, theoremseparator={},
theoremspace={}]{@app2}{}
\RenewDocumentEnvironment{@app1}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@app1*}
}{
\begin{@app1*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@app1*}
}
\RenewDocumentEnvironment{@app2}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@app2*}
}{
\begin{@app2*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@app2*}
}
% methode
\mdtheorem[style=bookmark, theoremseparator={ -},
theoremspace={}]{@met1}{\Jd Méthode}
\mdtheorem[style=noborder, theoremseparator={},
theoremspace={}]{@met2}{}
\RenewDocumentEnvironment{@met1}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@met1*}
}{
\begin{@met1*}[#1]
}
}{%end
\end{@met1*}
}
\RenewDocumentEnvironment{@met2}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@met2*}
}{
\begin{@met2*}[#1]
}
}{%end
\end{@met2*}
}
% Need to adapt the code in order to get numbering and
% framing
%% application
%\newtheoremstyle{@app1}
% {\topsep}% espace avant
% {\topsep}% espace apres
% {}% Police utilisee par le style de thm
% {}% Indentation (vide = aucune, \parindent = indentation paragraphe)
% {\bfseries}% Police du titre de thm
% {}% Signe de ponctuation apres le titre du thm
% {\newline}% Espace apres le titre du thm (\newline = linebreak)
% {\thmname{#1}\thmnumber{ #2}\thmnote{ - \normalfont{\textit{#3}}}}
% % composants du titre du thm : \thmname = nom, \thmnumber = numéro, \thmnote = sous-titre
%
%\theoremstyle{@app1}
%\newtheorem{application1}{\Jd Application}
%
%% application
%\newtheoremstyle{@app2}
%{\topsep}% espace avant
%{\topsep}% espace apres
%{}% Police utilisee par le style de thm
%{}% Indentation (vide = aucune, \parindent = indentation paragraphe)
%{\bfseries}% Police du titre de thm
%{}% Signe de ponctuation apres le titre du thm
%{\newline}% Espace apres le titre du thm (\newline = linebreak)
%{\thmname{#1}\thmnote{ - \normalfont{\textit{#2}}}}
%% composants du titre du thm : \thmname = nom, \thmnumber = numéro, \thmnote = sous-titre
%
%\theoremstyle{@app2}
%\newtheorem*{application2}{\Jd Application}
%
%\counterwithin*{application1}{section}
% exercice
\newtheoremstyle{@exo1}
{\topsep}% espace avant
{\topsep}% espace apres
{}% Police utilisee par le style de thm
{}% Indentation (vide = aucune, \parindent = indentation paragraphe)
{\bfseries}% Police du titre de thm
{}% Signe de ponctuation apres le titre du thm
{\newline}% Espace apres le titre du thm (\newline = linebreak)
{\thmname{#1}\thmnumber{ #2}\thmnote{ - \normalfont{\textit{#3}}}}
% composants du titre du thm : \thmname = nom, \thmnumber = numéro, \thmnote = sous-titre
\theoremstyle{@exo1}
\newtheorem{exercice1}{\Jd Exercice}
% exercice
\newtheoremstyle{@exo2}
{\topsep}% espace avant
{\topsep}% espace apres
{}% Police utilisee par le style de thm
{}% Indentation (vide = aucune, \parindent = indentation paragraphe)
{\bfseries}% Police du titre de thm
{}% Signe de ponctuation apres le titre du thm
{\newline}% Espace apres le titre du thm (\newline = linebreak)
{\thmname{#1}\thmnote{ - \normalfont{\textit{#2}}}}
% composants du titre du thm : \thmname = nom, \thmnumber = numéro, \thmnote = sous-titre
\theoremstyle{@exo2}
\newtheorem*{exercice2}{\Jd Exercice}
\counterwithin*{exercice1}{section}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%
@@ -491,3 +1115,4 @@
% \vspace{1cm}
%}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

View File

@@ -1,240 +0,0 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%
% MDFRAMED
%
%
%% global options
%%
\mdfsetup{
frametitlealignment=\raggedright,%
innerbottommargin=2em,%
}
%% styles
%%
\tikzset{
symbol/.style={
rectangle, draw=white,
fill=white, scale=1,
overlay
}
}
% nologo: a standard square frame with thick border and without a logo
\mdfdefinestyle{nologo}{%
linecolor=black,linewidth=1pt,%
leftmargin=0,rightmargin=0,%
innertopmargin=1em,innerbottommargin=1em,%
innerleftmargin=.5em,innerrightmargin=.5em,%
skipabove=0,skipbelow=0,%
frametitlerule=false,%
frametitlebackgroundcolor=white!0,%
nobreak=true,%
xcolor,%
}
% noborder: a no border frame
\mdfdefinestyle{noborder}{%
linecolor=white,linewidth=0pt,%
leftmargin=0,rightmargin=0,%
innertopmargin=.5em,innerbottommargin=.5em,%
innerleftmargin=.5em,innerrightmargin=.5em,%
skipabove=0,skipbelow=0,%
frametitlerule=false,%
frametitlebackgroundcolor=white!0,%
xcolor,%
}
% pencil: a square frame with a pencil icon in upper left corner
\mdfdefinestyle{pencil}{%
linecolor=black,linewidth=1pt,%
leftmargin=0,rightmargin=0,%
innertopmargin=1em,innerbottommargin=1em,%
innerleftmargin=1em,innerrightmargin=.5em,%
skipabove=0,skipbelow=0,%
frametitlerule=false,%
frametitlebackgroundcolor=white!0,%
nobreak=true,%
xcolor,%
firstextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faPencil };
},%
secondextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faPencil };
},%
middleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faPencil };
},%
singleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faPencil };
},%
}
% eye: square frame with an eye logo
\mdfdefinestyle{eye}{%
linecolor=white,linewidth=1pt,%
tikzsetting={draw=black,line width=.5pt},%
leftmargin=2pt,rightmargin=0,%
innertopmargin=1em,innerbottommargin=1em,%
innerleftmargin=.75em,innerrightmargin=.5em,%
skipabove=0,skipbelow=0,%
frametitlerule=false,%
frametitlebackgroundcolor=white!0,%
nobreak=false,%
xcolor,%
hidealllines=true, leftline=true,%
firstextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faEye };
},%
secondextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faEye };
},%
middleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faEye };
},%
singleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faEye };
},%
}
% comment: frame with no borders but with a beginning quote at upper left and
% an ending quote at lower right
\mdfdefinestyle{comment}{%
linecolor=white,linewidth=1pt,%
leftmargin=0,rightmargin=0,%
innertopmargin=1em,innerbottommargin=1em,%
innerleftmargin=1em,innerrightmargin=.5em,%
skipabove=0,skipbelow=0,%
frametitlerule=false,%
frametitlebackgroundcolor=white!0,%
nobreak=true,%
xcolor,%
firstextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faQuoteLeft };
\path let \p1=(P), \p2=(O) in ($(\x1,.4)+(0,\y2)$)
node[symbol] { \faQuoteRight };
},%
secondextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faQuoteLeft };
\path let \p1=(P), \p2=(O) in ($(\x1,.4)+(0,\y2)$)
node[symbol] { \faQuoteRight };
},%
middleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faQuoteLeft };
\path let \p1=(P), \p2=(O) in ($(\x1,.4)+(0,\y2)$)
node[symbol] { \faQuoteRight };
},%
singleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faQuoteLeft };
\path let \p1=(P), \p2=(O) in ($(\x1,.4)+(0,\y2)$)
node[symbol] { \faQuoteRight };
},%
}
% cogs: a shadowed square frame with a file text icon at upper left
\mdfdefinestyle{cogs}{%
linecolor=white,linewidth=1pt,%
tikzsetting={draw=black,line width=1pt},%
leftmargin=0,rightmargin=0,%
innertopmargin=1em,innerbottommargin=1em,%
innerleftmargin=1em,innerrightmargin=.5em,%
skipabove=0,skipbelow=0,%
frametitlerule=false,%
frametitlebackgroundcolor=white!0,%
nobreak=true,%
xcolor,%
shadow=true,%
firstextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faCogs };
},%
secondextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faCogs };
},%
middleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faCogs };
},%
singleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faCogs };
},%
}
% tips: a shadowed square frame with a light bulb icon at upper left
\mdfdefinestyle{tips}{%
linecolor=white,linewidth=1pt,%
tikzsetting={draw=black,line width=1pt},%
leftmargin=0,rightmargin=0,%
innertopmargin=1em,innerbottommargin=1em,%
innerleftmargin=1em,innerrightmargin=.5em,%
skipabove=0,skipbelow=0,%
frametitlerule=false,%
frametitlebackgroundcolor=white!0,%
nobreak=true,%
xcolor,%
hidealllines=true, leftline=true,%
firstextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faLightbulbO };
},%
secondextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faLightbulbO };
},%
middleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faLightbulbO };
},%
singleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faLightbulbO };
},%
}
% bookmark: a shadowed square frame with cogs icon at upper left
\mdfdefinestyle{bookmark}{%
linecolor=white,linewidth=1pt,%
tikzsetting={draw=black,line width=1pt},%
leftmargin=0,rightmargin=0,%
innertopmargin=0em,innerbottommargin=1em,%
innerleftmargin=1em,innerrightmargin=.5em,%
skipabove=0,skipbelow=0,%
frametitlerule=false,%
frametitlebackgroundcolor=white!0,%
nobreak=true,%
xcolor,%
hidealllines=true, leftline=true,%
firstextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faBookmarkO };
},%
secondextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faBookmarkO };
},%
middleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faBookmarkO };
},%
singleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faBookmarkO };
},%
}
% warn: frame with only left border and warning icon at upper left
\mdfdefinestyle{warning}{%
linecolor=white,linewidth=1pt,%
innerlinewidth=1pt,outerlinewidth=1pt,
tikzsetting={draw=black,
decorate,
decoration={snake, amplitude=.5mm},
line width=.5pt},%
leftmargin=2pt,rightmargin=0,%
innertopmargin=1em,innerbottommargin=1em,%
innerleftmargin=1em,innerrightmargin=.5em,%
skipabove=0,skipbelow=0,%
frametitlerule=false,%
frametitlebackgroundcolor=white!0,%
nobreak=true,%
xcolor,%
hidealllines=true, leftline=true,%
firstextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faExclamationTriangle };
},%
secondextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faExclamationTriangle };
},%
middleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faExclamationTriangle };
},%
singleextra={\path let \p1=(P), \p2=(O) in ($(\x2,-.4)+1.0*(0,\y1)$)
node[symbol] { \faExclamationTriangle };
},%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

View File

@@ -1,380 +0,0 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%
% MDTHEOREM
%
%
%% New theorem declarations and redirection of all standard previously defined
%% environments to their starred version as they don't display numbering.
%%
% definition
\mdtheorem[style=pencil, theoremseparator={},
theoremspace={}, roundcorner=6pt]{@def1}{\Jd Définition}
\mdtheorem[style=nologo, theoremseparator={},
theoremspace={}, roundcorner=6pt]{@def2}{\Jd Définition}
\RenewDocumentEnvironment{@def1}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@def1*}
}{
\begin{@def1*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@def1*}
}
\RenewDocumentEnvironment{@def2}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@def2*}
}{
\begin{@def2*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@def2*}
}
% theoreme
\mdtheorem[style=pencil, theoremseparator={},
theoremspace={}, roundcorner=6pt,
outerlinewidth=1pt, outerlinecolor=black]{@thm1}{\Jd Théorème}
\mdtheorem[style=nologo, theoremseparator={},
theoremspace={}, roundcorner=6pt,
outerlinewidth=1pt, outerlinecolor=black]{@thm2}{\Jd Théorème}
\RenewDocumentEnvironment{@thm1}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@thm1*}
}{
\begin{@thm1*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@thm1*}
}
\RenewDocumentEnvironment{@thm2}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@thm2*}
}{
\begin{@thm2*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@thm2*}
}
% coroallaire
\mdtheorem[style=pencil, theoremseparator={},
theoremspace={}, roundcorner=3pt,
outerlinecolor=black]{@coro1}{\Jd Corollaire}
\mdtheorem[style=nologo, theoremseparator={},
theoremspace={}, roundcorner=3pt,
outerlinecolor=black]{@coro2}{\Jd Corollaire}
\RenewDocumentEnvironment{@coro1}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@coro1*}
}{
\begin{@coro1*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@coro1*}
}
\RenewDocumentEnvironment{@coro2}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@coro2*}
}{
\begin{@coro2*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@coro2*}
}
% propriete
\mdtheorem[style=pencil, theoremseparator={}, theoremspace={},
outerlinewidth=1pt, outerlinecolor=black]{@ppt1}{\Jd Propriété}
\mdtheorem[style=nologo, theoremseparator={}, theoremspace={},
outerlinewidth=1pt, outerlinecolor=black]{@ppt2}{\Jd Propriété}
\RenewDocumentEnvironment{@ppt1}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@ppt1*}
}{
\begin{@ppt1*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@ppt1*}
}
\RenewDocumentEnvironment{@ppt2}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@ppt2*}
}{
\begin{@ppt2*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@ppt2*}
}
% demonstration
\mdtheorem[style=pencil, theoremseparator={},
theoremspace={}]{@dem1}{\Jd Démonstration}
\mdtheorem[style=nologo, theoremseparator={},
theoremspace={}]{@dem2}{\Jd Démonstration}
\RenewDocumentEnvironment{@dem1}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@dem1*}
}{
\begin{@dem1*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@dem1*}
}
\RenewDocumentEnvironment{@dem2}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@dem2*}
}{
\begin{@dem2*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@dem2*}
}
% consequence
\mdtheorem[style=nologo, theoremseparator={}, theoremspace={},
outerlinewidth=1pt, outerlinecolor=black]{@csq1}{\Jd Conséquence(s)}
\mdtheorem[style=nologo, theoremseparator={}, theoremspace={},
outerlinewidth=1pt, outerlinecolor=black]{@csq2}{}
\RenewDocumentEnvironment{@csq1}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@csq1*}
}{
\begin{@csq1*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@csq1*}
}
\RenewDocumentEnvironment{@csq2}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@csq2*}
}{
\begin{@csq2*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@csq2*}
}
% vocabulaire
\mdtheorem[style=noborder, theoremseparator={},
theoremspace={}]{@voc1}{\Jd Vocabulaire}
\mdtheorem[style=nologo, theoremseparator={},
theoremspace={}]{@voc2}{\Jd Vocabulaire}
\RenewDocumentEnvironment{@voc1}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@voc1*}
}{
\begin{@voc1*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@voc1*}
}
\RenewDocumentEnvironment{@voc2}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@voc2*}
}{
\begin{@voc2*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@voc2*}
}
% commentaire
\mdtheorem[style=comment, frametitle=none,
frametitleaboveskip=0em, frametitlebelowskip=0em]{@com}{}
\RenewDocumentEnvironment{@com}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@com*}
}{
\begin{@com*}[#1]
}
}{%end
\end{@com*}
}
% remarque
\mdtheorem[style=warning, theoremseparator={ -},
theoremspace={}]{@rmq1}{\Jd Remarque(s)}
\mdtheorem[style=warning, theoremseparator={},
theoremspace={}]{@rmq2}{}
\RenewDocumentEnvironment{@rmq1}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@rmq1*}
}{
\begin{@rmq1*}[#1]
}
}{%end
\end{@rmq1*}
}
\RenewDocumentEnvironment{@rmq2}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@rmq2*}
}{
\begin{@rmq2*}[#1]
}
}{%end
\end{@rmq2*}
}
% exemple
\mdtheorem[style=eye, theoremseparator={ -}, theoremspace={}]{@exe1}{\Jd Exemple}
\mdtheorem[style=eye, theoremseparator={}, theoremspace={}]{@exe2}{}
\RenewDocumentEnvironment{@exe1}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@exe1*}
}{
\begin{@exe1*}[#1]
}
}{%end
\end{@exe1*}
}
\RenewDocumentEnvironment{@exe2}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@exe2*}
}{
\begin{@exe2*}[#1]
}
}{%end
\end{@exe2*}
}
% application
\mdtheorem[style=cogs, theoremseparator={},
theoremspace={}]{@app1}{\Jd Application}
\mdtheorem[style=cogs, theoremseparator={},
theoremspace={}]{@app2}{}
\RenewDocumentEnvironment{@app1}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@app1*}
}{
\begin{@app1*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@app1*}
}
\RenewDocumentEnvironment{@app2}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@app2*}
}{
\begin{@app2*}[\hfill{\normalfont\slshape#1}]
}
}{%end
\end{@app2*}
}
% methode
\mdtheorem[style=bookmark, theoremseparator={ -},
theoremspace={}]{@met1}{\Jd Méthode}
\mdtheorem[style=noborder, theoremseparator={},
theoremspace={}]{@met2}{}
\RenewDocumentEnvironment{@met1}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@met1*}
}{
\begin{@met1*}[#1]
}
}{%end
\end{@met1*}
}
\RenewDocumentEnvironment{@met2}{ o } {%begin
\IfNoValueTF {#1} {
\begin{@met2*}
}{
\begin{@met2*}[#1]
}
}{%end
\end{@met2*}
}
% Need to adapt the code in order to get numbering and
% framing
%% application
%\newtheoremstyle{@app1}
% {\topsep}% espace avant
% {\topsep}% espace apres
% {}% Police utilisee par le style de thm
% {}% Indentation (vide = aucune, \parindent = indentation paragraphe)
% {\bfseries}% Police du titre de thm
% {}% Signe de ponctuation apres le titre du thm
% {\newline}% Espace apres le titre du thm (\newline = linebreak)
% {\thmname{#1}\thmnumber{ #2}\thmnote{ - \normalfont{\textit{#3}}}}
% % composants du titre du thm : \thmname = nom, \thmnumber = numéro, \thmnote = sous-titre
%
%\theoremstyle{@app1}
%\newtheorem{application1}{\Jd Application}
%
%% application
%\newtheoremstyle{@app2}
%{\topsep}% espace avant
%{\topsep}% espace apres
%{}% Police utilisee par le style de thm
%{}% Indentation (vide = aucune, \parindent = indentation paragraphe)
%{\bfseries}% Police du titre de thm
%{}% Signe de ponctuation apres le titre du thm
%{\newline}% Espace apres le titre du thm (\newline = linebreak)
%{\thmname{#1}\thmnote{ - \normalfont{\textit{#2}}}}
%% composants du titre du thm : \thmname = nom, \thmnumber = numéro, \thmnote = sous-titre
%
%\theoremstyle{@app2}
%\newtheorem*{application2}{\Jd Application}
%
%\counterwithin*{application1}{section}
% exercice
\newtheoremstyle{@exo1}
{\topsep}% espace avant
{\topsep}% espace apres
{}% Police utilisee par le style de thm
{}% Indentation (vide = aucune, \parindent = indentation paragraphe)
{\bfseries}% Police du titre de thm
{}% Signe de ponctuation apres le titre du thm
{\newline}% Espace apres le titre du thm (\newline = linebreak)
{\thmname{#1}\thmnumber{ #2}\thmnote{ - \normalfont{\textit{#3}}}}
% composants du titre du thm : \thmname = nom, \thmnumber = numéro, \thmnote = sous-titre
\theoremstyle{@exo1}
\newtheorem{exercice1}{\Jd Exercice}
% exercice
\newtheoremstyle{@exo2}
{\topsep}% espace avant
{\topsep}% espace apres
{}% Police utilisee par le style de thm
{}% Indentation (vide = aucune, \parindent = indentation paragraphe)
{\bfseries}% Police du titre de thm
{}% Signe de ponctuation apres le titre du thm
{\newline}% Espace apres le titre du thm (\newline = linebreak)
{\thmname{#1}\thmnote{ - \normalfont{\textit{#2}}}}
% composants du titre du thm : \thmname = nom, \thmnumber = numéro, \thmnote = sous-titre
\theoremstyle{@exo2}
\newtheorem*{exercice2}{\Jd Exercice}
\counterwithin*{exercice1}{section}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

View File

@@ -62,6 +62,7 @@
\usepackage{pageslts}
\usepackage[footsepline, plainfootsepline]{scrlayer-scrpage}
\usepackage{titling}
\usepackage{tabularray}

View File

@@ -1,18 +1,73 @@
%% TITLE
$if(title)$
\title{$title$}
$endif$
$if(document-type.cours)$
\setlength{\droptitle}{-2cm}
$if(title)$
\title{\Jd $title$}
\vspace{-4cm}
$endif$
$if(subtitle)$
\subtitle{$subtitle$}
$endif$
$if(subtitle)$
\subtitle{$subtitle$}
$else$
\subtitle{}
$endif$
$if(author)$
\author{$for(author)$$author$$sep$ \and $endfor$}
$endif$
$if(author)$
\author{$for(author)$$author$$sep$ \and $endfor$}
$else$
\author{}
$endif$
$if(date)$
\date{$date$}
$endif$
$if(date)$
\date{$date$}
$else$
\date{}
$endif$
$elseif(document-type.exercice)$
\setlength{\droptitle}{-3.5cm}
$if(title)$
\title{\Jd $title$}
$endif$
$if(subtitle)$
\subtitle{$subtitle$}
$else$
\subtitle{}
$endif$
$if(author)$
\author{$for(author)$$author$$sep$ \and $endfor$}
$else$
\author{}
$endif$
$if(date)$
\date{$date$}
$else$
\date{}
$endif$
$elseif(document-type.activite)$
\setlength{\droptitle}{-3.5cm}
$if(title)$
\title{\Jd $title$}
$endif$
$if(subtitle)$
\subtitle{$subtitle$}
$else$
\subtitle{}
$endif$
$if(author)$
\author{$for(author)$$author$$sep$ \and $endfor$}
$else$
\author{}
$endif$
$if(date)$
\date{$date$}
$else$
\date{}
$endif$
$endif$