summaryrefslogtreecommitdiff
path: root/usergrps/dante/dtk/dtk.cls
diff options
context:
space:
mode:
Diffstat (limited to 'usergrps/dante/dtk/dtk.cls')
-rw-r--r--usergrps/dante/dtk/dtk.cls601
1 files changed, 601 insertions, 0 deletions
diff --git a/usergrps/dante/dtk/dtk.cls b/usergrps/dante/dtk/dtk.cls
new file mode 100644
index 0000000000..899bef376b
--- /dev/null
+++ b/usergrps/dante/dtk/dtk.cls
@@ -0,0 +1,601 @@
+%% This is file `dtk.cls',
+%%
+%% LaTeX Class for ``Die TeXnische Komoedie''.
+%%
+%% Copyright (C) 2015-
+%% Rolf Niepraschk, Herbert Voss
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% 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.3c or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+
+\listfiles
+
+\InputIfFileExists{dtk-requirepackages.tex}{%
+ \typeout{*************************************^^J%
+ * File `dtk-requirepackages.tex' used.^^J%
+ *************************************}%
+}{}%
+
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\RequirePackage{hyphsubst}% Trennregeln austauschen
+\HyphSubstIfExists{ngerman-x-latest}{%
+ \HyphSubstLet{ngerman}{ngerman-x-latest}}{}
+\HyphSubstIfExists{german-x-latest}{%
+ \HyphSubstLet{german}{german-x-latest}}{}
+
+\def\DTKversion{2.08b}
+\def\DTKversiondate{2019/08/09}
+\ProvidesClass{dtk}[\DTKversiondate v\DTKversion dtk documentclass (RN)]
+
+\RequirePackage{ifxetex,ifluatex,ifpdf,ifvtex,luatex85}
+\newcommand*\DTK@engine{}
+
+\ifluatex
+ \def\DTK@engine{4}% LuaTeX
+\else
+ \ifxetex
+ \def\DTK@engine{3}% XeTeX
+ \else
+ \ifpdf
+ \def\DTK@engine{2}% pdfTeX
+ \else
+ \ifvtex
+ \def\DTK@engine{1}% VTeX
+ \else
+ \def\DTK@engine{0}% TeX+dvips
+ \fi
+ \fi
+ \fi
+\fi
+
+\RequirePackage{xkeyval}
+
+\newif\ifDTK@Author@ \DTK@Author@true
+\newif\ifDTKcolor \DTKcolorfalse % "@" ?
+\newif\ifDTK@korr@ \DTK@korr@false
+
+\newlength\DTK@tempdima
+\newlength\DTK@tempdimb
+\newlength\DTK@tempdimc
+\newlength\DTK@tempdimd
+\newlength\DTK@tempdime
+
+\newlength\Linewidth
+\AtBeginDocument{\Linewidth=\dimexpr\linewidth-2\fboxsep-2\fboxrule}
+
+\newcommand*\journalname{Die \protect\TeX{}nische Kom\"odie}
+
+\newcommand*\DTKyear{} \edef\DTKyear{\the\year}
+\newcommand*\DTKmonth{0}
+\newcommand*\DTKissue{0}
+\newcommand*\DTKvolume{??}
+\newcommand*\DTKdate{?/??}
+\newcommand*\DTKcorrVersion{\mbox{}}
+\newcommand*\DTKfullIssue{\mbox{}}
+\newcommand*\DTKissn{1434-5897}
+
+\DeclareOptionX{Ausgabe}{\def\DTKissue{#1}}
+\DeclareOptionX{Jahr}{\def\DTKyear{#1}}
+\DeclareOptionX{Monat}{\def\DTKmonth{#1}}
+\DeclareOptionX{korr}[true]{\csname DTK@korr@#1\endcsname}
+\DeclareOptionX{full}[true]{\csname @tempswa#1\endcsname
+ \if@tempswa\DTK@Author@false\else\DTK@Author@true\fi}
+\DeclareOptionX{color}[true]{\csname DTKcolor#1\endcsname}
+\DeclareOptionX{draft}{\PassOptionsToClass{\CurrentOption}{scrbook}}
+
+\DeclareOptionX*{\OptionNotUsed}
+\ProcessOptionsX\relax
+
+\PassOptionsToPackage{paper=a5,pagesize}{typearea}
+
+\newdimen\DTK@tempdima
+\newdimen\DTK@tempdimb
+\newdimen\DTK@tempdimc
+
+\newcommand*\DTK@tempa{}
+\newcommand*\DTK@tempb{}
+\newcommand*\DTK@tempc{}
+
+\newsavebox\DTK@tempbox
+
+\PassOptionsToPackage{hyphens}{url}
+\RequirePackage{dtk-url}
+
+\LoadClass[%
+,twoside
+,fontsize=10pt
+,captions=oneline
+,parskip=full-
+,headings=small
+,open=any
+,pagesize
+]{scrbook}
+
+\RequirePackage{scrhack}% Andere Pakete KOMA-Script-freundlich machen
+
+\RequirePackage{dtk-extern}
+
+% http://www.komascript.de/release3.18
+\ifstr{\KOMAScriptVersion}{2015/07/02 v3.18 KOMA-Script}{%
+ \ifx\par@update\default@par@update\else
+ \AtBeginDocument{\par@updaterelative}%
+ \fi
+}{}
+
+\AtEndOfClass{%
+ \InputIfFileExists{dtk.cfg}{}{}%
+}
+
+% *** Konstanten ***
+
+\ifDTK@Author@\else\setcounter{errorcontextlines}{100}\fi
+
+\textheight = 485pt %
+\textwidth = 333pt %
+\oddsidemargin = -35.89157pt %
+\evensidemargin = -17.70235pt %
+\marginparwidth = 1cm %
+\marginparsep = 7pt %
+\topmargin = -55.66684pt %
+\headheight = 17pt %
+\headsep = 17pt %
+\footskip = 24pt %
+\parskip = 0.3\baselineskip
+\advance\parskip by 0pt plus 2pt %
+\parindent = 0pt %
+\columnsep = 5pt %
+
+\emergencystretch = 1.5em %
+\clubpenalty = 10000 %
+\widowpenalty = 10000 %
+\raggedbottom
+
+\setcounter{secnumdepth}{\numexpr\partnumdepth-1\relax}
+\setcounter{tocdepth}{\chapternumdepth}
+
+\@fptop=\z@
+\renewcommand\topfraction{.9}
+\renewcommand\bottomfraction{.9}
+\renewcommand\textfraction{.1}
+
+\RequirePackage[english,main=ngerman]{babel}
+
+\defineshorthand{"|}{%
+ \ClassError{dtk2}{%
+ Shorthand `\string"|' wird nicht unterstützt! Entferne `\string"|'%
+ }{}%
+}
+
+\newcommand*\DTK@FontNameMissing{%
+ \ClassError{dtk2}{%
+ Eines der Makros `\string\DTKrmFontName', `\string\DTKsfFontName',
+ \MessageBreak
+ `\string\DTKttFontName' oder `\string\DTKmathFontName'
+ \MessageBreak
+ ist nicht korrekt definiert%
+ }{}%
+}
+\newcommand*\DTKrmFontName{} \let\DTKrmFontName=\DTK@FontNameMissing
+\newcommand*\DTKsfFontName{} \let\DTKsfFontName=\DTK@FontNameMissing
+\newcommand*\DTKttFontName{} \let\DTKttFontName=\DTK@FontNameMissing
+\newcommand*\DTKmathFontName{} \let\DTKmathFontName=\DTK@FontNameMissing
+
+\ifnum\DTK@engine < 3 %
+ \input{dtk-old-engines.clo}% pdfTeX oder TeX+dvips oder VTeX
+\else
+ \input{dtk-new-engines.clo}% LuaTeX oder XeTeX
+\fi
+
+\@ifpackagelater{csquotes}{2018/02/11}{}{%
+ \def\@inpenc@undefined{}
+}
+\RequirePackage[autostyle=true,german=guillemets,maxlevel=3]{csquotes}%
+\MakeAutoQuote{»}{«}
+\defineshorthand{"`}{\openautoquote}%
+\defineshorthand{"'}{\closeautoquote}%
+
+\iftrue
+ \newcommand*\EURO@scale@to@rm[2]{%
+ \begingroup
+ \fontsize{10}{0}\usefont{\encodingdefault}{\rmdefault}{m}{n}%
+ #1%
+ \xdef\eurosym@@Scale{%
+ \strip@pt
+ \dimexpr 1pt * \@tempdima / \dimexpr#2pt\relax }%
+ \ClassInfo{dtk}{The eurosym family is scaled by \eurosym@@Scale}%
+ \endgroup
+ }
+ \EURO@scale@to@rm{\setbox0\hbox{C}\@tempdima=\ht0}{6.92}% matchuppercase
+ % Extrakt aus "eurosym.sty"
+ \DeclareFontFamily{U}{DTK@eurosym}{}
+ \DeclareFontShape{U}{DTK@eurosym}{m}{n}{ <-> s*[\eurosym@@Scale] feymr10 }{}
+ \DeclareFontShape{U}{DTK@eurosym}{m}{sc}{ <-> s*[\eurosym@@Scale] ssub*DTK@eurosym/m/n }{}
+ \DeclareFontShape{U}{DTK@eurosym}{m}{sl}{ <-> s*[\eurosym@@Scale] feymo10 }{}
+ \DeclareFontShape{U}{DTK@eurosym}{m}{it}{ <-> s*[\eurosym@@Scale] ssub*DTK@eurosym/m/sl }{}
+ \DeclareFontShape{U}{DTK@eurosym}{m}{ol}{ <-> s*[\eurosym@@Scale] feyml10 }{}
+ \DeclareFontShape{U}{DTK@eurosym}{bx}{n}{ <-> s*[\eurosym@@Scale] feybr10 }{}
+ \DeclareFontShape{U}{DTK@eurosym}{bx}{sc}{ <-> s*[\eurosym@@Scale] ssub*DTK@eurosym/bx/n }{}
+ \DeclareFontShape{U}{DTK@eurosym}{bx}{sl}{ <-> s*[\eurosym@@Scale] feybo10 }{}
+ \DeclareFontShape{U}{DTK@eurosym}{bx}{it}{ <-> s*[\eurosym@@Scale] ssub*DTK@eurosym/bx/sl }{}
+ \DeclareFontShape{U}{DTK@eurosym}{bx}{ol}{ <-> s*[\eurosym@@Scale] feybl10 }{}
+ \DeclareFontShape{U}{DTK@eurosym}{b}{n}{ <-> s*[\eurosym@@Scale] ssub*DTK@eurosym/bx/n }{}
+ \DeclareFontShape{U}{DTK@eurosym}{b}{sl}{ <-> s*[\eurosym@@Scale] ssub*DTK@eurosym/bx/sl }{}
+ \DeclareFontShape{U}{DTK@eurosym}{b}{it}{ <-> s*[\eurosym@@Scale] ssub*DTK@eurosym/bx/sl }{}
+ \DeclareFontShape{U}{DTK@eurosym}{b}{sc}{ <-> s*[\eurosym@@Scale] ssub*DTK@eurosym/bx/n }{}
+ \DeclareFontShape{U}{DTK@eurosym}{b}{ol}{ <-> s*[\eurosym@@Scale] ssub*DTK@eurosym/bx/ol }{}
+ \DeclareRobustCommand\DTK@euro{{\fontencoding{U}\fontfamily{DTK@eurosym}\selectfont{}e}}
+\else
+ % Sobald das Paket Skalierung unterstützt
+ \RequirePackage[right,scaled]{eurosym}
+%%%\DeclareRobustCommand\DTK@euro{\scalebox{0.9}{\officialeuro}}
+\fi
+
+\let\texteuro=\DTK@euro
+
+\ifxetex\else
+\RequirePackage[%
+,protrusion=true
+,expansion=true
+,verbose=true
+,final=true
+,letterspace=100
+,babel=true
+]{microtype}
+% TODO: Spezielle Angaben zu den Schriften?
+\fi
+
+\RequirePackage[%
+,style=dtk
+,language=auto
+,sorting=nyt
+,sortlocale=auto
+,backend=biber
+]{biblatex}
+
+\let\ORIGprintbibliography\printbibliography
+\g@addto@macro\bibsetup{\RaggedRight}
+
+%\RequirePackage{etex} % ???
+\RequirePackage{ragged2e,dtk-logos}
+
+\renewcommand\title[2][]{%
+ \gdef\@title{#2}%
+ \ifx\relax#1\relax\gdef\@@title{#2}\else\gdef\@@title{#1}\fi%
+}
+
+\let\DTK@thispagestyle=\thispagestyle
+
+\newcommand*\DTK@Author@list@content{}
+\newcommand\DTK@Author@list@exec{%
+ \DTK@Author@list@content
+ \global\let\DTK@Author@list@content=\@empty
+}
+\newcommand\DTK@maketitle[1][]{%
+ \begingroup
+ \dimen0=\textheight
+ \advance\dimen0 by -\pagetotal
+ \ifdim\dimen0<.2\textheight
+ \newpage
+ \fi
+ \endgroup
+ \def\and{\end{tabular}, \begin{tabular}[t]{@{}c@{}}}%
+ \leavevmode% erzwingt \everypar (speziell: \DTK@Author@list@exec)
+ \vspace*{-8mm}%
+ \addchap[\@@title]{\@title}%
+ \begingroup
+ \usekomafont{author}\lineskip 0.75em %
+ \begin{tabular}[t]{@{}c@{}}\@author\end{tabular}\par\medskip
+ \endgroup
+ \@thanks
+ \global\let\@thanks=\@empty
+ \global\let\@title=\@empty
+ \global\let\@author=\@empty
+ \global\let\@thanks=\@empty
+ \global\let\and\relax
+ \global\let\DTK@license=\@empty
+}
+
+\renewcaptionname{ngerman}{\bibname}{Literatur und Software}
+\defbibheading{dtk}{\section{\bibname}}
+
+\RequirePackage[automark,draft=false]{scrlayer-scrpage}
+\pagestyle{scrheadings}
+\clearpairofpagestyles
+% https://komascript.de/node/2177
+\ihead{\ifstr{\righttopmark}{\rightbotmark}{\leftmark}{}}
+\ohead{\ifstr{\righttopmark}{\rightbotmark}{\pagemark}{}}
+\ofoot*{\normalsize\DTKcorrVersion}
+\ifoot*{\journalname~~\DTKdate}
+\automark[chapter]{chapter}
+
+\newcommand*\DTK@license{}
+\newcommand*\license[1]{%
+ \gdef\DTK@license{#1}%
+}
+\iffalse
+\RedeclareSectionCommand[%
+ ,style=part
+ %,indent=\z@
+ ,beforeskip=40mm
+ ,afterskip=60mm %
+ ,pagestyle=plain.scrheadings
+ %,innerskip=\z@
+]{part}
+\fi
+
+\RedeclareSectionCommand[%
+ ,style=section
+ ,indent=\z@
+ ,beforeskip=-2\baselineskip \@plus -.2\baselineskip \@minus -.2\baselineskip
+ ,afterskip=.4\baselineskip \@plus .04\baselineskip \@minus .04\baselineskip
+]{chapter}
+
+\RedeclareSectionCommand[%
+ ,beforeskip=-2.4ex \@plus -1ex \@minus -.2ex % Betrag ist von Bedeutung!
+ ,afterskip=0.8ex \@plus .1ex \@minus .1ex %
+]{section}
+
+\RedeclareSectionCommand[%
+ ,afterskip=0.8ex \@plus .1ex %
+]{subsection}
+
+\RequirePackage{xcolor}
+
+\ifDTKcolor
+ \colorlet{DTK@marker}{red!30}
+ \definecolor{DTK@fancy}{rgb}{.72,.525,.044}
+\else
+ \colorlet{DTK@marker}{black!20}
+ \colorlet{DTK@fancy}{black!60}
+\fi
+
+\colorlet{DTKlstBackground}{black!5}
+\colorlet{DTKlstKeys}{black}
+%\colorlet{DTKlstIdentifiers}{black}
+\colorlet{DTKlstComments}{black}
+\colorlet{DTKlstStrings}{black}
+\colorlet{DTKlstNumbers}{black}
+\newcommand*\DTKlstKeywordfont{\bfseries}
+
+\RequirePackage[final]{listings}
+\RequirePackage{lstautogobble}
+
+\@ifundefined{ifDTKrecord}{\newif\ifDTKrecord \DTKrecordfalse}{}
+
+\newcommand*\address[3]{%
+ \ClassError{dtk2}{%
+ Das Makro \string\address\space existiert nicht mehr!\MessageBreak
+ Nimm stattdessen \string\Author%
+ \string{Vorn.\string}\string{Nachn.\string}\string{Adr.\string}}{}%
+}%
+\def\author#1{%
+ \ClassError{dtk2}{%
+ Das Makro \string\author\space existiert nicht mehr!\MessageBreak
+ Nimm stattdessen \string\Author%
+ \string{Vorn.\string}\string{Nachn.\string}\string{Adr.\string}}{}%
+}%
+
+% Sternform: Autor-Eintrag im Verzeichnis, aber nicht im Artikel
+\newcommand*\Author{% #1=Vorname, #2=Nachname, #3=Adresse
+ \@ifstar\DTK@Author\DTK@@Author
+}
+
+\newcommand\DTK@Author[3]{}%
+
+\newcommand\DTK@Author@article[3]{%
+ \begingroup
+ \ifx\@author\@empty\let\x=\@empty\else\def\x{\and}\fi
+ \expandafter\g@addto@macro\expandafter\@author\expandafter{\x #1 #2}%
+ \endgroup
+}%
+
+\let\@author=\@empty
+
+\ifDTK@Author@
+ \input{dtk-author.clo}
+\else
+ \input{dtk-full.clo}
+\fi
+
+\AfterEndPreamble{% "etoolbox"
+ \def\bibliography#1{%
+ \ClassError{dtk2}{%
+ Das Makro `\string\bibliography' wird nicht unterstützt!\MessageBreak
+ Verwende stattdessen `\string\addbibresource\string{#1.bib\string}'
+ \MessageBreak
+ und `\string\printbibliography' (siehe biblatex-Dokumentation)
+ }{}%
+ }%
+}
+
+%%%\ifDTKrecord \expandafter \endinput \fi % lohnt es?
+
+\addtokomafont{caption}{%\RaggedRight
+ \small}
+\setkomafont{captionlabel}{\sffamily}
+\setcapindent{0pt}
+%\setcapwidth[c]{\textwidth}
+\renewcaptionname{ngerman}{\figurename}{Abb.}
+\renewcaptionname{ngerman}{\tablename}{Tab.}
+\def\thefigure{\@arabic\c@figure}
+\def\thetable{\@arabic\c@table}
+\def\theequation{\@arabic\c@equation}
+\def\thelstlisting{\@arabic\c@lstlisting}
+
+\setkomafont{disposition}{\normalfont\sffamily}
+\setkomafont{part}{\usekomafont{disposition}\huge}
+\setkomafont{chapter}{\usekomafont{disposition}\Large}
+\setkomafont{section}{\usekomafont{disposition}\large}
+\setkomafont{pagenumber}{\normalfont\sffamily}
+\setkomafont{pagehead}{\sffamily\slshape}% \itshape?
+\setkomafont{pagefoot}{\footnotesize\sffamily\slshape}% \itshape?
+\setkomafont{author}{\usekomafont{section}}
+
+\RequirePackage{marginnote}
+\renewcommand*{\marginfont}{\normalfont\itshape\small}
+\renewcommand*{\sectionlinesformat}[4]{%
+ % reagiert auf \addchap in \maketitle (wegen "style=section")
+ \@hangfrom{%
+ \ifx\DTK@license\@empty\else
+ \marginnote{\rotatebox{90}{\makebox[.5em][r]{%
+ Lizenz:~\DTK@license
+ }}}%
+ \fi
+ \hskip #2#3%
+ }{#4}%
+}
+
+%\addtokomafont{footnote}{\RaggedRight}
+\deffootnote[1.2em]{1.2em}{1.2em}{\textsuperscript{\thefootnotemark}\,}
+\newcommand*\DTK@footnote{}
+\let\DTK@footnote=\footnote
+\newcommand*\DTK@@footnote[2][]{%
+ \edef\DTK@tempa{\ifx\relax#1\relax\else[#1]\fi}%
+ \expandafter\DTK@footnote\DTK@tempa{\RaggedRight #2}%
+}
+\def\footnote{%
+ \@ifstar\DTK@@footnote\DTK@footnote
+}
+%\setfootnoterule{.15\textwidth}
+
+\RequirePackage{enumitem}
+\setlist{leftmargin=*,nosep}
+\setlist[1]{labelindent=1em}
+\iffalse
+\setlist[itemize,1]{label=\raisebox{-.1ex}{\Large\textbullet}}
+\setlist[itemize,2]{label=\raisebox{-.1ex}{\Large$\m@th\circ$}}
+\setlist[itemize,3]{label=\raisebox{-.7ex}{\large\textasteriskcentered}}
+\setlist[itemize,4]{label=\raisebox{.4ex}{\tiny$\m@th\triangleright$}}
+\fi
+
+% Listings
+\newcommand*\DTKlstfont{\small\ttfamily}
+
+\let\lstlisting=\relax
+\let\lstlisting@=\relax
+% Correct wrong vertical spaces
+\lstnewenvironment{lstlisting}[2][]{%
+ %%%%\leavevmode%
+ \lst@TestEOLChar{#2}%
+ \lstset{#1}%
+ \csname\@lst @SetFirstNumber\endcsname
+}{\csname\@lst @SaveFirstNumber\endcsname}
+
+% siehe ggf.: https://github.com/jez/latex-solarized
+
+\lstdefinestyle{DTKlstSimple0}{%
+,basicstyle=\DTKlstfont
+,numbers=none
+,backgroundcolor={}
+,tabsize=2
+,frame=none
+}
+
+\lstdefinestyle{DTKlstVerbatim}{
+,style=DTKlstSimple0
+,aboveskip=\smallskipamount
+,belowskip=0pt plus .25pt minus .25pt %
+}
+
+\lstdefinestyle{DTKlstSimple1}{%
+,style=DTKlstSimple0
+,identifierstyle=\DTKlstfont
+,stringstyle=\DTKlstfont
+,commentstyle=\DTKlstfont
+,basewidth=0.55em
+,keepspaces
+,autogobble=false
+,backgroundcolor=\color{DTKlstBackground}
+,numbers=none
+,frame=single
+,framesep=\fboxsep
+,aboveskip=\medskipamount
+,belowskip=1pt plus .5pt minus .5pt %
+,xleftmargin=\fboxsep
+,xrightmargin=\fboxsep
+}
+
+\newcommand*\DTK@lst@colorbox[2]{%
+ \fboxsep=.3em %
+ \settowidth\DTK@tempdima{#2}\settoheight\DTK@tempdimb{#2}%
+ \makebox[\DTK@tempdima][c]{\colorbox{#1}{%
+ \raisebox{0pt}[\DTK@tempdimb][\z@]{#2}}}%
+}
+
+\lstdefinestyle{DTKlstBase}{%
+,style=DTKlstSimple1
+%,identifierstyle=\color{DTKlstIdentifiers}
+,keywordstyle=\DTKlstKeywordfont
+,stringstyle=\itshape\color{DTKlstStrings}
+,commentstyle=\itshape\color{DTKlstComments}
+,columns=fullflexible
+%,extendedchars=true
+,showspaces=false
+,showstringspaces=false
+,breaklines=true
+,breakindent=0.5em
+,breakautoindent=true
+,breakatwhitespace=false % ???
+,captionpos=t
+,emphstyle=\DTK@lst@colorbox{DTKlstBackground!70!-DTKlstBackground}%
+%,prebreak=
+,postbreak=\mbox{$\hookrightarrow$}
+,autogobble=true
+}
+
+\lstdefinestyle{number}{% TODO: Evtl. doch besser Zeilennummern ganz ausrücken?
+,style=DTKlstBase
+,numbers=left
+,numberstyle=\tiny\ttfamily
+,numbersep=1.3em
+,xleftmargin=1.5em
+}
+
+\lstdefinestyle{noNumber}{%
+,style=DTKlstBase
+,numbers=none
+,xleftmargin=\fboxsep % ???
+}
+
+\lstset{style=noNumber}
+
+% noHilit, latex ???
+
+\let\verbatim=\relax
+\lstnewenvironment{verbatim}
+{\lstset{style=DTKlstVerbatim,language={}}}{}
+
+\newlength\fullwidth
+\setlength\fullwidth{\dimexpr\textwidth+\marginparwidth+\marginparsep\relax}
+\newenvironment{Figure}[2][\fullwidth]
+ {\figure[htb!]\setlength\columnsep{1.5em}%
+ \captionbeside{#2}[o][#1][0pt]*}%
+ {\endcaptionbeside\endfigure}
+\newenvironment{Table}[2][\fullwidth]
+ {\table[htb!]\setlength\columnsep{1.5em}%
+ \begincaptionbeside{#2}[o][#1][0pt]*}%
+ {\endcaptionbeside\endtable}
+
+\newenvironment{abstract}
+ {\quote\small}{\endquote\medskip\par}
+
+\providecommand*\Macro[1]{\texttt{\textbackslash#1}}
+\providecommand*\Code[1]{\texttt{#1}}
+\let\Command\texttt
+\let\Environment\texttt
+\def\biblatex{\texttt{biblatex}\xspace}
+\def\tex4ht{\hologo{TeX4ht}}
+\let\Paket\texttt
+\let\Package\texttt
+\let\Programm\texttt
+\let\Program\texttt
+\let\Env\texttt
+\let\Class\texttt
+
+\endinput
+