diff --git a/arbeit/Makefile b/arbeit/Makefile index 7b1fd6f..1f5719a 100644 --- a/arbeit/Makefile +++ b/arbeit/Makefile @@ -1,13 +1,16 @@ all: ma.md bibma.bib template.tex settings/abkuerzungen.tex settings/commands.tex settings/environments.tex settings/hyphenation.tex settings/packages.tex files/titlepage.tex files/erklaerung.tex pandoc -s -N --template=template.tex ma.md -o ma.tex - rm -f ma.pdf ma.aux ma.idx ma.lof ma.log ma.lot ma.out ma.tdo ma.toc + rm -f ma.pdf ma.aux ma.idx ma.lof ma.log ma.lot ma.out ma.tdo ma.toc ma.bbl ma.blg ma.loa pdflatex -interaction batchmode ma.tex || true - while test `cat ma.log | grep -e "rerunfilecheck \(Warning\|Info\).*has changed" | wc -l` -gt 0 ; do \ + bibtexu ma + pdflatex -interaction batchmode ma.tex || true + while test `cat ma.log | grep -e "\(Rerun to get citations correct\)" | wc -l` -gt 0 ; do \ rm ma.log && (pdflatex -interaction batchmode ma.tex || true) \ done - rm -f ma.aux ma.idx ma.lof ma.log ma.lot ma.out ma.tdo ma.toc + rm -f ma.aux ma.idx ma.lof ma.lot ma.out ma.tdo ma.toc ma.bbl ma.blg ma.loa + # rm -f ma.log clean: - rm -f ma.pdf ma.aux ma.idx ma.lof ma.log ma.lot ma.out ma.tdo ma.toc + rm -f ma.pdf ma.aux ma.idx ma.lof ma.log ma.lot ma.out ma.tdo ma.toc ma.bbl ma.blg ma.loa rm -f ma.tex diff --git a/arbeit/bibma.bib b/arbeit/bibma.bib index b84b96c..6bf34e1 100644 --- a/arbeit/bibma.bib +++ b/arbeit/bibma.bib @@ -1,122 +1,8 @@ -@article{ohm2003mpeg, - title={The MPEG-7 Color Descriptors}, - author={Ohm, Jens-Rainer and Cieplinski, Leszek and Kim, Heon Jun and Krishnamachari, Santhana and Manjunath, BS and Messing, Dean S and Yamada, Akio}, - year={2003} +@inproceedings{anrichterEvol, + author = "Richter, Andreas and Achenbach, Jascha and Menzel, Stefan and Botsch, Mario", + booktitle = "IEEE Congress on Evolutionary Computation", + location = "Vancouver, Canada", + publisher = "IEEE", + title = "Evolvability as a Quality Criterion for Linear Deformation Representations in Evolutionary Optimization", + year = "2016", } -@article{schoening2012, - - abstract = {Megafauna play an important role in benthic ecosystem function and are sensitive indicators of environmental change. Non-invasive monitoring of benthic communities can be accomplished by seafloor imaging. However, manual quantification of megafauna in images is labor-intensive and therefore, this organism size class is often neglected in ecosystem studies. Automated image analysis has been proposed as a possible approach to such analysis, but the heterogeneity of megafaunal communities poses a non-trivial challenge for such automated techniques. Here, the potential of a generalized object detection architecture, referred to as iSIS (intelligent Screening of underwater Image Sequences), for the quantification of a heterogenous group of megafauna taxa is investigated. The iSIS system is tuned for a particular image sequence (i.e. a transect) using a small subset of the images, in which megafauna taxa positions were previously marked by an expert. To investigate the potential of iSIS and -compare its results with those obtained from human experts, a group of eight different taxa from one camera transect of seafloor images taken at the Arctic deep-sea observatory HAUSGARTEN is used. The results show that inter- and intra-observer agreements of human experts exhibit considerable variation between the species, with a similar degree of variation apparent in the automatically derived results obtained by iSIS. Whilst some taxa (e. g. Bathycrinus stalks, Kolga hyalina, small white sea anemone) were well detected by iSIS (i. e. overall Sensitivity: 87\%, overall Positive Predictive Value: 67\%), some taxa such as the small sea cucumber Elpidia heckeri remain challenging, for both human observers and iSIS.}, - author = {Schoening, Timm and Bergmann, Melanie and Purser, Autun and Dannheim, Jennifer and Gutt, Julian and Nattkemper, Tim Wilhelm}, - issn = {1932-6203}, - journal = {PLoS ONE}, - language = {English}, - number = {6}, - title = {Semi-automated image analysis for the assessment of megafaunal densities at the Arctic deep-sea observatory HAUSGARTEN}, - doi = {10.1371/journal.pone.0038179}, - volume = {7}, - year = {2012}, -} - -@article{rubinstein2010double, - title={Double sparsity: Learning sparse dictionaries for sparse signal approximation}, - author={Rubinstein, Ron and Zibulevsky, Michael and Elad, Michael}, - journal={Signal Processing, IEEE Transactions on}, - volume={58}, - number={3}, - pages={1553--1564}, - year={2010}, - publisher={IEEE} -} - -@ARTICLE{NNS_Scholarpedia, -AUTHOR = {Peterson, L. E.}, -TITLE = {K-nearest neighbor}, -YEAR = {2009}, -JOURNAL = {Scholarpedia}, -VOLUME = {4}, -NUMBER = {2}, -PAGES = {1883}, -URL = {http://www.scholarpedia.org/article/K-nearest_neighbor} -} -@article{natarajan1995sparse, - title={Sparse approximate solutions to linear systems}, - author={Natarajan, Balas Kausik}, - journal={SIAM journal on computing}, - volume={24}, - number={2}, - pages={227--234}, - year={1995}, - publisher={SIAM}, - URL={http://dx.doi.org/10.1137/S0097539792240406} -} -@article{tropp2007signal, - title={Signal recovery from random measurements via orthogonal matching pursuit}, - author={Tropp, Joel A and Gilbert, Anna C}, - journal={Information Theory, IEEE Transactions on}, - volume={53}, - number={12}, - pages={4655--4666}, - year={2007}, - publisher={IEEE} -} -@ARTICLE{SIFT_Scholarpedia, -AUTHOR = {Lindeberg, T. }, -TITLE = {Scale Invariant Feature Transform}, -YEAR = {2012}, -JOURNAL = {Scholarpedia}, -VOLUME = {7}, -NUMBER = {5}, -PAGES = {10491}, -URL= {http://www.scholarpedia.org/article/Scale_Invariant_Feature_Transform#Scale_and_orientation_normalization} -} - -@article{foldiak1995sparse, - title={Sparse coding in the primate cortex}, - author={F{\"o}ldi{\'a}k, Peter and Young, Malcom P}, - journal={The handbook of brain theory and neural networks}, - volume={1}, - pages={1064--1068}, - year={1995}, - publisher={Citeseer} -} - - -@article{lewicki2000, - author = {Michael S. Lewicki and Terrence J. Sejnowski}, - title = { Learning Overcomplete Representations}, - year = {2000} -} - -@misc{2dtree, -author = {Eiseleda}, -title = {\url{http://upload.wikimedia.org/wikipedia/commons/9/90/2dbaum.svg}}, -year = {2013} -} - -@misc{Muj11FLANN, - author={Marius Muja}, - title={FLANN, Fast Library for Approximate Nearest Neighbors}, - year={2011}, - note={\url{http://mloss.org/software/view/143/}} -} - -@ARTICLE{entropy2007, -AUTHOR = {Downarowicz, T. }, -TITLE = {Entropy}, -YEAR = 2007, -JOURNAL = Scholarpedia, -VOLUME = 2, -NUMBER = 11, -PAGES = 3901 -} - -@article{weber1998, - title={A quantitative analysis and performance study for similarity-search methods in high-dimensional spaces}, - author={Weber, Roger and Schek, Hans-J{\"o}rg and Blott, Stephen}, - booktitle={VLDB}, - volume={98}, - pages={194--205}, - year={1998} -} - diff --git a/arbeit/files/erklaerung.aux b/arbeit/files/erklaerung.aux index 33ff0d1..d72022c 100644 --- a/arbeit/files/erklaerung.aux +++ b/arbeit/files/erklaerung.aux @@ -1,7 +1,7 @@ \relax \providecommand\hyper@newdestlabel[2]{} \@setckpt{files/erklaerung}{ -\setcounter{page}{11} +\setcounter{page}{15} \setcounter{equation}{0} \setcounter{enumi}{0} \setcounter{enumii}{0} @@ -10,8 +10,8 @@ \setcounter{footnote}{0} \setcounter{mpfootnote}{0} \setcounter{part}{0} -\setcounter{chapter}{0} -\setcounter{section}{0} +\setcounter{chapter}{5} +\setcounter{section}{5} \setcounter{subsection}{0} \setcounter{subsubsection}{0} \setcounter{paragraph}{0} @@ -22,7 +22,7 @@ \setcounter{ContinuedFloat}{0} \setcounter{float@type}{16} \setcounter{lstnumber}{1} -\setcounter{NAT@ctr}{0} +\setcounter{NAT@ctr}{1} \setcounter{AM@survey}{0} \setcounter{r@tfl@t}{0} \setcounter{subfigure}{0} @@ -30,7 +30,7 @@ \setcounter{@todonotes@numberoftodonotes}{0} \setcounter{Item}{0} \setcounter{Hfootnote}{0} -\setcounter{bookmark@seq@number}{20} +\setcounter{bookmark@seq@number}{17} \setcounter{algorithm}{0} \setcounter{ALC@unique}{0} \setcounter{ALC@line}{0} diff --git a/arbeit/files/titlepage.tex b/arbeit/files/titlepage.tex index f68d674..ec9da3a 100644 --- a/arbeit/files/titlepage.tex +++ b/arbeit/files/titlepage.tex @@ -47,7 +47,6 @@ \hspace{0.99cm} {\huge\bfseries Evaluation of the Performance\\[4mm] \hspace{0.99cm} of Randomized FFD Control Grids}\\[28mm] \hspace{0.99cm} {\LARGE Master Thesis}\\[3mm] - \hspace{0.99cm} {\fontsize{60pt}{} \selectfont\Huge\bfseries DRAFT}\\[3mm] \hspace{0.99cm} {\Large {\normalsize at the}\\[4mm] \hspace{0.99cm} AG Computer Graphics}\\[2mm] \hspace{0.99cm} at the Faculty of Technology\\ diff --git a/arbeit/ma.md b/arbeit/ma.md index 2e6e664..d37dfae 100644 --- a/arbeit/ma.md +++ b/arbeit/ma.md @@ -2,9 +2,40 @@ fontsize: 11pt --- -# Einleitung +# How to read this Thesis -## Wieso ist FFD cool? +As a guide through the nomenclature used in the formulas we prepend this chapter. + +Unless otherwise noted the following holds: + +- lowercase letters $x,y,z$ + refer to real variables and represent a point in 3D-Space. +- lowercase letters $u,v,w$ + refer to real variables between $0$ and $1$ used as coefficients in a 3D B-Spline grid. +- other lowercase letters + refer to other scalar (real) variables. +- lowercase **bold** letters (e.g. $\vec{x},\vec{y}$) + refer to 3D coordinates +- uppercase **BOLD** letters (e.g. $D, M$) + refer to Matrices + +# Introduction + +In this Master Thesis we try to extend a previously proposed concept of predicting +the evolvability of \acf{FFD} given a Deformation-Matrix\cite{anrichterEvol}. +In the original publication the author used random sampled points weighted with +\acf{RBF} to deform the mesh and defined three different criteria that can be +calculated prior to using an evolutional optimisation algorithm to asses the +quality and potential of such optimisation. + +We will replicate the same setup on the same meshes but use \acf{FFD} instead of +\acf{RBF} to create a deformation and evaluate if the evolution-criteria still +work as a predictor given the different deformation. + +## What is \acf{FFD}? + +First of all we have to establish how a \ac{FFD} works and why this is a good +tool for deforming meshes in the first place. ## Was ist evolutionäre Optimierung? diff --git a/arbeit/ma.pdf b/arbeit/ma.pdf index 132bc41..c5e9b8e 100644 Binary files a/arbeit/ma.pdf and b/arbeit/ma.pdf differ diff --git a/arbeit/ma.tex b/arbeit/ma.tex index e0ca218..a2b075a 100644 --- a/arbeit/ma.tex +++ b/arbeit/ma.tex @@ -67,6 +67,19 @@ titlepage, % % files/7_0_evaluation% % % ,files/8_0_conclusion% % } + +%%%%%%%%%%%%%%% PANDOC-nedded defs %%%%%%%%%% +\providecommand{\tightlist}{% + \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} + +%disable "Redefining ngerman shorthand"-Message +% \makeatletter +% \patchcmd{\pdfstringdef} +% {\csname HyPsd@babel@} +% {\let\bbl@info\@gobble\csname HyPsd@babel@} +% {}{} +% \makeatother + %%%%%%%%%%%%%%% Hauptdokument %%%%%%%%%%%%%%% \begin{document} @@ -97,18 +110,59 @@ titlepage, %%%%%%%%%%%%%%% Verzeichnisse %%%%%%%%%%%%%%% \frontmatter % Abstrakte Gliederungsebene: Anfang des Buches \tableofcontents % Rueckseite leer - \listoffigures - \listoftables %\lstlistoflistings % fuer listingsverzeichnis mit package listings %%%%%%%%%%%%%%% Hauptteil %%%%%%%%%%%%%%% % Insgesamt ca. 60-100 Seiten Davon mindesten 50% Eigene Arbeit \mainmatter %Abstrakte Gliederungsebene: Hauptteil des Buches \pagestyle{fancy} - %\pagenumbering{arabic} -\chapter{Einleitung}\label{einleitung} +\pagenumbering{arabic} +\chapter{How to read this Thesis}\label{how-to-read-this-thesis} -\section{Wieso ist FFD cool?}\label{wieso-ist-ffd-cool} +As a guide through the nomenclature used in the formulas we prepend this +chapter. + +Unless otherwise noted the following holds: + +\begin{itemize} +\tightlist +\item + lowercase letters \(x,y,z\)\\ + refer to real variables and represent a point in 3D-Space. +\item + lowercase letters \(u,v,w\)\\ + refer to real variables between \(0\) and \(1\) used as coefficients + in a 3D B-Spline grid. +\item + other lowercase letters\\ + refer to other scalar (real) variables. +\item + lowercase \textbf{bold} letters (e.g. \(\vec{x},\vec{y}\))\\ + refer to 3D coordinates +\item + uppercase \textbf{BOLD} letters (e.g. \(D, M\))\\ + refer to Matrices +\end{itemize} + +\chapter{Introduction}\label{introduction} + +In this Master Thesis we try to extend a previously proposed concept of +predicting the evolvability of \acf{FFD} given a +Deformation-Matrix\cite{anrichterEvol}. In the original publication the +author used random sampled points weighted with \acf{RBF} to deform the +mesh and defined three different criteria that can be calculated prior +to using an evolutional optimisation algorithm to asses the quality and +potential of such optimisation. + +We will replicate the same setup on the same meshes but use \acf{FFD} +instead of \acf{RBF} to create a deformation and evaluate if the +evolution-criteria still work as a predictor given the different +deformation. + +\section{\texorpdfstring{What is \acf{FFD}?}{What is ?}}\label{what-is} + +First of all we have to establish how a \ac{FFD} works and why this is a +good tool for deforming meshes in the first place. \section{Was ist evolutionäre Optimierung?}\label{was-ist-evolutionuxe4re-optimierung} @@ -227,27 +281,41 @@ Optimierung}\label{besonderheiten-der-optimierung} HAHA .. als ob -.- -%%%%%%%%%%%%%%% Literaturverzeichnis %%%%%%%%%%%%%%% \backmatter - %\pagenumbering{roman} - \cleardoublepage - \bibliographystyle{natdin} % \bibliographystyle{abbrv} - \bibliography{bibma} - \addcontentsline{toc}{chapter}{\numberline{}\bibname} % Literaturverzeichnis in das Inhaltsverzeichnis aufnehmen -% \nocite{*} +\cleardoublepage + +\renewcommand\thesection{\Roman{section}} +\addtocontents{toc}{\protect\setcounter{tocdepth}{1}} +\setcounter{section}{1} % reset section to 1 so its stars I, II, III,... +\chapter*{Appendix} +\addcontentsline{toc}{chapter}{\protect\numberline{}Appendix} +\pagenumbering{roman} +%%%%%%%%%%%%%%% Literaturverzeichnis %%%%%%%%%%%%%%% + \bibliographystyle{natdin} % \bibliographystyle{natdin} + \bibliography{bibma} + \addcontentsline{toc}{section}{\protect\numberline{\thesection}Bibliography} % Literaturverzeichnis in das Inhaltsverzeichnis aufnehmen + \addtocounter{section}{1} + \newpage %%%%%%%%%%%%%%% Anhang %%%%%%%%%%%%%%% -% \clearpage %spaeter alles wieder rein - \begin{appendix} % Anhang, technische Details +% \clearpage %spaeter alles wieder rein % % \input{files/appendix} -% \listofalgorithms -% \listoftheorems -% \listof{theorem}{List of Theorems} + \input{settings/abkuerzungen} + \addcontentsline{toc}{section}{\protect\numberline{\thesection}Abbreviations} + \addtocounter{section}{1} + \newpage + + \listofalgorithms + \addcontentsline{toc}{section}{\protect\numberline{\thesection}List of Algorithms} + \addtocounter{section}{1} + \newpage -% \addcontentsline{toc}{chapter}{\numberline{}Abkürzungen} -% \input{settings/abkuerzungen} + \listoffigures + \listoftables \listoftodos - \end{appendix} + \addcontentsline{toc}{section}{\protect\numberline{\thesection}TODOs} + \addtocounter{section}{1} + \newpage % \printindex %%%%%%%%%%%%%%% Erklaerung %%%%%%%%%%%%%%% diff --git a/arbeit/natdin.bst b/arbeit/natdin.bst new file mode 100644 index 0000000..5ad6520 --- /dev/null +++ b/arbeit/natdin.bst @@ -0,0 +1,2234 @@ +%% natdin.bst Vers. [3.1] 2006-01-02 mit PWD cite-multimode +%% +%% Aenderungen seit Vers. [3.0bx]: +%% a) Funktions-Zusaetze bei Autoren sind nun moeglich +%% b) Internetquellen ohne Zusatz "Online--Ressource" ! +%% c) verbesserte INPROCEEDINGS, PROCEEDINGS-Funktionen +%% d) neue TECHREPORT und MANUAL-Funktionen +%% e) neue format.pages.book-Funktion +%% f) neue format.online.lastchecked-Funktion +%% +%% +%% K.F.Lorenzen (Copyright 1994-2006) email: lorenzen.marxen@t-online.de +%% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +%% Mit diesem BibTex-style werden Literaturverzeichnisse nach dem deutschen +%% Standard DIN 1505, Teil 2 und 3 formatiert. Die label im Quellen-/ +%% Literaturverzeichnis sind vom Typ 'Verfasser - Jahr' und +%% entsprechen den Zitatformen im Text. Es koennen alle von +%% Patrick W. Daly im natbib-Paket implementierten Zitierbefehle +%% genutzt werden. Eine Kurzbeschreibung liegt als Datei natnotes.pdf zusammen +%% mit der im Aufbau befindlichen Beschreibung des natdin-Stils +%% unter der URL http://www.haw-hamburg.de/pers/Lorenzen/bibtex. +%% Eine Anleitung zur Anwendung der Norm DIN 1505 findet sich unter der +%% URL http://www.bui.haw-hamburg.de/pers/klaus.lorenzen/ASP/litverz.pdf +%% +%% Es werden nun auch Elektronische Online / Offline Ressourcen wie +%% Internetquellen, CD-ROM usw. verarbeitet. Dazu kommen spezielle +%% Publikationsformen wie Patente, Normen, Karten, Fernsehaufzeichnungen, +%% Gesetzesstellen, Spiele u.a. +% +%% NATDIN.BST muss zusammen mit NATBIB.STY von Patrick W. Daly und der in +%% dieser Verteilung modifizierten Konfiguration NATBIB.CFG aufgerufen +%% werden. NATDIN.BST ist vorzugsweise in den ...\bibtex\bst - Pfad zu +%% stellen. Die jeweils individuelle Konfiguration NATBIB.CFG wird am +%% besten in das Verzeichnis der LaTex-Quelle selbst gelegt. +%% +%% Eine Muster-Konfiguration wird auf Vorschlag von Helge Baumann eingefuegt: +% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +% NATBIB.CFG in Verbindung mit natbib.sty Lorenzen, 2005-05-31 +% diese Konfigurationsdatei wird zuletzt eingelesen und +% enthaelt die lokal gewuenschten Einstellungen fuer den +% Bibliographie-- und Zitierstil +% +% \newcommand{\bibstyle@natdin}% +% {\bibpunct{(}{)}{;}{a}{}{,~} +% \gdef\NAT@biblabelnum##1{\textbf{##1}\\}} %% \\ bewirkt Zeilenumbruch +% %% nach label-Ausgabe +% +% \bibstyle@natdin +% +% % Einzug der Belege nach der Einordnungsmarke +% \setlength{\bibhang}{7mm} +% +%% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +%% +%% Zur Gewaehrleistung der Allgemeingueltigkeit von bib-files gelten +%% in den DIN-styles mit einer einzigen Ausnahme die in der Tex-Literatur +%% veroeffentlichten originalen Definitionen und Regeln fuer die +%% Publikationstypen (entry-types) und die bibliographischen Felder (fields). +%% Die Ausnahme bezieht sich auf den entry-type PROCEEDINGS und das Feld +%% address, fuer das Oren Patashnik dort die Sonderbedeutung "Konferenzort" +%% gewaehlt hatte. In den DIN-Stilen behaelt address auch hier seine normale +%% Bedeutung als "Verlagsort" bei! +%% In einigen entry-types werden zu Gunsten bibliographischer Vollstaendigkeit +%% mehr optionale Felder verwendet als seinerzeit von Patashnik angegeben. +%% Treten "Schoenheitsfehler" im fertig gesetzten output auf, +%% lassen sich diese so gut wie immer durch eine veraenderte +%% Erfassung im bib-inputfile beseitigen. Oren Patashnik empfiehlt, die +%% Definition der Felder weit auszulegen. Last but not least koennen +%% Sie im output-file < *.bbl > noch letzte Hand zur Korrektur ansetzen. +%% Wegen der meist langen Internetadressen kann es zu "unschoenen" Luecken +%% im Belegtext kommen. Dann muss mit \underfull hbox.... gekaempft werden. +%% +%% Die Darstellung von Internetadressen wird durch das Zusatzpaket +%% url.sty ver 3.1, 15-Mar-2004 von Donald Arseneau erheblich verbessert und +%% wird sehr empfohlen. +%% +%% HYPERREF-Paket: wird dieses Paket zusaetzlich geladen, werden im output +%% aktivierbare externe (URLs usw.) und interne (Dokumentbezogene) Links +%% gesetzt. Sehr gute Zusammenarbeit mit PDFLaTex u.a. +% +%% WARN- UND FEHLERMELDUNGEN +%% Ursache von Warnmeldungen sind meistens ausgelassene Felder oder +%% Erfassungs-"Fehler". Letztere haengen teilweise mit den gegenueber US- +%% Gepflogenheiten andersartigen bibliographischen Regeln nach DIN 1505 +%% zusammen. Sie sind also in Wahrheit keine "Fehler" und duerfen fast immer +%% ignoriert werden. Dennoch pruefen Sie diese Warnungen, um heraus zu finden, +%% ob Publikationstyp (=entry-type) und "fields" eventuell unzulaessig +%% kombiniert worden sind. +%% Echte Fehler ("errors") duerften nur noch bei bibliographisch falscher +%% Erfassung auftreten. Pruefen Sie die Syntax, den entry-type und die fields. +%% Zu guter letzt: Qualitaetsmasstab ist einzig der DIN-konforme output! +%% +%% DANKSAGUNG +%% Hartmut Lueddecke, HAW Hamburg, hat viele Verbesserungsvorschlaege +%% in die frueheren Versionen eingebracht. Ihm danke ich herzlich. +%% Patrick W. Daly, dem Entwickler des Natbib-Stils, verdanke ich viele +%% Anregungen und den steten Ansporn, die DIN-Stile zu verbessern. +%% Helge Baumann hatte mit seiner Weiterentwicklung meines alten natdin.bst +%% zu dinat.bst (Vers. 2001) die volle Zitierkapazitaet des natbib-Pakets +%% eingefuehrt. Damit war ein deutlicher Zugewinn erreicht. Von ihm stammt +%% der in der vorliegenden natdin.bst-Version 3.0x neu eingefuehrte Befehl +%% \dinatlabel unter seinem von H. Baumann vergebenen Namen. +%% Viele an dieser Stelle ungenannt bleibende Anwender haben mich in +%% den vergangenen Jahren auf Fehler oder Verbesserungsmoeglichkeiten +%% aufmerksam gemacht und so diesen Stil mitentwickelt. Ihnen gilt mein +%% besonderer Dank. Ihr Feedback ist immer willkommen und eine Ermunterung. +%% +%% Klaus F. Lorenzen +%% +%% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +%% version 0.99c for BibTeX versions 0.99c or later, LaTeX2e version +%% Copyright (C) 1985, all rights reserved. +%% Copying of this file is authorized only if either +%% (1) you make absolutely no changes to your copy, including name, or +%% (2) if you do make changes, you name it something other than +%% natdin.bst, natbib.sty +%% This restriction helps ensure that all standard styles are identical. +%% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +%% +%% NEUE FELDER +%% Zur Erfassung von Internetquellen, E-mail u.a. gibt es folgende +%% neue Felder: doi, lastchecked (nach Gray), url, urn +%% Internetquellen (z.B. auch E-mail) werden vorzugsweise mit dem +%% BOOKLET-Typ erfasst. +%% Normen, Patente, Schutzrechte, Gesetzesstellen sind mit dem MISC-Typ +%% zu erfassen. +%% + + +ENTRY + { address %% Verlagsort (immer!) + author %% persoenlicher Urheber eines Werkes oder am Zustandekommen + %% beteiligte Personen(=Mitarbeiter, Uebersetzer, Redakteur u.a.) + booktitle %% a) Gesamttitel eines mehrbaendigen Werkes +% %% b) Titel des Sammelwerks, das einzelne selbstaendige +% %% Beitraege mit eigenem Titel enthaelt ->incollection + chapter %% Kapitel in einem Buch (Monographie) + doi %%% Digital Object Identifier ->article + edition %% a) Auflagevermerk +% %% b) bei selbst. elektron. Quellen == Version ->booklet + editor %% Persoenl.Herausgeber oder Koerperschaftlicher Herausgeber + howpublished %% beliebiger Verlegervermerk: veroeffentlicht "von wem, wo" + institution %% Institution, die e.verlagsfreie Veroeffentlichung betreibt + isbn %% Standardnr fuer Buecher + issn %% - " - : Zeitschriften u. Serien + journal %% Titel einer Zeitschrift + key %% Zusaetzlich vergebener Sortierschluessel, mitunter notwend. + lastchecked %% neues Feld fuer das Datum des Online-Abrufs +% %% einer Internetquelle (n. GRAY ) + month %% naehere Bestimmung des Erscheinungsjahres -> macro 's + note %% freies Eingabefeld fuer zusaetzliche Informationen z. Quelle + number %% Versch. Bedeutungen in Abhaengigkeit vom Eingabetyp: +% %% a) Bandnummer einer gezaehlten Reihe (series) +% %% b) Heftnummer einer Zeitschrift ->article +% %% c) Nummer eines Forschungsberichts ->techreport + organization %% a) Name der Organisation/des Organisators e. Tagung,Konferenz +% %% b) Name einer Firma/Gesellschaft, die ein ->manual herausgab + pages %% Umfangsangaben, meist Seitenzahlen + publisher %% Verlag + school %% Hochschule/Universitaet, die eine Dipl.-Arb./Dissertation veroeff. + series %% Titel e.Reihe, in der ein best. Buchtitel erschienen ist + title %% Titel einer (namentlich gekennzeichneten) Veroeffentlichung + type %% Zusatzfeld z.Kennzeichnung e.besonderen Publikationstyps + url %% neues Feld URL ( Uniform Resource Locator ): +% %% Serveradresse einer Internetquelle + urn %% neues Feld URN ( Uniform Resource Name ): +% %% Persistent Identifier einer Internetquelle + volume %% a) Zaehlung bei einem mehrbaendigen Werk ->book/->proceedings +% %% b) Jahrgang einer Zeitschrift ->article + year %% Erscheinungsjahr + } + {} + { label extra.label sort.label short.list dinat.label} + +%%%---------------------------------------------------------------------------- +% Einige Standardvorgaben, die vom Benutzer veraendert werden koennen. +%%%---------------------------------------------------------------------------- + +% Abkuerzung ("... und andere") bei Mehrverfasserquellen: + +FUNCTION { ua.etal } { " u.\,a." } %% evtl. auch in eckigen Klammern " [u.\,a.]" + +%% oder lateinisch: FUNCTION { ua.etal } { " et~al." } + +FUNCTION { und } { " u. " } + +%% oder ausgeschrieben: FUNCTION { und } { " und " } + + +% Einige elektronische Medien erhalten nach DIN 1505 eine "Ergaenzende Angabe" +% zusaetzlich zum materiellen Typ, z.B. CD ROM oder DVD u.a.: + +FUNCTION { eress } { "Elektronische Ressource" } +%%%----------------------------------------------------------------------------------- + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +INTEGERS { after.firstblock } + +INTEGERS { colon.after period.dash } + +INTEGERS { zahl lang } + +INTEGERS { len } + +INTEGERS { longest.label.width last.extra.num number.label } + +INTEGERS { nameptr namesleft numnames } + +INTEGERS { ptr collation collrest } + +STRINGS { longest.label last.label next.extra } + +STRINGS { h s t u v w } + +STRINGS { fkt } + +%%--------------------------- + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := + #4 'colon.after := + #5 'period.dash := + #6 'after.firstblock := +} + + + +FUNCTION {set.period.dash} %% Wenn ein ". - " die Satzteile trennen soll.! +{ output.state before.all = + 'skip$ + { period.dash 'output.state := } + if$ +} + + +FUNCTION {set.period.dash.check} +{ empty$ + 'skip$ + 'set.period.dash + if$ +} + +FUNCTION {set.colon.after} %%$$$ Wenn ein ": " d. Satzteile trennen soll! +{ output.state before.all = + 'skip$ + { colon.after 'output.state := } + if$ +} + +%% Wenn ein " " die Satzteile trennen soll.! +FUNCTION {new.sentence} +{ output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ +} + +%% neu 17/2/94 Wenn ein ", " die Satzteile trennen soll.! +FUNCTION { part.of.sentence } +{ output.state before.all = + 'skip$ + { mid.sentence 'output.state := } + if$ +} + +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {output.nonnull} +{ 's := + output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + { write$ } + { output.state colon.after = + { ": " * write$ + newline$ + "\newblock " write$ + } + { output.state period.dash = + { ". -- " * write$ + newline$ + "\newblock " write$ + } + { output.state mid.sentence = + { ", " * write$ } + { output.state after.sentence = + { " " * write$ } + { output.state after.firstblock = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { write$ + newline$ + "\newblock " write$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + after.block 'output.state := + } + if$ + s + } + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {format.date} +{ year duplicate$ empty$ + { "empty year in " cite$ * warning$ + pop$ "" } + 'skip$ + if$ + month empty$ + 'skip$ + { type$ "book" = + type$ "inbook" = + OR + 'skip$ + { month " " * swap$ * } + if$ + } + if$ +%% ohne Extrabuchstabe beim Erscheinungsjahr +} + +FUNCTION {format.edition.or.date} +{ edition empty$ year empty$ and + { "" } + { edition empty$ + { type empty$ NOT + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + { " gesendet: " "-- " type * swap$ * + format.date * + } + { "\,Version:\," + format.date * + } + if$ + } + { "\,Version:\," + format.date * + } + if$ + } + { year empty$ + { "\,Version:\," edition * } + { "\,Version:\," edition * ", " * + format.date * + } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.online.lastcheck} +{ lastchecked empty$ + { url empty$ doi empty$ urn empty$ and and + { skip$ } + { "" output } + if$ + } + { url empty$ doi empty$ urn empty$ and and + { "there's a lastchecked date but no url, urn or doi in " + cite$ * warning$ + } + { part.of.sentence + lastchecked "Abruf: " swap$ * output + } + if$ + } + if$ +} + +FUNCTION {format.maillist.lastcheck} + { type empty$ NOT + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + { format.online.lastcheck } + 'skip$ + if$ + } + 'skip$ + if$ + } + +FUNCTION {format.doi} +{ doi empty$ + { "" } + { new.block "\url{http://dx.doi.org/" doi * "}" * + %% { new.block "\url{http://dx.medra.org/" doi * "}" * + } + if$ +} + +FUNCTION {format.url} +{ urn missing$ + { doi missing$ + { url empty$ + { "" } + { type empty$ NOT + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + { type$ "incollection" = + { "" } + { "\,Absenderadresse: \url{" url * "}" * } + if$ + } + { "\url{" url * "}" * }%% evtl. "URL" oder "<...>" + if$ + } + { "\url{" url * "}" * } %% evtl. "URL" oder "<...>" + if$ + } + if$ + } + { format.doi } + if$ + } + { "\url{http://nbn-resolving.de/urn/resolver.pl?urn=" urn * "}" * + } + if$ +} + +FUNCTION {format.maillist.url} + { url empty$ + { "" } + { type empty$ + { "" } + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + { "\url{" url * "}" * } + { "" } + if$ + } + if$ + } + if$ + } + + +FUNCTION {format.full.names} +{'s := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}" format.name$ 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { ua.etal * } + { und * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {author.editor.full} +{ author empty$ + { editor empty$ + { "" } + { editor format.full.names } + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {author.full} +{ author empty$ + { "" } + { author format.full.names } + if$ +} + +FUNCTION {editor.full} +{ editor empty$ + { "" } + { editor format.full.names } + if$ +} + +FUNCTION {make.full.names} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.full + { type$ "proceedings" = + 'editor.full + 'author.full + if$ + } + if$ +} + + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[" write$ + label write$ + ")" make.full.names duplicate$ short.list = + { pop$ } + { * } + if$ + "]{" * write$ + cite$ write$ + "}" write$ + newline$ + "\dinatlabel{" dinat.label * "} " * %% Zeilenumbruch steht in NATBIB.CFG! + write$ + "" + before.all 'output.state := +} + + +FUNCTION {fin.entry} +{ write$ + newline$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} + +FUNCTION { capitalize } + { duplicate$ empty$ + { pop$ "" } + { "\textsc{" swap$ * "}" * } + if$ +} + +FUNCTION {article.in.journal} +{ duplicate$ empty$ + { pop$ "" } + { author missing$ title missing$ and + { emphasize } + { emphasize "{In: }" swap$ * } + if$ + } + if$ +} + +FUNCTION {format.names} +{ 's := + "" 'u := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { + s nameptr "{ll}" format.name$ 't := + t capitalize 't := + s nameptr "{ jj}" format.name$ 'w := + s nameptr "{, ff}{ vv}{ jj}" format.name$ 'u := + u text.length$ 'lang := + #1 'zahl := + "" 'v := + { zahl lang < } + { u zahl #1 substring$ "~" = + { v "" = + { u #1 zahl #1 - substring$ 'v := } + 'skip$ + if$ + v u zahl #2 substring$ * "." * w * 'v := + } + 'skip$ + if$ + zahl #1 + 'zahl := } + while$ + v "" = + { u 'v := } + 'skip$ + if$ + t v * fkt * 't := + nameptr #1 > + { namesleft #1 > + { " ; " * t * } + { numnames #2 > + { " " * } + 'skip$ + if$ + t "\textsc{others}" = t "\textsc{others} (Hrsg.)" = or + { ua.etal * } + { " ; " * t * } + if$ + } + if$ %% Ende der namesleft-Pruefung + } + 't + if$ %% Ende der nameptr-Pruefung + + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ %% Ende von { namesleft #0 > } ganz oben + "" 'fkt := %% fkt wird zurueckgesetzt +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { author empty$ + { "empty author and editor in " cite$ * warning$ "" } + 'skip$ + if$ + } + { author empty$ + { " (Hrsg.)" 'fkt := + editor format.names + } + { " (Hrsg.)" 'fkt := + " ; " * editor format.names * + } + if$ + } + if$ + } + +%% 2005-11-11 +FUNCTION { format.authors.organization } +{ type$ "misc" = + { organization empty$ + { author empty$ + { "" } + { author format.names " (Erfinder)" * } + if$ + } + { author empty$ + { organization } + { author format.names " (Erfinder); " * + organization * " (Anmelder)" * + } + if$ + } + if$ + } + { type$ "manual" = + { organization empty$ + { format.authors } + { author empty$ + { organization capitalize " (Hrsg.)" * } + { author format.names } + if$ + } + if$ + } + 'skip$ + if$ + } + if$ +} + +FUNCTION { format.editors.organization } +{ organization empty$ + 'skip$ + { type$ "misc" = + { organization } + { * " ; " * organization " (Veranst.)" *} + if$ + } + if$ +} + +FUNCTION { format.tr.institution } +{ institution empty$ + 'skip$ + { institution capitalize } + if$ +} + +FUNCTION {format.ed.incoll} +{ editor empty$ + { "" } + { " (Hrsg.)" 'fkt := + editor format.names + format.editors.organization + } + if$ +} + + +FUNCTION {format.title} +{ title empty$ + { "" } + { title } %% Text so wie er dasteht im Feld title + if$ +} + +FUNCTION {format.number} +{ number empty$ + { "" } + { number " " * } %% Text so wie er im Feld number steht plus " " + if$ +} + +FUNCTION {format.digital.type} +{ type empty$ + { "" } + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + { "" } + { type } %% Typ einer digitalen Ressource in Form einer + %% "Ergaenzenden Angabe", so wie er dasteht; + %% Alternativ kann dieser Text auch in NOTE erfasst werden. + if$ + } + if$ +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +%% Auflagenvermerke gibt man komplett, einschliesslich Abkuerzungen in +%% das Feld edition ein: ---> EDITION= { 3., erw. und verb. Aufl. } +%% oder fremdsprachlich: EDITION= { 2nd edition } + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { edition } + if$ +} + +FUNCTION {format.version.url} +{ url empty$ doi empty$ urn empty$ and and + { type$ "techreport" = + { format.edition } + { "" } + if$ + } + { format.edition.or.date output format.url } + if$ +} + +FUNCTION {format.edition.or.version} +{ url empty$ doi empty$ urn empty$ and and + { format.edition } + { format.edition.or.date } + if$ +} + +FUNCTION {format.address.publisher.year} +{ publisher empty$ + { address empty$ + { year empty$ + { "" } + { year } + if$ + } + { "there's an address but no publisher in " cite$ * warning$ + address ", " * format.date * + } + if$ + } + { address empty$ + { year empty$ + { "neither address nor publication date in " cite$ * warning$ + publisher + } + { publisher ", " * format.date * } + if$ + } + { year empty$ + { address " : " * publisher * } + { address " : " * publisher * ", " * format.date * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.howpublished} +{ url missing$ urn missing$ doi missing$ AND AND + { howpublished empty$ + { address empty$ + { type empty$ + { "" } + { type #-1 #4 substring$ "mail" = + { "(gesendet: " new.sentence + format.date * ")" * + } + { "" } + if$ + } + if$ + format.date * + } + { address ", " * format.date * } + if$ + } + { address empty$ + { howpublished ", " * format.date * } + { address " : " * howpublished * ", " * format.date * } + if$ + } + if$ + } + { howpublished empty$ + { "" } + { howpublished } + if$ + } + if$ +} + +FUNCTION {format.btitle} +{ title emphasize +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {format.btitle.vol} +{ number empty$ + { series empty$ + { volume empty$ + { title emphasize } + { title emphasize ". Bd." * volume tie.or.space.connect } + if$ + } + { volume empty$ + { title emphasize }%% ein Buch, das zusaetzl. SERIES=Reihentitel besitzt + %% jetzt kommt d. Fall des mehrbaendigen Werkes mit Gesamttitel=SERIES + %% Zaehlung=VOLUME und Bandtitel=TITLE; + { series emphasize ". Bd." * volume tie.or.space.connect + ": " * "{\emph{" * title * "}}" * } + if$ + } + if$%% series-test + } + { title emphasize }%% wenn number ex., dann immer title-Feld + if$%% Ende number-test +} + +FUNCTION {format.series.number.din} +{ volume empty$ + { number empty$ + { series empty$ + { "" } + { "(" series * ")" * } %% d. Seriennr koennte auch gleich hier + %% im SERIES-Feld miterfasst werden + if$ + } + { series empty$ + { "(" number tie.or.space.connect ")" * + "there's a number but no series in " cite$ * warning$ + } + { "(" series * number tie.or.space.connect ")" * } + if$ + } + if$ + } + { series empty$ + { "" } + { type$ "proceedings" = %% Sonderfall, es darf VOLUME und NUMBER ex. ! + type$ "inproceedings" = OR + { number empty$ + { "(" series * ")" * } + { "(" series * number tie.or.space.connect ")" * } + if$ + } + { "" }%% Ausstieg mit Nullstring, s. Kommentar + if$ + }%% bei gezaehlten Reihen MUSS die Reihennr. im Feld NUMBER stehen! + if$ %% wenn also d. Feld VOLUME nicht leer ist, dann liegt ausser bei + %% Typ PROCEEDINGS/INPROCEEDINGS falsche + } %% Erfassung vor und es erfolgt d. Ausstieg mit d. Nullstring! + if$ +} + +FUNCTION {format.tr.series.or.number} +{ number empty$ + { series empty$ + { "" } + { "(" series * ")" * } + if$ + } + { series empty$ + { "(" number * ")" * } + { "(" series * number tie.or.space.connect ")" * } + if$ + } + if$ + } + +FUNCTION {format.misc.series} +{ series empty$ + { "" } + { "(" series * ")" * } + if$ +} + +FUNCTION { format.doi.urn } +{ urn empty$ + { doi empty$ + { "" } + { "DOI" doi n.dashify tie.or.space.connect } + if$ + } + { "URN" urn n.dashify tie.or.space.connect } + if$ +} + +FUNCTION { format.isbn.issn } +{ isbn empty$ + { issn empty$ + { "" } + { "ISSN" issn n.dashify tie.or.space.connect } + if$ + } + { "ISBN" isbn n.dashify tie.or.space.connect } + if$ +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { url empty$ + { "S." pages n.dashify tie.or.space.connect } + { pages } + if$ + } + if$ +} + +FUNCTION {format.pages.book} +{ pages empty$ + { "" } + { note empty$ isbn empty$ AND + { "" pages n.dashify tie.or.space.connect " S" * + add.period$ + } + { "" pages n.dashify tie.or.space.connect " S" * + } + if$ + } + if$ +} + +FUNCTION {format.pages.bkcollation} +{ pages empty$ + { "" } + { "" pages n.dashify tie.or.space.connect } + if$ +} + +FUNCTION {format.bkpages.collat.check} +{ 's := + #1 'ptr := + s text.length$ 'collation := + collation #1 = + { format.pages.book } + { + collation 'collrest := + { collrest #0 > } + { s ptr #2 substring$ 't := + t "S." = + { format.pages.bkcollation + #0 'collrest := } + { ptr #1 + 'ptr := + collrest #1 - 'collrest := + #1 collrest = + { format.pages.book } + { skip$ } + if$ + } + if$ + } + while$ + } + if$ +} + +FUNCTION {format.vol.year.num.pages} +{ volume field.or.null + year empty$ + { "there's no year in " cite$ * warning$ } + { " (" year * ")" * * } + if$ + month empty$ + 'skip$ + { ", " month * * } + if$ + number empty$ + 'skip$ + { ", Nr. " number * * } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ "" } + { title missing$ + { ", " pages format.bkpages.collat.check * *} + { ", " format.pages * *} + if$ + } + if$ + } + if$ +} + +FUNCTION {format.chapter.inbook} +{ duplicate$ empty$ + { pop$ "empty chapter in " cite$ * warning$ } + { type empty$ + { "\emph{Kapitel\/} " swap$ tie.or.space.connect } + { type " " * swap$ * }%% wenn keine bes. Abschnittsform gen. werden soll, + %% koennte e. kl. Zwischenraum gewaehlt werden, z.B. " \, " + if$ + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "Kapitel " } + { url empty$ + { type } + { "Kapitel " } + if$ + } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle.din} +{ booktitle empty$ + { "" } + { editor empty$ + { volume empty$ + { "{In: }" booktitle emphasize * }%% n. Belieben fettes In: + { "{In: }" booktitle emphasize * %% - " - + " Bd." volume tie.or.space.connect * + } + if$ + } + { volume empty$ + { "{In: }" format.ed.incoll * ": " * booktitle emphasize * } + { "{In: }" format.ed.incoll * ": " * booktitle emphasize * + " Bd." volume tie.or.space.connect * + } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.thesis.tr.type} +{ type empty$ + 'skip$ + { pop$ + type + } + if$ +} + +FUNCTION {format.article.crossref} +{ key empty$ + { journal empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" + } + { "{In: }{\emph " journal * "}" * }%% n. Belieben fettes In: + if$ + } + { "{In: }" key * }%% s.o. fettes In: + if$ + " {\textbf{\citep{" * crossref * "}" * "}" * "}" * ", " * format.pages * +} + +FUNCTION {format.crossref.editor} +%vorher,Lue { editor #1 "{vv~}{ll}" format.name$ " (Hrsg.)" * + { editor #1 "{ll}" format.name$ " (Hrsg.)" * + editor num.names$ duplicate$ + #2 > + { pop$ ua.etal * } + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { ua.etal * } + { " ; " * editor #2 "{vv~}{ll}" format.name$ * " (Hrsg.)" * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.inbk.vol.title} +{ volume empty$ + { " In: " } + { title empty$ + { " In: Bd." volume tie.or.space.connect + " von " * + } + { "In: Bd." volume tie.or.space.connect ": " * title emphasize * + " (" * year * ") in " * + } + if$ + } + if$ + } + +FUNCTION {format.book.crossref} +{ type$ "inbook" = + { format.inbk.vol.title } + { volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + " " + } + { ". -- Bd." volume tie.or.space.connect + " von " * + } + if$ + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { "" * }%% dadurch kommt nach der Band Nr. gleich das label 2/6/99 +%% { "{\emph{" * series * "}} {\textbf{siehe}} " * } + if$ + } + { key * } + if$ + } + { "" * } + if$ + "{\textbf{\citep{" * crossref * "}" * "}" * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { booktitle empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + "" + } + { "{In: }{\emph " booktitle * "}" * }%% + if$ + } + { "{In: }" } + if$ + } + { "{In: }" } + if$ + "{\textbf{\citep{" * crossref * "}" * "}" * "}" * %% ", " * format.pages * +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + set.colon.after + format.title "title" output.check + crossref missing$ + { journal article.in.journal output.nonnull + new.sentence + format.vol.year.num.pages output + format.url output + } + { format.article.crossref output.nonnull } + if$ + format.online.lastcheck + doi set.period.dash.check + urn set.period.dash.check + format.doi.urn output + issn set.period.dash.check + format.isbn.issn output + note set.period.dash.check + note output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors format.editors output.nonnull } + if$ + set.colon.after + crossref missing$ + { format.btitle.vol "title" output.check } + { format.btitle "title" output.check } + if$ + format.edition output + format.address.publisher.year "publisher" output.check + new.sentence + crossref missing$ + { format.series.number.din output } + { format.book.crossref output.nonnull } + if$ + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + format.doi output + format.url output + new.block + isbn set.period.dash.check + format.isbn.issn output + note set.period.dash.check + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors format.editors output.nonnull } + if$ + set.colon.after + format.btitle "title" output.check + format.edition.or.version output + format.url output + format.online.lastcheck + format.howpublished output + series new.sentence.checka + format.series.number.din output + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + type set.period.dash.check + format.digital.type output + doi set.period.dash.check + urn set.period.dash.check + format.doi.urn output + note set.period.dash.check + note output + format.isbn.issn output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + chapter format.chapter.inbook output.nonnull + crossref missing$ + { author empty$ + { format.editors "\,{In:\,}" swap$ * "author and editor" output.check } + { format.authors "\,{In:\,}" swap$ * output.nonnull } + if$ + author empty$ editor empty$ AND + { before.all 'output.state := } + { set.colon.after } + if$ + format.btitle.vol "title" output.check + format.edition output + format.address.publisher.year "publisher" output.check + new.sentence + format.series.number.din output + isbn set.period.dash.check + format.isbn.issn output + } + { format.book.crossref output.nonnull + } + if$ + part.of.sentence + format.pages output + note set.period.dash.check + note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + set.colon.after + format.title "title" output.check + format.version.url output + type empty$ NOT + { type #-1 #4 substring$ "mail" = + type #1 #4 substring$ "Mail" = + OR + 'skip$ + { format.online.lastcheck } + if$ + } + { format.online.lastcheck } + if$ + crossref missing$ + { format.in.ed.booktitle.din "booktitle" output.check + format.edition output + format.address.publisher.year "publisher" output.check + format.maillist.url output + format.maillist.lastcheck + new.sentence + format.series.number.din output + doi set.period.dash.check + urn set.period.dash.check + format.doi.urn output + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + } + { format.incoll.inproc.crossref output.nonnull } + if$ + part.of.sentence + format.chapter.pages "pages" output.check + note set.period.dash.check + note output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + set.colon.after + format.title "title" output.check + crossref missing$ + { format.in.ed.booktitle.din "booktitle" output.check + address empty$ + { organization new.sentence.checka + organization output + part.of.sentence + format.address.publisher.year output + } + { format.address.publisher.year "publisher" output.check } + if$ + new.sentence + format.series.number.din output + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + } + { format.incoll.inproc.crossref output.nonnull } + if$ + part.of.sentence + format.pages output + note set.period.dash.check + note output + fin.entry +} + +FUNCTION {conference} { inproceedings }%% nach Patashnik, wg US-Kompatibilitaet + +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization empty$ + { title empty$ + 'skip$ + {format.btitle "title" output.check } + if$ + } + 'skip$ + if$ + } + 'skip$ + if$ + format.authors.organization output.nonnull + set.colon.after + format.btitle "title" output.check + format.edition "edition" output.check + author empty$ organization empty$ AND + { address "address" output.check + part.of.sentence + } + { organization empty$ + { address "address" output.check + part.of.sentence + } + { address ": " * organization * output + part.of.sentence + } + if$ + } + if$ + format.date output + number empty$ + 'skip$ + { "(" number * ") " * output } + if$ + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + format.doi output + format.url output + format.online.lastcheck + note set.period.dash.check + note output + fin.entry +} + +%% Standard ist "Diplomarbeit", anderes mit TYPE="anderer Typ" erfassen! +%% z.B. TYPE={Hausarbeit}, TYPE={Diss.}, TYPE={Habil.}, TYPE={Magisterarb.} +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + set.colon.after + format.btitle "title" output.check + address output + part.of.sentence + school "school" output.check + part.of.sentence + "Diplomarbeit" format.thesis.tr.type output.nonnull + part.of.sentence + format.date "year" output.check + format.url output + format.online.lastcheck + doi set.period.dash.check + urn set.period.dash.check + format.doi.urn output + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + note set.period.dash.check + note output + fin.entry +} + +FUNCTION {phdthesis} %% {mastersthesis}% ist identisch bis auf Standardwert, s.o. +{ output.bibitem + format.authors "author" output.check + set.colon.after + format.btitle "title" output.check + address output + part.of.sentence + school "school" output.check + part.of.sentence + "Diss." format.thesis.tr.type output.nonnull % koennte auch `Dissertation' sein + part.of.sentence + format.date "year" output.check + format.url output + format.online.lastcheck + doi set.period.dash.check + urn set.period.dash.check + format.doi.urn output + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + note set.period.dash.check + note output + fin.entry +} + + +%% Normen, Vornormen, Schutzrechte (Patente) werden hiermit erfasst; +%% E-mail, (auch Internetressourcen moeglich; besser --> booklet-Fkt!) +%% das type-Feld uebernimmt eine wichtige Steuerfunktion: +FUNCTION {misc} +{ output.bibitem + type missing$ not + { type duplicate$ #1 #4 substring$ "Norm" = + type #1 #4 substring$ "Vorn" = OR + { " " * + format.number * output + new.sentence + format.date output + title empty$ + { skip$ } + { add.period$ new.sentence } + if$ + format.btitle "title" output.check + note set.period.dash.check + note output + } + { duplicate$ #1 #6 substring$ "Schutz" = + { " " * format.number * output + new.sentence + "(" * format.date ")" * output + add.period$ new.sentence + format.authors.organization add.period$ output + note output + } + %% wenn irgendein anderer Typ eingetragen ist + { pop$ pop$ "" + title empty$ + { note empty$ + { url empty$ + { "there's no relevant field in " cite$ warning$ + pop$ "" + } + { format.url output }%%% + if$ + } + { note " " * output.nonnull } + if$ + } + { author empty$ + { editor empty$ + { organization empty$ + { skip$ } + { format.editors.organization output.nonnull + set.colon.after + } + if$ + } + { format.editors format.editors.organization + output.nonnull set.colon.after + } + if$ + } + { format.authors format.editors output.nonnull + set.colon.after + } + if$ + format.btitle output.nonnull + url empty$ + { format.edition output + format.howpublished output} + { format.howpublished output + format.edition.or.version output + format.url output + } + if$ + format.online.lastcheck + new.sentence + format.misc.series output + note set.period.dash.check + note output + } + if$ + } + if$ + } + if$ + } + %% wenn es keinen type gibt + { title empty$ + { note empty$ + { url empty$ + { "there's no relevant field in " cite$ warning$ + pop$ "" + } + { format.url output }%%% das waere e. reine URL + if$ + } + { note " " * output.nonnull + } + if$ + } + { author empty$ + { editor empty$ + { organization empty$ + 'skip$ + { format.editors.organization output.nonnull + set.colon.after + } + if$ + } + { format.editors format.editors.organization + output.nonnull set.colon.after + } + if$ + } + { format.authors format.editors output.nonnull + set.colon.after + } + if$ + format.btitle output.nonnull + url empty$ + { format.edition output + format.howpublished output} + { format.howpublished output + format.url output + format.edition.or.date output + format.online.lastcheck + } + if$ + new.sentence + format.misc.series output + note set.period.dash.check + note output + } + if$ + } + if$ + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization empty$ + { "empty organization and editor in " cite$ * warning$ } + { organization " (Veranst.)" * output } + if$ + } + { format.editors format.editors.organization output.nonnull } + if$ + set.colon.after + format.btitle "title" output.check + volume empty$ + 'skip$ + { "{\textnormal{Bd.}}" volume tie.or.space.connect emphasize "volume" output.check } + if$ + format.address.publisher.year "publisher" output.check + new.sentence + format.series.number.din output.nonnull + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + note set.period.dash.check + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + format.tr.institution output.nonnull } + { format.authors format.editors output.nonnull } + if$ + set.colon.after + format.title "title" output.check + institution empty$ + 'skip$ + { author empty$ editor empty$ AND + 'skip$ + { institution new.sentence.checka + "/ " institution * output.nonnull + } + if$ + } + if$ + format.version.url output + format.online.lastcheck + format.address.publisher.year output + number new.sentence.checka + format.tr.series.or.number "number" output.check + "Forschungsbericht" format.thesis.tr.type set.period.dash.check + "Forschungsbericht" format.thesis.tr.type output + pages empty$ + { skip$ } + { pages set.period.dash.check + pages format.bkpages.collat.check output + } + if$ + isbn set.period.dash.check + issn set.period.dash.check + format.isbn.issn output + note set.period.dash.check + note "note" output.check + fin.entry +} + + +FUNCTION {unpublished} {misc}%% author, title, note muessen sein! howpublished +%% %% entfaellt natuerlich + +FUNCTION {default.type} { misc } + +MACRO {jan} {"Januar"} + +MACRO {feb} {"Februar"} + +MACRO {mar} {"M{\^^b a}rz"} + +MACRO {apr} {"April"} + +MACRO {mai} {"Mai"} + +MACRO {may} {"Mai"} + +MACRO {jun} {"Juni"} + +MACRO {jul} {"Juli"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {okt} {"Oktober"} + +MACRO {oct} {"Oktober"} + +MACRO {nov} {"November"} + +MACRO {dez} {"Dezember"} + +MACRO {dec} {"Dezember"} + +%%$$$ stillgelegte Beispiele fuer den Gebrauch von Kuerzeln (hier Zs-Titel). + +%%MACRO {acmcs} {"ACM Computing Surveys"} + +%%MACRO {acta} {"Acta Informatica"} + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {format.lab.names} +{ 's := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ ua.etal * } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { ua.etal * } + { und * s #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { year empty$ + 'key + { editor format.lab.names } + if$ + } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.key.organization.label} +{ author empty$ + { key empty$ + { organization empty$ + { cite$ #1 #3 substring$ } + { "The " #4 organization chop.word #3 text.prefix$ } + if$ + } + { key } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.organization.label} +{ editor empty$ + { key empty$ + { organization empty$ + { cite$ #1 #3 substring$ } + { "The " #4 organization chop.word #4 text.prefix$ } + if$ + } + { key } + if$ + } + { key empty$%% das key-feld soll zwangsweise das label machen! + { editor format.lab.names } + { key }%%das ganze label + if$ + } + if$ +} +FUNCTION {calc.short.authors} +{ type$ "book" = + type$ "booklet" = + type$ "inbook" = + or or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.organization.label + { type$ "manual" = + 'author.key.organization.label + 'author.key.label + if$ + } + if$ + } + if$ + 'short.list := +} + +FUNCTION {calc.label} +{ calc.short.authors + short.list + "(" + * +%% year duplicate$ empty$ +%% short.list key field.or.null = or +%% { pop$ "" } +%% 'skip$ +%% if$ + year field.or.null purify$ #1 #4 substring$ + * + 'label := + short.list " " * + year field.or.null purify$ #1 #4 substring$ * 'dinat.label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ + s nameptr "{ll{ }}{ ff{ }}{ vv{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "others" = and + { ua.etal * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "Der " #4 + "Die " #4 + "Das " #4 + "Ein " #4 + "Eine " #5 + "The " #4 t chop.word + chop.word + chop.word + chop.word + chop.word + chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.organization.sort} +{ author empty$ + { organization empty$ + { key empty$ + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.organization.sort.PWD}%% so war es in plainnat +{ editor empty$ + { organization empty$ + { key empty$ + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {editor.organization.sort}%%das key-Feld soll z. Sortieren ben. werden +{ key empty$ + { editor empty$ + { organization empty$ + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { "The " #4 organization chop.word sortify } + if$ + } + { editor sort.format.names } + if$ + } + { key sortify } + if$ +} + +FUNCTION {presort} +{ calc.label + label sortify + " " + * + type$ "book" = + type$ "booklet" = + type$ "inbook" = + or or + 'author.editor.sort + { type$ "proceedings" = + 'editor.organization.sort + { type$ "manual" = + 'author.organization.sort + 'author.sort + if$ + } + if$ + } + if$ + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.label := + sort.label * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'longest.label.width := + #0 'last.extra.num := + #0 'number.label := +} + +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ + number.label #1 + 'number.label := +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + extra.label 'next.extra := + extra.label + duplicate$ empty$ + 'skip$ + { "{\natexlab{" swap$ * "}}" * } + if$ + 'extra.label := + label extra.label * 'label := + dinat.label extra.label * 'dinat.label := +} + +EXECUTE {initialize.longest.label} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +FUNCTION {bib.sort.order} +{ sort.label 'sort.key$ := +} + +ITERATE {bib.sort.order} + +SORT + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" number.label int.to.str$ * "}" * + write$ newline$ newline$ + "% this bibliography is generated by nd24.bst [3.0c2] from 2005-12-21" + write$ newline$ newline$ + "\providecommand{\natexlab}[1]{#1}" + write$ newline$ + "\providecommand{\url}[1]{\texttt{#1}}" + write$ newline$ + "\makeatletter" + write$ newline$ + "\newcommand{\dinatlabel}[1]%" + write$ newline$ + "{\ifNAT@numbers\else\NAT@biblabelnum{#1}\fi}" + write$ newline$ + "\makeatother" + write$ newline$ + "\expandafter\ifx\csname urlstyle\endcsname\relax" + write$ newline$ + " \providecommand{\doi}[1]{doi: #1}\else" + write$ newline$ + " \providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi" + write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} \ No newline at end of file diff --git a/arbeit/settings/abkuerzungen.tex b/arbeit/settings/abkuerzungen.tex index 6682b3b..fafbb04 100644 --- a/arbeit/settings/abkuerzungen.tex +++ b/arbeit/settings/abkuerzungen.tex @@ -1,4 +1,4 @@ -\chapter*{Abkürzungen} +\chapter*{Abbreviations} \label{cha:abbrev} \begin{acronym} % Zugriff ueber \ac{BWT} 1te mal Vollreferenz, danach Abk. @@ -10,14 +10,9 @@ % %\acro{GPL}{GNU General Public License} -- % License for free software, see \url{http://www.gnu.org/copyleft/gpl.html}. -\acro{KNN}{K-Nearest-Neighbor} -\acro{ODCT}{Overcomplete Discrete Cosine Transform} -\acro{OMP}{Orthogonal Matching Pursuit} -\acro{PCA}{Principle Component Analysis} -\acro{POI}{Points of Interest} -\acro{RMSE}{Rooted Mean Square Error} -\acro{SAS}{Sparse Approximate Solution} - Abschätzungsproblem einer spärlichen Repräsentation. -\acro{SAT}{Summed Area Table} +\acro{FFD}{Freeform-Deformation} +\acro{DM-FFD}{Direct Manipulation Freeform-Deformation} +\acro{RBF}{Radial Basis Function} % % diff --git a/arbeit/settings/packages.tex b/arbeit/settings/packages.tex index 91979d8..2133baf 100644 --- a/arbeit/settings/packages.tex +++ b/arbeit/settings/packages.tex @@ -6,14 +6,16 @@ \usepackage{amsthm} %Theorems %% algorithm needs to be after hyperref %\usepackage{ae} % Umbruch von Woertern mit Umlauten -%\usepackage[english]{babel} -\usepackage[ngerman]{babel} % benutzt globales ngerman +\usepackage[english]{babel} +%\usepackage[ngerman]{babel} % benutzt globales ngerman \usepackage{bbold} \usepackage{booktabs} \usepackage{cancel} \usepackage{caption} \usepackage{color} %\colorbox \usepackage{dsfont} %\mathds +\usepackage{draftwatermark} +\SetWatermarkLightness{0.9} % default: 0.8 \usepackage{epigraph} % \usepackage{euler} % euler: uni, eucal: baake, ohne: standard \usepackage{eucal} % euler calligraphy @@ -35,7 +37,9 @@ \usepackage{multirow} \usepackage{nicefrac} \usepackage[numbers,square]{natbib} -% \usepackage[draft]{pdfpages} +\newcommand*{\refname}{References} +\usepackage{patchcmd} +%\usepackage[draft]{pdfpages} \usepackage{pdfpages} %\usepackage{pst-all} % PSTricks-Grafikerstellung %\usepackage{pstricks} @@ -85,4 +89,4 @@ bookmarks,colorlinks,citecolor=black,urlcolor=black,menucolor=black,linkcolor=bl \renewcommand{\algorithmiccomment}[1]{//\emph{#1}} \renewcommand{\algorithmicensure}{\textbf{Output:}} \renewcommand{\algorithmicrequire}{\textbf{Input:}} % Given: -% \algsetup{indent=2em} \ No newline at end of file +% \algsetup{indent=2em} diff --git a/arbeit/template.tex b/arbeit/template.tex index a9328cc..0d62e93 100644 --- a/arbeit/template.tex +++ b/arbeit/template.tex @@ -67,6 +67,19 @@ titlepage, % % files/7_0_evaluation% % % ,files/8_0_conclusion% % } + +%%%%%%%%%%%%%%% PANDOC-nedded defs %%%%%%%%%% +\providecommand{\tightlist}{% + \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} + +%disable "Redefining ngerman shorthand"-Message +% \makeatletter +% \patchcmd{\pdfstringdef} +% {\csname HyPsd@babel@} +% {\let\bbl@info\@gobble\csname HyPsd@babel@} +% {}{} +% \makeatother + %%%%%%%%%%%%%%% Hauptdokument %%%%%%%%%%%%%%% \begin{document} @@ -97,38 +110,50 @@ titlepage, %%%%%%%%%%%%%%% Verzeichnisse %%%%%%%%%%%%%%% \frontmatter % Abstrakte Gliederungsebene: Anfang des Buches \tableofcontents % Rueckseite leer - \listoffigures - \listoftables %\lstlistoflistings % fuer listingsverzeichnis mit package listings %%%%%%%%%%%%%%% Hauptteil %%%%%%%%%%%%%%% % Insgesamt ca. 60-100 Seiten Davon mindesten 50% Eigene Arbeit \mainmatter %Abstrakte Gliederungsebene: Hauptteil des Buches \pagestyle{fancy} - %\pagenumbering{arabic} +\pagenumbering{arabic} $body$ -%%%%%%%%%%%%%%% Literaturverzeichnis %%%%%%%%%%%%%%% \backmatter - %\pagenumbering{roman} - \cleardoublepage - \bibliographystyle{natdin} % \bibliographystyle{abbrv} - \bibliography{bibma} - \addcontentsline{toc}{chapter}{\numberline{}\bibname} % Literaturverzeichnis in das Inhaltsverzeichnis aufnehmen -% \nocite{*} +\cleardoublepage + +\renewcommand\thesection{\Roman{section}} +\addtocontents{toc}{\protect\setcounter{tocdepth}{1}} +\setcounter{section}{1} % reset section to 1 so its stars I, II, III,... +\chapter*{Appendix} +\addcontentsline{toc}{chapter}{\protect\numberline{}Appendix} +\pagenumbering{roman} +%%%%%%%%%%%%%%% Literaturverzeichnis %%%%%%%%%%%%%%% + \bibliographystyle{natdin} % \bibliographystyle{natdin} + \bibliography{bibma} + \addcontentsline{toc}{section}{\protect\numberline{\thesection}Bibliography} % Literaturverzeichnis in das Inhaltsverzeichnis aufnehmen + \addtocounter{section}{1} + \newpage %%%%%%%%%%%%%%% Anhang %%%%%%%%%%%%%%% -% \clearpage %spaeter alles wieder rein - \begin{appendix} % Anhang, technische Details +% \clearpage %spaeter alles wieder rein % % \input{files/appendix} -% \listofalgorithms -% \listoftheorems -% \listof{theorem}{List of Theorems} + \input{settings/abkuerzungen} + \addcontentsline{toc}{section}{\protect\numberline{\thesection}Abbreviations} + \addtocounter{section}{1} + \newpage + + \listofalgorithms + \addcontentsline{toc}{section}{\protect\numberline{\thesection}List of Algorithms} + \addtocounter{section}{1} + \newpage -% \addcontentsline{toc}{chapter}{\numberline{}Abkürzungen} -% \input{settings/abkuerzungen} + \listoffigures + \listoftables \listoftodos - \end{appendix} + \addcontentsline{toc}{section}{\protect\numberline{\thesection}TODOs} + \addtocounter{section}{1} + \newpage % \printindex %%%%%%%%%%%%%%% Erklaerung %%%%%%%%%%%%%%%