%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%% TRUCS COMPLIQUÉS %%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%% TODO :
% - itemize avec titre souligné / joli (subparagraph ?)




%%%%%% Titre de feuille/DS/DM || environnement vide %%%%%%
 \newcommand{\LeTitre}[2]{%
 \title{}\date{}\author{}
 \maketitle
 \vspace{-4.5cm}
   \begin{center}%
     \fbox{ %
       \large%
       {#1} : {#2}%
     }%
   \end{center}\medskip}

 %%% idée d'inter-titre global ?
 % \newcommand{\LeTitre}[1][2]{
 %   \begin{center}
 %     \rule[0.5ex]{90mm}{1mm}\\ 
 %     \large
 %     \bf #1
 %     \\\rule[0.5ex]{90mm}{1mm}
 %   \end{center}}

 %%% pour virer les titres : version 1
 %\newcommand{\LeTitre}[1][2]{}
 %%% pour virer les titres : version 2
 %\usepackage{noprint} %% Paquet Fanfa
 %\newcommand{\LeTitre}[1][2]{\begin{noPrint} #1#2\end{noPrint}}



%%%%%% Deux colonnes avec tabular %%%%%%
 \newenvironment{DeuxCol}[2]
     {\noindent%
      \begin{tabular}[t]{@{\hspace{0pt}}p{{#1}\linewidth}p{{#2}\linewidth}@{\hspace{0pt}}}}  
     {\end{tabular}}

 \newenvironment{DeuxColSep}[2]
     {\noindent%
      \begin{tabular}[t]{@{\hspace{0pt}}p{{#1}\linewidth}|p{{#2}\textwidth}@{\hspace{0pt}}}}
     {\end{tabular}}
 % Usage : \begin{DeuxCol}{.2}{.8} blabla & blo \end{DeuxCol}


%%%%%% Changement de hauteur des lignes d'un tableau %%%%%%
 \newenvironment{HauTab}[1]{%
   \bgroup%
   \renewcommand{\arraystretch}{#1}}{%
   \egroup}
 % Usage : \begin{HauTab}{1.4} \end{HauTab}


%%%%%% Compteurs (enumerate et variantes persos): %%%%%%
 %% Nouveau : nunumerate
 \newcounter{nunumi}
 \newcommand{\itemnu}{\stepcounter{nunumi}\textbf{\thenunumi) }}
 \newcounter{nunuumi}
 \newcommand{\itemnuu}{\stepcounter{nunuumi}\textbf{\alph{nunuumi}) }}
 \newcounter{nunuuumi}
 \newcommand{\itemnuuu}{\stepcounter{nunuumi}\textbf{\roman{nunuumi}) }}
 %% Anciens : style dans enumerate
 \renewcommand{\labelenumi}{\textbf{\theenumi)}}
 \renewcommand{\labelenumii}{\textbf{\theenumii)}}
 \renewcommand{\labelenumiii}{\textbf{\theenumiii)}}
 


%%% pseudo-Enumerate dans un tabular
\newenvironment{nunumerate}[3]
            {\center
              \renewcommand{\arraystretch}{#3}
                \tabularx{#1\linewidth}{*{#2}{X}l}%
                  \setcounter{nunumi}{0}\setcounter{nunuumi}{0}}
            {\endtabularx
              \renewcommand{\arraystretch}{1}
             \endcenter}
%%% Usage : 
%% \begin{nunumerate}{proportion de \linewidth}{nombre de colonnes-1}{arraystretch} 
%%  \itemnu bla & \itemnu blo \\
%%  \itemnu bla & \itemnu blo
%% \end{nunumerate}


%%%%%% itemize bullet <-- plus propre ? %%%%%%
 \newenvironment{itemiz}{\renewcommand \labelitemi{$\bullet$}\begin{itemize}}{\end{itemize}}
 % \newenvironment{doubleincl}{\renewcommand \labelitemi{$\bullet$}\begin{itemize}}{\end{itemize}}

%%%%%% Style « indication » %%%%%%
 \def\indic#1{\underline{Indication} : \emph{#1}}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%% /TRUCS COMPLIQUÉS %%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%% RACCOURCIS %%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
%%%%%% Ensembles de nombres %%%%%%
 \def\C{\mathbb{C}}
 \def\E{\mathbb{E}}  % Probas
 \def\K{\mathbb{K}}
 \def\N{\mathbb{N}}
 \def\P{\mathbb{P}}  % Probas
 \def\Q{\mathbb{Q}}
 \def\R{\mathbb{R}}
 \def\U{\mathbb{U}}
 \def\V{\mathbb{V}}  % Probas
 \def\Z{\mathbb{Z}}
 \def\k{{\bf k}}
\newcommand{\ZZ}[1][\ensuremath{n}]{\ensuremath{\Z/#1\Z}}
    % \ZZ[n] --> Z/nZ
    % \ZZ[2] --> Z/2Z
    % \ZZ    --> Z/nZ


 %% fonctions à deux paramètres : produit scalaire, intervalles
   \newcommand{\ps}[2]{\langle #1, #2 \rangle}
   \newcommand{\inte}[2]{\left\llbracket #1, #2\right\rrbracket}
   \newcommand{\intoo}[2]{\left] #1, #2\right[}

%%%%%% Algèbre linéaire
 %% vecteurs & co
 \def\vect#1{\overrightarrow{#1}}
 \newcommand{\vecti}{\ensuremath{\vect{\imath}}}
 \newcommand{\vectj}{\ensuremath{\vect{\jmath}}}
 \newcommand{\vectk}{\ensuremath{\vect{k}}}
 \newcommand{\vcol}[1]{\ensuremath{\begin{pmatrix}#1\end{pmatrix}}}
 \newcommand{\norme}[1]{\ensuremath{\Arrowvert #1 \Arrowvert}}
 \newcommand{\normei}[1]{\ensuremath{\Arrowvert #1 \Arrowvert}_\infty}
\makeatletter
\newcommand{\normet}{\@ifstar\@opnorms\@opnorm}
\newcommand{\@opnorms}[1]{%
  \left|\mkern-1.5mu\left|\mkern-1.5mu\left|
   #1
  \right|\mkern-1.5mu\right|\mkern-1.5mu\right|
}
\newcommand{\@opnorm}[2][]{%
  \mathopen{#1|\mkern-1.5mu#1|\mkern-1.5mu#1|}
  #2
  \mathclose{#1|\mkern-1.5mu#1|\mkern-1.5mu#1|}
}
\makeatother
% \newcommand{\normet}[1]{\ensuremath{\Arrowvert\arrowvert #1 \arrowvert\Arrowvert}}
 %% sous-ensemble de M_n
%\newcommand{\gS}{\ensuremath{\mathfrak{S}}} 
\newcommand{\gGL}{\ensuremath{\mathfrak{GL}}}        
 \def\cGL{\mathcal{GL}}% Ou \gGL, mais je préfère mathscr
 %% Ker, Im, spectre, Mat, etc...
 \DeclareMathOperator{\Ker}{Ker\,}
 \renewcommand{\ker}{\Ker}					% Synonyme
 \DeclareMathOperator{\im}{Im\,}
 \DeclareMathOperator{\coker}{Coker\,}
 \DeclareMathOperator{\mat}{Mat\,}
 \DeclareMathOperator{\cov}{Cov\,}
 \DeclareMathOperator{\diag}{diag\,}
\newcommand{\trans}[1]{#1^{\top}}

 \DeclareMathOperator{\val}{val\,}	% valuation d'un polynôme. 
 \DeclareMathOperator{\Vect}{Vect\,}	% Ne pas confondre avec \vect
 \DeclareMathOperator{\rg}{rg\,}		% Le rang
 \DeclareMathOperator{\tr}{Tr\,}		% La trace
 \DeclareMathOperator{\Sp}{Sp\,}		% Le spectre
 \DeclareMathOperator{\spectre}{sp\,}
 \DeclareMathOperator{\card}{Card\,}		% Le card
 \DeclareMathOperator{\id}{id\,}		% identité
 \DeclareMathOperator{\grad}{\vect{\rm grad}\,}	% gradient
 \DeclareMathOperator{\ad}{ad\,}	        % Ad
 \DeclareMathOperator{\Hom}{Hom\,}	        % Hom(omorphismes)

 %\newcommand{\Ouv}{\ensuremath{(O,\vect{u},\vect{v})}}
 %\newcommand{\Oij}{\ensuremath{(O,\vecti,\vectj)}}
 %\newcommand{\Oijk}{\ensuremath{(O,\vecti,\vectj,\vectk)}} [à virer]

%%%%%% Les droites et courbes %%%%%%
 \def\cA{\mathscr{A}} % Aire
 \def\cB{\mathscr{B}} % boule \cB_n
 \def\cC{\mathscr{C}} % \cC_f
 \def\cD{\mathscr{D}} % \cD_f
 \def\cE{\mathscr{E}} % 
 \def\cF{\mathscr{F}} % fcts continues
 \def\cG{\mathscr{G}} % groupe engendré (DS1_2011)
 \def\cI{\mathscr{I}} % Idéaux
 \def\cL{\mathscr{L}} % u \in \cL(E,F)
 \def\cM{\mathscr{M}} % M \in \cM(\R)
 \def\cN{\mathscr{N}} % Matrices nilpotentes
 \def\cO{\mathscr{O}} % Hum...
 \def\cP{\mathscr{P}}
 \def\cQ{\mathscr{Q}}
 \def\cR{\mathscr{R}}
 \def\cS{\mathscr{S}}
 \def\cT{\mathscr{T}}
 \def\cU{\mathscr{U}}
 \def\cV{\mathscr{V}} % Volume
%%%%%% Lettres mathcal %%%%%%
\def\mcA{\mathcal{A}} % matrices antisymétriques
\def\mcB{\mathcal{B}} %  
\def\mcC{\mathcal{C}} % Cône, 
\def\mcD{\mathcal{D}} % D_f
\def\mcL{\mathcal{L}} % transformée de Laplace
\def\mcP{\mathcal{P}} % 
\def\mcS{\mathcal{S}} % matrices symétriques
\def\mcT{\mathcal{T}} % Plan tangent ?
\def\mcV{\mathcal{V}} % Plan tangent ?
%%%%%% Lettres gothiques %%%%%%
\def\mkP{\mathfrak{P}} % 


%%%%%% Lettres grecques %%%%%%
 \newcommand{\eps}{\varepsilon}

%%%%%% Abréviations / texte %%%%%%
%% Rédaction générale
\def\ssi{si et seulement si}
\def\cad{c'est-\`a-dire}
\def\Cad{C'est-\`a-dire}
\def\ie{{\em i.e.}}
\def\cns{condition nécessaire et suffisante}
\def\cnss{conditions nécessaires et suffisantes}
\def\cf{{\em cf. }}
%% Analyse
\def\IPP{intégration par parties}
\def\ipp{intégration par parties}
\def\Ipp{Intégration par parties}
\def\ipps{intégrations par parties}
\def\dse{développable en série entière}
\def\dses{développables en série entière}
\def\dtse{développement en série entière}
%% Algèbre linéaire
\def\sev{sous-espace vectoriel}
\def\sevs{sous-espaces vectoriels}
\def\seps{sous-espaces propres}
\def\sep{sous-espace propre}
\def\bon{base orthonorm\'ee}
%% Probas
\def\vad{variable aléatoire discrète}
\def\Vad{Variable aléatoire discrète}
\def\vads{variables aléatoires discrètes}
\def\Vads{Variables aléatoires discrètes}
\def\sce{système complet d'événements}
\def\Sce{Système complet d'événements}
\def\fpt{formule des probabilités totales}
\def\Fpt{Formule des probabilités totales}
%% Topologie
\def\evn{espace vectoriel normé}
 %% Pour placer une conjonction entre deux termes dans une formule centrée.
 \newcommand{\qouq}{\quad\text{ou}\quad\null}
 \newcommand{\qqouqq}{\qquad\text{ou}\qquad\null}
 \newcommand{\qetq}{\quad\text{et}\quad\null}
 \newcommand{\qqetqq}{\qquad\text{et}\qquad\null}
 \newcommand{\qcarq}{\quad\text{car}\quad\null}
 \newcommand{\qqcarqq}{\qquad\text{car}\qquad\null}
 \newcommand{\qavecq}{\quad\text{avec}\quad\null}
 \newcommand{\qqavecqq}{\qquad\text{avec}\qquad\null}
 \newcommand{\qpuisq}{\quad\text{puis}\quad\null}
 \newcommand{\qqpuisqq}{\qquad\text{puis}\qquad\null}
 \newcommand{\qssiq}{\quad\Longleftrightarrow\quad\null}
 \newcommand{\qqssiqq}{\qquad\Longleftrightarrow\qquad\null}

%%%%%% Changement de style de différents symboles et lettres %%%%%%
 \renewcommand{\phi}{\varphi}
 \renewcommand{\leq}{\ensuremath{\leqslant}}
 \renewcommand{\geq}{\ensuremath{\geqslant}}
 \newcommand{\ronde}[1]{\ensuremath{\mathring{#1}}} % pour faire des intérieurs
 \newcommand{\Rez}{\ensuremath{\mathop{\mathrm{Re}\,}\nolimits}} % nombres complexes
 \newcommand{\Imz}{\ensuremath{\mathop{\mathrm{Im}\,}\nolimits}} % nombres complexes



%%%%%% Fonctions %%%%%%
 %% Fonction.
   \newcommand{\fonction}[5]{%
        \ensuremath{#1\colon
        \left\{\hskip -1.5 mm
        \begin{array}{c@{\ }c@{\ }l}
        \medskip #2 & \longrightarrow & #3 \\
        #4 & \longmapsto & #5 \\
        \end{array}
        \right .
        }}
   % Exemple: $ \fonction{f}{ \R }{ \Z }{ x }{ \partieentiere{x} } $
 %% Barres verticales (valeur absolue, det, ...) de bonne taille.
   \newcommand{\abs}[1]{\left|{#1}\right|}
   \newcommand{\set}[1]{\left\{ #1 \right\}}
   \newcommand{\floor}[1]{\left\lfloor #1 \right\rfloor}  % Partie entière

 %% Éléments différentiels
   \newcommand{\dd}{\ensuremath{\mathrm{d}}}
   \newcommand{\dt}{\ensuremath{\:\dd t}}
   \newcommand{\ds}{\ensuremath{\:\dd s}}
   \newcommand{\dx}{\ensuremath{\:\dd x}}
   \newcommand{\dy}{\ensuremath{\:\dd y}}
   \newcommand{\dz}{\ensuremath{\:\dd z}}
   \newcommand{\du}{\ensuremath{\:\dd u}}
   \newcommand{\dv}{\ensuremath{\:\dd v}}
   \newcommand{\dr}{\ensuremath{\:\dd r}}
   \newcommand{\dS}{\ensuremath{\,\dd\!\vect{S}}}	% Élément de surface
   \newcommand{\dl}{\ensuremath{\,\dd\!\vect{\ell}}}	% Élément de longueur
   \newcommand{\dtheta}{\ensuremath{\:\dd \theta}}
   \newcommand{\dphi}{\ensuremath{\:\dd \varphi}}
   \newcommand{\dtau}{\ensuremath{\:\dd \tau}}
   \newcommand{\dV}{\ensuremath{\:\dd V}}

 %% La fonction indicatrice.
   \newcommand{\indicatrice}{\ensuremath{\mathds{1}}}
 %% Petito et Grando
   \newcommand{\petito}{\ensuremath{{\text{o}}}}
   \newcommand{\grando}{\ensuremath{{\text{O}}}}
 %% Les chapeaux et les tildes doivent avoir une bonne taille pour être bien
 %% visibles et éviter ainsi les confusions.
   \renewcommand{\hat}[1]{\ensuremath{\widehat{#1}}}
   \renewcommand{\tilde}[1]{\ensuremath{\widetilde{#1}}}
% Fonctions trigonomÃ©trique et rÃ©ciproques
\DeclareMathOperator{\sh}{sh\,}
\DeclareMathOperator{\ch}{ch\,}
\renewcommand{\sinh}{\sh}					% Synonyme
\renewcommand{\cosh}{\ch}					% Synonyme
\renewcommand{\th}{\ensuremath{\mathop{\rm th\,}\nolimits}}
\renewcommand{\coth}{\ensuremath{\mathop{\rm coth\,}\nolimits}}
%
\DeclareMathOperator{\argsh}{Argsh\,}
\DeclareMathOperator{\argch}{Argch\,}
\DeclareMathOperator{\argth}{Argth\,}
\DeclareMathOperator{\argcoth}{Argcoth\,}
\newcommand{\Argsh}{\argsh}					% Synonyme
\newcommand{\Argch}{\argch}					% Synonyme
\newcommand{\Argth}{\argth}					% Synonyme
\newcommand{\Argcoth}{\argcoth}					% Synonyme
%
\DeclareMathOperator{\cotan}{cotan\,}
\renewcommand{\arcsin}{\ensuremath{\mathop{\rm Arcsin\,}\nolimits}}
\renewcommand{\arccos}{\ensuremath{\mathop{\rm Arccos\,}\nolimits}}
\renewcommand{\arctan}{\ensuremath{\mathop{\rm Arctan\,}\nolimits}}
\DeclareMathOperator{\arccot}{Arccot\,}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%% /RACCOURCIS %%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%% Spécifique Corrections %%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%% Le barème
 \def\bareme#1{\hfill {$\color{blue} (#1\,\mathrm{pts})$}}

%%% Encadrer les résultats
% Encadrer + centrer (à perfectionner)
\newenvironment{cfb}
            {\smallskip \center%
              \fbox}
            {%
             \endcenter\medskip}
%Semi encadrer les résultats intermédiaires
\def\ffbox#1{\fbox{#1}}
\def\bboxed#1{\boxed{#1}}

%%%%%%%%%%%%% Piqué UPS, à lire / travailler :
%------- pour encadrer un r\'esultat -------cf L\'eger
%-- encadre ne respecte pas la ligne de base, encadrebien la respecte !
% \long\def\encadre#1{\hskip 0em\vbox{\hrule\hbox{\vrule%-- hskip pour aligner tab
% \vbox spread 6pt{\vfil\hbox spread 6pt{\hfil#1\hfil}\vfil}%
% \vrule}\hrule}}

% \long\def\Encadre#1#2{\hskip 0em\vbox{\hrule\hbox{\vrule%-- hskip pour aligner tab
% \vbox spread #2{\vfil\hbox spread #2{\hfil#1\hfil}\vfil}%
% \vrule}\hrule}}

% \long
% \def\encadrebien#1{\setbox100=\hbox{\kern3pt\relax #1\kern3pt}%
% \dimen100=\wd100%
% \dimen110=\dp100%
% \advance\dimen110 by 3pt%--- d\'ecalage pour encadrer : 3 points
% \advance\dimen100 by 0.8pt%--- Pour tenir compte de la largeur des \vrule
% \setbox101=\vbox{\hrule\hbox to \dimen100{\vrule height 3pt\hfil\vrule}}%
% \setbox102=\vtop{\hbox{\vrule depth \dimen110\hfil\box100\hfil\vrule}%
%                  \hrule width \dimen100}%
% \leavevmode\vbox{\offinterlineskip\box101\box102}}


\newcommand{\cH}{\ensuremath{\mathcal{H}}}
%\newcommand{\QQ}{\ensuremath{\mathcal{Q}}}
	% Quand \PP est déjà utilisé, ou pour une famille de polynômes...
\newcommand{\rec}[2]{\underline{\ensuremath{\mathcal{H}_{#1} \Longrightarrow%
        \mathcal{H}_{#2}}}}
	% $\rec{n}{n+1}$ <==> \underline{$\cH_{n} \Longrightarrow\cH_{n+1}$}
\newcommand{\recz}[1][0]{\underline{\ensuremath{\mathcal {H}_{#1}}}}
	% L'initialisation de la récurrence.
	% On écrit $\recz[2]$ pour partir de $n=2$.
	% Si on ne précise pas d'argument optionnel, la valeur 0 est utilisée.


%%% D\'efinition des environnements "exo" et "sol"
\newtheoremstyle{break}
  {\topsep}{\topsep}%
  {}{}%
  {\bfseries}{}%
  {\newline}{}%
\theoremstyle{break}
% \theoremstyle{break}\theorembodyfont{\rm}
% \newtheorem{exo}{\Large Exercice}
% \newtheorem{qc}[exo]{Question de cours}
%\theoremstyle{definition}
%\newtheorem{deftn}{D\'efinition} \renewcommand{\thedeftn}{\empty{}} 
\newenvironment{sol}{\noindent\textbf{Solution.}\color{gray}}{\hfill $\Box$\vspace{5mm}}


\def\inter_exo{\rule[0.5ex]{\linewidth}{0.3mm}}
%\def\inter_exo{\bigskip}

%%%%%% la correction %%%%%%

\def\rmqbla#1{{\small{\em {\color{gray} #1}}}}
\def\correction#1{{\color{violet}{\noindent\textbf{Solution.} #1}}}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%% Spécifique Exo %%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%\ThisURCornerWallPaper{0.18}{../../icones/revisions.jpg}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%% Spécifique Info  %%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\def\maple#1{{\color{red}{\bfseries \textsf{#1}}}}
%%%%%% Code Python, lrion %%%%%%
%% TODO : lire la doc de listings, recuperer la feuille de style de spyder
%% lastline / firstline

%\tcbset{coltitle=black,colframe=blue!20!white} %couleur du fond %%tcolorbox

 \definecolor{darkgreen}{cmyk}{0.7, 0, 1, 0.5}
 \definecolor{darkblue}{cmyk}{1, 0.8, 0, 0}
% \definecolor{lightblue}{cmyk}{0.05,0,0,0.05}
% \definecolor{grey}{cmyk}{0.1,0.1,0.1,1}
% \definecolor{lightgrey}{cmyk}{0,0,0,0.5}
% \definecolor{purple}{cmyk}{0.8,1,0,0}
\lstset{language=python,
        texcl=true,
        extendedchars=true,
        literate=%
    {á}{{\'a}}1
    {é}{{\'e}}1
    {è}{{\`e}}1
    {í}{{\'i}}1
    {ó}{{\'o}}1
    {ú}{{\'u}}1,
        aboveskip = 0.5ex,
        belowskip = 0.6ex,
        basicstyle=\ttfamily,
        keywordstyle=\sffamily\bfseries,
        identifierstyle=\sffamily,
        commentstyle=\slshape\color{darkgreen},
        stringstyle=\rmfamily\color{green},
        showstringspaces=false,
        tabsize=4,
        breaklines=true,
        numberstyle=\footnotesize\color{gray},	%numérotation lignes
        numbers=left,				%numérotation lignes
        classoffset=1,
        morekeywords={eyes,zeros,zeros_like,ones,ones_like,array,rand,indentity,mat,vander},
        keywordstyle=\color{darkblue},
        classoffset=2,
%        keywordstyle=\color{purple}\bfseries,
        classoffset=0,
        escapebegin={\color{darkgreen}},
%        backgroundcolor=\color{lightblue},
%        fillcolor=\color{lightblue},
        name=pythoncode,
        firstnumber=1,
        xleftmargin=0pt,
%        fillcolor=\color{white},
        frame=single,
%        fillcolor=\color{lightblue},
%        rulecolor=\color{lightgrey},
        basicstyle=\ttfamily}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%% Spécifique Python %%%%%%%%%%%%%%%% % A déplacer
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\def\Nfich#1{\mbox{{\bfseries \textsf{#1}}}} % Noms de répertoire et de fichiers
\def\touche#1{\mbox{{\bfseries \textsf{#1}}}} % CTRL et autres => keystroke


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%% Spécifique DST %%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\def\FinEpreuve{\begin{center}{\large {\bfseries  FIN DE L'\'EPREUVE}}\end{center}}
\def\FinChap{\begin{center}{\large {\bfseries  FIN DU CHAPITRE}}\end{center}}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%% Spécifique Cours %%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Niveau :
\def\nivu{$\spadesuit$}
\def\nivd{$\heartsuit$}
\def\nivt{$\diamondsuit$}
\def\nivq{$\clubsuit$}

% $\bigpumpkin$
% \item $\mathrightghost$
% \item $\mathwitch*$


%% Remarque, comme chez H&K
% \newif\ifremarque -> lourd...

% \newenvironment{remarque}
%         {\remarquetrue\bigskip\noindent\begin{filet}}   % Voir plus bas.
%         {\end{filet}\bigskip\remarquefalse}
