summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/adrconv
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/adrconv
Initial commit
Diffstat (limited to 'macros/latex/contrib/adrconv')
-rw-r--r--macros/latex/contrib/adrconv/2latex.vim14
-rw-r--r--macros/latex/contrib/adrconv/README50
-rw-r--r--macros/latex/contrib/adrconv/adrconv.dtx983
-rw-r--r--macros/latex/contrib/adrconv/adrconv.ins109
-rw-r--r--macros/latex/contrib/adrconv/adrconv.pdfbin0 -> 264469 bytes
-rw-r--r--macros/latex/contrib/adrconv/adrconv_pages08.pages/Contents/PkgInfo1
-rw-r--r--macros/latex/contrib/adrconv/adrconv_pages08.pages/QuickLook/Thumbnail.jpgbin0 -> 8182 bytes
-rw-r--r--macros/latex/contrib/adrconv/adrconv_pages08.pages/index.xml.gzbin0 -> 29471 bytes
-rw-r--r--macros/latex/contrib/adrconv/adrguide.pdfbin0 -> 380436 bytes
-rw-r--r--macros/latex/contrib/adrconv/adrguide.tex584
10 files changed, 1741 insertions, 0 deletions
diff --git a/macros/latex/contrib/adrconv/2latex.vim b/macros/latex/contrib/adrconv/2latex.vim
new file mode 100644
index 0000000000..92d8c26db0
--- /dev/null
+++ b/macros/latex/contrib/adrconv/2latex.vim
@@ -0,0 +1,14 @@
+%s/ä/"a/g
+%s/Ä/"A/g
+%s/ö/"o/g
+%s/Ö/"O/g
+%s/ü/"u/g
+%s/Ü/"U/g
+%s/ß/"s/g
+%s/é/\\'e/g
+%s/ç/\\c{c}/g
+%s/&/\\&/g
+%s/{\\\\ /{/g
+%s/{\\\\ /{/g
+
+
diff --git a/macros/latex/contrib/adrconv/README b/macros/latex/contrib/adrconv/README
new file mode 100644
index 0000000000..99ba9662a8
--- /dev/null
+++ b/macros/latex/contrib/adrconv/README
@@ -0,0 +1,50 @@
+adrconv is a collection of bibtex programs to convert an adress database
+into a tex file that is suitable for the mail merge function of scrletter.
+
+adrconv uses a simple entry format:
+
+ @address{DANTE,
+ name = {{DANTE~e.\,V.}},
+ sortas = {Dante},
+ street = {Postfach 10 18 40},
+ zip = {69008},
+ city = {Heidelberg},
+ phone = {0 62 21 / 2 97 66},
+ fax = {0 62 21 / 16 79 06},
+ email = {dante{@}dante.de},
+ url = {http://www.dante.de},
+ key = {DANTE},
+ birthday = {14. April 1989},
+ nbirthday = {0414}
+ }
+
+I addition to that it offers some tex files to generate an adress book.
+(For those of us who don´t use smart phones.)
+
+Note: The Manual is only available in german.
+
+---
+
+adrconv ist eine Sammlung von bibtex Programmen, mit denen man Einträge aus einer
+Datenbank als tex Datei formatieren kann. Diese Datei kann dann für die
+Serienbrieffunktion von scrlettter aus dem KOMA.Script Paket benutzt werden.
+
+adrconv benutzt ein einfaches Datenformat:
+
+ @address{DANTE,
+ name = {{DANTE~e.\,V.}},
+ sortas = {Dante},
+ street = {Postfach 10 18 40},
+ zip = {69008},
+ city = {Heidelberg},
+ phone = {0 62 21 / 2 97 66},
+ fax = {0 62 21 / 16 79 06},
+ email = {info{@}dante.de},
+ url = {http://www.dante.de},
+ key = {DANTE},
+ birthday = {14. April 1989},
+ nbirthday = {0414}
+ }
+
+Außerdem lassen sich Addressbücher in unterschiedlichen Formaten (A6,
+Taschenkalender) erstellen.
diff --git a/macros/latex/contrib/adrconv/adrconv.dtx b/macros/latex/contrib/adrconv/adrconv.dtx
new file mode 100644
index 0000000000..c42d578a9c
--- /dev/null
+++ b/macros/latex/contrib/adrconv/adrconv.dtx
@@ -0,0 +1,983 @@
+% \CheckSum{547}
+% \iffalse
+% ====================================================================
+%% adrguide.dtx
+%% Copyright 2006, 2010, 2018 Axel Kielhorn
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Axel Kielhorn (A.Kielhorn@web.de)
+%
+% This work consists of the files adrconv.ins, adrconv.dtx, adrguide.tex
+% and the derived file adrguide.pdf.
+%
+% Use
+% tex adrconv.ins
+% or
+% latex adrconv.ins
+% to generate the other files, which are indirect parts of the
+% bundle. Use
+% latex adrconv.dtx
+% to generate the implementation documentation. Use
+% latex adrguide.tex
+% to generate the user documentation.
+%
+% ====================================================================
+%
+%<*dtx>
+\ProvidesFile{adrconv.dtx}
+%</dtx>
+%<driver>\ProvidesFile{adrconv.drv}
+%<guide>\ProvidesFile{adrguide.tex}
+%<*tex|cfg|dir|montage>
+%<tex|cfg|dir|montage>\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
+%<tex|cfg|dir|montage>\ProvidesFile{%
+%<conv> adrconv%
+%<fax> adrfax%
+%<dir> adrdir%
+%<birthday> adrbirthday%
+%<planer> adrplaner
+%<small> adrsmall
+%<montage&erster> adrmontage1.tex
+%<montage&zweiter> adrmontage2.tex
+%<tex> .tex%
+%<dir&!cfg> .tex%
+%<cfg> .cfg%
+%<tex|cfg|dir|montage> }
+%</tex|cfg|dir|montage>
+%<*dtx|driver|guide|tex|cfg|dir>
+ [2018/01/30 v1.4 LaTeX2e
+%<*dtx>
+ adrconv docstrip file]
+%</dtx>
+%<driver> adrconv implementation documentation driver]
+%<guide> Address guide]
+%<tex> Interactive driver of BibTeX database to addressfile converter]
+%<cfg> adrconv configuration file]
+%<dir&!cfg> Interactive address directory generation]
+%</dtx|driver|guide|tex|cfg|dir>
+%<*driver>
+\documentclass{ltxdoc}
+\CodelineIndex
+\RecordChanges
+
+\newcommand*{\Class}[1]{\textsf{#1}}
+\newcommand*{\Package}[1]{\textsf{#1}}
+\newcommand*{\File}[1]{\texttt{#1}}
+
+\ifx\KOMAScipt\undefined
+ \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em%
+ M\kern.05em A\kern.1em-\kern.1em Script}}
+\fi
+
+\makeatletter
+\DeclareRobustCommand{\BibTeX}{B\kern-.05em%
+ % Der folgende Hack stammt aus der Definition des
+ % Makros \LaTeX, siehe Datei `ltlogos.dtx' der
+ % LaTeX2e-Verteilung.
+ \hbox{$\m@th$% %% force math size calculations
+ \csname S@\f@size\endcsname \fontsize\sf@size\z@
+ \math@fontsfalse\selectfont
+ I\kern-.025emB}%
+ \kern-.08em%
+ \-\TeX%
+}
+\makeatother
+
+\begin{document}
+ \DocInput{adrconv.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \GetFileInfo{adrconv.dtx}
+% \title{\BibTeX{} address database to addressfile
+% converter\footnote{This file has version number \fileversion, last
+% revised \filedate}}
+% \author{Axel Kielhorn\thanks{A.Kielhorn@web.de} \and Markus Kohm}
+% \date{\filedate}
+% \maketitle
+% \begin{abstract}
+% \Package{adrconv} is an example for converting \BibTeX{} address
+% databases to \KOMAScript{} address files. For more information see
+% the ``ADRconv Anleitung''. This is only the implementation
+% documentation.
+% \end{abstract}
+%
+% \StopEventually{\PrintIndex\PrintChanges}
+%
+% \tableofcontents
+%
+% \section{General}
+%
+% This implementation documentation is very rudimentary because it was
+% not written by Axel Kielhorn but by Markus Kohm. I've done this
+% because after two years waiting I wanted to make the break and
+% remove the old version of \Package{adrconv} from \KOMAScript.
+%
+% The use of \Package{adrconv} is described at the ``ADRconv
+% Anleitung''. You'll get the guide, running \TeX{} or \LaTeX{} in
+% \File{adrconv.ins}.
+%
+%
+% \section{The interactive drivers}
+%
+% \iffalse
+%<*tex>
+% \fi
+% Remember the files should work not only with \LaTeX{} but also with
+% Plain\TeX. So we can olny use macros, which are defined at both:
+% \LaTeX{} and Plain\TeX.
+%
+% \begin{macrocode}
+\catcode`\@=11
+\newlinechar`\^^J
+\message{%
+ Now you have to typein the name of the BibTeX addressfile, you want
+ to^^J%
+ convert to script-address-file-format (without extension
+ `.bib'):^^J%
+ Geben Sie nun den Namen der BibTeX-Adressdatei ein, die sie in
+ das^^J%
+ Script-Adressdateiformat konvertieren wollen (ohne `.bib'):^^J%
+ ^^J%
+ addressfile=%
+}
+\def\skiplastspace#1 \@e@o@l@{#1}
+\read-1 to \addressfile
+\edef\addressfile{\expandafter\skiplastspace\addressfile\@e@o@l@}
+\newwrite\auxfile
+\immediate\openout\auxfile=\addressfile.aux
+\immediate\write\auxfile{%
+ \string\citation{*}^^J%
+%<conv> \string\bibstyle{adrconv}^^J%
+%<fax> \string\bibstyle{adrfax}^^J%
+%<birthday> \string\bibstyle{adrbirthday}^^J%
+ \string\bibdata{\addressfile}%
+}
+\immediate\closeout\auxfile
+\message{%
+ After running BibTeX rename file `\addressfile.bbl' to
+ `\addressfile.adr'!^^J%
+ Nach dem BibTeX-Lauf benennen Sie bitte die Datei `\addressfile.bbl'
+ in^^J%
+ `\addressfile.adr' um!^^J%
+}
+\ifx\@@end\undefined\let\@@end\end\fi
+\@@end
+% \end{macrocode}
+% \iffalse
+%</tex>
+% \fi
+%
+%
+% \section{The interactive generator}
+%
+% \iffalse
+%<*!cfg>
+%<*dir>
+% \fi
+% \begin{macrocode}
+\documentclass[headsepline,10pt,twoside,pagesize]{scrartcl}
+% \end{macrocode}
+% Define some new commands
+% \begin{macrocode}
+\newcommand*\jj {j}
+\newcommand*\ja {ja}
+\newcommand*\y {y}
+\newcommand*\yes{yes}
+\newread\ttyin
+\newcommand*{\gobble}[1]{}
+\def\iden#1{#1}
+\def\strip#1#2 \gobble{\def #1{#2}}
+\def\defpar{\par}
+\def\Ask#1#2{%
+ \message{#2}\read\ttyin to #1\ifx#1\defpar\def#1{}\else
+ \iden{\expandafter\strip\expandafter#1#1\gobble\gobble}
+ \gobble\fi}
+% \end{macrocode}
+% \cs{ifGerman} to load \Package{german} or \Package{ngerman}.
+% \cs{RunningHead} to get the names in the header (Telephonebook
+% style). Otherwise a new page is started for each new letter (This is
+% needed for Birthday lists).
+% \begin{macrocode}
+\newif\ifGerman
+\newif\ifRunningHead
+\newif\ifEmail
+% \end{macrocode}
+% \begin{macrocode}
+\newdimen\leftfield
+\newdimen\rightfield
+\newdimen\adrindent
+\oddsidemargin -1in
+\evensidemargin -1in
+% \end{macrocode}
+% \begin{macrocode}
+\newcommand*\adrfile{}
+\newcommand*\adrtitle{}
+\typeout{^^J%
+ *** dir.tex v2.0 by Frank Neukam <01 Dec 1993>^^J%
+ *** LaTeX2e-changes by Markus Kohm 1994/10/29^^J%
+ *** ADRconv-changes by Axel Kielhorn 1999^^J%
+ *** ngerman-changes by Markus Kohm 2001^^J%
+ ^^J%
+ To create a address-directory just answer the questions:^^J%
+ ^^J}
+\Ask\answer{Use german? [y/n]^^J%
+ Mit deutscher Sprachanpassung? [j/n]}
+\ifx\jj\answer\Germantrue\else
+\ifx\ja\answer\Germantrue\else
+\ifx\y\answer\Germantrue\else
+\ifx\yes\answer\Germantrue\else
+ \Germanfalse\fi\fi\fi\fi
+\ifGerman
+ \def\germanpackage{ngerman}
+ \Ask\answer{Mit alter deutscher Rechtschreibung? [j/n]}
+ \ifx\jj\answer\def\germanpackage{german}\else
+ \ifx\ja\answer\def\germanpackage{german}\else
+ \ifx\y\answer\def\germanpackage{german}\else
+ \ifx\yes\answer\def\germanpackage{german}\fi\fi\fi\fi
+ \usepackage{\germanpackage}
+\fi
+% \end{macrocode}
+% \changes{v1.3}{2010/04/02}{Added support to print the e-mail Address in the addressbook.}
+% \begin{macrocode}
+\Ask\answer{^^JPrint email? [y/n]^^J%
+ E-Mail ausgeben? [j/n]}
+\ifx\jj\answer\Emailtrue\else
+\ifx\ja\answer\Emailtrue\else
+\ifx\y\answer\Emailtrue\else
+\ifx\yes\answer\Emailtrue\else
+ \Emailfalse\fi\fi\fi\fi
+\ifEmail
+\usepackage{url}
+\fi
+\InputIfFileExists{dir.cfg}{%
+ \typeout{Load local configuration-file.}}{%
+ \typeout{No local configuration-file found.}}
+\Ask\adrfile{^^J%
+ Name of address-file (without .adr)?^^J%
+ Name der Adressdatei (ohne .adr)?}
+\Ask\adrtitle{^^J%
+ Title of directory/list?^^J%
+ Titel des Verzeichnisses?}
+\Ask\adrformat{^^J%
+ Name of the layout^^J%
+ Layoutname?}
+\Ask\answer{^^J%
+ With running head? [y/n]^^J%
+ Namen in der Kopfzeile? [j/n]}
+\ifx\jj\answer\RunningHeadtrue\else
+\ifx\ja\answer\RunningHeadtrue\else
+\ifx\y\answer\RunningHeadtrue\else
+\ifx\yes\answer\RunningHeadtrue\else
+ \RunningHeadfalse\fi\fi\fi\fi
+% \end{macrocode}
+% \changes{v1.4}{2018/01/30}{usage of \Package{scrlayer-scrpage}}
+% Since the file uses \Class{scrartcl} it assumes that
+% \Package{scrlayer-scrpage} is available. We do not use \Package{scrpage} any
+% longer, because it is not longer part of the \KOMAScript{} bundle for more
+% than 10 years.
+% \begin{macrocode}
+\ifRunningHead
+\usepackage[manualmark,headsepline]{scrlayer-scrpage}
+\clearpairofpagestyles
+\ohead{\if@twoside\rightmark\ -- \leftmark\fi}
+\chead{\if@twoside\else\rightmark\ -- \leftmark\fi}
+\ofoot{\if@twoside\pagemark\fi}
+\cfoot{\if@twoside\else\pagemark\fi}
+\fi
+\setkomafont{pagehead}{\sffamily\bfseries}
+% \end{macrocode}
+% Loading the Layout definition.
+% If no filename is specified, adrdir will be used.
+% \begin{macrocode}
+\ifx\adrformat\empty
+ \def\adrformat{adrdir}
+\fi
+\InputIfFileExists{\adrformat.cfg}{}{%
+ \typeout{^^J%
+ *** File \adrformat.cfg not found!^^J%
+ *** Datei \adrformat.cfg nicht gefunden!^^J%
+ ^^J}
+ }
+% \end{macrocode}
+% All definitions are done, let's start with the document.
+% \begin{macrocode}
+\begin{document}
+% \end{macrocode}
+% Don't start a new page for every letter when running head is used.
+% \begin{macrocode}
+\ifRunningHead
+ \def\adrchar#1{\typeout{#1}}
+\else
+ \def\adrchar#1{\clearpage\typeout{#1}\markboth{#1}{#1}}
+\fi
+% \end{macrocode}
+% \changes{v1.4}{2018/01/30}{replaced old font command \cs{sc} by NFSS2 font
+% command}
+% \changes{v1.4}{2018/01/30}{replaced old font command \cs{sfb} by NFSS2 font
+% command}
+% \changes{v1.4}{2018/01/30}{support for \cs{addrchar} and \cs{addrentry}}
+% This command does all the formatting:
+% \begin{macrocode}
+%\adrentry
+% 1 {Nachname}
+% 2 {Vorname}
+% 3 {Strasse \\ PLZ Ort}
+% 4 {Telefon\\Mobil}
+% 5 {E-Mail} \ifEmail
+% 6 {Organisation}
+% 7 {Notiz}
+% 8 {Key}
+\def\adrentry#1#2#3#4#5#6#7#8{\hspace{\adrindent}%
+ \parbox[b]{\leftfield}
+ {\raggedright \hspace{-\adrindent}{\normalfont\scshape #1}%
+ \def\tempa{#1}\ifx \tempa\empty \else , #2\fi%
+ \def\tempa{#3}\ifx \tempa\empty \else \par #3\fi%
+ \ifEmail
+ \def\tempa{#5}\ifx \tempa\empty \else \par \url{#5}\fi%
+ \fi
+ \def\tempa{#7}\ifx \tempa\empty \else \par (#7)\fi%
+ }%
+ \hfill%
+ \parbox[b]{\rightfield}
+ {\raggedleft%
+ \def\tempa{#8}\ifx \tempa\empty \else {\scriptsize #8}\par \fi
+ {\small #4}%
+ }\par%
+ \ifRunningHead
+ \markboth{#1}{#1}
+ \fi
+}
+\def\addrentry#1#2#3#4#5#6#7#8#9{%
+ \adrentry{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#9}%
+}
+\def\addrchar{\adrchar}
+\ifx\adrfile\empty \else
+ \InputIfFileExists{\adrfile.adr}{%
+ \pagestyle{empty}
+ \null\vfil
+ \begin{center}
+ {\Large \normalfont\sffamily\bfseries \adrtitle\par}
+ \end{center}
+ \vfil\vfil\null
+% \end{macrocode}
+% Always start on a right page
+% \begin{macrocode}
+ \cleardoublepage
+ \raggedbottom
+ \pagestyle{headings}
+ }{%
+ \typeout{^^J%
+ *** File \adrfile.adr not found!^^J%
+ *** Datei \adrfile.adr nicht gefunden!^^J%
+ ^^J}
+ }
+\fi
+\end{document}
+% \end{macrocode}
+% \iffalse
+%</dir>
+%</!cfg>
+% \fi
+%
+%
+% \section{The configuration files}
+%
+% \iffalse
+%<*cfg>
+% \fi
+% \begin{macrocode}
+%<*dir>
+% \end{macrocode}
+% Configfile for A6 phone book (105\,mm $\times$ 148\,mm).
+% Original was former part of \KOMAScript{}.
+%
+% \begin{macrocode}
+\setlength{\paperwidth}{105mm}
+\setlength{\textwidth}{85mm}
+\setlength{\leftfield}{50mm}
+\setlength{\rightfield}{30mm}
+% \end{macrocode}
+% \begin{macrocode}
+\addtolength{\evensidemargin}{9mm}
+\addtolength{\oddsidemargin}{\paperwidth}
+\addtolength{\oddsidemargin}{-9mm}
+\addtolength{\oddsidemargin}{-\textwidth}
+% \end{macrocode}
+% \begin{macrocode}
+%</dir>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*planer>
+% \end{macrocode}
+% Configfile for organizers (95\,mm $\times$ 172\,mm) maybe from
+% ALDI.
+%
+% \begin{macrocode}
+\setlength{\paperwidth}{95mm}
+\setlength{\textwidth}{70mm}
+\setlength{\leftfield}{45mm}
+\setlength{\rightfield}{25mm}
+% \end{macrocode}
+% \begin{macrocode}
+\addtolength{\evensidemargin}{12mm}
+\addtolength{\oddsidemargin}{12mm}
+% \end{macrocode}
+% \begin{macrocode}
+%</planer>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*small>
+% \end{macrocode}
+% Configfile for pocket calenders (87\,mm $\times$ 148\,mm)
+% e.g. ``Sparkassenkalender''.
+%
+% \begin{macrocode}
+\setlength{\paperwidth}{87mm}
+\setlength{\textwidth}{75mm}
+\setlength{\leftfield}{45mm}
+\setlength{\rightfield}{30mm}
+% \end{macrocode}
+% \begin{macrocode}
+\addtolength{\evensidemargin}{9mm}
+\addtolength{\oddsidemargin}{\paperwidth}
+\addtolength{\oddsidemargin}{-9mm}
+\addtolength{\oddsidemargin}{-\textwidth}
+% \end{macrocode}
+% \begin{macrocode}
+%</small>
+% \end{macrocode}
+%
+% \begin{macrocode}
+\setlength{\adrindent}{1em}
+\addtolength{\leftfield}{-\adrindent}
+% \end{macrocode}
+% \begin{macrocode}
+%<*dir>
+\setlength{\paperheight}{148mm}
+\setlength{\textheight}{112mm}
+%</dir>
+%<*planer>
+\setlength{\paperheight}{172mm}
+\setlength{\textheight}{148mm}
+%</planer>
+%<*small>
+\setlength{\paperheight}{148mm}
+\setlength{\textheight}{112mm}
+%</small>
+\setlength{\headheight}{1.25\baselineskip}
+\setlength{\headsep}{0.25\baselineskip}
+\setlength{\footskip}{1.50\baselineskip}
+\setlength{\topmargin}{-1in}
+%<dir>\addtolength{\topmargin}{8mm}
+%<planer|small>\addtolength{\topmargin}{7mm}
+\setlength{\marginparwidth}{0in}
+\setlength{\marginparsep}{0in}
+\setlength{\marginparpush}{0in}
+\setlength{\parskip}{0.5\baselineskip}
+\setlength{\parindent}{0in}
+\typeout{%
+ ********************************************************************%
+ ^^J^^J%
+ DVIDVI Options:^^J%
+ Front:^^J%
+%<*dir|small>
+%<dir> 1st Step (2 x A6 at A5)^^J%
+%<small> 1st Step (2 x callenders at A5)^^J%
+ -l xx -m 4:-1,2^^J%
+ 2nd Step (2 x A5 at A4)^^J%
+ -m 2:0,1(0mm,148mm)^^J%
+%</dir|small>
+%<planer> -l 24 -m 6:0(4mm,0mm),2(99mm,0mm),4(192mm,0mm)
+ ^^J%
+ Back:^^J%
+%<*dir|small>
+ 1st Step^^J%
+ -l xx -r -m 4:-3,0^^J%
+ 2nd Step^^J%
+ -m 2:1,0(0mm,148mm)^^J%
+%</dir|small>
+%<planer> -l 24 -r -m 6:5(8mm,0mm),3(103mm,0mm),1(198mm,0mm)
+ ^^J%
+%<dir|small> xx must be the result of a multiplication with 4.^^J%
+%<small> Cut 36 mm from one side and tack in the middle.^^J%
+ ^^J%
+ ********************************************************************
+ }
+% \end{macrocode}
+% German Remark from Axel to \File{adrdir.cfg}:
+% \begin{quote}
+% Das ist die einfache Version, einfach in der Mitte durchschneiden,
+% Seiten sortieren, ineinanderstecken und heften.
+%
+% Nicht alle Tacker k\"onnen dieses Format verarbeiten, ich habe
+% lange gesucht und benutze den Novus B5, der passt ganz knapp und ist
+% noch bezahlbar. Danach kommen die Hochleistungstacker \"uber 50 DM.
+% \end{quote}
+%
+% German Remark from Axel to \File{adrplaner.cfg}:
+% \begin{quote}
+% Der Deskjet kann die letzten 14\,mm des Blattes nicht bedrucken,
+% daher wurde das ganze Layout um 4\,mm verschoben, diese m\"ussen an
+% der kurzen Kante abgeschnitten werden.
+%
+% Bei anderen Druckern kann man bei den Vorderseiten 3\,mm von der
+% x-Koordinate abziehen und bei den R\"uckseiten zuaddieren.
+% \end{quote}
+%
+% German Remark from Axel to \File{adrsmall.cfg}:
+% \begin{quote}
+% Von einer Seite m\"ussen noch 36\,mm abgeschnitten werden, dann
+% in der Mitte heften und in den Taschenkalender einstecken.
+% \end{quote}
+%
+% \iffalse
+%</cfg>
+% \fi
+%
+%
+% \section{The \BibTeX{} files}
+%
+% \iffalse
+%<*bst>
+% \fi
+%
+% These \BibTeX{} files are BibTeX-Database to \Class{scrlettr}
+% converters. They are based on BibTeX bibliography style
+% \File{address} Gerd Neugebauer has written in 1994.
+%
+% The files generated from these files may be used for
+% \Class{scrlettr}, \Class{scrlttr2}, \File{phone.tex} or
+% \File{dir.tex} from the \KOMAScript{} Package, \Class{akletter} and
+% some versions of \Class{myletter} which preceded
+% \Class{akletter}. They will even work with the \LaTeX 2.09 version
+% of \textsc{Script}.
+%
+% This is only one way to use the address database layout defined by
+% Gerd Neugebauer. Use this as an example for your own conversion
+% program.
+%
+% \changes{v1.0}{1996/01/01}{Added the key-field}
+% \changes{v1.1}{1996/01/02}{Changed \texttt{net} to \texttt{url} and
+% \texttt{email}}
+% \changes{v1.1.1}{1996/01/03}{Function address: moved
+% \texttt{\bslash\bslash} inside if condition}
+% \changes{v1.1.1}{1996/01/03}{No more warnings if street is empty
+% (reported by Jan Holl\"ander)}
+% \changes{v1.1.2}{1996/01/04}{The \emph{von} part was ignored in
+% names}
+% \changes{v1.1.3}{1996/01/04}{Support for second (mobile)
+% telephonenumber}
+% \changes{v1.2}{1999/11/01}{New release independent of KOMA-Script}
+% \changes{v1.2a}{2001/10/11}{\Package{docstrip} version}
+% \changes{v1.2b}{2002/06/23}{Documentation updated}
+% \changes{v1.2c}{2006/04/19}{Documentation updated, license information
+% updated to LPPL 1.3}
+% \changes{v1.3}{2010/04/02}{Removed \texttt{email.bst}, the email address is now
+% written to the standard \texttt{bbl} by \texttt{adrconv}.}
+% \changes{v1.3}{2010/04/02}{Renamed \texttt{birthday.bst}
+% to \texttt{adrbirthday.bst} to avoid a collision with \texttt{directory.cls}.}
+%
+% The \File{adrbirthday.bst} prints the entries with birthdays only. The
+% entries are sorted by month and inside one month by date.
+%
+% \begin{macrocode}
+ENTRY
+ { name
+ sortas
+ title
+ organization
+ city
+ zip
+ country
+ street
+ phone
+ mobile
+ fax
+ url
+ email
+ note
+ key
+ birthday
+ nbirthday
+ }
+ {}
+%<!birthday> { adr.char }
+%<birthday> { b.month }
+% \end{macrocode}
+% \begin{macrocode}
+%<!birthday>INTEGERS { cur.adr.char }
+%<birthday>STRINGS { cur.month num.index alpha.index }
+% \end{macrocode}
+% \begin{macrocode}
+FUNCTION {get.names}
+{ name empty$
+ { organization empty$
+ { "{}{}" }
+ { organization "{}" * }
+ if$
+ }
+ { "{" name #1 "{ll}" format.name$ "}" * *
+ "{" name #1 "{ff}{ vv}" format.name$ "}" * * *
+ }
+ if$
+}
+% \end{macrocode}
+% \begin{macrocode}
+FUNCTION {print.adrchr}
+%<*!birthday>
+{ adr.char chr.to.int$ cur.adr.char >
+ { newline$ "\adrchar{" adr.char "}" * * write$ newline$
+ adr.char chr.to.int$ 'cur.adr.char :=
+ }
+ 'skip$
+%</!birthday>
+%<*birthday>
+{ b.month cur.month =
+ 'skip$
+ { newline$ "\adrchar{\convdate{" b.month "}}" * * write$ newline$
+ b.month 'cur.month :=
+ }
+%</birthday>
+ if$
+}
+% \end{macrocode}
+%\iffalse
+% $% <-- we do this to correct syntax highlight.
+%\fi
+% \begin{macrocode}
+%<*!fax>
+FUNCTION{format.phone.and.mobile}
+{ phone empty$
+ {
+ mobile empty$
+ { "" }
+ { mobile }
+ if$
+ }{
+ mobile empty$
+ { phone }
+ { phone "\\" mobile * * }
+ if$
+ }
+ if$
+}
+%</!fax>
+% \end{macrocode}
+% \begin{macrocode}
+%<*fax>
+FUNCTION{format.phone.and.fax}
+{ phone empty$
+ { "" }
+ { phone }
+ if$
+ fax empty$
+ 'skip$
+ { phone empty$
+ { fax * }
+ { "\\Fax:\\" fax * * }
+ if$
+ }
+ if$
+}
+%</fax>
+% \end{macrocode}
+%\iffalse
+% $% <-- we do this to correct syntax hightlight.
+%\fi
+% \begin{macrocode}
+FUNCTION{address}
+{
+%<*birthday>
+ nbirthday empty$
+ 'skip$
+ {
+%</birthday>
+ print.adrchr
+ "\adrentry" write$
+ get.names write$ newline$
+ "{"
+ street empty$
+ { "" * }
+ { street " \\ " * *}
+ if$
+ zip empty$
+ { "" * }
+ { zip " " * *}
+ if$
+ city empty$
+ { "" * }
+ { city * }
+ if$
+ "}{" *
+%<!fax> format.phone.and.mobile
+%<fax> format.phone.and.fax
+ "}" * *
+ email empty$
+ { "{}" * }
+ { "{" email "}" * * * }
+ if$
+ organization empty$
+ { "{}" * }
+ { "{" organization "}" * * *}
+ if$
+ note empty$
+ { "{}" * }
+ { "{" note "}" * * * }
+ if$
+ "{" *
+%<*birthday>
+ birthday empty$
+ { "" }
+ { birthday }
+ if$
+ "}{" * *
+%</birthday>
+ key empty$
+ { "" }
+ { key }
+ if$
+ "}" * * write$ newline$
+%<*birthday>
+ }
+ if$
+%</birthday>
+}
+% \end{macrocode}
+% \begin{macrocode}
+FUNCTION{presort}
+%<*!birthday>
+{
+ sortas empty$
+ { name empty$
+ { organization empty$
+ { key empty$
+ { "No name, organization, or key to sort " cite$ * warning$
+ "???"
+ }
+ { key }
+ if$
+ }
+ { organization }
+ if$
+ }
+ { name #1 "{ll},{f }{v }{, j}" format.name$ }
+ if$
+ }
+ { sortas }
+%</!birthday>
+%<*birthday>
+{ nbirthday empty$
+ { "" }
+ { nbirthday }
+%</birthday>
+ if$
+ duplicate$
+ 'sort.key$ :=
+%<*!birthday>
+ #1 #1 substring$
+ 'adr.char :=
+%</!birthday>
+%<*birthday>
+ #1 #2 substring$
+ 'b.month :=
+%</birthday>
+% \end{macrocode}
+% At every but \File{adrbirthday.bst} the adr.char is the first letter of
+% the sort.key.
+% \begin{macrocode}
+}
+% \end{macrocode}
+% \begin{macrocode}
+READ
+% \end{macrocode}
+% \begin{macrocode}
+ITERATE {presort}
+% \end{macrocode}
+% \begin{macrocode}
+SORT
+% \end{macrocode}
+% \begin{macrocode}
+FUNCTION {begin.bib}
+{
+%<*birthday>
+ "\def\convdate#1{\ifcase#1 \or 1 \or 2 \or 3 \or 4 \or 5 "
+ "\or 6 \or 7 \or 8 \or 9 \or 10 \or 11 \or 12 \fi}" * 'num.index :=
+ "\def\convdate#1{\ifcase#1 \or Januar \or Februar \or "
+ " M{^^b a}rz \or April \or Mai \or Juni \or Juli "
+ "\or August \or September \or Oktober \or November \or Dezember \fi}"
+ * * 'alpha.index :=
+ alpha.index write$
+ newline$
+%</birthday>
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+%<!birthday> #0 'cur.adr.char :=
+%<birthday> "00" 'cur.month :=
+}
+%\iffalse
+% $% <-- we do this to correct syntax hightlight.
+%\fi
+% \begin{macrocode}
+EXECUTE {begin.bib}
+% \end{macrocode}
+% \begin{macrocode}
+ITERATE {call.type$}
+% \end{macrocode}
+% Print a newline and flush the write buffer
+% \begin{macrocode}
+FUNCTION {end.bib}
+{ newline$ }
+% \end{macrocode}
+% \begin{macrocode}
+EXECUTE {end.bib}
+% \end{macrocode}
+%
+% \iffalse
+%</bst>
+% \fi
+%
+%
+% \section{An example \BibTeX{} database}
+%
+% Do not believe everything you read here. It is just a
+% demonstration.
+%
+% \iffalse
+%<*bib>
+%<*example>
+% \fi
+% \begin{macrocode}
+
+@address{VornameNachname,
+ name = {Vorname Nachname},
+ street = {Strasse},
+ zip = {PLZ},
+ city = {Ort},
+ phone = {Telefon},
+ email = {E-mail@domain},
+ mobile = {Mobil},
+ birthday = {Geburtstag},
+ note = {Notiz},
+ organization = {Organisation},
+ key = {Key},
+ nbirthday = {0101},
+}
+
+@address{mustermann,
+ name = {Hans Mustermann},
+ city = {Heimstatt},
+ zip = 01234,
+ country = {D -},
+ street = {Einbahnstra{\ss}e 1},
+ phone = {01234 / 5 67 89},
+ fax = {01234 / 5 67 89},
+ email = {hm@work.com},
+ note = {Alles nur Erfindung},
+}
+@address{AxelK,
+ name = {Axel Kielhorn},
+ city = {Verden},
+ zip = 27283,
+ street = {Lange Stra{\ss}e 17},
+ phone = {04231 / 12 34 56},
+ fax = {04231 / 65 34 21},
+ email = {a.kielhorn@web.de},
+ key = {Aki},
+ note = {Author of the modified addressen.bst},
+ birthday = {16.05.1967},
+ nbirthday = 0516,
+}
+@address{RalfK,
+ name = {Ralf Kielhorn},
+ city = {Braunschweig},
+ zip = 38116,
+ street = {Gro{\ss}e Stra{\ss}e 17},
+ phone = {0531 / 12 34 56},
+ key = {Rki},
+ birthday = {05.08.1969},
+ nbirthday = 0805,
+}
+@address{SabineK,
+ name = {Sabine Kielhorn},
+ city = {Oldenburg},
+ zip = 26133,
+ street = {Fraunhoferstra{\ss}e 21},
+ phone = {0441 / 12 34 56},
+ key = {Ski},
+ birthday = {13.11.1970},
+ nbirthday = 1113,
+}
+@address{OEKZ,
+ name = {{{"O}kologisches Zentrum~e.\,V.}},
+ sortas = {Okologisches Zentrum},
+ organization = {Verband der Vereine},
+ city = {Heimstatt},
+ zip = 01234,
+ country = {Germany},
+ street = {Mauerstra{\ss}e 1},
+ phone = {01234 / 5 67 89},
+ fax = {01234 / 5 67 89},
+ email = {hm@work.com},
+ key = {OEKZ},
+}
+@address{DANTE,
+ name = {{DANTE~e.\,V.}},
+ sortas = {Dante},
+ street = {Postfach 10 18 40},
+ zip = {69008},
+ city = {Heidelberg},
+ phone = {0 62 21 / 2 97 66},
+ fax = {0 62 21 / 16 79 06},
+ email = {dante@dante.de},
+ url = {http://www.dante.de},
+ key = {DANTE},
+ birthday = {14. April 1989},
+ nbirthday = {0414}
+ }
+
+% \end{macrocode}
+%
+% \iffalse
+%</example>
+%</bib>
+% \fi
+% \changes{v1.3}{2010/04/02}{Added support for PDF workflow.}
+%<*montage>
+% \begin{macrocode}
+\documentclass{article}
+\usepackage{geometry}
+\geometry{verbose,twoside,nofoot,pdftex,%
+%<erster>a5paper, top=0mm,bottom=0mm,inner=0mm}
+%<zweiter>a4paper,top=0mm,bottom=0mm,inner=0mm}
+\usepackage{pdfpages}
+\begin{document}
+\includepdf[pages={-},
+landscape,
+nup=1x2,
+%<erster>signature=16,
+%<zweiter>signature=4,
+%<erster>noautoscale,scale=1]{adrdir.pdf}
+%<zweiter>noautoscale,scale=1]{adrmontage1.pdf}
+\end{document}
+% \end{macrocode}
+%</montage>
+%
+% \Finale
+\endinput
+%
+% end of file ``adrconv.dtx''
diff --git a/macros/latex/contrib/adrconv/adrconv.ins b/macros/latex/contrib/adrconv/adrconv.ins
new file mode 100644
index 0000000000..6b6ad1860d
--- /dev/null
+++ b/macros/latex/contrib/adrconv/adrconv.ins
@@ -0,0 +1,109 @@
+%% adrguide.ins
+%% Copyright 2006, 2010, 2018 Axel Kielhorn
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is A.Kielhorn@web.de
+%
+% This work consists of the files adrconv.ins, adrconv.dtx, adrguide.tex
+% and the derived file adrguide.pdf.
+%
+% Use
+% tex adrconv.ins
+% or
+% latex adrconv.ins
+% to generate the other files, which are indirect parts of the
+% bundle. Use
+% latex adrconv.dtx
+% to generate the implementation documentation. Use
+% latex adrguide.tex
+% to generate the user documentation.
+%
+% ------------------ start of docstrip commands ----------------------
+\def\batchfile{adrconv.ins}
+\input docstrip.tex
+
+\keepsilent
+\askforoverwritetrue
+
+\ifToplevel{\ifx\generate\undefined
+ \Msg{**********************************************}
+ \Msg{*}
+ \Msg{* This installation requires docstrip}
+ \Msg{* version 2.3c or later.}
+ \Msg{*}
+ \Msg{* An older version of docstrip has been input}
+ \Msg{*}
+ \Msg{**********************************************}
+ \errhelp{Move or rename old docstrip.tex.}
+ \errmessage{Old docstrip in input path}
+ \batchmode
+ \csname @@end\endcsname
+ \fi
+}
+
+\preamble
+Copyright 2006, 2010, 2018 Axel Kielhorn
+
+This file will generate fast loadable files from adrconv.dtx when
+run through LaTeX or TeX.
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2003/12/01 or later.
+
+This file is part of the adrconv bundle.
+
+The adrconv bundle consists at least of the files adrconv.dtx,
+adrconv.ins and adrguide.tex.
+
+\endpreamble
+
+\generate{%
+ \file{adrconv.tex}{\from{adrconv.dtx}{tex,conv}}
+ \file{adrfax.tex}{\from{adrconv.dtx}{tex,fax}}
+ \file{birthday.tex}{\from{adrconv.dtx}{tex,birthday}}
+ \file{adrdir.tex}{\from{adrconv.dtx}{dir}}% Don't set tex
+ \file{adrdir.cfg}{\from{adrconv.dtx}{cfg,dir}}
+ \file{adrplaner.cfg}{\from{adrconv.dtx}{cfg,planer}}
+ \file{adrsmall.cfg}{\from{adrconv.dtx}{cfg,small}}
+ \file{adrmontage1.tex}{\from{adrconv.dtx}{montage,erster}}
+ \file{adrmontage2.tex}{\from{adrconv.dtx}{montage,zweiter}}
+ \nopostamble
+ \file{adrfax.bst}{\from{adrconv.dtx}{bst,fax}}
+ \file{adrconv.bst}{\from{adrconv.dtx}{bst,conv}}
+ \file{adrbirthday.bst}{\from{adrconv.dtx}{bst,birthday}}
+ \file{example.bib}{\from{adrconv.dtx}{bib,example}}
+ }
+
+\ifToplevel{%
+ \Msg{**************************************************************}
+ \Msg{*}
+ \Msg{* To finish installation you have to move some files into a}
+ \Msg{* directory sourced by TeX or BibTeX.}
+ \Msg{* See documentation of your TeX distribution to find out the}
+ \Msg{* correct directory.}
+ \Msg{* All ``*.tex'' files may be somewhere.}
+ \Msg{* All ``*.cfg'' files should be near the ``*.tex'' files.}
+ \Msg{* All ``*.bst'' files should be somewhere like}
+ \Msg{* texmf/bibtex/bst.}
+ \Msg{*}
+ \Msg{* To get the documentation simply run latex at file}
+ \Msg{* ``adrguide.tex''. You will get a file ``adrguide.dvi''.}
+ \Msg{*}
+ \Msg{**************************************************************}
+ }
+
+\endinput
diff --git a/macros/latex/contrib/adrconv/adrconv.pdf b/macros/latex/contrib/adrconv/adrconv.pdf
new file mode 100644
index 0000000000..15d7a0123c
--- /dev/null
+++ b/macros/latex/contrib/adrconv/adrconv.pdf
Binary files differ
diff --git a/macros/latex/contrib/adrconv/adrconv_pages08.pages/Contents/PkgInfo b/macros/latex/contrib/adrconv/adrconv_pages08.pages/Contents/PkgInfo
new file mode 100644
index 0000000000..b0bc8e0761
--- /dev/null
+++ b/macros/latex/contrib/adrconv/adrconv_pages08.pages/Contents/PkgInfo
@@ -0,0 +1 @@
+???????? \ No newline at end of file
diff --git a/macros/latex/contrib/adrconv/adrconv_pages08.pages/QuickLook/Thumbnail.jpg b/macros/latex/contrib/adrconv/adrconv_pages08.pages/QuickLook/Thumbnail.jpg
new file mode 100644
index 0000000000..15c1cbf063
--- /dev/null
+++ b/macros/latex/contrib/adrconv/adrconv_pages08.pages/QuickLook/Thumbnail.jpg
Binary files differ
diff --git a/macros/latex/contrib/adrconv/adrconv_pages08.pages/index.xml.gz b/macros/latex/contrib/adrconv/adrconv_pages08.pages/index.xml.gz
new file mode 100644
index 0000000000..393f719dc1
--- /dev/null
+++ b/macros/latex/contrib/adrconv/adrconv_pages08.pages/index.xml.gz
Binary files differ
diff --git a/macros/latex/contrib/adrconv/adrguide.pdf b/macros/latex/contrib/adrconv/adrguide.pdf
new file mode 100644
index 0000000000..af8f064bd1
--- /dev/null
+++ b/macros/latex/contrib/adrconv/adrguide.pdf
Binary files differ
diff --git a/macros/latex/contrib/adrconv/adrguide.tex b/macros/latex/contrib/adrconv/adrguide.tex
new file mode 100644
index 0000000000..358fa745f8
--- /dev/null
+++ b/macros/latex/contrib/adrconv/adrguide.tex
@@ -0,0 +1,584 @@
+%% adrguide.tex
+%% Copyright 2006, 2010, 2018 Axel Kielhorn
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Axel Kielhorn (A.Kielhorn@web.de)
+%
+% This work consists of the files adrconv.ins, adrconv.dtx, adrguide.tex
+% and the derived file adrguide.pdf.
+%
+% Use
+% tex adrconv.ins
+% or
+% latex adrconv.ins
+% to generate the other files, which are indirect parts of the
+% bundle. Use
+% latex adrconv.dtx
+% to generate the implementation documentation. Use
+% latex adrguide.tex
+% to generate the user documentation.
+
+\documentclass{article}
+\usepackage[T1]{fontenc}
+\usepackage{lmodern}
+\usepackage{german}
+
+\newcommand*{\File}[1]{\texttt{#1}}
+\newcommand*{\Class}[1]{\textsf{#1}}
+\newcommand*{\Macro}[1]{\texttt{\textbackslash #1}}
+
+\DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em%
+ M\kern.05em A\kern.1em-\kern.1em Script}}
+
+\title{ADRconv Anleitung\\Version 1.4}
+\author{Axel Kielhorn\thanks{A.Kielhorn@web.de}}
+\date{3. M"arz 2018}
+\begin{document}
+
+\maketitle
+
+\section{Adressdatenbanken}\label{sec:adrconv.database}
+
+Wenn Sie Adressdateien zum Briefschreiben verwenden, m"ussen Sie sich selbst
+um die Ordnung in einer solchen Datei k"ummern. Falls Sie nur gelegentlich
+und mit einem leicht "uberschaubaren Adressatenkreis per Brief
+korrespondieren, werden Sie mit den bisher gezeigten M"oglichkeiten meist
+auch zufrieden sein. Wenn jedoch die Menge der Adressen zunimmt und auch der
+Umfang der Adressinformationen "uber die blo"se Postanschrift hinausw"achst,
+beginnt die Verwaltung der Adressen zu einem eigenen Problem zu werden.
+Dieses Problem besteht zun"achst ganz unabh"angig davon welche Briefklasse
+Sie verwenden, und so war auch die L"osung, die Gerd Neugebauer 1994
+vorstellte, nicht auf \KOMAScript{} und dessen Vorg"anger, sondern auf
+Bib\TeX{} bezogen. Sein Bibliographie-Stil \File{address.bst} in Verbindung
+mit einem speziell definierten Eintragstypen f"ur Bib\TeX-Datenbanken und
+einer \File{tex}-Datei machte sich den Umstand zunutze, dass Bib\TeX{} in
+der Lage ist, strukturierte Daten zu sortieren und in konfigurierbaren
+Listen auszugeben. Bib\TeX{} kann somit als Hilfsprogramm eingesetzt werden,
+das f"ur Ordnung in Adressdatenbest"anden sorgt.
+
+Damit Bib\TeX{} eine Datei bearbeiten kann, muss diese in einem
+bestimmten Format vorliegen. Normalerweise besitzt eine solche Datei
+die Dateinamenserweiterung \File{bib} und enth"alt bibliographische
+Daten. Diese Daten werden nach Eintragstypen klassifiziert. Es ist
+m"oglich, neue Eintragstypen zu definieren und von Bib\TeX{} auswerten zu
+lassen.%
+\footnote{Die f"ur \LaTeX{} standardm"a"sig definierten Eintragstypen,
+ihr formaler Aufbau und die Funktionsweise von Bib\TeX{} "uberhaupt
+k"onnen hier nicht beschrieben werden. F"ur sie sei auf die
+Originaldokumentation in \textsf{btxdoc} und \textsf{btxhak}
+sowie auf die Beschreibung im \LaTeX-Handbuch verwiesen.}
+
+Unter einer \emph{Adressdatenbank} verstehen
+wir eine Bib\TeX-konforme Datei.
+\begin{verbatim}
+ @address{...}
+\end{verbatim}
+
+F"ur Eintr"age in einer Adressdatenbank gibt es den
+speziellen Eintragstyp \verb|@address|. Das folgende Beispiel
+beschreibt das Format eines \verb|@address|-Eintrags
+in einer \File{bib}-Datei:
+
+
+\begin{small}
+\begin{verbatim}
+ @address{HMUS,
+ name = {Hans Mustermann},
+ title = {Mag. art.},
+ organization = {Verband der Vereine},
+ city = {Heimstatt},
+ zip = 01234,
+ country = {Germany},
+ street = {Mauerstra{\ss}e 1},
+ phone = {01234 / 5 67 89},
+ fax = {01234 / 5 67 89},
+ mobile = {0171 / 45 67 89},
+ email = {hm{@}work.com},
+ url = {http://www.work.com},
+ note = {Alles nur Erfindung},
+ key = {HMUS},
+ birthday = {13. August anno muri},
+ nbirthday = {0813}
+ }
+ @address{OEKZ,
+ name = {{{"O}kologisches Zentrum~e.\,V.}},
+ sortas = {Okologisches Zentrum},
+ organization = {Verband der Vereine},
+ city = {Heimstatt},
+ zip = 01234,
+ country = {Germany},
+ street = {Mauerstra{\ss}e 1},
+ phone = {01234 / 5 67 89},
+ fax = {01234 / 5 67 89},
+ email = {hm{@}work.com},
+ key = {OEKZ},
+ }
+\end{verbatim}
+\end{small}
+
+"Ahnliche Mustereintr"age wie diesen finden Sie in der Datei
+\File{example.bib}. Die Adresseintr"age
+dort sind jedoch weniger umfangreich. Die hier dargestellte
+ausf"uhrliche Form zeigt die Version~1.2.
+
+\begin{description}
+ \item[name] Der Name im normalen Bib\TeX\ Format: Vorname von
+ Nachname
+
+ \item[sortas] Wenn der Name mit einem Umlaut beginnt, wird er falsch
+ einsortiert, bei der Verwendung von UTF-8 kodierten Datenbanken kommt
+ es sogar zu einem Bib\TeX\ Fehler. \texttt{sortas} hat Vorrang vor
+ \texttt{name}. (Neu in Version 1.2c.)
+
+ \item[title] Akademischer Titel oder "ahnliches (Wird z.\,Zt.
+ nicht unterst\"{u}tzt)
+
+ \item[organization] Organisation, Firma, Gewerkschaft, Verein.
+ Wird seit Version 1.3 von \File{adrconv.bst} standardm"a"sig in die
+ \texttt{bbl} Datei geschrieben, von \File{adrdir.tex} aber nicht genutzt.
+
+ \item[city] Stadt
+
+ \item[country] Das L"anderkennzeichen (Wird z.\,Zt. nicht
+ unterst\"{u}tzt)
+
+ \item[zip] Postleitzahl (ZIP-Code ist die US Bezeichnung)
+
+ \item[street] Stra"se
+
+ \item[phone] Telefonnummer
+
+ \item[mobile] Zweite Telefonnummer, z.\,B. f"ur Mobiltelefon
+
+ \item[fax] Telefaxnummer, wird von \File{adrfax.bst} zum
+ Erstellen eines Telefaxbuches verwendet.
+
+ \item[email] E-Mail Adresse, seit Version 1.3 wird die E-Mail Adresse von
+ \File{adrconv.bst} standardm"a"sig in die \texttt{bbl} Datei geschrieben.
+ \File{adrdir.tex} fragt, ob die E-Mail Adresse im Adressbuch gedruckt werden soll.
+
+ \item[url] Ein Link auf die Homepage. Hier w"are jetzt ein Konverter
+ nach HTML gefragt.
+
+ \item[key] Das K"urzel unter dem der betreffende Name in
+ {\KOMAScript} Briefklasse aufgerufen werden kann. Dieses K"urzel muss
+ f"ur alle \texttt{bib} Dateien eindeutig sein.
+
+ \item[note] Notiz, seit Version 1.3 wird die Notiz von
+ \File{adrconv.bst} standardm"a"sig in die \texttt{bbl} Datei geschrieben.
+ \File{adrdir.tex} druckt die Notiz in Klammern unter der Adresse.
+
+ \item[birthday] Geburtstagstext, so wie er gedruckt wird
+
+ \item[nbirthday] Numerischer Geburtstag, wird zum Sortieren
+ verwendet. Format: Monat zweistellig Tag zweistellig (MMDD)
+\end{description}
+
+\section{Adressdatenbankkonverter}%
+
+Bib\TeX{} erzeugt aus \File{bib}-Dateien (Datenbanken) \File{bbl}-Dateien.
+Eine \File{bbl}-Datei besteht im wesentlichen aus einer sortierten Liste.
+Welche Elemente einer \File{bib}-Datei hierf"ur ausgewertet werden und wie
+die resultierende \File{bbl}-Datei im einzelnen aufgebaut ist, wird dabei
+jeweils durch einen Bibliographie-Stil (eine \File{bst}-Datei) gesteuert.
+
+Die standardm"a"sig f"ur die Erzeugung von Literaturverzeichnissen mit
+\LaTeX{} eingesetzten Bibliographie-Stile k"onnen freilich weder
+\verb|@address|-Eintragstypen auswerten noch Adressdateien im
+\File{adr}-Format erzeugen. Um eine Adressdatenbank in eine Adressdatei zu
+konvertieren, wird also ein eigens daf"ur eingerichteter Bibliographie-Stil
+ben"otigt. Es wurden daf"ur mehrere Bibliographie-Stile entwickelt, die als
+Konverter von Adressdatenbanken in Adressdateien dienen k"onnen.
+
+\begin{description}
+
+ \item[\File{adrconv.bst}] Erzeugt eine Adressdatei, die sowohl mit
+ der {\KOMAScript} Briefklasse zum Einf"ugen von Adressen in
+ Briefe als auch mit dem Programm \File{adrdir.tex} zur
+ Erzeugung von Adresszeichnissen verwendet werden kann.
+
+ Es werden dabei alle acht Felder der Adress-Eintr"age (\emph{Name},
+ \emph{Vorname}, \emph{Adresse}, \emph{Telefonnummer} und
+ \emph{Mobilnummer}, \emph{E-Mail}, \emph{Organisation}, \emph{Notiz}
+ und \emph{K"urzel}) belegt. Die Adress-Eintr"age in der Datei werden
+ alphabetisch nach den Namen sortiert. Bei Namen die mit Umlauten
+ beginnen kann mit dem Feld \texttt{sortas} eine Sortierung unter dem
+ nicht-Umlaut (O statt "O) oder nach Telefonbuchsortierung (Oe statt
+ "O) erzwungen werden.
+
+ Am Beginn jeder Buchstabengruppe wird automatisch ein
+ \Macro{adrchar}-Eintrag eingesetzt. Dies funktioniert nicht bei
+ Umlauten, hier muss ein \texttt{sortas} Eintrag verwendet werden,
+ oder der \Macro{adrchar}-Eintrag muss von Hand korrigiert werden.
+
+ Das K"urzel wird als Ged"achnisst"utze mit ausgegeben. Mit diesem
+ K"urzel kann der Eintrag in der Briefklasse aus {\KOMAScript}
+ aufrufen werden.
+
+ \item[\File{adrfax.bst}] Ein Konvertierer zum Erstellen von
+ Faxb"uchern. Statt der \emph{Telefonnummer} wird hier jedoch
+ die \emph{Faxnummer} benutzt.
+
+ \item[\File{adrbirthday.bst}] Erzeugt eine Adressdatei, die mittels
+ \File{adrdir.tex} als Geburtstagsverzeichnis ausgegeben werden
+ kann. Hierf"ur werden die Eintr"age nach Monat und Tag
+ sortiert. Damit das funktioniert, mu"s ein \emph{nbirthday}
+ Eintrag vorhanden sein. Dieser wird als Sortierschl"ussel
+ genutzt.
+
+ \item[\File{email.bst}] Seit Version 1.3 nicht mehr vorhanden. Die
+ E-Mail Adresse wird von \File{adrconv.bst} immer in die \texttt{bbl}
+ Datei geschrieben.
+
+
+\end{description}
+
+\section{Ablauf der Konvertierung}
+
+Damit Bib\TeX{} eine Adressdatenbank mit Hilfe eines
+Bibliographie-Stils in eine Adressdatei konvertieren kann, ben"otigt
+es noch Informationen dar"uber, welche der Eintr"age aus der
+\File{bib}-Datei auf diese Weise bearbeitet werden sollen.
+Diese Informationen entnimmt Bib\TeX{} der \File{aux}-Datei, die beim
+\TeX-Lauf "uber eine \File{tex}-Datei entsteht und die
+Schl"usselw"orter f"ur Bib\TeX{} enth"alt, welche normalerweise durch
+\Macro{cite}-Befehle in der \File{tex}-Datei erzeugt werden.
+
+In unserem Fall gibt es keine derartige \File{tex}-Datei.
+Stattdessen m"ussen wir uns eine Hilfsdatei anlegen.
+\begin{verbatim}
+ \citation{*}
+ \bibstyle{adrconv} % oder adrfax, adrbirthday
+ \bibdata{example} % koennen auch mehrere Dateien sein
+\end{verbatim}
+
+\verb+\citation{*}+ w"ahlt alle Eintr"age der Datenbank aus,
+\verb+\bibstyle+ den gew"unschten Stil und \verb+\bibdata+ die
+Datenbank(en). 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 \File{bbl} Datei muss dann nur noch in
+\File{adr} umbenannt werden und schon kann sie mit \File{adrdir.tex}
+in ein Adressbuch umgewandelt werden. Das beiliegende \File{adrdir.tex}
+enth"alt eine etwas modifizierte Version von \File{dir.tex}. Diese
+Version kann "uber Konfigurationsdateien f"ur verschiedene Formate
+angepasst werden:
+
+\begin{description}
+ \item[adrdir] Das Originalformat aus \File{dir.tex}, die
+ Einzelseiten sind DIN A6 gro"s und k"onnen so platzsparend auf DIN
+ A4 ausgedruckt werden.
+
+ \item[adrschmal] Ist ein etwas schmaleres Format, das in viele
+ Taschenkalender passt, z. B. in den Kalender den mir meine
+ Sparkasse jedes Jahr schenkt.
+
+ \item[adrplaner] Diese Woche hatte Aldi einen Taschenkalender im
+ Angebot, wie "ublich auch mit Adressbuch. Aber warum soll ich
+ jetzt alle Adressen von Hand eintragen, also musste eine neue
+ Konfigurationsdatei her. Die sollte problemlos auch in andere
+ Organizer passen.
+\end{description}
+
+In den Konfigurationsdateien befinden sich auch die Parameter f"ur
+DVIDVI, damit man die Einzelseiten problemlos auf ein Blatt A4
+verteilen kann. Die interaktive \TeX-Programme mit den
+Namen \File{adrconv.tex} und \File{birthday.tex},
+k"onnen die jeweils passende \File{aux}-Dateien selbst erzeugen.
+
+Die Konvertierung einer Adressdatenbank in eine Adressdatei l"auft
+daher in drei Schritten ab:
+
+\begin{enumerate}
+ \item Vorbereitung der Konvertierung durch Erzeugen der
+ \File{aux}-Datei f"ur die entsprechende \File{bib}-Datei.
+
+ \item Konvertierung der \File{bib}-Datei mittels Bib\TeX.
+
+ \item Umbenennung der entstandenen \File{bbl}-Datei in die
+ \File{adr}-Namensform f"ur Adressdateien
+\end{enumerate}
+
+
+Angenommen, Sie haben einen neuen Eintrag in Ihre
+Adressdatenbank mit Namen \File{adressen.bib} aufgenommen,
+der so aussehen k"onnte:
+
+\begin{small}
+\begin{verbatim}
+ @address{DANTE,
+ name = {{DANTE~e.\,V.}},
+ sortas = {Dante},
+ street = {Postfach 10 18 40},
+ zip = {69008},
+ city = {Heidelberg},
+ phone = {0 62 21 / 2 97 66},
+ fax = {0 62 21 / 16 79 06},
+ email = {dante{@}dante.de},
+ url = {http://www.dante.de},
+ key = {DANTE},
+ birthday = {14. April 1989},
+ nbirthday = {0414}
+ }
+\end{verbatim}
+\end{small}
+
+Wenn Sie eine Adressdatei f"ur Briefe und ein
+Adressverzeichnis
+brauchen, w"ahlen Sie den Konverter \File{adrconv} und erzeugen
+die \File{aux}-Datei. Die Protokolldatei \File{adrconv.log}
+zeigt, wie das abgelaufen ist:
+
+\begin{small}
+\begin{verbatim}
+ sh>tex adrconv.tex
+ This is TeX, Version 3.14159 (Web2C 7.3.2x) (format=tex
+ 2001.8.1) 13 AUG 2001 05:26
+ **adrconv.tex
+ (/texmf/tex/latex/koma-script/adrconv.tex
+ Now you have to typein the name of the BibTeX
+ adressfile, you want to convert to
+ script-adress-file-format (without extension `.bib'):
+ Geben Sie nun den Namen der BibTeX-Adressdatei ein, die
+ Sie in das Script-Adressdateiformat konvertieren wollen
+ (ohne `.bib'):
+
+ adressfile=adressen
+ \auxfile=\write0
+ \openout0 = `adressen.aux'.
+
+
+ After running BibTeX rename file `adressen.bbl' to
+ `adressen.adr'!
+ Nach dem BibTeX-Lauf benennen Sie bitte die Datei
+ `adressen.bbl' in `adressen.adr' um!
+ [1] )
+ Output written on adrconv.dvi (1 page, 224 bytes).
+\end{verbatim}
+\end{small}
+
+Als zweiten Schritt rufen Sie Bib\TeX{} zur
+Konvertierung auf. Wir
+zeigen das Protokoll \File{adressen.blg}:
+
+\begin{small}
+\begin{verbatim}
+ sh>bibtex adressen
+ This is BibTeX, Version 0.99c (Web2C 7.3.2x)
+ The top-level auxiliary file: adressen.aux
+ The style file: adrconv.bst
+ Database file #1: adressen.bib
+\end{verbatim}
+\end{small}
+
+Zuletzt benennen Sie die Datei um:
+
+\begin{small}
+\begin{verbatim}
+ sh>mv adressen.bbl adressen.adr
+\end{verbatim}
+\end{small}
+
+Die konvertierte Adressdatei hat folgenden Inhalt:
+
+\begin{small}
+\begin{verbatim}
+ \adrchar{K}
+ \adrentry{Kalkweiss}{Achim}
+ {Langer Weg 17 \\
+ 38118 Braunschweig}{0531 / 113 34 89}{}{}{}{}
+ \adrentry{Kohlmeise}{Rudolf}
+ {Stra{\ss}e des 11.~September 73 \\
+ 12345 Neu Jorg}{0513 / 89 55 66}{}{}{}{}
+ \adrentry{Kuchennascher}{Mattse}
+ {Fichtenstra{\ss}e 1 \\
+ 98765 Brummelsbach}{}{}{}{}{}
+
+ \adrchar{M}
+ \adrentry{Mustermann}{Hans}
+ {Einbahnstra{\ss}e 1 \\
+ 01234 Heimstatt}{01234 / 5 67 89}{}{}{}{}
+
+ \adrchar{D}
+ \adrentry{{DANTE~e.\,V.}}{}
+ {Postfach 10 18 40 \\
+ 69008 Heidelberg}{0 62 21 / 2 97 66}{}{}{}{DANTE}
+\end{verbatim}
+\end{small}
+
+Vor Version 1.2~c musste man den \Macro{adrchar}-Eintrag noch von Hand korrigieren, durch den \texttt{sortas}-Eintrag erfolgt das nun automatisch.
+
+Einen Brief an DANTE~e.\,V. k"onnen Sie
+mit Hilfe der \KOMAScript{} Briefklasse so beginnen:
+
+\begin{small}
+\begin{verbatim}
+ \documentclass{scrlttr2}
+ \usepackage{german}
+ \begin{document}
+ \begin{letter}{\DANTE}
+ ...
+\end{verbatim}
+\end{small}
+
+Um Ihre Adressdateien aktuell zu halten, m"ussen Sie diese drei
+Schritte jedesmal wiederholen, wenn Sie "Anderungen an Ihrer
+Adressdatenbank vorgenommen haben.
+
+Bitte beachten Sie dabei, dass die Programme zum Erzeugen der
+\File{aux}-Datei (\File{adrconv.tex} und \File{birthday.tex}
+sowohl mit (Plain)\TeX{} als auch mit \LaTeX{} aufgerufen
+werden k"onnen, w"ahrend die beiden Programme \File{adrdir.tex} und
+\File{adrphone.tex}, die Sie nach erfolgreicher Konvertierung auf Ihre
+Adressdatei anwenden k"onnen, um daraus fertige Adress-, E-Mail- bzw.
+Telefonverzeichnisse zu produzieren, nur mit \LaTeX{} funktionieren.
+
+\section{Ausdrucken als Buch}
+
+M"ochte man nicht nur einzelne Seiten, sondern ein richtiges Buch erstellen, so sind die Seiten noch richtig sortiert auf ein DIA~A4 Blatt zu montieren.
+
+\subsection{Arbeitsweise mit DVIDVI}
+
+Die Adressbuchdatei muss in zwei Dateien zerlegt werden, eine f"ur die
+Vorderseiten und eine f"ur die R"uckseiten. Zuerst werden die Vorderseiten gedruckt, dann der bedruckte Stapel wieder in in Drucker gelegt und die R"uckseiten gedruckt. Die Optionen gehen von einem Drucker aus, der die Seiten mit der bedruckten Seite nach oben ablegt (normal bei Tintenstrahldruckern). Legt er die Seiten mit der bedruckten Seite nach unten ab (normal bei Laserdruckern) so ist der Parameter \texttt{-r} bei den R"uckseiten wegzulassen.
+
+Anstelle von \texttt{xx} ist eine durch $8$ teilbare Zahl einzugeben, dir
+gr"o"ser oder gleich der Seitenzahl der Adressbuchdatei ist. Es werden automatisch Leerseiten erzeugt, damit die Montage auf ein DIN~A4 Blatt nachher passt.
+
+Das Beispiel zeigt die Montage von 8 DIN~A6 Seiten auf eine DIN~A4 Seite (\texttt{adrdir.cfg}), f"ur die anderen Formate sind die Optionen in den entsprechenden \texttt{.cfg} Dateien angegeben.
+
+\noindent Vorderseiten:
+
+\begin{description}
+\item [2 x A6 at A5] \texttt{-l xx -m 4:-1,2}
+\item [2 x A5 at A4] \texttt{-m 2:0,1(0mm,148mm)}
+\end{description}
+
+\noindent R"uckseiten:
+
+\begin{description}
+\item [2 x A6 at A5] \texttt{-l xx -r -m 4:-3,0}
+\item [2 x A5 at A4] \texttt{-m 2:1,0(0mm,148mm)}
+\end{description}
+
+\subsection{Arbeitsweise mit pdf\LaTeX}
+
+Seit Version~1.3 wird \texttt{scrartcl} mit der Option \texttt{pagesize} aufgerufen. Dadurch entspricht die Gr"o"se der PDF-Datei der von \LaTeX\ benutzten Blattgr"o"se. Diese Seiten lassen sich dann mit \texttt{pdfpages} montieren.
+
+F"ur \File{adrdir.tex} mit der Konfiguration \File{adrdir.cnf} werden die Dateien \File{adrmontage1.tex} und \File{adrmontage2.tex} mitgeliefert, die die Montage der Einzelzeiten auf ein Blatt DIN~A5 oder DIN~A4 "ubernehmen.
+
+\File{adrmontage1.tex} montiert 4 Seiten auf ein Blatt DIN~A5. Diese lassen sich dann direkt doppelseitig ausdrucken und zu einem Buch falten. Der Parameter \texttt{signature} muss in diesem Fall durch 4 teilbar sein.
+
+Steht nur DIN~A4 Papier zur Verf"ugung, m"ussen die Seiten mit \File{adrmontage2.tex} noch einmal bearbeitet werden. In diesem Fall muss der Parameter \texttt{signature} in \File{adrmontage1.tex} durch 8 teilbar sein und in \File{adrmontage1.tex} ein viertel des Wertes aus \File{adrmontage1.tex} betragen.
+
+Erster Schritt: Vier DIN~A6 Seiten auf DIN~A5:
+
+\begin{verbatim}
+\documentclass{article}
+\usepackage{geometry}
+\geometry{verbose,twoside,nofoot,pdftex,%
+a5paper, top=0mm,bottom=0mm,inner=0mm}
+\usepackage{pdfpages}
+\begin{document}
+\includepdf[pages={-},
+landscape,
+nup=1x2,
+signature=16,
+noautoscale,scale=1]{adrdir.pdf}
+\end{document}
+\end{verbatim}
+
+Zweiter Schritt: Zwei DIN~A5 Seiten auf DIN~A4 montieren.
+
+\begin{verbatim}
+\documentclass{article}
+\usepackage{geometry}
+\geometry{verbose,twoside,nofoot,pdftex,%
+a4paper,top=0mm,bottom=0mm,inner=0mm}
+\usepackage{pdfpages}
+\begin{document}
+\includepdf[pages={-},
+landscape,
+nup=1x2,
+signature=4,
+noautoscale,scale=1]{adrmontage1.pdf}
+\end{document}
+\end{verbatim}
+
+\section{Pages zu \texttt{adrconv}}
+
+Was hat eine Pages-Datei in einem \LaTeX-Paket zu suchen? Nun, normalerweise nichts.
+Es sei denn, man m"ochte ein Adressverzeichnis aus dem Adressbuch des MacOS~X erstellen.
+Die einfachste M"oglichkeit an die Daten zu kommen ist mit der Serienbrief"-funktion von Pages.
+Man "offnet das Dokument \File{adrconv\_pages08.pages}, ruft im Men"u "`Bearbeiten"' die Funktion "` mit Adressbuch Daten zusammenf"uhren \dots"' (In Pages09: "`Serienbrief"') auf und erzeugt so ein neues Dokument. Dieses wird dann als \File{pages.txt} abgespeichert. Nun ist das Terminal gefragt:
+
+\begin{verbatim}
+sh> cp pages.txt pages.adr
+\end{verbatim}
+
+Alle weiteren "Anderungen werden im \texttt{vi} vorgenommen:
+
+\begin{verbatim}
+sh> vi pages.adr
+:e ++enc=macroman
+:set ff=unix
+:%s/^V^D//
+:w
+:%sort
+:so 2latex.vim
+:wq
+\end{verbatim}
+
+Das \verb+^+ steht hier f"ur \texttt{ctrl}. Beim Befehl \verb+:so 2latex.vim+ kommt es
+normalerweise zu Fehlermeldungen, einfach ignorieren.
+
+Die so entstanden Datei enth"alt schonmal die Rohdaten, etwas Nacharbeit ist aber noch erforderlich, so m"ussen leere Eintr"age von Hand gel"oscht werden.
+
+Am besten legt man ein Adressbuchgruppe "`Adrconv"' an, die nur die Eintr"age enth"alt, die man tats"achlich ben"otigt, das spart beim zweiten Mal Arbeit.
+
+\section{"Anderungen}
+
+\subsection{1.0}
+\texttt{key} Feld gerg"anzt.
+\subsection{1.1}
+\texttt{net} durch \texttt{email} und \texttt{url} ers"atzt.
+\subsection{1.1.1}
+Keine Warnung bei leeren \texttt{street} Feld.
+\subsection{1.1.2}
+Der \emph{von} Teil eines Namens wird nicht mehr ignoriert.
+\subsection{1.1.3}
+Unterst"utzung f"ur eine zweite Telefonnummer \texttt{mobile}.
+\subsection{1.2}
+\texttt{ADRconv} ist nun ein selbst"andiges Paket und nicht mehr Teil von \texttt{KOMA-Script}.
+\subsection{1.2a-c}
+Dokumentation verbessert, Lizenz auf LPPL 1.3 ge"andert.
+\subsection{1.3}
+\File{email.bst} entf"allt, die E-Mail Adresse wird von \File{adrconv.bst} in die \texttt{bbl} Datei geschrieben.
+\File{birthday.bst} in \File{adrbirthday.bst} umbenannt um Kollisionen mit \File{directory.cls} zu vermeiden.
+\File{adrdir.tex} druckt optional die E-Mail Adresse und immer die Notiz.
+Unterst"utzung f"ur PDF-Workflow. DVIDVI wird nicht mehr ben"otigt.
+\subsection{1.4}
+Anpassungen an das neue (inzwischen 10 Jahre alte) \KOMAScript\ durch Markus Kohm.
+
+\section{Danksagungen}
+
+\begin{description}
+\item [Karl Berry] f"ur den Hinweis auf \File{directory.cls}, die ebenfalls
+ \File{email.bst} und \File{birthday.bst} benutzt und somit zu
+ Konflikten f"uhren kann.
+\item [Anna M. Liebmann] f"ur den Wunsch, die E-Mail Adresse, Organisation und Notiz im Adressverzeichnis zu drucken.
+\item [Tommy L. Ho] f"ur den Wunsch \texttt{ADRconv} mit \texttt{pdftex} zu benutzen.
+\end{description}
+
+\end{document}