\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{citation}[1996/04/04 autcite LaTeX package]
\RequirePackage{ifthen}
\RequirePackage{xcolor}

%---------------------------------------------------------------------------
%
% faire une citation avec le nom de l'auteur
%
%---------------------------------------------------------------------------


%
% juste avec un nom  
%
\newsavebox{\nomcite}
\newenvironment{myquote}[1]%
{% 
\begin{list}{}{\setlength{\rightmargin}{\leftmargin}}%
\savebox{\nomcite}{\small#1.}%
\item[]\small«\ \ignorespaces}%
{\unskip~»\par\nopagebreak\hfill\usebox{\nomcite}\end{list}}

%
% avec un label bibTeX
%
\newenvironment{autcite}[1]%
{\begin{list}{}{\setlength{\rightmargin}{\leftmargin}}
    \savebox{\nomcite}{\cite{#1}}%
  \item[]\small«\ \ignorespaces}%
  {\unskip~»\par\nopagebreak\hfill\usebox{\nomcite}\end{list}}

%
% sans rien
%
\newenvironment{mycite}%
{\begin{list}{}{\setlength{\rightmargin}{\leftmargin}}
  \item[]\small«\ \ignorespaces}%
  {\unskip~»\end{list}}


%% ancienne version ======================================
\newenvironment{oldunecitation}[1][] {% 
  % Clause begin :
  % on note qu'on a un auteur pour la citation ou pas
  \ifthenelse{\equal{#1}{}}%
  {\setboolean{auteurcitation}{false}}%
  {\setboolean{auteurcitation}{true}}%
  % on commence une liste
  \begin{list}{}{\setlength{\rightmargin}{\leftmargin}}%
    % sauvegarde de l'argument %
    % pour le réutiliser dans la clause end
    \savebox{\nomcitation}{\small#1.}%
    % on commence la citation : un item vide, petit 
    % et un guillemet ouvert
    \item[]\small\slshape«\ \ignorespaces}%
  {\unskip~»% clause end
    % s'il y a un auteur on le met poussé tout à droite
    \ifthenelse{\boolean{auteurcitation}}%
    {\par\nopagebreak\hfill\usebox{\nomcitation}}{}%
  \end{list}}
%==========================================================

\newboolean{auteurcit@tionpresent}
\newsavebox{\auteurcit@tion}
\newsavebox{\boitecit@tion}
\newlength{\cit@tionwidth}
\setlength{\cit@tionwidth}{.87\linewidth}
\definecolor{coulcit@tion}{rgb}{0.90,0.90,0.90}%

\newenvironment{unecitation}[1][]{% 
  \ifthenelse{\equal{#1}{}}{%
    \setboolean{auteurcit@tionpresent}{false}}{%
    \setboolean{auteurcit@tionpresent}{true}%
    \savebox{\auteurcit@tion}{#1}}% on le sauve si nécessaire
  \begin{lrbox}{\boitecit@tion}%
    \begin{minipage}{.8\linewidth}%
      \setlength{\parindent}{10pt}%
      \small\slshape«\ignorespaces}% on passe en petit et penché
    {\unskip»
      \ifthenelse{\boolean{auteurcit@tionpresent}}%
      {\par\nopagebreak\hfill\usebox{\auteurcit@tion}}%
      {}% sinon on ne fait rien...
    \end{minipage}\end{lrbox}
  \begin{center}
    {\setlength{\fboxsep}{10pt}%
    \colorbox{coulcit@tion}{\usebox{\boitecit@tion}}}
  \end{center}}




%---------------------------------------------------------------------------
%
% faire une citation jolie en tete de chapitre
%
%---------------------------------------------------------------------------
\newenvironment{epigraphbib}[1]
{\vspace*{-1.5cm}%
  \small\sffamily%
  \newcommand{\citauteur}{#1}%
  \slshape%
  \begin{flushright}}
{\\[4pt]\upshape\iciteasnoun{\citauteur}.%
\end{flushright}\par%
\vspace*{0.6cm}}

\newsavebox{\nomepigraph}

\newlength{\epigraphetopskip}
\newlength{\epigraphebottomskip}

\setlength{\epigraphetopskip}{-1.5cm}
\setlength{\epigraphebottomskip}{0.6cm}

\newenvironment{epigraphname}[1]
{\vspace*{\epigraphetopskip}%
  \small\sffamily%
  \savebox{\nomepigraph}{#1}%
  \slshape%
  \begin{flushright}}
{\\[4pt]\usebox{\nomepigraph}.%
\end{flushright}\par%
\vspace*{\epigraphebottomskip}}

\newenvironment{epigraphe}[1]{%
  \begin{changemargin}{0pt}{-.5cm}%
    \begin{flushright}
     \begin{epigraphname}{#1}}%
    {%
      \end{epigraphname}%
    \end{flushright}%
      \end{changemargin}}



\endinput
