diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/pas-cours/macro-styles.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/pas-cours/macro-styles.tex | 444 |
1 files changed, 444 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/pas-cours/macro-styles.tex b/Master/texmf-dist/doc/latex/pas-cours/macro-styles.tex new file mode 100644 index 00000000000..30c7243f4ff --- /dev/null +++ b/Master/texmf-dist/doc/latex/pas-cours/macro-styles.tex @@ -0,0 +1,444 @@ +% Fichier comprenant les macros de styles + +% \env : environnement de couleurs +% Synthaxe : \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} {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]{} +\presetkeys [PAS] {env} {style= , name= , title= ,pluriel = false, color=, symb = $\blacksquare$, degrade = false, toc=false, notoc=false, notitle=false, notitlebreak=false, endsymb=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 + \def\couleur{red}% + }{} + \IfStrEq{\cmdPAS@env@style}{demo} + {% + \ifPAS@env@pluriel + \def\texte{D\'emonstrations} + \else + \def\texte{D\'emonstration} + \fi + \def\couleur{black}% + }{} + \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 + \def\couleur{defi} + }{} + \IfStrEq{\cmdPAS@env@style}{thm}{\ifPAS@env@pluriel\def\texte{Th\'eor\`emes}\else\def\texte{Th\'eor\`emes}\fi\def\couleur{thm}}{} + \IfStrEq{\cmdPAS@env@style}{ex}{\ifPAS@env@pluriel\def\texte{Exemples}\else\def\texte{Exemple}\fi\def\couleur{ex}}{} + \IfStrEq{\cmdPAS@env@style}{nota}{\ifPAS@env@pluriel\def\texte{Notations}\else\def\texte{Notation}\fi\def\couleur{nota}}{} + \IfStrEq{\cmdPAS@env@style}{act}{\ifPAS@env@pluriel\def\texte{Activit\'es}\else\def\texte{Activit\'e}\fi\def\couleur{orange}}{} + \IfStrEq{\cmdPAS@env@style}{meth}{\ifPAS@env@pluriel\def\texte{M\'ethodes}\else\def\texte{M\'ethode}\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 sep=10pt,fill=\couleur!10,path fading=east] + \else + \tikzstyle{noeud} = [rectangle,inner sep=10pt,fill=\couleur!10] + \fi + \itemclass{\couleur} + \noindent + \begin{tikzpicture} + \node [noeud] (box) + {% + \begin{minipage}{\textwidth} + \itshape #2 + \ifPAS@env@endsymb + \hfill \cmdPAS@env@symb + \fi + \end{minipage} + }; + \ifPAS@env@notitle\else + \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}}; + \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}}; + \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 + \def\couleur{thm} + }{} + \IfStrEq{\cmdPAS@env@style}{demo} + {% + \ifPAS@env@pluriel + \def\texte{D\'emonstrations} + \else + \def\texte{D\'emonstration} + \fi + \def\couleur{black} + }{} + \IfStrEq{\cmdPAS@env@style}{prop} + {% + \ifPAS@env@pluriel + \def\texte{Propri\'et\'es} + \else + \def\texte{Propri\'et\'e} + \fi + \def\couleur{red} + }{} + \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 + \def\couleur{defi} + }{} + \IfStrEq{\cmdPAS@env@style}{ex} + {% + \ifPAS@env@pluriel + \def\texte{Exemples} + \else + \def\texte{Exemple} + \fi + \def\couleur{ex} + }{} + \IfStrEq{\cmdPAS@env@style}{nota} + {% + \ifPAS@env@pluriel + \def\texte{Notations} + \else + \def\texte{Notation} + \fi + \def\couleur{nota} + }{} + \IfStrEq{\cmdPAS@env@style}{act} + {% + \ifPAS@env@pluriel + \def\texte{Activit\'es} + \else + \def\texte{Activit\'e} + \fi + \def\couleur{orange} + }{} + \IfStrEq{\cmdPAS@env@style}{meth} + {% + \ifPAS@env@pluriel + \def\texte{M\'ethodes} + \else + \def\texte{M\'ethode} + \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 sep=10pt,fill=\couleur!10,path fading=east] + \else + \tikzstyle{noeud} = [rectangle,inner sep=10pt,fill=\couleur!10] + \fi + \itemclass{\couleur} + \begin{lrbox}{\pas@box} + \begin{minipage}{0.93\linewidth} +} +{ + \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 + \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}}; + \fi\fi + \else + \ifPAS@env@notitle\else + \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}}; + \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}}; + \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 + \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}}; + \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}{0.93\linewidth} +} + +%%%%%%%%%% définition du titre + +\define@cmdkey [PAS] {chap} {num}{} +\define@cmdkey [PAS] {chap} {color}{} +\define@cmdkey [PAS] {chap} {pos}{} +\define@boolkey[PAS] {chap} {noclearpage}[true]{} +\presetkeys [PAS] {chap} {num = , + color = red, + pos = right, + noclearpage = false}{} + +\newcommand*{\chap}[1][]{\pasChap[#1]} + +\def\pasChap[#1]#2#3{ + \setkeys[PAS]{chap}{#1} + \ifPAS@chap@noclearpage\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] + \edef\PASx{-\textwidth} + \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] + \edef\PASx{\textwidth} + \def\PASpos{box.north east} + \def\PAStrait{box.east} + \def\PASsstitre{box.south east} + \def\PAStitrealign{flushleft} + } + \noindent + \begin{tikzpicture} + \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) {\begin{Large}\textcolor{white}{\begin{ant} \textbf{\cmdPAS@chap@num} \end{ant}}\end{Large}}; + \node[pastitrepos] at (\PASpos) {\begin{minipage}{\textwidth}\begin{\PAStitrealign} \begin{Large}\textcolor{\cmdPAS@chap@color}{ \begin{ant} #2 \end{ant}}\end{Large} \end{\PAStitrealign} \end{minipage}}; + \shade[pastrait] (\PAStrait) rectangle +(\PASx,-0.01); + \node[passstitre] at (\PASsstitre) {\begin{ant}#3\end{ant}}; + \end{tikzpicture} +} + +%%%%%%%%%%%% Définition d'un mot + +\newcommand{\definmot}[1]{\texttt{\textbf{\textcolor{defi}{#1}}}} + +% Itemclass + +\newcommand{\itemclass}[1] % #1 = couleur +{ + \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*.}} +} +\itemclass{black}{} + +%%%%%%%%%%%% Pour le sommaire + +\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} +\newenvironment{prerequis} +{% + \begin{lrbox}{\prerequisBox} + \begin{minipage}{0.9\linewidth} + \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} +} +{% +\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} + +\newenvironment{attention}[1][1] +{% +\def\sc{#1} +\begin{lrbox}{\imageBox} +\includegraphics[scale=\sc]{attention.png} +\end{lrbox} +\settowidth{\largeurimageBox}{\usebox{\imageBox}}% +\begin{lrbox}{\attentionBox} +\begin{minipage}{\dimexpr\linewidth-\largeurimageBox-1em} +} +{% +\end{minipage} +\end{lrbox} +\begin{tikzpicture} +\node[below right,rounded corners,very thick,draw=red!60!black] (box) {\usebox{\attentionBox}}; +\node[below left] at ($(box.north west)+(0,0.8em)$) {\includegraphics[scale=\sc]{attention.png}}; +\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ément \thebonus : #1 +\endgroup +\vspace*{1em} +} +\newcommand*\bonus@nostar[1]{% +\stepcounter{bonus} +\newpage +\phantomsection +\addcontentsline{toc}{section}{Complément \thebonus : #1} +\begingroup +\fontfamily{phv}\fontseries{bx}\fontsize{16}{14}\selectfont +\color{blue!40!black}Complément \thebonus : #1 +\endgroup +\vspace*{1em} +} |