diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/tudscr/tudscr-misc.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/tudscr/tudscr-misc.dtx | 456 |
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 |