15gj/BBlog.sty

47 lines
1.1 KiB
TeX

%%
%% 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\@auxout{\noexpand\BBlogcite{#1}}%
\fi%
\else%
\expandafter\newif\csname if#1cited\endcsname%
\csname if#1citedtrue\endcsname%
\immediate\write\@auxout{\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
\long\def\BBlography{
\newlength{\colw}
\setlength{\colw}{\textwidth}
\addtolength{\colw}{-\rw}
\IfFileExists{bibliography.BBlog.tex}{
\input{bibliography.BBlog}}{{\tt error: missing BBlog bibliography file}}
}