From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Mon, 2 Sep 2019 13:46:59 +0900
Subject: Initial commit

---
 .../latex/contrib/pas-cours/latex/macro-styles.tex | 616 +++++++++++++++++++++
 1 file changed, 616 insertions(+)
 create mode 100644 macros/latex/contrib/pas-cours/latex/macro-styles.tex

(limited to 'macros/latex/contrib/pas-cours/latex/macro-styles.tex')

diff --git a/macros/latex/contrib/pas-cours/latex/macro-styles.tex b/macros/latex/contrib/pas-cours/latex/macro-styles.tex
new file mode 100644
index 0000000000..d04c1b84f6
--- /dev/null
+++ b/macros/latex/contrib/pas-cours/latex/macro-styles.tex
@@ -0,0 +1,616 @@
+\def\couleur{black}
+
+% Fichier comprenant les macros de styles
+
+\newcounter{cnt@chap}
+\newcounter{cnt@prop}
+\newcounter{cnt@thm}
+\newcounter{cnt@defi}
+\newcounter{cnt@rem}
+\newcounter{cnt@act}
+\newcounter{cnt@nota}
+\newcounter{cnt@ex}
+\newcounter{cnt@demo}
+
+% \env : environnement de couleurs
+% Syntaxe : \env[style=nom de l'environnement,pluriel (option)]{texte}
+
+\define@cmdkey [PAS] {env} {style}{}
+\define@cmdkey [PAS] {env} {name}{}
+\define@cmdkey [PAS] {env} {color}{}
+\define@cmdkey [PAS] {env} {title}{}
+\define@cmdkey [PAS] {env} {symb}{}
+\define@boolkey[PAS] {env} {num}[true]{} % ajout du 19/08/2014
+\define@boolkey[PAS] {env} {toc}[true]{} 
+\define@boolkey[PAS] {env} {notoc}[true]{} 
+\define@boolkey[PAS] {env} {pluriel}[true]{} 
+\define@boolkey[PAS] {env} {endsymb}[true]{} 
+\define@boolkey[PAS] {env} {degrade}[true]{} 
+\define@boolkey[PAS] {env} {notitle}[true]{} 
+\define@boolkey[PAS] {env} {notitlebreak}[true]{}
+\define@boolkey[PAS] {env} {effect}[true]{}
+\if@notitlebreak
+	\presetkeys[PAS] {env} {notitlebreak=true}{}
+\else
+	\presetkeys[PAS] {env} {notitlebreak=false}{}
+\fi
+\if@noeffect
+	\presetkeys[PAS] {env} {effect=false}{}
+\else
+	\presetkeys[PAS] {env} {effect=true}{}
+\fi
+\presetkeys    [PAS] {env} {style= , name= , title= ,pluriel = false, color=, symb = $\blacksquare$, degrade = false, toc=false, notoc=false, notitle=false, endsymb=false, num=false}{}
+
+\newcommand*{\env}[1][]{\pasEnv[#1]}
+
+\long\def\pasEnv[#1]#2{
+   \setkeys[PAS]{env}{#1}
+	\if@everytoc
+   	\ifx\cmdPAS@env@name\@empty
+   	\else
+   		\ifPAS@env@notoc
+   		\else
+				\phantomsection
+				\addcontentsline{toc}{section}{\cmdPAS@env@name}
+			\fi
+   	\fi
+   \else
+		\ifPAS@env@toc
+			\phantomsection
+			\addcontentsline{toc}{section}{\cmdPAS@env@name}
+		\fi
+	\fi
+	%
+   \IfStrEq{\cmdPAS@env@style}{prop}
+   {%
+   \ifPAS@env@pluriel
+   	\def\texte{Propri\'et\'es}
+   \else
+   	\def\texte{Propri\'et\'e}
+   \fi
+   \ifPAS@env@num
+   	\stepcounter{cnt@prop}
+   	\edef\texte{\texte~\thecnt@prop}
+   \fi
+   \def\couleur{prop}%
+   }{}
+   \IfStrEq{\cmdPAS@env@style}{demo}
+   {%
+   \ifPAS@env@pluriel
+   	\def\texte{D\'emonstrations}
+   \else
+   	\def\texte{D\'emonstration}
+   \fi
+    \ifPAS@env@num
+   	\stepcounter{cnt@demo}
+   	\edef\texte{\texte~\thecnt@demo}
+   \fi
+   \def\couleur{demo}%
+   }{}
+   \IfStrEq{\cmdPAS@env@style}{rem}{\ifPAS@env@pluriel\def\texte{Remarques}\else\def\texte{Remarque}\fi\def\couleur{rem}}{}
+   \IfStrEq{\cmdPAS@env@style}{defi}
+	{%
+		\ifPAS@env@pluriel
+			\def\texte{D\'efinitions}
+		\else
+			\def\texte{D\'efinition}
+		\fi
+		\ifPAS@env@num
+   		\stepcounter{cnt@defi}
+   		\edef\texte{\texte~\thecnt@defi}
+   	\fi
+		\def\couleur{defi}
+	}{}
+	\IfStrEq{\cmdPAS@env@style}{thm}{\ifPAS@env@pluriel\def\texte{Th\'eor\`emes}\else\def\texte{Th\'eor\`eme}\fi\ifPAS@env@num\stepcounter{cnt@thm}\edef\texte{\texte~\thecnt@thm}\fi\def\couleur{thm}}{}
+   \IfStrEq{\cmdPAS@env@style}{ex}{\ifPAS@env@pluriel\def\texte{Exemples}\else\def\texte{Exemple}\fi \ifPAS@env@num\stepcounter{cnt@ex}\edef\texte{\texte~\thecnt@ex}\fi\def\couleur{ex}}{}
+   \IfStrEq{\cmdPAS@env@style}{nota}{\ifPAS@env@pluriel\def\texte{Notations}\else\def\texte{Notation}\fi \ifPAS@env@num\stepcounter{cnt@nota}\edef\texte{\texte~\thecnt@nota}\fi\def\couleur{nota}}{}
+   \IfStrEq{\cmdPAS@env@style}{act}{\ifPAS@env@pluriel\def\texte{Activit\'es}\else\def\texte{Activit\'e}\fi \ifPAS@env@num\stepcounter{cnt@act}\edef\texte{\texte~\thecnt@act}\fi\def\couleur{act}}{}
+	\IfStrEq{\cmdPAS@env@style}{meth}{\ifPAS@env@pluriel\def\texte{M\'ethodes}\else\def\texte{M\'ethode}\fi \ifPAS@env@num\stepcounter{cnt@meth}\edef\texte{\texte~\thecnt@meth}\fi\def\couleur{brown}}{}
+	\IfStrEq{\cmdPAS@env@title}{}{}{\def\texte{\cmdPAS@env@title}}
+	\IfStrEq{\cmdPAS@env@color}{}{}{\def\couleur{\cmdPAS@env@color}}
+	\ifPAS@env@degrade
+		\tikzstyle{noeud} = [rectangle,inner ysep=10pt, inner xsep=5pt, fill=\couleur!10,path fading=east]
+	\else
+		\tikzstyle{noeud} = [rectangle,inner ysep=10pt, inner ysep=5pt, fill=\couleur!10]
+	\fi
+	\itemclass{\couleur}
+   \noindent
+   \begin{tikzpicture}
+   	\node [noeud] (box)
+   	{%
+      	\begin{minipage}{\dimexpr\textwidth-40pt}
+			\itshape #2
+			\ifPAS@env@endsymb
+				\hfill \cmdPAS@env@symb
+			\fi
+      	\end{minipage}
+   	};
+   	\ifPAS@env@notitle\else
+		\ifPAS@env@effect
+			\node[text=white,fill=\couleur,rectangle, shading=ball, ball color=\couleur, above right] (title) at ($(box.north west)+(-0.03,0)$)
+   		{\kern-3pt\begin{ant}\textbf{\texte}\end{ant}};
+		\draw[color=\couleur!50!black,very thick] (box.north west)--(box.south west)--(box.south east);
+		\else
+			\node[text=white,fill=\couleur,rectangle, above right] (title) at ($(box.north west)+(-0.03,0)$)
+   		{\kern-3pt\begin{ant}\textbf{\texte}\end{ant}};
+			\draw[color=\couleur,very thick] (box.north west)--(box.south west)--(box.south east);
+		\fi
+   	\fi
+   	\node[left,color=\couleur] at (box.north east) {\emph{\cmdPAS@env@name}};
+   \end{tikzpicture}   
+   \vspace{0.5cm}
+}
+
+% Environnement "pasbox"
+
+\newsavebox{\pas@box}
+%
+\newcounter{suite@box}
+\newenvironment*{pasbox}[1][]
+{%
+   \setcounter{suite@box}{0}
+   \setkeys[PAS]{env}{#1}
+   \if@everytoc
+   	\ifx\cmdPAS@env@name\@empty\else
+   		\ifPAS@env@notoc\else
+				\phantomsection
+				\addcontentsline{toc}{section}{\cmdPAS@env@name}
+			\fi
+   	\fi
+   \else
+		\ifPAS@env@toc
+			\phantomsection
+			\addcontentsline{toc}{section}{\cmdPAS@env@name}
+		\fi
+	\fi
+	\IfStrEq{\cmdPAS@env@style}{thm}
+   {%
+   	\ifPAS@env@pluriel
+   		\def\texte{Th\'eor\`emes}
+   	\else
+   		\def\texte{Th\'eor\`eme}
+   	\fi
+   	 \ifPAS@env@num
+   	\stepcounter{cnt@thm}
+   	\edef\texte{\texte~\thecnt@thm}
+   \fi
+   	\def\couleur{thm}
+   }{}
+   \IfStrEq{\cmdPAS@env@style}{demo}
+   {%
+   	\ifPAS@env@pluriel
+   		\def\texte{D\'emonstrations}
+   	\else
+   		\def\texte{D\'emonstration}
+   	\fi
+   	 \ifPAS@env@num
+   	\stepcounter{cnt@dem}
+   	\edef\texte{\texte~\thecnt@dem}
+   \fi
+   	\def\couleur{black}
+   }{}
+   \IfStrEq{\cmdPAS@env@style}{prop}
+   {%
+   	\ifPAS@env@pluriel
+   		\def\texte{Propri\'et\'es}
+   	\else
+   		\def\texte{Propri\'et\'e}
+   	\fi
+   	 \ifPAS@env@num
+   	\stepcounter{cnt@prop}
+   	\edef\texte{\texte~\thecnt@prop}
+   \fi
+   	\def\couleur{red}
+   }{}
+   \IfStrEq{\cmdPAS@env@style}{rem}
+   {%
+   	\ifPAS@env@pluriel
+   		\def\texte{Remarques}
+   	\else
+   		\def\texte{Remarque}
+   	\fi
+   	 \ifPAS@env@num
+   	\stepcounter{cnt@rem}
+   	\edef\texte{\texte~\thecnt@rem}
+   \fi
+   	\def\couleur{rem}
+   }{}
+   \IfStrEq{\cmdPAS@env@style}{defi}
+	{%
+	 \ifPAS@env@pluriel
+		\def\texte{D\'efinitions}
+	 \else
+		\def\texte{D\'efinition}
+	 \fi
+	  \ifPAS@env@num
+   	\stepcounter{cnt@defi}
+   	\edef\texte{\texte~\thecnt@defi}
+   \fi
+	 \def\couleur{defi}
+	}{}
+   	\IfStrEq{\cmdPAS@env@style}{ex}
+   	{%
+   	 \ifPAS@env@pluriel
+   	 	\def\texte{Exemples}
+   	 \else
+   	 	\def\texte{Exemple}
+   	 \fi
+   	  \ifPAS@env@num
+   	\stepcounter{cnt@ex}
+   	\edef\texte{\texte~\thecnt@ex}
+   \fi
+   	 \def\couleur{ex}
+   	}{}
+   	\IfStrEq{\cmdPAS@env@style}{nota}
+   	{%
+   	\ifPAS@env@pluriel
+   	\def\texte{Notations}
+   	\else
+   	\def\texte{Notation}
+   	\fi
+   	 \ifPAS@env@num
+   	\stepcounter{cnt@nota}
+   	\edef\texte{\texte~\thecnt@nota}
+   \fi
+   	\def\couleur{nota}
+   	}{}
+   	\IfStrEq{\cmdPAS@env@style}{act}
+   	{%
+   		\ifPAS@env@pluriel
+   			\def\texte{Activit\'es}
+   		\else
+   			\def\texte{Activit\'e}
+   		\fi
+   		 \ifPAS@env@num
+   	\stepcounter{cnt@act}
+   	\edef\texte{\texte~\thecnt@act}
+   \fi
+   		\def\couleur{orange}
+   	}{}
+	\IfStrEq{\cmdPAS@env@style}{meth}
+	{%
+		\ifPAS@env@pluriel
+			\def\texte{M\'ethodes}
+		\else
+			\def\texte{M\'ethode}
+		\fi
+		 \ifPAS@env@num
+   	\stepcounter{cnt@meth}
+   	\edef\texte{\texte~\thecnt@meth}
+   \fi
+		\def\couleur{brown}
+	}{}
+	\IfStrEq{\cmdPAS@env@title}{}{}{\def\texte{\cmdPAS@env@title}}
+	\IfStrEq{\cmdPAS@env@color}{}{}{\def\couleur{\cmdPAS@env@color}}
+	\ifPAS@env@degrade
+		\tikzstyle{noeud} = [rectangle,inner ysep=10pt, inner xsep=5pt, fill=\couleur!10,path fading=east,outer sep=0pt]
+	\else
+		\tikzstyle{noeud} = [rectangle,inner ysep=10pt, inner xsep=5pt, fill=\couleur!10,outer sep=0pt]
+	\fi
+	\itemclass{\couleur}
+	\begin{lrbox}{\pas@box}
+		\begin{minipage}{\dimexpr\linewidth-\parindent-14pt}
+}
+{
+		\ifPAS@env@endsymb
+			\hfill \cmdPAS@env@symb
+		\fi
+    		\end{minipage}
+	\end{lrbox}
+	\begin{tikzpicture}
+   	\node [noeud] (box)
+   	{%
+		\usebox{\pas@box}
+   	};
+   	\ifnum\thesuite@box=1
+   		\edef\texte{\texte~(suite)}
+   		\ifPAS@env@notitlebreak%
+		\else
+				\ifPAS@env@notitle
+				\else
+					\ifPAS@env@effect
+						\node[text=white,fill=\couleur,rectangle, shading=ball, ball color=\couleur, above right] (title) at ($(box.north west)+(-0.03,0)$){\begin{ant}\kern-3pt\texte\end{ant}};
+						\draw[color=\couleur!50!black,very thick] (box.north west)--(box.south west)--(box.south east);
+					\else
+						\node[text=white,fill=\couleur,rectangle, above right] (title) at ($(box.north west)+(-0.03,0)$){\kern-3pt\begin{ant}\textbf{\texte}\end{ant}};
+						\draw[color=\couleur, very thick] (box.north west)--(box.south west)--(box.south east);
+					\fi
+				\fi
+		\fi
+   	\else
+   		\ifPAS@env@notitle\else
+			\ifPAS@env@effect
+				\node[text=white,fill=\couleur,rectangle, shading=ball, ball color=\couleur, above right] (title) at ($(box.north west)+(-0.03,0)$){\kern-3pt\begin{ant}\texte\end{ant}};
+				\draw[color=\couleur!50!black,very thick] (box.north west)--(box.south west)--(box.south east);
+			\else
+				\node[text=white,fill=\couleur,rectangle, above right] (title) at ($(box.north west)+(-0.03,0)$){\kern-3pt\begin{ant}\texte\end{ant}};
+				\draw[color=\couleur,very thick] (box.north west)--(box.south west)--(box.south east);
+			\fi
+		\fi
+   	\fi	
+   	\node[left,color=\couleur] at ($(box.north east)+(0,1pt)$) {\emph{\cmdPAS@env@name}};
+   	\end{tikzpicture}   
+   	\vspace{0.5cm}
+}
+
+% \breakbox
+
+\newcommand*{\breakbox}
+{%
+	\end{minipage}
+	\end{lrbox}
+	\stepcounter{suite@box}
+	\begin{tikzpicture}
+   	\node [noeud] (box)
+   	{%
+		\usebox{\pas@box}
+   	};
+   	\ifPAS@env@notitle\else
+		\ifPAS@env@effect
+			\node[text=white,fill=\couleur,rectangle, shading=ball, ball color=\couleur, above right] (title) at ($(box.north west)+(-0.03,0)$){\begin{ant}\textbf{\texte}\end{ant}};
+		\else
+			\node[text=white,fill=\couleur,rectangle, above right] (title) at ($(box.north west)+(-0.03,0)$){\begin{ant}\textbf{\texte}\end{ant}};
+		\fi
+   	\fi
+   		\draw[color=\couleur!50!black,very thick] (box.north west)--(box.south west)--(box.south east);
+   		\node[left,color=\couleur] at (box.north east) {\emph{\cmdPAS@env@name}};
+   		\node[rounded corners=3pt,draw=\couleur!50!black,very thick,left,fill=white] at ($(box.south east)+(-0.5,0)$) {...};
+   	\end{tikzpicture}\par 
+   	\begin{lrbox}{\pas@box} 
+   		\begin{minipage}{\dimexpr\linewidth-\parindent-14pt}
+}
+
+%%%%%%%%%% définition du titre
+
+\newlength\pas@titlelinewidth
+
+\define@cmdkey [PAS] {chap} {num}{}
+\define@cmdkey [PAS] {chap} {color}{}
+\define@cmdkey [PAS] {chap} {pos}{}
+\define@boolkey[PAS] {chap} {autonum}[true]{} 
+\define@boolkey[PAS] {chap} {nonewpage}[true]{} 
+\presetkeys    [PAS] {chap} {num = ,
+ 							 color = red,
+ 							 pos = right,
+							 autonum = false, % maj 19/08/2014
+							 nonewpage = false}{} % maj 22/03/2015
+
+\newcommand*{\chap}[1][]{\pasChap[#1]}
+\setcounter{cnt@chap}{0}
+\def\pasChap[#1]#2#3{
+   \setkeys[PAS]{chap}{#1}
+   \ifPAS@chap@autonum
+   	\stepcounter{cnt@chap}
+   	\def\titre@chapitre{\thecnt@chap}
+   \else
+   	\def\titre@chapitre{\cmdPAS@chap@num}
+   \fi
+   \ifPAS@chap@nonewpage
+   \else
+   	\clearpage 
+   \fi
+   \IfStrEq{\cmdPAS@chap@pos}{right}
+      { \tikzstyle{pastitrepos} = [text=\cmdPAS@chap@color,rectangle,left]
+        \tikzstyle{pastrait} = [right color=\cmdPAS@chap@color, left color=white,thick]
+        \tikzstyle{passstitre} = [\cmdPAS@chap@color,left,scale=0.5]
+        \setlength{\pas@titlelinewidth}{\dimexpr2cm-\linewidth}
+        \def\PASpos{box.north west}
+        \def\PAStrait{box.west}
+        \def\PASsstitre{box.south west}
+        \def\PAStitrealign{flushright}
+      }
+      { \tikzstyle{pastitrepos} = [text=\cmdPAS@chap@color,rectangle,right]
+        \tikzstyle{pastrait} = [left color=\cmdPAS@chap@color, right color=white,thick]
+        \tikzstyle{passstitre} = [\cmdPAS@chap@color,right,scale=0.5]
+        \setlength{\pas@titlelinewidth}{\dimexpr\linewidth-2cm}
+        \def\PASpos{box.north east}   
+        \def\PAStrait{box.east}  
+        \def\PASsstitre{box.south east}
+        \def\PAStitrealign{flushleft}
+      }
+   \noindent
+   \begin{\PAStitrealign}
+   \begin{tikzpicture}
+   % Le numero de chapitre
+   \node[fill=\cmdPAS@chap@color, shading=ball, ball color=\cmdPAS@chap@color, very thick,circle, inner xsep=5pt, inner ysep=2pt] (box) at (0,0) {\kern-5pt\begin{Large}\textcolor{white}{\begin{ant}\textbf{\titre@chapitre}\end{ant}}\end{Large}};
+   % le titre
+   \node[pastitrepos] at (\PASpos) {\begin{minipage}{\dimexpr\textwidth-2cm}\begin{\PAStitrealign} \begin{Large}\textcolor{\cmdPAS@chap@color}{ \begin{ant} #2 \end{ant}}\end{Large} \end{\PAStitrealign} \end{minipage}};
+   % la ligne
+   \shade[pastrait] (\PAStrait) rectangle +(\pas@titlelinewidth,-0.01);
+   % le sous-titre
+   \node[passstitre] at (\PASsstitre) {\begin{ant}#3\end{ant}};
+   \end{tikzpicture}
+   \end{\PAStitrealign}
+}
+
+%%%%%%%%%%%% Définition d'un mot
+
+\newcommand{\definmot}[1]
+{\texttt{\textbf{\textcolor{\couleur}{\boldmath#1}}}}
+
+% Itemclass
+
+\newcommand{\itemclass}[1] % #1 = couleur
+{
+	\if@noitemstyle\else
+	\setlist[itemize,1]{label={\color{#1!50!black}\textbullet}}
+	\setlist[itemize,2]{label={\color{#1!50!black}$\rightarrow$}}
+	\setlist[enumerate,1]
+	{%
+		label=\fcolorbox{#1!50!black}
+		{#1!50!black}
+		{\color{#1!20}\normalsize\bfseries\arabic*}
+	}
+	\setlist[enumerate,2]{label=\textcolor{#1!50!black}{\normalsize\bfseries\alph*.}}
+	\fi
+}
+\itemclass{black}{}
+
+%%%%%%%%%%%% Pour le sommaire
+
+\def\@dottedtocline#1#2#3#4#5{%
+  \ifnum #1>\c@tocdepth \else
+    \vskip \z@ \@plus.2\p@
+    {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
+     \parindent #2\relax\@afterindenttrue
+     \interlinepenalty\@M
+     \leavevmode
+     \@tempdima #3\relax
+     \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
+     {#4}\nobreak
+     \leaders\hbox{$\m@th
+        \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
+        mu$}\hfill
+     \nobreak
+     \hb@xt@\@pnumwidth{\hfil #5}%
+     \par}%
+  \fi}
+  
+\renewcommand*\l@section{\color{blue!50!black}\def\@linkcolor{blue!50!black}\@dottedtocline{1}{1em}{2.3em}}
+\def\contentsline#1#2#3#4{%
+  \ifx\\#4\\%
+    \csname l@#1\endcsname{#2}{#3}%
+  \else
+      \csname l@#1\endcsname{\hyper@linkstart{link}{#4}{#2}\hyper@linkend}{\hyper@linkstart{link}{#4}{#3}\hyper@linkend}%
+  \fi
+}
+\renewcommand{\contentsname}{\color{purple}\titreFONT\huge Sommaire}
+
+%%%%%%%%%%% FONTES
+
+\def\titreFONT{\fontfamily{phv}\fontseries{bx}\selectfont} % pb6
+\def\tocFONT{\fontfamily{phv}\fontseries{m}\selectfont}
+
+%%%%%%%%%%% PREREQUIS
+
+\newsavebox{\prerequisBox}
+\newsavebox{\imgPrerequis}
+\newlength{\largeurimgPrerequis}
+
+\newenvironment{prerequis}
+{%
+	\begin{lrbox}{\imgPrerequis}
+	\includegraphics[scale=0.25]{prerequis.png}
+	\end{lrbox}
+	\settowidth{\largeurimgPrerequis}{\usebox{\imgPrerequis}}%
+	\begin{lrbox}{\prerequisBox}
+	\begin{minipage}{\dimexpr\textwidth-0.5\largeurimgPrerequis-15pt}
+	\begin{itemize}[leftmargin=1em,label={\color{purple}$\bullet$}]
+	\tocFONT
+}
+{%
+	\end{itemize}
+	\end{minipage}
+	\end{lrbox}
+	\begin{tikzpicture}
+	\node (titre) {\includegraphics[scale=0.25]{prerequis.png}};
+	\node[below right,text=purple] at (titre.north east) {\titreFONT\huge Pr\'erequis};
+	\node[below right] (contenu) at (titre.south) {\usebox{\prerequisBox}};
+	\draw[purple,very thick] (contenu.north west) -- (contenu.south west);
+	\end{tikzpicture}
+}
+
+%%%%%%%%%%%%%%% A RETENIR
+
+\newsavebox{\imageBox}
+\newlength{\largeurimageBox}
+\newsavebox{\aretenirBox}
+\newenvironment{aretenir}[1][1]
+{%
+\def\sc{#1}
+\begin{lrbox}{\imageBox}
+\includegraphics[scale=\sc]{coeur.png}
+\end{lrbox}
+\settowidth{\largeurimageBox}{\usebox{\imageBox}}%
+\begin{lrbox}{\aretenirBox}
+\begin{minipage}{\dimexpr\linewidth-\largeurimageBox-1em-10pt}
+}
+{%
+\end{minipage}
+\end{lrbox}
+\begin{tikzpicture}
+\node[below right,rounded corners,very thick,draw=red!60!black] (box) {\usebox{\aretenirBox}};
+\node[below left] at ($(box.north west)+(0,0.8em)$) {\includegraphics[scale=\sc]{coeur.png}};
+\end{tikzpicture}
+\vspace*{2em}
+}
+
+%%%%%%%%%%%%%%%%%% ATTENTION
+
+\newsavebox{\attentionBox}
+
+\define@cmdkey [PAS] {warning} {img}{}
+\define@cmdkey [PAS] {warning} {scale}{}
+\define@cmdkey [PAS] {warning} {margins}{}
+\define@cmdkey [PAS] {warning} {draw}{}
+\define@boolkey[PAS] {warning} {bg}[true]{} 
+\define@cmdkey [PAS] {warning} {bgcolor}{}
+\presetkeys    [PAS] {warning} {img=attention.eps,scale=1,margins=1pt,draw=red!50!black,bg=false}{}
+
+\newenvironment{warning}[1][]
+{%
+	\setkeys[PAS]{warning}{#1}
+	\begin{lrbox}{\imageBox}
+		\includegraphics[scale=\cmdPAS@warning@scale]{\cmdPAS@warning@img}
+	\end{lrbox}
+	\settowidth{\largeurimageBox}{\usebox{\imageBox}}%
+	\begin{lrbox}{\attentionBox}
+		\begin{minipage}{\dimexpr\linewidth-\largeurimageBox-1em-10pt}
+}
+{%
+		\end{minipage}
+	\end{lrbox}
+	\begin{tikzpicture}
+	\node[outer ysep=0pt,inner ysep=0pt] (icone) {\includegraphics[scale=\cmdPAS@warning@scale]{\cmdPAS@warning@img}};
+	\ifPAS@warning@bg
+		\node[below right,rounded corners,very thick,draw=\cmdPAS@warning@draw,inner sep=\cmdPAS@warning@margins,fill=\cmdPAS@warning@bgcolor] (box) at (icone.north east) {\usebox{\attentionBox}};
+	\else
+		\node[below right,rounded corners,very thick,draw=\cmdPAS@warning@draw,inner sep=\cmdPAS@warning@margins,outer sep=0pt] (box) at (icone.north east) {\usebox{\attentionBox}};
+	\fi
+	\end{tikzpicture}
+}
+
+
+\newenvironment{attention}[1][1]
+{%
+\def\scale@img{#1}
+\begin{lrbox}{\imageBox}
+\includegraphics[scale=\scale@img]{attention.png}
+\end{lrbox}
+\settowidth{\largeurimageBox}{\usebox{\imageBox}}%
+\begin{lrbox}{\attentionBox}
+\begin{minipage}{\dimexpr\linewidth-\largeurimageBox-1em-10pt}
+}
+{%
+\end{minipage}
+\end{lrbox}
+\begin{tikzpicture}
+\node[outer ysep=0pt,inner ysep=0pt] (icone) {\includegraphics[scale=\scale@img]{attention.png}};
+\node[below right,rounded corners,very thick,draw=red!60!black] (box) at (icone.north east) {\usebox{\attentionBox}};
+\end{tikzpicture}
+\vspace*{2em}
+}
+
+%%%%%%%%%%%%%%%% BONUS
+
+\newcounter{bonus}
+\newcommand*{\bonus}{\@ifstar{\bonus@star}{\bonus@nostar}}
+\newcommand*\bonus@star[1]{%
+\newpage
+\begingroup
+\fontfamily{phv}\fontseries{bx}\fontsize{16}{14}\selectfont
+\color{blue!40!black}Compl\'ement \thebonus : #1
+\endgroup
+\vspace*{1em}
+}
+\newcommand*\bonus@nostar[1]{%
+\stepcounter{bonus}
+\newpage
+\phantomsection
+\addcontentsline{toc}{section}{Compl\'ement \thebonus : #1}
+\begingroup
+\fontfamily{phv}\fontseries{bx}\fontsize{16}{14}\selectfont
+\color{blue!40!black}Compl\'ement \thebonus : #1
+\endgroup
+\vspace*{1em}
+}
\ No newline at end of file
-- 
cgit v1.2.3

