diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrkplen.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/koma-script/scrkplen.dtx | 243 |
1 files changed, 243 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkplen.dtx b/Master/texmf-dist/source/latex/koma-script/scrkplen.dtx new file mode 100644 index 00000000000..bb95383d2dd --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/scrkplen.dtx @@ -0,0 +1,243 @@ +% \CheckSum{94} +% \iffalse meta-comment +% ====================================================================== +% scrkplen.dtx +% Copyright (c) Markus Kohm, 2006 +% +% 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.3b of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3b 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. +% ---------------------------------------------------------------------- +% scrkplen.dtx +% Copyright (c) Markus Kohm, 2006 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3b, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3b 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: scrkplen.dtx +%<*driver> +% \fi +\ProvidesFile{scrkplen.dtx}[2006/03/28 v2.95 KOMA-Script (pseudo length)] +% \iffalse +\documentclass{scrdoc} +\usepackage[english,ngerman]{babel} +\usepackage[latin1]{inputenc} +\CodelineIndex +\RecordChanges +\GetFileInfo{scrkplen.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} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \changes{v2.95}{2006/03/22}{% +% erste Version aus der Aufteilung von \textsf{scrclass.dtx}} +% +% \section{Pseudo-Längen für Briefe} +% +% Pseudo-Längen wurden für \textsf{scrlttr2} eingeführt, um Längenregister zu +% sparen. Tatsächlich hat das \LaTeX-Team kurz darauf entschieden, dass +% künftig \eTeX{} die empfohlene Maschine für \LaTeX{} sein soll, wodurch die +% Einführung von Pseudo-Längen nachträglich überflüssig wurde. Es gibt sie nun +% aber einmal und aus Gründen der Kompatiblität wird es sie für Briefe auch +% weiterhin geben. +% +% \StopEventually{\PrintIndex\PrintChanges} +% +% \iffalse +%<*letter> +% \fi +% +% \iffalse +%<*option> +% \fi +% +% \subsection{Option} +% Das Prinzip der Pseudo-Längen wird nicht durch Optionen beeinflusst. +% +% +% \iffalse +%</option> +%<*body> +% \fi +% +% \subsection{Anweisungen für Pseudo-Längen} +% +% Zu Berechnung der Feldpositionen werden verschiedene Dimensions-Variablen +% benötigt. Um jedoch nicht unnötig viele Längenregister zu verbrauchen, wird +% hier mit einer Pseudo-Längen-Arithmetik gearbeitet. +% +% \begin{macro}{\@newplength} +% \changes{v2.8q}{2001/10/06}{Neu} +% \changes{v2.8q}{2001/10/06}{Kompatibilität zu \texttt{scrlettr.cls} +% aufgegeben} +% Dieses Makro definiert eine neue Pseude-Länge und setzt sie auf den +% Wert 0. Eine Pseudo-Länge ist ein Makro, das eine Länge enthält. +% \begin{macrocode} +\newcommand*{\@newplength}[1]{% + \@ifundefined{ltr@len@#1}{% + \expandafter\let\csname ltr@len@#1\endcsname=\z@% + }{% + \ClassError{scrlttr2}{% + pseudo-length \expandafter\string\csname ltr@len@#1\endcsname + already defined% + }{% + You tried to define a new pseudo-length using + \string\@newplength\MessageBreak + which is already defined. Try another name or + better\MessageBreak + Don't use this KOMA-Script internal macro}% + }% + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\useplength} +% \changes{v2.8q}{2001/10/06}{Neu} +% Natürlich muss auf eine solche Pseudo-Länge auch wieder lesend +% zugeriffen werden können. Wir definieren dies hier so, dass es +% außerdem möglich ist, ein Vorzeichen zu verwenden. Ein Faktor ist +% allerdings nicht möglich. +% \begin{macrocode} +\newcommand*{\useplength}[1]{% + \expandafter\number\expandafter\csname ltr@len@#1\endcsname} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\setlengthtoplength} +% \changes{v2.8q}{2001/10/06}{Neu} +% Eine echte Länge soll auf das Vielfache einer Pseudo-Länge gesetzt +% werden. Dabei wird der Faktor als optionaler Parameter übergeben. +% Der erste obligatorische Parameter ist die Länge, der zweite +% obligatorische Parameter ist die Pseudo-Länge. +% \begin{macrocode} +\newcommand*{\setlengthtoplength}[3][]{% + \setlength{#2}{\useplength{#3}}% + \setlength{#2}{#1#2}} +% \end{macrocode} +% +% \begin{macro}{\@setplength} +% \changes{v2.8q}{2001/10/06}{Neu} +% Natürlich wird ebenfalls eine Möglichkeit benötigt, einer +% Pseudo-Länge einen Wert zuzuweisen. Dies geschieht unter lokaler +% Anwendung einer Länge, damit sichergestellt ist, dass eine +% Längenangabe übergeben wird. Dabei wird das zuvor definierte Makro +% \cs{setlengthtoplength} verwendet. +% \begin{macrocode} +\newcommand*{\@setplength}[3][]{% + \begingroup% + \setlength{\@tempskipa}{#3}% + \setlength{\@tempskipa}{#1\@tempskipa}% + \edef\@tempa{\noexpand\endgroup% + \noexpand\expandafter\noexpand\renewcommand\noexpand\expandafter*% + \noexpand\csname ltr@len@#2\noexpand\endcsname{\the\@tempskipa}% + }% + \@tempa% + } +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\addtolengthplength} +% \changes{v2.8q}{2001/10/06}{Neu} +% Wenn wir schon dabei sind, soll statt dem Setzen auch das Addieren +% funktionieren. Hier ist die Erschwernis, dass der Faktor nur für +% die Pseudo-Länge und nicht für das Endergebnis gelten soll. +% \begin{macrocode} +\newcommand*{\addtolengthplength}[3][]{% + \begingroup% + \setlengthtoplength[{#1}]{\@tempskipa}{#3}% + \edef\@tempa{\endgroup% + \noexpand\addtolength{#2}{\the\@tempskipa}}% + \@tempa% + } +% \end{macrocode} +% +% \begin{macro}{\@addtoplength} +% \changes{v2.8q}{2001/10/06}{Neu} +% Ebenso wird ein Makro benötigt, mit dem zu einer Pseudo-Länge das +% Vielfache eines Wertes addiert werden kann. +% \begin{macrocode} +\newcommand*{\@addtoplength}[3][]{% + \begingroup% + \setlength{\@tempskipa}{#3}% + \setlength{\@tempskipa}{#1\@tempskipa}% + \addtolengthplength{\@tempskipa}{#2}% + \edef\@tempa{\noexpand\endgroup% + \noexpand\expandafter\noexpand\renewcommand\noexpand\expandafter*% + \noexpand\csname ltr@len@#2\noexpand\endcsname{\the\@tempskipa}% + }% + \@tempa% + } +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \iffalse +%</body> +% \fi +% +% \iffalse +%</letter> +% \fi +% +% \Finale +% +\endinput +% +% end of file `scrkplen.dtx' +%%% Local Variables: +%%% mode: doctex +%%% TeX-master: t +%%% End: |