From 5b833d056e2e4ed1e49fb09b7df7dfc54c0abf22 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 12 Jan 2006 23:54:15 +0000 Subject: directory git-svn-id: svn://tug.org/texlive/trunk@828 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/latex/directory/directory.sty | 352 +++++++++++++++++++++ 1 file changed, 352 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/directory/directory.sty (limited to 'Master/texmf-dist/tex/latex/directory') diff --git a/Master/texmf-dist/tex/latex/directory/directory.sty b/Master/texmf-dist/tex/latex/directory/directory.sty new file mode 100644 index 00000000000..6b68c45cd24 --- /dev/null +++ b/Master/texmf-dist/tex/latex/directory/directory.sty @@ -0,0 +1,352 @@ +%% directory.sty +%% Copyright 1999-2000 Christophe Geuzaine +% +% Last Mod by Christophe on Sun Aug 27 21:04:41 2000 +% +% This program can be redistributed and/or modified under the terms +% of the LaTeX Project Public License distributed from CTAN +% archives in directory macros/latex/base/lppl.txt; either +% version 1 of the License, or (at your option) any later version. +% +% LaTeX style file `directory.sty' +% +% For use in conjunction with 'address.bst', 'phone.bst', +% 'email.bst', 'birthday.bst', 'letter.bst' +% +% Christophe.Geuzaine@advalvas.be +% +\newif\if@splitversion\@splitversionfalse +\newif\if@breakversion\@breakversionfalse +% +\DeclareOption{split}{\@splitversiontrue} +\DeclareOption{break}{\@breakversiontrue} +% +\ProcessOptions* +% +\RequirePackage{url} +\newdimen\dirindent +\newdimen\dirsep +\newdimen\dirparindent +% +% ------------------------------------------------------------ +% C U S T O M I Z A T I O N C O M M A N D S +% ------------------------------------------------------------ +% +\setlength{\dirindent} {3em} +\setlength{\dirparindent} {0em} +\setlength{\dirsep} {3ex} +\newcommand{\dirand} {and} +\newcommand{\dirsymbol} {} +\newcommand{\dirbirthday} {$\star$~} +\newcommand{\dirprivate} {\emph{p}~} +\newcommand{\dirresidence} {\emph{r}~} +\newcommand{\dirwork} {\emph{w}~} +\newcommand{\dirnote} {$\triangleright$~} +\newcommand{\dirnickname} {} +\newcommand{\diraddress} {} + \newcommand{\dirpaddress} {\diraddress} + \newcommand{\dirraddress} {\diraddress} + \newcommand{\dirwaddress} {\diraddress} +\newcommand{\dirphone} {phn: } + \newcommand{\dirpphone} {\dirphone} + \newcommand{\dirrphone} {\dirphone} + \newcommand{\dirwphone} {\dirphone} +\newcommand{\dircellular} {gsm: } + \newcommand{\dirpcellular} {\dircellular} + \newcommand{\dirrcellular} {\dircellular} + \newcommand{\dirwcellular} {\dircellular} +\newcommand{\dirfax} {fax: } + \newcommand{\dirpfax} {\dirfax} + \newcommand{\dirrfax} {\dirfax} + \newcommand{\dirwfax} {\dirfax} +\newcommand{\diremail} {} + \newcommand{\dirpemail} {\diremail} + \newcommand{\dirremail} {\diremail} + \newcommand{\dirwemail} {\diremail} +\newcommand{\dirurl} {} + \newcommand{\dirpurl} {\dirurl} + \newcommand{\dirrurl} {\dirurl} + \newcommand{\dirwurl} {\dirurl} +\newcommand{\diraccount} {acc: } + \newcommand{\dirpaccount} {\diraccount} + \newcommand{\dirraccount} {\diraccount} + \newcommand{\dirwaccount} {\diraccount} +\newcommand{\dirtitle} {} +\newcommand{\dirname} {} +\newcommand{\Dirlabel}[1] {\textbf{#1}} +\newcommand{\Dirheader}[1] {\newpage\markboth{\MakeUppercase{#1}}{\MakeUppercase{#1}}} +\newcommand{\Dirbirthday}[2] {{\number#1}/{\number#2}} +\newcommand{\Dirbirthyear}[1] {/{#1}} +\newcommand{\DirbirthyearAlone}[1]{{#1}} +\newcommand{\Dirnickname}[1] {(aka {#1})} +\newcommand{\Diraddress}[1] {{#1}} + \newcommand{\Dirpaddress}[1] {\Diraddress{#1}} + \newcommand{\Dirraddress}[1] {\Diraddress{#1}} + \newcommand{\Dirwaddress}[1] {\Diraddress{#1}} +\newcommand{\Dirphone}[1] {{#1}} + \newcommand{\Dirpphone}[1] {\Dirphone{#1}} + \newcommand{\Dirrphone}[1] {\Dirphone{#1}} + \newcommand{\Dirwphone}[1] {\Dirphone{#1}} +\newcommand{\Dircellular}[1] {{#1}} + \newcommand{\Dirpcellular}[1] {\Dircellular{#1}} + \newcommand{\Dirrcellular}[1] {\Dircellular{#1}} + \newcommand{\Dirwcellular}[1] {\Dircellular{#1}} +\newcommand{\Dirfax}[1] {{#1}} + \newcommand{\Dirpfax}[1] {\Dirfax{#1}} + \newcommand{\Dirrfax}[1] {\Dirfax{#1}} + \newcommand{\Dirwfax}[1] {\Dirfax{#1}} +\newcommand{\Diremail}[1] {\url{#1}} + \newcommand{\Dirpemail}[1] {\Diremail{#1}} + \newcommand{\Dirremail}[1] {\Diremail{#1}} + \newcommand{\Dirwemail}[1] {\Diremail{#1}} +\newcommand{\Dirurl}[1] {\url{#1}} + \newcommand{\Dirpurl}[1] {\Dirurl{#1}} + \newcommand{\Dirrurl}[1] {\Dirurl{#1}} + \newcommand{\Dirwurl}[1] {\Dirurl{#1}} +\newcommand{\Diraccount}[1] {\url{#1}} + \newcommand{\Dirpaccount}[1] {\Diraccount{#1}} + \newcommand{\Dirraccount}[1] {\Diraccount{#1}} + \newcommand{\Dirwaccount}[1] {\Diraccount{#1}} +\newcommand{\Dirtitle}[1] {{#1}} +\newcommand{\Dirname}[1] {{#1}} +\newcommand{\Dirnote}[1] {{#1}} +% +% ------------------------------------------------------------ +% D I R E C T O R Y +% ------------------------------------------------------------ +% +\def\dirbegin{\string\begin{tabular}{@{}l@{}}} +\def\dirnext{\string\\} +\def\dirbreak{\dirnext} %% this will be redefined for phonebooks and addressbooks +\def\dirend{\string\end{tabular}} +% +% \diritem +% +\def\diritem{\@ifnextchar[\@diritem\@ldiritem} +\def\@diritem[#1]#2{% + \item\hspace{-\dirindent}\@dirlabel{#1}% + \if@filesw + {\let\protect\noexpand% + \immediate + \write\@auxout{\string\bibcite{#2}{#1}}} + \fi + \ignorespaces} +\def\@ldiritem#1#2{% + \if@filesw + {\let\protect\noexpand% + \immediate + \write\@auxout{\string\bibcite{#2}{#1}}} + \fi + \ignorespaces} +% +% \directory +% +\newcommand*\directory[2][bbl]{% + \if@filesw + \immediate\write\@auxout{\string\bibdata{#2}}% + \fi + \@input@{\jobname.#1}} +% +% \directorystyle +% +\def\directorystyle#1{% + \ifx\@begindocumenthook\@undefined\else + \expandafter\AtBeginDocument + \fi + {\if@filesw + \immediate\write\@auxout{\string\bibstyle{#1}}% + \fi}} +% +% \@dirlabel +% +\def\@dirlabel#1{\Dirlabel{#1}} +% +% \dir +% +\def\dir{\@ifnextchar [{\@tempswatrue\@directorycitex}% + {\@tempswafalse\@directorycitex[]}} +\def\@directorycitex[#1]#2{% + \let\@citea\@empty + \@directorycite{\@for\@citeb:=#2\do + {\@citea\def\@citea{,\penalty\@m\ }% + \edef\@citeb{\expandafter\@firstofone\@citeb}% + \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi + \@ifundefined{b@d.\@citeb}{\mbox{\reset@font\bfseries ?}% + \G@refundefinedtrue\@latex@warning + {Directory citation `#2' on page \thepage \space undefined}}% +% {\hbox{\csname b@d.\@citeb\endcsname}}}}{#1}} + {{\let\nobreakspace\space\csname b@d.\@citeb\endcsname}}}}{#1}} +% +% \pdir +% +\def\pdir{\@ifnextchar [{\@tempswatrue\@pdirectorycitex}% + {\@tempswafalse\@pdirectorycitex[]}} +\def\@pdirectorycitex[#1]#2{% + \let\@citea\@empty + \@directorycite{\@for\@citeb:=#2\do + {\@citea\def\@citea{,\penalty\@m\ }% + \edef\@citeb{\expandafter\@firstofone\@citeb}% + \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi + \@ifundefined{b@p.\@citeb}{\mbox{\reset@font\bfseries ?}% + \G@refundefinedtrue\@latex@warning + {Private part of directory citation `#2' on page \thepage \space undefined% + (probably other directory style than 'letter.bst')}}% + {\hbox{\csname b@p.\@citeb\endcsname}}}}{#1}} +% +% \rdir +% +\def\rdir{\@ifnextchar [{\@tempswatrue\@rdirectorycitex}% + {\@tempswafalse\@rdirectorycitex[]}} +\def\@rdirectorycitex[#1]#2{% + \let\@citea\@empty + \@directorycite{\@for\@citeb:=#2\do + {\@citea\def\@citea{,\penalty\@m\ }% + \edef\@citeb{\expandafter\@firstofone\@citeb}% + \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi + \@ifundefined{b@r.\@citeb}{\mbox{\reset@font\bfseries ?}% + \G@refundefinedtrue\@latex@warning + {Residence part of directory citation `#2' on page \thepage \space undefined% + (probably other directory style than 'letter.bst')}}% + {\hbox{\csname b@r.\@citeb\endcsname}}}}{#1}} +% +% \wdir +% +\def\wdir{\@ifnextchar [{\@tempswatrue\@wdirectorycitex}% + {\@tempswafalse\@wdirectorycitex[]}} +\def\@wdirectorycitex[#1]#2{% + \let\@citea\@empty + \@directorycite{\@for\@citeb:=#2\do + {\@citea\def\@citea{,\penalty\@m\ }% + \edef\@citeb{\expandafter\@firstofone\@citeb}% + \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi + \@ifundefined{b@w.\@citeb}{\mbox{\reset@font\bfseries ?}% + \G@refundefinedtrue\@latex@warning + {Work part of directory citation `#2' on page \thepage \space undefined% + (probably other directory style than 'letter.bst')}}% + {\hbox{\csname b@w.\@citeb\endcsname}}}}{#1}} +% +% \nodir +% +\def\nodir#1{\@bsphack + \@for\@citeb:=#1\do{% + \edef\@citeb{\expandafter\@firstofone\@citeb}% + \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi + \@ifundefined{b@\@citeb}{\G@refundefinedtrue + \@latex@warning{Citation `\@citeb' undefined}}{}}% + \@esphack} +\expandafter\let\csname b@*\endcsname\@empty +% +% \@directorycite +% +\def\@directorycite#1#2{\Dirlabel{#1}\dirsymbol} +% +% ------------------------------------------------------------ +% T H E P H O N E B O O K +% ------------------------------------------------------------ +% +\def\thephonebook{ + \list{}{\partopsep 2ex + \parsep 0pt + \labelsep 0ex + \listparindent\dirparindent + \labelwidth\dirindent + \leftmargin\dirindent + \itemsep\dirsep} + \def\dirblock{\space} + \def\dirgroup{\space} + \def\direndgroup{} + \def\dirbreak{\relax\noparindent} + \def\dirbirf{\dirbirthday} + \def\dirprif{\dirprivate} + \def\dirresf{\dirresidence} + \def\dirworf{\dirwork} + \def\dirnotf{\dirnote} +} +\def\endthephonebook{\endlist} +% +% ------------------------------------------------------------ +% T H E A D D R E S S B O O K +% ------------------------------------------------------------ +% +\def\theaddressbook{ + \list{}{\partopsep 2ex + \parsep 0pt + \labelsep 0ex + \listparindent\dirparindent + \labelwidth\dirindent + \leftmargin\dirindent + \itemsep\dirsep} + \if@breakversion + \def\dirblock{\par} + \def\dirbreak{\par\noindent} + \def\dirgroup{} + \def\direndgroup{} + \else + \def\dirblock{\par\nopagebreak} + \def\dirbreak{\par\nopagebreak\noindent} + \def\dirgroup{\begingroup\samepage} + \def\direndgroup{\endgroup} + \fi + \def\dirbirf{\leavevmode\llap\dirbirthday} + \def\dirprif{\leavevmode\llap\dirprivate} + \def\dirresf{\leavevmode\llap\dirresidence} + \def\dirworf{\leavevmode\llap\dirwork} + \def\dirnotf{\leavevmode\llap\dirnote} +} +\def\endtheaddressbook{\endlist} +% +% ------------------------------------------------------------ +% sectionning according to first letter in field +% ------------------------------------------------------------ +% +\if@splitversion + \def\dirlastletter{-} + \def\dircheck#1{% + \if#1\dirlastletter% + \else\def\dirlastletter{#1}\Dirheader{#1}% + \fi} +\else + \def\dircheck#1{} +\fi +% +% ------------------------------------------------------------ +% define remaining bbl file commands +% ------------------------------------------------------------ +% +\def\dirandf{\dirand} +\def\dirnica#1{\dirnickname\Dirnickname{#1}} +\def\dirbira#1#2{\Dirbirthday{#1}{#2}} +\def\dirbiya#1{\Dirbirthyear{#1}} +\def\dirbyra#1{\DirbirthyearAlone{#1}} +\def\dirnota#1{\Dirnote{#1}} +\def\diradda#1{\diraddress\Diraddress{#1}} + \def\dirpadda#1{\dirpaddress\Dirpaddress{#1}} + \def\dirradda#1{\dirraddress\Dirraddress{#1}} + \def\dirwadda#1{\dirwaddress\Dirwaddress{#1}} +\def\dirphoa#1{\dirphone\Dirphone{#1}} + \def\dirpphoa#1{\dirpphone\Dirpphone{#1}} + \def\dirrphoa#1{\dirrphone\Dirrphone{#1}} + \def\dirwphoa#1{\dirwphone\Dirwphone{#1}} +\def\dircela#1{\dircellular\Dircellular{#1}} + \def\dirpcela#1{\dirpcellular\Dirpcellular{#1}} + \def\dirrcela#1{\dirrcellular\Dirrcellular{#1}} + \def\dirwcela#1{\dirwcellular\Dirwcellular{#1}} +\def\dirfaxa#1{\dirfax\Dirfax{#1}} + \def\dirpfaxa#1{\dirpfax\Dirpfax{#1}} + \def\dirrfaxa#1{\dirrfax\Dirrfax{#1}} + \def\dirwfaxa#1{\dirwfax\Dirwfax{#1}} +\def\diremaa#1{\diremail\Diremail{#1}} + \def\dirpemaa#1{\dirpemail\Dirpemail{#1}} + \def\dirremaa#1{\dirremail\Dirremail{#1}} + \def\dirwemaa#1{\dirwemail\Dirwemail{#1}} +\def\dirurla#1{\dirurl\Dirurl{#1}} + \def\dirpurla#1{\dirpurl\Dirpurl{#1}} + \def\dirrurla#1{\dirrurl\Dirrurl{#1}} + \def\dirwurla#1{\dirwurl\Dirwurl{#1}} +\def\diracca#1{\diraccount\Diraccount{#1}} + \def\dirpacca#1{\dirpaccount\Dirpaccount{#1}} + \def\dirracca#1{\dirraccount\Dirraccount{#1}} + \def\dirwacca#1{\dirwaccount\Dirwaccount{#1}} +\def\dirtita#1{\dirtitle\Dirtitle{#1}} +\def\dirnama#1{\dirname\Dirname{#1}} +% -- cgit v1.2.3