\ProvidesPackage{litcitations}

%%
%% litcitations.sty
%%
%% (c) Vincent Zoonekynd 1996
%%

%%
%% Des citations dans le style de celles des textes littéraires : 
%% en notes de bas de page et si on cite la même référence deux
%% fois de suite, le seconde est remplacée par \emph{ibid.}.
%%
%% On utilisera bibtex avec le style litcitations.bst (modification de
%% apalike.bst).
%%


\RequirePackage{ifvide}
\RequirePackage{ifthen}

% Pour mettre en mémoire un nouveau livre
\newcommand{\newcitation}[3]
{\expandafter\def\csname citation@j'existe@#1\endcsname{#2}%
 \expandafter\def\csname citation@j'ai deja ete utilisee@#1\endcsname{#2}%
 \expandafter\def\csname citation@court@#1\endcsname{#2}%
 \expandafter\def\csname citation@long@#1\endcsname{#3}}

% Pour récupérer le texte des citations
\newcommand{\citation@court}[1]
{\csname citation@court@#1\endcsname}
\newcommand{\citation@long}[1]
{\csname citation@long@#1\endcsname}

% On garde en mémoire la dernière citation
\newcommand{\derniere@citation}{}

% Vérification
\newcommand{\citation@verifie}[1]
{\@ifundefined{citation@j'existe@#1}%
  {\message{Citation #1 non définie}}%
  {}% Pas de probleme
}

% La commande utilisée pour mettre les notes où il faut
\let\citationnote\footnote

% La commande principale
\let\cite\relax
\newcommand{\cite}[2][]
{\citation@verifie{#2}%
  \citationnote{%
    \ifthenelse{\equal{#2}{\derniere@citation}}%
               {\emph{ibid\@ifnextchar.\relax.}}%
               {\@ifundefined{citation@j'ai deja ete utilisee@#2}%
                             {\citation@court{#2}}%
                             {\citation@long{#2}}%
               }%
    \ifvide{#1}{}{, #1}.
    }%
  \def\derniere@citation{#2}%
  }

