From f933369804c51a3b69f302fba3de58331d4f33c3 Mon Sep 17 00:00:00 2001 From: Stefan Dresselhaus Date: Sun, 8 Oct 2017 01:38:30 +0200 Subject: [PATCH] literaturverzeichnis zickt nicht mehr --- arbeit/abbrvdin.bst | 2031 +++++++++++++++++++++++++++++++ arbeit/alphadin.bst | 2212 ++++++++++++++++++++++++++++++++++ arbeit/bibma.bib | 6 +- arbeit/ma.pdf | Bin 147390 -> 147294 bytes arbeit/ma.tex | 2 +- arbeit/plaindin.bst | 2038 +++++++++++++++++++++++++++++++ arbeit/settings/packages.tex | 2 +- arbeit/template.tex | 2 +- arbeit/unsrtdin.bst | 1894 +++++++++++++++++++++++++++++ 9 files changed, 8181 insertions(+), 6 deletions(-) create mode 100644 arbeit/abbrvdin.bst create mode 100644 arbeit/alphadin.bst create mode 100644 arbeit/plaindin.bst create mode 100644 arbeit/unsrtdin.bst diff --git a/arbeit/abbrvdin.bst b/arbeit/abbrvdin.bst new file mode 100644 index 0000000..aff24f6 --- /dev/null +++ b/arbeit/abbrvdin.bst @@ -0,0 +1,2031 @@ +%% ABBRVDIN.BST Ausgabe [8.2] 2006-01-02 +%% mit doi-, url-, urn-Funktionen +%% ersetzt ABBRVDIN.BST Ausgabe [8.1b1] 15/12/2004 +%% +%% K.F.Lorenzen (Copyright 1994-2006) email: lorenzen.marxen@t-online.de +%% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +%% ABBRVDIN.BST wurde entwickelt aus Oren Patashnik's BibTeX standard +%% bibliography style `abbrv'. Eine vorgegebene Literaturdatenbank laesst sich +%% somit beliebig nach US- oder deutscher DIN 1505-Zitierkonvention +%% verarbeiten. +%% Analog zu den 4 US standard styles werden 4 DIN-gerechte bst-style Dateien +%% veroeffentlicht (alphadin.bst, plaindin.bst, unsrtdin.bst, abbrvdin.bst). +%% Die gueltige Version ist am schnellsten aus dem WWW ueber folgende URL zu +%% beziehen: +%% http://www.haw-hamburg.de/pers/Lorenzen/bibtex/ +%% Stand: 2006-01-02 +%% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +%% WAS IST ABBRVDIN.BST ? +%% Dieser style produziert Literaturzitate in Literaturverzeichnissen +%% gemaess der deutschen Norm DIN 1505, Teil 2 vom Jan. 1984. +%% Die Vornamen der Verfasser, Herausgeber, Zeitschriftennamen, Monatsnamen +%% werden abgekuerzt. Die Anordnung im Literaturverzeichnis entspricht der von +%% plaindin.bst, also sortiert und in eckigen Klammern gezaehlt. Die +%% vorliegenden DIN-styles gehen ueber einige bibliographische Beschraenkungen +%% der Originalstyles hinaus. +% +%% Es werden nun auch Elektronische Online / Offline Ressourcen wie Internet- +%% quellen, CD-ROM usw. verarbeitet. Dazu kommen besondere Publikationsformen +%% wie Patente, Normen, Karten, Fernsehaufzeichnungen, Gesetzesstellen, Spiele. +% +%% Zur Gewaehrleistung der Allgemeingueltigkeit von bib-files gelten in den +%% DIN-styles die in der Tex-Literatur veroeffentlichten originalen +%% Definitionen und Regeln fuer die Publikationstypen (entry-types) und die +%% bibliographischen Felder (fields). +%% Treten kleinere "Schoenheitsfehler" im fertig gesetzten output auf, +%% lassen sich diese so gut wie immer durch eine veraenderte +%% Erfassung im bib-inputfile beseitigen. Oren Patashnik empfiehlt, die +%% Definition der Felder weit auszulegen. Last but not least koennen +%% Sie im output-file < *.bbl > noch letzte Hand zur Korrektur ansetzen. +% +%% WARN- UND FEHLERMELDUNGEN +%% Ursache von Warnmeldungen sind meistens ausgelassene Felder oder +%% Erfassungs-"Fehler". Letztere haengen teilweise mit den gegenueber US- +%% Gepflogenheiten andersartigen bibliographischen Regeln nach DIN 1505 +%% zusammen. Sie sind also in Wahrheit keine "Fehler" und duerfen fast immer +%% ignoriert werden. Dennoch pruefen Sie diese Warnungen, um heraus zu finden, +%% ob Publikationstyp (=entry-type) und "fields" eventuell unzulaessig +%% kombiniert worden sind. +%% Echte Fehler ("errors") treten nur noch in Verbindung mit falscher +%% Erfassung auf (nach meinen Tests!). Pruefen Sie die Syntax, den entry-type +%% und die fields. +%% Zu guter letzt: Qualitaetsmasstab ist einzig der DIN-konforme output! +%% +%% DANKSAGUNG +%% Hartmut Lueddecke, HAW Hamburg, hat viele Verbesserungsvorschlaege +%% in die frueheren Versionen eingebracht. Ihm danke ich herzlich. +%% Patrick W. Daly, dem Entwickler des Natbib-Stils, verdanke ich viele +%% Anregungen und den steten Ansporn, die DIN-Stile zu verbessern. +%% Viele an dieser Stelle ungenannt bleibende Anwender haben mich in +%% den vergangenen Jahren auf Fehler oder Verbesserungsmoeglichkeiten +%% aufmerksam gemacht und so diesen Stil mitentwickelt. Ihnen gilt mein +%% besonderer Dank. Ihr Feedback ist immer willkommen und eine Ermunterung. +%% +%% Klaus F. Lorenzen +%% +%% +%% +%% HINWEIS: Neben den vier bibliographischen DIN 1505 Standard-Stilen +%% nach den Original-styles von Oren Patashnik +%% gibt es zusaetzlich vier DIN 1505 Modifikationen der style +%% Emulationen des NATBIB-Pakets von Patrick W.Daly. +%% In den NATBIB-Modifikationen werden jetzt alle von P.W. Daly +%% implementierten Zitierweisen des Autor-Jahr-Stils unterstuetzt. +%% Damit erhaelt der Anwender eine weit ueber die urspruenglichen +%% Standardstyles hinausreichende Flexibilitaet beim Zitieren. +%% Naeheres unter URL http://www.haw-hamburg.de/pers/Lorenzen/bibtex/ +%% +%% +%% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +% version 0.99c for BibTeX versions 0.99c or later, LaTeX2e +% Copyright (C) 1985, all rights reserved. +% Copying of this file is authorized only if either +% (1) you make absolutely no changes to your copy, including name, or +% (2) if you do make changes, you name it something other than +% plaindin.bst, unsrtdin.bst, alphadin.bst, and abbrvdin.bst. +% This restriction helps ensure that all standard styles are identical. +% The file btxbst.doc has the original documentation for style 'alpha'. +%% +%% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +%% +%% NEUE FELDER +%% Zur Erfassung der neuen digitalen Online-Medien z.B. Internetquellen, E-journals, E-books, +%% E-mail u.a. gibt es die zusaetzlichen Felder: doi, url, urn, lastchecked +%% Internetquellen werden vorzugsweise mit dem BOOKLET-Typ erfasst. +%% Normen, Patente, Schutzrechte sind mit dem MISC-Typ zu erfassen. +% +% +ENTRY + { address %% Verlagsort + author %% persoenlicher Urheber eines Werkes + booktitle %% a) Gesamttitel eines mehrbaendigen Werkes +% %% b) Titel des Sammelwerks, das einzelne selbstaendige +% %% Beitraege mit eigenem Titel enthaelt (->incollection) + chapter %% Kapitel in einem Buch (Monographie) + doi %%% Digital Object Identifier + edition %% Auflagevermerk; bei selbst. elektron. Dok. == Version + editor %% Persoenl.Herausgeber oder Koerperschaftlicher Herausgeber + howpublished %% beliebiger Verlegervermerk: von wem, wo + institution %% Institution, die e.Verlagsfreie Veroeffentlichung betreibt + isbn %% Standardnr fuer Buecher + issn %% - " - : Zeitschriften u. Serien + journal %% Titel einer Zeitschrift + key %% Zusaetzlich vergebener Sortierschluessel, mitunter notwend. + lastchecked %% Online Abruf einer Internetquelle ( GRAY ); 22.1.2004 + month %% naehere Bestimmung des Erscheinungsjahres (-> macro 's) + note %% freies Eingabefeld fuer zusaetzliche Informationen + number %% Mehrfachbedeutung in Abhaengigkeit vom Eingabetyp + organization %% a) Name der Organisation/des Organisators e. Tagung,Konferenz +% %% b) Name einer Firma/Gesellschaft, die ein ->manual herausgab + pages %% Umfangsangaben, meist Seitenzahlen + publisher %% Verlag + school %% Hochschule/Universitaet, die eine Dipl.-Arb./Dissertation veroeff. + series %% Titel e.Reihe, in der ein best. Buchtitel erschienen ist + title %% Titel einer (namentlich gekennzeichneten) Veroeffentlichung + type %% Zusatzfeld z.Kennzeichnung e.besonderen Publikationstyps + url %%% Internet-Adresse URL ( Uniform Resource Locator ) + urn %% Persistent Identifier URN ( Uniform Resource Name ) + volume %% a) Zaehlung bei einem mehrbaendigen Werk (-> book) +% %% b) Jahrgang einer Zeitschrift (-> article + year %% Erscheinungsjahr + } + {} + { label extra.label sort.label } + +%% Variablen-Vereinbarungen + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +INTEGERS { colon.after period.dash } + +INTEGERS { after.firstblock } + +%% fuer die Namensbehandlung + +INTEGERS { zahl lang } + +INTEGERS { nameptr namesleft numnames } + +INTEGERS { ptr collation collrest } + +%% fuer die Sortierung bei der label-Produktion +INTEGERS { len } + +INTEGERS { number.label longest.label.width } +%%---------------------------------------------------------------------- + +STRINGS { h s t u v w } + +%% bei der Behandlung der Namen-Funktionsbezeichnung (Hrsg., Redakt., usw) +STRINGS { fkt } + +%% fuer die label-Produktion +STRINGS { longest.label } + +%%%---------------------------------------------------------------------------- +% Einige Standardvorgaben, die vom Benutzer veraendert werden koennen. +%%%---------------------------------------------------------------------------- + +% Abkuerzung ("... und andere") bei Mehrverfasserquellen: + +FUNCTION { ua.etal } { " u.\,a." } %% evtl. auch in eckigen Klammern " [u.\,a.]" + +%% oder lateinisch: FUNCTION { ua.etal } { " et~al." } + +FUNCTION { und } { " u. " } + +%% oder ausgeschrieben: FUNCTION { und } { " und " } +% +% Einige elektronische Medien erhalten nach DIN 1505 eine "Ergaenzende Angabe" +% zusaetzlich zum materiellen Typ, z.B. CD ROM oder DVD u.a.: + +FUNCTION { eress } { "Elektronische Ressource" } + +%%%----------------------------------------------------------------------------------- + + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := + #4 'colon.after := + #5 'period.dash := + #6 'after.firstblock := +} + +FUNCTION {output.nonnull} +{ 's := + output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + { write$ } + { output.state colon.after = + { ": " * write$ + newline$ + "\newblock " write$ + } + { output.state period.dash = + { ". -- " * write$ + newline$ + "\newblock " write$ + } + { output.state mid.sentence = + { ", " * write$ } + { output.state after.sentence = + { " " * write$ } + { output.state after.firstblock = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { write$ + newline$ + "\newblock " write$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + after.block 'output.state := + } + if$ + s + } + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[" write$ + label write$% + "]{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {fin.entry} +{ write$ + newline$ +} + +FUNCTION {set.period.dash} %% Wenn ein ". - " die Satzteile trennen soll.! +{ output.state before.all = + 'skip$ + { period.dash 'output.state := } + if$ +} + +FUNCTION {set.period.dash.check} +{ empty$ + 'skip$ + 'set.period.dash + if$ +} + +FUNCTION {set.colon.after} %%$$$ Wenn ein ": " d. Satzteile trennen soll! +{ output.state before.all = + 'skip$ + { colon.after 'output.state := } + if$ +} + +%% Wenn ein " " die Satzteile trennen soll.! +FUNCTION {new.sentence} +{ output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ +} + +%% Wenn ein ", " die Satzteile trennen soll.! +FUNCTION { part.of.sentence } +{ output.state before.all = + 'skip$ + { mid.sentence 'output.state := } + if$ +} + +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} + +FUNCTION { capitalize } + { duplicate$ empty$ + { pop$ "" } + { "\textsc{" swap$ * "}" * } + if$ +} + +FUNCTION {article.in.journal} +{ duplicate$ empty$ + { pop$ "" } + { author missing$ title missing$ and + { emphasize } + { emphasize "{In: }" swap$ * } + if$ + } + if$ +} + +FUNCTION {format.doi} +{ doi empty$ + { "" } + { new.block " \url{http://dx.doi.org/" doi * "}" * + %% { new.block " \url{http://dx.medra.org/" doi * "}" * + } + if$ +} + +FUNCTION {format.url} +{ urn missing$ + { doi missing$ + { url empty$ + { "" } + { type empty$ NOT + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + { type$ "incollection" = + { "" } + { "\,Absenderadresse: \url{" url * "}" * } + if$ + } + { "\url{" url * "}" * }%% evtl. "URL" oder "<...>" + if$ + } + { "\url{" url * "}" * } %% evtl. "URL" oder "<...>" + if$ + } + if$ + } + { format.doi } + if$ + } + { "\url{http://nbn-resolving.de/urn/resolver.pl?urn=" urn * "}" * + } + if$ +} + +FUNCTION {format.maillist.url} + { url empty$ + { "" } + { type empty$ + { "" } + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + { "\url{" url * "}" * } + { "" } + if$ + } + if$ + } + if$ + } + +%% Adelspraedikate beim Sortieren nach den(m) Vornamen auffuehren +%% Abweichend v. DIN !!! +FUNCTION {format.names} +{ 's := + "" 'u := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { + s nameptr "{ll}" format.name$ 't := + t capitalize 't := + s nameptr "{ jj}" format.name$ 'w := + s nameptr "{, f.~}{ vv}{ jj}" format.name$ 'u := + u text.length$ 'lang := + #1 'zahl := + "" 'v := + { zahl lang < } + { u zahl #1 substring$ "~" = + { v "" = + { u #1 zahl #1 - substring$ 'v := } + 'skip$ + if$ + v u zahl #2 substring$ * "." * w * 'v := + } + 'skip$ + if$ + zahl #1 + 'zahl := } + while$ + v "" = + { u 'v := } + 'skip$ + if$ + t v * fkt * 't := + nameptr #1 > + { namesleft #1 > + { " ; " * t * } + { numnames #2 > + { " " * } + 'skip$ + if$ + t "\textsc{others}" = t "\textsc{others} (Hrsg.)" = or + { ua.etal * } + { " ; " * t * } + if$ + } + if$ %% Ende der namesleft-Pruefung + } + 't + if$ %% Ende der nameptr-Pruefung + + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ %% Ende von { namesleft #0 > } ganz oben + "" 'fkt := %% fkt wird zurueckgesetzt +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { author empty$ + { "empty author and editor in " cite$ * warning$ "" } + 'skip$ + if$ + } + { author empty$ + { " (Hrsg.)" 'fkt := + editor format.names + } + { " (Hrsg.)" 'fkt := + " ; " * editor format.names * + } + if$ + } + if$ + } + +%% 2005-11-11 +FUNCTION { format.authors.organization } +{ type$ "misc" = + { organization empty$ + { author empty$ + { "" } + { author format.names " (Erfinder)" * } + if$ + } + { author empty$ + { organization } + { author format.names " (Erfinder); " * + organization * " (Anmelder)" * + } + if$ + } + if$ + } + { type$ "manual" = + { organization empty$ + { format.authors } + { author empty$ + { organization capitalize " (Hrsg.)" * } + { author format.names } + if$ + } + if$ + } + 'skip$ + if$ + } + if$ +} + + + +FUNCTION { format.editors.organization } +{ organization empty$ + 'skip$ + { type$ "misc" = + { organization } + { * " ; " * organization " (Veranst.)" *} + if$ + } + if$ +} + +FUNCTION { format.tr.institution } +{ institution empty$ + 'skip$ + { institution capitalize } + if$ +} + +FUNCTION {format.ed.incoll} +{ editor empty$ + { "" } + { " (Hrsg.)" 'fkt := + editor format.names + format.editors.organization + } + if$ +} + + +FUNCTION {format.title} +{ title empty$ + { "" } + { title } %% Text so wie er dasteht im Feld title + if$ +} + +FUNCTION {format.number} +{ number empty$ + { "" } + { number " " * } %% Text so wie er im Feld number steht plus " " + if$ +} + + +FUNCTION {format.type} +{ type empty$ + { "" } + { type " " * } %% Text wie er dasteht; Schutzrecht, Norm etc. + if$ +} + +FUNCTION {format.digital.type} +{ type empty$ + { "" } + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + { "" } + { type } %% Typ einer digitalen Ressource in Form einer + %% "Ergaenzenden Angabe", so wie er dasteht; + %% Alternativ kann dieser Text auch in NOTE erfasst werden. + if$ + } + if$ +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +%% Auflagenvermerke gibt man komplett, einschliesslich Abkuerzungen in +%% das Feld edition ein: ---> EDITION= { 3., erw. und verb. Aufl. } +%% oder fremdsprachlich: EDITION= { 2nd edition } + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { edition } + if$ +} + +FUNCTION {format.date} +{ year duplicate$ empty$ + { "empty year in " cite$ * warning$ + pop$ "" } + 'skip$ + if$ + month empty$ + 'skip$ + { type$ "book" = + type$ "inbook" = + OR + 'skip$ + { month " " * swap$ * } + if$ + } + if$ +} + +FUNCTION {format.edition.or.date} +{ edition empty$ year empty$ and + { "" } + { edition empty$ + { type empty$ NOT + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + { " gesendet: " "-- " type * swap$ * + format.date * + } + { "\,Version:\," + format.date * + } + if$ + } + { "\,Version:\," + format.date * + } + if$ + } + { year empty$ + { "\,Version:\," edition * } + { "\,Version:\," edition * ", " * + format.date * + } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.version.url} +{ url empty$ doi empty$ urn empty$ and and + { type$ "techreport" = + { format.edition } + { "" } + if$ + } + { format.edition.or.date output format.url } + if$ +} + +FUNCTION {format.edition.or.version} +{ url empty$ doi empty$ urn empty$ and and + { format.edition } + { format.edition.or.date } + if$ +} + +FUNCTION {format.address.publisher.year} +{ publisher empty$ + { address empty$ + { year empty$ + { "" } + { url empty$ + { year } + { "" } + if$ + } + if$ + } + { "there's an address but no publisher in " cite$ * warning$ + address ", " * format.date * + } + if$ + } + { url empty$%%%% wenn es URL gibt wird nur die service-provider Adresse +%%% ausgegeben, die im publisher-Feld steht + { address empty$ + { year empty$ + { "neither address nor publication date in " cite$ * warning$ + publisher + } + { publisher ", " * format.date * } + if$ + } + { year empty$ + { address " : " * publisher * } + { address " : " * publisher * ", " * format.date * } + if$ + } + if$ + } + { publisher } + if$ + } + if$ +} + +FUNCTION {format.howpublished} +{ url missing$ urn missing$ doi missing$ AND AND + { howpublished empty$ + { address empty$ + { type empty$ + { "" } + { type #-1 #4 substring$ "mail" = + { "(gesendet: " new.sentence + format.date * ")" * + } + { "" } + if$ + } + if$ + format.date * + } + { address ", " * format.date * } + if$ + } + { address empty$ + { howpublished ", " * format.date * } + { address " : " * howpublished * ", " * format.date * } + if$ + } + if$ + } + { howpublished empty$ + { "" } + { howpublished } + if$ + } + if$ +} + +FUNCTION {format.lastchecked.or.type} +{ lastchecked empty$ + { url empty$ doi empty$ urn empty$ and and + { type empty$ + { skip$ } + { type set.period.dash.check + type output + } + if$ + } + { type empty$ + { skip$ } + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + { skip$ } + { type set.period.dash.check + type output } + if$ + } + if$ + } + if$ + } + { url empty$ doi empty$ urn empty$ and and + { "there's a lastchecked date but no url, urn or doi in " + cite$ * warning$ + } + { type empty$ + { "there's a URL and a lastchecked date but no type in " + cite$ * warning$ + } + { type set.period.dash.check + type output + part.of.sentence + lastchecked "Abruf: " swap$ * output + } + if$ + } + if$ + } + if$ +} + + +FUNCTION {format.btitle} +{ title emphasize +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {format.btitle.vol} +{ number empty$ + { series empty$ + { volume empty$ + { title emphasize } + { title emphasize ". Bd." * volume tie.or.space.connect } + if$ + } + { volume empty$ + { title emphasize }%% ein Buch, das zusaetzl. SERIES=Reihentitel besitzt + %% jetzt kommt d. Fall des mehrbaendigen Werkes mit Gesamttitel=SERIES + %% Zaehlung=VOLUME und Bandtitel=TITLE; + { series emphasize ". Bd." * volume tie.or.space.connect + ": " * "{\emph{" * title * "}}" * } + if$ + } + if$%% series-test + } + { title emphasize }%% wenn number ex., dann immer title-Feld + if$%% Ende number-test +} + +FUNCTION {format.series.number.din} +{ volume empty$ + { number empty$ + { series empty$ + { "" } + { "(" series * ")" * } %% d. Seriennr koennte auch gleich hier + %% im SERIES-Feld miterfasst werden + if$ + } + { series empty$ + { "(" number * ")" * + "there's a number but no series in " cite$ * warning$ + } + { "(" series * number tie.or.space.connect ")" * } + if$ + } + if$ + } + { series empty$ + { "" } + { type$ "proceedings" = %% Sonderfall, es darf VOLUME und NUMBER ex. ! + type$ "inproceedings" = OR + { number empty$ + { "(" series * ")" * } + { "(" series * number tie.or.space.connect ")" * } + if$ + } + { "" }%% Ausstieg mit Nullstring, s. Kommentar + if$ + }%% bei gezaehlten Reihen MUSS die Reihennr. im Feld NUMBER stehen! + if$ %% wenn also d. Feld VOLUME nicht leer ist, dann liegt ausser bei + %% Typ PROCEEDINGS falsche + } %% Erfassung vor und es erfolgt d. Ausstieg mit d. Nullstring! + if$ +} + +FUNCTION {format.tr.series.or.number} +{ number empty$ + { series empty$ + { "" } + { "(" series * ")" * } + if$ + } + { series empty$ + { "(" number * ")" * } + { "(" series * number tie.or.space.connect ")" * } + if$ + } + if$ + } + +FUNCTION {format.misc.series} +{ series empty$ + { "" } + { "(" series * ")" * } + if$ +} + +FUNCTION { format.doi.urn } +{ urn empty$ + { doi empty$ + { "" } + { "DOI" doi n.dashify tie.or.space.connect } + if$ + } + { "URN" urn n.dashify tie.or.space.connect } + if$ +} + +FUNCTION { format.isbn.issn } +{ isbn empty$ + { issn empty$ + { "" } + { "ISSN" issn n.dashify tie.or.space.connect } + if$ + } + { "ISBN" isbn n.dashify tie.or.space.connect } + if$ +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { url empty$ + { "S." pages n.dashify tie.or.space.connect } + { pages } + if$ + } + if$ +} + +FUNCTION {format.pages.book} +{ pages empty$ + { "" } + { note empty$ isbn empty$ AND + { "" pages n.dashify tie.or.space.connect " S" * + add.period$ } + { "" pages n.dashify tie.or.space.connect " S" * } + if$ + } + if$ +} + +FUNCTION {format.pages.bkcollation} +{ pages empty$ + { "" } + { "" pages n.dashify tie.or.space.connect } + if$ +} + +FUNCTION {format.bkpages.collat.check} +{ 's := + #1 'ptr := + s text.length$ 'collation := + collation #1 = + { format.pages.book } + { + collation 'collrest := + { collrest #0 > } + { s ptr #2 substring$ 't := + t "S." = + { format.pages.bkcollation + #0 'collrest := } + { ptr #1 + 'ptr := + collrest #1 - 'collrest := + #1 collrest = + { format.pages.book } + { skip$ } + if$ + } + if$ + } + while$ + } + if$ +} + +FUNCTION {format.bkpages.collat.check.alt} +{ 's := + #1 'ptr := + s text.length$ 'collation := + collation 'collrest := + { collrest #0 > } + { s ptr #2 substring$ 't := + t "S." = + { format.pages.bkcollation + #0 'collrest := } + { ptr #1 + 'ptr := + collrest #1 - 'collrest := + #1 collrest = + { format.pages.book } + { skip$ } + if$ + } + if$ + } + while$ +} + + +FUNCTION {format.vol.year.num.pages} +{ volume field.or.null + year empty$ + { "there's no year in " cite$ * warning$ } + { " (" year * ")" * * } + if$ + month empty$ + 'skip$ + { ", " month * * } + if$ + number empty$ + 'skip$ + { ", Nr. " number * * } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ "" } + { title missing$ + { ", " pages format.bkpages.collat.check * *} + { ", " format.pages * *} + if$ + } + if$ + } + if$ +} + +FUNCTION {format.chapter.inbook} +{ duplicate$ empty$ + { pop$ "empty chapter in " cite$ * warning$ } + { type empty$ + { "\emph{Kapitel\/} " swap$ tie.or.space.connect } + { type " " * swap$ * }%% wenn keine bes. Abschnittsform gen. werden soll, + %% koennte e. kl. Zwischenraum gewaehlt werden, z.B. " \, " + if$ + } + if$ + } + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "Kapitel " } + { url empty$ + { type } + { "Kapitel " } + if$ + } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle.din} +{ booktitle empty$ + { "" } + { editor empty$ + { volume empty$ + { "{In: }" booktitle emphasize * } + { "{In: }" booktitle emphasize * + " Bd." volume tie.or.space.connect * + } + if$ + } + { volume empty$ + { "{In: }" format.ed.incoll * ": " * booktitle emphasize * } + { "{In: }" format.ed.incoll * ": " * booktitle emphasize * + " Bd." volume tie.or.space.connect * + } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.thesis.tr.type} +{ type empty$ + 'skip$ + { pop$ + type + } + if$ +} + +FUNCTION {format.online.lastcheck} +{ lastchecked empty$ + { url empty$ doi empty$ urn empty$ and and + { skip$ } + { "" output } + if$ + } + { url empty$ doi empty$ urn empty$ and and + { "there's a lastchecked date but no url, urn or doi in " + cite$ * warning$ + } + { part.of.sentence + lastchecked "Abruf: " swap$ * output + } + if$ + } + if$ +} + +FUNCTION {format.maillist.lastcheck} + { type empty$ NOT + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + { format.online.lastcheck } + 'skip$ + if$ + } + 'skip$ + if$ + } + + +FUNCTION {format.article.crossref} +{ key empty$ + { journal empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" + } + { "{In: }{\emph " journal * "}" * } + if$ + } + { "{In: }" key * } + if$ + "\cite{" * crossref * "}" * ", " * format.pages * +} + +FUNCTION {format.crossref.editor} + { editor #1 "{ll}" format.name$ " (Hrsg.)" * + editor num.names$ duplicate$ + #2 > + { pop$ ua.etal * }%% --->u. a. + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { ua.etal } + + { " ; " * editor #2 "{vv~}{ll}" format.name$ * " (Hrsg.)" * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.inbk.vol.title} +{ volume empty$ + { " In: " } + { title empty$ + { " In: Bd." volume tie.or.space.connect + " von " * + } + { "In: Bd." volume tie.or.space.connect ": " * title emphasize * + " (" * year * ") in " * + } + if$ + } + if$ + } + + +FUNCTION {format.book.crossref} +{ type$ "inbook" = + { format.inbk.vol.title } + { volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + " " + } + { ". -- Bd." volume tie.or.space.connect + " von " * + } + if$ + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { "" * } + if$ + } + { key * } + if$ + } + { "" * } + if$ + "\cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { booktitle empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + "" + } + { "{In: }{\emph " booktitle * "}" * }%% + if$ + } + { "{In: }" } + if$ + } + { "{In: }" } + if$ + "\cite{" * crossref * "}" * %% ", " * format.pages * 5.12.2005 +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + set.colon.after + format.title "title" output.check + crossref missing$ + { journal article.in.journal output.nonnull + new.sentence + format.vol.year.num.pages output + format.url output + } + { format.article.crossref output.nonnull } + if$ + format.online.lastcheck + doi set.period.dash.check + urn set.period.dash.check + format.doi.urn output + issn set.period.dash.check + format.isbn.issn output + note set.period.dash.check + note output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors format.editors output.nonnull } + if$ + set.colon.after + crossref missing$ + { format.btitle.vol "title" output.check } + { format.btitle "title" output.check } + if$ + format.edition output + format.address.publisher.year "publisher" output.check + new.sentence + crossref missing$ + { format.series.number.din output } + { format.book.crossref output.nonnull } + if$ + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + format.doi output + format.url output + new.block + isbn set.period.dash.check + format.isbn.issn output + note set.period.dash.check + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors format.editors output.nonnull } + if$ + set.colon.after + format.btitle "title" output.check + format.edition.or.version output + format.url output + format.online.lastcheck + format.howpublished output + series new.sentence.checka + format.series.number.din output + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + type set.period.dash.check + format.digital.type output + doi set.period.dash.check + urn set.period.dash.check + format.doi.urn output + note set.period.dash.check + note output + format.isbn.issn output + fin.entry +} + + +FUNCTION {inbook} +{ output.bibitem + chapter format.chapter.inbook output.nonnull + crossref missing$ + { author empty$ + { format.editors "\,{In:\,}" swap$ * "author and editor" output.check } + { format.authors "\,{In:\,}" swap$ * output.nonnull } + if$ + author empty$ editor empty$ AND + { before.all 'output.state := } + { set.colon.after } + if$ + format.btitle.vol "title" output.check + format.edition output + format.address.publisher.year "publisher" output.check + new.sentence + format.series.number.din output + isbn set.period.dash.check + format.isbn.issn output + } + { format.book.crossref output.nonnull } + if$ + part.of.sentence + format.pages output + note set.period.dash.check + note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + set.colon.after + format.title "title" output.check + format.version.url output + type empty$ NOT + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + 'skip$ + { format.online.lastcheck } + if$ + } + { format.online.lastcheck } + if$ + crossref missing$ + { format.in.ed.booktitle.din "booktitle" output.check + format.edition output + format.address.publisher.year "publisher" output.check + format.maillist.url output + format.maillist.lastcheck + new.sentence + format.series.number.din output + doi set.period.dash.check + urn set.period.dash.check + format.doi.urn output + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + } + { format.incoll.inproc.crossref output.nonnull } + if$ + part.of.sentence + format.chapter.pages "pages" output.check + note set.period.dash.check + note output + fin.entry +} + + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + set.colon.after + format.title "title" output.check + crossref missing$ + { format.in.ed.booktitle.din "booktitle" output.check + address empty$ + { organization new.sentence.checka + organization output + part.of.sentence + format.address.publisher.year output + } + { format.address.publisher.year "publisher" output.check } + if$ + new.sentence + series empty$ + 'skip$ + { format.series.number.din output } + if$ + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + } + { format.incoll.inproc.crossref output.nonnull } + if$ + part.of.sentence + format.pages "pages" output.check + note set.period.dash.check + note output + fin.entry +} + +FUNCTION {conference} { inproceedings }%% nach Patashnik, wg US-Kompatibilitaet + +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization empty$ + { title empty$ + 'skip$ + {format.btitle "title" output.check } + if$ + } + 'skip$ + if$ + } + 'skip$ + if$ + format.authors.organization output.nonnull + set.colon.after + format.btitle "title" output.check + format.edition "edition" output.check + author empty$ organization empty$ AND + { address "address" output.check + part.of.sentence + } + { organization empty$ + { address "address" output.check + part.of.sentence + } + { address ": " * organization * output + part.of.sentence + } + if$ + } + if$ + format.date output + number empty$ + 'skip$ + { "(" number * ") " * output } + if$ + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + format.doi output + format.url output + format.online.lastcheck + note set.period.dash.check + note output + fin.entry +} + +%% Standard ist "Diplomarbeit", anderes mit TYPE="anderer Typ" erfassen! +%% z.B. TYPE={Hausarbeit}, TYPE={Diss.}, TYPE={Habil.}, TYPE={Magisterarb.} +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + set.colon.after + format.btitle "title" output.check + address output + part.of.sentence + school "school" output.check + part.of.sentence + "Diplomarbeit" format.thesis.tr.type output.nonnull + part.of.sentence + format.date "year" output.check + format.url output + format.online.lastcheck + doi set.period.dash.check + urn set.period.dash.check + format.doi.urn output + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + note set.period.dash.check + note output + fin.entry +} + +FUNCTION {phdthesis} %% {mastersthesis}% ist identisch bis auf Standardwert, s.o. +{ output.bibitem + format.authors "author" output.check + set.colon.after + format.btitle "title" output.check + address output + part.of.sentence + school "school" output.check + part.of.sentence + "Diss." format.thesis.tr.type output.nonnull % koennte auch `Dissertation' sein + part.of.sentence + format.date "year" output.check + format.url output + format.online.lastcheck + doi set.period.dash.check + urn set.period.dash.check + format.doi.urn output + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + note set.period.dash.check + note output + fin.entry +} + + +%% Normen, Vornormen, Schutzrechte (Patente) werden hiermit erfasst; +%% (z.Zt. auch noch Internetressourcen) +%% das type-Feld uebernimmt eine wichtige Steuerfunktion: +FUNCTION {misc} +{ output.bibitem + type missing$ not + { type duplicate$ #1 #4 substring$ "Norm" = + type #1 #4 substring$ "Vorn" = OR + { " " * + format.number * output + new.sentence + format.date output + title empty$ + { skip$ } + { add.period$ new.sentence } + if$ + format.btitle "title" output.check + note set.period.dash.check + note output + } + { duplicate$ #1 #6 substring$ "Schutz" = + { " " * format.number * output + new.sentence + "(" * format.date ")" * output + add.period$ new.sentence + format.authors.organization add.period$ output + note output + } + %% wenn irgendein anderer Typ eingetragen ist + { pop$ pop$ "" + title empty$ + { note empty$ + { url empty$ + { "there's no relevant field in " cite$ warning$ + pop$ "" + } + { format.url output }%%% + if$ + } + { note " " * output.nonnull } + if$ + } + { author empty$ + { editor empty$ + { organization empty$ + { skip$ } + { format.editors.organization output.nonnull + set.colon.after + } + if$ + } + { format.editors format.editors.organization + output.nonnull set.colon.after + } + if$ + } + { format.authors format.editors output.nonnull + set.colon.after + } + if$ + format.btitle output.nonnull + url empty$ + { format.edition output + format.howpublished output} + { format.howpublished output + format.edition.or.date output + format.url output + } + if$ + format.online.lastcheck +%% format.lastchecked.or.type + new.sentence + format.misc.series output +%% note set.period.dash.check + note output + } + if$ + } + if$ + } + if$ + } + %% wenn es keinen type gibt + { title empty$ + { note empty$ + { url empty$ + { "there's no relevant field in " cite$ warning$ + pop$ "" + } + { format.url output }%%% das waere e. reine URL + if$ + } + { note " " * output.nonnull } + if$ + } + { author empty$ + { editor empty$ + { organization empty$ + { skip$ } + { format.editors.organization output.nonnull + set.colon.after + } + if$ + } + { format.editors format.editors.organization + output.nonnull set.colon.after + } + if$ + } + { format.authors format.editors output.nonnull + set.colon.after + } + if$ + format.btitle output.nonnull + url empty$ + { format.edition output + format.howpublished output} + { format.howpublished output + format.url output + format.edition.or.date output + format.online.lastcheck +%% format.lastchecked.or.type + } + if$ + new.sentence + format.misc.series output + note set.period.dash.check + note output + } + if$ + } + if$ + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization empty$ + { "empty organization and editor in " cite$ * warning$ } + { organization " (Veranst.)" * output } + if$ + } + { format.editors format.editors.organization output.nonnull } + if$ + set.colon.after + format.btitle "title" output.check + volume empty$ + { skip$ } + { "{\textnormal{Bd.}}" volume tie.or.space.connect emphasize "volume" output.check } + if$ + format.address.publisher.year "publisher" output.check + new.sentence + format.series.number.din output.nonnull + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + note set.period.dash.check + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + format.tr.institution output.nonnull } + { format.authors format.editors output.nonnull } + if$ + set.colon.after + format.title "title" output.check + institution empty$ + 'skip$ + { author empty$ editor empty$ AND + 'skip$ + { institution new.sentence.checka + "/ " institution * output.nonnull + } + if$ + } + if$ + format.version.url output + format.online.lastcheck + format.address.publisher.year output + number new.sentence.checka + format.tr.series.or.number "number" output.check + "Forschungsbericht" format.thesis.tr.type set.period.dash.check + "Forschungsbericht" format.thesis.tr.type output + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + note set.period.dash.check + note "note" output.check + fin.entry +} + + +FUNCTION {unpublished} {misc} + +FUNCTION {default.type} { misc } + +%%-------------------------- abgekuerzte Monatsnamen -------------- + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Febr."} + +MACRO {mar} {"M{\^^b a}rz"} + +MACRO {apr} {"Apr."} + +MACRO {mai} {"Mai"} + +MACRO {may} {"Mai"} + +MACRO {jun} {"Jun."} + +MACRO {jul} {"Jul."} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sept."} + +MACRO {okt} {"Okt."} + +MACRO {oct} {"Okt."} + +MACRO {nov} {"Nov."} + +MACRO {dez} {"Dez."} + +MACRO {dec} {"Dez."} + +%%$$$ stillgelegte Beispiele fuer den Gebrauch von Kuerzeln (hier Zs-Titel). +%% im abbrvdin-Stil werden die Zeitschriftennamen abgekuerzt! + +%%MACRO {acmcs} {"ACM Comp. Surv."} + +%%MACRO {acta} {"Acta Informat."} + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ + s nameptr "{ll{ }}{ ff{ }}{ vv{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "others" = and + { ua.etal * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "Der " #4 + "Die " #4 + "Das " #4 + "Ein " #4 + "Eine " #5 + "The " #4 t chop.word + chop.word + chop.word + chop.word + chop.word + chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.organization.sort} +{ author empty$ + { organization empty$ + { key empty$ + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.organization.sort} +{ editor empty$ + { organization empty$ + { key empty$ + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.organization.sort + { type$ "manual" = + 'author.organization.sort + 'author.sort + if$ + } + if$ + } + if$ + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +FUNCTION {initialize.longest.label}%% nicht identisch mit der Fkt.im ALPHA-Stil +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} + +FUNCTION {longest.label.pass} +{ number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} + +EXECUTE { initialize.longest.label } + +ITERATE { longest.label.pass } + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" longest.label * "}" * write$ newline$ + newline$ + "% this bibliography is generated by abbrvdin.bst [8.2] from 2005-12-21" + write$ newline$ newline$ + "\providecommand{\url}[1]{\texttt{#1}}" + write$ newline$ + "\expandafter\ifx\csname urlstyle\endcsname\relax" + write$ newline$ + " \providecommand{\doi}[1]{doi: #1}\else" + write$ newline$ + " \providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi" + write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} \ No newline at end of file diff --git a/arbeit/alphadin.bst b/arbeit/alphadin.bst new file mode 100644 index 0000000..0698026 --- /dev/null +++ b/arbeit/alphadin.bst @@ -0,0 +1,2212 @@ +%% ALPHADIN.BST Ausgabe [8.2] 2006-01-02 +%% +%% ersetzt ABBRVDIN.BST Ausgabe [8.1b4] 15/12/2004 +%% wichtigste Aenderung gegenueber Version [8.1b4]: +%% die Standardergaenzung "Online-Ressource" bei Internetquellen +%% ist ersatzlos gestrichen worden (wegen ueberfluessiger Redundanz). +%% +% +%% K.F.Lorenzen (Copyright 1994-2006) email: lorenzen.marxen@t-online.de +%% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +%% ALPHADIN.BST wurde entwickelt aus Oren Patashnik's BibTeX standard +%% bibliography style `alpha'. Eine vorgegebene Literaturdatenbank laesst sich +%% somit beliebig nach Us- oder deutscher DIN 1505-Zitierkonvention +%% verarbeiten. +%% Analog zu den 4 US standard styles werden 4 DIN-gerechte bst-style Dateien +%% veroeffentlicht (alphadin.bst, plaindin.bst, unsrtdin.bst, abbrvdin.bst). +%% Die gueltige Version ist am schnellsten aus dem WWW ueber folgende URL zu +%% beziehen: +%% http://www.haw-hamburg.de/pers/Lorenzen/bibtex/ +%% Stand: 2006-01-02 +%% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +%% WAS IST ALPHADIN.BST ? +%% Dieser style produziert "deutsche" Literaturzitate in Literaturverzeichnis- +%% sen gemaess der deutschen Norm DIN 1505, Teil 2 vom Jan. 1984. +%% Die Literaturzitate werden alphabetisch nach Verfassern sortiert. +%% Die Zitiermarken im Text und die Ordnungsmarken im Literaturverzeichnis +%% bestehen aus abgekuerzten Verfasserbuchstaben plus Erscheinungsjahr in +%% eckigen Klammern. Die vorliegenden DIN-styles gehen ueber einige bibliogra- +%% phischen Beschraenkungen der Originalstyles hinaus. +% +%% Es werden nun auch Elektronische Online / Offline Ressourcen wie Internet- +%% quellen, CD-ROM usw. verarbeitet. Dazu kommen besondere Publikationsformen +%% wie Patente, Normen, Karten, Fernsehaufzeichnungen, Gesetzesstellen, Spiele. +% +%% Zur Gewaehrleistung der Allgemeingueltigkeit von bib-files gelten in den +%% DIN-styles die in der Tex-Literatur veroeffentlichten originalen +%% Definitionen und Regeln fuer die Publikationstypen (entry-types) und die +%% bibliographischen Felder (fields). +%% Treten kleinere "Schoenheitsfehler" im fertig gesetzten output auf, +%% lassen sich diese so gut wie immer durch eine veraenderte +%% Erfassung im bib-inputfile beseitigen. Oren Patashnik empfiehlt, die +%% Definition der Felder weit auszulegen. Last but not least koennen +%% Sie im output-file < *.bbl > noch letzte Hand zur Korrektur ansetzen. +% +%% WARN- UND FEHLERMELDUNGEN +%% Ursache von Warnmeldungen sind meistens ausgelassene Felder oder +%% Erfassungs-"Fehler". Letztere haengen teilweise mit den gegenueber US- +%% Gepflogenheiten andersartigen bibliographischen Regeln nach DIN 1505 +%% zusammen. Sie sind also in Wahrheit keine "Fehler" und duerfen fast immer +%% ignoriert werden. Dennoch pruefen Sie diese Warnungen, um herauszufinden, +%% ob Publikationstyp (=entry-type) und "fields" eventuell unzulaessig +%% kombiniert worden sind. +%% Echte Fehler ("errors") treten nur noch in Verbindung mit falscher +%% Erfassung auf (nach meinen Tests!). Pruefen Sie die Syntax, den entry-type +%% und die fields. +%% Zu guter letzt: Qualitaetsmasstab ist einzig der DIN-konforme output! +%% +%% DANKSAGUNG +%% Hartmut Lueddecke, HAW Hamburg, hat viele Verbesserungsvorschlaege +%% in die frueheren Versionen eingebracht. Ihm danke ich herzlich. +%% Patrick W. Daly, dem Entwickler des Natbib-Stils, verdanke ich viele +%% Anregungen und den steten Ansporn, die DIN-Stile zu verbessern. +%% Viele an dieser Stelle ungenannt bleibende Anwender haben mich in +%% den vergangenen Jahren auf Fehler oder Verbesserungsmoeglichkeiten +%% aufmerksam gemacht und so diesen Stil mitentwickelt. Ihnen gilt mein +%% besonderer Dank. Ihr Feedback ist immer willkommen und eine Ermunterung. +%% +%% Klaus F. Lorenzen +%% +%% +%% +%% HINWEIS: Neben den vier bibliographischen DIN 1505 Standard-Stilen +%% nach den Original-styles von Oren Patashnik +%% gibt es noch vier DIN 1505 Adaptionen der NATBIB-style +%% Emulationen von Patrick W.Daly. Die Fuelle der darin +%% implementierten Zitierweisen geht weit ueber die urspruenglichen +%% Standardstyles hinaus. +%% Naeheres unter URL http://www.haw-hamburg.de/pers/Lorenzen/bibtex/ +%% +%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +%% version 0.99c for BibTeX versions 0.99c or later, LaTeX2e version +%% Copyright (C) 1985, all rights reserved. +%% Copying of this file is authorized only if either +%% (1) you make absolutely no changes to your copy, including name, or +%% (2) if you do make changes, you name it something other than +%% alphadin.bst +%% This restriction helps ensure that all standard styles are identical. +%% +%% +%% +%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +%% NEUE FELDER +%% Zur Erfassung der neuen digitalen Online-Medien z.B. Internetquellen, E-journals, E-books, +%% E-mail u.a. gibt es die zusaetzlichen Felder: doi, url, urn, lastchecked +%% Internetquellen werden vorzugsweise mit dem BOOKLET-Typ erfasst. +%% Normen, Patente, Schutzrechte sind mit dem MISC-Typ zu erfassen. + +ENTRY + { address %% Verlagsort (immer!) + author %% persoenlicher Urheber eines Werkes oder am Zustandekommen + %% beteiligte Personen(=Mitarbeiter, Uebersetzer, Redakteur u.a.) + booktitle %% a) Gesamttitel eines mehrbaendigen Werkes +% %% b) Titel des Sammelwerks, das einzelne selbstaendige +% %% Beitraege mit eigenem Titel enthaelt ->incollection + chapter %% Kapitel in einem Buch (Monographie) + doi %%% Digital Object Identifier ->article + edition %% a) Auflagevermerk +% %% b) bei selbst. elektron. Quellen == Version ->booklet + editor %% Persoenl.Herausgeber oder Koerperschaftlicher Herausgeber + howpublished %% beliebiger Verlegervermerk: veroeffentlicht "von wem, wo" + institution %% Institution, die e.verlagsfreie Veroeffentlichung betreibt + isbn %% Standardnr fuer Buecher + issn %% - " - : Zeitschriften u. Serien + journal %% Titel einer Zeitschrift + key %% Zusaetzlich vergebener Sortierschluessel, mitunter notwend. + lastchecked %% neues Feld fuer das Datum des Online-Abrufs +% %% einer Internetquelle (n. GRAY ) + month %% naehere Bestimmung des Erscheinungsjahres -> macro 's + note %% freies Eingabefeld fuer zusaetzliche Informationen z. Quelle + number %% Versch. Bedeutungen in Abhaengigkeit vom Eingabetyp: +% %% a) Bandnummer einer gezaehlten Reihe (series) +% %% b) Heftnummer einer Zeitschrift ->article +% %% c) Nummer eines Forschungsberichts ->techreport + organization %% a) Name der Organisation/des Organisators e. Tagung,Konferenz +% %% b) Name einer Firma/Gesellschaft, die ein ->manual herausgab + pages %% Umfangsangaben, meist Seitenzahlen + publisher %% Verlag + school %% Hochschule/Universitaet, die eine Dipl.-Arb./Dissertation veroeff. + series %% Titel e.Reihe, in der ein best. Buchtitel erschienen ist + title %% Titel einer (namentlich gekennzeichneten) Veroeffentlichung + type %% Zusatzfeld z.Kennzeichnung e.besonderen Publikationstyps + url %% neues Feld URL ( Uniform Resource Locator ): +% %% Serveradresse einer Internetquelle + urn %% neues Feld URN ( Uniform Resource Name ): +% %% Persistent Identifier einer Internetquelle + volume %% a) Zaehlung bei einem mehrbaendigen Werk ->book/->proceedings +% %% b) Jahrgang einer Zeitschrift ->article + year %% Erscheinungsjahr + } + {} + { label extra.label sort.label short.list } + +%%%---------------------------------------------------------------------------- +% Einige Standardvorgaben, die vom Benutzer veraendert werden koennen. +%%%---------------------------------------------------------------------------- + +% Abkuerzung ("... und andere") bei Mehrverfasserquellen: + +FUNCTION { ua.etal } { " u.\,a." } %% evtl. auch in eckigen Klammern " [u.\,a.]" + +%% oder lateinisch: FUNCTION { ua.etal } { " et~al." } + +FUNCTION { und } { " u. " } + +%% oder ausgeschrieben: FUNCTION { und } { " und " } +% +% Einige elektronische Medien erhalten nach DIN 1505 eine "Ergaenzende Angabe" +% zusaetzlich zum materiellen Typ, z.B. CD ROM oder DVD u.a.: + +FUNCTION { eress } { "Elektronische Ressource" } + +%%%----------------------------------------------------------------------------------- + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +INTEGERS { colon.after period.dash } + +INTEGERS { after.firstblock } + +INTEGERS { zahl lang } + +INTEGERS { nameptr namesleft numnames } + +INTEGERS { ptr collation collrest } + +INTEGERS { len } + +INTEGERS { et.al.char.used } + +INTEGERS { longest.label.width last.extra.num } +%------------------------- +STRINGS { longest.label last.sort.label next.extra } + +STRINGS { h s t u v w } + +STRINGS { fkt } +%------------------------- + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := + #4 'colon.after := + #5 'period.dash := + #6 'after.firstblock := +} + +FUNCTION {output.nonnull} +{ 's := + output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + { write$ } + { output.state colon.after = + { ": " * write$ + newline$ + "\newblock " write$ + } + { output.state period.dash = + { ". -- " * write$ + newline$ + "\newblock " write$ + } + { output.state mid.sentence = + { ", " * write$ } + { output.state after.sentence = + { " " * write$ } + { output.state after.firstblock = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { write$ + newline$ + "\newblock " write$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + after.block 'output.state := + } + if$ + s + } + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[" write$ + label write$% + "]{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {fin.entry} +{ write$ + newline$ +} + +FUNCTION {set.period.dash} %% Wenn ein ". - " die Satzteile trennen soll.! +{ output.state before.all = + 'skip$ + { period.dash 'output.state := } + if$ +} + +FUNCTION {set.period.dash.check} +{ empty$ + 'skip$ + 'set.period.dash + if$ +} + +FUNCTION {set.colon.after} %%$$$ Wenn ein ": " d. Satzteile trennen soll! +{ output.state before.all = + 'skip$ + { colon.after 'output.state := } + if$ +} + +%% Wenn ein " " die Satzteile trennen soll.! +FUNCTION {new.sentence} +{ output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ +} + +%% Wenn ein ", " die Satzteile trennen soll.! +FUNCTION { part.of.sentence } +{ output.state before.all = + 'skip$ + { mid.sentence 'output.state := } + if$ +} + +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} + +FUNCTION { capitalize } + { duplicate$ empty$ + { pop$ "" } + { "\textsc{" swap$ * "}" * } + if$ +} + + +%% Adelspraedikate beim Sortieren nach den(m) Vornamen auffuehren +%% Abweichend v. DIN !!! +FUNCTION {format.names} +{ 's := + "" 'u := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { + s nameptr "{ll}" format.name$ 't := + t capitalize 't := + s nameptr "{ jj}" format.name$ 'w := + s nameptr "{, ff}{ vv}{ jj}" format.name$ 'u := + u text.length$ 'lang := + #1 'zahl := + "" 'v := + { zahl lang < } + { u zahl #1 substring$ "~" = + { v "" = + { u #1 zahl #1 - substring$ 'v := } + 'skip$ + if$ + v u zahl #2 substring$ * "." * w * 'v := + } + 'skip$ + if$ + zahl #1 + 'zahl := } + while$ + v "" = + { u 'v := } + 'skip$ + if$ + t v * fkt * 't := + nameptr #1 > + { namesleft #1 > + { " ; " * t * } + { numnames #2 > + { " " * } + 'skip$ + if$ + t "\textsc{others}" = t "\textsc{others} (Hrsg.)" = or + { ua.etal * } + { " ; " * t * } + if$ + } + if$ %% Ende der namesleft-Pruefung + } + 't + if$ %% Ende der nameptr-Pruefung + + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ %% Ende von { namesleft #0 > } ganz oben + "" 'fkt := %% fkt wird zurueckgesetzt +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { author empty$ + { "empty author and editor in " cite$ * warning$ "" } + 'skip$ + if$ + } + { author empty$ + { " (Hrsg.)" 'fkt := + editor format.names + } + { " (Hrsg.)" 'fkt := + " ; " * editor format.names * + } + if$ + } + if$ + } + +%% 2005-11-11 +FUNCTION { format.authors.organization } +{ type$ "misc" = + { organization empty$ + { author empty$ + { "" } + { author format.names " (Erfinder)" * } + if$ + } + { author empty$ + { organization } + { author format.names " (Erfinder); " * + organization * " (Anmelder)" * + } + if$ + } + if$ + } + { type$ "manual" = + { organization empty$ + { author empty$ + { "" } + { author format.names } + if$ + } + { author empty$ + { organization capitalize " (Hrsg.)" * } + { author format.names " ; " * + organization capitalize * " (Hrsg.)" * + } + if$ + } + if$ + } + 'skip$ + if$ + } + if$ +} + + +FUNCTION { format.editors.organization } +{ organization empty$ + 'skip$ + { type$ "misc" = + { organization } + { * " ; " * organization " (Veranst.)" *} + if$ + } + if$ +} + +FUNCTION { format.tr.institution } +{ institution empty$ + 'skip$ + { institution capitalize } + if$ +} + +FUNCTION {format.ed.incoll} +{ editor empty$ + { "" } + { " (Hrsg.)" 'fkt := + editor format.names + format.editors.organization + } + if$ +} + +FUNCTION {article.in.journal} +{ duplicate$ empty$ + { pop$ "" } + { author missing$ title missing$ and + { emphasize } + { emphasize "{In: }" swap$ * } + if$ + } + if$ +} + +FUNCTION {format.title} +{ title empty$ + { "" } + { title } %% Text so wie er dasteht im Feld title + if$ +} + +FUNCTION {format.number} +{ number empty$ + { "" } + { number " " * } %% Text so wie er im Feld number steht plus " " + if$ +} + + +FUNCTION {format.digital.type} +{ type empty$ + { "" } + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + { "" } + { type } %% Typ einer digitalen Ressource in Form einer + %% "Ergaenzenden Angabe", so wie er dasteht; + %% Alternativ kann dieser Text auch in NOTE erfasst werden. + if$ + } + if$ +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +%% Auflagenvermerke gibt man komplett, einschliesslich Abkuerzungen in +%% das Feld edition ein: ---> EDITION= { 3., erw. und verb. Aufl. } +%% oder fremdsprachlich: EDITION= { 2nd edition } + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { edition } + if$ +} + +FUNCTION {format.date} +{ year duplicate$ empty$ + { "empty year in " cite$ * warning$ + pop$ "" } + 'skip$ + if$ + month empty$ + 'skip$ + { type$ "book" = + type$ "inbook" = + OR + 'skip$ + { month " " * swap$ * } + if$ + } + if$ +} + + +FUNCTION {format.edition.or.date} +{ edition empty$ year empty$ and + { "" } + { edition empty$ + { type empty$ NOT + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + { " gesendet: " "-- " type * swap$ * + format.date * + } + { "\,Version:\," + format.date * + } + if$ + } + { "\,Version:\," + format.date * + } + if$ + } + { year empty$ + { "\,Version:\," edition * } + { "\,Version:\," edition * ", " * + format.date * + } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.doi} +{ doi empty$ + { "" } + { new.block "\url{http://dx.doi.org/" doi * "}" * + %% { new.block "\url{http://dx.medra.org/" doi * "}" * + } + if$ +} + +FUNCTION {format.url} +{ urn missing$ + { doi missing$ + { url empty$ + { "" } + { type empty$ NOT + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + { type$ "incollection" = + { "" } + { "\,Absenderadresse: \url{" url * "}" * } + if$ + } + { "\url{" url * "}" * }%% evtl. "URL" oder "<...>" + if$ + } + { "\url{" url * "}" * } %% evtl. "URL" oder "<...>" + if$ + } + if$ + } + { format.doi } + if$ + } + { "\url{http://nbn-resolving.de/urn/resolver.pl?urn=" urn * "}" * + } + if$ +} + +FUNCTION {format.maillist.url} + { url empty$ + { "" } + { type empty$ + { "" } + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + { "\url{" url * "}" * } + { "" } + if$ + } + if$ + } + if$ + } + + +FUNCTION {format.version.url} +{ url empty$ doi empty$ urn empty$ and and + { type$ "techreport" = + { format.edition } + { "" } + if$ + } + { format.edition.or.date output format.url } + if$ +} + +FUNCTION {format.edition.or.version} +{ url empty$ doi empty$ urn empty$ and and + { format.edition } + { format.edition.or.date } + if$ +} + +FUNCTION {format.online.lastcheck} +{ lastchecked empty$ + { url empty$ doi empty$ urn empty$ and and + { skip$ } + { "" output } + if$ + } + { url empty$ doi empty$ urn empty$ and and + { "there's a lastchecked date but no url, urn or doi in " + cite$ * warning$ + } + { part.of.sentence + lastchecked "Abruf: " swap$ * output + } + if$ + } + if$ +} + + +FUNCTION {format.maillist.lastcheck} + { type empty$ NOT + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + { format.online.lastcheck } + 'skip$ + if$ + } + 'skip$ + if$ + } + +FUNCTION {format.address.publisher.year} +{ publisher empty$ + { address empty$ + { year empty$ + { "" } + { year } + if$ + } + { "there's an address but no publisher in " cite$ * warning$ + address ", " * format.date * + } + if$ + } + { address empty$ + { year empty$ + { "neither address nor publication date in " cite$ * warning$ + publisher + } + { publisher ", " * format.date * } + if$ + } + { year empty$ + { address " : " * publisher * } + { address " : " * publisher * ", " * format.date * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.address.publisher.year.alt} +{ publisher empty$ + { address empty$ + { year empty$ + { "" } + { url empty$ + { year } + { "" } + if$ + } + if$ + } + { "there's an address but no publisher in " cite$ * warning$ + address ", " * format.date * + } + if$ + } + { url empty$%%%% wenn es URL gibt wird nur die service-provider Adresse +%%% ausgegeben, die im publisher-Feld steht + { address empty$ + { year empty$ + { "neither address nor publication date in " cite$ * warning$ + publisher + } + { publisher ", " * format.date * } + if$ + } + { year empty$ + { address " : " * publisher * } + { address " : " * publisher * ", " * format.date * } + if$ + } + if$ + } + { publisher } + if$ + } + if$ +} + +FUNCTION {format.howpublished} +{ url missing$ urn missing$ doi missing$ AND AND + { howpublished empty$ + { address empty$ + { type empty$ + { "" } + { type #-1 #4 substring$ "mail" = + { "(gesendet: " new.sentence + format.date * ")" * + } + { "" } + if$ + } + if$ + format.date * + } + { address ", " * format.date * } + if$ + } + { address empty$ + { howpublished ", " * format.date * } + { address " : " * howpublished * ", " * format.date * } + if$ + } + if$ + } + { howpublished empty$ + { "" } + { howpublished } + if$ + } + if$ +} + +FUNCTION {format.lastchecked.or.type}%% nur in misc-Funktion +{ lastchecked empty$ + { url empty$ doi empty$ urn empty$ and and + { type empty$ + { skip$ } + { type set.period.dash.check + type output + } + if$ + } + { type empty$ + { skip$ } + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + { skip$ } + { type set.period.dash.check + type output } + if$ + } + if$ + } + if$ + } + { url empty$ doi empty$ urn empty$ and and + { "there's a lastchecked date but no url, urn or doi in " + cite$ * warning$ + } + { type empty$ + { "there's a URL and a lastchecked date but no type in " + cite$ * warning$ + } + { type set.period.dash.check + type output + part.of.sentence + lastchecked "Abruf: " swap$ * output + } + if$ + } + if$ + } + if$ +} + + +FUNCTION {format.btitle} +{ title emphasize +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {format.btitle.vol} +{ number empty$ + { series empty$ + { volume empty$ + { title emphasize } + { title emphasize ". Bd." * volume tie.or.space.connect } + if$ + } + { volume empty$ + { title emphasize }%% ein Buch, das zusaetzl. SERIES=Reihentitel besitzt + %% jetzt kommt d. Fall des mehrbaendigen Werkes mit Gesamttitel=SERIES + %% Zaehlung=VOLUME und Bandtitel=TITLE; + { series emphasize ". Bd." * volume tie.or.space.connect + ": " * "{\emph{" * title * "}}" * } + if$ + } + if$%% series-test + } + { title emphasize }%% wenn number ex., dann immer title-Feld + if$%% Ende number-test +} + +FUNCTION {format.series.number.din} +{ volume empty$ + { number empty$ + { series empty$ + { "" } + { "(" series * ")" * } %% d. Seriennr koennte auch gleich hier + %% im SERIES-Feld miterfasst werden + if$ + } + { series empty$ + { "(" number * ")" * + "there's a number but no series in " cite$ * warning$ + } + { "(" series * number tie.or.space.connect ")" * } + if$ + } + if$ + } + { series empty$ + { "" } + { type$ "proceedings" = %% Sonderfall, es darf VOLUME und NUMBER ex. ! + type$ "inproceedings" = OR + { number empty$ + { "(" series * ")" * } + { "(" series * number tie.or.space.connect ")" * } + if$ + } + { "" }%% Ausstieg mit Nullstring, s. Kommentar + if$ + }%% bei gezaehlten Reihen MUSS die Reihennr. im Feld NUMBER stehen! + if$ %% wenn also d. Feld VOLUME nicht leer ist, dann liegt ausser bei + %% Typ PROCEEDINGS falsche + } %% Erfassung vor und es erfolgt d. Ausstieg mit d. Nullstring! + if$ +} + +FUNCTION {format.tr.series.or.number} +{ number empty$ + { series empty$ + { "" } + { "(" series * ")" * } + if$ + } + { series empty$ + { "(" number * ")" * } + { "(" series * number tie.or.space.connect ")" * } + if$ + } + if$ + } + +FUNCTION {format.misc.series} +{ series empty$ + { "" } + { "(" series * ")" * } + if$ +} + +FUNCTION { format.doi.urn } +{ urn empty$ + { doi empty$ + { "" } + { "DOI" doi n.dashify tie.or.space.connect } + if$ + } + { "URN" urn n.dashify tie.or.space.connect } + if$ +} + +FUNCTION { format.isbn.issn } +{ isbn empty$ + { issn empty$ + { "" } + { "ISSN" issn n.dashify tie.or.space.connect } + if$ + } + { "ISBN" isbn n.dashify tie.or.space.connect } + if$ +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { url empty$ + { "S." pages n.dashify tie.or.space.connect } + { pages } + if$ + } + if$ +} + +FUNCTION {format.pages.book} +{ pages empty$ + { "" } + { note empty$ isbn empty$ AND + { "" pages n.dashify tie.or.space.connect " S" * + add.period$ } + { "" pages n.dashify tie.or.space.connect " S" * } + if$ + } + if$ +} + +FUNCTION {format.pages.bkcollation} +{ pages empty$ + { "" } + { "" pages n.dashify tie.or.space.connect } + if$ +} + +FUNCTION {format.bkpages.collat.check} +{ 's := + #1 'ptr := + s text.length$ 'collation := + collation #1 = + { format.pages.book } + { + collation 'collrest := + { collrest #0 > } + { s ptr #2 substring$ 't := + t "S." = + { format.pages.bkcollation + #0 'collrest := } + { ptr #1 + 'ptr := + collrest #1 - 'collrest := + #1 collrest = + { format.pages.book } + { skip$ } + if$ + } + if$ + } + while$ + } + if$ +} + +FUNCTION {format.vol.year.num.pages} +{ volume field.or.null + year empty$ + { "there's no year in " cite$ * warning$ } + { " (" year * ")" * * } + if$ + month empty$ + 'skip$ + { ", " month * * } + if$ + number empty$ + 'skip$ + { ", Nr. " number * * } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ "" } + { title missing$ + { ", " pages format.bkpages.collat.check * *} + { ", " format.pages * *} + if$ + } + if$ + } + if$ +} + +FUNCTION {format.chapter.inbook} +{ duplicate$ empty$ + { pop$ "empty chapter in " cite$ * warning$ } + { type empty$ + { "\emph{Kapitel\/} " swap$ tie.or.space.connect } + { type " " * swap$ * }%% wenn keine bes. Abschnittsform gen. werden soll, + %% koennte e. kl. Zwischenraum gewaehlt werden, z.B. " \, " + if$ + } + if$ + } + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "Kapitel " } + { url empty$ + { type } + { "Kapitel " } + if$ + } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle.din} +{ booktitle empty$ + { "" } + { editor empty$ + { volume empty$ + { "{In: }" booktitle emphasize * } + { "{In: }" booktitle emphasize * + " Bd." volume tie.or.space.connect * + } + if$ + } + { volume empty$ + { "{In: }" format.ed.incoll * ": " * booktitle emphasize * } + { "{In: }" format.ed.incoll * ": " * booktitle emphasize * + " Bd." volume tie.or.space.connect * + } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.thesis.tr.type} +{ type empty$ + 'skip$ + { pop$ + type + } + if$ +} + +FUNCTION {format.article.crossref} +{ key empty$ + { journal empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" + } + { "{In: }{\emph " journal * "}" * } + if$ + } + { "{In: }" key * } + if$ + "\cite{" * crossref * "}" * ", " * format.pages * +} + +FUNCTION {format.crossref.editor} + { editor #1 "{ll}" format.name$ " (Hrsg.)" * + editor num.names$ duplicate$ + #2 > + { pop$ ua.etal * }%% --->u. a. + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { ua.etal } + { " ; " * editor #2 "{vv~}{ll}" format.name$ * " (Hrsg.)" * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.inbk.vol.title} +{ volume empty$ + { " In: " } + { title empty$ + { " In: Bd." volume tie.or.space.connect + " von " * + } + { "In: Bd." volume tie.or.space.connect ": " * title emphasize * + " (" * year * ") in " * + } + if$ + } + if$ + } + + +FUNCTION {format.book.crossref} +{ type$ "inbook" = + { format.inbk.vol.title } + { volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + " " + } + { ". -- Bd." volume tie.or.space.connect + " von " * + } + if$ + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { "" * } + if$ + } + { key * } + if$ + } + { "" * } + if$ + "\cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { booktitle empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + "" + } + { "{In: }{\emph " booktitle * "}" * }%% + if$ + } + { "{In: }" } + if$ + } + { "{In: }" } + if$ + "\cite{" * crossref * "}" * %% ", " * format.pages * 5.12.2005 +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + set.colon.after + format.title "title" output.check + crossref missing$ + { journal article.in.journal output.nonnull + new.sentence + format.vol.year.num.pages output + format.url output + } + { format.article.crossref output.nonnull } + if$ + format.online.lastcheck + doi set.period.dash.check + urn set.period.dash.check + format.doi.urn output + issn set.period.dash.check + format.isbn.issn output + note set.period.dash.check + note output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors format.editors output.nonnull } + if$ + set.colon.after + crossref missing$ + { format.btitle.vol "title" output.check } + { format.btitle "title" output.check } + if$ + format.edition output + format.address.publisher.year "publisher" output.check + new.sentence + crossref missing$ + { format.series.number.din output } + { format.book.crossref output.nonnull } + if$ + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + format.doi output + format.url output + new.block + isbn set.period.dash.check + format.isbn.issn output + note set.period.dash.check + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors format.editors output.nonnull } + if$ + set.colon.after + format.btitle "title" output.check + format.edition.or.version output + format.url output + format.online.lastcheck + format.howpublished output + series new.sentence.checka + format.series.number.din output + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + type set.period.dash.check + format.digital.type output + doi set.period.dash.check + urn set.period.dash.check + format.doi.urn output + note set.period.dash.check + note output + format.isbn.issn output + fin.entry +} + + +FUNCTION {inbook} +{ output.bibitem + chapter format.chapter.inbook output.nonnull + crossref missing$ + { author empty$ + { format.editors "\,{In:\,}" swap$ * "author and editor" output.check } + { format.authors "\,{In:\,}" swap$ * output.nonnull } + if$ + author empty$ editor empty$ AND + { before.all 'output.state := } + { set.colon.after } + if$ + format.btitle.vol "title" output.check + format.edition output + format.address.publisher.year "publisher" output.check + new.sentence + format.series.number.din output + isbn set.period.dash.check + format.isbn.issn output + } + { format.book.crossref output.nonnull } + if$ + part.of.sentence + format.pages output + note set.period.dash.check + note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + set.colon.after + format.title "title" output.check + format.version.url output + type empty$ NOT + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + 'skip$ + { format.online.lastcheck } + if$ + } + { format.online.lastcheck } + if$ + crossref missing$ + { format.in.ed.booktitle.din "booktitle" output.check + format.edition output + format.address.publisher.year "publisher" output.check + format.maillist.url output + format.maillist.lastcheck + new.sentence + format.series.number.din output + doi set.period.dash.check + urn set.period.dash.check + format.doi.urn output + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + } + { format.incoll.inproc.crossref output.nonnull } + if$ + part.of.sentence + format.chapter.pages "pages" output.check + note set.period.dash.check + note output + fin.entry +} + + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + set.colon.after + format.title "title" output.check + crossref missing$ + { format.in.ed.booktitle.din "booktitle" output.check + address empty$ + { organization new.sentence.checka + organization output + part.of.sentence + format.address.publisher.year output + } + { format.address.publisher.year "publisher" output.check } + if$ + new.sentence + series empty$ + 'skip$ + { format.series.number.din output } + if$ + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + } + { format.incoll.inproc.crossref output.nonnull } + if$ + part.of.sentence + format.pages "pages" output.check + note set.period.dash.check + note output + fin.entry +} + +FUNCTION {conference} { inproceedings }%% nach Patashnik, wg US-Kompatibilitaet + +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization empty$ + { title empty$ + 'skip$ + {format.btitle "title" output.check } + if$ + } + 'skip$ + if$ + } + 'skip$ + if$ + format.authors.organization output.nonnull + set.colon.after + format.btitle "title" output.check + format.edition "edition" output.check + author empty$ organization empty$ AND + { address "address" output.check + part.of.sentence + } + { organization empty$ + { address "address" output.check + part.of.sentence + } + { address ": " * organization * output + part.of.sentence + } + if$ + } + if$ + format.date output + number empty$ + 'skip$ + { "(" number * ") " * output } + if$ + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + format.doi output + format.url output + format.online.lastcheck + note set.period.dash.check + note output + fin.entry +} + +%% Standard ist "Diplomarbeit", anderes mit TYPE="anderer Typ" erfassen! +%% z.B. TYPE={Hausarbeit}, TYPE={Diss.}, TYPE={Habil.}, TYPE={Magisterarb.} +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + set.colon.after + format.btitle "title" output.check + address output + part.of.sentence + school "school" output.check + part.of.sentence + "Diplomarbeit" format.thesis.tr.type output.nonnull + part.of.sentence + format.date "year" output.check + format.url output + format.online.lastcheck +%% format.digital.resource.type + doi set.period.dash.check + urn set.period.dash.check + format.doi.urn output +%% pages set.period.dash.check +%% format.pages.book output + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + note set.period.dash.check + note output + fin.entry +} + +FUNCTION {phdthesis} %% {mastersthesis}% ist identisch bis auf Standardwert, s.o. +{ output.bibitem + format.authors "author" output.check + set.colon.after + format.btitle "title" output.check + address output + part.of.sentence + school "school" output.check + part.of.sentence + "Diss." format.thesis.tr.type output.nonnull % koennte auch `Dissertation' sein + part.of.sentence + format.date "year" output.check + format.url output + format.online.lastcheck +%% format.digital.resource.type + doi set.period.dash.check + urn set.period.dash.check + format.doi.urn output + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ +%% pages set.period.dash.check +%% format.pages.book output + note set.period.dash.check + note output + fin.entry +} + + +%% Normen, Vornormen, Schutzrechte (Patente) werden hiermit erfasst; +%% (z.Zt. auch noch Internetressourcen) +%% das type-Feld uebernimmt eine wichtige Steuerfunktion: +FUNCTION {misc} +{ output.bibitem + type missing$ not + { type duplicate$ #1 #4 substring$ "Norm" = + type #1 #4 substring$ "Vorn" = OR + { " " * + format.number * output + new.sentence + format.date output + title empty$ + { skip$ } + { add.period$ new.sentence } + if$ + format.btitle "title" output.check + note set.period.dash.check + note output + } + { duplicate$ #1 #6 substring$ "Schutz" = + { " " * format.number * output + new.sentence + "(" * format.date ")" * output + add.period$ new.sentence + format.authors.organization add.period$ output + note output + } + %% wenn irgendein anderer Typ eingetragen ist + { pop$ pop$ "" + title empty$ + { note empty$ + { url empty$ + { "there's no relevant field in " cite$ warning$ + pop$ "" + } + { format.url output }%%% + if$ + } + { note " " * output.nonnull } + if$ + } + { author empty$ + { editor empty$ + { organization empty$ + { skip$ } + { format.editors.organization output.nonnull + set.colon.after + } + if$ + } + { format.editors format.editors.organization + output.nonnull set.colon.after + } + if$ + } + { format.authors format.editors output.nonnull + set.colon.after + } + if$ + format.btitle output.nonnull + url empty$ + { format.edition output + format.howpublished output} + { format.howpublished output + format.edition.or.date output + format.url output + } + if$ + format.online.lastcheck +%% format.lastchecked.or.type + new.sentence + format.misc.series output +%% note set.period.dash.check + note output + } + if$ + } + if$ + } + if$ + } + %% wenn es keinen type gibt + { title empty$ + { note empty$ + { url empty$ + { "there's no relevant field in " cite$ warning$ + pop$ "" + } + { format.url output }%%% das waere e. reine URL + if$ + } + { note " " * output.nonnull + %% format.url format.date output + } + if$ + } + { author empty$ + { editor empty$ + { organization empty$ + { skip$ } + { format.editors.organization output.nonnull + set.colon.after + } + if$ + } + { format.editors format.editors.organization + output.nonnull set.colon.after + } + if$ + } + { format.authors format.editors output.nonnull + set.colon.after + } + if$ + format.btitle output.nonnull + url empty$ + { format.edition output + format.howpublished output} + { format.howpublished output + format.url output + format.edition.or.date output + format.online.lastcheck +%% format.lastchecked.or.type + } + if$ + new.sentence + format.misc.series output + note set.period.dash.check + note output + } + if$ + } + if$ + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization empty$ + { "empty organization and editor in " cite$ * warning$ } + { organization " (Veranst.)" * output } + if$ + } + { format.editors format.editors.organization output.nonnull } + if$ + set.colon.after + format.btitle "title" output.check + volume empty$ + { skip$ } + { "{\textnormal{Bd.}}" volume tie.or.space.connect emphasize "volume" output.check } + if$ + format.address.publisher.year "publisher" output.check + new.sentence + format.series.number.din output.nonnull + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + note set.period.dash.check + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + format.tr.institution output.nonnull } + { format.authors format.editors output.nonnull } + if$ + set.colon.after + format.title "title" output.check + institution empty$ + 'skip$ + { author empty$ editor empty$ AND + 'skip$ + { institution new.sentence.checka + "/ " institution * output.nonnull + } + if$ + } + if$ + format.version.url output + format.online.lastcheck + format.address.publisher.year output + number new.sentence.checka + format.tr.series.or.number "number" output.check + "Forschungsbericht" format.thesis.tr.type set.period.dash.check + "Forschungsbericht" format.thesis.tr.type output +%% format.digital.resource.type + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + note set.period.dash.check + note "note" output.check + fin.entry +} + +FUNCTION {unpublished} {misc}%% AUTHOR, TITLE, NOTE muessen sein! +%% andere Felder sind optional + +FUNCTION {default.type} { misc } + + +MACRO {jan} {"Januar"} + +MACRO {feb} {"Februar"} + +MACRO {mar} {"M{\^^b a}rz"} + +MACRO {apr} {"April"} + +MACRO {mai} {"Mai"} + +MACRO {may} {"Mai"} + +MACRO {jun} {"Juni"} + +MACRO {jul} {"Juli"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {okt} {"Oktober"} + +MACRO {oct} {"Oktober"} + +MACRO {nov} {"November"} + +MACRO {dez} {"Dezember"} + +MACRO {dec} {"Dezember"} + +%%$$$ stillgelegte Beispiele fuer den Gebrauch von Kuerzeln (hier Zs-Titel). + +%%MACRO {acmcs} {"ACM Computing Surveys"} + +%%MACRO {acta} {"Acta Informatica"} + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {initialize.et.al.char.used} +{ #0 'et.al.char.used := +} + +EXECUTE {initialize.et.al.char.used} + +FUNCTION {format.lab.names} +{ 's := + s num.names$ 'numnames := + numnames #1 > + { numnames #4 > + { #3 'namesleft := } + { numnames 'namesleft := } + if$ + #1 'nameptr := + "" + { namesleft #0 > } + { nameptr numnames = + { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" = +%% { "\," * %% kein besonderes Zeichen fuer "others" i. label + { "{\etalchar{+}}" * %% ein plus-Zeichen (+) fuer "others"! + #1 'et.al.char.used := + } + { s nameptr "{l{}}" format.name$ * } + if$ + } + { s nameptr "{l{}}" format.name$ * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + numnames #4 > +%% { "\," * %% s. Bemerkung oben + { "{\etalchar{+}}" * + #1 'et.al.char.used := + } + 'skip$ + if$ + } + { s #1 "{l{}}" format.name$ + duplicate$ text.length$ #2 < + { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ } %% vgl. Anmerkung! + 'skip$ + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + { key #3 text.prefix$ } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + { key #3 text.prefix$ } + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.key.organization.label} +{ author empty$ + { key empty$ + { organization empty$ + { cite$ #1 #3 substring$ } + { "The " #4 organization chop.word #3 text.prefix$ } + if$ + } + { key #3 text.prefix$ } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.organization.label} +{ editor empty$ + { key empty$ + { organization empty$ + { cite$ #1 #3 substring$ } + { "The " #4 organization chop.word organization } + if$ + } + { key #5 text.prefix$ }%% man kann Laenge des key einstellen + if$ + } + { key empty$%% wenn key vh., dann macht er das label! Lo,18/5/99 + { editor format.lab.names } + { key #5 text.prefix$ } + if$ + } + if$ +} + +FUNCTION {calc.label} +{ type$ "book" = + type$ "booklet" = + type$ "inbook" = + or or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.organization.label + { type$ "manual" = + 'author.key.organization.label + 'author.key.label + if$ + } + if$ + } + if$ + duplicate$ + year field.or.null purify$ #-1 #2 substring$ + * + 'label := + year field.or.null purify$ #-1 #4 substring$ + * + sortify 'sort.label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ + s nameptr "{ll{ }}{ ff{ }}{ vv{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "others" = and + { ua.etal * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "Der " #4 + "Die " #4 + "Das " #4 + "Ein " #4 + "Eine " #5 + "The " #4 t chop.word + chop.word + chop.word + chop.word + chop.word + chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.organization.sort} +{ author empty$ + { organization empty$ + { key empty$ + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.organization.sort} +{ editor empty$ + { organization empty$ + { key empty$ + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} +{ calc.label + sort.label + " " + * + type$ "book" = + type$ "booklet" = + type$ "inbook" = + or or + 'author.editor.sort + { type$ "proceedings" = + 'editor.organization.sort + { type$ "manual" = + 'author.organization.sort + 'author.sort + if$ + } + if$ + } + if$ + * + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #0 int.to.chr$ 'last.sort.label := + "" 'next.extra := + #0 'longest.label.width := + #0 'last.extra.num := +} + +FUNCTION {forward.pass} +{ last.sort.label sort.label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + sort.label 'last.sort.label := + } + if$ +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + label extra.label * 'label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ + extra.label 'next.extra := +} + +EXECUTE {initialize.longest.label} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +FUNCTION {begin.bib} +{ et.al.char.used + { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ } + 'skip$ + if$ + preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" longest.label * "}" * write$ newline$ + newline$ + "% this bibliography is generated by alphadin.bst [8.2] from 2005-12-21" + write$ newline$ + newline$ + "\providecommand{\url}[1]{\texttt{#1}}" + write$ newline$ + "\expandafter\ifx\csname urlstyle\endcsname\relax" + write$ newline$ + " \providecommand{\doi}[1]{doi: #1}\else" + write$ newline$ + " \providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi" + write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} \ No newline at end of file diff --git a/arbeit/bibma.bib b/arbeit/bibma.bib index ff32e43..3f3b250 100644 --- a/arbeit/bibma.bib +++ b/arbeit/bibma.bib @@ -1,4 +1,4 @@ -@inproceedings{anrichterEvol, +@article{anrichterEvol, author = "Richter, Andreas and Achenbach, Jascha and Menzel, Stefan and Botsch, Mario", booktitle = "IEEE Congress on Evolutionary Computation", location = "Vancouver, Canada", @@ -97,8 +97,8 @@ eprint = {https://doi.org/10.1137/0111030} url={https://www.researchgate.net/profile/Yaneer_Bar-Yam/publication/225104044_Complex_Engineered_Systems_A_New_Paradigm/links/59107f20a6fdccbfd57eb84d/Complex-Engineered-Systems-A-New-Paradigm.pdf} } @article{wagner1996complex, - title={COMPLEX ADAPTATIONS AND THE EVOLUTION OF EVOLVABILITY}, - author={WAGNER, GUNTER P and ALTENBERG23, LEE}, + title={Complex adaptations and the evolution of evolvability}, + author={Wagner, Gunter P and Altenberg, Lee}, journal={Evolution}, volume={50}, number={3}, diff --git a/arbeit/ma.pdf b/arbeit/ma.pdf index ac52bb005e595e2db2190f0853410883d2cba0d9..2ff5c5f2419ed154df4216bf2687618b56bee684 100644 GIT binary patch delta 78360 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

KM#S=k} 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ΠD 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 noch letzte Hand zur Korrektur ansetzen. +% +%% WARN- UND FEHLERMELDUNGEN +%% Ursache von Warnmeldungen sind meistens fehlende Felder oder +%% Erfassungs-"Fehler". Letztere haengen teilweise mit den gegenueber US- +%% Gepflogenheiten andersartigen bibliographischen Regeln nach DIN 1505 +%% zusammen. Sie sind also in Wahrheit keine "Fehler" und duerfen fast immer +%% ignoriert werden. Dennoch pruefen Sie diese Warnungen, um heraus zu finden, +%% ob Publikationstyp (=entry-type) und "fields" eventuell unzulaessig +%% kombiniert worden sind. +%% Echte Fehler ("errors") treten nur noch in Verbindung mit falscher +%% Erfassung auf (nach meinen Tests!). Pruefen Sie die Syntax, den entry-type +%% und die fields. +%% Zu guter letzt: Qualitaetsmasstab ist einzig der DIN-konforme output! +%% +%% DANKSAGUNG +%% Hartmut Lueddecke, HAW Hamburg, hat viele Verbesserungsvorschlaege +%% in die frueheren Versionen eingebracht. Ihm danke ich herzlich. +%% Patrick W. Daly, dem Entwickler des Natbib-Stils, verdanke ich viele +%% Anregungen und den steten Ansporn, die DIN-Stile zu verbessern. +%% Viele an dieser Stelle ungenannt bleibende Anwender haben mich in +%% den vergangenen Jahren auf Fehler oder Verbesserungsmoeglichkeiten +%% aufmerksam gemacht und so diesen Stil mitentwickelt. Ihnen gilt mein +%% besonderer Dank. Ihr Feedback ist immer willkommen und eine Ermunterung. +%% +%% Klaus F. Lorenzen +%% +%% +%% +%% HINWEIS: Neben den vier bibliographischen DIN 1505 Standard-Stilen +%% nach den Original-styles von Oren Patashnik +%% gibt es zusaetzlich vier DIN 1505 Modifikationen der style +%% Emulationen des NATBIB-Pakets von Patrick W.Daly. +%% In den NATBIB-Modifikationen werden jetzt alle von P.W. Daly +%% implementierten Zitierweisen des Autor-Jahr-Stils unterstuetzt. +%% Damit erhaelt der Anwender eine weit ueber die urspruenglichen +%% Standardstyles hinausreichende Flexibilitaet beim Zitieren. +%% Naeheres unter URL http://www.haw-hamburg.de/pers/Lorenzen/bibtex/ +%% +%% +%% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +% version 0.99c for BibTeX versions 0.99c or later, LaTeX2e +% Copyright (C) 1985, all rights reserved. +% Copying of this file is authorized only if either +% (1) you make absolutely no changes to your copy, including name, or +% (2) if you do make changes, you name it something other than +% plaindin.bst, unsrtdin.bst, alphadin.bst, and abbrvdin.bst. +% This restriction helps ensure that all standard styles are identical. +% The file btxbst.doc has the original documentation for style 'alpha'. +%% +%% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +%% +%% NEUE FELDER +%% Zur Erfassung der neuen digitalen Online-Medien z.B. Internetquellen, E-journals, E-books, +%% E-mail u.a. gibt es die zusaetzlichen Felder: doi, url, urn, lastchecked +%% Internetquellen werden vorzugsweise mit dem BOOKLET-Typ erfasst. +%% Normen, Patente, Schutzrechte sind mit dem MISC-Typ zu erfassen. +% +% +ENTRY + { address %% Verlagsort + author %% persoenlicher Urheber eines Werkes + booktitle %% a) Gesamttitel eines mehrbaendigen Werkes +% %% b) Titel des Sammelwerks, das einzelne selbstaendige +% %% Beitraege mit eigenem Titel enthaelt (->incollection) + chapter %% Kapitel in einem Buch (Monographie) + doi %%% Digital Object Identifier + edition %% Auflagevermerk; bei selbst. elektron. Dok. == Version + editor %% Persoenl.Herausgeber oder Koerperschaftlicher Herausgeber + howpublished %% beliebiger Verlegervermerk: von wem, wo + institution %% Institution, die e.Verlagsfreie Veroeffentlichung betreibt + isbn %% Standardnr fuer Buecher + issn %% - " - : Zeitschriften u. Serien + journal %% Titel einer Zeitschrift + key %% Zusaetzlich vergebener Sortierschluessel, mitunter notwend. + lastchecked %% Online Abruf einer Internetquelle ( GRAY ); 22.1.2004 + month %% naehere Bestimmung des Erscheinungsjahres (-> macro 's) + note %% freies Eingabefeld fuer zusaetzliche Informationen + number %% Mehrfachbedeutung in Abhaengigkeit vom Eingabetyp + organization %% a) Name der Organisation/des Organisators e. Tagung,Konferenz +% %% b) Name einer Firma/Gesellschaft, die ein ->manual herausgab + pages %% Umfangsangaben, meist Seitenzahlen + publisher %% Verlag + school %% Hochschule/Universitaet, die eine Dipl.-Arb./Dissertation veroeff. + series %% Titel e.Reihe, in der ein best. Buchtitel erschienen ist + title %% Titel einer (namentlich gekennzeichneten) Veroeffentlichung + type %% Zusatzfeld z.Kennzeichnung e.besonderen Publikationstyps + url %%% Internet-Adresse URL ( Uniform Resource Locator ) + urn %% Persistent Identifier URN ( Uniform Resource Name ) + volume %% a) Zaehlung bei einem mehrbaendigen Werk (-> book) +% %% b) Jahrgang einer Zeitschrift (-> article + year %% Erscheinungsjahr + } + {} + { label extra.label sort.label } + +%% Variablen-Vereinbarungen + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +INTEGERS { colon.after period.dash } + +INTEGERS { after.firstblock } + +%% fuer die Namensbehandlung + +INTEGERS { zahl lang } + +INTEGERS { nameptr namesleft numnames } + +INTEGERS { ptr collation collrest } + +%% fuer die Sortierung bei der label-Produktion +INTEGERS { len } + +INTEGERS { number.label longest.label.width } +%%---------------------------------------------------------------------- + +STRINGS { h s t u v w } + +%% bei der Behandlung der Namen-Funktionsbezeichnung (Hrsg., Redakt., usw) +STRINGS { fkt } + +%% fuer die label-Produktion +STRINGS { longest.label } + +%%%---------------------------------------------------------------------------- +% Einige Standardvorgaben, die vom Benutzer veraendert werden koennen. +%%%---------------------------------------------------------------------------- + +% Abkuerzung ("... und andere") bei Mehrverfasserquellen: + +FUNCTION { ua.etal } { " u.\,a." } %% evtl. auch in eckigen Klammern " [u.\,a.]" + +%% oder lateinisch: FUNCTION { ua.etal } { " et~al." } + +FUNCTION { und } { " u. " } + +%% oder ausgeschrieben: FUNCTION { und } { " und " } +% +% Einige elektronische Medien erhalten nach DIN 1505 eine "Ergaenzende Angabe" +% zusaetzlich zum materiellen Typ, z.B. CD ROM oder DVD u.a.: + +FUNCTION { eress } { "Elektronische Ressource" } + +%%%----------------------------------------------------------------------------------- + + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := + #4 'colon.after := + #5 'period.dash := + #6 'after.firstblock := +} + +FUNCTION {output.nonnull} +{ 's := + output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + { write$ } + { output.state colon.after = + { ": " * write$ + newline$ + "\newblock " write$ + } + { output.state period.dash = + { ". -- " * write$ + newline$ + "\newblock " write$ + } + { output.state mid.sentence = + { ", " * write$ } + { output.state after.sentence = + { " " * write$ } + { output.state after.firstblock = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { write$ + newline$ + "\newblock " write$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + after.block 'output.state := + } + if$ + s + } + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[" write$ + label write$% + "]{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {fin.entry} +{ write$ + newline$ +} + +FUNCTION {set.period.dash} %% Wenn ein ". - " die Satzteile trennen soll.! +{ output.state before.all = + 'skip$ + { period.dash 'output.state := } + if$ +} + +FUNCTION {set.period.dash.check} +{ empty$ + 'skip$ + 'set.period.dash + if$ +} + +FUNCTION {set.colon.after} %%$$$ Wenn ein ": " d. Satzteile trennen soll! +{ output.state before.all = + 'skip$ + { colon.after 'output.state := } + if$ +} + +%% Wenn ein " " die Satzteile trennen soll.! +FUNCTION {new.sentence} +{ output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ +} + +%% Wenn ein ", " die Satzteile trennen soll.! +FUNCTION { part.of.sentence } +{ output.state before.all = + 'skip$ + { mid.sentence 'output.state := } + if$ +} + +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} + +FUNCTION { capitalize } + { duplicate$ empty$ + { pop$ "" } + { "\textsc{" swap$ * "}" * } + if$ +} + +FUNCTION {article.in.journal} +{ duplicate$ empty$ + { pop$ "" } + { author missing$ title missing$ and + { emphasize } + { emphasize "{In: }" swap$ * } + if$ + } + if$ +} + +FUNCTION {format.doi} +{ doi empty$ + { "" } + { new.block "\url{http://dx.doi.org/" doi * "}" * + %% { new.block "\url{http://dx.medra.org/" doi * "}" * + } + if$ +} + +FUNCTION {format.url} +{ urn missing$ + { doi missing$ + { url empty$ + { "" } + { type empty$ NOT + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + { type$ "incollection" = + { "" } + { "\,Absenderadresse: \url{" url * "}" * } + if$ + } + { "\url{" url * "}" * }%% evtl. "URL" oder "<...>" + if$ + } + { "\url{" url * "}" * } %% evtl. "URL" oder "<...>" + if$ + } + if$ + } + { format.doi } + if$ + } + { "\url{http://nbn-resolving.de/urn/resolver.pl?urn=" urn * "}" * + } + if$ +} + +FUNCTION {format.maillist.url} + { url empty$ + { "" } + { type empty$ + { "" } + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + { "\url{" url * "}" * } + { "" } + if$ + } + if$ + } + if$ + } + +%% Adelspraedikate beim Sortieren nach den(m) Vornamen auffuehren +%% Abweichend v. DIN !!! +FUNCTION {format.names} +{ 's := + "" 'u := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { + s nameptr "{ll}" format.name$ 't := + t capitalize 't := + s nameptr "{ jj}" format.name$ 'w := + s nameptr "{, ff}{ vv}{ jj}" format.name$ 'u := + u text.length$ 'lang := + #1 'zahl := + "" 'v := + { zahl lang < } + { u zahl #1 substring$ "~" = + { v "" = + { u #1 zahl #1 - substring$ 'v := } + 'skip$ + if$ + v u zahl #2 substring$ * "." * w * 'v := + } + 'skip$ + if$ + zahl #1 + 'zahl := } + while$ + v "" = + { u 'v := } + 'skip$ + if$ + t v * fkt * 't := + nameptr #1 > + { namesleft #1 > + { " ; " * t * } + { numnames #2 > + { " " * } + 'skip$ + if$ + t "\textsc{others}" = t "\textsc{others} (Hrsg.)" = or + { ua.etal * } + { " ; " * t * } + if$ + } + if$ %% Ende der namesleft-Pruefung + } + 't + if$ %% Ende der nameptr-Pruefung + + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ %% Ende von { namesleft #0 > } ganz oben + "" 'fkt := %% fkt wird zurueckgesetzt +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { author empty$ + { "empty author and editor in " cite$ * warning$ "" } + 'skip$ + if$ + } + { author empty$ + { " (Hrsg.)" 'fkt := + editor format.names + } + { " (Hrsg.)" 'fkt := + " ; " * editor format.names * + } + if$ + } + if$ + } + +FUNCTION { format.authors.organization } +{ type$ "misc" = + { organization empty$ + { author empty$ + { "" } + { author format.names " (Erfinder)" * } + if$ + } + { author empty$ + { organization } + { author format.names " (Erfinder); " * + organization * " (Anmelder)" * + } + if$ + } + if$ + } + { type$ "manual" = + { organization empty$ + { format.authors } + { author empty$ + { organization capitalize " (Hrsg.)" * } + { author format.names } + if$ + } + if$ + } + 'skip$ + if$ + } + if$ +} + + + +FUNCTION { format.editors.organization } +{ organization empty$ + 'skip$ + { type$ "misc" = + { organization } + { * " ; " * organization " (Veranst.)" *} + if$ + } + if$ +} + +FUNCTION { format.tr.institution } +{ institution empty$ + 'skip$ + { institution capitalize } + if$ +} + +FUNCTION {format.ed.incoll} +{ editor empty$ + { "" } + { " (Hrsg.)" 'fkt := + editor format.names + format.editors.organization + } + if$ +} + + +FUNCTION {format.title} +{ title empty$ + { "" } + { title } %% Text so wie er dasteht im Feld title + if$ +} + +FUNCTION {format.number} +{ number empty$ + { "" } + { number " " * } %% Text so wie er im Feld number steht plus " " + if$ +} + +FUNCTION {format.digital.type}%% nur in booklet +{ type empty$ + { "" } + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + { "" } + { type } %% Typ einer digitalen Ressource in Form einer + %% "Ergaenzenden Angabe", so wie er dasteht; + %% Alternativ kann dieser Text auch in NOTE erfasst werden. + if$ + } + if$ +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +%% Auflagenvermerke gibt man komplett, einschliesslich Abkuerzungen in +%% das Feld edition ein: ---> EDITION= { 3., erw. und verb. Aufl. } +%% oder fremdsprachlich: EDITION= { 2nd edition } + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { edition } + if$ +} + +FUNCTION {format.date} +{ year duplicate$ empty$ + { "empty year in " cite$ * warning$ + pop$ "" } + 'skip$ + if$ + month empty$ + 'skip$ + { type$ "book" = + type$ "inbook" = + OR + 'skip$ + { month " " * swap$ * } + if$ + } + if$ +} + +FUNCTION {format.edition.or.date} +{ edition empty$ year empty$ and + { "" } + { edition empty$ + { type empty$ NOT + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + { " gesendet: " "-- " type * swap$ * + format.date * + } + { "\,Version:\," + format.date * + } + if$ + } + { "\,Version:\," + format.date * + } + if$ + } + { year empty$ + { "\,Version:\," edition * } + { "\,Version:\," edition * ", " * + format.date * + } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.version.url} +{ url empty$ doi empty$ urn empty$ and and + { type$ "techreport" = + { format.edition } + { "" } + if$ + } + { format.edition.or.date output format.url } + if$ +} + +FUNCTION {format.edition.or.version} +{ url empty$ doi empty$ urn empty$ and and + { format.edition } + { format.edition.or.date } + if$ +} + +FUNCTION {format.address.publisher.year} +{ publisher empty$ + { address empty$ + { year empty$ + { "" } + { year } + if$ + } + { "there's an address but no publisher in " cite$ * warning$ + address ", " * format.date * + } + if$ + } + { address empty$ + { year empty$ + { "neither address nor publication date in " cite$ * warning$ + publisher + } + { publisher ", " * format.date * } + if$ + } + { year empty$ + { address " : " * publisher * } + { address " : " * publisher * ", " * format.date * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.address.publisher.year.alt} +{ publisher empty$ + { address empty$ + { year empty$ + { "" } + { url empty$ + { year } + { "" } + if$ + } + if$ + } + { "there's an address but no publisher in " cite$ * warning$ + address ", " * format.date * + } + if$ + } + { url empty$%%%% wenn es URL gibt wird nur die service-provider Adresse +%%% ausgegeben, die im publisher-Feld steht + { address empty$ + { year empty$ + { "neither address nor publication date in " cite$ * warning$ + publisher + } + { publisher ", " * format.date * } + if$ + } + { year empty$ + { address " : " * publisher * } + { address " : " * publisher * ", " * format.date * } + if$ + } + if$ + } + { publisher } + if$ + } + if$ +} + +FUNCTION {format.howpublished} +{ url missing$ urn missing$ doi missing$ AND AND + { howpublished empty$ + { address empty$ + { type empty$ + { "" } + { type #-1 #4 substring$ "mail" = + { "(gesendet: " new.sentence + format.date * ")" * + } + { "" } + if$ + } + if$ + format.date * + } + { address ", " * format.date * } + if$ + } + { address empty$ + { howpublished ", " * format.date * } + { address " : " * howpublished * ", " * format.date * } + if$ + } + if$ + } + { howpublished empty$ + { "" } + { howpublished } + if$ + } + if$ +} + +FUNCTION {format.lastchecked.or.type}%% nur in misc-Funktion +{ lastchecked empty$ + { url empty$ doi empty$ urn empty$ and and + { type empty$ + { skip$ } + { type set.period.dash.check + type output + } + if$ + } + { type empty$ + { skip$ } + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + { skip$ } + { type set.period.dash.check + type output } + if$ + } + if$ + } + if$ + } + { url empty$ doi empty$ urn empty$ and and + { "there's a lastchecked date but no url, urn or doi in " + cite$ * warning$ + } + { type empty$ + { "there's a URL and a lastchecked date but no type in " + cite$ * warning$ + } + { type set.period.dash.check + type output + part.of.sentence + lastchecked "Abruf: " swap$ * output + } + if$ + } + if$ + } + if$ +} + + +FUNCTION {format.btitle} +{ title emphasize +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {format.btitle.vol} +{ number empty$ + { series empty$ + { volume empty$ + { title emphasize } + { title emphasize ". Bd." * volume tie.or.space.connect } + if$ + } + { volume empty$ + { title emphasize }%% ein Buch, das zusaetzl. SERIES=Reihentitel besitzt + %% jetzt kommt d. Fall des mehrbaendigen Werkes mit Gesamttitel=SERIES + %% Zaehlung=VOLUME und Bandtitel=TITLE; + { series emphasize ". Bd." * volume tie.or.space.connect + ": " * "{\emph{" * title * "}}" * } + if$ + } + if$%% series-test + } + { title emphasize }%% wenn number ex., dann immer title-Feld + if$%% Ende number-test +} + +FUNCTION {format.series.number.din} +{ volume empty$ + { number empty$ + { series empty$ + { "" } + { "(" series * ")" * } %% d. Seriennr koennte auch gleich hier + %% im SERIES-Feld miterfasst werden + if$ + } + { series empty$ + { "(" number * ")" * + "there's a number but no series in " cite$ * warning$ + } + { "(" series * number tie.or.space.connect ")" * } + if$ + } + if$ + } + { series empty$ + { "" } + { type$ "proceedings" = %% Sonderfall, es darf VOLUME und NUMBER ex. ! + type$ "inproceedings" = OR + { number empty$ + { "(" series * ")" * } + { "(" series * number tie.or.space.connect ")" * } + if$ + } + { "" }%% Ausstieg mit Nullstring, s. Kommentar + if$ + }%% bei gezaehlten Reihen MUSS die Reihennr. im Feld NUMBER stehen! + if$ %% wenn also d. Feld VOLUME nicht leer ist, dann liegt ausser bei + %% Typ PROCEEDINGS falsche + } %% Erfassung vor und es erfolgt d. Ausstieg mit d. Nullstring! + if$ +} + +FUNCTION {format.tr.series.or.number} +{ number empty$ + { series empty$ + { "" } + { "(" series * ")" * } + if$ + } + { series empty$ + { "(" number * ")" * } + { "(" series * number tie.or.space.connect ")" * } + if$ + } + if$ + } + +FUNCTION {format.misc.series} +{ series empty$ + { "" } + { "(" series * ")" * } + if$ +} + +FUNCTION { format.doi.urn } +{ urn empty$ + { doi empty$ + { "" } + { "DOI" doi n.dashify tie.or.space.connect } + if$ + } + { "URN" urn n.dashify tie.or.space.connect } + if$ +} + +FUNCTION { format.isbn.issn } +{ isbn empty$ + { issn empty$ + { "" } + { "ISSN" issn n.dashify tie.or.space.connect } + if$ + } + { "ISBN" isbn n.dashify tie.or.space.connect } + if$ +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { url empty$ + { "S." pages n.dashify tie.or.space.connect } + { pages } + if$ + } + if$ +} + +FUNCTION {format.pages.book} +{ pages empty$ + { "" } + { note empty$ isbn empty$ AND + { "" pages n.dashify tie.or.space.connect " S" * + add.period$ } + { "" pages n.dashify tie.or.space.connect " S" * } + if$ + } + if$ +} + +FUNCTION {format.pages.bkcollation} +{ pages empty$ + { "" } + { "" pages n.dashify tie.or.space.connect } + if$ +} + +FUNCTION {format.bkpages.collat.check} +{ 's := + #1 'ptr := + s text.length$ 'collation := + collation #1 = + { format.pages.book } + { + collation 'collrest := + { collrest #0 > } + { s ptr #2 substring$ 't := + t "S." = + { format.pages.bkcollation + #0 'collrest := } + { ptr #1 + 'ptr := + collrest #1 - 'collrest := + #1 collrest = + { format.pages.book } + { skip$ } + if$ + } + if$ + } + while$ + } + if$ +} + +FUNCTION {format.vol.year.num.pages} +{ volume field.or.null + year empty$ + { "there's no year in " cite$ * warning$ } + { " (" year * ")" * * } + if$ + month empty$ + 'skip$ + { ", " month * * } + if$ + number empty$ + 'skip$ + { ", Nr. " number * * } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ "" } + { title missing$ + { ", " pages format.bkpages.collat.check * *} + { ", " format.pages * *} + if$ + } + if$ + } + if$ +} + +FUNCTION {format.chapter.inbook} +{ duplicate$ empty$ + { pop$ "empty chapter in " cite$ * warning$ } + { type empty$ + { "\emph{Kapitel\/} " swap$ tie.or.space.connect } + { type " " * swap$ * }%% wenn keine bes. Abschnittsform gen. werden soll, + %% koennte e. kl. Zwischenraum gewaehlt werden, z.B. " \, " + if$ + } + if$ + } + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "Kapitel " } + { url empty$ + { type } + { "Kapitel " } + if$ + } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle.din} +{ booktitle empty$ + { "" } + { editor empty$ + { volume empty$ + { "{In: }" booktitle emphasize * } + { "{In: }" booktitle emphasize * + " Bd." volume tie.or.space.connect * + } + if$ + } + { volume empty$ + { "{In: }" format.ed.incoll * ": " * booktitle emphasize * } + { "{In: }" format.ed.incoll * ": " * booktitle emphasize * + " Bd." volume tie.or.space.connect * + } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.thesis.tr.type} +{ type empty$ + 'skip$ + { pop$ + type + } + if$ +} + +FUNCTION {format.online.lastcheck} +{ lastchecked empty$ + { url empty$ doi empty$ urn empty$ and and + { skip$ } + { "" output } + if$ + } + { url empty$ doi empty$ urn empty$ and and + { "there's a lastchecked date but no url, urn or doi in " + cite$ * warning$ + } + { part.of.sentence + lastchecked "Abruf: " swap$ * output + } + if$ + } + if$ +} + +FUNCTION {format.maillist.lastcheck} + { type empty$ NOT + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + { format.online.lastcheck } + 'skip$ + if$ + } + 'skip$ + if$ + } + + + +FUNCTION {format.article.crossref} +{ key empty$ + { journal empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" + } + { "{In: }{\emph " journal * "}" * } + if$ + } + { "{In: }" key * } + if$ + "\cite{" * crossref * "}" * ", " * format.pages * +} + +FUNCTION {format.crossref.editor} + { editor #1 "{ll}" format.name$ " (Hrsg.)" * + editor num.names$ duplicate$ + #2 > + { pop$ ua.etal * }%% --->u. a. + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { ua.etal } + { " ; " * editor #2 "{vv~}{ll}" format.name$ * " (Hrsg.)" * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.inbk.vol.title} +{ volume empty$ + { " In: " } + { title empty$ + { " In: Bd." volume tie.or.space.connect + " von " * + } + { "In: Bd." volume tie.or.space.connect ": " * title emphasize * + " (" * year * ") in " * + } + if$ + } + if$ + } + + +FUNCTION {format.book.crossref} +{ type$ "inbook" = + { format.inbk.vol.title } + { volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + " " + } + { ". -- Bd." volume tie.or.space.connect + " von " * + } + if$ + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { "" * } + if$ + } + { key * } + if$ + } + { "" * } + if$ + "\cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { booktitle empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + "" + } + { "{In: }{\emph " booktitle * "}" * }%% + if$ + } + { "{In: }" } + if$ + } + { "{In: }" } + if$ + "\cite{" * crossref * "}" * %% ", " * format.pages * 5.12.2005 +} + + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + set.colon.after + format.title "title" output.check + crossref missing$ + { journal article.in.journal output.nonnull + new.sentence + format.vol.year.num.pages output + format.url output + } + { format.article.crossref output.nonnull } + if$ + format.online.lastcheck + doi set.period.dash.check + urn set.period.dash.check + format.doi.urn output + issn set.period.dash.check + format.isbn.issn output + note set.period.dash.check + note output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors format.editors output.nonnull } + if$ + set.colon.after + crossref missing$ + { format.btitle.vol "title" output.check } + { format.btitle "title" output.check } + if$ + format.edition output + format.address.publisher.year "publisher" output.check + new.sentence + crossref missing$ + { format.series.number.din output } + { format.book.crossref output.nonnull } + if$ + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + format.doi output + format.url output + new.block + isbn set.period.dash.check + format.isbn.issn output + note set.period.dash.check + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors format.editors output.nonnull } + if$ + set.colon.after + format.btitle "title" output.check + format.edition.or.version output + format.url output + format.online.lastcheck + format.howpublished output + series new.sentence.checka + format.series.number.din output + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + type set.period.dash.check + format.digital.type output + doi set.period.dash.check + urn set.period.dash.check + format.doi.urn output + note set.period.dash.check + note output + format.isbn.issn output + fin.entry +} + + +FUNCTION {inbook} +{ output.bibitem + chapter format.chapter.inbook output.nonnull + crossref missing$ + { author empty$ + { format.editors "\,{In:\,}" swap$ * "author and editor" output.check } + { format.authors "\,{In:\,}" swap$ * output.nonnull } + if$ + author empty$ editor empty$ AND + { before.all 'output.state := } + { set.colon.after } + if$ + format.btitle.vol "title" output.check + format.edition output + format.address.publisher.year "publisher" output.check + new.sentence + format.series.number.din output + isbn set.period.dash.check + format.isbn.issn output + } + { format.book.crossref output.nonnull } + if$ + part.of.sentence + format.pages output + note set.period.dash.check + note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + set.colon.after + format.title "title" output.check + format.version.url output + type empty$ NOT + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + 'skip$ + { format.online.lastcheck } + if$ + } + { format.online.lastcheck } + if$ + crossref missing$ + { format.in.ed.booktitle.din "booktitle" output.check + format.edition output + format.address.publisher.year "publisher" output.check + format.maillist.url output + format.maillist.lastcheck + new.sentence + format.series.number.din output + doi set.period.dash.check + urn set.period.dash.check + format.doi.urn output + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + } + { format.incoll.inproc.crossref output.nonnull } + if$ + part.of.sentence + format.chapter.pages "pages" output.check + note set.period.dash.check + note output + fin.entry +} + + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + set.colon.after + format.title "title" output.check + crossref missing$ + { format.in.ed.booktitle.din "booktitle" output.check + address empty$ + { organization new.sentence.checka + organization output + part.of.sentence + format.address.publisher.year output + } + { format.address.publisher.year "publisher" output.check } + if$ + new.sentence + series empty$ + 'skip$ + { format.series.number.din output } + if$ + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + } + { format.incoll.inproc.crossref output.nonnull } + if$ + part.of.sentence + format.pages "pages" output.check + note set.period.dash.check + note output + fin.entry +} + +FUNCTION {conference} { inproceedings }%% nach Patashnik, wg US-Kompatibilitaet + +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization empty$ + { title empty$ + 'skip$ + {format.btitle "title" output.check } + if$ + } + 'skip$ + if$ + } + 'skip$ + if$ + format.authors.organization output.nonnull + set.colon.after + format.btitle "title" output.check + format.edition "edition" output.check + author empty$ organization empty$ AND + { address "address" output.check + part.of.sentence + } + { organization empty$ + { address "address" output.check + part.of.sentence + } + { address ": " * organization * output + part.of.sentence + } + if$ + } + if$ + format.date output + number empty$ + 'skip$ + { "(" number * ") " * output } + if$ + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + format.doi output + format.url output + format.online.lastcheck + note set.period.dash.check + note output + fin.entry +} + +%% Standard ist "Diplomarbeit", anderes mit TYPE="anderer Typ" erfassen! +%% z.B. TYPE={Hausarbeit}, TYPE={Diss.}, TYPE={Habil.}, TYPE={Magisterarb.} +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + set.colon.after + format.btitle "title" output.check + address output + part.of.sentence + school "school" output.check + part.of.sentence + "Diplomarbeit" format.thesis.tr.type output.nonnull + part.of.sentence + format.date "year" output.check + format.url output + format.online.lastcheck +%% format.digital.resource.type + doi set.period.dash.check + urn set.period.dash.check + format.doi.urn output +%% pages set.period.dash.check +%% format.pages.book output + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + note set.period.dash.check + note output + fin.entry +} + +FUNCTION {phdthesis} %% {mastersthesis}% ist identisch bis auf Standardwert, s.o. +{ output.bibitem + format.authors "author" output.check + set.colon.after + format.btitle "title" output.check + address output + part.of.sentence + school "school" output.check + part.of.sentence + "Diss." format.thesis.tr.type output.nonnull % koennte auch `Dissertation' sein + part.of.sentence + format.date "year" output.check + format.url output + format.online.lastcheck +%% format.digital.resource.type + doi set.period.dash.check + urn set.period.dash.check + format.doi.urn output + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ +%% pages set.period.dash.check +%% format.pages.book output + note set.period.dash.check + note output + fin.entry +} + + +%% Normen, Vornormen, Schutzrechte (Patente) werden hiermit erfasst; +%% (z.Zt. auch noch Internetressourcen) +%% das type-Feld uebernimmt eine wichtige Steuerfunktion: +FUNCTION {misc} +{ output.bibitem + type missing$ not + { type duplicate$ #1 #4 substring$ "Norm" = + type #1 #4 substring$ "Vorn" = OR + { " " * + format.number * output + new.sentence + format.date output + title empty$ + { skip$ } + { add.period$ new.sentence } + if$ + format.btitle "title" output.check + note set.period.dash.check + note output + } + { duplicate$ #1 #6 substring$ "Schutz" = + { " " * format.number * output + new.sentence + "(" * format.date ")" * output + add.period$ new.sentence + format.authors.organization add.period$ output + note output + } + %% wenn irgendein anderer Typ eingetragen ist + { pop$ pop$ "" + title empty$ + { note empty$ + { url empty$ + { "there's no relevant field in " cite$ warning$ + pop$ "" + } + { format.url output }%%% + if$ + } + { note " " * output.nonnull } + if$ + } + { author empty$ + { editor empty$ + { organization empty$ + { skip$ } + { format.editors.organization output.nonnull + set.colon.after + } + if$ + } + { format.editors format.editors.organization + output.nonnull set.colon.after + } + if$ + } + { format.authors format.editors output.nonnull + set.colon.after + } + if$ + format.btitle output.nonnull + url empty$ + { format.edition output + format.howpublished output} + { format.howpublished output + format.edition.or.date output + format.url output + } + if$ + format.online.lastcheck + new.sentence + format.misc.series output +%% note set.period.dash.check + note output + } + if$ + } + if$ + } + if$ + } + %% wenn es keinen type gibt + { title empty$ + { note empty$ + { url empty$ + { "there's no relevant field in " cite$ warning$ + pop$ "" + } + { format.url output }%%% das waere e. reine URL + if$ + } + { note " " * output.nonnull + %% format.url format.date output + } + if$ + } + { author empty$ + { editor empty$ + { organization empty$ + { skip$ } + { format.editors.organization output.nonnull + set.colon.after + } + if$ + } + { format.editors format.editors.organization + output.nonnull set.colon.after + } + if$ + } + { format.authors format.editors output.nonnull + set.colon.after + } + if$ + format.btitle output.nonnull + url empty$ + { format.edition output + format.howpublished output} + { format.howpublished output + format.url output + format.edition.or.date output + format.online.lastcheck + } + if$ + new.sentence + format.misc.series output + note set.period.dash.check + note output + } + if$ + } + if$ + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization empty$ + { "empty organization and editor in " cite$ * warning$ } + { organization " (Veranst.)" * output } + if$ + } + { format.editors format.editors.organization output.nonnull } + if$ + set.colon.after + format.btitle "title" output.check + volume empty$ + { skip$ } + { "{\textnormal{Bd.}}" volume tie.or.space.connect emphasize "volume" output.check } + if$ + format.address.publisher.year "publisher" output.check + new.sentence + format.series.number.din output.nonnull + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + note set.period.dash.check + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + format.tr.institution output.nonnull } + { format.authors format.editors output.nonnull } + if$ + set.colon.after + format.title "title" output.check + institution empty$ + 'skip$ + { author empty$ editor empty$ AND + 'skip$ + { institution new.sentence.checka + "/ " institution * output.nonnull + } + if$ + } + if$ + format.version.url output + format.online.lastcheck + format.address.publisher.year output + number new.sentence.checka + format.tr.series.or.number "number" output.check + "Forschungsbericht" format.thesis.tr.type set.period.dash.check + "Forschungsbericht" format.thesis.tr.type output +%% format.digital.resource.type + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + note set.period.dash.check + note "note" output.check + fin.entry +} + + +FUNCTION {unpublished} {misc}%% AUTHOR, TITLE, NOTE muessen sein! +%% andere Felder sind optional + +FUNCTION {default.type} { misc } + + +MACRO {jan} {"Januar"} + +MACRO {feb} {"Februar"} + +MACRO {mar} {"M{\^^b a}rz"} + +MACRO {apr} {"April"} + +MACRO {mai} {"Mai"} + +MACRO {may} {"Mai"} + +MACRO {jun} {"Juni"} + +MACRO {jul} {"Juli"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {okt} {"Oktober"} + +MACRO {oct} {"Oktober"} + +MACRO {nov} {"November"} + +MACRO {dez} {"Dezember"} + +MACRO {dec} {"Dezember"} + +%%$$$ stillgelegte Beispiele fuer den Gebrauch von Kuerzeln (hier Zs-Titel). + +%%MACRO {acmcs} {"ACM Computing Surveys"} + +%%MACRO {acta} {"Acta Informatica"} + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ + s nameptr "{ll{ }}{ ff{ }}{ vv{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "others" = and + { ua.etal * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "Der " #4 + "Die " #4 + "Das " #4 + "Ein " #4 + "Eine " #5 + "The " #4 t chop.word + chop.word + chop.word + chop.word + chop.word + chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.organization.sort} +{ author empty$ + { organization empty$ + { key empty$ + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.organization.sort} +{ editor empty$ + { organization empty$ + { key empty$ + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.organization.sort + { type$ "manual" = + 'author.organization.sort + 'author.sort + if$ + } + if$ + } + if$ + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +FUNCTION {initialize.longest.label}%% nicht identisch mit der Fkt.im ALPHA-Stil +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} + +FUNCTION {longest.label.pass} +{ number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} + +EXECUTE { initialize.longest.label } + +ITERATE { longest.label.pass } + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" longest.label * "}" * write$ newline$ + newline$ + "% this bibliography is generated by plaindin.bst [8.2] from 2005-12-21" + write$ newline$ newline$ + "\providecommand{\url}[1]{\texttt{#1}}" + write$ newline$ + "\expandafter\ifx\csname urlstyle\endcsname\relax" + write$ newline$ + " \providecommand{\doi}[1]{doi: #1}\else" + write$ newline$ + " \providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi" + write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} \ No newline at end of file diff --git a/arbeit/settings/packages.tex b/arbeit/settings/packages.tex index 9dea24b..046bca1 100644 --- a/arbeit/settings/packages.tex +++ b/arbeit/settings/packages.tex @@ -37,7 +37,7 @@ \usepackage{mathtools} \usepackage{multirow} \usepackage{nicefrac} -\usepackage[numbers,square,sort]{natbib} +\usepackage[numbers,square,sort&compress]{natbib} \usepackage{patchcmd} %\usepackage[draft]{pdfpages} \usepackage{pdfpages} diff --git a/arbeit/template.tex b/arbeit/template.tex index 8c084e9..1389036 100644 --- a/arbeit/template.tex +++ b/arbeit/template.tex @@ -131,7 +131,7 @@ $body$ \addcontentsline{toc}{chapter}{\protect\numberline{}Appendix} \pagenumbering{roman} %%%%%%%%%%%%%%% Literaturverzeichnis %%%%%%%%%%%%%%% - \bibliographystyle{natdin} % \bibliographystyle{natdin} + \bibliographystyle{unsrtdin} % \bibliographystyle{natdin} \bibliography{bibma} \addcontentsline{toc}{section}{\protect\numberline{\thesection}Bibliography} % Literaturverzeichnis in das Inhaltsverzeichnis aufnehmen \addtocounter{section}{1} diff --git a/arbeit/unsrtdin.bst b/arbeit/unsrtdin.bst new file mode 100644 index 0000000..5505961 --- /dev/null +++ b/arbeit/unsrtdin.bst @@ -0,0 +1,1894 @@ +%% UNSRTDIN.BST Ausgabe [8.2] 2006-01-02 +%% mit doi-, urn-, url-Funktionen +%% ersetzt UNSRTDIN.BST Ausgabe [8.1b3] 22.2.2005 +%% ersetzt UNSRTDIN.BST Ausgabe [7] 16/6/99 +%% +%% K.F.Lorenzen (Copyright 1994-2006) email: lorenzen.marxen@t-online.de +%% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +%% UNSRTDIN.BST wurde entwickelt aus BibTeX standard bibliography style +%% `unsrt'.Mit UNSRTDIN.BST werden Literaturverzeichnisse gemaess der deutschen +%% Zitiernorm DIN 1505 Teil 2 formatiert. +%% Analog zu den 4 US standard styles wird ein vollstaendiger Satz von +%% 4 DIN-gerechten bst-style Dateien veroeffentlicht (alphadin.bst, +%% plaindin.bst, unsrtdin.bst, abbrvdin.bst). Die gueltige Version +%% ist am schnellsten aus dem WWW ueber folgende URL zu beziehen +%% http://www.haw-hamburg.de/pers/Lorenzen/bibtex/ +%% Stand: 2006-01-02 +%% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +%% WAS IST UNSRTDIN.BST ? +%% Dieser style produziert Literaturzitate in Literaturverzeichnissen +%% gemaess der deutschen Norm DIN 1505, Teil 2 vom Jan. 1984. +%% Die Reihenfolge der Zitate im Text bestimmt die Reihenfolge im +%% Literaturverzeichnis, das somit unsortiert ist. Form und Gestaltung +%% entsprechen der von plaindin.bst. Die label im Literaturverzeichnis sowie +%% im Text sind Nummern in eckigen Klammern. Die vorliegenden DIN-styles +%% gehen ueber die bibliographischen Beschraenkungen der Originalstyles hinaus. +% +%% Es werden nun auch Elektronische Online / Offline Ressourcen wie Internet- +%% quellen, CD-ROM usw. verarbeitet. Dazu kommen besondere Publikationsformen +%% wie Patente, Normen, Karten, Fernsehaufzeichnungen, Gesetzesstellen, Spiele. +% +%% Zur Gewaehrleistung der Allgemeingueltigkeit von bib-files gelten in den +%% DIN-styles die in der Tex-Literatur veroeffentlichten originalen +%% Definitionen und Regeln fuer die Publikationstypen (entry-types) und die +%% bibliographischen Felder (fields). +%% Treten kleinere "Schoenheitsfehler" im fertig gesetzten output auf, +%% lassen sich diese so gut wie immer durch eine veraenderte +%% Erfassung im bib-inputfile beseitigen. Oren Patashnik empfiehlt, die +%% Definition der Felder weit auszulegen. Last but not least koennen +%% Sie im output-file < *.bbl > noch letzte Hand zur Korrektur ansetzen. +% +%% WARN- UND FEHLERMELDUNGEN +%% Ursache von Warnmeldungen sind meistens ausgelassene Felder oder +%% Erfassungs-"Fehler". Letztere haengen teilweise mit den gegenueber US- +%% Gepflogenheiten andersartigen bibliographischen Regeln nach DIN 1505 +%% zusammen. Sie sind also in Wahrheit keine "Fehler" und duerfen fast immer +%% ignoriert werden. Dennoch pruefen Sie diese Warnungen, um heraus zu finden, +%% ob Publikationstyp (=entry-type) und "fields" eventuell unzulaessig +%% kombiniert worden sind. +%% Echte Fehler ("errors") treten nur noch in Verbindung mit falscher +%% Erfassung auf (nach meinen Tests!). Pruefen Sie die Syntax, den entry-type +%% und die fields. +%% Zu guter letzt: Qualitaetsmasstab ist einzig der DIN-konforme output! +%% +%% DANKSAGUNG +%% Hartmut Lueddecke, HAW Hamburg, hat viele Verbesserungsvorschlaege +%% in die frueheren Versionen eingebracht. Ihm danke ich herzlich. +%% Patrick W. Daly, dem Entwickler des Natbib-Stils, verdanke ich viele +%% Anregungen und den steten Ansporn, die DIN-Stile zu verbessern. +%% Viele an dieser Stelle ungenannt bleibende Anwender haben mich in +%% den vergangenen Jahren auf Fehler oder Verbesserungsmoeglichkeiten +%% aufmerksam gemacht und so diesen Stil mitentwickelt. Ihnen gilt mein +%% besonderer Dank. Ihr Feedback ist immer willkommen und eine Ermunterung. +%% +%% Klaus F. Lorenzen +%% +%% +%% +%% HINWEIS: Neben den vier bibliographischen DIN 1505 Standard-Stilen +%% nach den Original-styles von Oren Patashnik +%% gibt es zusaetzlich vier DIN 1505 Modifikationen der style +%% Emulationen des NATBIB-Pakets von Patrick W.Daly. +%% In den NATBIB-Modifikationen werden jetzt alle von P.W. Daly +%% implementierten Zitierweisen des Autor-Jahr-Stils unterstuetzt. +%% Damit erhaelt der Anwender eine weit ueber die urspruenglichen +%% Standardstyles hinausreichende Flexibilitaet beim Zitieren. +%% Naeheres unter URL http://www.haw-hamburg.de/pers/Lorenzen/bibtex/ +%% +%% +%% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +% version 0.99c for BibTeX versions 0.99c or later, LaTeX2e +% Copyright (C) 1985, all rights reserved. +% Copying of this file is authorized only if either +% (1) you make absolutely no changes to your copy, including name, or +% (2) if you do make changes, you name it something other than +% plaindin.bst, unsrtdin.bst, alphadin.bst, and abbrvdin.bst. +% This restriction helps ensure that all standard styles are identical. +% The file btxbst.doc has the original documentation for style 'alpha'. +%% +%% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +%% +%% NEUE FELDER +%% Zur Erfassung der neuen digitalen Online-Medien z.B. Internetquellen, E-journals, E-books, +%% E-mail u.a. gibt es die zusaetzlichen Felder: doi, url, urn, lastchecked +%% Internetquellen werden vorzugsweise mit dem BOOKLET-Typ erfasst. +%% Normen, Patente, Schutzrechte sind mit dem MISC-Typ zu erfassen. +% +% +ENTRY + { address %% Verlagsort + author %% persoenlicher Urheber eines Werkes + booktitle %% a) Gesamttitel eines mehrbaendigen Werkes +% %% b) Titel des Sammelwerks, das einzelne selbstaendige +% %% Beitraege mit eigenem Titel enthaelt (->incollection) + chapter %% Kapitel in einem Buch (Monographie) + doi %%% Digital Object Identifier + edition %% Auflagevermerk; bei selbst. elektron. Dok. == Version + editor %% Persoenl.Herausgeber oder Koerperschaftlicher Herausgeber + howpublished %% beliebiger Verlegervermerk: von wem, wo + institution %% Institution, die e.Verlagsfreie Veroeffentlichung betreibt + isbn %% Standardnr fuer Buecher + issn %% - " - : Zeitschriften u. Serien + journal %% Titel einer Zeitschrift + key %% Zusaetzlich vergebener Sortierschluessel, mitunter notwend. + lastchecked %% Online Abruf einer Internetquelle ( GRAY ); 22.1.2004 + month %% naehere Bestimmung des Erscheinungsjahres (-> macro 's) + note %% freies Eingabefeld fuer zusaetzliche Informationen + number %% Mehrfachbedeutung in Abhaengigkeit vom Eingabetyp + organization %% a) Name der Organisation/des Organisators e. Tagung,Konferenz +% %% b) Name einer Firma/Gesellschaft, die ein ->manual herausgab + pages %% Umfangsangaben, meist Seitenzahlen + publisher %% Verlag + school %% Hochschule/Universitaet, die eine Dipl.-Arb./Dissertation veroeff. + series %% Titel e.Reihe, in der ein best. Buchtitel erschienen ist + title %% Titel einer (namentlich gekennzeichneten) Veroeffentlichung + type %% Zusatzfeld z.Kennzeichnung e.besonderen Publikationstyps + url %%% Internet-Adresse URL ( Uniform Resource Locator ) + urn %% Persistent Identifier URN ( Uniform Resource Name ) + volume %% a) Zaehlung bei einem mehrbaendigen Werk (-> book) +% %% b) Jahrgang einer Zeitschrift (-> article + year %% Erscheinungsjahr + } + {} + { label } + +%% Variablen-Vereinbarungen + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +INTEGERS { colon.after period.dash } + +INTEGERS { after.firstblock } + +%% fuer die Namensbehandlung + +INTEGERS { zahl lang } + +INTEGERS { nameptr namesleft numnames } + +INTEGERS { ptr collation collrest } + +%% fuer die Sortierung bei der label-Produktion +INTEGERS { len } + +INTEGERS { number.label longest.label.width } +%%---------------------------------------------------------------------- + +STRINGS { h s t u v w } + +%% bei der Behandlung der Namen-Funktionsbezeichnung (Hrsg., Redakt., usw) +STRINGS { fkt } + +%% fuer die label-Produktion +STRINGS { longest.label } + +%%%---------------------------------------------------------------------------- +% Einige Standardvorgaben, die vom Benutzer veraendert werden koennen. +%%%---------------------------------------------------------------------------- + +% Abkuerzung ("... und andere") bei Mehrverfasserquellen: + +FUNCTION { ua.etal } { " u.\,a." } %% evtl. auch in eckigen Klammern " [u.\,a.]" + +%% oder lateinisch: FUNCTION { ua.etal } { " et~al." } + +FUNCTION { und } { " u. " } + +%% oder ausgeschrieben: FUNCTION { und } { " und " } +% +% Einige elektronische Medien erhalten nach DIN 1505 eine "Ergaenzende Angabe" +% zusaetzlich zum materiellen Typ, z.B. CD ROM oder DVD u.a.: + +FUNCTION { eress } { "Elektronische Ressource" } + +%%%----------------------------------------------------------------------------------- + + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := + #4 'colon.after := + #5 'period.dash := + #6 'after.firstblock := +} + +FUNCTION {output.nonnull} +{ 's := + output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + { write$ } + { output.state colon.after = + { ": " * write$ + newline$ + "\newblock " write$ + } + { output.state period.dash = + { ". -- " * write$ + newline$ + "\newblock " write$ + } + { output.state mid.sentence = + { ", " * write$ } + { output.state after.sentence = + { " " * write$ } + { output.state after.firstblock = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { write$ + newline$ + "\newblock " write$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + after.block 'output.state := + } + if$ + s + } + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[" write$ + label write$% + "]{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {fin.entry} +{ write$ + newline$ +} + +FUNCTION {set.period.dash} %% Wenn ein ". - " die Satzteile trennen soll.! +{ output.state before.all = + 'skip$ + { period.dash 'output.state := } + if$ +} + +FUNCTION {set.period.dash.check} +{ empty$ + 'skip$ + 'set.period.dash + if$ +} + +FUNCTION {set.colon.after} %%$$$ Wenn ein ": " d. Satzteile trennen soll! +{ output.state before.all = + 'skip$ + { colon.after 'output.state := } + if$ +} + +%% Wenn ein " " die Satzteile trennen soll.! +FUNCTION {new.sentence} +{ output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ +} + +%% Wenn ein ", " die Satzteile trennen soll.! +FUNCTION { part.of.sentence } +{ output.state before.all = + 'skip$ + { mid.sentence 'output.state := } + if$ +} + +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} + +FUNCTION { capitalize } + { duplicate$ empty$ + { pop$ "" } + { "\textsc{" swap$ * "}" * } + if$ +} + +FUNCTION {article.in.journal} +{ duplicate$ empty$ + { pop$ "" } + { author missing$ title missing$ and + { emphasize } + { emphasize "{In: }" swap$ * } + if$ + } + if$ +} + +FUNCTION {format.doi} +{ doi empty$ + { "" } + { new.block "\url{http://dx.doi.org/" doi * "}" * + %% { new.block "\url{http://dx.medra.org/" doi * "}" * + } + if$ +} + +FUNCTION {format.url} +{ urn missing$ + { doi missing$ + { url empty$ + { "" } + { type empty$ NOT + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + { type$ "incollection" = + { "" } + { "\,Absenderadresse: \url{" url * "}" * } + if$ + } + { "\url{" url * "}" * }%% evtl. "URL" oder "<...>" + if$ + } + { "\url{" url * "}" * } %% evtl. "URL" oder "<...>" + if$ + } + if$ + } + { format.doi } + if$ + } + { "\url{http://nbn-resolving.de/urn/resolver.pl?urn=" urn * "}" * + } + if$ +} + +FUNCTION {format.maillist.url} + { url empty$ + { "" } + { type empty$ + { "" } + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + { "\url{" url * "}" * } + { "" } + if$ + } + if$ + } + if$ + } + + + +%% Adelspraedikate beim Sortieren nach den(m) Vornamen auffuehren +%% Abweichend v. DIN !!! +FUNCTION {format.names} +{ 's := + "" 'u := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { + s nameptr "{ll}" format.name$ 't := + t capitalize 't := + s nameptr "{ jj}" format.name$ 'w := + s nameptr "{, ff}{ vv}{ jj}" format.name$ 'u := + u text.length$ 'lang := + #1 'zahl := + "" 'v := + { zahl lang < } + { u zahl #1 substring$ "~" = + { v "" = + { u #1 zahl #1 - substring$ 'v := } + 'skip$ + if$ + v u zahl #2 substring$ * "." * w * 'v := + } + 'skip$ + if$ + zahl #1 + 'zahl := } + while$ + v "" = + { u 'v := } + 'skip$ + if$ + t v * fkt * 't := + nameptr #1 > + { namesleft #1 > + { " ; " * t * } + { numnames #2 > + { " " * } + 'skip$ + if$ + t "\textsc{others}" = t "\textsc{others} (Hrsg.)" = or + { ua.etal * } + { " ; " * t * } + if$ + } + if$ %% Ende der namesleft-Pruefung + } + 't + if$ %% Ende der nameptr-Pruefung + + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ %% Ende von { namesleft #0 > } ganz oben + "" 'fkt := %% fkt wird zurueckgesetzt +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { author empty$ + { "empty author and editor in " cite$ * warning$ "" } + 'skip$ + if$ + } + { author empty$ + { " (Hrsg.)" 'fkt := + editor format.names + } + { " (Hrsg.)" 'fkt := + " ; " * editor format.names * + } + if$ + } + if$ + } + +FUNCTION { format.authors.organization } +{ type$ "misc" = + { organization empty$ + { author empty$ + { "" } + { author format.names " (Erfinder)" * } + if$ + } + { author empty$ + { organization } + { author format.names " (Erfinder); " * + organization * " (Anmelder)" * + } + if$ + } + if$ + } + { type$ "manual" = + { organization empty$ + { format.authors } + { author empty$ + { organization capitalize " (Hrsg.)" * } + { author format.names } + if$ + } + if$ + } + 'skip$ + if$ + } + if$ +} + + + +FUNCTION { format.editors.organization } +{ organization empty$ + 'skip$ + { type$ "misc" = + { organization } + { * " ; " * organization " (Veranst.)" *} + if$ + } + if$ +} + +FUNCTION { format.tr.institution } +{ institution empty$ + 'skip$ + { institution capitalize } + if$ +} + +FUNCTION {format.ed.incoll} +{ editor empty$ + { "" } + { " (Hrsg.)" 'fkt := + editor format.names + } + if$ +} + + +FUNCTION {format.title} +{ title empty$ + { "" } + { title } %% Text so wie er dasteht im Feld title + if$ +} + +FUNCTION {format.number} +{ number empty$ + { "" } + { number " " * } %% Text so wie er im Feld number steht plus " " + if$ +} + + +FUNCTION {format.type} +{ type empty$ + { "" } + { type " " * } %% Text wie er dasteht; Schutzrecht, Norm etc. + if$ +} + +FUNCTION {format.digital.type} +{ type empty$ + { "" } + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + { "" } + { type } %% Typ einer digitalen Ressource in Form einer + %% "Ergaenzenden Angabe", so wie er dasteht; + %% Alternativ kann dieser Text auch in NOTE erfasst werden. + if$ + } + if$ +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +%% Auflagenvermerke gibt man komplett, einschliesslich Abkuerzungen in +%% das Feld edition ein: ---> EDITION= { 3., erw. und verb. Aufl. } +%% oder fremdsprachlich: EDITION= { 2nd edition } + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { edition } + if$ +} + +FUNCTION {format.date} +{ year duplicate$ empty$ + { "empty year in " cite$ * warning$ + pop$ "" } + 'skip$ + if$ + month empty$ + 'skip$ + { type$ "book" = + type$ "inbook" = + OR + 'skip$ + { month " " * swap$ * } + if$ + } + if$ +} + +FUNCTION {format.edition.or.date} +{ edition empty$ year empty$ and + { "" } + { edition empty$ + { type empty$ NOT + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + { " gesendet: " "-- " type * swap$ * + format.date * + } + { "\,Version:\," + format.date * + } + if$ + } + { "\,Version:\," + format.date * + } + if$ + } + { year empty$ + { "\,Version:\," edition * } + { "\,Version:\," edition * ", " * + format.date * + } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.version.url} +{ url empty$ doi empty$ urn empty$ and and + { type$ "techreport" = + { format.edition } + { "" } + if$ + } + { format.edition.or.date output format.url } + if$ +} + +FUNCTION {format.edition.or.version} +{ url empty$ doi empty$ urn empty$ and and + { format.edition } + { format.edition.or.date } + if$ +} + +FUNCTION {format.address.publisher.year} +{ publisher empty$ + { address empty$ + { year empty$ + { "" } + { year } + if$ + } + { "there's an address but no publisher in " cite$ * warning$ + address ", " * format.date * + } + if$ + } + { address empty$ + { year empty$ + { "neither address nor publication date in " cite$ * warning$ + publisher + } + { publisher ", " * format.date * } + if$ + } + { year empty$ + { address " : " * publisher * } + { address " : " * publisher * ", " * format.date * } + if$ + } + if$ + } + if$ +} + + +FUNCTION {format.address.publisher.year.alt} +{ publisher empty$ + { address empty$ + { year empty$ + { "" } + { url empty$ + { year } + { "" } + if$ + } + if$ + } + { "there's an address but no publisher in " cite$ * warning$ + address ", " * format.date * + } + if$ + } + { url empty$%%%% wenn es URL gibt wird nur die service-provider Adresse +%%% ausgegeben, die im publisher-Feld steht + { address empty$ + { year empty$ + { "neither address nor publication date in " cite$ * warning$ + publisher + } + { publisher ", " * format.date * } + if$ + } + { year empty$ + { address " : " * publisher * } + { address " : " * publisher * ", " * format.date * } + if$ + } + if$ + } + { publisher } + if$ + } + if$ +} + +FUNCTION {format.howpublished} +{ url missing$ urn missing$ doi missing$ AND AND + { howpublished empty$ + { address empty$ + { type empty$ + { "" } + { type #-1 #4 substring$ "mail" = + { "(gesendet: " new.sentence + format.date * ")" * + } + { "" } + if$ + } + if$ + format.date * + } + { address ", " * format.date * } + if$ + } + { address empty$ + { howpublished ", " * format.date * } + { address " : " * howpublished * ", " * format.date * } + if$ + } + if$ + } + { howpublished empty$ + { "" } + { howpublished } + if$ + } + if$ +} + +FUNCTION {format.lastchecked.or.type} +{ lastchecked empty$ + { url empty$ doi empty$ urn empty$ and and + { type empty$ + { skip$ } + { type set.period.dash.check + type output + } + if$ + } + { type empty$ + { skip$ } + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + { skip$ } + { type set.period.dash.check + type output } + if$ + } + if$ + } + if$ + } + { url empty$ doi empty$ urn empty$ and and + { "there's a lastchecked date but no url, urn or doi in " + cite$ * warning$ + } + { type empty$ + { "there's a URL and a lastchecked date but no type in " + cite$ * warning$ + } + { type set.period.dash.check + type output + part.of.sentence + lastchecked "Abruf: " swap$ * output + } + if$ + } + if$ + } + if$ +} + + +FUNCTION {format.btitle} +{ title emphasize +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {format.btitle.vol} +{ number empty$ + { series empty$ + { volume empty$ + { title emphasize } + { title emphasize ". Bd." * volume tie.or.space.connect } + if$ + } + { volume empty$ + { title emphasize }%% ein Buch, das zusaetzl. SERIES=Reihentitel besitzt + %% jetzt kommt d. Fall des mehrbaendigen Werkes mit Gesamttitel=SERIES + %% Zaehlung=VOLUME und Bandtitel=TITLE; + { series emphasize ". Bd." * volume tie.or.space.connect + ": " * "{\emph{" * title * "}}" * } + if$ + } + if$%% series-test + } + { title emphasize }%% wenn number ex., dann immer title-Feld + if$%% Ende number-test +} + +FUNCTION {format.series.number.din} +{ volume empty$ + { number empty$ + { series empty$ + { "" } + { "(" series * ")" * } %% d. Seriennr koennte auch gleich hier + %% im SERIES-Feld miterfasst werden + if$ + } + { series empty$ + { "(" number * ")" * + "there's a number but no series in " cite$ * warning$ + } + { "(" series * number tie.or.space.connect ")" * } + if$ + } + if$ + } + { series empty$ + { "" } + { type$ "proceedings" = %% Sonderfall, es darf VOLUME und NUMBER ex. ! + type$ "inproceedings" = OR + { number empty$ + { "(" series * ")" * } + { "(" series * number tie.or.space.connect ")" * } + if$ + } + { "" }%% Ausstieg mit Nullstring, s. Kommentar + if$ + }%% bei gezaehlten Reihen MUSS die Reihennr. im Feld NUMBER stehen! + if$ %% wenn also d. Feld VOLUME nicht leer ist, dann liegt ausser bei + %% Typ PROCEEDINGS falsche + } %% Erfassung vor und es erfolgt d. Ausstieg mit d. Nullstring! + if$ +} + +FUNCTION {format.tr.series.or.number} +{ number empty$ + { series empty$ + { "" } + { "(" series * ")" * } + if$ + } + { series empty$ + { "(" number * ")" * } + { "(" series * number tie.or.space.connect ")" * } + if$ + } + if$ + } + +FUNCTION {format.misc.series} +{ series empty$ + { "" } + { "(" series * ")" * } + if$ +} + +FUNCTION { format.doi.urn } +{ urn empty$ + { doi empty$ + { "" } + { "DOI" doi n.dashify tie.or.space.connect } + if$ + } + { "URN" urn n.dashify tie.or.space.connect } + if$ +} + +FUNCTION { format.isbn.issn } +{ isbn empty$ + { issn empty$ + { "" } + { "ISSN" issn n.dashify tie.or.space.connect } + if$ + } + { "ISBN" isbn n.dashify tie.or.space.connect } + if$ +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { url empty$ + { "S." pages n.dashify tie.or.space.connect } + { pages } + if$ + } + if$ +} + +FUNCTION {format.pages.book} +{ pages empty$ + { "" } + { note empty$ isbn empty$ AND + { "" pages n.dashify tie.or.space.connect " S" * + add.period$ } + { "" pages n.dashify tie.or.space.connect " S" * } + if$ + } + if$ +} + +FUNCTION {format.pages.bkcollation} +{ pages empty$ + { "" } + { "" pages n.dashify tie.or.space.connect } + if$ +} + +FUNCTION {format.bkpages.collat.check} +{ 's := + #1 'ptr := + s text.length$ 'collation := + collation #1 = + { format.pages.book } + { + collation 'collrest := + { collrest #0 > } + { s ptr #2 substring$ 't := + t "S." = + { format.pages.bkcollation + #0 'collrest := } + { ptr #1 + 'ptr := + collrest #1 - 'collrest := + #1 collrest = + { format.pages.book } + { skip$ } + if$ + } + if$ + } + while$ + } + if$ +} + +FUNCTION {format.vol.year.num.pages} +{ volume field.or.null + year empty$ + { "there's no year in " cite$ * warning$ } + { " (" year * ")" * * } + if$ + month empty$ + 'skip$ + { ", " month * * } + if$ + number empty$ + 'skip$ + { ", Nr. " number * * } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ "" } + { title missing$ + { ", " pages format.bkpages.collat.check * *} + { ", " format.pages * *} + if$ + } + if$ + } + if$ +} + +FUNCTION {format.chapter.inbook} +{ duplicate$ empty$ + { pop$ "empty chapter in " cite$ * warning$ } + { type empty$ + { "\emph{Kapitel\/} " swap$ tie.or.space.connect } + { type " " * swap$ * }%% wenn keine bes. Abschnittsform gen. werden soll, + %% koennte e. kl. Zwischenraum gewaehlt werden, z.B. " \, " + if$ + } + if$ + } + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "Kapitel " } + { url empty$ + { type } + { "Kapitel " } + if$ + } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle.din} +{ booktitle empty$ + { "" } + { editor empty$ + { volume empty$ + { "{In: }" booktitle emphasize * } + { "{In: }" booktitle emphasize * + " Bd." volume tie.or.space.connect * + } + if$ + } + { volume empty$ + { "{In: }" format.ed.incoll * ": " * booktitle emphasize * } + { "{In: }" format.ed.incoll * ": " * booktitle emphasize * + " Bd." volume tie.or.space.connect * + } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.thesis.tr.type} +{ type empty$ + 'skip$ + { pop$ + type + } + if$ +} + +FUNCTION {format.online.lastcheck} +{ lastchecked empty$ + { url empty$ doi empty$ urn empty$ and and + { skip$ } + { "" output } + if$ + } + { url empty$ doi empty$ urn empty$ and and + { "there's a lastchecked date but no url, urn or doi in " + cite$ * warning$ + } + { part.of.sentence + lastchecked "Abruf: " swap$ * output + } + if$ + } + if$ +} + +FUNCTION {format.maillist.lastcheck} + { type empty$ NOT + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + { format.online.lastcheck } + 'skip$ + if$ + } + 'skip$ + if$ + } + +FUNCTION {format.article.crossref} +{ key empty$ + { journal empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" + } + { "{In: }{\emph " journal * "}" * } + if$ + } + { "{In: }" key * } + if$ + "\cite{" * crossref * "}" * ", " * format.pages * +} + +FUNCTION {format.crossref.editor} + { editor #1 "{ll}" format.name$ " (Hrsg.)" * + editor num.names$ duplicate$ + #2 > + { pop$ ua.etal * }%% --->u. a. + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { ua.etal } + + { " ; " * editor #2 "{vv~}{ll}" format.name$ * " (Hrsg.)" * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.inbk.vol.title} +{ volume empty$ + { " In: " } + { title empty$ + { " In: Bd." volume tie.or.space.connect + " von " * + } + { "In: Bd." volume tie.or.space.connect ": " * title emphasize * + " (" * year * ") in " * + } + if$ + } + if$ + } + + +FUNCTION {format.book.crossref} +{ type$ "inbook" = + { format.inbk.vol.title } + { volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + " " + } + { ". -- Bd." volume tie.or.space.connect + " von " * + } + if$ + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { "" * } + if$ + } + { key * } + if$ + } + { "" * } + if$ + "\cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { booktitle empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + "" + } + { "{In: }{\emph " booktitle * "}" * }%% + if$ + } + { "{In: }" } + if$ + } + { "{In: }" } + if$ + "\cite{" * crossref * "}" * %% ", " * format.pages * 5.12.2005 +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + set.colon.after + format.title "title" output.check + crossref missing$ + { journal article.in.journal output.nonnull + new.sentence + format.vol.year.num.pages output + format.url output + } + { format.article.crossref output.nonnull } + if$ + format.online.lastcheck + doi set.period.dash.check + urn set.period.dash.check + format.doi.urn output + issn set.period.dash.check + format.isbn.issn output + note set.period.dash.check + note output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors format.editors output.nonnull } + if$ + set.colon.after + crossref missing$ + { format.btitle.vol "title" output.check } + { format.btitle "title" output.check } + if$ + format.edition output + format.address.publisher.year "publisher" output.check + new.sentence + crossref missing$ + { format.series.number.din output } + { format.book.crossref output.nonnull } + if$ + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + format.doi output + format.url output + new.block + isbn set.period.dash.check + format.isbn.issn output + note set.period.dash.check + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors format.editors output.nonnull } + if$ + set.colon.after + format.btitle "title" output.check + format.edition.or.version output + format.url output + format.online.lastcheck + format.howpublished output + series new.sentence.checka + format.series.number.din output + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + type set.period.dash.check + format.digital.type output + doi set.period.dash.check + urn set.period.dash.check + format.doi.urn output + note set.period.dash.check + note output + format.isbn.issn output + fin.entry +} + + +FUNCTION {inbook} +{ output.bibitem + chapter format.chapter.inbook output.nonnull + crossref missing$ + { author empty$ + { format.editors "\,{In:\,}" swap$ * "author and editor" output.check } + { format.authors "\,{In:\,}" swap$ * output.nonnull } + if$ + author empty$ editor empty$ AND + { before.all 'output.state := } + { set.colon.after } + if$ + format.btitle.vol "title" output.check + format.edition output + format.address.publisher.year "publisher" output.check + new.sentence + format.series.number.din output + isbn set.period.dash.check + format.isbn.issn output + } + { format.book.crossref output.nonnull } + if$ + part.of.sentence + format.pages output + note set.period.dash.check + note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + set.colon.after + format.title "title" output.check + format.version.url output + type empty$ NOT + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + 'skip$ + { format.online.lastcheck } + if$ + } + { format.online.lastcheck } + if$ + crossref missing$ + { format.in.ed.booktitle.din "booktitle" output.check + format.edition output + format.address.publisher.year "publisher" output.check + format.maillist.url output + format.maillist.lastcheck + new.sentence + format.series.number.din output + doi set.period.dash.check + urn set.period.dash.check + format.doi.urn output + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + } + { format.incoll.inproc.crossref output.nonnull } + if$ + part.of.sentence + format.chapter.pages "pages" output.check + note set.period.dash.check + note output + fin.entry +} + + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + set.colon.after + format.title "title" output.check + crossref missing$ + { format.in.ed.booktitle.din "booktitle" output.check + address empty$ + { organization new.sentence.checka + organization output + part.of.sentence + format.address.publisher.year output + } + { format.address.publisher.year "publisher" output.check } + if$ + new.sentence + series empty$ + 'skip$ + { format.series.number.din output } + if$ + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + } + { format.incoll.inproc.crossref output.nonnull } + if$ + part.of.sentence + format.pages "pages" output.check + note set.period.dash.check + note output + fin.entry +} + + +FUNCTION {conference} { inproceedings }%% nach Patashnik, wg US-Kompatibilitaet + +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization empty$ + { title empty$ + 'skip$ + {format.btitle "title" output.check } + if$ + } + 'skip$ + if$ + } + 'skip$ + if$ + format.authors.organization output.nonnull + set.colon.after + format.btitle "title" output.check + format.edition "edition" output.check + author empty$ organization empty$ AND + { address "address" output.check + part.of.sentence + } + { organization empty$ + { address "address" output.check + part.of.sentence + } + { address ": " * organization * output + part.of.sentence + } + if$ + } + if$ + format.date output + number empty$ + 'skip$ + { "(" number * ") " * output } + if$ + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + format.doi output + format.url output + format.online.lastcheck + note set.period.dash.check + note output + fin.entry +} + +%% Standard ist "Diplomarbeit", anderes mit TYPE="anderer Typ" erfassen! +%% z.B. TYPE={Hausarbeit}, TYPE={Diss.}, TYPE={Habil.}, TYPE={Magisterarb.} +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + set.colon.after + format.btitle "title" output.check + address output + part.of.sentence + school "school" output.check + part.of.sentence + "Diplomarbeit" format.thesis.tr.type output.nonnull + part.of.sentence + format.date "year" output.check + format.url output + format.online.lastcheck +%% format.digital.resource.type + doi set.period.dash.check + urn set.period.dash.check + format.doi.urn output +%% pages set.period.dash.check +%% format.pages.book output + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + note set.period.dash.check + note output + fin.entry +} + +FUNCTION {phdthesis} %% {mastersthesis}% ist identisch bis auf Standardwert, s.o. +{ output.bibitem + format.authors "author" output.check + set.colon.after + format.btitle "title" output.check + address output + part.of.sentence + school "school" output.check + part.of.sentence + "Diss." format.thesis.tr.type output.nonnull % koennte auch `Dissertation' sein + part.of.sentence + format.date "year" output.check + format.url output + format.online.lastcheck +%% format.digital.resource.type + doi set.period.dash.check + urn set.period.dash.check + format.doi.urn output + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ +%% pages set.period.dash.check +%% format.pages.book output + note set.period.dash.check + note output + fin.entry +} + + +%% Normen, Vornormen, Schutzrechte (Patente) werden hiermit erfasst; +%% (z.Zt. auch noch Internetressourcen) +%% das type-Feld uebernimmt eine wichtige Steuerfunktion: +FUNCTION {misc} +{ output.bibitem + type missing$ not + { type duplicate$ #1 #4 substring$ "Norm" = + type #1 #4 substring$ "Vorn" = OR + { " " * + format.number * output + new.sentence + format.date output + title empty$ + { skip$ } + { add.period$ new.sentence } + if$ + format.btitle "title" output.check + note set.period.dash.check + note output + } + { duplicate$ #1 #6 substring$ "Schutz" = + { " " * format.number * output + new.sentence + "(" * format.date ")" * output + add.period$ new.sentence + format.authors.organization add.period$ output + note output + } + %% wenn irgendein anderer Typ eingetragen ist + { pop$ pop$ "" + title empty$ + { note empty$ + { url empty$ + { "there's no relevant field in " cite$ warning$ + pop$ "" + } + { format.url output }%%% + if$ + } + { note " " * output.nonnull } + if$ + } + { author empty$ + { editor empty$ + { organization empty$ + { skip$ } + { format.editors.organization output.nonnull + set.colon.after + } + if$ + } + { format.editors format.editors.organization + output.nonnull set.colon.after + } + if$ + } + { format.authors format.editors output.nonnull + set.colon.after + } + if$ + format.btitle output.nonnull + url empty$ + { format.edition output + format.howpublished output} + { format.howpublished output + format.edition.or.date output + format.url output + } + if$ + format.online.lastcheck +%% format.lastchecked.or.type + new.sentence + format.misc.series output +%% note set.period.dash.check + note output + } + if$ + } + if$ + } + if$ + } + %% wenn es keinen type gibt + { title empty$ + { note empty$ + { url empty$ + { "there's no relevant field in " cite$ warning$ + pop$ "" + } + { format.url output }%%% das waere e. reine URL + if$ + } + { note " " * output.nonnull + %% format.url format.date output + } + if$ + } + { author empty$ + { editor empty$ + { organization empty$ + { skip$ } + { format.editors.organization output.nonnull + set.colon.after + } + if$ + } + { format.editors format.editors.organization + output.nonnull set.colon.after + } + if$ + } + { format.authors format.editors output.nonnull + set.colon.after + } + if$ + format.btitle output.nonnull + url empty$ + { format.edition output + format.howpublished output} + { format.howpublished output + format.url output + format.edition.or.date output + format.online.lastcheck +%% format.lastchecked.or.type + } + if$ + new.sentence + format.misc.series output + note set.period.dash.check + note output + } + if$ + } + if$ + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization empty$ + { "empty organization and editor in " cite$ * warning$ } + { organization " (Veranst.)" * output } + if$ + } + { format.editors format.editors.organization output.nonnull } + if$ + set.colon.after + format.btitle "title" output.check + volume empty$ + { skip$ } + { "{\textnormal{Bd.}}" volume tie.or.space.connect emphasize "volume" output.check } + if$ + format.address.publisher.year "publisher" output.check + new.sentence + format.series.number.din output.nonnull + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + note set.period.dash.check + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + format.tr.institution output.nonnull } + { format.authors format.editors output.nonnull } + if$ + set.colon.after + format.title "title" output.check + institution empty$ + 'skip$ + { author empty$ editor empty$ AND + 'skip$ + { institution new.sentence.checka + "/ " institution * output.nonnull + } + if$ + } + if$ + format.version.url output + format.online.lastcheck + format.address.publisher.year output + number new.sentence.checka + format.tr.series.or.number "number" output.check + "Forschungsbericht" format.thesis.tr.type set.period.dash.check + "Forschungsbericht" format.thesis.tr.type output +%% format.digital.resource.type + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + note set.period.dash.check + note "note" output.check + fin.entry +} + +FUNCTION {unpublished} {misc}%% AUTHOR, TITLE, NOTE muessen sein! +%% andere Felder sind optional + +FUNCTION {default.type} { misc } + + +MACRO {jan} {"Januar"} + +MACRO {feb} {"Februar"} + +MACRO {mar} {"M{\^^b a}rz"} + +MACRO {apr} {"April"} + +MACRO {mai} {"Mai"} + +MACRO {may} {"Mai"} + +MACRO {jun} {"Juni"} + +MACRO {jul} {"Juli"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {okt} {"Oktober"} + +MACRO {oct} {"Oktober"} + +MACRO {nov} {"November"} + +MACRO {dez} {"Dezember"} + +MACRO {dec} {"Dezember"} + +%%$$$ stillgelegte Beispiele fuer den Gebrauch von Kuerzeln (hier Zs-Titel). + +%%MACRO {acmcs} {"ACM Computing Surveys"} + +%%MACRO {acta} {"Acta Informatica"} + +READ + +FUNCTION {initialize.longest.label}%% nicht identisch mit der Fkt.im ALPHA-Stil +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} + +FUNCTION {longest.label.pass} +{ number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} + +EXECUTE { initialize.longest.label } + +ITERATE { longest.label.pass } + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" number.label int.to.str$ * "}" * + write$ newline$ newline$ + "% this bibliography is generated by unsrtdin.bst [8.2] from 2005-12-21" + write$ newline$ newline$ + "\providecommand{\url}[1]{\texttt{#1}}" + write$ newline$ + "\expandafter\ifx\csname urlstyle\endcsname\relax" + write$ newline$ + " \providecommand{\doi}[1]{doi: #1}\else" + write$ newline$ + " \providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi" + write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} \ No newline at end of file