summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/koma-script/source/scrkernel-pseudolengths.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/koma-script/source/scrkernel-pseudolengths.dtx')
-rw-r--r--macros/latex/contrib/koma-script/source/scrkernel-pseudolengths.dtx129
1 files changed, 74 insertions, 55 deletions
diff --git a/macros/latex/contrib/koma-script/source/scrkernel-pseudolengths.dtx b/macros/latex/contrib/koma-script/source/scrkernel-pseudolengths.dtx
index 228fa2258a..b3d2f623cf 100644
--- a/macros/latex/contrib/koma-script/source/scrkernel-pseudolengths.dtx
+++ b/macros/latex/contrib/koma-script/source/scrkernel-pseudolengths.dtx
@@ -1,8 +1,8 @@
-% \CheckSum{212}
+% \CheckSum{223}
% \iffalse meta-comment
% ======================================================================
% scrkernel-pseudolengths.dtx
-% Copyright (c) Markus Kohm, 2006-2018
+% Copyright (c) Markus Kohm, 2006-2019
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -20,7 +20,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrkernel-pseudolengths.dtx
-% Copyright (c) Markus Kohm, 2006-2017
+% Copyright (c) Markus Kohm, 2006-2019
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -55,7 +55,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-pseudolengths.dtx 2980 2018-04-26 12:06:09Z kohm $
+%%% From File: $Id: scrkernel-pseudolengths.dtx 3262 2019-10-10 08:25:29Z kohm $
%<option>%%% (run: option)
%<body>%%% (run: body)
%<*dtx>
@@ -63,7 +63,7 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2018-04-26 14:06:09 +0200 (Thu, 26 Apr 2018) $
+ \filedate$Date: 2019-10-10 10:25:29 +0200 (Thu, 10 Oct 2019) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
\filerevision$Revision: 1872 $
\edef\reserved@a{%
@@ -77,7 +77,6 @@
% \iffalse
\documentclass{scrdoc}
\usepackage[english,ngerman]{babel}
-\usepackage[latin1]{inputenc}
\CodelineIndex
\RecordChanges
\GetFileInfo{scrkernel-pseudolengths.dtx}
@@ -99,13 +98,13 @@
% \changes{v2.95}{2006/03/22}{%
% erste Version aus der Aufteilung von \textsf{scrclass.dtx}}
%
-% \section{Pseudo-Längen für Briefe}
+% \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
+% 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}
@@ -119,7 +118,7 @@
% \fi
%
% \subsection{Option}
-% Das Prinzip der Pseudo-Längen wird nicht durch Optionen beeinflusst.
+% Das Prinzip der Pseudo-Längen wird nicht durch Optionen beeinflusst.
%
%
% \iffalse
@@ -127,18 +126,39 @@
%<*body>
% \fi
%
-% \subsection{Anweisungen für Pseudo-Längen}
+% \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.
+% benötigt. Um jedoch nicht unnötig viele Längenregister zu verbrauchen, wird
+% hier mit einer Pseudo-Längen-Arithmetik gearbeitet.
+%
+% \selectlanguage{english}%^^A
+% \begin{macro}{\Ifplength}
+% \changes{v3.27}{2019/03/29}{new}%^^A
+% \begin{macro}{\if@plength}
+% \changes{v3.27}{2019/03/29}{new (internal)}%^^A
+% Test whether or not a given pseudo-length (\texttt{\#1}) already exists. If
+% so execute the second argument, otherwise the third. It's somehow
+% inconsistent to use \cs{Ifplength} instead of \cs{ifplength}, but as it does
+% not act as a \TeX{} switch but a \LaTeX{} command it is better not to use
+% \cs{if\dots}.
+% \begin{macrocode}
+\newcommand*{\if@plength}[1]{%
+ \@ifundefined{ltr@len@#1}{\@secondoftwo}{\@firstoftwo}%
+}
+\newcommand*{\Ifplength}{\if@plength}
+% \end{macrocode}
+% \end{macro}%^^A\Ifplength
+% \end{macro}%^^A\if@plength
+% \selectlanguage{ngerman}%^^A
%
% \begin{macro}{\@newplength}
-% \changes{v2.8q}{2001/10/06}{Neu}^^A
-% \changes{v2.8q}{2001/10/06}{Kompatibilität zu \texttt{scrlettr.cls}^^A
-% 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.
+% \changes{v2.8q}{2001/10/06}{Neu}%^^A
+% \changes{v2.8q}{2001/10/06}{Kompatibilität zu \texttt{scrlettr.cls}%^^A
+% aufgegeben}
+% \changes{v3.27}{2019/03/29}{Fehlermeldung angepasst}%^^A
+% 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}{%
@@ -150,11 +170,10 @@
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}%
+ You've tried to define a new pseudo-length using\MessageBreak
+ \string\@newplength\space
+ or \string\newplength.\MessageBreak
+ Please, try another name}%
}%
}
% \end{macrocode}
@@ -162,22 +181,22 @@
%
% \begin{macro}{\newplength}
% \changes{v3.26}{2018/04/26}{Neu}
-% Anweisung auf Anwenderebene verfügbar.
+% Anweisung auf Anwenderebene verfügbar.
% \begin{macrocode}
\newcommand*{\newplength}{\@newplength}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\useplength}
-% \changes{v2.8q}{2001/10/06}{Neu}^^A
+% \changes{v2.8q}{2001/10/06}{Neu}%^^A
% \changes{v2.97c}{2007/09/17}{\cs{dimexpr} statt \cs{number} verwendet,
% wenn \eTeX{} verwendet wird}
% \changes{v3.25}{2017/11/29}{\eTeX{} ist zwingend}
-% \changes{v3.25}{2017/11/29}{\cs{dimexpr} durch \cs{glueexpr} ersetzt}^^A
-% 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.
+% \changes{v3.25}{2017/11/29}{\cs{dimexpr} durch \cs{glueexpr} ersetzt}%^^A
+% 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}
\newcommand*{\useplength}[1]{%
\glueexpr \csname ltr@len@#1\endcsname\relax}%
@@ -185,11 +204,11 @@
% \end{macro}
%
% \begin{macro}{\setlengthtoplength}
-% \changes{v2.8q}{2001/10/06}{Neu}^^A
-% 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.
+% \changes{v2.8q}{2001/10/06}{Neu}%^^A
+% 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}}%
@@ -198,12 +217,12 @@
% \end{macro}
%
% \begin{macro}{\@setplength}
-% \changes{v2.8q}{2001/10/06}{Neu}^^A
-% \changes{v3.25}{2017/11/29}{\cs{glueexpr} eingefügt}^^A
-% 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
+% \changes{v2.8q}{2001/10/06}{Neu}%^^A
+% \changes{v3.25}{2017/11/29}{\cs{glueexpr} eingefügt}%^^A
+% 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][]{%
@@ -220,8 +239,8 @@
% \end{macro}
%
% \begin{macro}{\setplength}
-% \changes{v3.26}{2018/04/26}{Neu}^^A
-% Anweisung auf Anwenderebene verfügbar.
+% \changes{v3.26}{2018/04/26}{Neu}%^^A
+% Anweisung auf Anwenderebene verfügbar.
% \begin{macrocode}
\newcommand*{\setplength}{\@setplength}
% \end{macrocode}
@@ -235,8 +254,8 @@
% \changes{v3.26}{2018/04/26}{Neu}
% \begin{macro}{\setplengthtototalheight}
% \changes{v3.26}{2018/04/26}{Neu}
-% Man kann auch die Breite, Höhe, Tiefe oder Höhe + Tiefe eines Inhalts
-% verwenden, um eine Pseudolänge zu definieren.
+% Man kann auch die Breite, Höhe, Tiefe oder Höhe + Tiefe eines Inhalts
+% verwenden, um eine Pseudolänge zu definieren.
% \begin{macrocode}
\newcommand*{\setplengthtowidth}[3][]{%
\begingroup
@@ -287,10 +306,10 @@
% \end{macro}
%
% \begin{macro}{\addtolengthplength}
-% \changes{v2.8q}{2001/10/06}{Neu}^^A
+% \changes{v2.8q}{2001/10/06}{Neu}%^^A
% 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.
+% 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%
@@ -302,9 +321,9 @@
% \end{macrocode}
%
% \begin{macro}{\@addtoplength}
-% \changes{v2.8q}{2001/10/06}{Neu}^^A
-% \changes{v3.25}{2017/11/29}{\cs{glueexpr} eingefügt}^^A
-% Ebenso wird ein Makro benötigt, mit dem zu einer Pseudo-Länge das
+% \changes{v2.8q}{2001/10/06}{Neu}%^^A
+% \changes{v3.25}{2017/11/29}{\cs{glueexpr} eingefügt}%^^A
+% 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][]{%
@@ -324,7 +343,7 @@
%
% \begin{macro}{\addtoplength}
% \changes{v3.26}{2018/04/26}{Neu}
-% Anweisung auf Anwenderebene verfügbar.
+% Anweisung auf Anwenderebene verfügbar.
% \begin{macrocode}
\newcommand*{\addtoplength}{\@addtoplength}
% \end{macrocode}