summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/tudscr/tudscr-doc.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/tudscr/tudscr-doc.dtx')
-rw-r--r--Master/texmf-dist/source/latex/tudscr/tudscr-doc.dtx278
1 files changed, 142 insertions, 136 deletions
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-doc.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-doc.dtx
index 7f378cf8a3f..321495edbaf 100644
--- a/Master/texmf-dist/source/latex/tudscr/tudscr-doc.dtx
+++ b/Master/texmf-dist/source/latex/tudscr/tudscr-doc.dtx
@@ -1,10 +1,10 @@
-% \CheckSum{2090}
+% \CheckSum{2094}
% \iffalse meta-comment
%
% TUD-Script -- Corporate Design of Technische Universität Dresden
% ----------------------------------------------------------------------------
%
-% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2017
+% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
%
% ----------------------------------------------------------------------------
%
@@ -48,18 +48,24 @@
%
% \iffalse
%%% From File: tudscr-doc.dtx
-%<*driver>
-\ifx\ProvidesFile\@undefined\def\ProvidesFile#1[#2]{}\fi
-\ProvidesFile{tudscr-doc.dtx}[%
- 2017/05/30 v2.05m TUD-Script\space%
+%<*dtx>
+% \fi
+%
+\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
+\ProvidesFile{tudscr-doc.dtx}[2019/06/28 v2.06 TUD-Script\space%
(source code documentation based on scrartcl/scrdoc)%
]
-\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
+%
+% \iffalse
\documentclass[english,ngerman,xindy]{tudscrdoc}
-\usepackage[T1]{fontenc}
-\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}}
+\ifpdftex{
+ \usepackage[T1]{fontenc}
+ \usepackage[ngerman=ngerman-x-latest]{hyphsubst}
+}{
+ \usepackage{fontspec}
+}
\usepackage{babel}
-\usepackage{tudscrfonts} % only load this package, if the fonts are installed
+\usepackage{tudscrfonts}
\KOMAoptions{parskip=half-}
\usepackage{bookmark}
\usepackage[babel]{microtype}
@@ -76,7 +82,7 @@
\tableofcontents
\DocInput{\filename}
\end{document}
-%</driver>
+%</dtx>
% \fi
%
% \selectlanguage{ngerman}
@@ -89,6 +95,7 @@
% Mit dieser Klasse erfolgt die Quelltextdokumentation des \TUDScript-Bundles.
% Sie lädt standarmäßig die Klasse \cls{ltxdoc}, ersetzt allerdings im Stile
% von \cls{scrdoc} im Hintergrund \cls{article} durch \cls{scrartcl}.
+%
% \StopEventually{\PrintIndex\PrintChanges\PrintToDos}
%
% \iffalse
@@ -99,7 +106,7 @@
% temporär gesichert.
% \begin{macrocode}
\newcommand*\scr@maketitle{}%
-\PassOptionsToClass{toc=left}{scrartcl}%
+\PassOptionsToClass{toc=left,fontsize=10pt}{scrartcl}%
\AfterClass{scrartcl}{\let\scr@maketitle\@maketitle}%
% \end{macrocode}
% Der folgende Quelltext ist 1:1 aus \cls{scrdoc} kopiert.
@@ -107,28 +114,28 @@
\newcommand*\sd@saved@LoadClass{}
\let\sd@saved@LoadClass=\LoadClass
\renewcommand*\LoadClass[2][]{%
- \begingroup
+ \begingroup%
\edef\@tempc{#2}\def\@tempb{article}%
- \ifx\@tempc\@tempb
- \let\LoadClass\sd@saved@LoadClass
+ \ifx\@tempc\@tempb%
+ \let\LoadClass\sd@saved@LoadClass%
\def\@tempc{scrartcl}%
- \fi
+ \fi%
\edef\@tempc{%
\noexpand\endgroup\noexpand\sd@saved@LoadClass[{#1}]{\@tempc}}%
- \@tempc
+ \@tempc%
}
\newcommand*\sd@saved@PassOptionsToClass{}
\let\sd@saved@PassOptionsToClass=\PassOptionsToClass
\renewcommand*\PassOptionsToClass[2]{%
- \begingroup
+ \begingroup%
\edef\@tempc{#2}\def\@tempb{article}%
- \ifx\@tempc\@tempb
+ \ifx\@tempc\@tempb%
\def\@tempc{scrartcl}%
- \fi
+ \fi%
\edef\@tempc{%
\noexpand\endgroup\noexpand\sd@saved@PassOptionsToClass{#1}{%
\@tempc}}%
- \@tempc
+ \@tempc%
}
\LoadClassWithOptions{ltxdoc}[2015/03/26]
\setcounter{IndexColumns}{2}
@@ -176,8 +183,8 @@
%
% \begin{macro}{\DisableCrossrefsForced}
% \changes{v2.05i}{2017/03/02}{neu}^^A
-% Für das sichere Deaktivieren von Makroeinträgen im Index nach der Verwendung
-% von \cs{EnableCrossrefs}. Sollte in einer Gruppe genutzt werden!
+% Deaktivieren von Makroeinträgen im Index nach der Verwendung von
+% \cs{EnableCrossrefs}. Sollte in einer Gruppe genutzt werden!
% \begin{macrocode}
\newcommand*\DisableCrossrefsForced{}
\let\DisableCrossrefsForced\DisableCrossrefs
@@ -273,7 +280,7 @@
% einige Patches notwendig sind.
% \begin{macrocode}
\RequirePackage{dox}[2010/12/16]
-\@ifpackagelater{dox}{2017/01/27}{%
+\@ifpackagelater{dox}{2017/12/07}{%
\ClassWarning{\TUD@Class@Name}{%
Package `dox' was updated so some patches\MessageBreak%
are maybe outdated%
@@ -525,9 +532,9 @@
\CheckCommand*\@doxcreatespecialmainindex[3]{%
\expandafter\def\csname SpecialMain#1Index\endcsname##1{%
\@bsphack%
- \special@index{##1\actualchar{\string\ttfamily\space##1} (#2)
+ \special@index{##1\actualchar{\string\ttfamily\space##1} (#2)%
\encapchar main}%
- \special@index{#3:\levelchar##1\actualchar{\string\ttfamily\space##1}
+ \special@index{#3:\levelchar##1\actualchar{\string\ttfamily\space##1}%
\encapchar main}%
\@esphack%
}%
@@ -587,7 +594,7 @@
\expandafter\def\csname Special#1Index\endcsname##1{%
\@bsphack%
\index{##1\actualchar{\protect\ttfamily##1} (#2)\encapchar usage}%
- \index{#3:\levelchar##1\actualchar{\protect\ttfamily##1}
+ \index{#3:\levelchar##1\actualchar{\protect\ttfamily##1}%
\encapchar usage}%
\@esphack%
}%
@@ -626,24 +633,24 @@
% vermeiden.
% \begin{macrocode}
\def\@doxcreatemacrolikeprintname#1#2{%
- \@ifundefined{Print#1Name}{%
+ \ifcsundef{Print#1Name}{%
\expandafter\def\csname Print#1Name\endcsname##1{%
\MacroFont\string##1\index@type{#2}\strut\ %
}%
}{}%
- \@ifundefined{PrintDescribe#1}{%
+ \ifcsundef{PrintDescribe#1}{%
\expandafter\def\csname PrintDescribe#1\endcsname##1{%
\MacroFont\string##1\index@type{#2}\strut\ %
}%
}{}%
}
\def\@doxcreateprintname#1#2{%
- \@ifundefined{Print#1Name}{%
+ \ifcsundef{Print#1Name}{%
\expandafter\def\csname Print#1Name\endcsname##1{%
\MacroFont##1\index@type{#2}\strut\ %
}%
}{}%
- \@ifundefined{PrintDescribe#1}{%
+ \ifcsundef{PrintDescribe#1}{%
\expandafter\def\csname PrintDescribe#1\endcsname##1{%
\MacroFont##1\index@type{#2}\strut\ %
}%
@@ -720,7 +727,7 @@
\tud@reserved[macrolike]{Length}{length}
\tud@reserved{Counter}{counter}
\tud@reserved{Color}{TUDcolor}
-\tud@reserved[macrolike]{Locale}{locale}
+\tud@reserved[macrolike]{Localization}{localization}
\tud@reserved[macrolike]{Field}{field}
\tud@reserved{Font}{KOMAfont}
\tud@reserved{Parameter}{parameter}
@@ -753,8 +760,8 @@
% \changes{v2.05g}{2016/11/02}{neu}^^A
% Bei der Ausführung einer dieser beiden Befehle bei der Definition von einem
% Makro oder einer Umgebung werden diese für evtl. nachfolgende Parameter als
-% Elterneinträge definiert. Hierfür werden sowohl für den Index als auch die
-% Änderungsliste die Einträge zur Sortierung in \cs{parameter@parent@indexname}
+% Elterneinträge definiert. Hierfür werden die Einträge zur Sortierung sowohl
+% für den Index als auch die Änderungsliste in \cs{parameter@parent@indexname}
% und für die Formatierung in \cs{parameter@parent@indexformat} gespeichert.
% \begin{macrocode}
\apptocmd{\@SaveMacroIndexName}{%
@@ -846,7 +853,7 @@
}
% \end{macrocode}
% \end{macro}^^A \SpecialParameterIndex
-% \end{environment}
+% \end{environment}^^A DescribeParameterParent
%
% \subsubsection{Erzeugen von Änderungseinträgen}
%
@@ -1164,10 +1171,10 @@
% die fraglichen Zeichen ersetzt und in eine weitere Hilfsdatei geschrieben.
% \begin{macrocode}
\ifdefined\tudxdyflag
- \newcommand*\tud@write@replace{}
- \newwrite\tud@write@replace
- \newcommand*\tud@read@replace{}
- \newread\tud@read@replace
+ \newcommand*\tud@write@replace{}%
+ \newwrite\tud@write@replace%
+ \newcommand*\tud@read@replace{}%
+ \newread\tud@read@replace%
% \end{macrocode}
% Die Makros für die fraglichen Steuerzeichen werden so angepasst, dass die
% Wahrscheinlichkeit für eine Verwendung dieser Kombination in einem Makro-
@@ -1175,10 +1182,10 @@
% Hilfsdateien für Index und Änderungsliste für \app{texindy} angepasst. Dabei
% werden diese automatisch erzeugt, falls dies möglich ist.
% \begin{macrocode}
- \def\actualchar{<|1|>}
- \def\quotechar{<|2|>}
- \def\levelchar{<|3|>}
- \begingroup
+ \def\actualchar{<|1|>}%
+ \def\quotechar{<|2|>}%
+ \def\levelchar{<|3|>}%
+ \begingroup%
\endlinechar=\m@ne\relax%
\def\tud@reserved#1#2{%
\IfFileExists{\jobname.#1}{%
@@ -1210,7 +1217,7 @@
\immediate\closeout\tud@write@replace%
\ifnum\pdf@shellescape=\@ne\relax%
\if@tempswa%
- \immediate\write18{%
+ \ShellEscape{%
texindy\space%
-o \jobname.#2\space%
-M \@currname-#2.xdy\space%
@@ -1229,17 +1236,17 @@
}%
\tud@reserved{idx}{ind}%
\tud@reserved{glo}{gls}%
- \endgroup
+ \endgroup%
% \end{macrocode}
% Sollte \app{texindy} nicht aktiv sein, werden Index und Änderungsliste mit
% \app{makeindex} automatisch erzeugt.
% \begin{macrocode}
\else
\ifnum\pdf@shellescape=\@ne\relax%
- \immediate\write18{%
+ \ShellEscape{%
makeindex -s gglo.ist -t \jobname.glg -o \jobname.gls \jobname.glo%
}%
- \immediate\write18{%
+ \ShellEscape{%
makeindex -s gind.ist -t \jobname.ilg -o \jobname.ind \jobname.idx%
}%
\fi%
@@ -1261,6 +1268,7 @@
%
% \begin{macro}{\PrintToDos}
% \changes{v2.05}{2016/05/19}{neu}^^A
+% \begin{macro}{\@docinclude}
% Für ToDo-Notizen wird am Ende eine Liste aller offenen Punkte ausgegeben.
% \begin{macrocode}
\DeclareNewTOC[%
@@ -1274,7 +1282,7 @@
\newcommand*\PrintToDos{\ifdefined\tudfinalflag\else\listoftodos\fi}
% \end{macrocode}
% Damit die Liste der ToDo-Notizen bei der Erzeugung der gesamten Dokumentation
-% des Quelltextes einamlig sowie vollständig und nicht nach jeder Quelldatei
+% des Quelltextes einmalig sowie vollständig und nicht nach jeder Quelldatei
% einzeln ausgegeben wird, muss der Befehl \cs{@docinclude} angepasst werden.
% \begin{macrocode}
\patchcmd{\@docinclude}{%
@@ -1299,6 +1307,7 @@
\let\PrintToDos\@ltxdoc@PrintToDos
}{}{\tud@patch@wrn{@docinclude}}
% \end{macrocode}
+% \end{macro}^^A \@docinclude
% \end{macro}^^A \PrintToDos
% \begin{macro}{\ToDo}
% \changes{v2.02}{2014/07/25}{neu}^^A
@@ -1350,16 +1359,76 @@
% \end{macro}^^A \@ToDo
% \end{macro}^^A \ToDo
%
-% \subsection{Satzspiegel}
+% \subsection{Schriften und Satzspiegel}
+%
+% \begin{macro}{\MacroFont}
+% \begin{macro}{\AltMacroFont}
+% Wird das Paket \pkg{mweights} geladen, so soll der passende Schriftschnitt
+% für die ausgewählten TypeWriter-Schriften genutzt werden. Damit dies mit dem
+% Paket \pkg{doc} funktioniert, muss der Befehl \cs{MacroFont} angepasst werden.
+% \begin{macrocode}
+\AfterPackage{mweights}{%
+ \CheckCommand*\MacroFont{%
+ \fontencoding\encodingdefault%
+ \fontfamily\ttdefault%
+ \fontseries\mddefault%
+ \fontshape\updefault%
+ \small%
+ }%
+ \renewcommand*\MacroFont{%
+ \fontencoding\encodingdefault%
+ \fontfamily\ttdefault%
+ \fontseries\mdseries@tt%
+ \fontshape\updefault%
+ \small%
+ }%
+ \CheckCommand*\AltMacroFont{%
+ \fontencoding\encodingdefault%
+ \fontfamily\ttdefault%
+ \fontseries\mddefault%
+ \fontshape\sldefault%
+ \small%
+ }%
+ \renewcommand*\AltMacroFont{%
+ \fontencoding\encodingdefault%
+ \fontfamily\ttdefault%
+ \fontseries\mdseries@tt%
+ \fontshape\sldefault%
+ \small%
+ }%
+% \end{macrocode}
+% Am Ende der Präambel wird dafür gesorgt, dass der Befehl \cs{mdseries@tt} in
+% jedem Fall definiert ist.
+% \begin{macrocode}
+ \AtEndPreamble{%
+ \ifundef{\mdseries@tt}{\edef\mdseries@tt{\mddefault}}{}%
+ }%
+}
+% \end{macrocode}
+% Wird das Paket \pkg{tudscrfonts} genutzt, erscheinen die TypeWriter-Schriften
+% zur Quelltextdokumentation sowohl für Latin~Modern als auch Roboto etwas zu
+% schlank.
+% \begin{macrocode}
+\PassOptionsToPackage{ttfont=lmtt}{tudscrfonts}
+\AfterPackage{tudscrfonts}{%
+ \AtEndPreamble{%
+ \ifnum\tud@ttfont@num>\z@\relax%
+ \edef\mdseries@tt{\tud@ttfont@bf}%
+ \fi%
+ }%
+}
+% \end{macrocode}
+% \end{macro}^^A \AltMacroFont
+% \end{macro}^^A \MacroFont
%
% Um den zur Verfügung stehenden Platz möglichst effektiv zu nutzen, soll der
% Satzspiegel dahingehend aufgeteilt werden, dass für die Darstellung jeder
% Quelltextzeile genau 80~Zeichen zur Verfügung stehen. Dies ist allerdings
-% abhängig von der geladenen Typewriter-Schrift. Deshalb wird die Berechnung
-% des Satzspiegels erst zum Ende der Präambel ausgeführt, um auf etwaige Pakete
-% zur Schriftauswahl reagieren zu können.
+% abhängig von der geladenen TypeWriter-Schrift. Deshalb wird die Berechnung
+% des Satzspiegels erst zum Beginn des Dokumentes ausgeführt, um auf etwaige
+% Pakete zur Schriftauswahl reagieren zu können.
%
-% \begin{macro}{\calculatearea}
+% \begin{macro}{\tud@setarea}
% \changes{v2.05g}{2016/11/10}{neu}^^A
% \begin{length}{\topmargin}
% \begin{length}{\headheight}
@@ -1373,12 +1442,15 @@
% \begin{length}{\oddsidemargin}
% Hiermit wird die Berechnung des Satzspiegels ausgeführt.
% \begin{macrocode}
-\newcommand*\calculatearea{%
+\newcommand*\tud@setarea{%
\setlength\topmargin{-1in}%
\setlength\headheight{0pt}%
\setlength\headsep{3em}%
\setlength\footskip{1.5\headsep}%
\setlength\textheight{\dimexpr\paperheight-2.5\headsep-\footskip\relax}%
+ \@colht=\textheight%
+ \@colroom=\textheight%
+ \vsize=\textheight%
\settowidth\MacroIndent{\rmfamily\scriptsize 0000\ }%
\begingroup%
\MacroFont\selectfont%
@@ -1391,6 +1463,9 @@
\noexpand\setlength\noexpand\textwidth{\the\@tempdima}%
}%
\@tempa%
+ \columnwidth=\textwidth%
+ \hsize=\columnwidth%
+ \linewidth=\hsize%
\setlength\columnsep{1em}%
\setlength\marginparsep{1em}%
\setlength\marginparwidth{%
@@ -1398,7 +1473,7 @@
}%
\setlength\oddsidemargin{\dimexpr\marginparwidth+\marginparsep-1in\relax}%
}
-\AtEndPreamble{\calculatearea}
+\AtBeginDocument{\tud@setarea}
% \end{macrocode}
% \end{length}^^A \oddsidemargin
% \end{length}^^A \marginparwidth
@@ -1410,76 +1485,7 @@
% \end{length}^^A \headsep
% \end{length}^^A \headheight
% \end{length}^^A \topmargin
-% \end{macro}^^A \calculatearea
-% \begin{macro}{\saved@calculatearea}
-% \changes{v2.05g}{2016/11/10}{neu}^^A
-% \begin{macro}{\tud@font@set}
-% \begin{macro}{\@pnumwidth}
-% \begin{macro}{\@tocrmarg}
-% \begin{macro}{\MacroFont}
-% \begin{macro}{\AltMacroFont}
-% Etwas komplizierter wird es, wenn das paket \pkg{tudscrfonts} geladen wird.
-% Die darin ausgewählten Typewriter-Schriften sind zur Quelltextdokumentation
-% zu schlank. Deshalb wird das Paket \pkg{mweights} genutzt, um die Stärke
-% etwas zu erhöhen. Damit dies mit dem Paket \pkg{doc} funktioniert, muss der
-% Befehl \cs{MacroFont} leicht angepasst werden.
-%
-% Da das Paket \pkg{tudscrfonts} das Festlegen der Schriften selbst auf das
-% Ende der Präambel verzögert, muss sichergestellt werden, dass die Berechnung
-% des Satzspiegels erst nach der Schriftauswahl erfolgt. Deshalb wird der
-% Inhalt von \cs{calculatearea} in \cs{saved@calculatearea} gescihert und
-% anschließend unschädlich gemacht. Danach wird die Satzspiegelberechnung an
-% das Makro \cs{tud@font@set} angehangen.
-% \begin{macrocode}
-\AfterPackage{tudscrfonts}{%
- \RequirePackage{mweights}[2013/07/21]%
- \CheckCommand*\MacroFont{%
- \fontencoding\encodingdefault%
- \fontfamily\ttdefault%
- \fontseries\mddefault%
- \fontshape\updefault%
- \small%
- }%
- \renewcommand*\MacroFont{%
- \fontencoding\encodingdefault%
- \fontfamily\ttdefault%
- \fontseries\mdseries@tt%
- \fontshape\updefault%
- \small%
- }%
- \CheckCommand*\AltMacroFont{%
- \fontencoding\encodingdefault%
- \fontfamily\ttdefault%
- \fontseries\mddefault%
- \fontshape\sldefault%
- \small%
- }%
- \renewcommand*\AltMacroFont{%
- \fontencoding\encodingdefault%
- \fontfamily\ttdefault%
- \fontseries\mdseries@tt%
- \fontshape\sldefault%
- \small%
- }%
- \newcommand*\saved@calculatearea{}%
- \let\saved@calculatearea\calculatearea%
- \let\calculatearea\relax%
- \appto\tud@font@set{%
- \ifcase\tud@cdfont@num\relax\else% true/heavy
- \def\mdseries@tt{m}%
- \renewcommand*\@pnumwidth{1.7em}%
- \renewcommand*\@tocrmarg{2.7em}%
- \fi%
- \saved@calculatearea%
- }%
-}
-% \end{macrocode}
-% \end{macro}^^A \AltMacroFont
-% \end{macro}^^A \MacroFont
-% \end{macro}^^A \@tocrmarg
-% \end{macro}^^A \@pnumwidth
-% \end{macro}^^A \tud@font@set
-% \end{macro}^^A \saved@calculatearea
+% \end{macro}^^A \tud@setarea
%
% \subsection{Zusätzliche Markup-Befehle}
%
@@ -1542,7 +1548,7 @@
% \begin{macro}{\selectlanguage}
% \begin{macro}{\glqq}
% \begin{macro}{\grqq}
-% Etwas kleinkram für \pkg{babel}\dots
+% Etwas Kleinkram für \pkg{babel}\dots
% \begin{macrocode}
\@ifpackageloaded{babel}{}{%
\ClassWarning{\TUD@Class@Name}{Package `babel' not loaded}%
@@ -1569,16 +1575,16 @@
% \begin{macrocode}
\@ifpackageloaded{tudscrfonts}{}{%
\RequirePackage{lmodern}[2009/10/30]%
- \providecommand*\ifdin[2]{#2}%
- \providecommand*\textuln[1]{\textsf{#1}}%
- \providecommand*\texturn[1]{\textuln{#1}}%
- \providecommand*\textubn[1]{\textbf{\textuln{#1}}}%
- \providecommand*\textuxn[1]{\textubn{#1}}%
- \providecommand*\textuls[1]{\textsl{\textuln{#1}}}%
- \providecommand*\texturs[1]{\textuls{#1}}%
- \providecommand*\textubs[1]{\textbf{\textuls{#1}}}%
- \providecommand*\textuxs[1]{\textubs{#1}}%
- \providecommand*\textdbn[1]{\textubn{#1}}%
+ \providecommand*\textcdln[1]{\textsf{#1}}%
+ \providecommand*\textcdrn[1]{\textcdln{#1}}%
+ \providecommand*\textcdsn[1]{\textcdln{#1}}%
+ \providecommand*\textcdbn[1]{\textbf{\textcdln{#1}}}%
+ \providecommand*\textcdxn[1]{\textcdbn{#1}}%
+ \providecommand*\textcdli[1]{\textsl{\textcdln{#1}}}%
+ \providecommand*\textcdri[1]{\textcdli{#1}}%
+ \providecommand*\textcdsi[1]{\textcdli{#1}}%
+ \providecommand*\textcdbi[1]{\textbf{\textcdli{#1}}}%
+ \providecommand*\textcdxi[1]{\textcdbi{#1}}%
}%
}
% \end{macrocode}