summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/tudscr/tudscr-misc.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/tudscr/tudscr-misc.dtx')
-rw-r--r--Master/texmf-dist/source/latex/tudscr/tudscr-misc.dtx456
1 files changed, 456 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-misc.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-misc.dtx
new file mode 100644
index 00000000000..4748344ff2c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/tudscr/tudscr-misc.dtx
@@ -0,0 +1,456 @@
+% \CheckSum{298}
+% \iffalse meta-comment
+% ======================================================================
+%
+% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen
+%
+% ======================================================================
+% 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
+% version 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,
+% Version 1.3c, verteilt und/oder veraendert werden.
+% Die neuste Version dieser Lizenz ist
+% http://www.latex-project.org/lppl.txt
+% und Version 1.3c ist Teil aller Verteilungen von LaTeX
+% Version 2005/12/01 oder spaeter und dieses Werks.
+% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
+% (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}[%
+ 2014/12/12 v2.02 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}
+%</driver>
+% \fi
+%
+% \selectlanguage{ngerman}
+%
+% \changes{v2.02}{2014/06/23}{Unterstützung für \pkg{titlepage} entfernt}%^^A
+% \changes{v2.02}{2014/07/08}{Verwendung \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{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&option>
+%<*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]
+%</book|report>
+%<*article>
+\newcounter{symbolheadings}
+%</article>
+% \end{macrocode}
+% \end{counter}^^A symbolheadings
+%
+% \iffalse
+%</class&body>
+%<*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&option>
+%<*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}%
+}
+\pretocmd{\maketitle}{%
+ \if@tud@bookmarks%
+ \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}%
+ \fi%
+%<*book|report>
+ \tudbookmark[0]{\titlepagename}{title}%
+%</book|report>
+%<*article>
+ \tudbookmark[1]{\titlepagename}{title}%
+%</article>
+}{}{\tud@patch@wrn{maketitle}}
+\pretocmd{\tableofcontents}{%
+%<*book|report>
+ \if@openright\cleardoublepage\else\clearpage\fi%
+%</book|report>
+ \if@tud@bookmarks%
+ \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}%
+ \fi%
+%<*book|report>
+ \tudbookmark[0]{\contentsname}{toc}%
+%</book|report>
+%<*article>
+ \tudbookmark[1]{\contentsname}{toc}%
+%</article>
+}{}{\tud@patch@wrn{tableofcontents}}
+% \end{macrocode}
+% \end{macro}^^A \tud@footnote@rehyper
+% \end{macro}^^A \tud@footnote@unhyper
+% \end{macro}^^A \tudbookmark
+%
+% \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@environmenthandler}
+% 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@environmenthandler[1]{%
+ \def\@tempa{#1}%
+ \@for\@tempb:=\@tempa\do{%
+ \ifx\@tempb\@empty\else%
+ \ifxnumber{\@tempb}{\let\tud@multicols\@tempb}{%
+ \ifstr{\@tempb}{twocolumn}{\def\tud@multicols{2}}{%
+ \expandafter\selectlanguage\expandafter{\@tempb}%
+ }}%
+ \fi%
+ }%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@environmenthandler
+% \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. Außerdem wird gleich noch die zu hoch
+% liegende Grundlinie bei Überschriften der beiden Ebenen \cs{section} und
+% \cs{subsection} nach unten korrigiert (derber Hack).
+% \begin{macrocode}
+\newcommand*\tud@makeuppercase[1]{%
+ \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}%
+ \protect\vphantom{\"A\"O\"U}%
+% \end{macrocode}
+% Aufgrund eines Fehlers im \LaTeX-Kernels liegt die Grundlinie für die
+% Gliederungsebene \cs{section} zu hoch. Mit dem Einfügen des vertikalen
+% Freiraums für die Umlaute würde diese automatisch nach unten verschoben.
+% Allerdings wäre das ein ziemlich übler Hack.
+% \begin{macrocode}
+%% \addtokomafont{section}{\strut\ignorespaces}%
+}
+% \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}
+% 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
+%</class&body>
+%<*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/07/07]
+% \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}
+%</manual&class>
+%</manual>
+\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}
+%</manual>
+% \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
+%</manual|doc>
+% \fi
+%
+% \Finale
+%
+\endinput