summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/tudscr/source/tudscr-version.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/tudscr/source/tudscr-version.dtx
Initial commit
Diffstat (limited to 'macros/latex/contrib/tudscr/source/tudscr-version.dtx')
-rw-r--r--macros/latex/contrib/tudscr/source/tudscr-version.dtx324
1 files changed, 324 insertions, 0 deletions
diff --git a/macros/latex/contrib/tudscr/source/tudscr-version.dtx b/macros/latex/contrib/tudscr/source/tudscr-version.dtx
new file mode 100644
index 0000000000..10d37f2e8b
--- /dev/null
+++ b/macros/latex/contrib/tudscr/source/tudscr-version.dtx
@@ -0,0 +1,324 @@
+% \CheckSum{135}
+% \iffalse meta-comment
+%
+% TUD-Script -- Corporate Design of Technische Universität Dresden
+% ----------------------------------------------------------------------------
+%
+% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
+%
+% ----------------------------------------------------------------------------
+%
+% 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.25}%
+ }
+ \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{2019/08/27 v2.06d 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}
+\ifpdftex{
+ \usepackage[T1]{fontenc}
+ \usepackage[ngerman=ngerman-x-latest]{hyphsubst}
+}{
+ \usepackage{fontspec}
+}
+\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}
+% \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