\ProvidesPackage{macros_M31}
% ------------- encodage
\usepackage{iftex}
\ifPDFTeX % PDFLaTeX
  \usepackage[utf8]{inputenc}
  \usepackage[T1]{fontenc}
  \usepackage{textcomp} % pour utiliser certains caractères
  \usepackage{lmodern}
\else % LuaLaTeX & XeLaTeX
  \usepackage{fontspec}
\fi% ------------- Page
\usepackage[top=21mm,left=23mm,right=21mm,nohead]{geometry}
% pour espacer un peut le texte
\parskip=1mm
\parindent=0mm
\renewcommand{\baselinestretch}{1.3}
\setlength{\abovedisplayskip}{2pt plus 4pt}
\setlength{\belowdisplayskip}{3pt plus 4pt}
\setlength{\abovedisplayshortskip}{1pt plus 4pt}
\setlength{\belowdisplayshortskip}{2pt plus 4pt}
% ------------- Les standards
\usepackage{mathtools,amssymb,bm,amsthm}
\usepackage[french]{babel}
\usepackage[babel=true]{csquotes}
\frenchspacing
\usepackage{xfrac}
% ------------- Pour ajuster les enumerate
\usepackage[shortlabels]{enumitem}
% compatibilite enumitem - franch babel (d'après la doc de 28 septembre 2014, p.14)
\newlength\mylabelwidth
\newcommand*{\mylabel}{\textemdash} % ou \textendash (tiret plus court)
\settowidth{\mylabelwidth}{\mylabel}
\setlist[itemize]{label=\mylabel, nosep}
\setlist[1]{labelindent=\parindent}
\setlist{labelwidth=\mylabelwidth,
        itemsep=0.4ex plus 0.2ex minus 0.2ex,
        parsep=0.4ex plus 0.2ex minus 0.2ex,
        topsep=0.8ex plus 0.4ex minus 0.4ex,
        partopsep=0.4ex plus 0.2ex minus 0.2ex,
        leftmargin=!}
% mon changement perso
\setlist{leftmargin=7mm}
% ------------- TikZ pour les dessins
\usepackage{tikz}
\usetikzlibrary{calc,through,intersections,arrows,shapes.symbols,shapes.arrows,backgrounds,decorations.pathreplacing,decorations.pathmorphing,decorations.markings,svg.path}
% ------------- Pour prevenir les coupures des pages au mauvaise endroits
\usepackage{needspace}
% ------------- Pour des questions sur plusieurs colones
\usepackage{multicol}

%       Macros
% ---------------------

% sections
\renewcommand{\section}[1]{\needspace{8\baselineskip}\vspace{4mm}\hfill
            \tikz{\draw (0,0) node[align=center, text width=11cm, black,rounded corners,fill=black!1, draw=black,inner sep=2.1mm]{\textsf{\large #1}};}
            \hfill\vspace{3mm}}

% Les exercices
\newcounter{numeroexo}
\setcounter{numeroexo}{0}
\def\exoimg{\tikz[overlay]{\NoAutoSpacing;\draw[red, opacity=0.7] (-0.1,0.4) -- (-0.1,-2.1) (-0.4,-0.1) -- (2.1,-0.1);}}

\newlength{\afterexo}\setlength{\afterexo}{3mm plus 4mm}
\newenvironment{exercice}[1]
   {\needspace{4\baselineskip}\vspace{1mm}\par\refstepcounter{numeroexo}\hspace*{-1mm}\noindent{\exoimg\bfseries\sffamily #1 \arabic{numeroexo}}}
   {\par\vspace{\afterexo}}

\newenvironment{exo}{\setcounter{equation}{0}\begin{exercice}{Exercice} \normalfont}{\end{exercice}}

% les questions
\renewcommand{\theenumi}{\alph{enumi}}
\renewcommand{\labelenumi}{\bf\theenumi)}
\renewcommand{\theenumii}{\roman{enumii}}
\renewcommand{\labelenumii}{(\theenumii)}

\newenvironment{questions}{\begin{enumerate}}{\end{enumerate}}
\newenvironment{examples}{\begin{enumerate}}{\end{enumerate}}
\newenvironment{examplescol}[1]
    {\vspace{-4mm}\begin{multicols}{#1}\begin{enumerate}}
    {\end{enumerate}\end{multicols}}

% exo difficile
\newcommand{\hard}{\hspace{-.7mm}\raisebox{.7ex}{${}^{\star}$}\hspace{.7mm}}

% convention
\newcommand{\unindentlist}{\advance\leftskip-4cm}
\newenvironment{convention}{\vspace{-.7\parskip}\par\noindent\em\ignorespaces}{\vspace{.3\parskip}}

% indication
\newenvironment{indication}{\noindent\em Indication:}{}

%  -------------- Les abréviations standards

\def\R{\mathbb{R}}
\def\C{\mathbb{C}}
\def\Z{\mathbb{Z}}
\def\Q{\mathbb{Q}}
\def\N{\mathbb{N}}
\def\K{\mathbb{K}}

\def\F{\mathcal{F}}
\def\Sym{\mathcal{S}}
\def\A{\mathcal{A}}
\def\M{\mathcal{M}}
\def\P{\mathcal{P}}

\DeclareMathOperator{\Ker}{Ker}
\let\Im\relax\DeclareMathOperator{\Im}{Im}
\newcommand*{\Id}{\mathrm{Id}}
\DeclareMathOperator{\Det}{Det}
\DeclareMathOperator{\Tr}{Tr}

% ---- pour les vecteurs ----
\RequirePackage[e]{esvect}

% ---- haut de la page ------
\newcommand{\hautdepage}[1]{
\thispagestyle{empty}
\clearpage
\textsc{Licence 2\textsuperscript{ème} année, parcours Mathématiques} \hfill \textsc{\large 2016-2017}\\
\textsc{\large M31, Algèbre linéaire}

\rule[0.5ex]{\textwidth}{0.1mm}
\vskip 3mm
\begin{center}
    {\sc{\Large #1}}
\end{center}
\rule[0.5ex]{\textwidth}{0.1mm}
}


% ---- pas de numéros des pages ------
\pagestyle{empty}
