From 168a7b4208a07f1c2af3c8d089c042206784fbf8 Mon Sep 17 00:00:00 2001 From: Alfred Krohmer Date: Mon, 14 Oct 2013 23:19:04 +0200 Subject: [PATCH] =?UTF-8?q?Bericht=20Template=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bericht/alphadin.bst | 1665 ++++++++++++++++++++++++++++++++++++++++++ bericht/bericht.pdf | Bin 0 -> 24494 bytes bericht/bericht.tex | 12 + bericht/plaindin.bst | 1493 +++++++++++++++++++++++++++++++++++++ bericht/zihpub.cls | 1248 +++++++++++++++++++++++++++++++ 5 files changed, 4418 insertions(+) create mode 100644 bericht/alphadin.bst create mode 100644 bericht/bericht.pdf create mode 100644 bericht/bericht.tex create mode 100644 bericht/plaindin.bst create mode 100644 bericht/zihpub.cls diff --git a/bericht/alphadin.bst b/bericht/alphadin.bst new file mode 100644 index 0000000..8496cac --- /dev/null +++ b/bericht/alphadin.bst @@ -0,0 +1,1665 @@ +%% ALPHADIN.BST Ausgabe [8] 10/10/00 +%% (C) Klaus F. Lorenzen, Hamburg email: lorenzen.marxen@t-online.de +%% ersetzt ALPHADIN.BST Ausgabe [7,1] vom 23/11/99 +%% ersetzt DinAlpha.BST von 1994 +%% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +%% ALPHADIN.BST wurde entwickelt aus BibTeX standard bibliography style +%% `alpha'.Mit ALPHADIN.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.fh-hamburg.de/pers/Lorenzen/bibtex/ +%% Stand: 16/6/99 +%% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +%% 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 +%% und sind durch abgekuerzte Verfasserbuchstaben plus Erscheinungsjahr in +%% eckigen Klammern gekennzeichnet. +%% Es gibt Unterschiede zwischen der US- und der deutschen Zitierkonvention, +%% was die bibliographischen Typen und die verschiedenen Trennzeichen zwischen +%% den Feldern angeht. Daher ist auch keine 100%ige Abbildung der beiden +%% Regelwerke aufeinander moeglich. Dies ist aber immer durch eine achtsame +%% Erfassung beherrschbar! Die vorliegenden DIN-styles versuchen einige +%% bibliographische Beschraenkungen der Originalstyles zu ueberwinden. +%% Es laesst sich in fast allen Faellen problemlos ein Original-bib-file +%% (d.i. die Datenbank, die die bibliographischen Informationen enthaelt) +%% wahlweise nach US-Norm oder deutscher DIN-Norm verarbeiten. +%% [Beispiel: Produzieren Sie mit der XAMPL.bib-Datenbank aus dem Original- +%% paket 2 verschiedene Literaturverzeichnisse.] Zu Gunsten +%% der Allgemeingueltigkeit von bib-files ist bei den Publikationstypen +%% (entry-types) und den bibliographischen Kategorien (fields) in Zweifels- +%% faellen immer die originale US-Bedeutung beibehalten worden. +%% Bei der Erfassung von Literaturquellen in bib-files +%% gelten folglich die in der TEX-Literatur veroeffentlichten Regeln. +%% Kommt es dennoch zu kleineren "Schoenheitsfehlern" im fertig gesetzten +%% output, so koennen diese so gut wie immer durch eine leicht veraenderte +%% Erfassung im bib-inputfile beseitigt werden. Last but not least koennen +%% Sie im output-file < *.bbl > noch letzte Hand zur Korrektur ansetzen. +% +%% UMGANG MIT FEHLERMELDUNGEN +%% Noch nicht alle ueberfluessigen Fehlermeldungen des Original-style sind +%% ausgemerzt. Die meisten Warnmeldungen beruhen auf +%% den andersartigen bibliographischen Regeln nach DIN 1505 und dem damit +%% verbundenen Ermessensspielraum, sind also in Wahrheit keine "Fehler". +%% Dennoch sollten Sie diese Warnungen beachten, um herauszufinden, ob +%% evtl. eine unzulaessige Kombination von Publikationstyp (=entry-type) und +%% "fields" vorgenommen worden ist. Das fuehrt mitunter zu Wasserfallartigen +%% Fehlermeldungen: meistens duerfen Sie das einfach ignorieren. +%% +%% DANKSAGUNG +%% Hartmut Lueddecke, FH Hamburg habe ich fuer viele Verbesserungsvorschlaege +%% und stete Unterstuetzung zu danken. Vielen an dieser Stelle ungenannt +%% bleibenden Anwendern gilt mein Dank, die in den vergangenen Jahren durch +%% ihre Aufmerksamkeit dazu beigetragen haben, Fehler auszumerzen und +%% Verbesserungen vorzunehmen. +%% +%% HINWEIS: es gibt eine Kombination von ALPHADIN.BST mit dem NATBIB-Stil +%% von Patrick W.Daly), womit Literaturverzeichnisse komplett nach +%% DIN 1505 Teil 2 UND Teil 3 formatiert werden koennen. Naeheres +%% per URL http://www.fh-hamburg.de/pers/Lorenzen/bibtex/ +%% +%% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +%% Eine ausfuehrliches Internet-Tutorial mit Beispielen ist in Vorbereitung. +%% Fuer den Anfang ist diese Datei schon etwas kommentiert! +%% Kritik, Vorschlaege usw. bitte an : +%% FH Hamburg, Klaus F. Lorenzen, Grindelhof 30, 20146 Hamburg +%% e-mail: lorenzen.marxen@t-online.de +%% 16/6/99 +%% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +% 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 +% bstdin.doc, 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'. +%% + +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) + edition %% Auflagevermerk + 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. + 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 Veranstalters 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 + volume %% a) Zaehlung bei einem mehrbaendigen Werk (-> book) +% %% b) Jahrgang einer Zeitschrift (-> article + year %% Erscheinungsjahr + } + {} + { label extra.label sort.label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +%% die folg. BOOLE'sche VAR steuern d. Ausg. ": " nach Urheber-Feldern +%% und ". - " vor ISBN oder Anmerkungen (NOTE) + +INTEGERS { colon.after period.dash } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := + #4 'colon.after := + #5 'period.dash := +} +INTEGERS { zahl lang } + +STRINGS { h s t u v } + +%% neue DIN-Funktion, 16/2/94 + +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$ } + { write$ + newline$ + "\newblock " write$ + } + 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 {output.bibitem} +{ newline$ + "\bibitem[" write$ + label write$ + "]{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {fin.entry} %%$$$ nach DIN neu 16/2/94 +{ write$ + newline$ +} + +FUNCTION {set.period.dash} %% Wenn ein ". - " die Satzteile trennen soll.! +{ output.state before.all = + 'skip$ + { period.dash 'output.state := } + if$ +} + +%% neu 16/2/94 +%% prueft, ob PAGES, ISBN- oder NOTE-Feld vh. ist und setzt dann ". - " davor. + +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$ +} + +%% neu / alt 17/2/94 Wenn ein " " die Satzteile trennen soll.! +FUNCTION {new.sentence} +{ output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ +} + +%% neu 17/2/94 Wenn ein ", " die Satzteile trennen soll.! +FUNCTION { part.of.sentence } +{ output.state before.all = + 'skip$ + { mid.sentence 'output.state := } + if$ +} + + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +INTEGERS { nameptr namesleft numnames } + +STRINGS { fkt } + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} + +%% neu, setzt Autor/Hrsg. in Kapitaelchen 9/3/94 +FUNCTION { capitalize } + { duplicate$ empty$ + { pop$ "" } + { "\textsc{" swap$ * "}" * } + if$ +} + +%%$$$ DIN-Quellenangabe : spezieller unselbst. Teil ist erschienen "In: " +%% dem bibliogr. selbst. Werk, z.B. Zeitschrift, Buch + +%% 1/4/96 +FUNCTION {article.in.journal} +{ duplicate$ empty$ + { pop$ "" } + { author missing$ + { title missing$ + { emphasize " " * * }%% wenn ein Zs-Heft als ganzes zitiert wird + { emphasize "{In: }" swap$ " " * * } + if$ + } + { emphasize "{In: }" swap$ " " * * } + if$ + } + if$ +} + +%% nach Vorschlag von H.Lueddecke, um Adelspraedikate beim Sortieren +%% nach den(m) Vornamen aufzufuehren. Lo, 2/11/94 +FUNCTION {format.names} +{ 's := + "" 'u := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { + s nameptr "{vv~}{ll}" format.name$ 't :=%% das ergibt DIN-Ansetzung + %% Lue's Vorschlag s nameptr "{ll}" format.name$ 't := + t capitalize 't := + s nameptr "{, ff}" format.name$ 'u := + %% Lue's Vorschlag s nameptr "{, ff}{ vv}" 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$ * "." * 'v := } + 'skip$ + if$ + zahl #1 + 'zahl := } + while$ + v "" = + { u 'v := } + 'skip$ + if$ +%% der string fkt enthaelt " (Hrsg.)", wenn Editorfeld nicht leer ist + t v * fkt * 't := %% Komma nach Nachnamen wird oben erledigt! + %% t enthaelt nun d. formatierten Nnamen, Vnamen + nameptr #1 > + { namesleft #1 > + { " ; " * t * } + { numnames #2 > + { " " * } + 'skip$ + if$ +%% %% n. schindle's hinweis 12/1/96 erweitert + t "\textsc{others}" = t "\textsc{others} (Hrsg.)" = or + { " [u.~a.]" * }%% 13/2/94 +%%%% { "et~al." * } %% Geschmackssache, waehle eins von beiden + { " ; " * t * } + if$ + } + if$ %% Ende der namesleft-Pruefung + } + 't + %% hierdurch wird bei jed. Schleifendurchgang das sich komplet- + %% tierende Zwischen-Namensergebnis wieder auf den stack gelegt + + if$ %% Ende der nameptr-Pruefung + + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ %% Ende von { namesleft #0 > } ganz oben + "" 'fkt := %% fkt wird zurueckgesetzt +} + +%%$$$ geaendert 14/2/94 + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names } + if$ +} + +%%$$$ geaend. 20/2/94 Anpassung an DIN, wonach Autor + Hrsg. zusammen vorkom- +%% men duerfen.!! + +FUNCTION {format.editors} +{ editor empty$ + { author empty$ + { "Weder Verfasser noch Hrsg. in " cite$ * warning$ } + 'skip$ + if$ + } + { author empty$ + { " (Hrsg.)" 'fkt := + editor format.names + } + { " (Hrsg.)" 'fkt := + " ; " * editor format.names * + } + if$ + } + if$ + } + +%% Lo, 12/5/99 neue Funktion fuer proceedings, misc usw. + +FUNCTION { format.editors.organization } +{ organization empty$ + 'skip$ + { type$ "misc" = + { organization } + { " ; " * organization " (Veranst.)" *} + if$ + } + if$ +} + +%%$$$ Sonderfall: Herausgeber bei Typ incollection, 21/2/94 +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 {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$ +} + +%% geaendert 24/2/94 +FUNCTION {format.date} +{ year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + month + } + if$ + } + { month empty$ %% b. Buechern nur Jahr, ohne Monat ausgeb. im Impressum + 'year + { month " " * year * } + if$ + } + if$ +} + +%% +%%$$$ neue Fkt., 16/2/94 u. 14/3/94 das sog. Impressum +FUNCTION {format.address.publisher.year} +{ publisher empty$ + { address empty$ + { year empty$ + { "" } + { year } + if$ + } + { "Es gibt einen Verlagsort, aber keinen Verlag in " cite$ * warning$ + address ", " * format.date * + } + if$ + } + { address empty$ + { year empty$ + { "Es gibt nur eine Verlagsangabe in " cite$ * warning$ + publisher + } + { publisher ", " * format.date * } + if$ + } + { year empty$ + { address " : " * publisher * } + { address " : " * publisher * ", " * format.date * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.btitle} +{ title emphasize +} + + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +%% neu 8/3/94 in dieser Funkt. steckt im volume empty-Teil noch ein bug, der +%% aber ignoriert werden kann; das Ergebnis ist ok. +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 +} + +%%$$$ neu 16/2/94 +%% Serien- / Reihentitel werden im Feld series gespeichert. Weist die +%% Serie eine Zaehlung der Einzeltitel auf, gibt man entweder nach DIN alles +%% in das Feld series so ein: ---> TITEL DER SERIE NR. (der Vorlage) <--- +%% z. B. SERIES= { Mensch und Computer 12 }. +%% [ Die Nummer der Vorlage darf auch durch " ; " abgesetzt werden. ] +%% oder: +%% man gibt die Zaehlung in das Feld NUMBER ein, z.B. NUMBER = {12}. +%% Achtung!! +%% Bei mehrbaendigen Werken steht d. Gesamttitel im Feld SERIES und die +%% Bandzaehlung im Feld VOLUME; NUMBER darf dann nicht besetzt sein! +%% Anderenfalls liegt ein Erfassungsfehler vor, da sich Reihe u. mehrbd. +%% Werk gegenseitig ausschliessen. + +FUNCTION {format.series.number.din} +{ volume empty$ + { number empty$ + { series empty$ + { "" }%% Ausstieg mit Nullstring + { "(" series * ")" * } %% d. Seriennr koennte auch gleich hier + %% im SERIES-Feld miterfasst werden + if$ + } + { series empty$ + { "(" number tie.or.space.connect ")" * + "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. ! + { 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$ +} + +%% seltener Fall bei MISC: Ausgabe einer Serie; die Nummer der Serie muss +%% in SERIES miterfasst werden 16/6/99 + +FUNCTION {format.misc.series} +{ series empty$ + { "" } + { "(" series * ")" * } + if$ +} + + +%%$$$ 16/2/94 +%% 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$ +} + +%%$$$ neu, 18/3/94 +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$ +} + +%%$$$ geaendert, 21/2/94 gibt Seitenzahl bei BOOK-Typ und verwandten T. aus +FUNCTION {format.pages.book} +{ pages empty$ + { "" } + { "" pages n.dashify tie.or.space.connect " S" *} %% 17/12/95 + if$ +} + +%%$$$ alle anderen Seitenang. zB. Zeitschrft., INBOOK usw. a la Orig., 9/3/94 +FUNCTION {format.pages} +{ pages empty$ + { "" } + { "S." pages n.dashify tie.or.space.connect } + if$ +} + +%% Angaben v. Jahrgang, Jahr, Heftnr., Seiten bei Artikel-Typ +%% 14/3/94, 26/2/97 + +FUNCTION {format.vol.year.num.pages} +{ volume field.or.null + year empty$ + { "Es gibt einen Jahrgang, aber kein Jahr in " cite$ * warning$ } + { " (" year * ")" * * } + if$ + month empty$ + 'skip$ + { ", " month * * } + if$ + number empty$ + 'skip$ + { ", Nr. " number * * } + if$ + pages empty$%% Lo, 26/2/97 + 'skip$ + { ", " format.pages * *}%% + if$ + +%% pages empty$%% das war die Fass. Nov. 96, die auch ging +%% 'skip$ +%% { duplicate$ empty$ +%% { pop$ format.pages }%% da pages leer, wird nur "" auf stack gelegt +%% { ", " format.pages * *} +%% if$ +%% } +%% if$ + +} + +%% geaendert 21/2/94 +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "Kapitel " } + { type } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +%%$$$ geaendert 21/2/94 +FUNCTION {format.in.ed.booktitle.din} +{ booktitle empty$ + { "" } + { editor empty$ + { volume empty$ + { "{In: }" booktitle emphasize * }%% n. Belieben fettes In: + { "{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$ +} + +%% geaendert 1/3/94 +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type + } + if$ +} + +%% geaendert 23/2/94 i.Orig. wird zuerst die number, dann der type getestet +FUNCTION {format.tr.number.din} +{ type empty$ + { number empty$ + { " -- Forschungsbericht" } %% bei Minimalangaben besser ohne "."! + { "(" number tie.or.space.connect "). -- Forschungsbericht" * } + if$ + } + { number empty$ + { " -- " type * } %% bei Minimalangaben besser ohne "."! + { "(" number tie.or.space.connect "). -- " * type * } + if$ + } + if$ +} + + +FUNCTION {format.article.crossref} +{ key empty$ + { journal empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" + } + { "{In: }{\em " journal * "\/}" * }%% + if$ + } + { "{In: }" key * }%% + if$ + "{\cite{" * crossref * "}" * "}" * ", " * format.pages * +%% " (siehe \cite{" * crossref * "}" * "), " * format.pages * +} + +%%geaendert 7/3/94 und noch einmal nach Lueddecke, s.o. +FUNCTION {format.crossref.editor} +%vorher,Lue { editor #1 "{vv~}{ll}" format.name$ " (Hrsg.)" * + { editor #1 "{ll}" format.name$ " (Hrsg.)" * + editor num.names$ duplicate$ + #2 > + { pop$ " [u.~a.]" * } +%% { pop$ " et~al." * } + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " [u.~a.]" } +%% { " et~al." * } + { " ; " * editor #2 "{vv~}{ll}" format.name$ * " (Hrsg.)" * } + if$ + } + if$ + } + if$ +} + + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "{\texttt{siehe}} " +%% "(siehe " + } + { ". -- Bd." volume tie.or.space.connect + " von " * + } + 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$ + "" * + } + { "" * }%% dadurch kommt nach der Bandzaehl. gleich das label 2/6/99 +%% { "{\emph{" * series * "}} {\texttt{siehe}}" * } + if$ + } + { key * } + if$ + } + { "" * }%% nach der Bandzaehlung kommt gleich das label; Lo 2/6/99 +%% { format.crossref.editor * } + if$ + "{\cite{" * crossref * "}" * "}" * +%% "{\cite{" * crossref * "}" * "}" * %%"), " * format.pages * +} + +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 * "}" * }%% fettes In: n. Belieben + if$ + } + { "{In: }" }%% 26/5/99 +%% { "{In: }" key * } + if$ + } +%% { "{In: }{\em " booktitle * "\/}" * }%% + { "{In: }" }%% Lo, 10/2/99 es sieht der reine Bezug (Referenz) besser aus! + if$ +%% " (siehe \cite{" * crossref * "}" * "), " * format.pages * + "{\cite{" * crossref * "}" * "}" * ", " * format.pages *%% das fette label, Lo 23/2/99 +%% alte Vers. bis 27/2/97 " (siehe \cite{" * crossref * "}" * ")" * +} + +%%geaendert +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 % 26/2/97 + new.sentence + format.vol.year.num.pages output + } + { format.article.crossref output.nonnull } + if$ + note set.period.dash.check + note output + issn set.period.dash.check + format.isbn.issn output + fin.entry +} + +%%$$$ geaendert, 20/2/94 +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 "edition" output.check + format.address.publisher.year "publisher" output.check + new.sentence + crossref missing$ + { format.series.number.din output + pages set.period.dash.check%% 19/5/99 wie bei adinat.bst + format.pages.book output + } + { format.book.crossref output.nonnull + pages set.period.dash.check + format.pages.book output + } + if$ + note set.period.dash.check + note output + isbn set.period.dash.check + format.isbn.issn output + fin.entry +} + +%% geaendert 23/2/94 +FUNCTION {inbook} +{ output.bibitem +%% unselbst. Teile eines Buches werden am Anf. genannt, dann d selbst. Quelle + chapter empty$ + { "Es fehlen die Kapitelangaben in " cite$ * warning$ } + { type empty$ + { "Kap. " }%% d.i. die Standardvorgabe + { type }%% wenn man keine bes. Typform angeben will, koennte ein kl. +%% Zwischenraum gewaehlt werden, z.B. " \, " + if$ + chapter tie.or.space.connect " {In: }" * * %% n. Belieben fettes In: + } + if$ + +%% -------- jetzt kommt der bibliogr. selbst. Teil + author empty$ + { format.editors "author and editor" output.check } + { format.authors output.nonnull + } + if$ + set.colon.after + format.btitle.vol "title" output.check + crossref missing$ + { format.edition output + format.address.publisher.year "publisher" output.check + new.sentence + format.series.number.din output +%% vorher note ... + part.of.sentence + format.pages "pages" output.check + note set.period.dash.check + note output + } + { format.book.crossref output.nonnull + note set.period.dash.check + note output + } + if$ + isbn set.period.dash.check + format.isbn.issn output + fin.entry +} + +%% geaenderte Seitenzahlausgabe, wenn crossref-Feld benutzt wird, 27/2/97 +FUNCTION {incollection} +{ 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 + format.edition output + format.address.publisher.year "publisher" output.check + new.sentence + format.series.number.din output + note set.period.dash.check + note output + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + part.of.sentence + format.chapter.pages "pages" output.check + } + { format.incoll.inproc.crossref output.nonnull + note set.period.dash.check + note output + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + } + if$ + fin.entry +} + +%% geaendert 22/2/94, 15/11/96 (Hinweis v. Alin Shindun, Uni Siegen) +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$ %%neu nach Hinweis v. Alin Shindun, 15/11/96 + 'skip$ + { format.series.number.din output } + if$ + note set.period.dash.check + note output + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + part.of.sentence + format.pages output + } + { format.incoll.inproc.crossref output.nonnull + note set.period.dash.check + note output + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + } + if$ + fin.entry +} + +FUNCTION {conference} { inproceedings }%% nach Patashnik, wg US-Kompatibilitaet + +%% geaendert, 11/6/99 +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization empty$ + { title empty$ + 'skip$ + {format.btitle "title" output.check } + if$ + } + { organization output.nonnull + set.colon.after + format.btitle "title" output.check + } + if$ + } + { format.authors output.nonnull + set.colon.after + format.btitle "title" output.check + } + if$ + format.edition "edition" output.check + author empty$ + { organization empty$ + { address output + part.of.sentence + } + 'skip$ + if$ + } + { address ": " * organization * output + part.of.sentence + } + if$ + format.date output + pages set.period.dash.check + format.pages.book output + note set.period.dash.check + note output + fin.entry +} + +%% MASTERSTHESIS ersetzt zugleich PHDTHESIS !! KFL, 17/2/94 +%% Ausgabe-Standard ist "Diplomarbeit", fuer andere Abschlussarbeiten +%% bei der Erfassung TYPE="anderer Typ" eingeben. +%% z.B. TYPE={Dissertation}, 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.type output.nonnull + part.of.sentence + format.date "year" output.check +%% pages new.sentence.checka + pages set.period.dash.check + format.pages.book output + 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.type output.nonnull % koennte auch `Dissertation' sein + part.of.sentence + format.date "year" output.check + pages set.period.dash.check + format.pages.book output + note set.period.dash.check + note output + fin.entry +} + +%% hiermit werden u.a. Normen erfasst +FUNCTION {misc} +{ output.bibitem + note empty$ + { title empty$ + { "" } + { format.authors format.editors output.nonnull + format.btitle output + howpublished output + format.date output + } + if$ + } + { note duplicate$ #1 #4 substring$ "Norm" = + { output new.sentence + format.date output + format.title output + } + { pop$ "" + 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 + howpublished output + format.date output + new.sentence + format.misc.series output%% neu 16/6/99 + note set.period.dash.check + note output + } + if$ + } + if$ + fin.entry +} + +FUNCTION {booklet} {misc}%% booklet ist nach dt. Vorgehensweise oft ueberfluessig + +%% geaendert 21/5/99 +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization empty$ + { "" } + { organization " (Veranst.)" * output } + if$ + } + { format.editors format.editors.organization output.nonnull } + if$ + set.colon.after + format.btitle "title" output.check + volume empty$ + { "" output.nonnull } + { "{\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 set.period.dash.check + format.pages.book output + note set.period.dash.check + note output + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + fin.entry +} + +%% geaendert 23/2/94 auch fuer Firmenschriften u."a. zu benutzen +FUNCTION {techreport} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors format.editors output.nonnull } + if$ + set.colon.after + format.title "title" output.check + institution new.sentence.checka + institution empty$ + 'skip$ + { " / " institution * output.nonnull } + if$ + format.address.publisher.year output + number new.sentence.checka + format.tr.number.din "number" output.check +%% new.sentence + pages set.period.dash.check + format.pages.book output + note "note" output.check + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + fin.entry +} + +FUNCTION {unpublished} {misc}%% author, title, note muessen sein! howpublished +%% %% entfaellt natuerlich +FUNCTION {default.type} { misc } + +MACRO {jan} {"Januar"} + +MACRO {feb} {"Februar"} + +MACRO {mar} {"M{\^^b a}rz"} +%% nach Bernd Raichle, Febr. 1999 + +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"} + +%%MACRO {cacm} {"Communications of the ACM"} + +%%MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +%%MACRO {ibmsj} {"IBM Systems Journal"} + +%%MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +%%MACRO {ieeetc} {"IEEE Transactions on Computers"} + +%%MACRO {ieeetcad} +%% {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +%%MACRO {ipl} {"Information Processing Letters"} + +%%MACRO {jacm} {"Journal of the ACM"} + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +INTEGERS { et.al.char.used } + +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 "{v{}}{l{}}" format.name$ * } + { s nameptr "{l{}}" format.name$ * } + if$ + } +%% { s nameptr "{v{}}{l{}}" format.name$ * } + { 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 "{v{}}{l{}}" format.name$ + { s #1 "{l{}}" format.name$ + duplicate$ text.length$ #2 < + { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ } %% vgl. Anmerkung! + 'skip$ + if$ + } + if$ +} +%% Anmerkung, Lo 14/12/95: +%% wenn man in der letzten label-Bearbeitung #4 statt #3 setzt, dann werden +%% auch Umlaute oder á an 3. Stelle im Namen korrekt in das label genommen. +%% Tip: Aendere diese Zahl nur, wenn in einer Lit.-Liste der Umlautsonderfall +%% stoerend auffaellt. + +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$ +} +%% neu 19/5/99 damit eigene labels fuer Konferenzen erzeugt werden koennen, +%% darf man zusaetzlich auch ein key-Feld eingeben. Das produziert +%% dann vorrangig das label. +FUNCTION {editor.key.organization.label} +{ editor empty$ + { key empty$ + { organization empty$ + { cite$ #1 #3 substring$ } + { "The " #4 organization chop.word organization } %% Lo, 26/1/98 +%% { "The " #4 organization chop.word #3 text.prefix$ } + 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$ "inbook" = + 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 "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := +% +% Zeile geaendert, damit die Namenszusaetze wie von, de usw nach deutscher +% Norm richtig einsortiert werden. 27.10.94 Lueddecke +% + s nameptr "{ll{ }}{ ff{ }}{ vv{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "others" = and + { "[u.~a.]" * } + %% { "et al" * }% Geschmackssache + { 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$ "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 + +STRINGS { longest.label last.sort.label next.extra } + +INTEGERS { longest.label.width last.extra.num } + +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}%%lt. Original wiederhergestellt 4/1/96 +{ 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$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} + +%% Ende von ALPHADIN.BST KFL, 23/11/99 diff --git a/bericht/bericht.pdf b/bericht/bericht.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c891802e11b5ac6b64dfceebee10051be5b6551e GIT binary patch literal 24494 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
  • 3#B=5{l3tahqF<3 zHA9@^?Yz_-+EY{$1>TJqIZj4VRA28>n$k^5v$!gWtLMhSe`OhH_++&bI+}VN+!oXu zZGd<7%l{7BtTP`(_UI+9#(?1ZQJu%DIj(6&yefkgzM`ril&Y8KZ)RQFbx`Y0Y%cvw zwO~>cakZ$tY#*~p`&>e`l*5|a0^Zf*WI*<`0cuZxgf_KPP%iq{xwN}capZytKXeYb zy%IwwE@mNy??p?TmOr`r*mX^cD9_u*V%z;W^7aJVzAeP^xKHDc2My~>Z-X$RaV8TX zdkr;B4ov%88(G&*R|VOu_$w2`!wd`_aV!~x;7T3PJi^@Dr&zr8JSsjdIJ2i{06BgV zQ#EWFtI85&7o*No1e1e*FKDPC20Z=s%npHmdAPpd^px{cnS8;7_}ugOkF6_VMd#cV z2+PoXz>qM%-{%RG09ufnJ{-IEMVK76^iF*V>39pTY6ABJuH}(5EeKoEXo6Q;11FBPMt4F-RGCn(1VB(7s^7aMnhWe|!oG zmc<+n{u`XEbNNTHT5gjP$1@b+AhwFR*`feNOp^r583(i#fypgFUiZUY^zm+5#ATzY zklGEUpKg`}3o&DowG|~*%aBWQab$MF_@z%rw;6uv_uQY&$nsg^1d)}#GT(Jio26^< zq5Y(QafLPPMit9m9ZuPP)3S~>z8z8nW)jYt}Df6Qe^`m$XuN{6p0nJ z+(#1`_ZK)CyMdZcCo06#31OmAd`$%$h2{9U7K z0;s=p?8Fzp5Yz!VI96^NN{UngfwU<)I$xNX0~rIo*J42yaEW15`bP%mH5DUDWF1XP zw6bXoh|Jg);bry<);L;eKGE*@#FvS9S7WudXy3qOsT82+$+X$PJbW8ziApE;pVUA6 zx0!I!o$K2Pj*Q5dU^h5E5GRMyC7yOv8BUL%m*QdS8co+`9^$y9s8a7a!?6&gDJmEs zNy2O1h0F=t_oE3&3VFPfo(Qbb44ypOtDqX{)6TR787-xUB$P*hZW!x~RqHuJd3avE znC->Nq8%qS2km+sJ^0{Wzj`}N2pJapgoQ3y^x62qb^0ka+hO+JE)tS@JmS=foSSqXh+{D-Qu;4-wDl>G`)`bgeB;W4UbEep4sM|WWehN<+h(l$hnalk>%FA_ zj$et5K_UkaCRAeR*&7q~v!cB|L(jgUoCYI`u8=j;JL2C5BY$*e6`OvBe)Cgc^_G0j z917s@UzNCZVqX{PWG#`$&9FZf;WAqqPtPv(7*lQbN2;zG`M@Cv5>;eGhdAZ6VL~!u z>9DUPpxzA_(x~2Iv>G2`=@s#YjkQH+PUP`DMG&U8-xZpWcCZI*NFN-gkP}xw+6vO5 z%u;-*q_}Ab;k^pj-V0Rzb<0?N9k0NEsEjb5>PoAU8tL;@uUpu|r5i!)PG+Abqj(;* zTn$Mash{Lo<^v&Lw`n{LtPhjjL!xH80W7+0N&uKxzIXd_u*P;#+kZx_Si4zL)>ozr z@S5X>#>1q%r)4dc~4uyhl?{~0NH0VL{Y=;l|k^}M~BC#~8E+kJ1;r6MUI zgK^MvW>_KCbTWw4d-(kO$>DlgiR@Vw;gZ~R%n3ZutF^(?XvZR$$FsN$}YL(dCk=%QWa9% zppVaJbLI$n+MjOzZjfzW)FDx^6H@4y{cq58s#X%_z(qul_5 zr(KkG)4C3piY0oc2v~&c23I z&1x7WVl9F}4X0L$iPcaCW|@jviNw~P_#a2<>>^yog@)MWE{8>jqL^<}@rCU_ zmwP5X9&mpVui(*dHGp|$m3v91ycgCzyLwDmk!U~?`jpZ*9x-crlCWcL29atR2vmr8 z9)!2+b5%2<-UnFBw_X^sm)~2Z(DEm|Ut^$u(Jc2*gUZpy3QK%%YE^`kUs`p0Hn;p% zW@8n;Cw^;{7TwLGymO*nMoVv>-8pzOHymd~wMkvE6tH+>d=?dCspwMbO${s@%2=W( z1qnXQ#|crR=3k`6lkuQE@chcUzj50qR2mAK-Q1cV5xyP|$t1;v&mTHnGSUChVNv$e zk}(_sd0~Swt8=%#A_l7|q+r_j3_l5;Mo9oY>Zl!X$jdU+Ps?{bvH-hZLCq!4V0W9I zMIFxlxxz3OtAU4>QD3ics!F@KQtYctS7}i62V43sM}?u!J|r3Wgr&Gf3*uweQr^Uw zjXTWEHtfr!PC=UT!03cSCo`7CX6#0A;Y?+x2K)U3_gD2O)g`@j*6FCNPIG=*@ni)` zWFlnO->kD9gGRZDdBFw-Pf@5lPkw2IXKZ8B&&p~qEJJ;?tr#t~=0s5T@`GGj6ExZ6@JRSWuj5V|fwKtJv|nBDcxJBq{s zbL=)a{_B@<3r$~^&vl*xCZh{dL#l9K%b^T69FdAH{)SIWp>Xhrhi_&Mh@bG_mJtSFMc9kX zZ7Isv4NV)i`e(ZhU+!z+!l9&s-V%Zk;=r~D2*-yOoq#u624 z)_Ldva*-hz%!o zk80ZY(G6dX(5WsAW|J5`2n}|xi0S(1F1ed)&Rq{NIFTihSH&2v=rG*O&1L!^V^nle zk46J$UUNax$|pu#@fVn@PJLALQJ|ybm__lH`|US*cg`Xdi> zZ|EicwSn+S$P`qHCgCaMD|g?(?pQ>=f0dDF7S!CkXk@Kh!CRe`$6w%V1qWkOPfl8u zm_0`1+R|(}PM@}qSGj^e^`z@br!*^(w-D=>wkH2<1KH!-XCu24c$I!5o|%;}K|^+}>% z9YH!!0OyMb4DG=vWNESJcP~4$GQ!x2328F_*~7fLS?{h#>5MP3xHLi&>;&Ioa1SL` z-DqK7IAzjl*m`BXVpxUZ{?&_r2qy3UHC+OM{{h@o zbh0;fHF={J(>j=%tD0%P(T>?zm;h{a$jl;d*kTv^w8 z>m_@#4<#D18Q&boq9X8Vg0W=Ro5Cq$Wxh0FemoA|4%vWAQ$S_$zpE4Ln6%ZhqT9W$ zYJHeHAMtX?DJqg14S>h@KkT0Qw7_pL58Dmu$7_|{RJutV^HD94Y{&f|B>ln>wM*(X z?8q%nvE_c6^$K_}wXpa&piK3V*a!qW=h@IyO`U0U6bT5_d8{?PG@q```(dKE+X)A6 zf{UT&|1M6TDEd_Z!$R8Xh5;#{D;(L3fe=$d98j9jVQIUZ2FQQJn@>RJ40*tK2Ip`mnaBxM3dAT;n$l)!d4@sA^Ra#6{&RV0#(LB+ zOV2yFFC{XOQDqIe>Y4h?Ia5hLDhKMot}#EwB^vzDn@UHzl?1)?iy_?c?M0wZ8sA)% z$Z(9>hY7jZ*QUx99^EtlobGdfig?cI(7JiK$c^(nH7$Vd^?ZutT}al_&lXSgh@?t9 zxVpHw8T-7jdK#GtYA1}U8N>R@ab9Xz10-p#wd*<$AcX747wd;lcKL%E37_qnhMkjj zeo`Q({`Vmjc6$CDgbAH#)FY8Gvf+R&CV||TfIO$ zmwv;0%!|@2DvH+M^+=EDHvQ}M^WqN}X3KJ%TB3$K6&vGT!zy=rVVi!dS z^6R-EE5TEh41N9>zmiI8m~W}owR~P$28CD;P)Ev`dm){kVWqm_9#@lfQ}Ne7Wqgs9 zbU$LHc#6^U@jQru+(V^%i&oZBPg0XK5ek~BPBsPF$I$4LR((&t1LQA$6h;^VFV^WR z{V^&L))LH`nfAN)Wrv)Q4SFiPIfMKQ6Vu-Aub>gBqYjD{@+91R{0n1o|FBb%12KA-%a

    noch letzte Hand zur Korrektur ansetzen. +% +%% UMGANG MIT FEHLERMELDUNGEN +%% Noch nicht alle ueberfluessigen Fehlermeldungen des Original-style sind +%% ausgemerzt. Die meisten Warnmeldungen beruhen auf +%% den andersartigen bibliographischen Regeln nach DIN 1505 und dem damit +%% verbundenen Ermessensspielraum, sind also in Wahrheit keine "Fehler". +%% Dennoch sollten Sie diese Warnungen beachten, um heraus zu finden, ob +%% evtl. eine unzulaessige Kombination von Publikationstyp (=entry-type) und +%% "fields" vorgenommen worden ist. Das fuehrt mitunter zu Wasserfallartigen +%% Fehlermeldungen: meistens duerfen Sie das einfach ignorieren. +%% +%% DANKSAGUNG +%% Hartmut Lueddecke, FH Hamburg habe ich fuer viele Verbesserungsvorschlaege +%% und stete Unterstuetzung zu danken. Vielen an dieser Stelle ungenannt +%% bleibenden Anwendern gilt mein Dank, die in den vergangenen Jahren durch +%% ihre Aufmerksamkeit dazu beigetragen haben, Fehler auszumerzen und +%% Verbesserungen vorzunehmen. +%% +%% HINWEIS: es gibt eine Kombination von ALPHADIN.BST mit dem NATBIB-Stil +%% von Patrick W.Daly), womit Literaturverzeichnisse komplett nach +%% DIN 1505 Teil 2 UND Teil 3 formatiert werden koennen. Naeheres +%% per URL http://www.fh-hamburg.de/pers/Lorenzen/bibtex/ +%% +%% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +%% Eine ausfuehrliches Internet-Tutorial mit Beispielen ist in Vorbereitung. +%% Fuer den Anfang ist diese Datei schon etwas kommentiert! +%% Kritik, Vorschlaege usw. bitte an : +%% FH Hamburg, Klaus F. Lorenzen, Grindelhof 30, 20146 Hamburg +%% e-mail: lorenzen.marxen@t-online.de +%% 16/6/99 +%% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +% 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 +% bstdin.doc, 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'. +%% KFL, 15/1/96 +%% + +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) + edition %% Auflagevermerk + 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. + 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 + volume %% a) Zaehlung bei einem mehrbaendigen Werk (-> book) +% %% b) Jahrgang einer Zeitschrift (-> article + year %% Erscheinungsjahr + } + {} + { label extra.label sort.label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +%% die folg. BOOLE'sche VAR steuern d. Ausg. ": " nach Urheber-Feldern +%% und ". - " vor ISBN oder Anmerkungen (NOTE) + +INTEGERS { colon.after period.dash } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := + #4 'colon.after := + #5 'period.dash := +} +INTEGERS { zahl lang } + +STRINGS { h s t u v } + +%% neue DIN-Funktion, 16/2/94 + +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$ } + { write$ + newline$ + "\newblock " write$ + } + 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 {output.bibitem} +{ newline$ + "\bibitem[" write$ + label write$ + "]{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {fin.entry} %%$$$ nach DIN neu 16/2/94 +{ write$ + newline$ +} + +FUNCTION {set.period.dash} %% Wenn ein ". - " die Satzteile trennen soll.! +{ output.state before.all = + 'skip$ + { period.dash 'output.state := } + if$ +} + +%% neu 16/2/94 +%% prueft, ob PAGES, ISBN- oder NOTE-Feld vh. ist und setzt dann ". - " davor. + +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$ +} + +%% neu / alt 17/2/94 Wenn ein " " die Satzteile trennen soll.! +FUNCTION {new.sentence} +{ output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ +} + +%% neu 17/2/94 Wenn ein ", " die Satzteile trennen soll.! +FUNCTION { part.of.sentence } +{ output.state before.all = + 'skip$ + { mid.sentence 'output.state := } + if$ +} + + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +INTEGERS { nameptr namesleft numnames } + +STRINGS { fkt } + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} + +%% neu, setzt Autor/Hrsg. in Kapitaelchen 9/3/94 +FUNCTION { capitalize } + { duplicate$ empty$ + { pop$ "" } + { "\textsc{" swap$ * "}" * } + if$ +} + +%%$$$ DIN-Quellenangabe : spezieller unselbst. Teil ist erschienen "In: " +%% dem bibliogr. selbst. Werk, z.B. Zeitschrift, Buch + +%% 1/4/96 +FUNCTION {article.in.journal} +{ duplicate$ empty$ + { pop$ "" } + { author missing$ + { title missing$ + { emphasize " " * * }%% wenn ein Zs-Heft als ganzes zitiert wird + { emphasize "{In: }" swap$ " " * * } + if$ + } + { emphasize "{In: }" swap$ " " * * } + if$ + } + if$ +} + +%% nach Vorschlag von H.Lueddecke, um Adelspraedikate beim Sortieren +%% nach den(m) Vornamen aufzufuehren. Lo, 2/11/94 +FUNCTION {format.names} +{ 's := + "" 'u := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { + %vorher, Lue s nameptr "{vv~}{ll}" format.name$ 't := + s nameptr "{ll}" format.name$ 't := + t capitalize 't := + %vorher,Lue s nameptr "{, ff}" format.name$ 'u := + s nameptr "{, ff}{ vv}" 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$ * "." * 'v := } + 'skip$ + if$ + zahl #1 + 'zahl := } + while$ + v "" = + { u 'v := } + 'skip$ + if$ +%% der string fkt enthaelt " (Hrsg.)", wenn Editorfeld nicht leer ist + t v * fkt * 't := %% Komma nach Nachnamen wird oben erledigt! + %% t enthaelt nun d. formatierten Nnamen, Vnamen + nameptr #1 > + { namesleft #1 > + { " ; " * t * } + { numnames #2 > + { " " * } + 'skip$ + if$ +%% %% n. schindle's hinweis 12/1/96 erweitert + t "\textsc{others}" = t "\textsc{others} (Hrsg.)" = or + { " [u.~a.]" * }%% 13/2/94 +%%%% { "et~al." * } %% Geschmackssache, waehle eins von beiden + { " ; " * t * } + if$ + } + if$ %% Ende der namesleft-Pruefung + } + 't + %% hierdurch wird bei jed. Schleifendurchgang das sich komplet- + %% tierende Zwischen-Namensergebnis wieder auf den stack gelegt + + if$ %% Ende der nameptr-Pruefung + + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ %% Ende von { namesleft #0 > } ganz oben + "" 'fkt := %% fkt wird zurueckgesetzt +} + +%%$$$ geaendert 14/2/94 + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names } + if$ +} + +%%$$$ geaend. 20/2/94 Anpassung an DIN, wonach Autor + Hrsg. zusammen vorkom- +%% men duerfen.!! + +FUNCTION {format.editors} +{ editor empty$ + { author empty$ + { "Weder Verfasser noch Hrsg. in " cite$ * warning$ } + 'skip$ + if$ + } + { author empty$ + { " (Hrsg.)" 'fkt := + editor format.names + } + { " (Hrsg.)" 'fkt := + " ; " * editor format.names * + } + if$ + } + if$ + } + +%% Lo, 12/5/99 neue Funktion fuer proceedings, misc usw. + +FUNCTION { format.editors.organization } +{ organization empty$ + 'skip$ + { type$ "misc" = + { organization } + { " ; " * organization " (Veranst.)" *} + if$ + } + if$ +} + +%%$$$ Sonderfall: Herausgeber bei Typ incollection, 21/2/94 +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 {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$ +} + +%% geaendert 24/2/94 +FUNCTION {format.date} +{ year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + month + } + if$ + } + { month empty$ %% b. Buechern nur Jahr, ohne Monat ausgeb. im Impressum + 'year + { month " " * year * } + if$ + } + if$ +} + +%% +%%$$$ neue Fkt., 16/2/94 u. 14/3/94 das sog. Impressum +FUNCTION {format.address.publisher.year} +{ publisher empty$ + { address empty$ + { year empty$ + { "" } + { year } + if$ + } + { "Es gibt einen Verlagsort, aber keinen Verlag in " cite$ * warning$ + address ", " * format.date * + } + if$ + } + { address empty$ + { year empty$ + { "Es gibt nur eine Verlagsangabe in " cite$ * warning$ + publisher + } + { publisher ", " * format.date * } + if$ + } + { year empty$ + { address " : " * publisher * } + { address " : " * publisher * ", " * format.date * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.btitle} +{ title emphasize +} + + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +%% neu 8/3/94 in dieser Funkt. steckt im volume empty-Teil noch ein bug, der +%% aber ignoriert werden kann; das Ergebnis ist ok. +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 +} + +%%$$$ neu 16/2/94 +%% Serien- / Reihentitel werden im Feld series gespeichert. Weist die +%% Serie eine Zaehlung der Einzeltitel auf, gibt man entweder nach DIN alles +%% in das Feld series so ein: ---> TITEL DER SERIE NR. (der Vorlage) <--- +%% z. B. SERIES= { Mensch und Computer 12 }. +%% [ Die Nummer der Vorlage darf auch durch " ; " abgesetzt werden. ] +%% oder: +%% man gibt die Zaehlung in das Feld NUMBER ein, z.B. NUMBER = {12}. +%% Achtung!! +%% Bei mehrbaendigen Werken steht d. Gesamttitel im Feld SERIES und die +%% Bandzaehlung im Feld VOLUME; NUMBER darf dann nicht besetzt sein! +%% Anderenfalls liegt ein Erfassungsfehler vor, da sich Reihe u. mehrbd. +%% Werk gegenseitig ausschliessen. + +FUNCTION {format.series.number.din} +{ volume empty$ + { number empty$ + { series empty$ + { "" }%% Ausstieg mit Nullstring + { "(" series * ")" * } %% d. Seriennr koennte auch gleich hier + %% im SERIES-Feld miterfasst werden + if$ + } + { series empty$ + { "(" number tie.or.space.connect ")" * + "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. ! + { 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$ +} + +%% seltener Fall bei MISC: Ausgabe einer Serie; die Nummer der Serie muss +%% in SERIES miterfasst werden 16/6/99 + +FUNCTION {format.misc.series} +{ series empty$ + { "" } + { "(" series * ")" * } + if$ +} + + +%%$$$ 16/2/94 +%% 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$ +} + +%%$$$ neu, 18/3/94 +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$ +} + +%%$$$ geaendert, 21/2/94 gibt Seitenzahl bei BOOK-Typ und verwandten T. aus +FUNCTION {format.pages.book} +{ pages empty$ + { "" } + { "" pages n.dashify tie.or.space.connect " S" *} %% 17/12/95 + if$ +} + +%%$$$ alle anderen Seitenang. zB. Zeitschrft., INBOOK usw. a la Orig., 9/3/94 +FUNCTION {format.pages} +{ pages empty$ + { "" } + { "S." pages n.dashify tie.or.space.connect } + if$ +} + +%% Angaben v. Jahrgang, Jahr, Heftnr., Seiten bei Artikel-Typ +%% 14/3/94, 26/2/97 + +FUNCTION {format.vol.year.num.pages} +{ volume field.or.null + year empty$ + { "Es gibt einen Jahrgang, aber kein Jahr in " cite$ * warning$ } + { " (" year * ")" * * } + if$ + month empty$ + 'skip$ + { ", " month * * } + if$ + number empty$ + 'skip$ + { ", Nr. " number * * } + if$ + pages empty$%% Lo, 26/2/97 + 'skip$ + { ", " format.pages * *}%% + if$ + +%% pages empty$%% das war die Fass. Nov. 96, die auch ging +%% 'skip$ +%% { duplicate$ empty$ +%% { pop$ format.pages }%% da pages leer, wird nur "" auf stack gelegt +%% { ", " format.pages * *} +%% if$ +%% } +%% if$ + +} + +%% geaendert 21/2/94 +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "Kapitel " } + { type } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +%%$$$ geaendert 21/2/94 +FUNCTION {format.in.ed.booktitle.din} +{ booktitle empty$ + { "" } + { editor empty$ + { volume empty$ + { "{In: }" booktitle emphasize * }%% n. Belieben fettes In: + { "{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$ +} + +%% geaendert 1/3/94 +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type + } + if$ +} + +%% geaendert 23/2/94 i.Orig. wird zuerst die number, dann der type getestet +FUNCTION {format.tr.number.din} +{ type empty$ + { number empty$ + { " -- Forschungsbericht" } %% bei Minimalangaben besser ohne "."! + { "(" number tie.or.space.connect "). -- Forschungsbericht" * } + if$ + } + { number empty$ + { " -- " type * } %% bei Minimalangaben besser ohne "."! + { "(" number tie.or.space.connect "). -- " * type * } + if$ + } + if$ +} + + +FUNCTION {format.article.crossref} +{ key empty$ + { journal empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" + } + { "{In: }{\em " journal * "\/}" * }%% + if$ + } + { "{In: }" key * }%% + if$ + "{\cite{" * crossref * "}" * "}" * ", " * format.pages * +%% " (siehe \cite{" * crossref * "}" * "), " * format.pages * +} + +%%geaendert 7/3/94 und noch einmal nach Lueddecke, s.o. +FUNCTION {format.crossref.editor} +%vorher,Lue { editor #1 "{vv~}{ll}" format.name$ " (Hrsg.)" * + { editor #1 "{ll}" format.name$ " (Hrsg.)" * + editor num.names$ duplicate$ + #2 > + { pop$ " [u.~a.]" * } +%% { pop$ " et~al." * } + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " [u.~a.]" } +%% { " et~al." * } + { " ; " * editor #2 "{vv~}{ll}" format.name$ * " (Hrsg.)" * } + if$ + } + if$ + } + if$ +} + + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "{\texttt{siehe}} " +%% "(siehe " + } + { ". -- Bd." volume tie.or.space.connect + " von " * + } + 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$ + "" * + } + { "" * }%% dadurch kommt nach der Bandzaehl. gleich das label 2/6/99 +%% { "{\emph{" * series * "}} {\texttt{siehe}}" * } + if$ + } + { key * } + if$ + } + { "" * }%% nach der Bandzaehlung kommt gleich das label; Lo 2/6/99 +%% { format.crossref.editor * } + if$ + "{\cite{" * crossref * "}" * "}" * +%% "{\cite{" * crossref * "}" * "}" * %%"), " * format.pages * +} + +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 * "}" * }%% fettes In: n. Belieben + if$ + } + { "{In: }" }%% 26/5/99 +%% { "{In: }" key * } + if$ + } +%% { "{In: }{\em " booktitle * "\/}" * }%% + { "{In: }" }%% Lo, 10/2/99 es sieht der reine Bezug (Referenz) besser aus! + if$ +%% " (siehe \cite{" * crossref * "}" * "), " * format.pages * + "{\cite{" * crossref * "}" * "}" * ", " * format.pages *%% das fette label, Lo 23/2/99 +%% alte Vers. bis 27/2/97 " (siehe \cite{" * crossref * "}" * ")" * +} + +%%geaendert +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 % 26/2/97 + new.sentence + format.vol.year.num.pages output + } + { format.article.crossref output.nonnull } + if$ + note set.period.dash.check + note output + issn set.period.dash.check + format.isbn.issn output + fin.entry +} + +%%$$$ geaendert, 20/2/94 +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 "edition" output.check + format.address.publisher.year "publisher" output.check + new.sentence + crossref missing$ + { format.series.number.din output + pages set.period.dash.check%% 19/5/99 wie bei adinat.bst + format.pages.book output + } + { format.book.crossref output.nonnull + pages set.period.dash.check + format.pages.book output + } + if$ + note set.period.dash.check + note output + isbn set.period.dash.check + format.isbn.issn output + fin.entry +} + +%% geaendert 23/2/94 +FUNCTION {inbook} +{ output.bibitem +%% unselbst. Teile eines Buches werden am Anf. genannt, dann d selbst. Quelle + chapter empty$ + { "Es fehlen die Kapitelangaben in " cite$ * warning$ } + { type empty$ + { "Kap. " }%% d.i. die Standardvorgabe + { type }%% wenn man keine bes. Typform angeben will, koennte ein kl. +%% Zwischenraum gewaehlt werden, z.B. " \, " + if$ + chapter tie.or.space.connect " {In: }" * *%% n. Belieben fettes "In:" + %% diese Plazierung und der 2. * stammt v. N. Zacharias, Oldenburg, Juli 2000 + } + if$ + +%% -------- jetzt kommt der bibliogr. selbst. Teil + author empty$ + { format.editors "author and editor" output.check } + { format.authors output.nonnull + } + if$ + set.colon.after + format.btitle.vol "title" output.check + crossref missing$ + { format.edition output + format.address.publisher.year "publisher" output.check + new.sentence + format.series.number.din output + part.of.sentence + format.pages "pages" output.check + note set.period.dash.check + note output + } + { format.book.crossref output.nonnull + note set.period.dash.check + note output + } + if$ + isbn set.period.dash.check + format.isbn.issn output + fin.entry +} + +%% geaenderte Seitenzahlausgabe, wenn crossref-Feld benutzt wird, 27/2/97 +FUNCTION {incollection} +{ 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 + format.edition output + format.address.publisher.year "publisher" output.check + new.sentence + format.series.number.din output + note set.period.dash.check + note output + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + part.of.sentence + format.chapter.pages "pages" output.check + } + { format.incoll.inproc.crossref output.nonnull + note set.period.dash.check + note output + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + } + if$ + fin.entry +} + +%% geaendert 22/2/94, 15/11/96 (Hinweis v. Alin Shindun, Uni Siegen) +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$ %%neu nach Hinweis v. Alin Shindun, 15/11/96 + 'skip$ + { format.series.number.din output } + if$ + note set.period.dash.check + note output + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + part.of.sentence + format.pages output + } + { format.incoll.inproc.crossref output.nonnull + note set.period.dash.check + note output + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + } + if$ + fin.entry +} + +FUNCTION {conference} { inproceedings }%% nach Patashnik, wg US-Kompatibilitaet + +%% geaendert, 11/6/99 +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization empty$ + { title empty$ + 'skip$ + {format.btitle "title" output.check } + if$ + } + { organization output.nonnull + set.colon.after + format.btitle "title" output.check + } + if$ + } + { format.authors output.nonnull + set.colon.after + format.btitle "title" output.check + } + if$ + format.edition "edition" output.check + author empty$ + { organization empty$ + { address output + part.of.sentence + } + 'skip$ + if$ + } + { address ": " * organization * output + part.of.sentence + } + if$ + format.date output + pages set.period.dash.check + format.pages.book output + note set.period.dash.check + note output + fin.entry +} + +%% MASTERSTHESIS KFL, 17/2/94 +%% Ausgabe-Standard ist "Diplomarbeit", fuer andere Abschlussarbeiten +%% bei der Erfassung TYPE="anderer Typ" eingeben. +%% z.B. TYPE={Dissertation}, 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.type output.nonnull + part.of.sentence + format.date "year" output.check +%% pages new.sentence.checka + pages set.period.dash.check + format.pages.book output + 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.type output.nonnull % koennte auch `Dissertation' sein + part.of.sentence + format.date "year" output.check + pages set.period.dash.check + format.pages.book output + note set.period.dash.check + note output + fin.entry +} + + +%% hiermit werden u.a. Normen erfasst +FUNCTION {misc} +{ output.bibitem + note empty$ + { title empty$ + { "" } + { format.authors format.editors output.nonnull + format.btitle output + howpublished output + format.date output + } + if$ + } + { note duplicate$ #1 #4 substring$ "Norm" = + { output new.sentence + format.date output + format.title output + } + { pop$ "" + 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 + howpublished output + format.date output + new.sentence + format.misc.series output%% neu 16/6/99 + note set.period.dash.check + note output + } + if$ + } + if$ + fin.entry +} + +FUNCTION {booklet} {misc}%% booklet ist nach dt. Vorgehensweise oft ueberfluessig + +%% geaendert 21/5/99 +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization empty$ + { "" } + { organization " (Veranst.)" * output } + if$ + } + { format.editors format.editors.organization output.nonnull } + if$ + set.colon.after + format.btitle "title" output.check + volume empty$ + { "" output.nonnull } + { "{\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 set.period.dash.check + format.pages.book output + note set.period.dash.check + note output + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + fin.entry +} + +%% geaendert 23/2/94 auch fuer Firmenschriften u."a. zu benutzen +FUNCTION {techreport} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors format.editors output.nonnull } + if$ + set.colon.after + format.title "title" output.check + institution new.sentence.checka + institution empty$ + 'skip$ + { " / " institution * output.nonnull } + if$ + format.address.publisher.year output + number new.sentence.checka + format.tr.number.din "number" output.check +%% new.sentence + pages set.period.dash.check + format.pages.book output + note "note" output.check + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + fin.entry +} + + +FUNCTION {unpublished} {misc}%% author, title, note muessen sein! howpublished +%% %% entfaellt natuerlich +FUNCTION {default.type} { misc } + +MACRO {jan} {"Januar"} + +MACRO {feb} {"Februar"} + +MACRO {mar} {"M{\^^b a}rz"} +%% nach Bernd Raichle, Febr. 1999 + +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 fr den Gebrauch von Krzeln (hier Zs-Titel). + +%%MACRO {acmcs} {"ACM Computing Surveys"} + +%%MACRO {acta} {"Acta Informatica"} + +%%MACRO {cacm} {"Communications of the ACM"} + +%%MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +%%MACRO {ibmsj} {"IBM Systems Journal"} + +%%MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +%%MACRO {ieeetc} {"IEEE Transactions on Computers"} + +%%MACRO {ieeetcad} +%% {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +%%MACRO {ipl} {"Information Processing Letters"} + +%%MACRO {jacm} {"Journal of the ACM"} + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +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 "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := +% +% Zeile geaendert, damit die Namenszusaetze wie "von", "de" usw nach deutscher +% Norm richtig einsortiert werden. 27.10.94 Lueddecke +% + s nameptr "{ll{ }}{ ff{ }}{ vv{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "others" = and + { "et al" * } + { 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 + +STRINGS { longest.label } + +INTEGERS { number.label longest.label.width } + +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$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} + +%% Ende von PLAINDIN.BST KFL, 10/10/00 \ No newline at end of file diff --git a/bericht/zihpub.cls b/bericht/zihpub.cls new file mode 100644 index 0000000..777564d --- /dev/null +++ b/bericht/zihpub.cls @@ -0,0 +1,1248 @@ +%% +%% ZIH Style-File fuer ZIH Publikationen +%% +%% Autor: Guido Juckeland (guido.juckeland@tu-dresden.de) +%% Datum: Aug 14, 2012 +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{zihpub} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Load packages + +% Font-Codierung setzen +\RequirePackage[T1]{fontenc} + +% Schriftart setzen +\RequirePackage{times} + +% Bilder einbinden +\RequirePackage{graphicx} + +% URL's zulassen +\RequirePackage{url} + +% schoene Listings +\RequirePackage{fancyvrb} + +% Mathe-krempel laden +\RequirePackage{amsmath} +\RequirePackage{amsfonts} +\RequirePackage{amssymb} + +% farbe fuer correctme +\RequirePackage{color} + +% enumerates mit benutzerdefinierten labels +\RequirePackage{enumerate} + +% besseres 1.5 zeilig +\RequirePackage{setspace} + +% Sprachwechsel Deutsch-Englisch +\RequirePackage[ngerman,american]{babel} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Provide Options + +% Proseminar-Vorlage +\newif\if@proseminar +\@proseminarfalse +\DeclareOption{proseminar}{% + \@proseminartrue +} + +% Hauptseminar-Vorlage +\newif\if@hauptseminar +\@hauptseminarfalse +\DeclareOption{hauptseminar}{% + \@hauptseminartrue +} + +% Seminar Mathematik Vorlage +\newif\if@mathseminar +\@mathseminarfalse +\DeclareOption{mathseminar}{% + \@mathseminartrue +} + +% Grosser Beleg-Vorlage +\newif\if@beleg +\@belegfalse +\DeclareOption{beleg}{% + \@belegtrue +} + +% Diplom Inf-Vorlage +\newif\if@diplominf +\@diplominffalse +\DeclareOption{diplominf}{% + \@diplominftrue +} + +% Bachelor Inf-Vorlage +\newif\if@bachinf +\@bachinffalse +\DeclareOption{bachinf}{% + \@bachinftrue +} + +% Master Inf-Vorlage +\newif\if@mastinf +\@mastinffalse +\DeclareOption{mastinf}{% + \@mastinftrue +} + +% Diplom IST-Vorlage +\newif\if@diplomist +\@diplomistfalse +\DeclareOption{diplomist}{% + \@diplomisttrue +} + +% Diplom TechMath-Vorlage +\newif\if@diplomtmath +\@diplomtmathfalse +\DeclareOption{diplomtmath}{% + \@diplomtmathtrue +} + +% Diss rer nat +\newif\if@dissrernat +\@dissrernatfalse +\DeclareOption{dissrernat}{% + \@dissrernattrue +} + +% Diss ing +\newif\if@dissing +\@dissingfalse +\DeclareOption{dissing}{% + \@dissingtrue +} + +% keine Aufgabenstellung +\newif\if@kurz +\@kurzfalse +\DeclareOption{kurz}{% + \@kurztrue% +}% + +% fuer die Frauen das "in" am Titel +\newif\if@female +\@femalefalse +\DeclareOption{female}{% + \@femaletrue +} + +% plain-vorlage article +\newif\if@plainarticle +\@plainarticlefalse +\DeclareOption{plainarticle}{% + \@plainarticletrue +} + +% plain-vorlage article +\newif\if@plainreport +\@plainreportfalse +\DeclareOption{plainreport}{% + \@plainreporttrue +} + +% ZIH auf Titelseite nicht RA +\newif\if@zihtitle +\@zihtitlefalse +\DeclareOption{zihtitle}{% + \@zihtitletrue +} + +% References numbered not alpha +\newif\if@bibnum +\@bibnumfalse +\DeclareOption{bibnum}{\@bibnumtrue} + +% Abbildungsverzeichnis +\newif\if@lof +\@loffalse +\DeclareOption{lof}{\@loftrue} + +% Tabellenverzeichnis +\newif\if@lot +\@lotfalse +\DeclareOption{lot}{\@lottrue} + + +% Hyperref +\newif\if@hyperref +\@hyperreffalse +\DeclareOption{hyperref}{% + \@hyperreftrue +} + +% Nomenclature +\newif\if@nomencl +\@nomenclfalse +\DeclareOption{nomencl}{% + \@nomencltrue +} + +%utf8-Zeichenkodierung +\newif\if@utf +\@utffalse +\DeclareOption{utf8}{ + \@utftrue +} + + +%german-Option verarbeiten +\newif\if@german +\@germanfalse +\DeclareOption{german}{% + \@germantrue% +}% + +% formatierung fuer zih-report +\newif\if@final +\@finalfalse +\DeclareOption{final}{% + \@finaltrue% +}% + +% kein Inhaltsverzeichnis +\newif\if@notoc +\@notocfalse +\DeclareOption{notoc}{% + \@notoctrue% +}% + +% keine Aufgabenstellung +\newif\if@noproblem +\@noproblemfalse +\DeclareOption{noproblem}{% + \@noproblemtrue% +}% + +% zweiseitig wenn nicht 'final' +\newif\if@twoside +\@twosidefalse +\DeclareOption{twoside}{% + \@twosidetrue% +}% +\ProcessOptions + + +% jetzt ``vergewaltigen'' wir ein paar variablen fuer eigene zwecke +\newcommand\matno[1]{\def\@matno{#1}} +\newcommand\betreuer[1]{\def\@betreuer{#1}} +\newcommand\hsl[1]{\def\@hsl{#1}} +\newcommand\copyrighterklaerung[1]{\def\@copyrighterklaerung{#1}} +\newcommand\bibfiles[1]{\def\@bibfiles{#1}} +\newcommand\gutachter[1]{\def\@gutachter{#1}} +\newcommand\birthday[1]{\def\@birthdate{#1}} +\newcommand\placeofbirth[1]{\def\@birthplace{#1}} +\newcommand\acknowledgments[1]{\def\@acknowledgments{#1}} + +%\newif\if@isreport \@isreportfalse \DeclareOption{isreport}{\@isreporttrue} +\def\@acknowledgments{} +\def\@isreport{} +\def\@isplain{} +\def\@isdiploma{} +\def\@isdiss{} +\def\@bibfiles{} +\def\@copyrighterklaerung{} +\def\@abstractde{} +\def\@abstracten{} +\def\@hsl{} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% set document type + +\if@beleg + \def\@isreport{1} +\fi +\if@diplominf + \def\@isreport{1} + \def\@isdiploma{1} +\fi +\if@mastinf + \def\@isreport{1} + \def\@isdiploma{1} +\fi +\if@bachinf + \def\@isreport{1} + \def\@isdiploma{1} +\fi +\if@diplomist + \def\@isreport{1} + \def\@isdiploma{1} +\fi +\if@diplomtmath + \def\@isreport{1} + \def\@isdiploma{1} +\fi +\if@dissrernat + \if@kurz + \else + \def\@isreport{1} + \fi + \def\@isdiss{1} +\fi +\if@dissing + \if@kurz + \else + \def\@isreport{1} + \fi + \def\@isdiss{1} +\fi +\if@plainreport + \def\@isreport{1} + \def\@isplain{1} +\fi +\if@plainarticle + \def\@isplain{1} +\fi + +\ifx\@empty\@isreport + \if@final + \LoadClass[cleardoublepage=empty, listof=totoc, bibliography=totoc, index=totoc, 11pt, abstracton, numbers=noenddot, twoside,titlepage,headings=normal]{scrartcl}% + \else + \if@twoside + \LoadClass[cleardoublepage=empty, listof=totoc, bibliography=totoc, index=totoc, 11pt, abstracton, numbers=noenddot, twoside,titlepage,headings=normal]{scrartcl}% + \else + \LoadClass[cleardoublepage=empty, listof=totoc, bibliography=totoc, index=totoc, 11pt, abstracton, numbers=noenddot, oneside,titlepage,headings=normal]{scrartcl}% + \fi + \fi +\else + \if@final + \LoadClass[cleardoublepage=empty, listof=totoc, bibliography=totoc, index=totoc, 11pt, abstracton, numbers=noenddot, twoside,titlepage,openright,headings=normal]{scrreprt}% + \else + \if@twoside + \LoadClass[cleardoublepage=empty, listof=totoc, bibliography=totoc, index=totoc, 11pt, abstracton, numbers=noenddot, twoside,titlepage,openright,headings=normal]{scrreprt}% + \else + \LoadClass[cleardoublepage=empty, listof=totoc, bibliography=totoc, index=totoc, 11pt, abstracton, numbers=noenddot, oneside,titlepage,openright,headings=normal]{scrreprt}% + \fi + \fi +\fi + +% deckblatttitel, je nachdem, was fuer ein dokument erstellt werden soll + +\newcommand{\titleheader}[0]{$\quad$} +\newcommand{\copyrightinfo}[0]{ } +\newcommand{\betreuerlabel}[0]{ } +\newcommand{\hsllabel}[0]{ } +\newcommand{\matnolabel}[0]{ } +\newcommand{\matnoclosing}[0]{ } +\newcommand{\birthstart}[0]{ } +\newcommand{\birthmiddle}[0]{ } +\newcommand{\birthclosing}[0]{ } + +\if@proseminar% +\renewcommand{\titleheader}[0]{Proseminar ``Rechnerarchitektur''} +\fi + +\if@hauptseminar% +\renewcommand{\titleheader}[0]{Hauptseminar\\ ``Rechnerarchitektur und Programmierung''} +\fi + +\if@mathseminar% +\renewcommand{\titleheader}[0]{Seminar ``Programmier- und Compilertechniken im +Wissenschaftlichen Hochleistungsrechnen''} +\fi + +\if@beleg% +\renewcommand{\titleheader}[0]{Gro{\ss}er Beleg} +\fi + +\if@female + \def\@female{in} +\else + \def\@female{} +\fi + +\ifx\@empty\@isdiploma +\else + \if@bachinf + \def\@doctype{Bachelor-Arbeit} + \else + \if@mastinf + \def\@doctype{Master-Arbeit} + \else + \def\@doctype{Diplomarbeit} + \fi + \fi +\fi + +\if@diplominf% +\renewcommand{\titleheader}[0]{Diplomarbeit \\[1cm]\large zur Erlangung des akademischen Grades\\ Diplom-Informatiker\@female} +\def\@faculty{Informatik} +\fi + +\if@bachinf% +\renewcommand{\titleheader}[0]{Bachelor-Arbeit \\[1cm]\large zur Erlangung des akademischen Grades\\ Bachelor of Science} +\def\@faculty{Informatik} +\fi + +\if@mastinf% +\renewcommand{\titleheader}[0]{Master-Arbeit \\[1cm]\large zur Erlangung des akademischen Grades\\ Master of Science} +\def\@faculty{Informatik} +\fi + +\if@diplomist% +\renewcommand{\titleheader}[0]{Diplomarbeit \\[1cm]\large zur Erlangung des akademischen Grades\\ Diplomingenieur\@female~f\"{u}r Informationssystemtechnik} +\def\@faculty{Elektrotechnik und Informationstechnik} +\fi + +\if@diplomtmath% +\renewcommand{\titleheader}[0]{Diplomarbeit \\[1cm]\large zur Erlangung des akademischen Grades\\ Diplom-Mathematiker\@female~(Technomathematik)} +\def\@faculty{Mathematik und Naturwissenschaften, Fachrichtung Mathematik} +\fi + + + +\if@dissrernat% +\if@kurz +\renewcommand{\titleheader}[0]{\begin{large}\textbf{Kurzfassung}\\[1cm]zur Erlangung des akademischen Grades Doktor rerum naturalium (Dr.\ rer.\ nat.)\end{large}} +\else +\renewcommand{\titleheader}[0]{\begin{large}\textbf{Dissertation}\\[1cm]zur Erlangung des akademischen Grades Doktor rerum naturalium (Dr.\ rer.\ nat.)\end{large}} +\fi +\def\@faculty{Informatik} +\fi + +\if@dissing% +\if@kurz +\renewcommand{\titleheader}[0]{\begin{large}\textbf{Kurzfassung}\\[1cm]zur Erlangung des akademischen Grades Doktoringenieur (Dr.-Ing.)\end{large}} +\else +\renewcommand{\titleheader}[0]{\begin{large}\textbf{Dissertation}\\[1cm]zur Erlangung des akademischen Grades Doktoringenieur (Dr.-Ing.)\end{large}} +\fi +\def\@faculty{Informatik} +\fi +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Set page-layout + +% Definition der Seitenraender +%\setlength{\hoffset}{-1in} +%\addtolength{\hoffset}{2cm} +%\setlength{\voffset}{-1in} +%\addtolength{\voffset}{2cm} +%\addtolength{\voffset}{-\baselineskip} +%\setlength{\topmargin}{0mm} +%\setlength{\headheight}{2.0\baselineskip} +%\setlength{\headsep}{\baselineskip} +\setlength{\textheight}{24.5cm} +\setlength{\textwidth}{16cm} +\setlength{\evensidemargin}{0mm} +\setlength{\oddsidemargin}{0mm} +%\setlength{\marginparsep}{0mm} +%\setlength{\marginparwidth}{0mm} +%\setlength{\marginparpush}{0mm} +%\setlength{\footskip}{\baselineskip} +\setlength{\parindent}{0mm} +%\setlength{\parskip}{2mm} +%\setlength{\partopsep}{0mm} +\renewcommand{\cleardoublepage}{\cleardoublestandardpage} +\def\@chapapp{} +% enhanced tables +\RequirePackage{tabularx} +\RequirePackage{longtable} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Option "german" bearbeiten + +%Neudeutsch laden +\if@german% +\RequirePackage{ngerman}% +\fi + +%Da man bei Neudeutsch ebenfalls Zitate in Altdeutsch haben wird, +%Wird das german-Paket auf jeden Fall benoetigt. +\if@german% + \RequirePackage{german}% + \def\@copyrightlabel{Erkl\"{a}rungen zum Urheberrecht} + \renewcommand\copyrightinfo[0]{% + \cleardoublepage + \ifx\@empty\@isreport + \section*{\@copyrightlabel} + \else + \chapter*{\@copyrightlabel} + \fi + \@copyrighterklaerung} + \ifx\@empty\@isplain + \renewcommand{\betreuerlabel}[0]{Betreuer: } + \renewcommand{\hsllabel}[0]{Hochschullehrer: } + \renewcommand{\matnolabel}[0]{(Mat.-Nr.: } + \renewcommand{\matnoclosing}[0]{)} + \renewcommand{\birthstart}[0]{(Geboren am } + \renewcommand{\birthmiddle}[0]{ in } + \renewcommand{\birthclosing}[0]{)} + \fi +\else + \def\@copyrightlabel{Copyright Information} + \renewcommand\copyrightinfo[0]{% + \cleardoublepage + \ifx\@empty\@isreport + \section*{\@copyrightlabel} + \else + \chapter*{\@copyrightlabel} + \fi + \@copyrighterklaerung} + \ifx\@empty\@isplain + \renewcommand{\betreuerlabel}[0]{Tutor: } + \renewcommand{\hsllabel}[0]{Professor: } + \renewcommand{\matnolabel}[0]{(Mat.-No.: } + \renewcommand{\matnoclosing}[0]{)} + \renewcommand{\birthstart}[0]{(Born } + \renewcommand{\birthmiddle}[0]{ in } + \renewcommand{\birthclosing}[0]{)} + \fi +\fi + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Format der Eingabedateien; Standard: latin1 +\if@utf +\RequirePackage[utf8]{inputenc} +\else +\RequirePackage[latin1]{inputenc} +\fi + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Hyperref laden, wenn gewuenscht +\if@hyperref +\RequirePackage{hyperref} +\fi + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Nomenclature laden +\if@nomencl + \if@german + \RequirePackage[german,intoc]{nomencl} + \else + \RequirePackage[intoc]{nomencl} + \fi + + % Randbreite definieren + \def\@nomenclmargin{3cm} + \newcommand\setnomenclmargin[1]{\def\@nomenclmargin{#1}} + + % index erstellen + \makenomenclature + +\fi +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Abstracts zusammenbauen +\newcommand{\abstractde}[1]{\def\@abstractde{#1}} +\newcommand{\abstracten}[1]{\def\@abstracten{#1}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Gliederung und Numerierung +\setcounter{secnumdepth}{3} +\setcounter{tocdepth}{3} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% kopfzeile auch bei chapters +\ifx\@empty\@isreport +\else +\renewcommand*{\chapterpagestyle}{fancy} +\fi + +% kopfzeile auch bei abstract +\let\@altab=\abstract +\let\end@altab=\endabstract +\renewenvironment{abstract}{% +\fancyfoot{} +\fancyhead{} +\if@final + \fancyhead[LE,RO]{\thepage} +\else + \if@twoside + \fancyhead[LE,RO]{\thepage} + \else + \fancyhead[R]{\thepage} + \fi +\fi +\begin{@altab}% +\thispagestyle{fancy}}{\end{@altab}% +\cleardoublepage +\ifx\@empty\@isreport + \if@final + \fancyhead[LO]{\@author} + \fancyhead[RE]{\@title} + \else + \if@twoside + \fancyhead[LO]{\@author} + \fancyhead[RE]{\@title} + \else + \fancyhead[L]{\@author -- \@title} + \fi + \fi +\else + \if@final + \fancyhead[LO]{\rightmark} + \fancyhead[RE]{\leftmark} + \else + \if@twoside + \fancyhead[LO]{\rightmark} + \fancyhead[RE]{\leftmark} + \else + \fancyhead[L]{\rightmark} + \fi + \fi +\fi} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Institution fuer Titelseite +\if@zihtitle + \if@german + \newcommand{\@institution}{ + \begin{center} + %Institution an der die Arbeit geschrieben wurde + \huge + \textsc{Technische Universit\"{a}t Dresden} + + \bigskip + \Large + \textsc{Zentrum f\"{u}r Informationsdienste\\ und Hochleistungsrechnen\\ + Prof. Dr. Wolfgang E. Nagel\\ + $\quad$\\ + $\quad$} + \end{center} + } + \else + \newcommand{\@institution}{ + \begin{center} + %Institution an der die Arbeit geschrieben wurde + \huge + \textsc{Technische Universit\"{a}t Dresden} + + \bigskip + \Large + \textsc{Center for Information Services\\ \& High Performance Computing\\ + Prof. Dr. Wolfgang E. Nagel\\ + $\quad$\\ + $\quad$} + \end{center} + } + \fi +\else + \if@mathseminar + % Seminare nur in Deutsch + \newcommand{\@institution}{ + \begin{center} + %Institution an der die Arbeit geschrieben wurde + \huge + \textsc{Technische Universit\{"a}t Dresden} + + \bigskip + \Large + \textsc{Fakult\"{a}t Mathematik und Naturwissenschaften\\ + Fachrichtung Mathematik\\ + Institut f\"{u}r Wissenschaftliches Rechnen\\ + Professur f\"{u}r Angewandte Diskrete Mathematik\\ + Prof. Dr. Wolfgang V. Walter} + \end{center} + } + \else + \if@german + \newcommand{\@institution}{ + \begin{center} + %Institution an der die Arbeit geschrieben wurde + \huge + \textsc{Technische Universit\"{a}t Dresden} + + \bigskip + \Large + \textsc{Fakult\"{a}t Informatik\\ + Institut f\"{u}r Technische Informatik\\ + Professur f\"{u}r Rechnerarchitektur\\ + Prof. Dr. Wolfgang E. Nagel} + \end{center} + } + \else + \newcommand{\@institution}{ + \begin{center} + %Institution an der die Arbeit geschrieben wurde + \huge + \textsc{Technische Universit\"{a}t Dresden} + + \bigskip + \Large + \textsc{Department of Computer Science\\ + Institute of Computer Engineering\\ + Chair of Computer Architecture\\ + Prof. Dr. Wolfgang E. Nagel} + \end{center} + } + \fi + \fi +\fi +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Style fuer Bibliography +\if@bibnum + \if@german + \bibliographystyle{plaindin} + \else + \bibliographystyle{plain} + \fi +\else + \if@german + \bibliographystyle{alphadin} + \else + \bibliographystyle{alpha} + \fi +\fi +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% List of tables/figures hinzu falls gewuenscht +\if@lof + \newcommand{\printlof}{\listoffigures} +\else + \newcommand{\printlof}{ } +\fi +\if@lot + \newcommand{\printlot}{\listoftables} +\else + \newcommand{\printlot}{ } +\fi + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% zeile unter dem autor zusammenstellen +\ifx\@empty\@isdiss + \ifx\@empty\@isdiploma + \ifx\@empty\@isplain + \def\@subauthor{\matnolabel\@matno\matnoclosing} + \else + \def\@subauthor{$\quad$} + \fi + \else + \def\@subauthor{\birthstart\@birthdate \birthmiddle\@birthplace\birthclosing} + \fi + \else + \def\@subauthor{geboren am \@birthdate in \@birthplace} +\fi + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Literatur-, Abbildungs- und Tabellenverzeichnis vor dem Anhang +\def\@haveapp{} +\let\@altapp=\appendix +\renewcommand{\appendix}[0]{\cleardoublestandardpage +\ifx\@empty\@bibfiles +\else + \bibliography{\@bibfiles} +\fi +\cleardoublestandardpage +\printlof +\cleardoublestandardpage +\printlot +\cleardoublestandardpage +\@altapp +\def\@haveapp{1} +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Kopfzeile +\RequirePackage{fancyhdr} + +% Automatische Generierung des Dokumentgrundgeruests +\ifx\@empty\@isdiss + \let\@altdoc=\document + \let\end@altdoc=\enddocument + \renewenvironment{document}{% + \begin{@altdoc}% + %\thispagestyle{empty} + %\pagestyle{empty} + \ifx\@empty\@isplain + \else + \def\@publishers{$\quad$} + \def\@subject{$\quad$} + \fi + \begin{titlepage} + \enlargethispage{1cm} + + \@institution + \vspace{2cm} + + \begin{center} + % Titel der Arbeit + \huge + \titleheader\\[1.5cm] + \huge + \@title + \vspace{2cm} + + % Zweck der Arbeit + \Large + {\Large \@author }\\\@subauthor\\[2cm] + + \end{center} + \vfill + + \begin{flushleft} + \Large + \ifx\@empty\@isplain + \ifx\@empty\@hsl + \hsllabel Prof. Dr. Wolfgang E. Nagel + \\ + \else + \hsllabel \@hsl + \\ + \fi + \betreuerlabel \@betreuer + \\[1cm] + \else + $\quad$\\[1cm] + \fi + Dresden, \@date\\[2cm] + \end{flushleft} + \end{titlepage} + \pagestyle{empty} + \cleardoublepage + + % Seitenstil festlegen + \fancyfoot{} + \fancyhead{} + \pagestyle{fancy} + \thispagestyle{fancy} + % Aufgabenstellung + \ifx\@empty\@isdiploma + \else + \if@noproblem + \else + \textbf{\Large Hier Aufgabenstellung einf\"{u}gen!} + \fi + \fi + \cleardoublestandardpage + %Selbst‰ndigkeitserklaerung + \ifx\@empty\@isdiploma + \else + \if@german + \else + \selectlanguage{ngerman} + \fi + + \chapter*{Selbstst\"{a}ndigkeitserkl\"{a}rung} + + Hiermit erkl\"{a}re ich, dass ich die von mir am heutigen Tag dem Pr\"{u}fungsausschuss der Fakult\"{a}t \@faculty~eingereichte \@doctype~zum Thema: + \begin{center} + \textit{\@title} + \end{center} + + vollkommen selbstst\"{a}ndig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt sowie Zitate kenntlich gemacht habe.\\[2cm] + + Dresden, den \@date\\[3cm] + \@author + + \if@german + \else + \selectlanguage{american} + \fi + \fi + \cleardoublestandardpage + %Zusammenfassung + \ifx\@empty\@isdiploma + \else + \if@german + {\vspace*{2cm} + \minisec{Kurzfassung} + \@abstractde + \vspace{2cm} + \selectlanguage{american} + \minisec{Abstract} + \@abstracten + \selectlanguage{ngerman} + } + \else + {\vspace*{2cm} + \selectlanguage{ngerman} + \minisec{Kurzfassung} + \@abstractde + \selectlanguage{american} + \vspace{2cm} + \minisec{Abstract} + \@abstracten + } + \fi + \fi + % zeilenabstand ja nach variante + \if@final + %\singlespacing + \else + \onehalfspacing + \fi + \normalsize + \cleardoublestandardpage + %Inhaltsverzeichnis + \pagenumbering{arabic} + \if@final + \fancyhead[LE,RO]{\thepage} + \else + \if@twoside + \fancyhead[LE,RO]{\thepage} + \else + \fancyhead[R]{\thepage} + \fi + \fi + \if@notoc + \else + \tableofcontents + \cleardoublestandardpage + \fi + %Nomenclature + \if@nomencl + % \if@german + % \addcontentsline{toc}{chapter}{Symbolverzeichnis} + % \else + % \addcontentsline{toc}{chapter}{Nomenclature} + % \fi + % \label{sec:Nomenclature} + \printnomenclature[\@nomenclmargin] + \fi + %Kopfzeile basteln + \markboth{}{} + \ifx\@empty\@isreport + \if@final + \fancyhead[LO]{\@author} + \fancyhead[RE]{\@title} + \else + \if@twoside + \fancyhead[LO]{\@author} + \fancyhead[RE]{\@title} + \else + \fancyhead[L]{\@author -- \@title} + \fi + \fi + \else + \if@final + \fancyhead[LO]{\rightmark} + \fancyhead[RE]{\leftmark} + \else + \if@twoside + \fancyhead[LO]{\rightmark} + \fancyhead[RE]{\leftmark} + \else + \fancyhead[L]{\leftmark} + \fi + \fi + \fi}{% + % Literatur-, Abbildungs- und Tabellenverzeichnis, wenn nicht schon bei + % \appendix automatisch davor eingefuegt + \ifx\@empty\@haveapp + \cleardoublestandardpage + \ifx\@empty\@bibfiles + \else + \bibliography{\@bibfiles} + \fi + \cleardoublestandardpage + \printlof + \cleardoublestandardpage + \printlot + \fi + \cleardoublestandardpage + %Danksagung + \ifx\@empty\@acknowledgments + \else + \if@german + \@mkboth{Danksagung}{} + \else + \@mkboth{Acknowledgments} + \fi + \ifx\@empty\@isreport + \if@german + \section*{Danksagung} + \else + \section*{Acknowledgments} + \fi + \else + \if@german + \chapter*{Danksagung} + \else + \chapter*{Acknowledgments} + \fi + \fi + \@acknowledgments + \fi + % Copyright-Kram + \cleardoublestandardpage + \ifx\@empty\@copyrighterklaerung + \else + \@mkboth{\@copyrightlabel}{} + \copyrightinfo + \fi + \cleardoublestandardpage + \end{@altdoc}} +\else + \let\@altdoc=\document + \let\end@altdoc=\enddocument + \renewenvironment{document}{% + \begin{@altdoc}% + %\thispagestyle{empty} + %\pagestyle{empty} + \begin{titlepage} + \enlargethispage{1cm} + \begin{center} + \sffamily + \vspace*{25mm} + \begin{Large} + \textbf{\@title} + \end{Large} + + \vspace{20mm} + \titleheader\\[1.5cm] + \begin{large} + \vspace{18mm} + vorgelegt an der\\ + Technischen Universit\"at Dresden\\ + Fakult\"{a}t \@faculty + + \vspace{12mm} + + eingereicht von + + \vspace{6mm} + + {\textbf{\@author}}\\\@subauthor\\[2cm] + \vfill + %\vspace{18mm} + Betreuender Hochschullehrer: \@gutachter\\[2cm] + \bigskip + % \textbf{Tag der Verteidigung:} 16. Dezember 2008 + % + % \bigskip + Dresden, \@date\\[2cm] + \end{large} + \end{center} + \end{titlepage} + \cleardoubleemptypage + \ifx\@dedication\@empty \else + \next@tpage\null\vfill + {\centering \em \@dedication \par}% + \vskip \z@ \@plus3fill + \if@twoside \next@tpage\cleardoubleemptypage \fi + \fi + % Seitenstil festlegen + \fancyfoot{} + \fancyhead{} + \pagestyle{fancy} + \thispagestyle{fancy} + % zeilenabstand ja nach variante + \if@final + %\singlespacing + \else + \onehalfspacing + \fi + \normalsize + \cleardoublestandardpage + \if@kurz + \else + %Zusammenfassung + \if@german + {\vspace*{2cm} + \minisec{Kurzfassung} + \@abstractde + \vspace{2cm} + \selectlanguage{american} + \minisec{Abstract} + \@abstracten + \selectlanguage{ngerman} + } + \else + {\vspace*{2cm} + \selectlanguage{ngerman} + \minisec{Kurzfassung} + \@abstractde + \selectlanguage{american} + \vspace{2cm} + \minisec{Abstract} + \@abstracten + } + \fi + \cleardoublestandardpage + \fi + %Inhaltsverzeichnis + \pagenumbering{arabic} + \if@final + \fancyhead[LE,RO]{\thepage} + \else + \if@twoside + \fancyhead[LE,RO]{\thepage} + \else + \fancyhead[R]{\thepage} + \fi + \fi + \if@notoc + \else + \tableofcontents + \cleardoublestandardpage + \fi + %Nomenclature + \if@nomencl + % \if@german + % \addcontentsline{toc}{chapter}{Symbolverzeichnis} + % \else + % \addcontentsline{toc}{chapter}{Nomenclature} + % \fi + % \label{sec:Nomenclature} + \printnomenclature[\@nomenclmargin] + \fi + %Kopfzeile basteln + \markboth{}{} + \ifx\@empty\@isreport + \if@final + \fancyhead[LO]{\@author} + \fancyhead[RE]{\@title} + \else + \if@twoside + \fancyhead[LO]{\@author} + \fancyhead[RE]{\@title} + \else + \fancyhead[L]{\@author -- \@title} + \fi + \fi + \else + \if@final + \fancyhead[LO]{\rightmark} + \fancyhead[RE]{\leftmark} + \else + \if@twoside + \fancyhead[LO]{\rightmark} + \fancyhead[RE]{\leftmark} + \else + \fancyhead[L]{\leftmark} + \fi + \fi + \fi + }{% + % Literatur-, Abbildungs- und Tabellenverzeichnis, wenn nicht schon bei + % \appendix automatisch davor eingefuegt + \ifx\@empty\@haveapp + \cleardoublestandardpage + \ifx\@empty\@bibfiles + \else + \bibliography{\@bibfiles} + \fi + \cleardoublestandardpage + \printlof + \cleardoublestandardpage + \printlot + \fi + \cleardoublestandardpage + %Danksagung + \ifx\@empty\@acknowledgments + \else + \if@german + \@mkboth{Danksagung}{} + \else + \@mkboth{Acknowledgments} + \fi + \ifx\@empty\@isreport + \if@german + \section*{Danksagung} + \else + \section*{Acknowledgments} + \fi + \else + \if@german + \chapter*{Danksagung} + \else + \chapter*{Acknowledgments} + \fi + \fi + \@acknowledgments + \fi + % Copyright-Kram + \cleardoublestandardpage + \ifx\@empty\@copyrighterklaerung + \else + \@mkboth{\@copyrightlabel}{} + \copyrightinfo + \fi + \cleardoublestandardpage + \end{@altdoc} + } +\fi + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Nuetzliche Zusatzkommandos + +\newcommand\longcite[2]{(vgl.~\cite{#1}, S.~#2)} + +\newcommand\shortcite[2]{(\cite{#1}, S.~#2)} + +%% itemize ohne abstand zw. den items +%\let\@altitemize=\itemize +%\let\end@altitemize=\enditemize +%\renewenvironment{itemize}{% +%\begin{@altitemize}% +%\ifnum \@itemdepth = 1 +% \vspace{-10pt} +% \setlength{\itemsep}{-1pt} +%\else +% \ifnum \@itemdepth = 2 +% \vspace{-6pt} +% \setlength{\itemsep}{0pt} +% \else +% \ifnum \@itemdepth = 3 +% \vspace{-2pt} +% \setlength{\itemsep}{1pt} +% \else +% \vspace{0pt} +% \setlength{\itemsep}{2pt} +% \fi +% \fi +%\fi +% \setlength{\parsep}{0pt} +%\setlength{\labelsep}{12pt} +%}% +%{\end{@altitemize}\vspace{-2pt}} + +%% enumerate ohne abstand zw. den items +%\def\enumerate{% +% \ifnum \@enumdepth >3 \@toodeep\else +% \ifnum \@enumdepth = 0 +% \vspace{-10pt} +% \setlength{\itemsep}{-1pt} +% \else +% \ifnum \@enumdepth = 1 +% \vspace{-6pt} +% \setlength{\itemsep}{0pt} +% \else +% \ifnum \@enumdepth = 2 +% \vspace{-2pt} +% \setlength{\itemsep}{1pt} +% \else +% \vspace{0pt} +% \setlength{\itemsep}{2pt} +% \fi +% \fi +% \fi +% \setlength{\parsep}{0pt} +% \setlength{\labelsep}{12pt} +% \advance\@enumdepth \@ne +% \edef\@enumctr{enum\romannumeral\the\@enumdepth}\fi +% \@ifnextchar[{\@@enum@}{\@enum@}} +%\def\@@enum@[#1]{% +% \@enLab{}\let\@enThe\@enQmark +% \@enloop#1\@enum@ +% \ifx\@enThe\@enQmark\@warning{The counter will not be printed.% +% ^^J\space\@spaces\@spaces\@spaces The label is: \the\@enLab}\fi +% \expandafter\edef\csname label\@enumctr\endcsname{\the\@enLab}% +% \expandafter\let\csname the\@enumctr\endcsname\@enThe +% \csname c@\@enumctr\endcsname7 +% \expandafter\settowidth +% \csname leftmargin\romannumeral\@enumdepth\endcsname +% {\the\@enLab\hspace{\labelsep}}% +% \@enum@} +%\def\@enum@{\list{\csname label\@enumctr\endcsname}% +% {\usecounter{\@enumctr}\def\makelabel##1{\hss\llap{##1}}}} + +% paragraph mit Zeilenumbruch nach der Ueberschrift +\newcommand\Paragraph[1]{\minisec{#1}} + +% im text korrekturen anzeigen +\newcommand{\correctme}[1]{\textcolor{red}{#1}} + +% korrekturen ueber mehrere absaetze +\newenvironment{correctmore}{\color{red}}{\color{black}}