%!TEX root = example.tex %******************************************************************************* % * Copyright (c) 2006-2013 % * Institute of Automation, Dresden University of Technology % * % * All rights reserved. This program and the accompanying materials % * are made available under the terms of the Eclipse Public License v1.0 % * which accompanies this distribution, and is available at % * http://www.eclipse.org/legal/epl-v10.html % * % * Contributors: % * Institute of Automation - TU Dresden, Germany % * - initial API and implementation % ******************************************************************************/ \def\fileversion{0.1} \def\filedate{2013/07/05} \def\filename{ifathesis} \NeedsTeXFormat{LaTeX2e} \ProvidesClass{\filename}[\filedate DA/SA-Klasse des Instituts fuer Automatisierungstechnik, (c) by Stefan Hennig, Arne Sonnenburg, Matthias Freund, Christopher Martin] \typeout{Class: '\filename' Version \fileversion, Standard DA/SA-Klasse des Instituts fuer Automatisierungstechnik.} \newif\if@useListOfFigures\@useListOfFiguresfalse \DeclareOption{listoffigures}{\@useListOfFigurestrue} \newif\if@useListOfTables\@useListOfTablesfalse \DeclareOption{listoftables}{\@useListOfTablestrue} \newif\if@useListOfListings\@useListOfListingsfalse \DeclareOption{listoflistings}{\@useListOfListingstrue} \newif\if@useAbbrevations\@useAbbrevationsfalse \DeclareOption{abbrevations}{\@useAbbrevationstrue} \newif\if@isReadyForPrint\@isReadyForPrinttrue \DeclareOption{print}{\@isReadyForPrinttrue} \DeclareOption{screen}{\@isReadyForPrintfalse} \newcommand*{\@ifaThesisLanguage}{de} \DeclareOption{langDE}{\renewcommand*{\@ifaThesisLanguage}{de}} \DeclareOption{langEN}{\renewcommand*{\@ifaThesisLanguage}{en}} \newcommand*{\@ifaBibliographyStyle}{} \DeclareOption{bibIfa}{\renewcommand*{\@ifaBibliographyStyle}{authoryear-comp}} \DeclareOption{bibHarvard}{\renewcommand*{\@ifaBibliographyStyle}{alphabetic}} \DeclareOption{bibNumeric}{\renewcommand*{\@ifaBibliographyStyle}{numeric-comp}} \ProcessOptions\relax % Lade Basisklasse der Vorlage \PassOptionsToPackage{% paper=a4, % Papiergröße headinclude=true, % Gehört Kopfzeile eher zur Seite oder zum Rand? footinclude=false, % Gehört Fußzeile eher zur Seite oder zum Rand? pagesize % Schreibt die Seitengröße ins Seitenregister, % sodass DVI- und PDF-Seiten die richtige Größe haben. }{typearea} % Setze Bibliographie-Stil \PassOptionsToPackage{style=\@ifaBibliographyStyle, backend=bibtex8, maxbibnames=99}{biblatex} \PassOptionsToPackage{svgnames}{xcolor} % Namensraum für xcolor Paket \PassOptionsToPackage{fleqn}{amsmath} \LoadClass[ fontsize=12pt, % Grundschriftgröße \if@isReadyForPrint BCOR=15mm\else BCOR=0mm\fi, % Binderandgröße \if@isReadyForPrint DIV=10\else DIV=9\fi, % Teil der Seite, der als Seitenrand berücksichtigt wird (auch =calc mgl.): % Z.B. DIV=10: Randbreite Oben und Mitte 1/10, Unten und Außen 2/10 der Seite. % Regel: 60 bis 70 Zeichen pro Zeile, weniger ist besser, niemals mehr als 80! captions=tableheading, % Tabellenabstände für TabellenÜBERschriften optimieren \if@isReadyForPrint twoside=true\else twoside=false\fi, % Dokument zweiseitig? headings=small, % Relative Größe der Überschriften, small ist besser lesbar und erzeugt weniger Zweizeiligs fleqn, % Formeln linksbündig bibliography=totoc, % Literaturverzeichnis im Inhaltsverzeichnis referenziert numbers=noenddot, % Punkte nach Abschnittsnummern? (Weglassen = Automatik) % Nach Duden im vorliegenden Bsp. falsch, da auch Buchstaben in Gliederung (Anhang), sieht aber besser aus. ]{scrbook} % Basisklasse der Vorlage: Koma-Skrip Klasse analog zur book-Klasse. % ============================================================== % = Definiere mögliche Parameter zur Konfiguration der Vorlage = % ============================================================== %%%%% % Jetzt müssen zunächst die variablen Angaben geladen werden \newcommand*{\@ifaThesis}{Diplomarbeit} \newcommand*{\@ifaAuthor}{Max Mustermann} \newcommand*{\@ifaAuthorBirthday}{01.01.1970} \newcommand*{\@ifaAuthorBirthplace}{Dresden} \newcommand*{\@ifaAuthorCourse}{Informationssystemtechnik} \newcommand*{\@ifaAuthorYearOfMatriculation}{2000} \newcommand*{\@ifaKeywords}{Komma-separierte, Liste, mit, Schlagwörtern, zum Thema, der Arbeit} \newcommand*{\@ifaTitleDE}{Titel der Arbeit} \newcommand*{\@ifaTitleEN}{Thesis' title goes here} \newcommand*{\@ifaSupervisorA}{} \newcommand*{\@ifaSupervisorB}{} \newcommand*{\@ifaSupervisorC}{} \newcommand*{\@ifaSupervisorD}{} \newcommand*{\@ifaSupervisorE}{} \newcommand*{\@ifaProfessor}{Titel der Arbeit} \newcommand*{\@ifaDayOfSubmission}{\today} \newcommand*{\@ifaTopicDescriptionPDF}{he0ohDie} \newcommand*{\@ifaAppendix}{GoHaigh2} \newcommand*{\@ifaAbstractDE}{GoHaigh2} \newcommand*{\@ifaAbstractEN}{GoHaigh2} \newcommand*{\@ifaReferences}{IPhei0Ox} \newcommand*{\@ifaAbbrev}{00_Abbrev} \newcommand*{\@ifaAcknowledgements}{Acknowledgements} \newcommand*{\@ifaBibliographyBeforeAppendix}{true} \newcommand*{\@ifaAdditionalContributors}{} \newcommand*{\ifaThesis}[1]{\renewcommand*{\@ifaThesis}{#1}} \newcommand*{\ifaAuthor}[1]{\renewcommand*{\@ifaAuthor}{#1}} \newcommand*{\ifaAuthorBirthday}[1]{\renewcommand*{\@ifaAuthorBirthday}{#1}} \newcommand*{\ifaAuthorBirthplace}[1]{\renewcommand*{\@ifaAuthorBirthplace}{#1}} \newcommand*{\ifaAuthorCourse}[1]{\renewcommand*{\@ifaAuthorCourse}{#1}} \newcommand*{\ifaAuthorYearOfMatriculation}[1]{\renewcommand*{\@ifaAuthorYearOfMatriculation}{#1}} \newcommand*{\ifaKeywords}[1]{\renewcommand*{\@ifaKeywords}{#1}} \newcommand*{\ifaTitleDE}[1]{\renewcommand*{\@ifaTitleDE}{#1}} \newcommand*{\ifaTitleEN}[1]{\renewcommand*{\@ifaTitleEN}{#1}} \newcommand*{\ifaSupervisorA}[1]{\renewcommand*{\@ifaSupervisorA}{#1}} \newcommand*{\ifaSupervisorB}[1]{\renewcommand*{\@ifaSupervisorB}{#1}} \newcommand*{\ifaSupervisorC}[1]{\renewcommand*{\@ifaSupervisorC}{#1}} \newcommand*{\ifaSupervisorD}[1]{\renewcommand*{\@ifaSupervisorD}{#1}} \newcommand*{\ifaSupervisorE}[1]{\renewcommand*{\@ifaSupervisorE}{#1}} \newcommand*{\ifaProfessor}[1]{\renewcommand*{\@ifaProfessor}{#1}} \newcommand*{\ifaDayOfSubmission}[1]{\renewcommand*{\@ifaDayOfSubmission}{#1}} \newcommand*{\ifaTopicDescriptionPDF}[1]{\renewcommand*{\@ifaTopicDescriptionPDF}{#1}} \newcommand*{\ifaAppendix}[1]{\renewcommand*{\@ifaAppendix}{#1}} \newcommand*{\ifaAbstractDE}[1]{\renewcommand*{\@ifaAbstractDE}{#1}} \newcommand*{\ifaAbstractEN}[1]{\renewcommand*{\@ifaAbstractEN}{#1}} \newcommand*{\ifaReferences}[1]{\renewcommand*{\@ifaReferences}{#1}} \newcommand*{\ifaAcknowledgements}[1]{\renewcommand*{\@ifaAcknowledgements}{#1}} \newcommand*{\ifaAbbrev}[1]{\renewcommand*{\@ifaAbbrev}{#1}} \newcommand*{\ifaBibliographyBeforeAppendix}[1]{\renewcommand*{\@ifaBibliographyBeforeAppendix}{#1}} \newcommand*{\ifaAdditionalContributors}[1]{\renewcommand*{\@ifaAdditionalContributors}{#1}} %------------------------------------------------------------------------- \RequirePackage{ifthen} % Paket für einfache Realisation von String-Vergleichen, die hier in der Vorlage verwendet werden \RequirePackage{xstring} % Absatznummerierung fuer 4 Ebenen (z.B. 2.3.2.1) gemaess IfA Richtlinie einschalten. \setcounter{secnumdepth}{3} \setcounter{tocdepth}{3} % Lade benötigte Pakete \RequirePackage{scrhack} %Zur Herstellung der Kompabilitaet mit Paketen, die nicht kompatibel zum KOMA-Script sind. \include{packages} % definiere Farben \definecolor{TUDBLAU}{rgb}{0.0,0.348,0.637} \definecolor{OSGREEN}{rgb}{0,0.75,0.25} % Kläre zunächst einige Dinge, die von der Sprache abhängen \ifthenelse{\equal{\@ifaThesisLanguage}{de}}{ % Deutsche Pakete \RequirePackage[ngerman]{babel} % Silbentrennung nach neuer deutscher Rechtschreibung. \RequirePackage[german]{nomencl} % Deutsche Begrifflichkeiten \newcommand{\@conTitle}{Inhaltsverzeichnis} \newcommand{\@bibTitle}{Literaturverzeichnis} \newcommand{\@appTitle}{Anhang} \renewcommand{\@pdftitle}{\@ifaTitleDE} \renewcommand{\nomname}{Abkürzungs- und Symbolverzeichnis} \renewcommand{\lstlistlistingname}{Quelltextverzeichnis} }{ % Englische Pakete \RequirePackage[english]{babel} % Silbentrennung nach englischer Rechtschreibung. \RequirePackage[english]{nomencl} % Englische Begrifflichkeiten \newcommand{\@conTitle}{Contents} \newcommand{\@bibTitle}{References} \newcommand{\@appTitle}{Appendix} \renewcommand{\@pdftitle}{\@ifaTitleEN} \renewcommand{\nomname}{Nomenclature} \renewcommand{\lstlistlistingname}{List of Listings} } %------------------------------------------------------------------------- % Macht im Anhang aus "A Quellcode" -> "Anhang A Quellcode" %------------------------------------------------------------------------- \newcommand*{\appendixmore}{% \renewcommand*{\chapterformat}{% \appendixname~\thechapter\autodot:\enskip} \renewcommand*{\chaptermarkformat}{% \appendixname~\thechapter\autodot:\enskip} } %------------------------------------------------------------------------- % Veränderung der Bildunterschriften und Tabellenüberschriften: \addtokomafont{caption}{\small} % Kleinere Schriftgröße für Captions \setkomafont{captionlabel}{\sffamily\bfseries} % Caption-Label fett und serifenlos \setcapindent{1em} % 2. Zeile der Caption mit hängendem Einzug % Anpassung des Literaturverzeichnisses \setlength{\bibitemsep}{10pt} \defbibheading{bibliography}{ \chapter*{\@bibTitle} \addcontentsline{toc}{chapter}{\@bibTitle} } % Notwendig für Autovervollständigung der Zitate im Texnic Center \renewcommand*{\bibliography}[1]{\addbibresource{#1.bib}} % Anpassung für eckige Klammern bei 'authoryear-comp' \ifthenelse{\equal{\@ifaBibliographyStyle}{authoryear-comp}}{\renewcommand*{\citep}[2][]{\mkbibbrackets{\cite[#1]{#2}}}}{} %------------------------------------------------------------------------- % Löst Probleme mit deutschen Umlauten in Listings %------------------------------------------------------------------------- \lstset{literate=% {Ö}{{\"O}}1 {Ä}{{\"A}}1 {Ü}{{\"U}}1 {ß}{{\ss}}2 {ü}{{\"u}}1 {ä}{{\"a}}1 {ö}{{\"o}}1 } %------------------------------------------------------------------------- % Integriert Listings und baut diese als Gleitobjekt aus, wenn gewünscht %------------------------------------------------------------------------- % Usage: \listing{}{