Schönen Gruß vom KOMA-Script-Autor an den Prof. Grundsätzlich ist gegen seine Klasse nichts zu sagen. Allerdings verwendet er mit ngerman ein Paket, das im Gegensatz zu babel sein Jahren nicht mehr gepflegt wird. Als ngerman noch neu war, war es babel eine Nasenlänge voraus. Inzwischen hat sich das gedreht. Ich würde deshalb babel empfehlen. Natürlich sollten \title etc. dann hinter \begin{document} verschoben werden.
Mit latin1 schreibt er eine Eingabecodierung in der Klasse vor. Inzwischen geht der Trend eindeutig zu utf8. Gleichzeitig verwehrt er damit xelatex- und lualatex-Anwendern die Nutzung der dort vorhandenen nativen utf8-Unterstützung. Deshalb ist es besser, in der Klasse inputenc gar nicht erst zu laden, sondern das in das Beispieldokument zu verlagern und dort mit einem entsprechenden Kommentar zu versehen.
Das Paket cmmib57 ist obsolet, wie jedermann in der Anleitung dazu nachlesen kann. Keine Ahnung, wozu er das noch lädt. Braucht er das wirklich?
Wenn er bei den Kapitelnummern den DIN-konformen automatischen Punkt am Ende rauswirft, sollte das bei den übrigen Gliederungebenen schon wegen der Konsistenz auch tun, oder habe ich da etwas übersehen?
Die Verwendung interner Makros wie \subject@font ist gefährlich und nicht notwendig, da es eine offizielle Schnittstelle dazu gibt.
In einer Klasse sollte man für die dort verwendeten Texte für Sonderzeichen/Umlaute niemals eine bestimmte Kodierung voraussetzen, sondern immer die TeX-Umschreibung (also beispielsweise \"a für ä) verwenden. Auch hier gibt es sonst Probleme mit xelatex, lualatex etc. Siehe dazu auch die kürzlich stattgefundene Diskussion auf der TeXLive-Mailingliste.
\renewcommand{\abstractname}{{\normalsize Zusammenfassung}}
Das ist ganz schlecht. Zum einen überlebt es eine Sprachumschaltung nicht, zum anderen wird \abstractname nicht nur für die
Überschrift selbst, sondern beispielsweise auch bei \markboth, \pdfbookmark etc. verwendet. Dort überall landet dann das \normalsize ebenfalls. Hier sollte er sich dringend eine saubere Lösung einfallen lassen.
Das Problem, dass sie eine Sprachumschaltung nicht überleben, betrifft übrigens auch seine ganzen anderen Umdefinierungen von \...name-Makros. KOMA-Script bietet dafür übrigens schon seit längerem eine Lösung.
\newpage
\chapter*{\abkuerzungname}
\markboth{\abkuerzungname}{\abkuerzungname}
\addcontentsline{toc}{chapter}{\abkuerzungname}
Das \newpage ist überflüssig, weil \chapter das selbst besser erledigt. \addcontentsline wäre überflüssig, wenn er \addchap verwenden würde. Das betrifft auch andere Stellen im Code.
\newcommand{\anhang}{%
\begin{appendix}
\InputIfFileExists{anhang}{}{}
\end{appendix}
}
In der KOMA-Script-Anleitung steht explizit drin, dass appendix
keine Umgebung, sondern \appendix
eine Anweisung ist.
\renewenvironment{theindex}
{\chapter*{\indexname}
\markboth{\indexname}{\indexname}
\addcontentsline{toc}{chapter}{\indexname}
\vspace*{-10pt}
\setlength{\parindent}{0pt}
\setlength{\parskip}{0pt plus 0.4pt}
\setlength{\columnsep}{35pt}
\setlength{\columnseprule}{0.0pt}
\renewcommand{\item}{\@idxitem}
\begin{multicols}{2}}
{\end{multicols}}
Mir ist nicht ganz klar, warum er das macht. Zweispaltig ist der Index auch in der Originaldefinition. Jedenfalls funktioniert damit die \indexpreambe und sämtliche Optionen die KOMA-Script bezüglich des Index anbietet, nicht mehr. Ggf. wäre auch noch \parfillskip passend zu setzen.
\setlength{\overfullrule}{4pt}
Das ist aber gemein!
Für das Glossar würde ich übrigens mal einen Blick auf
glossaries (← dies ist ein geprüfter Link, der direkt zur Paketkurzbeschreibung auf CTAN führt!) empfehlen.
Das alles nur als Hinweise nach einem groben Blick auf die Klasse.
Schönen Gruß vom KOMA-Script-Autor an den Prof. Grundsätzlich ist gegen seine Klasse nichts zu sagen. Allerdings verwendet er mit ngerman ein Paket, das im Gegensatz zu babel sein Jahren nicht mehr gepflegt wird. Als ngerman noch neu war, war es babel eine Nasenlänge voraus. Inzwischen hat sich das gedreht. Ich würde deshalb babel empfehlen. Natürlich sollten \title etc. dann hinter \begin{document} verschoben werden.
Mit latin1 schreibt er eine Eingabecodierung in der Klasse vor. Inzwischen geht der Trend eindeutig zu utf8. Gleichzeitig verwehrt er damit xelatex- und lualatex-Anwendern die Nutzung der dort vorhandenen nativen utf8-Unterstützung. Deshalb ist es besser, in der Klasse inputenc gar nicht erst zu laden, sondern das in das Beispieldokument zu verlagern und dort mit einem entsprechenden Kommentar zu versehen.
Das Paket cmmib57 ist obsolet, wie jedermann in der Anleitung dazu nachlesen kann. Keine Ahnung, wozu er das noch lädt. Braucht er das wirklich?
Wenn er bei den Kapitelnummern den DIN-konformen automatischen Punkt am Ende rauswirft, sollte das bei den übrigen Gliederungebenen schon wegen der Konsistenz auch tun, oder habe ich da etwas übersehen?
Die Verwendung interner Makros wie \subject@font ist gefährlich und nicht notwendig, da es eine offizielle Schnittstelle dazu gibt.
In einer Klasse sollte man für die dort verwendeten Texte für Sonderzeichen/Umlaute niemals eine bestimmte Kodierung voraussetzen, sondern immer die TeX-Umschreibung (also beispielsweise \"a für ä) verwenden. Auch hier gibt es sonst Probleme mit xelatex, lualatex etc. Siehe dazu auch die kürzlich stattgefundene Diskussion auf der TeXLive-Mailingliste.
[quote][code]\renewcommand{\abstractname}{{\normalsize Zusammenfassung}}[/code][/quote]
Das ist ganz schlecht. Zum einen überlebt es eine Sprachumschaltung nicht, zum anderen wird \abstractname nicht nur für die [i]Überschrift[/i] selbst, sondern beispielsweise auch bei \markboth, \pdfbookmark etc. verwendet. Dort überall landet dann das \normalsize ebenfalls. Hier sollte er sich dringend eine saubere Lösung einfallen lassen.
Das Problem, dass sie eine Sprachumschaltung nicht überleben, betrifft übrigens auch seine ganzen anderen Umdefinierungen von \...name-Makros. KOMA-Script bietet dafür übrigens schon seit längerem eine Lösung.
[quote][code] \newpage
\chapter*{\abkuerzungname}
\markboth{\abkuerzungname}{\abkuerzungname}
\addcontentsline{toc}{chapter}{\abkuerzungname}[/code][/quote]
Das \newpage ist überflüssig, weil \chapter das selbst besser erledigt. \addcontentsline wäre überflüssig, wenn er \addchap verwenden würde. Das betrifft auch andere Stellen im Code.
[quote][code]\newcommand{\anhang}{%
\begin{appendix}
\InputIfFileExists{anhang}{}{}
\end{appendix}
}[/code][/quote] In der KOMA-Script-Anleitung steht explizit drin, dass appendix [b]keine Umgebung[/b], sondern \appendix [b]eine Anweisung[/b] ist.
[quote][code]\renewenvironment{theindex}
{\chapter*{\indexname}
\markboth{\indexname}{\indexname}
\addcontentsline{toc}{chapter}{\indexname}
\vspace*{-10pt}
\setlength{\parindent}{0pt}
\setlength{\parskip}{0pt plus 0.4pt}
\setlength{\columnsep}{35pt}
\setlength{\columnseprule}{0.0pt}
\renewcommand{\item}{\@idxitem}
\begin{multicols}{2}}
{\end{multicols}}[/code][/quote] Mir ist nicht ganz klar, warum er das macht. Zweispaltig ist der Index auch in der Originaldefinition. Jedenfalls funktioniert damit die \indexpreambe und sämtliche Optionen die KOMA-Script bezüglich des Index anbietet, nicht mehr. Ggf. wäre auch noch \parfillskip passend zu setzen.
[quote][code]\setlength{\overfullrule}{4pt}[/code][/quote] Das ist aber gemein!
Für das Glossar würde ich übrigens mal einen Blick auf [url=http://www.ctan.org/pkg/glossaries]glossaries[/url] (← dies ist ein geprüfter Link, der direkt zur Paketkurzbeschreibung auf CTAN führt!) empfehlen.
Das alles nur als Hinweise nach einem groben Blick auf die Klasse.