From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/fbithesis/README | 123 + macros/latex/contrib/fbithesis/distribution.key | 21 + macros/latex/contrib/fbithesis/example.pdf | Bin 0 -> 98616 bytes macros/latex/contrib/fbithesis/example.tex | 141 + macros/latex/contrib/fbithesis/fbithesis.dtx | 5113 ++++++++++++++++++++++ macros/latex/contrib/fbithesis/fbithesis.dtx.asc | 7 + macros/latex/contrib/fbithesis/fbithesis.ins | 192 + macros/latex/contrib/fbithesis/fbithesis.pdf | Bin 0 -> 687727 bytes 8 files changed, 5597 insertions(+) create mode 100644 macros/latex/contrib/fbithesis/README create mode 100644 macros/latex/contrib/fbithesis/distribution.key create mode 100644 macros/latex/contrib/fbithesis/example.pdf create mode 100644 macros/latex/contrib/fbithesis/example.tex create mode 100644 macros/latex/contrib/fbithesis/fbithesis.dtx create mode 100644 macros/latex/contrib/fbithesis/fbithesis.dtx.asc create mode 100644 macros/latex/contrib/fbithesis/fbithesis.ins create mode 100644 macros/latex/contrib/fbithesis/fbithesis.pdf (limited to 'macros/latex/contrib/fbithesis') diff --git a/macros/latex/contrib/fbithesis/README b/macros/latex/contrib/fbithesis/README new file mode 100644 index 0000000000..98ee12fb09 --- /dev/null +++ b/macros/latex/contrib/fbithesis/README @@ -0,0 +1,123 @@ + The fbithesis package + + ($Date: 2008-02-17 23:54:50 +0100 (So, 17. Feb 2008) $) + + Copyright (C) 2002-2008 Andre Dierker + +Purpose: + This is a LaTeX2e package providing a new document-class tuned for + research reports or internal reports like master/phd-theses at the + University of Dortmund. + + At the Department of Computer Science at the University of Dortmund + there are cardboard cover pages for internal reports like + master/phd-theses. The main function of the LaTeX2e document-class + provided by this package is a replacement for the \maketitle command + to typeset a title page that is adjusted to these cover pages. + +Files: + fbithesis.dtx Docstrip archive + To generate the documentation, run this + through LaTeX. + fbithesis.dtx.asc Signature file + To verify the docstrip archive, run e.g. + gpg --verify fbithesis.dtx.asc + +Generated Files: + fbithesis.ins Batch file, run through LaTeX + The file will be generated if you run + fbithesis.dtx through LaTeX. + fbithesis.drv Driver for documentation + The file will be generated from fbithesis.ins. + To generate customized documentation, edit this + file and run it through LaTeX. + fbithesis.cls LaTeX package + It will be generated, if you run fbithesis.ins + through LaTeX. + fbithesis.cfg Configuration file + It will be generated, if you run fbithesis.ins + through LaTeX. + fbithesis.dvi Package documentation, will be generated from + fbithesis.drv + example.tex Example file which demonstrates the possibilities of + this package. It will be generated, if you run + fbithesis.ins through LaTeX. + README This file. It will be generated if you run + fbithesis.dtx through LaTeX. + +Installation: + + LaTeX fbithesis.dtx Creates docstrip installation file + fbithesis.ins and this file + (La)TeX fbithesis.ins Creates class file fbithesis.cls, example + file example.tex and documentation driver + fbithesis.drv + + Docstrip options available: + package - to produce a (LaTeX2e) class file (.cls) + driver - to produce a driver file to print the documentation + example - to produce an example file, which demonstrates the + possibilities of the package + + Move fbithesis.cls into a directory searched by LaTeX. (If you don't + know where this could be simply drop the file + into your thesis' directory) + LaTeX fbithesis.dtx Creates the (LaTeX2e) documentation. + + optionally: + Edit fbithesis.drv and customize the documentation driver to your wishes. + LaTeX fbithesis.drv Generates customized documentation. + Depending on your customization you will + have to run + makeindex fbithesis.idx -s gind.ist -o fbithesis.ind + and/or + makeindex fbithesis.glo -s gglo.ist -o fbithesis.gls + or (if you are using docindex + makeindex fbithesis.idx -s docindex.ist -o fbithesis.ind + and/or + makeindex fbithesis.glo -s docindex.ist -o fbithesis.gls + LaTeX example.tex Demonstrates the possibilities of this + package. + +Contact: + E-Mail: dierker@kand.de + Address: Andre Dierker, Natruper Str. 49, D-49076 Osnabrück, Germany + +Legal stuff: + README, the ReadMe file for the fbithesis package + Copyright (C) 2002-2008 Andre Dierker + + This file is part of the fbithesis package. + ------------------------------------------- + + There is no warranty for the fbithesis package. I provide the + Work `as is', without warranty of any kind, either expressed or + implied, including, but not limited to, the implied warranties of + merchantability and fitness for a particular purpose. The entire + risk as to the quality and performance of the program is with you. + Should the Work prove defective, you assume the cost of all + necessary servicing, repair, or correction. + + This Work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + of this license or (at your option) any later version. + + The latest version of this license is in + http://www.latex-project.org/lppl.txt + and version 1.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This is a generated file. It may not be distributed without the + original source file fbithesis.dtx. + + This Work has the LPPL maintenance status "author-maintained". + + The Current Maintainer of this work is Andre Dierker. + + This Work consists of all files listed above in this file. See + the sections ``Files'' and ``Generated Files''. + + Files generated by means of unpacking this program using the + docstrip program may be distributed at the distributor's + discretion. However if they are distributed then a copy of + this Work must be distributed together with them. diff --git a/macros/latex/contrib/fbithesis/distribution.key b/macros/latex/contrib/fbithesis/distribution.key new file mode 100644 index 0000000000..a9fd57df36 --- /dev/null +++ b/macros/latex/contrib/fbithesis/distribution.key @@ -0,0 +1,21 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v2.0.16 (Darwin) + +mQGiBDyonC0RBACnu/UMDAnmKBiEHDsCa0aKTrClBt62tDiQLYrK27Yu8LYtynL6 +FCO9x+TT73WU9oh5aDSPxIk4lgkzYja6GSm33lWYA57WClikirDeLMiLcqt0RmSy +X2zwBdmVHowfxX+Cn5z8bHioqgHiE3xILtmRzlggJVv5L9GYSU4NxKEnkwCgt0Rw +8ShxvAgnytOGzvVLNCg4fa8EAJDbnEqWJ9gTcfz+d2M5gzD6VNzbfDKv1a4THAsd +BD7i26b83hRLWY72t8InB7CMnLFxL2D2QoUFcavIF0BTfzzEpc69ISMd9yx6nEjT +lM7Sd6k2CjY51HCO9cyaqCc4ZVJIiyyJbtsqzl7ppkHIppuVNlDwykA2ro6/2tX7 +XJc+A/95suoleLvpSGjoZf2MGwEc3hgiQNON90rHLR9SG/ZcVGLJmp88cHfGhYCx +VvXFKNaQzdbkmKvr4bVWoUq8B5gwxXPtKQyHK/vFXyvWLzLiUhRO8oRwVWLUmUjc +bknr07DGh7sfEvMBu65J3zwrtWXcUye2bwnfedCgj6bkyS84S7Q8QW5kcmUgRGll +cmtlciAoc29mdHdhcmUgZGlzdHJpYnV0aW9uIGtleSkgPHNvZnR3YXJlQGthbmQu +ZGU+iF8EExECABcFAjyonC0FCwcKAwQDFQMCAxYCAQIXgAASCRBZxSHq9NJKyQdl +R1BHAAEB9CIAniNAgWiW08JBfTN5nKFo9hhekS5tAJ9Q7ef739PxiAIOZD/tbABT +Nv1UlohGBBARAgAGBQI8qKPjAAoJEI47c57dK8yd51UAnjZFuVOjfb1bHkYUIU52 +5bLeaKGZAKC8rwjvaw9bgCcvI65bEe45CWCGBYhrBBARAgArBQJLqT4CBYMB4oUA +HhpodHRwOi8vd3d3LmNhY2VydC5vcmcvY3BzLnBocAAKCRDSuw0BZdD9WPzhAJ9s +uzKN/gO10uwxF7iLQ6g7BifqpgCeJeEvXZjssdmo+hPLZNxbk+Br2do= +=SO0Z +-----END PGP PUBLIC KEY BLOCK----- diff --git a/macros/latex/contrib/fbithesis/example.pdf b/macros/latex/contrib/fbithesis/example.pdf new file mode 100644 index 0000000000..290726cd5f Binary files /dev/null and b/macros/latex/contrib/fbithesis/example.pdf differ diff --git a/macros/latex/contrib/fbithesis/example.tex b/macros/latex/contrib/fbithesis/example.tex new file mode 100644 index 0000000000..69eae3f0a7 --- /dev/null +++ b/macros/latex/contrib/fbithesis/example.tex @@ -0,0 +1,141 @@ +%% +%% This is file `example.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% fbithesis.dtx (with options: `example') +%% +%% This is `example.tex', an example file for the fbithesis package. +%% Copyright (C) 2002-2011 Andre Dierker +%% +%% This file is part of the fbithesis package. +%% ------------------------------------------- +%% +%% It may be distributed and/or modified under the conditions of the +%% LaTeX Project Public License, either version 1.3 of this license or +%% (at your option) any later version. +%% +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This file may not be distributed without the original source file +%% `fbithesis.dtx'. +%% +%% The list of all files belonging to the fbithesis package is given +%% in the file `README'. +%% +%% For more details, LaTeX the source `fbithesis.dtx'. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\NeedsTeXFormat{LaTeX2e}[1994/12/01]% +\ProvidesFile{example.tex} +\def\DescribesFile#1 [#2 #3 #4 (#5)] + {\def\filedate{#2}\def\fileversion{#3}} +\DescribesFile{fbithesis.cls} + [2011/02/06 v1.2m + Example + for fbithesis (AD)] + % + % + % + % At first we include an auxiliary file that contains the logos. You + % may ignore this line. It is only necessary for this example. +\include{exampleaux} + % + % fbithesis supports three classes as `baseclass'. To use `book' or + % `amsbook' you have to use one of the following lines. To use + % `scrbook' from KOMA-Script as baseclass you have to do nothing since + % this is the default. If you don't know what I'm talking about just + % leave these lines as they are. Almost everyone uses `scrbook' as + % baseclass. It is a wise decision. + % + % \def\baseclass{book} + % \def\baseclass{amsbook} + % + % Of course we choose fbithesis as document class. Additionally we + % want to look at the draft mode and test the option forwarding of + % a4paper to the baseclass. Since the example is in English, we also + % choose english. +\documentclass[a4paper, english]{fbithesis} +\begin{document} + \frontmatter + % + % As in the standard LaTeX classes we use the title command. Normally + % one can trust TeX's ability to compute a satisfactory line breaking. + % However TeX's algorithm is not optimized for titles but for + % continuous text. To make it more difficult the cardboard window is + % quite small. So if you prefer a different make up, help yourself + % with an appropriate placed `\\', as you can see in this example. + \title{Example file for the\\ \texttt{fbithesis} package% + % + % The `\thanks' command may be used to provide further + % information. But as you can see the result of the `\thanks' + % mechanism does not look well. Therefore I do not recommend the + % usage. It is better to write a preface instead. + \thanks{The \texttt{fbithesis}~package has version number + \fileversion. It was last revised on \filedate.}% + } + % + % The usage of the \author command: In general master/phd-theses will + % have only one author, but just in case the \and-command is also + % provided. + \author{Andre Dierker% + % + % Again the use of the command `\thanks' is possible but not + % recommmended. Please refer to the documentation. + % \thanks{\texttt{software@kand.de}}% + \and Nobody Else% + % \thanks{\texttt{no@body.el.se}}% + } + % + % Normally the subject would be something like `Diplomarbeit' or + % `Dissertation' ... + \subject{Example} + % + % You may give the beginning and the deadline of your thesis here. + \date[Created April 3, 2002]{Printed \today} + % + % Providing the supervisors of the thesis. + \supervisors{First Tutor}{Second Tutor} + % + % You may use the following commands if you want to place a logos on + % the title page. Conforming to Carlisle: Packages in the `graphics' + % bundle we skip the extensions of the filenames. Due to this TeX is + % able to include the correct version of the file (EPS or PDF) + \unidologo{tulogo} + \chairlogo{ls9logo} + \thesislogo{thesislogo} + % + % The chair you are writing your thesis at. + \chair{Chair IX (Virtual Research)\\ + Department of Computer Science\\ + TU Dortmund} + % + % The data provided by the above macros is now used to set the title page. + % This is done with the macro \maketitle. + \maketitle + % + % So after the title page is set your thesis may begin: + \mainmatter + Now here comes your text. +\end{document} +\endinput +%% +%% End of file `example.tex'. diff --git a/macros/latex/contrib/fbithesis/fbithesis.dtx b/macros/latex/contrib/fbithesis/fbithesis.dtx new file mode 100644 index 0000000000..0c8681b07c --- /dev/null +++ b/macros/latex/contrib/fbithesis/fbithesis.dtx @@ -0,0 +1,5113 @@ +% \iffalse +%<*ID> +%^^A ================================================================= +%^^A Here is the `standard file header'-stuff +%^^A (http://www.math.utah.edu/~beebe/software/filehdr/filehdr.html) +%^^A Basic info. For a short installation guide, see below +%^^A ================================================================= +%%% @LaTeX-package-file{ +%%% author = "Andre Dierker", +%%% version = "v1.2m", +%%% date = "$Date: 2011-02-07 00:30:22 +0100 (Mo, 07. Feb 2011) $", +%%% filename = "fbithesis.dtx, +%%% address = "Andre Dierker +%%% Bruder-Otger-Str. 17 +%%% D-49088 Osnabrück +%%% Germany", +%%% URL = "http://fbithesis.kand.de/", +%%% email = "dierker@kand.de (Internet)", +%%% pgp-key = "1024D/DD2BCC9D 1999-10-27 Andre Dierker", +%%% fingerprint = "8182 D1CE B1B4 2D58 B6FF +%%% CBD8 8E3B 739E DD2B CC9D", +%%% pgp-key = "1024D/F4D24AC9 2002-04-01 Andre Dierker +%%% (software distribution key) ", +%%% fingerprint = "461E 2EB4 DE3A 6BC8 3320 +%%% 2A7B 59C5 21EA F4D2 4AC9", +%%% codetable = "ISO/ASCII", +%%% keywords = "University of Dortmund, TU Dortmund University, +%%% Department of Computer Science, internal, +%%% research, project, technical, +%%% report, master, diploma, phd, doctoral, thesis, +%%% dissertation, title page, cover page, cardboard, +%%% Universität Dortmund, TU Dortmund, +%%% Technische Universität Dortmund, +%%% Fachbereich Informatik, Fakultät für Informatik +%%% Diplomarbeit, Doktorarbeit, Projektgruppe, +%%% Forschungsbericht, Intern, Bericht, Endbericht, +%%% Deckblatt, Titelseite, Titelblatt, maketitle, +%%% titlepage, documentclass", +%%% dependencies = "\LaTeXe, graphicx", +%%% supported = "yes", +%%% abstract = "This is a LaTeX2e package providing a new +%%% document-class tuned for research reports or +%%% internal reports like master/phd-theses at the +%%% TU Dortmund.", +%%% docstring = "At the Department of Computer Science +%%% (german: `Fakultät für Informatik) +%%% at the TU Dortmund there are +%%% cardboard cover pages for internal reports like +%%% master/phd-theses. The main function of the +%%% LaTeX2e document-class provided by this package +%%% is a replacement for the \maketitle command to +%%% typeset a title page that is adjusted to these +%%% cover pages.", +%%% copyright = "fbithesis.dtx, the documented macro-file for +%%% the fbithesis package +%%% Copyright (C) 2002-2011 Andre Dierker +%%% +%%% This Work may be distributed and/or modified +%%% under the conditions of the LaTeX Project Public +%%% License, either version 1.3 of this license or +%%% (at your option) any later version. +%%% +%%% The latest version of this license is in +%%% http://www.latex-project.org/lppl.txt +%%% and version 1.3 or later is part of all +%%% distributions of LaTeX version 2005/12/01 or +%%% later. +%%% +%%% This Work has the LPPL maintenance status +%%% "author-maintained". +%%% +%%% The Current Maintainer of this work is +%%% Andre Dierker. +%%% +%%% This Work consists of all files listed in +%%% README." +%%% } +% +% +%<*install> +%^^A ================================================================= +%^^A Purpose of this package +%^^A ================================================================= +% This is a LaTeX2e package providing a new document-class tuned for +% research reports or internal reports like master/phd-theses at the +% TU Dortmund. +% +% At the Department of Computer Science at the TU Dortmund there are +% cardboard cover pages for internal reports like master/phd-theses. +% The main function of the LaTeX2e document-class provided by this +% package is a replacement for the \maketitle command to typeset a +% title page that is adjusted to these cover pages. +% +%^^A ================================================================= +%^^A Installation of this package +%^^A ================================================================= +% Installation: +% LaTeX this file: creates docstrip installation file +% fbithesis.ins, README AND the (LaTeX2e) +% documentation +% (La)TeX fbithesis.ins: creates class file fbithesis.cls, example +% file example.tex and documentation +% driver fbithesis.drv +% +% Docstrip options available: +% package - to produce a (LaTeX2e) class file (.cls) +% driver - to produce a driver file to print the documentation +% example - to produce an example file, which demonstrates the +% possibilities of this package +% +% Additionally Docstrip options: (these are not really used) +% ID - the Standard File Header +% install - the short installation guide +% readme - the ReadMe file +% installer - the installer batch file +% dtx - Information that should remain in this file +% +% \fi +% +%^^A ================================================================= +%^^A Some basic integrity-test stuff +%^^A ================================================================= +% \CheckSum{1104} +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +% +% \iffalse +% +% \changes{v0.3b}{2002/03/31}{ReadMe: revised} +% \changes{v0.5b}{2002/08/15}{ReadMe: \file{fbithesis.cfg} added} +% \changes{v0.8a}{2002/12/16}{ReadMe: changed (LPPL removal, 'No +% warranty' disclaimer)} +% \changes{v0.8e}{2003/01/01}{ReadMe: extended purpose} +% \changes{v1.2b}{2005/01/05}{ReadMe: address updated} +% \changes{v1.2c}{2005/02/13}{ReadMe: \file{makeindex}-lines for +% docindex} +% \changes{v1.2k}{2008/02/17}{ReadMe: renamed to \file{README}} +% \changes{v1.2m}{2011/02/06}{ReadMe: address updated} +% \changes{v1.2m}{2011/02/06}{ReadMe: renaming of uni and fbi} +%<*readme> +%^^A ================================================================= +%^^A Here is the README file +%^^A It is written on first LaTeX run if it does not already exist +%^^A ================================================================= +\begin{filecontents*}{README.txt} + The fbithesis package + + ($Date: 2011-02-07 00:30:22 +0100 (Mo, 07. Feb 2011) $) + + Copyright (C) 2002-2011 Andre Dierker + +Purpose: + This is a LaTeX2e package providing a new document-class tuned for + research reports or internal reports like master/phd-theses at the + TU Dortmund. + + At the Department of Computer Science at the TU Dortmund + there are cardboard cover pages for internal reports like + master/phd-theses. The main function of the LaTeX2e document-class + provided by this package is a replacement for the \maketitle command + to typeset a title page that is adjusted to these cover pages. + +Files: + fbithesis.dtx Docstrip archive + To generate the documentation, run this + through LaTeX. + fbithesis.dtx.asc Signature file + To verify the docstrip archive, run e.g. + gpg --verify fbithesis.dtx.asc + +Generated Files: + fbithesis.ins Batch file, run through LaTeX + The file will be generated if you run + fbithesis.dtx through LaTeX. + fbithesis.drv Driver for documentation + The file will be generated from fbithesis.ins. + To generate customized documentation, edit this + file and run it through LaTeX. + fbithesis.cls LaTeX package + It will be generated, if you run fbithesis.ins + through LaTeX. + fbithesis.cfg Configuration file + It will be generated, if you run fbithesis.ins + through LaTeX. + fbithesis.dvi Package documentation, will be generated from + fbithesis.drv + example.tex Example file which demonstrates the possibilities of + this package. It will be generated, if you run + fbithesis.ins through LaTeX. + README This file. It will be generated if you run + fbithesis.dtx through LaTeX. + +Installation: + + LaTeX fbithesis.dtx Creates docstrip installation file + fbithesis.ins and this file + (La)TeX fbithesis.ins Creates class file fbithesis.cls, example + file example.tex and documentation driver + fbithesis.drv + + Docstrip options available: + package - to produce a (LaTeX2e) class file (.cls) + driver - to produce a driver file to print the documentation + example - to produce an example file, which demonstrates the + possibilities of the package + + Move fbithesis.cls into a directory searched by LaTeX. (If you don't + know where this could be simply drop the file + into your thesis' directory) + LaTeX fbithesis.dtx Creates the (LaTeX2e) documentation. + + optionally: + Edit fbithesis.drv and customize the documentation driver to your wishes. + LaTeX fbithesis.drv Generates customized documentation. + Depending on your customization you will + have to run + makeindex fbithesis.idx -s gind.ist -o fbithesis.ind + and/or + makeindex fbithesis.glo -s gglo.ist -o fbithesis.gls + or (if you are using docindex + makeindex fbithesis.idx -s docindex.ist -o fbithesis.ind + and/or + makeindex fbithesis.glo -s docindex.ist -o fbithesis.gls + LaTeX example.tex Demonstrates the possibilities of this + package. + +Contact: + E-Mail: dierker@kand.de + Address: Andre Dierker, Bruder-Otger-Str. 17, D-49088 Osnabrück, Germany + +Legal stuff: + README, the ReadMe file for the fbithesis package + Copyright (C) 2002-2011 Andre Dierker + + This file is part of the fbithesis package. + ------------------------------------------- + + There is no warranty for the fbithesis package. I provide the + Work `as is', without warranty of any kind, either expressed or + implied, including, but not limited to, the implied warranties of + merchantability and fitness for a particular purpose. The entire + risk as to the quality and performance of the program is with you. + Should the Work prove defective, you assume the cost of all + necessary servicing, repair, or correction. + + This Work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + of this license or (at your option) any later version. + + The latest version of this license is in + http://www.latex-project.org/lppl.txt + and version 1.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This is a generated file. It may not be distributed without the + original source file fbithesis.dtx. + + This Work has the LPPL maintenance status "author-maintained". + + The Current Maintainer of this work is Andre Dierker. + + This Work consists of all files listed above in this file. See + the sections ``Files'' and ``Generated Files''. + + Files generated by means of unpacking this program using the + docstrip program may be distributed at the distributor's + discretion. However if they are distributed then a copy of + this Work must be distributed together with them. +\end{filecontents*} +% +% +% \changes{v0.3b}{2002/03/31}{Batch file: optimized preambles} +% \changes{v0.4f}{2002/07/05}{Batch file: \cmd{\usedir}} +% \changes{v0.4h}{2002/08/13}{Batch file: request docstrip v2.4e} +% \changes{v0.5b}{2002/08/15}{Batch file: \file{fbithesis.cfg} +% stuff} +% \changes{v0.5f}{2002/09/04}{Batch file: minor changes} +% \changes{v0.7a}{2002/11/06}{Batch file: \cmd{stdtext}} +% \changes{v0.8a}{2002/12/16}{Batch file: changed (LPPL removal)} +% \changes{v1.0a}{2003/01/03}{Batch file: mention possible +% locations} +% \changes{v1.1j}{2003/07/03}{Batch file: linebreaks} +% \changes{v1.2e}{2006/01/03}{Batch file: optic} +%<*installer> +%^^A ================================================================= +%^^A Here is the docstrip installation file +%^^A It is written on first LaTeX run if it does not already exist +%^^A ================================================================= +\begin{filecontents}{fbithesis.ins} +%% fbithesis.ins, the batch file for the fbithesis package +%% Copyright (C) 2002-2011 Andre Dierker +%% +%% This file is part of the fbithesis package. +%% ------------------------------------------- +%% +%% It may be distributed and/or modified under the conditions of the +%% LaTeX Project Public License, either version 1.3 of this license +%% or (at your option) any later version. +%% +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% In particular, NO PERMISSION is granted to modify the contents of +%% this file since it contains the legal notices that are placed in +%% the files it generates. +%% +%% This file may not be distributed without the original source file +%% fbithesis.dtx. +%% +%% The list of all files belonging to the fbithesis package is given +%% in the file `README'. +%% +%% This file will generate fast loadable files and documentation +%% driver files from the .dtx files in this package when run through +%% LaTeX or TeX. +%% +%% ------------------- start of docstrip commands ------------------- +\input docstrip.tex +% +\ifToplevel{\ifx\askonceonly\undefined% +\Msg{**********************************************}% +\Msg{*}% +\Msg{* This installation requires docstrip}% +\Msg{* version 2.4e or later.}% +\Msg{*}% +\Msg{* An older version of docstrip has been input}% +\Msg{*}% +\Msg{**********************************************}% +\errhelp{Move or rename old docstrip.tex.}% +\errmessage{Old docstrip in input path}% +\batchmode% +\csname @@end\endcsname% +\fi% +}% +% +%% Define standard text: +% +\def\nline{^^J\MetaPrefix\space}% +\def\stdtext{% +Copyright (C) 2002-2011 Andre Dierker\nline\nline% +This file is part of the fbithesis package.\nline% +-------------------------------------------\nline\nline% +It may be distributed and/or modified under the conditions of the\nline% +LaTeX Project Public License, either version 1.3 of this license or\nline% +(at your option) any later version.\nline\nline% +The latest version of this license is in\nline% +\space\space http://www.latex-project.org/lppl.txt\nline% +and version 1.3 or later is part of all distributions of LaTeX\nline% +version 2005/12/01 or later.\nline\nline% +This file may not be distributed without the original source file\nline% +`\inFileName'.\nline\nline% +The list of all files belonging to the fbithesis package is given\nline% +in the file `README'.} +% +%% Declare preambles (and use \stdtext): +% +\declarepreamble\driver + +This is `\outFileName', the documentation driver for the fbithesis +package. +\stdtext + +This is the driver file to produce the LaTeX documentation from the +original source file `\inFileName'. + +Make changes to it as needed. (Never edit the file `\inFileName'!) + +\endpreamble% +% +\declarepreamble\package + +This is `\outFileName', a LaTeX2e package providing a replacement +for the maketitle command. +\stdtext + +For more details, LaTeX the source `\inFileName'. + +\endpreamble% +% +\declarepreamble\example + +This is `\outFileName', an example file for the fbithesis package. +\stdtext + +For more details, LaTeX the source `\inFileName'. + +\endpreamble% +% +\declarepreamble\config + +This is `\outFileName', a configuration file for the fbithesis +package. +\stdtext + +For more details, LaTeX the source `\inFileName'. + +\endpreamble% +% +\keepsilent% +% +%% Greeting: +% +\askforoverwritetrue% +% +\ifToplevel{% + \Msg{}% + \Msg{*********************************************************}% + \Msg{* Hello to the installation of the `fbithesis' package. *}% + \Msg{*********************************************************}% + \Msg{}% + \Msg{***********************}% + \Msg{* Generating files... *}% + \Msg{***********************}% +}% +% +%% File generation: +% +\generate{% + \usepreamble\example% + \file{example.tex}{\from{fbithesis.dtx}{example}}% + \file{exampleaux.tex}{\from{fbithesis.dtx}{exampleaux}}% + \usepreamble\driver% + \file{fbithesis.drv}{\from{fbithesis.dtx}{driver}}% + \usepreamble\config% + \file{fbithesis.cfg}{\from{fbithesis.dtx}{config}}% + \usedir{tex/latex/misc}% + \usepreamble\package% + \file{fbithesis.cls}{\from{fbithesis.dtx}{package}}% +}% +% +%% Report: +% +\ifToplevel{% + \Msg{}% + \Msg{**************************************************************}% + \Msg{*}% +\makeatletter\@ifundefined{basedir}{% + \Msg{* To finish the installation you have to move the following}% + \Msg{* file into a directory searched by LaTeX:}% +}{% + \Msg{* The following file has been automatically created in a}% + \Msg{* directory searched by LaTeX:}% +}\makeatother% + \Msg{*}% + \Msg{* \space\space fbithesis.cls}% +\makeatletter\@ifundefined{basedir}{% + \Msg{*}% + \Msg{* Using a TDS compatible TeX distribution, this would be e.g.}% + \Msg{* tex/latex/misc of your main or your local or your private}% + \Msg{* texmf path. If you don't know these paths, have a look}% + \Msg{* at your `texmf.cnf' or try:}% + \Msg{* \space\space kpsexpand \string $TEXMFMAIN}% + \Msg{* \space\space kpsexpand \string $TEXMFLOCAL}% + \Msg{* \space\space kpsexpand \string $HOMETEXMF}% + \Msg{* You may also use another folder at your \string $TEXINPUTS path.}% +}{}\makeatother% + \Msg{*}% + \Msg{* To produce the documentation and an example, run the}% + \Msg{* following files through LaTeX:}% + \Msg{*}% + \Msg{* \space\space fbithesis.drv (three times)}% + \Msg{* \space\space example.tex}% + \Msg{*}% + \Msg{* For the legal stuff please have a look at:}% + \Msg{*}% + \Msg{* \space\space README}% + \Msg{*}% + \Msg{*}% + \Msg{* Happy TeXing!}% + \Msg{*}% + \Msg{**************************************************************}% + \Msg{}% +}% +% +\endbatchfile +\end{filecontents} +% +% +% \changes{v0.3d}{2002/04/03}{Head: revised} +% \changes{v0.5b}{2002/08/15}{Head: \file{fbithesis.cfg} stuff} +% \changes{v0.5e}{2002/09/04}{Head: revised} +%^^A ================================================================= +%^^A Here is the header that is written to driver-, example- and +%^^A class-file +%^^A ================================================================= +% +% The docdate info. It specifies the date of the documentation, which +% may differ from the filedate. (Its ok if docdate is younger. If it +% is older, then I forgot documenting. In that case: kick me... ;-) +%<*dtx|driver> +\def\docdate{2008/02/17} +% +% +% The required LaTeX version: +%<*dtx|driver|package|example> +\NeedsTeXFormat{LaTeX2e}[1994/12/01]% +% +% +% Identification of the docstrip file: +%<*dtx> +\ProvidesFile +%===================================================================== + {fbithesis.dtx} +%===================================================================== +% +% +% Identification of the driver file: +%\ProvidesFile{fbithesis.drv} +% +% Identification of the example file: +%\ProvidesFile{example.tex} +% +% Identification of the auxiliary file for the example: +%\ProvidesFile{exampleaux.tex} +% +% Identification of the configuration file: +%\ProvidesFile{fbithesis.cfg} +% +% Identification of the package file: +%\ProvidesClass{fbithesis} +% +% Provide command to identify example file: +%\def\DescribesFile#1 [#2 #3 #4 (#5)] +% {\def\filedate{#2}\def\fileversion{#3}} +% +% Identification of the example file: +%\DescribesFile{fbithesis.cls} +% +% The next three lines: +% 1.: Identification of the included .dtx-file. +% 2.: The date and version for docstrip, driver, example, config, +% package and dtx file. +% 3.: A short description and author for the included .dtx-file. +% \fi +% \ProvidesFile{fbithesis} + [2011/02/06 v1.2m +% Documentation for fbithesis (AD)] +% \iffalse +% +% A short description and author for driver, example, config +% and package file: +% TU Dortmund FBI Report class (AD)] +% Example +% Auxiliary file for the example +% Configuration +% Driver +% for fbithesis (AD)] +% +% A short description and author for the docstrip file: +%<*dtx> + Documented source for fbithesis (AD)] +% +% +% \changes{v0.3c}{2002/04/01}{Driver: revised} +% \changes{v0.8a}{2002/12/16}{Driver: changed (LPPL removal)} +% \changes{v1.1j}{2003/07/03}{Driver: use \package{docindex.sty}} +% \changes{v1.1k}{2003/07/28}{Driver: use \package{xdoc2.sty}} +% \changes{v1.1k}{2003/07/28}{Driver: \env{length} and +% \cmd{describefile} implemented} +% \changes{v1.1l}{2003/09/11}{Driver: cleaned of +% \package{xdoc2}-stuff} +% \changes{v1.2b}{2005/01/04}{Driver: use \package{hyperref.sty}} +%^^A ================================================================= +%^^A Here is the driver for customized documentation +%^^A ================================================================= +%<*driver> + % + % We do not specify any options by default and its recommended not to + % change this. If you want to use a4paper, the proper way is to add + % a line + % \PassOptionsToClass{a4paper}{article} + % to your `ltxdoc.cfg'. +\documentclass{ltxdoc} + + % Only use fontenc if it is present + \IfFileExists{fontenc.sty}{% + \usepackage[T1]{fontenc}}{} + + % Only use multicol if it is present + \IfFileExists{multicol.sty}{% + \usepackage{multicol}}{} + + % Only use hyperref if it is present + \IfFileExists{hyperref.sty}{% + \usepackage[bookmarks,backref,colorlinks,hyperindex]{hyperref} + }{% + \def\href##1##2{|##2|} + } + + % Only use xdoc2 if it is present + \IfFileExists{xdoc2.sty}{% + \usepackage[dolayout]{xdoc2}% + + % Only use docidx2e if it is present + \IfFileExists{docidx2e.sty}{% + \usepackage{docidx2e}}{}% + }{} + + % By default this file will build the `user' documentation. It + % covers the basic information you need as an user and provides + % (if you want to) a compact index with the most important + % commands. To get the `programmer' documentation (with code + % listing, extended command index and change history), comment out + % the next line + \OnlyDescription + + % To produce the compact command index run + % makeindex fbithesis.idx -s gind.ist -o fbithesis.ind + % or, if you use docindex + % makeindex fbithesis.idx -s docindex.ist -o fbithesis.ind + + % If you commented out \OnlyDescription, you are able to control the + % index and change history with the following commands: + + % To produce the extended command index: add the following line + % one run, then run + % makeindex fbithesis.idx -s gind.ist -o fbithesis.ind + % and re-process, with or without this line (much faster without) + % + % This will only have an effect if you commented out + % \OnlyDescription above! + %\EnableCrossrefs + + % Next you can control the index numbering by the two commands + % \PageIndex and \CodelineIndex (I prefer the latter one..). If + % you don't want an index, comment out both commands. + % + % Description index entries refer to page numbers, code listing + % index entries refer to code lines + \CodelineIndex + % Make all index entries (description and code listing) refer to + % page numbers (if you add the following line you should comment + % out the \CodelineIndex) + %\PageIndex + + % Produce a 2 column index (if ever) + \setcounter{IndexColumns}{2} + + % To produce a change history: add the following line for one run, + % then run + % makeindex fbithesis.glo -s gglo.ist -o fbithesis.gls + % or, if you use docindex + % makeindex fbithesis.glo -s docindex.ist -o fbithesis.gls + % and re-process, with or without this line (faster without) + %\RecordChanges + +\begin{document} + \DocInput{fbithesis.dtx} +\end{document} +% +% \fi +% +% \changes{v0.3c}{2002/04/01}{Env: \cmd{\ifmulticols} implemented} +% \changes{v0.4f}{2002/07/05}{Env: \cmd{\ifmulticols} corrected} +% \changes{v1.1l}{2003/09/11}{Env: \cmd{\ifxdoc} and +% \cmd{\ifdocidx} implemented} +%^^A ================================================================= +%^^A We continue with the `normal' .dtx-file. +%^^A Check the environment we are confirmed with: +%^^A - If there is multicol.sty, we'll print the table of contents +%^^A with 2 columns +%^^A - If there is xdoc2.sty, we'll use its great possibilities +%^^A - If there is docidx2e.sty, we'll use it for an enhanced index +%^^A and glossar +%^^A ================================================================= +% \newif\ifmulticols +% \IfFileExists{multicol.sty}{\multicolstrue}{\multicolsfalse} +% \newif\ifxdoc +% \IfFileExists{xdoc2.sty}{\xdoctrue}{\xdocfalse} +% \newif\ifdocidx +% \IfFileExists{docidx2e.sty}{\docidxtrue}{\docidxfalse} +% +% \changes{v1.1l}{2003/09/11}{Defs: \cmd{\Lswitch} implemented} +% \changes{v1.1l}{2003/09/11}{Defs: \texttt{xdoc2}-stuff} +% \changes{v1.2a}{2004/12/30}{Defs: \cmd{\describefile} corrected} +% \changes{v1.2b}{2005/01/03}{Defs: \cmd{\describeoption} +% corrected} +% \changes{v1.2b}{2005/01/07}{Defs: \cmd{\ctanurl} implemented} +% \changes{v1.2j}{2006/10/25}{Defs: \cmd{\NEW*} corrected} +%^^A ================================================================= +%^^A Some definitions to enhance the logical mark-up of this +%^^A documentation +%^^A ================================================================= +% \makeatletter +% ^^A for environments (`\cmd' for commands is already defined in +% ^^A \package{ltxdoc.cls}) +% \DeclareRobustCommand*{\env}[1]{\texttt{#1}} +% ^^A for packages, styles, classes +% \DeclareRobustCommand*{\package}[1]{\texttt{#1}} +% ^^A for programs +% \DeclareRobustCommand*{\program}[1]{\textsf{#1}} +% ^^A for eMails, urls +% \DeclareRobustCommand*{\url}[1]{\href{#1}{|#1|}} +% ^^A for URLs to CTAN +% \DeclareRobustCommand*{\ctanurl}[1] +% {\href{ftp://ftp.dante.de/pub/#1}{\ctan: |#1|}} +% ^^A for files, paths and command-lines +% \DeclareRobustCommand*{\file}[1]{\texttt{#1}} +% ^^A for persons +% \DeclareRobustCommand*{\person}[1]{\textsc{#1}} +% ^^A for counters +% \DeclareRobustCommand*{\Lcount}[1]{\textsl{\small#1}} +% ^^A for length registers +% \DeclareRobustCommand*{\Llength}[1]{\cmd{#1}} +% ^^A for switches +% \DeclareRobustCommand*{\Lswitch}[1]{\texttt{#1}} +% ^^A for package options +% \DeclareRobustCommand*{\Lopt}[1]{\textsf{#1}} +% ^^A for quotations +% \DeclareRobustCommand*{\qm}[1]{``#1''} +% ^^A for mail addresses +% \DeclareRobustCommand*{\mail}[2][] +% {\ifx\empty#1\empty\else\textless\person{#1}\textgreater^^A +% \space\fi\url{#2}} +% \DeclareRobustCommand*{\smiley}{|:-)|} +% \DeclareRobustCommand*{\winkey}{|;-)|} +% \DeclareRobustCommand*{\tds}{TDS} +% \DeclareRobustCommand*{\ctan}{\textsc{ctan}} +% \let\describemacro=\DescribeMacro +%^^A From scrlogo.dtx: +% \DeclareRobustCommand*{\koma}{\textsf{K\kern.05em O\kern.05em^^A +% M\kern.05em A\kern.1em-\kern.1em Script}} +%^^A From amsdtx.dtx: +% \DeclareRobustCommand*{\ams}{{\protect\usefont{OMS}{cmsy}{m}{n}^^A +% A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}} +%^^A From ltxguide.cls: +% \newcommand*{\NEWfeature}[1]{^^A +% \marginpar{\small\sffamily\raggedright^^A +% New feature\par#1}} +% \DeclareRobustCommand*{\NEWdescription}[1]{^^A +% \marginpar{\small\sffamily\raggedright^^A +% New description\par#1}} +%^^A From xdoc2.dtx: +% ^^A make linebreaks easier: +% \DeclareRobustCommand*{\B}{\penalty\exhyphenpenalty} +% \ifxdoc +% \NewMacroEnvironment{length}{\XD@grab@harmless@asmacro}{1} +% {^^A +% \cs{#1} length}{^^A +% \XDMainIndex{\LevelSorted{#1}{\cs{#1} length}}^^A +% \XDMainIndex{^^A +% \LevelSame{lengths:}\LevelSorted{#1}{\cs{#1}}^^A +% }}% +% {{#1 length}{\cs{#1} length}}% +% {}% +% \NewMacroEnvironment{counter}{\XD@grab@harmless@asmacro}{1} +% {^^A +% \cs{#1} counter}{^^A +% \XDMainIndex{\LevelSorted{#1}{\cs{#1} counter}}^^A +% \XDMainIndex{^^A +% \LevelSame{lengths:}\LevelSorted{#1}{\cs{#1}}^^A +% }}% +% {{#1 counter}{\cs{#1} counter}}% +% {}% +% \let\option=\relax +% \let\endoption=\relax +% \NewMacroEnvironment{option}{\XD@grab@harmless\relax}{1} +% {^^A +% \Lopt{#1} option}{^^A +% \XDMainIndex{\LevelSorted{#1}{\Lopt{#1} option}}^^A +% \XDMainIndex{^^A +% \LevelSame{options:}\LevelSorted{#1}{\Lopt{#1}}^^A +% }}% +% {{#1 option}{\Lopt{#1} option}}% +% {}% +% \let\describeoption=\relax^^A +% \NewDescribeCommand{\describeoption} +% {^^A +% \XD@grab@harmless\relax}{1}{^^A +% \GenericDescribePrint{option \Lopt{#1}}^^A +% \IndexEntry{^^A +% \LevelSame{options:}\LevelSorted{#1}{\Lopt{#1}}^^A +% }{usage}{\thepage}^^A +% \IndexEntry{^^A +% \LevelSorted{#1}{\Lopt{#1} option}^^A +% }{usage}{\thepage}^^A +% }% +% \let\switch=\relax +% \let\endswitch=\relax +% \NewMacroEnvironment{switch}{\XD@grab@harmless\relax}{1} +% {^^A +% \Lswitch{#1} switch}{^^A +% \MakeSortKey{\XD@last@key}{#1}{}^^A +% \XDMainIndex{^^A +% \LevelSorted{\XD@last@key}{\texttt{#1} switch}}^^A +% \XDMainIndex{\LevelSorted{if#1}{\cs{if#1}}}^^A +% \MakeSortKey{\@tempa}{#1true}{}^^A +% \XDMainIndex{^^A +% \LevelSorted{\@tempa}{\cs{#1true}}}^^A +% \MakeSortKey{\@tempa}{#1false}{}^^A +% \XDMainIndex{^^A +% \LevelSorted{\@tempa}{\cs{#1false}}}^^A +% \XDMainIndex{^^A +% \LevelSame{switches}\LevelSorted{^^A +% \XD@last@key}{\texttt{#1}}^^A +% }}% +% {{#1}{\Lswitch{#1} switch}}% +% {^^A +% \DoNotIndexHarmless{if#1}^^A +% \DoNotIndexHarmless{#1true}^^A +% \DoNotIndexHarmless{#1false}^^A +% }^^A +% \NewMacroEnvironment{documentation}{^^A +% \XD@grab@harmless\relax}{1}{}{^^A +% \IndexEntry{^^A +% \LevelSorted{#1}{#1 (documentation)}^^A +% }{none}{\thepage}^^A +% \IndexEntry{^^A +% \LevelSame{documentation:}\LevelSorted{#1}{#1}^^A +% }{none}{\thepage}^^A +% }% +% {{#1}{#1}}% +% {}^^A +% \NewDescribeCommand{\describefile}{\XD@grab@marg\relax}{1} +% {^^A +% \protected@edef\@temp{\file{#1}}^^A +% \GenericDescribePrint{file \@temp}^^A +% \IndexEntry{\LevelSorted{#1}{\@temp (file)}} +% {usage}{\thepage}^^A +% \IndexEntry{\LevelSame{files:}\LevelSorted{#1}{\@temp}} +% {usage}{\thepage}}^^A +% \else +% ^^A dummy-implementations for xdoc2-based macros: +% \newcommand*{\describecsfamily}[1]{^^A +% \leavevmode +% \GenericDescribePrint{\MacroFont\Bslash#1}^^A +% \ignorespaces} +% \newcommand*{\describeoption}[1]{^^A +% \leavevmode +% \GenericDescribePrint{option \Lopt{#1}}^^A +% \ignorespaces} +% \newcommand*{\describefile}[1]{^^A +% \leavevmode +% \GenericDescribePrint{file \file{#1}}^^A +% \ignorespaces} +% \newcommand*{\GenericDescribePrint}[1]{^^A +% \marginpar{\raggedleft\strut #1}} +% \newcommand*{\DoNotIndexBy}[1]{} +% \DeclareRobustCommand*{\Bslash}{\bslash} +% \newenvironment{option}[1]{\trivlist\item[]}{\endtrivlist}% +% \newenvironment{length}[1]{\trivlist\item[]}{\endtrivlist}% +% \newenvironment{switch}[1]{\trivlist\item[]}{\endtrivlist}% +% \newenvironment{documentation}[1]{^^A +% \trivlist\item[]}{\endtrivlist}^^A +% ^^A\@ifpackagelater{doc}{2000/05/20}{}{% +% ^^A \let\XD@fragile@meta=\meta +% ^^A \def\meta{% +% ^^A \ifx \protect\@typeset@protect +% ^^A \expandafter\futurelet \expandafter\@let@token +% ^^A \expandafter\XD@fragile@meta +% ^^A \else +% ^^A \noexpand\meta +% ^^A \fi +% ^^A }% +% ^^A}% +% \fi +% ^^A When using docidx2e we remember the user to use docindex.ist +% ^^A instead of gglo.ist and gind.ist +% \ifdocidx +% \AtEndDocument{% +% \typeout{************************************}% +% \typeout{* \space Use docindex.ist when sorting \space\space *}% +% \typeout{* fbithesis.idx and fbithesis.glo! *}% +% \typeout{************************************}% +% }% +% \fi +% +% \changes{v1.2j}{2006/10/25}{optical changes to the toc} +%^^A ================================================================= +%^^A Changes to article +%^^A ================================================================= +% \ifmulticols +% \renewcommand*\l@section[2]{% +% \ifnum \c@tocdepth >\z@ +% \addpenalty\@secpenalty +% \addvspace{1.0em \@plus\p@}% +% \setlength\@tempdima{0.8em}% +% \begingroup +% \parindent \z@ \rightskip \@pnumwidth +% \parfillskip -\@pnumwidth +% \leavevmode \bfseries +% \advance\leftskip\@tempdima +% \hskip -\leftskip +% #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par +% \endgroup +% \fi} +% \renewcommand*{\l@subsection}{\@dottedtocline{2}{0.8em}{1.6em}} +% \renewcommand*{\l@subsubsection}{\@dottedtocline{3}{2.4em}{2.4em}} +% \renewcommand*{\l@paragraph}{\@dottedtocline{4}{4.8em}{3.2em}} +% \renewcommand*{\l@subparagraph}{\@dottedtocline{5}{8em}{4em}} +% \fi +% \makeatother +% +% +%^^A ================================================================= +%^^A Changes concerning the whole document or huge parts of it +%^^A ================================================================= +% \changes{v0.3a}{2002/03/19}{Docu: major revision (class changes)} +% \changes{v0.3b}{2002/03/31}{Minor corrections} +% \changes{v0.3b}{2002/03/31}{Various legal stuff} +% \changes{v0.4a}{2002/04/04}{Citations} +% \changes{v0.4e}{2002/04/09}{Minor corrections} +% \changes{v0.4f}{2002/07/05}{Docu: some minor corrections and +% enhancements} +% \changes{v0.4f}{2002/07/05}{Meta-Docu: major enhancements} +% \changes{v0.4g}{2002/08/11}{Minor corrections} +% \changes{v0.4h}{2002/08/13}{ID: more (German) keywords} +% \changes{v0.4h}{2002/08/13}{Minor corrections and enhancements} +% \changes{v0.5e}{2002/08/30}{Minor corrections and enhancements} +% \changes{v0.5f}{2002/09/04}{Docu: minor changes} +% \changes{v0.5f}{2002/09/04}{Meta-Docu: minor changes} +% \changes{v0.5g}{2002/09/12}{Typos corrected} +% \changes{v0.5j}{2002/09/21}{Docu: minor changes} +% \changes{v0.6a}{2002/09/23}{Docu: minor changes} +% \changes{v0.6d}{2002/10/19}{Docu: minor changes} +% \changes{v0.7b}{2002/11/13}{Docu: minor changes} +% \changes{v0.7e}{2002/11/26}{Docu: minor changes and enhancements} +% \changes{v0.7f}{2002/11/28}{Minor optimizations} +% \changes{v0.7h}{2002/12/12}{Docu: minor changes} +% \changes{v0.8a}{2002/12/16}{LPPL removal} +% \changes{v0.8a}{2002/12/16}{Minor corrections} +% \changes{v0.8b}{2002/12/20}{ID: legal stuff reduced} +% \changes{v0.8d}{2002/12/31}{Minor changes} +% \changes{v0.8e}{2003/01/01}{Minor changes and corrections} +% \changes{v0.8f}{2003/01/03}{Docu: changes and enhancements} +% \changes{v1.0b}{2003/01/05}{Docu: many changes, corrections and +% enhancements} +% \changes{v1.0c}{2003/01/07}{Docu: \cmd{\mail}} +% \changes{v1.0d}{2003/01/08}{whole bunch of typos fixed} +% \changes{v1.1a}{2003/01/09}{Docu: \cmd{\NEW}-commands} +% \changes{v1.1b}{2003/01/30}{Typos fixed} +% \changes{v1.1c}{2003/02/07}{Docu: \cmd{\ams}-command} +% \changes{v1.1k}{2003/07/28}{Docu: CTAN-hierarchy has changed: no +% distinction between `supported' and `other'} +% \changes{v1.1k}{2003/07/28}{Docu: \cmd{\B}-command} +% \changes{v1.1k}{2003/07/28}{Docu: \cmd{\program}-command} +% \changes{v1.1k}{2003/07/28}{Docu: \cmd{\describe}-commands} +% \changes{v1.1k}{2003/07/28}{Docu: \env{option}, \env{length} and +% \env{switch} environments} +% \changes{v1.1l}{2003/09/11}{Docu: \env{documentation} +% environment} +% \changes{v1.2b}{2005/01/05}{Docu: \cmd{\ref}s corrected} +% \changes{v1.2b}{2005/01/07}{Docu: \cmd{ctanurl} used} +% +%^^A ================================================================= +%^^A Even with enabled crossrefs do not index all macros. +%^^A ================================================================= +% +%^^A The \cmd{\DoNotIndexBy}-calls have to be placed before the +%^^A \cmd{\DoNotIndex}-calls +% \DoNotIndexBy{@} +% \DoNotIndexBy{fbi@} +% +% \DoNotIndex{\@empty} +% \DoNotIndex{\@for} +% \DoNotIndex{\@ifundefined} +% \DoNotIndex{\@maketitle} +% \DoNotIndex{\@ne} +% \DoNotIndex{\@plus} +% \DoNotIndex{\@tempboxa, \@tempcnta, \@tempdima, \@temptokena} +% \DoNotIndex{\\, \", \{, \} } +% \DoNotIndex{\addtolength, \AtEndDocument, \advance} +% \DoNotIndex{\afterassignment} +% \DoNotIndex{\begin, \begingroup, \bf, \bfseries, \box} +% \DoNotIndex{\baselineskip, \backslash} +% \DoNotIndex{\ClassError, \ClassWarning, \ClassWarningNoLine} +% \DoNotIndex{\ClassInfo, \CurrentOption, \cdot, \count, \csname} +% \DoNotIndex{\centering, \cleardoublepage, \clearpage} +% \DoNotIndex{\DeclareRobustCommand, \def, \documentclass} +% \DoNotIndex{\DeclareOption, \dimen, \divide, \do} +% \DoNotIndex{\else, \end, \ExecuteOptions, \endgroup} +% \DoNotIndex{\expandafter, \endcsname} +% \DoNotIndex{\fontfamily, \fontseries, \fontsize} +% \DoNotIndex{\footnoterule, \footnotesize, \frontmatter} +% \DoNotIndex{\fboxrule, \fboxsep \framebox, \filename@ext} +% \DoNotIndex{\fi, \filedate, \fileversion, \filename@parse} +% \DoNotIndex{\gdef, \global, \GenericWarning, \Gin@sepdefault} +% \DoNotIndex{\Ginput@path, \Gin@temp, \Gin@getbase, \Gin@ext} +% \DoNotIndex{\Gin@extensions} +% \DoNotIndex{\hfill, \hfil, \hskip, \hspace, \hbox, \hss, \hb@xt@} +% \DoNotIndex{\headheight, \headsep, \ht, \hoffset} +% \DoNotIndex{\IfFileExists, \InputIfFileExists, \ifx, \if} +% \DoNotIndex{\input@path} +% \DoNotIndex{\kern} +% \DoNotIndex{\LARGE, \Large, \large, \let, \lineskip, \LoadClass} +% \DoNotIndex{\line, \linethickness} +% \DoNotIndex{\mainmatter, \mbox, \MessageBreak, \makebox} +% \DoNotIndex{\multiput, \m@ne} +% \DoNotIndex{\newcommand, \newlength, \null, \noexpand, \newbox} +% \DoNotIndex{\newif, \next@tpage, \noindent} +% \DoNotIndex{\oddsidemargin} +% \DoNotIndex{\par, \PackageError, \PackageWarningNoLine, \put} +% \DoNotIndex{\PassOptionsToClass, \ProcessOptions} +% \DoNotIndex{\providecommand} +% \DoNotIndex{\protect, \parbox} +% \DoNotIndex{\relax, \renewcommand, \rule, \RequirePackage} +% \DoNotIndex{\selectfont, \setcounter, \setlength, \small} +% \DoNotIndex{\setbox, \space, \stop, \scriptsize, \string} +% \DoNotIndex{\today, \texttt, \typeout, \thinlines, \the} +% \DoNotIndex{\textwidth, \thispagestyle, \topmargin, \topskip} +% \DoNotIndex{\usepackage, \undefined, \unitlength, \unkern} +% \DoNotIndex{\vfil, \vskip, \vbox, \vss, \vspace, \vfill} +% \DoNotIndex{\voffset} +% \DoNotIndex{\wd} +% \DoNotIndex{\z@} +% +%^^A ================================================================= +%^^A After this the commands \filedate and \fileversion are defined +%^^A ================================================================= +% \GetFileInfo{fbithesis} +% +%^^A ================================================================= +%^^A Title definition +%^^A ================================================================= +% \title{The \package{\filename}~package\thanks{This file has +% version number \fileversion. It was last revised on \filedate, +% the documentation is dated \docdate.}} +% \author{Andre +% Dierker\thanks{\url{dierker@kand.de}}} +% \date{Printed on \today} +% \maketitle +% +% \begin{documentation}{Abstract} +% \changes{v0.3c}{2002/04/01}{revised} +% \changes{v0.8a}{2002/12/16}{changed (LPPL removal)} +% \changes{v1.2j}{2006/10/23}{enhanced} +%^^A ================================================================= +%^^A A small abstract +%^^A ================================================================= +% \begin{abstract} +% \package{\filename.cls} is a \LaTeXe\ document-class tuned for +% research reports or internal reports like master/phd-theses at +% the TU Dortmund University. +% +% At the Department of Computer Science at the TU +% Dortmund there are cardboard cover pages for internal reports +% like master/phd-theses. The main function of the \LaTeX2e\ +% document-class provided by this package is a replacement for +% the \cmd{maketitle} command to typeset a title page that is +% adjusted to these cover pages. +% +% See \file{README} for a short overview and additional +% (legal) information and \file{example.tex} for---of course---an +% example. +% \end{abstract} +% \end{documentation} +% +% \begin{documentation}{TOC} +% \changes{v0.3c}{2002/04/01}{two columns (copied from +% \package{doc.dtx})} +% \changes{v0.7f}{2002/11/28}{use \cs{AtEndDocument}} +%^^A ================================================================= +%^^A Open a multicols-env. here. (And close it at the end of the +%^^A document...) +%^^A Note: this solution could lead to problems! (See multitoc.dtx +%^^A by Martin Schr\"oder) +%^^A ================================================================= +% \ifmulticols +% \addtocontents{toc}{\protect\begin{multicols}{2}} +% \fi +% +% {\parskip 0pt ^^A We have to reset \parskip (bug in \LaTeX, +% ^^A see doc.dtx) +% \tableofcontents +% } +% \end{documentation} +% +% \begin{documentation}{Introduction} +% \changes{v0.3c}{2002/04/01}{revised} +% \changes{v0.4h}{2002/08/13}{new paragraph dealing with templates} +% \changes{v0.5d}{2002/08/29}{rearranged} +% \changes{v0.7b}{2002/11/13}{new figure showing title page} +% \changes{v0.7b}{2002/11/13}{new paragraph concerning the +% imitation} +% \changes{v0.8e}{2003/01/01}{fixed bad phrasing} +% \changes{v1.2j}{2006/10/25}{decoration explained} +% \changes{v1.2m}{2011/02/06}{renaming of uni and fbi} +%^^A ================================================================= +%^^A Short description of what is done by the package +%^^A Miscellaneous comments +%^^A ================================================================= +% \section{Introduction} +% \label{sec:intro} +% +% At the Department of Computer Science at the TU Dortmund +% University there are cardboard cover +% pages (see figure \ref{fig:cover} on page \pageref{fig:cover}) +% for internal reports like master/phd-theses. The main function +% of the \LaTeXe\ document-class \package{\filename} is to replace +% the \cmd{\maketitle}~command to typeset a title page that is +% adjusted to these cover pages (see figure \ref{fig:fbititle} on +% page \pageref{fig:fbititle}). +% +% \begin{figure} +% \centering +% \setlength{\unitlength}{0.25cm} +% \begin{picture}(21,29.7) +% \thicklines +% \put(0,0){\framebox(21,29.7){\mbox{}}} +% \put(2.9,15.4){\framebox(9.2,9.1){\mbox{}}} +% \put(1.6,25.65){\rule{1.375mm}{1.375mm}} +% \thinlines +% \put(15,20){\vector(-1,0){4}} +% \put(15.4,20){\makebox(0,0)[l]{window}} +% \put(2.9,26.5){\framebox(9.2,0.5){\mbox{}}} +% \put(7.5,26.5){\makebox(0,0)[b]{\tiny\sffamily +% UNIVERSIT\"{A}T DORTMUND}} +% \put(2.9,25.6){\framebox(9.2,0.5){\mbox{}}} +% \put(7.5,25.6){\makebox(0,0)[b]{\tiny\sffamily FACHBEREICH +% INFORMATIK}} +% \put(2.9,13.6){\framebox(9.2,0.5){\mbox{}}} +% \put(7.5,13.6){\makebox(0,0)[b]{\tiny\sffamily INTERNE +% BERICHTE}} +% \put(2.9,12.75){\framebox(9.2,0.5){\mbox{}}} +% \put(7.5,12.75){\makebox(0,0)[b]{\tiny\sffamily INTERNAL +% REPORTS}} +% \put(16.1,3.55){\makebox(0,0)[b]{\tiny\sffamily D-44221 +% DORTMUND}} +% \thicklines +% \put(12,3.25){\line(1,0){8.4}} +% \put(12,4.35){\line(1,0){8.4}} +% \end{picture} +% ^^A +% \caption{A rough outline of the \mbox{DIN-A4}~cardboard cover +% page for diploma and doctoral theses and project reports +% provided by the Department of Computer Science at the +% TU Dortmund. The title page of the document is +% visible through the window.} +% ^^A +% \label{fig:cover} +% \end{figure} +% \begin{figure} +% \centering +% \setlength{\unitlength}{0.25cm} +% \begin{picture}(21,29.7) +% \thicklines +% \put(0,0){\framebox(21,29.7){\mbox{}}} +% \put(1.6,25.65){\rule{1.375mm}{1.375mm}} +% \thinlines +% \put(7.5,26.5){\makebox(0,0)[b]{\tiny\sffamily +% UNIVERSIT\"{A}T DORTMUND}} +% \put(7.5,25.6){\makebox(0,0)[b]{\tiny\sffamily FACHBEREICH +% INFORMATIK}} +% \put(18.4,25.6){\framebox(2,1.5){\mbox{}}} +% \put(7.5,23){\makebox(0,0)[c]{\tiny Your Name}} +% \put(7.5,20){\makebox(0,0)[c]{\scriptsize The Title}} +% \put(7.5,16.5){\makebox(0,0)[b]{\tiny Date}} +% \put(13,15.4){\framebox(7.4,9.1){\mbox{}}} +% \put(16.7,21){\makebox(0,0)[b]{\tiny\ttfamily additional}} +% \put(16.7,20){\makebox(0,0)[b]{\tiny\ttfamily optional}} +% \put(16.7,19){\makebox(0,0)[b]{\tiny\ttfamily logo}} +% \put(19.4,26){\makebox(0,0)[b]{\tiny\ttfamily logo}} +% \put(7.5,13.6){\makebox(0,0)[b]{\tiny\sffamily INTERNE +% BERICHTE}} +% \put(7.5,12.75){\makebox(0,0)[b]{\tiny\sffamily INTERNAL +% REPORTS}} +% \put(2.9,9.5){\makebox(0,0)[lb]{\tiny Address}} +% \put(2.9,9){\makebox(0,0)[lb]{\tiny of Chair}} +% \put(2.9,7.5){\makebox(0,0)[lb]{\tiny Supervisors}} +% \put(16.4,7){\framebox(4,3){\mbox{}}} +% \put(18.4,8){\makebox(0,0)[b]{\tiny\ttfamily chair logo}} +% \put(16.1,3.55){\makebox(0,0)[b]{\tiny\sffamily D-44221 +% DORTMUND}} +% \thicklines +% \put(12,3.25){\line(1,0){8.4}} +% \put(12,4.35){\line(1,0){8.4}} +% \end{picture} +% ^^A +% \caption{The title page as generated by \package{\filename}. +% The important part of the title page (author, title and date) +% is visible through the window in the cover page. This sketch +% can only give you a very coarse impression. For a more +% authentic one use the example (see section \ref{sec:example} +% on the pages \pageref{sec:example}ff).} +% ^^A +% \label{fig:fbititle} +% \end{figure} +% +% As you can see the title page is not only adjusted to the +% cardboard, but even imitates the cover: it repeats the text found +% on the cover page. Usually theses are presented to the world in +% two shapes: printed on paper or electronically (e.g.\ as a +% \mbox{PDF} or PostScript file). In the first case the repetition +% is not necessary, in the second (electronical) case one would +% miss important information without it. Since it doesn't hurt in +% the paper case I decided to make it possible to repeat this +% `decoration' of the cover page on the title page (see options +% \Lopt{decor} and \Lopt{nodecor} in section \ref{subsec:options}). +% +% This package doesn't make much sense outside of Germany or even +% outside the TU Dortmund. Nevertheless the +% documentation is in English. This shouldn't be a problem +% nowadays and it's a good training for me \winkey +% \end{documentation} +% +% \begin{documentation} +% \changes{v1.2m}{2011/02/06}{new} +% \subsection{Why the name?} +%^^A ================================================================= +%^^A The history of `FBI' +%^^A ================================================================= +% \label{subsec:name} +% +% When this package was created, the Department of Computer Science +% had the name `\textbf{F}ach\textbf{b}ereich \textbf{I}nformatik' +% in german. The abbreviation `FBI' was quite common in those +% days. Since the package is meant for that department I used the +% abbreviation for my package. (And of course because its kinda +% cool \winkey) +% +% In the meantime however the `Universität Dortmund' was +% renamed to `Technische Universität Dortmund' (technical +% university of Dortmund) and the department to `Fakultät für +% Informatik'. +% \end{documentation} +% +% \begin{documentation}{Other packages} +% \changes{v0.7c}{2002/11/20}{new} +% \changes{v1.2e}{2006/01/03}{correct links to packages} +% \changes{v1.2g}{2006/07/11}{Note \package{udotitle}} +% \changes{v1.2k}{2008/02/17}{Note \package{pgthesis}} +% \subsection{Other packages} +% \label{subsec:other} +% +% Apart from \package{\filename} there is at least one more +% approach that deals with the same subject. This is +% \package{diplomatitle}\footnote{\url{http://ls6-www.cs.uni-dortmund.de/\symbol{126}leineweb/tex/interneBerichte/} +% (Some of the files aren't reachable. Perhaps you have to contact +% the author first.)} by \person{Thomas Leineweber}\footnote{\mail[Thomas +% Leineweber]{leineweb@ls6.cs.uni-dortmund.de}}. +% \package{diplomatitle} isn't officially released. It hasn't left +% development status yet and it is doubtful if it ever will, as +% the author seems to have abandoned active development. +% +% \NEWdescription{2008/02/17 v1.2k}Together with \person{Thomas}, +% \person{Marc Seitz}\footnote{\mail[Marc +% Seitz]{marc@marcseitz.de}} worte \package{pgthesis} which is +% based on \package{\filename}. It aims at final reports of project +% groups (Projektgruppen Endberichte) but isn't yet officially +% released. If you are interested please contact the authors. +% +% Some other approaches use the \env{titlepage}~environment and +% provide a sort of template for the title page. Representatives +% of these approaches are for example the +% `\LaTeX-Templates'\footnote{\url{http://ls7-www.cs.uni-dortmund.de/\symbol{126}kohler/verschiedenes/LaTeX-Templates.tgz}} +% by \person{Kohler}\footnote{\mail[Markus +% Kohler]{markus.kohler@uni-dortmund.de}} or +% `daTitelblatt'\footnote{\url{http://ls11-www.cs.uni-dortmund.de/resources/docs/daLatex/daTitelblatt.tex}} +% by \person{Dittrich}\footnote{\mail[Peter +% Dittrich]{gisbert.dittrich@udo.edu}}. Of course these +% template-approaches give a great flexibility to the user. On the +% other hand the necessary customization often +% requires a deeper knowledge of \LaTeX. +% +% \NEWdescription{2006/07/11 v1.2g}Additionally there is +% \package{udotitle}\footnote{\url{http://www.forum.fset.de/}} by +% \person{Gerd Sebastiani}. This package however does not produce a +% title page to be used with the cardboard of the department of +% computer science but complies with the official corporate design +% of the university. +% \end{documentation} +% +% \begin{documentation}{New} +% \changes{v1.2d}{2005/12/14}{written} +% \changes{v1.2e}{2006/01/03}{\Lopt{decor} added} +% \changes{v1.2i}{2006/09/10}{References added} +% \changes{v1.2i}{2006/09/10}{\Lopt{declaration} added} +% \changes{v1.2m}{2011/02/06}{renaming of uni and fbi} +%^^A ================================================================= +%^^A Compared to the last major version, what's new in this one +%^^A ================================================================= +% \subsection{What's new} +% \label{subsec:new} +% +% \NEWdescription{2006/09/10 v1.2i}Since the last stable version +% v1.0d (2003/01/08) some new features were added: +% \begin{enumerate} +% \item compatibility with the \ams-classes (\package{amsbook} or +% \package{amsreport}) as baseclasses (see section +% \ref{subsubsec:ams} on page \pageref{subsubsec:ams}) +% \item better handling of baseclass-specific macros +% \item new options \Lopt{decor} and \Lopt{nodecor} (see section +% \ref{subsubsec:decor} on page \pageref{subsubsec:decor}) +% \item better warnings if needed files could not be found +% \item new options \Lopt{ngerman} and \Lopt{american} (see section +% \ref{subsubsec:language} on page \pageref{subsubsec:language}) +% \item new options \Lopt{declaration} and \Lopt{nodeclaration} +% (see section \ref{subsubsec:declaration} on page +% \pageref{subsubsec:declaration}) +% \item since the last public release the university and the +% department were renamed. +% \end{enumerate} +% +% \end{documentation} +% +% \begin{documentation}{Needs} +% \changes{v0.3e}{2002/04/04}{update (class changes)} +% \changes{v0.4e}{2002/04/09}{update (\package{german.sty} and +% \package{scrbook})} +% \changes{v0.5j}{2002/09/21}{update (\package{graphicx.sty})} +% \changes{v0.7b}{2002/11/13}{add reasons} +% \changes{v0.7h}{2002/12/12}{restrict \package{graphicx}} +% \changes{v0.7i}{2002/12/14}{suggest latest \koma-version} +% \changes{v1.1b}{2003/01/30}{update \koma-version} +% \changes{v1.1c}{2003/02/07}{support \ams} +% \changes{v1.2b}{2005/01/17}{killed spaces} +% \changes{v1.2d}{2005/12/14}{update \koma-version}{} +%^^A ================================================================= +%^^A What is required? +%^^A What is recommended? +%^^A What is supported? +%^^A ================================================================= +% \subsection{What do you need} +% \label{subsec:need} +% +% There are some packages, that are required with the use of +% \package{\filename}. Some others are recommended. +% \begin{enumerate} +% \item Packages, that are essentially required by +% \package{\filename}: +% \begin{enumerate} +% \item \LaTeXe\ (at least the 1994/12/01~release)^^A +% \footnote{\ctanurl{macros/latex/base}} +% +% \package{\filename} is a \LaTeXe\ document-class. So +% obviously you'll need \LaTeXe\ldots +% \item \package{graphicx}\footnote{\ctanurl{^^A +% macros/latex/required/graphics/graphicx.dtx}} (at least +% 1996/08/05 v1.0a) +% +% The logos are included by using the +% \cmd{\includegraphics}~command provided by +% \package{graphicx}. +% \end{enumerate} +% +% \item Packages, that are recommended to use with +% \package{\filename}: +% \begin{enumerate} +% \item \package{scrbook} (part of \koma^^A +% \footnote{\ctanurl{macros/latex/contrib/koma-script} by +% \person{Frank Neukam} and \person{Markus Kohm} +% \cite{neukam:scrclass, kohm:komabuch}}, at this time the +% latest version is 2007/12/24 v2.98) +% +% This is a replacement for the (standard) +% \package{book}~document-class and has many enhancements and +% useful features. +% \end{enumerate} +% +% \item Packages, that are supported by \package{\filename}: +% \begin{enumerate} +% \item \package{amsbook}\NEWfeature{2003/02/07 v1.1c} (part of +% \ams-\LaTeX^^A +% \footnote{\ctanurl{macros/latex/required/amslatex} by the +% \person{American Mathematical Society} +% \cite{ams:amsclass, ams:instr}}, at this time the +% latest version is 2004/08/06 v2.20) +% +% Like \koma\ this is a replacement for the \package{book} +% class. This one follows the style conventions of American +% Mathematical Society publications. +% \end{enumerate} +% \end{enumerate} +% +% Under normal circumstances you don't have to install any special +% packages (except \package{\filename} of course: its installation +% process is described in the next section) since all these should +% be part of every serious \LaTeX-distribution. If this is not the +% case you'll find the most recent versions at \ctan\footnote{^^A +% Comprehensive \TeX{} Archive Network: +% \url{http://www.ctan.org/}}. +% \end{documentation} +% +% \begin{documentation}{Installation} +% \changes{v0.3b}{2002/03/31}{new} +% \changes{v0.3c}{2002/04/01}{extended (PGP)} +% \changes{v0.4f}{2002/07/05}{extended (\cmd{\usedir})} +% \changes{v0.5j}{2002/09/21}{extended (config file)} +% \changes{v0.7b}{2002/11/13}{summary} +% \changes{v0.8a}{2002/12/16}{changed (LPPL removal)} +% \changes{v1.2d}{2005/12/20}{added \file{make}-section} +% \changes{v1.2i}{2006/09/11}{extended} +% \changes{v1.2j}{2006/10/25}{further extended} +%^^A ================================================================= +%^^A Installation guide +%^^A ================================================================= +% \subsection{Installation} +% \label{subsec:install} +% +% The file \describefile{\filename.dtx}\package{\filename.dtx} is +% an `one-file-contains-it-all'. It contains (of course) the +% \file{.cls}-file and its documentation (not to forget a +% customizable driver for the docu), but also the \file{.ins}-batch +% file, an example and a `read me'. +% +% It is recommended to check the integrity of the package before +% installing. This is done with +% \describefile{\filename.dtx.asc}\file{\filename.dtx.asc}, an +% \mbox{OpenPGP} signature made with \program{GnuPG} and the key +% \texttt{\fontdimen3\font=.5\fontdimen2\font +% \fontdimen4\font=.3\fontdimen2\font 1024D/F4D24AC9 2002-04-01 +% Andre Dierker (software distribution key) +% }\footnote{\mbox{BTW}: I'm always looking for +% people to exchange key-signatures. Contact me!}. Verify +% \file{\filename.dtx.asc} with \program{PGP} or \program{GnuPG} +% (for \program{GnuPG} this is `\file{gnupg -{}-verify +% \filename.dtx.asc}') to be sure, you got the complete and +% unmanipulated distribution. +% +% \subsubsection{By Hand} +% \label{subsubsec:byhand} +% +% To start the installation, run \file{\filename.dtx} through +% \LaTeX\footnote{It is recommended to use \file{pdflatex} instead +% of \file{latex}. If you prefer an output in \mbox{DVI}-format +% you can use `\file{pdflatex -ouput-format DVI}'}. This will +% generate the batch file (\file{\filename.ins}) and a +% \file{README}. Additionally the documentation +% (\file{\filename.dvi}) is generated (to get the cross-references +% right, you have to rerun this twice, however). +% +% The actual installation is done by running the newly generated +% \describefile{\filename.ins}\file{\filename.ins} through \LaTeX. +% This will generate the \file{\filename.cls}~file, an +% \file{example.tex}, the documentation driver +% (\file{\filename.drv}) and a sample configuration file +% (\file{\filename.cfg}). If you have set +% \cmd{\BaseDirectory}\footnote{see the documentation of the +% \program{docstrip}~program: \cite{mittelbach:docstrip}} in your +% \file{docstrip.cfg}, the document-class \file{\filename.cls} is +% immediately moved to an appropriate location (e.g.\ +% `\file{\$(TEXMF)/tex/latex/misc/}' with a \tds\footnote{\TeX\ +% Directory Structure, see \cite{twgtds:tds}} compliant \LaTeX\ +% installation). Otherwise you have to move it yourself into a +% directory searched by \LaTeX. \emph{If you don't know where this +% could be simply drop the file into your thesis' directory.} +% +% Now you could already start since the rest of the installation +% process is optional. +% +% Normally (with a \tds\ installation) all configuration +% (\file{.cfg}) files are collected in +% `\file{\$(TEXMF)/tex/latex/config/}'. Since there may be already +% an older \describefile{\filename.cfg}`\file{\filename.cfg}' that +% perhaps mustn't be overwritten, you have to move (and merge) the +% file yourself. +% +% To finish the installation it is recommended to move +% \file{\filename.dvi} and \file{example.tex} to where you collect +% the documentations (with a \tds\ compliant \LaTeX\ installation +% this would be `\file{\$(TEXMF)/doc/tex/latex/\filename}' for +% example). +% +% For a demonstration of the possibilities of \package{\filename} +% see the \describefile{example.tex}example file and run it through +% \LaTeX. +% +% The `\file{pdflatex \filename.dtx}'-run above will---by +% default---generate the `user' documentation. If you need the +% full documentation (with complete listing of the documented +% source code and/or command index and the change history) you may +% edit \describefile{\filename.drv}\file{\filename.drv} to meet +% your needs (never edit \file{\filename.dtx} itself!). For more +% information on the enhanced documentation see +% \file{\filename.drv} or \file{README}. +% +% So, in short you have to do the following: +% \begin{enumerate} +% \item Check the integrity of the package: `\file{gnupg -{}-verify +% \filename.dtx.asc}' +% \item Generate the documentation: `\file{pdflatex \filename.dtx}' +% \item Generate the \file{\filename.cls} file: `\file{pdflatex +% \filename.ins}' +% \item Finish the documentation: `\file{pdflatex \filename.dtx}' +% (two times) +% \item move \file{\filename.cls} (e.g. to your thesis' directory) +% \item Optional: move \file{\filename.dvi} and \file{example.tex} +% \end{enumerate} +% +% \subsubsection{By \file{make}} +% \label{subsubsec:bymake} +% +% Alternatively you can use \file{make} to do the tasks. In this +% case you have to do the following: +% \begin{enumerate} +% \item Check the integrity of the package: `\file{gnupg -{}-verify +% \filename.dtx.asc}' +% \item Generate the documentation: `\file{make doc}' +% \item Generate the \file{\filename.cls} file: `\file{make +% install}' +% \item move \file{\filename.cls} (e.g. to your thesis' directory) +% \item Optional: move \file{\filename.dvi} and \file{example.tex} +% \end{enumerate} +% +% \end{documentation} +% +% \begin{documentation}{Todo} +% \changes{v0.3e}{2002/04/04}{new one (\emph{baseclass} choose)} +% \changes{v0.4b}{2002/04/05}{new one (bug fixing)} +% \changes{v0.4d}{2002/04/07}{removed one (\cmd{\baseclass} stuff)} +% \changes{v0.4g}{2002/08/11}{new one (enhance to a full +% thesis-class)} +% \changes{v0.5e}{2002/08/30}{removed marks stuff and title-enhance +% stuff} +% \changes{v0.5j}{2002/09/21}{new one (project groups)} +% \changes{v0.7d}{2002/11/25}{removed one (\cmd{\fbi@stretchto} +% stuff)} +% \changes{v0.7h}{2002/12/12}{removed one (\koma-title)} +% \changes{v0.7i}{2002/12/14}{new one (alternative layouts)} +%^^A ================================================================= +%^^A What has to be done? +%^^A ================================================================= +% \subsection{To do} +% \label{subsec:todo} +% +% At this time the package doesn't offer many features. I plan to +% add a few as soon as I have the time to: +% \begin{enumerate} +% \item The logos of university and department have changed and need +% to be updated. If someone can provied files, please mail me. +% \item Better support for final reports of project groups +% (Projektgruppen Endberichte) +% \item Provide some alternative layouts +% \item Provide a \env{titlepage}-like environment to give the user +% more flexibility. +% \item Adopt \package{\filename} to the layout of the research +% reports, a second series with own cover pages. (These use +% \mbox{DIN-A5} instead of \mbox{DIN-A4} as paper format.) +% \item At this time \package{\filename} affects only the title +% page and doesn't interfere with the layout of the rest of the +% document. Enhance the package to a full `thesis'-class, +% perhaps by integrating the `\LaTeX-Templates' (see subsection +% \ref{subsec:other} on page \pageref{subsec:other}f). +% \item Fix bugs (see subsection \ref{subsec:bugs}), misspellings +% or whatever. +% \end{enumerate} +% If you have any further suggestions for enhancements or +% corrections feel free to mail me. +% \end{documentation} +% +% \begin{documentation}{Bugs} +% \changes{v0.6c}{2002/10/15}{new} +%^^A ================================================================= +%^^A I'm sorry, but there are known bugs +%^^A ================================================================= +% \subsection{Known Bugs} +% \label{subsec:bugs} +% +% Actually I'm aware of one bug: +% \begin{itemize} +% \item To provide the \cmd{\thanks}-mechanism I had to redefine +% \cmd{\footnote}. At the end of \cmd{\maketitle} the +% \cmd{\footnote}~command is reset to its original definition. +% Unfortunately the definition is \emph{not} reset, if there's no +% \cmd{\maketitle} in your document. A solution is not known. +% \end{itemize} +% If you have a solution to fix the bug or if you find a new one I'd +% be glad to hear\footnote{mail to +% \mail[Andre Dierker]{dierker@kand.de}} from you! +% \end{documentation} +% +% \begin{documentation}{Thanks} +% \changes{v0.4f}{2002/07/05}{new} +% \changes{v1.1i}{2003/06/30}{\person{Klaus} added} +% \changes{v1.2b}{2005/01/05}{\person{Matthias} added} +% \changes{v1.2b}{2005/01/05}{QuinScape noted} +% \changes{v1.2d}{2005/12/20}{added and corrected links} +% \changes{v1.2e}{2006/01/05}{\person{Roman} and \person{Clemens} +% added} +% \changes{v1.2e}{2006/01/05}{\person{Katharina} added} +% \changes{v1.2f}{2006/04/19}{\person{Hanna} added} +% \changes{v1.2g}{2006/07/17}{\person{Ralf} added} +% \changes{v1.2i}{2006/09/11}{\person{Dirk} added} +% \changes{v1.2l}{2008/07/17}{\person{Noah} added} +% \changes{v1.2m}{2011/02/06}{\person{Timon} added} +%^^A ================================================================= +%^^A Thanks +%^^A ================================================================= +% \subsection{Thanks} +% \label{subsec:thanks} +% +% Thanks go to \person{Stephan Lehmke}, the local \TeX- and +% \LaTeX-Guru at the University of Dortmund. He put the idea of +% writing this package into my mind and helped with many tips and +% hints. Furthermore I'd like to thank \person{Klaus Kramer}. He +% gave me feedback and pointed me to a bug. Further bugs were found +% by \person{Matthias Schweinoch} and \person{Ralf Kellermann}. +% +% \person{Roman Klinger} suggested to make the decoration optional +% (see the options \Lopt{decor} and \Lopt{nodecor} in section +% \ref{subsec:options}, \person{Clemens Renner} proposed the +% inclusion of a declaration in \package{\filename}, while +% \person{Dirk F{\"{o}}rsterling} gave feedback to the installation +% routine. +% +% \person{Timon Kelter} provided information about the renaming of +% university and department and so triggered a new release. +% +% Furthermore thanks go to QuinScape^^A +% \footnote{\url{http://www.QuinScape.de/}}, the company that lets +% me use my \TeX-Skills to earn a living. They have a great product +% named DocScape\footnote{\url{http://www.DocScape.de/}}. Do you +% have a large amount of data, that has to be layouted? Give +% DocScape\footnote{Contact us: \mail{Norbert.Jesse@QuinScape.de}} +% a try. It is a solution for data based publishing with a rule +% based layout. It makes possible a complete automatic but +% nevertheless extreme flexible layout and produces really high +% quality output. +% +% Finally I want to thank the three most important persons in my +% life: my wife \person{Katharina}, my daughter +% \person{Hanna} and my son \person{Noah}. I love you. +% \end{documentation} +% +%^^A ================================================================= +%^^A How to use fbithesis +%^^A ================================================================= +% \section{Usage} +% \label{sec:usage} +% +% Now lets come to the interesting stuff. +% +% \begin{documentation}{Loading} +% \changes{v0.4d}{2002/04/07}{new (\cmd{\baseclass} stuff)} +% \changes{v0.5j}{2002/09/21}{merged with Baseclass} +% \changes{v0.7d}{2002/11/25}{mention default of \cmd{\baseclass}} +%^^A ================================================================= +%^^A Loading and: +%^^A What the hell is `\baseclass'? +%^^A ================================================================= +% \subsection{The \emph{baseclass} and loading} +% \label{subsec:load} +% +% You are free to choose your favorite thesis-document-class as +% the \emph{baseclass}, since the only part concerned by +% \package{\filename} is the title page. \package{\filename} +% doesn't interfere with the layout of the rest of your +% document.\footnote{However this may change in the future, see +% subsection \ref{subsec:todo} on page \pageref{subsec:todo}} By +% default \package{\filename} will use \package{scrbook} (part of +% \koma, see \cite{neukam:scrclass}) as \emph{baseclass}. +% +% You may change the \emph{baseclass} by defining the macro +% \describemacro{\baseclass}\cmd{\baseclass}. +% \emph{\textbf{Important:} this has to be done \textbf{before} the +% \cmd{\documentclass}~command!} (See the example in section +% \ref{sec:example} on the pages \pageref{sec:example}ff.) For +% example if you prefer the standard class +% \package{book} from \LaTeXe\ simply do: +%\begin{verbatim} +% \def\baseclass{book} +%\end{verbatim} +% Afterwards the class is loaded with: +%\begin{verbatim} +% \documentclass{fbithesis} +%\end{verbatim} +% You can modify the behaviour of \package{\filename} with options +% (all available options are described below in subsection +% \ref{subsec:options}): +%\begin{verbatim} +% \documentclass[]{fbithesis} +%\end{verbatim} +% +% You may choose every \LaTeXe-document-class as \emph{baseclass}, +% on condition that it provides a \cmd{\maketitle}~command (and its +% supportive commands as described in subsection +% \ref{subsubsec:latex} on page \pageref{subsubsec:latex}) and +% supports a title page. For example +% with \package{article} from \LaTeXe\ you have to use its +% \describeoption{titlepage}\Lopt{titlepage}~option, since +% \package{article} doesn't generate an explicit title page by +% default. +% \end{documentation} +% +% \begin{documentation}{Options} +% \changes{v0.4d}{2002/04/07}{extended (\cmd{\baseclass} stuff)} +% \changes{v0.5j}{2002/09/21}{updated (marks stuff)} +% \changes{v0.6a}{2002/09/23}{updated (internationalization)} +% \changes{v1.1i}{2003/06/30}{\Lopt{ngerman} and \Lopt{american}} +% \changes{v1.2i}{2006/09/04}{\Lopt{decor} added} +% \changes{v1.2i}{2006/09/10}{structure changed} +% \changes{v1.2i}{2006/09/10}{\Lopt{a4paper} added} +% \changes{v1.2i}{2006/09/16}{\Lopt{declaration} added} +%^^A ================================================================= +%^^A Available Options +%^^A ================================================================= +% \subsection{Options} +% \label{subsec:options} +% +% There are several class options available with +% \package{\filename}. Most of the following options are mutual +% exclusive. (For example \Lopt{draft} and \Lopt{final}; +% \Lopt{german}/\Lopt{ngerman} and \Lopt{english} / +% \Lopt{american} and others.) If you do specify two opposing +% options like in this example +%\begin{verbatim} +% \documentclass[draft,final]{fbithesis} +%\end{verbatim} +% the last one (in this case \Lopt{final}) `wins'. +% \NEWdescription{2003/06/30 v1.1i}However both global options are +% passed to the packages. So in this example +%\begin{verbatim} +% \documentclass[english,american]{fbithesis} +%\end{verbatim} +% \Lopt{english} will be a kind of fallback if a package doesn't +% implement the option \Lopt{american}. +% +% \subsubsection{\Lopt{draft}/\Lopt{final}} +% +% The first two options switch between the +% \describeoption{draft}\Lopt{draft} and +% \describeoption{final}\Lopt{final}~mode. The \Lopt{draft}~mode +% adds some marks to the title page to help with the positioning of +% the page (see section \ref{sec:custom} on page +% \pageref{sec:custom}). +% \end{documentation} +%\begin{verbatim} +% \documentclass[draft]{fbithesis} +%\end{verbatim} +% In the \Lopt{final}~mode of course no marks are shown. +%\begin{verbatim} +% \documentclass[final]{fbithesis} +%\end{verbatim} +% +% \subsubsection{Language options} +% \label{subsubsec:language} +% +% The second bunch of options switches the language. As you can see +% below (in subsection \ref{subsubsec:fbithesis} on page +% \pageref{subsubsec:fbithesis}) the supervisors +% of the thesis can be added to the title page by using the macro +% \cmd{\supervisors}. These are captioned by `Gutachter:' with the +% \describeoption{german}\Lopt{german}~option. +%\begin{verbatim} +% \documentclass[german]{fbithesis} +%\end{verbatim} +% If you want to do your thesis in English, the `Gutachter:' would +% spoil the effect. It is replaced by `Supervisors:' with the +% \describeoption{english}\Lopt{english}~option. +%\begin{verbatim} +% \documentclass[english]{fbithesis} +%\end{verbatim} +% +% \NEWfeature{2003/06/30 v1.1i}There are two more class options: +% \describeoption{ngerman}\Lopt{ngerman} and +% \describeoption{american}\Lopt{american}. These are just +% synonyms for \describeoption{german}\Lopt{german} and +% \describeoption{english}\Lopt{english}. Since class (or global) +% options are passed to the imported styles (by \cmd{\usepackage}) +% the synonyms can make things easier: you don't have to specify +% the optional argument with language-specific packages. So you +% can write +%\begin{verbatim} +% \documentclass[ngerman]{fbithesis} +% \usepackages{babel} +%\end{verbatim} +% instead of +%\begin{verbatim} +% \documentclass[german]{fbithesis} +% \usepackages[ngerman]{babel} +%\end{verbatim} +% The language \describeoption{ngerman}\Lopt{ngerman} is the +% default choice. +% +% \subsubsection{\Lopt{decor}/\Lopt{nodecor}} +% \label{subsubsec:decor} +% +% \begin{figure} +% \centering +% \setlength{\unitlength}{0.25cm} +% \begin{picture}(21,29.7) +% \thicklines +% \put(0,0){\framebox(21,29.7){\mbox{}}} +% \thinlines +% \put(18.4,25.6){\framebox(2,1.5){\mbox{}}} +% \put(7.5,23){\makebox(0,0)[c]{\tiny Your Name}} +% \put(7.5,20){\makebox(0,0)[c]{\scriptsize The Title}} +% \put(7.5,16.5){\makebox(0,0)[b]{\tiny Date}} +% \put(13,15.4){\framebox(7.4,9.1){\mbox{}}} +% \put(16.7,21){\makebox(0,0)[b]{\tiny\ttfamily additional}} +% \put(16.7,20){\makebox(0,0)[b]{\tiny\ttfamily optional}} +% \put(16.7,19){\makebox(0,0)[b]{\tiny\ttfamily logo}} +% \put(19.4,26){\makebox(0,0)[b]{\tiny\ttfamily logo}} +% \put(2.9,9.5){\makebox(0,0)[lb]{\tiny Address}} +% \put(2.9,9){\makebox(0,0)[lb]{\tiny of Chair}} +% \put(2.9,7.5){\makebox(0,0)[lb]{\tiny Supervisors}} +% \put(16.4,7){\framebox(4,3){\mbox{}}} +% \put(18.4,8){\makebox(0,0)[b]{\tiny\ttfamily chair logo}} +% \end{picture} +% ^^A +% \caption{The title page as generated by \package{\filename} with +% option \Lopt{nodecor}. To compare with the repeated +% decoration please refer to figure \ref{fig:fbititle} on page +% \pageref{fig:fbititle}} +% ^^A +% \label{fig:nodecor} +% \end{figure} +% \NEWfeature{2005/12/22 v1.2d}The options +% \describeoption{decor}\Lopt{decor} and +% \describeoption{nodecor}\Lopt{nodecor} control the decoration on +% the title page. As already said in section \ref{sec:intro} it is +% possible to repeat the decoration of the cardboard on the +% title page. To do this, all you have to do is: +%\begin{verbatim} +% \documentclass[decor]{fbithesis} +%\end{verbatim} +% (which is the default behaviour). If you don't want the +% decoration (as shown in figure \ref{fig:nodecor}) you can use +%\begin{verbatim} +% \doucmentclass[nodecor]{fbithesis} +%\end{verbatim} +% +% \subsubsection{\Lopt{declaration}/\Lopt{nodeclaration}} +% \label{subsubsec:declaration} +% +% If you do a diploma thesis you'll have to give a declaration that +% you have written everything by yourself. By the +% \NEWfeature{2006/01/18 v1.2e} options +% \describeoption{declaration}\Lopt{declaration} and +% \describeoption{nodeclaration}\Lopt{nodeclaration} you are able +% to include this declaration into your thesis: +%\begin{verbatim} +% \documentclass[declaration]{fbithesis} +%\end{verbatim} +% This inserts a new page with a form of the declaration. Since the +% text is taken from the Diplompr{\"{u}}fungsordnung it should be +% sufficient for the deans office. You only have to sign it. +% +% As you might have guessed +%\begin{verbatim} +% \documentclass[nodeclaration]{fbithesis} +%\end{verbatim} +% will suppress the declaration. This is the default behaviour. +% +% \subsubsection{Paper options} +% \label{subsubsec:paper} +% +% \NEWfeature{2003/10/08 v1.1n}The position of the various elements +% on the title page is implemented in the class option +% \Lopt{a4paper}. There is no need for a alternative \Lopt{letter} +% because the cardboard is only offered in the paper format +% \mbox{DIN-A4} (and \mbox{DIN-A5} but that is a topic for further +% development. See section \ref{subsec:todo} on page +% \pageref{subsec:todo}). Since there is no other paper format +% implemented at the time, the option \Lopt{a4paper} is the default +% behaviour. +% +% \subsubsection{Options of the \emph{baseclass}} +% \label{subsubsec:baseoptions} +% +% Furthermore you may choose every option provided by the +% \emph{baseclass} (see subsection \ref{subsec:load} on page +% \pageref{subsec:load}), since all +% other options are forwarded to it. For example with the default +% \emph{baseclass} \package{scrbook}\footnote{\package{scrbook} is +% part of \koma\ by \person{Frank Neukam} and \person{Markus Kohm}} +% you may want something like this: +%\begin{verbatim} +% \documentclass[10pt, a4paper, BCOR12mm, headsepline]{fbithesis} +%\end{verbatim} +% For a description of possible options of your chosen +% \emph{baseclass} look at the corresponding documentation. The +% \package{scrbook}-options used above for example are described in +% \cite{neukam:scrclass, kohm:komabuch}. +% +% \begin{documentation}{Commands} +% \changes{v0.3b}{2002/03/31}{enhanced} +% \changes{v0.5j}{2002/09/21}{enhanced (title-enhance stuff)} +% \changes{v0.6d}{2002/10/19}{enhanced (\cmd{\date}- and +% \cmd{\thesislogo}-stuff)} +% \changes{v0.7e}{2002/11/26}{\koma-stuff} +% \changes{v0.7g}{2002/11/29}{divided in subsubsections, added +% description of \koma-commands} +% \changes{v1.1c}{2003/02/07}{\ams-stuff} +%^^A ================================================================= +%^^A Description of the provided commands +%^^A ================================================================= +% \subsection{Commands} +% \label{subsec:commands} +% +% \subsubsection{\LaTeX-Commands} +% \label{subsubsec:latex} +% +% As in the standard \LaTeXe\ classes the user defines the title +% and author by the declarations\footnote{For a more detailed view +% on these macros please look at \cite{ltx2e:ltsect}.} +% \describemacro{\title}\cmd{\title}\marg{name} and +% \describemacro{\author}\cmd{\author}\marg{name}. As in the +% standard \LaTeXe\ classes multiple authors have to be separated +% with \cmd{\and}. In general master/phd-theses won't have more +% than one author, but just in case (and because it will be needed +% for research reports, see subsection \ref{subsec:todo} on page +% \pageref{subsec:todo}) the +% \describemacro{\and}\cmd{\and}~command is also provided. +% +% The \cmd{\date}~command differs from the definition in the +% \LaTeX-Kernel. In the standard \LaTeXe\ classes the command is +% used to specify the date of the document: \cmd{\date}\marg{date}. +% In \package{\filename} the macro is enhanced by an optional +% argument to specify the period of the thesis: +% \describemacro{\date}\cmd{\date}\oarg{begin date}\marg{end date}. +% If you leave out the optional argument only the end date is set, +% if you leave out the whole \cmd{\date}~command, +% \cmd{\date}\{\cmd{\today}\} is assumed by default. +% +% As in the standard classes the title is set by using the +% \describemacro{\maketitle}\cmd{\maketitle}\footnote{See +% \cite{lamport:classes} for the original definition}~command. +% This is redefined in this package to match the cardboard cover +% page of the Department of Computer Science at the TU Dortmund. +% +% If you really want to make acknowledgements on the title page you +% may use +% \describemacro{\thanks}\cmd{\thanks}\marg{text}\label{cmd:thanks}. +% The text would be set as a footnote at the bottom of the +% cardboard window. In my opinion this does not look well and I +% recommend not to use \cmd{\thanks}. The correct place for +% eMail-addresses, acknowledgements, dedications and such things is +% a preface or---if you use \package{scrbook} or \package{scrreprt} +% as the \emph{baseclass}---the enhanced title of \koma\ (see +% subsection \ref{subsubsec:koma} and \cite{neukam:scrclass, +% kohm:komabuch}) +% +% The \describemacro{\title}\cmd{\title} and +% \describemacro{\author}\cmd{\author} commands are mandatory: You +% have to define them if you want \package{\filename} to do its +% job. All other commands are optional. So the only thing you +% have to do to use this package is to choose your favorite +% \emph{baseclass} (see subsection \ref{subsec:load} on page +% \pageref{subsec:load}), load +% \package{\filename} and provide the information you would like to +% have on the title page. +% +% \subsubsection{\package{\filename}-Commands} +% \label{subsubsec:fbithesis} +% +% The commands above are all provided by the standard \LaTeX\ +% classes. In \package{\filename} there are a few more commands to +% provide additional information. +% +% By the command \describemacro{\subject}\cmd{\subject}\marg{sub} +% you may provide the `type' of the thesis (like `Diplomarbeit', or +% `Dissertation'). As the \LaTeX-commands above (see subsection +% \ref{subsubsec:latex}) \cmd{\subject}, too, affects the look +% in the window of the cardboard. The content of the following +% commands is placed in other areas of the title page and isn't +% visible through the window. +% +% By using the command +% \describemacro{\unidologo}\cmd{\unidologo}\marg{filename} you may +% include the logo of the TU Dortmund to the title page. +% `\meta{filename}' should be a graphics file (e.g.\ \mbox{EPS} or +% \mbox{PDF}). Additionally it is possible to add the logo of the +% chair to the title page. This is done by +% \describemacro{\chairlogo}\cmd{\chairlogo}\marg{filename}. +% +% If you have a thesis-specific logo, it can be placed on the +% title page by using +% \describemacro{\thesislogo}\cmd{\thesislogo}\marg{filename}. The +% logo is set next to the window of the cardboard (see figure +% \ref{fig:fbititle} on page \pageref{fig:fbititle}). +% +% Some folks want the names of the chair, the department and the +% university to appear on the title page. This can be done by +% \describemacro{\chair}\cmd{\chair}\marg{information}. The +% argument \meta{information} may consist of lines separated by +% `|\\|'. +% +% The supervisors of the thesis may be provided by +% \describemacro{\supervisors}\cmd{\supervisors}\marg{first +% supervisor}\marg{second supervisor}. +% +% \emph{Please note:} Due to aesthetic reasons it is recommended +% to use \cmd{\chair}, \cmd{\chairlogo} and \cmd{\supervisors} only +% in combination: either all or none. +% +% \subsubsection{\koma-Commands} +% \label{subsubsec:koma} +% +% \package{\filename} supports parts of the enhanced title of +% \describefile{\koma}\koma. So if you use \package{scrbook} or +% \package{scrreprt} you may use the following \koma-commands. For +% more information on these three macros see \cite[section +% 3.3]{kohm:komabuch}. +% +% If you print your document two sided, the back of the title page +% normally is left empty. You can use the commands +% \describemacro{\uppertitleback}\cmd{\uppertitleback}\marg{text} +% and +% \describemacro{\lowertitleback}\cmd{\lowertitleback}\marg{text} +% to place additional information there. +% +% \koma\ provides a special dedication page. If you want to +% dedicate your thesis to someone, use +% \describemacro{\dedication}\cmd{\dedication}\marg{text}. +% +% There are some more \koma-commands affecting the title. Theses +% are ignored by \package{\filename} since they are useless in our +% case: \cmd{\extratitle} is not necessary since the cardboard +% cover serves exactly the purpose of the cover page +% \cmd{\extratitle} would produce. \cmd{\titlehead} would mess up +% the layout of the title page and \cmd{\publishers} is nonsense +% since no thesis has got a publisher. +% +% \subsubsection{\ams-Commands} +% \label{subsubsec:ams} +% +% \NEWfeature{2003/02/07 v1.1c}\package{\filename} also +% supports \package{amsbook} as baseclass. However the +% \describefile{\ams}\ams-classes use a different macro for the +% dedication than \koma. So if you choose \package{amsbook} as +% baseclass you may use the command +% \describemacro{\dedicatory}\cmd{\dedicatory}\marg{text}. For +% more information on this macro see \cite[chapter +% 3]{ams:instr}. +% +% There are some more \ams-commands affecting the title. Theses +% are ignored by \package{\filename} since they are useless in our +% case: \cmd{\subjclass}, \cmd{\keywords} and \cmd{\translators} +% are nonsense since no thesis is specified by the +% \ams-classification or is translated. The other \ams-commands +% (like \cmd{\address}, \cmd{\curraddr}, \cmd{\urladdr}, +% \cmd{\email}) are used to provide additional information to +% contact the author(s). It is unusual to provide this information +% on the title page of a thesis. You may include it into your +% preface however. +% \end{documentation} +% +% \begin{documentation}{Customization} +% \changes{v0.4b}{2002/04/05}{\file{fbithesis.cfg}} +% \changes{v0.5k}{2002/09/22}{manually} +% \changes{v0.8e}{2003/01/01}{invariant positioning} +% \changes{v0.8f}{2003/01/03}{inverted sense of direction} +%^^A ================================================================= +%^^A How to customize fbithesis +%^^A ================================================================= +% \section{Customization} +% \label{sec:custom} +% +% The horizontal and vertical placement of the writable area on +% the paper depends on many factors like page size and layout, +% printer margins or corrections done by the device driver. Some +% of these (like page layout) can be directly controlled by \TeX, +% others (like page size) can be taken into account. Unfortunately +% there may still be some factors that cannot be influenced by this +% package, so a correct adjustment cannot be done completely +% automatically. A correct adjustment on the other hand is very +% important to center the title in the window in the cardboard +% cover. +% +% \package{\filename} provides a ``pretty good guess'' concerning +% the placement of the title page, however a correct adjustment +% cannot be guaranteed. In fact the ``guess'' is much better than +% only ``pretty good'': in the case of a mismatch you are strongly +% recommended to check the positioning of your printer. Please run +% `\file{latex testpage.tex}', print a copy, check the result and +% correct the positioning. However if this does not help please +% send a bug report to the author\footnote{mail to \mail[Andre +% Dierker]{dierker@kand.de}}. For the meantime +% \package{\filename} provides a stopgap solution. Positive values +% for \describemacro{\titlevadjust}\cmd{\titlevadjust}\marg{length} +% move the page up, negative values down. Similar with +% \describemacro{\titlehadjust}\cmd{\titlehadjust}\marg{length}: +% positive values move the page to the left, negative to the right. +% \end{documentation} +% +% \begin{documentation}{Configuration} +% \changes{v0.5b}{2002/08/15}{new} +% \changes{v0.5j}{2002/09/21}{added code for config file} +% \changes{v1.2m}{2011/02/06}{renaming of unidologo} +%^^A ================================================================= +%^^A Example for a site-wide fbithesis.cfg-file +%^^A ================================================================= +% \subsection{Configuration file} +% \label{subsec:config} +% +% You may use a site-wide configuration file +% \describefile{\filename.cfg}\file{\filename.cfg} to set some +% defaults. This configuration file---placed somewhere \LaTeX\ is +% able to find it---will be read whenever the +% \package{\filename}~class is used. Of course you may overwrite +% these local defaults by placing concurrent definitions in your +% source file. +% +% To generate the following sample configuration file, run +% \file{\filename.ins} through \LaTeX. On a \tds\ compliant \LaTeX\ +% installation the configuration files are normally collected in +% `\file{\$(TEXMF)/doc/tex/latex/config/}'. However because there +% may already be an older configuration file `\file{\filename.cfg}' +% you have to move (and merge) it yourself. +% +% \begin{macrocode} +%<*config> +% \end{macrocode} + +% If the graphics-files containing the logos are installed +% centrally, it may be useful to define the commands +% \describemacro{\unidologo}\cmd{\unidologo} and +% \describemacro{\chairlogo}\cmd{\chairlogo} site-wide. +% (Conforming to \cite{carlisle:graphics} you may want to skip +% the extensions of the filenames.) +% \iffalse +%% If the EPS-files containing the logos are installed centrally, +%% it may be useful to define the following commands site-wide. +%% You may safely skip the extensions of the filenames. +% \fi +% \begin{macrocode} + % \unidologo{tulogo} + % \chairlogo{ls9logo} +% \end{macrocode} + +% The same with \describemacro{\chair}\cmd{\chair}: +% \iffalse +%% The same with `\chair': +% \fi +% \begin{macrocode} + % \chair{Chair IX (Virtual Research)\\ + % Department of Computer Science\\ + % TU Dortmund} +% \end{macrocode} + +% \begin{macrocode} +% +% \end{macrocode} +% \end{documentation} +% +% \begin{documentation}{Example} +% \changes{v0.3d}{2002/04/03}{class changes} +% \changes{v0.3e}{2002/04/04}{simplified} +% \changes{v0.5a}{2002/08/14}{added \cmd{\thesisstyle}, +% \cmd{\unidologo} and \cmd{\chairlogo} (title-enhance stuff)} +% \changes{v0.5b}{2002/08/15}{added \cmd{\chair} and +% \cmd{\supervisors} (title-enhance stuff)} +% \changes{v0.5d}{2002/08/29}{minor changes} +% \changes{v0.5j}{2002/09/21}{added docu} +% \changes{v0.6b}{2002/09/25}{Logos} +% \changes{v0.6d}{2002/10/19}{\cmd{\thesislogo}- and +% \cmd{\date}-stuff} +% \changes{v0.7h}{2002/12/12}{Logos with DSC-comments} +% \changes{v0.8e}{2003/01/01}{rely on automatic positioning} +% \changes{v1.2e}{2006/01/03}{PDF-Versions of the logos} +% \changes{v1.2j}{2006/10/17}{Commented example} +% \changes{v1.2j}{2006/10/20}{more comments} +% \changes{v1.2m}{2011/02/06}{renaming of uni and fbi} +%^^A ================================================================= +%^^A The glorious example! (well, sort of...) +%^^A ================================================================= +% \section{Example} +% \label{sec:example} +% +% Here is a little \describefile{example.tex}example file. To +% generate it, run \file{\filename.ins} through \LaTeX. First we +% use the \env{filecontents*}~environment to provide the +% \mbox{PostScript}-Code of three dummy logos used by the example. +% The original logos should be available at your chair, contact +% your supervisor or system administrator. +% +% \begin{macrocode} +%<*example> +% \end{macrocode} +% At first we include an auxiliary file that contains the logos. You +% can ignore this line since it is only necessary in this example. +% \iffalse +% \begin{macrocode} + % + % + % + % At first we include an auxiliary file that contains the logos. You + % may ignore this line. It is only necessary for this example. +% \end{macrocode} +% \fi +% \begin{macrocode} +\include{exampleaux} +% \end{macrocode} +% fbithesis supports three classes as `baseclass'. To use `book' or +% `amsbook' you have to use one of the following lines. To use +% `scrbook' from KOMA-Script as baseclass you have to do nothing +% since this is the default. If you don't know what I'm talking +% about just leave these lines as they are. Almost everyone uses +% `scrbook' as baseclass. It is a wise decision. +% \iffalse +% \begin{macrocode} + % + % fbithesis supports three classes as `baseclass'. To use `book' or + % `amsbook' you have to use one of the following lines. To use + % `scrbook' from KOMA-Script as baseclass you have to do nothing since + % this is the default. If you don't know what I'm talking about just + % leave these lines as they are. Almost everyone uses `scrbook' as + % baseclass. It is a wise decision. + % +% \end{macrocode} +% \fi +% \begin{macrocode} + % \def\baseclass{book} + % \def\baseclass{amsbook} +% \end{macrocode} +% +% Of course we choose \package{\filename} as document class. +% Additionally we want to look at the +% \describeoption{draft}\Lopt{draft}~mode and test the option +% forwarding of \describeoption{a4paper}\Lopt{a4paper} to the +% \emph{baseclass}. Since the example is in English, we also +% choose \describeoption{english}\Lopt{english}. +% \changes{v0.4c}{2002/04/06}{Example: set option \Lopt{draft}} +% \changes{v0.8f}{2003/01/03}{Example: set option \Lopt{english}} +% \iffalse +% \begin{macrocode} + % + % Of course we choose fbithesis as document class. Additionally we + % want to look at the draft mode and test the option forwarding of + % a4paper to the baseclass. Since the example is in English, we also + % choose english. +% \end{macrocode} +% \fi +% \begin{macrocode} +\documentclass[a4paper, english]{fbithesis} +% \end{macrocode} +% +% We begin our document: +% \begin{macrocode} +\begin{document} + \frontmatter +% \end{macrocode} +% +% As in the standard \LaTeX\ classes we use the +% \describemacro{\title}\cmd{\title}~command. Normally one can +% trust \TeX's ability to compute a satisfactory line breaking. +% However \TeX's algorithm is not optimized for titles but for +% continuous text. To make it more difficult the cardboard window +% is quite small. So if you prefer a different make up, help +% yourself with an appropriate placed `|\\|', as you can see in +% this example. +% \iffalse +% \begin{macrocode} + % + % As in the standard LaTeX classes we use the title command. Normally + % one can trust TeX's ability to compute a satisfactory line breaking. + % However TeX's algorithm is not optimized for titles but for + % continuous text. To make it more difficult the cardboard window is + % quite small. So if you prefer a different make up, help yourself + % with an appropriate placed `\\', as you can see in this example. +% \end{macrocode} +% \fi +% \begin{macrocode} + \title{Example file for the\\ \texttt{fbithesis} package% +% \end{macrocode} +% +% The \describemacro{\thanks}\cmd{\thanks}~command is used to provide +% further information\footnote{You can safely ignore the +% \cmd{\fileversion} and \cmd{\filedate}~commands. They are only +% helping me creating a consistent distribution of this +% package.}. As you can see the result of the +% \cmd{\thanks}~mechanism does not look well. Therefore I do not +% recommend the usage. It is better to write a preface instead. +% \iffalse +% \begin{macrocode} + % + % The `\thanks' command may be used to provide further + % information. But as you can see the result of the `\thanks' + % mechanism does not look well. Therefore I do not recommend the + % usage. It is better to write a preface instead. +% \end{macrocode} +% \fi +% \begin{macrocode} + \thanks{The \texttt{fbithesis}~package has version number + \fileversion. It was last revised on \filedate.}% + } +% \end{macrocode} +% +% The usage of the \describemacro{\author}\cmd{\author}~command: In +% general master/phd-theses will have only one author, but just in +% case the \describemacro{\and}\cmd{\and}-command is also provided. +% \iffalse +% \begin{macrocode} + % + % The usage of the \author command: In general master/phd-theses will + % have only one author, but just in case the \and-command is also + % provided. +% \end{macrocode} +% \fi +% \begin{macrocode} + \author{Andre Dierker% +% \end{macrocode} +% The use of the command \cmd{\thanks} is not recommended (see page +% \pageref{cmd:thanks}). +% \iffalse +% \begin{macrocode} + % + % Again the use of the command `\thanks' is possible but not + % recommmended. Please refer to the documentation. +% \end{macrocode} +% \fi +% \begin{macrocode} + % \thanks{\texttt{software@kand.de}}% +% \end{macrocode} +% Perhaps there ist a second author: +% \begin{macrocode} + \and Nobody Else% +% \end{macrocode} +% Again the use of \cmd{thanks} is not recommended. +% \begin{macrocode} + % \thanks{\texttt{no@body.el.se}}% + } +% \end{macrocode} +% Normally the \describemacro{\subject}subject would be something +% like `Diplomarbeit' or `Dissertation'\ldots +% \iffalse +% \begin{macrocode} + % + % Normally the subject would be something like `Diplomarbeit' or + % `Dissertation' ... +% \end{macrocode} +% \fi +% \begin{macrocode} + \subject{Example} +% \end{macrocode} +% You may give the \describemacro{\date}beginning and the deadline +% of your thesis here. +% \iffalse +% \begin{macrocode} + % + % You may give the beginning and the deadline of your thesis here. +% \end{macrocode} +% \fi +% \begin{macrocode} + \date[Created April 3, 2002]{Printed \today} +% \end{macrocode} +% Providing the \describemacro{\supervisors}supervisors of the +% thesis. +% \iffalse +% \begin{macrocode} + % + % Providing the supervisors of the thesis. +% \end{macrocode} +% \fi +% \begin{macrocode} + \supervisors{First Tutor}{Second Tutor} +% \end{macrocode} +% +% If there is a site-wide configuration file (see subsection +% \ref{subsec:config}) the commands +% \describemacro{\unidologo}\cmd{\unidologo} and +% \describemacro{\chairlogo}\cmd{\chairlogo} may already be +% defined. You may override them locally. Conforming to +% \cite{carlisle:graphics} we skip the extensions of the +% filenames. Due to this \TeX\ is able to include the correct +% version of the file (EPS or PDF) +% \iffalse +% \begin{macrocode} + % + % You may use the following commands if you want to place a logos on + % the title page. Conforming to Carlisle: Packages in the `graphics' + % bundle we skip the extensions of the filenames. Due to this TeX is + % able to include the correct version of the file (EPS or PDF) +% \end{macrocode} +% \fi +% \begin{macrocode} + \unidologo{tulogo} + \chairlogo{ls9logo} +% \end{macrocode} +% You may use the command +% \describemacro{\thesislogo}\cmd{\thesislogo} if you want to place +% a thesis-specific logo on the title page. +% \begin{macrocode} + \thesislogo{thesislogo} +% \end{macrocode} +% The \describemacro{\chair}\cmd{\chair}~command is the other +% candidate for a site-wide configuration file. This, too, can be +% overwritten. +% \iffalse +% \begin{macrocode} + % + % The chair you are writing your thesis at. +% \end{macrocode} +% \fi +% \begin{macrocode} + \chair{Chair IX (Virtual Research)\\ + Department of Computer Science\\ + TU Dortmund} +% \end{macrocode} +% +% The data provided by the above macros is now used to set the +% title page. This is done with the macro +% \describemacro{\maketitle}\cmd{\maketitle} +% \iffalse +% \begin{macrocode} + % + % The data provided by the above macros is now used to set the title page. + % This is done with the macro \maketitle. +% \end{macrocode} +% \fi +% \begin{macrocode} + \maketitle +% \end{macrocode} +% So after the title page is set your thesis may begin: +% \iffalse +% \begin{macrocode} + % + % So after the title page is set your thesis may begin: +% \end{macrocode} +% \fi +% \begin{macrocode} + \mainmatter +% \end{macrocode} +% \ldots\\^^A +% \ldots\space{\tiny(Sorry, but I won't write your thesis. I've +% had trouble enough with my own one\ldots\winkey)}\\^^A +% \ldots +% \begin{macrocode} + Now here comes your text. +% \end{macrocode} +% +% Now our minimal document is ready. +% \begin{macrocode} +\end{document} +% +% \end{macrocode} +% +% Have fun using \package{\filename}. +% +%^^A ================================================================= +%^^A Auxiliary file for the example that contains the logos +%^^A ================================================================= +% \subsection{Logos} +% \label{subsec:examplelogos} +% +% Here is a auxiliary \describefile{exampleaux.tex} file that its +% used by the example. It contains the logos. We use the +% \env{filecontents*}~environment to provide the \mbox{PostScript}- +% and \mbox{PDF}-Code of three dummy logos used by the example. +% The original logos should be available at your chair, contact +% your supervisor or system administrator. +% +% \begin{macrocode} +%<*exampleaux> +\begin{filecontents*}{tulogo.eps} +% \end{macrocode} +%\begin{small}\begin{verbatim} +% (Here comes some EPS-code for a provisional logo of the university.) +%\end{verbatim}\end{small} +% \iffalse + %!PS-Adobe-3.0 EPSF-3.0 +%%BoundingBox: 0 0 75 68 +%%Creator: Andre Dierker +%%CreationDate: 2002/09/25 +%%DocumentData: Clean7Bit +%%For: Example for fbithesis +%%Title: TU Logo +%%Version: 1.0 1 +(Times-Roman) findfont 50 scalefont setfont +0 33 moveto (TU) show +(Times-Roman) findfont 35 scalefont setfont +0 8 moveto (Logo) show showpage +%%EOF +% \fi +% \begin{macrocode} +\end{filecontents*} +\begin{filecontents*}{tulogo.pdf} +% \end{macrocode} +%\begin{small}\begin{verbatim} +% (Here comes some PDF-code for the university logo above.) +%\end{verbatim}\end{small} +% \iffalse + %PDF-1.3 +7 0 obj +<> +stream +0.1 0 0 0.1 0 0 cm +q +q 10 0 0 10 0 0 cm BT +/R5 50 Tf +1 0 0 1 0 33 Tm +(Uni)Tj +/R5 35 Tf +0 -25 Td +(Logo)Tj +ET Q +Q +endstream +endobj +8 0 obj +112 +endobj +9 0 obj +<> +endobj +6 0 obj +<> +/Contents 7 0 R +>> +endobj +3 0 obj +<< /Type /Pages /Kids [ +6 0 R +] /Count 1 +>> +endobj +1 0 obj +<> +endobj +5 0 obj +<> +endobj +4 0 obj +<> +endobj +2 0 obj +<>endobj +xref +0 10 +0000000000 65535 f +0000000414 00000 n +0000000596 00000 n +0000000355 00000 n +0000000535 00000 n +0000000462 00000 n +0000000225 00000 n +0000000015 00000 n +0000000177 00000 n +0000000196 00000 n +trailer +<< /Size 10 /Root 1 0 R /Info 2 0 R +>> +startxref +652 +%%EOF +% \fi +% \begin{macrocode} +\end{filecontents*} +% \end{macrocode} +% \begin{macrocode} +\begin{filecontents*}{ls9logo.eps} +% \end{macrocode} +%\begin{small}\begin{verbatim} +% (Some more EPS-code for an exemplary logo of a hypothetical chair.) +%\end{verbatim}\end{small} +% \iffalse + %!PS-Adobe-3.0 EPSF-3.0 +%%BoundingBox: 0 0 107 70 +%%Creator: Andre Dierker +%%CreationDate: 2002/09/25 +%%DocumentData: Clean7Bit +%%For: Example for fbithesis +%%Title: LS9 Logo +%%Version: 1.0 1 +(Times-Roman) findfont 100 scalefont setfont +0 2 moveto (L9) show +(Times-Roman) findfont 65 scalefont setfont +28 23 moveto (S) show showpage +%%EOF +% \fi +% \begin{macrocode} +\end{filecontents*} +\begin{filecontents*}{ls9logo.pdf} +% \end{macrocode} +%\begin{small}\begin{verbatim} +% (Here comes some PDF-code for the +% corresponding PDF-Version of the chair logo above.) +%\end{verbatim}\end{small} +% \iffalse + %PDF-1.3 +7 0 obj +<> +stream +0.1 0 0 0.1 0 0 cm +q +q 10 0 0 10 0 0 cm BT +/R5 100 Tf +1 0 0 1 0 2 Tm +(L9)Tj +/R5 65 Tf +28 21 Td +(S)Tj +ET Q +Q +endstream +endobj +8 0 obj +108 +endobj +9 0 obj +<> +endobj +6 0 obj +<> +/Contents 7 0 R +>> +endobj +3 0 obj +<< /Type /Pages /Kids [ +6 0 R +] /Count 1 +>> +endobj +1 0 obj +<> +endobj +5 0 obj +<> +endobj +4 0 obj +<> +endobj +2 0 obj +<>endobj +xref +0 10 +0000000000 65535 f +0000000411 00000 n +0000000593 00000 n +0000000352 00000 n +0000000532 00000 n +0000000459 00000 n +0000000221 00000 n +0000000015 00000 n +0000000173 00000 n +0000000192 00000 n +trailer +<< /Size 10 /Root 1 0 R /Info 2 0 R +>> +startxref +649 +%%EOF +% \fi +% \begin{macrocode} +\end{filecontents*} +% \end{macrocode} +% \begin{macrocode} +\begin{filecontents*}{thesislogo.eps} +% \end{macrocode} +%\begin{small}\begin{verbatim} +% (Even more EPS-code for a dummy thesis-specific logo.) +%\end{verbatim}\end{small} +% \iffalse + %!PS-Adobe-3.0 EPSF-3.0 +%%BoundingBox: 0 0 90 68 +%%Creator: Andre Dierker +%%CreationDate: 2002/10/19 +%%DocumentData: Clean7Bit +%%For: Example for fbithesis +%%Title: Thesis Logo +%%Version: 1.0 1 +(Times-Roman) findfont 58 scalefont setfont +0 28 moveto (FBI) show +(Times-Roman) findfont 35 scalefont setfont +0 1 moveto (Thesis) show showpage +%%EOF +% \fi +% \begin{macrocode} +\end{filecontents*} +\begin{filecontents*}{thesislogo.pdf} +% \end{macrocode} +%\begin{small}\begin{verbatim} +% (Here comes the PDF-code of the thesis-specific logo above.) +%\end{verbatim}\end{small} +% \iffalse + %PDF-1.3 +7 0 obj +<> +stream +0.1 0 0 0.1 0 0 cm +q +q 10 0 0 10 0 0 cm BT +/R5 58 Tf +1 0 0 1 0 28 Tm +(FBI)Tj +/R5 35 Tf +0 -27 Td +(Thesis)Tj +ET Q +Q +endstream +endobj +8 0 obj +114 +endobj +9 0 obj +<> +endobj +6 0 obj +<> +/Contents 7 0 R +>> +endobj +3 0 obj +<< /Type /Pages /Kids [ +6 0 R +] /Count 1 +>> +endobj +1 0 obj +<> +endobj +5 0 obj +<> +endobj +4 0 obj +<> +endobj +2 0 obj +<>endobj +xref +0 10 +0000000000 65535 f +0000000416 00000 n +0000000598 00000 n +0000000357 00000 n +0000000537 00000 n +0000000464 00000 n +0000000227 00000 n +0000000015 00000 n +0000000179 00000 n +0000000198 00000 n +trailer +<< /Size 10 /Root 1 0 R /Info 2 0 R +>> +startxref +654 +%%EOF +% \fi +% \begin{macrocode} +\end{filecontents*} +% +% \end{macrocode} +% \end{documentation} +% +% \begin{documentation}{Small print} +% \changes{v0.4b}{2002/04/05}{new} +% \changes{v0.8a}{2002/12/16}{changed (LPPL removal)} +% \changes{v1.2h}{2006/08/30}{suppress page break} +%^^A ================================================================= +%^^A We insert the `small print' here. +%^^A ================================================================= +% \vfill +% \noindent\begin{minipage}{\textwidth} +% \setlength{\parindent}{10pt} +% \mbox{}\hfill +% \scriptsize\package{\filename} is Copyright +% \copyright\ 2002-2011 by Andre Dierker +% \vspace{2em} +% +% There is no warranty for the \package{\filename}~package. I +% provide \package{\filename} `as is', without warranty of any +% kind, either expressed or implied, including, but not limited to, +% the implied warranties of merchantability and fitness for a +% particular purpose. The entire risk as to the quality and +% performance of \package{\filename} is with you. Should +% \package{\filename} prove defective, you assume the cost of all +% necessary servicing, repair, or correction. +% +% The \package{\filename}~package may be distributed and/or +% modified under the conditions of the \LaTeX\ Project Public +% License (see \cite{latex3-project:lppl}), either version 1.3 +% of this license or (at your option) any later version. +% +% The latest version of this license is in +% \url{http://www.latex-project.org/lppl.txt} and version 1.3 or +% later is part of all distributions of \LaTeX\ version 2005/12/01 +% or later. +% +% The \package{\filename}~package has the LPPL maintenance status +% ``author-maintained''. +% +% The Current Maintainer of this package is Andre Dierker. +% +% The \package{\filename}~package consists of all files +% listed in \file{README} +% \end{minipage} +% \par\newpage +% \end{documentation} +% +%^^A ================================================================= +%^^A The `user' documentation ends here, or strictly speaking: it +%^^A ends after the following stuff (the argument of +%^^A \StopEventually). In case of the `user' docu it will be +%^^A appended here, in case of the `programmer' docu it will be +%^^A delayed and inserted below at \Finale +%^^A ================================================================= +% \StopEventually{ +% +% \begin{documentation}{References} +% \changes{v0.4a}{2002/04/04}{new} +% \changes{v0.5j}{2002/09/21}{added more} +% \changes{v0.6d}{2002/10/19}{added \file{ltclass}} +% \changes{v0.7e}{2002/11/26}{added \package{tracking.sty} and \TeX +% book} +% \changes{v0.7i}{2002/12/14}{updated} +% \changes{v0.8f}{2003/01/03}{updated} +% \changes{v1.1b}{2003/01/30}{updated} +% \changes{v1.1c}{2003/02/07}{added \ams-stuff} +% \changes{v1.1f}{2003/03/20}{added \package{graphics}} +% \changes{v1.2d}{2005/12/14}{updated} +%^^A ================================================================= +%^^A We can't get enough! Of course we also want a +%^^A bibliography ;-) +%^^A ================================================================= +% \addcontentsline{toc}{section}{References} +% +% \begin{thebibliography}{10} +% +% \bibitem{ams:amsclass} {American Mathematical Society}. \newblock The +% {amsart}, {amsproc}, and {amsbook} document classes. \newblock +% \ctanurl{macros/\B latex/\B required/\B amslatex/\B classes/\B +% amsclass.dtx}, August 2004. +% +% \bibitem{ams:instr} {American Mathematical Society} and Michael +% Downes. \newblock {\ams}-{\LaTeX}: Instructions for preparation of +% paper and monographs. \newblock \ctanurl{macros/\B latex/\B +% required/\B amslatex/\B classes/\B instr-l.tex}, December 1999. +% +% \bibitem{ltx2e:ltsect} Johannes Braams, David~P. Carlisle, Alan +% Jeffrey, Leslie Lamport, Frank Mittelbach, Chris Rowley, Tobias +% Oetiker, and Rainer Sch\"{o}pf. \newblock ltsect.dtx. \newblock +% \ctanurl{macros/\B latex/\B base/\B ltsect.dtx}, December 1996. +% +% \bibitem{ltx2e:ltfloat} Johannes Braams, David~P. Carlisle, Alan +% Jeffrey, Leslie Lamport, Frank Mittelbach, Chris Rowley, and Rainer +% Sch\"{o}pf. \newblock ltfloat.dtx. \newblock \ctanurl{macros/\B +% latex/\B base/\B ltfloat.dtx}, October 2002. +% +% \bibitem{carlisle:graphics} David~P. Carlisle. \newblock Packages in +% the `graphics' bundle. \newblock \ctanurl{macros/\B latex/\B +% required/\B graphics/\B grfguide.tex}, January 1999. +% +% \bibitem{ltx2e:ltboxes} David~P. Carlisle, Leslie Lamport, Frank +% Mittelbach, and Chris Rowley. \newblock ltboxes.dtx. \newblock +% \ctanurl{macros/\B latex/\B base/\B ltboxes.dtx}, April 1999. +% +% \bibitem{ltx2e:graphics} David~P. Carlisle and Sebastian P.~Q. Rahtz. +% \newblock The graphics package. \newblock \ctanurl{macros/\B +% latex/\B required/\B graphics/\B graphics.dtx}, July 2001. +% +% \bibitem{glazkov:tracking} D.~A. Glazkov. \newblock tracking.sty. +% \newblock \ctanurl{macros/\B latex/\B contrib/\B supported/\B +% tracking/\B tracking.sty}, March 1996. +% +% \bibitem{knuth:1986:texbook} Donald~Erwin Knuth. \newblock {\em The +% {\TeX}book}. \newblock Computers \& +% typesetting. Ad{\-d}i{\-s}on-Wes{\-l}ey, Reading, MA, USA, 1986. +% +% \bibitem{kohm:komabuch} Markus Kohm and Jens-Uwe Morawski. \newblock +% {\em {\koma}: Eine Sammlung von Klassen und Paketen f\"{u}r +% {\LaTeX}}. \newblock Edition dante. Lehmanns Fachbuchhandlung, +% 2., \"{u}berarbeitete und erweitere auflage edition, January 2006. +% +% \bibitem{lamport:classes} Leslie Lamport, Frank Mittelbach, and +% Johannes Braams. \newblock Standard document classes for {\LaTeX} +% version 2e. \newblock \ctanurl{macros/\B latex/\B base/\B +% classes.dtx}, February 2004. +% +% \bibitem{mittelbach:docstrip} Frank Mittelbach, Denys Duchier, +% Johannes Braams, Marcin Woli{\'{n}}ski, and Mark Wooding. \newblock +% The {DocStrip} program. \newblock \ctanurl{macros/\B latex/\B +% base/\B docstrip.dtx}, March 1999. +% +% \bibitem{ltx2e:ltclass} Frank Mittelbach, Chris Rowley, Alan Jeffrey, +% and David~P. Carlisle. \newblock The main structure of documents. +% \newblock \ctanurl{macros/\B latex/\B base/\B ltclass.dtx}, August +% 2001. +% +% \bibitem{neukam:scrclass} Frank Neukam and Markus Kohm. \newblock Die +% {Haupt}-classes und -packages des {\koma} {P}akets. \newblock +% \ctan: \url{macros/\B latex/\B contrib/\B supported/\B +% koma-script/\B scrclass.dtx}, August 2005. +% +% \bibitem{twgtds:tds} {TUG} Working~Group on~a {\TeX} Directory +% Structure ({TWG}-{\tds}). \newblock A directory structure for +% {\TeX} files. \newblock \ctanurl{tds/\B tds.pdf}, April 1999. +% +% \bibitem{latex3-project:lppl} The~{\LaTeX3} Project. \newblock The +% {\LaTeX} {P}roject {P}ublic {L}icense. \newblock URL: \url{http:/\B +% /\B www.latex-project.org/\B lppl.txt}, October 2004. +% +% \end{thebibliography} +% +% %\bibliography{fbithesis} +% %\bibliographystyle{plain} +% \end{documentation} +% +%^^A ================================================================= +%^^A By default we'll build the `user' docu, that is: without an +%^^A index. But if the user made an index we should include it. +%^^A ================================================================= +% \PrintIndex +% +%^^A ================================================================= +%^^A Same as with the index above: if the user has specified +%^^A `RecordChanges' in her `ltxdoc.cfg', we should print the +%^^A changes here. +%^^A ================================================================= +% \sloppy\PrintChanges +% +%^^A ================================================================= +%^^A Make sure that the index and the changes are not printed twice +%^^A since ltxdoc.cfg might have a second \PrintIndex or +%^^A \PrintChanges command. (See everysel.dtx by Martin Schr\"oder) +%^^A ================================================================= +% \let\PrintChanges=\relax +% \let\PrintIndex=\relax +% +%^^A ================================================================= +%^^A End the multicols-environment in the table of contents +%^^A ================================================================= +% \ifmulticols +% \addtocontents{toc}{\protect\end{multicols}} +% \fi +% +% } ^^A end of \StopEventually +% +% \changes{v0.7d}{2002/11/25}{Implementation: `@'-disclaimer} +% \changes{v0.8a}{2002/12/16}{Implementation: changed (LPPL +% removal)} +% \changes{v1.1i}{2003/06/30}{whole code: changed all +% \cmd{\fbi@}\meta{command} to \cs{}\meta{command}|@fbi| to avoid +% clustering} +% \changes{v1.1k}{2003/07/28}{whole code: changed all +% \cs{}\meta{command}|@fbi| back to \cs{fbi@}\meta{command}} +% \changes{v1.1n}{2003/10/08}{whole code: schematized names of +% internal macros} +%^^A ================================================================= +%^^A The following will only be included into the `programmer' docu +%^^A We follow the structure suggested in [Kopka: `LateX', Vol. 3, +%^^A section 2.5] +%^^A ================================================================= +% \section{Implementation} +% \label{sec:implement} +% +% \describefile{\filename.cls}\emph{Please note:} The macros +% containing a `@' are internal commands. They do \emph{not} +% belong to the user interface and should not be called directly by +% the end user! You may get unpredictable results if you don't +% know what you are doing. Internal macros may be changed by me +% without announcement or warning, so be careful. Use them at your +% own risk if you cannot resist\ldots +% +%^^A ================================================================= +%^^A Initial initialization +%^^A ================================================================= +% \subsection{Initialization} +% \label{subsec:init} +% +% \begin{length}{\fbi@skip@v} +% \begin{length}{\fbi@skip@h} +% This initializes two registers that hold the accumulated +% horizontal and vertical translation of the print space +% (especially of the title page). +% \changes{v0.1a}{2001/09/16}{implemented} +% \changes{v0.8b}{2002/12/20}{adjustment re-implemented} +% \begin{macrocode} +%<*package> +\newlength{\fbi@skip@v}% +\newlength{\fbi@skip@h}% +% \end{macrocode} +% \end{length} +% \end{length} +% +% \begin{counter}{\fbi@tempcnta} +% \begin{counter}{\fbi@tempcntb} +% For various issues we need some counters. +% \changes{v1.2e}{2006/01/20}{new} +% \begin{macrocode} +\newcount\fbi@tempcnta% +\newcount\fbi@tempcntb% +% \end{macrocode} +% \end{counter} +% \end{counter} +% +% \begin{switch}{fbi@draft} +% This initializes \cmd{\iffbi@draft}. If \cmd{\iffbi@draft} is +% true, a frame is made around the window in the cover page and +% some marks are shown that make it easy to check the placement of +% the title page. This can be controlled by the options +% \describeoption{draft}\describeoption{final}^^A \Lopt{draft} and +% \Lopt{final} (see subsection \ref{subsec:optiondeclare}). +% \changes{v0.3d}{2002/04/03}{new (\Lopt{draft} revision)} +% \begin{macrocode} +\newif\iffbi@draft% +% \end{macrocode} +% \end{switch} +% +% \begin{switch}{fbi@decor} +% This initializes \cmd{\iffbi@decor}. If \cmd{\iffbi@decor} is +% true, the `decoration' of the cover page (the text above and +% below the window and the address of the university) is shown. +% This can be controlled by the options +% \describeoption{decor}\describeoption{nodecor}^^A +% \Lopt{decor} and \Lopt{nodecor} (see subsection +% \ref{subsec:optiondeclare}). +% \changes{v1.2e}{2006/01/03}{new} +% \begin{macrocode} +\newif\iffbi@decor% +% \end{macrocode} +% \end{switch} +% +% \begin{switch}{fbi@declaration} +% This initializes \cmd{\iffbi@declaration}. If +% \cmd{\iffbi@declaration} is true, the declaration is shown. This +% can be controlled by the options +% \describeoption{delcaration}\describeoption{nodeclaration}^^A +% \Lopt{declaration} and \Lopt{nodeclaration} (see subsection +% \ref{subsec:optiondeclare}). +% \changes{v1.2e}{2006/01/05}{new} +% \begin{macrocode} +\newif\iffbi@declaration% +% \end{macrocode} +% \end{switch} +% +% \begin{switch}{fbi@base@ams} +% \begin{switch}{fbi@base@koma} +% This initializes \cmd{\iffbi@base@ams} and \cmd{\iffbi@base@koma}. +% Sometimes we have to do different things, depending on the +% choosen baseclass. With these switches we can easily distinguish +% between different baseclasses. +% \changes{v1.1c}{2003/02/07}{new} +% \begin{macrocode} +\newif\iffbi@base@ams% +\newif\iffbi@base@koma% +% \end{macrocode} +% \end{switch} +% \end{switch} +% +% \begin{macro}{\baseclass} +% By default \package{scrbook} is used as \emph{baseclass}. You may +% change this behavior by +% defining \cmd{\baseclass} to the class of your choice. +% \emph{\textbf{Important:} this has to be done \textbf{before} the +% \cmd{\documentclass}~command!} (See the example in section +% \ref{sec:example}) +% \changes{v0.4d}{2002/04/07}{new (\cmd{\baseclass} stuff)} +% \changes{v0.4f}{2002/07/05}{definition changed} +% \begin{macrocode} +\providecommand*{\baseclass}{scrbook}% +% \end{macrocode} +% \end{macro} +% +% \changes{v0.6d}{2002/10/19}{Hooks: new} +% \changes{v1.1o}{2004/03/21}{Font 'n Hooks: Fonts} +%^^A ================================================================= +%^^A We define all fonts here, used in fbithesis. +%^^A We use \AtEndDocument to inform the user about the bug. +%^^A ================================================================= +% \subsection{Fonts and Hooks} +% \label{subsec:hooks} +% +% We do not use fixed fonts on the title page but variables, that +% could be changed by the user. For each element on the title page +% one variable is defined. +% +% \begin{macro}{\fbi@font@author} +% We use \cmd{\Large} as the default fontsize for the author. +% \changes{v1.1p}{2004/03/21}{new} +% \begin{macrocode} +\newcommand*{\fbi@font@author}{\Large} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\fbi@font@title} +% The title is set in size \cmd{\LARGE} and boldface. +% \changes{v1.1p}{2004/03/21}{new} +% \begin{macrocode} +\newcommand*{\fbi@font@title}{\LARGE\bfseries} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\fbi@font@subject} +% \begin{macro}{\fbi@font@date} +% For subject and date the fontsize \cmd{\large} is used by +% default. +% \changes{v1.1p}{2004/03/21}{new} +% \begin{macrocode} +\newcommand*{\fbi@font@subject}{\large} +\newcommand*{\fbi@font@date}{\large} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\fbi@font@thanks} +% We use \cmd{\scriptsize} for the thanks-information. +% \changes{v1.1p}{2004/03/21}{new} +% \begin{macrocode} +\newcommand*{\fbi@font@thanks}{\scriptsize} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\fbi@font@chair} +% \begin{macro}{\fbi@font@super} +% The dates according supervisors and chair are set in +% the normal fontsize. +% \changes{v1.1p}{2004/03/21}{new} +% \begin{macrocode} +\newcommand*{\fbi@font@chair}{\normalsize} +\newcommand*{\fbi@font@super}{\normalsize} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% +% As already said in subsection \ref{subsec:bugs} (page +% \pageref{subsec:bugs}), there is a bug +% in \package{\filename} so that every \cmd{\footnote}~command in +% the document is ignored if the \cmd{\maketitle} is left out. +% Because there is no known solution at this time, we have to +% inform the user about the bug. We use the +% \cmd{\AtEndDocument}~hook, provided by the \LaTeX-Kernel (see +% \cite{ltx2e:ltclass}). If we are at the end of the document +% and \cmd{\fbi@cleanup} wasn't called, there was no +% \cmd{\maketitle} in the document and an error is thrown: +% \changes{v0.7d}{2002/11/25}{Hooks: made it an error} +% \changes{v1.1p}{2004/12/22}{Hooks: use \cmd{\footnote}/ +% \cmd{old@footnote}} +% \begin{macrocode} +\AtEndDocument{% + \ifx\footnote\@oldfootnote + \else% + \ClassError{fbithesis}{No \protect\maketitle\space found. Due to a + bug in `fbithesis'\MessageBreak every \protect\footnote -command + is ignored}{Type to proceed, but please note: all + \protect\footnote -commands in the\MessageBreak document have + been ignored. See `Known Bugs'\MessageBreak in the documentation + of the class for further info.}% + \fi% +}% +% \end{macrocode} +% +%^^A ================================================================= +%^^A Declaration of the options we want to provide +%^^A ================================================================= +% \subsection{Option Declaration} +% \label{subsec:optiondeclare} +% +% \begin{option}{draft} +% With the \Lopt{draft}~option we generate +% some marks that help checking the placement of the title page. +% See the command \cmd{\fbi@place@marks} for the implementation. +% \changes{v0.2b}{2002/10/11}{new} +% \changes{v0.3d}{2002/04/03}{revision} +% \changes{v0.5f}{2002/09/04}{pass to \emph{baseclass}} +% \changes{v0.5j}{2002/09/21}{simplified (\env{picture} stuff)} +% \changes{v1.1o}{2003/12/03}{Feedback} +% \begin{macrocode} +\DeclareOption{draft}{% + \fbi@drafttrue% + \PassOptionsToClass{draft}{\baseclass} + \ClassInfo{fbithesis}{Option `draft' choosen} +}% +% \end{macrocode} +% \end{option} +% +% \begin{option}{final} +% With the \Lopt{final}~option (the default) +% no marks are shown. +% \changes{v0.2b}{2001/10/11}{new} +% \changes{v0.3d}{2002/04/03}{\Lopt{draft} revision} +% \changes{v1.1o}{2003/12/03}{Feedback} +% \begin{macrocode} +\DeclareOption{final}{% + \fbi@draftfalse% + \ClassInfo{fbithesis}{Option `final' choosen} +}% +% \end{macrocode} +% \end{option} +% +% \begin{option}{german} +% By using the \cmd{\supervisors}~command these can be added to the +% title page. With the \Lopt{german}~option +% (the default) they are captioned by `Gutachter'. +% \changes{v0.6a}{2002/09/23}{new (internationalization)} +% \changes{v1.1o}{2003/12/03}{Feedback} +% \changes{v1.2d}{2005/12/22}{Renamed \cmd{\fbi@str@supervisors} +% with \cmd{\fb@text@supervisors}} +% \begin{macrocode} +\DeclareOption{german}{% + \gdef\fbi@text@supervisors{Gutachter:}% + \gdef\fbi@text@placendate{Ort, Datum}% + \gdef\fbi@text@name{Unterschrift}% + \ClassInfo{fbithesis}{Option `german' choosen} +}% +% \end{macrocode} +% \end{option} +% +% \begin{option}{ngerman} +% The class option \Lopt{ngerman} is just a +% synonym for \Lopt{german} (see above). Since the +% class- (or global-) options are passed to the (by +% \cmd{usepackage}) imported styles the synonym can make things +% easier: you don't have to specify the optional argument with +% language-specific packages (see section \ref{subsec:options} on page +% \pageref{subsec:options}f). +% \NEWfeature{2003/06/30 v1.1i} +% \changes{v1.1i}{2003/06/30}{new} +% \changes{v1.1o}{2003/12/03}{Feedback} +% \changes{v1.2d}{2005/12/22}{Renamed \cmd{\fbi@str@supervisors} +% with \cmd{\fb@text@supervisors}} +% \begin{macrocode} +\DeclareOption{ngerman}{% + \gdef\fbi@text@supervisors{Gutachter:}% + \gdef\fbi@text@placendate{Ort, Datum}% + \gdef\fbi@text@name{Unterschrift}% + \ClassInfo{fbithesis}{Option `ngerman' choosen} +}% +% \end{macrocode} +% \end{option} +% +% \begin{option}{english} +% Some folks want to write their thesis in English. The German +% `Gutachter' would spoil the effect. So with the +% \Lopt{english}~option this is replaced by +% `Supervisors'. +% \changes{v0.6a}{2002/09/23}{new (internationalization)} +% \changes{v1.1o}{2003/12/03}{Feedback} +% \changes{v1.2d}{2005/12/22}{Renamed \cmd{\fbi@str@supervisors} +% with \cmd{\fb@text@supervisors}} +% \begin{macrocode} +\DeclareOption{english}{% + \gdef\fbi@text@supervisors{Supervisors:}% + \gdef\fbi@text@placendate{Place, Date}% + \gdef\fbi@text@name{Signature}% + \ClassInfo{fbithesis}{Option `english' choosen} +}% +% \end{macrocode} +% \end{option} +% +% \begin{option}{american} +% Again \Lopt{american} is just a synonym +% for \Lopt{english} (see above). +% \NEWfeature{2003/06/30 v1.1i} +% \changes{v1.1i}{2003/06/30}{new} +% \changes{v1.1o}{2003/12/03}{Feedback} +% \changes{v1.2d}{2005/12/22}{Renamed \cmd{\fbi@str@supervisors} +% with \cmd{\fb@text@supervisors}} +% \begin{macrocode} +\DeclareOption{american}{% + \gdef\fbi@text@supervisors{Supervisors:}% + \gdef\fbi@text@placendate{Place, Date}% + \gdef\fbi@text@name{Signature}% + \ClassInfo{fbithesis}{Option `american' choosen} +}% +% \end{macrocode} +% \end{option} +% +% \begin{option}{decor} +% It is possible, to show the strings \qm{TECHNISCHE +% UNIVERSIT\"{A}T DORTMUND} and \qm{FAKULTÄT FÜR INFORMATIK} above +% and \qm{INTERNE BERICHTE} and \qm{INTERNAL REPORTS} below the +% cardboard window. +% +% With the \Lopt{decor}~option the strings are shown. If you prefer +% to not show the strings see option \Lopt{nodecor} below. +% \NEWfeature{2005/12/22 v1.2d} +% \changes{v1.2d}{2005/12/22}{new} +% \begin{macrocode} +\DeclareOption{decor}{% +% \end{macrocode} +% \begin{macrocode} + \fbi@decortrue% + \ClassInfo{fbithesis}{Option `decor' choosen} +}% +% \end{macrocode} +% \end{option} +% +% \begin{option}{nodecor} +% It is possible, to show the strings \qm{TECHNISCHE +% UNIVERSIT\"{A}T DORTMUND} and \qm{FAKULTÄT FÜR INFORMATIK} above +% and \qm{INTERNE BERICHTE} and \qm{INTERNAL REPORTS} below the +% cardboard window. +% +% With the \Lopt{nodecor}~option the strings are \emph{not} shown. +% Use the \Lopt{decor}~option (see above) to show the strings. +% \NEWfeature{2005/12/22 v1.2d} +% \changes{v1.2d}{2005/12/22}{new} +% \begin{macrocode} +\DeclareOption{nodecor}{% + \fbi@decorfalse% + \ClassInfo{fbithesis}{Option `nodecor' choosen} +}% +% \end{macrocode} +% \end{option} +% +% \begin{option}{declaration} +% \changes{v1.2e}{2006/01/05}{new} +% \begin{macrocode} +\DeclareOption{declaration}{% +% \end{macrocode} +% \begin{macrocode} + \fbi@declarationtrue% + \ClassInfo{fbithesis}{Option `declaration' choosen} +}% +% \end{macrocode} +% \end{option} +% +% \begin{option}{nodeclaration} +% \changes{v1.2e}{2006/01/05}{new} +% \begin{macrocode} +\DeclareOption{nodeclaration}{% + \fbi@declarationfalse% + \ClassInfo{fbithesis}{Option `nodeclaration' choosen} +}% +% \end{macrocode} +% \end{option} +% +% \begin{option}{a4paper} +% The default layout for a4paper is defined. There are up to four +% different values for an element: the vertical and horizontal +% position of the element and its vertical and horizontal size. +% Some of the elements share values. For example the horizontal +% size of the window is equal to the one of windowhead and +% windowfoot. +% \NEWfeature{2003/10/08 v1.1n} +% +% The values for the horizontal and vertical position of an element +% specify the left lower egde of it. +% +% As the number of dimen-registers is limited in \TeX we use macros +% to store the coordinates of the elements. The used unit for all +% values is `cm'. +% \changes{v1.1g}{2003/03/27}{Layout: definition} +% \changes{v1.1j}{2003/07/03}{Layout: definition +% changed to macros} +% \changes{v1.1n}{2003/10/08}{new} +% \begin{macrocode} +\DeclareOption{a4paper}{% +% \end{macrocode} +% \begin{macro}{\fbi@size@h@paper} +% Horizontal size of the whole sheet of paper. +% \begin{macrocode} + \newcommand{\fbi@size@h@paper}{21} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fbi@size@v@paper} +% Vertical size of the whole sheet of paper. +% \begin{macrocode} + \newcommand{\fbi@size@v@paper}{29.7} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fbi@pos@h@} +% Horizontal position of the window, its head, its foot and the +% chair data. +% \begin{macrocode} + \newcommand{\fbi@pos@h@}{2.9} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fbi@pos@h@square} +% Horizontal position of the black square. +% \begin{macrocode} + \newcommand{\fbi@pos@h@square}{1.6} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fbi@size@h@square} +% Horizontal size of the black square. Since it is a square, the +% vertical size is equal to this. +% \begin{macrocode} + \newcommand{\fbi@size@h@square}{0.55} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fbi@pos@h@address} +% Horizontal position of the address line. +% \begin{macrocode} + \newcommand{\fbi@pos@h@address}{12} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fbi@pos@v@windowhead} +% Vertical position of the windowhead. +% \begin{macrocode} + \newcommand{\fbi@pos@v@windowhead}{25.65} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fbi@size@v@windowhead} +% Vertical size of the windowhead. The value is also used by the +% tulogo. +% \begin{macrocode} + \newcommand{\fbi@size@v@windowhead}{1.45} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fbi@pos@v@window} +% Vertical position of the window in the cardboard. +% \begin{macrocode} + \newcommand{\fbi@pos@v@window}{15.4} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fbi@pos@v@windowfoot} +% Verticla position of the windowfoot. +% \begin{macrocode} + \newcommand{\fbi@pos@v@windowfoot}{12.75} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fbi@size@v@windowfoot} +% Vertical size of the windowfoot. +% \begin{macrocode} + \newcommand{\fbi@size@v@windowfoot}{1.4} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fbi@size@h@window} +% Horizontal size of the window in the cardboard. +% \begin{macrocode} + \newcommand{\fbi@size@h@window}{9.2} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fbi@size@v@window} +% Vertical size of the window in the cardboard. +% \begin{macrocode} + \newcommand{\fbi@size@v@window}{9.1} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fbi@pos@v@address} +% Vertical position of the address. +% \begin{macrocode} + \newcommand{\fbi@pos@v@address}{3.73} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fbi@pos@v@addresshead} +% Vertical position of the line above the address. +% \begin{macrocode} + \newcommand{\fbi@pos@v@addresshead}{4.35} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fbi@pos@v@addressfoot} +% Vertical position of the line below the address. +% \begin{macrocode} + \newcommand{\fbi@pos@v@addressfoot}{3.5} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fbi@size@h@address} +% Horizontal size of the address line. +% \begin{macrocode} + \newcommand{\fbi@size@h@address}{8.3} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fbi@size@v@address} +% Vertical size of the address line. +% \begin{macrocode} + \newcommand{\fbi@size@v@address}{0.45} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fbi@pos@v@chair} +% Vertical position of the chair data. The value is also used by +% the chairlogo. +% \begin{macrocode} + \newcommand{\fbi@pos@v@chair}{6.8} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fbi@size@v@chair} +% Vertical size of the chair data. The value is alos used by +% the chairlogo. +% \begin{macrocode} + \newcommand{\fbi@size@v@chair}{3.2} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fbi@pos@h@logo} +% Horizontal position of the logos. At the time the logos are +% flush right, so their actual position may differ form this value. +% \begin{macrocode} + \newcommand{\fbi@pos@h@logo}{13} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fbi@size@h@logo} +% Horizontal size of the logos. Since the logos aren't streched to +% this value, the may be free space. +% \begin{macrocode} + \newcommand{\fbi@size@h@logo}{7.2} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fbi@pos@v@scale} +% Vertical position of the horizontal scales on the left and on the +% right. +% \begin{macrocode} + \newcommand{\fbi@pos@v@scale}{14.85} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fbi@size@h@scale} +% The size between the two horizontal scales on the left and +% on the right. +% \begin{macrocode} + \newcommand{\fbi@size@h@scale}{19} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fbi@pos@h@scale} +% Horizontal position of the vertical scales at the top and at the +% bottom of the paper. +% \begin{macrocode} + \newcommand{\fbi@pos@h@scale}{10.5} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fbi@size@v@scale} +% The size between the vertical scales at the top and at the +% bottom of the paper. +% \begin{macrocode} + \newcommand{\fbi@size@v@scale}{27.7} +% \end{macrocode} +% \end{macro} +% \changes{v1.1o}{2003/12/03}{Feedback} +% \begin{macrocode} + \ClassInfo{fbithesis}{Option `a4paper' choosen} +}% +% \end{macrocode} +% \end{option} +% +% To use the cardboard cover page, the document has to be in the +% format \describeoption{a4paper}\mbox{DIN-A4}. Additionally the +% \package{\filename}~package does only make sense, if an explicit +% \describeoption{titlepage}title page is generated. So we pass +% these essential options to the baseclass. +% \changes{v1.1d}{2003/02/17}{Options: request +% \Lopt{a4paper} and \Lopt{titlepage}} +% \begin{macrocode} +\PassOptionsToClass{a4paper,titlepage}{\baseclass} +% \end{macrocode} +% +% \begin{option}{*} +% All other options are passed to the \emph{baseclass}. The user +% can choose the \emph{baseclass} by defining the macro +% \cmd{\baseclass} to her favorite document class (see subsection +% \ref{subsec:load} on page \pageref{subsec:load}). +% \changes{v0.3d}{2002/04/03}{new (class-changes)} +% \changes{v0.4d}{2002/04/07}{\cmd{\baseclass} stuff} +% \changes{v1.1o}{2003/12/03}{Feedback} +% \begin{macrocode} +\DeclareOption*{% + \PassOptionsToClass{\CurrentOption}{\baseclass} + \ClassInfo{fbithesis}{Option `\CurrentOption' choosen} +}% +% \end{macrocode} +% \end{option} +% +%^^A ================================================================= +%^^A Process options +%^^A ================================================================= +% \subsection{Option Processing} +% \label{subsec:optionproc} +% +% If no options are given we assume +% \describeoption{ngerman}\Lopt{ngerman}, show the strings with +% \describeoption{decor}\Lopt{decor} and do the +% \describeoption{final}\Lopt{final}~mode by default. This means +% that no frames are made. If you specify both (opposing) options +% like \Lopt{[final,draft]}, the last one (so in this case +% \Lopt{draft}) `wins' (this is due to the star in +% \cmd{\ProcessOptions*}). +% \changes{v0.2b}{2001/10/11}{Option Proc.: new} +% \changes{v0.4c}{2002/04/06}{Option Proc.: only default opts with +% no \file{.cfg}} +% \changes{v0.4h}{2002/08/13}{Option Proc.: \file{.cfg} stuff} +% \changes{v0.6a}{2002/09/23}{Option Proc.: internationalization} +% \changes{v1.2d}{2005/12/22}{Option Proc.: default +% \Lopt{decor}} +% \begin{macrocode} +\ExecuteOptions{final,ngerman,decor,nodeclaration}% +\ProcessOptions*\relax% +% \end{macrocode} +% +%^^A ================================================================= +%^^A Further loading +%^^A ================================================================= +% \subsection{Loading addition\-al pack\-ages} +% \label{subsec:loadadd} +% +% Load the \emph{baseclass}. The user can choose the +% \emph{baseclass} by defining \cmd{\baseclass} to a different +% class. +% \changes{v0.3d}{2002/04/03}{Loading: new (class-changes)} +% \changes{v0.4d}{2002/04/07}{Loading: \cmd{\baseclass} stuff} +% \changes{v0.4e}{2002/04/09}{Loading: \package{german.sty} not +% needed anymore} +% \begin{macrocode} +\LoadClass{\baseclass} +% \end{macrocode} +% +% After \cmd{\LoadClass} the choosen \emph{baseclass} is finally +% known since it cannot be changed. So now is the right time to +% set \cmd{\iffbi@base@koma} and \cmd{\iffbi@base@ams}. +% \changes{v0.7e}{2002/11/26}{Loading: set \cmd{\iffbi@base@koma}} +% \changes{v1.1e}{2003/03/04}{Loading: set \cmd{\iffbi@base@ams}} +% \begin{macrocode} +\begingroup + \def\@temptokena{scrbook} + \ifx\baseclass\@temptokena + \global\fbi@base@komatrue\global\fbi@base@amsfalse + \ClassInfo{fbithesis}{KOMA-Script is chosen as baseclass} + \else + \def\@temptokena{amsbook} + \ifx\baseclass\@temptokena + \global\fbi@base@amstrue\global\fbi@base@komafalse + \ClassInfo{fbithesis}{AMS is chosen as baseclass} + \else +% \end{macrocode} +% Neither \koma\ nor \ams\ but an unknown documentclass is choosen +% as \emph{baseclass}. Since both \cmd{\iffbi@base@koma} and +% \cmd{\iffbi@base@ams} have to be set to |false|, none of the +% special features in the subsections \ref{subsubsec:koma} (page +% \pageref{subsubsec:koma}) and +% \ref{subsubsec:ams} (page \pageref{subsubsec:ams}) are activated. +% \begin{macrocode} + \global\fbi@base@komafalse\global\fbi@base@amsfalse + \ClassInfo{fbithesis}{No special class is chosen as baseclass} + \fi + \fi +\endgroup +% \end{macrocode} +% +% We need the \cmd{\includegraphics}~command from the +% \package{graphicx}~package (see \cite{carlisle:graphics}) to +% place some logos. Since we make use of the option +% \Lopt{keepaspectratio} we need at least \package{graphicx} +% 1995/12/06 v0.6h. However in \package{graphicx} 1996/08/05 v1.0a +% a bug is fixed which could concern us. So to be sure we request +% v1.0a or later. +% \changes{v0.5a}{2002/08/14}{Loading: \package{graphicx} required +% (title-enhance stuff)} +% \changes{v0.7h}{2002/12/12}{Loading: request at least +% \package{graphicx} 1996/08/05 v1.0a} +% \begin{macrocode} +\RequirePackage{graphicx}[1996/08/05] +% \end{macrocode} +% +%^^A ================================================================= +%^^A Begin of the Main Part +%^^A ================================================================= +% \subsection{Main Part} +% \label{subsec:main} +% +%^^A ================================================================= +%^^A Define the (userlevel) commands we want to provide +%^^A ================================================================= +% \subsubsection{User-level Commands} +% \label{subsubsec:comm} +% +% The following four macros are provided by the \LaTeX-kernel +% (described in \cite{ltx2e:ltsect}) to provide information +% about the title, author(s) and date of the document. The +% information is stored away in internal control sequences. It is +% the task of the \cmd{\maketitle}~command to use this information. +% Some of these macros keep their original definition, some are +% enhanced by additional features. +% +% \begin{macro}{\title} +% \begin{macro}{\author} +% These macros are defined in the \LaTeX kernel and are shown here +% just for your information. +% \begin{macrocode} +% \def\title#1{\gdef\@title{#1}} +% \def\author#1{\gdef\@author{#1}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\and} +% We do want to support the \package{amsbook} document class as +% possible \emph{baseclass}. Unfortunately the \ams-classes use a +% different definition of the \cmd{\and}~macro (see +% \cite{ams:amsclass}). So if the user has choosen +% \package{amsbook} as baseclass we have to redefine it to the +% `original' (\package{book}) definition (see +% \cite{ltx2e:ltsect}). +% \changes{v1.1c}{2003/02/07}{new (\ams\ stuff)} +% \changes{v1.1e}{2003/03/04}{use \cmd{\iffbi@base@ams}} +% \begin{macrocode} +\iffbi@base@ams + \renewcommand*{\and}{% % \begin{tabular} + \end{tabular}% + \hskip 1em \@plus.17fil% + \begin{tabular}[t]{c}}% % \end{tabular} +\fi% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\date} +% As in \cite{ltx2e:ltsect} the mandatory argument of +% \cmd{\date} is stored in \cmd{\@date}. The optional argument is +% stored in the new macro \cmd{\fbi@startdate}. +% \changes{v0.6c}{2002/10/15}{new (\cmd{\date} stuff)} +% \begin{macrocode} +\renewcommand*{\date}[2][]{% + \gdef\fbi@startdate{#1}% + \gdef\@date{#2}% +}% +% \end{macrocode} +% \begin{macro}{\fbi@startdate} +% The \cmd{\date}~macro gets today's date by default. This is +% already done in the \LaTeX-kernel (see +% \cite{ltx2e:ltsect}). \cmd{\fbi@startdate} is set to +% `nothing' by default. +% \begin{macrocode} +% \gdef\@date{\today} +\gdef\fbi@startdate{} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\@oldfootnote} +% Rescue the original definition of \cmd{\footnote} before +% redefining \cmd{\footnote} and \cmd{\thanks}. +% \changes{v0.5i}{2002/09/19}{new (\cmd{\thanks} stuff)} +% \begin{macrocode} +\let\@oldfootnote=\footnote% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\thanks} +% The usage of the \cmd{\thanks}~command is only allowed inside the +% window area, namely the commands \cmd{\title}, \cmd{\author}, +% \cmd{\date} and \cmd{\subject} (but it makes sense only with +% the two first\ldots). We locally restore the function of +% \cmd{\thanks} inside of \cmd{\fbi@place@window} (see below). +% \changes{v0.5i}{2002/09/19}{new (\cmd{\thanks} stuff)} +% \begin{macrocode} +\renewcommand*{\thanks}[1]{% + \ClassError{fbithesis}{With `fbithesis' the + use of \protect\thanks\space is only allowed\MessageBreak with the + \protect\author\space and the \protect\title\space command}{Type + to proceed. The \protect\thanks\space will + be ignored.}% +}% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\footnote} +% The usage of \cmd{\footnote} is ignored on the whole title page. +% We will restore the original definition from \cmd{\@oldfootnote} +% in \cmd{\fbi@cleanup} (called by \cmd{\maketitle}). So +% unfortunately \cmd{\footnote} is not reset to its original +% definition if there is no \cmd{\maketitle} in the document. +% This is a know bug (see subsection \ref{subsec:bugs} on page +% \pageref{subsec:bugs}). +% \changes{v0.5i}{2002/09/19}{new (\cmd{\thanks} stuff)} +% \changes{v0.6d}{2002/10/19}{changed} +% \begin{macrocode} +\renewcommand*{\footnote}[1]{\ClassWarning{fbithesis}{The use of + \protect\footnote\space is not allowed here. Either + you\MessageBreak tried \protect\footnote\space on the title + page (then you have to\MessageBreak use \protect\thanks\space + instead) or you forgot a \protect\maketitle\MessageBreak in + you document.\MessageBreak This footnote will be ignored}}% +% \end{macrocode} +% \end{macro} +% +% The filenames of the university- and chair-logos are stored in +% two macros named +% \describemacro{\fbi@logo@tu}\cmd{\fbi@logo@tu} and +% \describemacro{\fbi@logo@chair}\cmd{\fbi@logo@chair}. +% ^^ATodo: Abst"ande korrigieren (mehr Text hier), sieht Kacke aus. +% \begin{macro}{\unidologo} +% \begin{macro}{\chairlogo} +% However the macros above are only defined if the files really +% exist. The macro \cmd{\fbi@testgfile} checks the existance of +% the file and defines the macro \cmd{\fbi@logo@}\meta{type}. If +% the file isn't found a warning will be thrown. +% \changes{v0.5a}{2002/08/14}{new (title-enhance stuff)} +% \changes{v1.1e}{2003/03/04}{use \cmd{\fbi@testGfile}} +% \changes{v1.1f}{2003/03/20}{use \meta{type}} +% \begin{macrocode} +\newcommand*{\unidologo}[1]{% + \fbi@testGfile{tu}{#1}% +}% +\newcommand*{\chairlogo}[1]{% + \fbi@testGfile{chair}{#1}% +}% +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{macro}{\thesislogo} +% Besides the university- and chair-logos also a thesis-specific +% logo is possible. The filename is stored in +% \describemacro{\fbi@logo@thesis}\cmd{\fbi@logo@thesis}. Again that +% macro is only defined, if the file exists. +% \changes{v0.6d}{2002/10/19}{new} +% \changes{v1.1d}{2003/02/17}{use \cmd{\fbi@testGfile}} +% \changes{v1.1f}{2003/03/20}{use \meta{type}} +% \begin{macrocode} +\newcommand*{\thesislogo}[1]{% + \fbi@testGfile{thesis}{#1}% +}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\thesistype} +% Due to compatibility reasons with \koma\ the old command +% \cmd{\thesistype} was renamed to \cmd{\subject} (see below). +% Since some of the users may already use \cmd{\thesistype}, an +% warning is given. +% \changes{v0.7e}{2002/11/26}{new} +% \begin{macrocode} +\newcommand*{\thesistype}[1]{% + \ClassWarning{fbithesis}{Due to compatibility reasons + \protect\thesistype\space was renamed\MessageBreak to + \protect\subject. Please change your document}{Type + to proceed.}% + \gdef\@subject{#1}% +}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\subject} +% If the user has chosen \koma\ as \emph{baseclass}, \cmd{\subject} +% is already defined (see \cite{neukam:scrclass}). The +% standard \LaTeXe-classes don't provide such a command. So we +% have to ensure it is present. +% \changes{v0.5a}{2002/08/14}{new (title-enhance stuff)} +% \changes{v0.7e}{2002/11/26}{compatibility with \koma} +% \begin{macrocode} +\providecommand*{\subject}[1]{% + \gdef\@subject{#1}% +}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\supervisors} +% This macro is used to fill the \cmd{\fbi@supervis@i} and +% \cmd{\fbi@supervis@ii} macros. +% \changes{v0.5b}{2002/08/15}{new (title-enhance stuff)} +% \changes{v0.7d}{2002/11/25}{internals changed} +% \begin{macrocode} +\newcommand*{\supervisors}[2]{ + \gdef\fbi@supervis@i{#1}% + \gdef\fbi@supervis@ii{#2}% +}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\chair} +% The chair data is stored in \cmd{\fbi@chair}. +% \changes{v0.5b}{2002/08/15}{new (title-enhance stuff)} +% \begin{macrocode} +\newcommand*{\chair}[1]{% + \gdef\fbi@chair{#1}% +}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\titlevadjust} +% \begin{macro}{\titlehadjust} +% These macros are used to set the \cmd{\fbi@skip@v} and +% \cmd{\fbi@skip@h}~values. Usually a manual positioning isn't +% needed. In the case of a mismatch the user should correct the +% positioning of the printer. +% \changes{v0.1b}{2001/09/17}{implemented} +% \changes{v0.4f}{2002/07/05}{definition changed} +% \changes{v0.4f}{2002/07/05}{typo corrected (Thanks Stephan!)} +% \changes{v0.4h}{2002/08/13}{definition changed: set, not add} +% \changes{v0.8b}{2002/12/20}{adjustment re-implemented} +% \changes{v0.8e}{2003/01/01}{throw warning} +% \changes{v0.8f}{2003/01/03}{inverted sense of direction} +% \begin{macrocode} +\newcommand*{\titlevadjust}[1]{% + \ClassWarning{fbithesis}{A manual correction of the positioning of + the title\MessageBreak page should not be necessary. Refer to + section\MessageBreak `Customization' in the documentation for + further\MessageBreak info} + \setlength{\fbi@skip@v}{#1}% +}% +\newcommand*{\titlehadjust}[1]{% + \ClassWarning{fbithesis}{A manual correction of the positioning of + the title\MessageBreak page should not be necessary. Refer to + section\MessageBreak `Customization' in the documentation for + further\MessageBreak info} + \setlength{\fbi@skip@h}{#1}% +}% +% \end{macrocode} +% \end{macro} +% \end{macro} + +% \changes{v1.2d}{2005/12/22}{Internal: new} +%^^A ================================================================= +%^^A Define internal macros +%^^A ================================================================= +% \subsubsection{Internal Macros} +% \label{subsubsec:internal} +% +% \begin{macro}{\fbi@text@tu} +% \begin{macro}{\fbi@text@do} +% \begin{macro}{\fbi@text@fi} +% The macros \cmd{\fbi@text@tu} and \cmd{\fbi@text@fi} hold the +% text that is shown above the cardboard window. +% +% The `\"{A}' consist of more than one token (|\"{A}|). Below we +% use \cmd{\fbi@dolist} to spread the content of \cmd{\fbi@text@tu}. +% Since the macro processes tokens, the `\"{A}' has to be also +% exactly one token. +% \changes{v1.2e}{2006/01/03}{new} +% \changes{v1.2m}{2011/02/06}{added \cmd{\fbi@text@do}} +% \changes{v1.2m}{2011/02/06}{renamed \cmd{\fbi@text@fbi} to +% \cmd{\fbi@text@fi}} +% \begin{macrocode} +\def\fbi@text@tu{TECHNISCHE UNIVERSIT{\fbi@ae}T}% +\def\fbi@text@do{DORTMUND}% +\def\fbi@text@fi{FAKULT{\fbi@ae}T F{\fbi@ue}R INFORMATIK}% +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\fbi@text@ir@de} +% \begin{macro}{\fbi@text@ir@en} +% The macros \cmd{fbi@text@ir@de} and \cmd{fbi@text@ir@en} hold the +% text that is shown below the cardboard window. +% \changes{v1.2e}{2006/01/03}{new} +% \begin{macrocode} +\def\fbi@text@ir@de{INTERNE BERICHTE}% +\def\fbi@text@ir@en{INTERNAL REPORTS}% +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\fbi@text@address} +% The macro \cmd{\fbi@text@address} holds the text that is shown in +% the lower right part of the page. +% \changes{v1.2e}{2006/01/03}{new} +% \begin{macrocode} +\def\fbi@text@address{GERMANY \fbi@dot\space D-44221 DORTMUND}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\maketitle} +% In the standard \LaTeXe\ classes the definition of +% \cmd{\maketitle} depends on whether an explicit title page is +% made. Since we can be sure, that an explicit title page will be +% generated (see section \ref{subsec:optiondeclare}) we can skip +% the \cs{if@titlepage}~switch. +% \changes{v0.1a}{2001/09/16}{basic redefinition} +% \changes{v0.5c}{2002/08/28}{basic redefinition +% (\env{picture} stuff)} +% \changes{v0.5c}{2002/08/28}{swapped out code to a number of +% new commands (swap out stuff)} +% \changes{v0.6a}{2002/09/23}{added \cmd{\iffbi@chair} evaluation} +% \changes{v0.7a}{2002/11/06}{use \cmd{\ClassInfo}} +% \changes{v0.7g}{2002/11/29}{removed \cmd{\iffbi@chair} +% evaluation} +% \changes{v0.7h}{2002/12/12}{support optional argument} +% \changes{v0.8b}{2002/12/20}{adjustment re-implemented} +% \changes{v0.8c}{2002/12/30}{invariant vertical positioning} +% \changes{v0.8d}{2002/12/31}{invariant horizontal positioning} +% \changes{v0.8f}{2003/01/03}{warnings corrected} +% \changes{v0.8f}{2003/01/03}{inverted sense of direction of +% \cmd{\fbi@skip@h} and \cmd{\fbi@skip@v}} +% \changes{v1.1d}{2003/02/17}{remove \cs{if@titlepage}} +% \changes{v1.1g}{2003/03/27}{begun preparation (flexible layout +% stuff)} +% \changes{v1.1j}{2003/07/03}{completed preparation (flexible +% layout stuff)} +% \changes{v1.1n}{2003/10/08}{define helping macros local} +% \begin{macrocode} +\renewcommand{\maketitle}[1][1]{% + \begin{titlepage}% +% \end{macrocode} +% +% We interrupt the redefinition of \cmd{\maketitle} to introduce a +% few local macros helping us to create the new layout of the +% title page. These are put here, because they are only called in +% \cmd{\maketitle} and can therefore remain local (to the scope of +% \cmd{\maketitle}). The actual redefinition will take place later +% (see section \ref{subsubsec:maketitle} on page +% \pageref{subsubsec:maketitle}). +% +% \changes{v1.1n}{2003/10/08}{Local: new} +%^^A ================================================================= +%^^A Define local macros +%^^A ================================================================= +% \subsubsection{Local Macros} +% \label{subsubsec:local} +% +% \begin{macro}{\fbi@warning} +% The macro \cmd{\fbi@warning}\marg{command} warns the user if a +% baseclass-command \meta{command} is used, that is ignored by +% \package{\filename}. +% \changes{v1.1c}{2003/02/07}{new} +% \begin{macrocode} + \newcommand*{\fbi@warning}[1]{% + \ClassWarning{fbithesis}{As explained in the documentation some of + the title-\MessageBreak affecting commands of KOMA-Script- or + AMS-classes are\MessageBreak of no use with + `fbithesis'.\MessageBreak The command `\string##1' is ignored}}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\extratitle} +% \begin{macro}{\titlehead} +% \begin{macro}{\publishers} +% As described in subsection \ref{subsubsec:koma} (page +% \pageref{subsubsec:koma}) some of the +% title-affecting commands from \koma\ are ignored by +% \package{\filename}. They are redefined so the user gets a +% warning if he uses them. +% \changes{v1.1c}{2003/02/07}{redefine \koma-commands} +% \changes{v1.1e}{2003/03/04}{use \cmd{\iffbi@base@koma}} +% \begin{macrocode} + \iffbi@base@koma + \renewcommand*{\extratitle}[1]{\fbi@warning{\extratitle}}% + \renewcommand*{\titlehead}[1]{\fbi@warning{\titlehead}}% + \renewcommand*{\publishers}[1]{\fbi@warning{\publishers}}% + \fi +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\address} +% \begin{macro}{\curraddr} +% \begin{macro}{\email} +% \begin{macro}{\urladdr} +% \begin{macro}{\keywords} +% \begin{macro}{\translator} +% \begin{macro}{\subjclass} +% As described in subsection \ref{subsubsec:ams} (page +% \pageref{subsubsec:ams}) some of the +% title-affecting commands from \ams\ are ignored by +% \package{\filename}. They are redefined so the user gets a +% warning if he uses them. +% \changes{v1.1c}{2003/02/07}{redefine \ams-commands} +% \changes{v1.1e}{2003/03/04}{use \cmd{\iffbi@base@ams}} +% \begin{macrocode} + \iffbi@base@ams + \renewcommand*{\address}[2][]{\fbi@warning{\address}}% + \renewcommand*{\curraddr}[2][]{\fbi@warning{\curraddr}}% + \renewcommand*{\email}[2][]{\fbi@warning{\email}}% + \renewcommand*{\urladdr}[2][]{\fbi@warning{\urladdr}}% + \renewcommand*{\keywords}[1]{\fbi@warning{\keywords}}% + \renewcommand*{\translator}[2][]{\fbi@warning{\translator}}% + \renewcommand*{\subjclass}[1]{\fbi@warning{\subjclass}}% + \fi +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% The following three definitions are based on \cmd{\dolist} (see +% \cite[answer to example 11.5]{knuth:1986:texbook}). +% \cmd{\fbi@dolist} will be used by \cmd{\fbi@stretchto} (see +% below). +% \begin{macro}{\fbi@dolist} +% Assign the next token to \cmd{\fbi@next} and call +% \cmd{\fbi@donext} after that. +% \changes{v0.7d}{2002/11/25}{new} +% \begin{macrocode} + \def\fbi@dolist{\afterassignment\fbi@donext\let\fbi@next= }% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fbi@donext} +% Process the next token (stored in \cmd{\fbi@next}). +% \changes{v0.7d}{2002/11/25}{new} +% \changes{v0.7h}{2002/12/12}{optimization with \cs{expandafter} +% (Thanks to Stephan)} +% \begin{macrocode} + \def\fbi@donext{% +% \end{macrocode} +% If we have reached the end of the list, we stop (do nothing). +% \begin{macrocode} + \ifx\fbi@next\fbi@endlist% + \else% +% \end{macrocode} +% Otherwise call a macro named \cmd{\fbi@do} for each token. +% \begin{macrocode} + \fbi@do% +% \end{macrocode} +% Do a recursive call of \cmd{\fbi@dolist} to process the next +% token. Of course we have to use \cs{expandafter} to get this +% actually done \emph{after} the \cs{fi}. +% \begin{macrocode} + \expandafter\fbi@dolist% + \fi}% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fbi@endlist} +% Recursive definition of \cmd{\fbi@endlist}. +% \changes{v0.7d}{2002/11/25}{new} +% \begin{macrocode} + \def\fbi@endlist{\fbi@endlist}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\fbi@stretchto} +% The macro \cmd{\fbi@stretchto}\marg{width}\marg{textmacro} stretches +% the content of \cs{}\meta{textmacro} to \meta{width}. +% +% This command is based on the \package{tracking}-style (see +% \cite{glazkov:tracking}) by +% \person{Glazkov}\footnote{\mail[D. A. +% Glazkov]{glazkov@sci.lpi.msk.su}}. +% +% It makes use of the \cmd{\fbi@dolist} defined above to place +% \cmd{\kern} commands between each two tokens. +% \cmd{\fbi@stretchto} is used by some of the +% \cmd{\fbi@place@}\meta{\ldots} commands to stretch a string to a +% given length. +% \changes{v0.7d}{2002/11/25}{new} +% \changes{v0.7f}{2002/11/28}{optimized} +% \changes{v1.2d}{2005/12/22}{expand textmacro} +% \begin{macrocode} + \newcommand*{\fbi@stretchto}[2]{% + \@tempcnta=\z@% +% \end{macrocode} +% First we have to count the tokens. So we define \cmd{\fbi@do} to +% add `1' to a counter and call \cmd{\fbi@dolist} with the string. +% \begin{macrocode} + \def\fbi@do{\advance\@tempcnta by\@ne\relax}% +% \end{macrocode} +% Since the second argument is a macro we have to expand it to its +% content before calling \cmd{\fbi@dolist} +% \begin{macrocode} + \expandafter\fbi@dolist##2\fbi@endlist% + \advance\@tempcnta by\m@ne\relax +% \end{macrocode} +% After that we calculate the extra space that has to be added +% between each two tokens. +% \begin{macrocode} + \setbox\@tempboxa=\hbox{##2}% + \@tempdima=##1% + \advance\@tempdima by-\wd\@tempboxa\relax + \divide\@tempdima by\@tempcnta\relax +% \end{macrocode} +% Now we call \cmd{\fbi@dolist} again with the string, this time +% \cmd{\fbi@do} is defined to place an appropriate \cmd{\kern} +% after each token. +% \begin{macrocode} + \def\fbi@do{% + \expandafter\if\space\fbi@next% + \setbox\@tempboxa=\hbox{\ }% + \else% + \setbox\@tempboxa=\hbox{\fbi@next}% + \fi% + \box\@tempboxa\kern\@tempdima}% + \hbox{\expandafter\fbi@dolist##2\fbi@endlist\unkern}}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\fbi@place@windowheader} +% This is the code that does the header above the window. The +% fontsize of 20 point is rather exact but I'm not yet satisfied +% with the font and its thickness. We use the font Helvetica, +% unfortunately it doesn't match exactly (see the `O', `M' or `R'). +% \changes{v0.2a}{2001/09/17}{removed `underfull vbox'-warning} +% \changes{v0.4e}{2002/04/09}{removed \package{german.sty} +% usage} +% \changes{v0.5c}{2002/08/28}{new (swap out stuff)} +% \changes{v0.5g}{2002/09/12}{corrected} +% \changes{v0.7d}{2002/11/25}{use \cmd{\fbi@stretchto}} +% \changes{v0.7i}{2002/12/14}{request font with normal width} +% \changes{v1.1g}{2003/03/27}{begun preparation (flexible layout +% stuff)} +% \changes{v1.1h}{2003/05/29}{\"{A}-calculations} +% \changes{v1.1j}{2003/07/03}{completed preparation (flexible +% layout stuff)} +% \changes{v1.2m}{2011/02/06}{use \cmd{\fbi@ue}} +% \begin{macrocode} + \newcommand*{\fbi@place@windowheader}{% +% \end{macrocode} +% The `\"{A}' consists of more than one token (|\"{A}|). Below we +% use \cmd{\fbi@dolist} to spread a text containing an `\"{A}'. +% Since the macro processes tokens, the `\"{A}' has to be also +% exactly one token. +% \begin{macrocode} + \def\fbi@ae{\"{A}}% +% \end{macrocode} +% The same applies to ``\"{U}: +% \begin{macrocode} + \def\fbi@ue{\"{U}}% + \fontfamily{phv}\fontseries{b}\fontsize{20}{22}\selectfont% +% \end{macrocode} +% The height of the header above the window and the logo of the +% university (see \cmd{\fbi@place@tulogo}) is +% \cmd{\fbi@size@v@windowhead} (1.45cm). This is, however, meant +% without the dots of the `\"{A}'. So we have to measure the +% difference between `\"{A}' and `A' and enlarge the parbox by this +% value. +% \begin{macrocode} + \setbox\@tempboxa=\hbox{\fbi@ae}% + \@tempdima=\ht\@tempboxa% + \setbox\@tempboxa=\hbox{A}% + \advance\@tempdima by-\ht\@tempboxa% + \@tempdimb=\fbi@size@v@windowhead cm% + \advance\@tempdimb by \@tempdima% +% \end{macrocode} +% Now, having calculated the correct enlarged height of the header, +% we set the box. +% \changes{v1.2d}{2005/12/22}{use \cmd{\fbi@text@uni} and +% \cmd{\fbi@text@fbi}} +% \changes{v1.2m}{2011/02/06}{use \cmd{\fbi@text@tu}, +% \cmd{\fbi@text@do} and \cmd{\fbi@text@fi}} +% \begin{macrocode} + \parbox[b][\@tempdimb][s]{\fbi@size@h@window cm}{% + \vspace{\z@}% + \fbi@stretchto{\fbi@size@h@window cm}{\fbi@text@tu}\par + \fbi@stretchto{\fbi@size@h@window cm}{\fbi@text@do}\par\vfil% + \fontseries{m}\selectfont% + \fbi@stretchto{\fbi@size@h@window cm}{\fbi@text@fi}\par} + }% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\fbi@place@tulogo} +% If \cmd{\fbi@logo@tu} is defined (by using \cmd{\unidologo}), +% the logo of the TU Dortmund is set here. It is +% resized to a height of \cmd{\fbi@size@v@windowhead} (the same +% height as the height of \cmd{\fbi@place@windowheader}) and a +% width of \cmd{\fbi@size@h@logo}. By the option +% \Lopt{keepaspectratio} we take care not to distort the logo. +% \changes{v0.5a}{2002/08/14}{use \cmd{\fbi@logo@tu} +% (title-enhance stuff)} +% \changes{v0.5c}{2002/08/28}{new (swap out stuff)} +% \changes{v0.6a}{2002/09/23}{control width} +% \changes{v1.1g}{2003/03/27}{begun preparation (flexible layout +% stuff)} +% \changes{v1.1j}{2003/07/03}{completed preparation (flexible +% layout stuff)} +% \changes{v1.2m}{2011/02/06}{renamed from \cmd{\fbi@place@unilogo} +% to \cmd{\fbi@place@tulogo}} +% \begin{macrocode} + \newcommand*{\fbi@place@tulogo}{% + \ifx\fbi@logo@tu\undefined\else% + \makebox(\fbi@size@h@logo,\fbi@size@v@windowhead)[br]{% + \includegraphics[width=\fbi@size@h@logo cm,% + height=\fbi@size@v@windowhead cm,% + keepaspectratio]{% + \fbi@logo@tu}}% + \fi + }% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\fbi@place@window} +% This is the code that does the window in the cover page. The +% content of the following \env{minipage} matches the window in the +% cardboard so it is also visible even with a closed cover. +% \changes{v0.3e}{2002/04/04}{\Lopt{draft} revision} +% \changes{v0.4c}{2002/04/06}{swapped out} +% \changes{v0.4f}{2002/07/05}{definition changed} +% \changes{v0.5i}{2002/09/19}{\cmd{\thanks} stuff} +% \changes{v0.6c}{2002/10/15}{\cmd{\date} stuff} +% \changes{v1.1g}{2003/03/27}{begun preparation (flexible layout +% stuff)} +% \changes{v1.1j}{2003/07/03}{completed preparation (flexible +% layout stuff)} +% \changes{v1.1p}{2004/03/21}{font variables used} +% \begin{macrocode} + \newcommand*{\fbi@place@window}{% + \begin{minipage}[b][\fbi@size@v@window cm][s]{\fbi@size@h@window cm}% +% \end{macrocode} +% +% Before we begin to place the title-information, there have to be +% redefinitions of some macros concerning +% \describemacro{\footnote}\cmd{\footnote}/\cmd{\thanks}. Normally +% the arguments of \describemacro{\thanks}\cmd{\thanks} are +% collected in a macro named \describemacro{\@thanks}\cmd{\@thanks} +% and placed at the bottom of the page later. In our case this +% doesn't make sense, since the contents of \cmd{\@thanks} would be +% hidden by the cardboard cover while the footnote-marks are +% visible. So the appropriate place for the contents is the bottom +% of the window in the cover page. So we can simply use the +% \cmd{\footnote}~command (rescued in \cs{@oldfootnote}) of the +% \env{minipage}~environment. Due to the limited space we use a +% smaller fontsize than normal. Additionally we don't want the +% \env{minipage}~numbering of footnotes (\textit{a}, \textit{b}, +% \textit{c}, \ldots see \cite{ltx2e:ltboxes}) so we redefine +% \cmd{\thempfootnote} (see \cite{ltx2e:ltfloat}) to get the +% \koma~numbering ($\ast$, $\dagger$, $\ddagger$, \ldots). +% \begin{macrocode} + \let\footnotesize=\fbi@font@thanks% + \def\thempfootnote{\@fnsymbol\c@mpfootnote}% +% \end{macrocode} +% As said before, the footnotes look rather bad on the title page +% and I do not recommend to use the \cmd{\thanks}~mechanism. It +% would be a much better idea to put eMail-addresses, +% acknowledgements, dedications and such things in a preface. So +% we drop a warning on the usage of \cmd{\thanks}. +% \begin{macrocode} + \def\thanks{\ClassWarningNoLine{fbithesis}{The use of + \protect\thanks\space is not recommended with \MessageBreak + `fbithesis'. Write a preface instead}% +% \end{macrocode} +% Nevertheless we process the footnote: +% \begin{macrocode} + \@oldfootnote}% +% \end{macrocode} +% We set the author(s) in a \cmd{\Large}~font. As in the standard +% \LaTeX\ classes we do this inside a tabular environment to get +% them in a single column. Since the \ams-classes store the +% authors in \cmd{\authors} instead of \cmd{\@author} we have to +% distinguish between the possible baseclasses. +% \changes{v1.1c}{2003/02/07}{support \ams-title} +% \changes{v1.1e}{2003/03/04}{use \cmd{\iffbi@base@ams}} +% \begin{macrocode} + \vspace{\z@}% + \begin{center}% + \vskip 2em% + {\fbi@font@author% + \lineskip .75em% + \begin{tabular}[t]{c}% + \iffbi@base@ams\authors\else\@author\fi + \end{tabular}\par}% +% \end{macrocode} +% We leave a little space and set the title in a \cmd{\LARGE}~font. +% \begin{macrocode} + \vfil% + {\fbi@font@title\@title\par}% + \vfil% +% \end{macrocode} +% If \cmd{\@subject} is defined (by using \cmd{\subject}, +% see above) it is placed here. Before the date we leave a little +% whitespace again. +% \begin{macrocode} + \ifx\@subject\undefined\else% + {\fbi@font@subject\@subject\par}% + \vfil% + \fi% +% \end{macrocode} +% If \cmd{\fbi@startdate} is defined (by using the optional +% argument of \cmd{\date}, see above) we place it---followed by a +% dash---before the date. +% \begin{macrocode} + {\fbi@font@date\ifx\@empty\fbi@startdate\else% + {\fbi@startdate} -- + \fi% + \@date\par}% + \end{center}% +% \end{macrocode} +% Without the small skip here the text would glue to the windowborder +% which would be ugly. +% \changes{v1.2g}{2006/07/14}{prevent the text to glue to the window} +% \begin{macrocode} + \vskip 2em% +% \end{macrocode} +% Since there is already a skip we suppress an additional +% \cmd{\skip}\cmd{\footins}. +% \changes{v1.2i}{2006/09/04}{No skip before footnotes} +% \begin{macrocode} + \skip\footins=\z@% + \end{minipage}}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\fbi@place@thesislogo} +% If \cmd{\fbi@logo@thesis} is defined (by using \cmd{\thesislogo}), +% another logo is set here. It is resized to a height of +% \cmd{\fbi@size@v@window} (the same height as the height of +% \cmd{\fbi@place@window}) and a width of \cmd{\fbi@size@h@logo}. +% By the option \Lopt{keepaspectratio} we take care not to distort +% the logo. +% \changes{v0.6d}{2002/10/19}{new} +% \changes{v1.1g}{2003/03/27}{begun preparation (flexible layout +% stuff)} +% \changes{v1.1j}{2003/07/03}{completed preparation (flexible +% layout stuff)} +% \begin{macrocode} + \newcommand*{\fbi@place@thesislogo}{% + \ifx\fbi@logo@thesis\undefined\else% + \makebox(\fbi@size@h@logo,\fbi@size@v@window)[cr]{% + \includegraphics[width=\fbi@size@h@logo cm,% + height=\fbi@size@v@window cm,% + keepaspectratio]{% + \fbi@logo@thesis}}% + \fi + }% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\fbi@place@windowfooter} +% This is the code that does the footer below the window. Again +% Helvetica doesn't match exactly but its the best font I got. +% \changes{v0.5c}{2002/08/28}{new (swap out stuff)} +% \changes{v0.5g}{2002/09/12}{corrected} +% \changes{v0.7d}{2002/11/25}{use \cmd{\fbi@stretchto}} +% \changes{v1.1g}{2003/03/27}{begun preparation (flexible layout +% stuff)} +% \changes{v1.1j}{2003/07/03}{completed preparation (flexible +% layout stuff)} +% \changes{v1.2d}{2005/12/22}{use \cmd{\fbi@text@ir@de} and +% \cmd{\fbi@text@ir@en}} +% \begin{macrocode} + \newcommand*{\fbi@place@windowfooter}{% + \parbox[b][\fbi@size@v@windowfoot cm][s]{\fbi@size@h@window cm}{% + \vspace{\z@}% + \fontfamily{phv}\fontseries{m}\fontsize{20}{22}\selectfont% + \fbi@stretchto{\fbi@size@h@window cm}{\fbi@text@ir@de}\par\vfil% + \fbi@stretchto{\fbi@size@h@window cm}{\fbi@text@ir@en}\par + }}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\fbi@place@chair} +% This is the code that places the contents of \cmd{\fbi@chair}, +% \cmd{\fbi@supervis@i} and \cmd{\fbi@supervis@ii}. +% \changes{v0.5a}{2002/04/10}{prepared use of +% \cmd{\fbi@supervisors} and \cmd{\fbi@chair} (title-enhance +% stuff)} +% \changes{v0.5c}{2002/08/28}{new (swap out stuff)} +% \changes{v0.5h}{2002/09/18}{corrected} +% \changes{v0.5j}{2002/09/21}{bug fixed} +% \changes{v0.6a}{2002/09/23}{use \cmd{\fbi@str@supervisors} +% (internationalization)} +% \changes{v0.6a}{2002/09/23}{use \cmd{\iffbi@chair}} +% \changes{v0.7g}{2002/11/29}{remove \cmd{\iffbi@chair}} +% \changes{v1.1g}{2003/03/27}{begun preparation (flexible layout +% stuff)} +% \changes{v1.1j}{2003/07/03}{completed preparation (flexible +% layout stuff)} +% \changes{v1.1p}{2004/03/21}{font variables used} +% \changes{v1.2d}{2005/12/22}{Renamed \cmd{\fbi@str@supervisors} +% with \cmd{\fb@text@supervisors}} +% \begin{macrocode} + \newcommand*{\fbi@place@chair}{% + \parbox[b][\fbi@size@v@chair cm][s]{\fbi@size@h@window cm}{% + \vspace{\z@}% + {\fbi@font@chair\fbi@chair\par}% + \vfil% + {\fbi@font@super% + {\bfseries\fbi@text@supervisors}\par + \fbi@supervis@i\par + \fbi@supervis@ii\par} + }% + }% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\fbi@place@chairlogo} +% On \cmd{\fbi@chairtrue} the logo of the chair is set here. It is +% resized to a height of \cmd{\fbi@size@v@chair} (the same height +% as the height of \cmd{\fbi@place@chair}) and a width of +% \cmd{\fbi@size@h@logo}. By the option \Lopt{keepaspectratio} we +% take care not to distort the logo. +% \changes{v0.5a}{2002/04/10}{use \cmd{\fbi@logo@chair} +% (title-enhance stuff)} +% \changes{v0.5c}{2002/08/28}{new (swap out stuff)} +% \changes{v0.6a}{2002/09/23}{use \cmd{\iffbi@chair}} +% \changes{v0.6a}{2002/09/23}{control width} +% \changes{v0.7g}{2002/11/29}{remove \cmd{\iffbi@chair}} +% \changes{v1.1g}{2003/03/27}{begun preparation (flexible layout +% stuff)} +% \changes{v1.1j}{2003/07/03}{completed preparation (flexible +% layout stuff)} +% \begin{macrocode} + \newcommand*{\fbi@place@chairlogo}{% + \ifx\fbi@logo@chair\undefined\else% + \makebox(\fbi@size@h@logo,\fbi@size@v@chair)[cr]{% + \includegraphics[width=\fbi@size@h@logo cm,% + height=\fbi@size@v@chair cm,% + keepaspectratio]{% + \fbi@logo@chair}}% + \fi + }% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\fbi@place@address} +% This is the code that does the address. +% \changes{v0.5d}{2002/08/29}{new} +% \changes{v0.5g}{2002/09/12}{corrected} +% \changes{v0.7d}{2002/11/25}{use \cmd{\fbi@stretchto}} +% \changes{v1.1g}{2003/03/27}{begun preparation (flexible layout +% stuff)} +% \changes{v1.1j}{2003/07/03}{completed preparation (flexible +% layout stuff)} +% \changes{v1.2d}{2005/12/22}{use \cmd{\fbi@text@address}} +% \begin{macrocode} + \newcommand*{\fbi@place@address}{% + \makebox(\fbi@size@h@address,\fbi@size@v@address)[b]{% + \vspace{\z@}% + \fontfamily{phv}\fontseries{m}\fontsize{14}{16}\selectfont% + \def\fbi@dot{$\cdot$}% + \fbi@stretchto{\fbi@size@h@address cm}{\fbi@text@address}}}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\fbi@place@marks} +% We add some marks to the title page in the +% \Lopt{draft}~mode. This will help you to +% check the placement of the title page. At the top, bottom, left +% and right border of the paper millimeter scales are placed, so +% you can easily read the necessary translation of the title page. +% If the placement is correct, a frame will match the window of the +% cardboard.\describeoption{draft} +% \changes{v0.5d}{2002/08/29}{new} +% \changes{v0.6d}{2002/10/19}{better: scales} +% \changes{v1.1j}{2003/07/03}{begun preparation (flexible layout +% stuff)} +% \changes{v1.1m}{2003/09/16}{completed preparation (flexible +% layout stuff)} +% \begin{macrocode} + \iffbi@draft% + \newcommand*{\fbi@place@marks}{% + \thinlines% +% \end{macrocode} +% +% \begin{macro}{\fbi@hscale} +% We create a new savebox named \cmd{\fbi@hscale}. +% \changes{v1.1m}{2003/09/16}{new} +% \begin{macrocode} + \newsavebox{\fbi@hscale}% +% \end{macrocode} +% The savebox is defined to contain a horizintal centimeter scale. +% At each millimeter a line is drawn (longer lines at $0$, $0.5$ +% and $1$ centimeter). Since we want to make the center of the +% left line the reference point, each line has to be centered. +% So we have to move the starting points of each line by the half of +% the line's length. +% \begin{macrocode} + \savebox{\fbi@hscale}(0,0){% +% \end{macrocode} +% First we draw a long line at $0$ and $1$ centimeter. +% \begin{macrocode} + \multiput(0,-0.6)(1,0){2}{% + \put(0,0){\line(0,1){1.2}}% + }% +% \end{macrocode} +% A semilong line is placed at $0.5$ centimeter. +% \begin{macrocode} + \put(0.5,-0.4){\line(0,1){0.8}}% +% \end{macrocode} +% The rest is filled with short lines every $0.1$ centimeter. +% \begin{macrocode} + \multiput(0.1,-0.15)(0.1,0){9}{% + \put(0,0){\line(0,1){0.3}}% + }% + }% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\fbi@vscale} +% We create a new savebox named \cmd{\fbi@vscale}. +% \begin{macrocode} + \newsavebox{\fbi@vscale}% +% \end{macrocode} +% \changes{v1.1m}{2003/09/16}{new} +% The savebox is defined to contain a vertical centimeter scale. +% At each millimeter a line is drawn (longer lines at $0$, $0.5$ +% and $1$ centimeter). Since we want to make the center of the +% bottom line the reference point, each line has to be centered. +% So we have to move the starting points of each line by the half of +% the line's length. +% \begin{macrocode} + \savebox{\fbi@vscale}(0,0){% +% \end{macrocode} +% First we draw a long line at $0$ and $1$ centimeter. +% \begin{macrocode} + \multiput(-0.6,0)(0,1){2}{% + \put(0,0){\line(1,0){1.2}}% + }% +% \end{macrocode} +% A semilong line is placed at $0.5$ centimeter. +% \begin{macrocode} + \put(-0.4,0.5){\line(1,0){0.8}}% +% \end{macrocode} +% The rest is filled with short lines every $0.1$ centimeter. +% \begin{macrocode} + \multiput(-0.15,0.1)(0,0.1){9}{% + \put(0,0){\line(1,0){0.3}}% + }% + }% +% \end{macrocode} +% \end{macro} +% +% Now we continue with placing the marks. First we generate a +% frame showing the window of the cardboard. This is useful while +% layouting the stuff in it. +% \begin{macrocode} + \put(\fbi@pos@h@,\fbi@pos@v@window){% + \framebox(\fbi@size@h@window,\fbi@size@v@window){}}% +% \end{macrocode} +% Two horizontal scales a placed, one at the left the other at the +% right border of the page. We begin with the left scale, +% vertically spaced (at \cmd{\fbi@hscalemid}). The second one is +% placed with a distance of \cmd{\fbi@hscaleleft} at the right +% border of the page. +% \begin{macrocode} + \multiput(0,\fbi@pos@v@scale)(\fbi@size@h@scale,0){2}{% +% \end{macrocode} +% Each scale is two centimeters long. A horizontal +% one-centimeter-scale is saved in the box \cmd{\fbi@hscale}. We +% use it twice. +% \begin{macrocode} + \multiput(0,0)(1,0){2}{% + \put(0,0){\usebox{\fbi@hscale}}% + }% + }% +% \end{macrocode} +% This is some sort of bad hack here. I don't know why the scales +% have to be moved by $0.5$ centimeter, but otherwise it wouldn't +% be correct. If someone knows the reason I'll be all ears! +% \begin{macrocode} + \put(0,0.5){% +% \end{macrocode} +% Two vertical scales, one at the bottom the other at the top of +% the page a placed. We begin with the bottom scale, horizontally +% spaced (at \cmd{\fbi@vscalemid}). The second one is placed with +% a distance of \cmd{\fbi@vscalebottom} at the top of the page. +% \begin{macrocode} + \multiput(\fbi@pos@h@scale,0)(0,\fbi@size@v@scale){2}{% +% \end{macrocode} +% Each scale is two centimeters long. A vertical +% one-centimeter-scale is saved in the box \cmd{\fbi@vscale}. We +% use it twice. +% \begin{macrocode} + \multiput(0,0)(0,1){2}{% + \put(0,0){\usebox{\fbi@vscale}}% + }% + }% + }% +% \end{macrocode} +% \begin{macrocode} + }% + \else% + \let\fbi@place@marks=\relax + \fi% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\fbi@text@declaration} +% The macro \cmd{\fbi@text@declaration} holds the text for the +% declaration. +% \changes{v1.2e}{2006/01/05}{new} +% \begin{macrocode} +\def\fbi@text@declaration{% +% \end{macrocode} +% We have to find out how many authors there are. To do this we +% redefine the macro \cmd{\and} and expand the macro \cmd{\@author} +% (or \cmd{\authors} if we are using \ams). To make the changes +% local we open a group +% \begin{macrocode} + \begingroup + \fbi@tempcnta=\z@% + \@tempswafalse% +% \end{macrocode} +% \begin{macro}{\and} +% Now we redefine the macro \cmd{\and}. After this we are able to +% detect the use of the macro because it sets the switch +% \cmd{\@tempswa} to true. +% \changes{v1.2e}{2006/01/17}{new} +% \changes{v1.2g}{2006/07/17}{make switch global} +% \begin{macrocode} + \renewcommand*{\and}{% +% \end{macrocode} +% Since we are in a group here we cannot use \cmd{\@tempswatrue}. +% This would last only until the end of the group. We want to have +% a global switch, so we need to do the \cmd{\let} manually. +% \begin{macrocode} + \global\let\if@tempswa=\iftrue% + \global\advance\fbi@tempcnta by \@ne% + }% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\thanks} +% Perhaps there are \cmd{\thanks}-calls in \cmd{authors}. We have to +% make these harmless. +% \changes{v1.2e}{2006/01/18}{new} +% \begin{macrocode} + \let\thanks=\@gobble% +% \end{macrocode} +% \end{macro} +% +% The macro \cmd{\@author} has to be executed so the changed +% definition of \cmd{\and} comes to work. Since we do not want to put +% something on paper here we ``print'' in a box. +% \begin{macrocode} + \setbox\@tempboxa=\vbox{\iffbi@base@ams\authors\else\@author\fi}% + \ClassInfo{fbithesis}{Number of authors: \the\fbi@tempcnta +1}% +% \end{macrocode} +% We do not need the content of the box \cmd{\@tempboxa} we only +% need the macro \cmd{\@author} being completly expanded. With the +% switch \cmd{\@tempswa} we are now able to determine wether there +% is more than one author. So we can define the text-macros: +% \begin{macro}{\fbi@text@mewe} +% The macro \cmd{fbi@text@mewe} +% Currently only the german language is supported. +% \changes{v1.2e}{2006/01/05}{new} +% \changes{v1.2e}{2006/01/17}{support for more than one author} +% \begin{macrocode} + \xdef\fbi@text@mewe{\if@tempswa wir\else ich\fi}% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fbi@text@have} +% Currently only the german language is supported. +% \changes{v1.2e}{2006/01/05}{new} +% \changes{v1.2e}{2006/01/17}{support for more than one author} +% \begin{macrocode} + \xdef\fbi@text@have{\if@tempswa haben\else habe\fi}% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fbi@text@declare} +% Currently only the german language is supported. +% \changes{v1.2e}{2006/01/05}{new} +% \changes{v1.2e}{2006/01/17}{support for mpre than one author} +% \begin{macrocode} + \xdef\fbi@text@declare{\if@tempswa erkl\"{a}ren\else erkl\"{a}re\fi}% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fbi@text@work} +% Currently only then german language is supported. +% \changes{v1.2e}{2006/01/17}{new} +% \begin{macrocode} + \xdef\fbi@text@work{% + \if@tempswa + entsprechend gekennzeichneten Teile der vorliegenden\space% + Gruppenarbeit% + \else + vorliegende Arbeit% + \fi + }% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\and} +% Again we redefine the makro \cmd{\and}. For the declaration text we +% need a comma-separated list of all authors but the last author +% separated by `und'. +% \changes{v1.2e}{2006/01/18}{new} +% \begin{macrocode} + \fbi@tempcntb=\z@% + \renewcommand*{\and}{% + \advance\fbi@tempcntb by \@ne% +% \end{macrocode} +% The number of authors: \Lcount{fbi@tempcnta}. Up to +% \Lcount{fbi@tempcnta} we insert a comma between two authors, for +% the last author we insert an `und'. +% \begin{macrocode} + \ifnum\fbi@tempcntb<\fbi@tempcnta + \unskip ,\space% + \else + und\space% + \fi + }% +% \end{macrocode} +% \end{macro} +% \begin{macrocode} + Hiermit \fbi@text@declare\space\fbi@text@mewe , + \iffbi@base@ams\authors\else\@author\fi , dass \fbi@text@mewe\ die + \fbi@text@work\ selbstst\"{a}ndig verfasst und keine anderen als + die angegebenen Quellen und Hilfsmittel verwendet \fbi@text@have . + Zitate \fbi@text@have\space\fbi@text@mewe\ stets kenntlich + gemacht. + \endgroup +}% +% \end{macrocode} +% \end{macro} +% +% Now we have all the macros defined hepling us in +% \cmd{\maketitle}. We are now able to continue with the +% redefinition of this central macro. +% +% \changes{v1.1n}{2003/10/08}{Redef. of \cmd{\maketitle}: new} +%^^A ================================================================= +%^^A Continuation of \renewcommand{\maketitle} +%^^A ================================================================= +% \subsubsection{Redefinition of \cmd{\maketitle}} +% \label{subsubsec:maketitle} +% +% The \koma-classes provide a mechanism to set the number, the page +% numbering will start with. This is done by an optional argument +% to \cs{maketitle} and defaults to $1$. +% \begin{macrocode} + \setcounter{page}{#1}% +% \end{macrocode} +% Now here comes the `pretty good guess'. We accumulate all +% vertical translations of the print space calculated by \TeX\ in +% \Llength{\fbi@skip@v} and the horizontal ones in +% \Llength{\fbi@skip@h}. If the printers positioning is correct we +% now know exactly at which position on the page we are. +% \begin{macrocode} + \addtolength{\fbi@skip@v}{\topmargin}% + \addtolength{\fbi@skip@v}{\headheight}% + \addtolength{\fbi@skip@v}{\headsep}% + \addtolength{\fbi@skip@v}{\topskip}% + \addtolength{\fbi@skip@v}{\baselineskip}% + \addtolength{\fbi@skip@h}{\oddsidemargin}% + \addtolength{\fbi@skip@v}{1in}% + \addtolength{\fbi@skip@h}{1in}% + \addtolength{\fbi@skip@v}{\voffset}% + \addtolength{\fbi@skip@h}{\hoffset}% +% \end{macrocode} +% For the interested user the resulting values are written into the +% \file{.log}~file. +% \begin{macrocode} + \ClassInfo{fbithesis}{% + These are the calculated values describing the\MessageBreak + translation of the print space:\MessageBreak Vertical + skip\space\space\space=\space\the\fbi@skip@v\MessageBreak + Horizontal skip\space=\space\the\fbi@skip@h}% +% \end{macrocode} +% With \cmd{\fbi@skip@v} and \cmd{\fbi@skip@h} we vertically and +% horizontally place the title page. +% \begin{macrocode} + \null\vskip -\fbi@skip@v\vbox to \z@{% + \noindent\hskip -\fbi@skip@h\hb@xt@\z@{% +% \end{macrocode} +% We open a \env{picture}~environment over the whole page. This +% allows us to place the components exactly where we want them. +% \begin{macrocode} + \setlength{\unitlength}{1cm}% + \@picture(\fbi@size@h@paper,\fbi@size@v@paper)(0,0) +% \end{macrocode} +% If the decoration is to be shown \ldots +% \begin{macrocode} + \iffbi@decor +% \end{macrocode} +% place the header above the window \ldots +% \begin{macrocode} + \put(\fbi@pos@h@,\fbi@pos@v@windowhead){\fbi@place@windowheader}% +% \end{macrocode} +% and place the black filled square. +% \begin{macrocode} + \put(\fbi@pos@h@square,\fbi@pos@v@windowhead){% + \rule{\fbi@size@h@square cm}{\fbi@size@h@square cm}}% + \fi +% \end{macrocode} +% Place the logo of the TU Dortmund (if it is provided). +% \begin{macrocode} + \put(\fbi@pos@h@logo,\fbi@pos@v@windowhead){\fbi@place@tulogo}% +% \end{macrocode} +% This is now the window in the cover page. Depending on +% \cmd{\iffbi@draft} the \cmd{\fbi@place@window} is framed or not. +% \changes{v0.4c}{2002/04/06}{swapped out code to +% \cmd{\fbi@place@windo}} +% \begin{macrocode} + \put(\fbi@pos@h@,\fbi@pos@v@window){\fbi@place@window}% +% \end{macrocode} +% Place the thesis-logo (if it is provided). +% \begin{macrocode} + \put(\fbi@pos@h@logo,\fbi@pos@v@window){\fbi@place@thesislogo}% +% \end{macrocode} +% Place the footer below the window if the decoration is to be shown. +% \begin{macrocode} + \iffbi@decor + \put(\fbi@pos@h@,\fbi@pos@v@windowfoot){\fbi@place@windowfooter}% + \fi +% \end{macrocode} +% Place the chair and the supervisors. +% \changes{v0.5f}{2002/09/04}{placement corrected +% (\env{picture} stuff)} +% \begin{macrocode} + \put(\fbi@pos@h@,\fbi@pos@v@chair){\fbi@place@chair}% +% \end{macrocode} +% Place the logo of the chair. +% \changes{v0.5f}{2002/09/04}{placement corrected +% (\env{picture} stuff)} +% \begin{macrocode} + \put(\fbi@pos@h@logo,\fbi@pos@v@chair){\fbi@place@chairlogo}% +% \end{macrocode} +% Place the address on the right side, near the bottom of the page. +% \changes{v0.5d}{2002/08/29}{added address placement} +% \changes{v0.5f}{2002/09/04}{placement corrected +% (\env{picture} stuff)} +% \begin{macrocode} + \iffbi@decor + \linethickness{0.5mm}% + \put(\fbi@pos@h@address,\fbi@pos@v@addresshead){\line(1,0){% + \fbi@size@h@address}}% + \put(\fbi@pos@h@address,\fbi@pos@v@addressfoot){\line(1,0){% + \fbi@size@h@address}}% + \put(\fbi@pos@h@address,\fbi@pos@v@address){\fbi@place@address}% + \fi +% \end{macrocode} +% If we are in \describeoption{draft}\Lopt{draft}~mode the frames +% are placed on the page. +% \begin{macrocode} + \fbi@place@marks% +% \end{macrocode} +% Close the \env{picture}~environment and prevent overfull h- and +% vboxes. +% \begin{macrocode} + \endpicture\hss}% + \vss}% +% \end{macrocode} +% The following code is based on (and mostly copied from) +% \cite{neukam:scrclass}. With it the enhanced title of \koma\ +% is also provided by \package{\filename}. For a description see +% \cite{kohm:komabuch}. +% \changes{v0.7e}{2002/11/26}{support \koma-title} +% \changes{v1.1e}{2003/03/04}{use \cmd{\iffbi@base@koma}} +% \begin{macrocode} + \iffbi@base@koma + \if@twoside + \clearpage\thispagestyle{empty}% + \noindent\begin{minipage}[t]{\textwidth}% + \ifx\@uppertitleback\undefined\else% + \@uppertitleback% + \fi% + \end{minipage}\par% + \vfill% + \noindent\begin{minipage}[b]{\textwidth}% + \ifx\@lowertitleback\undefined\else% + \@lowertitleback% + \fi% + \end{minipage}% + \fi + \fi +% \end{macrocode} +% \changes{v1.2e}{2006/01/18}{declaration implemented} +% \changes{v1.2e}{2006/01/23}{signature lines implemented} +% \changes{v1.2j}{2008/02/17}{layout of signatures changed} +% \begin{macrocode} + \if@twoside + \iffbi@declaration + \cleardoublepage\thispagestyle{empty}% + \noindent\begin{minipage}[t]{\textwidth}% + \noindent\fbi@text@declaration\par% + \vspace{1cm}% + \fbi@tempcntb=\z@% + \loop + \vspace{1.5cm}% + \noindent\rule{6cm}{1pt}\hspace{0.5cm}% + \rule{6cm}{1pt}\par% + \noindent\parbox{6cm}{\small\fbi@text@placendate}\hspace{0.5cm}% + \parbox{6cm}{\small\fbi@text@name}\par% + \ifnum\fbi@tempcntb<\fbi@tempcnta + \advance\fbi@tempcntb by \@ne% + \repeat + \end{minipage} + \fi + \fi +% \end{macrocode} +% This, too, is based on \cite{neukam:scrclass}. However since the +% \ams-classes use a different macro for the dedication, we have to +% distinguish between the baseclasses. +% \changes{v1.1c}{2003/02/07}{support \ams-title} +% \changes{v1.1e}{2003/03/04}{use \cmd{\iffbi@base@ams} and +% \cmd{\iffbi@base@koma}} +% \begin{macrocode} + \iffbi@base@ams + \ifx\@dedicatory\@empty\else + \clearpage\thispagestyle{empty}\null\vfill + {\centering\Large\@dedicatory\par} + \vskip \z@ \@plus3fill + \if@twoside\clearpage\thispagestyle{empty}\cleardoublepage\fi + \fi + \else + \iffbi@base@koma + \ifx\@dedication\@empty\else + \clearpage\thispagestyle{empty}\null\vfill + {\centering\Large\@dedication\par} + \vskip \z@ \@plus3fill + \if@twoside% + \clearpage\thispagestyle{empty}\cleardoublepage% + \fi + \fi + \fi + \fi +% \end{macrocode} +% Finish the title page. +% \begin{macrocode} + \end{titlepage}% +% \end{macrocode} +% Clean things up and save memory. +% \changes{v0.6a}{2002/09/23}{use \cmd{\fbi@cleanup}} +% \begin{macrocode} + \fbi@cleanup% +}% +% \end{macrocode} +% \end{macro} +% +% \changes{v1.1n}{2003/10/08}{Internal: new} +%^^A ================================================================= +%^^A Define internal commands +%^^A ================================================================= +% \subsubsection{Internal Commands} +% \label{subsubsec:intern} +% +% \begin{macro}{\fbi@cleanup} +% After the title is set we have to do some cleanup. +% \changes{v0.6a}{2002/09/23}{new} +% \changes{v0.6d}{2002/10/19}{\cmd{\date}- and +% \cmd{\thesislogo}-stuff} +% \changes{v0.7e}{2002/11/26}{\koma-stuff} +% \changes{v1.1p}{2004/03/21}{\cmd{\fbi@place@}|*|-commands removed} +% \changes{v1.1p}{2004/03/21}{made global} +% \changes{v1.2b}{2005/01/03}{cleanup isn't that neccessary} +% \begin{macrocode} +\newcommand*{\fbi@cleanup}{% +% \end{macrocode} +% We reset the \Lcount{footnote}~counter and restore +% \cmd{\footnote}'s original definition. +% \begin{macrocode} + \setcounter{footnote}{0}% + \global\let\footnote=\@oldfootnote +}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\fbi@testGfile} +% This command is mostly based on the definition of +% \cmd{\Ginclude@graphics}, part of the \package{graphics}-package +% (see \cite{ltx2e:graphics} by \person{David P.\ Carlisle}. +% +% The macro \cmd{\fbi@testGfile}\marg{type}\marg{filename} is used +% to ensure a graphics file \meta{filename} can in fact be found by +% \TeX's search path. As \meta{type} one out of |tu|, |chair| or +% |thesis| is possible. The macro is called by the macros +% \cmd{\tulogo}, \cmd{\chairlogo} or \cmd{\thesislogo}. Otherwise +% these macros would just define the corresponding internal +% \describecsfamily{fbi@logo@\meta{type}} +% \cmd{\fbi@logo@}\meta{type}. So if a graphics file is missing, +% the user would get an error not until these macros are called in +% \cmd{\maketitle}. +% \changes{v1.1d}{2003/02/17}{new} +% \changes{v1.1e}{2003/03/04}{finished} +% \changes{v1.1f}{2003/03/20}{use \meta{type}} +% \changes{v1.2m}{2011/02/06}{type `uni' renamed to `tu'} +% \begin{macrocode} +\newcommand*{\fbi@testGfile}[2]{ +% \end{macrocode} +% Enclose the following in a group to make changes local. +% \begin{macrocode} + \begingroup + \let\input@path\Ginput@path +% \end{macrocode} +% The filename is parsed: we have to know if an extension is given. +% \begin{macrocode} + \filename@parse{#2}% + \ifx\filename@ext\relax +% \end{macrocode} +% If there is no extension, all possible ones are tried: +% \begin{macrocode} + \@for\Gin@temp:=\Gin@extensions\do{% +% \end{macrocode} +% If we already found an existing file using one of the possible +% extensions, we do nothing. +% \begin{macrocode} + \ifx\Gin@ext\relax +% \end{macrocode} +% Otherwise, given the possible extension \cmd{\Gin@temp} check +% whether the file exists. If it does \cmd{\Gin@ext} will be set +% to this extension. +% \begin{macrocode} + \Gin@getbase\Gin@temp + \fi}% + \else +% \end{macrocode} +% If the user supplied an explicit extension, try that one only. +% \begin{macrocode} + \Gin@getbase{\Gin@sepdefault\filename@ext}% + \fi + \ifx\Gin@ext\relax +% \end{macrocode} +% If no file is found, throw a warning. The calling +% \Bslash\meta{type}|logo| command will be ignored. +% \begin{macrocode} + \ClassWarning{fbithesis}{File `#2' not found. The command + `\backslash #1'\MessageBreak is ignored} +% \end{macrocode} +% If the graphics file really exists, set +% \describecsfamily{fbi@logo@\meta{type}}\cs{fbi@logo@}\meta{type} +% to \meta{filename}. +% \begin{macrocode} + \else\expandafter\gdef\csname fbi@logo@#1\endcsname{#2}\fi + \endgroup% +} +% \end{macrocode} +% \end{macro} +% +%^^A ================================================================= +%^^A Config file +%^^A ================================================================= +% \subsection{Load Configuration} +% \label{subsec:loadconfig} +% +% Input a local configuration file (\file{\filename.cfg}), if it +% exists. +% \changes{v0.3d}{2002/04/03}{Config: use \file{\filename.cfg}} +% \changes{v0.4h}{2002/08/13}{Config: changed (\file{.cfg} stuff)} +% \begin{macrocode} +\InputIfFileExists{fbithesis.cfg} + {\typeout{****************************************^^J% + * Local config file fbithesis.cfg used *^^J% + ****************************************} + }{}% +% +% \end{macrocode} +% +%^^A ================================================================= +%^^A Here the \StopEventually stuff will be appended (if we build +%^^A the `programmer' docu) +%^^A ================================================================= +% \Finale +% +\endinput +% +% end of file `fbithesis.dtx' +%%% Local Variables: +%%% mode: texdoc +%%% TeX-master: t +%%% End: diff --git a/macros/latex/contrib/fbithesis/fbithesis.dtx.asc b/macros/latex/contrib/fbithesis/fbithesis.dtx.asc new file mode 100644 index 0000000000..337fe6c64f --- /dev/null +++ b/macros/latex/contrib/fbithesis/fbithesis.dtx.asc @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.16 (Darwin) + +iEYEABECAAYFAk1PMB4ACgkQWcUh6vTSSsmDHACfWWo07Arev+7Y6o1QcSyjtIAo +U7QAoKCgS9t/0SRqP0YQf2dFPZiAmulq +=Vs+o +-----END PGP SIGNATURE----- diff --git a/macros/latex/contrib/fbithesis/fbithesis.ins b/macros/latex/contrib/fbithesis/fbithesis.ins new file mode 100644 index 0000000000..7b7da61db3 --- /dev/null +++ b/macros/latex/contrib/fbithesis/fbithesis.ins @@ -0,0 +1,192 @@ +%% LaTeX2e file `fbithesis.ins' +%% generated by the `filecontents' environment +%% from source `fbithesis' on 2011/02/07. +%% +%% fbithesis.ins, the batch file for the fbithesis package +%% Copyright (C) 2002-2011 Andre Dierker +%% +%% This file is part of the fbithesis package. +%% ------------------------------------------- +%% +%% It may be distributed and/or modified under the conditions of the +%% LaTeX Project Public License, either version 1.3 of this license +%% or (at your option) any later version. +%% +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% In particular, NO PERMISSION is granted to modify the contents of +%% this file since it contains the legal notices that are placed in +%% the files it generates. +%% +%% This file may not be distributed without the original source file +%% fbithesis.dtx. +%% +%% The list of all files belonging to the fbithesis package is given +%% in the file `README'. +%% +%% This file will generate fast loadable files and documentation +%% driver files from the .dtx files in this package when run through +%% LaTeX or TeX. +%% +%% ------------------- start of docstrip commands ------------------- +\input docstrip.tex +% +\ifToplevel{\ifx\askonceonly\undefined% +\Msg{**********************************************}% +\Msg{*}% +\Msg{* This installation requires docstrip}% +\Msg{* version 2.4e or later.}% +\Msg{*}% +\Msg{* An older version of docstrip has been input}% +\Msg{*}% +\Msg{**********************************************}% +\errhelp{Move or rename old docstrip.tex.}% +\errmessage{Old docstrip in input path}% +\batchmode% +\csname @@end\endcsname% +\fi% +}% +% +%% Define standard text: +% +\def\nline{^^J\MetaPrefix\space}% +\def\stdtext{% +Copyright (C) 2002-2011 Andre Dierker\nline\nline% +This file is part of the fbithesis package.\nline% +-------------------------------------------\nline\nline% +It may be distributed and/or modified under the conditions of the\nline% +LaTeX Project Public License, either version 1.3 of this license or\nline% +(at your option) any later version.\nline\nline% +The latest version of this license is in\nline% +\space\space http://www.latex-project.org/lppl.txt\nline% +and version 1.3 or later is part of all distributions of LaTeX\nline% +version 2005/12/01 or later.\nline\nline% +This file may not be distributed without the original source file\nline% +`\inFileName'.\nline\nline% +The list of all files belonging to the fbithesis package is given\nline% +in the file `README'.} +% +%% Declare preambles (and use \stdtext): +% +\declarepreamble\driver + +This is `\outFileName', the documentation driver for the fbithesis +package. +\stdtext + +This is the driver file to produce the LaTeX documentation from the +original source file `\inFileName'. + +Make changes to it as needed. (Never edit the file `\inFileName'!) + +\endpreamble% +% +\declarepreamble\package + +This is `\outFileName', a LaTeX2e package providing a replacement +for the maketitle command. +\stdtext + +For more details, LaTeX the source `\inFileName'. + +\endpreamble% +% +\declarepreamble\example + +This is `\outFileName', an example file for the fbithesis package. +\stdtext + +For more details, LaTeX the source `\inFileName'. + +\endpreamble% +% +\declarepreamble\config + +This is `\outFileName', a configuration file for the fbithesis +package. +\stdtext + +For more details, LaTeX the source `\inFileName'. + +\endpreamble% +% +\keepsilent% +% +%% Greeting: +% +\askforoverwritetrue% +% +\ifToplevel{% + \Msg{}% + \Msg{*********************************************************}% + \Msg{* Hello to the installation of the `fbithesis' package. *}% + \Msg{*********************************************************}% + \Msg{}% + \Msg{***********************}% + \Msg{* Generating files... *}% + \Msg{***********************}% +}% +% +%% File generation: +% +\generate{% + \usepreamble\example% + \file{example.tex}{\from{fbithesis.dtx}{example}}% + \file{exampleaux.tex}{\from{fbithesis.dtx}{exampleaux}}% + \usepreamble\driver% + \file{fbithesis.drv}{\from{fbithesis.dtx}{driver}}% + \usepreamble\config% + \file{fbithesis.cfg}{\from{fbithesis.dtx}{config}}% + \usedir{tex/latex/misc}% + \usepreamble\package% + \file{fbithesis.cls}{\from{fbithesis.dtx}{package}}% +}% +% +%% Report: +% +\ifToplevel{% + \Msg{}% + \Msg{**************************************************************}% + \Msg{*}% +\makeatletter\@ifundefined{basedir}{% + \Msg{* To finish the installation you have to move the following}% + \Msg{* file into a directory searched by LaTeX:}% +}{% + \Msg{* The following file has been automatically created in a}% + \Msg{* directory searched by LaTeX:}% +}\makeatother% + \Msg{*}% + \Msg{* \space\space fbithesis.cls}% +\makeatletter\@ifundefined{basedir}{% + \Msg{*}% + \Msg{* Using a TDS compatible TeX distribution, this would be e.g.}% + \Msg{* tex/latex/misc of your main or your local or your private}% + \Msg{* texmf path. If you don't know these paths, have a look}% + \Msg{* at your `texmf.cnf' or try:}% + \Msg{* \space\space kpsexpand \string $TEXMFMAIN}% + \Msg{* \space\space kpsexpand \string $TEXMFLOCAL}% + \Msg{* \space\space kpsexpand \string $HOMETEXMF}% + \Msg{* You may also use another folder at your \string $TEXINPUTS path.}% +}{}\makeatother% + \Msg{*}% + \Msg{* To produce the documentation and an example, run the}% + \Msg{* following files through LaTeX:}% + \Msg{*}% + \Msg{* \space\space fbithesis.drv (three times)}% + \Msg{* \space\space example.tex}% + \Msg{*}% + \Msg{* For the legal stuff please have a look at:}% + \Msg{*}% + \Msg{* \space\space README}% + \Msg{*}% + \Msg{*}% + \Msg{* Happy TeXing!}% + \Msg{*}% + \Msg{**************************************************************}% + \Msg{}% +}% +% +\endbatchfile diff --git a/macros/latex/contrib/fbithesis/fbithesis.pdf b/macros/latex/contrib/fbithesis/fbithesis.pdf new file mode 100644 index 0000000000..8a8b307eef Binary files /dev/null and b/macros/latex/contrib/fbithesis/fbithesis.pdf differ -- cgit v1.2.3