summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/pas-cours/latex/macro-styles.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/pas-cours/latex/macro-styles.tex')
-rw-r--r--macros/latex/contrib/pas-cours/latex/macro-styles.tex616
1 files changed, 616 insertions, 0 deletions
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