%%
%% BBlog bibliography related commands
%%

%% length used to display the bibliography
\newlength{\rw}
\setlength{\rw}{1.75cm}

%% read header
\IfFileExists{header.BBlog.tex}{\input{header.BBlog}}{}

%% cite a reference
\def\cite#1{%
\ref{cite#1}%
%% add entry to citelist after checking it has not already been added
\ifcsname if#1cited\endcsname%
\expandafter\if\csname if#1cited\endcsname%
\else%
\csname if#1citedtrue\endcsname%
\immediate\write\refout{\noexpand\BBlogcite{#1}}%
\fi%
\else%
\expandafter\newif\csname if#1cited\endcsname%
\csname if#1citedtrue\endcsname%
\immediate\write\refout{\noexpand\BBlogcite{#1}}%
\fi%
}
%% an empty definition for the aux file
\def\BBlogcite#1{}

%% an entry
\long\def\BBlogentry#1#2#3{
  \hrefanchor
  \outdef{label@cite#1}{#2}
  \parbox[t]{\rw}{[\cite{#1}]}\parbox[t]{\colw}{#3}\par
  \bigskip
}

%% display the bibliography	
\newlength{\colw}
\setlength{\colw}{\textwidth}
\addtolength{\colw}{-\rw}
\long\def\BBlography#1{
  \IfFileExists{#1.tex}{
  \input{#1}}{{\tt error: missing BBlog bibliography file}}
}
