summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/musuos/musuos.dtx
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/musuos/musuos.dtx
Initial commit
Diffstat (limited to 'macros/latex/contrib/musuos/musuos.dtx')
-rw-r--r--macros/latex/contrib/musuos/musuos.dtx1300
1 files changed, 1300 insertions, 0 deletions
diff --git a/macros/latex/contrib/musuos/musuos.dtx b/macros/latex/contrib/musuos/musuos.dtx
new file mode 100644
index 0000000000..6aa3b59ec4
--- /dev/null
+++ b/macros/latex/contrib/musuos/musuos.dtx
@@ -0,0 +1,1300 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2011 by Tobias Weh
+% www.tobias-weh.de
+%
+% 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.
+%
+% \fi
+%
+% \iffalse
+%<*driver>
+\ProvidesFile{musuos.dtx}[2011/12/17 v1.1d Uni Osnabrueck]
+%</driver>
+%<class>\NeedsTeXFormat{LaTeX2e}[2009/01/01]
+%<class>\ProvidesClass{musuos}
+%<class> [2011/12/17 v1.1d a class for typesetting
+%<class> papers. Uni Osnabrueck, music dept.]
+%
+%<*driver>
+\documentclass[a4paper]{ltxdoc}
+
+\usepackage[T1]{fontenc}
+\usepackage[latin1]{inputenc}
+\usepackage[ngerman]{babel}
+\usepackage{xspace}
+\usepackage{lmodern}
+\usepackage{ragged2e}
+\usepackage[hang]{footmisc}
+\usepackage{dblfnote}
+ \setlength{\footnotemargin}{1em}
+\usepackage{scrbase}
+\usepackage[hyphens]{url}
+\usepackage{xcolor}
+\definecolor{darkred}{HTML}{770011}
+\definecolor{darkblue}{HTML}{003b8b}
+\PassOptionsToPackage{%
+ linkcolor=darkblue,
+ urlcolor=darkred,
+}{hyperref}
+\usepackage{hypdoc}
+
+
+\renewcommand{\usage}[1]{\textbf{\hyperpage{#1}}}
+\renewcommand{\main}[1]{\textit{#1}}
+
+\newcommand{\musuos}{\texttt{musuos.cls}\xspace}
+\newcommand*{\pkg}[1]{\texttt{#1}}
+\newcommand*{\env}[1]{\texttt{#1}}
+\newcommand*{\fnt}[1]{\texttt{#1}}
+\newcommand*{\opt}[1]{\texttt{#1}}
+\newcommand{\DO}[1]{%
+ \marginpar{\raggedleft\texttt{#1} \footnotesize(Opt.)}%
+ \index{#1=\texttt{#1} (Option)|usage}%
+ \index{Optionen:>\texttt{#1}|usage}%
+}
+\newcommand{\DF}[1]{%
+ \marginpar{\raggedleft\texttt{#1} \footnotesize(Schriftel.)}%
+ \index{#1=\texttt{#1} (Schriftelement)|usage}%
+ \index{Schriftelemente:>\texttt{#1}|usage}%
+}
+\newcommand{\DM}[1]{\DescribeMacro{#1}}
+\newcommand{\DE}[1]{\DescribeEnv{#1}}
+
+\newcommand{\KOMAfont}{%
+ KOMA-Schriftelement\footnote{Siehe \KOMAScript-Anleitung,
+ Absch. 3.6 \glqq Textauszeichnung\grqq}\xspace%
+}
+\newcommand{\KOMAfonts}{%
+ KOMA-Schriftelementen\footnote{Siehe \KOMAScript-Anleitung,
+ Absch. 3.6 \glqq Textauszeichnung\grqq }\xspace%
+}
+
+\MakeShortVerb{\|}
+
+\makeatletter
+\def\SpecialMainEnvIndex#1{\@bsphack\special@index{%
+ #1\actualchar
+ {\string\ttfamily\space#1}
+ (Umgebung)%
+ \encapchar main}%
+ \special@index{Umgebungen:\levelchar#1\actualchar{%
+ \string\ttfamily\space#1}\encapchar
+ main}\@esphack}
+\def\SpecialUsageIndex#1{\@bsphack
+ {\let\special@index\index\SpecialIndex@{#1}{\encapchar usage}}%
+ \@esphack}
+\def\SpecialEnvIndex#1{\@bsphack
+ \index{#1\actualchar{\protect\ttfamily#1}
+ (Umgebung)\encapchar usage}%
+ \index{Umgebungen:\levelchar#1\actualchar{\protect\ttfamily#1}\encapchar
+ usage}\@esphack}
+\makeatother
+
+\setcounter{tocdepth}{1}
+
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+
+\def\generalname{Global}
+\IndexPrologue{
+ \section{Codeindex}
+ Fettgedruckte Zahlen beziehen sich auf die Seite,
+ auf der der Eintrag beschrieben wird, kursive
+ Nummern beziehen sich auf die Codezeile mit der Definition
+ und nicht ausgezeichnete Zahlen beziehen sich auf Codezeilen,
+ in denen der Eintrag verwendet wird.
+}
+\GlossaryPrologue{
+ \section{Versionsgeschichte}\label{version}%
+}
+
+\begin{document}
+ \DocInput{musuos.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{611}
+% \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 \~}
+%
+%
+% \GetFileInfo{musuos.dtx}
+%
+%
+% \DoNotIndex{\?,\.,\@M,\@@input,\@Alph,\@alph,\@addtoreset,\@arabic}
+% \DoNotIndex{\@badmath,\@centercr,\@cite}
+% \DoNotIndex{\@dotsep,\@empty,\@float,\@gobble,\@gobbletwo,\@ignoretrue}
+% \DoNotIndex{\@input,\@ixpt,\@m,\@minus,\@mkboth}
+% \DoNotIndex{\@ne,\@nil,\@nomath,\@plus,\roman,\@set@topoint}
+% \DoNotIndex{\@tempboxa,\@tempcnta,\@tempdima,\@tempdimb}
+% \DoNotIndex{\@tempswafalse,\@tempswatrue,\@viipt,\@viiipt,\@vipt}
+% \DoNotIndex{\@vpt,\@warning,\@xiipt,\@xipt,\@xivpt,\@xpt,\@xviipt}
+% \DoNotIndex{\@xxpt,\@xxvpt,\\,\,\addpenalty,\addtolength,\addvspace}
+% \DoNotIndex{\advance,\ast,\begin,\begingroup,\bfseries,\bgroup,\box}
+% \DoNotIndex{\bullet}
+% \DoNotIndex{\cdot,\cite,\CodelineIndex,\cr,\day,\DeclareOption}
+% \DoNotIndex{\def,\DisableCrossrefs,\divide,\DocInput,\documentclass}
+% \DoNotIndex{\DoNotIndex,\egroup,\ifdim,\else,\fi,\em,\endtrivlist}
+% \DoNotIndex{\EnableCrossrefs,\end,\end@dblfloat,\end@float,\endgroup}
+% \DoNotIndex{\endlist,\everycr,\everypar,\ExecuteOptions,\expandafter}
+% \DoNotIndex{\fbox}
+% \DoNotIndex{\filedate,\filename,\fileversion,\fontsize,\framebox,\gdef}
+% \DoNotIndex{\global,\halign,\hangindent,\hbox,\hfil,\hfill,\hrule}
+% \DoNotIndex{\hsize,\hskip,\hspace,\hss,\if@tempswa,\ifcase,\or,\fi,\fi}
+% \DoNotIndex{\ifhmode,\ifvmode,\ifnum,\iftrue,\ifx,\fi,\fi,\fi,\fi,\fi}
+% \DoNotIndex{\input}
+% \DoNotIndex{\jobname,\kern,\leavevmode,\let,\leftmark}
+% \DoNotIndex{\list,\llap,\long,\m@ne,\m@th,\mark,\markboth,\markright}
+% \DoNotIndex{\month,\newcommand,\newcounter,\newenvironment}
+% \DoNotIndex{\NeedsTeXFormat,\newdimen}
+% \DoNotIndex{\newlength,\newpage,\nobreak,\noindent,\null,\number}
+% \DoNotIndex{\numberline,\OldMakeindex,\OnlyDescription,\p@}
+% \DoNotIndex{\pagestyle,\par,\paragraph,\paragraphmark,\parfillskip}
+% \DoNotIndex{\penalty,\PrintChanges,\PrintIndex,\ProcessOptions}
+% \DoNotIndex{\protect,\ProvidesClass,\raggedbottom,\raggedright}
+% \DoNotIndex{\refstepcounter,\relax,\renewcommand}
+% \DoNotIndex{\rightmargin,\rightmark,\rightskip,\rlap,\rmfamily}
+% \DoNotIndex{\secdef,\selectfont,\setbox,\setcounter,\setlength}
+% \DoNotIndex{\settowidth,\sfcode,\skip,\sloppy,\slshape,\space}
+% \DoNotIndex{\symbol,\the,\trivlist,\typeout,\tw@,\undefined,\uppercase}
+% \DoNotIndex{\usecounter,\usefont,\usepackage,\vfil,\vfill,\viiipt}
+% \DoNotIndex{\viipt,\vipt,\vskip,\vspace}
+% \DoNotIndex{\wd,\xiipt,\year,\z@}
+% \DoNotIndex{\next}
+% \DoNotIndex{\@afterheading,\@afterindentfalse,\@ifpackageloaded,\ ,
+% \appto,\AtBeginDocument,\AtEndPreamble,\baselineskip,\BODY,
+% \centering,\contentspage,\CurrentOption,\dots,\endquote,\fill,\filright,
+% \tiny,\footnotesize,\Huge,\ifstrempty,\ifstrequal,\itshape,\Large,\large,\LARGE,
+% \makebox,\MessageBreak,\NewEnviron,\newif,\normalfont,\normalsize,
+% \pbox,\preto,\quote,\RequirePackage,\rule,\setstretch,
+% \SetupKeyvalOptions,\sffamily,\singlespacing,\textbf,\textit,\textwidth,
+% \thecontentslabel,\thecontentspage,\titlecontents,\xspace}
+% \DoNotIndex{\0,\1,\2,\3,\4,\5,\6,\7,\8,\9,0,1,2,3,4,5,6,7,8,9}
+% \DoNotIndex{\music,\endmusic,\table,\endtable,\figure,\endfigure,
+% \verse,\endverse,\KOMAoptions,\lccode,\listof,\lowercase,
+% \renewenvironment,\romannumeral,\string}
+%
+% \title{\musuos}
+% \author{Tobias Weh\\
+% \normalsize\href{mailto:mail@tobias-weh.de}{\texttt{mail@tobias-weh.de}}\\
+% \normalsize\url{http://www.tobias-weh.de}\\
+% \normalsize\url{http://www.ctan.org/pkg/musuos}}
+% \date{\filedate{} --- \fileversion}
+%
+% \maketitle
+%
+% \begin{abstract}
+% Die Klasse \musuos ist als Vorlage für Hausarbeiten am Institut für Musik
+% und Musikwissenschaften der Universität Osnabrück gedacht. Sie richtet sich
+% nach den Vorgaben von apl. Prof. Dr. phil. Stefan Hahnheide. Neben der Klasse
+% ist auch ein \pkg{biblatex}-Stil \pkg{musuos} verfügbar.
+%
+% Da \musuos auf der Klasse \pkg{scrartcl} aufbaut, wird dringend empfohlen
+% aus die relevanten Abschnitte der
+% \href{ftp://ftp.dante.de/pub/tex/macros/latex/contrib/koma-script/scrguide.pdf}
+% {\KOMAScript{}-Dokumentation} zu lesen.
+%
+% \bigskip\noindent%
+% \hspace*{\fill}\textbf{Neu in dieser Version}\hfill\mbox{}
+%
+% \medskip\noindent{\scriptsize Für eine vollständige Liste der Änderungen siehe die
+% Versionsgeschichte in Abschnitt~\ref{version}.}\par
+% \begin{itemize}
+% \item[v1.1] \cmd{\examiner} wurde durch \cmd{\examinerI} ersetzt,
+% siehe Abschnitt~\ref{titel}.
+% \item[v1.1] Die Umgebung \env{block} für abgesetzte Texte, als
+% Ergänzung zur Umgebung \env{quote}, siehe Abschnitt~\ref{block}.
+% \item[v1.1] Die Umgebung \env{verse} wurde erweitert und unterstützt
+% jetzt die Nummerierung von Zeilen, siehe Abschnitt~\ref{verse}.
+% \item[v1.1] Die Gleitumgebung \env{music} für Notenbeispiele,
+% siehe Abschnitt~\ref{gleit}.
+% \item[v1.1] Neue Optionen für Fußnoten, siehe Abschnitt~\ref{fussnoten}.
+% \item[v1.1a] Bugfix: Das Paket \pkg{xspace} wurde nicht geladen.
+% \item[v1.1a] Neuer Befehl \cmd{\miss}, siehe Abscnitt~\ref{zit}.
+% \item[v1.1b] \env{music} ist jetzt mit \pkg{subcaption} nutzbar.
+% \item[v1.1c] Die Werte für die \opt{blockquote}-Option sind nun in der
+% Dokumentation richtig angegeben.
+% \item[v1.1d] Da das \LaTeX-Paket für die Linux Libertine nicht mehr verfügbar
+% ist, wurde auf die Serifenschrift aus den KP-Fonts und die \TeX{} Gyre
+% Heros umgestellt.
+% \end{itemize}
+% \end{abstract}
+%
+% \clearpage
+% \tableofcontents
+%
+% \clearpage
+% \section{Einleitung}
+% \changes{v1.0}{2011/08/15}{Erste Version}
+% \subsection{Installation}
+% Um die Klassendatei (|.cls|) zu erzeugen navigiert man im Terminal in das
+% Verzeichnis, in dem die Datei |musuos.ist| liegt und ruft dann den Befehl
+%
+% \smallskip
+% |latex musuos.ins|
+%
+% \smallskip\noindent%
+% auf. Die so erzeugte Datei muss nun an einen Ort verschoben werden, an dem
+% \LaTeX{} sie finden kann (bspw. \texttt{\$TEXMFHOME/tex/latex/musuos/}).
+%
+% Um die Dokumentation zu erzeugen ruft man
+%
+% \smallskip
+% |pdflatex musuos.dtx|
+%
+% |pdflatex musuos.dtx|
+%
+% |makeindex -s gglo.ist -o musuos.gls musuos.glo|
+%
+% |makeindex -s musuos-doc.ist -o musuos.ind musuos.idx|
+%
+% |pdflatex musuos.dtx|
+%
+% |pdflatex musuos.dtx|
+%
+% \smallskip\noindent%
+% auf. Die mitgelieferte Datei |gind.ist| ist eine Anpassung für
+% deutschsprachige Dokumentationen.
+% \changes{v1.1}{2011/09/19}{(Make)Index-Stil umbenannt in \texttt{musuos-doc.ist}}
+%
+% \subsection{Verwendung}
+% Die Klasse wird ganz normal mit |\documentclass{musuos}| aufgerufen und ist
+% derzeit nur zur Verwendung mit \LaTeXe{} gedacht. Da die Klasse auf der
+% \KOMAScript{}-Klasse \pkg{scrartcl} beruht, stehen auch alle Möglichkeiten
+% aus \KOMAScript{} zu Verfügung. Daher werden in dieser Dokumentation im
+% Wesentlichen nur die zusätzlichen Funktionen von \musuos erläutert.
+%
+% Die Klasse sollte unbedingt mit \pkg{(pdf)latex} und \textbf{T1-kodierung}
+% (|\usepackage[T1]{fontenc}|) oder mit \pkg{xe(la)tex} benutz werden,
+% damit die Schfritarten korrekt dargestellt werden.
+%
+% \subsubsection*{Klassenoptionen}
+% \changes{v1.1}{2011/09/21}{Neue Option \opt{nofnoterule}}
+% \changes{v1.1}{2011/09/21}{Neue Option \opt{twocolfnotes}}
+% Es werden alle Klassenoptionen unterstützt, die auch den \KOMAScript{}-Klassen
+% bekannt sind. Die Klasse stellt aber noch weitere Optionen zur Verfügung:
+% \begin{itemize}
+% \item \DO{blockquote}\opt{blockquote} für Einstellung der Anführungszeichen bei abgesetzten
+% Zitaten, siehe Abschnitt~\ref{zit}.
+% \item \DO{dontcenterfloats}\opt{dontcenterfloats} schaltet die Zentrirung von Gleitumgebungen ab,
+% siehe Abschnitt~\ref{gleit}.
+% \item \DO{manyfnotes}\opt{manyfnotes} bei Vorkommen dreistelliger Fußnotenziffern,
+% siehe Abschnitt~\ref{fussnoten}.
+% \item \DO{nofnoterule}\opt{nofnoterule} unterdrückt die Fußnotentrennlinie,
+% siehe Abschnitt~\ref{fussnoten}.
+% \item \DO{poorlayout}\opt{poorlayout} zum Umschalten des Layouts, siehe Abschnitt~\ref{layout}.
+% \item \DO{qmarks}\opt{qmarks} zum Umschalten der Anführungszeichen, siehe Abschnitt~\ref{zit}.
+% \item \DO{twocolfnotes}\opt{twocolfnotes} setzt die Fußnoten zweispaltig, siehe
+% Abschnitt~\ref{fussnoten}.
+% \end{itemize}
+%
+% \subsubsection*{Beispiel}
+% Ein (etwas mehr als) minimales Dokument zur Verwendung der Klasse mit \pkg{pdflatex}.
+%
+% \smallskip
+% |\documentclass[ngerman]{musuos}|
+%
+% \medskip
+% |\usepackage[latin1]{inputenc}|
+%
+% |\usepackage[T1]{fontenc}|
+%
+% |\usepackage{babel}|
+%
+% \meta{ggf. weitere Pakete, Makrodefinitionen usw.}
+%
+% \medskip
+% |\begin{document}|
+%
+% \rule{\parindent}{0pt}\meta{Inhalt}
+%
+% |\end{document}|
+%
+% \section{Layout}\label{layout}%
+% Die Klasse kennt zwei verschiedene Layouts. Das Voreingestellte bietet breite
+% Ränder für Korrekturen, die außerdem für eine angenehme Zeilenlänge sorgen und
+% so ein auseinanderreißen durch eineinhalbzeiligen Satz unnötig machen.
+% \begin{itemize}
+% \item Rand links 3,5\,cm, rechts 4,75\,cm (Platz für Korrekturen), oben 3,25\,cm
+% und unten 5,5\,cm.
+% \item Schriftart ist die Serifenschrift aus den KP-Fonts
+% in 11.5\,pt für den Fließtext und die passende endstrichlose (|\textsf|,
+% |\sffamily|) \TeX{} Gyre Heros für Überschriften u.\,ä.
+% \item Einfacher Zeilenabstand.
+% \end{itemize}
+%
+% Mit der Option \DO{poorlayout}\opt{poorlayout} kann auf das deutlich schlechtere, unitypische
+% Layout umgeschaltet werden
+% \begin{itemize}
+% \item Rand links 2\,cm und rechts 3\,cm, oben und unten je 3\,cm.
+% \item Schriftart ist die Times New Roman
+% in 12\,pt für den Fließtext und die endstrichlose (|\textsf|, |\sffamily|)
+% Helvetica für Überschriften u.\,ä.
+% \item Eineinhalbfacher Zeilenabstand, um die überlangen Zeilen zu kompensieren, die
+% aufgrund der schmalen Ränder und der sehr schmal laufenden (weil eigentlich für
+% schmale Zeitungsspalten gedachte) Times New Roman entstehen.
+% \end{itemize}
+%
+% Blocksatz und Silbentrennung sind in \LaTeX{} bei Verwendung von \pkg{babel}
+% grundsätzlich aktiviert. Absatzanfänge werden durch einen Einzug markiert.
+%
+% \section{Titelseite}\label{titel}
+% Mit |\maketitle| wird wie gewohnt die Titelseite ausgegeben, nachdem verschiedene
+% Angaben (|\author|, |\title|, etc.) dafür gemacht wurden. Die möglichen Angaben
+% werden durch \musuos wie folgt ergänzt:
+% %
+% \begin{itemize}
+% \item \DM{\city}\DM{\street}\DM{\email}\DM{\phone}|\street|\marg{Straße
+% und Nummer} und |\city|\marg{PLZ und Ort}, um die eigene Adresse anzugeben
+% sowie |\phone|\marg{Telefonnummer} und |\email|\marg{E-Mail} für weitere Kontaktdaten.
+% \item \DM{\lecturer}\DM{\seminar}\DM{\term}\DM{\uni} |\uni|\marg{Universität},
+% |\term|\marg{Semester} |\seminar|\marg{Veranstaltungstitel} und
+% |\lecturer|\marg{Dozent} für Angaben zur Veranstaltung, in der die
+% Hausarbeit geschrieben wird.
+% \item Für Angaben zum Studiengang die Makros \DM{\study}\DM{\sterm}
+% |\study|\marg{Studiengang} und |\sterm|\marg{Fachsemester}
+% \item Für die Angabe eines Prüfkomitees \DM{\examinerI}|\examinerI|\marg{Bezeichnung}\marg{(Erst)Prüfer}
+% und falls nötig auch \DM{\examinerII}|\examinerII|\marg{Bezeichnung}\marg{Zweitprüfer}.
+% Ein eventuell gewünschter Doppelpunkt nach den Bezeichnungen kann
+% im Argument \meta{Bezeichnung} mit angeben werden, bspw. |\examinerI{Prüfer:}{Dr. Müller}|
+% \end{itemize}
+% %
+% Zusammen mit den von \KOMAScript{} bereitgestellten Variablen Autor
+%(|\author|),
+% Titel (|\title|) ggf. mit Untertitel (|\subtitle|), Datum (|\date|) sowie eventuell
+% Art der Arbeit (Hausarbeit, Dossier, \dots; |\subject|) sind damit alle vorgesehenen
+% Angaben abgedeckt. Auf die Verwendung der weiteren Varaiblen aus \KOMAScript{} sollte
+% man verzichten, da diese eventuell mit anderen Kollidieren!
+%
+% Darüber hinaus kann mit dem Befehl |\makeshorttitle| ein Seitenkopf
+% gesetzt werden, der nur Titel, Untertitel, Autor und Datum enthält.
+%
+% \section{Inhaltsverzeichnis und Gliederung}
+% Das Inhaltsverzeichnis wird mit
+% \DM{\tableofcontents}|\tableofcontents| ausgegeben. Das
+% Inhaltsverzeichnis nimmt per Voreinstellung nur Einträge bis zur
+% dritten Ebene (|\subsubsection|) auf, das sollte bei einer sinnvoll
+% gegliederten Arbeit aber vollkommen ausreichend sein \dots
+%
+% Zur Gliederung der Arbeit stehen die Befehle von \DM{\section}|\section| bis |\subparagraph| sowie
+% |\minisec| zur Verfügung. Die Gliederungspunkte werden automatisch nummeriert und
+% formatiert.
+%
+% Ein Anhang kann bei Bedarf mit \DM{\appendix}|\appendix| eingeleitet werden.
+% Die höchste Gliederungsebene wird dann alphabetisch nummeriert.
+%
+% \section{Fußnoten}\label{fussnoten}%
+% Fußnoten werden mit \DM{\footnote}|\footnote|\marg{Fußnotentext}
+%gesetzt. Die Standardformatierungen funktioniert gut für Fußnoten bis
+% 99. Bei Fußnoten bis 999 empfiehlt sich die Verwendung der Option
+% \DO{manyfnotes}\opt{manyfnotes}, noch mehr Fußnoten sollten in einer
+% Hausarbeit nicht vorkommen \dots
+%
+% Mit der Option \DO{nofnoterule}\opt{nofnoterule} kann die Trennlinie
+% zwischen Text und Fußnoten ausgeblendet werden.
+%
+% Die Fußnoten\DO{twocolfnotes} zweispaltig zu setzten spart zum einen Platz, wenn viele
+% kurze Fußnoten vorkommen, es ehört aber auch die Lesbarkeit, wenn die
+% einzelnen Einträge sehr lang sind, denn durch die Zweispaltigkeit werden
+% die natürlich Zeilen kürzer. Um die Fußnoten in zwei Spalten zu setzten
+% kann man die Option \opt{twocolfnotes} verwenden. Die Fußnoten werden
+% dann zweispaltig und in einer kleineren Schrift gesetzt.
+% In der Regel sollte man dann auch die Trennlinie mit \opt{nofnoterule}
+% ausblenden.
+%
+% \section{Aufzählungen}
+% Es stehen drei Aufzählungsumgebungen zur Verfügung, in denen einzelne Einträge
+% jeweils mit |\item| eingeleitet werden. Die Umgebungen \DE{enumerate}
+% |enumerate| für nummerierte und \DE{itemize}|itemize| für nummerierte
+% Listen sowie \DE{description} für erklärende oder beschreibende Listen,
+% dabei wird das zu erklärende Wort als optionales Argument von |\item|\oarg{Wort}
+% angegeben.
+%
+% \section{Abbildungen, Tabellen und Notenbeispiele}\label{gleit}%
+% Abbildungen und Tabellen sollten mit den Gleitumgebungen \DE{figure}|figure|
+% und \DE{table}|table| gesetzt werden. Für Notenbeispiele wird die Umgebung
+% \DE{music}\env{music} definiert. Eine Beschriftung kann man mit
+% \DM{\caption}|\caption|\marg{Beschreibung} hinzufügen. Alle diese Umgebungen
+% zentrieren ihren Inhalt. Ist das nicht gewünscht kann das Verhalten mit der Klassenoption
+% \DO{dontcenterfloats}\opt{dontcenterfloats} abgestellt werden.
+%
+% Eine Liste der Tabellen, Abbildungen oder Notenbeispiele wird mit
+% \DM{\listoffigures}\cmd{\listoffigures}, \DM{\listoftables}\cmd{\listoftables}
+% bzw. \DM{\listofmusic}\cmd{\listofmusic} ausgegben. Die Überschriften der
+% Listen sind nicht nummeriert und werden ins Inhaltverzeichnis aufgenommen.
+% Um die Listen nicht im Inhaltesverzeichnis anzuzeigen, fügt man in die
+% Präambel diese Zeile ein;
+%
+% \smallskip
+% |\KOMAoptions{listof=nottotoc}|
+%
+% \smallskip\noindent%
+% und um die Verzeichnisse zu nummerieren diese:
+%
+% \smallskip
+% |\KOMAoptions{listof=totocnumbered}|
+%
+% Für alles weitere sei auf die gängige Einsteigerliteratur verwiesen.
+%
+% \bigskip\noindent%
+% Wer mehrseitige Notenbeispiele (die als PDF vorliegen)\DM{\includepdf}
+% einfügen will, kann dazu das Paket \pkg{pdfpages} verwenden
+% Das folgende Beispiel zeigt, wie einige Seiten aus der Partitur
+% |mozart-sinf41.pdf| eingebunden werden. Die erste Seite wird dabei
+% extra angeben, um eine Beschriftung einzufügen (für die Beschriftung
+% mit |\captionof| muss das Paket \pkg{caption} geladen werden)
+% \begin{verbatim}
+% \documentclass{musuos}
+% \usepackage{pdfpages}
+% \usepackage{caption}
+%
+% \begin{document}
+% Ein Bisschen Text dann folgt der Partiturauszug
+% auf einer neuen Seite.
+% \includepdf[%
+% pages={1},% Seite 1
+% pagecommand={%
+% \begin{minipage}{\textwidth}
+% \captionof{music}{Mozarts schönste Sinfonie?}
+% \end{minipage}
+% }, % Beschriftung -- mit ein Bisschen bastelei
+% frame,% Seiten einrahmen
+% scale=0.7,% Seiten skalieren
+% ]{mozart-sinf41}% Dateiname ohne Endung
+% \includepdf[%
+% pages={2-4,10,18-22},
+% pagecommand={},
+% frame,scale=0.7
+% ]{mozart-sinf41}
+% Das war's \dots
+% \end{document}
+% \end{verbatim}
+% Wer im |pagecommand| den Befehl |\thispagestyle{empty}| verwendet,
+% kann die Kopf-und Fußzeilen unterdrücken. Wird die Option
+% |pagecommand| garnicht angeben, ist die voreinstellung
+% |pagekommand={\thispagestyle{empty}}|. Mehr zu der Verwendung
+% von \pkg{pdfpages} in der Paketdokumentation.
+%
+% \section{Zitate}\label{zit}%
+% Für Zitate im Fließtext kann der Befehl \DM{\enquote}|\enquote|\marg{Text} verwendet werden,
+% der sein Argument automatisch mit Anführungszeichen umschließt. Für längere, abgesetzte
+% Zitate kann die Umgebung \DE{quote}|quote| verwendet werden,
+%
+% \smallskip
+% |\begin{quote}|\oarg{Quelle}
+%
+% \rule{\parindent}{0pt}\meta{Text}
+%
+% |\end{quote}|
+%
+% \smallskip\noindent%
+% wobei der Inhalt von \meta{Quelle} ohne Leerzeichen\footnote{Wer
+% ein Leerzeichen wünscht kann dieses einfach zu beginn
+% des Arguments mit eingeben \texttt{[\textvisiblespace Quelle]}}
+% nach dem schließenden Anführungszeichen ausgeben wird. Unter
+% Umständen muss das Argument durch geschweifte Klammern maskiert werden,
+% siehe Abschnitt~\ref{anmerkungen} "`Zitate in optionalen Argumenten"'.
+%
+% Die Schriftart der abgesetzten Zitate ist über das \KOMAfont \DF{quotetext}\fnt{quotetext}
+% steuerbar. Der Text wird an beiden Seiten um die Länge \DM{\blockmargin}
+% \cmd{\blockmargin} eingerückt.
+%
+% Mit der Option \DO{blockqoute}\opt{blockqoute}|=marks|/|nomarks| kann
+% festgelegt werden, ob die abgesetzten
+% Zitate mit oder ohne Anführungszeichen gesetzt werden. Beide Zitatbefehle können verschachtelt
+% werden und wählen dann automatisch einfache Anführungszeichen für die innere Zitatebene.
+%
+% Um die Anführungszeichen zu setzten, wird das Paket \pkg{csquotes} verwendet.
+% Die Art der Anführungszeichen kann mit der Klassenoption \DO{qmarks}\opt{qmarks}|=|\meta{Sprache}
+% angegeben, dabei kann \meta{Sprache} die Werte |german|, |gfrench|,
+% |french| und |english| annehmen; Voreinstellung ist |german|. Den vollen Umfang von
+% \pkg{csquotes} kann man einfach nutzen, indem man das Paket mit entsprechenden Optionen
+% manuell lädt.
+%
+% Auslassungszeichen und \emph{wirklich-so-Stellen} können mit den Befehlen \DM{\elp}|\elp|
+% (wird zu [\kern1.5pt\dots]) und \DM{\sic}|\sic| (wird zu [sic]) gesetzt werden.
+% Eine Auslassung kann mit dem Befehl \DM{\miss}\cmd{\miss}\marg{Text} erstellt werden, wobei
+% das Argument in eckie Klammern eingeschlossen wird.
+%
+% \section{Literaturverzeichnis}
+% Zur Erstellung eines Literaturverzeichnis und für Quellenangaben im Text wird die Verwendung
+% von Bib\TeX{} (oder besser biber) zusammen mit dem Paket \pkg{biblatex} und dem passenden Stil \pkg{musuos}
+% empfohlen. Bei der Verwendung von \pkg{biblatex} wird das Literaturverzeichnis automatisch
+% in das Inhaltsverzeichnis aufgenommen. ist das nicht gewünscht, kann es mit der
+% \pkg{biblatex}-Paketoption |bibliography=nottotoc| verhindert werden. Mit der
+% Option |bibliography=| |totocnumbered| kann erreicht werden dass das Verzeichnis nummeriert wird.
+%
+% Der passende Stil ist auf CTAN unter \url{http://www.ctan.org/pkg/biblatex-musuos} zu finden.
+%
+% \section{Abgesetzter Text}\label{block}%
+% Analog zur \env{quote}-Umgebung gibt es die Umgebung
+% \DE{block}\env{block} für abgesetzte Textblöcke,
+% die sich genau so verhält wie \env{quote}, nur dass sie grundsätzlich ohne
+% Anführungszeichen ausgegeben wird und dass sie daher auch kein optionales
+% Argument für Quellenangaben besitzt.
+%
+% \section{Verse}\label{verse}%
+% \DE{verse}
+% Um Textzeilen zu setzten, steht die Umgebung \env{verse}
+% zur Verfügung. Innerhab der Umgebung müssen alle Zeilen
+% explizit mit |\\| beendet werden. Ist der Text länger,
+% als die gedruckte Zeile lang ist, wird er umbrochen und
+% eingerückt. Wird der Umgebung als Optionales Argument angeben, werden die
+% Zeilen mit dieser beginnend nummeriert.
+% \DM{\linenumbermodulo}
+% Mit dem Befehl \cmd{\linenumbermodulo}\marg{Schritt} kann die
+% Schrittweite der Zeilennummern verändert werden.
+%
+% Mit den \KOMAfonts \DF{verse}\DF{linenumbers}
+% \fnt{verse} und \fnt{linenumbers} kann die Schrift der Verse bzw. die der
+% Zeilennummern geändert werden.
+%
+% \section{Anmerkungen}\label{anmerkungen}%
+% \begin{description}
+% \item [Abkürzungen] sollten immer mit einem schmalen Leerzeichen |\,| zwischen den
+% Teilen gesetzt werden, z.\,B. |z.\,B.| statt |z.B.| (z.B.) oder |z. B.| (z. B.)
+% bei der letzten Fassung kann es sogar zu einem Umbruch zwischen z. und B. kommen.
+% Steht die Abkürzung am Ende eines Satzes entfällt der Schlusspunkt und der letzte
+% Punkt der Abkürzung erhält eine Doppelfunktion. Abkürzungen am Satzanfang sollte
+% man gänzlich vermeiden.
+% \item [Auslassungspunkte] werden mit dem Befehl |\dots| gesetzt. Ersetzen sie ganze
+% Satzteile, müssen sie mit Leerzeichen (\verb*|Wie man etwa \dots|) gesetzt werden.
+% Am Satzende entfällt ein zusätzlicher Schlusspunkt, Frage- und Ausrufezeichen nicht.
+% Nur wenn die Punkte die Auslassung eines Wortteils kennzeichnen (|Sch\dots|) werden
+% sie ohne Leerzeichen geschrieben.
+% \item [Gedankenstriche, Bis-Striche, Bindestriche] muss man unterscheiden! Zum
+% Verbinden einzelner Wörter setzt man einen Bindestrich (|Master-Arbeit|),
+% in vielen Fällen kann aber auch eine Zusammenschreibung dem Verbinden mit Strich
+% vorgezogen werden.\footnote{\raggedright Siehe dazu
+% \url{http://www.belleslettres.eu/artikel/schreibung-durchgekoppelte-wortzusammensetzungen.php}
+% (16.8.11).}
+% Den längeren Strich (|--|) setzt man mit Leerzeichen als Gedanken strich
+% (\verb*|Text -- Einschub -- mehr Text|) und als Bis-Strich ohne Leerzeichen
+% (|1967--2003|).
+% \item [Geschützte Leerzeichen] werden mit |~| erzeugt und sollten z.\,B. bei Seitenzahlen
+% verwendet werden: |siehe S.~3| oder |vergleiche Abbildung~3.5|\footnote{Sinvollerweise
+% sollte man die Zahlen nicht manuell schreiben sondern
+% \LaTeX s Verweismechanismus (in Kombination mit \pkg{varioref}) verwenden.}
+% \item [Formatierung] sollte einheitlich sein. Um das zu erleichtern ist es sinnvoll,
+% sich eigene Befehle zu erstellen. So könnte man sich zum Beispiel einen Befehl
+% definieren um Werktitel zu setzten:
+%
+% \smallskip
+% \rule{1em}{0pt}|\newcommand{\werk}[1]{\textit{#1}}| (in der Präambel)
+%
+% \smallskip\noindent%
+% Verwendet man im Text jetzt immer |\werk|\marg{Titel} werden alle Titel kursiv
+% gesetzt können aber später einheitlich umformatiert werden indem man die
+% Definition von |\werk| ändert.
+% \item [Unterstreichungen unterlassen!] Hervorhebungen können mit
+%|\emph|\marg{Text}
+% gesetzt werden. Der Befehl kann sogar verschachtelt werden.
+% \item [Zitate in optionalen Argumenten] Wenn ein Zitatbefehl mit optionalen Argumenten
+% in einem andern optionalen Argument werdendet werden soll, muss der Befehl durch
+% geschweifte Klammern geschützt werden, das \LaTeX{} andernfalls die Schachtelung
+% von eckigen Klammern falsch auflöst.
+%
+% Beispielsweise schreibt man besser |\begin{quote}[{\autocite[3]{nuss83}}]|
+% statt |\begin{quote}[\autocite[3]{nuss83}]|.
+% \end{description}
+%
+% {\RaggedRight\PrintChanges}
+%
+% \StopEventually{\RaggedRight\PrintIndex}
+%
+% \section{Implementation}
+%
+% \subsection{Basisklasse laden und Optionen definieren}
+% Als erstes werden ein paar Basispakete geladen und mit
+% |\SetupKeyvalOptions| die Grundlagen für Klassenoptionen
+% mit werten geschaffen.
+% \begin{macrocode}
+\RequirePackage{kvoptions}
+\SetupKeyvalOptions{
+ family=MU,
+ prefix=MU@
+}
+\RequirePackage{environ}
+\RequirePackage{etoolbox}
+% \end{macrocode}
+% Dann werden die Optionen definiert. Zunächst zwei Optionen,
+% die einen Textstring verarbeiten können, dieser wird dann
+% in |\MU@blockquote| bzw. |\MU@qmarks| gespeichert.
+% \changes{v1.1c}{2011/12/06}{Fehler in Doku korrigiert: Optionen für \opt{blockquote}-Option waren falsch angegeben}
+% \begin{macrocode}
+\DeclareStringOption[withqmarks]{blockquote}[withqmarks]
+\DeclareStringOption[german]{qmarks}[german]
+% \end{macrocode}
+% Dann noch einen if-Schalter und eine einfache Option für das Layout,
+% \begin{macrocode}
+\newif\if@poorlayout
+\DeclareOption{poorlayout}{\@poorlayouttrue}
+% \end{macrocode}
+% für die Optionen für Fußnoten
+% \begin{macrocode}
+\newif\if@manyfnotes
+\DeclareOption{manyfnotes}{\@manyfnotestrue}
+\newif\if@twocolfnotes
+\DeclareOption{twocolfnotes}{\@twocolfnotestrue}
+\newif\if@nofnoterule
+\DeclareOption{nofnoterule}{\@nofnoteruletrue}
+% \end{macrocode}
+% sowie für die Gleitumgebungszentrierung
+% \begin{macrocode}
+\newif\if@centerfloats
+\@centerfloatstrue
+\DeclareOption{dontcenterfloats}{\@centerfloatsfalse}
+% \end{macrocode}
+% Als letztes wird noch eine Dummyoption angelegt, die alle dieser
+% Klasse nicht bekannten Optionen an die Basisklasse \pkg{scrartcl}
+% weiterleitet.
+% \begin{macrocode}
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrartcl}}
+% \end{macrocode}
+% Außerdem legen wir noch zwei Voreinstellungen für \pkg{scrartcl}
+% fest
+% \begin{macrocode}
+\PassOptionsToClass{fontsize=12pt,titlepage=true}{scrartcl}
+% \end{macrocode}
+% und können dann die Optionen verarbeiten.
+% \begin{macrocode}
+\ProcessKeyvalOptions*\relax
+\ProcessOptions\relax
+% \end{macrocode}
+%
+% Es folgt das Laden der Basisklasse.
+% \begin{macrocode}
+\LoadClass{scrartcl}
+% \end{macrocode}
+%
+% Als letztes wird noch ein Schalter (|\if@bqqmakrs|) für die Wahl
+% ob Blockzitate mit oder ohne Anführungszeichen gesetzt werden definiert
+% und eine Probe auf falsche Werte eingeführt.
+% \begin{macrocode}
+\newif\if@bqqmarks
+\expandafter\ifstrequal\expandafter{\MU@blockquote}{withqmarks}{
+ \@bqqmarkstrue
+}{
+ \expandafter\ifstrequal\expandafter{\MU@blockquote}{withoutqmarks}{
+ \@bqqmarksfalse
+ }{
+ \ClassError{musuos}{Unkown value for option 'blockquote'}
+ {This option needs either 'qwithqmarks' or 'withoutmarks'}
+ }
+}
+% \end{macrocode}
+%
+% \subsection{Layout}
+% Nachdem weiter oben bereits der Schalter für |poorlayout| definiert
+% wurde, wird das Layout jetzt ausgewählt. Dazu laden wir das Paket
+% \pkg{geometry} und legen abhängig vom Schalter verschiedene Seitenränder
+% fest.
+% \begin{macrocode}
+\RequirePackage{geometry}
+\if@poorlayout
+ \geometry{left=2cm, right=3cm, top=3cm, bottom=3cm}
+% \end{macrocode}
+% Außerdem werden die Schriftarten Times New Roman und Helvetica geladen
+% \begin{macrocode}
+ \usepackage{txfonts}
+ \usepackage[scaled=0.9]{helvet}
+% \end{macrocode}
+% sowie das Paket \pkg{setspace} um eineinhalbzeiligen Satz einzustellen.
+% \begin{macrocode}
+ \usepackage{setspace}
+ \setstretch{1.45}
+% \end{macrocode}
+% Der Faktor 1,45 entspricht dem was Word unter 1,5 versteht besser als 1,5.
+% Es wird eine Warnung ausgegeben, ob man wirklich das schlechte Layout will.
+% \begin{macrocode}
+ \ClassWarningNoLine{musuos}{Are you shure that you would
+ like to use the poor layout?}
+% \end{macrocode}
+%
+% Für das schönere Layout stellen werde größere Ränder eingestellt
+% \begin{macrocode}
+\else
+ \geometry{left=3.5cm, right=4.75cm, top=3.25cm, bottom=5.5cm}
+% \end{macrocode}
+% und die KP-Fonts sowie die \TeX{} Gyre Heros geladen.
+% \changes{v1.1d}{2011/12/17}{Libertine und Biolinum durch KP-Fonts und Heros ersetzt. Ränder angepasst.}
+% \begin{macrocode}
+ \usepackage{kpfonts}
+ \usepackage[scale=0.9]{tgheros}
+% \end{macrocode}
+% Damit die Seitenzahl ungefähr der des anderen Layoutsenspricht verringern wird die
+% Schriftgröße ein wenig.
+% \begin{macrocode}
+ \KOMAoptions{fontsize=11.5pt}
+\fi
+% \end{macrocode}
+%
+% Abschließend werden die Parameter für den Satz noch etwas großzügiger
+% eingestellt
+% \begin{macrocode}
+\tolerance 1414
+\hbadness 1414
+\emergencystretch 1.5em
+\hfuzz 0.3pt
+\widowpenalty=10000
+\clubpenalty=5000
+\vfuzz
+\hfuzz
+\raggedbottom
+% \end{macrocode}
+%
+% \subsection{Titelseite}
+% \begin{macro}{\city}
+% \begin{macro}{\street}
+% \begin{macro}{\email}
+% \begin{macro}{\phone}
+% \begin{macro}{\lecturer}
+% \begin{macro}{\seminar}
+% \begin{macro}{\term}
+% \begin{macro}{\uni}
+% \begin{macro}{\study}
+% \begin{macro}{\sterm}
+% \begin{macro}{\examiner}
+% Als nächstes werden alle nötigen Befehle für die Titelseite
+% definiert. Dazu werden zuerst die Speicherorte für alle Angaben
+% geschaffen
+% \begin{macrocode}
+\newcommand{\@city}{}
+\newcommand{\@street}{}
+\newcommand{\@email}{}
+\newcommand{\@phone}{}
+\newcommand{\@lecturer}{}
+\newcommand{\@seminar}{}
+\newcommand{\@term}{}
+\newcommand{\@uni}{}
+\newcommand{\@study}{}
+\newcommand{\@sterm}{}
+\newcommand{\@examinerI}{}
+\newcommand{\@examinerIlabel}{}
+\newcommand{\@examinerII}{}
+\newcommand{\@examinerIIlabel}{}
+% \end{macrocode}
+% um dann die Befehle zu erstellen, mit denen die Varaiblen
+% gesetzt werden.
+% \begin{macrocode}
+\newcommand*{\city}[1]{\renewcommand{\@city}{#1}}
+\newcommand*{\street}[1]{\renewcommand{\@street}{#1}}
+\newcommand*{\email}[1]{\renewcommand{\@email}{#1}}
+\newcommand*{\phone}[1]{\renewcommand{\@phone}{#1}}
+\newcommand*{\lecturer}[1]{\renewcommand{\@lecturer}{#1}}
+\newcommand*{\seminar}[1]{\renewcommand{\@seminar}{#1}}
+\newcommand*{\term}[1]{\renewcommand{\@term}{#1}}
+\newcommand*{\uni}[1]{\renewcommand{\@uni}{#1}}
+\newcommand*{\study}[1]{\renewcommand{\@study}{#1}}
+\newcommand*{\sterm}[1]{\renewcommand{\@sterm}{#1}}
+% \end{macrocode}
+% Die Variable für die Prüfer fordert eine spezielle Behandlung,
+% weil der Abstand zwischen Bezeichnung und Name nur ausgegeben
+% werden darf, wenn der Bezeichner nicht leer ist. Andernfalls
+% wären die Namen nicht korrekt zentriert.
+% \begin{macro}{\examinerI/II}
+% \changes{v1.1}{2011/09/11}{Neue Macros für die Prüfer auf
+% der Titelseite}
+% \begin{macrocode}
+\newcommand*{\examinerI}[2]{%
+ \renewcommand{\@examinerIlabel}{#1}%
+ \renewcommand{\@examinerI}{#2}%
+}
+\newcommand*{\examinerII}[2]{%
+ \renewcommand{\@examinerIIlabel}{#1}%
+ \renewcommand{\@examinerII}{#2}%
+}
+% \end{macrocode}
+% \changes{v1.1}{2011/09/11}{\cmd{\examiner} wurde durch \cmd{\examinerI}
+% ersetzt}
+% \end{macro}
+% Nun noch den alten \cmd{\examiner}-Befehl zur Abwärtskompabilität
+% \begin{macrocode}
+\newcommand*{\examiner}[2]{%
+ \renewcommand{\@examinerIlabel}{#1}%
+ \renewcommand{\@examinerI}{#2}%
+ \ClassWarning{musuos}{\string\examiner\space is obsolete use \string\examinerI}
+}
+% \end{macrocode}
+% \end{macro}\end{macro}\end{macro}\end{macro}\end{macro}\end{macro}
+% \end{macro}\end{macro}\end{macro}\end{macro}\end{macro}
+% Anschließend kann der Befehl zum drucken der Titelseite definiert
+% werden. Dabei muss unter Verwendung des Schalters |\if@poorlayout|
+% Rücksicht auf kleinere Unterschiede der Layouts genommen werden.
+% Auf der Titelseite werden nacheinander alle Variablen ausgeben.
+% Außerdem wird auf ein symmetrisches Seitenlayout umgeschaltet
+% \begin{macro}{\maketitle}
+% Damit das Trennzeichen zwischen Dozent und Semester auch
+% wirklich nur dann ausgegeben, wenn beide einen Wert haben, muss
+% ein zusätzlicher Test eingefügt werden, der später mit |\if@letesep|
+% ausgewertet werden kann. Anschließend kann der |\maketitle|-Befhel
+% definiert werden.
+% \changes{v1.1}{2011/09/11}{Test für Semester-Dozenten-Trennzeichen verbessert}
+% \changes{v1.1}{2011/09/20}{Das Paket \pkg{pbox} wird nicht mehr benötigt}
+% \begin{macrocode}
+\newif\if@letesep\@leteseptrue
+\renewcommand{\maketitle}{%
+ \newgeometry{left=4cm,right=4cm,top=4cm,bottom=4cm}%
+ \begin{titlepage}
+ \expandafter\ifstrempty\expandafter{\@lecturer}{\@letesepfalse}{}
+ \expandafter\ifstrempty\expandafter{\@term}{\@letesepfalse}{}
+ \if@poorlayout\singlespacing\fi
+ \centering
+ \textbf{\@uni}\par
+ \@seminar\par
+ \@lecturer\
+ \if@letesep -- \fi
+ \@term\par
+ \vspace{4.5cm}
+ \textit{\@subject}\par
+ \if@poorlayout\vspace{0.35cm}\else\vspace{0.5cm}\fi
+ \sffamily\Huge\textbf{\@title}\par
+ \vspace{0.5cm}
+ \large\@subtitle\par
+ \vspace{3cm}
+ \normalfont\normalsize
+ \begin{tabular}{ll}
+ \@examinerIlabel & \@examinerI \\
+ \@examinerIIlabel & \@examinerII \\
+ \end{tabular}\par
+ \vspace{\fill}
+ \raggedright
+ \textbf{\@author}\par
+ \@study\hfill\@street\par
+ \@sterm\hfill\@city\par
+ \@email\hfill\@phone\par
+ \vspace{1\baselineskip}
+ \@date
+ \end{titlepage}
+% \end{macrocode}
+% Am Ende der Titelseite wird das vorgegebene Layout wieder hergestellt
+% und der Einzug des ersten Absatzes unterdrückt.
+% \begin{macrocode}
+ \restoregeometry
+ \@afterindentfalse
+ \@afterheading%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\makeshorttitle}
+% Zusätzlich wird ein Befehl für einen kürzeren Titelkopf bereitgestellt
+% \begin{macrocode}
+\newcommand{\makeshorttitle}{
+ \if@poorlayout\singlespacing\fi
+ \vspace*{1cm}
+ {\centering
+ \@author\par
+ \vspace{0.35cm}
+ \LARGE\sffamily\bfseries\@title\par
+ \vspace{0.2cm}
+ \normalsize\@subtitle\par
+ \vspace{0.6cm}
+ \normalfont
+ \@date\par
+ }
+ \vspace{1cm}
+ \if@poorlayout\setstretch{1.45}\fi
+ \@afterindentfalse
+ \@afterheading%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{titlepage}
+% Damit die Klasse auf die |titelpage|-Option reagieren kann, wird bei
+% ausgeschalteter Titelseite der befehl |\maketitle| auf
+% |\makeshorttitle| umgelenkt.
+% \begin{macrocode}
+\if@titlepage\else
+ \let\maketitle\makeshorttitle
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Inhaltsverzeichnis}
+% Da die Befehle zur Giederung und für das Inhaltsverzeichnis bereits
+% von der Basisklasse bereitgestellt werden, wird hier nur das Layout
+% des Inhaltsverzeichnis angepasst. Dazu wird das Paket \pkg{titletoc}
+% verwendet.
+% \begin{macro}{\tableofcontents}
+% \begin{macrocode}
+\RequirePackage{titletoc}
+\titlecontents{section}
+ [0mm]
+ {\addvspace{5mm}}
+ {\sffamily\bfseries\large
+ \makebox[7mm][l]{\thecontentslabel}}
+ {\sffamily\bfseries}
+ {\hfill\sffamily\bfseries\large\contentspage}
+\titlecontents{subsection}
+ [7mm]
+ {\addvspace{1mm}}
+ {\makebox[7mm][l]{\thecontentslabel}}
+ {}
+ {,~\thecontentspage}
+\titlecontents*{subsubsection}
+ [14mm]
+ {\filright}
+ {\itshape}
+ {\itshape}
+ {\itshape,~\thecontentspage}
+ [~$\cdot$~]
+% \end{macrocode}
+% Außerdem wird die Tiefe des Inhaltsverzeichnis auf drei Ebenen
+% beschränkt
+% \begin{macrocode}
+\setcounter{tocdepth}{3}
+% \end{macrocode}
+% und für das schlechte Layout muss das Inhaltsverzeichnis noch auf
+% einfachen Zeilenabstand zurückgeschaltet werden.
+% \begin{macrocode}
+\if@poorlayout
+ \preto\tableofcontents{\singlespacing}
+ \appto\tableofcontents{\setstretch{1.45}}
+\fi
+% \end{macrocode}
+% Zum Schluss legen wir noch fest, dass das Literatur- sowie die
+% Gleitobjektverzeichnisse ins Inhaltsverzeichnisaufgenommen werden.
+% \changes{v1.1}{2011/09/20}{Literatur- und Gleitobjektverzeichnisse
+% werden ins Inhaltsverzeichnis aufgenommen}
+% \begin{macrocode}
+\KOMAoptions{listof=totoc}
+\PassOptionsToPackage{bibliography=totoc}{biblatex}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Fußnoten}
+% \begin{macro}{manyfnotes}
+% Die Fußnoten werden nicht hochgestellt gesetzt, sondern als normal
+% hohe Ziffern. Außerdem muss die Option |manyfnotes| hier ausgewertet
+% werden.
+% \begin{macrocode}
+\if@manyfnotes
+ \deffootnote[1.75em]{1.75em}{1em}{
+ \makebox[1.75em][l]{\thefootnotemark}
+ }
+\else
+ \deffootnote[1.5em]{1.5em}{1em}{\makebox[1.5em][l]{\thefootnotemark}}
+\fi
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{twocolfnotes}
+% Zur Unterstützung für zweispaltige Fußnoten laden wir das Paket
+% \pkg{dblfnote}. Außerdem soll die Schrift dann noch etwas kleiner
+% sein und die Trennlinie ausgeblendet werden.
+% \begin{macrocode}
+\if@twocolfnotes
+ \usepackage{dblfnote}
+ \setlength{\DFNcolumnsep}{2em}
+ \setkomafont{footnote}{\scriptsize}
+ \renewcommand{\footnoterule}{\noindent\rule{85mm}{.4pt}\vspace{1mm}}
+\fi
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{nofnoterule}
+% Nachdem wir eben schon die Fußnotenlinie bei zweispaltigen
+% Fußnoten angepasst haben, werten wir noch die Option
+% \opt{nofnoterule} aus. Dazu setzten wir einfach die Länge auf null.
+% \begin{macrocode}
+\if@nofnoterule
+ \renewcommand{\footnoterule}{\rule{0mm}{.4pt}\vspace{1mm}}
+\fi
+% \end{macrocode}
+% \end{macro}
+% \subsection{Aufzählungen}
+% \begin{environment}{itemize}
+% \begin{environment}{enumerate}
+% Die Aufzählungsumgebungen werden bereits von \pkg{scrartcl}
+% bereitgestellt, daher werden an dieser Stelle nur die
+% Aufzählungszeichen angepasst.
+% \begin{macrocode}
+\renewcommand{\labelitemi}{\rule[0.35ex]{0.5ex}{0.5ex}}
+\renewcommand{\labelitemii}{\rule[0.35ex]{0.5ex}{0.5ex}}
+\renewcommand{\labelitemiii}{\rule[0.35ex]{0.5ex}{0.5ex}}
+\renewcommand{\labelitemiv}{\rule[0.35ex]{0.5ex}{0.5ex}}
+\renewcommand{\labelenumi}{\theenumi)}
+\renewcommand{\labelenumii}{\theenumii)}
+\renewcommand{\labelenumiii}{\theenumiii)}
+\renewcommand{\labelenumiv}{\theenumiv)}
+% \end{macrocode}
+% \end{environment}\end{environment}
+% \subsection{Zitate}
+% Zum Formatieren der Zitate wird das Paket \pkg{csquotes} verwendet.
+% Damit der Nutzer dennoch die Möglichkeit hat das Paket mit eigenen
+% Optionen zu laden, muss am Ende der Präambel geprüft wurden, ob er das
+% auch getan hat.
+% \begin{macrocode}
+\AtEndPreamble{
+\@ifpackageloaded{csquotes}{
+% \end{macrocode}
+% Wenn ja wird eine Warnung ausgegeben
+% \begin{macrocode}
+ \ClassWarning{musuos}{csquotes.sty loaded by user.\MessageBreak
+ Option 'qmarks' will be ignored.}
+}{
+% \end{macrocode}
+% \begin{macro}{qmarks}
+% und wenn \pkg{csquotes} noch nicht geladen ist, wird es jetzt
+% geladen und die Option |qmarks| wird ausgewertet.
+% \begin{macrocode}
+\RequirePackage{csquotes}
+\expandafter\ifstrequal\expandafter{\MU@qmarks}{german}{
+ \ExecuteQuoteOptions{style=german,german=quotes}
+}{
+ \expandafter\ifstrequal\expandafter{\MU@qmarks}{gfrench}{
+ \ExecuteQuoteOptions{style=german,german=guillemets}
+ }{
+ \expandafter\ifstrequal\expandafter{\MU@qmarks}{english}{
+ \ExecuteQuoteOptions{style=english,english=american}
+ }{
+ \expandafter\ifstrequal\expandafter{\MU@qmarks}{french}{
+ \ExecuteQuoteOptions{style=french,french=guillemets}
+ }{
+ \ClassError{musuos}{Unkown value for option 'qmarks'}{
+ Use 'german', 'gfrench', 'french', 'english'\MessageBreak
+ or load csquotes.sty by yourself.
+ }
+ }
+ }
+ }
+}
+}}
+% \end{macrocode}
+% \end{macro}
+% \begin{environment}{quote}
+% Danach wird die Umgebung |quote| die alte Definition (aus
+% \pkg{scrartl.cls}) gelöscht
+% \begin{macrocode}
+\let\quote\relax
+\let\endquote\relax
+% \end{macrocode}
+% und mit einem Befehl aus dem \pkg{environ}-Paket die neue gemacht.
+% Dabei muss wieder Rücksicht auf |poorlayout| genommen werden.
+% \changes{v1.1}{2011/09/19}{Neues KOMA-Schriftelement \fnt{quotetext}}
+% Zunächst definieren wir aber nocht ein KOMA-Schriftelement
+% \changes{v1.1}{2011/09/19}{Neue Länge \cmd{\blockmargin}}
+% und einen Längenbefehl für die Randbreite bei abgesetzten Texten.
+% \begin{macrocode}
+\newkomafont{quotetext}{\footnotesize}
+\newlength{\blockmargin}
+\setlength{\blockmargin}{\leftmargini}
+\NewEnviron{quote}[1][]{%
+ \par\vspace{0.5\baselineskip}%
+ \if@poorlayout\setstretch{1.1}\fi%
+ \begin{addmargin}{\blockmargin}%
+ \usekomafont{quotetext}%
+ \if@bqqmarks\enquote{\BODY}\else\BODY\fi%
+ #1%
+ \end{addmargin}%
+ \vspace{0.5\baselineskip}
+ \if@poorlayout\setstretch{1.45}\fi%
+}
+% \end{macrocode}
+% \end{environment}
+% \begin{macro}{\elp}
+% \changes{v1.1a}{2011/10/03}{\pkg{xspace} muss geladen werden}
+% \begin{macro}{\sic}
+% \begin{macro}{\miss}
+% Abschließend werden noch die Abkürzungen |\miss|, |\elp| und |\sic| erstellt.
+% \changes{v1.1a}{2011/10/03}{Neuer Befehl}
+% Dazu benötigen wir das Paket \pkg{xspace}
+% \begin{macrocode}
+\RequirePackage{xspace}
+\newcommand{\elp}{[\kern0.5pt\dots\kern-1pt]\xspace}
+\newcommand{\sic}{[sic]\xspace}
+\newcommand{\miss}[1]{[#1]}
+% \end{macrocode}
+% \end{macro}\end{macro}\end{macro}
+%
+% \subsection{Textblöcke}
+% \begin{environment}{block}
+% Als Ergänzung zur \env{quote}-Umgebung definiren wir noch die
+% Umgebung \env{block}
+% \begin{macrocode}
+\NewEnviron{block}[1][]{%
+ \par\vspace{0.5\baselineskip}%
+ \if@poorlayout\setstretch{1.1}\fi%
+ \begin{addmargin}{\blockmargin}%
+ \usekomafont{quotetext}%
+ \BODY
+ \end{addmargin}%
+ \vspace{0.5\baselineskip}
+ \if@poorlayout\setstretch{1.45}\fi%
+}
+% \end{macrocode}
+% \end{environment}
+%
+%
+% \subsection{Vers-Umgebung}
+% Als erstes laden wir das Paket \pkg{verse} für die
+% optionale Zeilennummerierung,
+% \begin{macrocode}
+\RequirePackage{verse}
+% \end{macrocode}
+% nehmen einige Einstellungen vor, lenken die
+% Schriftart für die Nummern auf ein neues
+% KOMA-Schriftelement um
+% \begin{macrocode}
+\verselinenumbersleft
+\setlength{\vrightskip}{-1.5\leftmargin}
+\newkomafont{linenumbers}{\normalfont\tiny}
+\verselinenumfont{\usekomafont{linenumbers}}
+% \end{macrocode}
+% \begin{macro}{\linenumbermodulo}
+% und definieren einen Befehl, mit dem der Nutzer
+% die Schrittweite der Zeilennummern verändern kann.
+% \begin{macrocode}
+\newcommand{\mu@ln@modulo}{2}
+\newcommand*{\linenumbermodulo}[1]{%
+ \if@integer{#1}%
+ \renewcommand{\mu@ln@modulo}{#1}
+ \else
+ \ClassError{musuos}{%
+ \string\linenumbermodulo\space needs an integer
+ }{%
+ The command \string\linenumbermodulo\space
+ needs an Integer as value.\MessageBreak
+ If you sure that you gave an
+ integer you found a bug,\MessageBreak
+ please contact the class maintainer.
+ }%
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+% Da wir die Vers-Umgebung nur anpassen, werden zunächst
+% die originalen Definitionen gespeichert.
+% \begin{macrocode}
+\let\mu@orig@verse\verse
+\let\mu@orig@endverse\endverse
+% \end{macrocode}
+% Dann definieren wir ein neues KOMA-Schriftelement
+% \begin{macrocode}
+\newkomafont{verse}{\itshape}
+% \end{macrocode}
+% Als Letztes brauchen wir noch eine möglichkeit,
+% zu Testen ob ein Argument auch wirklich eine
+% Zahl ist:
+% \begin{macrocode}
+\def\if@integer#1{%
+ \begingroup \lccode`\-=`\0 \lccode`+=`\0
+ \lccode`\1=`\0 \lccode`\2=`\0 \lccode`\3=`\0
+ \lccode`\4=`\0 \lccode`\5=`\0 \lccode`\6=`\0
+ \lccode`\7=`\0 \lccode`\8=`\0 \lccode`\9=`\0
+ \lowercase{\endgroup
+ \expandafter\ifx\expandafter\delimiter
+ \romannumeral0\string#1}\delimiter
+}
+% \end{macrocode}
+% \begin{environment}{verse}
+% \changes{v1.1}{2011/09/19}{Umgebung \env{verse} erweitert}
+% \changes{v1.1}{2011/09/20}{Neues KOMA-Schriftelement \fnt{verse}}
+% \changes{v1.1}{2011/09/20}{Neues KOMA-Schriftelement \fnt{linenumbers}}
+% Nun können wir die neue Umgebung definieren
+% \begin{macrocode}
+\let\verse\relax
+\let\endverse\relax
+\NewEnviron{verse}[1][]{%
+ \usekomafont{verse}%
+ \mu@orig@verse%
+ \if@integer{#1}%
+ \poemlines{\mu@ln@modulo}%
+ \setverselinenums{#1}{#1}
+ \else%
+ \ClassWarning{musuos}{%
+ The optinal argument of verse seems to\MessageBreak
+ be no number. I'm going to ignore it.
+ }%
+ \fi%
+ \BODY%
+ \mu@orig@endverse%
+ \if@integer{#1}\poemlines{0}\fi%
+}
+% \end{macrocode}
+% \end{environment}
+%
+% \subsection{Gleitumgebungen}
+% \begin{environment}{music}
+% \changes{v1.1}{2011/09/11}{Neue Umgebung \env{music}}
+% \changes{v1.1b}{2011/10/03}{Mit \pkg{subcaption} nutzbar}
+% Um die neue Gleitumgebung für Notenbeispiele zu definieren,
+% laden wird das Paket \pkg{float}, legen die neue Umgebung an
+% und definieren die Bezeichnung "`Notenbeispiel"'.
+% Außerdem müssen wir dafür sorgen, dass \env{music} auch mit
+% \pkg{subfloat} benutzt werden kann, sofern das Paket
+% geladen wurde.
+% \begin{macrocode}
+\usepackage{float}
+\newfloat{music}{htpb}{lom}
+\floatname{music}{Notenbeispiel}
+\AtBeginDocument{%
+ \@ifpackageloaded{subcaption}{%
+ \DeclareCaptionSubType{music}%
+ }{}%
+}
+% \end{macrocode}
+% Anschließend definieren wir den Befehl zur Ausgabe
+% der Liste aller Beispiele analog zu |\listoffigures|
+% \begin{macrocode}
+\newcommand{\listofmusic}{%
+ \listof{music}{Notenbeispiele}
+}
+% \end{macrocode}
+% \end{environment}
+%
+% Nun kümmern wir uns noch darum, dass die Inhalte der
+% Umgebungen zentriert werden.
+% \begin{macrocode}
+\if@centerfloats
+\let\mu@orig@music\music
+\let\mu@orig@endmusic\endmusic
+\renewenvironment{music}[1][htpb]{%
+ \mu@orig@music[#1]
+ \centering}%
+ {\mu@orig@endmusic}
+
+\let\mu@orig@table\table
+\let\mu@orig@endtable\endtable
+\renewenvironment{table}[1][htpb]{%
+ \mu@orig@table[#1]
+ \centering}%
+ {\mu@orig@endtable}
+
+\let\mu@orig@figure\figure
+\let\mu@orig@endfigure\endfigure
+\renewenvironment{figure}[1][htpb]{%
+ \mu@orig@figure[#1]
+ \centering}%
+ {\mu@orig@endfigure}
+\fi
+% \end{macrocode}
+%
+%
+% \Finale
+\endinput
+ \ No newline at end of file