\documentclass{article} \usepackage{german} \title{Address guide} \author{Axel Kielhorn} \begin{document} \maketitle \section{Einleitung} Anfang 1996 kam in \texttt{comp.text.tex} die Frage nach einer Adressdatenbank auf Basis von Bib\TeX\ auf. Die einzige Antwort kam von \textsc{Gerd Neugebauer}, der 1994 ein Datenbankformat definiert hat und mit Hilfe einer \texttt{bst} und einer \texttt{tex} Datei daraus ein recht komplexes Datenbanksystem gebaut hat. Das Datenbankformat hat mir sehr gut gefallen, die Styles hatten nur einen Nachteil, sie waren nicht zu \texttt{dir.tex} bzw. \texttt{scrlettr.cls} kompatibel. \section{Ein \texttt{bib} nach \texttt{adr} Konverter} Um nicht alle Arbeiten doppelt zu machen, wollte ich das von \textsc{Frank Neukam} entwickelte \texttt{adr} Format weiterbenutzen. Also mu"sten die Informationen aus der Datenbank entsprechend aufbereitet werden. Das Sortieren der Eintr"age "ubernimmt dann Bib\TeX. Da ich mich bereits fr"uher mit Bib\TeX\ Programmierung besch"aftigt habe, war bereits nach einem Nachmittag der erste Bib\TeX\ Style fertig. Nat"urlich ohne Kommentare und Anleitung. Dementsprechend gering war auch das Interesse an den Dateien. Nachdem auch das Problem mit dem \verb+\adrchar+ gel"o"st war, kam der Wunsch nach einem Geburtstagskalender auf. Da es sehr viele verschiedene M"oglichkeiten gibt, ein Datum zu schreiben, habe ich ein zus"atzliches Feld f"ur das numerische Geburtsdatum definiert. Das l"a"st sich maschinell viel einfacher auwerten und l"a"st auch Geburtstage wie "`Vorletzter Januar"' oder "`Ostersonntag"' zu. (obwohl es bei letzterem Schwierigkeiten beim Sortieren geben d"urfte) \section{Endspurt} Im Herbst 1996 soll eine neue Version des KOMA-Script Paketes herauskommen. Markus fragte mich daher, ob ich an den Styles weitergearbeitet hatte. Ich nutzte die Gelegenheit um noch einige Erg"anzungen einzubauen und fing an, eine Anleitung zu schreiben. \section{Anwendung} Bib\TeX\ erwartet eine \texttt{aux}-Datei aus der es Informationen "uber die zu verwendende Datenbank und den gew"unschten Bibstyle herauslie"st. Im einfachsten Fall l"a"st sich so eine Datei von Hand erstellen: \begin{verbatim} \citation{*} \bibstyle{address} \bibdata{adr} \end{verbatim} \verb+\citation{*}+ w"ahlt alle Eintr"age der Datenbank aus, \verb+\bibstyle+ den gew"unschten Stil und \verb+\bibdata+ die Datenbank. Es k"onnen auch mehrere Datenbanken gleichzeitig ausgew"ahlt werden. Dadurch kann man private und berufliche Adressen in unterschiedlichen Datenbanken pflegen und bei Bedarf eine gemeinsame Adressliste erstellen. Die von Bib\TeX\ erstellte \texttt{bbl} Datei mu"s dann nur noch in \texttt{adr} umbenannt werden und schon kann sie mit \texttt{dir.tex} in ein Adressbuch umgewandelt werden. \section{Das Datenbankformat} \begin{verbatim} @address{RalfK, name = {Ralf Kielhorn}, title = {MdE}, organization = {nicht organisiert}, city = {Braunschweig}, country = {D -}, zip = 38118, street = {Stra{\ss}e des 17.~Juni 17}, phone = {0531 / 12 34 56}, fax = {0531 / 65 34 21}, net = {a.kielhorn{@}tu-bs.de}, key = {Rki}, note = {Send e-mail with subject forward to ralf}, birthday = {05.08.1969}, nbirthday = 0805, } \end{verbatim} Sowohl \texttt{address.bst} als auch \texttt{birthday.bst} benutzen den \verb+@address+ Typ, der von "`normalen"' Bibstyles nicht verwendet wird. Dadurch ist es m"oglich, Adressen in eine normale Datenbank zu integrieren. (Z.\,B. die Adresse eines Authors oder Verlages). Version 1.0 des Formates benutzt folgende Felder: \begin{description} \item[name] Der Name im normalen Bib\TeX\ Format: Vorname von Nachname \item[title] Akademischer Titel oder "ahnliches (Wird z.\,Zt. nicht unterst"uzt) \item[organization] Organisation, Firma, Gewerkschaft, Verein (Wird z.\,Zt. nicht unterst"uzt) \item[city] Stadt \item[country] Das L"anderkennzeichen (Wird z.\,Zt. nicht unterst"uzt) \item[zip] Postleitzahl (ZIP-Code ist die US Bezeichnung) \item[street] Stra"se \item[phone] Telephonnummer \item[fax] Telfaxnummer, k"onnte mit \texttt{fax.bst} zum Erstellen eines Telefaxbuches verwendet werden. (Wird z.\,Zt. nicht unterst"uzt) \item[net] E-mail adresse, Home-Page oder "ahnlich. Sollte das noch in email, homepage, bbs unterteilt werden? (Wird z.\,Zt. nicht unterst"uzt) \item[key] Das K"urzel unter dem der betreffende Name in \texttt{scrletr} aufgerufen werden kann \item[note] Notiz (Wird z.\,Zt. nicht unterst"uzt) \item[birthday] Geburtstagstext, so wie er gedruckt wird \item[nbirthday] Numerischer Geburtstag, wird zum Sortieren verwendet. Format: Monat zweistelig Tag zweistellig \end{description} \section{Disclaimer} Die angegebenen Adressen und Telephonnummern sind nat"urlich nicht echt. \end{document}