summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/jkthesis
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/jkthesis
Initial commit
Diffstat (limited to 'macros/latex/contrib/jkthesis')
-rw-r--r--macros/latex/contrib/jkthesis/ChangeLog.jkthesis234
-rw-r--r--macros/latex/contrib/jkthesis/README.jkthesis22
-rw-r--r--macros/latex/contrib/jkthesis/index.ist32
-rw-r--r--macros/latex/contrib/jkthesis/jkthesis.bst1663
-rw-r--r--macros/latex/contrib/jkthesis/jkthesis.dtx1537
-rw-r--r--macros/latex/contrib/jkthesis/jkthesis.ins43
-rw-r--r--macros/latex/contrib/jkthesis/jkthesis.pdfbin0 -> 186686 bytes
-rw-r--r--macros/latex/contrib/jkthesis/symbole.ist61
8 files changed, 3592 insertions, 0 deletions
diff --git a/macros/latex/contrib/jkthesis/ChangeLog.jkthesis b/macros/latex/contrib/jkthesis/ChangeLog.jkthesis
new file mode 100644
index 0000000000..d5079e2bbb
--- /dev/null
+++ b/macros/latex/contrib/jkthesis/ChangeLog.jkthesis
@@ -0,0 +1,234 @@
+2002-07-18 Jochen Küpper <jochen@jochen-kuepper.de>
+
+ * release: 1.1
+
+ * general: All known bugs fixed at this point:)
+
+ * jkthesis.dtx (titlesec): Put definition of title-styles into
+ \AtBeginDocument, otherwise the keyval options don't work any more.
+
+2002-07-16 Jochen Küpper <jochen@jochen-kuepper.de>
+
+ * jkthesis.dtx (\@hhucopyrightpage): Use user-specified faculty, school,
+ and address, or their respective default values. The latter will just
+ produce the old text.
+
+2002-07-12 Jochen Küpper <jochen@jochen-kuepper.de>
+
+ * jkthesis.dtx (section{Voraussetzungen}): New LaTeXen need a 4.x
+ version of footmisc.sty.
+ (titlesec-settings): Do not define individual numberless chapter, as the
+ keyval arguments to titlesec don't work currently.
+
+2001-11-07 Jochen Küpper <jochen@jochen-kuepper.de>
+
+ * jkthesis.dtx: Call this version 1.0! Get it to CTAN and hope people
+ are happy with it:) Hope I have incorporated all patches I had laying
+ around, without putting them in here. (Sorry, that patching is some
+ months ago already and I lost most of the emails:()
+
+2000-11-01 Jochen Küpper <Jochen@Jochen-Kuepper.de>
+
+ * jkthesis.dtx: Setze Kommentar auf Titelseite unten linksbündig.
+
+2000-10-31 Jochen Küpper <Jochen@Jochen-Kuepper.de>
+
+ * jkthesis.dtx: Use aess instead of Helvetica.
+
+2000-10-30 Jochen Küpper <Jochen@Jochen-Kuepper.de>
+
+ * jkthesis.dtx: Rename the a4paper to scaled2a4, 'caause that's what it
+ does:-))
+ Load aecompl besides ae. This provides the few missing symbols (ec fonts
+ not available in ae) as the bitmapped ec originals -- bad look in
+ Acroread, but better than missing completely:-)
+
+2000-10-29 Jochen Küpper <Jochen@Jochen-Kuepper.de>
+
+ * jkthesis.dtx (fonts): Use aett instead of pcr. Not sure that is ok?
+
+2000-10-28 Jochen Küpper <Jochen@Jochen-Kuepper.de>
+
+ * jkthesis.dtx: Fix theindex to correctly set the headings.
+ (titlesec): Remove boldface from standard-qualifiers and parts;
+ chapter headings remain bold.
+ (page-layout) Remove page-numbers on plain-pages again, they just don't
+ fit!
+ Fix typearea by setting appropriately setting \hoffset and \voffset in
+ jkthesis.cls, so we do not need a patched typearea.sty, as suggested by
+ Markus Kohm.
+
+2000-10-27 Jochen Küpper <Jochen@Jochen-Kuepper.de>
+
+ * jkthesis.dtx: Re-enable a4paper for scaling.
+ ( Uses patched typearea.sty and the correct \mag=1414 ;-))
+ (footmisc): Remove options symbol and perage. Add bottom and multiple.
+
+ * jkthesis.bst: Remove spaces between successive first/middle name
+ initials.
+ Add colon after author of PhD-theses.
+
+2000-10-26 Jochen Küpper <Jochen@Jochen-Kuepper.de>
+
+ * jkthesis.dtx (page-layout): Use typearea.sty for page-layout. Remove
+ a4paper option, as it desn't work out to well, and scaling can be
+ achieved by gs as well.
+ Set page-numbers on plain pages centered in footer, was missing before.
+ (hyperref): Set hyperref-options plainpages=false and
+ hypertexnames=true, so hyperindex works correctly even in the preamble.
+
+2000-10-24 Jochen Küpper <Jochen@Jochen-Kuepper.de>
+
+ * jkthesis.dtx (\l@figure, \l@table): No indentation of lof, lot
+ figure-numbers.
+
+2000-10-23 Jochen Küpper <Jochen@Jochen-Kuepper.de>
+
+ * jkthesis.dtx: Set \@pnumwidth and alikes, mostly to fit 3-digit page
+ numbers into the available space.
+ (\@dottedtocline): Redefined to typeset the pagenumber with the same
+ font as the entries' text.
+ (\l@chapter): Use dotted leaders.
+
+2000-10-17 Jochen Küpper <Jochen@Jochen-Kuepper.de>
+
+ * jkthesis.dtx (\ifthenelse): Added fix by Heiko Oberdiek
+ <oberdiek@ruf.uni-freiburg.de> for ifthen/babel/hyperref
+ problems. Before \pageref didn't work correctly.
+ (\biblabel): Remove redefinition and use the generic one from natbib.
+
+2000-10-12 Jochen Küpper <Jochen@Jochen-Kuepper.de>
+
+ * jkthesis.dtx (\maketitle): Added \subtitle command.
+
+2000-10-11 Jochen Küpper <Jochen@Jochen-Kuepper.de>
+
+ * jkthesis.dtx (subsection{Seitenlayout}): Set all layout parameter "by
+ hand", since geometry.sty doesn't cooperate with \mag.
+
+2000-10-03 Jochen Küpper <jochen@pc1.uni-duesseldorf.de>
+
+ * jkthesis.dtx (subsubsection{Schriften}): use ae.sty to get rid of
+ ec-bitmaps.
+
+2000-09-28 Jochen Küpper <Jochen@Jochen-Kuepper.de>
+
+ * jkthesis.dtx: Load subfigure.sty before caption2.sty.
+
+2000-09-05 Jochen Küpper <Jochen@Jochen-Kuepper.de>
+
+ * jkthesis.dtx (titlesec): Remove option bottomtitles for better
+ page-filling.
+
+2000-08-31 Jochen Küpper <Jochen@Jochen-Kuepper.de>
+
+ * jkthesis.dtx: Internal reformatting for better structure. Needs to be
+ continued.
+ Added required nomencl.sty version; \nomitemsep was introduced in v2.8.
+ {pointed out by Axel Kühl.}
+
+2000-08-30 Jochen Küpper <Jochen@Jochen-Kuepper.de>
+
+ * jkthesis.dtx: Remove texnames.sty. Copy the defs that are really
+ needed right into the class file itself and make them hyperref-ready by
+ using \texorpdfstring.
+ Set \frenchspacing. Thanks to Donald Arsenau and Thomas Fehige for advice.
+ ( \nonfrenchspacing is a "quaint Victorian habit", Robert Bringhurst. The
+ Elements of Typographic Style. 2nd edn, Vancouver BC 1996. )
+
+2000-08-29 Jochen Küpper <Jochen@Jochen-Kuepper.de>
+
+ * version: 0.8
+
+ * jkthesis.dtx: Add \relax after inernal preamble commands - some where
+ not output otherwise.
+ Rename \thanks to \acknowledgement. Change docs accordingly.
+ Reduce \headrulewidth to 1pt.
+ \above- and \belowcaptionskip increased to 1mm.
+
+ * jkthesis.bst, Makefile: Added BibTeX style-file to distribution.
+
+2000-08-25 Jochen Küpper <Jochen@Jochen-Kuepper.de>
+
+ * jkthesis.dtx (preamble): Use font with larger stretch for title.
+ Add \morelists to place additional lists right after lot and lof.
+ Rename \addpreamble to \morepreamble.
+ Remove "{}" after use of internal preamble-macros.
+
+2000-08-24 Jochen Küpper <Jochen@Jochen-Kuepper.de>
+
+ * jkthesis.dtx: Require latest fixltx2e, esp. pr3039.
+ (tables): Add some extra space above/below table-rules.
+
+2000-08-23 Jochen Küpper <Jochen@Jochen-Kuepper.de>
+
+ * jkthesis.dtx: Only use ASCII characters, as encodings differ between
+ systems. {pointed out by Hans-Peter Rangol <hprangol@gmx.de>}
+ (preamble): Added \faculty, \school, \schoolplace.
+ (doc, abbreviations): Updated table of abbreviations.
+
+2000-08-20 Jochen Küpper <Jochen@Jochen-Kuepper.de>
+
+ * jkthesis.dtx (references, math): Don't change equation tags and
+ references any more, as fancyref takes care of it already.
+ (abbreviations): Fix start-of-sentence "abbrevations" to honor
+ Duden-rules. Started documentation of abbreviations.
+
+2000-08-19 Jochen Küpper <Jochen@Jochen-Kuepper.de>
+
+ * jkthesis.dtx (doc): Better formatting of documentation.
+ Chapter on math.
+
+2000-08-18 Jochen Küpper <Jochen@Jochen-Kuepper.de>
+
+ * jkthesis.dtx (citations): Citations use standard-LaTeX square bracket
+ notation instead of superscript. Multiple entries are separated by comma
+ and a \thinspace.
+ In front of the citation always a standard space is inserted, even if it
+ follows on punctuation, no additional "end of sentence" space is used.
+ (index): Better index formatting. Set index in \footnotesize instead of
+ specifying the absolute size.
+ (abbreviations): Fix spelling. {Ben Samwer <Ben.Samwer@ptb.de>}
+
+ * symbole.ist, index.ist: Added these makeindex style files. Used for
+ the "nomenclature" and the index, respectivly.
+
+ * README.jkthesis: Added.
+
+2000-08-14 Jochen Küpper <Jochen@Jochen-Kuepper.de>
+
+ Use fancyref instead of plain varioref.
+
+2000-08-10 Jochen Küpper <Jochen@Jochen-Kuepper.de>
+
+ * jkthesis.dtx (preamble): \cleardoublepage in Befehlsdefinitionen
+ anstatt der Titelei-Ausgabe, um unnötige Leerseiten zu vermeiden.
+ (glossary): Set \nomitemsep to 0pt.
+ Verwendung von mathpazo.
+
+2000-08-09 Jochen Küpper <Jochen@Jochen-Kuepper.de>
+
+ * jkthesis.dtx: Redefinition of \NAT@citexnum to obtain compressed
+ reference lists with hyperlinks. Posted to de.comp.text.tex by Jens
+ Berger <jberger@gmx.net>.
+
+2000-08-08 Jochen Küpper <Jochen@Jochen-Kuepper.de>
+
+ * jkthesis.dtx: Don't need tocbibind anymore.
+
+2000-08-08 Jochen Küpper <Jochen@Jochen-Kuepper.de>
+
+ * jkthesis.dtx (glossary): Use nomencl.sty for glossary of symols and
+ abbreviations.
+ Setzte alle Abschnittsüberschriften in \sffamily.
+ Setzte \part}-Überschriften bei einem Drittel der Seite.
+
+ * general: Started this file.
+
+
+
+ * Local Variables:
+ * mode: change-log
+ * mode: auto-fill
+ * fill-column: 80
+ * End:
diff --git a/macros/latex/contrib/jkthesis/README.jkthesis b/macros/latex/contrib/jkthesis/README.jkthesis
new file mode 100644
index 0000000000..7b1946d9bc
--- /dev/null
+++ b/macros/latex/contrib/jkthesis/README.jkthesis
@@ -0,0 +1,22 @@
+Just another LaTeX document class for formatting your thesis.
+
+Copyright (C) 2000,2001,2002 Jochen Küpper
+
+See the TeX-documentation for more details --- I am sorry that the
+docs currently are German only, but this was needed for our
+school. When I have some time (not a resonable assumption) I will
+write an English manual as well (volunteers are wellcome).
+
+Please send bug-reports, suggestions, patches to jochen@jochen-kuepper.de.
+
+The most recent stable version of this class can be obtained from
+ CTAN(dante.ctan.org):macros/latex/contrib/supported/jkthesis/
+
+Jochen
+
+PS: Feel free to change this class to your needs/feelings.
+ Please do not distribute your changed version as jkthesis, but do send me
+ your changes, so I can consider to incorporate them into jkthesis.
+
+PPS: You can look at one thesis formatted using this class at
+ http://www.ulb.uni-duesseldorf.de/diss/mathnat/2000/kuepper.pdf
diff --git a/macros/latex/contrib/jkthesis/index.ist b/macros/latex/contrib/jkthesis/index.ist
new file mode 100644
index 0000000000..bdff688495
--- /dev/null
+++ b/macros/latex/contrib/jkthesis/index.ist
@@ -0,0 +1,32 @@
+%% This is file `index.ist´,
+%% $Id: index.ist,v 1.3 2002/07/12 05:49:14 jochen Exp $
+%%
+%% Copyright (C) 2000,2001 Jochen Küpper
+%%
+%% This file can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License distributed from CTAN
+%% archives in the directory macros/latex/base/lppl.txt; either
+%% version 1 of the license, or (at your option) any later version.
+%%
+%% \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 \~}
+%%
+
+%% ---- for input file ----
+quote '°'
+%% ---- for output file ----
+preamble "\\begin{theindex}\n\\raggedright\n"
+postamble "\n\n\\end{theindex}\n"
diff --git a/macros/latex/contrib/jkthesis/jkthesis.bst b/macros/latex/contrib/jkthesis/jkthesis.bst
new file mode 100644
index 0000000000..af85a35edc
--- /dev/null
+++ b/macros/latex/contrib/jkthesis/jkthesis.bst
@@ -0,0 +1,1663 @@
+%%% $Id: jkthesis.bst,v 1.5 2002/07/12 05:49:13 jochen Exp $
+%%%
+%%% Copyright (C) 1999--2001 Jochen Küpper
+%%%
+%%% This is file `abbrev', containing all journal abbreviations we use.
+%%% It tries to be consistent with general merlin abbrevs, so don't use
+%%% the merlin names differently.
+%%%
+%%% Due to some limitations in the automatic generation of
+%%% abbrev.bib from this file, do not insert blank lines !
+%%% Do not split macros accross multiple lines !
+%%% Keep the exact format of all these entries !
+%%% (Only comments or macro-Lines are allowed.)
+MACRO {aa} {"Astron.\ \& Astrophys."}
+MACRO {acr} {"Acc.\ Chem.\ Res."}
+MACRO {acmcs} {"ACM Comput.\ Surv."}
+MACRO {acta} {"Acta Inf."}
+MACRO {actacryst} {"Acta Cryst."}
+MACRO {actaphys} {"Acta Phys."}
+MACRO {advp} {"Adv.\ Phys."}
+MACRO {ajp} {"Amer.\ J.\ Phys."}
+MACRO {ajm} {"Amer.\ J.\ Math."}
+MACRO {amsci} {"Amer.\ Sci."}
+MACRO {anofd} {"Ann.\ Fluid Dyn."}
+MACRO {am} {"Ann.\ Math."}
+MACRO {ap} {"Ann.\ Phys.\ (NY)"}
+MACRO {adp} {"Ann.\ Phys.\ (Leipzig)"}
+MACRO {ao} {"Appl.\ Opt."}
+MACRO {apa} {"Appl.\ Phys.\ A"}
+MACRO {apb} {"Appl.\ Phys.\ B"}
+MACRO {apl} {"Appl.\ Phys.\ Lett."}
+MACRO {app} {"Astroparticle Phys."}
+MACRO {apj} {"Astrophys.\ J."}
+MACRO {baps} {"Bull.\ Amer.\ Phys.\ Soc."}
+MACRO {bunsen} {"Ber.\ Bunsenges.\ Phys.\ Chem."}
+MACRO {biochem} {"Biochem."}
+MACRO {chember} {"Chem.\ Ber."}
+MACRO {biopol} {"Biopol."}
+MACRO {canjp} {"Can.\ J.\ Phys."}
+MACRO {cacm} {"Commun.\ ACM"}
+MACRO {cmp} {"Comm.\ Math.\ Phys."}
+MACRO {cp} {"Chem.\ Phys."}
+MACRO {cpam} {"Commun.\ Pure Appl.\ Math."}
+MACRO {cppcf} {"Comm.\ Plasma Phys.\ \& Controlled Fusion"}
+MACRO {cpc} {"Comp.\ Phys.\ Comm."}
+MACRO {cpl} {"Chem.\ Phys.\ Lett."}
+MACRO {cqg} {"Class.\ Quant.\ Grav."}
+MACRO {cra} {"C.\ R.\ Acad.\ Sci.\ A"}
+MACRO {ddj} {"Dr.\ Dobbs Journal"}
+MACRO {fed} {"Fusion Eng.\ \& Design"}
+MACRO {ft} {"Fusion Tech."}
+MACRO {grg} {"Gen.\ Relativ.\ Gravit."}
+MACRO {ibmjrd} {"IBM J.\ Res.\ Dev."}
+MACRO {ibmsj} {"IBM Syst.\ J."}
+MACRO {ieeens} {"IEEE Trans.\ Nucl.\ Sci."}
+MACRO {ieeeps} {"IEEE Trans.\ Plasma Sci."}
+MACRO {ieeese} {"IEEE Trans.\ Softw.\ Eng."}
+MACRO {ieeetc} {"IEEE Trans.\ Comput."}
+MACRO {ieeetcad} {"IEEE Trans.\ Comput.-Aided Design Integrated Circuits"}
+MACRO {ijimw} {"Interntl.\ J.\ Infrared \& Millimeter Waves"}
+MACRO {indjpap} {"Indian J.\ Pure Appl.\ Phys."}
+MACRO {ip} {"Infrared Phys."}
+MACRO {ipl} {"Inf.\ Process.\ Lett."}
+MACRO {irp} {"Infrared Phys."}
+MACRO {jacm} {"J.\ ACM"}
+MACRO {jacs} {"J.\ Am.\ Chem.\ Soc."}
+MACRO {jap} {"J.\ Appl.\ Phys."}
+MACRO {jasa} {"J.\ Acoust.\ Soc.\ America"}
+MACRO {jcedu} {"J.\ Chem.\ Educ."}
+MACRO {jchp} {"J.\ Chem.\ Phys."}
+MACRO {jcp} {"J.\ Comp.\ Phys."}
+MACRO {jcs} {"J.\ Chem.\ Soc."}
+MACRO {jcss} {"J.~Comput.\ Syst.\ Sci."}
+MACRO {jetp} {"Sov.\ Phys.--JETP"}
+MACRO {jfe} {"J.\ Fusion Energy"}
+MACRO {jfm} {"J.\ Fluid Mech."}
+MACRO {jmolspec} {"J.\ Mol.\ Spec."}
+MACRO {jmolstruct} {"J.\ Mol.\ Struct."}
+MACRO {jmp} {"J.\ Math.\ Phys."}
+MACRO {jne} {"J.\ Nucl.\ Energy"}
+MACRO {jnm} {"J.\ Nucl.\ Mat."}
+MACRO {jpc} {"J.\ Phys.\ Chem."}
+MACRO {jpca} {"J.\ Phys.\ Chem.\ A"}
+MACRO {jpcb} {"J.\ Phys.\ Chem.\ B"}
+MACRO {jpp} {"J.\ Plasma Phys."}
+MACRO {jpsj} {"J.\ Phys.\ Soc.\ Japan"}
+MACRO {jsi} {"J.\ Sci.\ Instrum."}
+MACRO {jvst} {"J.\ Vac.\ Sci.\ \& Tech."}
+MACRO {laserchem} {"Laser Chem."}
+MACRO {molphys} {"Mol.\ Phys."}
+MACRO {nat} {"Nature"}
+MACRO {nature} {"Nature"}
+MACRO {nedf} {"Nucl.\ Eng.\ \& Design/Fusion"}
+MACRO {nf} {"Nucl.\ Fusion"}
+MACRO {nim} {"Nucl.\ Inst.\ \& Meth."}
+MACRO {nimpr} {"Nucl.\ Inst.\ \& Meth.\ in Phys.\ Res."}
+MACRO {np} {"Nucl.\ Phys."}
+MACRO {npb} {"Nucl.\ Phys.\ B"}
+MACRO {nt/f} {"Nucl.\ Tech./Fusion"}
+MACRO {inc} {"Nuovo Cimento"}
+MACRO {nc} {"Nuovo Cimento"}
+MACRO {optcom} {"Opt.\ Commun."}
+MACRO {optspec} {"Optics {a}nd Spectroscopy"}
+MACRO {orgmassspec} {"Org.\ Mass Spectrom."}
+MACRO {pccp} {"Phys.\ Chem.\ Chem.\ Phys."}
+MACRO {perkin} {"J.\ Chem.\ Soc.\ Perkin Trans."}
+MACRO {pf} {"Phys.\ Fluids"}
+MACRO {pfa} {"Phys.\ Fluids A: Fluid Dyn."}
+MACRO {pfb} {"Phys.\ Fluids B: Plasma Phys."}
+MACRO {photochembio} {"Photochem.\ Photobiol."}
+MACRO {pl} {"Phys.\ Lett."}
+MACRO {pla} {"Phys.\ Lett.\ A"}
+MACRO {plb} {"Phys.\ Lett.\ B"}
+MACRO {prep} {"Phys.\ Rep."}
+MACRO {pnas} {"Proc.\ Nat.\ Acad.\ Sci.\ USA"}
+MACRO {pp} {"Plasma Phys."}
+MACRO {ppcf} {"Plasma Phys.\ \& Controlled Fusion"}
+MACRO {phitrsl} {"Philos.\ Trans.\ Roy.\ Soc.\ London"}
+MACRO {prl} {"Phys.\ Rev.\ Lett."}
+MACRO {pr} {"Phys.\ Rev."}
+MACRO {pra} {"Phys.\ Rev.\ A"}
+MACRO {prb} {"Phys.\ Rev.\ B"}
+MACRO {prc} {"Phys.\ Rev.\ C"}
+MACRO {prd} {"Phys.\ Rev.\ D"}
+MACRO {pre} {"Phys.\ Rev.\ E"}
+MACRO {ps} {"Phys.\ Scripta"}
+MACRO {procrsl} {"Proc.\ Roy.\ Soc.\ London"}
+MACRO {rmp} {"Rev.\ Mod.\ Phys."}
+MACRO {rsi} {"Rev.\ Sci.\ Inst."}
+MACRO {sam} {"Stud.\ Appl.\ Math."}
+MACRO {sciam} {"Sci.\ Am."}
+MACRO {science} {"Science"}
+MACRO {scp} {"Sci.\ Comput.\ Programming"}
+MACRO {sicomp} {"SIAM J.\ Comput."}
+MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."}
+MACRO {spd} {"Sov.\ Phys.--Doklady"}
+MACRO {specacta} {"Spectrochim.\ Acta"}
+MACRO {sptp} {"Sov.\ Phys.-Tech.\ Phys."}
+MACRO {spu} {"Sov.\ Phys.-Uspeki"}
+MACRO {tocs} {"ACM Trans.\ Comput.\ Syst."}
+MACRO {tods} {"ACM Trans.\ Database Syst."}
+MACRO {tog} {"ACM Trans.\ Gr."}
+MACRO {toms} {"ACM Trans.\ Math.\ Softw."}
+MACRO {toois} {"ACM Trans.\ Office Inf.\ Syst."}
+MACRO {toplas} {"ACM Trans.\ Prog.\ Lang.\ Syst."}
+MACRO {tcs} {"Theoretical Comput.\ Sci."}
+MACRO {znat} {"Z.\ Naturforsch."}
+MACRO {znata} {"Z.\ Naturforsch.\ A"}
+MACRO {znatb} {"Z.\ Naturforsch.\ B"}
+MACRO {zp} {"Zeitschr.\ f.\ Phys."}
+MACRO {zpa} {"Zeitschr.\ f.\ Phys.\ A"}
+MACRO {zpb} {"Zeitschr.\ f.\ Phys.\ B"}
+MACRO {zpc} {"Zeitschr.\ f.\ Phys.\ C"}
+MACRO {zpch} {"Zeitschr.\ f.\ Phys.\ Chem."}
+MACRO {zpd} {"Zeitschr.\ f.\ Phys.\ D"}
+
+%%% -------------------------------------------
+%%% *** Jochen's privater Bibliography Style ***
+%%% -------------------------------------------
+%%%
+%%% This is file `jkthesis.bst', generated with the docstrip utility.
+%%% and heavily modified to match my taste, Jochen.
+%%%
+%%% Copyright (C) 1999,2000 Jochen Küpper
+%%%
+%%
+%% The original source files were:
+%%
+%% merlin.mbs
+%% german.mbs
+%% physjour.mbs
+%% merlin.mbs
+ %-------------------------------------------------------------------
+ % The original source file contains the following version information:
+ % \ProvidesFile{merlin.mbs}[1998/02/25 3.85a (PWD)]
+ %
+ % NOTICE:
+ % This file may be used for non-profit purposes.
+ % It may not be distributed in exchange for money,
+ % other than distribution costs.
+ %
+ % The author provides it `as is' and does not guarantee it in any way.
+ %
+ % Copyright (C) 1994-98 Patrick W. Daly
+ %-------------------------------------------------------------------
+ % For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file is intended for texts in
+ % GERMAN
+ % This is a numerical citation style, and as such is standard LaTeX.
+ % It requires no extra package to interface to the main text.
+ % The form of the \bibitem entries is
+ % \bibitem{key}...
+ % Usage of \cite is as follows:
+ % \cite{key} ==>> [#]
+ % \cite[chap. 2]{key} ==>> [#, chap. 2]
+ % where # is a number determined by the ordering in the reference list.
+ % The order in the reference list is alphabetical by authors.
+ %---------------------------------------------------------------------
+
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output.null}
+{ 's :=
+ write$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.null.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.null
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ new.block
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {bolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textbf{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+
+
+
+% Here are the language-specific definitions for explicit words.
+% Each function has a name bbl.xxx where xxx is the English word.
+%-------------------------------------------------------------------
+% The original source file contains the following version information:
+% \ProvidesFile{german.mbs}[1995/11/02 1.5 (PWD)]
+% Copyright (C) 1994, 1995 Patrick W. Daly
+%-------------------------------------------------------------------
+
+FUNCTION {bbl.and}
+{ "und"}
+
+FUNCTION {bbl.editors}
+{ "Herausgeber" }
+
+FUNCTION {bbl.editor}
+{ "Herausgeber" }
+
+FUNCTION {bbl.edby}
+{ "herausgegeben von" }
+
+FUNCTION {bbl.edition}
+{ "Auf\/lage" }
+
+FUNCTION {bbl.volume}
+{ "Band" }
+
+FUNCTION {bbl.of}
+{ "von" }
+
+FUNCTION {bbl.number}
+{ "Nummer" }
+
+FUNCTION {bbl.nr}
+{ "Nr." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{ "Seiten" }
+
+FUNCTION {bbl.page}
+{ "Seite" }
+
+FUNCTION {bbl.chapter}
+{ "Kapitel" }
+
+FUNCTION {bbl.techrep}
+{ "{Technischer Bericht}" }
+
+FUNCTION {bbl.mthesis}
+{ "Diplomarbeit" }
+
+FUNCTION {bbl.phdthesis}
+{ "Dissertation" }
+
+FUNCTION {bbl.first}
+{ "Erste" }
+
+FUNCTION {bbl.second}
+{ "Zweite" }
+
+FUNCTION {bbl.third}
+{ "Dritte" }
+
+FUNCTION {bbl.fourth}
+{ "Vierte" }
+
+FUNCTION {bbl.fifth}
+{ "F\^^b{u}nfte" }
+
+FUNCTION {bbl.th}
+{ "." }
+
+% months
+
+MACRO {jan} {"Januar"}
+MACRO {feb} {"Februar"}
+MACRO {mar} {"M\^^b{a}rz"}
+MACRO {apr} {"April"}
+MACRO {may} {"Mai"}
+MACRO {jun} {"Juni"}
+MACRO {jul} {"Juli"}
+MACRO {aug} {"August"}
+MACRO {sep} {"September"}
+MACRO {oct} {"Oktober"}
+MACRO {nov} {"November"}
+MACRO {dec} {"Dezember"}
+
+
+
+% output routines
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{f{.}{.~}}{vv~}{ll}{, jj}" format.name$
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " et~al. " *
+ }
+ { bbl.and space.word * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.names.ed}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{f.~}{vv~}{ll}{, jj}"
+ format.name$
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " et~al." *
+ }
+ { bbl.and space.word * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", " * bbl.editors * }
+ { ", " * bbl.editor * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.editors}
+{ editor empty$
+ { "" }
+ { editor format.names.ed
+ }
+ if$
+}
+
+FUNCTION {format.note}
+{ note empty$
+ { "" }
+ { note #1 #1 substring$
+ duplicate$ "{" =
+ 'skip$
+ { output.state mid.sentence =
+ { "l" }
+ { "u" }
+ if$
+ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ *
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title
+ emphasize
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {if.digit}
+{ duplicate$ "0" =
+ swap$ duplicate$ "1" =
+ swap$ duplicate$ "2" =
+ swap$ duplicate$ "3" =
+ swap$ duplicate$ "4" =
+ swap$ duplicate$ "5" =
+ swap$ duplicate$ "6" =
+ swap$ duplicate$ "7" =
+ swap$ duplicate$ "8" =
+ swap$ "9" = or or or or or or or or or
+}
+FUNCTION {n.separate}
+{ 't :=
+ ""
+ #0 'numnames :=
+ { t empty$ not }
+ { t #-1 #1 substring$ if.digit
+ { numnames #1 + 'numnames := }
+ { #0 'numnames := }
+ if$
+ t #-1 #1 substring$ swap$ *
+ t #-2 global.max$ substring$ 't :=
+ numnames #5 =
+ { duplicate$ #1 #2 substring$ swap$
+ #3 global.max$ substring$
+ "\," swap$ * *
+ }
+ 'skip$
+ if$
+ }
+ while$
+}
+FUNCTION {n.dashify}
+{
+ n.separate
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in capitalize
+ " " * }
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+ duplicate$ empty$
+ 'skip$
+ {
+ before.all 'output.state :=
+ " (" swap$ * ")" *
+ }
+ if$
+}
+
+FUNCTION{format.year}
+{ year duplicate$ empty$
+ { "empty year in " cite$ * warning$ pop$ "" }
+ { "(" swap$ * ")" * }
+ if$
+}
+
+FUNCTION {format.bookdate}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+ duplicate$ empty$
+ 'skip$
+ {
+ before.all 'output.state :=
+ ", " swap$ * "" *
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { bbl.of space.word * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { bbl.in space.word * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+FUNCTION {convert.edition}
+{ edition extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or
+ { bbl.first 't := }
+ { s "second" = s "2" = or
+ { bbl.second 't := }
+ { s "third" = s "3" = or
+ { bbl.third 't := }
+ { s "fourth" = s "4" = or
+ { bbl.fourth 't := }
+ { s "fifth" = s "5" = or
+ { bbl.fifth 't := }
+ { s #1 #1 substring$ is.num
+ { s bbl.th * 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {format.edition.long}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { convert.edition "l" change.case$ " " * bbl.edition * }
+ { convert.edition "t" change.case$ " " * bbl.edition * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition extract.num "l" change.case$ ". " * bbl.edition * }
+ { edition extract.num "t" change.case$ ". " * bbl.edition * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { bbl.pages pages n.dashify tie.or.space.connect }
+ { bbl.page pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.commapages}
+{ ", " output.null
+ pages empty$
+ { "" }
+ { pages multi.page.check
+ { bbl.pages pages n.dashify tie.or.space.connect }
+ { bbl.page pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {first.page}
+{ 't :=
+ ""
+ { t empty$ not t #1 #1 substring$ "-" = not and }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+}
+
+FUNCTION {format.journal.pages}
+{ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ {
+ ", " *
+ pages first.page *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ " " output.null volume field.or.null
+ bolden
+ " " output.null format.year *
+ format.journal.pages
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.comma.chapter.pages}
+{ ", " output.null
+ chapter empty$
+ 'format.pages
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { word.in booktitle emphasize * }
+ { word.in booktitle emphasize *
+ ", " *
+ bbl.edby
+ * " " *
+ format.in.editors *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { bbl.techrep }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{
+ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { word.in journal emphasize * }
+ if$
+ }
+ { word.in key * " " *}
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$
+ " et~al." *
+ }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ {
+ " et~al." *
+ }
+ { bbl.and space.word * editor #2 "{vv~}{ll}" format.name$
+ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ word.in
+ }
+ { bbl.volume capitalize
+ volume tie.or.space.connect
+ bbl.of space.word *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series emphasize * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { word.in booktitle emphasize * }
+ if$
+ }
+ { word.in key * " " *}
+ if$
+ }
+ { word.in format.crossref.editor * " " *}
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.publisher}
+{ publisher empty$
+ { "empty publisher in " cite$ * warning$ }
+ 'skip$
+ if$
+ ""
+ address empty$ publisher empty$ and
+ 'skip$
+ {
+ publisher empty$
+ { address empty$
+ 'skip$
+ { address * }
+ if$
+ }
+ { publisher *
+ address empty$
+ 'skip$
+ { ", " * address * }
+ if$
+ }
+ if$
+ }
+ if$
+ output
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.null.check ", " output.null
+ new.block
+ crossref missing$
+ { journal
+ emphasize
+ "journal" output.null.check " " output.null
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ }
+ { format.authors output.null ": " output.null
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ format.edition output
+ new.sentence
+ format.publisher
+ }
+ {
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.bookdate "year" output.check
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ new.block
+ howpublished output
+ address output
+ format.date output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.bvolume output
+ new.block
+ format.number.series output
+ format.edition output
+ new.sentence
+ format.publisher
+ }
+ {
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.bookdate "year" output.check
+ new.block
+ format.chapter.pages "pages" output.check
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.edition output
+ new.sentence
+ format.publisher
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ format.date "year" output.check
+ format.commapages "pages" output.null.check
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors output.null ": " output.null
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.btitle "title" output.check
+ format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output.null "." output.null
+ new.sentence
+ publisher empty$
+ { organization output
+ address output
+ }
+ { organization output
+ format.publisher
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.date "year" output.check
+ date.block
+ pages missing$
+ {
+ }
+ { add.blank
+ format.pages "pages" output.check
+ new.block
+ }
+ if$
+ format.note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ {
+ address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ {
+ organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check ":" output.null
+ add.blank
+ title empty$
+ { }
+ { new.block
+ format.btitle "title" output.check
+ new.block
+ }
+ if$
+ address output
+ school "school" output.check
+ bbl.mthesis format.thesis.type output.nonnull
+ format.bookdate "year" output.check
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.bookdate "year" output.check
+ new.block
+ format.note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors output.null ": " output.null
+ title empty$
+ { }
+ { new.block
+ format.btitle "title" output.check
+ new.block
+ }
+ if$
+ address output
+ school "school" output.check
+ bbl.phdthesis format.thesis.type output.nonnull
+ format.bookdate "year" output.check
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.bookdate "year" output.check
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ format.date output
+ new.block
+ format.note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{ll{ }}{ f{ }}{ jj{ }}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ " " *
+ namesleft #1 = t "others" = and
+ { "zzzzz" * }
+ { t sortify * }
+ if$
+ }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" *
+ write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/macros/latex/contrib/jkthesis/jkthesis.dtx b/macros/latex/contrib/jkthesis/jkthesis.dtx
new file mode 100644
index 0000000000..52fbf74b49
--- /dev/null
+++ b/macros/latex/contrib/jkthesis/jkthesis.dtx
@@ -0,0 +1,1537 @@
+% \iffalse
+%%
+%% ----------------------------------------------------------------------------
+%%
+%% Jochen´s LaTeX document class for typesetting theses
+%%
+%% Copyright (C) 2000,2001,2002 Jochen Küpper
+%% $Id: jkthesis.dtx,v 1.107 2002/07/18 06:11:05 jochen Exp $
+%%
+%% This file may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License, either version 1.2 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.2 or later is part of all distributions of LaTeX version
+%% 1999/12/01 or later.
+%%
+%% It would be nice if you recognize using this class in your copyright page.
+%% See the default \copyrightpage entry for details.
+%%
+%% ----------------------------------------------------------------------------
+%%
+% \fi
+%%
+%% \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
+%
+\newcommand{\docdate}{} % See the renewcommands below,
+\newcommand{\filedate}{} % these contain the content;-))
+\newcommand{\fileversion}{}
+%
+%<*driver>
+\documentclass[a4paper,ngerman]{ltxdoc}
+\usepackage{babel}
+\usepackage{fixltx2e}
+\usepackage{ae}
+\usepackage{mathpazo}
+ \renewcommand{\sfdefault}{phvv} % Helvetica scaled by 0.95
+ \renewcommand{\ttdefault}{aett} % Courier
+\usepackage[colorlinks,hyperindex=false]{hyperref}
+\AtBeginDocument{
+%</driver>
+\renewcommand{\docdate}{2002/07/18}
+\renewcommand{\filedate}{2002/07/18}
+\renewcommand{\fileversion}{1.1}
+%<*driver>
+}
+\CodelineIndex
+\setcounter{tocdepth}{2}
+\setlength{\abovecaptionskip}{2mm}
+\setlength{\belowcaptionskip}{2mm}
+\newcommand{\origttfamily}{}
+\let\origttfamily=\ttfamily
+\renewcommand{\ttfamily}{\origttfamily \hyphenchar\font=`\-}
+\newcommand{\origtexttt}[1]{}
+\let\origtexttt=\texttt
+\renewcommand{\texttt}[1]{\origtexttt{\hyphenchar\font=`\- #1}}
+\hypersetup{
+ pdfauthor = {Jochen K\"upper},
+ pdfkeywords = {Dissertation LaTeX Heinrich-Heine-Universit\"at},
+ pdftitle = {Die jkthesis Dokumentklasse},
+ pdfsubject = {LaTeX document class for typesetting a thesis}
+}
+\renewcommand{\BibTeX}{\texorpdfstring{%
+ \textsc{Bib}\kern-.08em\TeX}{BibTeX}}
+\newcommand{\AMSLaTeX}{\texorpdfstring{%
+ $\mathcal{A}$\kern-.1667em\lower.5ex\hbox{$\mathcal{M}$}%
+ \kern-.125em$\mathcal{S}$-\LaTeX}{AMS-LaTeX}}
+\begin{document}
+\title{Die jkthesis Dokumentklasse\thanks{Diese Datei hat die Version
+ \fileversion, letzte \"Anderungen der Makros am \filedate, der
+ Dokumentation am \docdate.}}
+\author{Jochen K\"upper \\ \small jochen@jochen-kuepper.de}
+\date{\filedate}
+\maketitle
+\begin{abstract}
+ \noindent
+ Eine \LaTeXe-Dokumentklasse f\"ur eine Dissertation an der
+ Heinrich-Heine-Universit\"at D\"usseldorf, unter Ber\"ucksichtigung der
+ M\"oglichkeit zur elektronischen Ver\"offentlichung der Dissertation.
+\end{abstract}
+\tableofcontents
+\DocInput{jkthesis.dtx}
+\PrintIndex
+\end{document}
+%</driver>
+% \fi
+%
+%
+% \section{Warnung}
+%
+% Dies ist eine Vorabversion dieser Klasse um R\"uckmeldungen und W\"unsche von
+% anderen Benutzern zu erhalten. Die Schnittstelle kann jederzeit (und ohne
+% Vorwarnung) ge\"andert werden.
+%
+% Nichtsdestotrotz ist die Klasse voll funktionsf\"ahig. Da sie zur Zeit noch
+% "`h\"ochstnichtstandard"' ist, sollte sie ohnehin mit dem Hauptdokument
+% zusammen gspeichert werden, so dass in dieser Hinsicht keinerlei Probleme
+% zu erwarten sind.
+%
+% Ich werde mich bem\"uhen, nach au\ss{}en sichtbare \"Anderungen klein zu
+% halten, werde aber zur Zeit noch keinen "`Kompatibilit\"atsmodus"'
+% einf\"uhren.
+%
+%
+% \section{\"Anderungen}
+%
+% \"Anderungen werden in der Datei \texttt{ChangeLog.jkthesis}, die Bestandteil
+% der Distribution ist, protokolliert.
+%
+%
+% \section{Einleitung}
+%
+% Ich habe die \textsf{jkthesis} Dokumentklasse urspr\"unglich zur einfachen
+% Anfertigung einer Dissertation mit \LaTeXe{} oder pdf\LaTeX{} an der
+% Heinrich-Heine-Universit\"at --- insbesonders in der Math.-Nat.\ Fakult\"at ---
+% entwickelt. Sie soll einem einheitlichen und (hoffentlich) guten Layout von
+% elektronischen Dissertationen dienen. Da dies aber auch an anderen
+% Universit\"aten n\"utzlich sein kann, unterst\"utzt die Klasse beliebige
+% Institutionen. Falls es Fakult\"aten mit spezifischen, vom normalen Verhalten
+% abweichenden Richtlinien gibt, kann die Klasse entsprechend erweitert werden
+% (email an \url{jochen@jochen-kuepper.de}).
+%
+% \subsection{Weiterf\"uhrende Dokumentation}
+%
+% Alle verbreiteten \TeX-Distributionen schlie\ss{}en eine grosse Menge
+% Dokumentation mit ein, nach der TDS\footnote{\TeX-Directory-Structure;
+% ein Vorschlag des \LaTeX3-Teams f\"ur einen einheitlichen Aufbau von
+% \TeX-Installationen.} ist diese unterhalb \$TEXMF/doc abgelegt.
+% Insbesonders sollten dort die Dokumentation aller in dieser Anleitung
+% erw\"ahnten Standardpakete enthalten sein.
+%
+% Manche Systeme haben zus\"atzliche Erleichterungen zum Auffinden von
+% \LaTeX-Dokumentation, z.~B.\ kann man unter tetex die Dokumentation
+% zu einem Paket mittels \texttt{texdoc <paketname>} anzeigen lassen.
+%
+%
+% \section{Voraussetzungen}
+%
+% Die Verwendung von pdflatex-1.0 (oder neuer) wird empfohlen, da seit dieser
+% Version \emph{protuding characters} gut unterstützt werden, d.\ h.\ Zeichen
+% einem niedrigeren Grauwert ragen in den Rand hinein. Dadurch erhält man
+% keinen geometrisch geraden Rand mehr, sondern eine optisch/visuell gerade
+% erscheinenden --- und das nimmt man als Mensch ja nunmal wahr.
+%
+% Dazu muss man das Paket \texttt{pdfcprot} aus dem CTAN
+% (\url{http://www.ctan.org}) installieren und mittels
+% \begin{verbatim}
+%\usepackage[activate]{pdfcprot}
+% \end{verbatim}
+% die Verwendung aktivieren.
+%
+% Ebenso kann aber auch jede andere (neuere) \LaTeX-Version mit dieser Klasse
+% verwendet werden.
+%
+% Das verwendete \TeX-System sollte die in Tabelle~\ref{tab:voraussetzungen}
+% angegebnenen Voraussetzungen erf\"ullen, was bei vielen aktuellen
+% \TeX-Distributionen praktisch erf\"ullt ist. Ansonsten m\"ussen zun\"achst die
+% fehlenden Pakete installiert werden. Neuere Pakete als die angegebenen
+% Versionen sollten immer funktionieren, ansonsten bitte Fehlerbericht an mich.
+% \begin{table}\centering
+% \caption{Von \textsf{jkthesis} ben\"otigte Pakete. Es werden weitere
+% Standardpakete ben\"otigt, die in jeder \"ublichen \TeX-Distribution
+% enthalten sind. Neuere als die hier angegebenen Versionen sollten in
+% jedem Fall funktionieren, \"altere unter Umst\"anden nicht.}
+% \label{tab:voraussetzungen}
+% \begin{tabular}{lll}
+% \hline
+% \LaTeXe & & 1999/12/01 \\
+% extsizes & v1.4a & 1999/01/07 \\
+% fancyref & v0.9c & 1999/02/03 \\
+% fixltx2e & v1.0b & 1999/12/01 \\
+% footmisc & v4.0a & 2001/06/12 \\
+% hyperref & v6.71 & \\
+% mathpazo & & 2000/06/26 \\
+% nomencl & v2.9 & 1999/11/23 \\
+% natbib & v7.0 & 1999/05/28 \\
+% titlesec & v2.5 & 2002/04/07 \\
+% \hline
+% \end{tabular}
+% \end{table}
+% Es werden noch ein Reihe weiterer Pakete verwendet, bei denen die verwendeten
+% Versionen keine besondere Rolle im Zusammenhang mit \textsf{jkthesis} haben.
+% Man sollte aber bei Problemen immer die aktuellen Versionen dieser Pakete
+% installieren. Eine List der verwendeten Pakete erh\"alt man mit einem
+% \texttt{\bslash{}listfiles}-Kommando in der Pr\"aamble.
+%
+%
+% \section{Installation}
+%
+% Kopieren Sie die Dateien \texttt{jkthesis.dtx} und \texttt{jkthesis.ins}
+% in ein tempor\"ares Verzeichnis. F\"uhren Sie nacheinander die folgenden
+% Befehle aus:
+% \begin{verbatim}
+%latex jkthesis.ins
+%pdflatex jkthesis.dtx
+%makeindex -g -s gind jkthesis
+%pdflatex jkthesis.dtx
+% \end{verbatim}
+% Es sollten jetzt die Dateien \texttt{jkthesis.cls} und
+% \texttt{jkthesis.pdf} erzeugt worden sein. Falls Sie kein \textsf{pdflatex}
+% installiert haben, k\"onnen Sie auch das "`normale"' \texttt{latex} verwenden;
+% sie erhaltne dann anstelle der \texttt{jkthesis.pdf}-Datei das Handbuch
+% als \texttt{jkthesis.dvi}.
+%
+% Die einfachst M\"oglichkeit, diese Klasse zu verwenden ist, sie in das gleiche
+% Verzeichnis wie Ihr Dokument zu kopieren.
+%
+% Um die Klasse global auf Ihrem System zu installieren, sollten Sie die Datei
+% \texttt{jkthesis.cls} nach \texttt{\$TEXMF/tex/latex/jkthesis/jkthesis.cls}
+% kopieren, sowie das Handbuch nach
+% \texttt{\$TEXMF/""doc/""latex/""jkthesis/""jkthesis.pdf} kopieren.
+% Im Fall der globalen Installation m\"ussen Sie Ihrem \TeX-Systems die Dateien
+% evtl. noch bekanntmachen, indem Sie die \texttt{ls-R}-Datenbank auffrischen;
+% bei te\TeX z.~B.\ mittels \texttt{mktexlsr}.
+% Falls Sie die \BibTeX-Stildatei \texttt{jkthesis.bst} verwenden, kopieren Sie
+% diese entweder auch in Ihr lokales Verzeichnis, oder nach
+% \texttt{\$TEXMF/""bibtex/""bibtex/""bst/""jkthesis/""jkthesis.bst}.
+%
+% Bei Problemen sollte zun\"achst \"uberpr\"uft werden, ob alle in
+% Tabelle~\ref{tab:voraussetzungen} angegebenen Voraussetzungen erf\"ullt sind!
+%
+% \section{Klassenoptionen}
+%
+% Die \textsf{jkthesis}-Klasse erwartet die Angabe eines
+% Ausgabetreibers f\"ur das \textsf{hyperref}-Paket, z.B.\ \texttt{dvips} oder
+% \texttt{pdftex}; bzgl.\ Informationen \"uber weitere Treiber sei auf die
+% \textsf{hyperref} Dokumentation verwiesen. Falls keine solche Option
+% angegeben wird, wird als Defaultwert \texttt{pdftex} verwendet.
+% Zus\"atzlich definiert das Paket die Option \texttt{online}, die farbige
+% Querverweise im Dokument erzeugt, w\"ahrend die Standardeinstellung zwar
+% Hyperlinks erstellt, diese aber alle schwarz l\"a\ss{}t, da die farbigen Links
+% im Ausdruck h\"aufig mit schlechtem Kontrast erscheinen.
+%
+% Weiterhin wird eine Sprachoption f\"ur das \textsf{babel}"=System erwartet,
+% \"ublicher"-weise wird das wohl \texttt{ngerman} oder evtl.\ \texttt{german}
+% --- f\"ur die alten Rechtschreiberegeln --- sein. Voreinstellung von
+% \textsf{jkthesis} ist \texttt{ngerman}.
+%
+% Als Papierformate wird zur Zeit nur \texttt{a5paper} unterst\"utzt, sowie
+% \texttt{scaled2a4} als hochskalierte \texttt{a5paper} Version. Diese kann als
+% Kopiervorlage verwendet werden, um auf DIN-A4 auszudrucken und beim Kopieren
+% wieder auf DIN-A5 zu verkleinern.
+%
+% Die Seitenränder werden mittels \textsf{typearea} aus dem
+% \textsf{koma-script}-Paket bestimmt, siehe \texttt{scrguide.dvi} für weitere
+% Einzelheiten hierzu.
+%
+%
+% \section{Schriften}
+%
+% Mit der \textsf{jkthesis}-Klasse werden als Brotschrift Palatino, eine
+% passend skalierte Helvetica als serifenlose Schrift und Courier als
+% Schreibmaschinenschrift. Diese Schriften sind bei jeder mir bekannten
+% \LaTeXe-Distribution als PostScript Type1-Schriften vorhanden.
+%
+% Bitmapschriften sollten nicht zur Erzeugung von PDF-Dokumenten angewandt
+% werden, da der Acrobat Reader diese extrem schlecht anzeigt --- obwohl
+% Ausdrucke in gewohnter guter \LaTeX-Qualit\"at sind.
+% Dies ist besonders bei Verwendung der \texttt{ec}-Schriften zu beachten,
+% da diese nur kommerziell als Typ1-Schriften erh\"altlich
+% sind.\footnote{\href{http://www.micropress-inc.com}{MicroPress Inc.}}
+%
+%
+%
+% \section{Die Pr\"aamble}
+%
+% Die \textsf{jkthesis}-Klasse definiert eine Reihe von Befehlen, die die
+% Pr\"aamble definieren. Diese sollten alle direkt nach
+% \texttt{$\backslash$begin\{document\}} definiert werden und dann mittels
+% \DescribeMacro{\maketitle} \texttt{$\backslash$maketitle} gesetzt werden.
+%
+%
+% \subsection{Die Titelei}
+%
+% \DescribeMacro{\title}
+% \DescribeMacro{\subtitle}
+% \DescribeMacro{\author}
+% \DescribeMacro{\place}
+% \DescribeMacro{\birthplace}
+% \DescribeMacro{\date}
+% F\"ur die Titelei werden die Angabe des Titels der Arbeit, des Autors, des
+% Geburtsorts, des Abgabeorts und des Datums ben\"otigt. Aufgrund dieser Angaben
+% werden dann ein Schmutztitel und eine vollst\"andige Titelseite nach den
+% Richtlinien der Promotionsordnung der Math.-Nat.\ Fakult\"at erstellt.
+%
+% Weiterhin werden die PDF-Dokumentinformationen für Autor und Titel
+% definiert.
+%
+% \DescribeMacro{\faculty}
+% \DescribeMacro{\school}
+% \DescribeMacro{\schoolplace}
+% Mit den Befehlene \texttt{\bslash{}faculty}, \texttt{\bslash{}school} und
+% \texttt{\bslash{}schoolplace} k\"onnen die entsprechenden Angaben f\"ur die
+% Titelseite ge\"andert werden, voreingestellt sind die
+% Math.-Nat.\ Fakult\"at der Heinrich-Heine-Universit\"at.
+%
+%
+% \subsection{Der weitere Vorspann}
+%
+% \DescribeMacro{\copyrightpage}
+% Witerhin kann der Autor einen Copyrightvermerk machen, der zus\"atzlich zur
+% Druckgenehmigung der Fakult\"at und der Honorierung des \LaTeXe-Teams auf
+% Seite vier der Arbeit gesetzt wird. Der untere Standardtext kann mittels
+% eines optionale zweiten Arguments ge\"andert werden.
+% \DescribeMacro{\dedication}
+% \DescribeMacro{\acknowledgement}
+% \"Ublicher"-weise wird die Dissertation auch eine Danksagungsseite enthalten,
+% evtl.\ auch eine Widmung.
+% Nun werden das Inhaltsverzeichnis, die Liste der Abbildungen und die Liste
+% der Tabellen gestzt.
+%
+% \DescribeMacro{\symbols}
+% \DescribeMacro{\nomenclature}
+% Der Befehl \texttt{\bslash{}symbols} setzt ein Symbol- und
+% Abk\"urzungsverzeichnis.
+% Dazu muss mittels
+% \begin{verbatim}
+%makeindex -g -s symbole.ist -o <filename>.gls \
+% -t <filename>.gll <filename>.glo
+% \end{verbatim}
+% das Glossary bearbeitet werden.
+% Eine Kapitel\"uberschrift wird automatisch gesetzt.
+% Symbole k\"onnen mittels
+% \texttt{\bslash{}nomenclature[Sortier\-schl\"ussel]""\{Symbol\}""\{Er\-kl\"arung\}}
+% definiert werden.
+%
+% \DescribeMacro{\preface}
+% Manche Arbeiten werden ein Vorwort enthalten, obwohl das f\"ur eine
+% Dissertation schon ungew\"ohnlich ist.
+%
+% \DescribeMacro{\morepreamble}
+% Um zus\"atzlich Vorspannseiten zu erzeugen dient der Befehl
+% \texttt{\bslash{}morepreamble}, der eine neue Doppelseite beginnt und dann
+% ohne weitere explizite Formatierung den Inhalt ausgibt.
+%
+% Letztlich wird unter Umst\"anden nochmals die Doppelseite beendet und die
+% Seitennummerierung f\"ur den Haupttext initialisiert.
+%
+%
+% \section{Tabellen und Abbildungen}
+%
+% Die \textsf{jkthesis}-Klasse l\"adt bereits die Standard-\LaTeXe{}-Klassen
+% \textsf{array} und \textsf{longtable}. Somit k\"onnen die erweiterten
+% Spaltenformatierungen des \textsf{array}-Pakets verwendet werden. Ausserdem
+% k\"onnen mehrseitige Tabellen gesetzt werden, dazu sei auf die
+% \textsf{longtable}-Dokumentation verwiesen.
+%
+%
+% \subsection{\"Uber- bzw.\ Unterschriften}
+%
+% Bei Tabellen und Abbildungen sollte man beachten das Tabellen eine
+% \emph{\"Uber\-schrift}, Abbildungen jedoch eine \emph{Unterschrift} haben;
+% d.h.\ dass der \texttt{$\backslash$caption}-Befehl innerhalb einer
+% \texttt{table}-Umgebung vor der \texttt{tabular} stehen muss, innerhalb einer
+% \texttt{figure}-Umgebung jedoch hinter der
+% \texttt{$\backslash$includegraphics}-Anweisung. \texttt{$\backslash$label}
+% m\"ussen in jedem Fall hinter der \texttt{$\backslash$caption}-Anweisung
+% angeordnet werden --- nicht in der Anweisung.
+%
+% Alle Tabellen- und Abbildungs\"uberschriften werden mit ein wenig Abstand oben
+% und unten gesetzt, sowie auf beiden Seiten 1~cm eingezogen. Ausserdem wird
+% eine kleinere Schrift verwendet.
+%
+% \subsection{Linien in Tabellen}
+%
+% \DescribeMacro{\toprule}
+% \DescribeMacro{\midrule}
+% \DescribeMacro{\bottomrule}
+% Die Klasse \textsf{jkthesis} stellt f\"ur die horizontalen Linien in Tabellen
+% die Befehle \texttt{\bslash{}toprule}, \texttt{\bslash{}midrule} und
+% \texttt{\bslash{}bottomrule} zur Verf\"ugung. Diese sollten dann auch
+% ausschliesslich zur Erzeugung von Linien in Tabellen verwendet werden.
+% \DescribeMacro{\cmidrule}
+% Mit dem \texttt{\bslash{}cmidrule}-Befehl k\"onnen horizontale Linien \"uber
+% einen Bereich von Spalten gezogen werden, die Syntax ist
+% \texttt{\bslash{}cmidrule(<trim>){a-b}}.
+% Dieses Kommando zieht eine Linie von Spalte a bis Spalte b, wobei das optionale
+% Argument \texttt{<trim>} (in runden Klammern!) die Werte "`l"' "`r"', "`lr"'
+% oder "`rl"' annehmen kann und angibt, an welchen Seiten die Linie eingezogen
+% werden soll.
+% Vertikale Linien und die Verwendung von \texttt{\bslash{}cmidrule} sollten
+% wenn m\"oglich vermieden werden, aber letzlich ist eine Spaltengruppierung
+% mittels \texttt{\bslash{}cmidrule} vertikalen Linien vorzuziehen.
+%
+% Auf keinen Fall sollten die Befehle \texttt{\bslash{}hline} bzw.\
+% \texttt{\bslash{}cline} verwendet werden, welche zu unvorhersehbaren
+% Probleme f\"uhren k\"onnen, wenn Sie mit den hier vorgestellten Befehlen
+% gemischt werden; bzgl.\ weitere Informationen siehe die Dokumentation zum
+% \textsf{booktabs} Paket.
+%
+%
+% \section{Querverweise}
+%
+% Wir verwenden hier das Paket \textsf{fancyref} um Querverweise leichter
+% handhaben zu k\"onnen.
+% \DescribeMacro{\fref}
+% \DescribeMacro{\Fref}
+% Insbesoders steht das Makro \texttt{\bslash{}fref} zur Verf\"ugung, das
+% neben dem Querverweis selber auch die Art des Objektes mit ausgibt;
+% au\ss{}erdem wird die zus\"atzlich Zielseite des Verweises ausgegeben.
+%
+% Weitere Hinweise zur Anwendung sind der \textsf{fancyref}-Anweisung zu
+% entnehmen.
+%
+%
+% \section{Mathematik}
+%
+% \subsection{\protect\AMSLaTeX}
+%
+% Die \AMSLaTeX{} Pakete \textsf{amsmath} und \textsf{amssymb} werden automatisch
+% geladen.
+%
+% \subsection{Komma}
+%
+% Das Komma wird im Mathemodus so umdefiniert, dass es als Dezimaltrennzeichen
+% korrekt gesetzt wird, falls ihm kein Leerzeichen folgt.
+% Folgt hingegen ein Leerzeichen, wird es als Listenseparator erkannt und
+% korrekt etwas Abstand eingef\"ugt, wie z.\ B.\ in
+% $f(x, y)$.\footnote{Zur Erkl\"arung siehe auch die de-\TeX-FAQ, Frage 8.2.4:
+% Warum f\"ugt TeX in einer mathematischen Formel hinter einem Dezimalkomma
+% einen kleinen Zwischenraum ein?}
+%
+% \subsection{Schriften}
+%
+% Es werden die Pakete \textsf{mathpazo} und f\"ur die kaligrafischen Zeichen
+% \textsf{eucal} geladen. Somit stehen zu der Brotschrift Palatino passende
+% Mathesymbole zur Verf\"ugung.
+%
+%
+% \section{\TeX-Namen}
+%
+% \DescribeMacro{\AMSLaTeX}
+% \DescribeMacro{\BibTeX}
+% Diese Makros werden so definiert, dass sie in jedem Kontext verwendet werden
+% k\"onnen.
+%
+%
+% \section{Abk\"urzungen}
+%
+% \DescribeMacro{\bzgl}
+% \DescribeMacro{\ca}
+% \DescribeMacro{\evtl}
+% \DescribeMacro{\ua}
+% \DescribeMacro{\usw}
+% \DescribeMacro{\vgl}
+% \DescribeMacro{\zB}
+% \DescribeMacro{\ZB}
+% Es werden die in Tabelle~\ref{tab:abk} aufgelisteten Bequemheitsmakros
+% definiert, die vor allem f\"ur den korrekten Freiraum hinter Punkten sorgen.
+% Au\ss{}erdem werden bei mehrgliedrigen Abk\"urzungen kleinere Zwischenr\"aume
+% verwendet.
+% (Duden: Richtlinien f\"ur den Schriftsatz)
+% \begin{table}
+% \centering
+% \caption{Abk\"urzungsmakros, etc.}
+% \label{tab:abk}
+% \begin{tabular}{ll}
+% \hline
+% \verb+\bzgl+ & bzgl. \\
+% \verb+\ca+ & ca. \\
+% \verb+\evtl+ & evtl. \\
+% \verb+\ua+ & u.\thinspace a. \\
+% \verb+\usw+ & usw. \\
+% \verb+\vgl+ & vgl. \\
+% \verb+\zB+ & z.\thinspace B. \\
+% \verb+\ZB+ & Zum Beispiel \\
+% \hline
+% \end{tabular}
+% \end{table}
+%
+%
+% \section{Thumbnails}
+%
+% Thumbnails können mit dem perl-Skript \texttt{thumbpdf} von Heiko Oberdiek
+% erzeugt werden. Dazu muss das Paket thumbpdf eingebunden werden und
+% das Dokument mit thumbpdf bearbeitet werden. Bei einem anschließenden
+% pdf\LaTeX-Lauf werden die erzeugtne Thumbnails eingebunden.
+%
+%
+% \section{Dank}
+%
+% Eine Reihe von Leuten haben zu dieser Klasse beigetragen.
+% Insbesonders m\"ochte ich allen \TeX{}nicians im \textsf{usenet}
+% (\url{news:de.comp.text.tex} und \url{news:comp.text.tex}) und dem
+% \LaTeXe-Team danken.
+% Besonders danken möchte ich auch Axel Kühl für ausgiebige Tests der Klasse.
+%
+% Ich hoffe ich habe alle individuellen Beitr\"age in der Datei
+% \texttt{ChangeLog.jkthesis} vermerkt; falls ich jemanden zu erw\"ahnen
+% vergessen habe, bitte ich mir das mitzuteilen.
+%
+% \section{Der Programmcode}
+%
+% Nachdem wir die ben\"otigte \LaTeXe-Version angegeben haben und die
+% Dokumentklasse und seine aktuelle Version identifiziert haben,
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesClass{jkthesis}%
+[\filedate\space v\fileversion\space HHU thesis class]
+% \end{macrocode}
+% werden einige Pakete geladen, die f\"ur die Auswertung der Optionen n\"otig
+% sind,
+% \begin{macrocode}
+\RequirePackage{ifthen}
+% \end{macrocode}
+%
+% sowie einige interne Variable, die evtl.\ durch Optionen beeinflu\ss{}t werden,
+% deklariert und mit Defaultwerten definiert.
+%
+% Standardm\"a\ss{}ig wird eine Druckversion erstellt:
+% \begin{macrocode}
+\newboolean{onlineversion}
+\setboolean{onlineversion}{false}
+% \end{macrocode}
+%
+% Der pdftex-Treiber kann etwas mehr als die anderen.
+% \begin{macrocode}
+\newboolean{pdftexdriver}
+\setboolean{pdftexdriver}{false}
+% \end{macrocode}
+%
+%
+% \subsection{Deklaration der Optionen}
+%
+% Jetzt werden die akzeptierten Optionen definiert:
+%
+% Die unterst\"utzten \textsf{hyperref}-Treiber.
+% \begin{macrocode}
+\DeclareOption{pdftex}{
+ \setboolean{pdftexdriver}{true}
+ \PassOptionsToPackage{\CurrentOption}{hyperref}}
+\DeclareOption{dvips,dvipsone,dviwindo,hypertex,ps2pdf,vtex}{
+ \setboolean{pdftexdriver}{false}
+ \PassOptionsToPackage{\CurrentOption}{hyperref}}
+% \end{macrocode}
+%
+% Die Sprachoptionen. \textsf{fancyref} versteht z.\ Z.\ kein \texttt{ngerman},
+% also Fragen wir es in diesem Fall nach \texttt{german}.
+% \begin{macrocode}
+\DeclareOption{ngerman}{
+ \PassOptionsToPackage{\CurrentOption}{babel}
+ \PassOptionsToPackage{german}{fancyref}}
+\DeclareOption{american,english,french,german}{
+ \PassOptionsToPackage{\CurrentOption}{babel,fancyref}}
+% \end{macrocode}
+%
+% Papierformat
+% \begin{macrocode}
+\DeclareOption{a5paper}{
+ \PassOptionsToClass{\CurrentOption}{extbook}
+ \PassOptionsToPackage{\CurrentOption}{typearea}}
+\DeclareOption{scaled2a4}{
+ \mag1414
+ \setlength{\hoffset}{1in}
+ \addtolength{\hoffset}{-1truein}
+ \setlength{\voffset}{1in}
+ \addtolength{\voffset}{-1truein}
+ \PassOptionsToClass{a5paper}{extbook}
+ \PassOptionsToPackage{a5paper}{typearea}}
+% \end{macrocode}
+%
+%
+% Ein \texttt{online}-Dokument sollte Hyperlinks farbig darstellen, w\"ahrend
+% standardm\"a\ss{}ig schwarze Links verwendet werden, um im Ausdruck einen h\"oheren
+% Kontrast zu erhalten:
+% \begin{macrocode}
+\DeclareOption{online}{\setboolean{onlineversion}{true}}
+% \end{macrocode}
+%
+%
+% Setze Defaultwerte f\"ur Otionen und werte die \"ubergebenen Optionen aus
+% \begin{macrocode}
+\ExecuteOptions{a5paper,ngerman,vario}
+\ProcessOptions\relax
+% \end{macrocode}
+%
+%
+% \subsection{Einbindung der Basisklassen}
+%
+% Lade die \LaTeXe-Klasse \textsf{extbook}, auf der diese Dokumentklasse
+% \texttt{jkthesis} basiert.
+% \begin{macrocode}
+\LoadClass[9pt,titlepage,twoside]{extbook}
+% \end{macrocode}
+%
+%
+% Den Durchschuss für normalen Text erhöhen wir ein wenig, um die Langen Zeilen
+% besser lesbar zu machen (11pt -> 11.5pt).
+% Die Definition ist ansonsten aus size9.clo (extsizes) kopiert.
+% \begin{macrocode}
+\renewcommand\normalsize{%
+ \@setfontsize\normalsize\@ixpt{11.5}%
+ \abovedisplayskip 8\p@ \@plus4\p@ \@minus4\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 5\p@ \@plus3\p@ \@minus3\p@
+ \belowdisplayskip \abovedisplayskip
+ \let\@listi\@listI}
+\normalsize
+% \end{macrocode}
+%
+%
+% Einige Fixes an der Basis von \LaTeX.
+% \begin{macrocode}
+\RequirePackage{fixltx2e}[1999/12/01]
+% \end{macrocode}
+%
+% \"Unterst\"utzung f\"ur die ausgew\"ahlte Sprache.
+% \begin{macrocode}
+\RequirePackage{babel}
+% \end{macrocode}
+%
+%
+% \subsubsection{Schriften}
+%
+% Hier werden die Schriftkodierung definiert, die zus\"atzlichen Textsymbole
+% aus \textsf{textcomp} und die kaligrafischen Eulerschriften geladen.
+%
+% Das Dokument verwendet Palatino als Brotschrift, eine passend skalierte
+% Helvetica als serifenlose Schrift und Courier als Schreibmaschinenschrift.
+% F\"ur den Mathemodus werden die virtuellen \textsf{mathpazo}-Schriften
+% verwendet, die aus eigenen Zeichen und Computer Modern-Zeichen
+% zusammengestzt und in Hinblick auf die verwendung mit Palatino optimiert
+% sind. Die kaligrafischen Zeichen werden aus der Euler-Schrift genommen.
+%
+% \begin{macrocode}
+\RequirePackage{eucal}
+\RequirePackage{ae,aecompl}
+\RequirePackage{mathpazo}[2000/06/26]
+\renewcommand{\sfdefault}{aess}
+\renewcommand{\ttdefault}{aett}
+\RequirePackage{textcomp}
+% \end{macrocode}
+%
+% Der Zeichensatz Palatino skaliert anders als die \TeX\ eigenen
+% cm-Zeichens\"atze, daher werden hier die Gr\"o\ss{}en der verschiedenen
+% Vergr\"o\ss{}erungsstufen ge\"andert. Im folgenden werden die Indexgr\"o\"sen
+% weniger verkleinert als es Standard ist.
+% \begin{macrocode}
+\DeclareMathSizes{9}{9}{7}{5}
+\DeclareMathSizes{10}{10}{7.6}{6}
+% \end{macrocode}
+%
+%
+% \section{Layout-Grundlagen}
+%
+% Strafpunkte für Zeilenumbruch et al.
+% \begin{macrocode}
+\frenchspacing
+\clubpenalty=2000
+\emergencystretch=20pt
+\pretolerance=500
+\tolerance=2500
+\widowpenalty=2000
+% \end{macrocode}
+%
+% Zeilenabstände
+% \begin{macrocode}
+%%\lineskip=1pt
+\lineskiplimit=-0.3pt
+% \end{macrocode}
+%
+% Textbereich
+% (See scrguide documentation for details.)
+% \begin{macrocode}
+\RequirePackage[headinclude,DIV13,BCOR10mm]{typearea}
+% \end{macrocode}
+%
+% Nummerierungen
+% \begin{macrocode}
+\setcounter{secnumdepth}{3}
+\setcounter{tocdepth}{1}
+% \end{macrocode}
+%
+% sonstiges
+% \begin{macrocode}
+\emergencystretch=1.5em
+\parindent=2em
+\parfillskip=2em plus 1fil
+% \end{macrocode}
+%
+%
+% \subsubsection{Zitate}
+%
+% \begin{macrocode}
+\RequirePackage[comma,numbers,sort&compress,square]{natbib}
+\DeclareRobustCommand\cite{%
+ \unskip\@ \nolinebreak[3]
+ \begingroup\def\NAT@ctype{0}\NAT@partrue\NAT@swatrue
+ \@ifstar{\NAT@fulltrue\NAT@cites}{\NAT@fullfalse\NAT@cites}}
+\setlength\bibsep{1mm}
+% \end{macrocode}
+%
+% Jetzt überreden wir \textsf{natbib} noch, trotz \textsf{hyperref} Referenzen
+% zusammenzufassen. Zwischen zwei Referenzen wird immer ein \verb+\thinspace+
+% gesetzt.
+%
+% Weiter unten (hinter \textsf{hyperref}) werden dann noch ein paar weitere
+% Definitionen im Zusammenhang mit Zitaten vorgenommen.
+% \begin{macrocode}
+\AtBeginDocument{
+ \def\NAT@sort{2}
+ \def\NAT@space{\thinspace}
+ }
+% \end{macrocode}
+%
+%
+% \subsubsection{Querverweise}
+%
+% \iffalse
+% We have to care about conciding \textsf{units.sty} options. We want
+% \texttt{loose} (the default) here, but \texttt{tight} \textsf{units}.
+% otherwise.
+% \fi
+% \begin{macrocode}
+\RequirePackage{fancyref}
+% \end{macrocode}
+% FMi hat in \textsf{varioref} wohl "`vergessen"´, das es auch im
+% deutschen Ausdr\"ucke f\"ur die "`gegen\"uberliegende"´ Seite gibt ;-)
+% Da dieses Paket, und somit auch das davon abgeleitete
+% \textsf{fancyref}, aus Kompatibilt\"atsgr\"unden nicht mehr ge\"andert
+% werden sollen, definieren wir hier unsere eigenen Phrasen.
+% \begin{macrocode}
+\renewcommand{\reftextfaceafter}{%
+ auf der gegen\"uberliegenden Seite}
+\renewcommand{\reftextfacebefore}{%
+ auf der gegen\"uberliegenden Seite}
+\renewcommand{\reftextpagerange}[2]{%
+ auf den Seiten \pageref{#1}--\pageref{#2}}
+% \end{macrocode}
+%
+%
+% \subsubsection{Mathe}
+%
+% Lade \AMSLaTeX. Das weiter unten geladene Paket \textsf{mathpazo} erzeugt
+% richtig skalierte Mathezeichen, daher wird hier die Option
+% \texttt{psamsfonts} nicht angegeben.
+% \begin{macrocode}
+\RequirePackage[centertags,intlimits]{amsmath}
+\RequirePackage{amssymb}
+% \end{macrocode}
+%
+% Gleichungen werden Kapitelweise numeriert.
+% \begin{macrocode}
+\renewcommand{\theequation}{\thechapter-\arabic{equation}}
+\@addtoreset{equation}{chapter}
+% \end{macrocode}
+%
+% Hier wird ',' zu einem normalen Zeichen in Dezimalzahlen definiert, um
+% die \"ublichen Zeichenabst\"ande in Zahlen zu erhalten; siehe Erl\"auterung
+% im Anleitungsteil.
+% \begin{macrocode}
+\mathchardef\CommaOrdinary="013B
+\mathchardef\CommaPunct ="613B
+\mathcode`,="8000 % , im Mathemodus aktiv ("8000) machen
+{\catcode`\,=\active
+ \gdef ,{\obeyspaces\futurelet\next\CommaCheck}}
+\def\CommaCheck{\if\space\next\CommaPunct\else\CommaOrdinary\fi}
+% \end{macrocode}
+%
+%
+% \subsection{\"Uberschriften}
+%
+% Alle \"Uberschriften werden in \texttt{\bslash{}sffamily} gesetzt, die
+% Kapitel\"uberschriften noch mit einem ge\"anderten Layout, in dem
+% Kapitelnummer und -\"uberschrift durch eine Linie getreennt werden.
+% Part-\"Uberschriften werden mit der Nummer in der gleichen Zeile im
+% oberen Drittel der Seite gesetzt.
+%
+% \begin{itemize}
+% \item titlesec muss vor fancyhdr stehen.
+% \item titlesec-<irgendwas> hat am Ende {\bslash{}makeatother} stehen
+% -- sollte hier berücksichtigt werden.
+% \item titlesec's keyval interface funktioniert nur wenn die Definitionen
+% in ein {\bslash{}AtBeginDocument} geschachtelt werden.
+% \end{itemize}
+% \begin{macrocode}
+\RequirePackage[clearempty]{titlesec}
+\AtBeginDocument{
+ \titleformat{name=\part}
+ [block]
+ {\thispagestyle{empty}\centering\scshape\Huge}
+ {\Roman{part}}
+ {1ex}
+ {}
+ [\vspace*{0.5\textheight}]
+ \titleformat{name=\chapter}
+ [display]
+ {\vspace*{-15mm}\sffamily\bfseries\huge}
+ {\filleft\LARGE\ifthenelse{\equal{\@chapapp}{\appendixname}}
+ {\Alph{chapter}}
+ {\Roman{chapter}}}
+ {0pt}
+ {\titlerule\filright}
+ [\vspace*{-5mm}]
+ \titleformat{name=\chapter,numberless}
+ [display]
+ {\vspace*{-15mm}\sffamily\bfseries\huge}
+ {}
+ {0pt}
+ {\raggedright}
+ [\vspace*{-5mm}]
+ \titleformat{name=\section}
+ {\itshape\large}
+ {\thesection}
+ {1em}
+ {}
+ \titleformat{name=\subsection}
+ {\scshape}
+ {\thesubsection}
+ {0.666em}
+ {}
+ \titleformat{name=\subsubsection}
+ {\itshape}
+ {\thesubsubsection}
+ {0.4em}
+ {}
+ \titleformat{name=\paragraph}
+ [runin]
+ {\scshape}
+ {}
+ {opt}
+ {}
+ [ --- ]
+ \titleformat{name=\subparagraph}
+ [runin]
+ {\itshape}
+ {}
+ {0pt}
+ {}
+ [ --- ]
+}
+% \end{macrocode}
+%
+%
+% \subsection{Seitenlayout}
+%
+% Kolumnentitel:
+% \begin{macrocode}
+\RequirePackage[bottom,flushmargin,multiple,norule,stable]{footmisc}
+\RequirePackage{fancyhdr}
+\pagestyle{fancy}
+% \end{macrocode}
+%
+% Umdefinition von plain, wird auf der ersten Seite jedes Kapitels verwendet.
+% \begin{macrocode}
+\fancypagestyle{plain}{\fancyhf{}
+ \renewcommand{\headrulewidth}{0pt}
+ \renewcommand{\footrulewidth}{0pt}
+ }
+\renewcommand{\chaptermark}[1]{\markboth{\thechapter.\ #1}{}}
+\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
+\fancyhf{}
+\fancyhead[LE,RO]{\thepage}
+\fancyhead[RE]{\slshape\leftmark}
+\fancyhead[LO]{\slshape\rightmark}
+\renewcommand{\headrulewidth}{1pt}
+% \end{macrocode}
+%
+%
+%
+% \subsubsection{Verzeichnisse}
+%
+% Layout von Inhalts-, Abbildungs-, Tabellenverzeichnis. Diese "`Längen"' sind
+% als Kommandos in latex/base/classes.dtx definiert und beschrieben.
+% \begin{macrocode}
+\renewcommand{\@pnumwidth}{2.5em}
+\renewcommand{\@tocrmarg}{2em}
+\renewcommand{\@dotsep}{5.0}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\@dottedtocline#1#2#3#4#5{%
+ \ifnum #1>\c@tocdepth \else
+ \vskip \z@ \@plus.2\p@
+ {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
+ \parindent #2\relax\@afterindenttrue
+ \interlinepenalty\@M
+ \leavevmode
+ \@tempdima #3\relax
+ \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
+ \normalfont
+ {#4}\nobreak
+ \leaders\hbox{$\m@th
+ \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
+ mu$}\hfill
+ \nobreak
+ \hb@xt@\@pnumwidth{\hfil\normalcolor #5}%
+ \normalfont%
+ \par}%
+ \fi}
+% \end{macrocode}
+%
+%
+% Neudefinition, modifizierte Kopie aus
+% latex/base/classes.dtx[1999/09/10 v1.4a].
+% \begin{macrocode}
+\renewcommand*\l@chapter[2]{%
+ \ifnum \c@tocdepth >\m@ne
+ \addpenalty{-\@highpenalty}%
+ \vskip 1.0em \@plus\p@
+ \setlength\@tempdima{1.5em}%
+ \begingroup
+ \parindent \z@ \rightskip \@pnumwidth
+ \parfillskip -\@pnumwidth
+ \leavevmode
+ \advance\leftskip\@tempdima
+ \hskip -\leftskip
+ \normalfont\bfseries
+ #1\nobreak
+ \leaders\hbox{$\m@th
+ \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
+ mu$}\hfill
+ \nobreak
+ \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
+ \penalty\@highpenalty
+ \endgroup
+ \fi}
+% \end{macrocode}
+%
+% Keine Einrückunk der Einträge im lof/lot.
+% \begin{macrocode}
+\renewcommand*{\l@figure}{\@dottedtocline{1}{0em}{3em}}
+\renewcommand*{\l@table}{\l@figure}
+% \end{macrocode}
+%
+% Symbol- und Abk\"urzungsverzeichnis
+% \begin{macrocode}
+\RequirePackage[noprefix]{nomencl}
+% \end{macrocode}
+%
+% \subsubsection{Tabellen und Abbildungen}
+%
+% \begin{macrocode}
+% \subsection{Abbildungen}
+\RequirePackage{array}
+\RequirePackage{graphicx}
+\RequirePackage[figuresright]{rotating}
+\setlength{\extrarowheight}{1pt}
+% \end{macrocode}
+%
+% Define the thickness of different rules and some little extra separation
+% around these rules.
+% \begin{macrocode}
+\RequirePackage{booktabs}
+\setlength{\heavyrulewidth}{0.3mm}
+\setlength{\lightrulewidth}{0.15mm}
+\setlength{\cmidrulewidth}{0.1mm}
+\setlength{\aboverulesep}{1pt}
+\setlength{\belowrulesep}{1pt}
+% \end{macrocode}
+%
+% Formatierung der Tabellen\"uber und Abbildungsunterschriften
+% \begin{macrocode}
+\RequirePackage{subfigure}
+\RequirePackage[small]{caption2}
+\setlength{\captionmargin}{5mm}
+\setlength{\abovecaptionskip}{1mm}
+\setlength{\belowcaptionskip}{1mm}
+% \end{macrocode}
+%
+% Plazierungen von floats (Tabellen und Abbildungen).
+% \begin{macrocode}
+\renewcommand{\floatpagefraction}{.6} % vorher: .5
+\renewcommand{\textfraction}{.05} % vorher: .2
+\renewcommand{\topfraction}{1.0} % vorher: .7
+\renewcommand{\bottomfraction}{1.0} % vorher: .3
+\setcounter{topnumber}{1} % vorher: 2
+\setcounter{bottomnumber}{1} % vorher: 1
+\setcounter{totalnumber}{2} % vorher: 3
+% \end{macrocode}
+%
+% \begin{macrocode}
+\RequirePackage{dcolumn}
+ \newcolumntype{d}{D{.}{,}{-1}}
+\RequirePackage[nice,tight]{units}
+\RequirePackage{xspace}
+% \end{macrocode}
+%
+%
+%
+% \subsection{Hyperlinks}
+%
+% Letzlich laden wir noch das \textsf{hyperref}-Paket. Es wird erst jetzt
+% geladen, da es zahlreiche Befehle \"andert und \"uberschreibt, und so verhindert
+% wird das diese \"Anderungen durch andere Pakete wieder aufgehoben werden.
+% Falls eine online-Version erstellt wird, werden farbige Links verwendet,
+% ansonsten schwarze.
+% \begin{macrocode}
+\ifthenelse{\boolean{onlineversion}}{
+ \RequirePackage[hyperindex=true,
+ naturalnames=true,
+ hypertexnames=true,
+ plainpages=false,
+ breaklinks=true,colorlinks=true,
+ citecolor=blue,filecolor=blue,linkcolor=red,
+ pagecolor=blue,urlcolor=red]
+ {hyperref}}{
+ \RequirePackage[hyperindex=true,
+ naturalnames=true,
+ hypertexnames=true,
+ plainpages=false,
+ breaklinks=true,colorlinks=true,
+ citecolor=black,filecolor=black,linkcolor=black,
+ pagecolor=black,urlcolor=black]
+ {hyperref}}
+% \end{macrocode}
+%
+% Und jetzt definienieren wir ein bisserl das natbib/hyperref-Interface um,
+% um auch mit hyperref komprimierte Referenzlisten zu erhalten.
+% \begin{macrocode}
+\ifthenelse{\boolean{pdftexdriver}}
+{\renewcommand\NAT@citexnum{}
+\def\NAT@citexnum[#1][#2]#3{%
+ \NAT@sort@cites{#3}%
+ \let\@citea\@empty
+ \@cite{\def\NAT@num{-1}\let\NAT@last@yr\relax\let\NAT@nm\@empty
+ \@for\@citeb:=\NAT@cite@list\do
+ {\edef\@citeb{\expandafter\@firstofone\@citeb}%
+ \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
+ \@ifundefined{b@\@citeb\@extra@b@citeb}{%
+ {\reset@font\bfseries?}
+ \NAT@citeundefined\PackageWarning{natbib}%
+ {Citation `\@citeb' on page \thepage \space undefined}}%
+ {\let\NAT@last@num\NAT@num\let\NAT@last@nm\NAT@nm
+ \NAT@parse{\@citeb}%
+ \ifNAT@longnames\@ifundefined{bv@\@citeb\@extra@b@citeb}{%
+ \let\NAT@name=\NAT@all@names
+ \global\@namedef{bv@\@citeb\@extra@b@citeb}{}}{}%
+ \fi
+ \ifNAT@full\let\NAT@nm\NAT@all@names\else
+ \let\NAT@nm\NAT@name\fi
+ \ifNAT@swa
+ \ifnum\NAT@ctype>1\relax\@citea
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \ifnum\NAT@ctype=2\relax\NAT@test{\NAT@ctype}%
+ \else\NAT@alias
+ \fi\hyper@natlinkend\else
+ \ifnum\NAT@sort>1
+ \begingroup\catcode`\_=8
+ \ifcat _\ifnum\z@<0\NAT@num _\else A\fi
+ \global\let\NAT@nm=\NAT@num \else \gdef\NAT@nm{-2}\fi
+ \ifcat _\ifnum\z@<0\NAT@last@num _\else A\fi
+ \global\@tempcnta=\NAT@last@num \global\advance\@tempcnta by\@ne
+ \else \global\@tempcnta\m@ne\fi
+ \endgroup
+ \ifnum\NAT@nm=\@tempcnta
+ \ifx\NAT@last@yr\relax
+ %\edef\NAT@last@yr{\@citea \mbox{\noexpand\citenumfont\NAT@num}}%
+ \edef\NAT@last@yr{\@citea \mbox{%
+ \noexpand\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \noexpand\citenumfont\NAT@num%
+ \hyper@natlinkend%
+ }%
+ }%
+ \else
+ %\edef\NAT@last@yr{--\penalty\@m\mbox{\noexpand\citenumfont\NAT@num}}%
+ \edef\NAT@last@yr{--\penalty\@m\mbox{%
+ \noexpand\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \citenumfont\NAT@num\hyper@natlinkend}}%
+ \fi
+ \else
+ \NAT@last@yr \@citea
+ %\mbox{\citenumfont\NAT@num}%
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \mbox{\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ {\citenumfont\NAT@num}\hyper@natlinkend}%
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \let\NAT@last@yr\relax
+ \fi
+ \else
+ \@citea \mbox{\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ {\citenumfont\NAT@num}\hyper@natlinkend}%
+ \fi
+ \fi
+ \def\@citea{\NAT@sep\penalty\@m\NAT@space}%
+ \else
+ \ifcase\NAT@ctype\relax
+ \ifx\NAT@last@nm\NAT@nm \NAT@yrsep\penalty\@m\NAT@space\else
+ \@citea \NAT@test{1}\ \NAT@@open
+ \if*#1*\else#1\ \fi\fi \NAT@mbox{%
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ {\citenumfont\NAT@num}\hyper@natlinkend}%
+ \def\@citea{\NAT@@close\NAT@sep\penalty\@m\ }%
+ \or\@citea
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@test{\NAT@ctype}\hyper@natlinkend
+ \def\@citea{\NAT@sep\penalty\@m\ }%
+ \or\@citea
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@test{\NAT@ctype}\hyper@natlinkend
+ \def\@citea{\NAT@sep\penalty\@m\ }%
+ \or\@citea
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@alias\hyper@natlinkend
+ \def\@citea{\NAT@sep\penalty\@m\ }%
+ \fi
+ \fi
+ }}%
+ \ifnum\NAT@sort>1\relax\NAT@last@yr\fi
+ \ifNAT@swa\else\ifnum\NAT@ctype=0\if*#2*\else
+ \NAT@cmt#2\fi \NAT@@close\fi\fi}{#1}{#2}}
+}{}
+% \end{macrocode}
+%
+%
+% \subsection{Titelei}
+%
+% Definition neuer Befehle f\"ur die Titelei
+% \begin{macrocode}
+\newcommand{\@subtitle}{}
+\newcommand{\subtitle}[1]{
+ \renewcommand{\@subtitle}{#1}}
+
+\newcommand{\@birthplace}{}
+\newcommand{\birthplace}[1]{
+ \renewcommand{\@birthplace}{aus #1}}
+
+\newcommand{\@place}{D\"usseldorf}
+\newcommand{\place}[1]{\renewcommand{\@place}{#1}}
+
+\newcommand{\@faculty}{%
+ Mathematisch-Natur\-wissen\-schaftlichen Fakult\"at}
+\newcommand{\faculty}[1]{\renewcommand{\@faculty}{#1}}
+
+\newcommand{\@school}{Heinrich-Heine-Universit\"at}
+\newcommand{\school}[1]{\renewcommand{\@school}{#1}}
+
+\newcommand{\@schoolplace}{\unskip}
+\newcommand{\schoolplace}[1]{
+ \renewcommand{\@schoolplace}{#1}}
+
+\newcommand{\@hhucopyrightpage}{\noindent
+ Gedruckt mit Genehmigung der
+ \@faculty\ der \@school\ \@schoolplace.}
+\newcommand{\@jkcopyrightpage}{%
+ \noindent Diese Arbeit wurde mit \LaTeXe{} unter Verwendung
+ der \textsf{jkthesis} Dokumentklasse gesetzt.}
+\newcommand{\@copyrightpage}{
+ \@hhucopyrightpage
+ \vfill\@jkcopyrightpage
+ \cleardoublepage}
+\newcommand{\copyrightpage}[3][\@jkcopyrightpage]{%
+ \renewcommand{\@copyrightpage}{%
+ \noindent #3 \par\vspace*{1em}
+ \@hhucopyrightpage \par\vspace*{2em}
+ \noindent #2 \vfill \noindent #1
+ \cleardoublepage}}
+\newcommand{\@dedication}[1]{}
+\newcommand{\dedication}[1]{\renewcommand{\@dedication}[1]{%
+ \begin{flushright}
+ \hspace*{0mm}\vfill
+ \textit{\Large #1 \\}
+ \vfill\vfill\vfill
+ \end{flushright}
+ \cleardoublepage}}
+\newcommand{\@acknowledgement}[1]{}
+\newcommand{\acknowledgement}[1]{\renewcommand{\@acknowledgement}[1]{%
+ \hspace*{0mm}\vfill \noindent #1 \cleardoublepage}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand{\@morelists}[1]{}
+\newcommand{\morelists}[1]{\renewcommand{\@morelists}[1]{#1}}
+% \end{macrocode}
+%
+% \subsubsection{Symbolverzeichnis}
+%
+% Symbole werden mittels \textsf{nomencl} ausgegeben. Die linke Spalte des
+% Glossars wird hier auf 12\% der Textbreite gesetzt. Dies kann \"uber eine
+% \"Anderung der L\"ange \texttt{\bslash{}nomlabelwidth} angepasst werden.
+%
+% \begin{macrocode}
+\makeglossary
+\renewcommand{\nomname}{Verwendete Symbole und Abk\"urzungen}
+\setlength{\nomlabelwidth}{0.12\textwidth}
+\newcommand{\@symbols}{}
+\newcommand{\symbols}{\renewcommand{\@symbols}{%
+ \phantomsection\addcontentsline{toc}{chapter}{\nomname}
+ \setlength{\nomitemsep}{0pt}
+ \printglossary}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand{\@preface}[1]{}
+\newcommand{\preface}[1]{\renewcommand{\@preface}[1]{
+ \thispagestyle{empty} \phantomsection
+ \chapter*{Vorwort}
+ \addcontentsline{toc}{chapter}{Vorwort}
+ \noindent #1 }}
+\newcommand{\@morepreamble}[1]{}
+\newcommand{\morepreamble}[1]{\renewcommand{\@morepreamble}[1]{#1}}
+% \end{macrocode}
+% Auslieferung der Titelei. Zun\"achst die Titelseiten:
+% \begin{macrocode}
+\renewcommand{\maketitle}{
+ \hypersetup{
+ pdfauthor = {\@author},
+ pdftitle = {\@title: \@subtitle},
+ }
+ \pdfbookmark[-1]{Pr\"aamble}{preamble}
+ \pagestyle{empty}\pagenumbering{Roman}
+ \begin{center}
+ {\large \@title\relax \\[1ex]}
+ \@subtitle\relax
+ \cleardoublepage
+ \pdfbookmark[0]{Titelseite}{title}
+ {\fontsize{16}{24}\selectfont \@title\relax \\[1ex]}
+ {\fontsize{14}{18}\selectfont \@subtitle\relax \\}
+ \end{center}
+ \vfill
+ {\raggedright
+ \textsc{Inaugural-Dissertation} \\[1ex]
+ Von \@author\space\@birthplace\space
+ an der \@faculty\space der
+ \@school\space\@schoolplace\space vorgelegt.\\[0.5ex]
+ \@place, \@date}
+ \clearpage
+% \end{macrocode}
+%
+% Die \textit{Copyright}-Seite
+% \begin{macrocode}
+ \@copyrightpage\relax
+% \end{macrocode}
+%
+% Eine evtl.\ Widmung:
+% \begin{macrocode}
+ \@dedication\relax
+% \end{macrocode}
+%
+% Die Danksagung
+% \begin{macrocode}
+ \@acknowledgement\relax
+% \end{macrocode}
+%
+% Inhaltsverzeichnis, Tabellenverzeichnis und Abbildungsverzeichnis
+% \changes{0.4}{2000/08/08}{Add toc-entries for lot and lof by our own.}
+% \begin{macrocode}
+ \pagestyle{fancy}
+ \phantomsection \thispagestyle{empty}
+ \pdfbookmark[0]{\contentsname}{toc}
+ \tableofcontents
+ \cleardoublepage
+ \phantomsection \thispagestyle{empty}
+ \addcontentsline{toc}{chapter}{\listtablename}
+ \listoftables
+ \cleardoublepage
+ \phantomsection \thispagestyle{empty}
+ \addcontentsline{toc}{chapter}{\listfigurename}
+ \listoffigures
+ \cleardoublepage
+ \@morelists\relax
+ \cleardoublepage
+% \end{macrocode}
+% Symbole und Abk\"urzungen
+% \begin{macrocode}
+ \@symbols\relax
+ \cleardoublepage
+% \end{macrocode}
+% Vorwort
+% \begin{macrocode}
+ \@preface\relax
+ \cleardoublepage
+% \end{macrocode}
+% Evtl.\ weitere vom Autor definierte Pr\"aamble-Seiten
+% \begin{macrocode}
+ \@morepreamble\relax
+ \cleardoublepage
+% \end{macrocode}
+% Ende der Preamble. Umschalten auf ``normale'' Seitenzahlen.
+% \begin{macrocode}
+ \pagenumbering{arabic}
+ }
+% \end{macrocode}
+%
+% Set tableofcontents, listoffigures and listoftables headings sf as well.
+% We don´t care on twocolumn mode, as we don´t use it anyway. We also redefine
+% the index and bibliography commands to change the headings they generate.
+%
+% \changes{0.3c}{2000/08/06}{Umdefinition der toc-, lof-, lot-Umgebungen;
+% analog \texttt{\bslash{}thebibliography} und \texttt{\bslash{}theindex}.
+% Insbesonders werden die Header nicht mehr UpperCase gesetzt!
+% Nur einspaltiger Text wird ber\"ucksichtigt, da wir eh kein twocolumn
+% unterst\"utzen.}
+% \changes{0.4}{2000/08/08}{bibliography and index get add themselfs to toc.}
+% \changes{0.5}{2000/08/10}{Index is set in 8pt font.
+% Add \bslash{}indexpreamble und \bslash{}bibpreamble.}
+% \begin{macrocode}
+\AtBeginDocument{
+ \renewcommand{\tableofcontents}{%
+ \sffamily%
+ \chapter*{\contentsname\@mkboth{\contentsname}{\contentsname}}%
+ \@starttoc{toc}%
+ \normalfont}
+ \renewcommand\listoffigures{%
+ \chapter*{\listfigurename\@mkboth{\listfigurename}{\listfigurename}}%
+ \@starttoc{lof}}
+ \renewcommand\listoftables{%
+ \chapter*{\listtablename\@mkboth{\listtablename}{\listtablename}}%
+ \@starttoc{lot}%
+ }
+ \newcommand{\bibpreamble}{}
+ \renewenvironment{thebibliography}[1]{%
+ \chapter*{\bibname}\@mkboth{\bibname}{\bibname}%
+ \addcontentsline{toc}{chapter}{\bibname}%
+ \bibpreamble%
+ \list{\@biblabel{\@arabic\c@enumiv}}{%
+ \settowidth\labelwidth{\@biblabel{#1}}%
+ \leftmargin\labelwidth \advance\leftmargin\labelsep%
+ \@openbib@code \usecounter{enumiv} \let\p@enumiv\@empty%
+ \renewcommand\theenumiv{\@arabic\c@enumiv}}%
+ \sloppy%
+ \clubpenalty4000 \@clubpenalty \clubpenalty \widowpenalty4000%
+ \sfcode`\.\@m%
+ }{%
+ \def\@noitemerr{%
+ \@latex@warning{Empty `thebibliography' environment}%
+ }%
+ \endlist}
+ \newcommand{\indexpreamble}{}
+ \renewenvironment{theindex}{%
+ \columnsep 5\p@%
+ \@mkboth{\indexname}{\indexname}
+ \twocolumn[\@makeschapterhead{\indexname}%
+ \addcontentsline{toc}{chapter}{\indexname}%
+ \indexpreamble]%
+ \thispagestyle{plain}%
+ \parindent\z@ \parskip\z@ \@plus .3\p@\relax%
+ \let\item\@idxitem%
+ \footnotesize%
+ }{
+ \clearpage
+ }
+ }
+% \end{macrocode}
+%
+% Some index-stuff. First we copy the makeidx style here, as it is so small.
+% We slightly modify it, though. Esp. the preamble attribute is needed to
+% work with hyperrefs hypertexnames=false (needed for subfigures).
+% \begin{macro}{\printindex}
+% \begin{macrocode}
+\newcommand\printindex{\@input@{\jobname.ind}}
+\newcommand*\see[2]{\protect\seename #1}
+ \newcommand*{\seename}{$\to$}
+\newcommand*{\main}[1]{\textbf{\hyperpage{#1}}}
+% \end{macrocode}
+% \end{macro}
+%
+% Then we change the index formatting.
+% \begin{macrocode}
+\renewcommand\@idxitem{\par\vspace*{0.5\p@ \@plus0.3\p@ \@minus0.2\p@}%
+ \hangindent 20\p@}
+\renewcommand\subitem{\par\nopagebreak%
+ \hangindent 30\p@ \hspace*{10\p@}}
+\renewcommand\subsubitem{\par\nopagebreak%
+ \hangindent 40\p@ \hspace*{20\p@}}
+\renewcommand\indexspace{\par \vskip 5\p@ \@plus5\p@ \@minus2\p@\relax}
+% \end{macrocode}
+%
+% Weil ifthen, bzw. die Redefinition von babel komplett kaputt sind
+% (bugs babel/3224, babel/3239), funktioniert \verb+\pageref+ nicht mehr
+% richtig. Bugfix von Heiko Oberdiek:
+% \begin{macrocode}
+\AtBeginDocument{%
+ \@ifpackageloaded{ifthen}{%
+ \long\def\ifthenelse#1#2#3{%
+ \let\fix@bbl@tempa\pageref
+ \let\pageref\org@pageref
+ \@safe@activestrue
+ \org@ifthenelse{#1}{%
+ \let\pageref\fix@bbl@tempa
+ \@safe@activesfalse
+ #2%
+ }{%
+ \let\pageref\fix@bbl@tempa
+ \@safe@activesfalse
+ #3%
+ }%
+ }%
+ }{}%
+}
+% \end{macrocode}
+%
+%
+% \subsection{Chemische Formeln, etc.}
+%
+% \begin{macro}{\chemsum}
+% Korrekter Satz von chemischen Summenformeln, nach Ideen von Kopka und
+% \url{news:de.comp.text.tex}.
+% \begin{macrocode}
+\DeclareRobustCommand{\chemsum}[1]{%
+ {\(\m@th
+ \edef\resetfontdimens{\noexpand\)%
+ \fontdimen16\textfont2=\the\fontdimen16\textfont2
+ \fontdimen17\textfont2=\the\fontdimen17\textfont2\relax}%
+ \fontdimen16\textfont2=2.7pt \fontdimen17\textfont2=2.7pt
+ \mathsf{#1}%
+ \resetfontdimens}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Epigraphen}
+%
+% \begin{macro}{\epigraph}
+% Setzt einen Epigraphen an der angegebenen Stelle. Argumente sind
+% der Text und ein evtl.\ Autor.
+% \begin{macrocode}
+\newcommand{\epigraph}[2]{\begin{flushright} \textit{#1}\\
+ \textsc{#2} \end{flushright} \par\noindent}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{\TeX-Names}
+%
+% These are taken from texnames.sty, simplified for the newer LaTeX versions,
+% and extended to work in all contexts with pdf\LaTeX\ and \textsf{hyperref}.
+%
+% \begin{macro}{\BibTeX}
+% \BibTeX
+% \begin{macrocode}
+\newcommand{\BibTeX}{\texorpdfstring{%
+ \textsc{Bib}\kern-.08em\TeX}{BibTeX}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\AMSLaTeX}
+% \AMSLaTeX
+% \begin{macrocode}
+\newcommand{\AMSLaTeX}{\texorpdfstring{%
+ $\mathcal{A}$\kern-.1667em\lower.5ex\hbox{$\mathcal{M}$}%
+ \kern-.125em$\mathcal{S}$-\LaTeX}{AMS-LaTeX}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Abk\"urzungen}
+%
+% \begin{macro}{\bzw}
+% "`beziehungsweise"´
+% \begin{macrocode}
+\newcommand{\bzw}{bzw.\@\xspace}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\bzgl}
+% "`bez\"uglich"´
+% \begin{macrocode}
+\newcommand{\bzgl}{bez\"uglich\xspace}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ca}
+% "`circa"´
+% \begin{macrocode}
+\newcommand{\ca}{circa\xspace}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\dah}
+% "`das hei\ss{}t"´
+% \begin{macrocode}
+\newcommand{\dah}{das heisst\xspace}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\Dah}
+% "`Das hei\ss{}t"´
+% \begin{macrocode}
+\newcommand{\Dah}{Das heisst\xspace}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\evtl}
+% "`eventuell"´
+% \begin{macrocode}
+\newcommand{\evtl}{eventuell\xspace}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ua}
+% "`unter anderem"´
+% \begin{macrocode}
+\newcommand{\ua}{unter anderem\xspace}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\usw}
+% "`und so weiter"´
+% \begin{macrocode}
+\newcommand{\usw}{usw.\@\xspace}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\vgl}
+% "`vergleiche"´
+% \begin{macrocode}
+\newcommand{\vgl}{vergleiche\@\xspace}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\zB}
+% "`zum Beispiel"´
+% \begin{macrocode}
+\newcommand{\zB}{z.\thinspace{}B.\@\xspace}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ZB}
+% Da am Satzanfang laut den Duden-Richtlinien zum Schriftsatz "`Abk\"urzungen"'
+% ausgesetzt werden, hier also "`Zum Beispiel"´.
+% \begin{macrocode}
+\newcommand{\ZB}{Zum Beispiel\xspace}
+% \end{macrocode}
+% \end{macro}
+
+
+% \iffalse
+%% Local Variables:
+%% mode: LaTeX
+%% End:
+% \fi
diff --git a/macros/latex/contrib/jkthesis/jkthesis.ins b/macros/latex/contrib/jkthesis/jkthesis.ins
new file mode 100644
index 0000000000..8d9c41ad2c
--- /dev/null
+++ b/macros/latex/contrib/jkthesis/jkthesis.ins
@@ -0,0 +1,43 @@
+% Jochen´s LaTeX document class for typesetting theses
+%
+% Copyright (C) 2000,2001 Jochen Küpper
+% $Id: jkthesis.ins,v 1.5 2002/07/12 05:49:14 jochen Exp $
+%
+% This file will generate a fast loadable class file from the dtx file in this
+% package when run through LaTeX or TeX.
+%
+% This file may be distributed and/or modified under the conditions of the
+% LaTeX Project Public License, either version 1.2 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.2 or later is part of all distributions of LaTeX version
+% 1999/12/01 or later.
+%
+% It would be nice (but is not required) if you recognize using this class in
+% your copyright page.
+
+\def\batchfile{jkthesis.ins} \input docstrip.tex
+
+\generateFile{jkthesis.cls}{t}{\from{jkthesis.dtx}{package}}
+
+
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* files into a directory searched by TeX:}
+\Msg{*}
+\Msg{* `jkthesis.cls´}
+\Msg{*}
+\Msg{* To produce the documentation run `jkthesis.dtx´}
+\Msg{* through pdfLaTeX and makeindex, e. g.}
+\Msg{* pdflatex jkthesis.dtx}
+\Msg{* makeindex -g -s gind jkthesis}
+\Msg{* pdflatex jkthesis.dtx}
+\Msg{*}
+\Msg{* Happy TeXing}
+\Msg{***********************************************************}
+
+
+%% Local Variables:
+%% mode: LaTeX
+%% End:
diff --git a/macros/latex/contrib/jkthesis/jkthesis.pdf b/macros/latex/contrib/jkthesis/jkthesis.pdf
new file mode 100644
index 0000000000..8eb78947f7
--- /dev/null
+++ b/macros/latex/contrib/jkthesis/jkthesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/jkthesis/symbole.ist b/macros/latex/contrib/jkthesis/symbole.ist
new file mode 100644
index 0000000000..27d86c159f
--- /dev/null
+++ b/macros/latex/contrib/jkthesis/symbole.ist
@@ -0,0 +1,61 @@
+%% This is file `symbole.ist´, based on `nomencl.ist',
+%% generated with the docstrip utility.
+%% $Id: symbole.ist,v 1.4 2002/07/12 05:49:14 jochen Exp $
+%%
+%% The original source files were: nomencl.dtx (with options: `idxstyle')
+%% Angepasst für meine Dissertation (Jochen).
+%%
+%% Copyright 1996 Boris Veytsman
+%% Copyright 1999 Bernd Schandl
+%% email schandl@gmx.net
+%% www http://www.math.clemson.edu/~bschand/nomencl
+%% Copyright (C) 2000,2001 Jochen Küpper
+%%
+%% This file can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License distributed from CTAN
+%% archives in the directory macros/latex/base/lppl.txt; either
+%% version 1 of the license, or (at your option) any later version.
+%%
+%% Nomenclature style file for MAKEINDEX.
+%% For nomencl v2.5 (and later)
+%%
+%% Formats glossary entries to show, e.g. nomenclature of equations.
+%%
+%% \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 \~}
+%%
+
+%% ---- for input file ----
+keyword "\\glossaryentry"
+quote '°'
+%% ---- for output file ----
+preamble "\\begin{theglossary} \n"
+postamble "\n\n\\end{theglossary}\n"
+group_skip "\n"
+delim_0 ""
+delim_1 ""
+delim_2 ""
+%% The next lines will produce some warnings when
+%% running Makeindex as they try to cover two different
+%% versions of the program:
+%(commented unused version)
+%lethead_prefix "\n \\nomgroup{"
+%lethead_suffix "}\n"
+%lethead_flag 1
+heading_prefix "\n \\nomgroup{"
+heading_suffix "}\n"
+headings_flag 1
+