diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /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.dtx | 1300 |
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 |