\ifx\decalspecial\oui\else\def\decalhautpoly{-6mm}\fi
\newcount\poly\poly=0

%\def\hautpoly{\ifnum\poly=1 \vglue-5mm
%\line{\hskip\decalhautpoly\twelverm{Universit\'e Henri Poincar\'e--Nancy 1}\hfill}
%\line{\hskip-6mm\twelverm{\niveau\ \anscol}\hfill}
%\line{\hskip-6mm\twelverm\titrepoly\hfill}
%\vskip3mm 
%\else {} \fi}

\long\def\hautpoly{\ifnum\poly=1 
\vglue-5mm
{\parindent=0mm\leftskip\decalhautpoly \twelverm
\obeylines
Universit\'e de Lorraine\PAR
Facult\'e des sciences et technologies\par 
\niveau\ \anscol\PAR
\titrepoly\PAR
\ifx\polyc\oui\else\auteur\fi\PAR}
\vskip3mm 
\else {} \fi
}
\def\auteur{G\'erald Tenenbaum}

\def\titcourgauche{}    % initialisation

\def\titcourspec{\auteurcourant=\titcourgauche \titrecourant=\titcourgauche}

\def\chgtpage{\ifodd\pageno \else
\pageblanche \fi \pagetitretrue\paras=0\sparas=0\titreun=0\footnotenumber=0}

\def\majnombres{%\ifodd\pageno \else \pageblanche \fi
\pagetitretrue\hautpoly\paras=0\sparas=0\titreun=0\footnotenumber=0}

\def\sujetsuivant{\vfill\eject\pagetitretrue\init{\eqnumber}\paras=0\sparas=0\titreun=0\footnotenumber=0}

%% Liste d'exercices

%\def\polyc{oui}

\def\initpage{\footnotenumber=0}
\def\hautexos#1{\pagetitretrue\initpage\poly=1 \hautpoly  \def\titcourgauche{{\nineit#1}} \titcourspec
                     {\parindent=0pt\raggedcenter\pretolerance=10000\tit#1\par}\bigskip\medskip}

\def\hautexosa#1#2{\def\titcourgauche{{\nineit#1}}\titcourspec \ifx\exopoly\oui
        \hautexos{#1}
         \writetocentry{chapter}{#1}
          \else\vfill\eject \hautexos{#1~(#2)}\def\titcourgauche{{\nineit#1}} \titcourspec
           \fi}

\def\hautexosb#1#2{\initpage \ifx\exopoly\oui {}
                      \else\vfill\eject\hautexos{#1~(#2)}
                       \def\titcourgauche{{\nineit#1}}\titcourspec\fi}


\def\hautexosc#1{\def\titcourgauche{{\nineit#1}}\titcourspec \ifx\exopoly\oui
        \hautexos{#1}
         \writetocentry{chapter}{#1}
          \else\vfill\eject \hautexos{#1}\def\titcourgauche{{\nineit#1}} \titcourspec
           \fi}

\def\hautexosd#1{\initpage \ifx\exopoly\oui {}
                      \else\vfill\eject\hautexos{#1}
                       \def\titcourgauche{{\nineit#1}}\titcourspec\fi}

\def\hautexose#1{\pagetitretrue\initpage\poly=1 \hautpoly   \def\titcourgauche{{\nineit \auteurcourant}}\titrecourant={\nineit#1}\writetocentry{chapter}{#1}{\parindent=0pt\raggedcenter\pretolerance=10000\tit#1\par}\bigskip\medskip}

%% Sujets d'examen

\def\probsynth{\writetocentry{chapter}{Probl\`emes de synth\`ese}\auteurcourant={\nineit Probl\`emes de
synth\`ese}}
\def\sujetdexam{\writetocentry{chapter}{Sujets d'examens}\auteurcourant={\nineit Sujets d'examen}
     \titrecourant=\auteurcourant}
\def\debindex{\writetocentry{chapter}{Index}\auteurcourant={\nineit Index}}

%% chapitres

\def\newchapter#1#2{\vfill\eject\majnombres\def\numchapi{#1}
\def\titcourgauche{{\ninepoint #1\ \it#2}} % titre courant gauche
\auteurcourant=\titcourgauche
\centerline{\chiffre #1}
\vskip 5mm
{\parindent=0pt\raggedcenter\pretolerance=10000\tit #2
\normalbaselineskip25pt\normalbaselines\par}
\vskip 10mm
\writetocentry{chapter}{Chapitre #1. #2}}

 \long\def\propdeux#1#2#3#4{
       \avance{\enonce}
       \leavevmode\edef\temp{#2}%
         \ifx\temp\empty 
          \else
           \definexref{#2}{#1~{\the\titreun.\the\enonce}}{enonces}
             \definexref{s#2}{{\the\titreun.\the\enonce}}{enonces}
              \definexref{ch#2}{#1~{\numchapi.\the\titreun.\the\enonce}}{enonces}
               \fi
\medbreak
      \noindent{\bf#1\ {\bf\the\titreun.\the\enonce{#3}.}\enspace}{\sl#4\par}%
      \ifdim\lastskip<\medskipamount \removelastskip\penalty55\medskip\fi
   }

%
% chapitres a titres longs

\def\newchapterl#1#2#3{\newchapter{#1}{#2 #3}}  % compatibilit\'e anciens documents

\def\newtitremark{}  % initialisation

\def\shortmark #1{\mark{#1\noexpand\else #1}
                    \def\newtitremark{#1}}

\newtoks\titreparag 
\long\def\paraun#1{\titreparag={#1}%
      \removelastskip\par\bigskip\bigskip\goodbreak\vskip0pt plus.01\vsize\penalty-100
                \vskip0pt plus-.01\vsize
  	              \init{\titredeux}\init{\eqnumber}\init{\enonce}
                  \goodbreak
                   \avance\titreun
                   \mark{\par\newtitremark\noexpand\else{\neufhauts{\the\titreun}\
\hit\the\titreparag}}
\titrecourant={\iftrue\botmark\fi}
\shortmark{{\neufhauts{\the\titreun}\ \hit\the\titreparag}}
{\fontetitreun\Indentation{\the\titreun.}{\ #1}}\nobreak\medskip
\writetocentry{section}{#1}}


% permet de placer une \ref dans
% un titre de paragraphe:
% \paraun{label}{Preuve du \ref{montheoreme}}

\long\def\paraunc#1{\titreparag={#1}%
      \removelastskip\par\bigskip\bigskip\goodbreak\vskip0pt plus.01\vsize\penalty-100
                \vskip0pt plus-.01\vsize
  	              \init{\titredeux}\init{\eqnumber}\init{\enonce}
                  \goodbreak
                   \avance\titreun
{\parindent0mm\raggedcenter\fontetitreun{\the\titreun}.\ 
                     \fontetitreun #1\par}\nobreak\medskip
                   \mark{\par\newtitremark\noexpand\else{{\neufhauts{\the\titreun}\ \hit\the\titreparag}}}
\titrecourant={\iftrue\botmark\fi}
\shortmark{{\neufhauts{\the\titreun}\ \hit\the\titreparag}}
\writetocentry{section}{#1}}


%%%
%%% Pour changer le titre courant droit
%%%
\def\titrecourantspecial#1{\mark{\par\newtitremark\noexpand\else{#1}}
       \titrecourant={\iftrue\botmark\fi}
         %\headline={\ifodd\pageno\rightheadline \else\leftheadline\fi}
          \shortmark{#1}}
           \def\shortmark #1{\mark{#1\noexpand\else #1}
                      \def\newtitremark{#1}}

\long\def\section#1#2{\ifnum\optionparag=1\paraun{#2}
                       \else{\goodbreak\fontetitreun\Indentation{\S\ {#1.}\ }{#2}}\fi\smallskip}

% Pour memoriser le no de section d'un titre de paragraphe avec numero de chapitre
\def\drefun#1{\definexref{prg#1}{{\the\titreun}}{} 
\definexref{chprg#1}{{\numchapi.\the\titreun}}{}} 
\def\drefdeux#1{\definexref{prg#1}{{\the\titreun}.{\the\titredeux}}{}
\definexref{chprg#1}{{\numchapi.{\the\titreun}.{\the\titredeux}}}{}}
% Dans le cas de \drefun, coder \paraun{Titre}\drefun{label} dans le cas de \drefdeux, on peut coder
%                                \paradeux{Sous-titre\drefdeux{label}}
% pour appeler la reference "label", taper \refn{chprglabel}

% pour m�moriser le num�ro de chapitre des �quations

\ifx\polyc\oui\def\cheqdef#1{\eqdefn[\numchapi{$\cdot$}\eqrefn{#1}]{ch#1}}
\fi

% numerotation exercices
% L'argument est la reference du numero de l'exercice.
\newcount\numexo\numexo=0
\def\avnumexo#1{\global\advance\numexo by 1
 \leavevmode
  \edef\temp{#1}%
  \ifx\temp\empty 
\else 
\definexref{exo-#1}{{\the\numexo}}{exos}
\definexref{#1}{{\the\numexo}}{exos}
\fi
\goodbreak\par\noi\bf{\the\numexo}.\rm}


%
% table des matieres 
%
\def\paradeuxtbm#1{\paradeux{#1}\writetocentry{subsection}{#1}}

\newcount\paras\paras=0
\newcount\sparas\sparas=0
\newcount\ssparas\ssparas=0

\long\def\cesure#1#2{\setbox10=\hbox{#1}
  	                         \ifdim\wd10 < 4mm\setbox10=\hbox to 4mm{\box10\hfill}
                       \else\ifdim\wd10 < 6mm\setbox10=\hbox to 6mm{\box10\hfill}
  	                    \else\ifdim\wd10 < 8mm\setbox10=\hbox to 8mm{\box10\hfill}
                       \else\ifdim\wd10 <12mm\setbox10=\hbox to 12mm{\box10\hfill}
                       \fi\fi\fi\fi
                       \dimen10=\hsize
                       \advance\dimen10 by -\wd10 
                       \noindent\box10%\ignorespaces
                       \hbox{\vtop{\hsize=\dimen10\rightskip=0pt plus 30em\noindent#2\par}}}

\def\tocchapterentry#1#2{\goodbreak\bigskip\init{\paras}\cesure{\hskip6mm}{\hskip-3mm\twelvebf #1
\dotfill\rm#2}\bigskip\par}%
\def\tocsectionentry#1#2{\medskip\init{\sparas}\avance\paras 
     \cesure{\qquad  \bf\the\paras\quad }{\hskip-2mm\bf #1\dotfill~\rm#2}\smallskip\par}%
\def\tocsubsectionentry#1#2{\avance\sparas
     \cesure{\quad \qquad\tenti\the\paras.\the\sparas\quad }{\hskip-2mm\tenti#1\dotfill~\rm#2}\par}%


%%% et une version pour sous-titres

\def\sectspe#1{\mark{\par\newtitremark\noexpand\else{{\neufhauts\hit#1}}}
                  \goodbreak\centerline{\tit #1}\bigskip%
\titrecourant={\iftrue\botmark\fi}
\shortmark{{\neufhauts\hit#1}}}
\def\shortmark#1{\mark{#1\noexpand\else #1}
                    \def\newtitremark{#1}}


%%%%% et sous-titres longs

\def\sectspel#1#2{\mark{\par\newtitremark\noexpand\else{{\neufhauts\hit#1 #2}}}
                  \goodbreak\centerline{\tit#1}\medskip\centerline{\tit#2}\bigskip%
\titrecourant={\iftrue\botmark\fi}
\shortmark{{\neufhauts\hit#1 #2}}}
\def\shortmark #1{\mark{#1\noexpand\else #1}
                    \def\newtitremark{#1}}

\def\cesuretoc{\ifx\liretoc\oui \goodbreak\fi}
% Pour les hauts de page en neuf points

%\newfam\hautsfam\textfont\hautsfam=\ninerm       % Inutile : les fontes de texte 
%\def\hauts{\fam\hautsfam\ninerm}                 % sont a indiquer directement et les
%\newfam\hautsitfam\textfont\hautsitfam=\nineit   % fontes des formules math sont gerees par
%\def\hautsit{\fam\hautsitfam\nineit}             % par les \textfont, \scriptfont, etc
%\def\hauts{\ninerm}
\def\hit{\nineit}

 \def\neufhauts{%
 \ninerm\textfont0=\ninerm\scriptfont0=\sixrm\scriptscriptfont0=\fiverm
 \textfont1=\ninei\scriptfont1=\sixi\scriptscriptfont1=\fivei
 \textfont2=\ninesy\scriptfont2=\sixsy\scriptscriptfont2=\fivesy
 \textfont3=\nineex
 \textfont\itfam=\nineit
 \textfont\slfam=\ninesl
 \textfont\bbfam=\ninebb
 \textfont\scalnfam=\ninescaln
 \textfont\ttfam=\ninett
 }

\def\hit{\nineit}                   % compatibilit\'e anciens documents
\def\bookhead{\titcourgauche}   

% diffusion
\def\etud{etudiants}
\def\profs{profs}

\long\def\omis#1\qed{\ifx\diffusion\etud \nid Voir cours oral. \qed \else 
#1\ifx\coursoral\oui\leftnote{\vskip-.5mm\hskip12mm${\hbox{${\txt *\atop \txt *}$}\atop{\atop \txt
*}}$}\fi\qed\fi}
\long\def\omissup#1\PAR{\ifx\diffusion\etud \par \else #1\ifx\coursoral\oui\leftnote{\vskip-.5mm\hskip12mm${\hbox{${\txt *\atop \txt *}$}\atop{\atop \txt
*}}$}\fi\fi}
\long\def\enplus#1\par{\ifx\diffusion\profs \par \else #1\par\fi}
\def\inputprofs#1{\ifx\diffusion\profs \vfill\eject \input#1 \else {}\fi}
\long\def\sol#1\qed{\ifx\choixsol\oui \medskip\noi{\tenti Solution.} #1\qed \else\par\fi}

\long\def\bareme#1{\ifnum\poly=1\else#1\fi}