summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/scrkernel-pseudolengths.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-12-26 23:18:36 +0000
committerKarl Berry <karl@freefriends.org>2013-12-26 23:18:36 +0000
commit9b219d1b664067729034647a4b37626cf2bf5e26 (patch)
tree00708467b44f90736dc32ed1bebb95e9c4710139 /Master/texmf-dist/source/latex/koma-script/scrkernel-pseudolengths.dtx
parentc00c8298eb6913b74270a36c1f1018f1e9946f7b (diff)
koma-script (26dec13)
git-svn-id: svn://tug.org/texlive/trunk@32489 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrkernel-pseudolengths.dtx')
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrkernel-pseudolengths.dtx251
1 files changed, 251 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-pseudolengths.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-pseudolengths.dtx
new file mode 100644
index 00000000000..447e8e91e64
--- /dev/null
+++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-pseudolengths.dtx
@@ -0,0 +1,251 @@
+% \CheckSum{100}
+% \iffalse meta-comment
+% ======================================================================
+% scrkernel-pseudolengths.dtx
+% Copyright (c) Markus Kohm, 2006-2013
+%
+% 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.
+% ----------------------------------------------------------------------
+% scrkernel-pseudolengths.dtx
+% Copyright (c) Markus Kohm, 2006-2013
+%
+% 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: scrkernel-pseudolengths.dtx 1388 2013-10-01 16:03:42Z mjk $
+%<*driver>
+% \fi
+\ProvidesFile{scrkernel-pseudolengths.dtx}[2011/03/20 v3.08b KOMA-Script
+ (pseudo length)]
+% \iffalse
+\documentclass{scrdoc}
+\usepackage[english,ngerman]{babel}
+\usepackage[latin1]{inputenc}
+\CodelineIndex
+\RecordChanges
+\GetFileInfo{scrkernel-pseudolengths.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}
+% \changes{v2.97c}{2007/09/17}{\cs{dimexpr} statt \cs{number} verwendet,
+% wenn \eTeX{} verwendet wird}
+% 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 oder einen Faktor zu verwenden. Dafür
+% wird allerdings \eTeX{} benötigt.
+% \begin{macrocode}
+\scr@ifundefinedorrelax{dimexpr}{%
+ \newcommand*{\useplength}[1]{%
+ \number \csname ltx@len@#1\endcsname\relax}%
+}{%
+ \newcommand*{\useplength}[1]{%
+ \dimexpr \csname ltr@len@#1\endcsname\relax}%
+}
+% \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 `scrkernel-pseudolengths.dtx'
+%%% Local Variables:
+%%% mode: doctex
+%%% TeX-master: t
+%%% End: