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.dtx116
1 files changed, 109 insertions, 7 deletions
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-doc.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-doc.dtx
index 7ec15ae3ca6..2e0b7e2cbcb 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{1975}
+% \CheckSum{2084}
% \iffalse meta-comment
%
% TUD-Script -- Corporate Design of Technische Universität Dresden
% ----------------------------------------------------------------------------
%
-% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017
+% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2017
%
% ----------------------------------------------------------------------------
%
@@ -51,7 +51,7 @@
%<*driver>
\ifx\ProvidesFile\@undefined\def\ProvidesFile#1[#2]{}\fi
\ProvidesFile{tudscr-doc.dtx}[%
- 2017/02/04 v2.05h TUD-Script\space%
+ 2017/03/09 v2.05i TUD-Script\space%
(source code documentation based on scrartcl/scrdoc)%
]
\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
@@ -173,8 +173,19 @@
%
% Befehle, welche bei der Verwendung von \cs{EnableCrossrefs} dennoch nicht im
% Index erscheinen sollen.
+%
+% \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!
+% \begin{macrocode}
+\newcommand*\DisableCrossrefsForced{}
+\let\DisableCrossrefsForced\DisableCrossrefs
+% \end{macrocode}
+% \end{macro}^^A \DisableCrossrefsForced
+%
% \begingroup%
-% \DisableCrossrefs%
+% \DisableCrossrefsForced%
% \begin{macrocode}
%^^A\DoNotIndex{\ ,\",\.,\@,\\,\{,\}}
%^^A\DoNotIndex{\@abstrtfalse,\@abstrttrue,\@addtoreset}
@@ -367,7 +378,11 @@
% neuen Makros \cs{doxcreateindexname} bzw. \cs{doxcreatemacrolikeindexname}
% erstellt. Mit diesen wird beim Aufruf einer Deklarationsumgebung der aktuelle
% Name und Eintragstyp des jeweiligen Deklarationselementes gesichert, um diese
-% Informationen in der Änderungsliste nutzen zu können.
+% Informationen in der Änderungsliste nutzen zu können. Außerdem werden mit dem
+% Makro \cs{@doxcreatedescribes} Befehle erzeugt, mit denen eine Liste von zu
+% beschreibenden Elementen via \cs{DescribeOption\meta{Typ}s} erzeugt werden
+% kann. Dies dient insbesondere zum Erzeugen der Randnotizen mit \cs{marginnote}
+% aus dem glecihnamigen Paket.
% \begin{macrocode}
\renewcommand*\doxitem[4][]{%
\@nameuse{dox@macrolike\dox@macrolikedefault}%
@@ -398,10 +413,47 @@
\fi%
\expandafter\@doxexpr\expandafter{\dox@idxtype}%
\@doxcreatedescribe{#2}%
+ \@doxcreatedescribes{#2}%
\@doxcreateenv{#2}{#3}%
}
% \end{macrocode}
% \end{macro}^^A \doxitem
+% \begin{macro}{\@doxcreatedescribes}
+% \changes{v2.05i}{2017/03/09}{neu}^^A
+% \begin{length}{\marginnotevskip}
+% \changes{v2.05i}{2017/03/09}{neu}^^A
+% \begin{macro}{\marginpar}
+% Hiermit werden Befehle der Form \cs{DescribeOption\meta{Typ}s} erzeugt, mit
+% welchen mehrere Eintragstypen erzeugt werden können. Gleichzeitig werden die
+% Randnotizen via \cs{marginnote} mit den passenden vertikalen Abständen
+% erstellt.
+% \begin{macrocode}
+\newlength\marginnotevskip
+\newcommand*\@doxcreatedescribes[1]{%
+ \expandafter\def\csname Describe#1s\endcsname##1{%
+ \setlength\marginnotevskip{\z@}%
+ \@for\@tempa:=##1\do{%
+ \ifx\@tempa\@empty\else%
+ \edef\@tempb{\expandonce{\csname Describe#1\endcsname}{\@tempa}}%
+ \@tempb%
+ \addtolength\marginnotevskip{\baselineskip}%
+ \fi%
+ }%
+ }%
+}
+\AfterPackage{marginnote}{%
+ \renewcommand*\marginpar[2][]{%
+ \IfArgIsEmpty{#1}{%
+ \marginnote{#2}[\marginnotevskip]%
+ }{%
+ \marginnote[{#1}]{#2}[\marginnotevskip]%
+ }%
+ }%
+}
+% \end{macrocode}
+% \end{macro}^^A \marginpar
+% \end{length}^^A \marginnotevskip
+% \end{macro}^^A \@doxcreatedescribes
% \begin{macro}{\index@type}
% \changes{v2.05g}{2016/11/10}{neu}^^A
% Dieses Makro dient zur Formatierung des Typen der Deklarationselemente in
@@ -717,7 +769,8 @@
% \end{macro}^^A \@SaveMacroIndexName
% \begin{macro}{\SpecialMainParameterIndex}
% \changes{v2.05g}{2016/11/02}{neu}^^A
-% Hier wird nun die Gestalt der Einträge für Parameter festgelegt.
+% Hier wird nun die Gestalt der Einträge für Parameter als Haupteintrag
+% festgelegt.
% \begin{macrocode}
\renewcommand*\SpecialMainParameterIndex[1]{%
\ifx\parameter@parent@indexname\relax%
@@ -751,6 +804,43 @@
}
% \end{macrocode}
% \end{macro}^^A \SpecialMainParameterIndex
+% \begin{environment}{DescribeParameterParent}
+% \changes{v2.05i}{2017/02/20}{neu}^^A
+% \begin{macro}{\SpecialParameterIndex}
+% \changes{v2.05i}{2017/02/20}{neu}^^A
+% Selbiges für die Verwendung durch \cs{Describe\dots}
+% \begin{macrocode}
+\newenvironment{DescribeParameterParent}[2]{%
+ \@nameuse{@Save#1IndexName}{\string#2}%
+}{}
+\renewcommand*\SpecialParameterIndex[1]{%
+ \ifx\parameter@parent@indexname\relax%
+ \ClassError{\TUD@Class@Name}{No previous macro or environment}{%
+ Since parameters can only be used for macros or\MessageBreak%
+ environments, you have to use macro\MessageBreak%
+ `\string\DescribeParameter' only within the environment\MessageBreak%
+ `DescribeParameterParent'.%
+ }%
+ \fi%
+ \@bsphack%
+ \index{%
+ \parameter@parent@indexname\actualchar%
+ \parameter@parent@indexformat\levelchar%
+ #1\space\tud@parameter@name\actualchar%
+ {\protect\ttfamily#1}\index@type{\tud@parameter@name}%
+ \encapchar usage%
+ }%
+ \index{%
+ \tud@parameters@name:\levelchar#1\space\parameter@parent@indexname%
+ \actualchar{\protect\ttfamily#1}%
+ \noexpand\,--\noexpand\,\parameter@parent@indexformat%
+ \encapchar usage%
+ }%
+ \@esphack%
+}
+% \end{macrocode}
+% \end{macro}^^A \SpecialParameterIndex
+% \end{environment}
%
% \subsubsection{Erzeugen von Änderungseinträgen}
%
@@ -1227,7 +1317,15 @@
}%
\endgraf%
\hfuzz0.8pt%
- \leavevmode\marginpar{\raggedleft\fbox{ToDo:\space\tud@reserved\strut}}%
+ \leavevmode%
+ \def\@tempa{\raggedleft\fbox{ToDo:\space\tud@reserved\strut}}%
+ \ifdefined\marginnote%
+ \expandafter\marginnote\expandafter{\@tempa}[%
+ \dimexpr-\fboxsep-\fboxrule\relax%
+ ]%
+ \else%
+ \expandafter\marginpar\expandafter{\@tempa}%
+ \fi%
\fbox{\parbox{\dimexpr\textwidth-2\fboxsep\relax}{#1\strut}}%
\endgraf%
% \end{macrocode}
@@ -1388,6 +1486,8 @@
% \begin{macro}{\env}
% \begin{macro}{\prm}
% \changes{v2.05g}{2016/11/02}{neu}^^A
+% \begin{macro}{\cnt}
+% \changes{v2.05i}{2017/02/23}{neu}^^A
% \begin{macro}{\file}
% Zusätzliche Auszeichnungsbefehle.
% \begin{macrocode}
@@ -1399,6 +1499,7 @@
\newrobustcmd*\pgs[1]{\mbox{\texttt{#1}}}
\newrobustcmd*\env[1]{\mbox{\texttt{#1}}}
\newrobustcmd*\prm[1]{\mbox{\texttt{#1}}}
+\newrobustcmd*\cnt[1]{\mbox{\texttt{#1}}}
\newrobustcmd*\file[1]{\mbox{\texttt{#1}}}
\AfterPackage{hyperref}{%
\pdfstringdefDisableCommands{%
@@ -1415,6 +1516,7 @@
}
% \end{macrocode}
% \end{macro}^^A \file
+% \end{macro}^^A \cnt
% \end{macro}^^A \prm
% \end{macro}^^A \env
% \end{macro}^^A \pgs