1 |
%% natdin.bst Vers. [3.0a3] 2005-02-22 mit PWD cite-multimode |
---|
2 |
%% K.F.Lorenzen (C) email: klaus.lorenzen@bui.haw-hamburg.de |
---|
3 |
%% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
---|
4 |
%% Mit diesem BibTex-style werden Literaturverzeichnisse nach dem deutschen |
---|
5 |
%% Standard DIN 1505, Teil 2 und 3 formatiert. Die label im Quellen-/ |
---|
6 |
%% Literaturverzeichnis sind vom Typ 'Verfasser - Jahr' und |
---|
7 |
%% entsprechen den Zitatformen im Text. Es koennen alle von |
---|
8 |
%% Patrick W. Daly im natbib-Paket implementierten Zitierbefehle |
---|
9 |
%% genutzt werden. Eine Kurzbeschreibung liegt als Datei natnotes.pdf zusammen |
---|
10 |
%% mit der im Aufbau befindlichen Beschreibung des natdin-Stils |
---|
11 |
%% unter der URL http://www.fh-hamburg.de/pers/Lorenzen/bibtex. |
---|
12 |
%% Eine Anleitung zur Anwendung der Norm DIN 1505 findet sich unter der |
---|
13 |
%% URL http://www.bui.haw-hamburg.de/pers/klaus.lorenzen/ASP/litverz.pdf |
---|
14 |
%% |
---|
15 |
%% Es werden nun auch Elektronische Online / Offline Ressourcen wie |
---|
16 |
%% Internetquellen, CD-ROM usw. verarbeitet. Dazu kommen spezielle |
---|
17 |
%% Publikationsformen wie Patente, Normen, Karten, Fernsehaufzeichnungen, |
---|
18 |
%% Gesetzesstellen, Spiele u.a. |
---|
19 |
% |
---|
20 |
%% NATDIN.BST muss zusammen mit NATBIB.STY von Patrick W. Daly und der in |
---|
21 |
%% dieser Verteilung modifizierten Konfiguration NATBIB.CFG aufgerufen |
---|
22 |
%% werden. NATDIN.BST ist vorzugsweise in den ...\bibtex\bst - Pfad zu |
---|
23 |
%% stellen. Die u. U. jeweils individuelle Konfiguration NATBIB.CFG wird am |
---|
24 |
%% besten in das Verzeichnis der LaTex-Quelle selbst gelegt. |
---|
25 |
%% |
---|
26 |
%% Zur Gewaehrleistung der Allgemeingueltigkeit von bib-files gelten in den |
---|
27 |
%% DIN-styles die in der Tex-Literatur veroeffentlichten originalen |
---|
28 |
%% Definitionen und Regeln fuer die Publikationstypen (entry-types) und die |
---|
29 |
%% bibliographischen Felder (fields). Dennoch werden in einigen entry-types |
---|
30 |
%% mehr optionale Felder verwendet als seinerzeit von Patashnik angegeben. |
---|
31 |
%% Treten "Schoenheitsfehler" im fertig gesetzten output auf, |
---|
32 |
%% lassen sich diese so gut wie immer durch eine veraenderte |
---|
33 |
%% Erfassung im bib-inputfile beseitigen. Oren Patashnik empfiehlt, die |
---|
34 |
%% Definition der Felder weit auszulegen. Last but not least koennen |
---|
35 |
%% Sie im output-file < *.bbl > noch letzte Hand zur Korrektur ansetzen. |
---|
36 |
%% Wegen der meist langen Internetadressen kann es zu "unschoenen" Luecken |
---|
37 |
%% im Belegtext kommen. Dann muss mit \underfull hbox.... gekaempft werden. |
---|
38 |
%% Die Darstellung von Internetadressen wird durch das Zusatzpaket |
---|
39 |
%% url.sty ver 3.1, 15-Mar-2004 von Donald Arseneau erheblich verbessert und |
---|
40 |
%% wird sehr empfohlen. |
---|
41 |
% |
---|
42 |
%% WARN- UND FEHLERMELDUNGEN |
---|
43 |
%% Ursache von Warnmeldungen sind meistens ausgelassene Felder oder |
---|
44 |
%% Erfassungs-"Fehler". Letztere haengen teilweise mit den gegenueber US- |
---|
45 |
%% Gepflogenheiten andersartigen bibliographischen Regeln nach DIN 1505 |
---|
46 |
%% zusammen. Sie sind also in Wahrheit keine "Fehler" und duerfen fast immer |
---|
47 |
%% ignoriert werden. Dennoch pruefen Sie diese Warnungen, um heraus zu finden, |
---|
48 |
%% ob Publikationstyp (=entry-type) und "fields" eventuell unzulaessig |
---|
49 |
%% kombiniert worden sind. |
---|
50 |
%% Echte Fehler ("errors") treten nur noch in Verbindung mit falscher |
---|
51 |
%% Erfassung auf (nach meinen Tests!). Pruefen Sie die Syntax, den entry-type |
---|
52 |
%% und die fields. |
---|
53 |
%% Zu guter letzt: Qualitaetsmasstab ist einzig der DIN-konforme output! |
---|
54 |
%% |
---|
55 |
%% DANKSAGUNG |
---|
56 |
%% Hartmut Lueddecke, HAW Hamburg, hat viele Verbesserungsvorschlaege |
---|
57 |
%% in die frueheren Versionen eingebracht. Ihm danke ich herzlich. |
---|
58 |
%% Patrick W. Daly, dem Entwickler des Natbib-Stils, verdanke ich viele |
---|
59 |
%% Anregungen und den steten Ansporn, die DIN-Stile zu verbessern. |
---|
60 |
%% Helge Baumann hatte mit seiner Weiterentwicklung meines alten natdin.bst |
---|
61 |
%% zu dinat.bst (Vers. 2001) die volle Zitierkapazitaet des natbib-Pakets |
---|
62 |
%% eingefuehrt. Damit war ein deutlicher Zugewinn erreicht. Von ihm stammt |
---|
63 |
%% der in der vorliegenden natdin.bst-Version 3.0 neu eingefuehrte Befehl |
---|
64 |
%% \dinatlabel unter seinem von H. Baumann vergebenen Namen. |
---|
65 |
%% Viele an dieser Stelle ungenannt bleibende Anwender haben mich in |
---|
66 |
%% den vergangenen Jahren auf Fehler oder Verbesserungsmoeglichkeiten |
---|
67 |
%% aufmerksam gemacht und so diesen Stil mitentwickelt. Ihnen gilt mein |
---|
68 |
%% besonderer Dank. Ihr Feedback ist immer willkommen und eine Ermunterung. |
---|
69 |
%% |
---|
70 |
%% Klaus F. Lorenzen, 12. Dez. 2004 |
---|
71 |
%% |
---|
72 |
%% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
---|
73 |
%% version 0.99c for BibTeX versions 0.99c or later, LaTeX2e version |
---|
74 |
%% Copyright (C) 1985, all rights reserved. |
---|
75 |
%% Copying of this file is authorized only if either |
---|
76 |
%% (1) you make absolutely no changes to your copy, including name, or |
---|
77 |
%% (2) if you do make changes, you name it something other than |
---|
78 |
%% natdin.bst, natbib.sty |
---|
79 |
%% This restriction helps ensure that all standard styles are identical. |
---|
80 |
%% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
---|
81 |
%% |
---|
82 |
%% NEUE FELDER |
---|
83 |
%% Zur Erfassung von Internetquellen, E-mail u.a. gibt es folgende |
---|
84 |
%% neue Felder: doi, lastchecked (nach Gray), url, urn |
---|
85 |
%% Internetquellen (z.B. auch E-mail) werden vorzugsweise mit dem |
---|
86 |
%% BOOKLET-Typ erfasst. |
---|
87 |
%% Normen, Patente, Schutzrechte, Gesetzesstellen sind mit dem MISC-Typ |
---|
88 |
%% zu erfassen. |
---|
89 |
%% |
---|
90 |
|
---|
91 |
|
---|
92 |
|
---|
93 |
ENTRY |
---|
94 |
{ address %% Verlagsort |
---|
95 |
author %% persoenlicher Urheber eines Werkes |
---|
96 |
booktitle %% a) Gesamttitel eines mehrbaendigen Werkes |
---|
97 |
% %% b) Titel des Sammelwerks, das einzelne selbstaendige |
---|
98 |
% %% Beitraege mit eigenem Titel enthaelt (->incollection) |
---|
99 |
chapter %% Kapitel in einem Buch (Monographie) |
---|
100 |
doi %%% Digital Object Identifier |
---|
101 |
edition %% Auflagevermerk; bei selbst. elektron. Dok. == Version |
---|
102 |
editor %% Persoenl.Herausgeber oder Koerperschaftlicher Herausgeber |
---|
103 |
howpublished %% beliebiger Verlegervermerk: von wem, wo |
---|
104 |
institution %% Institution, die e.Verlagsfreie Veroeffentlichung betreibt |
---|
105 |
isbn %% Standardnr fuer Buecher |
---|
106 |
issn %% - " - : Zeitschriften u. Serien |
---|
107 |
journal %% Titel einer Zeitschrift |
---|
108 |
key %% Zusaetzlich vergebener Sortierschluessel, mitunter notwend. |
---|
109 |
lastchecked %% Online Abruf einer Internetquelle ( GRAY ); 22.1.2004 |
---|
110 |
month %% naehere Bestimmung des Erscheinungsjahres (-> macro 's) |
---|
111 |
note %% freies Eingabefeld fuer zusaetzliche Informationen |
---|
112 |
number %% Mehrfachbedeutung in Abhaengigkeit vom Eingabetyp |
---|
113 |
organization %% a) Name der Organisation/des Organisators e. Tagung,Konferenz |
---|
114 |
% %% b) Name einer Firma/Gesellschaft, die ein ->manual herausgab |
---|
115 |
pages %% Umfangsangaben, meist Seitenzahlen |
---|
116 |
publisher %% Verlag |
---|
117 |
school %% Hochschule/Universitaet, die eine Dipl.-Arb./Dissertation veroeff. |
---|
118 |
series %% Titel e.Reihe, in der ein best. Buchtitel erschienen ist |
---|
119 |
title %% Titel einer (namentlich gekennzeichneten) Veroeffentlichung |
---|
120 |
type %% Zusatzfeld z.Kennzeichnung e.besonderen Publikationstyps |
---|
121 |
url %%% URL-Feld ( Uniform Resource Locator ) |
---|
122 |
urn %% URN-Feld ( Uniform Resource Name ) |
---|
123 |
volume %% a) Zaehlung bei einem mehrbaendigen Werk (-> book) |
---|
124 |
% %% b) Jahrgang einer Zeitschrift (-> article |
---|
125 |
year %% Erscheinungsjahr |
---|
126 |
} |
---|
127 |
{} |
---|
128 |
{ label extra.label sort.label short.list dinat.label} |
---|
129 |
|
---|
130 |
%%%----------------------------------------------------------------------------------- |
---|
131 |
% Hier stehen Standardvorgaben, die vom Benutzer veraendert werden koennen. |
---|
132 |
% |
---|
133 |
% Behandlung von Mehrverfasserquellen ("... und andere") |
---|
134 |
|
---|
135 |
FUNCTION { ua.etal } { " u.\,a." } %% evtl. auch in eckigen Klammern " [u.\,a.]" |
---|
136 |
|
---|
137 |
%% oder lateinisch: FUNCTION { ua.etal } { " et~al." } |
---|
138 |
|
---|
139 |
FUNCTION { und } { " u. " } |
---|
140 |
|
---|
141 |
%% oder ausgeschrieben: FUNCTION { und } { " und " } |
---|
142 |
% |
---|
143 |
% |
---|
144 |
% Vorgaben bei Online-/Offline-Quellen (z.B. Internet, CD ROM u.a.). |
---|
145 |
% Nach DIN 1505 wird der Publikationstyp extra genannt. |
---|
146 |
|
---|
147 |
FUNCTION { onlress } { "Online--Ressource" } |
---|
148 |
|
---|
149 |
FUNCTION { eress } { "Elektronische Ressource" } |
---|
150 |
%%%----------------------------------------------------------------------------------- |
---|
151 |
|
---|
152 |
INTEGERS { output.state before.all mid.sentence after.sentence after.block } |
---|
153 |
|
---|
154 |
INTEGERS { colon.after period.dash } |
---|
155 |
|
---|
156 |
INTEGERS { after.firstblock } |
---|
157 |
|
---|
158 |
INTEGERS { zahl lang } |
---|
159 |
|
---|
160 |
INTEGERS { len } |
---|
161 |
|
---|
162 |
INTEGERS { longest.label.width last.extra.num number.label } |
---|
163 |
|
---|
164 |
INTEGERS { nameptr namesleft numnames } |
---|
165 |
|
---|
166 |
STRINGS { longest.label last.label next.extra } |
---|
167 |
|
---|
168 |
STRINGS { h s t u v } |
---|
169 |
|
---|
170 |
STRINGS { fkt } |
---|
171 |
|
---|
172 |
%%--------------------------- |
---|
173 |
|
---|
174 |
FUNCTION {init.state.consts} |
---|
175 |
{ #0 'before.all := |
---|
176 |
#1 'mid.sentence := |
---|
177 |
#2 'after.sentence := |
---|
178 |
#3 'after.block := |
---|
179 |
#4 'colon.after := |
---|
180 |
#5 'period.dash := |
---|
181 |
#6 'after.firstblock := |
---|
182 |
} |
---|
183 |
|
---|
184 |
|
---|
185 |
|
---|
186 |
FUNCTION {set.period.dash} %% Wenn ein ". - " die Satzteile trennen soll.! |
---|
187 |
{ output.state before.all = |
---|
188 |
'skip$ |
---|
189 |
{ period.dash 'output.state := } |
---|
190 |
if$ |
---|
191 |
} |
---|
192 |
|
---|
193 |
|
---|
194 |
FUNCTION {set.period.dash.check} |
---|
195 |
{ empty$ |
---|
196 |
'skip$ |
---|
197 |
'set.period.dash |
---|
198 |
if$ |
---|
199 |
} |
---|
200 |
|
---|
201 |
FUNCTION {set.colon.after} %%$$$ Wenn ein ": " d. Satzteile trennen soll! |
---|
202 |
{ output.state before.all = |
---|
203 |
'skip$ |
---|
204 |
{ colon.after 'output.state := } |
---|
205 |
if$ |
---|
206 |
} |
---|
207 |
|
---|
208 |
%% Wenn ein " " die Satzteile trennen soll.! |
---|
209 |
FUNCTION {new.sentence} |
---|
210 |
{ output.state before.all = |
---|
211 |
'skip$ |
---|
212 |
{ after.sentence 'output.state := } |
---|
213 |
if$ |
---|
214 |
} |
---|
215 |
|
---|
216 |
%% neu 17/2/94 Wenn ein ", " die Satzteile trennen soll.! |
---|
217 |
FUNCTION { part.of.sentence } |
---|
218 |
{ output.state before.all = |
---|
219 |
'skip$ |
---|
220 |
{ mid.sentence 'output.state := } |
---|
221 |
if$ |
---|
222 |
} |
---|
223 |
|
---|
224 |
FUNCTION {new.sentence.checka} |
---|
225 |
{ empty$ |
---|
226 |
'skip$ |
---|
227 |
'new.sentence |
---|
228 |
if$ |
---|
229 |
} |
---|
230 |
|
---|
231 |
FUNCTION {output.nonnull} |
---|
232 |
{ 's := |
---|
233 |
output.state after.block = |
---|
234 |
{ add.period$ write$ |
---|
235 |
newline$ |
---|
236 |
"\newblock " write$ |
---|
237 |
} |
---|
238 |
{ output.state before.all = |
---|
239 |
{ write$ } |
---|
240 |
{ output.state colon.after = |
---|
241 |
{ ": " * write$ |
---|
242 |
newline$ |
---|
243 |
"\newblock " write$ |
---|
244 |
} |
---|
245 |
{ output.state period.dash = |
---|
246 |
{ ". -- " * write$ |
---|
247 |
newline$ |
---|
248 |
"\newblock " write$ |
---|
249 |
} |
---|
250 |
{ output.state mid.sentence = |
---|
251 |
{ ", " * write$ } |
---|
252 |
{ output.state after.sentence = |
---|
253 |
{ " " * write$ } |
---|
254 |
{ output.state after.firstblock = |
---|
255 |
{ add.period$ write$ |
---|
256 |
newline$ |
---|
257 |
"\newblock " write$ |
---|
258 |
} |
---|
259 |
{ write$ |
---|
260 |
newline$ |
---|
261 |
"\newblock " write$ |
---|
262 |
} |
---|
263 |
if$ |
---|
264 |
} |
---|
265 |
if$ |
---|
266 |
} |
---|
267 |
if$ |
---|
268 |
} |
---|
269 |
if$ |
---|
270 |
} |
---|
271 |
if$ |
---|
272 |
} |
---|
273 |
if$ |
---|
274 |
after.block 'output.state := |
---|
275 |
} |
---|
276 |
if$ |
---|
277 |
s |
---|
278 |
} |
---|
279 |
|
---|
280 |
FUNCTION {output} |
---|
281 |
{ duplicate$ empty$ |
---|
282 |
'pop$ |
---|
283 |
'output.nonnull |
---|
284 |
if$ |
---|
285 |
} |
---|
286 |
|
---|
287 |
FUNCTION {output.check} |
---|
288 |
{ 't := |
---|
289 |
duplicate$ empty$ |
---|
290 |
{ pop$ "empty " t * " in " * cite$ * warning$ } |
---|
291 |
'output.nonnull |
---|
292 |
if$ |
---|
293 |
} |
---|
294 |
|
---|
295 |
|
---|
296 |
FUNCTION {new.block} |
---|
297 |
{ output.state before.all = |
---|
298 |
'skip$ |
---|
299 |
{ after.block 'output.state := } |
---|
300 |
if$ |
---|
301 |
} |
---|
302 |
|
---|
303 |
FUNCTION {not} |
---|
304 |
{ { #0 } |
---|
305 |
{ #1 } |
---|
306 |
if$ |
---|
307 |
} |
---|
308 |
|
---|
309 |
FUNCTION {and} |
---|
310 |
{ 'skip$ |
---|
311 |
{ pop$ #0 } |
---|
312 |
if$ |
---|
313 |
} |
---|
314 |
|
---|
315 |
FUNCTION {or} |
---|
316 |
{ { pop$ #1 } |
---|
317 |
'skip$ |
---|
318 |
if$ |
---|
319 |
} |
---|
320 |
|
---|
321 |
FUNCTION {format.doi} |
---|
322 |
{ doi empty$ |
---|
323 |
{ "" } |
---|
324 |
{ new.block " \url{http://dx.doi.org/" doi * "}" * |
---|
325 |
%% { new.block " \url{http://dx.medra.org/" doi * "}" * |
---|
326 |
} |
---|
327 |
if$ |
---|
328 |
} |
---|
329 |
|
---|
330 |
|
---|
331 |
FUNCTION {format.url} |
---|
332 |
{ urn missing$ |
---|
333 |
{ doi missing$ |
---|
334 |
{ url empty$ |
---|
335 |
{ "" } |
---|
336 |
{ type empty$ NOT |
---|
337 |
{ type #-1 #4 substring$ "mail" = |
---|
338 |
type #1 #4 substring$ "Mail" = |
---|
339 |
OR |
---|
340 |
{ " Adressat: \url{" url * "}" * } |
---|
341 |
{ " \url{" url * "}" * }%% evtl. "URL" oder "<...>" |
---|
342 |
if$ |
---|
343 |
} |
---|
344 |
{ " \url{" url * "}" * }%% evtl. "URL" oder "<...>" |
---|
345 |
if$ |
---|
346 |
} |
---|
347 |
if$ |
---|
348 |
} |
---|
349 |
{ format.doi } |
---|
350 |
if$ |
---|
351 |
} |
---|
352 |
{ " \url{http://nbn-resolving.de/urn/resolver.pl?urn=" urn * "}" * |
---|
353 |
} |
---|
354 |
if$ |
---|
355 |
} |
---|
356 |
|
---|
357 |
FUNCTION {format.full.names} |
---|
358 |
{'s := |
---|
359 |
#1 'nameptr := |
---|
360 |
s num.names$ 'numnames := |
---|
361 |
numnames 'namesleft := |
---|
362 |
{ namesleft #0 > } |
---|
363 |
{ s nameptr |
---|
364 |
"{vv~}{ll}" format.name$ 't := |
---|
365 |
nameptr #1 > |
---|
366 |
{ |
---|
367 |
namesleft #1 > |
---|
368 |
{ ", " * t * } |
---|
369 |
{ |
---|
370 |
numnames #2 > |
---|
371 |
{ "," * } |
---|
372 |
'skip$ |
---|
373 |
if$ |
---|
374 |
t "others" = |
---|
375 |
{ ua.etal * } |
---|
376 |
{ und * t * } |
---|
377 |
if$ |
---|
378 |
} |
---|
379 |
if$ |
---|
380 |
} |
---|
381 |
't |
---|
382 |
if$ |
---|
383 |
nameptr #1 + 'nameptr := |
---|
384 |
namesleft #1 - 'namesleft := |
---|
385 |
} |
---|
386 |
while$ |
---|
387 |
} |
---|
388 |
|
---|
389 |
FUNCTION {author.editor.full} |
---|
390 |
{ author empty$ |
---|
391 |
{ editor empty$ |
---|
392 |
{ "" } |
---|
393 |
{ editor format.full.names } |
---|
394 |
if$ |
---|
395 |
} |
---|
396 |
{ author format.full.names } |
---|
397 |
if$ |
---|
398 |
} |
---|
399 |
|
---|
400 |
FUNCTION {author.full} |
---|
401 |
{ author empty$ |
---|
402 |
{ "" } |
---|
403 |
{ author format.full.names } |
---|
404 |
if$ |
---|
405 |
} |
---|
406 |
|
---|
407 |
FUNCTION {editor.full} |
---|
408 |
{ editor empty$ |
---|
409 |
{ "" } |
---|
410 |
{ editor format.full.names } |
---|
411 |
if$ |
---|
412 |
} |
---|
413 |
|
---|
414 |
FUNCTION {make.full.names} |
---|
415 |
{ type$ "book" = |
---|
416 |
type$ "inbook" = |
---|
417 |
or |
---|
418 |
'author.editor.full |
---|
419 |
{ type$ "proceedings" = |
---|
420 |
'editor.full |
---|
421 |
'author.full |
---|
422 |
if$ |
---|
423 |
} |
---|
424 |
if$ |
---|
425 |
} |
---|
426 |
|
---|
427 |
|
---|
428 |
FUNCTION {output.bibitem} |
---|
429 |
{ newline$ |
---|
430 |
"\bibitem[" write$ |
---|
431 |
label write$ |
---|
432 |
")" make.full.names duplicate$ short.list = |
---|
433 |
{ pop$ } |
---|
434 |
{ * } |
---|
435 |
if$ |
---|
436 |
"]{" * write$ |
---|
437 |
cite$ write$ |
---|
438 |
"}" write$ |
---|
439 |
newline$ |
---|
440 |
"\dinatlabel{" dinat.label * "}\\ " * |
---|
441 |
write$ |
---|
442 |
"" |
---|
443 |
before.all 'output.state := |
---|
444 |
} |
---|
445 |
|
---|
446 |
|
---|
447 |
FUNCTION {fin.entry} |
---|
448 |
{ write$ |
---|
449 |
newline$ |
---|
450 |
} |
---|
451 |
|
---|
452 |
FUNCTION {field.or.null} |
---|
453 |
{ duplicate$ empty$ |
---|
454 |
{ pop$ "" } |
---|
455 |
'skip$ |
---|
456 |
if$ |
---|
457 |
} |
---|
458 |
|
---|
459 |
FUNCTION {emphasize} |
---|
460 |
{ duplicate$ empty$ |
---|
461 |
{ pop$ "" } |
---|
462 |
{ "\emph{" swap$ * "}" * } |
---|
463 |
if$ |
---|
464 |
} |
---|
465 |
|
---|
466 |
FUNCTION { capitalize } |
---|
467 |
{ duplicate$ empty$ |
---|
468 |
{ pop$ "" } |
---|
469 |
{ "\textsc{" swap$ * "}" * } |
---|
470 |
if$ |
---|
471 |
} |
---|
472 |
|
---|
473 |
FUNCTION {article.in.journal} |
---|
474 |
{ duplicate$ empty$ |
---|
475 |
{ pop$ "" } |
---|
476 |
{ author missing$ title missing$ and |
---|
477 |
{ emphasize } |
---|
478 |
{ emphasize "{In: }" swap$ * } |
---|
479 |
if$ |
---|
480 |
} |
---|
481 |
if$ |
---|
482 |
} |
---|
483 |
|
---|
484 |
FUNCTION {format.names} |
---|
485 |
{ 's := |
---|
486 |
"" 'u := |
---|
487 |
#1 'nameptr := |
---|
488 |
s num.names$ 'numnames := |
---|
489 |
numnames 'namesleft := |
---|
490 |
{ namesleft #0 > } |
---|
491 |
{ |
---|
492 |
s nameptr "{ll}" format.name$ 't := |
---|
493 |
t capitalize 't := |
---|
494 |
s nameptr "{, ff}{ vv}" format.name$ 'u := |
---|
495 |
u text.length$ 'lang := |
---|
496 |
#1 'zahl := |
---|
497 |
"" 'v := |
---|
498 |
{ zahl lang < } |
---|
499 |
{ u zahl #1 substring$ "~" = |
---|
500 |
{ v "" = |
---|
501 |
{ u #1 zahl #1 - substring$ 'v := } |
---|
502 |
'skip$ |
---|
503 |
if$ |
---|
504 |
v u zahl #2 substring$ * "." * 'v := } |
---|
505 |
'skip$ |
---|
506 |
if$ |
---|
507 |
zahl #1 + 'zahl := } |
---|
508 |
while$ |
---|
509 |
v "" = |
---|
510 |
{ u 'v := } |
---|
511 |
'skip$ |
---|
512 |
if$ |
---|
513 |
t v * fkt * 't := |
---|
514 |
nameptr #1 > |
---|
515 |
{ namesleft #1 > |
---|
516 |
{ " ; " * t * } |
---|
517 |
{ numnames #2 > |
---|
518 |
{ " " * } |
---|
519 |
'skip$ |
---|
520 |
if$ |
---|
521 |
t "\textsc{others}" = t "\textsc{others} (Hrsg.)" = or |
---|
522 |
{ ua.etal * } |
---|
523 |
{ " ; " * t * } |
---|
524 |
if$ |
---|
525 |
} |
---|
526 |
if$ %% Ende der namesleft-Pruefung |
---|
527 |
} |
---|
528 |
't |
---|
529 |
if$ %% Ende der nameptr-Pruefung |
---|
530 |
|
---|
531 |
nameptr #1 + 'nameptr := |
---|
532 |
namesleft #1 - 'namesleft := |
---|
533 |
} |
---|
534 |
while$ %% Ende von { namesleft #0 > } ganz oben |
---|
535 |
"" 'fkt := %% fkt wird zurueckgesetzt |
---|
536 |
} |
---|
537 |
|
---|
538 |
FUNCTION {format.authors} |
---|
539 |
{ author empty$ |
---|
540 |
{ "" } |
---|
541 |
{ author format.names } |
---|
542 |
if$ |
---|
543 |
} |
---|
544 |
|
---|
545 |
FUNCTION {format.editors} |
---|
546 |
{ editor empty$ |
---|
547 |
{ author empty$ |
---|
548 |
{ "empty author and editor in " cite$ * warning$ "" } |
---|
549 |
'skip$ |
---|
550 |
if$ |
---|
551 |
} |
---|
552 |
{ author empty$ |
---|
553 |
{ " (Hrsg.)" 'fkt := |
---|
554 |
editor format.names %%%%* %%% Test 26.11.03 |
---|
555 |
} |
---|
556 |
{ " (Hrsg.)" 'fkt := |
---|
557 |
" ; " * editor format.names * |
---|
558 |
} |
---|
559 |
if$ |
---|
560 |
} |
---|
561 |
if$ |
---|
562 |
} |
---|
563 |
|
---|
564 |
FUNCTION { format.authors.organization } |
---|
565 |
{ type$ "misc" = |
---|
566 |
{ organization empty$ |
---|
567 |
{ author empty$ |
---|
568 |
{ "" } |
---|
569 |
{ author format.names " (Erfinder)" * } |
---|
570 |
if$ |
---|
571 |
} |
---|
572 |
{ author empty$ |
---|
573 |
{ organization } |
---|
574 |
{ author format.names " (Erfinder); " * |
---|
575 |
organization * " (Anmelder)" * |
---|
576 |
} |
---|
577 |
if$ |
---|
578 |
} |
---|
579 |
if$ |
---|
580 |
} |
---|
581 |
'skip$ |
---|
582 |
if$ |
---|
583 |
} |
---|
584 |
|
---|
585 |
FUNCTION { format.editors.organization } |
---|
586 |
{ organization empty$ |
---|
587 |
'skip$ |
---|
588 |
{ type$ "misc" = |
---|
589 |
{ organization } |
---|
590 |
{ * " ; " * organization " (Veranst.)" *} |
---|
591 |
if$ |
---|
592 |
} |
---|
593 |
if$ |
---|
594 |
} |
---|
595 |
|
---|
596 |
FUNCTION {format.ed.incoll} |
---|
597 |
{ editor empty$ |
---|
598 |
{ "" } |
---|
599 |
{ " (Hrsg.)" 'fkt := |
---|
600 |
editor format.names |
---|
601 |
} |
---|
602 |
if$ |
---|
603 |
} |
---|
604 |
|
---|
605 |
|
---|
606 |
FUNCTION {format.title} |
---|
607 |
{ title empty$ |
---|
608 |
{ "" } |
---|
609 |
{ title } %% Text so wie er dasteht im Feld title |
---|
610 |
if$ |
---|
611 |
} |
---|
612 |
|
---|
613 |
FUNCTION {format.number} |
---|
614 |
{ number empty$ |
---|
615 |
{ "" } |
---|
616 |
{ number " " * } %% Text so wie er im Feld number steht plus " " |
---|
617 |
if$ |
---|
618 |
} |
---|
619 |
|
---|
620 |
FUNCTION {format.type} |
---|
621 |
{ type empty$ |
---|
622 |
{ "" } |
---|
623 |
{ type " " * } %% Text wie er dasteht; Schutzrecht, Norm etc. |
---|
624 |
if$ |
---|
625 |
} |
---|
626 |
|
---|
627 |
FUNCTION {n.dashify} |
---|
628 |
{ 't := |
---|
629 |
"" |
---|
630 |
{ t empty$ not } |
---|
631 |
{ t #1 #1 substring$ "-" = |
---|
632 |
{ t #1 #2 substring$ "--" = not |
---|
633 |
{ "--" * |
---|
634 |
t #2 global.max$ substring$ 't := |
---|
635 |
} |
---|
636 |
{ { t #1 #1 substring$ "-" = } |
---|
637 |
{ "-" * |
---|
638 |
t #2 global.max$ substring$ 't := |
---|
639 |
} |
---|
640 |
while$ |
---|
641 |
} |
---|
642 |
if$ |
---|
643 |
} |
---|
644 |
{ t #1 #1 substring$ * |
---|
645 |
t #2 global.max$ substring$ 't := |
---|
646 |
} |
---|
647 |
if$ |
---|
648 |
} |
---|
649 |
while$ |
---|
650 |
} |
---|
651 |
|
---|
652 |
%% Auflagenvermerke gibt man komplett, einschliesslich Abkuerzungen in |
---|
653 |
%% das Feld edition ein: ---> EDITION= { 3., erw. und verb. Aufl. } |
---|
654 |
%% oder fremdsprachlich: EDITION= { 2nd edition } |
---|
655 |
|
---|
656 |
FUNCTION {format.edition} |
---|
657 |
{ edition empty$ |
---|
658 |
{ "" } |
---|
659 |
{ edition } |
---|
660 |
if$ |
---|
661 |
} |
---|
662 |
|
---|
663 |
FUNCTION {format.date} |
---|
664 |
{ year duplicate$ empty$ |
---|
665 |
{ "empty year in " cite$ * warning$ |
---|
666 |
pop$ "" } |
---|
667 |
'skip$ |
---|
668 |
if$ |
---|
669 |
month empty$ |
---|
670 |
'skip$ |
---|
671 |
{ type$ "book" = |
---|
672 |
type$ "inbook" = |
---|
673 |
OR |
---|
674 |
'skip$ |
---|
675 |
{ month " " * swap$ * } |
---|
676 |
if$ |
---|
677 |
} |
---|
678 |
if$ |
---|
679 |
%% ohne Extrabuchstabe beim Erscheinungsjahr |
---|
680 |
} |
---|
681 |
|
---|
682 |
|
---|
683 |
FUNCTION {format.edition.or.date} |
---|
684 |
{ edition empty$ year empty$ and |
---|
685 |
{ "" } |
---|
686 |
{ edition empty$ |
---|
687 |
{ type empty$ NOT |
---|
688 |
{ type #-1 #4 substring$ "mail" = |
---|
689 |
type #1 #4 substring$ "Mail" = |
---|
690 |
OR |
---|
691 |
{ " gesendet: " "-- " type * swap$ * |
---|
692 |
format.date * |
---|
693 |
} |
---|
694 |
{ "\,Version:\," |
---|
695 |
format.date * |
---|
696 |
} |
---|
697 |
if$ |
---|
698 |
} |
---|
699 |
{ "\,Version:\," |
---|
700 |
format.date * |
---|
701 |
} |
---|
702 |
if$ |
---|
703 |
} |
---|
704 |
{ year empty$ |
---|
705 |
{ "\,Version:\," edition * } |
---|
706 |
{ "\,Version:\," edition * ", " * |
---|
707 |
format.date * |
---|
708 |
} |
---|
709 |
if$ |
---|
710 |
} |
---|
711 |
if$ |
---|
712 |
} |
---|
713 |
if$ |
---|
714 |
} |
---|
715 |
|
---|
716 |
FUNCTION {format.edition.or.version} |
---|
717 |
{ url empty$ doi empty$ urn empty$ and and |
---|
718 |
{ format.edition } |
---|
719 |
{ format.edition.or.date } |
---|
720 |
if$ |
---|
721 |
} |
---|
722 |
|
---|
723 |
FUNCTION {format.address.publisher.year} |
---|
724 |
{ publisher empty$ |
---|
725 |
{ address empty$ |
---|
726 |
{ year empty$ |
---|
727 |
{ "" } |
---|
728 |
{ url empty$ |
---|
729 |
{ year } |
---|
730 |
{ "" } |
---|
731 |
if$ |
---|
732 |
} |
---|
733 |
if$ |
---|
734 |
} |
---|
735 |
{ "there's an address but no publisher in " cite$ * warning$ |
---|
736 |
address ", " * format.date * |
---|
737 |
} |
---|
738 |
if$ |
---|
739 |
} |
---|
740 |
{ url empty$ |
---|
741 |
{ address empty$ |
---|
742 |
{ year empty$ |
---|
743 |
{ "neither address nor publication date in " cite$ * warning$ |
---|
744 |
publisher |
---|
745 |
} |
---|
746 |
{ publisher ", " * format.date * } |
---|
747 |
if$ |
---|
748 |
} |
---|
749 |
{ year empty$ |
---|
750 |
{ address " : " * publisher * } |
---|
751 |
{ address " : " * publisher * ", " * format.date * } |
---|
752 |
if$ |
---|
753 |
} |
---|
754 |
if$ |
---|
755 |
} |
---|
756 |
{ publisher } |
---|
757 |
if$ |
---|
758 |
} |
---|
759 |
if$ |
---|
760 |
} |
---|
761 |
|
---|
762 |
FUNCTION {format.howpublished} |
---|
763 |
{ url missing$ urn missing$ doi missing$ AND AND |
---|
764 |
{ howpublished empty$ |
---|
765 |
{ address empty$ |
---|
766 |
{ type empty$ |
---|
767 |
{ "" } |
---|
768 |
{ type #-1 #4 substring$ "mail" = |
---|
769 |
{ "(gesendet: " new.sentence |
---|
770 |
format.date * ")" * |
---|
771 |
} |
---|
772 |
{ "" } |
---|
773 |
if$ |
---|
774 |
} |
---|
775 |
if$ |
---|
776 |
format.date * |
---|
777 |
} |
---|
778 |
{ address ", " * format.date * } |
---|
779 |
if$ |
---|
780 |
} |
---|
781 |
{ address empty$ |
---|
782 |
{ howpublished ", " * format.date * } |
---|
783 |
{ address " : " * howpublished * ", " * format.date * } |
---|
784 |
if$ |
---|
785 |
} |
---|
786 |
if$ |
---|
787 |
} |
---|
788 |
{ howpublished empty$ |
---|
789 |
{ "" } |
---|
790 |
{ howpublished } |
---|
791 |
if$ |
---|
792 |
} |
---|
793 |
if$ |
---|
794 |
} |
---|
795 |
|
---|
796 |
FUNCTION {format.version.url} |
---|
797 |
{ url empty$ doi empty$ urn empty$ and and |
---|
798 |
{ type$ "techreport" = |
---|
799 |
{ format.edition } |
---|
800 |
{ "" } |
---|
801 |
if$ |
---|
802 |
} |
---|
803 |
{ format.edition.or.date output format.url } |
---|
804 |
if$ |
---|
805 |
} |
---|
806 |
|
---|
807 |
FUNCTION {format.lastchecked} |
---|
808 |
%% dann gibt es einen URL oder URN oder DOI! |
---|
809 |
{ url empty$ doi empty$ urn empty$ and and |
---|
810 |
{ skip$ } |
---|
811 |
{ format.url output |
---|
812 |
type set.period.dash.check |
---|
813 |
type output } |
---|
814 |
if$ |
---|
815 |
lastchecked empty$ |
---|
816 |
{ skip$ } |
---|
817 |
{ part.of.sentence |
---|
818 |
lastchecked "Abruf: " swap$ * |
---|
819 |
} |
---|
820 |
if$ |
---|
821 |
} |
---|
822 |
|
---|
823 |
FUNCTION {format.lastchecked.or.type} |
---|
824 |
{ lastchecked empty$ |
---|
825 |
{ url empty$ doi empty$ urn empty$ and and |
---|
826 |
{ type empty$ |
---|
827 |
{ skip$ } |
---|
828 |
{ type set.period.dash.check |
---|
829 |
type output |
---|
830 |
} |
---|
831 |
if$ |
---|
832 |
} |
---|
833 |
{ type empty$ |
---|
834 |
{ skip$ } |
---|
835 |
{ type #-1 #4 substring$ "mail" = |
---|
836 |
type #1 #4 substring$ "Mail" = |
---|
837 |
OR |
---|
838 |
{ skip$ } |
---|
839 |
{ type set.period.dash.check |
---|
840 |
type output } |
---|
841 |
if$ |
---|
842 |
} |
---|
843 |
if$ |
---|
844 |
} |
---|
845 |
if$ |
---|
846 |
} |
---|
847 |
{ url empty$ doi empty$ urn empty$ and and |
---|
848 |
{ "there's a lastchecked date but no url, urn or doi in " |
---|
849 |
cite$ * warning$ |
---|
850 |
} |
---|
851 |
{ type empty$ |
---|
852 |
{ "there's a URL and a lastchecked date but no type in " |
---|
853 |
cite$ * warning$ |
---|
854 |
} |
---|
855 |
{ type set.period.dash.check |
---|
856 |
type output |
---|
857 |
part.of.sentence |
---|
858 |
lastchecked "Abruf: " swap$ * output |
---|
859 |
} |
---|
860 |
if$ |
---|
861 |
} |
---|
862 |
if$ |
---|
863 |
} |
---|
864 |
if$ |
---|
865 |
} |
---|
866 |
|
---|
867 |
FUNCTION {format.btitle} |
---|
868 |
{ title emphasize |
---|
869 |
} |
---|
870 |
|
---|
871 |
FUNCTION {tie.or.space.connect} |
---|
872 |
{ duplicate$ text.length$ #3 < |
---|
873 |
{ "~" } |
---|
874 |
{ " " } |
---|
875 |
if$ |
---|
876 |
swap$ * * |
---|
877 |
} |
---|
878 |
|
---|
879 |
FUNCTION {format.btitle.vol} |
---|
880 |
{ number empty$ |
---|
881 |
{ series empty$ |
---|
882 |
{ volume empty$ |
---|
883 |
{ title emphasize } |
---|
884 |
{ title emphasize ". Bd." * volume tie.or.space.connect } |
---|
885 |
if$ |
---|
886 |
} |
---|
887 |
{ volume empty$ |
---|
888 |
{ title emphasize }%% ein Buch, das zusaetzl. SERIES=Reihentitel besitzt |
---|
889 |
%% jetzt kommt d. Fall des mehrbaendigen Werkes mit Gesamttitel=SERIES |
---|
890 |
%% Zaehlung=VOLUME und Bandtitel=TITLE; |
---|
891 |
{ series emphasize ". Bd." * volume tie.or.space.connect |
---|
892 |
": " * "{\emph{" * title * "}}" * } |
---|
893 |
if$ |
---|
894 |
} |
---|
895 |
if$%% series-test |
---|
896 |
} |
---|
897 |
{ title emphasize }%% wenn number ex., dann immer title-Feld |
---|
898 |
if$%% Ende number-test |
---|
899 |
} |
---|
900 |
|
---|
901 |
FUNCTION {format.series.number.din} |
---|
902 |
{ volume empty$ |
---|
903 |
{ number empty$ |
---|
904 |
{ series empty$ |
---|
905 |
{ "" } |
---|
906 |
{ "(" series * ")" * } %% d. Seriennr koennte auch gleich hier |
---|
907 |
%% im SERIES-Feld miterfasst werden |
---|
908 |
if$ |
---|
909 |
} |
---|
910 |
{ series empty$ |
---|
911 |
{ "(" number tie.or.space.connect ")" * |
---|
912 |
"there's a number but no series in " cite$ * warning$ |
---|
913 |
} |
---|
914 |
{ "(" series * number tie.or.space.connect ")" * } |
---|
915 |
if$ |
---|
916 |
} |
---|
917 |
if$ |
---|
918 |
} |
---|
919 |
{ series empty$ |
---|
920 |
{ "" } |
---|
921 |
{ type$ "proceedings" = %% Sonderfall, es darf VOLUME und NUMBER ex. ! |
---|
922 |
{ number empty$ |
---|
923 |
{ "(" series * ")" * } |
---|
924 |
{ "(" series * number tie.or.space.connect ")" * } |
---|
925 |
if$ |
---|
926 |
} |
---|
927 |
{ "" }%% Ausstieg mit Nullstring, s. Kommentar |
---|
928 |
if$ |
---|
929 |
}%% bei gezaehlten Reihen MUSS die Reihennr. im Feld NUMBER stehen! |
---|
930 |
if$ %% wenn also d. Feld VOLUME nicht leer ist, dann liegt ausser bei |
---|
931 |
%% Typ PROCEEDINGS falsche |
---|
932 |
} %% Erfassung vor und es erfolgt d. Ausstieg mit d. Nullstring! |
---|
933 |
if$ |
---|
934 |
} |
---|
935 |
|
---|
936 |
FUNCTION {format.tr.series.or.number} |
---|
937 |
{ number empty$ |
---|
938 |
{ series empty$ |
---|
939 |
{ "" } |
---|
940 |
{ "(" series * ")" * } |
---|
941 |
if$ |
---|
942 |
} |
---|
943 |
{ series empty$ |
---|
944 |
{ "(" number * ")" * } |
---|
945 |
{ "(" series * number tie.or.space.connect ")" * } |
---|
946 |
if$ |
---|
947 |
} |
---|
948 |
if$ |
---|
949 |
} |
---|
950 |
|
---|
951 |
FUNCTION {format.misc.series} |
---|
952 |
{ series empty$ |
---|
953 |
{ "" } |
---|
954 |
{ "(" series * ")" * } |
---|
955 |
if$ |
---|
956 |
} |
---|
957 |
FUNCTION { format.doi.urn } |
---|
958 |
{ urn empty$ |
---|
959 |
{ doi empty$ |
---|
960 |
{ "" } |
---|
961 |
{ "DOI" doi n.dashify tie.or.space.connect } |
---|
962 |
if$ |
---|
963 |
} |
---|
964 |
{ "URN" urn n.dashify tie.or.space.connect } |
---|
965 |
if$ |
---|
966 |
} |
---|
967 |
|
---|
968 |
FUNCTION { format.isbn.issn } |
---|
969 |
{ isbn empty$ |
---|
970 |
{ issn empty$ |
---|
971 |
{ "" } |
---|
972 |
{ "ISSN" issn n.dashify tie.or.space.connect } |
---|
973 |
if$ |
---|
974 |
} |
---|
975 |
{ "ISBN" isbn n.dashify tie.or.space.connect } |
---|
976 |
if$ |
---|
977 |
} |
---|
978 |
|
---|
979 |
FUNCTION {format.pages.book} |
---|
980 |
{ pages empty$ |
---|
981 |
{ "" } |
---|
982 |
{ "" pages n.dashify tie.or.space.connect " S" *} |
---|
983 |
if$ |
---|
984 |
} |
---|
985 |
|
---|
986 |
FUNCTION {format.pages} |
---|
987 |
{ pages empty$ |
---|
988 |
{ "" } |
---|
989 |
{ url empty$ |
---|
990 |
{ "S." pages n.dashify tie.or.space.connect } |
---|
991 |
{ pages } |
---|
992 |
if$ |
---|
993 |
} |
---|
994 |
if$ |
---|
995 |
} |
---|
996 |
|
---|
997 |
FUNCTION {format.vol.year.num.pages} |
---|
998 |
{ volume field.or.null |
---|
999 |
year empty$ |
---|
1000 |
{ "there's a volume but no year in " cite$ * warning$ } |
---|
1001 |
{ " (" year * ")" * * } |
---|
1002 |
if$ |
---|
1003 |
month empty$ |
---|
1004 |
'skip$ |
---|
1005 |
{ ", " month * * } |
---|
1006 |
if$ |
---|
1007 |
number empty$ |
---|
1008 |
'skip$ |
---|
1009 |
{ ", Nr. " number * * } |
---|
1010 |
if$ |
---|
1011 |
pages empty$ |
---|
1012 |
'skip$ |
---|
1013 |
{ duplicate$ empty$ |
---|
1014 |
{ pop$ "" } |
---|
1015 |
{ title missing$ |
---|
1016 |
{ ", " format.pages.book * *} |
---|
1017 |
{ ", " format.pages * *} |
---|
1018 |
if$ |
---|
1019 |
} |
---|
1020 |
if$ |
---|
1021 |
} |
---|
1022 |
if$ |
---|
1023 |
} |
---|
1024 |
|
---|
1025 |
FUNCTION {format.chapter.inbook} |
---|
1026 |
{ duplicate$ empty$ |
---|
1027 |
{ pop$ "empty chapter in " cite$ * warning$ } |
---|
1028 |
{ type empty$ |
---|
1029 |
{ "\emph{Kapitel\/} " swap$ tie.or.space.connect } |
---|
1030 |
{ type " " * swap$ * }%% wenn keine bes. Abschnittsform gen. werden soll, |
---|
1031 |
%% koennte e. kl. Zwischenraum gewaehlt werden, z.B. " \, " |
---|
1032 |
if$ |
---|
1033 |
} |
---|
1034 |
if$ |
---|
1035 |
} |
---|
1036 |
|
---|
1037 |
FUNCTION {format.chapter.pages} |
---|
1038 |
{ chapter empty$ |
---|
1039 |
'format.pages |
---|
1040 |
{ type empty$ |
---|
1041 |
{ "Kapitel " } |
---|
1042 |
{ url empty$ |
---|
1043 |
{ type } |
---|
1044 |
{ "Kapitel " } |
---|
1045 |
if$ |
---|
1046 |
} |
---|
1047 |
if$ |
---|
1048 |
chapter tie.or.space.connect |
---|
1049 |
pages empty$ |
---|
1050 |
'skip$ |
---|
1051 |
{ ", " * format.pages * } |
---|
1052 |
if$ |
---|
1053 |
} |
---|
1054 |
if$ |
---|
1055 |
} |
---|
1056 |
|
---|
1057 |
FUNCTION {format.in.ed.booktitle.din} |
---|
1058 |
{ booktitle empty$ |
---|
1059 |
{ "" } |
---|
1060 |
{ editor empty$ |
---|
1061 |
{ volume empty$ |
---|
1062 |
{ "{In: }" booktitle emphasize * }%% n. Belieben fettes In: |
---|
1063 |
{ "{In: }" booktitle emphasize * %% - " - |
---|
1064 |
" Bd." volume tie.or.space.connect * |
---|
1065 |
} |
---|
1066 |
if$ |
---|
1067 |
} |
---|
1068 |
{ volume empty$ |
---|
1069 |
{ "{In: }" format.ed.incoll * ": " * booktitle emphasize * } |
---|
1070 |
{ "{In: }" format.ed.incoll * ": " * booktitle emphasize * |
---|
1071 |
" Bd." volume tie.or.space.connect * |
---|
1072 |
} |
---|
1073 |
if$ |
---|
1074 |
} |
---|
1075 |
if$ |
---|
1076 |
} |
---|
1077 |
if$ |
---|
1078 |
} |
---|
1079 |
|
---|
1080 |
FUNCTION {format.thesis.tr.type} |
---|
1081 |
{ type empty$ |
---|
1082 |
'skip$ |
---|
1083 |
{ pop$ |
---|
1084 |
type |
---|
1085 |
} |
---|
1086 |
if$ |
---|
1087 |
} |
---|
1088 |
|
---|
1089 |
FUNCTION {format.digital.resource.type} |
---|
1090 |
{ lastchecked empty$ |
---|
1091 |
{ url empty$ doi empty$ urn empty$ and and |
---|
1092 |
{ skip$ } |
---|
1093 |
{ eress set.period.dash.check |
---|
1094 |
eress output |
---|
1095 |
} |
---|
1096 |
if$ |
---|
1097 |
} |
---|
1098 |
{ url empty$ doi empty$ urn empty$ and and |
---|
1099 |
{ "there's a lastchecked date but no url, urn or doi in " |
---|
1100 |
cite$ * warning$ |
---|
1101 |
} |
---|
1102 |
{ onlress set.period.dash.check |
---|
1103 |
onlress output |
---|
1104 |
part.of.sentence |
---|
1105 |
lastchecked "Abruf: " swap$ * output |
---|
1106 |
} |
---|
1107 |
if$ |
---|
1108 |
} |
---|
1109 |
if$ |
---|
1110 |
} |
---|
1111 |
|
---|
1112 |
FUNCTION {format.online.resource} |
---|
1113 |
{ lastchecked empty$ |
---|
1114 |
{ url empty$ doi empty$ urn empty$ and and |
---|
1115 |
{ skip$ } |
---|
1116 |
{ onlress set.period.dash.check |
---|
1117 |
onlress output |
---|
1118 |
} |
---|
1119 |
if$ |
---|
1120 |
} |
---|
1121 |
{ url empty$ doi empty$ urn empty$ and and |
---|
1122 |
{ "there's a lastchecked date but no url, urn or doi in " |
---|
1123 |
cite$ * warning$ |
---|
1124 |
} |
---|
1125 |
{ onlress set.period.dash.check |
---|
1126 |
onlress output |
---|
1127 |
part.of.sentence |
---|
1128 |
lastchecked "Abruf: " swap$ * output |
---|
1129 |
} |
---|
1130 |
if$ |
---|
1131 |
} |
---|
1132 |
if$ |
---|
1133 |
} |
---|
1134 |
|
---|
1135 |
|
---|
1136 |
FUNCTION {format.type.or.online.resource} |
---|
1137 |
{ type empty$ |
---|
1138 |
{ format.online.resource } |
---|
1139 |
{ type set.period.dash.check |
---|
1140 |
type output } |
---|
1141 |
if$ |
---|
1142 |
} |
---|
1143 |
|
---|
1144 |
FUNCTION {format.article.crossref} |
---|
1145 |
{ key empty$ |
---|
1146 |
{ journal empty$ |
---|
1147 |
{ "need key or journal for " cite$ * " to crossref " * crossref * |
---|
1148 |
warning$ |
---|
1149 |
"" |
---|
1150 |
} |
---|
1151 |
{ "{In: }{\emph " journal * "}" * }%% n. Belieben fettes In: |
---|
1152 |
if$ |
---|
1153 |
} |
---|
1154 |
{ "{In: }" key * }%% s.o. fettes In: |
---|
1155 |
if$ |
---|
1156 |
" {\textbf{\citep{" * crossref * "}" * "}" * "}" * ", " * format.pages * |
---|
1157 |
} |
---|
1158 |
|
---|
1159 |
FUNCTION {format.crossref.editor} |
---|
1160 |
%vorher,Lue { editor #1 "{vv~}{ll}" format.name$ " (Hrsg.)" * |
---|
1161 |
{ editor #1 "{ll}" format.name$ " (Hrsg.)" * |
---|
1162 |
editor num.names$ duplicate$ |
---|
1163 |
#2 > |
---|
1164 |
{ pop$ " [u.~a.~]" * } |
---|
1165 |
%% { pop$ " et~al." * } |
---|
1166 |
{ #2 < |
---|
1167 |
'skip$ |
---|
1168 |
{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = |
---|
1169 |
{ " [u.~a.]" } |
---|
1170 |
%% { " et~al." * } |
---|
1171 |
{ " ; " * editor #2 "{vv~}{ll}" format.name$ * " (Hrsg.)" * } |
---|
1172 |
if$ |
---|
1173 |
} |
---|
1174 |
if$ |
---|
1175 |
} |
---|
1176 |
if$ |
---|
1177 |
} |
---|
1178 |
|
---|
1179 |
FUNCTION {format.inbk.vol.title} |
---|
1180 |
{ volume empty$ |
---|
1181 |
{ " In: " } |
---|
1182 |
{ title empty$ |
---|
1183 |
{ " In: Bd." volume tie.or.space.connect |
---|
1184 |
" von " * |
---|
1185 |
} |
---|
1186 |
{ "In: Bd." volume tie.or.space.connect ": " * title emphasize * |
---|
1187 |
" (" * year * ") in " * |
---|
1188 |
} |
---|
1189 |
if$ |
---|
1190 |
} |
---|
1191 |
if$ |
---|
1192 |
} |
---|
1193 |
|
---|
1194 |
FUNCTION {format.book.crossref} |
---|
1195 |
{ type$ "inbook" = |
---|
1196 |
{ format.inbk.vol.title } |
---|
1197 |
{ volume empty$ |
---|
1198 |
{ "empty volume in " cite$ * "'s crossref of " * crossref * warning$ |
---|
1199 |
" " |
---|
1200 |
} |
---|
1201 |
{ ". -- Bd." volume tie.or.space.connect |
---|
1202 |
" von " * |
---|
1203 |
} |
---|
1204 |
if$ |
---|
1205 |
} |
---|
1206 |
if$ |
---|
1207 |
editor empty$ |
---|
1208 |
editor field.or.null author field.or.null = |
---|
1209 |
or |
---|
1210 |
{ key empty$ |
---|
1211 |
{ series empty$ |
---|
1212 |
{ "need editor, key, or series for " cite$ * " to crossref " * |
---|
1213 |
crossref * warning$ |
---|
1214 |
"" * |
---|
1215 |
} |
---|
1216 |
{ "" * }%% dadurch kommt nach der Band Nr. gleich das label 2/6/99 |
---|
1217 |
%% { "{\emph{" * series * "}} {\textbf{siehe}} " * } |
---|
1218 |
if$ |
---|
1219 |
} |
---|
1220 |
{ key * } |
---|
1221 |
if$ |
---|
1222 |
} |
---|
1223 |
{ "" * } |
---|
1224 |
if$ |
---|
1225 |
"{\textbf{\citep{" * crossref * "}" * "}" * "}" * |
---|
1226 |
} |
---|
1227 |
|
---|
1228 |
FUNCTION {format.incoll.inproc.crossref} |
---|
1229 |
{ editor empty$ |
---|
1230 |
editor field.or.null author field.or.null = |
---|
1231 |
or |
---|
1232 |
{ key empty$ |
---|
1233 |
{ booktitle empty$ |
---|
1234 |
{ "need editor, key, or booktitle for " cite$ * " to crossref " * |
---|
1235 |
crossref * warning$ |
---|
1236 |
"" |
---|
1237 |
} |
---|
1238 |
{ "{In: }{\emph " booktitle * "}" * }%% |
---|
1239 |
if$ |
---|
1240 |
} |
---|
1241 |
{ "{In: }" } |
---|
1242 |
if$ |
---|
1243 |
} |
---|
1244 |
{ "{In: }" } |
---|
1245 |
if$ |
---|
1246 |
"{\textbf{\citep{" * crossref * "}" * "}" * "}" * ", " * format.pages *% |
---|
1247 |
} |
---|
1248 |
|
---|
1249 |
FUNCTION {article} |
---|
1250 |
{ output.bibitem |
---|
1251 |
format.authors "author" output.check |
---|
1252 |
set.colon.after |
---|
1253 |
format.title "title" output.check |
---|
1254 |
crossref missing$ |
---|
1255 |
{ journal article.in.journal output.nonnull |
---|
1256 |
new.sentence |
---|
1257 |
format.vol.year.num.pages output |
---|
1258 |
format.url output |
---|
1259 |
} |
---|
1260 |
{ format.article.crossref output.nonnull } |
---|
1261 |
if$ |
---|
1262 |
format.lastchecked.or.type |
---|
1263 |
note set.period.dash.check |
---|
1264 |
note output |
---|
1265 |
doi set.period.dash.check |
---|
1266 |
urn set.period.dash.check |
---|
1267 |
format.doi.urn output |
---|
1268 |
issn set.period.dash.check |
---|
1269 |
format.isbn.issn output |
---|
1270 |
fin.entry |
---|
1271 |
} |
---|
1272 |
|
---|
1273 |
FUNCTION {book} |
---|
1274 |
{ output.bibitem |
---|
1275 |
author empty$ |
---|
1276 |
{ format.editors "author and editor" output.check } |
---|
1277 |
{ format.authors format.editors output.nonnull } |
---|
1278 |
if$ |
---|
1279 |
set.colon.after |
---|
1280 |
crossref missing$ |
---|
1281 |
{ format.btitle.vol "title" output.check } |
---|
1282 |
{ format.btitle "title" output.check } |
---|
1283 |
if$ |
---|
1284 |
format.edition output |
---|
1285 |
format.address.publisher.year "publisher" output.check |
---|
1286 |
new.sentence |
---|
1287 |
crossref missing$ |
---|
1288 |
{ format.series.number.din output |
---|
1289 |
pages set.period.dash.check |
---|
1290 |
format.pages.book output |
---|
1291 |
} |
---|
1292 |
{ format.book.crossref output.nonnull |
---|
1293 |
pages set.period.dash.check |
---|
1294 |
format.pages.book output |
---|
1295 |
} |
---|
1296 |
if$ |
---|
1297 |
note set.period.dash.check |
---|
1298 |
note output |
---|
1299 |
format.doi output |
---|
1300 |
format.url output |
---|
1301 |
new.block |
---|
1302 |
isbn set.period.dash.check |
---|
1303 |
format.isbn.issn output |
---|
1304 |
fin.entry |
---|
1305 |
} |
---|
1306 |
|
---|
1307 |
%%% fuer Internetquellen mit URL, 9.12.2004 |
---|
1308 |
FUNCTION {booklet} |
---|
1309 |
{ output.bibitem |
---|
1310 |
author empty$ |
---|
1311 |
{ format.editors "author and editor" output.check } |
---|
1312 |
{ format.authors format.editors output.nonnull } |
---|
1313 |
if$ |
---|
1314 |
set.colon.after |
---|
1315 |
format.btitle "title" output.check |
---|
1316 |
format.edition.or.version output |
---|
1317 |
format.url output |
---|
1318 |
format.howpublished output |
---|
1319 |
series new.sentence.checka |
---|
1320 |
format.series.number.din output |
---|
1321 |
pages set.period.dash.check |
---|
1322 |
format.pages.book output |
---|
1323 |
format.type.or.online.resource |
---|
1324 |
doi set.period.dash.check |
---|
1325 |
urn set.period.dash.check |
---|
1326 |
format.doi.urn output |
---|
1327 |
note set.period.dash.check |
---|
1328 |
note output |
---|
1329 |
format.isbn.issn output |
---|
1330 |
fin.entry |
---|
1331 |
} |
---|
1332 |
|
---|
1333 |
|
---|
1334 |
FUNCTION {inbook} |
---|
1335 |
{ output.bibitem |
---|
1336 |
chapter format.chapter.inbook output.nonnull |
---|
1337 |
crossref missing$ |
---|
1338 |
{ author empty$ |
---|
1339 |
{ format.editors "\,{In:\,}" swap$ * "author and editor" output.check } |
---|
1340 |
{ format.authors "\,{In:\,}" swap$ * output.nonnull } |
---|
1341 |
if$ |
---|
1342 |
author empty$ editor empty$ AND |
---|
1343 |
{ before.all 'output.state := } |
---|
1344 |
{ set.colon.after } |
---|
1345 |
if$ |
---|
1346 |
format.btitle.vol "title" output.check |
---|
1347 |
format.edition output |
---|
1348 |
format.address.publisher.year "publisher" output.check |
---|
1349 |
new.sentence |
---|
1350 |
format.series.number.din output |
---|
1351 |
isbn set.period.dash.check |
---|
1352 |
format.isbn.issn output |
---|
1353 |
part.of.sentence |
---|
1354 |
format.pages output |
---|
1355 |
note set.period.dash.check |
---|
1356 |
note output |
---|
1357 |
} |
---|
1358 |
{ format.book.crossref output.nonnull |
---|
1359 |
part.of.sentence |
---|
1360 |
format.pages output |
---|
1361 |
note set.period.dash.check |
---|
1362 |
note output |
---|
1363 |
} |
---|
1364 |
if$ |
---|
1365 |
fin.entry |
---|
1366 |
} |
---|
1367 |
|
---|
1368 |
FUNCTION {incollection} |
---|
1369 |
{ output.bibitem |
---|
1370 |
format.authors "author" output.check |
---|
1371 |
set.colon.after |
---|
1372 |
format.title "title" output.check |
---|
1373 |
format.version.url output |
---|
1374 |
crossref missing$ |
---|
1375 |
{ format.in.ed.booktitle.din "booktitle" output.check |
---|
1376 |
format.edition output |
---|
1377 |
format.address.publisher.year "publisher" output.check |
---|
1378 |
new.sentence |
---|
1379 |
format.series.number.din output |
---|
1380 |
part.of.sentence%% nach DIN soll das eigentlich ganz an das Ende |
---|
1381 |
format.chapter.pages "pages" output.check |
---|
1382 |
format.type.or.online.resource |
---|
1383 |
doi set.period.dash.check |
---|
1384 |
urn set.period.dash.check |
---|
1385 |
format.doi.urn output |
---|
1386 |
isbn set.period.dash.check |
---|
1387 |
issn set.period.dash.check |
---|
1388 |
format.isbn.issn output |
---|
1389 |
note set.period.dash.check |
---|
1390 |
note output |
---|
1391 |
} |
---|
1392 |
{ format.incoll.inproc.crossref output.nonnull |
---|
1393 |
format.type.or.online.resource |
---|
1394 |
doi set.period.dash.check |
---|
1395 |
urn set.period.dash.check |
---|
1396 |
format.doi.urn output |
---|
1397 |
isbn set.period.dash.check |
---|
1398 |
issn set.period.dash.check |
---|
1399 |
format.isbn.issn output |
---|
1400 |
note set.period.dash.check |
---|
1401 |
note output |
---|
1402 |
} |
---|
1403 |
if$ |
---|
1404 |
fin.entry |
---|
1405 |
} |
---|
1406 |
|
---|
1407 |
|
---|
1408 |
FUNCTION {inproceedings} |
---|
1409 |
{ output.bibitem |
---|
1410 |
format.authors "author" output.check |
---|
1411 |
set.colon.after |
---|
1412 |
format.title "title" output.check |
---|
1413 |
crossref missing$ |
---|
1414 |
{ format.in.ed.booktitle.din "booktitle" output.check |
---|
1415 |
address empty$ |
---|
1416 |
{ organization new.sentence.checka |
---|
1417 |
organization output |
---|
1418 |
part.of.sentence |
---|
1419 |
format.address.publisher.year output |
---|
1420 |
} |
---|
1421 |
{ format.address.publisher.year "publisher" output.check } |
---|
1422 |
if$ |
---|
1423 |
new.sentence |
---|
1424 |
series empty$ |
---|
1425 |
'skip$ |
---|
1426 |
{ format.series.number.din output } |
---|
1427 |
if$ |
---|
1428 |
isbn set.period.dash.check |
---|
1429 |
issn set.period.dash.check |
---|
1430 |
format.isbn.issn output |
---|
1431 |
part.of.sentence |
---|
1432 |
format.pages output |
---|
1433 |
note set.period.dash.check |
---|
1434 |
note output |
---|
1435 |
} |
---|
1436 |
{ format.incoll.inproc.crossref output.nonnull |
---|
1437 |
isbn set.period.dash.check |
---|
1438 |
issn set.period.dash.check |
---|
1439 |
format.isbn.issn output |
---|
1440 |
note set.period.dash.check |
---|
1441 |
note output |
---|
1442 |
} |
---|
1443 |
if$ |
---|
1444 |
fin.entry |
---|
1445 |
} |
---|
1446 |
|
---|
1447 |
FUNCTION {conference} { inproceedings }%% nach Patashnik, wg US-Kompatibilitaet |
---|
1448 |
|
---|
1449 |
FUNCTION {manual} |
---|
1450 |
{ output.bibitem |
---|
1451 |
author empty$ |
---|
1452 |
{ organization empty$ |
---|
1453 |
{ title empty$ |
---|
1454 |
'skip$ |
---|
1455 |
{format.btitle "title" output.check } |
---|
1456 |
if$ |
---|
1457 |
} |
---|
1458 |
{ organization output.nonnull |
---|
1459 |
set.colon.after |
---|
1460 |
format.btitle "title" output.check |
---|
1461 |
} |
---|
1462 |
if$ |
---|
1463 |
} |
---|
1464 |
{ format.authors output.nonnull |
---|
1465 |
set.colon.after |
---|
1466 |
format.btitle "title" output.check |
---|
1467 |
} |
---|
1468 |
if$ |
---|
1469 |
format.edition "edition" output.check |
---|
1470 |
author empty$ |
---|
1471 |
{ organization empty$ |
---|
1472 |
{ address output |
---|
1473 |
part.of.sentence |
---|
1474 |
} |
---|
1475 |
'skip$ |
---|
1476 |
if$ |
---|
1477 |
} |
---|
1478 |
{ address ": " * organization * output |
---|
1479 |
part.of.sentence |
---|
1480 |
} |
---|
1481 |
if$ |
---|
1482 |
format.date output |
---|
1483 |
pages set.period.dash.check |
---|
1484 |
format.pages.book output |
---|
1485 |
note set.period.dash.check |
---|
1486 |
note output |
---|
1487 |
format.doi output |
---|
1488 |
format.url output |
---|
1489 |
new.block |
---|
1490 |
fin.entry |
---|
1491 |
} |
---|
1492 |
|
---|
1493 |
%% Standard ist "Diplomarbeit", anderes mit TYPE="anderer Typ" erfassen! |
---|
1494 |
%% z.B. TYPE={Hausarbeit}, TYPE={Diss.}, TYPE={Habil.}, TYPE={Magisterarb.} |
---|
1495 |
FUNCTION {mastersthesis} |
---|
1496 |
{ output.bibitem |
---|
1497 |
format.authors "author" output.check |
---|
1498 |
set.colon.after |
---|
1499 |
format.btitle "title" output.check |
---|
1500 |
address output |
---|
1501 |
part.of.sentence |
---|
1502 |
school "school" output.check |
---|
1503 |
part.of.sentence |
---|
1504 |
"Diplomarbeit" format.thesis.tr.type output.nonnull |
---|
1505 |
part.of.sentence |
---|
1506 |
format.date "year" output.check |
---|
1507 |
format.url output |
---|
1508 |
format.digital.resource.type |
---|
1509 |
doi set.period.dash.check |
---|
1510 |
urn set.period.dash.check |
---|
1511 |
format.doi.urn output |
---|
1512 |
pages set.period.dash.check |
---|
1513 |
format.pages.book output |
---|
1514 |
|
---|
1515 |
note set.period.dash.check |
---|
1516 |
note output |
---|
1517 |
fin.entry |
---|
1518 |
} |
---|
1519 |
|
---|
1520 |
FUNCTION {phdthesis} %% {mastersthesis}% ist identisch bis auf Standardwert, s.o. |
---|
1521 |
{ output.bibitem |
---|
1522 |
format.authors "author" output.check |
---|
1523 |
set.colon.after |
---|
1524 |
format.btitle "title" output.check |
---|
1525 |
address output |
---|
1526 |
part.of.sentence |
---|
1527 |
school "school" output.check |
---|
1528 |
part.of.sentence |
---|
1529 |
"Diss." format.thesis.tr.type output.nonnull % koennte auch `Dissertation' sein |
---|
1530 |
part.of.sentence |
---|
1531 |
format.date "year" output.check |
---|
1532 |
format.url output |
---|
1533 |
format.digital.resource.type |
---|
1534 |
doi set.period.dash.check |
---|
1535 |
urn set.period.dash.check |
---|
1536 |
format.doi.urn output |
---|
1537 |
pages set.period.dash.check |
---|
1538 |
format.pages.book output |
---|
1539 |
note set.period.dash.check |
---|
1540 |
note output |
---|
1541 |
fin.entry |
---|
1542 |
} |
---|
1543 |
|
---|
1544 |
|
---|
1545 |
%% Normen, Vornormen, Schutzrechte (Patente) werden hiermit erfasst; |
---|
1546 |
%% (z.Zt. auch noch Internetressourcen) |
---|
1547 |
%% das type-Feld uebernimmt eine wichtige Steuerfunktion: |
---|
1548 |
FUNCTION {misc} |
---|
1549 |
{ output.bibitem |
---|
1550 |
type missing$ not |
---|
1551 |
{ type duplicate$ #1 #4 substring$ "Norm" = |
---|
1552 |
type #1 #4 substring$ "Vorn" = OR |
---|
1553 |
{ " " * |
---|
1554 |
format.number * output |
---|
1555 |
new.sentence |
---|
1556 |
format.date output |
---|
1557 |
title empty$ |
---|
1558 |
{ skip$ } |
---|
1559 |
{ add.period$ new.sentence } |
---|
1560 |
if$ |
---|
1561 |
format.btitle "title" output.check |
---|
1562 |
note set.period.dash.check |
---|
1563 |
note output |
---|
1564 |
} |
---|
1565 |
{ duplicate$ #1 #6 substring$ "Schutz" = |
---|
1566 |
{ " " * format.number * output |
---|
1567 |
new.sentence |
---|
1568 |
"(" * format.date ")" * output |
---|
1569 |
add.period$ new.sentence |
---|
1570 |
format.authors.organization add.period$ output |
---|
1571 |
note output |
---|
1572 |
} |
---|
1573 |
%% wenn irgendein anderer Typ eingetragen ist |
---|
1574 |
{ pop$ pop$ "" |
---|
1575 |
title empty$ |
---|
1576 |
{ note empty$ |
---|
1577 |
{ url empty$ |
---|
1578 |
{ "there's no relevant field in " cite$ warning$ |
---|
1579 |
pop$ "" |
---|
1580 |
} |
---|
1581 |
{ format.url output }%%% |
---|
1582 |
if$ |
---|
1583 |
} |
---|
1584 |
{ note " " * output.nonnull } |
---|
1585 |
if$ |
---|
1586 |
} |
---|
1587 |
{ author empty$ |
---|
1588 |
{ editor empty$ |
---|
1589 |
{ organization empty$ |
---|
1590 |
{ skip$ } |
---|
1591 |
{ format.editors.organization output.nonnull |
---|
1592 |
set.colon.after |
---|
1593 |
} |
---|
1594 |
if$ |
---|
1595 |
} |
---|
1596 |
{ format.editors format.editors.organization |
---|
1597 |
output.nonnull set.colon.after |
---|
1598 |
} |
---|
1599 |
if$ |
---|
1600 |
} |
---|
1601 |
{ format.authors format.editors output.nonnull |
---|
1602 |
set.colon.after |
---|
1603 |
} |
---|
1604 |
if$ |
---|
1605 |
format.btitle output.nonnull |
---|
1606 |
url empty$ |
---|
1607 |
{ format.edition output |
---|
1608 |
format.howpublished output} |
---|
1609 |
{ format.howpublished output |
---|
1610 |
format.edition.or.date output |
---|
1611 |
format.url output |
---|
1612 |
} |
---|
1613 |
if$ |
---|
1614 |
format.lastchecked.or.type |
---|
1615 |
new.sentence |
---|
1616 |
format.misc.series output |
---|
1617 |
%% note set.period.dash.check |
---|
1618 |
add.period$ |
---|
1619 |
note output |
---|
1620 |
} |
---|
1621 |
if$ |
---|
1622 |
} |
---|
1623 |
if$ |
---|
1624 |
} |
---|
1625 |
if$ |
---|
1626 |
} |
---|
1627 |
%% wenn es keinen type gibt |
---|
1628 |
{ title empty$ |
---|
1629 |
{ note empty$ |
---|
1630 |
{ url empty$ |
---|
1631 |
{ "there's no relevant field in " cite$ warning$ |
---|
1632 |
pop$ "" |
---|
1633 |
} |
---|
1634 |
{ format.url output }%%% das waere e. reine URL |
---|
1635 |
if$ |
---|
1636 |
} |
---|
1637 |
{ note " " * output.nonnull |
---|
1638 |
%% format.url format.date output |
---|
1639 |
} |
---|
1640 |
if$ |
---|
1641 |
} |
---|
1642 |
{ author empty$ |
---|
1643 |
{ editor empty$ |
---|
1644 |
{ organization empty$ |
---|
1645 |
{ skip$ } |
---|
1646 |
{ format.editors.organization output.nonnull |
---|
1647 |
set.colon.after |
---|
1648 |
} |
---|
1649 |
if$ |
---|
1650 |
} |
---|
1651 |
{ format.editors format.editors.organization |
---|
1652 |
output.nonnull set.colon.after |
---|
1653 |
} |
---|
1654 |
if$ |
---|
1655 |
} |
---|
1656 |
{ format.authors format.editors output.nonnull |
---|
1657 |
set.colon.after |
---|
1658 |
} |
---|
1659 |
if$ |
---|
1660 |
format.btitle output.nonnull |
---|
1661 |
url empty$ |
---|
1662 |
{ format.edition output |
---|
1663 |
format.howpublished output} |
---|
1664 |
{ format.howpublished output |
---|
1665 |
format.url output |
---|
1666 |
format.edition.or.date output |
---|
1667 |
format.lastchecked.or.type |
---|
1668 |
} |
---|
1669 |
if$ |
---|
1670 |
new.sentence |
---|
1671 |
format.misc.series output |
---|
1672 |
note set.period.dash.check |
---|
1673 |
note output |
---|
1674 |
} |
---|
1675 |
if$ |
---|
1676 |
} |
---|
1677 |
if$ |
---|
1678 |
fin.entry |
---|
1679 |
} |
---|
1680 |
|
---|
1681 |
FUNCTION {proceedings} |
---|
1682 |
{ output.bibitem |
---|
1683 |
editor empty$ |
---|
1684 |
{ organization empty$ |
---|
1685 |
{ "empty organization and editor in " cite$ * warning$ } |
---|
1686 |
{ organization " (Veranst.)" * output } |
---|
1687 |
if$ |
---|
1688 |
} |
---|
1689 |
{ format.editors format.editors.organization output.nonnull } |
---|
1690 |
if$ |
---|
1691 |
set.colon.after |
---|
1692 |
format.btitle "title" output.check |
---|
1693 |
volume empty$ |
---|
1694 |
{ skip$ } |
---|
1695 |
{ "{\textnormal{Bd.}}" volume tie.or.space.connect emphasize "volume" output.check } |
---|
1696 |
if$ |
---|
1697 |
format.address.publisher.year "publisher" output.check |
---|
1698 |
new.sentence |
---|
1699 |
format.series.number.din output.nonnull |
---|
1700 |
pages set.period.dash.check |
---|
1701 |
format.pages.book output |
---|
1702 |
note set.period.dash.check |
---|
1703 |
note output |
---|
1704 |
isbn set.period.dash.check |
---|
1705 |
issn set.period.dash.check |
---|
1706 |
format.isbn.issn output |
---|
1707 |
fin.entry |
---|
1708 |
} |
---|
1709 |
|
---|
1710 |
FUNCTION {techreport} |
---|
1711 |
{ output.bibitem |
---|
1712 |
author empty$ |
---|
1713 |
{ format.editors "author and editor" output.check } |
---|
1714 |
{ format.authors format.editors output.nonnull } |
---|
1715 |
if$ |
---|
1716 |
set.colon.after |
---|
1717 |
format.title "title" output.check |
---|
1718 |
institution new.sentence.checka |
---|
1719 |
institution empty$ |
---|
1720 |
'skip$ |
---|
1721 |
{ " / " institution * output.nonnull } |
---|
1722 |
if$ |
---|
1723 |
format.version.url output |
---|
1724 |
format.address.publisher.year output |
---|
1725 |
number new.sentence.checka |
---|
1726 |
format.tr.series.or.number "number" output.check |
---|
1727 |
"Forschungsbericht" format.thesis.tr.type set.period.dash.check |
---|
1728 |
"Forschungsbericht" format.thesis.tr.type output |
---|
1729 |
format.digital.resource.type |
---|
1730 |
pages set.period.dash.check |
---|
1731 |
format.pages.book output |
---|
1732 |
note "note" output.check |
---|
1733 |
new.block |
---|
1734 |
isbn set.period.dash.check |
---|
1735 |
issn set.period.dash.check |
---|
1736 |
format.isbn.issn output |
---|
1737 |
fin.entry |
---|
1738 |
} |
---|
1739 |
|
---|
1740 |
|
---|
1741 |
FUNCTION {unpublished} {misc}%% author, title, note muessen sein! howpublished |
---|
1742 |
%% %% entfaellt natuerlich |
---|
1743 |
|
---|
1744 |
FUNCTION {default.type} { misc } |
---|
1745 |
|
---|
1746 |
MACRO {jan} {"Januar"} |
---|
1747 |
|
---|
1748 |
MACRO {feb} {"Februar"} |
---|
1749 |
|
---|
1750 |
MACRO {mar} {"M{\^^b a}rz"} |
---|
1751 |
|
---|
1752 |
MACRO {apr} {"April"} |
---|
1753 |
|
---|
1754 |
MACRO {mai} {"Mai"} |
---|
1755 |
|
---|
1756 |
MACRO {may} {"Mai"} |
---|
1757 |
|
---|
1758 |
MACRO {jun} {"Juni"} |
---|
1759 |
|
---|
1760 |
MACRO {jul} {"Juli"} |
---|
1761 |
|
---|
1762 |
MACRO {aug} {"August"} |
---|
1763 |
|
---|
1764 |
MACRO {sep} {"September"} |
---|
1765 |
|
---|
1766 |
MACRO {okt} {"Oktober"} |
---|
1767 |
|
---|
1768 |
MACRO {oct} {"Oktober"} |
---|
1769 |
|
---|
1770 |
MACRO {nov} {"November"} |
---|
1771 |
|
---|
1772 |
MACRO {dez} {"Dezember"} |
---|
1773 |
|
---|
1774 |
MACRO {dec} {"Dezember"} |
---|
1775 |
|
---|
1776 |
%%$$$ stillgelegte Beispiele fuer den Gebrauch von Kuerzeln (hier Zs-Titel). |
---|
1777 |
|
---|
1778 |
%%MACRO {acmcs} {"ACM Computing Surveys"} |
---|
1779 |
|
---|
1780 |
%%MACRO {acta} {"Acta Informatica"} |
---|
1781 |
|
---|
1782 |
READ |
---|
1783 |
|
---|
1784 |
FUNCTION {sortify} |
---|
1785 |
{ purify$ |
---|
1786 |
"l" change.case$ |
---|
1787 |
} |
---|
1788 |
|
---|
1789 |
FUNCTION {chop.word} |
---|
1790 |
{ 's := |
---|
1791 |
'len := |
---|
1792 |
s #1 len substring$ = |
---|
1793 |
{ s len #1 + global.max$ substring$ } |
---|
1794 |
's |
---|
1795 |
if$ |
---|
1796 |
} |
---|
1797 |
|
---|
1798 |
FUNCTION {format.lab.names} |
---|
1799 |
{ uppercase 's := |
---|
1800 |
s #1 "{vv~}{ll}" format.name$ |
---|
1801 |
s num.names$ duplicate$ |
---|
1802 |
#2 > |
---|
1803 |
{ pop$ ua.etal * } |
---|
1804 |
{ #2 < |
---|
1805 |
'skip$ |
---|
1806 |
{ s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = |
---|
1807 |
{ ua.etal * } |
---|
1808 |
{ und * s #2 "{vv~}{ll}" format.name$ * } |
---|
1809 |
if$ |
---|
1810 |
} |
---|
1811 |
if$ |
---|
1812 |
} |
---|
1813 |
if$ |
---|
1814 |
} |
---|
1815 |
|
---|
1816 |
FUNCTION {author.key.label} |
---|
1817 |
{ author empty$ |
---|
1818 |
{ key empty$ |
---|
1819 |
{ cite$ #1 #3 substring$ } |
---|
1820 |
'key |
---|
1821 |
if$ |
---|
1822 |
} |
---|
1823 |
{ author format.lab.names } |
---|
1824 |
if$ |
---|
1825 |
} |
---|
1826 |
|
---|
1827 |
FUNCTION {author.editor.key.label} |
---|
1828 |
{ author empty$ |
---|
1829 |
{ editor empty$ |
---|
1830 |
{ key empty$ |
---|
1831 |
{ cite$ #1 #3 substring$ } |
---|
1832 |
'key |
---|
1833 |
if$ |
---|
1834 |
} |
---|
1835 |
{ editor format.lab.names } |
---|
1836 |
if$ |
---|
1837 |
} |
---|
1838 |
{ author format.lab.names } |
---|
1839 |
if$ |
---|
1840 |
} |
---|
1841 |
|
---|
1842 |
FUNCTION {author.key.organization.label} |
---|
1843 |
{ author empty$ |
---|
1844 |
{ key empty$ |
---|
1845 |
{ organization empty$ |
---|
1846 |
{ cite$ #1 #3 substring$ } |
---|
1847 |
{ "The " #4 organization chop.word #3 text.prefix$ } |
---|
1848 |
if$ |
---|
1849 |
} |
---|
1850 |
{ key } |
---|
1851 |
if$ |
---|
1852 |
} |
---|
1853 |
{ author format.lab.names } |
---|
1854 |
if$ |
---|
1855 |
} |
---|
1856 |
|
---|
1857 |
FUNCTION {editor.key.organization.label} |
---|
1858 |
{ editor empty$ |
---|
1859 |
{ key empty$ |
---|
1860 |
{ organization empty$ |
---|
1861 |
{ cite$ #1 #3 substring$ } |
---|
1862 |
{ "The " #4 organization chop.word #4 text.prefix$ } |
---|
1863 |
if$ |
---|
1864 |
} |
---|
1865 |
{ key } |
---|
1866 |
if$ |
---|
1867 |
} |
---|
1868 |
{ key empty$%% das key-feld soll zwangsweise das label machen! |
---|
1869 |
{ editor format.lab.names } |
---|
1870 |
{ key }%%das ganze label |
---|
1871 |
if$ |
---|
1872 |
} |
---|
1873 |
if$ |
---|
1874 |
} |
---|
1875 |
|
---|
1876 |
FUNCTION {calc.short.authors} |
---|
1877 |
{ type$ "book" = |
---|
1878 |
type$ "inbook" = |
---|
1879 |
or |
---|
1880 |
'author.editor.key.label |
---|
1881 |
{ type$ "proceedings" = |
---|
1882 |
'editor.key.organization.label |
---|
1883 |
{ type$ "manual" = |
---|
1884 |
'author.key.organization.label |
---|
1885 |
'author.key.label |
---|
1886 |
if$ |
---|
1887 |
} |
---|
1888 |
if$ |
---|
1889 |
} |
---|
1890 |
if$ |
---|
1891 |
'short.list := |
---|
1892 |
} |
---|
1893 |
|
---|
1894 |
FUNCTION {calc.label} |
---|
1895 |
{ calc.short.authors |
---|
1896 |
short.list |
---|
1897 |
"(" |
---|
1898 |
* |
---|
1899 |
%% year duplicate$ empty$ |
---|
1900 |
%% short.list key field.or.null = or |
---|
1901 |
%% { pop$ "" } |
---|
1902 |
%% 'skip$ |
---|
1903 |
%% if$ |
---|
1904 |
year field.or.null purify$ #1 #4 substring$ |
---|
1905 |
* |
---|
1906 |
'label := |
---|
1907 |
short.list " " * |
---|
1908 |
year field.or.null purify$ #1 #4 substring$ * 'dinat.label := |
---|
1909 |
} |
---|
1910 |
|
---|
1911 |
FUNCTION {sort.format.names} |
---|
1912 |
{ 's := |
---|
1913 |
#1 'nameptr := |
---|
1914 |
"" |
---|
1915 |
s num.names$ 'numnames := |
---|
1916 |
numnames 'namesleft := |
---|
1917 |
{ namesleft #0 > } |
---|
1918 |
{ nameptr #1 > |
---|
1919 |
{ " " * } |
---|
1920 |
'skip$ |
---|
1921 |
if$ |
---|
1922 |
s nameptr "{ll{ }}{ ff{ }}{ vv{ }}{ jj{ }}" format.name$ 't := |
---|
1923 |
nameptr numnames = t "others" = and |
---|
1924 |
{ ua.etal * } |
---|
1925 |
{ t sortify * } |
---|
1926 |
if$ |
---|
1927 |
nameptr #1 + 'nameptr := |
---|
1928 |
namesleft #1 - 'namesleft := |
---|
1929 |
} |
---|
1930 |
while$ |
---|
1931 |
} |
---|
1932 |
|
---|
1933 |
FUNCTION {sort.format.title} |
---|
1934 |
{ 't := |
---|
1935 |
"A " #2 |
---|
1936 |
"An " #3 |
---|
1937 |
"Der " #4 |
---|
1938 |
"Die " #4 |
---|
1939 |
"Das " #4 |
---|
1940 |
"Ein " #4 |
---|
1941 |
"Eine " #5 |
---|
1942 |
"The " #4 t chop.word |
---|
1943 |
chop.word |
---|
1944 |
chop.word |
---|
1945 |
chop.word |
---|
1946 |
chop.word |
---|
1947 |
chop.word |
---|
1948 |
chop.word |
---|
1949 |
chop.word |
---|
1950 |
sortify |
---|
1951 |
#1 global.max$ substring$ |
---|
1952 |
} |
---|
1953 |
|
---|
1954 |
FUNCTION {author.sort} |
---|
1955 |
{ author empty$ |
---|
1956 |
{ key empty$ |
---|
1957 |
{ "to sort, need author or key in " cite$ * warning$ |
---|
1958 |
"" |
---|
1959 |
} |
---|
1960 |
{ key sortify } |
---|
1961 |
if$ |
---|
1962 |
} |
---|
1963 |
{ author sort.format.names } |
---|
1964 |
if$ |
---|
1965 |
} |
---|
1966 |
|
---|
1967 |
FUNCTION {author.editor.sort} |
---|
1968 |
{ author empty$ |
---|
1969 |
{ editor empty$ |
---|
1970 |
{ key empty$ |
---|
1971 |
{ "to sort, need author, editor, or key in " cite$ * warning$ |
---|
1972 |
"" |
---|
1973 |
} |
---|
1974 |
{ key sortify } |
---|
1975 |
if$ |
---|
1976 |
} |
---|
1977 |
{ editor sort.format.names } |
---|
1978 |
if$ |
---|
1979 |
} |
---|
1980 |
{ author sort.format.names } |
---|
1981 |
if$ |
---|
1982 |
} |
---|
1983 |
|
---|
1984 |
FUNCTION {author.organization.sort} |
---|
1985 |
{ author empty$ |
---|
1986 |
{ organization empty$ |
---|
1987 |
{ key empty$ |
---|
1988 |
{ "to sort, need author, organization, or key in " cite$ * warning$ |
---|
1989 |
"" |
---|
1990 |
} |
---|
1991 |
{ key sortify } |
---|
1992 |
if$ |
---|
1993 |
} |
---|
1994 |
{ "The " #4 organization chop.word sortify } |
---|
1995 |
if$ |
---|
1996 |
} |
---|
1997 |
{ author sort.format.names } |
---|
1998 |
if$ |
---|
1999 |
} |
---|
2000 |
|
---|
2001 |
FUNCTION {editor.organization.sort.PWD}%% so war es in plainnat |
---|
2002 |
{ editor empty$ |
---|
2003 |
{ organization empty$ |
---|
2004 |
{ key empty$ |
---|
2005 |
{ "to sort, need editor, organization, or key in " cite$ * warning$ |
---|
2006 |
"" |
---|
2007 |
} |
---|
2008 |
{ key sortify } |
---|
2009 |
if$ |
---|
2010 |
} |
---|
2011 |
{ "The " #4 organization chop.word sortify } |
---|
2012 |
if$ |
---|
2013 |
} |
---|
2014 |
{ editor sort.format.names } |
---|
2015 |
if$ |
---|
2016 |
} |
---|
2017 |
|
---|
2018 |
FUNCTION {editor.organization.sort}%%das key-Feld soll z. Sortieren ben. werden |
---|
2019 |
{ key empty$ |
---|
2020 |
{ editor empty$ |
---|
2021 |
{ organization empty$ |
---|
2022 |
{ "to sort, need editor, organization, or key in " cite$ * warning$ |
---|
2023 |
"" |
---|
2024 |
} |
---|
2025 |
{ "The " #4 organization chop.word sortify } |
---|
2026 |
if$ |
---|
2027 |
} |
---|
2028 |
{ editor sort.format.names } |
---|
2029 |
if$ |
---|
2030 |
} |
---|
2031 |
{ key sortify } |
---|
2032 |
if$ |
---|
2033 |
} |
---|
2034 |
|
---|
2035 |
FUNCTION {presort} |
---|
2036 |
{ calc.label |
---|
2037 |
label sortify |
---|
2038 |
" " |
---|
2039 |
* |
---|
2040 |
type$ "book" = |
---|
2041 |
type$ "inbook" = |
---|
2042 |
or |
---|
2043 |
'author.editor.sort |
---|
2044 |
{ type$ "proceedings" = |
---|
2045 |
'editor.organization.sort |
---|
2046 |
{ type$ "manual" = |
---|
2047 |
'author.organization.sort |
---|
2048 |
'author.sort |
---|
2049 |
if$ |
---|
2050 |
} |
---|
2051 |
if$ |
---|
2052 |
} |
---|
2053 |
if$ |
---|
2054 |
" " |
---|
2055 |
* |
---|
2056 |
year field.or.null sortify |
---|
2057 |
* |
---|
2058 |
" " |
---|
2059 |
* |
---|
2060 |
title field.or.null |
---|
2061 |
sort.format.title |
---|
2062 |
* |
---|
2063 |
#1 entry.max$ substring$ |
---|
2064 |
'sort.label := |
---|
2065 |
sort.label * |
---|
2066 |
#1 entry.max$ substring$ |
---|
2067 |
'sort.key$ := |
---|
2068 |
} |
---|
2069 |
|
---|
2070 |
ITERATE {presort} |
---|
2071 |
|
---|
2072 |
SORT |
---|
2073 |
|
---|
2074 |
FUNCTION {initialize.longest.label} |
---|
2075 |
{ "" 'longest.label := |
---|
2076 |
#0 int.to.chr$ 'last.label := |
---|
2077 |
"" 'next.extra := |
---|
2078 |
#0 'longest.label.width := |
---|
2079 |
#0 'last.extra.num := |
---|
2080 |
#0 'number.label := |
---|
2081 |
} |
---|
2082 |
|
---|
2083 |
FUNCTION {forward.pass} |
---|
2084 |
{ last.label label = |
---|
2085 |
{ last.extra.num #1 + 'last.extra.num := |
---|
2086 |
last.extra.num int.to.chr$ 'extra.label := |
---|
2087 |
} |
---|
2088 |
{ "a" chr.to.int$ 'last.extra.num := |
---|
2089 |
"" 'extra.label := |
---|
2090 |
label 'last.label := |
---|
2091 |
} |
---|
2092 |
if$ |
---|
2093 |
number.label #1 + 'number.label := |
---|
2094 |
} |
---|
2095 |
|
---|
2096 |
FUNCTION {reverse.pass} |
---|
2097 |
{ next.extra "b" = |
---|
2098 |
{ "a" 'extra.label := } |
---|
2099 |
'skip$ |
---|
2100 |
if$ |
---|
2101 |
extra.label 'next.extra := |
---|
2102 |
extra.label |
---|
2103 |
duplicate$ empty$ |
---|
2104 |
'skip$ |
---|
2105 |
{ "{\natexlab{" swap$ * "}}" * } |
---|
2106 |
if$ |
---|
2107 |
'extra.label := |
---|
2108 |
label extra.label * 'label := |
---|
2109 |
dinat.label extra.label * 'dinat.label := |
---|
2110 |
} |
---|
2111 |
|
---|
2112 |
EXECUTE {initialize.longest.label} |
---|
2113 |
|
---|
2114 |
ITERATE {forward.pass} |
---|
2115 |
|
---|
2116 |
REVERSE {reverse.pass} |
---|
2117 |
|
---|
2118 |
FUNCTION {bib.sort.order} |
---|
2119 |
{ sort.label 'sort.key$ := |
---|
2120 |
} |
---|
2121 |
|
---|
2122 |
ITERATE {bib.sort.order} |
---|
2123 |
|
---|
2124 |
SORT |
---|
2125 |
|
---|
2126 |
FUNCTION {begin.bib} |
---|
2127 |
{ preamble$ empty$ |
---|
2128 |
'skip$ |
---|
2129 |
{ preamble$ write$ newline$ } |
---|
2130 |
if$ |
---|
2131 |
"\begin{thebibliography}{" number.label int.to.str$ * "}" * |
---|
2132 |
write$ newline$ |
---|
2133 |
"\providecommand{\natexlab}[1]{#1}" |
---|
2134 |
write$ newline$ |
---|
2135 |
"\providecommand{\url}[1]{\texttt{#1}}" |
---|
2136 |
write$ newline$ |
---|
2137 |
"\makeatletter"%% Einschub ab hier, 19.11.2004 |
---|
2138 |
write$ newline$ |
---|
2139 |
"\newcommand{\dinatlabel}[1]%" |
---|
2140 |
write$ newline$ |
---|
2141 |
"{\ifNAT@numbers\else\NAT@biblabelnum{#1}\fi}" |
---|
2142 |
write$ newline$ |
---|
2143 |
"\makeatother" |
---|
2144 |
write$ newline$ %% Ende Einschub |
---|
2145 |
"\expandafter\ifx\csname urlstyle\endcsname\relax" |
---|
2146 |
write$ newline$ |
---|
2147 |
" \providecommand{\doi}[1]{doi: #1}\else" |
---|
2148 |
write$ newline$ |
---|
2149 |
" \providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi" |
---|
2150 |
write$ newline$ |
---|
2151 |
} |
---|
2152 |
|
---|
2153 |
EXECUTE {begin.bib} |
---|
2154 |
|
---|
2155 |
EXECUTE {init.state.consts} |
---|
2156 |
|
---|
2157 |
ITERATE {call.type$} |
---|
2158 |
|
---|
2159 |
FUNCTION {end.bib} |
---|
2160 |
{ newline$ |
---|
2161 |
"\end{thebibliography}" write$ newline$ |
---|
2162 |
} |
---|
2163 |
|
---|
2164 |
EXECUTE {end.bib} |
---|