% \CheckSum{135}
% \iffalse meta-comment
%
%  TUD-Script -- Corporate Design of Technische Universität Dresden
% ----------------------------------------------------------------------------
%
%  Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2020
%
% ----------------------------------------------------------------------------
%
%  This work may be distributed and/or modified under the conditions of the
%  LaTeX Project Public License, version 1.3c of the license. 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 2005/12/01
%  or later and of this work. This work has the LPPL maintenance status
%  "author-maintained". The current maintainer and author of this work
%  is Falk Hanisch.
%
% ----------------------------------------------------------------------------
%
%  Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz
%  in der Version 1.3c, verteilt und/oder verändert werden. Die aktuelle
%  Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und
%  Version 1.3c oder später ist Teil aller Verteilungen von LaTeX 2005/12/01
%  oder später und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status
%  "author-maintained", wird somit allein durch den Autor verwaltet. Der
%  aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
%
% ----------------------------------------------------------------------------
%
% \fi
%
% \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         \~}
%
% \iffalse
%%% From File: tudscr-version.dtx
% \fi
%
% \iffalse
% Nicht verwirren lassen! In dieser Datei steht ein Teil der Dokumentation und 
% des Codes vor dem Treiber. Das ist notwendig, weil der Teil des Codes bereits 
% am Anfang des Treibers selbst benötigt wird. Genauer gesagt handelt es sich 
% dabei um den Teil zur Versionsangbabe.
% \fi
%
% \selectlanguage{ngerman}
%
% \changes{v1.0}{2012/10/31}{\TUDScript-Bundle erstmalig veröffentlicht}^^A
% \changes{v2.00}{2014/04/21}{\TUDScript-Bundle auf \pkg{docstrip} umgestellt
%   und stark erweitert}^^A
% \changes{v2.01}{2014/04/24}{Anpassungen in Dokumentation und
%   Schriftinstallation, Fehlerkorrekturen}^^A
% \changes{v2.02}{2014/05/14}{Problem globaler Längenänderungen behoben}^^A
% \changes{v2.02}{2014/05/16}{Umbennenung mehrerer Befehle zur Kompatibilität
%   mit anderen Paketen}^^A
%
% \section{Die Version des \texorpdfstring{\TUDScript}{TUD-Script}-Bundles}
%
% Für alle Klassen und Paketen, die zum \TUDScript-Bundle auf \KOMAScript-Basis
% gehören wird als erstes die aktuelle Version festgelgt.
%
% \StopEventually{\PrintIndex\PrintChanges\PrintToDos}
%
% \begin{macro}{\TUD@Version}
% \begin{macro}{\TUD@Version@Check}
% \changes{v2.02}{2014/07/22}{Expandieren der Versionsangabe bei der Verwendung 
%   von \pkg{docstrip} ermöglicht}^^A
% \begin{macro}{\TUD@Version@KOMA}
% \begin{macro}{\TUDScriptVersion}
% \begin{macro}{\TUDScriptVersionNumber}
% Das Makro \cs{TUD@Version} gibt an, zu welcher \TUDScript"~Version die 
% Datei gehört. Die Klassen und Pakete des Bundles verwenden dieses Makro
% außerdem zur eigenen Versionsangabe. Je nachdem, ob \cs{TUD@Version}
% bereits definiert ist oder nicht, wird mit \cs{TUD@Version@Check} die
% Definition überprüft oder eine globale Definition vorgenommen. Da das Ganze
% auch bei der Erstellung der Dokumentation geschieht, wird \cs{makeatletter}
% innerhalb einer Gruppe verwendet. Das Makro \cs{TUD@Version@KOMA} definiert 
% die mindestens notwendige Version von \KOMAScript. In \cs{TUDScriptVersion} 
% wird die Versioninformation für den Anwender definiert.
%    \begin{macrocode}
\begingroup
  \catcode`\@11\relax
%<*!(package|class)>
  \ifx\newcommand\undefined
    \gdef\TUD@Version@Check#1{%
      \gdef\TUD@Version{\space\space#1}%
      \gdef\TUDScriptVersion{\space\space#1}%
      \aftergroup\endinput%
    }
  \else
%</!(package|class)>
  \ifx\TUD@Version\@undefined
    \newcommand*\TUD@Version@Check[1]{%
      \gdef\TUD@Version{#1}%
      \gdef\TUDScriptVersion{#1}%
      \def\@tempb##1 v##2 ##3\relax##4\relax{\gdef\TUDScriptVersionNumber{##2}}%
      \edef\@tempa{\TUD@Version}%
      \expandafter\@tempb\@tempa\relax? ? \relax\relax%
      \gdef\TUD@Version@KOMA{3.32}%
    }
  \else
    \newcommand*\TUD@Version@Check[1]{%
      \def\@tempa{#1}%
      \ifx\TUD@Version\@tempa\else%
        \@latex@warning@no@line{%
          \noexpand\TUD@Version\space is `\TUD@Version',\MessageBreak%
          but `#1' was expected!\MessageBreak%
          You should not use classes, packages or files from\MessageBreak%
          different TUD-Script-Bundle versions%
        }%
      \fi%
    }
  \fi
%<*!(package|class)>
  \fi
%</!(package|class)>
  \TUD@Version@Check{2020/11/10 v2.06k TUD-Script}
\endgroup
%    \end{macrocode}
% \end{macro}^^A \TUDScriptVersionNumber
% \end{macro}^^A \TUDScriptVersion
% \end{macro}^^A \TUD@Version@KOMA
% \end{macro}^^A \TUD@Version@Check
% \end{macro}^^A \TUD@Version
%
% \iffalse
%<*dtx>
% \fi
%
\ProvidesFile{tudscr-version.dtx}[\TUDScriptVersion\space (versions)]
%
% \iffalse
\documentclass[english,ngerman,xindy]{tudscrdoc}
\iftutex
  \usepackage{fontspec}
\else
  \usepackage[T1]{fontenc}
  \usepackage[ngerman=ngerman-x-latest]{hyphsubst}
\fi
\usepackage{babel}
\usepackage{tudscrfonts}
\KOMAoptions{parskip=half-}
\usepackage{bookmark}
\usepackage[babel]{microtype}

\CodelineIndex
\RecordChanges
\GetFileInfo{tudscr-version.dtx}
\title{\file{\filename}}
\author{Falk Hanisch\qquad\expandafter\mailto\expandafter{\tudscrmail}}
\date{\fileversion\nobreakspace(\filedate)}

\begin{document}
  \maketitle
  \tableofcontents
  \DocInput{\filename}
\end{document}
%</dtx>
% \fi
%
% Als erstes das benötigte \LaTeX-Format.
%    \begin{macrocode}
%<package|class>\NeedsTeXFormat{LaTeX2e}[2019/10/01]
%    \end{macrocode}
% \begin{macro}{\tudscrmail}
% Die E"~Mail-Adresse für Supportanfragen.
%    \begin{macrocode}
%<package|class>\providecommand*\tudscrmail{hanisch.latex@outlook.com}
%    \end{macrocode}
% \end{macro}^^A \tudscrmail
%
% \iffalse
%<*class>
% \fi
%
% \begin{macro}{\TUD@ProvidesClass}
% \changes{v2.04}{2015/06/13}{neu}^^A
% \begin{macro}{\TUD@ProvidesWrapperClass}
% \changes{v2.04}{2015/06/13}{neu}^^A
% \begin{macro}{\TUD@Class@Name}
% \changes{v2.04}{2015/06/12}{neu}^^A
% \begin{macro}{\TUD@Class@Parent}
% \changes{v2.04}{2015/06/12}{neu}^^A
% \begin{macro}{\TUD@Class@KOMA}
% \changes{v2.04}{2015/06/12}{neu}^^A
% Mit diesen Befehlen erfolgt die Versionsangabe der \TUDScript-Klassen beim
% Laden. Dabei werden hier einmalig die Namen der jeweiligen Klassen definiert. 
% Hierfür werden die Befehle \cs{TUD@ProvidesClass} für die Hauptklassen und 
% \cs{TUD@ProvidesWrapperClass} für auf diesen aufbauende Wrapper-Klassen 
% genutzt. Das erste Argument ist die zu definierende Klasse, das zweite 
% Argument entspricht der Basis-Klasse. Das dritte Argument enthält eine kurze 
% Beschreibung.
%    \begin{macrocode}
%<*!inherit>
\newcommand*\TUD@ProvidesClass[3]{%
  \ProvidesClass{#1}[%
%!TUD@Version
    #3 (#2)%
  ]%
  \newcommand*\TUD@Class@KOMA{#2}%
  \ifx\TUD@Class@Parent\@undefined%
    \newcommand*\TUD@Class@Name{#1}%
    \TUD@Class@Info%
  \fi%
}
%</!inherit>
%<*inherit>
\newcommand*\TUD@ProvidesWrapperClass[3]{%
  \ProvidesClass{#1}[%
%!TUD@Version
    #3 (#2)%
  ]%
  \newcommand*\TUD@Class@Parent{#2}%
  \newcommand*\TUD@Class@Name{#1}%
  \TUD@Class@Info%
}
%</inherit>
%    \end{macrocode}
% \end{macro}^^A \TUD@Class@KOMA
% \end{macro}^^A \TUD@Class@Parent
% \end{macro}^^A \TUD@Class@Name
% \end{macro}^^A \TUD@ProvidesWrapperClass
% \end{macro}^^A \TUD@ProvidesClass
% \begin{macro}{\TUD@Class@Info}
% \changes{v2.04}{2015/06/13}{neu}^^A
% Beim Verwenden der Klassen wird in der log-Datei ein Vermerk mit \cs{typeout} 
% erstellt.
%    \begin{macrocode}
\providecommand*\TUD@Class@Info{%
  \typeout{+------------------------------------------------------------------}%
  \typeout{| Corporate Design of Technische Universitaet Dresden}%
  \typeout{| Class:      \TUD@Class@Name}%
  \typeout{| Version:    \TUD@Version}%
  \typeout{| Author:     Falk Hanisch (\tudscrmail)}%
  \typeout{| Repository: https://github.com/tud-cd/tudscr}%
  \typeout{| Forum:      https://latex.wcms-file3.tu-dresden.de}%
  \typeout{+------------------------------------------------------------------}%
}
%    \end{macrocode}
% \end{macro}^^A \TUD@Class@Info
% Hier erfolgt nun die Indentifizierung und die Zuweisung der Klassennamen.
%    \begin{macrocode}
%<book>\TUD@ProvidesClass{tudscrbook}{scrbook}{document class}
%<report>\TUD@ProvidesClass{tudscrreprt}{scrreprt}{document class}
%<article>\TUD@ProvidesClass{tudscrartcl}{scrartcl}{document class}
%<poster>\TUD@ProvidesClass{tudscrposter}{scrartcl}{poster class}
%<doc>\TUD@ProvidesClass{tudscrdoc}{scrartcl}{source code documentation class}
%<manual>\TUD@ProvidesWrapperClass{tudscrmanual}{tudscrreprt}{manual class}
%    \end{macrocode}
% \begin{macro}{\TUDScriptClassName}
% \begin{macro}{\TUDClassName}
% Die Benutzermakros für den Namen der verwendeten \TUDScript-Klasse.
%    \begin{macrocode}
\edef\TUDScriptClassName{\TUD@Class@Name}
\providecommand*\TUDClassName{\TUDScriptClassName}
%    \end{macrocode}
% \end{macro}^^A \TUDClassName
% \end{macro}^^A \TUDScriptClassName
%
% \iffalse
%</class>
%<*package&(supervisor|comp|tutorial)>
% \fi
%
% \section{Verwendbarkeit von \TUDScript-Paketen}
%
% Einige Pakete sind nur mit den \TUDScript-Klassen verwendbar. Diese erzeugen 
% einen Fehler, wenn sie nicht mit diesen verwendet werden.
%    \begin{macrocode}
\ifx\TUD@Class@Name\@undefined
  \PackageError{%
%<supervisor>    tudscrsupervisor%
%<comp&base>    tudscrcomp%
%<comp&book>    tudscrcomp-book%
%<comp&poster>    tudscrcomp-poster%
%<tutorial>    tudscrtutorial%
  }{Unsupported class found}{%
    This package can only be used with a class out of the\MessageBreak%
    tudscr bundle (tudscrbook, tudscrreprt, tudscrartcl, tudscrposter).%
  }%
  \endinput%
\fi
%    \end{macrocode}
%
% \iffalse
%</package&(supervisor|comp|tutorial)>
% \fi
%
% \section{Das \TUDScript-Logo}
% \begin{macro}{\TUDScript}
% Der Schriftzug von \TUDScript.
%    \begin{macrocode}
%<*package|class>
\@ifundefined{TUDScript}{%
  \DeclareRobustCommand\TUDScript{%
    \textsf{%
      T\kern.05em U\kern.05em D\kern.1em-\kern.1em Script%
    }%
    \ifcsname xspace\endcsname%
      \xspace%
    \fi%
  }%
}{}
%</package|class>
%    \end{macrocode}
% \end{macro}^^A \TUDScript
%
% \Finale
%
\endinput
