summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/scrguide/adressen.tex
blob: 47a8199113334a27af35de3ec84270497db3f9b1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
\ProvidesFile{adressen.tex}[2003/04/16 KOMA-Script Anleitung]
% ============================================================================
% adressen.tex 
% Copyright (c) 2001 Markus Kohm and the authors.
%
% This file is part of the LaTeX2e KOMA-Script-Bundle
%
% This file can be redistributed and/or modified under the terms of the LaTeX
% Project Public License Version 1.0 distributed together with this file. See
% LEGAL.TXT or LEGALDE.TXT.
%
% This bundle is written specialy for use at german-language. So the main
% documentation is german. There may also be an english documentation. See
% readme.txt, if you search for it.
% ----------------------------------------------------------------------------
% adressen.tex
% Copyright (c) 2001 Markus Kohm und bei den weiteren Autoren.
%
% Diese Datei ist Teil des LaTeX2e KOMA-Script-Pakets.
%
% Diese Datei kann nach den Regeln der LaTeX Project Public Licence 
% Version 1.0, wie sie zusammen mit dieser Datei verteilt wird,
% weiterverbreitet und/oder modifiziert werden. Siehe dazu auch LEGAL.TXT oder
% LEGALDE.TXT.
%
% Dieses Paket ist fuer den deutschen Sprachraum konzipiert. Daher ist auch
% diese Anleitung komplett in Deutsch. Moeglicherweise existiert auch eine
% englische Version der Anleitung. Falls Sie eine solche benoetigen, schauen
% Sie bitte in liesmich.txt nach, ob eine solche vorhanden ist.
% ============================================================================
%
% Modul:    scraddr Paket
% Autoren:  Jens-Uwe Morawski <morawski@gmx.net>
% Inhalt:   Zugriff auf Adressen mit Hilfe von scraddr
% Sprache:  Deutsch
% Zeichensatz der Kommentare:
%           US-ASCII
%

\chapter{Adressdateien mit \Package{scraddr} erschließen}\label{cha:scraddr}
\BeginIndex{Package}{scraddr}

\section{Überblick}\label{sec:scraddr.overview}
Das Paket \Package{scraddr} ist eine kleine Beigabe zur
\KOMAScript-Briefklasse.
Ziel ist, die Benutzung von Adressdateien zu vereinfachen
und ihre Anwendung flexibler zu gestalten.
Im Grunde stellt das Paket nur einen Lademechanismus für Adressdateien
bereit, die aus \Macro{adrentry}- und neueren \Macro{addrentry}-Einträgen
bestehen, wie sie im vorhergehenden Kapitel beschrieben sind.

\begin{Declaration}
\Macro{InputAddressFile}\Parameter{Dateiname}
\end{Declaration}%
\BeginIndex{Cmd}{InputAddressFile}%
%
Der Befehl \Macro{InputAddressFile} ist der zentrale Ladebefehl
von \Package{scraddr}.
Er erwartet als obligatorisches Argument den
Namen der einzulesenden Adressdatei.\Index{Adressdatei}
Wird diese Datei nicht gefunden, wird ein Fehler ausgegeben.

Für jeden Eintrag dieser Adressdatei wird eine Reihe von Makros generiert,
die es ermöglichen, auf die Daten der Adressdatei zuzugreifen.
Zur Erinnerung nochmals der Aufbau eines Eintrags.
\begin{Declaration}%

  \Macro{adrentry}\Parameter{Name}\Parameter{Vorname}\Parameter{Adresse}%

  \Parameter{Telefon}\Parameter{F1}\Parameter{F2}%

  \Parameter{Kommentar}\Parameter{Kürzel}\\
  %
  %oder\\
  %
  \Macro{addrentry}\Parameter{Name}\Parameter{Vorname}\Parameter{Adresse}%

  \Parameter{Telefon}\Parameter{F1}\Parameter{F2}%

  \Parameter{F3}\Parameter{F4}\Parameter{Kürzel}%
\end{Declaration}%

Die Zugriffsbefehle sind mit englischen, den Argumenten entsprechenden,
Bezeichnungen versehen.
\begin{Declaration}
\Macro{Name}\Parameter{Kürzel}\\
\Macro{FirstName}\Parameter{Kürzel}\\
\Macro{LastName}\Parameter{Kürzel}\\
\Macro{Address}\Parameter{Kürzel}\\
\Macro{Telephone}\Parameter{Kürzel}\\
\Macro{FreeI}\Parameter{Kürzel}\\
\Macro{FreeII}\Parameter{Kürzel}\\
\Macro{Comment}\Parameter{Kürzel}\\
\Macro{FreeIII}\Parameter{Kürzel}\\
\Macro{FreeIV}\Parameter{Kürzel}
\end{Declaration}%
\BeginIndex{Cmd}{Name}\BeginIndex{Cmd}{FirstName}\BeginIndex{Cmd}{LastName}%
\BeginIndex{Cmd}{Address}\BeginIndex{Cmd}{Telephone}\BeginIndex{Cmd}{FreeI}%
\BeginIndex{Cmd}{FreeII}\BeginIndex{Cmd}{FreeIII}\BeginIndex{Cmd}{FreeIV}
\BeginIndex{Cmd}{Comment}%
%
Der Zugriff erfolgt anhand des Kürzels im letzten Argument eines
Eintrags, das heißt Argument Nummer 8
für \Macro{adrentry}-Einträge beziehungsweise Argument Nummer 9
für \Macro{addrentry}-Einträge. Das bedeutet auch, dass dieses Argument
nicht leer sein darf.
Um eine sichere Funktionsweise zu garantieren, empfiehlt es sich,
das Kürzel nur als Folge Buchstaben aufzubauen,
wobei jedoch keine Umlaute benutzt werden dürfen.

Weiterhin ist zu beachten, dass bei mehrmaligem Auf"|treten
eines Kürzels in den Einträgen die Angaben beim
letzten Auf"|treten die gültigen sind.

\EndIndex{Cmd}{InputAddressFile}%
\EndIndex{Cmd}{Name}\EndIndex{Cmd}{FirstName}\EndIndex{Cmd}{LastName}%
\EndIndex{Cmd}{Address}\EndIndex{Cmd}{Telephone}\EndIndex{Cmd}{FreeI}%
\EndIndex{Cmd}{FreeII}\EndIndex{Cmd}{FreeIII}\EndIndex{Cmd}{FreeIV}%
\EndIndex{Cmd}{Comment}%

\section{Benutzung}\label{sec:scraddr.usage}

Um das Paket benutzen zu können, ist eine gültige
Adressdatei zu erstellen.
Diese, hier \emph{lotr.adr} genannt, könnte beispielsweise
folgendermaßen aussehen:
\begin{verbatim}
  \addrentry{Beutlin}{Frodo}%
            {Der Bühl\\ Beutelsend/Hobbingen im Auenland}{}%
            {Bilbo Beutlin}{Rauchen von Pfeifenkraut}%
            {der Ringträger}{Bilbo's Erbe}{FRODO}
  \adrentry{Gamdschie}{Samweis}%
            {Beutelhaldenweg 3\\Hobbingen im Auenland}{}%
            {Rosie Kattun}{Knullen}%
            {des Ringträgers treuester Gefährte}{SAM}
  \adrentry{Bombadil}{Tom}%
            {Im Alten Wald}{}%
            {Goldbeere}{trällern von Nonsensliedern}%
            {Meister von Wald, Wasser und Berg}{TOM}
\end{verbatim}

Das vierte Argument, die Telefonnummer, wurde hier leer gelassen.
Erstens macht es in dem Zusammenhang keinen Sinn, und zweitens sollte
dies ja auch möglich sein.

Mit dem oben beschriebenen Ladebefehl lesen wir die Adressdatei
in unser Briefdokument ein:
\begin{verbatim}
  \InputAddressFile{lotr}
\end{verbatim}

Mit Hilfe der vorgestellten Makros können wir dann einen Brief
an den alten \textsc{Tom Bombadil} schreiben, in dem wir ihn
fragen, ob er sich noch an zwei Gefährten aus alter Zeit
erinnern kann.
\begin{verbatim}
  \begin{letter}{\Name{TOM}\\\Address{TOM}}
     \opening{Lieber \FirstName{TOM} \LastName{TOM},}
     
      oder \FreeIII{TOM}, wie Dich Deine geliebte
      \FreeI{TOM} nennt.
      Kannst Du Dich noch an einen Herrn \LastName{FRODO},
      genauer gesagt \Name{FRODO}, denn es gab ja auch noch
      den Herrn \FreeI{FRODO}, erinnern.
      Er war \Comment{FRODO} im dritten Zeitalter und
      \FreeIV{FRODO}.
      Begleitet wurde er von \Name{SAM}, \Comment{SAM}.
      
      Beider Vorlieben waren sehr weltlich.
      Der \FirstName{FRODO} genoss das \FreeII{FRODO}, sein
      Gefährte schätzte eine gute Mahlzeit mit \FreeII{SAM}.
      
      Weißt du noch? Mithrandir hat Dir bestimmt viel
      von ihnen erzählt.
    \closing{\glqq O Frühling und Sommerzeit
                    und danach wieder Frühling!\\
                   O Wind auf dem Wasserfall
                    und Lachen des Laubes!\grqq}
  \end{letter}
\end{verbatim}

Die Zusammensetzung aus
\Macro{FirstName}\Parameter{Kürzel} \Macro{LastName}\Parameter{Kürzel}
kann direkt mittels \Macro{Name}\Parameter{Kürzel} erhalten werden.

Das fünf"|te und sechste Argument von \Macro{adrentry} und
\Macro{addrentry} steht zur freien Verfügung.
Mit den Makros \Macro{FreeI} und \Macro{FreeII} kann auf
diese Inhalte zugegriffen werden. Im vorliegenden Fall wurde
das fünf"|te Argument für die Person benutzt, die der Person des
Eintrags am nächsten steht. Das sechste Argument
enthält im Beispiel die besondere Vorliebe der jeweiligen Person.
Das siebente Argument ist ebenfalls ein freier Eintrag. Der Zugriff
erfolgt per \Macro{Comment} oder \Macro{FreeIII}.
Der Zugriff auf das vierte freie Argument mittels \Macro{FreeIV}
ist nur für \Macro{addrentry}-Einträge gültig.
Bei \Macro{adrentry}-Einträgen liefert das eine Warnung.
\EndIndex{Package}{scraddr}

\section{Paketoptionen für Warnungen}

Wie oben bereits beschrieben, führt die Benutzung des
Zugriffbefehls \Macro{FreeIV} zu einem Fehler, wenn der
Befehl auf Datensätze aus \Macro{adrentry}-Einträgen
angewendet wird.

Die hier im Folgenden aufgeführten Paketoptionen legen
fest, wie in solchen Situationen reagiert werden soll.
Dabei ist es möglich, im Bereich von \emph{Ignorieren} bis
\emph{Abbruch} verschiedene Möglichkeiten zu wählen.
Eine dieser Paketoptionen kann beim Laden des Pakets im
optionalen Argument des \Macro{usepackage}-Befehls
übergeben werden. Die standardmäßige Einstellung für
das Paket \Package{scraddr} ist die Option
\Option{adrFreeIVshow}.

\begin{Declaration}
\Option{adrFreeIVempty}\\
\Option{adrFreeIVshow}\\
\Option{adrFreeIVwarn}\\
\Option{adrFreeIVstop}
\end{Declaration}
%
\BeginIndex{Option}{adrFreeIVempty}\BeginIndex{Option}{adrFreeIVshow}
\BeginIndex{Option}{adrFreeIVwarn}\BeginIndex{Option}{adrFreeIVstop}
%
\begin{labeling}[\,--]{\Option{adrFreeIVempty}}
\item[\Option{adrFreeIVempty}] 
        Der Befehl \Macro{FreeIV} wird einfach ignoriert.
\item[\Option{adrFreeIVshow}] 
        Die Warnung \glqq(entry FreeIV undefined at \PName{Kürzel})\grqq{}
           wird in den Text geschrieben.
\item[\Option{adrFreeIVwarn}]
        In der Log-Datei erscheint eine Warnung.
\item[\Option{adrFreeIVstop}]
        Der \LaTeX{}-Lauf wird mit einer Fehlermeldung unterbrochen.
\end{labeling}
\EndIndex{Option}{adrFreeIVempty}\EndIndex{Option}{adrFreeIVshow}
\EndIndex{Option}{adrFreeIVwarn}\EndIndex{Option}{adrFreeIVstop}

\section{Autoren}
\label{sec:scraddr.autoren}
Die folgenden Autoren waren an diesem Kapitel beteiligt oder haben die Vorlage
dafür geliefert.
% In folgener Aufzaehlung den Namen des Autors, der fuer das Kapitel
% verantwortlich ist bitte mit \textbf{} hervorheben.
\begin{itemize}
\item \textbf{Jens-Uwe Morawski}
\end{itemize}

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "scrguide2"
%%% End: