%Fichier de définitions mathématiques du lycée.
%
%---- Mes définitions personnelles ----
\def\rep#1{\ }
\def\les{\leqslant}
\def\ges{\geqslant}
\newcommand{\ds}[3]{\ensuremath{#1:\mathop{#2 \mapsto #3}}}
\newcommand{\dans}[5]{\ensuremath{\begin{array}{rccl}#1:&#2 &\rightarrow &#3\\
&#4&\mapsto &#5 \end{array}}}
\def\disp{\displaystyle}
\newcommand\dfr[2]{\ensuremath{\disp\frac{\disp #1}{\disp #2}}}
\newcommand\din[1]{\ensuremath{\disp\frac{1}{\disp #1}}}
\newcommand\lbr[1]{\left(#1\right)}
\newcommand\lcr[1]{\left[ #1 \right] }
\newcommand\lpr[1]{\left\{ #1 \right\}}
\def\*{\times} \def\°{\degres}
\def\ofg#1{\og #1\fg}
\def\cong2pi#1{\equiv #1\ [2\pi]\ }
\def\congpi#1{\equiv #1\ [\pi]\ }
%
%---- Pour un symbole indiquant que l'exercice est à rédiger sur l'énoncé ----
\newcommand\montrer[4]{{\usefont{#1}{#2}{#3}{#4}}}
\def\surlenonce{{\Huge\ding{45}}}
%
%---- Date et heure
%%%% debut macro %%%%
\begingroup
\count0=\time \divide\count0by60 % Hour
\count2=\count0 \multiply\count2by-60 \advance\count2by\time
% Min
\def\2#1{\ifnum#1<10 0\fi\the#1}
\xdef\dateheure{\2\day-\2\month-\the\year\space\2{\count0}:%
\2{\count2}}
\endgroup
%%%% fin macro %%%%
%
%---- Ensembles : entiers, réels, complexes,... ----
% Pour un N mathématique...
\newcommand{\N}{\ensuremath{\mathbb{N}}}
% Idem pour un N (mathématique) gras...
\newcommand{\bN}{\ensuremath{\pmb{\mathbb{N}}}}
%
% Pour un Z mathématique...
\newcommand{\Z}{\ensuremath{\mathbb{Z}}}
% Idem pour un Z (mathématique) gras...
\newcommand{\bZ}{\ensuremath{\pmb{\mathbb{Z}}}}
%
% Pour un Q mathématique...
\newcommand{\Q}{\ensuremath{\mathbb{Q}}}
% Idem pour un Q (mathématique) gras...
\newcommand{\bQ}{\ensuremath{\pmb{\mathbb{Q}}}}
%
% Pour un R mathématique...
\newcommand{\R}{\ensuremath{\mathbb{R}}}
% Idem en gras...Pour R^2, taper \R[2]...
\newcommand{\bR}[1][]{\ensuremath{\pmb{\mathbb{R}}{}^{\mathbf{#1}}}}
%
% Pour un C mathématique...
\newcommand{\C}{\ensuremath{\mathbb{C}}}
% Idem pour un C (mathématique) gras...
\newcommand{\bC}{\ensuremath{\pmb{\mathbb{C}}}}
%
% Police de maths joli calligraphie pour courbe ou cercle, plan, volume, aire, sphère, tangente, droite
\RequirePackage{mathrsfs}
\newcommand{\Ce}{\mathscr{C}}%
\newcommand{\Co}{\mathscr{C}}%
\newcommand{\Pl}{\mathscr{P}}%
\newcommand{\Vo}{\mathscr{V}}%
\newcommand{\Ai}{\mathscr{A}}%
\newcommand{\Sp}{\mathscr{S}}%
\newcommand{\Ta}{\mathscr{T}}%
\newcommand{\Dr}{\mathscr{D}}%
\newcommand{\Es}{\mathscr{E}}%
\newcommand{\Hy}{\mathscr{H}}%
%
%---- Les intervalles ----
\newcommand{\intf}[2]{\left[ #1 ; #2 \right]}
\newcommand{\into}[2]{\left] #1 ; #2 \right[}
\newcommand{\intfo}[2]{\left[ #1 ; #2 \right[}
\newcommand{\intof}[2]{\left] #1 ; #2 \right]}
%
%---- Les vecteurs ----
% Les vecteurs bipoints
\newcommand{\vect}[1]{\ensuremath{\overrightarrow{\vrule height
9pt width 0pt #1}}}
%
%Les vecteurs i, j et k
\newcommand{\vimath}{\ensuremath{\vec{\imath}}}
\newcommand{\vjmath}{\ensuremath{\vec{\jmath}}}
\newcommand{\vkmath}{\ensuremath{\vec{k}}}
\newcommand{\vnul}{\ensuremath{\vec{0}}}
%Les Repères (O,i,j) et (O,i,j,k)
\newcommand{\roij}{\ensuremath{\lbr{O,\vimath,\vjmath}}}
\newcommand{\roijk}{\ensuremath{\lbr{O,\vimath,\vjmath,\vkmath}}}
% Pour définir une norme dont la taille s'adapte à celle de
% l'expression normée...
\newcommand{\norme}[1]{\ensuremath{\left\|#1\right\|}}
%
%
%---- Le produit scalaire ---
\newcommand{\sca}[2]{\ensuremath{\vec{#1}\cdot\vec{#2}}}
\newcommand{\scal}[2]{\ensuremath{\vect{#1}\cdot\vect{#2}}}
%
%---- Les angles ----
\newcommand\angl[2]{\ensuremath{\lbr{\widehat{\vect{#1},\vect{#2}}}}}
\newcommand\psd{\ensuremath{\dfr{\pi}{2}}}
\makeatletter
\newcount\r@pport  \newdimen\r@ppord
\newcount\kslant   \newdimen\kslantd
%arc orienté
\newcommand{\arco}[1]{\setbox0\hbox{$\m@th\displaystyle#1$}\kslant=\ht0
   \divide\kslant by1000\multiply\kslant by\fontdimen1\textfont1
   \divide\kslant by10000\kslantd=\kslant\fontdimen6\textfont1
      \divide\kslantd by7750\kern\kslantd
   \r@ppord=\wd0\multiply\r@ppord by100\divide\r@ppord by\ht0
   \multiply\r@ppord by300\advance\r@ppord by\ht0
   \pspicture(0,0)
   \parabola[linewidth=.3pt]{->}(0,1.05\ht0)(.5\wd0,1.15\r@ppord)
   \endpspicture
   \kern-\kslantd\box0}
\makeatother
%arc non orienté
\makeatletter
\newcount\r@pport  \newdimen\r@ppord
\newcount\kslant   \newdimen\kslantd
\newcommand{\arc}[1]{\setbox0\hbox{$\m@th\displaystyle#1$}\kslant=\ht0
   \divide\kslant by1000\multiply\kslant by\fontdimen1\textfont1
   \divide\kslant by10000\kslantd=\kslant\fontdimen6\textfont1
      \divide\kslantd by7750\kern\kslantd
   \r@ppord=\wd0\multiply\r@ppord by100\divide\r@ppord by\ht0
   \multiply\r@ppord by300\advance\r@ppord by\ht0
   \pspicture(0,0)
   \parabola[linewidth=.3pt]{-}(0,1.05\ht0)(.5\wd0,1.15\r@ppord)
   \endpspicture
   \kern-\kslantd\box0}
\makeatother
%
\newcommand\paral{\ensuremath{~\!\slash\!\slash\!~}}
%
%---- Système ----
\newcommand\syst[1]{\left\{\! \! #1\right.}
%
%---- Limites ----
%d'une suite
\newcommand{\lims}[1]{\ensuremath{\disp\lim_{n\rightarrow +\infty}#1}}
%d'une fonction en x
\newcommand{\limi}[2]{\ensuremath{\disp\lim_{x\rightarrow #1}#2}}
%d'une fonction en x à droite et à gauche
\newcommand{\limd}[2]{\ensuremath{\disp
\lim_{\substack{x\rightarrow#1\\x>#1}}#2}}
\newcommand{\limg}[2]{\ensuremath{\disp
\lim_{\substack{x\rightarrow#1\\x<#1}}#2}}
%d'une fonction en une autre variable
\newcommand{\limit}[3]{\ensuremath{\disp\lim_{#1\rightarrow #2}#3}}
%d'une fonction en ne autre variable à droite et à gauche
\newcommand{\limitd}[3]{\ensuremath{\disp
\lim_{\substack{#1\rightarrow#2\\#1>#2}}#3}}
\newcommand{\limitg}[3]{\ensuremath{\disp
\lim_{\substack{#1\rightarrow#2\\#1<#2}}#3}}
%
%---- Combinaisons ----
\newcommand{\comb}[2]{\ensuremath{\lbr{ \substack #2 \\ #1}}}
%
%---- Graphiques ---- \graphwind{-3}{3}{-.5}{3}{\psplot[algebraic=true,plotpoints=400]{-4}{4}{abs(x^2-1)}} ou \graphcentr{\psplot{2.75}{5.45}{x 4 neg add 3 exp 2 add}}
\newcommand{\graphcentr}[1]{
\begin{pspicture*}(-4,-3)(4,3)
    \psgrid[gridwidth=.6pt,gridlabels=0pt,subgriddiv=2,
    subgridwidth=.2pt,subgridcolor=black](-4,-3)(4,3)
    \psaxes[linewidth=1.1pt]{-}(0,0)(-4,-3)(4,3)
    \psline[linewidth=1.1pt]{->}(0,0)(0,1)
    \psline[linewidth=1.1pt]{->}(0,0)(1,0)
    \uput[225](0,0){$O$}
    #1
\end{pspicture*}
}
\newcommand{\graphwind}[5]{
\begin{pspicture*}(#1,#3)(#2,#4)
    \psgrid[gridwidth=.6pt,gridlabels=0pt,subgriddiv=2,
    subgridwidth=.2pt,subgridcolor=black](#1,#3)(#2,#4)
    \psaxes[linewidth=1.1pt]{-}(0,0)(#1,#3)(#2,#4)
    \psline[linewidth=1.1pt]{->}(0,0)(0,1)
    \psline[linewidth=1.1pt]{->}(0,0)(1,0)
    \uput[225](0,0){$O$}
    #5
\end{pspicture*}
}
%
\newcommand{\graphblank}[5]{
\begin{pspicture*}(#1,#3)(#2,#4)
    \psaxes[linewidth=1.1pt]{-}(0,0)(#1,#3)(#2,#4)
    \psline[linewidth=1.1pt]{->}(0,0)(0,1)
    \psline[linewidth=1.1pt]{->}(0,0)(1,0)
    \uput[225](0,0){$O$}
    #5
\end{pspicture*}
}
%
\newcommand{\graphwindtrig}[5]{
\begin{pspicture*}(#1,#3)(#2,#4)
    \psgrid[gridwidth=.6pt,gridlabels=0pt,subgriddiv=2,
    subgridwidth=.2pt,subgridcolor=black](#1,#3)(#2,#4)
    \psaxes[xunit=1.570796327,linewidth=1.1pt,trigLabels]{-}(0,0)(#1,#3)(#2,#4)
    \psline[linewidth=1.1pt]{->}(0,0)(0,1)
    \psline[linewidth=1.1pt]{->}(0,0)(1,0)
    \uput[225](0,0){$O$}
    #5
\end{pspicture*}
}
%---- Arithmétique ---- nécessite xlop
\newcommand\AlgoEuclide[2]{%
  \opcopy{#1}{r0}
  \opcopy{#2}{r1}
  \loop
    \opidiv*{r0}{r1}{q}{r}%
    \opcmp{r}{0}
  \ifopneq
    \opidiv[style=text]{r0}{r1}\endgraf
    \opcmp{r}{0}%
    \endgraf
    \opcopy{r1}{r0}
    \opcopy{r}{r1}
  \repeat
}
\newcommand\trinome[3]{%
  \opcopy{#1}{a}
  \opcopy{#2}{b}
  \opcopy{#3}{c}
  L'equation $\opprint{a}x^2+\opprint{b}x+\opprint{c}$
  à un discriminant égal à :
  \opexpr{b^2-4*a*c}{Delta}%
  \opunzero{Delta}
  $\Delta = \opprint{Delta}$.

  \opadd*{a}{a}{aa}
  \opcmp{Delta}{0}
  \ifoplt
    Comme le discriminant est strictement négatif,
    l'équation n'a pas de solution réelle.
  \else\ifopeq
    Comme le discriminant est nul, l'équation à
    une solution réelle (double) :
    \[x=-\frac{\opprint{b}}{\opprint{aa}}\]
  \else
    Comme le discriminant est strictement positif,
    l'équation a deux solutions réelles distinctes:
    \[x=\frac{-\opprint{b} \pm \sqrt{\opprint{Delta}}}
    {\opprint{aa}}\]
  \fi\fi
}
%
%---- Espace ---- nécessite pst-3dplot
%
\newcommand\cubeO[1]{\pstThreeDBox(0,0,0)(#1,0,0)(0,#1,0)(0,0,#1)}
\newcommand\cube[2]{\pstThreeDBox#1(#2,0,0)(0,#2,0)(0,0,#2)}
\newcommand\ncubeO[9]{\pstThreeDBox(0,0,0)(#1,0,0)(0,#1,0)(0,0,#1)
\pstThreeDPut[bl](0,0,0){#5}\pstThreeDPut[br](0,#1,0){#4}\pstThreeDPut[tl](#1,0,#1){#6}
\pstThreeDPut[bl](#1,0,0){#2}\pstThreeDPut[tr](0,#1,#1){#8}\pstThreeDPut[tl](0,0,#1){#9}
\pstThreeDPut[br](#1,#1,0){#3}\pstThreeDPut[tl](#1,#1,#1){#7}}

%%%%%%
%Nouveaux environnements pour le cours=======================================
%preuve des theoremes
%\usepackage{amsthm}  %gestion des environnements de theoremes
%\newenvironment{preuve}[0]
%{\par  \nopagebreak[4] \noindent {\bf{Preuve}}
%\hrulefill \par }{\nopagebreak[4] \par \noindent \hrulefill \par \normalsize}

%\newenvironment{preuve}[0]{\def\proofname{Preuve} \noindent \begin{proof} \hfill \\ }{\end{proof}\par \normalsize}
%\renewcommand{\qedsymbol}{\textsc{c.q.f.d}}
% bool\'{e}ens=================================================================
%\newif \ifsujet \sujettrue
%\newif \ifcorrection \correctionfalse
%\newif \ifpreuve \preuvetrue
%========================================================================


%theoremes, lemmes ,etc..utilite du module amsthm
%\theoremstyle{definition}
%\newtheorem{theo}{Th\'{e}or\`{e}me } %vielle commande
%\newtheorem{theo}{Th\'{e}or\`{e}me}[section]
%\newtheorem{propo}{Proposition} %vielle commande
%\newtheorem{proposition}{Proposition}%[section]
%\newtheorem{mydef}{D\'{e}finition} %vielle commande
%\newtheorem{definition}{D\'{e}finition}
%\newtheorem*{preliminaire}{Préliminaire}
%\theoremstyle{remark}
%\newtheorem{propriete}%[proposition]
%{Propri\'{e}t\'{e}}
%\newtheorem{lemme}%[proposition]
%{Lemme}
%\newtheorem{corollaire}%[proposition]
%{Corollaire} \theoremstyle{plain}
%\newtheorem{theoreme}%[proposition]
%{Th\'{e}or\`{e}me}
%Presentation des exos======================================================
%\newcounter{exercice}
%\newcommand{\exo}[1]{%\setcounter{question}{0}
%                     \addtocounter{exercice}{1}
%                     \vspace{1em} \par \noindent
%                     \raisebox{-0.7ex}{\fcolorbox {black}{white}{\bf Exercice \arabic{exercice}  #1}}
%                     \hrulefill
%%                     \par \vspace{0.5em}
%                    }
%\newcommand{\exods}[2]{%\setcounter{question}{0}
%                     \addtocounter{exercice}{1}
%                     \vspace{1em} \par \noindent
%                     \raisebox{-0.7ex}{\fcolorbox {black}{white}{\bf Exercice %\arabic{exercice}  #1}}
%                     \hrulefill \, (\, $#2$ points \, )
%                     \par \vspace{0.5em}
%                    }
%\newcommand{\exon}{%\setcounter{question}{0} exos pour nathan
%                     \addtocounter{exercice}{1}
%                     \vspace{1em} \par \noindent
%                     \fbox { \arabic{exercice}}
%                     \hspace{0.3cm}
%                    }
%correction des exos
%\newenvironment{correction}[0]
%{\par  \nopagebreak[4] \noindent{\bf{Solution}} \hrulefill \par
%}{\par \noindent \hrulefill \par \normalsize}
