%% -*-LaTeX-*-
\def\fileversion{0.9}
\def\filedate{1997/09/23}
%%
%% \CharacterTable
%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%%   Digits        \0\1\2\3\4\5\6\7\8\9
%%   Exclamation   \!     Double quote  \"     Hash (number) \#
%%   Dollar        \$     Percent       \%     Ampersand     \&
%%   Acute accent  \'     Left paren    \(     Right paren   \)
%%   Asterisk      \*     Plus          \+     Comma         \,
%%   Minus         \-     Point         \.     Solidus       \/
%%   Colon         \:     Semicolon     \;     Less than     \<
%%   Equals        \=     Greater than  \>     Question mark \?
%%   Commercial at \@     Left bracket  \[     Backslash     \\
%%   Right bracket \]     Circumflex    \^     Underscore    \_
%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%%   Right brace   \}     Tilde         \~}
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{cjw-bbdb}
    [\filedate\space v\fileversion\space
     LaTeX2e macros for BBDB rolodex files---CJW]

\DeclareOption*{%
  \PackageWarning{cjw-bbdb}{Unknown option `\CurrentOption'}}
\ProcessOptions

\RequirePackage[auto]{cjwresize}
\RequirePackage{path}

\pagestyle{empty}

\raggedright
\tolerance=10000
\hbadness=10000
\parskip 0pt
\parindent=0pt  % was 10pt

%%%
%%% Fonts
%%%

\newcommand{\setsize}[1][\scriptsize]{%
  \let\mainsize=#1%
  \let\bigsize =\Large%
}

\newcommand{\bigbf}[1]{\textbf{\bigsize{#1}}}

\newcommand{\numcols}[1]{\gdef\@numcols{#1}}
\numcols{3}

\def\Cap #1#2@{\uppercase{#1}\lowercase{#2}}

%%%
%%% Define separator types
%%% 

\newcommand{\setseparator}[1][2]{%
  \ifcase #1	% Case 0
	\newcommand{\separator}[1]{\mark{##1}}
    \or		% Case 1
	\newcommand{\separator}[1]{\hrule\smallskip\mark{##1}}
    \or		% Case 2
	\newcommand{\separator}[1]{\hbox{\vrule\hskip -0.4pt\vbox{\hrule\smallskip
	    \centerline{\bf{##1}}\smallskip\hrule}\hskip -0.4pt\vrule
            \mark{##1}}}
    \or		% Case 3
	\newcommand{\separator}[1]{\hbox{\vrule\hskip -0.4pt\vbox{\hrule\smallskip
            \centerline{\bigbf{##1}}\smallskip\hrule}\hskip -0.4pt\vrule}
            \medskip\mark{##1}}
    \or		% Case 4
	\newcommand{\separator}[1]{\smallskip\centerline{\bigbf{##1}}
	    \medskip\mark{##1}}
    \or		% Case 5
	\newcommand{\separator}[1]{\hrule\smallskip
	    \centerline{\bigbf{##1}}\smallskip\hrule\medskip\mark{##1}}
    \or		% Case 6
	\def\cute{$\sya\syb\syc\syd$}
    	\def\revcute{$\syd\syc\syb\sya$}
    	\let\sya=\heartsuit\let\syb=\spadesuit
    	  \let\syc\diamondsuit\let\syd=\clubsuit
    	\def\cycle{\let\tmp=\sya\let\sya=\syb
                   \let\syb=\syc\let\syc=\syd\let\syd=\tmp}
	\newcommand{\separator}[1]{\smallskip
          \hbox to \hsize{\hfil\cute\hfil\bigbf{##1}\hfil\revcute\hfil}
          \cycle\medskip\mark{##1}}
    \or		% Case 7
	\def\cute{$\sya\syb\syc\syd$}
	\def\revcute{$\syd\syc\syb\sya$}
	\let\sya=\heartsuit\let\syb=\spadesuit
	\let\syc=\diamondsuit\let\syd=\clubsuit
	\def\cycle{\let\tmp=\sya\let\sya=\syb\let\syb=\syc\let\syc=\syd
               \let\syd=\tmp}
	\newcommand{\separator}[1]{\hbox{\vrule\vbox{\hrule\smallskip
            \hbox to \hsize{\hfil\cute\hfil\bigbf{##1}\hfil\revcute\hfil}
            \smallskip\hrule}\vrule}\medskip\cycle\mark{##1}}
    \else
	\newcommand{\separator}[1]{\mark{##1}}
  \fi
} % end setseparator

%%%
%%% Macros for formatting the entries.
%%%


%\def\dots{\leaders\hbox to 0.6em{\hss.\hss}}
\let\dots=\dotfill

\newcommand{\firstline}[2]{% the name and (maybe) the first phone number.
  \hyphenpenalty=10000\rightskip=0pt plus 1fil
  \noindent{\bf #1}\dotfill\penalty-1\hbox{}\dotfill{#2}\\
}

\def\name#1{\firstline{#1}{}} % for backwards compatibility

\def\comp#1{#1\\}

\def\phone#1#2{\hfill#1: \ #2\\}

\def\email#1{\smallbreak{\path+#1+}\\}

\def\address#1#2{\smallbreak#1:\\{\leftskip=0.5em\relax#2\smallbreak}}

\def\note#1#2{{\smallbreak\leftskip=2em\parindent=-1em
  \noindent\hskip-\leftskip\emph{\Cap#1@:  } #2\\ }}

\def\notes#1{\smallbreak\emph{(#1)}\\ }

\newenvironment{record}[2]%
  {\bigbreak\firstline{#1}{#2}}
  {\bigbreak}

\newenvironment{addresses}%
  {\mainsize\begin{multicols}{\@numcols}}
  {\bigskip\hrule\smallskip
   \noindent {\bf Printed \today}\vfill\end{multicols}}

\def\today{
  \number\day\space
  \ifcase\month\or Jan\or Feb\or Mar\or Apr \or May\or Jun\or
                   Jul\or Aug\or Sept\or Oct\or Nov\or Dec\fi
  \space\number\year}

%%% cjw-bbdb.tex ends here.