From ec151de0f3ba705d191c5e0a80c6b1c2e8342da1 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 21 Aug 2011 23:19:38 +0000 Subject: new latex package musuos (21aug11) git-svn-id: svn://tug.org/texlive/trunk@23629 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/musuos/musuos.cls | 252 ++++++++++++++++++++++++++ 1 file changed, 252 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/musuos/musuos.cls (limited to 'Master/texmf-dist/tex/latex/musuos') diff --git a/Master/texmf-dist/tex/latex/musuos/musuos.cls b/Master/texmf-dist/tex/latex/musuos/musuos.cls new file mode 100644 index 00000000000..b494489de45 --- /dev/null +++ b/Master/texmf-dist/tex/latex/musuos/musuos.cls @@ -0,0 +1,252 @@ +%% +%% This is file `musuos.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% musuos.dtx (with options: `class') +%% +%% This is a generated file. +%% +%% 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. +%% +\NeedsTeXFormat{LaTeX2e}[2009/01/01] +\ProvidesClass{musuos} + [2011/08/15 v1.0 a class for typesetting + papers. Uni Osnabrueck, music dept.] +\RequirePackage{kvoptions} +\SetupKeyvalOptions{ + family=MU, + prefix=MU@ +} +\RequirePackage{environ} +\RequirePackage{etoolbox} +\DeclareStringOption[withqmarks]{blockquote}[withqmarks] +\DeclareStringOption[german]{qmarks}[german] +\newif\if@poorlayout +\DeclareOption{poorlayout}{\@poorlayouttrue} +\newif\if@manyfnotes +\DeclareOption{manyfnotes}{\@manyfnotestrue} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrartcl}} +\PassOptionsToClass{fontsize=12pt,titlepage=true}{scrartcl} +\ProcessKeyvalOptions*\relax +\ProcessOptions\relax +\LoadClass{scrartcl} +\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'} + } +} +\RequirePackage{geometry} +\if@poorlayout + \geometry{left=2cm, right=3cm, top=3cm, bottom=3cm} + \usepackage{txfonts} + \usepackage[scaled=0.9]{helvet} + \usepackage{setspace} + \setstretch{1.45} + \ClassWarningNoLine{musuos}{Are you shure that you would + like to use the poor layout?} +\else + \geometry{left=3cm, right=5cm, top=3.25cm, bottom=5.5cm} + \usepackage{libertine} +\fi +\tolerance 1414 +\hbadness 1414 +\emergencystretch 1.5em +\hfuzz 0.3pt +\widowpenalty=10000 +\clubpenalty=5000 +\vfuzz +\hfuzz +\raggedbottom +\newcommand{\@city}{} +\newcommand{\@street}{} +\newcommand{\@email}{} +\newcommand{\@phone}{} +\newcommand{\@lecturer}{} +\newcommand{\@seminar}{} +\newcommand{\@term}{} +\newcommand{\@uni}{} +\newcommand{\@study}{} +\newcommand{\@sterm}{} +\newcommand{\@examiner}{} +\newcommand{\@examinerlabel}{} +\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}} +\newcommand*{\examiner}[2]{% + \ifx{#1}\@empty\else + \renewcommand{\@examinerlabel}{#1\hspace{1em}} + \fi + \renewcommand{\@examiner}{#2}% +} +\RequirePackage{pbox} +\newif\if@letesep\@leteseptrue +\AtBeginDocument{ + \expandafter\ifstrempty\expandafter{\@lecturer}{\@letesepfalse}{} + \expandafter\ifstrempty\expandafter{\@term}{\@letesepfalse}{} +} +\renewcommand{\maketitle}{% + \newgeometry{left=4cm,right=4cm,top=4cm,bottom=4cm}% + \begin{titlepage} + \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 + \@examinerlabel\hspace{0.75em}% + \pbox[t]{\textwidth}{\@examiner}\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} + \restoregeometry + \@afterindentfalse + \@afterheading% +} +\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% +} +\if@titlepage\else + \let\maketitle\makeshorttitle +\fi +\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$~] +\setcounter{tocdepth}{3} +\if@poorlayout + \preto\tableofcontents{\singlespacing} + \appto\tableofcontents{\setstretch{1.45}} +\fi +\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 +\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)} +\AtEndPreamble{ +\@ifpackageloaded{csquotes}{ + \ClassWarning{musuos}{csquotes.sty loaded by user.\MessageBreak + Option 'qmarks' will be ignored.} +}{ +\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. + } + } + } + } +} +}} +\let\quote\relax +\let\endquote\relax +\NewEnviron{quote}[1][]{% + \par\vspace{0.5\baselineskip}% + \if@poorlayout\setstretch{1.1}\fi% + \begin{addmargin}{2em}% + \footnotesize% + \if@bqqmarks\enquote{\BODY}\else\BODY\fi% + #1% + \end{addmargin}% + \vspace{0.5\baselineskip} + \if@poorlayout\setstretch{1.45}\fi% +} +\newcommand{\elp}{[\kern0.5pt\dots\kern-1pt]\xspace} +\newcommand{\sic}{[sic]\xspace} +\endinput +%% +%% End of file `musuos.cls'. -- cgit v1.2.3