├── Anhang.tex ├── TODO.txt ├── Meta.tex ├── Ressourcen ├── Batchdateien für LEd │ ├── BibTeX.bat │ ├── makeidx.bat │ ├── clean.bat │ └── user1.bat └── LaTeX-Packages │ ├── chngcntr │ └── chngcntr.sty │ └── floatflt │ └── floatflt.sty ├── Befehle.tex ├── Inhalt.tex ├── Packages.tex ├── Deckblatt.tex ├── Erklaerung.tex ├── Seitenstil.tex ├── Bibliographie.bib ├── Masterarbeit.tex ├── Silbentrennung.tex ├── Inhalt ├── Einleitung.tex ├── BPELAktivitaeten.tex ├── BilderListings.tex ├── ZitateReferenzen.tex ├── AufzaehlungenTabellen.tex ├── Glossar.tex ├── Fazit.tex └── Abstract.tex ├── Bilder ├── EPK-Ereignis.jpg ├── EPK-Funktion.jpg ├── EPK-Operatoren.jpg ├── EPK-Prozesspfad.jpg ├── EPK-Informationen.jpg ├── HelloWorldStruktur.jpg ├── LogoOhmHochschule.jpg ├── EPK-Organisationseinheit.jpg ├── LogoOhmHochschuleMitText.jpg └── LogoOhmHochschule.svg ├── DVD └── Listings │ ├── HelloWorld │ ├── HelloWorld.java │ ├── HelloWorld.class │ ├── PowerShell │ │ ├── HelloWorld.ps1 │ │ ├── HelloWorldService.dll │ │ └── HelloWorldService.cs │ └── META-INF │ │ └── services.xml │ ├── PersonFactorySOAPRequest.txt │ └── PersonFactorySOAPResponse.txt ├── .project ├── natbib.cfg ├── README.md ├── .gitignore ├── LICENSE.md └── natdin.bst /Anhang.tex: -------------------------------------------------------------------------------- 1 | \include{Inhalt/BPELAktivitaeten} 2 | -------------------------------------------------------------------------------- /TODO.txt: -------------------------------------------------------------------------------- 1 | Schriften im Inhaltsverzeichnis vereinheitlichen 2 | -------------------------------------------------------------------------------- /Meta.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StefanMacke/latex-vorlage-masterarbeit/HEAD/Meta.tex -------------------------------------------------------------------------------- /Ressourcen/Batchdateien für LEd/BibTeX.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | %3 3 | cd %1 4 | bibtex.exe %2 5 | -------------------------------------------------------------------------------- /Befehle.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StefanMacke/latex-vorlage-masterarbeit/HEAD/Befehle.tex -------------------------------------------------------------------------------- /Inhalt.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StefanMacke/latex-vorlage-masterarbeit/HEAD/Inhalt.tex -------------------------------------------------------------------------------- /Packages.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StefanMacke/latex-vorlage-masterarbeit/HEAD/Packages.tex -------------------------------------------------------------------------------- /Deckblatt.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StefanMacke/latex-vorlage-masterarbeit/HEAD/Deckblatt.tex -------------------------------------------------------------------------------- /Erklaerung.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StefanMacke/latex-vorlage-masterarbeit/HEAD/Erklaerung.tex -------------------------------------------------------------------------------- /Seitenstil.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StefanMacke/latex-vorlage-masterarbeit/HEAD/Seitenstil.tex -------------------------------------------------------------------------------- /Bibliographie.bib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StefanMacke/latex-vorlage-masterarbeit/HEAD/Bibliographie.bib -------------------------------------------------------------------------------- /Masterarbeit.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StefanMacke/latex-vorlage-masterarbeit/HEAD/Masterarbeit.tex -------------------------------------------------------------------------------- /Silbentrennung.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StefanMacke/latex-vorlage-masterarbeit/HEAD/Silbentrennung.tex -------------------------------------------------------------------------------- /Inhalt/Einleitung.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StefanMacke/latex-vorlage-masterarbeit/HEAD/Inhalt/Einleitung.tex -------------------------------------------------------------------------------- /Bilder/EPK-Ereignis.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StefanMacke/latex-vorlage-masterarbeit/HEAD/Bilder/EPK-Ereignis.jpg -------------------------------------------------------------------------------- /Bilder/EPK-Funktion.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StefanMacke/latex-vorlage-masterarbeit/HEAD/Bilder/EPK-Funktion.jpg -------------------------------------------------------------------------------- /Ressourcen/Batchdateien für LEd/makeidx.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | %3 3 | cd %1 4 | makeindex.exe %2.nlo -s nomencl.ist -o %2.nls -------------------------------------------------------------------------------- /Bilder/EPK-Operatoren.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StefanMacke/latex-vorlage-masterarbeit/HEAD/Bilder/EPK-Operatoren.jpg -------------------------------------------------------------------------------- /Bilder/EPK-Prozesspfad.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StefanMacke/latex-vorlage-masterarbeit/HEAD/Bilder/EPK-Prozesspfad.jpg -------------------------------------------------------------------------------- /Inhalt/BPELAktivitaeten.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StefanMacke/latex-vorlage-masterarbeit/HEAD/Inhalt/BPELAktivitaeten.tex -------------------------------------------------------------------------------- /Inhalt/BilderListings.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StefanMacke/latex-vorlage-masterarbeit/HEAD/Inhalt/BilderListings.tex -------------------------------------------------------------------------------- /Inhalt/ZitateReferenzen.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StefanMacke/latex-vorlage-masterarbeit/HEAD/Inhalt/ZitateReferenzen.tex -------------------------------------------------------------------------------- /Bilder/EPK-Informationen.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StefanMacke/latex-vorlage-masterarbeit/HEAD/Bilder/EPK-Informationen.jpg -------------------------------------------------------------------------------- /Bilder/HelloWorldStruktur.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StefanMacke/latex-vorlage-masterarbeit/HEAD/Bilder/HelloWorldStruktur.jpg -------------------------------------------------------------------------------- /Bilder/LogoOhmHochschule.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StefanMacke/latex-vorlage-masterarbeit/HEAD/Bilder/LogoOhmHochschule.jpg -------------------------------------------------------------------------------- /Inhalt/AufzaehlungenTabellen.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StefanMacke/latex-vorlage-masterarbeit/HEAD/Inhalt/AufzaehlungenTabellen.tex -------------------------------------------------------------------------------- /DVD/Listings/HelloWorld/HelloWorld.java: -------------------------------------------------------------------------------- 1 | public class HelloWorld { 2 | public String SayHello() { 3 | return "Hello World!"; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /Bilder/EPK-Organisationseinheit.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StefanMacke/latex-vorlage-masterarbeit/HEAD/Bilder/EPK-Organisationseinheit.jpg -------------------------------------------------------------------------------- /Bilder/LogoOhmHochschuleMitText.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StefanMacke/latex-vorlage-masterarbeit/HEAD/Bilder/LogoOhmHochschuleMitText.jpg -------------------------------------------------------------------------------- /DVD/Listings/HelloWorld/HelloWorld.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StefanMacke/latex-vorlage-masterarbeit/HEAD/DVD/Listings/HelloWorld/HelloWorld.class -------------------------------------------------------------------------------- /DVD/Listings/HelloWorld/PowerShell/HelloWorld.ps1: -------------------------------------------------------------------------------- 1 | [Reflection.Assembly]::LoadFrom("$pwd\HelloWorldService.dll"); 2 | $hw = new-object HelloWorld; 3 | write-host $hw.SayHello(); 4 | -------------------------------------------------------------------------------- /DVD/Listings/HelloWorld/PowerShell/HelloWorldService.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StefanMacke/latex-vorlage-masterarbeit/HEAD/DVD/Listings/HelloWorld/PowerShell/HelloWorldService.dll -------------------------------------------------------------------------------- /DVD/Listings/HelloWorld/META-INF/services.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | This service greets the world. 4 | 5 | 6 | HelloWorld 7 | 8 | 9 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | VorlageMasterarbeit 4 | 5 | 6 | 7 | 8 | 9 | net.sourceforge.texlipse.builder.TexlipseBuilder 10 | 11 | 12 | 13 | 14 | 15 | net.sourceforge.texlipse.builder.TexlipseNature 16 | 17 | 18 | -------------------------------------------------------------------------------- /natbib.cfg: -------------------------------------------------------------------------------- 1 | % in dieser Datei wird das Aussehen der Zitate und des Literaturverzeichnisses definiert 2 | 3 | \newcommand{\bibstyle@natdin}% 4 | {\bibpunct{[}{]}{;}{a}{}{,~} % Quellenangaben in eckige Klammern fassen 5 | % nach dieser Definition wird das label (dinatlabel) fett geschrieben, dann Zeilenumbruch; 6 | % darunter der bibliographische Beleg 7 | \gdef\NAT@biblabelnum##1{\textbf{##1}\\}} 8 | 9 | \bibstyle@natdin 10 | 11 | % Einzug der Belege nach der Einordnungsmarke 12 | \setlength{\bibhang}{7mm} 13 | 14 | 15 | -------------------------------------------------------------------------------- /Ressourcen/Batchdateien für LEd/clean.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | %2 3 | cd %1 4 | del *.blg /s 2>nul 5 | del *.aux /s 2>nul 6 | del *.idx /s 2>nul 7 | del *.ind /s 2>nul 8 | del *.toc /s 2>nul 9 | del *.lof /s 2>nul 10 | del *.lot /s 2>nul 11 | del *.mpx /s 2>nul 12 | del *.tex1 /s 2>nul 13 | del *.txt1 /s 2>nul 14 | del *.undo /s 2>nul 15 | del *.bbl /s 2>nul 16 | del *.brf /s 2>nul 17 | del *.ilg /s 2>nul 18 | del *.log /s 2>nul 19 | del *.lol /s 2>nul 20 | del *.nlo /s 2>nul 21 | del *.nls /s 2>nul 22 | del *.out /s 2>nul 23 | del *.bak /s 2>nul 24 | -------------------------------------------------------------------------------- /Ressourcen/Batchdateien für LEd/user1.bat: -------------------------------------------------------------------------------- 1 | @rem You can put here any commands you want - this batch file can be executed from LEd's toolbar 2 | @rem There are 3 parameters passed to this batch: 3 | @rem %1 - 4 | @rem %2 - 5 | @rem %3 - 6 | @rem You can also define in tex_cmd.gd file some additional parameters to be passed to this batch file. 7 | @echo off 8 | call C:\Programme\LEd\Batches\PdfLaTeX.bat %1 %2 %3 9 | call C:\Programme\LEd\Batches\BibTeX.bat %1 %2 %3 10 | call C:\Programme\LEd\Batches\makeidx.bat %1 %2 %3 11 | call C:\Programme\LEd\Batches\PdfLaTeX.bat %1 %2 %3 12 | call C:\Programme\LEd\Batches\PdfLaTeX.bat %1 %2 %3 13 | -------------------------------------------------------------------------------- /DVD/Listings/PersonFactorySOAPRequest.txt: -------------------------------------------------------------------------------- 1 | POST /axis2/services/PersonFactory HTTP/1.1 2 | Content-Type: text/xml;charset=UTF-8 3 | SOAPAction: "urn:PersonFactory#CreatePerson" 4 | User-Agent: Jakarta Commons-HttpClient/3.0.1 5 | Host: linux-ws:8080 6 | Content-Length: 380 7 | 8 | 13 | 14 | 15 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /DVD/Listings/PersonFactorySOAPResponse.txt: -------------------------------------------------------------------------------- 1 | HTTP/1.1 200 OK 2 | Server: Apache-Coyote/1.1 3 | Content-Type: text/xml;charset=UTF-8 4 | Transfer-Encoding: chunked 5 | Date: Wed, 13 Jun 2007 11:14:38 GMT 6 | 7 | 8 | 10 | 11 | 13 | 14 | Stefan Macke 15 | 25 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /Inhalt/Glossar.tex: -------------------------------------------------------------------------------- 1 | \nomenclature{API}{Application Programming Interface} 2 | \nomenclature{ARIS}{Architektur integrierter Informationssysteme} 3 | \nomenclature{BPR}{Business Process Reengineering} 4 | \nomenclature{eEPK}{erweiterte Ereignisgesteuerte Prozesskette} 5 | \nomenclature{EPK}{Ereignisgesteuerte Prozesskette} 6 | \nomenclature{JMS}{Java Message Service} 7 | \nomenclature{SDK}{Software Development Kit} 8 | \nomenclature{URI}{Uniform Resource Identifier} 9 | \nomenclature{URL}{Uniform Resource Locator} 10 | \nomenclature{URN}{Uniform Resource Name} 11 | \nomenclature{W3C}{World Wide Web Consortium} 12 | \nomenclature{XML}{Extensible Markup Language} 13 | \nomenclature{XPath}{XML Path Language} 14 | \nomenclature{XSL}{Extensible Stylesheet Language} 15 | \nomenclature{XSLT}{XSL Transformations} 16 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # LaTeX-Vorlage für meine Masterarbeit an der Ohm-Hochschule Nürnberg 2 | 3 | Hier kurz die wichtigsten Features der Vorlage: 4 | 5 | * ein nettes Deckblatt 6 | * Inhalts-, Abbildungs-, Listings-, Tabellen- und Abkürzungsverzeichnis 7 | * eidesstattliche Erklärung, Glossar und Abstract 8 | * DIN-konformes Literaturverzeichnis 9 | * eingebundene Quelltexte 10 | * lange Tabellen über mehrere Seiten 11 | 12 | # Lizenz 13 | 14 | [![Creative Commons Lizenzvertrag](https://i.creativecommons.org/l/by-sa/4.0/88x31.png)](http://creativecommons.org/licenses/by-sa/4.0/) 15 | LaTeX-Vorlage für meine Masterarbeit an der Ohm-Hochschule Nürnberg von [Stefan Macke](https://github.com/StefanMacke/latex-vorlage-masterarbeit) ist lizenziert unter einer [Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International Lizenz](http://creativecommons.org/licenses/by-sa/4.0/). -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ## Core latex/pdflatex auxiliary files: 2 | *.aux 3 | *.lof 4 | *.log 5 | *.lot 6 | *.fls 7 | *.out 8 | *.toc 9 | 10 | ## Intermediate documents: 11 | *.dvi 12 | *-converted-to.* 13 | # these rules might exclude image files for figures etc. 14 | # *.ps 15 | # *.eps 16 | # *.pdf 17 | 18 | ## Bibliography auxiliary files (bibtex/biblatex/biber): 19 | *.bbl 20 | *.bcf 21 | *.blg 22 | *-blx.aux 23 | *-blx.bib 24 | *.brf 25 | *.run.xml 26 | 27 | ## Build tool auxiliary files: 28 | *.fdb_latexmk 29 | *.synctex 30 | *.synctex.gz 31 | *.synctex.gz(busy) 32 | *.pdfsync 33 | 34 | ## Auxiliary and intermediate files from other packages: 35 | 36 | # algorithms 37 | *.alg 38 | *.loa 39 | 40 | # achemso 41 | acs-*.bib 42 | 43 | # amsthm 44 | *.thm 45 | 46 | # beamer 47 | *.nav 48 | *.snm 49 | *.vrb 50 | 51 | #(e)ledmac/(e)ledpar 52 | *.end 53 | *.[1-9] 54 | *.[1-9][0-9] 55 | *.[1-9][0-9][0-9] 56 | *.[1-9]R 57 | *.[1-9][0-9]R 58 | *.[1-9][0-9][0-9]R 59 | *.eledsec[1-9] 60 | *.eledsec[1-9]R 61 | *.eledsec[1-9][0-9] 62 | *.eledsec[1-9][0-9]R 63 | *.eledsec[1-9][0-9][0-9] 64 | *.eledsec[1-9][0-9][0-9]R 65 | 66 | # glossaries 67 | *.acn 68 | *.acr 69 | *.glg 70 | *.glo 71 | *.gls 72 | 73 | # gnuplottex 74 | *-gnuplottex-* 75 | 76 | # hyperref 77 | *.brf 78 | 79 | # knitr 80 | *-concordance.tex 81 | *.tikz 82 | *-tikzDictionary 83 | 84 | # listings 85 | *.lol 86 | 87 | # makeidx 88 | *.idx 89 | *.ilg 90 | *.ind 91 | *.ist 92 | 93 | # minitoc 94 | *.maf 95 | *.mtc 96 | *.mtc0 97 | 98 | # minted 99 | _minted* 100 | *.pyg 101 | 102 | # morewrites 103 | *.mw 104 | 105 | # nomencl 106 | *.nlo 107 | 108 | # sagetex 109 | *.sagetex.sage 110 | *.sagetex.py 111 | *.sagetex.scmd 112 | 113 | # sympy 114 | *.sout 115 | *.sympy 116 | sympy-plots-for-*.tex/ 117 | 118 | # todonotes 119 | *.tdo 120 | 121 | # xindy 122 | *.xdy 123 | 124 | # WinEdt 125 | *.bak 126 | *.sav 127 | /tmp/ 128 | /Projektdokumentation.pdf 129 | /Masterarbeit.pdf 130 | -------------------------------------------------------------------------------- /Inhalt/Fazit.tex: -------------------------------------------------------------------------------- 1 | \chapter{Fazit und kritische Bewertung} 2 | \label{cha:Fazit} 3 | Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla ac ipsum a metus viverra tempor. Nunc sem. Nulla nec urna eu nibh vehicula convallis. Integer ac turpis. Donec mauris enim, dignissim quis, scelerisque ac, rhoncus id, sapien. Donec turpis felis, cursus in, varius vitae, mollis ac, lorem. Integer a dui sit amet eros nonummy aliquet. Donec egestas adipiscing tellus. Nulla iaculis. Aliquam erat volutpat. Curabitur posuere, eros vitae accumsan semper, risus erat viverra erat, eu vehicula mi leo at elit. Fusce luctus. Fusce vehicula pretium diam. Nunc sed arcu ut erat suscipit fermentum. 4 | 5 | Proin id magna eu sem tincidunt feugiat. Sed tincidunt massa sed eros. Fusce condimentum eros et lectus. Pellentesque lectus tortor, mattis in, dapibus a, lobortis ut, justo. Sed id dolor ut nibh varius ultrices. Quisque tincidunt nisl vel nibh. Suspendisse sodales massa non magna. In porttitor augue nonummy nunc. Nam quis enim quis ante dapibus interdum. Morbi nec neque. Fusce pharetra consectetuer magna. Etiam laoreet, augue nec lacinia ornare, risus purus lobortis erat, eu consequat urna orci vel arcu. Integer cursus, augue sed tempor dapibus, erat tortor rutrum elit, sit amet fermentum purus neque vitae tortor. Donec vulputate, ipsum vel viverra pretium, purus orci mattis nulla, nec tincidunt leo metus sed ipsum. Fusce eget lectus sed lectus molestie tincidunt. Etiam tincidunt urna eget tortor. 6 | 7 | Sed sit amet magna at lectus interdum blandit. Proin vitae metus eget leo bibendum ornare. Morbi sit amet nisl ac odio accumsan laoreet. Etiam luctus massa vel enim. Vestibulum nulla tellus, viverra at, malesuada vel, volutpat quis, lorem. Vestibulum quis nulla. Curabitur neque nibh, bibendum vel, eleifend sit amet, euismod at, leo. Duis auctor lobortis justo. Donec in tortor vel nibh rutrum pellentesque. Curabitur blandit pede quis neque. Nam sem eros, ornare a, pretium eget, condimentum sed, leo. Curabitur orci felis, elementum eget, aliquet vel, porta id, velit. Etiam justo neque, rhoncus quis, elementum vel, auctor vitae, urna. 8 | 9 | -------------------------------------------------------------------------------- /Inhalt/Abstract.tex: -------------------------------------------------------------------------------- 1 | \section*{Zusammenfassung} 2 | \label{sec:Zusammenfassung} 3 | Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Quisque Natural"=Programmierung blandit sed, hendrerit at, pharetra eget, dui. Sed lacus. Pellentesque malesuada. Cras gravida mi id sapien. Ut risus justo, fermentum non, scelerisque sit amet, lacinia in, erat. Proin nec lorem. Quisque porta, nisl at porta aliquam, felis libero consequat ipsum, vitae scelerisque dolor mi a odio. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Duis sollicitudin. Proin sollicitudin varius arcu. Morbi eleifend, metus sit amet placerat pharetra, dolor dui lobortis pede, vel imperdiet tellus eros imperdiet lorem. In hac habitasse platea dictumst. Curabitur elit mi, facilisis nec, ultricies id, aliquet et, magna. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aliquam ac est. Mauris turpis enim, feugiat non, imperdiet congue, scelerisque non, purus. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam dictum aliquet purus. Maecenas faucibus. Maecenas suscipit. 4 | 5 | 6 | \section*{Abstract} 7 | \label{sec:Abstract} 8 | Fusce neque est, tincidunt eu, nonummy nec, tempor iaculis, erat. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum egestas, velit a rhoncus gravida, metus dolor pulvinar diam, sit amet placerat risus dolor sit amet elit. Maecenas eget purus ut est mattis porta. Suspendisse ut mi et mauris lobortis malesuada. Vestibulum dapibus. Duis hendrerit, elit eu venenatis eleifend, sapien ante volutpat odio, ac condimentum tellus massa ut massa. Etiam dapibus imperdiet metus. Sed sapien arcu, pulvinar quis, laoreet quis, venenatis non, justo. Aliquam est ante, pulvinar nec, accumsan sed, auctor sed, augue. 9 | 10 | Ut adipiscing ligula. In mattis. Ut varius. In nec nulla at eros molestie viverra. Duis dolor risus, lobortis vel, dictum a, pellentesque id, lectus. Sed suscipit orci ac ligula venenatis condimentum. Maecenas et sem lacinia tortor cursus tempus. Mauris pellentesque risus at nulla. In arcu. Curabitur mattis mi quis dolor. In leo. Vivamus ut libero. 11 | -------------------------------------------------------------------------------- /Ressourcen/LaTeX-Packages/chngcntr/chngcntr.sty: -------------------------------------------------------------------------------- 1 | % chngcntr.sty 2 | % 3 | % Provides commands to change the resetting of counters. 4 | % Instructions for use are at the end of this file. 5 | % 6 | % author: Peter Wilson (CUA) 7 | % (now at peter.r.wilson@boeing.com) 8 | % Released under the Latex Project Public License 9 | % 10 | % 11 | \NeedsTeXFormat{LaTeX2e} 12 | \ProvidesPackage{chngcntr}[2001/03/30 v1.0 change counter resetting] 13 | % 14 | % This package uses David Carlisle's \@removefromreset command as 15 | % specified in the remreset package available from CTAN as 16 | % macros/latex/contrib/supported/carlisle/remreset.sty 17 | % It is \provided here as a convenience to the user, and with 18 | % David Carlisle's permission. 19 | % START OF DAVID CARLISLE'S CODE 20 | \providecommand{\@removefromreset}[2]{{% 21 | \expandafter\let\csname c@#1\endcsname\@removefromreset 22 | \def\@elt##1{% 23 | \expandafter\ifx\csname c@##1\endcsname\@removefromreset 24 | \else 25 | \noexpand\@elt{##1}% 26 | \fi}% 27 | \expandafter\xdef\csname cl@#2\endcsname{% 28 | \csname cl@#2\endcsname}}} 29 | % END OF DAVID CARLISLE'S CODE 30 | 31 | %%\@ifbothc@t@s{}{}{}{} 32 | \newcommand{\@ifbothc@t@s}[4]{% 33 | \@ifundefined{c@#2}{% counter undefined 34 | \PackageError{#1}{#2 is not a counter}{\@eha}}% 35 | {% else counter is defined 36 | \@ifundefined{c@#3}{% within undefined 37 | \PackageError{#1}{#3 is not a counter}{\@eha}}% 38 | {% else both counter and within are defined 39 | #4}}} 40 | 41 | %%\counterwithout*{}{} 42 | \newcommand{\counterwithout}{\@ifstar{\c@t@soutstar}{\c@t@sout}} 43 | \newcommand{\c@t@soutstar}[2]{% 44 | \@ifbothc@t@s{chngcntr}{#1}{#2}{\@removefromreset{#1}{#2}}} 45 | \newcommand{\c@t@sout}[2]{% 46 | \@ifbothc@t@s{chngcntr}{#1}{#2}{\@removefromreset{#1}{#2}% 47 | \@namedef{the#1}{\arabic{#1}}}} 48 | 49 | 50 | %%\counterwithin*{}{} 51 | \newcommand{\counterwithin}{\@ifstar{\c@t@sinstar}{\c@t@sin}} 52 | \newcommand{\c@t@sinstar}[2]{% 53 | \@ifbothc@t@s{chngcntr}{#1}{#2}{\@addtoreset{#1}{#2}}} 54 | \newcommand{\c@t@sin}[2]{% 55 | \@ifbothc@t@s{chngcntr}{#1}{#2}{\@addtoreset{#1}{#2}% 56 | \@namedef{the#1}{\@nameuse{the#2}.\arabic{#1}}}} 57 | 58 | 59 | \endinput 60 | 61 | %%%%%%%%%%%%%%%%%% 62 | % USAGE 63 | %%%%%%%%%%%%%%%%%% 64 | % 65 | % In LaTeX, a new counter called, say `ctr', is created by the command 66 | % \newcounter{ctr}[within]. If the optional within argument is given 67 | % the the counter `ctr' is reset to zero each time the counter `within' 68 | % changes. The command \thectr typesets the value of the counter ctr. 69 | % This is automatically defined by \newcounter and is initialised 70 | % to typeset arabic numerals. 71 | % 72 | %%%%%%%%%%%%%%%%% 73 | % \counterwithin 74 | % \counterwithin* 75 | %%%%%%%%%%%%%%%%% 76 | % It is sometimes desireable to change a counter that has been defined 77 | % by \newcounter{ctr} to act as though it had been defined as 78 | % \newcounter{ctr}[within]. The package provides the command 79 | % \counterwithin{ctr}{within} that accomplishes this. By default, 80 | % it also redefines the \thectr command so that it typesets values 81 | % in the style \thewithin.\arabic{ctr}. The starred version of the 82 | % command suppresses the redefinition of \thectr 83 | % (e.g., \counterwithin*{ctr}{within}). 84 | % 85 | %%%%%%%%%%%%%%%%%% 86 | % \counterwithout 87 | % \counterwithout* 88 | %%%%%%%%%%%%%%%%%% 89 | % Likewise, the command \counterwithout{ctr}{within} changes a 90 | % counter that has been created by \newcounter{ctr}[within] to act 91 | % as though it had been created by \newcounter{ctr}. By default it 92 | % also redefines the \thectr command so that it just typesets an arabic 93 | % numeral. The starred version of the command suppresses the redefinition 94 | % of \thectr. 95 | % 96 | % Any number of \counterwithin{ctr}{...} and \counterwithout{ctr}{...} 97 | % commands can be issued for a given counter, ctr, if you wish to toggle 98 | % between the two styles. The current value of ctr is unaffected by 99 | % \counterwithin and \counterwithout. If you want to change the value 100 | % after one of these commands, use \setcounter{ctr}{...}, and to change 101 | % the typeseting style use \renewcommand{\thectr}{...}. 102 | % 103 | % 104 | % Peter W. 105 | % 2001/03/30 106 | % 107 | 108 | -------------------------------------------------------------------------------- /DVD/Listings/HelloWorld/PowerShell/HelloWorldService.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:2.0.50727.42 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | using System; 12 | using System.ComponentModel; 13 | using System.Diagnostics; 14 | using System.Web.Services; 15 | using System.Web.Services.Protocols; 16 | using System.Xml.Serialization; 17 | 18 | // 19 | // Dieser Quellcode wurde automatisch generiert von wsdl, Version=2.0.50727.42. 20 | // 21 | 22 | 23 | /// 24 | [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] 25 | [System.Diagnostics.DebuggerStepThroughAttribute()] 26 | [System.ComponentModel.DesignerCategoryAttribute("code")] 27 | [System.Web.Services.WebServiceBindingAttribute(Name="HelloWorldSOAP11Binding", Namespace="http://ws.apache.org/axis2")] 28 | public partial class HelloWorld : System.Web.Services.Protocols.SoapHttpClientProtocol { 29 | 30 | private System.Threading.SendOrPostCallback SayHelloOperationCompleted; 31 | 32 | /// 33 | public HelloWorld() { 34 | this.Url = "http://192.168.68.107:8080/axis2/services/HelloWorld"; 35 | } 36 | 37 | /// 38 | public event SayHelloCompletedEventHandler SayHelloCompleted; 39 | 40 | /// 41 | [System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:SayHello", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Bare)] 42 | [return: System.Xml.Serialization.XmlElementAttribute("SayHelloResponse", Namespace="http://ws.apache.org/axis2/xsd")] 43 | public SayHelloResponse SayHello() { 44 | object[] results = this.Invoke("SayHello", new object[0]); 45 | return ((SayHelloResponse)(results[0])); 46 | } 47 | 48 | /// 49 | public System.IAsyncResult BeginSayHello(System.AsyncCallback callback, object asyncState) { 50 | return this.BeginInvoke("SayHello", new object[0], callback, asyncState); 51 | } 52 | 53 | /// 54 | public SayHelloResponse EndSayHello(System.IAsyncResult asyncResult) { 55 | object[] results = this.EndInvoke(asyncResult); 56 | return ((SayHelloResponse)(results[0])); 57 | } 58 | 59 | /// 60 | public void SayHelloAsync() { 61 | this.SayHelloAsync(null); 62 | } 63 | 64 | /// 65 | public void SayHelloAsync(object userState) { 66 | if ((this.SayHelloOperationCompleted == null)) { 67 | this.SayHelloOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSayHelloOperationCompleted); 68 | } 69 | this.InvokeAsync("SayHello", new object[0], this.SayHelloOperationCompleted, userState); 70 | } 71 | 72 | private void OnSayHelloOperationCompleted(object arg) { 73 | if ((this.SayHelloCompleted != null)) { 74 | System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); 75 | this.SayHelloCompleted(this, new SayHelloCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); 76 | } 77 | } 78 | 79 | /// 80 | public new void CancelAsync(object userState) { 81 | base.CancelAsync(userState); 82 | } 83 | } 84 | 85 | /// 86 | [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] 87 | [System.SerializableAttribute()] 88 | [System.Diagnostics.DebuggerStepThroughAttribute()] 89 | [System.ComponentModel.DesignerCategoryAttribute("code")] 90 | [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)] 91 | public partial class SayHelloResponse { 92 | 93 | private string returnField; 94 | 95 | /// 96 | [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)] 97 | public string @return { 98 | get { 99 | return this.returnField; 100 | } 101 | set { 102 | this.returnField = value; 103 | } 104 | } 105 | } 106 | 107 | /// 108 | [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] 109 | public delegate void SayHelloCompletedEventHandler(object sender, SayHelloCompletedEventArgs e); 110 | 111 | /// 112 | [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] 113 | [System.Diagnostics.DebuggerStepThroughAttribute()] 114 | [System.ComponentModel.DesignerCategoryAttribute("code")] 115 | public partial class SayHelloCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { 116 | 117 | private object[] results; 118 | 119 | internal SayHelloCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 120 | base(exception, cancelled, userState) { 121 | this.results = results; 122 | } 123 | 124 | /// 125 | public SayHelloResponse Result { 126 | get { 127 | this.RaiseExceptionIfNecessary(); 128 | return ((SayHelloResponse)(this.results[0])); 129 | } 130 | } 131 | } 132 | -------------------------------------------------------------------------------- /Ressourcen/LaTeX-Packages/floatflt/floatflt.sty: -------------------------------------------------------------------------------- 1 | %% 2 | %% This is file `floatflt.sty', 3 | %% generated with the docstrip utility. 4 | %% 5 | %% The original source files were: 6 | %% 7 | %% floatflt.dtx (with options: `paketkod') 8 | %% 9 | %% Copyright (c) 1994-1998 by Mats Dahlgren . 10 | %% All rights reserved. See the file `floatflt.ins' for information 11 | %% on how you may (re-)distribute the `floatflt' package files. 12 | %% You are not allowed to make any changes to this file without 13 | %% explicit permission from the author. 14 | %% 15 | \NeedsTeXFormat{LaTeX2e}[1996/12/01] 16 | \ProvidesPackage{floatflt}[1997/07/16 v. 1.31] 17 | \newcounter{OptionTest} 18 | \setcounter{OptionTest}{0} 19 | \DeclareOption{rflt}{\setcounter{OptionTest}{1}} 20 | \DeclareOption{lflt}{\setcounter{OptionTest}{2}} 21 | \DeclareOption{vflt}{\setcounter{OptionTest}{0}} 22 | \DeclareOption*{\OptionNotUsed} 23 | \ProcessOptions 24 | \newbox\figbox 25 | \newbox\tabbox 26 | \newbox\pagebox 27 | \newcount\ffigcount 28 | \newcount\ftabcount 29 | \newcount\fftest 30 | \newcount\hangcount 31 | \newcount\nosuccesstryfig 32 | \newcount\nosuccesstrytab 33 | \newdimen\figgutter \figgutter=1truepc 34 | \newdimen\tabgutter \tabgutter=1truepc 35 | \newdimen\htdone \htdone=0pt 36 | \newdimen\pageht 37 | \newdimen\startpageht 38 | \newdimen\tabbredd 39 | \newdimen\floatfltwidth 40 | \newdimen\fltitemwidth 41 | \newif\iftryingfig \tryingfigfalse 42 | \newif\iftryingtab \tryingtabfalse 43 | \newif\ifdoingfig \doingfigfalse 44 | \newif\ifdoingtab \doingtabfalse 45 | \newif\iffigprocessing \figprocessingfalse 46 | \newif\iftabprocessing \tabprocessingfalse 47 | \newif\ifpageafterfig \pageafterfigfalse 48 | \newif\ifpageaftertab \pageaftertabfalse 49 | \newif\ifoddpages 50 | \newif\ifoutput 51 | \newtoks\outputpretest 52 | \newenvironment{floatingfigure}[2][v]% 53 | {\@tfor \@tempa :=#1\do 54 | {\if\@tempa r\global\oddpagestrue\fi 55 | \if\@tempa l\global\oddpagesfalse\fi 56 | \if\@tempa p% 57 | \ifodd\c@page\global\oddpagestrue 58 | \else\global\oddpagesfalse\fi 59 | \fi 60 | \if\@tempa v% 61 | \ifnum\theOptionTest=0 62 | \ifodd\c@page\global\oddpagestrue 63 | \else\global\oddpagesfalse\fi 64 | \else 65 | \ifodd\theOptionTest\global\oddpagestrue 66 | \else\global\oddpagesfalse\fi 67 | \fi 68 | \fi 69 | } 70 | \expandafter\ifx\csname oldoutput\endcsname\relax% ref. TeXbook Ex.7.7 71 | \PackageError{floatflt}{The `floatflt' package is not initialized} 72 | {Try to reinstall the `floatflt' package.\MessageBreak 73 | Type `x' to quit or to try to go on.}\@@end\fi 74 | \global\everypar={\tryfig\oldeverypar}% must be set globally! 75 | \global\advance\ffigcount by 1 76 | \iffigprocessing 77 | {\count0=\ffigcount\advance\count0 by -1 78 | \PackageWarningNoLine{floatflt}{Floating figures \the\count0\space% 79 | \space and \the\ffigcount\space colliding}% 80 | }% 81 | \fi 82 | \iftabprocessing \PackageWarningNoLine{floatflt}{Floating figure % 83 | \the\ffigcount\space and floating table \the\ftabcount\space colliding} 84 | \fi 85 | \def\@captype{figure} 86 | \global\setlength{\floatfltwidth}{#2} 87 | \global\figprocessingtrue 88 | \global\setbox\figbox=\vbox\bgroup% begin of figbox 89 | \hrule height 0pt width #2 depth 0pt% 90 | \hsize=#2% 91 | } 92 | { 93 | \egroup 94 | \figinsert\par% 95 | } 96 | \newenvironment{floatingtable}[2][v]% 97 | {\@tfor \@tempa :=#1\do 98 | {\if\@tempa r\global\oddpagestrue\fi 99 | \if\@tempa l\global\oddpagesfalse\fi 100 | \if\@tempa p% 101 | \ifodd\c@page\global\oddpagestrue 102 | \else\global\oddpagesfalse\fi 103 | \fi 104 | \if\@tempa v% 105 | \ifnum \theOptionTest=0 106 | \ifodd\c@page\global\oddpagestrue 107 | \else\global\oddpagesfalse\fi 108 | \else 109 | \ifodd\theOptionTest\global\oddpagestrue 110 | \else\global\oddpagesfalse\fi 111 | \fi 112 | \fi 113 | } 114 | \expandafter\ifx\csname oldoutput\endcsname\relax% ref. TeXbook Ex.7.7 115 | \PackageError{floatflt}{The `floatflt' package is not initialized} 116 | {Try to reinstall the `floatflt' package.\MessageBreak 117 | Type `x' to quit or to try to go on.}\@@end\fi 118 | \global\setbox\tabbox=\vbox\bgroup\hrule height 0pt width 0pt depth 0pt% 119 | \hsize=0pt\egroup 120 | \global\everypar={\trytab\oldeverypar} 121 | \global\advance\ftabcount by 1 122 | \iftabprocessing 123 | {\count0=\ftabcount\advance\count0 by -1 124 | \PackageWarningNoLine{floatflt}{Floating tables \the\count0\space% 125 | \space and \the\ftabcount \space colliding}% 126 | } 127 | \fi 128 | \iftabprocessing \PackageWarningNoLine{floatflt}{Floating table % 129 | \the\ffigcount\space and floating figure \the\ftabcount\space colliding} 130 | \fi 131 | \settowidth{\tabbredd}{#2} 132 | \global\setlength{\floatfltwidth}{\tabbredd} 133 | \def\@captype{table} 134 | \global\tabprocessingtrue 135 | \global\setbox\tabbox=\vbox\bgroup% begin of tabbox 136 | \hrule height 0pt width\tabbredd depth 0pt% 137 | \hsize=\tabbredd 138 | \noindent\ifnum\ftabcount >1\ifoddpages\else\hspace*{-12pt}\fi\fi% 139 | #2\vspace{0.2\baselineskip}% 140 | } 141 | { 142 | \egroup% end of \tabbox 143 | \tabinsert\par% 144 | } 145 | \AtBeginDocument{% 146 | \edef\oldoutput{\the\output}% 147 | \output={\the\outputpretest% 148 | \ifoutput\oldoutput\fi} 149 | \outputpretest={\outputtrue} 150 | \edef\oldeverypar{\the\everypar} 151 | } 152 | \def\dofigtest{% 153 | \ifnum\outputpenalty=-10005 154 | \setbox\pagebox=\vbox{\unvbox255}% 155 | \global\pageht=\ht\pagebox 156 | \global\outputfalse 157 | \unvbox\pagebox 158 | \else 159 | \global\outputtrue 160 | \ifdoingfig 161 | \global\pageafterfigtrue 162 | \fi 163 | \fi}% 164 | \def\dotabtest{% 165 | \ifnum\outputpenalty=-10005 166 | \setbox\pagebox=\vbox{\unvbox255}% 167 | \global\pageht=\ht\pagebox 168 | \global\outputfalse 169 | \unvbox\pagebox 170 | \else 171 | \global\outputtrue 172 | \ifdoingtab 173 | \global\pageaftertabtrue 174 | \fi 175 | \fi}% 176 | \def\tryfig{% 177 | \iftryingfig 178 | {\everypar={\relax}\setbox0=\lastbox% 179 | \parindent=\wd0 \parskip=0pt \par% 180 | \penalty-10005 \leavevmode}% 181 | \dimen0=\vsize% 182 | \advance\dimen0 by -\pageht% 183 | \advance\dimen0 by -2\baselineskip% 184 | \ifdim\dimen0>\ht\figbox% 185 | \dimen0=0.3\baselineskip 186 | \vrule depth \dimen0 width 0pt 187 | \vadjust{\kern -\dimen0% 188 | \vtop to \dimen0{% 189 | \baselineskip=\dimen0% 190 | \vss \vbox to 1ex{% 191 | \ifoddpages% 192 | \hbox to \hsize{\hss\copy\figbox}% 193 | \else% leftsetting 194 | \hbox to \hsize{\copy\figbox\hss}% 195 | \fi% \ifodd\count0 196 | \vss}\null}}% 197 | \global\tryingfigfalse% 198 | \global\doingfigtrue 199 | \global\startpageht=\pageht 200 | \global\htdone=0pt 201 | \dohangf 202 | \ifnum\nosuccesstryfig>0% 203 | \typeout{floatflt Message: Flt. fig. \the\ffigcount\space set on page 204 | \the\count0, shifted \the\nosuccesstryfig\space par(s) forward.}% 205 | \else 206 | \typeout{Package floatflt Message: Floating figure \the\ffigcount 207 | \space set on page \the\count0}% 208 | \fi 209 | \else 210 | \global\advance\nosuccesstryfig by 1 211 | \fi 212 | \else% 213 | \ifdoingfig 214 | {\everypar={\relax}\setbox0=\lastbox 215 | \parindent=\wd0 \parskip=0pt \par 216 | \penalty-10005 \leavevmode}% 217 | \global\htdone=\pageht 218 | \global\advance\htdone by -\startpageht 219 | \ifpageafterfig 220 | \global\doingfigfalse 221 | \else 222 | \dimen0=\ht\figbox% 223 | \advance\dimen0 by 0.5\baselineskip% 224 | \ifdim\htdone<\dimen0% 225 | \dohangf 226 | \else 227 | \global\doingfigfalse 228 | \fi 229 | \fi 230 | \ifdoingfig\relax\else\global\figprocessingfalse\fi 231 | \else 232 | \global\outputpretest={\outputtrue}% 233 | \fi 234 | \fi 235 | } 236 | \def\trytab{% 237 | \iftryingtab% 238 | {\everypar={\relax}\setbox0=\lastbox% 239 | \parindent=\wd0 \parskip=0pt \par% 240 | \penalty-10005 \leavevmode}% 241 | \dimen0=\vsize% 242 | \advance\dimen0 by -\pageht% 243 | \advance\dimen0 by -2\baselineskip% 244 | \ifdim\dimen0>\ht\tabbox% 245 | \dimen0=0.3\baselineskip 246 | \vrule depth \dimen0 width 0pt 247 | \vadjust{\kern -\dimen0% 248 | \vtop to \dimen0{% 249 | \baselineskip=\dimen0% 250 | \vss \vbox to 1ex{% 251 | \ifoddpages% 252 | \hbox to \hsize{\hss\copy\tabbox}% 253 | \else% leftsetting 254 | \hbox to \hsize{\copy\tabbox\hss}% 255 | \fi% \ifodd\count0 256 | \vss}\null}}% 257 | \global\tryingtabfalse% 258 | \global\doingtabtrue 259 | \global\startpageht=\pageht 260 | \global\htdone=0pt 261 | \dohangt 262 | \ifnum\nosuccesstrytab>0% 263 | \typeout{floatflt Message: Flt. tab. \the\ftabcount\space set on page 264 | \the\count0, shifted \the\nosuccesstrytab\space par(s) forward.}% 265 | \else 266 | \typeout{Package floatflt Message: Floating table \the\ftabcount\space 267 | set on page \the\count0}% 268 | \fi 269 | \else 270 | \global\advance\nosuccesstrytab by 1 271 | \fi 272 | \else 273 | \ifdoingtab 274 | {\everypar={\relax}\setbox0=\lastbox 275 | \parindent=\wd0 \parskip=0pt \par 276 | \penalty-10005 \leavevmode}% 277 | \global\htdone=\pageht 278 | \global\advance\htdone by -\startpageht 279 | \ifpageaftertab 280 | \global\doingtabfalse 281 | \else 282 | \dimen0=\ht\tabbox% 283 | \advance\dimen0 by 0.5\baselineskip% 284 | \ifdim\htdone<\dimen0% 285 | \dohangt 286 | \else 287 | \global\doingtabfalse 288 | \fi 289 | \fi 290 | \ifdoingtab\relax\else\global\tabprocessingfalse\fi 291 | \else 292 | \global\outputpretest={\outputtrue}% 293 | \fi 294 | \fi 295 | } 296 | \def\figinsert{% 297 | \global\nosuccesstryfig=0% 298 | \global\outputpretest={\dofigtest}% 299 | \global\tryingfigtrue \global\doingfigfalse% 300 | \global\pageafterfigfalse}% 301 | \def\tabinsert{% 302 | \global\nosuccesstrytab=0% 303 | \global\outputpretest={\dotabtest}% 304 | \global\tryingtabtrue \global\doingtabfalse% 305 | \global\pageaftertabfalse}% 306 | \def\dohangf{% 307 | \dimen0=\ht\figbox% 308 | \advance\dimen0 by -\htdone% 309 | \advance\dimen0 by 1.49\baselineskip% 310 | \hangcount=\dimen0% 311 | \divide\hangcount by \baselineskip% 312 | \dimen0=\wd\figbox% 313 | \advance\dimen0 by \figgutter% 314 | \ifoddpages% 315 | \global\hangafter=-\hangcount% placing right 316 | \global\hangindent=-\dimen0% 317 | \else% \ifleftsetting 318 | \global\hangafter=-\hangcount% placing left 319 | \global\hangindent=\dimen0% 320 | \fi 321 | } 322 | \def\dohangt{% 323 | \dimen0=\ht\tabbox% 324 | \advance\dimen0 by -\htdone% 325 | \advance\dimen0 by 1.49\baselineskip% 326 | \hangcount=\dimen0% 327 | \divide\hangcount by \baselineskip% 328 | \dimen0=\wd\tabbox% 329 | \advance\dimen0 by \tabgutter% 330 | \ifoddpages% 331 | \global\hangafter=-\hangcount% placing right 332 | \global\hangindent=-\dimen0% 333 | \else% \ifleftsetting 334 | \global\hangafter=-\hangcount% placing left 335 | \global\hangindent=\dimen0% 336 | \fi 337 | } 338 | \newcommand{\fltitem}[2][0pt]{\setlength{\fltitemwidth}{\linewidth}% 339 | \addtolength{\fltitemwidth}{-\floatfltwidth}% 340 | \addtolength{\fltitemwidth}{-0.5em}% 341 | \item \parbox[t]{\fltitemwidth}{#2}\\[#1]} 342 | \newcommand{\fltditem}[3][0pt]{\setlength{\fltitemwidth}{\linewidth}% 343 | \addtolength{\fltitemwidth}{-\floatfltwidth}% 344 | \addtolength{\fltitemwidth}{-0.5em}% 345 | \item[#2] \parbox[t]{\fltitemwidth}{#3}\\[#1]} 346 | \endinput 347 | %% 348 | %% End of file `floatflt.sty'. 349 | -------------------------------------------------------------------------------- /Bilder/LogoOhmHochschule.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 11 | 13 | 15 | 18 | 19 | 21 | 24 | 25 | 27 | 30 | 31 | 33 | 34 | 37 | 40 | 43 | 46 | 49 | 53 | 57 | 61 | 65 | 69 | 73 | 77 | 81 | 85 | 89 | 93 | 97 | 101 | 105 | 109 | 113 | 117 | 121 | 125 | 129 | 133 | 137 | 141 | 145 | 149 | 153 | 157 | 161 | 165 | 169 | 173 | 177 | 181 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | [![Creative Commons Lizenzvertrag](https://i.creativecommons.org/l/by-sa/4.0/88x31.png)](http://creativecommons.org/licenses/by-sa/4.0/) 2 | LaTeX-Vorlage für meine Masterarbeit an der Ohm-Hochschule Nürnberg von [Stefan Macke](https://github.com/StefanMacke/latex-vorlage-masterarbeit) ist lizenziert unter einer [Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International Lizenz](http://creativecommons.org/licenses/by-sa/4.0/). 3 | 4 | ### _Lizenz_ 5 | 6 | DER GEGENSTAND DIESER LIZENZ (WIE UNTER "SCHUTZGEGENSTAND" DEFINIERT) WIRD UNTER DEN BEDINGUNGEN DIESER CREATIVE COMMONS PUBLIC LICENSE ("CCPL", "LIZENZ" ODER "LIZENZVERTRAG") ZUR VERFÜGUNG GESTELLT. DER SCHUTZGEGENSTAND IST DURCH DAS URHEBERRECHT UND/ODER ANDERE GESETZE GESCHÜTZT. JEDE FORM DER NUTZUNG DES SCHUTZGEGENSTANDES, DIE NICHT AUFGRUND DIESER LIZENZ ODER DURCH GESETZE GESTATTET IST, IST UNZULÄSSIG. 7 | 8 | DURCH DIE AUSÜBUNG EINES DURCH DIESE LIZENZ GEWÄHRTEN RECHTS AN DEM SCHUTZGEGENSTAND ERKLÄREN SIE SICH MIT DEN LIZENZBEDINGUNGEN RECHTSVERBINDLICH EINVERSTANDEN. SOWEIT DIESE LIZENZ ALS LIZENZVERTRAG ANZUSEHEN IST, GEWÄHRT IHNEN DER LIZENZGEBER DIE IN DER LIZENZ GENANNTEN RECHTE UNENTGELTLICH UND IM AUSTAUSCH DAFÜR, DASS SIE DAS GEBUNDENSEIN AN DIE LIZENZBEDINGUNGEN AKZEPTIEREN. 9 | 10 | **1\. Definitionen** 11 | 12 | 1. Der Begriff "**Abwandlung**" im Sinne dieser Lizenz bezeichnet das Ergebnis jeglicher Art von Veränderung des Schutzgegenstandes, solange die eigenpersönlichen Züge des Schutzgegenstandes darin nicht verblassen und daran eigene Schutzrechte entstehen. Das kann insbesondere eine Bearbeitung, Umgestaltung, Änderung, Anpassung, Übersetzung oder Heranziehung des Schutzgegenstandes zur Vertonung von Laufbildern sein. Nicht als Abwandlung des Schutzgegenstandes gelten seine Aufnahme in eine Sammlung oder ein Sammelwerk und die freie Benutzung des Schutzgegenstandes. 13 | 2. Der Begriff "**Sammelwerk**" im Sinne dieser Lizenz meint eine Zusammenstellung von literarischen, künstlerischen oder wissenschaftlichen Inhalten, sofern diese Zusammenstellung aufgrund von Auswahl und Anordnung der darin enthaltenen selbständigen Elemente eine geistige Schöpfung darstellt, unabhängig davon, ob die Elemente systematisch oder methodisch angelegt und dadurch einzeln zugänglich sind oder nicht. 14 | 3. "**Verbreiten**" im Sinne dieser Lizenz bedeutet, den Schutzgegenstand oder Abwandlungen im Original oder in Form von Vervielfältigungsstücken, mithin in körperlich fixierter Form der Öffentlichkeit anzubieten oder in Verkehr zu bringen. 15 | 4. Unter "**Lizenzelementen**" werden im Sinne dieser Lizenz die folgenden übergeordneten Lizenzcharakteristika verstanden, die vom Lizenzgeber ausgewählt wurden und in der Bezeichnung der Lizenz zum Ausdruck kommen: "Namensnennung", "Weitergabe unter gleichen Bedingungen". 16 | 5. Der "**Lizenzgeber**" im Sinne dieser Lizenz ist diejenige natürliche oder juristische Person oder Gruppe, die den Schutzgegenstand unter den Bedingungen dieser Lizenz anbietet und insoweit als Rechteinhaberin auftritt. 17 | 6. "**Rechteinhaber**" im Sinne dieser Lizenz ist der Urheber des Schutzgegenstandes oder jede andere natürliche oder juristische Person oder Gruppe von Personen, die am Schutzgegenstand ein Immaterialgüterrecht erlangt hat, welches die in Abschnitt 3 genannten Handlungen erfasst und bei dem eine Einräumung von Nutzungsrechten oder eine Weiterübertragung an Dritte möglich ist. 18 | 7. Der Begriff "**Schutzgegenstand**" bezeichnet in dieser Lizenz den literarischen, künstlerischen oder wissenschaftlichen Inhalt, der unter den Bedingungen dieser Lizenz angeboten wird. Das kann insbesondere eine persönliche geistige Schöpfung jeglicher Art, ein Werk der kleinen Münze, ein nachgelassenes Werk oder auch ein Lichtbild oder anderes Objekt eines verwandten Schutzrechts sein, unabhängig von der Art seiner Fixierung und unabhängig davon, auf welche Weise jeweils eine Wahrnehmung erfolgen kann, gleichviel ob in analoger oder digitaler Form. Soweit Datenbanken oder Zusammenstellungen von Daten einen immaterialgüterrechtlichen Schutz eigener Art genießen, unterfallen auch sie dem Begriff "Schutzgegenstand" im Sinne dieser Lizenz. 19 | 8. Mit "**Sie**" bzw. "**Ihnen**" ist die natürliche oder juristische Person gemeint, die in dieser Lizenz im Abschnitt 3 genannte Nutzungen des Schutzgegenstandes vornimmt und zuvor in Hinblick auf den Schutzgegenstand nicht gegen Bedingungen dieser Lizenz verstoßen oder aber die ausdrückliche Erlaubnis des Lizenzgebers erhalten hat, die durch diese Lizenz gewährten Nutzungsrechte trotz eines vorherigen Verstoßes auszuüben. 20 | 9. Unter "**Öffentlich Zeigen**" im Sinne dieser Lizenz sind Veröffentlichungen und Präsentationen des Schutzgegenstandes zu verstehen, die für eine Mehrzahl von Mitgliedern der Öffentlichkeit bestimmt sind und in unkörperlicher Form mittels öffentlicher Wiedergabe in Form von Vortrag, Aufführung, Vorführung, Darbietung, Sendung, Weitersendung, zeit- und ortsunabhängiger Zugänglichmachung oder in körperlicher Form mittels Ausstellung erfolgen, unabhängig von bestimmten Veranstaltungen und unabhängig von den zum Einsatz kommenden Techniken und Verfahren, einschließlich drahtgebundener oder drahtloser Mittel und Einstellen in das Internet. 21 | 10. "**Vervielfältigen**" im Sinne dieser Lizenz bedeutet, mittels beliebiger Verfahren Vervielfältigungsstücke des Schutzgegenstandes herzustellen, insbesondere durch Ton- oder Bildaufzeichnungen, und umfasst auch den Vorgang, erstmals körperliche Fixierungen des Schutzgegenstandes sowie Vervielfältigungsstücke dieser Fixierungen anzufertigen, sowie die Übertragung des Schutzgegenstandes auf einen Bild- oder Tonträger oder auf ein anderes elektronisches Medium, gleichviel ob in digitaler oder analoger Form. 22 | 11. "**Mit Creative Commons kompatible Lizenz**" bezeichnet eine Lizenz, die unter https://creativecommons.org/compatiblelicenses aufgelistet ist und die durch Creative Commons als grundsätzlich zur vorliegenden Lizenz äquivalent akzeptiert wurde, da zumindest folgende Voraussetzungen erfüllt sind: 23 | 24 | Diese mit Creative Commons kompatible Lizenz 25 | 26 | 1. enthält Bestimmungen, welche die gleichen Ziele verfolgen, die gleiche Bedeutung haben und die gleichen Wirkungen erzeugen wie die Lizenzelemente der vorliegenden Lizenz; und 27 | 2. erlaubt ausdrücklich das Lizenzieren von ihr unterstellten Abwandlungen unter vorliegender Lizenz, unter einer anderen rechtsordnungsspezifisch angepassten Creative-Commons-Lizenz mit denselben Lizenzelementen, wie sie die vorliegende Lizenz aufweist, oder unter der entsprechenden Creative-Commons-Unported-Lizenz. 28 | 29 | **2\. Schranken des Immaterialgüterrechts** 30 | 31 | Diese Lizenz ist in keiner Weise darauf gerichtet, Befugnisse zur Nutzung des Schutzgegenstandes zu vermindern, zu beschränken oder zu vereiteln, die Ihnen aufgrund der Schranken des Urheberrechts oder anderer Rechtsnormen bereits ohne Weiteres zustehen oder sich aus dem Fehlen eines immaterialgüterrechtlichen Schutzes ergeben. 32 | 33 | **3\. Einräumung von Nutzungsrechten** 34 | 35 | Unter den Bedingungen dieser Lizenz räumt Ihnen der Lizenzgeber - unbeschadet unverzichtbarer Rechte und vorbehaltlich des Abschnitts 3.e) - das vergütungsfreie, räumlich und zeitlich (für die Dauer des Schutzrechts am Schutzgegenstand) unbeschränkte einfache Recht ein, den Schutzgegenstand auf die folgenden Arten und Weisen zu nutzen ("unentgeltlich eingeräumtes einfaches Nutzungsrecht für jedermann"): 36 | 37 | 1. Den Schutzgegenstand in beliebiger Form und Menge zu vervielfältigen, ihn in Sammelwerke zu integrieren und ihn als Teil solcher Sammelwerke zu vervielfältigen; 38 | 2. Abwandlungen des Schutzgegenstandes anzufertigen, einschließlich Übersetzungen unter Nutzung jedweder Medien, sofern deutlich erkennbar gemacht wird, dass es sich um Abwandlungen handelt; 39 | 3. den Schutzgegenstand, allein oder in Sammelwerke aufgenommen, öffentlich zu zeigen und zu verbreiten; 40 | 4. Abwandlungen des Schutzgegenstandes zu veröffentlichen, öffentlich zu zeigen und zu verbreiten. 41 | 5. Bezüglich Vergütung für die Nutzung des Schutzgegenstandes gilt Folgendes: 42 | 43 | 1. **Unverzichtbare gesetzliche Vergütungsansprüche**: Soweit unverzichtbare Vergütungsansprüche im Gegenzug für gesetzliche Lizenzen vorgesehen oder Pauschalabgabensysteme (zum Beispiel für Leermedien) vorhanden sind, behält sich der Lizenzgeber das ausschließliche Recht vor, die entsprechende Vergütung einzuziehen für jede Ausübung eines Rechts aus dieser Lizenz durch Sie. 44 | 2. **Vergütung bei Zwangslizenzen**: Sofern Zwangslizenzen außerhalb dieser Lizenz vorgesehen sind und zustande kommen, verzichtet der Lizenzgeber für alle Fälle einer lizenzgerechten Nutzung des Schutzgegenstandes durch Sie auf jegliche Vergütung. 45 | 3. **Vergütung in sonstigen Fällen**: Bezüglich lizenzgerechter Nutzung des Schutzgegenstandes durch Sie, die nicht unter die beiden vorherigen Abschnitte (i) und (ii) fällt, verzichtet der Lizenzgeber auf jegliche Vergütung, unabhängig davon, ob eine Einziehung der Vergütung durch ihn selbst oder nur durch eine Verwertungsgesellschaft möglich wäre. 46 | 47 | Das vorgenannte Nutzungsrecht wird für alle bekannten sowie für alle noch nicht bekannten Nutzungsarten eingeräumt. Es beinhaltet auch das Recht, solche Änderungen am Schutzgegenstand vorzunehmen, die für bestimmte nach dieser Lizenz zulässige Nutzungen technisch erforderlich sind. Alle sonstigen Rechte, die über diesen Abschnitt hinaus nicht ausdrücklich durch den Lizenzgeber eingeräumt werden, bleiben diesem allein vorbehalten. Soweit Datenbanken oder Zusammenstellungen von Daten Schutzgegenstand dieser Lizenz oder Teil dessen sind und einen immaterialgüterrechtlichen Schutz eigener Art genießen, verzichtet der Lizenzgeber auf sämtliche aus diesem Schutz resultierenden Rechte. 48 | 49 | **4\. Bedingungen** 50 | 51 | Die Einräumung des Nutzungsrechts gemäß Abschnitt 3 dieser Lizenz erfolgt ausdrücklich nur unter den folgenden Bedingungen: 52 | 53 | 1. Sie dürfen den Schutzgegenstand ausschließlich unter den Bedingungen dieser Lizenz verbreiten oder öffentlich zeigen. Sie müssen dabei stets eine Kopie dieser Lizenz oder deren vollständige Internetadresse in Form des Uniform-Resource-Identifier (URI) beifügen. Sie dürfen keine Vertrags- oder Nutzungsbedingungen anbieten oder fordern, die die Bedingungen dieser Lizenz oder die durch diese Lizenz gewährten Rechte beschränken. Sie dürfen den Schutzgegenstand nicht unterlizenzieren. Bei jeder Kopie des Schutzgegenstandes, die Sie verbreiten oder öffentlich zeigen, müssen Sie alle Hinweise unverändert lassen, die auf diese Lizenz und den Haftungsausschluss hinweisen. Wenn Sie den Schutzgegenstand verbreiten oder öffentlich zeigen, dürfen Sie (in Bezug auf den Schutzgegenstand) keine technischen Maßnahmen ergreifen, die den Nutzer des Schutzgegenstandes in der Ausübung der ihm durch diese Lizenz gewährten Rechte behindern können. Dieser Abschnitt 4.a) gilt auch für den Fall, dass der Schutzgegenstand einen Bestandteil eines Sammelwerkes bildet, was jedoch nicht bedeutet, dass das Sammelwerk insgesamt dieser Lizenz unterstellt werden muss. Sofern Sie ein Sammelwerk erstellen, müssen Sie auf die Mitteilung eines Lizenzgebers hin aus dem Sammelwerk die in Abschnitt 4.c) aufgezählten Hinweise entfernen. Wenn Sie eine Abwandlung vornehmen, müssen Sie auf die Mitteilung eines Lizenzgebers hin von der Abwandlung die in Abschnitt 4.c) aufgezählten Hinweise entfernen. 54 | 2. Sie dürfen eine Abwandlung ausschließlich unter den Bedingungen 55 | 56 | 1. dieser Lizenz, 57 | 2. einer späteren Version dieser Lizenz mit denselben Lizenzelementen, 58 | 3. einer rechtsordnungsspezifischen Creative-Commons-Lizenz mit denselben Lizenzelementen ab Version 3.0 aufwärts (z.B. Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 US), 59 | 4. der Creative-Commons-Unported-Lizenz mit denselben Lizenzelementen ab Version 3.0 aufwärts, oder 60 | 5. einer mit Creative Commons kompatiblen Lizenz 61 | verbreiten oder öffentlich zeigen. 62 | 63 | Falls Sie die Abwandlung gemäß Abschnitt (v) unter einer mit Creative Commons kompatiblen Lizenz lizenzieren, müssen Sie deren Lizenzbestimmungen Folge leisten. 64 | 65 | Falls Sie die Abwandlungen unter einer der unter (i)-(iv) genannten Lizenzen ("Verwendbare Lizenzen") lizenzieren, müssen Sie deren Lizenzbestimmungen sowie folgenden Bestimmungen Folge leisten: Sie müssen stets eine Kopie der verwendbaren Lizenz oder deren vollständige Internetadresse in Form des Uniform-Resource-Identifier (URI) beifügen, wenn Sie die Abwandlung verbreiten oder öffentlich zeigen. Sie dürfen keine Vertrags- oder Nutzungsbedingungen anbieten oder fordern, die die Bedingungen der verwendbaren Lizenz oder die durch sie gewährten Rechte beschränken. Bei jeder Abwandlung, die Sie verbreiten oder öffentlich zeigen, müssen Sie alle Hinweise auf die verwendbare Lizenz und den Haftungsausschluss unverändert lassen. Wenn Sie die Abwandlung verbreiten oder öffentlich zeigen, dürfen Sie (in Bezug auf die Abwandlung) keine technischen Maßnahmen ergreifen, die den Nutzer der Abwandlung in der Ausübung der ihm durch die verwendbare Lizenz gewährten Rechte behindern können. Dieser Abschnitt 4.b) gilt auch für den Fall, dass die Abwandlung einen Bestandteil eines Sammelwerkes bildet, was jedoch nicht bedeutet, dass das Sammelwerk insgesamt der verwendbaren Lizenz unterstellt werden muss. 66 | 67 | 3. Die Verbreitung und das öffentliche Zeigen des Schutzgegenstandes oder auf ihm aufbauender Abwandlungen oder ihn enthaltender Sammelwerke ist Ihnen nur unter der Bedingung gestattet, dass Sie, vorbehaltlich etwaiger Mitteilungen im Sinne von Abschnitt 4.a), alle dazu gehörenden Rechtevermerke unberührt lassen. Sie sind verpflichtet, die Rechteinhaberschaft in einer der Nutzung entsprechenden, angemessenen Form anzuerkennen, indem Sie - soweit bekannt - Folgendes angeben: 68 | 69 | 1. Den Namen (oder das Pseudonym, falls ein solches verwendet wird) des Rechteinhabers und / oder, falls der Lizenzgeber im Rechtevermerk, in den Nutzungsbedingungen oder auf andere angemessene Weise eine Zuschreibung an Dritte vorgenommen hat (z.B. an eine Stiftung, ein Verlagshaus oder eine Zeitung) ("Zuschreibungsempfänger"), Namen bzw. Bezeichnung dieses oder dieser Dritten; 70 | 2. den Titel des Inhaltes; 71 | 3. in einer praktikablen Form den Uniform-Resource-Identifier (URI, z.B. Internetadresse), den der Lizenzgeber zum Schutzgegenstand angegeben hat, es sei denn, dieser URI verweist nicht auf den Rechtevermerk oder die Lizenzinformationen zum Schutzgegenstand; 72 | 4. und im Falle einer Abwandlung des Schutzgegenstandes in Übereinstimmung mit Abschnitt 3.b) einen Hinweis darauf, dass es sich um eine Abwandlung handelt. 73 | Die nach diesem Abschnitt 4.c) erforderlichen Angaben können in jeder angemessenen Form gemacht werden; im Falle einer Abwandlung des Schutzgegenstandes oder eines Sammelwerkes müssen diese Angaben das Minimum darstellen und bei gemeinsamer Nennung mehrerer Rechteinhaber dergestalt erfolgen, dass sie zumindest ebenso hervorgehoben sind wie die Hinweise auf die übrigen Rechteinhaber. Die Angaben nach diesem Abschnitt dürfen Sie ausschließlich zur Angabe der Rechteinhaberschaft in der oben bezeichneten Weise verwenden. Durch die Ausübung Ihrer Rechte aus dieser Lizenz dürfen Sie ohne eine vorherige, separat und schriftlich vorliegende Zustimmung des Lizenzgebers und / oder des Zuschreibungsempfängers weder explizit noch implizit irgendeine Verbindung zum Lizenzgeber oder Zuschreibungsempfänger und ebenso wenig eine Unterstützung oder Billigung durch ihn andeuten. 74 | 75 | 4. Die oben unter 4.a) bis c) genannten Einschränkungen gelten nicht für solche Teile des Schutzgegenstandes, die allein deshalb unter den Schutzgegenstandsbegriff fallen, weil sie als Datenbanken oder Zusammenstellungen von Daten einen immaterialgüterrechtlichen Schutz eigener Art genießen. 76 | 5. Persönlichkeitsrechte bleiben - soweit sie bestehen - von dieser Lizenz unberührt. 77 | 78 | **5\. Gewährleistung** 79 | 80 | SOFERN KEINE ANDERS LAUTENDE, SCHRIFTLICHE VEREINBARUNG ZWISCHEN DEM LIZENZGEBER UND IHNEN GESCHLOSSEN WURDE UND SOWEIT MÄNGEL NICHT ARGLISTIG VERSCHWIEGEN WURDEN, BIETET DER LIZENZGEBER DEN SCHUTZGEGENSTAND UND DIE EINRÄUMUNG VON RECHTEN UNTER AUSSCHLUSS JEGLICHER GEWÄHRLEISTUNG AN UND ÜBERNIMMT WEDER AUSDRÜCKLICH NOCH KONKLUDENT GARANTIEN IRGENDEINER ART. DIES UMFASST INSBESONDERE DAS FREISEIN VON SACH- UND RECHTSMÄNGELN, UNABHÄNGIG VON DEREN ERKENNBARKEIT FÜR DEN LIZENZGEBER, DIE VERKEHRSFÄHIGKEIT DES SCHUTZGEGENSTANDES, SEINE VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK SOWIE DIE KORREKTHEIT VON BESCHREIBUNGEN. DIESE GEWÄHRLEISTUNGSBESCHRÄNKUNG GILT NICHT, SOWEIT MÄNGEL ZU SCHÄDEN DER IN ABSCHNITT 6 BEZEICHNETEN ART FÜHREN UND AUF SEITEN DES LIZENZGEBERS DAS JEWEILS GENANNTE VERSCHULDEN BZW. VERTRETENMÜSSEN EBENFALLS VORLIEGT. 81 | 82 | **6\. Haftungsbeschränkung** 83 | 84 | DER LIZENZGEBER HAFTET IHNEN GEGENÜBER IN BEZUG AUF SCHÄDEN AUS DER VERLETZUNG DES LEBENS, DES KÖRPERS ODER DER GESUNDHEIT NUR, SOFERN IHM WENIGSTENS FAHRLÄSSIGKEIT VORZUWERFEN IST, FÜR SONSTIGE SCHÄDEN NUR BEI GROBER FAHRLÄSSIGKEIT ODER VORSATZ, UND ÜBERNIMMT DARÜBER HINAUS KEINERLEI FREIWILLIGE HAFTUNG. 85 | 86 | **7\. Erlöschen** 87 | 88 | 1. Diese Lizenz und die durch sie eingeräumten Nutzungsrechte erlöschen mit Wirkung für die Zukunft im Falle eines Verstoßes gegen die Lizenzbedingungen durch Sie, ohne dass es dazu der Kenntnis des Lizenzgebers vom Verstoß oder einer weiteren Handlung einer der Vertragsparteien bedarf. Mit natürlichen oder juristischen Personen, die Abwandlungen des Schutzgegenstandes oder diesen enthaltende Sammelwerke unter den Bedingungen dieser Lizenz von Ihnen erhalten haben, bestehen nachträglich entstandene Lizenzbeziehungen jedoch solange weiter, wie die genannten Personen sich ihrerseits an sämtliche Lizenzbedingungen halten. Darüber hinaus gelten die Ziffern 1, 2, 5, 6, 7, und 8 auch nach einem Erlöschen dieser Lizenz fort. 89 | 2. Vorbehaltlich der oben genannten Bedingungen gilt diese Lizenz unbefristet bis der rechtliche Schutz für den Schutzgegenstand ausläuft. Davon abgesehen behält der Lizenzgeber das Recht, den Schutzgegenstand unter anderen Lizenzbedingungen anzubieten oder die eigene Weitergabe des Schutzgegenstandes jederzeit einzustellen, solange die Ausübung dieses Rechts nicht einer Kündigung oder einem Widerruf dieser Lizenz (oder irgendeiner Weiterlizenzierung, die auf Grundlage dieser Lizenz bereits erfolgt ist bzw. zukünftig noch erfolgen muss) dient und diese Lizenz unter Berücksichtigung der oben zum Erlöschen genannten Bedingungen vollumfänglich wirksam bleibt. 90 | 91 | **8\. Sonstige Bestimmungen** 92 | 93 | 1. Jedes Mal wenn Sie den Schutzgegenstand für sich genommen oder als Teil eines Sammelwerkes verbreiten oder öffentlich zeigen, bietet der Lizenzgeber dem Empfänger eine Lizenz zu den gleichen Bedingungen und im gleichen Umfang an, wie Ihnen in Form dieser Lizenz. 94 | 2. Jedes Mal wenn Sie eine Abwandlung des Schutzgegenstandes verbreiten oder öffentlich zeigen, bietet der Lizenzgeber dem Empfänger eine Lizenz am ursprünglichen Schutzgegenstand zu den gleichen Bedingungen und im gleichen Umfang an, wie Ihnen in Form dieser Lizenz. 95 | 3. Sollte eine Bestimmung dieser Lizenz unwirksam sein, so bleibt davon die Wirksamkeit der Lizenz im Übrigen unberührt. 96 | 4. Keine Bestimmung dieser Lizenz soll als abbedungen und kein Verstoß gegen sie als zulässig gelten, solange die von dem Verzicht oder von dem Verstoß betroffene Seite nicht schriftlich zugestimmt hat. 97 | 5. Diese Lizenz (zusammen mit in ihr ausdrücklich vorgesehenen Erlaubnissen, Mitteilungen und Zustimmungen, soweit diese tatsächlich vorliegen) stellt die vollständige Vereinbarung zwischen dem Lizenzgeber und Ihnen in Bezug auf den Schutzgegenstand dar. Es bestehen keine Abreden, Vereinbarungen oder Erklärungen in Bezug auf den Schutzgegenstand, die in dieser Lizenz nicht genannt sind. Rechtsgeschäftliche Änderungen des Verhältnisses zwischen dem Lizenzgeber und Ihnen sind nur über Modifikationen dieser Lizenz möglich. Der Lizenzgeber ist an etwaige zusätzliche, einseitig durch Sie übermittelte Bestimmungen nicht gebunden. Diese Lizenz kann nur durch schriftliche Vereinbarung zwischen Ihnen und dem Lizenzgeber modifiziert werden. Derlei Modifikationen wirken ausschließlich zwischen dem Lizenzgeber und Ihnen und wirken sich nicht auf die Dritten gemäß Ziffern 8.a) und b) angeboteten Lizenzen aus. 98 | 6. Sofern zwischen Ihnen und dem Lizenzgeber keine anderweitige Vereinbarung getroffen wurde und soweit Wahlfreiheit besteht, findet auf diesen Lizenzvertrag das Recht der Bundesrepublik Deutschland Anwendung. -------------------------------------------------------------------------------- /natdin.bst: -------------------------------------------------------------------------------- 1 | %% natdin.bst Vers. [3.1] 2006-01-02 mit PWD cite-multimode 2 | %% 3 | %% Aenderungen seit Vers. [3.0bx]: 4 | %% a) Funktions-Zusaetze bei Autoren sind nun moeglich 5 | %% b) Internetquellen ohne Zusatz "Online--Ressource" ! 6 | %% c) verbesserte INPROCEEDINGS, PROCEEDINGS-Funktionen 7 | %% d) neue TECHREPORT und MANUAL-Funktionen 8 | %% e) neue format.pages.book-Funktion 9 | %% f) neue format.online.lastchecked-Funktion 10 | %% 11 | %% 12 | %% K.F.Lorenzen (Copyright 1994-2006) email: lorenzen.marxen@t-online.de 13 | %% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 14 | %% Mit diesem BibTex-style werden Literaturverzeichnisse nach dem deutschen 15 | %% Standard DIN 1505, Teil 2 und 3 formatiert. Die label im Quellen-/ 16 | %% Literaturverzeichnis sind vom Typ 'Verfasser - Jahr' und 17 | %% entsprechen den Zitatformen im Text. Es koennen alle von 18 | %% Patrick W. Daly im natbib-Paket implementierten Zitierbefehle 19 | %% genutzt werden. Eine Kurzbeschreibung liegt als Datei natnotes.pdf zusammen 20 | %% mit der im Aufbau befindlichen Beschreibung des natdin-Stils 21 | %% unter der URL http://www.haw-hamburg.de/pers/Lorenzen/bibtex. 22 | %% Eine Anleitung zur Anwendung der Norm DIN 1505 findet sich unter der 23 | %% URL http://www.bui.haw-hamburg.de/pers/klaus.lorenzen/ASP/litverz.pdf 24 | %% 25 | %% Es werden nun auch Elektronische Online / Offline Ressourcen wie 26 | %% Internetquellen, CD-ROM usw. verarbeitet. Dazu kommen spezielle 27 | %% Publikationsformen wie Patente, Normen, Karten, Fernsehaufzeichnungen, 28 | %% Gesetzesstellen, Spiele u.a. 29 | % 30 | %% NATDIN.BST muss zusammen mit NATBIB.STY von Patrick W. Daly und der in 31 | %% dieser Verteilung modifizierten Konfiguration NATBIB.CFG aufgerufen 32 | %% werden. NATDIN.BST ist vorzugsweise in den ...\bibtex\bst - Pfad zu 33 | %% stellen. Die jeweils individuelle Konfiguration NATBIB.CFG wird am 34 | %% besten in das Verzeichnis der LaTex-Quelle selbst gelegt. 35 | %% 36 | %% Eine Muster-Konfiguration wird auf Vorschlag von Helge Baumann eingefuegt: 37 | % ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 38 | % NATBIB.CFG in Verbindung mit natbib.sty Lorenzen, 2005-05-31 39 | % diese Konfigurationsdatei wird zuletzt eingelesen und 40 | % enthaelt die lokal gewuenschten Einstellungen fuer den 41 | % Bibliographie-- und Zitierstil 42 | % 43 | % \newcommand{\bibstyle@natdin}% 44 | % {\bibpunct{(}{)}{;}{a}{}{,~} 45 | % \gdef\NAT@biblabelnum##1{\textbf{##1}\\}} %% \\ bewirkt Zeilenumbruch 46 | % %% nach label-Ausgabe 47 | % 48 | % \bibstyle@natdin 49 | % 50 | % % Einzug der Belege nach der Einordnungsmarke 51 | % \setlength{\bibhang}{7mm} 52 | % 53 | %% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 54 | %% 55 | %% Zur Gewaehrleistung der Allgemeingueltigkeit von bib-files gelten 56 | %% in den DIN-styles mit einer einzigen Ausnahme die in der Tex-Literatur 57 | %% veroeffentlichten originalen Definitionen und Regeln fuer die 58 | %% Publikationstypen (entry-types) und die bibliographischen Felder (fields). 59 | %% Die Ausnahme bezieht sich auf den entry-type PROCEEDINGS und das Feld 60 | %% address, fuer das Oren Patashnik dort die Sonderbedeutung "Konferenzort" 61 | %% gewaehlt hatte. In den DIN-Stilen behaelt address auch hier seine normale 62 | %% Bedeutung als "Verlagsort" bei! 63 | %% In einigen entry-types werden zu Gunsten bibliographischer Vollstaendigkeit 64 | %% mehr optionale Felder verwendet als seinerzeit von Patashnik angegeben. 65 | %% Treten "Schoenheitsfehler" im fertig gesetzten output auf, 66 | %% lassen sich diese so gut wie immer durch eine veraenderte 67 | %% Erfassung im bib-inputfile beseitigen. Oren Patashnik empfiehlt, die 68 | %% Definition der Felder weit auszulegen. Last but not least koennen 69 | %% Sie im output-file < *.bbl > noch letzte Hand zur Korrektur ansetzen. 70 | %% Wegen der meist langen Internetadressen kann es zu "unschoenen" Luecken 71 | %% im Belegtext kommen. Dann muss mit \underfull hbox.... gekaempft werden. 72 | %% 73 | %% Die Darstellung von Internetadressen wird durch das Zusatzpaket 74 | %% url.sty ver 3.1, 15-Mar-2004 von Donald Arseneau erheblich verbessert und 75 | %% wird sehr empfohlen. 76 | %% 77 | %% HYPERREF-Paket: wird dieses Paket zusaetzlich geladen, werden im output 78 | %% aktivierbare externe (URLs usw.) und interne (Dokumentbezogene) Links 79 | %% gesetzt. Sehr gute Zusammenarbeit mit PDFLaTex u.a. 80 | % 81 | %% WARN- UND FEHLERMELDUNGEN 82 | %% Ursache von Warnmeldungen sind meistens ausgelassene Felder oder 83 | %% Erfassungs-"Fehler". Letztere haengen teilweise mit den gegenueber US- 84 | %% Gepflogenheiten andersartigen bibliographischen Regeln nach DIN 1505 85 | %% zusammen. Sie sind also in Wahrheit keine "Fehler" und duerfen fast immer 86 | %% ignoriert werden. Dennoch pruefen Sie diese Warnungen, um heraus zu finden, 87 | %% ob Publikationstyp (=entry-type) und "fields" eventuell unzulaessig 88 | %% kombiniert worden sind. 89 | %% Echte Fehler ("errors") duerften nur noch bei bibliographisch falscher 90 | %% Erfassung auftreten. Pruefen Sie die Syntax, den entry-type und die fields. 91 | %% Zu guter letzt: Qualitaetsmasstab ist einzig der DIN-konforme output! 92 | %% 93 | %% DANKSAGUNG 94 | %% Hartmut Lueddecke, HAW Hamburg, hat viele Verbesserungsvorschlaege 95 | %% in die frueheren Versionen eingebracht. Ihm danke ich herzlich. 96 | %% Patrick W. Daly, dem Entwickler des Natbib-Stils, verdanke ich viele 97 | %% Anregungen und den steten Ansporn, die DIN-Stile zu verbessern. 98 | %% Helge Baumann hatte mit seiner Weiterentwicklung meines alten natdin.bst 99 | %% zu dinat.bst (Vers. 2001) die volle Zitierkapazitaet des natbib-Pakets 100 | %% eingefuehrt. Damit war ein deutlicher Zugewinn erreicht. Von ihm stammt 101 | %% der in der vorliegenden natdin.bst-Version 3.0x neu eingefuehrte Befehl 102 | %% \dinatlabel unter seinem von H. Baumann vergebenen Namen. 103 | %% Viele an dieser Stelle ungenannt bleibende Anwender haben mich in 104 | %% den vergangenen Jahren auf Fehler oder Verbesserungsmoeglichkeiten 105 | %% aufmerksam gemacht und so diesen Stil mitentwickelt. Ihnen gilt mein 106 | %% besonderer Dank. Ihr Feedback ist immer willkommen und eine Ermunterung. 107 | %% 108 | %% Klaus F. Lorenzen 109 | %% 110 | %% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 111 | %% version 0.99c for BibTeX versions 0.99c or later, LaTeX2e version 112 | %% Copyright (C) 1985, all rights reserved. 113 | %% Copying of this file is authorized only if either 114 | %% (1) you make absolutely no changes to your copy, including name, or 115 | %% (2) if you do make changes, you name it something other than 116 | %% natdin.bst, natbib.sty 117 | %% This restriction helps ensure that all standard styles are identical. 118 | %% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 119 | %% 120 | %% NEUE FELDER 121 | %% Zur Erfassung von Internetquellen, E-mail u.a. gibt es folgende 122 | %% neue Felder: doi, lastchecked (nach Gray), url, urn 123 | %% Internetquellen (z.B. auch E-mail) werden vorzugsweise mit dem 124 | %% BOOKLET-Typ erfasst. 125 | %% Normen, Patente, Schutzrechte, Gesetzesstellen sind mit dem MISC-Typ 126 | %% zu erfassen. 127 | %% 128 | 129 | 130 | ENTRY 131 | { address %% Verlagsort (immer!) 132 | author %% persoenlicher Urheber eines Werkes oder am Zustandekommen 133 | %% beteiligte Personen(=Mitarbeiter, Uebersetzer, Redakteur u.a.) 134 | booktitle %% a) Gesamttitel eines mehrbaendigen Werkes 135 | % %% b) Titel des Sammelwerks, das einzelne selbstaendige 136 | % %% Beitraege mit eigenem Titel enthaelt ->incollection 137 | chapter %% Kapitel in einem Buch (Monographie) 138 | doi %%% Digital Object Identifier ->article 139 | edition %% a) Auflagevermerk 140 | % %% b) bei selbst. elektron. Quellen == Version ->booklet 141 | editor %% Persoenl.Herausgeber oder Koerperschaftlicher Herausgeber 142 | howpublished %% beliebiger Verlegervermerk: veroeffentlicht "von wem, wo" 143 | institution %% Institution, die e.verlagsfreie Veroeffentlichung betreibt 144 | isbn %% Standardnr fuer Buecher 145 | issn %% - " - : Zeitschriften u. Serien 146 | journal %% Titel einer Zeitschrift 147 | key %% Zusaetzlich vergebener Sortierschluessel, mitunter notwend. 148 | lastchecked %% neues Feld fuer das Datum des Online-Abrufs 149 | % %% einer Internetquelle (n. GRAY ) 150 | month %% naehere Bestimmung des Erscheinungsjahres -> macro 's 151 | note %% freies Eingabefeld fuer zusaetzliche Informationen z. Quelle 152 | number %% Versch. Bedeutungen in Abhaengigkeit vom Eingabetyp: 153 | % %% a) Bandnummer einer gezaehlten Reihe (series) 154 | % %% b) Heftnummer einer Zeitschrift ->article 155 | % %% c) Nummer eines Forschungsberichts ->techreport 156 | organization %% a) Name der Organisation/des Organisators e. Tagung,Konferenz 157 | % %% b) Name einer Firma/Gesellschaft, die ein ->manual herausgab 158 | pages %% Umfangsangaben, meist Seitenzahlen 159 | publisher %% Verlag 160 | school %% Hochschule/Universitaet, die eine Dipl.-Arb./Dissertation veroeff. 161 | series %% Titel e.Reihe, in der ein best. Buchtitel erschienen ist 162 | title %% Titel einer (namentlich gekennzeichneten) Veroeffentlichung 163 | type %% Zusatzfeld z.Kennzeichnung e.besonderen Publikationstyps 164 | url %% neues Feld URL ( Uniform Resource Locator ): 165 | % %% Serveradresse einer Internetquelle 166 | urn %% neues Feld URN ( Uniform Resource Name ): 167 | % %% Persistent Identifier einer Internetquelle 168 | volume %% a) Zaehlung bei einem mehrbaendigen Werk ->book/->proceedings 169 | % %% b) Jahrgang einer Zeitschrift ->article 170 | year %% Erscheinungsjahr 171 | } 172 | {} 173 | { label extra.label sort.label short.list dinat.label} 174 | 175 | %%%---------------------------------------------------------------------------- 176 | % Einige Standardvorgaben, die vom Benutzer veraendert werden koennen. 177 | %%%---------------------------------------------------------------------------- 178 | 179 | % Abkuerzung ("... und andere") bei Mehrverfasserquellen: 180 | 181 | FUNCTION { ua.etal } { " u.\,a." } %% evtl. auch in eckigen Klammern " [u.\,a.]" 182 | 183 | %% oder lateinisch: FUNCTION { ua.etal } { " et~al." } 184 | 185 | FUNCTION { und } { " und " } 186 | 187 | %% oder ausgeschrieben: FUNCTION { und } { " und " } 188 | 189 | 190 | % Einige elektronische Medien erhalten nach DIN 1505 eine "Ergaenzende Angabe" 191 | % zusaetzlich zum materiellen Typ, z.B. CD ROM oder DVD u.a.: 192 | 193 | FUNCTION { eress } { "Elektronische Ressource" } 194 | %%%----------------------------------------------------------------------------------- 195 | 196 | INTEGERS { output.state before.all mid.sentence after.sentence after.block } 197 | 198 | INTEGERS { after.firstblock } 199 | 200 | INTEGERS { colon.after period.dash } 201 | 202 | INTEGERS { zahl lang } 203 | 204 | INTEGERS { len } 205 | 206 | INTEGERS { longest.label.width last.extra.num number.label } 207 | 208 | INTEGERS { nameptr namesleft numnames } 209 | 210 | INTEGERS { ptr collation collrest } 211 | 212 | STRINGS { longest.label last.label next.extra } 213 | 214 | STRINGS { h s t u v w } 215 | 216 | STRINGS { fkt } 217 | 218 | %%--------------------------- 219 | 220 | FUNCTION {init.state.consts} 221 | { #0 'before.all := 222 | #1 'mid.sentence := 223 | #2 'after.sentence := 224 | #3 'after.block := 225 | #4 'colon.after := 226 | #5 'period.dash := 227 | #6 'after.firstblock := 228 | } 229 | 230 | 231 | 232 | FUNCTION {set.period.dash} %% Wenn ein ". - " die Satzteile trennen soll.! 233 | { output.state before.all = 234 | 'skip$ 235 | { period.dash 'output.state := } 236 | if$ 237 | } 238 | 239 | 240 | FUNCTION {set.period.dash.check} 241 | { empty$ 242 | 'skip$ 243 | 'set.period.dash 244 | if$ 245 | } 246 | 247 | FUNCTION {set.colon.after} %%$$$ Wenn ein ": " d. Satzteile trennen soll! 248 | { output.state before.all = 249 | 'skip$ 250 | { colon.after 'output.state := } 251 | if$ 252 | } 253 | 254 | %% Wenn ein " " die Satzteile trennen soll.! 255 | FUNCTION {new.sentence} 256 | { output.state before.all = 257 | 'skip$ 258 | { after.sentence 'output.state := } 259 | if$ 260 | } 261 | 262 | %% neu 17/2/94 Wenn ein ", " die Satzteile trennen soll.! 263 | FUNCTION { part.of.sentence } 264 | { output.state before.all = 265 | 'skip$ 266 | { mid.sentence 'output.state := } 267 | if$ 268 | } 269 | 270 | FUNCTION {new.sentence.checka} 271 | { empty$ 272 | 'skip$ 273 | 'new.sentence 274 | if$ 275 | } 276 | 277 | FUNCTION {output.nonnull} 278 | { 's := 279 | output.state after.block = 280 | { add.period$ write$ 281 | newline$ 282 | "\newblock " write$ 283 | } 284 | { output.state before.all = 285 | { write$ } 286 | { output.state colon.after = 287 | { ": " * write$ 288 | newline$ 289 | "\newblock " write$ 290 | } 291 | { output.state period.dash = 292 | { ". -- " * write$ 293 | newline$ 294 | "\newblock " write$ 295 | } 296 | { output.state mid.sentence = 297 | { ", " * write$ } 298 | { output.state after.sentence = 299 | { " " * write$ } 300 | { output.state after.firstblock = 301 | { add.period$ write$ 302 | newline$ 303 | "\newblock " write$ 304 | } 305 | { write$ 306 | newline$ 307 | "\newblock " write$ 308 | } 309 | if$ 310 | } 311 | if$ 312 | } 313 | if$ 314 | } 315 | if$ 316 | } 317 | if$ 318 | } 319 | if$ 320 | after.block 'output.state := 321 | } 322 | if$ 323 | s 324 | } 325 | 326 | FUNCTION {output} 327 | { duplicate$ empty$ 328 | 'pop$ 329 | 'output.nonnull 330 | if$ 331 | } 332 | 333 | FUNCTION {output.check} 334 | { 't := 335 | duplicate$ empty$ 336 | { pop$ "empty " t * " in " * cite$ * warning$ } 337 | 'output.nonnull 338 | if$ 339 | } 340 | 341 | FUNCTION {new.block} 342 | { output.state before.all = 343 | 'skip$ 344 | { after.block 'output.state := } 345 | if$ 346 | } 347 | 348 | FUNCTION {not} 349 | { { #0 } 350 | { #1 } 351 | if$ 352 | } 353 | 354 | FUNCTION {and} 355 | { 'skip$ 356 | { pop$ #0 } 357 | if$ 358 | } 359 | 360 | FUNCTION {or} 361 | { { pop$ #1 } 362 | 'skip$ 363 | if$ 364 | } 365 | 366 | FUNCTION {format.date} 367 | { year duplicate$ empty$ 368 | { "empty year in " cite$ * warning$ 369 | pop$ "" } 370 | 'skip$ 371 | if$ 372 | month empty$ 373 | 'skip$ 374 | { type$ "book" = 375 | type$ "inbook" = 376 | OR 377 | 'skip$ 378 | { month " " * swap$ * } 379 | if$ 380 | } 381 | if$ 382 | %% ohne Extrabuchstabe beim Erscheinungsjahr 383 | } 384 | 385 | FUNCTION {format.edition.or.date} 386 | { edition empty$ year empty$ and 387 | { "" } 388 | { edition empty$ 389 | { type empty$ NOT 390 | { type #-1 #4 substring$ "mail" = 391 | type #1 #4 substring$ "Mail" = 392 | OR 393 | { " gesendet: " "-- " type * swap$ * 394 | format.date * 395 | } 396 | { "\,Version:\," 397 | format.date * 398 | } 399 | if$ 400 | } 401 | { "\,Version:\," 402 | format.date * 403 | } 404 | if$ 405 | } 406 | { year empty$ 407 | { "\,Version:\," edition * } 408 | { "\,Version:\," edition * ", " * 409 | format.date * 410 | } 411 | if$ 412 | } 413 | if$ 414 | } 415 | if$ 416 | } 417 | 418 | FUNCTION {format.online.lastcheck} 419 | { lastchecked empty$ 420 | { url empty$ doi empty$ urn empty$ and and 421 | { skip$ } 422 | { "" output } 423 | if$ 424 | } 425 | { url empty$ doi empty$ urn empty$ and and 426 | { "there's a lastchecked date but no url, urn or doi in " 427 | cite$ * warning$ 428 | } 429 | { part.of.sentence 430 | lastchecked "Abruf: " swap$ * output 431 | } 432 | if$ 433 | } 434 | if$ 435 | } 436 | 437 | FUNCTION {format.maillist.lastcheck} 438 | { type empty$ NOT 439 | { type #-1 #4 substring$ "mail" = 440 | type #1 #4 substring$ "Mail" = 441 | OR 442 | { format.online.lastcheck } 443 | 'skip$ 444 | if$ 445 | } 446 | 'skip$ 447 | if$ 448 | } 449 | 450 | FUNCTION {format.doi} 451 | { doi empty$ 452 | { "" } 453 | { new.block "\url{http://dx.doi.org/" doi * "}" * 454 | %% { new.block "\url{http://dx.medra.org/" doi * "}" * 455 | } 456 | if$ 457 | } 458 | 459 | FUNCTION {format.url} 460 | { urn missing$ 461 | { doi missing$ 462 | { url empty$ 463 | { "" } 464 | { type empty$ NOT 465 | { type #-1 #4 substring$ "mail" = 466 | type #1 #4 substring$ "Mail" = 467 | OR 468 | { type$ "incollection" = 469 | { "" } 470 | { "\,Absenderadresse: \url{" url * "}" * } 471 | if$ 472 | } 473 | { "\url{" url * "}" * }%% evtl. "URL" oder "<...>" 474 | if$ 475 | } 476 | { "\url{" url * "}" * } %% evtl. "URL" oder "<...>" 477 | if$ 478 | } 479 | if$ 480 | } 481 | { format.doi } 482 | if$ 483 | } 484 | { "\url{http://nbn-resolving.de/urn/resolver.pl?urn=" urn * "}" * 485 | } 486 | if$ 487 | } 488 | 489 | FUNCTION {format.maillist.url} 490 | { url empty$ 491 | { "" } 492 | { type empty$ 493 | { "" } 494 | { type #-1 #4 substring$ "mail" = 495 | type #1 #4 substring$ "Mail" = 496 | OR 497 | { "\url{" url * "}" * } 498 | { "" } 499 | if$ 500 | } 501 | if$ 502 | } 503 | if$ 504 | } 505 | 506 | 507 | FUNCTION {format.full.names} 508 | {'s := 509 | #1 'nameptr := 510 | s num.names$ 'numnames := 511 | numnames 'namesleft := 512 | { namesleft #0 > } 513 | { s nameptr 514 | "{vv~}{ll}" format.name$ 't := 515 | nameptr #1 > 516 | { 517 | namesleft #1 > 518 | { ", " * t * } 519 | { 520 | numnames #2 > 521 | { "," * } 522 | 'skip$ 523 | if$ 524 | t "others" = 525 | { ua.etal * } 526 | { und * t * } 527 | if$ 528 | } 529 | if$ 530 | } 531 | 't 532 | if$ 533 | nameptr #1 + 'nameptr := 534 | namesleft #1 - 'namesleft := 535 | } 536 | while$ 537 | } 538 | 539 | FUNCTION {author.editor.full} 540 | { author empty$ 541 | { editor empty$ 542 | { "" } 543 | { editor format.full.names } 544 | if$ 545 | } 546 | { author format.full.names } 547 | if$ 548 | } 549 | 550 | FUNCTION {author.full} 551 | { author empty$ 552 | { "" } 553 | { author format.full.names } 554 | if$ 555 | } 556 | 557 | FUNCTION {editor.full} 558 | { editor empty$ 559 | { "" } 560 | { editor format.full.names } 561 | if$ 562 | } 563 | 564 | FUNCTION {make.full.names} 565 | { type$ "book" = 566 | type$ "inbook" = 567 | or 568 | 'author.editor.full 569 | { type$ "proceedings" = 570 | 'editor.full 571 | 'author.full 572 | if$ 573 | } 574 | if$ 575 | } 576 | 577 | 578 | FUNCTION {output.bibitem} 579 | { newline$ 580 | "\bibitem[" write$ 581 | label write$ 582 | ")" make.full.names duplicate$ short.list = 583 | { pop$ } 584 | { * } 585 | if$ 586 | "]{" * write$ 587 | cite$ write$ 588 | "}" write$ 589 | newline$ 590 | "\dinatlabel{" dinat.label * "} " * %% Zeilenumbruch steht in NATBIB.CFG! 591 | write$ 592 | "" 593 | before.all 'output.state := 594 | } 595 | 596 | 597 | FUNCTION {fin.entry} 598 | { write$ 599 | newline$ 600 | } 601 | 602 | FUNCTION {field.or.null} 603 | { duplicate$ empty$ 604 | { pop$ "" } 605 | 'skip$ 606 | if$ 607 | } 608 | 609 | FUNCTION {emphasize} 610 | { duplicate$ empty$ 611 | { pop$ "" } 612 | { "\emph{" swap$ * "}" * } 613 | if$ 614 | } 615 | 616 | FUNCTION { capitalize } 617 | { duplicate$ empty$ 618 | { pop$ "" } 619 | { "\textsc{" swap$ * "}" * } 620 | if$ 621 | } 622 | 623 | FUNCTION {article.in.journal} 624 | { duplicate$ empty$ 625 | { pop$ "" } 626 | { author missing$ title missing$ and 627 | { emphasize } 628 | { emphasize "{In: }" swap$ * } 629 | if$ 630 | } 631 | if$ 632 | } 633 | 634 | FUNCTION {format.names} 635 | { 's := 636 | "" 'u := 637 | #1 'nameptr := 638 | s num.names$ 'numnames := 639 | numnames 'namesleft := 640 | { namesleft #0 > } 641 | { 642 | s nameptr "{ll}" format.name$ 't := 643 | t capitalize 't := 644 | s nameptr "{ jj}" format.name$ 'w := 645 | s nameptr "{, ff}{ vv}{ jj}" format.name$ 'u := 646 | u text.length$ 'lang := 647 | #1 'zahl := 648 | "" 'v := 649 | { zahl lang < } 650 | { u zahl #1 substring$ "~" = 651 | { v "" = 652 | { u #1 zahl #1 - substring$ 'v := } 653 | 'skip$ 654 | if$ 655 | v u zahl #2 substring$ * "." * w * 'v := 656 | } 657 | 'skip$ 658 | if$ 659 | zahl #1 + 'zahl := } 660 | while$ 661 | v "" = 662 | { u 'v := } 663 | 'skip$ 664 | if$ 665 | t v * fkt * 't := 666 | nameptr #1 > 667 | { namesleft #1 > 668 | { " ; " * t * } 669 | { numnames #2 > 670 | { " " * } 671 | 'skip$ 672 | if$ 673 | t "\textsc{others}" = t "\textsc{others} (Hrsg.)" = or 674 | { ua.etal * } 675 | { " ; " * t * } 676 | if$ 677 | } 678 | if$ %% Ende der namesleft-Pruefung 679 | } 680 | 't 681 | if$ %% Ende der nameptr-Pruefung 682 | 683 | nameptr #1 + 'nameptr := 684 | namesleft #1 - 'namesleft := 685 | } 686 | while$ %% Ende von { namesleft #0 > } ganz oben 687 | "" 'fkt := %% fkt wird zurueckgesetzt 688 | } 689 | 690 | FUNCTION {format.authors} 691 | { author empty$ 692 | { "" } 693 | { author format.names } 694 | if$ 695 | } 696 | 697 | FUNCTION {format.editors} 698 | { editor empty$ 699 | { author empty$ 700 | { "empty author and editor in " cite$ * warning$ "" } 701 | 'skip$ 702 | if$ 703 | } 704 | { author empty$ 705 | { " (Hrsg.)" 'fkt := 706 | editor format.names 707 | } 708 | { " (Hrsg.)" 'fkt := 709 | " ; " * editor format.names * 710 | } 711 | if$ 712 | } 713 | if$ 714 | } 715 | 716 | %% 2005-11-11 717 | FUNCTION { format.authors.organization } 718 | { type$ "misc" = 719 | { organization empty$ 720 | { author empty$ 721 | { "" } 722 | { author format.names " (Erfinder)" * } 723 | if$ 724 | } 725 | { author empty$ 726 | { organization } 727 | { author format.names " (Erfinder); " * 728 | organization * " (Anmelder)" * 729 | } 730 | if$ 731 | } 732 | if$ 733 | } 734 | { type$ "manual" = 735 | { organization empty$ 736 | { format.authors } 737 | { author empty$ 738 | { organization capitalize " (Hrsg.)" * } 739 | { author format.names } 740 | if$ 741 | } 742 | if$ 743 | } 744 | 'skip$ 745 | if$ 746 | } 747 | if$ 748 | } 749 | 750 | FUNCTION { format.editors.organization } 751 | { organization empty$ 752 | 'skip$ 753 | { type$ "misc" = 754 | { organization } 755 | { * " ; " * organization " (Veranst.)" *} 756 | if$ 757 | } 758 | if$ 759 | } 760 | 761 | FUNCTION { format.tr.institution } 762 | { institution empty$ 763 | 'skip$ 764 | { institution capitalize } 765 | if$ 766 | } 767 | 768 | FUNCTION {format.ed.incoll} 769 | { editor empty$ 770 | { "" } 771 | { " (Hrsg.)" 'fkt := 772 | editor format.names 773 | format.editors.organization 774 | } 775 | if$ 776 | } 777 | 778 | 779 | FUNCTION {format.title} 780 | { title empty$ 781 | { "" } 782 | { title } %% Text so wie er dasteht im Feld title 783 | if$ 784 | } 785 | 786 | FUNCTION {format.number} 787 | { number empty$ 788 | { "" } 789 | { number " " * } %% Text so wie er im Feld number steht plus " " 790 | if$ 791 | } 792 | 793 | FUNCTION {format.digital.type} 794 | { type empty$ 795 | { "" } 796 | { type #-1 #4 substring$ "mail" = 797 | type #1 #4 substring$ "Mail" = 798 | OR 799 | { "" } 800 | { type } %% Typ einer digitalen Ressource in Form einer 801 | %% "Ergaenzenden Angabe", so wie er dasteht; 802 | %% Alternativ kann dieser Text auch in NOTE erfasst werden. 803 | if$ 804 | } 805 | if$ 806 | } 807 | 808 | FUNCTION {n.dashify} 809 | { 't := 810 | "" 811 | { t empty$ not } 812 | { t #1 #1 substring$ "-" = 813 | { t #1 #2 substring$ "--" = not 814 | { "--" * 815 | t #2 global.max$ substring$ 't := 816 | } 817 | { { t #1 #1 substring$ "-" = } 818 | { "-" * 819 | t #2 global.max$ substring$ 't := 820 | } 821 | while$ 822 | } 823 | if$ 824 | } 825 | { t #1 #1 substring$ * 826 | t #2 global.max$ substring$ 't := 827 | } 828 | if$ 829 | } 830 | while$ 831 | } 832 | 833 | %% Auflagenvermerke gibt man komplett, einschliesslich Abkuerzungen in 834 | %% das Feld edition ein: ---> EDITION= { 3., erw. und verb. Aufl. } 835 | %% oder fremdsprachlich: EDITION= { 2nd edition } 836 | 837 | FUNCTION {format.edition} 838 | { edition empty$ 839 | { "" } 840 | { edition } 841 | if$ 842 | } 843 | 844 | FUNCTION {format.version.url} 845 | { url empty$ doi empty$ urn empty$ and and 846 | { type$ "techreport" = 847 | { format.edition } 848 | { "" } 849 | if$ 850 | } 851 | { format.edition.or.date output format.url } 852 | if$ 853 | } 854 | 855 | FUNCTION {format.edition.or.version} 856 | { url empty$ doi empty$ urn empty$ and and 857 | { format.edition } 858 | { format.edition.or.date } 859 | if$ 860 | } 861 | 862 | FUNCTION {format.address.publisher.year} 863 | { publisher empty$ 864 | { address empty$ 865 | { year empty$ 866 | { "" } 867 | { year } 868 | if$ 869 | } 870 | { "there's an address but no publisher in " cite$ * warning$ 871 | address ", " * format.date * 872 | } 873 | if$ 874 | } 875 | { address empty$ 876 | { year empty$ 877 | { "neither address nor publication date in " cite$ * warning$ 878 | publisher 879 | } 880 | { publisher ", " * format.date * } 881 | if$ 882 | } 883 | { year empty$ 884 | { address " : " * publisher * } 885 | { address " : " * publisher * ", " * format.date * } 886 | if$ 887 | } 888 | if$ 889 | } 890 | if$ 891 | } 892 | 893 | FUNCTION {format.howpublished} 894 | { url missing$ urn missing$ doi missing$ AND AND 895 | { howpublished empty$ 896 | { address empty$ 897 | { type empty$ 898 | { "" } 899 | { type #-1 #4 substring$ "mail" = 900 | { "(gesendet: " new.sentence 901 | format.date * ")" * 902 | } 903 | { "" } 904 | if$ 905 | } 906 | if$ 907 | format.date * 908 | } 909 | { address ", " * format.date * } 910 | if$ 911 | } 912 | { address empty$ 913 | { howpublished ", " * format.date * } 914 | { address " : " * howpublished * ", " * format.date * } 915 | if$ 916 | } 917 | if$ 918 | } 919 | { howpublished empty$ 920 | { "" } 921 | { howpublished } 922 | if$ 923 | } 924 | if$ 925 | } 926 | 927 | FUNCTION {format.btitle} 928 | { title emphasize 929 | } 930 | 931 | FUNCTION {tie.or.space.connect} 932 | { duplicate$ text.length$ #3 < 933 | { "~" } 934 | { " " } 935 | if$ 936 | swap$ * * 937 | } 938 | 939 | FUNCTION {format.btitle.vol} 940 | { number empty$ 941 | { series empty$ 942 | { volume empty$ 943 | { title emphasize } 944 | { title emphasize ". Bd." * volume tie.or.space.connect } 945 | if$ 946 | } 947 | { volume empty$ 948 | { title emphasize }%% ein Buch, das zusaetzl. SERIES=Reihentitel besitzt 949 | %% jetzt kommt d. Fall des mehrbaendigen Werkes mit Gesamttitel=SERIES 950 | %% Zaehlung=VOLUME und Bandtitel=TITLE; 951 | { series emphasize ". Bd." * volume tie.or.space.connect 952 | ": " * "{\emph{" * title * "}}" * } 953 | if$ 954 | } 955 | if$%% series-test 956 | } 957 | { title emphasize }%% wenn number ex., dann immer title-Feld 958 | if$%% Ende number-test 959 | } 960 | 961 | FUNCTION {format.series.number.din} 962 | { volume empty$ 963 | { number empty$ 964 | { series empty$ 965 | { "" } 966 | { "(" series * ")" * } %% d. Seriennr koennte auch gleich hier 967 | %% im SERIES-Feld miterfasst werden 968 | if$ 969 | } 970 | { series empty$ 971 | { "(" number tie.or.space.connect ")" * 972 | "there's a number but no series in " cite$ * warning$ 973 | } 974 | { "(" series * number tie.or.space.connect ")" * } 975 | if$ 976 | } 977 | if$ 978 | } 979 | { series empty$ 980 | { "" } 981 | { type$ "proceedings" = %% Sonderfall, es darf VOLUME und NUMBER ex. ! 982 | type$ "inproceedings" = OR 983 | { number empty$ 984 | { "(" series * ")" * } 985 | { "(" series * number tie.or.space.connect ")" * } 986 | if$ 987 | } 988 | { "" }%% Ausstieg mit Nullstring, s. Kommentar 989 | if$ 990 | }%% bei gezaehlten Reihen MUSS die Reihennr. im Feld NUMBER stehen! 991 | if$ %% wenn also d. Feld VOLUME nicht leer ist, dann liegt ausser bei 992 | %% Typ PROCEEDINGS/INPROCEEDINGS falsche 993 | } %% Erfassung vor und es erfolgt d. Ausstieg mit d. Nullstring! 994 | if$ 995 | } 996 | 997 | FUNCTION {format.tr.series.or.number} 998 | { number empty$ 999 | { series empty$ 1000 | { "" } 1001 | { "(" series * ")" * } 1002 | if$ 1003 | } 1004 | { series empty$ 1005 | { "(" number * ")" * } 1006 | { "(" series * number tie.or.space.connect ")" * } 1007 | if$ 1008 | } 1009 | if$ 1010 | } 1011 | 1012 | FUNCTION {format.misc.series} 1013 | { series empty$ 1014 | { "" } 1015 | { "(" series * ")" * } 1016 | if$ 1017 | } 1018 | 1019 | FUNCTION { format.doi.urn } 1020 | { urn empty$ 1021 | { doi empty$ 1022 | { "" } 1023 | { "DOI" doi n.dashify tie.or.space.connect } 1024 | if$ 1025 | } 1026 | { "URN" urn n.dashify tie.or.space.connect } 1027 | if$ 1028 | } 1029 | 1030 | FUNCTION { format.isbn.issn } 1031 | { isbn empty$ 1032 | { issn empty$ 1033 | { "" } 1034 | { "ISSN" issn n.dashify tie.or.space.connect } 1035 | if$ 1036 | } 1037 | { "ISBN" isbn n.dashify tie.or.space.connect } 1038 | if$ 1039 | } 1040 | 1041 | FUNCTION {format.pages} 1042 | { pages empty$ 1043 | { "" } 1044 | { url empty$ 1045 | { "S." pages n.dashify tie.or.space.connect } 1046 | { pages } 1047 | if$ 1048 | } 1049 | if$ 1050 | } 1051 | 1052 | FUNCTION {format.pages.book} 1053 | { pages empty$ 1054 | { "" } 1055 | { note empty$ isbn empty$ AND 1056 | { "" pages n.dashify tie.or.space.connect " S" * 1057 | add.period$ 1058 | } 1059 | { "" pages n.dashify tie.or.space.connect " S" * 1060 | } 1061 | if$ 1062 | } 1063 | if$ 1064 | } 1065 | 1066 | FUNCTION {format.pages.bkcollation} 1067 | { pages empty$ 1068 | { "" } 1069 | { "" pages n.dashify tie.or.space.connect } 1070 | if$ 1071 | } 1072 | 1073 | FUNCTION {format.bkpages.collat.check} 1074 | { 's := 1075 | #1 'ptr := 1076 | s text.length$ 'collation := 1077 | collation #1 = 1078 | { format.pages.book } 1079 | { 1080 | collation 'collrest := 1081 | { collrest #0 > } 1082 | { s ptr #2 substring$ 't := 1083 | t "S." = 1084 | { format.pages.bkcollation 1085 | #0 'collrest := } 1086 | { ptr #1 + 'ptr := 1087 | collrest #1 - 'collrest := 1088 | #1 collrest = 1089 | { format.pages.book } 1090 | { skip$ } 1091 | if$ 1092 | } 1093 | if$ 1094 | } 1095 | while$ 1096 | } 1097 | if$ 1098 | } 1099 | 1100 | FUNCTION {format.vol.year.num.pages} 1101 | { volume field.or.null 1102 | year empty$ 1103 | { "there's no year in " cite$ * warning$ } 1104 | { " (" year * ")" * * } 1105 | if$ 1106 | month empty$ 1107 | 'skip$ 1108 | { ", " month * * } 1109 | if$ 1110 | number empty$ 1111 | 'skip$ 1112 | { ", Nr. " number * * } 1113 | if$ 1114 | pages empty$ 1115 | 'skip$ 1116 | { duplicate$ empty$ 1117 | { pop$ "" } 1118 | { title missing$ 1119 | { ", " pages format.bkpages.collat.check * *} 1120 | { ", " format.pages * *} 1121 | if$ 1122 | } 1123 | if$ 1124 | } 1125 | if$ 1126 | } 1127 | 1128 | FUNCTION {format.chapter.inbook} 1129 | { duplicate$ empty$ 1130 | { pop$ "empty chapter in " cite$ * warning$ } 1131 | { type empty$ 1132 | { "\emph{Kapitel\/} " swap$ tie.or.space.connect } 1133 | { type " " * swap$ * }%% wenn keine bes. Abschnittsform gen. werden soll, 1134 | %% koennte e. kl. Zwischenraum gewaehlt werden, z.B. " \, " 1135 | if$ 1136 | } 1137 | if$ 1138 | } 1139 | 1140 | FUNCTION {format.chapter.pages} 1141 | { chapter empty$ 1142 | 'format.pages 1143 | { type empty$ 1144 | { "Kapitel " } 1145 | { url empty$ 1146 | { type } 1147 | { "Kapitel " } 1148 | if$ 1149 | } 1150 | if$ 1151 | chapter tie.or.space.connect 1152 | pages empty$ 1153 | 'skip$ 1154 | { ", " * format.pages * } 1155 | if$ 1156 | } 1157 | if$ 1158 | } 1159 | 1160 | FUNCTION {format.in.ed.booktitle.din} 1161 | { booktitle empty$ 1162 | { "" } 1163 | { editor empty$ 1164 | { volume empty$ 1165 | { "{In: }" booktitle emphasize * }%% n. Belieben fettes In: 1166 | { "{In: }" booktitle emphasize * %% - " - 1167 | " Bd." volume tie.or.space.connect * 1168 | } 1169 | if$ 1170 | } 1171 | { volume empty$ 1172 | { "{In: }" format.ed.incoll * ": " * booktitle emphasize * } 1173 | { "{In: }" format.ed.incoll * ": " * booktitle emphasize * 1174 | " Bd." volume tie.or.space.connect * 1175 | } 1176 | if$ 1177 | } 1178 | if$ 1179 | } 1180 | if$ 1181 | } 1182 | 1183 | FUNCTION {format.thesis.tr.type} 1184 | { type empty$ 1185 | 'skip$ 1186 | { pop$ 1187 | type 1188 | } 1189 | if$ 1190 | } 1191 | 1192 | FUNCTION {format.article.crossref} 1193 | { key empty$ 1194 | { journal empty$ 1195 | { "need key or journal for " cite$ * " to crossref " * crossref * 1196 | warning$ 1197 | "" 1198 | } 1199 | { "{In: }{\emph " journal * "}" * }%% n. Belieben fettes In: 1200 | if$ 1201 | } 1202 | { "{In: }" key * }%% s.o. fettes In: 1203 | if$ 1204 | " {\textbf{\citep{" * crossref * "}" * "}" * "}" * ", " * format.pages * 1205 | } 1206 | 1207 | FUNCTION {format.crossref.editor} 1208 | %vorher,Lue { editor #1 "{vv~}{ll}" format.name$ " (Hrsg.)" * 1209 | { editor #1 "{ll}" format.name$ " (Hrsg.)" * 1210 | editor num.names$ duplicate$ 1211 | #2 > 1212 | { pop$ ua.etal * } 1213 | { #2 < 1214 | 'skip$ 1215 | { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = 1216 | { ua.etal * } 1217 | { " ; " * editor #2 "{vv~}{ll}" format.name$ * " (Hrsg.)" * } 1218 | if$ 1219 | } 1220 | if$ 1221 | } 1222 | if$ 1223 | } 1224 | 1225 | FUNCTION {format.inbk.vol.title} 1226 | { volume empty$ 1227 | { " In: " } 1228 | { title empty$ 1229 | { " In: Bd." volume tie.or.space.connect 1230 | " von " * 1231 | } 1232 | { "In: Bd." volume tie.or.space.connect ": " * title emphasize * 1233 | " (" * year * ") in " * 1234 | } 1235 | if$ 1236 | } 1237 | if$ 1238 | } 1239 | 1240 | FUNCTION {format.book.crossref} 1241 | { type$ "inbook" = 1242 | { format.inbk.vol.title } 1243 | { volume empty$ 1244 | { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ 1245 | " " 1246 | } 1247 | { ". -- Bd." volume tie.or.space.connect 1248 | " von " * 1249 | } 1250 | if$ 1251 | } 1252 | if$ 1253 | editor empty$ 1254 | editor field.or.null author field.or.null = 1255 | or 1256 | { key empty$ 1257 | { series empty$ 1258 | { "need editor, key, or series for " cite$ * " to crossref " * 1259 | crossref * warning$ 1260 | "" * 1261 | } 1262 | { "" * }%% dadurch kommt nach der Band Nr. gleich das label 2/6/99 1263 | %% { "{\emph{" * series * "}} {\textbf{siehe}} " * } 1264 | if$ 1265 | } 1266 | { key * } 1267 | if$ 1268 | } 1269 | { "" * } 1270 | if$ 1271 | "{\textbf{\citep{" * crossref * "}" * "}" * "}" * 1272 | } 1273 | 1274 | FUNCTION {format.incoll.inproc.crossref} 1275 | { editor empty$ 1276 | editor field.or.null author field.or.null = 1277 | or 1278 | { key empty$ 1279 | { booktitle empty$ 1280 | { "need editor, key, or booktitle for " cite$ * " to crossref " * 1281 | crossref * warning$ 1282 | "" 1283 | } 1284 | { "{In: }{\emph " booktitle * "}" * }%% 1285 | if$ 1286 | } 1287 | { "{In: }" } 1288 | if$ 1289 | } 1290 | { "{In: }" } 1291 | if$ 1292 | "{\textbf{\citep{" * crossref * "}" * "}" * "}" * %% ", " * format.pages * 1293 | } 1294 | 1295 | FUNCTION {article} 1296 | { output.bibitem 1297 | format.authors "author" output.check 1298 | set.colon.after 1299 | format.title "title" output.check 1300 | crossref missing$ 1301 | { journal article.in.journal output.nonnull 1302 | new.sentence 1303 | format.vol.year.num.pages output 1304 | format.url output 1305 | } 1306 | { format.article.crossref output.nonnull } 1307 | if$ 1308 | format.online.lastcheck 1309 | doi set.period.dash.check 1310 | urn set.period.dash.check 1311 | format.doi.urn output 1312 | issn set.period.dash.check 1313 | format.isbn.issn output 1314 | note set.period.dash.check 1315 | note output 1316 | fin.entry 1317 | } 1318 | 1319 | FUNCTION {book} 1320 | { output.bibitem 1321 | author empty$ 1322 | { format.editors "author and editor" output.check } 1323 | { format.authors format.editors output.nonnull } 1324 | if$ 1325 | set.colon.after 1326 | crossref missing$ 1327 | { format.btitle.vol "title" output.check } 1328 | { format.btitle "title" output.check } 1329 | if$ 1330 | format.edition output 1331 | format.address.publisher.year "publisher" output.check 1332 | new.sentence 1333 | crossref missing$ 1334 | { format.series.number.din output } 1335 | { format.book.crossref output.nonnull } 1336 | if$ 1337 | pages empty$ 1338 | { skip$ } 1339 | { pages set.period.dash.check 1340 | pages format.bkpages.collat.check output 1341 | } 1342 | if$ 1343 | format.doi output 1344 | format.url output 1345 | new.block 1346 | isbn set.period.dash.check 1347 | format.isbn.issn output 1348 | note set.period.dash.check 1349 | note output 1350 | fin.entry 1351 | } 1352 | 1353 | FUNCTION {booklet} 1354 | { output.bibitem 1355 | author empty$ 1356 | { format.editors "author and editor" output.check } 1357 | { format.authors format.editors output.nonnull } 1358 | if$ 1359 | set.colon.after 1360 | format.btitle "title" output.check 1361 | format.edition.or.version output 1362 | format.url output 1363 | format.online.lastcheck 1364 | format.howpublished output 1365 | series new.sentence.checka 1366 | format.series.number.din output 1367 | pages empty$ 1368 | { skip$ } 1369 | { pages set.period.dash.check 1370 | pages format.bkpages.collat.check output 1371 | } 1372 | if$ 1373 | type set.period.dash.check 1374 | format.digital.type output 1375 | doi set.period.dash.check 1376 | urn set.period.dash.check 1377 | format.doi.urn output 1378 | note set.period.dash.check 1379 | note output 1380 | format.isbn.issn output 1381 | fin.entry 1382 | } 1383 | 1384 | FUNCTION {inbook} 1385 | { output.bibitem 1386 | chapter format.chapter.inbook output.nonnull 1387 | crossref missing$ 1388 | { author empty$ 1389 | { format.editors "\,{In:\,}" swap$ * "author and editor" output.check } 1390 | { format.authors "\,{In:\,}" swap$ * output.nonnull } 1391 | if$ 1392 | author empty$ editor empty$ AND 1393 | { before.all 'output.state := } 1394 | { set.colon.after } 1395 | if$ 1396 | format.btitle.vol "title" output.check 1397 | format.edition output 1398 | format.address.publisher.year "publisher" output.check 1399 | new.sentence 1400 | format.series.number.din output 1401 | isbn set.period.dash.check 1402 | format.isbn.issn output 1403 | } 1404 | { format.book.crossref output.nonnull 1405 | } 1406 | if$ 1407 | part.of.sentence 1408 | format.pages output 1409 | note set.period.dash.check 1410 | note output 1411 | fin.entry 1412 | } 1413 | 1414 | FUNCTION {incollection} 1415 | { output.bibitem 1416 | format.authors "author" output.check 1417 | set.colon.after 1418 | format.title "title" output.check 1419 | format.version.url output 1420 | type empty$ NOT 1421 | { type #-1 #4 substring$ "mail" = 1422 | type #1 #4 substring$ "Mail" = 1423 | OR 1424 | 'skip$ 1425 | { format.online.lastcheck } 1426 | if$ 1427 | } 1428 | { format.online.lastcheck } 1429 | if$ 1430 | crossref missing$ 1431 | { format.in.ed.booktitle.din "booktitle" output.check 1432 | format.edition output 1433 | format.address.publisher.year "publisher" output.check 1434 | format.maillist.url output 1435 | format.maillist.lastcheck 1436 | new.sentence 1437 | format.series.number.din output 1438 | doi set.period.dash.check 1439 | urn set.period.dash.check 1440 | format.doi.urn output 1441 | isbn set.period.dash.check 1442 | issn set.period.dash.check 1443 | format.isbn.issn output 1444 | } 1445 | { format.incoll.inproc.crossref output.nonnull } 1446 | if$ 1447 | part.of.sentence 1448 | format.chapter.pages "pages" output.check 1449 | note set.period.dash.check 1450 | note output 1451 | fin.entry 1452 | } 1453 | 1454 | FUNCTION {inproceedings} 1455 | { output.bibitem 1456 | format.authors "author" output.check 1457 | set.colon.after 1458 | format.title "title" output.check 1459 | crossref missing$ 1460 | { format.in.ed.booktitle.din "booktitle" output.check 1461 | address empty$ 1462 | { organization new.sentence.checka 1463 | organization output 1464 | part.of.sentence 1465 | format.address.publisher.year output 1466 | } 1467 | { format.address.publisher.year "publisher" output.check } 1468 | if$ 1469 | new.sentence 1470 | format.series.number.din output 1471 | isbn set.period.dash.check 1472 | issn set.period.dash.check 1473 | format.isbn.issn output 1474 | } 1475 | { format.incoll.inproc.crossref output.nonnull } 1476 | if$ 1477 | part.of.sentence 1478 | format.pages output 1479 | note set.period.dash.check 1480 | note output 1481 | fin.entry 1482 | } 1483 | 1484 | FUNCTION {conference} { inproceedings }%% nach Patashnik, wg US-Kompatibilitaet 1485 | 1486 | FUNCTION {manual} 1487 | { output.bibitem 1488 | author empty$ 1489 | { organization empty$ 1490 | { title empty$ 1491 | 'skip$ 1492 | {format.btitle "title" output.check } 1493 | if$ 1494 | } 1495 | 'skip$ 1496 | if$ 1497 | } 1498 | 'skip$ 1499 | if$ 1500 | format.authors.organization output.nonnull 1501 | set.colon.after 1502 | format.btitle "title" output.check 1503 | format.edition "edition" output.check 1504 | author empty$ organization empty$ AND 1505 | { address "address" output.check 1506 | part.of.sentence 1507 | } 1508 | { organization empty$ 1509 | { address "address" output.check 1510 | part.of.sentence 1511 | } 1512 | { address ": " * organization * output 1513 | part.of.sentence 1514 | } 1515 | if$ 1516 | } 1517 | if$ 1518 | format.date output 1519 | number empty$ 1520 | 'skip$ 1521 | { "(" number * ") " * output } 1522 | if$ 1523 | pages empty$ 1524 | { skip$ } 1525 | { pages set.period.dash.check 1526 | pages format.bkpages.collat.check output 1527 | } 1528 | if$ 1529 | format.doi output 1530 | format.url output 1531 | format.online.lastcheck 1532 | note set.period.dash.check 1533 | note output 1534 | fin.entry 1535 | } 1536 | 1537 | %% Standard ist "Diplomarbeit", anderes mit TYPE="anderer Typ" erfassen! 1538 | %% z.B. TYPE={Hausarbeit}, TYPE={Diss.}, TYPE={Habil.}, TYPE={Magisterarb.} 1539 | FUNCTION {mastersthesis} 1540 | { output.bibitem 1541 | format.authors "author" output.check 1542 | set.colon.after 1543 | format.btitle "title" output.check 1544 | address output 1545 | part.of.sentence 1546 | school "school" output.check 1547 | part.of.sentence 1548 | "Diplomarbeit" format.thesis.tr.type output.nonnull 1549 | part.of.sentence 1550 | format.date "year" output.check 1551 | format.url output 1552 | format.online.lastcheck 1553 | doi set.period.dash.check 1554 | urn set.period.dash.check 1555 | format.doi.urn output 1556 | pages empty$ 1557 | { skip$ } 1558 | { pages set.period.dash.check 1559 | pages format.bkpages.collat.check output 1560 | } 1561 | if$ 1562 | note set.period.dash.check 1563 | note output 1564 | fin.entry 1565 | } 1566 | 1567 | FUNCTION {phdthesis} %% {mastersthesis}% ist identisch bis auf Standardwert, s.o. 1568 | { output.bibitem 1569 | format.authors "author" output.check 1570 | set.colon.after 1571 | format.btitle "title" output.check 1572 | address output 1573 | part.of.sentence 1574 | school "school" output.check 1575 | part.of.sentence 1576 | "Diss." format.thesis.tr.type output.nonnull % koennte auch `Dissertation' sein 1577 | part.of.sentence 1578 | format.date "year" output.check 1579 | format.url output 1580 | format.online.lastcheck 1581 | doi set.period.dash.check 1582 | urn set.period.dash.check 1583 | format.doi.urn output 1584 | pages empty$ 1585 | { skip$ } 1586 | { pages set.period.dash.check 1587 | pages format.bkpages.collat.check output 1588 | } 1589 | if$ 1590 | note set.period.dash.check 1591 | note output 1592 | fin.entry 1593 | } 1594 | 1595 | 1596 | %% Normen, Vornormen, Schutzrechte (Patente) werden hiermit erfasst; 1597 | %% E-mail, (auch Internetressourcen moeglich; besser --> booklet-Fkt!) 1598 | %% das type-Feld uebernimmt eine wichtige Steuerfunktion: 1599 | FUNCTION {misc} 1600 | { output.bibitem 1601 | type missing$ not 1602 | { type duplicate$ #1 #4 substring$ "Norm" = 1603 | type #1 #4 substring$ "Vorn" = OR 1604 | { " " * 1605 | format.number * output 1606 | new.sentence 1607 | format.date output 1608 | title empty$ 1609 | { skip$ } 1610 | { add.period$ new.sentence } 1611 | if$ 1612 | format.btitle "title" output.check 1613 | note set.period.dash.check 1614 | note output 1615 | } 1616 | { duplicate$ #1 #6 substring$ "Schutz" = 1617 | { " " * format.number * output 1618 | new.sentence 1619 | "(" * format.date ")" * output 1620 | add.period$ new.sentence 1621 | format.authors.organization add.period$ output 1622 | note output 1623 | } 1624 | %% wenn irgendein anderer Typ eingetragen ist 1625 | { pop$ pop$ "" 1626 | title empty$ 1627 | { note empty$ 1628 | { url empty$ 1629 | { "there's no relevant field in " cite$ warning$ 1630 | pop$ "" 1631 | } 1632 | { format.url output }%%% 1633 | if$ 1634 | } 1635 | { note " " * output.nonnull } 1636 | if$ 1637 | } 1638 | { author empty$ 1639 | { editor empty$ 1640 | { organization empty$ 1641 | { skip$ } 1642 | { format.editors.organization output.nonnull 1643 | set.colon.after 1644 | } 1645 | if$ 1646 | } 1647 | { format.editors format.editors.organization 1648 | output.nonnull set.colon.after 1649 | } 1650 | if$ 1651 | } 1652 | { format.authors format.editors output.nonnull 1653 | set.colon.after 1654 | } 1655 | if$ 1656 | format.btitle output.nonnull 1657 | url empty$ 1658 | { format.edition output 1659 | format.howpublished output} 1660 | { format.howpublished output 1661 | format.edition.or.version output 1662 | format.url output 1663 | } 1664 | if$ 1665 | format.online.lastcheck 1666 | new.sentence 1667 | format.misc.series output 1668 | note set.period.dash.check 1669 | note output 1670 | } 1671 | if$ 1672 | } 1673 | if$ 1674 | } 1675 | if$ 1676 | } 1677 | %% wenn es keinen type gibt 1678 | { title empty$ 1679 | { note empty$ 1680 | { url empty$ 1681 | { "there's no relevant field in " cite$ warning$ 1682 | pop$ "" 1683 | } 1684 | { format.url output }%%% das waere e. reine URL 1685 | if$ 1686 | } 1687 | { note " " * output.nonnull 1688 | } 1689 | if$ 1690 | } 1691 | { author empty$ 1692 | { editor empty$ 1693 | { organization empty$ 1694 | 'skip$ 1695 | { format.editors.organization output.nonnull 1696 | set.colon.after 1697 | } 1698 | if$ 1699 | } 1700 | { format.editors format.editors.organization 1701 | output.nonnull set.colon.after 1702 | } 1703 | if$ 1704 | } 1705 | { format.authors format.editors output.nonnull 1706 | set.colon.after 1707 | } 1708 | if$ 1709 | format.btitle output.nonnull 1710 | url empty$ 1711 | { format.edition output 1712 | format.howpublished output} 1713 | { format.howpublished output 1714 | format.url output 1715 | format.edition.or.date output 1716 | format.online.lastcheck 1717 | } 1718 | if$ 1719 | new.sentence 1720 | format.misc.series output 1721 | note set.period.dash.check 1722 | note output 1723 | } 1724 | if$ 1725 | } 1726 | if$ 1727 | fin.entry 1728 | } 1729 | 1730 | FUNCTION {proceedings} 1731 | { output.bibitem 1732 | editor empty$ 1733 | { organization empty$ 1734 | { "empty organization and editor in " cite$ * warning$ } 1735 | { organization " (Veranst.)" * output } 1736 | if$ 1737 | } 1738 | { format.editors format.editors.organization output.nonnull } 1739 | if$ 1740 | set.colon.after 1741 | format.btitle "title" output.check 1742 | volume empty$ 1743 | 'skip$ 1744 | { "{\textnormal{Bd.}}" volume tie.or.space.connect emphasize "volume" output.check } 1745 | if$ 1746 | format.address.publisher.year "publisher" output.check 1747 | new.sentence 1748 | format.series.number.din output.nonnull 1749 | pages empty$ 1750 | { skip$ } 1751 | { pages set.period.dash.check 1752 | pages format.bkpages.collat.check output 1753 | } 1754 | if$ 1755 | isbn set.period.dash.check 1756 | issn set.period.dash.check 1757 | format.isbn.issn output 1758 | note set.period.dash.check 1759 | note output 1760 | fin.entry 1761 | } 1762 | 1763 | FUNCTION {techreport} 1764 | { output.bibitem 1765 | author empty$ 1766 | { format.editors "author and editor" output.check 1767 | format.tr.institution output.nonnull } 1768 | { format.authors format.editors output.nonnull } 1769 | if$ 1770 | set.colon.after 1771 | format.title "title" output.check 1772 | institution empty$ 1773 | 'skip$ 1774 | { author empty$ editor empty$ AND 1775 | 'skip$ 1776 | { institution new.sentence.checka 1777 | "/ " institution * output.nonnull 1778 | } 1779 | if$ 1780 | } 1781 | if$ 1782 | format.version.url output 1783 | format.online.lastcheck 1784 | format.address.publisher.year output 1785 | number new.sentence.checka 1786 | format.tr.series.or.number "number" output.check 1787 | "Forschungsbericht" format.thesis.tr.type set.period.dash.check 1788 | "Forschungsbericht" format.thesis.tr.type output 1789 | pages empty$ 1790 | { skip$ } 1791 | { pages set.period.dash.check 1792 | pages format.bkpages.collat.check output 1793 | } 1794 | if$ 1795 | isbn set.period.dash.check 1796 | issn set.period.dash.check 1797 | format.isbn.issn output 1798 | note set.period.dash.check 1799 | note "note" output.check 1800 | fin.entry 1801 | } 1802 | 1803 | 1804 | FUNCTION {unpublished} {misc}%% author, title, note muessen sein! howpublished 1805 | %% %% entfaellt natuerlich 1806 | 1807 | FUNCTION {default.type} { misc } 1808 | 1809 | MACRO {jan} {"Januar"} 1810 | 1811 | MACRO {feb} {"Februar"} 1812 | 1813 | MACRO {mar} {"M{\^^b a}rz"} 1814 | 1815 | MACRO {apr} {"April"} 1816 | 1817 | MACRO {mai} {"Mai"} 1818 | 1819 | MACRO {may} {"Mai"} 1820 | 1821 | MACRO {jun} {"Juni"} 1822 | 1823 | MACRO {jul} {"Juli"} 1824 | 1825 | MACRO {aug} {"August"} 1826 | 1827 | MACRO {sep} {"September"} 1828 | 1829 | MACRO {okt} {"Oktober"} 1830 | 1831 | MACRO {oct} {"Oktober"} 1832 | 1833 | MACRO {nov} {"November"} 1834 | 1835 | MACRO {dez} {"Dezember"} 1836 | 1837 | MACRO {dec} {"Dezember"} 1838 | 1839 | %%$$$ stillgelegte Beispiele fuer den Gebrauch von Kuerzeln (hier Zs-Titel). 1840 | 1841 | %%MACRO {acmcs} {"ACM Computing Surveys"} 1842 | 1843 | %%MACRO {acta} {"Acta Informatica"} 1844 | 1845 | READ 1846 | 1847 | FUNCTION {sortify} 1848 | { purify$ 1849 | "l" change.case$ 1850 | } 1851 | 1852 | FUNCTION {chop.word} 1853 | { 's := 1854 | 'len := 1855 | s #1 len substring$ = 1856 | { s len #1 + global.max$ substring$ } 1857 | 's 1858 | if$ 1859 | } 1860 | 1861 | FUNCTION {format.lab.names} 1862 | { 's := 1863 | s #1 "{vv~}{ll}" format.name$ 1864 | s num.names$ duplicate$ 1865 | #2 > 1866 | { pop$ ua.etal * } 1867 | { #2 < 1868 | 'skip$ 1869 | { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = 1870 | { ua.etal * } 1871 | { und * s #2 "{vv~}{ll}" format.name$ * } 1872 | if$ 1873 | } 1874 | if$ 1875 | } 1876 | if$ 1877 | } 1878 | 1879 | FUNCTION {author.key.label} 1880 | { author empty$ 1881 | { key empty$ 1882 | { cite$ #1 #3 substring$ } 1883 | 'key 1884 | if$ 1885 | } 1886 | { author format.lab.names } 1887 | if$ 1888 | } 1889 | 1890 | FUNCTION {author.editor.key.label} 1891 | { author empty$ 1892 | { editor empty$ 1893 | { key empty$ 1894 | { cite$ #1 #3 substring$ } 1895 | 'key 1896 | if$ 1897 | } 1898 | { year empty$ 1899 | 'key 1900 | { editor format.lab.names } 1901 | if$ 1902 | } 1903 | if$ 1904 | } 1905 | { author format.lab.names } 1906 | if$ 1907 | } 1908 | 1909 | FUNCTION {author.key.organization.label} 1910 | { author empty$ 1911 | { key empty$ 1912 | { organization empty$ 1913 | { cite$ #1 #3 substring$ } 1914 | { "The " #4 organization chop.word #3 text.prefix$ } 1915 | if$ 1916 | } 1917 | { key } 1918 | if$ 1919 | } 1920 | { author format.lab.names } 1921 | if$ 1922 | } 1923 | 1924 | FUNCTION {editor.key.organization.label} 1925 | { editor empty$ 1926 | { key empty$ 1927 | { organization empty$ 1928 | { cite$ #1 #3 substring$ } 1929 | { "The " #4 organization chop.word #4 text.prefix$ } 1930 | if$ 1931 | } 1932 | { key } 1933 | if$ 1934 | } 1935 | { key empty$%% das key-feld soll zwangsweise das label machen! 1936 | { editor format.lab.names } 1937 | { key }%%das ganze label 1938 | if$ 1939 | } 1940 | if$ 1941 | } 1942 | FUNCTION {calc.short.authors} 1943 | { type$ "book" = 1944 | type$ "booklet" = 1945 | type$ "inbook" = 1946 | or or 1947 | 'author.editor.key.label 1948 | { type$ "proceedings" = 1949 | 'editor.key.organization.label 1950 | { type$ "manual" = 1951 | 'author.key.organization.label 1952 | 'author.key.label 1953 | if$ 1954 | } 1955 | if$ 1956 | } 1957 | if$ 1958 | 'short.list := 1959 | } 1960 | 1961 | FUNCTION {calc.label} 1962 | { calc.short.authors 1963 | short.list 1964 | "(" 1965 | * 1966 | %% year duplicate$ empty$ 1967 | %% short.list key field.or.null = or 1968 | %% { pop$ "" } 1969 | %% 'skip$ 1970 | %% if$ 1971 | year field.or.null purify$ #1 #4 substring$ 1972 | * 1973 | 'label := 1974 | short.list " " * 1975 | year field.or.null purify$ #1 #4 substring$ * 'dinat.label := 1976 | } 1977 | 1978 | FUNCTION {sort.format.names} 1979 | { 's := 1980 | #1 'nameptr := 1981 | "" 1982 | s num.names$ 'numnames := 1983 | numnames 'namesleft := 1984 | { namesleft #0 > } 1985 | { nameptr #1 > 1986 | { " " * } 1987 | 'skip$ 1988 | if$ 1989 | s nameptr "{ll{ }}{ ff{ }}{ vv{ }}{ jj{ }}" format.name$ 't := 1990 | nameptr numnames = t "others" = and 1991 | { ua.etal * } 1992 | { t sortify * } 1993 | if$ 1994 | nameptr #1 + 'nameptr := 1995 | namesleft #1 - 'namesleft := 1996 | } 1997 | while$ 1998 | } 1999 | 2000 | FUNCTION {sort.format.title} 2001 | { 't := 2002 | "A " #2 2003 | "An " #3 2004 | "Der " #4 2005 | "Die " #4 2006 | "Das " #4 2007 | "Ein " #4 2008 | "Eine " #5 2009 | "The " #4 t chop.word 2010 | chop.word 2011 | chop.word 2012 | chop.word 2013 | chop.word 2014 | chop.word 2015 | chop.word 2016 | chop.word 2017 | sortify 2018 | #1 global.max$ substring$ 2019 | } 2020 | 2021 | FUNCTION {author.sort} 2022 | { author empty$ 2023 | { key empty$ 2024 | { "to sort, need author or key in " cite$ * warning$ 2025 | "" 2026 | } 2027 | { key sortify } 2028 | if$ 2029 | } 2030 | { author sort.format.names } 2031 | if$ 2032 | } 2033 | 2034 | FUNCTION {author.editor.sort} 2035 | { author empty$ 2036 | { editor empty$ 2037 | { key empty$ 2038 | { "to sort, need author, editor, or key in " cite$ * warning$ 2039 | "" 2040 | } 2041 | { key sortify } 2042 | if$ 2043 | } 2044 | { editor sort.format.names } 2045 | if$ 2046 | } 2047 | { author sort.format.names } 2048 | if$ 2049 | } 2050 | 2051 | FUNCTION {author.organization.sort} 2052 | { author empty$ 2053 | { organization empty$ 2054 | { key empty$ 2055 | { "to sort, need author, organization, or key in " cite$ * warning$ 2056 | "" 2057 | } 2058 | { key sortify } 2059 | if$ 2060 | } 2061 | { "The " #4 organization chop.word sortify } 2062 | if$ 2063 | } 2064 | { author sort.format.names } 2065 | if$ 2066 | } 2067 | 2068 | FUNCTION {editor.organization.sort.PWD}%% so war es in plainnat 2069 | { editor empty$ 2070 | { organization empty$ 2071 | { key empty$ 2072 | { "to sort, need editor, organization, or key in " cite$ * warning$ 2073 | "" 2074 | } 2075 | { key sortify } 2076 | if$ 2077 | } 2078 | { "The " #4 organization chop.word sortify } 2079 | if$ 2080 | } 2081 | { editor sort.format.names } 2082 | if$ 2083 | } 2084 | 2085 | FUNCTION {editor.organization.sort}%%das key-Feld soll z. Sortieren ben. werden 2086 | { key empty$ 2087 | { editor empty$ 2088 | { organization empty$ 2089 | { "to sort, need editor, organization, or key in " cite$ * warning$ 2090 | "" 2091 | } 2092 | { "The " #4 organization chop.word sortify } 2093 | if$ 2094 | } 2095 | { editor sort.format.names } 2096 | if$ 2097 | } 2098 | { key sortify } 2099 | if$ 2100 | } 2101 | 2102 | FUNCTION {presort} 2103 | { calc.label 2104 | label sortify 2105 | " " 2106 | * 2107 | type$ "book" = 2108 | type$ "booklet" = 2109 | type$ "inbook" = 2110 | or or 2111 | 'author.editor.sort 2112 | { type$ "proceedings" = 2113 | 'editor.organization.sort 2114 | { type$ "manual" = 2115 | 'author.organization.sort 2116 | 'author.sort 2117 | if$ 2118 | } 2119 | if$ 2120 | } 2121 | if$ 2122 | " " 2123 | * 2124 | year field.or.null sortify 2125 | * 2126 | " " 2127 | * 2128 | title field.or.null 2129 | sort.format.title 2130 | * 2131 | #1 entry.max$ substring$ 2132 | 'sort.label := 2133 | sort.label * 2134 | #1 entry.max$ substring$ 2135 | 'sort.key$ := 2136 | } 2137 | 2138 | ITERATE {presort} 2139 | 2140 | SORT 2141 | 2142 | FUNCTION {initialize.longest.label} 2143 | { "" 'longest.label := 2144 | #0 int.to.chr$ 'last.label := 2145 | "" 'next.extra := 2146 | #0 'longest.label.width := 2147 | #0 'last.extra.num := 2148 | #0 'number.label := 2149 | } 2150 | 2151 | FUNCTION {forward.pass} 2152 | { last.label label = 2153 | { last.extra.num #1 + 'last.extra.num := 2154 | last.extra.num int.to.chr$ 'extra.label := 2155 | } 2156 | { "a" chr.to.int$ 'last.extra.num := 2157 | "" 'extra.label := 2158 | label 'last.label := 2159 | } 2160 | if$ 2161 | number.label #1 + 'number.label := 2162 | } 2163 | 2164 | FUNCTION {reverse.pass} 2165 | { next.extra "b" = 2166 | { "a" 'extra.label := } 2167 | 'skip$ 2168 | if$ 2169 | extra.label 'next.extra := 2170 | extra.label 2171 | duplicate$ empty$ 2172 | 'skip$ 2173 | { "{\natexlab{" swap$ * "}}" * } 2174 | if$ 2175 | 'extra.label := 2176 | label extra.label * 'label := 2177 | dinat.label extra.label * 'dinat.label := 2178 | } 2179 | 2180 | EXECUTE {initialize.longest.label} 2181 | 2182 | ITERATE {forward.pass} 2183 | 2184 | REVERSE {reverse.pass} 2185 | 2186 | FUNCTION {bib.sort.order} 2187 | { sort.label 'sort.key$ := 2188 | } 2189 | 2190 | ITERATE {bib.sort.order} 2191 | 2192 | SORT 2193 | 2194 | FUNCTION {begin.bib} 2195 | { preamble$ empty$ 2196 | 'skip$ 2197 | { preamble$ write$ newline$ } 2198 | if$ 2199 | "\begin{thebibliography}{" number.label int.to.str$ * "}" * 2200 | write$ newline$ newline$ 2201 | "% this bibliography is generated by nd24.bst [3.0c2] from 2005-12-21" 2202 | write$ newline$ newline$ 2203 | "\providecommand{\natexlab}[1]{#1}" 2204 | write$ newline$ 2205 | "\providecommand{\url}[1]{\texttt{#1}}" 2206 | write$ newline$ 2207 | "\makeatletter" 2208 | write$ newline$ 2209 | "\newcommand{\dinatlabel}[1]%" 2210 | write$ newline$ 2211 | "{\ifNAT@numbers\else\NAT@biblabelnum{#1}\fi}" 2212 | write$ newline$ 2213 | "\makeatother" 2214 | write$ newline$ 2215 | "\expandafter\ifx\csname urlstyle\endcsname\relax" 2216 | write$ newline$ 2217 | " \providecommand{\doi}[1]{doi: #1}\else" 2218 | write$ newline$ 2219 | " \providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi" 2220 | write$ newline$ 2221 | } 2222 | 2223 | EXECUTE {begin.bib} 2224 | 2225 | EXECUTE {init.state.consts} 2226 | 2227 | ITERATE {call.type$} 2228 | 2229 | FUNCTION {end.bib} 2230 | { newline$ 2231 | "\end{thebibliography}" write$ newline$ 2232 | } 2233 | 2234 | EXECUTE {end.bib} 2235 | --------------------------------------------------------------------------------