You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
246 lines
8.0 KiB
246 lines
8.0 KiB
% \CheckSum{74}
|
|
% \iffalse meta-comment
|
|
% ======================================================================
|
|
% scrextend.dtx
|
|
% Copyright (c) Markus Kohm, 2002-2020
|
|
%
|
|
% This file is part of the LaTeX2e KOMA-Script bundle.
|
|
%
|
|
% 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 Markus Kohm.
|
|
%
|
|
% This work consists of all files listed in manifest.txt.
|
|
% ----------------------------------------------------------------------
|
|
% scrextend.dtx
|
|
% Copyright (c) Markus Kohm, 2002-2020
|
|
%
|
|
% 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 Markus Kohm.
|
|
%
|
|
% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien.
|
|
% ======================================================================
|
|
% \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: $Id: scrextend.dtx 3453 2020-02-25 07:33:30Z kohm $
|
|
%<preidentify>%%% (run: preidentify)
|
|
%<prepare>%%% (run: prepare)
|
|
%<option>%%% (run: option)
|
|
%<*dtx>
|
|
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
|
|
\begingroup
|
|
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
|
|
\filedate$Date: 2020-02-25 08:33:30 +0100 (Tue, 25 Feb 2020) $
|
|
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
|
|
\filerevision$Revision: 1962 $
|
|
\endgroup
|
|
\ProvidesFile{scrextend.dtx}[\filedate\space\filerevision\space
|
|
KOMA-Script package source
|
|
(extend other classes)]
|
|
\documentclass[parskip=half-]{scrdoc}
|
|
\usepackage[english,ngerman]{babel}
|
|
\CodelineIndex
|
|
\RecordChanges
|
|
\GetFileInfo{scrextend.dtx}
|
|
\title{\KOMAScript{} \partname\ \texttt{\filename}%
|
|
\footnote{Dies ist Version \fileversion\ von Datei
|
|
\texttt{\filename}.}}
|
|
\date{\filedate}
|
|
\author{Markus Kohm}
|
|
|
|
\begin{document}
|
|
\maketitle
|
|
\tableofcontents
|
|
\DocInput{\filename}
|
|
\end{document}
|
|
%</dtx>
|
|
% \fi
|
|
%
|
|
% \selectlanguage{ngerman}
|
|
%
|
|
% \changes{v3.00}{2008/05/01}{neues Paket}
|
|
%
|
|
% \section{Erweiterungen für andere Klassen}
|
|
%
|
|
% Dieses Paket dient dazu, einige Möglichkeiten von \KOMAScript{} auch anderen
|
|
% Klassen zur Verfügung zustellen. Dafür darf dieses Paket nicht mit einer
|
|
% \KOMAScript-Klasse verwendet werden.
|
|
%
|
|
% \StopEventually{\PrintIndex\PrintChanges}
|
|
%
|
|
% \subsection{Vorbereitung noch vor der Identifizierung des Pakets}
|
|
%
|
|
% Die Vorbereitung ist einfach. Es wird nur getestet, ob bereits eine
|
|
% \KOMAScript-Klasse geladen ist. Falls dem so ist, wird eine Warnung
|
|
% ausgegeben und dafür gesorgt, dass das Paket nicht weiter abgearbeitet wird.
|
|
%
|
|
% \iffalse
|
|
%<*preidentify>
|
|
% \fi
|
|
%
|
|
% \changes{v3.30}{2020/02/25}{\cs{PackageWarningNoLine} statt
|
|
% \cs{PackageWarning} mit angehängtem \cs{@gobble}}%^^A
|
|
% \begin{macrocode}
|
|
\begingroup\expandafter\expandafter\expandafter\endgroup
|
|
\expandafter\ifx\csname KOMAClassName\endcsname\relax\else
|
|
\PackageWarningNoLine{scrextend}{%
|
|
This package was made to extend other classes but\MessageBreak
|
|
KOMA-Script classes by some features of the\MessageBreak
|
|
KOMA-Script classes.\MessageBreak
|
|
It should never be used with a KOMA-Script class.\MessageBreak
|
|
Loading of the package will be aborted%
|
|
}%
|
|
\expandafter\endinput
|
|
\fi
|
|
% \end{macrocode}
|
|
%
|
|
% \iffalse
|
|
%</preidentify>
|
|
%<*identify>
|
|
% \fi
|
|
%
|
|
% \subsection{Identifizierung des Pakets}
|
|
%
|
|
% \begin{macrocode}
|
|
\ProvidesPackage{scrextend}[%
|
|
%!KOMAScriptVersion
|
|
package (extend other classes with features of KOMA-Script classes)%
|
|
]
|
|
% \end{macrocode}
|
|
%
|
|
% \iffalse
|
|
%</identify>
|
|
%<*prepare>
|
|
% \fi
|
|
%
|
|
% \subsection{Vorbereitung vor den Optionen}
|
|
%
|
|
% \begin{macro}{\scr@ext@activate}
|
|
% \begin{macro}{\scr@ext@activateable}
|
|
% \begin{macro}{\scr@ext@addto@activateable}
|
|
% \begin{sloppypar}
|
|
% Einige Dinge werden nur dann definiert, wenn dies gefordert ist. Dazu werden
|
|
% die entsprechenden Definitionen in das zweite Argument von
|
|
% \cs{scr@ext@activateable}\marg{Kürzel} gepackt, wodurch sie als
|
|
% \cs{scr@ext@activate@}\meta{Kürzel} definiert werden, und anschließend
|
|
% \cs{csname}~\texttt{scr@ext@immediate@}\meta{Kürzel}\cs{endcsname}
|
|
% ausgeführt. Um das dann zu aktivieren wird
|
|
% \cs{scr@ext@activate}\marg{Kürzel} aufgerufen (beispielsweise innerhalb
|
|
% einer Option). Mit \cs{scr@ext@addto@activateable} können Aktivierungen
|
|
% entsprechend um weitere Definitionen erweitert werden.
|
|
% \end{sloppypar}
|
|
% \begin{macrocode}
|
|
\newcommand*{\scr@ext@activate}[1]{%
|
|
\scr@ifundefinedorrelax{scr@ext@activate@#1}{%
|
|
\@namedef{scr@ext@immediate@#1}{%
|
|
\expandafter\let\csname scr@ext@immediate@#1\endcsname\relax
|
|
\csname scr@ext@activate@#1\endcsname
|
|
}%
|
|
}{%
|
|
\csname scr@ext@activate@#1\endcsname
|
|
\expandafter\let\csname scr@ext@activate@#1\endcsname\relax
|
|
}%
|
|
}
|
|
\newcommand*{\scr@ext@activateable}[1]{%
|
|
\expandafter\newcommand\expandafter*\csname scr@ext@activate@#1\endcsname
|
|
}
|
|
\newcommand*{\scr@ext@addto@activateable}[1]{%
|
|
\scr@ifundefinedorrelax{scr@ext@activate@#1}{%
|
|
\expandafter\newcommand\expandafter*\csname scr@ext@activate@#1\endcsname
|
|
}{%
|
|
\expandafter\g@addto@macro\csname scr@ext@activate@#1\endcsname
|
|
}%
|
|
}
|
|
% \end{macrocode}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
%
|
|
% \iffalse
|
|
%</prepare>
|
|
%<*option>
|
|
% \fi
|
|
%
|
|
% \subsection{Optionen}
|
|
%
|
|
% Das Paket kennt eine universelle Option, um aktivierbare Möglichkeiten zu
|
|
% aktivieren. Diese Option steht aber nur während dem Laden des Pakets zur
|
|
% Verfügung!
|
|
%
|
|
% \begin{option}{extendedfeature}
|
|
% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit
|
|
% \cs{FamilyKeyState}}%^^A
|
|
% \changes{v3.17}{2015/03/09}{Speicherung des Werts in der internen
|
|
% Liste}%^^A
|
|
% \begin{macrocode}
|
|
\KOMA@key{extendedfeature}{%
|
|
\scr@ext@activate{#1}%
|
|
\AtEndOfPackage{%
|
|
\scr@ifundefinedorrelax{scr@ext@immediate@#1}{}{%
|
|
\PackageWarningNoLine{unkown extended feature `#1'\MessageBreak
|
|
You have used option `extendedfeature' to\MessageBreak
|
|
activate an extended feature `#1',\MessageBreak
|
|
but there is no such extended feature.\MessageBreak
|
|
See the KOMA-Script manual for more\MessageBreak
|
|
information about known activatable\MessageBreak
|
|
extended features%
|
|
}%
|
|
}%
|
|
}%
|
|
\FamilyKeyStateProcessed
|
|
\KOMA@kav@xadd{.scrextend.sty}{extendedfeature}{#1}%
|
|
}
|
|
\AtEndOfPackage{%
|
|
\KOMA@key{extendedfeature}{%
|
|
\def\FamilyKeyState{Option `extendedfeature' too late}%
|
|
}%
|
|
}
|
|
% \end{macrocode}
|
|
% \end{option}
|
|
%
|
|
% \iffalse
|
|
%</option>
|
|
% \fi
|
|
%
|
|
% \Finale
|
|
%
|
|
\endinput
|
|
%
|
|
% end of file `scrextend.dtx'
|
|
%%% Local Variables:
|
|
%%% mode: doctex
|
|
%%% TeX-master: t
|
|
%%% End:
|
|
|