% \CheckSum{293} % \iffalse meta-comment % % ============================================================================ % % TUD-KOMA-Script % Copyright (c) Falk Hanisch , 2012-2015 % % ============================================================================ % % 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 veraendert werden. Die aktuelle % Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und % Version 1.3c oder spaeter ist Teil aller Verteilungen von LaTeX 2005/12/01 % oder spaeter 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-misc.dtx %<*driver> \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-misc.dtx}[% 2015/02/15 v2.03 TUD-KOMA-Script (miscellaneous)% ] \RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} \documentclass[english,ngerman]{tudscrdoc} \usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} \usepackage[T1]{fontenc} \usepackage{babel} \usepackage{tudscrfonts} % only load this package, if the fonts are installed \KOMAoptions{parskip=half-} \CodelineIndex \RecordChanges \GetFileInfo{tudscr-misc.dtx} \begin{document} \maketitle \DocInput{\filename} \end{document} % % \fi % % \selectlanguage{ngerman} % % \changes{v2.02}{2014/06/23}{Unterstützung für \pkg{titlepage} entfernt}%^^A % \changes{v2.02}{2014/07/08}{Optionen nutzen \cs{FamilyKeyState}}%^^A % % \section{Verschiedenes für die Hauptklassen} % % Alles, wofür sich eine separate Datei nicht lohnt, landet hier. % % \StopEventually{\PrintIndex\PrintChanges} % % \iffalse %<*class&option> % \fi % % \subsection{Ausführung von paketspezifischem Quellcode} % % Ab und an ist es notwendig, bestimmten Quelltext erst gezielt nach einem % Paket auszuführen. % \begin{macro}{\TUD@parameter@defaulthandler} % \changes{v2.03}{2015/02/15}{neu}%^^A % Im ersten Argument wird das paket angegeben, im zweiten der Quellcode. Dabei % ist zu beachten, dass dieser im Dokument auch ausgeführt wird, wenn das Paket % \emph{nicht} geladen wurde. % \begin{macrocode} \newcommand*\TUD@AfterPackage[2]{% \if@atdocument#2\else\AfterPackage!{#1}{#2}\fi% } % \end{macrocode} % \end{macro}^^A \TUD@parameter@defaulthandler % % \subsection{Fußnoten in Überschriften} % % \begin{option}{footnotes} % \changes{v2.02}{2014/06/27}{neu}%^^A % \begin{macro}{\if@tud@symbolheadings} % \changes{v2.02}{2014/06/27}{neu}%^^A % Die \KOMAScript-Option \opt{footnotes} wird um den Schlüssel % \val{symbolheadings} erweitert, mit welchem eingestellt werden kann, ob in den % Überschriften Symbole für die Fußnoten anstelle von Zahlen verwendet werden % sollen. % \begin{macrocode} \newif\if@tud@symbolheadings \TUD@key{footnotes}{% \TUD@set@numkey{footnotes}{@tempa}{% {nosymbolheadings}{0},{numberheadings}{0},% {symbolheadings}{1}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \ifcase\@tempa\relax% \@tud@symbolheadingsfalse% \or% \@tud@symbolheadingstrue% \fi% \fi% } % \end{macrocode} % \end{macro}^^A \if@tud@bookmarks % \end{option}^^A symbolheadings % % \iffalse % %<*class&body> % \fi % % \begin{counter}{symbolheadings} % \changes{v2.02}{2014/06/27}{neu}%^^A % Dieser Zähler wird bei aktivierter Option \opt{footnotes=symbolheadings} für % die Symboleauswahl von Fußnoten in Überschirften inkrementiert. % \begin{macrocode} %<*book|report> \newcounter{symbolheadings}[chapter] % %<*article> \newcounter{symbolheadings} % % \end{macrocode} % \end{counter}^^A symbolheadings % % \iffalse % %<*class&option> % \fi % % \subsection{Sprungmarken} % % \begin{option}{tudbookmarks} % \begin{macro}{\if@tud@bookmarks} % Wird das Paket \pkg{hyperref} geladen, so kann die Option \opt{tudbookmarks} % genutzt werden, um zu steuern, ob für Titel und Inhaltsverzeichnis % automatisch ein Eintrag für die Sprungmarken erzeugt werden soll. % \begin{macrocode} \newif\if@tud@bookmarks \TUD@ifkey{tudbookmarks}{@tud@bookmarks} % \end{macrocode} % \end{macro}^^A \if@tud@bookmarks % \end{option}^^A tudbookmarks % % \iffalse % %<*class&body> % \fi % % \begin{macro}{\tudbookmark} % \begin{macro}{\tud@footnote@unhyper} % \begin{macro}{\tud@footnote@rehyper} % \changes{v2.02}{2014/11/13}{entfernt}%^^A % Die Befehle zum Eintragen der Sprungmarken. Im Dokument kann auch der Befehl % \cs{tudbookmark} vom Anwender genutzt werden, um manuell weitere Lesezeichen % zu erzeugen. % % Für die Titelseite werden~-- wie auch durch das Paket \pkg{hyperref}~-- die % Fußnoten mit dem Befehl \cs{tud@footnote@unhyper} auf den Originalzustand % zurückgesetzt. % \begin{macrocode} \newcommand*\tudbookmark[1][]{\@gobbletwo} \newcommand*\tud@footnote@unhyper{} \AfterPackage{hyperref}{% \renewcommand*\tudbookmark[3][]{% \relax% \if@tud@bookmarks% \phantomsection% \ifblank{#1}{\pdfbookmark{#2}{#3}}{\pdfbookmark[#1]{#2}{#3}}% \fi% }% \renewcommand*\tud@footnote@unhyper{% \let\Hy@saved@footnotemark\@footnotemark% \let\Hy@saved@footnotetext\@footnotetext% \let\@footnotemark\H@@footnotemark% \let\@footnotetext\H@@footnotetext% }% \pdfstringdefDisableCommands{\let\NoCaseChange\@firstofone}% } % \end{macrocode} % \end{macro}^^A \tud@footnote@rehyper % \end{macro}^^A \tud@footnote@unhyper % \end{macro}^^A \tudbookmark % \begin{macro}{\maketitle} % \begin{macro}{\tableofcontents} % Für den Titel und das Inhaltsverzeichnis werden Outline-Einträge erzeugt. % \begin{macrocode} \pretocmd{\maketitle}{% \if@tud@bookmarks% \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% \fi% %<*book|report> \tudbookmark[0]{\titlepagename}{title}% % %<*article> \tudbookmark[1]{\titlepagename}{title}% % }{}{\tud@patch@wrn{maketitle}} \pretocmd{\tableofcontents}{% \if@tud@bookmarks% \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% \fi% %<*book|report> \tudbookmark[0]{\contentsname}{toc}% % %<*article> \tudbookmark[1]{\contentsname}{toc}% % }{}{\tud@patch@wrn{tableofcontents}} % \end{macrocode} % \end{macro}^^A \tableofcontents % \end{macro}^^A \maketitle % % \subsection{Parameter für Umgebungen und mehrspaltige Texte} % % Diese Befehle dienen dazu, bei Umgebungen die Sprache über einen Parameter % anzugeben sowie das Paket \pkg{multicol} verwenden zu können. % \begin{macro}{\TUD@parameter@defaulthandler} % Hiermit kann sowohl die zu verwendende Sprache als auch die Anzahl der % gewünschten Spalten für bestimmte Umgebungen ohne die explizite Angabe eines % Schlüssels festgelegt werden. Momentan betrifft das die beiden Umgebungen % \env{abstract} und \env{tudpage}. % \begin{macrocode} \newcommand*\TUD@parameter@defaulthandler[2]{% \def\@tempa{#2}% \@for\@tempb:=\@tempa\do{% \ifx\@tempb\@empty\else% \ifstr{\@tempb}{twocolumn}{\def\@tempb{2}}{}% \ifxnumber{\@tempb}{% \TUD@parameter@set{#1}{columns=\@tempb}% }{% \TUD@parameter@set{#1}{language=\@tempb}% }% \fi% }% } % \end{macrocode} % \end{macro}^^A \TUD@parameter@defaulthandler % \begin{macro}{\tud@multicols} % \begin{macro}{\tud@multicols@check} % Im Makro \cs{tud@multicols} wird die Anzahl der gewünschten Spalten in einer % Umgebung für die Verwendung des \pkg{multicol}"=Paketes gespeichert. % \begin{macrocode} \newcommand*\tud@multicols{1} % \end{macrocode} % Der Befehl \cs{tud@multicols@check} prüft, ob das Paket \pkg{multicol} % geladen wurde. Falls dies nicht der Fall ist, wird eine Warnung ausgegeben. % \begin{macrocode} \newcommand*\tud@multicols@check{% \ifdef{\multicols}{}{% \ifnum\tud@multicols>1\relax% \ClassWarning{\tudcls@name}{% The option `columns=\tud@multicols' is only supported,\MessageBreak% when package `multicol' is loaded% }% \def\tud@multicols{1}% \fi% }% } % \end{macrocode} % \end{macro}^^A \tud@multicols@check % \end{macro}^^A \tud@multicols % % \subsection{Bedingte Majuskeln für Überschriften} % % Überschriften sollen bloß in Großbuchstaben gesetzt werden, wenn auch % tatsächlich die Schrift DIN~Bold verwendet wird. % \begin{macro}{\tud@makeuppercase} % Der Befehl führt \cs{MakeTextUppercase}\marg{Text} deshalb nur aus, wenn die % richtige Schriftfamilie verwendet wird. % \begin{macrocode} \newcommand*\tud@makeuppercase[1]{% \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}% % \end{macrocode} % Aufgrund eines Fehlers im \LaTeX-Kernels liegt die Grundlinie für die beiden % Gliederungsebenen \cs{section} und \cs{subsection} zu hoch. Mit dem Einfügen % des vertikalen Freiraums für die Umlaute wird diese automatisch nach unten % verschoben. Allerdings ist das ein ziemlich übler Hack. %^^A \addtokomafont{section}{\strut\ignorespaces}% % \begin{macrocode} \protect\vphantom{\"A\"O\"U}% } % \end{macrocode} % \end{macro}^^A \tud@makeuppercase % % \subsection{Erzwungene Minuskeln für Strings} % % Um angegebene Werte bei Schlüssel-Wert-Paaren oder Schlüsselwörter in % bestimmten Feldern mit Sicherheit erkennen zu können, werden diese zwingend % in Kleinbuchstaben geschieben. % \begin{macro}{\tud@lowerstring} % Das Makro wird mit \cs{tud@lowerstring}\marg{Zielmakro}\marg{String} bennutzt. % \begin{macrocode} \newcommand*\tud@lowerstring[2]{% \protected@edef#1{#2}% \lowercase\expandafter{% \expandafter\gdef\expandafter #1\expandafter{#1}% }% } % \end{macrocode} % \end{macro}^^A \tud@lowerstring % % \subsection{Expansion geschützter Makros} % % Im \LaTeX-Kernel wird der Befehl \cs{@expandtwoargs} definiert, welcher zwei % Argumente in ein angegebenes Makro vollständig expandiert. Dabei erfolgt die % Expansion der beiden Argumente aufgrund der standardmäßigen Verwendung von % \cs{edef} allerdings vollständig und ohne die Beachtung von \cs{protect}. % \begin{macro}{\protected@expandtwoargs} % \changes{v2.02}{2014/11/13}{neu}%^^A % Der Befehl \cs{protected@expandtwoargs} kann äquivalent genutzt werden, % lässt dabei aber mit \cs{protect} geschützte Makros unberührt. % \begin{macrocode} \providecommand*\protected@expandtwoargs[3]{% \protected@edef\reserved@a{\noexpand#1{#2}{#3}}\reserved@a% } % \end{macrocode} % \end{macro}^^A \protected@expandtwoargs % % \iffalse % %<*manual|doc> % \fi % % \section{Verschiedenes für die Dokumentationklassen} % % \begin{macro}{\vTUDScript} % \begin{macro}{\vKOMAScript} % \begin{macro}{\Attention} % \changes{v2.02}{2014/08/16}{neu}%^^A % \begin{macro}{\Forum} % \begin{macro}{\notudscrartcl} % \begin{length}{\tempdim} % \begin{macro}{\hrfn} % \begin{macro}{\scrguide} % \changes{v2.02}{2014/09/04}{neu}%^^A % \begin{macro}{\CD} % \begin{macro}{\CDs} % \begin{macro}{\TUD} % \begin{macro}{\TnUD} % \begin{macro}{\DDC} % \begin{macro}{\Univers} % \begin{macro}{\DIN} % Diese Befehle stellen regelmäßig in der Quelltextdokumentatuion und im % Handbuch genutzte Textbausteine bereit. Dazu wird der Befehl \cs{xspace} aus % dem \pkg{xspace}-Paket genutzt. % \begin{macrocode} \RequirePackage{xspace}[2009/10/20] \xspaceaddexceptions{"=} % \end{macrocode} % Der Befehl \cs{vTUDScript} enthält die aktuelle \TUDScript"=Versionsnummer. % \begin{macrocode} \newcommand*\vTUDScript{} \AtBeginDocument{% \def\@tempb#1 #2 #3\relax#4\relax{\def\vTUDScript{#2}}% \edef\@tempa{\TUDVersion}% \expandafter\@tempb\@tempa\relax? ? \relax\relax% } \newcommand*\vKOMAScript{v3.12\xspace} % \end{macrocode} % Ganz zum Schluss noch Bugfixes für unterschiedliche Pakete. % \begin{macrocode} \RequirePackage{scrhack}[2014/02/27] % \end{macrocode} % \dots und der Rest. % \begin{macrocode} %<*manual> \newcommand*\Attention[1]{\marginnote{\fbox{Achtung!}}\emph{#1}} \NewDocumentCommand\Forum{s}{% \IfBooleanTF{#1}{% \url{http://latex.wcms-file3.tu-dresden.de/phpBB3/}% }{% \hrfn{http://latex.wcms-file3.tu-dresden.de/phpBB3/}{TUD-\LaTeX-Forum}% }% \xspace% } \newcommand*\hrfn[2]{\href{#1}{#2}\footnote{\scriptsize\url{#1}}} \NewDocumentCommand\scrguide{s}{% \def\@tempc{% http://mirrors.ctan.org/macros/latex/contrib/koma-script/doc/scrguide.pdf% }% \IfBooleanTF{#1}{% \href{\@tempc}{\File{scrguide.pdf}}% }{% \hrfn{\@tempc}{\File{scrguide.pdf}}% }% \xspace% } %<*manual&class> \NewDocumentCommand\GitHubRepo{s}{% \def\@tempc{% https://github.com/tud-cd/tudscr/releases% }% \IfBooleanTF{#1}{% \href{\@tempc}{GitHub-Repository~\File*{tudscr}}% }{% \hrfn{\@tempc}{GitHub-Repository~\File*{tudscr}}% }% \xspace% } \newcommand*\notudscrartcl{% F\"ur die Klasse \Class{tudscrartcl} ist diese Einstellung nicht verf\"ugbar. } \newlength\tempdim % % \newcommand*\CD{Corporate Design\xspace} \newcommand*\CDs{Corporate Designs\xspace} \newcommand*\TUD{Technische Universit\"at Dresden\xspace} \newcommand*\TnUD{Technischen Universit\"at Dresden\xspace} \newcommand*\DDC{% \mbox{D\kern.05em R\kern.05em E\kern.05em S\kern.05em D\kern.05em E\kern.05em N\kern.1em-\kern.1em concept}\xspace% } \AfterPackage*{babel}{% \@expandtwoargs\in@{,english,}{,\bbl@loaded,}% \ifin@% \renewcommand*\CD{\foreignlanguage{english}{Corporate Design}\xspace} \renewcommand*\CDs{\foreignlanguage{english}{Corporate Designs}\xspace} \fi } %<*manual> \newcommand*\Univers{\textubn{Univers}\xspace} \newcommand*\DIN{\textdbn{DIN~BOLD}\xspace} \newcommand*\sbnfont{\sffamily\bfseries\upshape} \newcommand*\sbsfont{\sffamily\bfseries\slshape} \newcommand*\textsbn{} \newcommand*\textsbs{} \DeclareTextFontCommand\textsbn{\sffamily\bfseries\upshape} \DeclareTextFontCommand\textsbs{\sffamily\bfseries\slshape} % % \end{macrocode} % \end{macro}^^A \DIN % \end{macro}^^A \Univers % \end{macro}^^A \DDC % \end{macro}^^A \TnUD % \end{macro}^^A \TUD % \end{macro}^^A \CDs % \end{macro}^^A \CD % \end{macro}^^A \scrguide % \end{macro}^^A \hrfn % \end{length}^^A \tempdim % \end{macro}^^A \notudscrartcl % \end{macro}^^A \Forum % \end{macro}^^A \Attention % \end{macro}^^A \vKOMAScript % \end{macro}^^A \vTUDScript % % \iffalse % % \fi % % \Finale % \endinput