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/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.dtx | 324 |
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 |