diff options
author | Norbert Preining <norbert@preining.info> | 2019-12-30 03:01:34 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-12-30 03:01:34 +0000 |
commit | 0af8a1a375250bdab8576ca414baae91122ea6a3 (patch) | |
tree | 712572d132615517c42be58f815bdda7e0bb71a1 /macros/latex/contrib/koma-script/source-doc/english | |
parent | d42fde796d40a1fe4936ff2a7d96c1524109db7a (diff) |
CTAN sync 201912300301
Diffstat (limited to 'macros/latex/contrib/koma-script/source-doc/english')
39 files changed, 2159 insertions, 2107 deletions
diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-compatibility.tex b/macros/latex/contrib/koma-script/source-doc/english/common-compatibility.tex index e1f7d4471c..b630401b71 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/common-compatibility.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/common-compatibility.tex @@ -46,11 +46,11 @@ % ====================================================================== \KOMAProvidesFile{common-compatibility.tex} - [$Date: 2019-10-10 10:04:30 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-10-31 08:38:01 +0100 (Thu, 31 Oct 2019) $ KOMA-Script guide (common paragraphs)] \translator{Markus Kohm\and Krickette Murabayashi\and Karl Hagen} -% Date of the translated German file: 2019-10-10 +% Date of the translated German file: 2019-10-31 \section{Compatibility with Earlier Versions of \KOMAScript} \seclabel{compatibilityOptions} @@ -70,7 +70,7 @@ \autopageref{sec:\ThisCommonLabelBase.compatibilityOptions.next}.% } -\IfThisCommonLabelBaseOneOf{typearea,maincls,scrlttr2,scrextend}{% +\IfThisCommonLabelBaseOneOf{typearea,maincls,scrlttr2}{% Those who produce their documents from source code typically attach the utmost importance to the fact that future \LaTeX{} runs will yield exactly the same result. In some cases, however, improvements and bug fixes to the @@ -78,20 +78,20 @@ result in changes of behaviour, especially to the layout. This, however, may be undesirable.% }{% - % \IfThisCommonLabelBase{scrextend}{% + \IfThisCommonLabelBase{scrextend}{% % In some cases, improvements and bug fixes to the package will result % in changes of behaviour, especially to the layout. This, however, % may be undesirable. Those who produce their documents from source code % typically attach the utmost importance to the fact that future % \LaTeX{} runs will yield exactly the same result.% - % }{% + }{% \ThisCommonLabelBaseFailure % \IfThisCommonLabelBase{scrlttr2}{% % In some cases, improvements and bug fixes to the package will result % in changes of behaviour, especially to the layout. This, however, % may be undesirable. % }{}% - % }% + }% }% diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-dictum.tex b/macros/latex/contrib/koma-script/source-doc/english/common-dictum.tex index 682ca39163..969ee9d1b7 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/common-dictum.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/common-dictum.tex @@ -46,12 +46,12 @@ % ====================================================================== \KOMAProvidesFile{common-dictum.tex} - [$Date: 2019-10-10 10:04:30 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-11-20 08:38:35 +0100 (Wed, 20 Nov 2019) $ KOMA-Script guide (common paragraphs)] \translator{Gernot Hassenpflug\and Markus Kohm\and Krickette Murabayashi\and Karl Hagen} -% Date of the translated German file: 2019-10-10 +% Date of the translated German file: 2019-11-20 \section{Dicta} \seclabel{dictum}% @@ -196,18 +196,18 @@ listed in \autoref{tab:maincls.dictumfont}. Changes can be made using the \EndIndexGroup \IfThisCommonLabelBase{maincls}{% - If you use \Macro{dictum} within the + If you use \Macro{dictum} within the \DescRef{maincls.cmd.setchapterpreamble} or - \DescRef{maincls.cmd.setpartpreamble} macro, you must ensure that - the horizontal positioning is always done with - \Macro{raggeddictum}. Therefore, the optional argument for horizontal - positioning which is implemented for these two commands has no effect. - \Length{textwidth} is not the width of the whole text body but the - current text width. If \Macro{dictumwidth} is set to - \PValue{.5\Length{textwidth}} and \DescRef{maincls.cmd.setchapterpreamble} - has an optional width of \PValue{.5\Length{textwidth}} too, you will get a - box with a width one quarter of the text width. Therefore, if you use - \Macro{dictum} you should refrain from setting the optional width for + \DescRef{maincls.cmd.setpartpreamble} macro, \Length{textwidth} is not the + width of the whole text body but the current text width. If + \Macro{dictumwidth} is set to \PValue{.5\Length{textwidth}} and + \DescRef{maincls.cmd.setchapterpreamble} has an optional width of + \PValue{.5\Length{textwidth}} too, you will get a box with a width one + quarter of the text width. The horizontal positioning of the dictum inside + the box is always done with \Macro{raggeddictum}. The optional argument for + horizontal positioning which is implemented for these two commands has no + effect to the \Macro{text}. If you use \Macro{dictum} you should + refrain from setting the optional width for \DescRef{maincls.cmd.setchapterpreamble} or \DescRef{maincls.cmd.setpartpreamble}. diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-draftmode.tex b/macros/latex/contrib/koma-script/source-doc/english/common-draftmode.tex index e693714e39..bee227da2f 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/common-draftmode.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/common-draftmode.tex @@ -46,12 +46,12 @@ % ====================================================================== \KOMAProvidesFile{common-draftmode.tex} - [$Date: 2019-10-10 10:04:30 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-10-31 08:46:30 +0100 (Thu, 31 Oct 2019) $ KOMA-Script guide (common paragraphs)] \translator{Markus Kohm\and Gernot Hassenpflug\and Krickette Murabayashi\and Karl Hagen} -% Date of the translated German file: 2019-10-10 +% Date of the translated German file: 2019-10-31 \section{Draft Mode} \seclabel{draft}% @@ -69,14 +69,16 @@ provide a draft mode itself but relies upon the class you use.}{}% } -Many classes and packages provide a draft mode in addition to the normal -typesetting mode. The differences between these two are as diverse as -the classes and packages that offer this distinction.% -\IfThisCommonLabelBase{scrextend}{% Umbruchkorrekturtext - \ The draft mode of some packages also results in changes to the output - that affect the document's layout. This is not the case with - \Package{scrextend}.% -}{} +\IfThisCommonLabelBase{scrextend}{}{% + Many classes and packages provide a draft mode in addition to the normal + typesetting mode. The differences between these two are as diverse as the + classes and packages that offer this distinction.% + \IfThisCommonLabelBase{scrextend}{% Umbruchkorrekturtext + \ The draft mode of some packages also results in changes to the output + that affect the document's layout. This is not the case with + \Package{scrextend}.% + }{}% +} \begin{Declaration} \OptionVName{draft}{simple switch} diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-fontsize.tex b/macros/latex/contrib/koma-script/source-doc/english/common-fontsize.tex index ed37da5934..99424b6eea 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/common-fontsize.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/common-fontsize.tex @@ -46,11 +46,11 @@ % ====================================================================== \KOMAProvidesFile{common-fontsize.tex} - [$Date: 2019-10-10 09:50:23 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-12-06 10:52:05 +0100 (Fri, 06 Dec 2019) $ KOMA-Script guide (common paragraphs: fontsize)] \translator{Markus Kohm\and Krickette Murabayashi\and Karl Hagen} -% Date of the translated German file: 2019-10-09 +% Date of the translated German file: 2019-12-06 \section{Choosing the Document Font Size} \seclabel{fontOptions}% @@ -161,6 +161,7 @@ main font, from \Macro{tiny} to \Macro{Huge}. \label{fig:scrlttr2.letter-5-6} \end{figure} \end{Example} + \ExampleEndFix }{% \IfThisCommonLabelBase{maincls}{% \par diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-footnotes.tex b/macros/latex/contrib/koma-script/source-doc/english/common-footnotes.tex index 3eb44965c1..2a3e8cac1d 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/common-footnotes.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/common-footnotes.tex @@ -46,11 +46,11 @@ % ====================================================================== \KOMAProvidesFile{common-footnotes.tex} - [$Date: 2019-10-10 10:04:30 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-11-20 08:38:35 +0100 (Wed, 20 Nov 2019) $ KOMA-Script guide (common paragraphs: Footnotes)] \translator{Markus Kohm\and Krickette Murabayashi\and Karl Hagen} -% Date of the translated German file: 2019-10-10 +% Date of the translated German file: 2019-11-20 \section{Footnotes} \seclabel{footnotes}% @@ -359,7 +359,7 @@ shows the different parameters% } \end{lstcode} \fi% -\DescRef{\ThisCommonLabelBase.cmd.textsuperscript} controls both the +\Macro{textsuperscript} controls both the superscript and the smaller font size. The command \Macro{thefootnotemark} contains the current footnote mark without any formatting.% \IfThisCommonLabelBase{scrextend}{ % @@ -470,8 +470,7 @@ in the text and in the footnote itself are identical. You can change the font with the commands \DescRef{\ThisCommonLabelBase.cmd.setkomafont} and \DescRef{\ThisCommonLabelBase.cmd.addtokomafont} (see \autoref{sec:\ThisCommonLabelBase.textmarkup}, -\DescPageRef{\ThisCommonLabelBase.cmd.setkomafont})% -\IfThisCommonLabelBase{scrextend}{ after \Macro{deffootnotemark} is used}{}. +\DescPageRef{\ThisCommonLabelBase.cmd.setkomafont}). \IfThisCommonFirstRun{\iftrue}{\csname iffalse\endcsname}% \begin{Example} @@ -590,9 +589,14 @@ By default% }% } % \KOMAScript{} justifies footnotes just as in the standard classes. -But\textnote{\KOMAScript{} vs. standard classes} you can also change the -justification separately from the rest of the document by redefining -\Macro{raggedfootnote}. Valid definitions are +But\IfThisCommonLabelBase{scrextend}{% + \ if you use \DescRef{\LabelBase.cmd.deffootnote}% + \important{\DescRef{\LabelBase.cmd.deffootnote}}% + \IndexCmd{deffootnote}% +}{% + \textnote{\KOMAScript{} vs. standard classes}% +} you can also change the justification separately from the rest of the +document by redefining \Macro{raggedfootnote}. Valid definitions are \Macro{raggedright}\IndexCmd{raggedright}, \Macro{raggedleft}\IndexCmd{raggedleft}, \Macro{centering}\IndexCmd{centering}, \Macro{relax}\IndexCmd{relax} or an diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-headfootheight.tex b/macros/latex/contrib/koma-script/source-doc/english/common-headfootheight.tex index 2e39697578..1caea9ba29 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/common-headfootheight.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/common-headfootheight.tex @@ -46,11 +46,11 @@ % ============================================================================ \KOMAProvidesFile{common-headfootheight.tex} - [$Date: 2019-10-10 10:04:30 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-11-13 12:33:18 +0100 (Wed, 13 Nov 2019) $ KOMA-Script guide (common paragraph: Head and Foot Height)] \translator{Markus Kohm\and Jana Schubert\and Jens H\"uhne\and Karl Hagen} -% Date of the translated German file: 2019-10-10 +% Date of the translated German file: 2019-11-13 \section{Header and Footer Height} \seclabel{height} diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-interleafpage.tex b/macros/latex/contrib/koma-script/source-doc/english/common-interleafpage.tex index 0f1fe6a0d6..24842ac25b 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/common-interleafpage.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/common-interleafpage.tex @@ -46,12 +46,12 @@ % ====================================================================== \KOMAProvidesFile{common-interleafpage.tex}% - [$Date: 2019-10-10 09:50:23 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-11-11 08:22:00 +0100 (Mon, 11 Nov 2019) $ KOMA-Script guide (common paragraphs: Interleaf Pages)] \translator{Markus Kohm\and Gernot Hassenpflug\and Krickette Murabayashi\and Karl Hagen} -% Date of the translated German file: 2019-10-09 +% Date of the translated German file: 2019-11-11 \section{Interleaf Pages} \seclabel{emptypage}% @@ -67,30 +67,32 @@ \autopageref{sec:\ThisCommonLabelBase.emptypage.next}.% } -Interleaf pages are pages that are inserted between parts of a document. -Traditionally, these pages are completely blank. \LaTeX{}, however, -sets them by default with the current page style. \KOMAScript{} provides -several extensions to this functionality. +\IfThisCommonLabelBase{scrextend}{}{% + Interleaf pages are pages that are inserted between parts of a document. + Traditionally, these pages are completely blank. \LaTeX{}, however, sets + them by default with the current page style. \KOMAScript{} provides several + extensions to this functionality. -Interleaf pages are mostly found in books. Because book chapters commonly -start on the right (recto) page of a two-page spread, an empty left (verso) -page must be inserted if the previous chapter ends on a recto page. For this -reason, interleaf pages really only exist for two-sided printing. + Interleaf pages are mostly found in books. Because book chapters commonly + start on the right (recto) page of a two-page spread, an empty left (verso) + page must be inserted if the previous chapter ends on a recto page. For this + reason, interleaf pages really only exist for two-sided printing. % -\iffalse % Umbruchkorrektur + \iffalse % Umbruchkorrektur The blank versos in one-sided printing are not true interleaf pages, - although they may appear as such in counting the printed sheets. -\fi% + although they may appear as such in counting the printed sheets.% + \fi% -\IfThisCommonLabelBase{scrlttr2}{% - Interleaf pages are unusual in letters. This is not least because two-sided - letters are rare, as letters are usually not bound. Nevertheless, - \KOMAScript{} also supports interleaf pages for two-sided letters. However, - since the commands described here are seldom used in letters, you will not - find any examples here. If necessary, please refer to the examples in - \autoref{sec:maincls.emptypage}, starting on - \autopageref{sec:maincls.emptypage}.% -}{}% + \IfThisCommonLabelBase{scrlttr2}{% + Interleaf pages are unusual in letters. This is not least because + two-sided letters are rare, as letters are usually not + bound. Nevertheless, \KOMAScript{} also supports interleaf pages for + two-sided letters. However, since the commands described here are seldom + used in letters, you will not find any examples here. If necessary, please + refer to the examples in \autoref{sec:maincls.emptypage}, starting on + \autopageref{sec:maincls.emptypage}.% + }{}% +}% \begin{Declaration} \OptionVName{cleardoublepage}{page style} diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-lists.tex b/macros/latex/contrib/koma-script/source-doc/english/common-lists.tex index 9b18e0551e..12bb0ca90c 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/common-lists.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/common-lists.tex @@ -46,12 +46,12 @@ % ====================================================================== \KOMAProvidesFile{common-lists.tex} - [$Date: 2019-10-10 10:04:30 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-11-19 12:56:28 +0100 (Tue, 19 Nov 2019) $ KOMA-Script guide (common paragraphs)] \translator{Gernot Hassenpflug\and Markus Kohm\and Krickette Murabayashi\and Karl Hagen} -% Date of the translated German file: 2019-10-10 +% Date of the translated German file: 2019-11-19 \section{Lists} \seclabel{lists}% @@ -70,8 +70,8 @@ define any list environments itself but leaves them to the class used. If this is not a \KOMAScript{} class, it will load \hyperref[cha:scrextend]{\Package{scrextend}}\IndexPackage{scrextend}% - \important{\hyperref[cha:scrextend]{\Package{scrextend}}}.% - }{} % + \important{\hyperref[cha:scrextend]{\Package{scrextend}}}. % + }{}% However, the \Package{scrextend} package only defines the \DescRef{\ThisCommonLabelBase.env.labeling}, \DescRef{\ThisCommonLabelBase.env.addmargin}, and @@ -554,15 +554,15 @@ defined with the \Environment{labeling} environment.% \end{verse} \end{ShowOutput} in this case \verb|\\*| can not prevent a page break occurring within a - verse at such a line break. To prevent such a page break, a - \Macro{nopagebreak}\IndexCmd{nopagebreak} would have to be inserted - somewhere in the first line: + verse at such a line break. To prevent such a page break, a change of + \Macro{interlinepenalty}\IndexCmd{interlinepenalty} would have to be + inserted at the beginning of the environment: \begin{lstcode} - \begin{verse} - Both the philosopher and the house-owner\nopagebreak{} + \begin{verse}\interlinepenalty 10000 + Both the philosopher and the house-owner always have something to repair.\\ \bigskip - Don't trust a man, my son, who tells you\nopagebreak{} + Don't trust a man, my son, who tells you that he has never lied. \end{verse} \end{lstcode} @@ -597,7 +597,7 @@ defined with the \Environment{labeling} environment.% % \EndIndexGroup - \iftrue% Umbruchkorrekturvarianten + \iffalse% Umbruchkorrekturvarianten \begin{Declaration} \begin{Environment}{quote}\end{Environment} \end{Declaration}% @@ -807,13 +807,13 @@ Both versions of this environment allow negative values for all parameters. Whether a page is going to be on the left or right side of the book cannot be determined reliably on the first {\LaTeX} run. For details please refer to the explanation of the commands -\DescRef{\ThisCommonLabelBase.cmd.ifthispageodd} +\DescRef{\ThisCommonLabelBase.cmd.Ifthispageodd} (\autoref{sec:\ThisCommonLabelBase.oddOrEven}, -\DescPageRef{\ThisCommonLabelBase.cmd.ifthispageodd}) and +\DescPageRef{\ThisCommonLabelBase.cmd.Ifthispageodd}) and \iffree{\Macro{ifthispagewasodd}}{% \DescRef{maincls-experts.cmd.ifthispagewasodd}} (\autoref{sec:maincls-experts.addInfos}\iffree{}{, -\DescPageRef{maincls-experts.cmd.ifthispageodd}}). +\DescPageRef{maincls-experts.cmd.Ifthispageodd}}). \IfThisCommonLabelBase{scrlttr2}{}{% \begin{Explain} The interplay of environments such as lists and paragraphs gives rise to diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-marginpar.tex b/macros/latex/contrib/koma-script/source-doc/english/common-marginpar.tex index 22669838cb..e47490f2cd 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/common-marginpar.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/common-marginpar.tex @@ -46,11 +46,11 @@ % ====================================================================== \KOMAProvidesFile{common-marginpar.tex} - [$Date: 2019-10-10 10:04:30 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-11-04 08:19:23 +0100 (Mon, 04 Nov 2019) $ KOMA-Script guide (common paragraphs)] \translator{Gernot Hassenpflug\and Markus Kohm\and Karl Hagen} -% Date of the translated German file: 2019-10-10 +% Date of the translated German file: 2019-11-04 \section{Marginal Notes} \seclabel{marginNotes}% @@ -101,7 +101,7 @@ command. \phantomsection\xmpllabel{cmd.marginline}% In some parts of this \iffree{guide}{book}, the class name \Class{scrartcl} can be found in the margin. You can produce this with:% - \iftrue% Umbruchkorrekturtext + \iffalse% Umbruchkorrekturtext \footnote{Actually, instead of \Macro{texttt}, a semantic markup was used. To avoid confusion, this has been replaced in the example.}% \fi @@ -126,7 +126,7 @@ can arise using \Macro{marginpar} in \autoref{sec:maincls-experts.addInfos}% also apply to \Macro{marginline}. In addition, \autoref{cha:scrlayer-notecolumn} introduces a package that you can use to create note columns with their own page breaks.% -\iftrue% Umbruchkorrektur +\iffalse% Umbruchkorrektur \ However, the \hyperref[cha:scrlayer-notecolumn]{\Package{scrlayer-notecolumn}}% \IndexPackage{scrlayer-notecolumn} package is more a proof of concept than a diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-oddorevenpage.tex b/macros/latex/contrib/koma-script/source-doc/english/common-oddorevenpage.tex index 8617a74e52..431d9f964b 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/common-oddorevenpage.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/common-oddorevenpage.tex @@ -46,12 +46,12 @@ % ====================================================================== \KOMAProvidesFile{common-oddorevenpage.tex} - [$Date: 2019-10-10 10:04:30 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-11-19 12:56:28 +0100 (Tue, 19 Nov 2019) $ KOMA-Script guide (common paragraph: Detection of Odd and Even Pages)] \translator{Markus Kohm\and Krickette Murabayashi\and Karl Hagen} -% Date of the translated German file: 2019-10-10 +% Date of the translated German file: 2019-11-19 \section{Detecting Odd and Even Pages} \seclabel{oddOrEven}% @@ -91,35 +91,54 @@ have an even page number, and right pages always have an odd page number. % \begin{Declaration} - \Macro{ifthispageodd}\Parameter{true part}\Parameter{false part} + \Macro{Ifthispageodd}\Parameter{true part}\Parameter{false part} \end{Declaration}% -If you want to determine whether text appears on an even or odd page, -\KOMAScript{} provides the \Macro {ifthispageodd} command. The \PName{true +If\IfThisCommonLabelBase{maincls}{% + \ChangedAt{v3.28}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}}% +}{% + \IfThisCommonLabelBase{scrlttr2}{% + \ChangedAt{v3.28}{\Class{scrlttr2}}% + }{% + \IfThisCommonLabelBase{scrextend}{% + \ChangedAt{v3.28}{\Package{scrextend}}% + }{}% + }% +} % +you want to determine whether text appears on an even or odd page, +\KOMAScript{} provides the \Macro{Ifthispageodd} command. The \PName{true part} argument is executed only if you are currently on an odd page. Otherwise the \PName{false part} argument is executed. - +% +\IfThisCommonLabelBase{scrextend}{\iffalse}{\csname iftrue\endcsname}% \begin{Example} Suppose you simply want to show whether a text will be placed onto an - even or odd page. You may achieve that using + even or odd page. You may achieve that + using{\phantomsection\xmpllabel{Ifthispageodd}} \begin{lstcode} - This page has an \ifthispageodd{odd}{even} + This page has an \Ifthispageodd{odd}{even} page number. \end{lstcode} This results in the output \begin{quote} - This page has an \ifthispageodd{odd}{even} page number. + This page has an \Ifthispageodd{odd}{even} page number. \end{quote} \end{Example} +\fi -Because the \Macro{ifthispageodd} command uses a mechanism that is very +Because the \Macro{Ifthispageodd} command uses a mechanism that is very similar to a label and a reference to it, at least two {\LaTeX} runs are required after each change to the text. Only then will the decision be correct. In the first run, a heuristic is used to make the initial choice. -\iffree{}{In \autoref{sec:maincls-experts.addInfos}, -\DescPageRef{maincls-experts.cmd.ifthispageodd}, advanced users can find more +In \autoref{sec:maincls-experts.addInfos}, +\DescPageRef{maincls-experts.cmd.Ifthispageodd}, advanced users can find more information about the problems of detecting left and right pages, or even and -odd page numbers.}% +odd page numbers.% +\IfThisCommonLabelBase{scrextend}{% + An example for \Macro{Ifthispageodd} is shown on + \PageRefxmpl{maincls.Ifthispageodd} in \autoref{sec:maincls.oddOrEven}.% +}{}% % \EndIndexGroup % diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-options.tex b/macros/latex/contrib/koma-script/source-doc/english/common-options.tex index b8c4d5fb70..a00baa01c8 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/common-options.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/common-options.tex @@ -50,7 +50,7 @@ KOMA-Script guide (common paragraphs)] \translator{Gernot Hassenpflug\and Krickette Murabayashi\and Karl Hagen} -% Date of the translated German file: 2019-10-09 +% Date of the translated German file: 2019-10-29 \section{Early or Late Selection of Options} \seclabel{options} @@ -118,13 +118,7 @@ but can also take the form \PName{option}\texttt{=}\PName{value}% \important{\PName{option}\texttt{=}\PName{value}}. Except for this difference, \Macro{documentclass} and \Macro{usepackage} in \KOMAScript{} function as described in \cite{latex:usrguide} or any introduction to \LaTeX, for example -\cite{lshort}.% -% -\iffree{}{\IfThisCommonLabelBase{scrlayer-scrpage}{\par - Incidentally, the \Package{scrpage2}\IndexPackage{scrpage2}% - \important{\Package{scrpage2}} package, which is considered obsolete, does - not have this extension. It therefore understands only simple options without - an assigned value.\par}{}}% +\cite{lshort}. \IfThisCommonLabelBaseNotOneOf{% scrjura,scrhack,scrlayer,scrlayer-scrpage,scrlayer-notecolumn,scrextend% diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-pagestylemanipulation.tex b/macros/latex/contrib/koma-script/source-doc/english/common-pagestylemanipulation.tex index 3814320ed6..1ee59ed003 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/common-pagestylemanipulation.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/common-pagestylemanipulation.tex @@ -51,7 +51,7 @@ Setting up defined page styles)] \translator{Markus Kohm\and Jana Schubert\and Karl Hagen} -% Date version of the translated file: 2019-10-09 +% Date version of the translated file: 2019-12-06 \section{Manipulating Page Styles} \seclabel{pagestyle.content} @@ -93,6 +93,11 @@ \IfThisCommonLabelBase{scrlayer-scrpage-experts}{\iffalse}{% \csname iftrue\endcsname}% \begin{Declaration} + \IfThisCommonLabelBase{scrlayer}{% + \Option{automark} + \OptionVName{autooneside}{simple switch} + \Option{manualmark} + }{}% \Macro{automark}\OParameter{section level of the right mark} \Parameter{section level of the left mark} \Macro{automark*}\OParameter{section level of the right mark} @@ -142,20 +147,24 @@ \DescRef{\ThisCommonLabelBase.cmd.markright} and \DescRef{\ThisCommonLabelBase.cmd.markboth}, which are described later in this section. - \end{Explain}\par + \end{Explain}\par% + This distinction has been eliminated by % + \iffalse \Package{scrpage2} and now also by \fi% + \hyperref[cha:scrlayer]{\Package{scrlayer}}\IndexPackage{scrlayer}. Instead + of distinguishing between automatic\textnote{automatic and manual running + heads} and manual running heads by which page style is selected, there + are two new commands: \Macro{automark} and \Macro{manualmark}.% }{% \IfThisCommonLabelBase{scrlayer}{% For most classes, the choice of a page style\,---\,generally \PageStyle{headings} or \PageStyle{myheading}\,---\,determines whether - the running heads are created automatically or manually. % + the running heads are created automatically or manually. +% TODO: Fix new translation + With \Package{scrlayer} the distinction is done with the two commands + \Macro{automark} and \Macro{manualmark}.% +% :ODOT }{\InternalCommonFileUsageError}% }% - This distinction has been eliminated by % - \iffalse \Package{scrpage2} and now also by \fi% - \hyperref[cha:scrlayer]{\Package{scrlayer}}\IndexPackage{scrlayer}. Instead - of distinguishing between automatic\textnote{automatic and manual running - heads} and manual running heads by which page style is selected, there are - two new commands: \Macro{automark} and \Macro{manualmark}. The \Macro{manualmark}\important{\Macro{manualmark}} command switches to manual marks and deactivates the automatic filling of the marks. In contrast, @@ -182,8 +191,10 @@ previous commands to automatically set the mark, while \Macro{automark*} changes only the behaviour of the section levels specified in its arguments.% - \IfThisCommonLabelBase{scrlayer-scrpage}{}{ With this feature you can handle - relatively complex cases.}% Umbruchoptimierung + \IfThisCommonLabelBase{scrlayer-scrpage}{}{ % + With this feature you can handle + relatively complex cases.% + }% Umbruchoptimierung \IfThisCommonLabelBase{scrlayer-scrpage}{\iftrue}{\csname iffalse\endcsname}% \iffalse% Umbruchkorrekturtext @@ -205,7 +216,8 @@ have to load \IfThisCommonLabelBase{scrlayer-scrpage}{% \Package{scrlayer-scrpage}% }{% - \hyperref[cha:scrlayer-scrpage]{\Package{scrlayer-scrpage}}} + \hyperref[cha:scrlayer-scrpage]{\Package{scrlayer-scrpage}}% + } and select the \DescRef{\LabelBase.pagestyle.scrheadings} page style, so the document starts with: \begin{lstcode} @@ -254,11 +266,12 @@ \end{Example} \fi + \IfThisCommonLabelBase{scrlayer}{}{% \begin{Declaration} - \Option{automark} - \OptionVName{autooneside}{simple switch} - \Option{manualmark} - \end{Declaration} + \Option{automark} + \OptionVName{autooneside}{simple switch} + \Option{manualmark} + \end{Declaration}} Instead of the commands described previously, you can also use the \Option{manualmark}\important{\Option{manualmark}\\\Option{automark}} and \Option{automark} options to switch between automatic and manual running @@ -279,7 +292,7 @@ for other classes. \fi - \IfThisCommonLabelBase{scrlayer-scrpage}{% + \IfThisCommonLabelBaseOneOf{scrlayer,scrlayer-scrpage}{% In one-sided printing, you normally want only the higher section levels to provide the running title.% }{% @@ -329,77 +342,56 @@ \Option{automark} or \Option{manualmark}, or the command \DescRef{\LabelBase.cmd.automark} or \DescRef{\LabelBase.cmd.manualmark}, will the conditions here be initialized.% - \IfThisCommonLabelBase{scrlayer-scrpage}{\par% + \IfThisCommonLabelBase{scrlayer}{\par% You can find additional background information and examples of how to use these commands in the documentation for the \Package{scrlayer} package - \IfThisCommonLabelBase{scrlayer-scrpage}{% - \Package{scrlayer-scrpage}% - }{% - \hyperref[cha:scrlayer-scrpage]{\Package{scrlayer-scrpage}}% - } in \autoref{sec:scrlayer-scrpage.pagestyle.content}, starting on + \hyperref[cha:scrlayer-scrpage]{\Package{scrlayer-scrpage}}% + in \autoref{sec:scrlayer-scrpage.pagestyle.content}, starting on \DescPageRef{scrlayer-scrpage.cmd.manualmark}.% - }{}% - \EndIndexGroup + }{% + \EndIndexGroup% + }% \EndIndexGroup - \begin{Declaration} - \OptionVName{draft}{simple switch} - \end{Declaration} - This \KOMAScript{} option accepts the values for simple switches - listed in \autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch}. - If this option is active, all elements of the page styles will also show - rulers\index{ruler}% - \IfThisCommonLabelBase{scrlayer}{ for}{% - . This can sometimes be useful during} - the drafting process.% - \IfThisCommonLabelBase{scrlayer-scrpage}{ % - If this option has been set globally (see the optional argument - of \DescRef{\LabelBase.cmd.documentclass}) but you do not want the - rulers, you can deactivate them for this package alone by using - \OptionValue{draft}{false} as an optional argument of - \DescRef{\LabelBase.cmd.usepackage} while loading the package.% - }{}% - \EndIndexGroup + \IfThisCommonLabelBase{scrlayer}{% already described at \layercontentsmeasure + }{% + \begin{Declaration} + \OptionVName{draft}{simple switch} + \end{Declaration} + This \KOMAScript{} option accepts the values for simple switches + listed in \autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch}. + If this option is active, all elements of the page styles will also show + rulers\index{ruler}% + \IfThisCommonLabelBase{scrlayer}{ for}{% + . This can sometimes be useful during} + the drafting process.% + \IfThisCommonLabelBase{scrlayer-scrpage}{ % + If this option has been set globally (see the optional argument + of \DescRef{\LabelBase.cmd.documentclass}) but you do not want the + rulers, you can deactivate them for this package alone by using + \OptionValue{draft}{false} as an optional argument of + \DescRef{\LabelBase.cmd.usepackage} while loading the package.% + }{}% + \EndIndexGroup% + }% \begin{Declaration} \Macro{MakeMarkcase}\Parameter{text} + \OptionVName{markcase}{value} \end{Declaration} - Automatic running heads, but not manual ones, use \Macro{MakeMarkcase} for + Automatic running heads, but not manual ones, use \Macro{MakeMarkcase} for their output. If the command has not been defined, e.\,g., by the class while loading \IfThisCommonLabelBase{scrlayer}{% \Package{scrlayer}% }{% \hyperref[cha:scrlayer]{\Package{scrlayer}}% }, it is defined by default to output the argument \PName{text} without - changes. But the default can be changed either by redefining - \Macro{MakeMarkcase} or by using the \DescRef{\LabelBase.option.markcase}% + changes. But the default can be changed either by redefining + \Macro{MakeMarkcase}. Using the \DescRef{\LabelBase.option.markcase}% \IndexOption{markcase}\important{\DescRef{\LabelBase.option.markcase}} - option, which will be described next. Depending on the setting, the - argument can, e.\,g., be converted into upper or lower case.% - \EndIndexGroup - - - \begin{Declaration} - \OptionVName{markcase}{value} - \end{Declaration} - As explained earlier, with \IfThisCommonLabelBase{scrlayer}{% - \Package{scrlayer}% - }{% - \hyperref[cha:scrlayer]{\Package{scrlayer}}% - } you can choose between manual and automatic running heads. Using automatic - running heads, the corresponding marks are set using the section heading - commands. In some cultures, in contrast to the typography of German-speaking - countries, it is common practice to set the running heads in upper-case - letters. The \LaTeX{} standard classes do so by default. The - \IfThisCommonLabelBase{scrlayer}{% - \Package{scrlayer}% - }{% - \hyperref[cha:scrlayer]{\Package{scrlayer}}% - } package also offers this as an option. To do so, use the - \OptionValue{markcase}{upper}\important{\OptionValue{markcase}{upper}}% - \IndexOption[indexmain]{markcase~=upper} option, which redefines - \DescRef{scrlayer.cmd.MakeMarkcase}\IndexCmd[indexmain]{MakeMarkcase}. + option with one of the values of \autoref{tab:scrlayer-scrpage.markcase} + also redefines \Macro{MakeMarkcase}. \IfThisCommonLabelBase{scrlayer}{% Because of the poor typographical quality of the primitive capitalisation @@ -464,25 +456,120 @@ \end{table} }{}% \EndIndexGroup +\fi + - +\IfThisCommonLabelBase{scrlayer-scrpage}{\iffalse}{\csname iftrue\endcsname} \begin{Declaration} - \Macro{leftmark} + \Macro{righttopmark} + \Macro{rightbotmark} + \Macro{rightfirstmark} \Macro{rightmark} + \Macro{lefttopmark} + \Macro{leftbotmark} + \Macro{leftfirstmark} + \Macro{leftmark} + \end{Declaration} + \LaTeX\ChangedAt{v3.16}{\Package{scrlayer}} typically uses a two-part + \TeX{} mark for page styles. Running heads can access the left part of that + mark with \DescRef{scrlayer.cmd.leftmark}% + \important{\DescRef{scrlayer.cmd.leftmark}}\IndexCmd{leftmark} and the right + part with \DescRef{scrlayer.cmd.rightmark}% + \important{\DescRef{scrlayer.cmd.rightmark}}\IndexCmd{rightmark}. In fact, + it was probably intended to use \DescRef{scrlayer.cmd.leftmark} for the + running head of left (even) pages and \DescRef{scrlayer.cmd.rightmark} for + the running head of right (odd) pages of two-sided documents. In + one-sided printing, however, the standard classes do not even set the left + part of the mark. + + \TeX{} itself knows three ways to access a mark. The \Macro{botmark}% + \IndexCmd{botmark}\important{\Macro{botmark}} is the last valid mark of the + most recent page that has been built. If no mark has been set on the page, + it corresponds to the last mark set on the pages that have already been + shipped out. The \LaTeX{} command \DescRef{scrlayer.cmd.leftmark} uses + precisely this mark, so it returns the left part of the last mark of the + page. This corresponds exactly to \Macro{leftbotmark}% + \important{\Macro{leftbotmark}}. By comparison, \Macro{rightbotmark}% + \important{\Macro{rightbotmark}} prints the right part of this mark. + + \Macro{firstmark}\IndexCmd{firstmark}\important{\Macro{firstmark}} is the + first mark of the last page that has been built. This is the first mark that + has been set on the page. If no mark has been set on the page, it + corresponds to the last mark of the pages that have already been shipped + out. The \LaTeX{} command \DescRef{scrlayer.cmd.rightmark} uses precisely + this mark, so it returns the right part of the first mark of the page. This + corresponds exactly to \Macro{rightfirstmark}% + \important{\Macro{rightfirstmark}}. By comparison, \Macro{leftfirstmark}% + \important{\Macro{leftfirstmark}} prints the left part of this mark. + + \Macro{topmark}\IndexCmd{topmark}\important{\Macro{topmark}} is the content + that \Macro{botmark} had before building the current page. \LaTeX{} itself + does not use it. Nevertheless, \IfThisCommonLabelBase{scrlayer}{% + \Package{scrlayer}% + }{% + \hyperref[cha:scrlayer]{\Package{scrlayer}}% + } provides \Macro{lefttopmark}\important{\Macro{lefttopmark}} to access the + left part of this mark and \Macro{righttopmark}% + \important{\Macro{righttopmark}} to access the right part. + + Note\textnote{Attention!} that the left and right portions of the mark + can only be set together. Even if you use + \DescRef{scrlayer.cmd.markright}\IndexCmd{markright} to change only the + right part, the left part will set again (unchanged). Accordingly, in + two-sided printing, using the \PageStyle{headings}% + \important{\PageStyle{headings}}\IndexPagestyle{headings} page style, + the higher section levels always make both parts. For example, + \DescRef{scrlayer.cmd.chaptermark} uses \DescRef{scrlayer.cmd.markboth} with + an empty right argument in this case. This is the reason + \DescRef{scrlayer.cmd.rightmark} or \Macro{rightfirstmark} always shows an + empty value on pages which start a chapter, even if there was a + \DescRef{scrlayer.cmd.sectionmark} or \DescRef{maincls.cmd.section} on the + same page to make the right part of the mark. + Please note\textnote{Attention!} that using any of these commands to show + the left or right part of the mark as part of the page content may lead to + unexpected results. They are really meant for use in the header or footer + of a page style only. Therefore, they should always be part of the contents + of a layer when using \IfThisCommonLabelBase{scrlayer}{% + \Package{scrlayer}% + }{% + \hyperref[cha:scrlayer]{\Package{scrlayer}}% + }. But it does not matter whether the layer is restricted to the background + or the foreground, since all layers are shipped out after building the + current page. + + If you need more information about the mark mechanism + \iffree{of \TeX{}}{\unskip}, please have a look at + \cite[chapter~23]{knuth:texbook}. The topic is flagged there as an issue for + real experts. \IfThisCommonLabelBase{scrlayer}{% Umbruchkorrektur + So if the explanation above confused you, please don't worry about it.}{}% + \EndIndexGroup +\fi + + +\IfThisCommonLabelBase{scrlayer-scrpage-experts}{\iffalse}{% + \csname iftrue\endcsname}% + \begin{Declaration} + \IfThisCommonLabelBase{scrlayer-scrpage}{% + \Macro{leftmark} + \Macro{rightmark} + }{}% \Macro{headmark} \Macro{pagemark} \end{Declaration} - If you want to depart from the predefined page styles, you typically need to - decide where to place the marks' contents. With - \Macro{leftmark}\important{\Macro{leftmark}} you can define what will - appear in the left mark when the page is output. + \IfThisCommonLabelBase{scrlayer-scrpage}{% + If you want to depart from the predefined page styles, you typically need + to decide where to place the marks' contents. With + \Macro{leftmark}\important{\Macro{leftmark}} you can define what will + appear in the left mark when the page is output. + + Similarly, you can use \Macro{rightmark}\important{\Macro{rightmark}} to + define the contents of the right mark.\iffree{}{ For information about + some subtleties when using these commands, see further + \DescRef{maincls-experts.cmd.rightmark} in + \autoref{sec:maincls-experts.addInfos}, + \DescPageRef{maincls-experts.cmd.rightmark}.} - Similarly, you can use \Macro{rightmark}\important{\Macro{rightmark}} to - define the contents of the right mark.\iffree{}{ For information about some - subtleties when using these commands, see further - \DescRef{maincls-experts.cmd.rightmark} in - \autoref{sec:maincls-experts.addInfos}, - \DescPageRef{maincls-experts.cmd.rightmark}.} + }{}% You can make life easier with \Macro{headmark}\important{\Macro{headmark}}. This extension of \IfThisCommonLabelBase{scrlayer}{% @@ -624,10 +711,11 @@ in the running head. This can be accomplished easily with the following: \fi -\begin{lstcode}[belowskip=-\dp\strutbox] +\begin{lstcode} \renewcommand*{\sectionmarkformat}{} \end{lstcode} \end{Example} + \ExampleEndFix \fi% \EndIndexGroup @@ -672,9 +760,10 @@ \begin{Declaration} - \Macro{markleft}\Parameter{left mark}% - \Macro{markright}\Parameter{right mark}% + \Macro{markleft}\Parameter{left mark} + \Macro{markright}\Parameter{right mark} \Macro{markboth}\Parameter{left mark}\Parameter{right mark} + \Macro{markdouble}\Parameter{mark} \end{Declaration} Regardless of whether you are working with manual or automatic running heads, you can always change the contents of the \PName{left mark} or the @@ -775,7 +864,15 @@ \end{document} \end{lstcode} \end{Example} - \fi% + \fi% +% TODO: Fix new translation + The\ChangedAt{v3.28}{\Package{scrlayer}} command + \Macro{markdouble}\important{\Macro{markdouble}} does change the left mark + and the right mark to the same contents. So + \Macro{markdouble}\Parameter{mark} is a shorter form of + \Macro{markboth}\Parameter{mark}\Parameter{mark} with two identical + arguments.% +% :ODOT \EndIndexGroup \fi @@ -875,7 +972,7 @@ \important{\DescRef{scrlayer.cmd.sectionmarkformat}}, because these are not by default defined using \Macro{GenericMarkFormat}: \begin{lstcode} - \documentclass{scrbook} + \documentclass[headheight=19.6pt]{scrbook} \usepackage{blindtext} \usepackage[automark]{scrlayer-scrpage} \pagestyle{scrheadings} @@ -890,95 +987,17 @@ \blinddocument \end{document} \end{lstcode} + % TODO: New translation + Here, option \DescRef{typearea.option.headheight} is used to eliminate + the warning, that also has been reported in the previous example.% + % :ODOT \end{Example} \fi% \EndIndexGroup +\fi - \begin{Declaration} - \Macro{righttopmark}% - \Macro{rightbotmark}% - \Macro{rightfirstmark}% - \Macro{lefttopmark}% - \Macro{leftbotmark}% - \Macro{leftfirstmark} - \end{Declaration} - \LaTeX\ChangedAt{v3.16}{\Package{scrlayer}} typically uses a two-part - \TeX{} mark for page styles. Running heads can access the left part of that - mark with \DescRef{scrlayer.cmd.leftmark}% - \important{\DescRef{scrlayer.cmd.leftmark}}\IndexCmd{leftmark} and the right - part with \DescRef{scrlayer.cmd.rightmark}% - \important{\DescRef{scrlayer.cmd.rightmark}}\IndexCmd{rightmark}. In fact, - it was probably intended to use \DescRef{scrlayer.cmd.leftmark} for the - running head of left (even) pages and \DescRef{scrlayer.cmd.rightmark} for - the running head of right (odd) pages of two-sided documents. In - one-sided printing, however, the standard classes do not even set the left - part of the mark. - - \TeX{} itself knows three ways to access a mark. The \Macro{botmark}% - \IndexCmd{botmark}\important{\Macro{botmark}} is the last valid mark of the - most recent page that has been built. If no mark has been set on the page, - it corresponds to the last mark set on the pages that have already been - shipped out. The \LaTeX{} command \DescRef{scrlayer.cmd.leftmark} uses - precisely this mark, so it returns the left part of the last mark of the - page. This corresponds exactly to \Macro{leftbotmark}% - \important{\Macro{leftbotmark}}. By comparison, \Macro{rightbotmark}% - \important{\Macro{rightbotmark}} prints the right part of this mark. - - \Macro{firstmark}\IndexCmd{firstmark}\important{\Macro{firstmark}} is the - first mark of the last page that has been built. This is the first mark that - has been set on the page. If no mark has been set on the page, it - corresponds to the last mark of the pages that have already been shipped - out. The \LaTeX{} command \DescRef{scrlayer.cmd.rightmark} uses precisely - this mark, so it returns the right part of the first mark of the page. This - corresponds exactly to \Macro{rightfirstmark}% - \important{\Macro{rightfirstmark}}. By comparison, \Macro{leftfirstmark}% - \important{\Macro{leftfirstmark}} prints the left part of this mark. - - \Macro{topmark}\IndexCmd{topmark}\important{\Macro{topmark}} is the content - that \Macro{botmark} had before building the current page. \LaTeX{} itself - does not use it. Nevertheless, \IfThisCommonLabelBase{scrlayer}{% - \Package{scrlayer}% - }{% - \hyperref[cha:scrlayer]{\Package{scrlayer}}% - } provides \Macro{lefttopmark}\important{\Macro{lefttopmark}} to access the - left part of this mark and \Macro{righttopmark}% - \important{\Macro{righttopmark}} to access the right part. - - Note\textnote{Attention!} that the left and right portions of the mark - can only be set together. Even if you use - \DescRef{scrlayer.cmd.markright}\IndexCmd{markright} to change only the - right part, the left part will set again (unchanged). Accordingly, in - two-sided printing, using the \PageStyle{headings}% - \important{\PageStyle{headings}}\IndexPagestyle{headings} page style, - the higher section levels always make both parts. For example, - \DescRef{scrlayer.cmd.chaptermark} uses \DescRef{scrlayer.cmd.markboth} with - an empty right argument in this case. This is the reason - \DescRef{scrlayer.cmd.rightmark} or \Macro{rightfirstmark} always shows an - empty value on pages which start a chapter, even if there was a - \DescRef{scrlayer.cmd.sectionmark} or \DescRef{maincls.cmd.section} on the - same page to make the right part of the mark. - - Please note\textnote{Attention!} that using any of these commands to show - the left or right part of the mark as part of the page content may lead to - unexpected results. They are really meant for use in the header or footer - of a page style only. Therefore, they should always be part of the contents - of a layer when using \IfThisCommonLabelBase{scrlayer}{% - \Package{scrlayer}% - }{% - \hyperref[cha:scrlayer]{\Package{scrlayer}}% - }. But it does not matter whether the layer is restricted to the background - or the foreground, since all layers are shipped out after building the - current page. - - If you need more information about the mark mechanism - \iffree{of \TeX{}}{\unskip}, please have a look at - \cite[chapter~23]{knuth:texbook}. The topic is flagged there as an issue for - real experts. \IfThisCommonLabelBase{scrlayer}{% Umbruchkorrektur - So if the explanation above confused you, please don't worry about it.}{}% - \EndIndexGroup - - +\IfThisCommonLabelBase{scrlayer-scrpage}{\iffalse}{\csname iftrue\endcsname} \begin{Declaration} \Macro{@mkleft}\Parameter{left mark}% \Macro{@mkright}\Parameter{right mark}% @@ -1019,7 +1038,7 @@ heads are activated.% \EndIndexGroup% \fi% -% + \IfThisCommonLabelBase{scrlayer}{% \par For more information about manipulating the contents of page styles, see @@ -1035,3 +1054,5 @@ %%% TeX-master: "../guide.tex" %%% TeX-PDF-mode: t %%% End: + +% LocalWords: scrlayer diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-parmarkup.tex b/macros/latex/contrib/koma-script/source-doc/english/common-parmarkup.tex index 4f6ca3c703..c3c39e8446 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/common-parmarkup.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/common-parmarkup.tex @@ -46,12 +46,12 @@ % ====================================================================== \KOMAProvidesFile{common-parmarkup.tex} - [$Date: 2019-10-10 10:04:30 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-11-11 08:22:00 +0100 (Mon, 11 Nov 2019) $ KOMA-Script guide (common paragraph: Paragraph Markup)] \translator{Gernot Hassenpflug\and Markus Kohm\and Krickette Murabayashi\and Karl Hagen} -% Date of the translated German file: 2019-10-10 +% Date of the translated German file: 2019-11-11 \section{Marking Paragraphs} \seclabel{parmarkup}% @@ -173,9 +173,6 @@ paragraph spacing. A summary of all possible values for \PName{method} are shown in \autoref{tab:\ThisCommonFirstLabelBase.parskip}% \IfThisCommonFirstRun{.% \begin{desclist} - % Umbruchkorrektur - \vskip-\ht\strutbox - \renewcommand{\abovecaptionskipcorrection}{-\normalbaselineskip}% % \begin{table} \desccaption % \caption diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-textmarkup.tex b/macros/latex/contrib/koma-script/source-doc/english/common-textmarkup.tex index 61e26626b1..6662cd551e 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/common-textmarkup.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/common-textmarkup.tex @@ -46,12 +46,12 @@ % ====================================================================== \KOMAProvidesFile{common-textmarkup.tex} - [$Date: 2019-10-10 09:50:23 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-12-02 09:50:10 +0100 (Mon, 02 Dec 2019) $ KOMA-Script guide (common paragraphs)] \translator{Gernot Hassenpflug\and Markus Kohm\and Krickette Murabayashi\and Karl Hagen} -% Date of the translated German file: 2019-10-09 +% Date of the translated German file: 2019-12-02 \section{Text Markup} \seclabel{textmarkup}% @@ -81,18 +81,22 @@ } % Umbruchkorrektur -\IfThisCommonLabelBase{scrlayer-scrpage}{}{% +\IfThisCommonLabelBaseOneOf{scrlayer-scrpage,scrextend}{}{% {\LaTeX} offers different possibilities for logical and direct markup\Index{logical markup}\Index{markup} of text. % \IfThisCommonLabelBaseOneOf{scrlttr2}{}{% In addition to the choice of the font, this includes commands for choosing the font size and orientation. % } For more information about the standard font facilities, see - \cite{lshort}, \cite{latex:usrguide}, and \cite{latex:fntguide}.} + \cite{lshort}, \cite{latex:usrguide}, and \cite{latex:fntguide}.% +} -\IfThisCommonLabelBaseOneOf{scrlayer-scrpage,scrjura,scrlayer-notecolumn}{% - \iffalse}{% - \csname iftrue\endcsname}% +% Both commands are in LaTeX for a long time, so I do not describe them any +% longer despite \textsubscript is still defined by KOMA-Script if needed. +%\IfThisCommonLabelBaseOneOf{scrlayer-scrpage,scrjura,scrlayer-notecolumn}{% + \iffalse +%}{% +% \csname iftrue\endcsname}% \begin{Declaration} \Macro{textsuperscript}\Parameter{text}% \Macro{textsubscript}\Parameter{text} @@ -299,9 +303,9 @@ refer to the sections for the respective element.% \ChangedAt{v3.15}{\Class{scrbook}\and \Class{scrreprt}}% optional points connecting table-of-content entries for the \DescRef{\ThisCommonLabelBase.cmd.chapter} level, differing from the - \DescRef{\ThisCommonLabelBase.fontelement.chapterentrypagenumber} - element (see \autoref{sec:maincls.toc}, - \DescPageRef{maincls.cmd.tableofcontents})}% + \DescRef{\ThisCommonLabelBase.fontelement.chapterentry} element, + \Macro{normalfont} and \Macro{normalsize} (see + \autoref{sec:maincls.toc}, \DescPageRef{maincls.cmd.tableofcontents})}% \feentry{chapterentrypagenumber}{% page number of the table of contents entry for the sectioning command \DescRef{\ThisCommonLabelBase.cmd.chapter}, differing from the element @@ -412,12 +416,20 @@ refer to the sections for the respective element.% \DescRef{\ThisCommonLabelBase.cmd.section} (only available in \Class{scrartcl}, see \autoref{sec:maincls.toc}, \DescPageRef{maincls.cmd.tableofcontents})}% + \feentry{sectionentrydots}{% + \ChangedAt{v3.15}{\Class{scrartcl}}% + optional points connecting table-of-content entries for the + \DescRef{\ThisCommonLabelBase.cmd.section} level, differing from the + \DescRef{\ThisCommonLabelBase.fontelement.sectionentry} element, + \Macro{normalfont} and \Macro{normalsize} (only available in + \Class{scrartcl}, see + \autoref{sec:maincls.toc}, \DescPageRef{maincls.cmd.tableofcontents})}% \feentry{sectionentrypagenumber}{% page number of the table of contents entry for the sectioning command \DescRef{\ThisCommonLabelBase.cmd.section}; applied in addition to element \DescRef{\ThisCommonLabelBase.fontelement.sectionentry} (only - available in \Class{scrartcl, see \autoref{sec:maincls.toc}, - \DescPageRef{maincls.cmd.tableofcontents}})}% + available in \Class{scrartcl}, see \autoref{sec:maincls.toc}, + \DescPageRef{maincls.cmd.tableofcontents})}% \feentry{sectioning}{alternative name for \DescRef{\ThisCommonLabelBase.fontelement.disposition}}% \feentry{subject}{% @@ -541,24 +553,23 @@ refer to the sections for the respective element.% (see \autoref{sec:scrlttr2.lists}, \DescPageRef{scrlttr2.env.labeling})}% \feentry{pagefoot}{% - used after the + depending on the page style used after the \DescRef{\ThisCommonLabelBase.fontelement.pageheadfoot} element for - the footer defined with the - \DescRef{scrlttr2.variable.nextfoot}\IndexVariable{nextfoot} - variable, or for the footer of the \Package{scrlayer-scrpage} - package (\autoref{cha:scrlayer-scrpage}, - \DescPageRef{scrlayer-scrpage.fontelement.pagefoot})}% + the footer (\autoref{sec:\LabelBase.pagestyle}, + \DescPageRef{\LabelBase.fontelement.pagefoot})}% \feentry{pagehead}{% - alternative name for - \DescRef{\ThisCommonLabelBase.fontelement.pageheadfoot}}% + depending on the page style used after the + \DescRef{\ThisCommonLabelBase.fontelement.pageheadfoot} element for + the header (\autoref{sec:\LabelBase.pagestyle}, + \DescPageRef{\LabelBase.fontelement.pagefoot})}% \feentry{pageheadfoot}{% the header and footer of a page for all page styles that have been defined using \KOMAScript{} - (\autoref{sec:maincls.pagestyle}, + (\autoref{sec:\LabelBase.pagestyle}, \DescPageRef{\ThisCommonLabelBase.fontelement.pageheadfoot})}% \feentry{pagenumber}{% page number in the header or footer % - (\autoref{sec:maincls.pagestyle}, + (\autoref{sec:\LabelBase.pagestyle}, \DescPageRef{\ThisCommonLabelBase.fontelement.pagenumber})}% \feentry{pagination}{% alternative name for diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-titles.tex b/macros/latex/contrib/koma-script/source-doc/english/common-titles.tex index 3baf017cb6..95b1914268 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/common-titles.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/common-titles.tex @@ -46,13 +46,13 @@ % ====================================================================== \KOMAProvidesFile{common-titles.tex} - [$Date: 2019-10-10 10:04:30 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-12-03 09:41:21 +0100 (Tue, 03 Dec 2019) $ KOMA-Script guide (common paragraphs)] \translator{Gernot Hassenpflug\and Markus Kohm\and Krickette Murabayashi\and Karl Hagen} -% Date of the translated German file: 2019-10-10 +% Date of the translated German file: 2019-12-03 \section{Document Titles} \seclabel{titlepage}% @@ -89,16 +89,17 @@ try them with \Package{scrextend}. \fi -In general, we distinguish two kinds of document titles. First, there are -title pages. These include title of the document, together with additional -information such as the author, on a separate page. In addition to the main -title page, there may be several other title pages, such as the half-title or -bastard title, publisher data, dedication, and so on. Second, there is the -in-page title. This kind of title appears at the top of a new page, usually -the first, and is specially emphasized. It too may be accompanied by -additional information, but it will be followed by more material on the same -page, for example by an abstract, the table of contents, or even a section. - +\IfThisCommonLabelBase{scrextend}{}{% + In general, we distinguish two kinds of document titles. First, there are + title pages. These include title of the document, together with additional + information such as the author, on a separate page. In addition to the main + title page, there may be several other title pages, such as the half-title + or bastard title, publisher data, dedication, and so on. Second, there is + the in-page title. This kind of title appears at the top of a new page, + usually the first, and is specially emphasized. It too may be accompanied by + additional information, but it will be followed by more material on the same + page, for example by an abstract, the table of contents, or even a section.% +}% \begin{Declaration} \OptionVName{titlepage}{simple switch}% diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-typearea.tex b/macros/latex/contrib/koma-script/source-doc/english/common-typearea.tex index 587513ee0d..1a3e62c495 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/common-typearea.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/common-typearea.tex @@ -46,11 +46,11 @@ % ====================================================================== \KOMAProvidesFile{common-typearea.tex} - [$Date: 2019-10-10 10:04:30 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-10-28 10:05:40 +0100 (Mon, 28 Oct 2019) $ KOMA-Script guide (common paragraphs: typearea)] \translator{Markus Kohm\and Krickette Murabayashi\and Karl Hagen} -% Date of the translated German file: 2019-10-10 +% Date of the translated German file: 2019-10-228 \section{Page Layout} \seclabel{typearea} @@ -63,11 +63,12 @@ the distances between these elements. \KOMAScript{} additionally distinguishes the entire page, also known as the paper, and the visible page. Without doubt, the separation of the page into these different parts is one of the basic features of a class\IfThisCommonLabelBase{scrlttr2}{\OnlyAt{scrlttr2}}{}. -\KOMAScript{} delegates this work to the package \Package{typearea}. This +\KOMAScript{} delegates this work to the package +\hyperref[cha:typearea]{\Package{typearea}}\IndexPackage{typearea}. This package can also be used with other classes. The \KOMAScript{} classes, however, load \Package{typearea} on their own. Therefore, it's neither necessary nor sensible to load the package explicitly with \Macro{usepackage} -while using a \KOMAScript{} class. See also +while using a \KOMAScript{} class. See also \autoref{sec:\ThisCommonLabelBase.options}, \autopageref{sec:\ThisCommonLabelBase.options}. @@ -76,8 +77,10 @@ Those effects are documented at the corresponding settings. For more information about the choice of paper format, the division of the page into margins and type area, and the choice between one- and two-column -typesetting, see the documentation for the \Package{typearea} package. You can -find it in \autoref{cha:typearea}, starting on \autopageref{cha:typearea}. +typesetting, see the documentation for the +\hyperref[cha:typearea]{\Package{typearea}}\IndexPackage{typearea} +package. You can find it in \autoref{cha:typearea}, starting on +\autopageref{cha:typearea}. %%% Local Variables: %%% mode: latex diff --git a/macros/latex/contrib/koma-script/source-doc/english/guide-english.tex b/macros/latex/contrib/koma-script/source-doc/english/guide-english.tex index 6e16884217..a0e14c2099 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/guide-english.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/guide-english.tex @@ -7,7 +7,7 @@ % 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 +% https://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. % @@ -23,7 +23,7 @@ % 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 +% https://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. % @@ -46,7 +46,7 @@ % ====================================================================== % \KOMAProvidesFile{guide-english.tex} - [$Date: 2019-02-20 12:41:53 +0100 (Wed, 20 Feb 2019) $ + [$Date: 2019-12-01 13:41:51 +0100 (Sun, 01 Dec 2019) $ KOMA-Script guide language dependencies] % % \section{Extra Packages} @@ -429,7 +429,7 @@ a {\LaTeX} package then the URL is written in the form ``\url{CTAN://}\emph{destination}''. The prefix ``\url{CTAN://}'' means the \TeX{} archive on a CTAN server or mirror. For example, you can replace the - prefix with \url{http://mirror.ctan.org/}. For {\LaTeX} packages, it is also + prefix with \url{https://mirror.ctan.org/}. For {\LaTeX} packages, it is also important to mention that we have tried to give a version number appropriate to the text that cites the reference. But for some packages is is very difficult to find a consistent version number and release date. diff --git a/macros/latex/contrib/koma-script/source-doc/english/introduction.tex b/macros/latex/contrib/koma-script/source-doc/english/introduction.tex index 610cef80df..2b62215a77 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/introduction.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/introduction.tex @@ -46,12 +46,12 @@ % ====================================================================== \KOMAProvidesFile{introduction.tex} - [$Date: 2019-10-10 10:04:30 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-10-21 10:41:13 +0200 (Mon, 21 Oct 2019) $ KOMA-Script guide introduction] \translator{Kevin Pfeiffer\and Gernot Hassenpflug\and Krickette Murabayashi\and Markus Kohm\and Karl Hagen} -% Date of the translated German file: 2019-10-10 +% Date of the translated German file: 2019-10-21 \chapter{Introduction} \labelbase{introduction} diff --git a/macros/latex/contrib/koma-script/source-doc/english/preface.tex b/macros/latex/contrib/koma-script/source-doc/english/preface.tex index 3c83ac1ff1..42bd174a63 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/preface.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/preface.tex @@ -36,82 +36,83 @@ % ====================================================================== \KOMAProvidesFile{preface.tex} - [$Date: 2019-10-10 10:04:30 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-12-19 10:20:31 +0100 (Thu, 19 Dec 2019) $ Preface to version 3.25] -\translator{Markus Kohm\and Karl Hagen} +\translator{Markus Kohm\and Karl Hagen\and DeepL} -% Date of the translated German file: 2019-10-10 +% Date of the translated German file: 2019-12-19 -\addchap{Preface to \KOMAScript~3.25} +\addchap{Preface to \KOMAScript~3.28} -The \KOMAScript~3.25 manual,\---\,especially the German version\,---\,once +The \KOMAScript~3.28 manual,\,---\,not only the German version\,---\,once again benefits from the fact that a new edition of the print version \cite{book:komascript} and the eBook version \cite{ebook:komascript} will be published at almost the same time as this version. This has led to many improvements which also affect the free manual, in both the German and the English version. -One of these improvements is the linking to the explanations of commands, -environments, options, etc., within the manual. To avoid the temptation to -jump to the beginning of the explanation within the explanation itself, and -so to avoid reading recursively, as it were, these links only take effect -if they actually lead away from the current location. +In \KOMAScript~3.28 there are also some significant changes. In some cases, +compatibility with earlier versions has been waived. Thus a recommendation +from the ranks of \emph{The LaTeX Project Team} regarding \Macro{if\dots} +statements is complied with. If you use such statements, you should refer to +the manual again. -Another important improvement to the English guide has been accomplished by -Karl Hagen, who has newly translated the entire manual. Many, many thanks to -him! Additional editors or translators, however, would still be welcome! - -\iffree{Readers of this free, screen version, however, still have to live with - some restrictions. So some information\,---\,mainly intended for advanced - users or capable of turning an ordinary user into an advanced one\,---\,is - reserved for the printed book, which currently exists only in German. As a - result, some links in this manual lead to a page that simply mentions this - fact. In addition, the free version is scarcely suitable for making a - hard-copy. The focus, instead, is on using it on screen, in parallel with - the document you are working on. It still has no optimized wrapping but is - almost a first draft, in which both the paragraph and page breaks are in - some cases quite poor. Corresponding optimizations are reserved for the - German book editions.}{} +It is not just about the manual that I now receive little criticism. I +conclude from this fact that \KOMAScript{} has reached the level that it +fulfils all desires. At the same time, the project has\,---\,not only starting +with the current release\,---\,reached a scale that makes it almost impossible +for a single person to accomplish +\begin{itemize} +\item the search for and elimination of errors, +\item the development and implementation of new functions, +\item the observation of changes in other packages and the \LaTeX{} kernel + with regard to effects on \KOMAScript, +\item the rapid response to such changes, +\item the maintenance of the guides in two languages, +\item help for beginners far beyond the functions of \KOMAScript{} down to the + basic operation of a computer, +\item assistance in the implementation of tricky solutions for advanced users + and experts, +\item moderation and participation in the maintenance of a forum for all kind + of help around \KOMAScript. +\end{itemize} +While I am personally have most fun with the development of new functions, I +consider troubleshooting in existing features, compatibility with new \LaTeX{} +kernel versions, and above all instructing users for the most important +tasks. Therefore I will focus in the future on and new functions will be +available only in exceptional cases. Therefore already in \KOMAScript~3.28 +some experimental functions and packages have been removed. In future releases +this should be continued. -It is not just about the manual that I now receive little criticism. For the -classes and packages as well, there are hardly any requests for new features. -For me, this means that my knowledge about user desires stagnates. So for a -few years, I mostly implemented things that I thought could be useful. -However, the feedback that I have received about these new possibilities was -largely limited to complaints that old \emph{hacks} based on undocumented -\KOMAScript{} features sometimes no longer work. Little was said about the -happiness that such dirty workarounds were no longer necessary. Therefore, I -have decided to limit extensions and improvements to \KOMAScript{} more and -more to those things that are explicitly requested by users. Could it be that -\KOMAScript{}, after only 25 years, has reached the level that it fulfils all -desires? +This, of course, also reduces the effort for the documentation of new +functions. Readers of this free, screen version, however, still have to live +with some restrictions. So some information\,---\,mainly intended for advanced +users or capable of turning an ordinary user into an advanced one\,---\,is +reserved for the printed book, which currently exists only in German. As a +result, some links in this manual lead to a page that simply mentions this +fact. In addition, the free version is scarcely suitable for making a +hard-copy. The focus, instead, is on using it on screen, in parallel with the +document you are working on. It still has no optimized wrapping but is almost +a first draft, in which both the paragraph and page breaks are in some cases +quite poor. Corresponding optimizations are reserved for the German book +editions. -Unfortunately, the declining number of error reports is not purely gratifying. -Over this period, I have often observed that those who discover a problem no -longer report it directly to me but work around it with the help of some -Internet forums. Often, there are more or less ingenious workarounds in these -forums. Although this is generally helpful, it unfortunately, as a rule, -causes the problem to remain unreported and therefore never really eliminated. -It goes without saying that such workarounds can sometimes become a problem -themselves, as mentioned in the previous paragraph. - -Thankfully, there are third parties who occasionally point out such issues. -This applies to individual contributions in a very few forums. Direct contact -with the person for whom the problem occurred is in this case usually not -possible, although it would sometimes be desirable. +Another important improvement to the English guide has been accomplished by +Karl Hagen, who has continued the translation of the entire manual. Many, many +thanks to him! Everything that is fine in this English manual is because of +him. Everything that is not good in this manual\,---\,like the translation of +this preface\,---\,is because of me. Additional editors or translators, +however, would still be welcome! -Therefore, let me please ask again explicitly that you report all suspected -bugs directly, either in German or in English. Linguistic perfection is less -important. The message should be reasonably understandable and the problem -comprehensible. A code example that is as short as possible is generally -independent of the language used. With direct contact, I can ask further -questions, if necessary. Please do not rely on anyone else to report the -problem at some point. Assume that it will only be fixed if you report it -yourself. More about error messages can be found in the first chapter of the -manual. +But the biggest thanks go to my family and above all to my wife. They absorb +all my unpleasant experiences on the Internet. They have also tolerated it for +more than 25~years, when I am again not approachable, because I am completely +lost in \KOMAScript{} or some \LaTeX{} problems. The fact that I can afford to +invest an incredible amount of time in such a project is entirely thanks to my +wife. \bigskip\noindent -Markus Kohm, Neckarhausen in the March rain, 2018. +Markus Kohm, Neckarhausen in the foggy December of 2019. \endinput diff --git a/macros/latex/contrib/koma-script/source-doc/english/scraddr.tex b/macros/latex/contrib/koma-script/source-doc/english/scraddr.tex index 50543b2b4b..dc522feb91 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scraddr.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scraddr.tex @@ -46,12 +46,12 @@ % ====================================================================== \KOMAProvidesFile{scraddr.tex} - [$Date: 2019-10-10 10:04:30 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-10-30 09:32:39 +0100 (Wed, 30 Oct 2019) $ KOMA-Script guide (chapter: scraddr)] \translator{Jens-Uwe Morawski\and Gernot Hassenpflug\and Markus Kohm\and Karl Hagen} -% Date of the translated German file: 2019-10-10 +% Date of the translated German file: 2019-10-30 \chapter{Accessing Address Files with \Package{scraddr}}% \labelbase{scraddr}% diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrbase.tex b/macros/latex/contrib/koma-script/source-doc/english/scrbase.tex index 2b7fadda1a..d90b1ef5e0 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scrbase.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scrbase.tex @@ -46,11 +46,11 @@ % ====================================================================== \KOMAProvidesFile{scrbase.tex} - [$Date: 2019-10-10 09:50:23 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-12-03 09:41:21 +0100 (Tue, 03 Dec 2019) $ KOMA-Script package scrbase] \translator{Markus Kohm\and Melvin Hendrix\and Karl Hagen} -% Date of the translated German file: 2019-10-09 +% Date of the translated German file: 2019-12-03 \chapter{Basic Functions in the \Package{scrbase} Package} \labelbase{scrbase} @@ -912,7 +912,7 @@ currently not evaluated by \Package{scrbase}. \ifx\FamilyKeyState\FamilyKeyStateProcessed \@thincutfalse \else - \ifstr{#1}{thin}{% + \Ifstr{#1}{thin}{% \@coltcutstrue \@finecuttrue \FamilyKeyStateProcessed @@ -944,36 +944,18 @@ currently not evaluated by \Package{scrbase}. status of \DescRef{\LabelBase.cmd.FamilySetBool}. The \Macro{ifstr} command used in the test is explained on - \DescPageRef{scrbase.cmd.ifstr} in \autoref{sec:scrbase.if}. + \DescPageRef{scrbase.cmd.Ifstr} in \autoref{sec:scrbase.if}. \end{Example} % \EndIndexGroup -\begin{Declaration} - \Macro{FamilyElseValues} -\end{Declaration} -In\ChangedAt{v3.12}{\Package{scrbase}} previous\textnote{Obsolete!} versions -of \Package{scrbase}, you could use the \Macro{FamilyElseValues} command to -define additional values for processing by -\DescRef{\LabelBase.cmd.FamilyUnknownKeyValue} in the form -%\begin{flushleft}\vskip\dp\strutbox\begin{tabular}{l} - \texttt{,} `\PName{value}'\texttt{,} `\PName{value}' \dots, - %\end{tabular}\vskip\dp\strutbox\end{flushleft} -which were then output in an error message. Since version~3.12, -\DescRef{\LabelBase.cmd.FamilyUnknownKeyValue} no longer issues error messages -itself but signals them using \DescRef{\LabelBase.cmd.FamilyKeyState}. -Therefore, \Macro{FamilyElseValues} is now deprecated. Nevertheless, -\Package{scrbase} detects its use and issues a message requesting that you -update the code accordingly.% -\EndIndexGroup - - \section{Conditional Execution} \seclabel{if} The \Package{scrbase} package provides several commands for conditional -execution. It does not rely on the \TeX{} syntax of conditionals such as +execution. Mostly it does not rely on the \TeX{} syntax of conditionals such +as \begin{lstcode} \iftrue ... @@ -983,84 +965,43 @@ execution. It does not rely on the \TeX{} syntax of conditionals such as \end{lstcode} but uses the \LaTeX{} syntax with arguments similar to those used by \LaTeX{} commands like \Macro{IfFileExists}, \Macro{@ifundefined}, -\Macro{@ifpackageloaded}, and many others. Some package authors, however, -prefer to use the syntax of \TeX{} conditionals even for users working at the -\LaTeX{} interface level. Since the \Package{scrbase} conditionals are fairly -low-level instructions, it is possible that such packages could provide -commands with the same names but a different syntax, leading to problems even -if the underlying semantics were actually the same. Therefore, -\Package{scrbase} plays it safe. - -\begin{Declaration} - \OptionVName{internalonly}{value} -\end{Declaration} -The \Package{scrbase} package provides some commands for conditional -execution. It primarily uses names like -\Macro{scr@\PName{name}}\textnote{package authors}, which are internal -commands. \KOMAScript{} also uses these commands internally. Authors of -packages and classes can also use these commands but should not redefine them. -Because some of these commands may also be useful for users, they are provided -as \Macro{\PName{name}}\textnote{users} normally. Since other packages may -provide conflicting commands with the same name but different syntax or -functionality, \Package{scrbase} can suppress the definition of -\Macro{\PName{name}}. Using the \Option{internalonly} option without a -\PName{value} will define only the internal commands and suppress definition -of all the user commands for conditional execution. Alternatively, the user -can list all the commands that should not be defined as the \PName{value}, -replacing ``\Macro{}'' with ``\texttt{/}''. - -Authors of packages and classes normally should not use this option. Users can -specify it with or without the \PName{value} either as a global option with -\DescRef{maincls.cmd.documentclass} or using -\Macro{PassOptionsToPackage}\IndexCmd{PassOptionsToPackage}. -\begin{Example} - The user does not want \Package{scrbase} to define the - \DescRef{\LabelBase.cmd.ifVTeX} and - \DescRef{\LabelBase.cmd.ifundefinedorrelax} commands. So to load the class, - the user writes: -\begin{lstcode} - \documentclass% - [internalonly=/ifVTeX/ifundefinedorrelax]% - {foo} -\end{lstcode} - The class name \Class{foo} is used here as a placeholder for any class. The - commands \DescRef{\LabelBase.cmd.ifVTeX} and - \DescRef{\LabelBase.cmd.ifundefinedorrelax} are explained later in this - section. -\end{Example} - -Authors of packages and classes should use the same internal names as -\KOMAScript{} itself. For completeness, the user commands are also given in -the following explanations.% -\EndIndexGroup - +\Macro{@ifpackageloaded}, and many others. + +% TODO: Fix translation (note: this text does not really correspond to the +% German manual but there is a similar note at the (not free) German book +From \KOMAScript~3.28, following a recommendation from \LaTeX{} team members, +\Package{scrbase} does not longer use \Macro{if\dots} but \Macro{If\dots} for +commands that expect an argument instead of using the \TeX{} +syntax. Some commands from prior versions of \KOMAScript{} have been +removed. You may use package \Package{iftex} (see \cite{package:iftex}) to +replace the functionality. Others have been renamed. +% :ODOT \begin{Declaration} - \Macro{scr@ifundefinedorrelax}% - \Parameter{name}\Parameter{then code}\Parameter{else code}% - \Macro{ifundefinedorrelax}% + \Macro{Ifundefinedorrelax}% \Parameter{name}\Parameter{then code}\Parameter{else code} \end{Declaration} -This command works like \Macro{@ifundefined} from the \LaTeX{} kernel (see -\cite{latex:source2e}). So the \PName{then code} will be executed if -\PName{name} is the name of a command that is currently either not defined or -\Macro{relax}. Otherwise, the \PName{else code} will be executed. Unlike -\Macro{@ifundefined}, no hash memory is allocated nor is \Macro{\PName{Name}} -set to \Macro{relax} if \Macro{\PName{name}} was previously undefined.% +This\ChangedAt{v3.28}{\Package{scrbase}} command works like +\Macro{@ifundefined} from the \LaTeX{} kernel (see \cite{latex:source2e}). So +the \PName{then code} will be executed if \PName{name} is the name of a +command that is currently either not defined or \Macro{relax}. Otherwise, the +\PName{else code} will be executed. Unlike \Macro{@ifundefined}, no hash +memory is allocated nor is \Macro{\PName{Name}} set to \Macro{relax} if +\Macro{\PName{name}} was previously undefined.% \EndIndexGroup \begin{Declaration} - \Macro{ifnotundefined}\Parameter{name}% + \Macro{Ifnotundefined}\Parameter{name}% \Parameter{then code}\Parameter{else code} \end{Declaration} -If the command with the given name has already been defined, the \PName{then -code} will be executed. Otherwise, the \PName{else code} will be executed. -Since \eTeX{} already has a primitive \Macro{ifdefined}, this somewhat -unwieldy name, unfortunately, had to be chosen. There is no corresponding -internal command.% +If\ChangedAt{v3.28}{\Package{scrbase}} the command with the given name has +already been defined, the \PName{then code} will be executed. Otherwise, the +\PName{else code} will be executed. Since \eTeX{} already has a primitive +\Macro{ifdefined}, this somewhat unwieldy name, unfortunately, had to be +chosen. There is no corresponding internal command.% \EndIndexGroup - +\iffalse % internal \begin{Declaration} \Macro{scr@ifluatex} \Parameter{then code}\Parameter{else code} @@ -1075,7 +1016,7 @@ There\textnote{Attention!} is no user equivalent for this instruction. Use the \Package{ifluatex}\important{\Package{ifluatex}} package instead (see \cite{package:ifluatex}).% \EndIndexGroup - +\fi \iffalse% It makes no sense to document this instruction yet \begin{Declaration} @@ -1092,55 +1033,51 @@ is no user equivalent of this statement.% \EndIndexGroup \fi +\iffalse % internal \begin{Declaration} \Macro{scr@ifpdftex}% \Parameter{then code}\Parameter{else code}% - \Macro{ifpdftex}% - \Parameter{then code}\Parameter{else code} \end{Declaration} If you use pdf\TeX{}, the \PName{then code} will be executed. Otherwise, the \PName{else code} will be executed. It does not matter whether a PDF-file is actually generated or not. This test is rarely useful. As a rule, you should test directly for the command you want instead.% \EndIndexGroup +\fi - +\iffalse % internal \begin{Declaration} \Macro{scr@ifVTeX}% \Parameter{then code}\Parameter{else code}% - \Macro{ifVTeX}% - \Parameter{then code}\Parameter{else code} \end{Declaration} If you use V\TeX{}, the \PName{then code} will be executed. Otherwise, the \PName{else code} will be executed. This test is seldom useful. As a rule, you should test directly for the command you want instead.% % \EndIndexGroup - +\fi \begin{Declaration} - \Macro{scr@ifpdfoutput}% - \Parameter{then code}\Parameter{else code}% - \Macro{ifpdfoutput}% + \Macro{Ifpdfoutput}% \Parameter{then code}\Parameter{else code} \end{Declaration} -If a PDF file is generated, the \PName{then code} will be executed. Otherwise, -the \PName{else code} will be executed. It does not matter whether PDF file is -created using lua\TeX{}, pdf\TeX{}, or V\TeX{}, or \XeTeX{}.% +If\ChangedAt{v3.28}{\Package{scrbase}} a PDF file is generated, the +\PName{then code} will be executed. Otherwise, the \PName{else code} will be +executed. It does not matter whether PDF file is created using lua\TeX{}, +pdf\TeX{}, or V\TeX{}, or \XeTeX{}.% \EndIndexGroup \begin{Declaration} - \Macro{scr@ifpsoutput}% - \Parameter{then code}\Parameter{else code}% - \Macro{ifpsoutput}% + \Macro{Ifpsoutput}% \Parameter{then code}\Parameter{else code} \end{Declaration} -If a PostScript file is generated, the \PName{then code} will be executed. -Otherwise, the \PName{else code} will be executed. V\TeX{} can generate -PostScript directly, which is recognized here. However, if V\TeX{} is not used -but the switch \Macro{if@dvips} has been defined, the decision depends on that -switch. \KOMAScript{} provides \Macro{if@dvips} in +If\ChangedAt{v3.28}{\Package{scrbase}} a PostScript file is generated, the +\PName{then code} will be executed. Otherwise, the \PName{else code} will be +executed. V\TeX{} can generate PostScript directly, which is recognized +here. However, if V\TeX{} is not used but the switch \Macro{if@dvips} has been +defined, the decision depends on that switch. \KOMAScript{} provides +\Macro{if@dvips} in \hyperref[cha:typearea]{\Package{typearea}}\IndexPackage{typearea}% \IndexCmd{if@dvips}. % @@ -1148,15 +1085,13 @@ switch. \KOMAScript{} provides \Macro{if@dvips} in \begin{Declaration} - \Macro{scr@ifdvioutput}% - \Parameter{then code}\Parameter{else code}% - \Macro{ifdvioutput}% + \Macro{Ifdvioutput}% \Parameter{then code}\Parameter{else code} \end{Declaration} -If a DVI-file is generated, the \PName{then code} will be executed. Otherwise, -the \PName{else code} will be executed. A DVI file is always assumed to be -generated if no direct output of a PDF file or a PostScript file can be -detected.% +If\ChangedAt{v3.28}{\Package{scrbase}} a DVI-file is generated, the +\PName{then code} will be executed. Otherwise, the \PName{else code} will be +executed. A DVI file is always assumed to be generated if no direct output of +a PDF file or a PostScript file can be detected.% \EndIndexGroup @@ -1176,167 +1111,175 @@ condition using \TeX{} syntax and not \LaTeX{} syntax! \begin{Declaration} - \Macro{ifstr}\Parameter{string 1}\Parameter{string 2}% + \Macro{Ifstr}\Parameter{string 1}\Parameter{string 2}% \Parameter{then code}\Parameter{else code} \end{Declaration} -Both \PName{string} arguments are expanded and then compared. If the -expansions are the same, the \PName{then code} will be executed. Otherwise the -\PName{else code} will be executed. There is no corresponding internal -command. +Both\ChangedAt{v3.28}{\Package{scrbase}} \PName{string} arguments are expanded +and then compared. If the expansions are the same, the \PName{then code} will +be executed. Otherwise the \PName{else code} will be executed. There is no +corresponding internal command. % \EndIndexGroup \begin{Declaration} - \Macro{ifstrstart}\Parameter{string 1}\Parameter{string 2}% + \Macro{Ifstrstart}\Parameter{string 1}\Parameter{string 2}% \Parameter{then code}\Parameter{else code} \end{Declaration} -Both\ChangedAt{v3.12}{\Package{scrbase}} \PName{string} arguments are expanded -and then compared. If \PName{string 1}, apart from white space, begins with -\PName{string 2}, the \PName{then code} will be executed. Otherwise, the -\PName{else code} will be executed. There is no corresponding internal -command.% +Both\ChangedAt{v3.12}{\Package{scrbase}}\ChangedAt{v3.28}{\Package{scrbase}} +\PName{string} arguments are expanded and then compared. If \PName{string 1}, +apart from white space, begins with \PName{string 2}, the \PName{then code} +will be executed. Otherwise, the \PName{else code} will be executed. There is +no corresponding internal command.% \EndIndexGroup \begin{Declaration} - \Macro{ifisdimen}\Parameter{expression}% + \Macro{Ifisdimen}\Parameter{expression}% \Parameter{then code}\Parameter{else code} \end{Declaration} -If\ChangedAt{v3.12}{\Package{scrbase}} \PName{expression} expands to a -\Macro{dimen}, i.\,e. a \TeX{} length register, the \PName{then code} will be -executed. Otherwise the \PName{else code} will be executed. The command is not -completely expandable, and there is no corresponding internal command.% +If\ChangedAt{v3.12}{\Package{scrbase}}\ChangedAt{v3.28}{\Package{scrbase}} +\PName{expression} expands to a \Macro{dimen}, i.\,e. a \TeX{} length +register, the \PName{then code} will be executed. Otherwise the \PName{else + code} will be executed. The command is not completely expandable, and there +is no corresponding internal command.% \EndIndexGroup \begin{Declaration} - \Macro{ifisdimension}\Parameter{expression}% + \Macro{Ifisdimension}\Parameter{expression}% \Parameter{then code}\Parameter{else code} \end{Declaration} -If\ChangedAt{v3.12}{\Package{scrbase}} \PName{expression} expands to something -syntactically equivalent to a length, the \PName{then code} will be executed. -Otherwise the \PName{else code} will be executed. Note\textnote{Attention!} -that unknown units will cause an error message. The command is not completely -expandable, and there is no corresponding internal command.% +If\ChangedAt{v3.12}{\Package{scrbase}}\ChangedAt{v3.28}{\Package{scrbase}} +\PName{expression} expands to something syntactically equivalent to a length, +the \PName{then code} will be executed. Otherwise the \PName{else code} will +be executed. Note\textnote{Attention!} that unknown units will cause an error +message. The command is not completely expandable, and there is no +corresponding internal command.% \EndIndexGroup \begin{Declaration} - \Macro{ifdimen}\Parameter{string}% + \Macro{Ifdimen}\Parameter{string}% \Parameter{then code}\Parameter{else code} \end{Declaration} -The \PName{then code} will be executed if the first-order expansion of -\PName{string} consists of digits and a valid length unit. Otherwise, the -\PName{else code} will be used. There is no corresponding internal command.% +The \PName{then code}\ChangedAt{v3.28}{\Package{scrbase}} will be executed if +the first-order expansion of \PName{string} consists of digits and a valid +length unit. Otherwise, the \PName{else code} will be used. There is no +corresponding internal command.% \EndIndexGroup \begin{Declaration} - \Macro{ifisdimexpr}\Parameter{expression}% + \Macro{Ifisdimexpr}\Parameter{expression}% \Parameter{then code}\Parameter{else code} \end{Declaration} -If\ChangedAt{v3.12}{\Package{scrbase}} \PName{expression} expands to an \eTeX{} -\Macro{dimexpr}\IndexCmd{dimexpr}, the \PName{then code} will be executed. -Otherwise, the \PName{else code} will be executed. Note\textnote{Attention!} -that illegal expressions will result in error messages. The command is not -completely expandable, and there is no corresponding internal command.% +If\ChangedAt{v3.12}{\Package{scrbase}}\ChangedAt{v3.28}{\Package{scrbase}} +\PName{expression} expands to an \eTeX{} \Macro{dimexpr}\IndexCmd{dimexpr}, +the \PName{then code} will be executed. Otherwise, the \PName{else code} will +be executed. Note\textnote{Attention!} that illegal expressions will result +in error messages. The command is not completely expandable, and there is no +corresponding internal command.% \EndIndexGroup \begin{Declaration} - \Macro{ifisskip}\Parameter{expression}% + \Macro{Ifisskip}\Parameter{expression}% \Parameter{then code}\Parameter{else code} \end{Declaration} -If\ChangedAt{v3.12}{\Package{scrbase}} \PName{expression} expands to a -\Macro{skip}, i.\,e. a \TeX{} distance, the \PName{then code} will be -executed. Otherwise, the \PName{else code} will be executed. The command is not -completely expandable, and there is no corresponding internal command.% +If\ChangedAt{v3.12}{\Package{scrbase}}\ChangedAt{v3.28}{\Package{scrbase}} +\PName{expression} expands to a \Macro{skip}, i.\,e. a \TeX{} distance, the +\PName{then code} will be executed. Otherwise, the \PName{else code} will be +executed. The command is not completely expandable, and there is no +corresponding internal command.% \EndIndexGroup \begin{Declaration} - \Macro{ifisglue}\Parameter{expression}% + \Macro{Ifisglue}\Parameter{expression}% \Parameter{then code}\Parameter{else code} \end{Declaration} -If\ChangedAt{v3.12}{\Package{scrbase}} \PName{expression} expands to something -syntactically equivalent of the value of a skip, the \PName{then code} will be -executed. Otherwise, the \PName{else code} will be executed. -Note\textnote{Attention!} that invalid units will result in an error message. -The command is not completely expandable, and there is no corresponding -internal command.% +If\ChangedAt{v3.12}{\Package{scrbase}}\ChangedAt{v3.28}{\Package{scrbase}} +\PName{expression} expands to something syntactically equivalent of the value +of a skip, the \PName{then code} will be executed. Otherwise, the \PName{else + code} will be executed. Note\textnote{Attention!} that invalid units will +result in an error message. The command is not completely expandable, and +there is no corresponding internal command.% \EndIndexGroup \begin{Declaration} - \Macro{ifisglueexpr}\Parameter{expression}% + \Macro{Ifisglueexpr}\Parameter{expression}% \Parameter{then code}\Parameter{else code} \end{Declaration} -If\ChangedAt{v3.12}{\Package{scrbase}} \PName{expression} expands to a -\Macro{glueexpr}, i.\,e. an \eTeX{} distance expression, the \PName{then -code} will be executed. Otherwise, the \PName{else code} will be executed. -Note,\textnote{Attention!} that illegal expressions will result in error -messages. The command is not completely expandable, and there is no -corresponding internal command.% +If\ChangedAt{v3.12}{\Package{scrbase}}\ChangedAt{v3.28}{\Package{scrbase}} +\PName{expression} expands to a \Macro{glueexpr}, i.\,e. an \eTeX{} distance +expression, the \PName{then code} will be executed. Otherwise, the \PName{else + code} will be executed. Note,\textnote{Attention!} that illegal expressions +will result in error messages. The command is not completely expandable, and +there is no corresponding internal command.% \EndIndexGroup \begin{Declaration} - \Macro{ifiscounter}\Parameter{counter}% + \Macro{Ifiscounter}\Parameter{counter}% \Parameter{then code}\Parameter{else code} \end{Declaration} -If\ChangedAt{v3.12}{\Package{scrbase}} \PName{counter} is defined as a -\LaTeX{} counter, the \PName{then code} will be executed. Otherwise, the -\PName{else code} will be executed. The command is not completely expandable, -and there is no corresponding internal command.% +If\ChangedAt{v3.12}{\Package{scrbase}}\ChangedAt{v3.28}{\Package{scrbase}} +\PName{counter} is defined as a \LaTeX{} counter, the \PName{then code} will +be executed. Otherwise, the \PName{else code} will be executed. The command is +not completely expandable, and there is no corresponding internal command.% \EndIndexGroup \begin{Declaration} - \Macro{ifiscount}\Parameter{count}% + \Macro{Ifiscount}\Parameter{count}% \Parameter{then code}\Parameter{else code} \end{Declaration} -If\ChangedAt{v3.12}{\Package{scrbase}} \PName{count} expands to a -\Macro{count}, i.\,e. a \TeX{} counter, the \PName{then code} will be -executed. Otherwise, the \PName{else code} will be executed. The command is -not completely expandable, and there is no corresponding internal command. For -tests of \LaTeX{} counters, see \DescRef{\LabelBase.cmd.ifiscounter}.% +If\ChangedAt{v3.12}{\Package{scrbase}}\ChangedAt{v3.28}{\Package{scrbase}} +\PName{count} expands to a \Macro{count}, i.\,e. a \TeX{} counter, the +\PName{then code} will be executed. Otherwise, the \PName{else code} will be +executed. The command is not completely expandable, and there is no +corresponding internal command. For tests of \LaTeX{} counters, see +\DescRef{\LabelBase.cmd.Ifiscounter}.% \EndIndexGroup \begin{Declaration} - \Macro{ifisinteger}\Parameter{expression}% + \Macro{Ifisinteger}\Parameter{expression}% \Parameter{then code}\Parameter{else code} \end{Declaration} -If\ChangedAt{v3.12}{\Package{scrbase}} \PName{expression} expands to something -syntactically equivalent to of the value of a counter, i.\,e. a negative or -positive integer, the \PName{then code} will be executed. Otherwise, the -\PName{else code} will be executed. The command is not completely expandable, -and there is no corresponding internal command.% +If\ChangedAt{v3.12}{\Package{scrbase}}\ChangedAt{v3.28}{\Package{scrbase}} +\PName{expression} expands to something syntactically equivalent to of the +value of a counter, i.\,e. a negative or positive integer, the \PName{then + code} will be executed. Otherwise, the \PName{else code} will be +executed. The command is not completely expandable, and there is no +corresponding internal command.% \EndIndexGroup \begin{Declaration} - \Macro{ifnumber}\Parameter{string}% + \Macro{Ifnumber}\Parameter{string}% \Parameter{then code}\Parameter{else code} \end{Declaration} -The \PName{then code} will be executed if the first-order expansion of -\PName{string} consists only of digits. Otherwise, the \PName{else code} will -be used. There is no corresponding internal command. +The\ChangedAt{v3.28}{\Package{scrbase}} \PName{then code} will be executed if +the first-order expansion of \PName{string} consists only of +digits. Otherwise, the \PName{else code} will be used. There is no +corresponding internal command. % \EndIndexGroup \begin{Declaration} - \Macro{ifisnumexpr}\Parameter{expression}% + \Macro{Ifisnumexpr}\Parameter{expression}% \Parameter{then code}\Parameter{else code} \end{Declaration} -If\ChangedAt{v3.12}{\Package{scrbase}} \PName{expression} expands to a -\Macro{numexpr}, i.\,e. an \eTeX{} number expression, the \PName{then code} -will be executed. Otherwise, the \PName{else code} will be executed. -Note\textnote{Attention!} that illegal expressions will result in error -messages. The command is not completely expandable, and there is no -corresponding internal command.% +If\ChangedAt{v3.12}{\Package{scrbase}}\ChangedAt{v3.28}{\Package{scrbase}} +\PName{expression} expands to a \Macro{numexpr}, i.\,e. an \eTeX{} number +expression, the \PName{then code} will be executed. Otherwise, the \PName{else + code} will be executed. Note\textnote{Attention!} that illegal expressions +will result in error messages. The command is not completely expandable, and +there is no corresponding internal command.% \EndIndexGroup @@ -1390,7 +1333,7 @@ used.% Fortunately, both problems are easy to solve with \Package{scrbase}: \begin{lstcode} - \IfActiveMKBoth{\markright{Kolumnentitel}}{} + \IfActiveMkBoth{\markright{Kolumnentitel}}{} \end{lstcode}% \end{Example} By the way, an even simpler solution for the problem in the example @@ -1938,10 +1881,10 @@ empty, a warning is issued and both the \PName{head macro} and the \begin{lstcode} \newcommand*{\changeCounter}[1]{% \SplitDoHook{#1}{\Group}{\Level}% - \ifstr{\Group}{begingroup}{% + \Ifstr{\Group}{begingroup}{% \stepcounter{\Level Counter}% }{% - \ifstr{\Group}{endgroup}{% + \Ifstr{\Group}{endgroup}{% \addtocounter{\Level Counter}{-1}% }{}% }% @@ -1960,6 +1903,36 @@ Strictly speaking, this command is a byproduct of the implementation of \EndIndexGroup % \EndIndexGroup + +\section{Obsolete Options and Commands} +\seclabel{obsolete} + +% TODO: Fix new translation +Prior release of \Package{scrbase} provided some options and commands that has +been removed or replaced meanwhile. Those are documented in this section only +for completeness but shouldn't be used any longer. +% :ODOT + +% \LoadNonFree{scrbase}{0}% not available in English +\begin{Explain} + \begin{Declaration} + \Macro{FamilyElseValues} + \end{Declaration} + Since version 3.12 the command is deprecated. Nevertheless, + \Package{scrbase} detects its use and issues a message requesting that you + update the code accordingly.% + \EndIndexGroup% + + + \begin{Declaration} + \OptionVName{internalonly}{value} + \end{Declaration} + Since version 3.28 this option is deprecated. For compatibility it is + processed (see \DescRef{\LabelBase.cmd.FamilyKeyStateProcessed}) but + ignored.% + \EndIndexGroup% +\end{Explain}% +% \EndIndexGroup \endinput @@ -1968,6 +1941,6 @@ Strictly speaking, this command is a byproduct of the implementation of %%% mode: latex %%% mode: flyspell %%% ispell-local-dictionary: "en_GB" -%%% coding: us-ascii +%%% coding: utf-8 %%% TeX-master: "../guide.tex" %%% End: diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrbookreportarticle-experts.tex b/macros/latex/contrib/koma-script/source-doc/english/scrbookreportarticle-experts.tex index 247aaf6f02..325431cf59 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scrbookreportarticle-experts.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scrbookreportarticle-experts.tex @@ -48,13 +48,13 @@ % ============================================================================ \KOMAProvidesFile{scrbookreportarticle-experts.tex} - [$Date: 2019-10-09 16:34:25 +0200 (Wed, 09 Oct 2019) $ + [$Date: 2019-12-06 11:54:25 +0100 (Fri, 06 Dec 2019) $ KOMA-Script guide (chapter: scrbook, scrreprt, scrartcl for experts)] \translator{Gernot Hassenpflug\and Markus Kohm\and Karl Hagen} -% Date of the translated German file: 2019-10-09 +% Date of the translated German file: 2019-12-06 \chapter[{Additional Information about the Main Classes and \Package{scrextend}}]{Additional Information about the Main Classes @@ -134,6 +134,36 @@ on \autopageref{sec:tocbasic.tocstyle}). Other are implemented directly in the classes. \begin{Declaration} + \Macro{raggedchapterentry} +\end{Declaration} +In\ChangedAt{v3.21}{\Class{scrbook}\and \Class{scrreprt}} earlier versions of +\KOMAScript{}, it was possible to define the \Macro{raggedchapterentry} macro +as \Macro{raggedright} to print chapter entries in the table of contents +left-aligned instead of fully justified. Officially, this feature has not +existed in \KOMAScript{} since version~3.21. + +In fact, the \PValue{raggedentrytext} attribute for the \PValue{tocline} +TOC-entry style of the \Package{tocbasic}\IndexPackage{tocbasic} package is +implemented by setting the \Macro{ragged\PName{entry level}entry} macro to +either \Macro{relax} or \Macro{raggedright}. This attribute is evaluated by +checking whether the corresponding macro is defined as \Macro{raggedright}. If +so, the text is printed left-aligned. With any other definition, no ragged +margins are used. + +Since it was previously documented that \Macro{raggedchapterentry} should not +be defined as anything other than \Macro{raggedright}, this behaviour is +compatible with the documented behaviour of earlier versions. As noted in +earlier releases, other definitions of \Macro{raggedchapterentry}\,---\,and +now also of \Macro{raggedsectionentry} and similar macros for other entry +levels\,---\,may lead to unexpected results. + +You should select the desired justification for the all table-of-contents +entries using the \PValue{raggedentrytext} attribute of \PValue{tocline} +rather than attempting to set the attribute for specific entry levels.% +\EndIndexGroup + + +\begin{Declaration} \Macro{addtocentrydefault}\Parameter{level}\Parameter{number}% \Parameter{heading} \end{Declaration} @@ -174,8 +204,8 @@ Package authors and authors of wrapper classes can redefine this command to alter the entries. For example\textnote{Example}, you could use \begin{lstcode} \renewcommand{\addtocentrydefault}[3]{% - \ifstr{#3}{}{% - \ifstr{#2}{}{% + \Ifstr{#3}{}{% + \Ifstr{#2}{}{% \addcontentsline{toc}{#1}{#3}% }{% \addcontentsline{toc}{#1}{\protect\numberline{#2}#3}% @@ -183,7 +213,7 @@ alter the entries. For example\textnote{Example}, you could use }% }% \end{lstcode} -to\IndexCmd{ifstr} omit entries with an empty \PName{heading}. In practice, +to\IndexCmd{Ifstr} omit entries with an empty \PName{heading}. In practice, such a change is not necessary because the \KOMAScript{} classes already use another method to suppress empty entries. See the description of the sectioning commands in \autoref{sec:maincls.structure}, starting on @@ -214,36 +244,6 @@ these commands simply pass their own \PName{level} and arguments directly to \EndIndexGroup -\begin{Declaration} - \Macro{raggedchapterentry} -\end{Declaration} -In\ChangedAt{v3.21}{\Class{scrbook}\and \Class{scrreprt}} earlier versions of -\KOMAScript{}, it was possible to define the \Macro{raggedchapterentry} macro -as \Macro{raggedright} to print chapter entries in the table of contents -left-aligned instead of fully justified. Officially, this feature has not -existed in \KOMAScript{} since version~3.21. - -In fact, the \PValue{raggedentrytext} attribute for the \PValue{tocline} -TOC-entry style of the \Package{tocbasic}\IndexPackage{tocbasic} package is -implemented by setting the \Macro{ragged\PName{entry level}entry} macro to -either \Macro{relax} or \Macro{raggedright}. This attribute is evaluated by -checking whether the corresponding macro is defined as \Macro{raggedright}. If -so, the text is printed left-aligned. With any other definition, no ragged -margins are used. - -Since it was previously documented that \Macro{raggedchapterentry} should not -be defined as anything other than \Macro{raggedright}, this behaviour is -compatible with the documented behaviour of earlier versions. As noted in -earlier releases, other definitions of \Macro{raggedchapterentry}\,---\,and -now also of \Macro{raggedsectionentry} and similar macros for other entry -levels\,---\,may lead to unexpected results. - -You should select the desired justification for the all table-of-contents -entries using the \PValue{raggedentrytext} attribute of \PValue{tocline} -rather than attempting to set the attribute for specific entry levels.% -\EndIndexGroup - - \section{Font Settings} \seclabel{fonts} @@ -251,6 +251,9 @@ rather than attempting to set the attribute for specific entry levels.% sizes, but they also let you define, manipulate, and apply elements with their own font settings. +% Note: Instead of +% \LoadNonFree{scrbookreportarticle-experts}{5} +% here is the content of that file: \begin{Declaration} \Macro{@fontsizefilebase}% \Macro{changefontsizes}\Parameter{font size} @@ -1534,7 +1537,7 @@ breaks inside heading. \KOMAScript{} itself only changes \makeatletter \renewcommand{\sectionlinesformat}[4]{% \@tempswafalse - \ifstr{#1}{section}{% + \Ifstr{#1}{section}{% \hspace*{#2}% \colorbox{yellow}{% \parbox{\dimexpr\linewidth-2\fboxrule-2\fboxsep-#2}{% diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrbookreportarticle.tex b/macros/latex/contrib/koma-script/source-doc/english/scrbookreportarticle.tex index 881f61b7a1..fc074400d2 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scrbookreportarticle.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scrbookreportarticle.tex @@ -46,13 +46,13 @@ % ============================================================================ \KOMAProvidesFile{scrbookreportarticle.tex} - [$Date: 2019-10-10 09:50:23 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-12-06 10:40:53 +0100 (Fri, 06 Dec 2019) $ KOMA-Script guide (chapter: scrbook, scrreprt, scrartcl)] \translator{Jens-Uwe Morawski\and Gernot Hassenpflug\and Markus Kohm\and Krickette Murabayashi\and Jana Schubert\and Jens H\"uhne\and Karl Hagen} -% Date of the translated German file: 2019-10-09 +% Date of the translated German file: 2019-12-06 \chapter{The Main Classes: \Class{scrbook}, \Class{scrreprt}, and \Class{scrartcl}} @@ -104,6 +104,25 @@ new possibilities and options that are described in the following sections. \end{captionbeside} \end{table} +% TODO: new translation missing +\iffalse% don't show the not yet translated text +Es sei an dieser Stelle jedoch nicht verschwiegen, dass einige Paketautoren +ihre Pakete auf Basis der Implementierung und sogar von internem Code der +Standardklassen entwickeln und dabei keine Ruecksicht auf komplett unabhaengige +Entwicklungen wie die \KOMAScript-Klassen nehmen. In solchen Faellen kann es +beim ersten \LaTeX-Lauf nach der Umstellung durchaus zu Fehlermeldungen oder +zusaezlichen Warnungen kommen. Meist lassen sich diese auf einfache Weise +beheben. Oftmals koennen dazu die erweiterten Moeglichkeiten von \KOMAScript{} +genutzt werden, wodurch das problematische Paket dann vollstaendig +entfaellt. Manchmal kann auch das in \autoref{cha:scrhack} ab Seite +\autopageref{cha:scrhack} dokumentierte \hyperref[cha:scrhack]{Paket + \Package{scrhack}}\IndexPackage{scrhack} Abhilfe schaffen. Auch der Ersatz +von veralteten Paketen durch aktuelle Nachfolger kann zur Beseitigung +derartiger Probleme beitragen. Teilweise geben sogar die \KOMAScript-Klassen +durch entsprechende Warnungen Hilfestellung bei der Loesung von +Inkompatibilitaeten. +\fi + Let me say something before describing the classes. When beginning to write a document, you are often unsure which specific options to choose. Some settings, for instance the choice of paper size, may be fixed in advance. But @@ -426,7 +445,8 @@ You can find an overview of all available values for the \PName{setting} of \entry{\PValue{index}, \PValue{idx}}{% The index has an unnumbered entry in the table of contents.% \IndexOption{toc~=\textKValue{index}}}% - \entry{\PValue{indexnumbered}}{% + \entry{\PValue{indexnumbered}, \PValue{idxnumbered}, \PValue{numberedindex}, + \PValue{numberedidx}}{% \ChangedAt{v3.18}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}}% The index has a numbered entry in the table of contents.% @@ -496,8 +516,7 @@ The default is \PValue{false}. It selects an empty gap instead of dots. If a dotted line is used, you can change its font using the element \FontElement{chapterentrydots}% \important[i]{\FontElement{chapterentrydots}\\ - \FontElement{sectionentrydots}} or \FontElement{sectionentrydots}. The font -also depends on the element of the page number of the entry (see also + \FontElement{sectionentrydots}} or \FontElement{sectionentrydots} (see also \DescRef{\LabelBase.cmd.setkomafont} and \DescRef{\LabelBase.cmd.addtokomafont}, \autoref{sec:\LabelBase.textmarkup}, \DescPageRef{\LabelBase.cmd.setkomafont}, as well as @@ -505,7 +524,11 @@ also depends on the element of the page number of the entry (see also \autopageref{tab:maincls.fontelements}). The defaults of the elements are shown in \autoref{tab:maincls.tocelements}, from \autopageref{tab:maincls.tocelements}. Note\textnote{Attention!} that the dots -of all entries will be equally spaced only if all dots use the same font.% +of all entries will be equally spaced only if all dots use the same +font. Because of this the base font is always +\Macro{normalfont}\Macro{normalsize} and only the colour of +\DescRef{\LabelBase.fontelement.chapterentry} or +\DescRef{\LabelBase.fontelement.sectionentry} is also used for the dots.% \EndIndexGroup @@ -2637,8 +2660,8 @@ these commands only exist in these classes.% \DescRef{\LabelBase.counter.secnumdepth} counter is set locally to a value that switches off the numbering of chapters or sections. You should consider this, for example, if you redefine \Macro{chaptermark} or - \Macro{sectionmark} (see \Macro{ifnumbered} on - \DescPageRef{\LabelBase.cmd.ifnumbered}). The starred variants + \Macro{sectionmark} (see \DescRef{\LabelBase.cmd.Ifnumbered} on + \DescPageRef{\LabelBase.cmd.Ifnumbered}). The starred variants \DescRef{\LabelBase.cmd.addchap*} and \DescRef{\LabelBase.cmd.addsec*} use additional commands \Macro{addchapmark} and \Macro{addsecmark} that are also defined based on \Macro{chaptermark} and \Macro{sectionmark} with local @@ -2732,19 +2755,20 @@ differ for the same section level.% \EndIndexGroup \begin{Declaration} - \Macro{ifnumbered}\Parameter{section level}% + \Macro{Ifnumbered}\Parameter{section level}% \Parameter{then code}\Parameter{else code}% - \Macro{ifunnumbered}\Parameter{section level}% + \Macro{Ifunnumbered}\Parameter{section level}% \Parameter{then code}\Parameter{else code} \end{Declaration} The\ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and - \Class{scrartcl}} commands \Macro{ifnumbered} and \Macro{ifunnumbered} + \Class{scrartcl}}\ChangedAt{v3.28}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} commands \Macro{Ifnumbered} and \Macro{Ifunnumbered} determine which section-level headings are numbered, using the technique described above, and execute code depending on whether a \PName{section level} is numbered or not. If a \PName{section level} is numbered with the current -settings, \Macro{ifnumbered} executes the \PName{then code}. If the section +settings, \Macro{Ifnumbered} executes the \PName{then code}. If the section level is unnumbered, the \PName{else code} is executed. The -\Macro{ifunnumbered} command behaves in exactly the opposite manner, executing +\Macro{Ifunnumbered} command behaves in exactly the opposite manner, executing the \PName{then code} if the current level is unnumbered and the \PName{else code} if it is. The \PName{section level} parameter is simply the \LaTeX{} name of a section like \PValue{part}, \PValue{chapter}, \PValue{section}, @@ -4675,7 +4699,6 @@ creating, sorting, and outputting the index.% %%% Local Variables: %%% mode: latex %%% mode: flyspell -%%% coding: us-ascii %%% ispell-local-dictionary: "english" %%% TeX-master: "../guide" %%% End: diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrdatetime.tex b/macros/latex/contrib/koma-script/source-doc/english/scrdatetime.tex index e5cd194493..864c97a2af 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scrdatetime.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scrdatetime.tex @@ -46,11 +46,11 @@ % ============================================================================ \KOMAProvidesFile{scrdatetime.tex} - [$Date: 2019-10-10 10:04:30 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-11-15 08:07:56 +0100 (Fri, 15 Nov 2019) $ KOMA-Script guide (chapter: scrdate, scrtime)] \translator{Markus Kohm\and Gernot Hassenpflug\and Karl Hagen} -% Date of the translated German file: 2019-10-10 +% Date of the translated German file: 2019-11-15 \chapter{The Day of the Week with \Package{scrdate}} \labelbase{scrdate} @@ -81,10 +81,10 @@ Arabic number, you should prefix it with \Macro{the}\IndexCmd{the}. of the \engord{\numexpr\CenturyPart{\year}+1\relax} century. \end{lstcode} The result would be: - \begin{quote} + \begin{ShowOutput} The year \the\year\ is year \the\DecadePart{\year} of the \engordnumber{\numexpr\CenturyPart{\year}+1\relax} century. - \end{quote} + \end{ShowOutput} This example uses the \Package{engord}\IndexPackage{engord} package. See \cite{package:engord} for more information. \end{Example} @@ -119,10 +119,10 @@ an Arabic number, you should prefix it with \Macro{the}\IndexCmd{the}. as the number of the day of the week. \end{lstcode} The result will be: - \begin{quote} + \begin{ShowOutput} The 1st~May~2027 has \the\ISODayNumber{2027-5-1} as the number of the day of the week. - \end{quote} + \end{ShowOutput} \end{Example} It is particularly worth noting that you can even step a specified number of @@ -137,12 +137,12 @@ days into the future or or the past from a given date. \the\ISODayNumber{2027-12-24-24}. \end{lstcode} The result could be, for example: - \begin{quote} + \begin{ShowOutput} In 12~days, the number of the day of the week will be \the\DayNumber{\year}{\month}{\day+12}, and 24~days before the 24th~December~2027 it will be \the\ISODayNumber{2027-12-24-24}. - \end{quote} + \end{ShowOutput} \end{Example} The days of the week are numbered as follows: Sunday\,=\,0, Monday\,=\,1, @@ -172,10 +172,10 @@ the week of a given date. 24th~December~2027 the amount of \dots. \end{lstcode} The result will be: - \begin{quote} + \begin{ShowOutput} Please pay by \ISODayName{2027-12-24}, 24th~December~2027 the amount of \dots. - \end{quote} + \end{ShowOutput} \end{Example} Once again, it is particularly worth noting that you can perform calculations, @@ -192,14 +192,14 @@ to a certain extent: \DayNameByNumber{3+2*7+3}. \end{lstcode} The result could be, for example: - \begin{quote} + \begin{ShowOutput} In 12~days, the name of the day of the week will be \DayName{\year}{\month}{\day+12}, and 24~days before the 24th~December~2027 it will be \ISODayName{2027-12-24-24}, while two weeks and three days after a Wednesday will be a \DayNameByNumber{3+2*7+3}. - \end{quote} + \end{ShowOutput} \end{Example}% % \EndIndexGroup @@ -230,9 +230,9 @@ in the explanations of \DescRef{scrdate.cmd.DayNumber} and This document was created on a \todaysname. \end{lstlisting} This will result, for example, in: - \begin{quote} + \begin{ShowOutput} This document was created on a \todaysname. - \end{quote} + \end{ShowOutput} \end{Example} For languages that have a case system for nouns, note that the package cannot @@ -275,9 +275,9 @@ Just as you can directly modify the output of \Macro{today} with \nameday{workday} \end{lstlisting} After this, the previous example will result in: - \begin{quote}\nameday{workday} + \begin{ShowOutput}\nameday{workday} This document was created on a \todaysname. - \end{quote} + \end{ShowOutput} \end{Example} There's no corresponding command to change the result of \DescRef{scrdate.cmd.ISOToday}\IndexCmd{ISOToday} or @@ -368,26 +368,26 @@ leading zero to the minute field when its value is less than 10. Thus, with Your train departs at \thistime. \end{lstlisting} results, for example, in: - \begin{quote} + \begin{ShowOutput} Your train departs at \thistime. - \end{quote} + \end{ShowOutput} or: - \begin{quote} + \begin{ShowOutput} Your train departs at 23:09. - \end{quote} + \end{ShowOutput} \bigskip In contrast to the previous example a line like: \begin{lstlisting} This day is already \thistime*[\ hours and\ ] minutes old. \end{lstlisting} results in: - \begin{quote} + \begin{ShowOutput} This day is already \thistime*[\ hours and\ ] minutes old. - \end{quote} + \end{ShowOutput} or: - \begin{quote} + \begin{ShowOutput} This day is already 12 hours and 25 minutes old. - \end{quote} + \end{ShowOutput} \end{Example} \EndIndexGroup diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrextend.tex b/macros/latex/contrib/koma-script/source-doc/english/scrextend.tex index 28ba228390..77f6781fe2 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scrextend.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scrextend.tex @@ -46,11 +46,11 @@ % ====================================================================== \KOMAProvidesFile{scrextend.tex} - [$Date: 2019-10-10 10:04:30 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-11-18 10:57:08 +0100 (Mon, 18 Nov 2019) $ KOMA-Script package scrextend] \translator{Markus Kohm\and Karl Hagen} -% Date of the translated German file: 2019-10-10 +% Date of the translated German file: 2019-11-18 \chapter[{\KOMAScript{} Features for Other Classes with \Package{scrextend}}] {Using Basic Features of the \KOMAScript{} Classes in Other Classes with the diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrhack.tex b/macros/latex/contrib/koma-script/source-doc/english/scrhack.tex index 5a7fc200a1..760052b8cc 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scrhack.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scrhack.tex @@ -46,11 +46,11 @@ % ============================================================================ \KOMAProvidesFile{scrhack.tex} - [$Date: 2019-10-10 09:50:23 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-11-26 11:13:57 +0100 (Tue, 26 Nov 2019) $ KOMA-Script guide (chapter: scrhack)] \translator{Markus Kohm\and Karl Hagen} -% Date of the translated German file: 2019-10-09 +% Date of the translated German file: 2019-11-26 \chapter{Improving Third-Party Packages with \Package{scrhack}} \labelbase{scrhack} diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrjura.tex b/macros/latex/contrib/koma-script/source-doc/english/scrjura.tex index 34d9d0d4a8..da5cad125c 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scrjura.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scrjura.tex @@ -46,12 +46,12 @@ % ====================================================================== \KOMAProvidesFile{scrjura.tex}% - [$Date: 2019-10-10 09:25:44 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-12-03 09:41:21 +0100 (Tue, 03 Dec 2019) $ KOMA-Script guide (chapter: scrjura)] \translator{Alexander Willand\and Markus Kohm\and Karl Hagen} -% Date of the translated German file: 2019-10-09 +% Date of the translated German file: 2019-12-03 \chapter{Support for the Law Office with \Package{scrjura}} \labelbase{scrjura} @@ -80,7 +80,7 @@ has to be loaded after \Package{scrjura} as usual. \LoadCommonFile{textmarkup}% \section{Text Markup} \section{Table of Contents} -\label{sec:scrjura.toc} +\seclabel{toc} The headings of clauses can also be added automatically to the table of contents, if desired. @@ -145,7 +145,7 @@ respectively \OptionVName{numwidth}{number width} in the \PName{option list}.% \section{Environment for Contracts} -\label{sec:scrjura.contract} +\seclabel{contract} \BeginIndexGroup \BeginIndex{}{contract} @@ -602,7 +602,7 @@ please consult the manual of the \Package{babel} package (see \section{Cross-References} -\label{sec:scrjura.ref} +\seclabel{ref} The conventional mechanism to set cross-references using \Macro{label}\IndexCmd{label}\important{\Macro{label}}, \Macro{ref}, and @@ -793,7 +793,7 @@ You can find examples of results of the basic commands in \section{Additional Environments} -\label{sec:scrjura.newenv} +\seclabel{newenv} Some users do not use \Package{scrjura} to draft contracts or commentaries on individual laws but to examine different types of laws, which may not @@ -881,7 +881,7 @@ supported \PName{options}. To define the environment for articles we mentioned in the preface of this section, it is sufficient to write: \begin{lstcode} - \DeclareNewJuraEnvironment{Article}[ClauseNumberFormat=Art.]{}{} + \DeclareNewJuraEnvironment{Article}[ClauseNumberFormat=Art.~]{}{} \end{lstcode} If we are using a \KOMAScript{} class and want to separate the paragraphs in this environment with space instead of using paragraph indentation, we can @@ -895,7 +895,7 @@ supported \PName{options}. The new environment is used like \DescRef{\LabelBase.env.contract}: \begin{lstcode} \begin{Article} - \Clause + \Clause{} Human dignity is inviolable. To respect and protect people is a duty of all state authority. \end{Article} @@ -905,7 +905,7 @@ supported \PName{options}. \section{Support for Different Languages} -\label{sec:scrjura.babel} +\seclabel{babel} The \Package{scrjura} package has been developed in cooperation with a German lawyer. Therefore it initially supported only the languages \PValue{german}, @@ -963,7 +963,7 @@ package will throw an error.% \section{A Detailed Example} -\label{sec:scrjura.example} +\seclabel{example} You may remember the letter from \autoref{cha:scrlttr2}, in which a club member wanted to remind the board about an overdue meeting that was prescribed @@ -1165,7 +1165,7 @@ Then the \LaTeX{} document ends. You can see first three pages in \end{figure} \section{State of Development} -\label{sec:scrjura.draft} +\seclabel{draft} Since \KOMAScript~3.24, the \Package{scrjura} package has shared the version number of the classes and other important packages of \KOMAScript. diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrjuraexample.tex b/macros/latex/contrib/koma-script/source-doc/english/scrjuraexample.tex index 013d1b60bc..d9ef923b49 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scrjuraexample.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scrjuraexample.tex @@ -1,4 +1,4 @@ -\documentclass[fontsize=12pt,pagesize,parskip=half] +\documentclass[fontsize=12pt,parskip=half] {scrartcl} \usepackage[british]{babel} diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrlayer-notecolumn.tex b/macros/latex/contrib/koma-script/source-doc/english/scrlayer-notecolumn.tex index 20651e4003..90097824f3 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scrlayer-notecolumn.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scrlayer-notecolumn.tex @@ -51,7 +51,7 @@ \translator{Markus Kohm\and Arndt Schubert\and Karl Hagen} -% Date of the translated German file: 2019-10-09 +% Date of the translated German file: 2019-12-03 \chapter{Note Columns with \Package{scrlayer-notecolumn}} \labelbase{scrlayer-notecolumn} diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrlayer-scrpage-experts.tex b/macros/latex/contrib/koma-script/source-doc/english/scrlayer-scrpage-experts.tex index b5684a766e..6e69eb5019 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scrlayer-scrpage-experts.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scrlayer-scrpage-experts.tex @@ -44,11 +44,11 @@ % ============================================================================ \KOMAProvidesFile{scrlayer-scrpage-experts.tex}% - [$Date: 2019-10-10 09:50:23 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-12-06 10:44:53 +0100 (Fri, 06 Dec 2019) $ KOMA-Script guide (chapter: scrlayer-scrpage-experts)] \translator{Markus Kohm\and Karl Hagen} -% Date version of the translated file: 2019-10-09 +% Date version of the translated file: 2019-12-06 \chapter[{Additional Features of \Package{scrlayer-scrpage}}] {Additional Features\ChangedAt{v3.12}{\Package{scrlayer-scrpage}} with @@ -365,7 +365,7 @@ corresponding content layer. You can implement this as an exercise too.% \end{Explain} \begin{Declaration} - \KOption{hmode}\PValue{simple switch} + \OptionVName{hmode}{simple switch} \end{Declaration} The \Package{scrpage2} package always outputs headers and footers in horizontal mode. In contrast, \Package{scrlayer-scrpage} in the default diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrlayer-scrpage.tex b/macros/latex/contrib/koma-script/source-doc/english/scrlayer-scrpage.tex index cffeeffd9b..266fb29065 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scrlayer-scrpage.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scrlayer-scrpage.tex @@ -44,11 +44,11 @@ % ============================================================================ \KOMAProvidesFile{scrlayer-scrpage.tex}% - [$Date: 2019-10-10 09:50:23 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-12-06 11:44:37 +0100 (Fri, 06 Dec 2019) $ KOMA-Script guide (chapter: scrlayer-scrpage)] \translator{Markus Kohm\and Jana Schubert\and Jens H\"uhne\and Karl Hagen} -% Date version of the translated file: 2019-10-09 +% Date version of the translated file: 2019-11-29 \chapter[{Headers and Footers with \Package{scrlayer-scrpage}}] {Headers\ChangedAt{v3.12}{\Package{scrlayer-scrpage}} and @@ -378,7 +378,6 @@ in \autoref{fig:scrlayer-scrpage.head}.% \usepackage{scrlayer-scrpage} \lohead{John Doe} \rohead{Page style with \KOMAScript} - \pagestyle{scrheadings} \begin{document} \title{Page styles with \KOMAScript} \author{John Doe} @@ -416,7 +415,6 @@ in \autoref{fig:scrlayer-scrpage.head}.% {John Doe} \rohead[Page style with \KOMAScript] {Page style with \KOMAScript} - \pagestyle{scrheadings} \begin{document} \title{Page styles with \KOMAScript} \author{John Doe} @@ -479,7 +477,6 @@ the mandatory argument.% \usepackage{scrlayer-scrpage} \lohead*{John Doe} \rohead*{Page style with \KOMAScript} - \pagestyle{scrheadings} \begin{document} \title{Page styles with \KOMAScript} \author{John Doe} @@ -488,6 +485,7 @@ the mandatory argument.% \end{lstcode}% \end{Example}% \EndIndexGroup +\ExampleEndFix \begin{Declaration} @@ -673,7 +671,6 @@ in \autoref{fig:scrlayer-scrpage.foot}.% \lohead{John Doe} \rohead{Page style with \KOMAScript} \lofoot{Smart Alec Publishing} - \pagestyle{scrheadings} \usepackage{lipsum} \begin{document} \title{Page styles with \KOMAScript} @@ -738,7 +735,6 @@ in \autoref{fig:scrlayer-scrpage.foot}.% \lohead{Page style with \KOMAScript} \refoot[Smart Alec Publishing] {Smart Alec Publishing} - \pagestyle{scrheadings} \usepackage{lipsum} \begin{document} \title{Page styles with \KOMAScript} @@ -798,7 +794,6 @@ mandatory argument.% \rehead{John Doe} \lohead{Page style with \KOMAScript} \refoot*{Smart Alec Publishing} - \pagestyle{scrheadings} \usepackage{lipsum} \begin{document} \title{Page styles with \KOMAScript} @@ -810,6 +805,7 @@ mandatory argument.% \end{Example} % \EndIndexGroup +\ExampleEndFix \begin{Declaration} @@ -855,7 +851,6 @@ and \autoref{fig:scrlayer-scrpage.foot} on \ohead{Page style with \KOMAScript} \ifoot[Smart Alec Publishing] {Smart Alec Publishing} - \pagestyle{scrheadings} \usepackage{lipsum} \begin{document} \title{Page styles with \KOMAScript} @@ -916,7 +911,6 @@ the mandatory argument.% \ihead{John Doe} \ohead{Page style with \KOMAScript} \ifoot*{Smart Alec Publishing} - \pagestyle{scrheadings} \usepackage{lipsum} \begin{document} \title{Page styles with \KOMAScript} diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrlayer.tex b/macros/latex/contrib/koma-script/source-doc/english/scrlayer.tex index e56824c156..e21205f8b7 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scrlayer.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scrlayer.tex @@ -46,12 +46,12 @@ % ============================================================================ \KOMAProvidesFile{scrlayer.tex} - [$Date: 2019-10-10 09:50:23 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-12-06 12:04:10 +0100 (Fri, 06 Dec 2019) $ KOMA-Script guide (chapter:scrlayer)] \translator{Markus Kohm\and Karl Hagen} -% Date of the translated German file: 2019-10-09 +% Date of the translated German file: 2019-12-03 \chapter[{Defining Layers and Page Styles with \Package{scrlayer}}] {Defining\ChangedAt{v3.12}{\Package{scrlayer}} Layers and Page Styles with @@ -774,26 +774,29 @@ it will be set to \Macro{relax}. In page styles already defined with redefined using \DescRef{\LabelBase.cmd.DeclareNewLayer} or \DescRef{\LabelBase.cmd.ProvideLayer}, but they can no longer be changed using \DescRef{\LabelBase.cmd.RedeclareLayer} or -\DescRef{\LabelBase.cmd.ModifyLayer}. - +\DescRef{\LabelBase.cmd.ModifyLayer}.% +\iffalse % See the note at the beginning of the end user interface section +\par The command is intended to be used inside \DescRef{\LabelBase.cmd.scrlayerOnAutoRemoveInterface} (see \autoref{sec:scrlayer.enduserinterfaces}, \DescPageRef{scrlayer.cmd.scrlayerOnAutoRemoveInterface}) to remove layers defined using removable macros of an interface along with that interface.% +\fi \EndIndexGroup \begin{Declaration} + \OptionVName{draft}{simple switch} \Macro{layercontentsmeasure}% \end{Declaration} -The \Macro{layercontentsmeasure} command prints a ruler at each layer edge, of -which the top and left one is labelled in centimetres and the right and bottom -one in inches. This command is used internally if the -\DescRef{\LabelBase.option.draft}\IndexOption{draft} option is enabled. The -rulers are drawn behind the content of each layer. This command can also be -used as exclusive content of a layer.% +The \KOMAScript{} option \Option{draft} can be used to active the draft mode +of \Package{scrlayer}. The draft mode uses the \Macro{layercontentsmeasure} +command to print a ruler at each layer edge, of which the top and left one is +labelled in centimetres and the right and bottom one in inches. The rulers are +drawn behind the content of each layer. This command can also be used as +exclusive content of a layer.% \EndIndexGroup @@ -875,7 +878,7 @@ If \DescRef{maincls.cmd.pagestyle} activates an alias page style, the real page style. You\ChangedAt{v3.16}{\Package{scrlayer}} can get the alternative name using \Macro{toplevelpagestyle}. However, it is not recommended to define page styles that produce different results depending on -\Macro{toplevelpagestyle}, e.\,g., using \DescRef{scrbase.cmd.ifstr}. If you +\Macro{toplevelpagestyle}, e.\,g., using \DescRef{scrbase.cmd.Ifstr}. If you were to activate such a page style using \DescRef{maincls.cmd.thispagestyle} you could get the wrong result.% \EndIndexGroup @@ -967,12 +970,14 @@ This command renders the page style named \PName{page style name} undefined for \LaTeX{} if it is an alias for another page style. Afterwards, the page style can be newly defined with \DescRef{\LabelBase.cmd.DeclareNewPageStyleAlias} or -\DescRef{\LabelBase.cmd.ProvidePageStyleAlias}. - +\DescRef{\LabelBase.cmd.ProvidePageStyleAlias}.% +\iffalse % See the note at the beginning of the end user interface section +\par This command is intended to be used inside the argument code of \DescRef{\LabelBase.cmd.scrlayerOnAutoRemoveInterface} to remove page styles that have been declared as part of an end-user interface when removing this interface automatically.% +\fi% \EndIndexGroup @@ -1469,13 +1474,15 @@ automatically. If you want to destroy the layers too, you can do this with: \begin{lstcode} \ForEachLayerOfPageStyle{...}{\DestroyLayer{#1}} \end{lstcode} -before destroying the layer page style itself. - +before destroying the layer page style itself.% +\iffalse % See the note at the beginning of the end user interface section +\par The command is intended to be used within the \PName{code} argument of \DescRef{\LabelBase.cmd.scrlayerOnAutoRemoveInterface} to remove page styles that are defined as part of an end-user interface. See \autoref{sec:scrlayer.enduserinterfaces} below for more information about auto-removal code.% +\fi% \EndIndexGroup \EndIndexGroup @@ -1486,6 +1493,25 @@ auto-removal code.% \section{Defining and Managing Interfaces for End Users} \seclabel{enduserinterfaces} +\iftrue% The whole mechanism is deprecated and should not be used any + % longer. So the documentation is also deactivated. +% TODO: Fix new translation +Until version 3.27\ChangedAt{v3.28}{\Package{scrlayer}} package +\Package{scrlayer} provided mechanism to manage concurrent end user +interfaces. The mechanism has been marked as experimental and the usability +limited. Only \KOMAScript{} itself has used this mechanism and from version +3.28 it is marked as deprecated. So the commands +\Macro{scrlayerInitInterface}\IndexCmd{scrlayerInitInterface}, +\Macro{scrlayerAddToInterface}\IndexCmd{scrlayerAddToInterface}, +\Macro{scrlayerAddCsToInterface}\IndexCmd{scrlayerAddCsToInterface}, +\Macro{scrlayerOnAutoRemoveInterface}\IndexCmd{scrlayerOnAutoRemoveInterface}% +\important{\Macro{scrlayerOnAutoRemoveInterface}} +and the options +\Option{forceoverwrite}\IndexOption{forceoverwrite}, +\Option{autoremoveinterfaces}\IndexOption{autoremoveinterfaces} +should not be used any longer.% +% :ODOT +\else% The \Package{scrlayer} package provides an experimental interface to define and manage (concurrent) interfaces for end users. \iffree{In the long run, this interface may disappear from \Package{scrlayer} and be taken over by @@ -1589,7 +1615,8 @@ that rely on commands from the end-user interface (see \DescRef{\LabelBase.cmd.DestroyRealLayerPageStyle}). Regarding the default for the optional argument, please refer to the explanation for \DescRef{\LabelBase.cmd.scrlayerInitInterface}.% -\EndIndexGroup +\EndIndexGroup% +\fi% % \EndIndexGroup diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrlfile.tex b/macros/latex/contrib/koma-script/source-doc/english/scrlfile.tex index 1796a163c4..f3333d3140 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scrlfile.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scrlfile.tex @@ -46,11 +46,11 @@ % ============================================================================ \KOMAProvidesFile{scrlfile.tex} - [$Date: 2019-10-10 10:04:30 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-12-03 09:41:21 +0100 (Tue, 03 Dec 2019) $ KOMA-Script guide (chapter: scrlfile)] \translator{Gernot Hassenpflug\and Markus Kohm\and Karl Hagen} -% Date of the translated German file: 2019-10-10 +% Date of the translated German file: 2019-12-03 \chapter{Controlling Package Dependencies with \Package{scrlfile}} \labelbase{scrlfile} @@ -215,25 +215,16 @@ later and outside the context of that class or package, you can use The following example for class and package authors shows how \KOMAScript{} itself makes use of the new commands. The class \Class{scrbook} contains the following: -% CORRECTED MESSAGE: -% You are using an old version of the hyperref -% package!\MessageBreak% -% This version has a buggy hack in many -% drivers,\MessageBreak% -% causing \string\addchap\space to behave -% strangely.\MessageBreak% -% Please update hyperref to at least version -% 6.71b}% \begin{lstcode} \AfterPackage{hyperref}{% \@ifpackagelater{hyperref}{2001/02/19}{}{% \ClassWarningNoLine{scrbook}{% - You are using an old version of hyperref package!% - \MessageBreak% - This version has a buggy hack at many drivers% - \MessageBreak% - causing \string\addchap\space to behave strange.% - \MessageBreak% + You are using an old version of the hyperref + package!\MessageBreak% + This version has a buggy hack in many + drivers,\MessageBreak% + causing \string\addchap\space to behave + strangely.\MessageBreak% Please update hyperref to at least version 6.71b}}} \end{lstcode} diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrlttr2-experts.tex b/macros/latex/contrib/koma-script/source-doc/english/scrlttr2-experts.tex index 722183a7bd..23039e48b5 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scrlttr2-experts.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scrlttr2-experts.tex @@ -46,14 +46,14 @@ % ============================================================================ \KOMAProvidesFile{scrlttr2-experts.tex} - [$Date: 2019-10-10 09:50:23 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-12-03 09:41:21 +0100 (Tue, 03 Dec 2019) $ KOMA-Script guide (chapter: scrlttr2 for experts)] \translator{Harald Bongartz\and Georg Grandke\and Raimund Kohl\and Jens-Uwe Morawski\and Stephan Hennig\and Gernot Hassenpflug\and Markus Kohm\and Karl Hagen} -% Date of the translated German file: 2019-10-09 +% Date of the translated German file: 2019-12-03 \chapter{Additional Information about the \Class{scrlttr2} Class and the \Package{scrletter} Package} @@ -85,1104 +85,6 @@ nearly all the features of \Class{scrlttr2} for those classes. There are, however, a few differences described later in this chapter.% -\section{Pseudo-Lengths for Experienced Users} -\seclabel{pseudoLengths} -\BeginIndexGroup -\BeginIndex{}{pseudo-lengths} - -\TeX{} works with a fixed number of registers. There are registers for tokens, -for boxes, for counters, for skips, and for dimensions. Overall there are 256 -registers for each of these categories. For \LaTeX{} lengths, which are -defined with \Macro{newlength}, skip registers are used. Once all these -registers are in use, you can not define any more lengths. Both -\Class{scrlttr2} and \Package{scrletter} would normally use more than 20 of -these registers for the first page alone. \LaTeX{} itself already uses 40 of -these registers. The \hyperref[cha:typearea]{\Package{typearea}}% -\IndexPackage{typearea} package needs some of them too; thus, approximately a -quarter of these precious registers would already be in use. For this reason, -\KOMAScript{} stores letter-specific lengths in macros instead of lengths. The -drawback of this approach is that computations with macros are somewhat more -complicated than with real lengths. - -Note\textnote{Attention!} that even though these pseudo-lengths are internally -implemented as macros, the commands for pseudo-length management expect only -the names of the pseudo-lengths not the macros representing the -pseudo-lengths. The names of pseudo-lengths are written without the initial -backslash, like the names of \LaTeX{} counters and unlike macros or \LaTeX{} -lengths. - -Anyone who wants to argue that the recommended \LaTeX{} installation with -\eTeX{}, which is required for \KOMAScript{} anyway, no longer suffers from -the above-mentioned limitation would be right. However, that improvement came -too late for \Class{scrlttr2}. With \Package{scrletter}, the concept of -psuedo-lengths was adopted for reasons of compatibility. - -The pseudo-lengths defined and uses by \KOMAScript{} are listed in -\autoref{tab:scrlttr2-experts.pseudoLength}, which also provides cross -references to the detailed descriptions of each pseudo-lengths in the -following sub-sections. - -A schematic display of the most important distances of the letterhead page is -shown in \autoref{fig:scrlttr2-experts.pseudoLength} on -\autopageref{fig:scrlttr2-experts.pseudoLength}. In addition to the -pseudo-lengths for the configurable distances, some non-configurable lengths -are also shown in light gray. For the sake of clarity, however, some rarely -required pseudo-lengths have been omitted. -% -\begin{desclist} - \renewcommand{\abovecaptionskipcorrection}{-\normalbaselineskip}% - \desccaption{% - Pseudo-lengths provided by \Class{scrlttr2} and \Package{scrletter}% - \label{tab:scrlttr2-experts.pseudoLength}% - }{% - Pseudo-lengths provided by \Class{scrlttr2} and \Package{scrletter} - (\emph{continued})% - }% - \pentry{backaddrheight}{% - the height of the return address at the upper edge of the address field - (\autoref{sec:scrlttr2-experts.addressee}, - \DescPageRef{scrlttr2-experts.plength.backaddrheight})% - }% - \pentry{bfoldmarklength}{% - the length of the bottommost fold mark - (\autoref{sec:scrlttr2-experts.foldmarks}, - \DescPageRef{scrlttr2-experts.plength.bfoldmarkvpos})% - }% - \pentry{bfoldmarkvpos}{% - the vertical distance of the bottommost fold mark from the top edge of the - paper (\autoref{sec:scrlttr2-experts.foldmarks}, - \DescPageRef{scrlttr2-experts.plength.bfoldmarkvpos})% - }% - \pentry{firstfoothpos}{% - the horizontal distance of the letterhead page footer from the left edge - of the paper; values greater than the width of the paper or less than the - negative value of the width of the paper activate special handling % - (\autoref{sec:scrlttr2-experts.firstFoot}, - \DescPageRef{scrlttr2-experts.plength.firstfoothpos})% - }% - \pentry{firstfootvpos}{% - the vertical distance of letterhead page footer from the top edge of the - paper (\autoref{sec:scrlttr2-experts.firstFoot}, - \DescPageRef{scrlttr2-experts.plength.firstfootvpos})% - }% - \pentry{firstfootwidth}{% - the width of the letterhead page footer - (\autoref{sec:scrlttr2-experts.firstFoot}, - \DescPageRef{scrlttr2-experts.plength.firstfootwidth})% - }% - \pentry{firstheadhpos}{% - the horizontal distance of the letterhead from the left edge of the paper; - values greater than the width of the paper or less than the negative value - of the width of the paper activate special handling - (\autoref{sec:scrlttr2-experts.firstHead}, - \DescPageRef{scrlttr2-experts.plength.firstheadhpos})% - }% - \pentry{firstheadvpos}{% - the vertical distance of the letterhead from the top edge of the paper - (\autoref{sec:scrlttr2-experts.firstHead}, - \DescPageRef{scrlttr2-experts.plength.firstheadvpos})% - }% - \pentry{firstheadwidth}{% - the width of the letterhead (\autoref{sec:scrlttr2-experts.firstHead}, - \DescPageRef{scrlttr2-experts.plength.firstheadwidth})% - }% - \pentry{foldmarkhpos}{% - the horizontal distance of the horizontal fold marks from the left edge of - the paper (\autoref{sec:scrlttr2-experts.foldmarks}, - \DescPageRef{scrlttr2-experts.plength.foldmarkhpos})% - }% - \pentry{foldmarkvpos}{% - the vertical distance of the vertical fold marks from the top edge of the - paper (\autoref{sec:scrlttr2-experts.foldmarks}, - \DescPageRef{scrlttr2-experts.plength.foldmarkvpos})% - }% - \pentry{fromrulethickness}{% - the thickness of an optional horizontal rule in the letterhead - (\autoref{sec:scrlttr2-experts.firstHead}, - \DescPageRef{scrlttr2-experts.plength.fromrulethickness})% - }% - \pentry{fromrulewidth}{% - the length of an optional horizontal rule in the letterhead - (\autoref{sec:scrlttr2-experts.firstHead}, - \DescPageRef{scrlttr2-experts.plength.fromrulewidth})% - }% - \pentry{lfoldmarkhpos}{% - the horizontal distance of the vertical fold mark from the left edge of - the paper (\autoref{sec:scrlttr2-experts.foldmarks}, - \DescPageRef{scrlttr2-experts.plength.lfoldmarkhpos})% - }% - \pentry{lfoldmarklength}{% - the length of the vertical fold mark - (\autoref{sec:scrlttr2-experts.foldmarks}, - \DescPageRef{scrlttr2-experts.plength.lfoldmarklength})% - }% - \pentry{locheight}{% - the height of the field containing the additional sender information if - the value is not 0; if it is 0, \PLength{toaddrheight} is used instead - (\autoref{sec:scrlttr2-experts.locationField}, - \DescPageRef{scrlttr2-experts.plength.locheight})% - }% - \pentry{lochpos}{% - the horizontal distance of the field containing the additional sender - information; if the value is positive, the distance is measured from the - right paper edge; if negative, from the left paper edge; if 0, the - negative value of \PLength{toaddrhpos} is used instead - (\autoref{sec:scrlttr2-experts.locationField}, - \DescPageRef{scrlttr2-experts.plength.lochpos})% - }% - \pentry{locvpos}{% - the vertical distance of the field containing the additional sender - information from the top edge of the paper if the value is not 0; if it is - 0, \PLength{toaddrvpos} is used instead - (\autoref{sec:scrlttr2-experts.locationField}, - \DescPageRef{scrlttr2-experts.plength.locvpos})% - }% - \pentry{locwidth}{% - the width of the field containing the additional sender information; if it - is 0, the width is calculated automatically based on the - \DescRef{scrlttr2.option.locfield} option described in - \autoref{sec:scrlttr2.firstpage}, \DescPageRef{scrlttr2.option.locfield} % - (\autoref{sec:scrlttr2-experts.locationField}, - \DescPageRef{scrlttr2-experts.plength.locwidth})% - }% - \pentry{mfoldmarklength}{% - the length of the middle horizontal fold mark - (\autoref{sec:scrlttr2-experts.foldmarks}, - \DescPageRef{scrlttr2-experts.plength.mfoldmarklength})% - }% - \pentry{mfoldmarkvpos}{% - the vertical distance of the middle horizontal fold mark from the top edge - of the paper (\autoref{sec:scrlttr2-experts.foldmarks}, - \DescPageRef{scrlttr2-experts.plength.mfoldmarkvpos})% - }% - \pentry{pfoldmarklength}{% - the length of the hole-punch mark - (\autoref{sec:scrlttr2-experts.foldmarks}, - \DescPageRef{scrlttr2-experts.plength.pfoldmarklength})% - }% - \pentry{PPdatamatrixvskip}{% - the vertical distance between the postpaid header and the data array with - \OptionValueRef{scrlttr2}{addrfield}{PP} - (\autoref{sec:scrlttr2-experts.addressee}, - \DescPageRef{scrlttr2-experts.plength.PPdatamatrixvskip})% - }% - \pentry{PPheadheight}{% - the height of the postpaid header - (\autoref{sec:scrlttr2-experts.addressee}, - \DescPageRef{scrlttr2-experts.plength.PPheadheight})% - }% - \pentry{PPheadwidth}{% - the width of the left postpaid field with - \OptionValueRef{scrlttr2}{addrfield}{PP} - (\autoref{sec:scrlttr2-experts.addressee}, - \DescPageRef{scrlttr2-experts.plength.PPheadwidth})% - }% - \pentry{refaftervskip}{% - vertical skip below reference-field line % - (\autoref{sec:scrlttr2-experts.refLine}, - \DescPageRef{scrlttr2-experts.plength.refaftervskip})% - }% - \pentry{refhpos}{% - the horizontal distance of reference-field line from the left - edge of the paper; if the value is 0, the reference-field line is centred - horizontally on the letterhead page - (\autoref{sec:scrlttr2-experts.refLine}, - \DescPageRef{scrlttr2-experts.plength.refhpos})% - }% - \pentry{refvpos}{% - the vertical distance of reference-field line from the top - edge of the paper (\autoref{sec:scrlttr2-experts.refLine}, - \DescPageRef{scrlttr2-experts.plength.refvpos})% - }% - \pentry{refwidth}{% - the width of the reference-field line - (\autoref{sec:scrlttr2-experts.refLine}, - \DescPageRef{scrlttr2-experts.plength.refwidth})% - }% - \pentry{sigbeforevskip}{% - the vertical skip between the closing and the signature - (\autoref{sec:scrlttr2-experts.closing}, - \DescPageRef{scrlttr2-experts.plength.sigbeforevskip})% - }% - \pentry{sigindent}{% - the indentation of the signature with respect to the text body - (\autoref{sec:scrlttr2-experts.closing}, - \DescPageRef{scrlttr2-experts.plength.sigindent})% - }% - \pentry{specialmailindent}{% - the left indentation of the delivery method within the address field - (\autoref{sec:scrlttr2-experts.addressee}, - \DescPageRef{scrlttr2-experts.plength.specialmailindent})% - }% - \pentry{specialmailrightindent}{% - the right indentation of the delivery method within the address field - (\autoref{sec:scrlttr2-experts.addressee}, - \DescPageRef{scrlttr2-experts.plength.specialmailrightindent})% - }% - \pentry{subjectaftervskip}{% - the vertical skip after the subject - (\autoref{sec:scrlttr2-experts.subject}, - \DescPageRef{scrlttr2-experts.plength.subjectaftervskip})% - }% - \pentry{subjectbeforevskip}{% - additional vertical skip before the subject - (\autoref{sec:scrlttr2-experts.subject}, - \DescPageRef{scrlttr2-experts.plength.subjectbeforevskip})% - }% - \pentry{subjectvpos}{% - the vertical distance of the subject from the top edge of the paper; if it - is 0, the position is calculated based on the - \DescRef{scrlttr2.option.subject} option - (\autoref{sec:scrlttr2-experts.subject}, - \DescPageRef{scrlttr2-experts.plength.subjectaftervskip})% - }% - \pentry{tfoldmarklength}{% - the length of the topmost horizontal fold mark - (\autoref{sec:scrlttr2-experts.foldmarks}, - \DescPageRef{scrlttr2-experts.plength.tfoldmarklength})% - }% - \pentry{tfoldmarkvpos}{% - the vertical distance of the topmost horizontal folding mark from the top - edge of the paper (\autoref{sec:scrlttr2-experts.foldmarks}, - \DescPageRef{scrlttr2-experts.plength.tfoldmarkvpos})% - }% - \pentry{toaddrheight}{% - the height of the address field (\autoref{sec:scrlttr2-experts.addressee}, - \DescPageRef{scrlttr2-experts.plength.toaddrheight})% - }% - \pentry{toaddrhpos}{% - the horizontal distance of the address field from left edge of the paper, - if the value is positive; if it is negative, the negative horizontal - distance of the address field from the right edge of the paper - (\autoref{sec:scrlttr2-experts.addressee}, - \DescPageRef{scrlttr2-experts.plength.toaddrhpos})% - }% - \pentry{toaddrindent}{% - the left and right indentation of the address within the address field - (\autoref{sec:scrlttr2-experts.addressee}, - \DescPageRef{scrlttr2-experts.plength.toaddrindent})% - }% - \pentry{toaddrvpos}{% - the vertical distance of the address field from the the top edge of the - paper (\autoref{sec:scrlttr2-experts.addressee}, - \DescPageRef{scrlttr2-experts.plength.toaddrvpos})% - }% - \pentry{toaddrwidth}{% - the width of the address field % - (\autoref{sec:scrlttr2-experts.addressee}, - \DescPageRef{scrlttr2-experts.plength.toaddrwidth})% - }% -\end{desclist} - -\begin{figure} - \centering - \includegraphics{plenDIN} - \caption{Schematic of the pseudo-lengths for a letter} - \label{fig:scrlttr2-experts.pseudoLength} -\end{figure} - - -\begin{Declaration} - \Macro{newplength}\Parameter{name} -\end{Declaration} -This\ChangedAt{v3.26}{\Class{scrlttr2}\and \Package{scrletter}} command -defines a new pseudo-length. The new pseudo-length is uniquely identified by -its \PName{name}. Each name can therefore be assigned only once. If you -attempt to redefine an existing pseudo-length, the commands exits with an -error message. - -\BeginIndex{Cmd}{@newplength}% -Since the ordinary user does not normally need to define pseudo-lengths, this -command was not a user instruction until \KOMAScript~3.26. Before then, -\Macro{@newplength} existed with the same functionality. This instruction still -exists for package authors.% -\EndIndexGroup - - -\begin{Declaration} - \Macro{Ifplength}\Parameter{pseudo-length}% - \Parameter{then-code}\Parameter{else-code} -\end{Declaration} -This\ChangedAt{v3.27}{\Class{scrlttr2}\and \Class{scrletter}} command can be -used to determine whether a \PName{pseudo-length} has been defined. The -\PName{then-code} is executed if the \PName{pseudo-length} is defined and not -\Macro{relax}. Otherwise the \PName{else-code} is executed. - -% Note: In the English manual this information is not \iffree{}{...}! -\BeginIndex{Cmd}{if@plength}% -For reasons of consistency only, the internal command \Macro{if@plength}, -with the identical meaning, exists for the use of package authors.% -\EndIndexGroup - - -\begin{Declaration} - \Macro{setplength}% - \OParameter{factor}\Parameter{pseudo-length}\Parameter{value}% - \Macro{addtoplength}% - \OParameter{factor}\Parameter{pseudo-length}\Parameter{value} -\end{Declaration} -Using \Macro{setplength}, you can assign the multiple of a -\PName{value} to a \PName{pseudo-length}. The \PName{factor} is given as an -optional argument (see also \DescRef{scrlttr2.cmd.setlengthtoplength}, -\autoref{sec:scrlttr2.pseudoLength}, -\DescPageRef{scrlttr2.cmd.setlengthtoplength}). - -With \Macro{addtoplength} you can add the multiple of a \PName{value} to a -\PName{pseudo-length}. Again, you can pass a \PName{factor} as an optional -argument. - -To assign or to add the multiple of one \PName{pseudo-length} to another -pseudo-length, use the \Macro{useplength} command (see -\autoref{sec:scrlttr2.pseudoLength}, \DescPageRef{scrlttr2.cmd.useplength}) -within the \PName{value}. To subtract the value of one \PName{pseudo-length} -from another \PName{pseudo-length}, you use should use at the same time a -minus sign or \PValue{-1} as the \PName{factor}. - -\BeginIndex{Cmd}{@setplength}% -\BeginIndex{Cmd}{@addtoplength}% -Since the ordinary user does not normally need to define pseudo-lengths, these -commands were not user instructions until \KOMAScript~3.26. Before then, -\Macro{@setplength} and \Macro{@addtoplength} existed with the -same functionality. These commands still exist for the use of package authors.% -\EndIndexGroup - -\begin{Declaration} - \Macro{setplengthtowidth} - \OParameter{factor}\Parameter{pseudo-length}\Parameter{content}% - \Macro{setplengthtoheight} - \OParameter{factor}\Parameter{pseudo-length}\Parameter{content}% - \Macro{setplengthtodepth} - \OParameter{factor}\Parameter{pseudo-length}\Parameter{content}% - \Macro{setplengthtototalheight} - \OParameter{factor}\Parameter{pseudo-length}\Parameter{content}% -\end{Declaration} -The\ChangedAt{v3.26}{\Class{scrlttr2}\and \Package{scrletter}} first three -commands essentially correspond with \Macro{settowidth}, -\Macro{settoheight}, and \Macro{settodepth} from the \LaTeX{} kernel, but set -\PName{pseudo-length}s instead of lengths. Like -\DescRef{\LabelBase.cmd.setplength}, these commands extend their \LaTeX{} -kernel equivalents with an optional \PName{factor}. They set a -\PName{pseudo-length} to the natural width, height or depth of the given -\PName{content}, multiplied by the optional \PName{factor}. The additional -command \Macro{setplengthtototalheight} sets the \PName{pseudo-length} to the -sum of the height and depth of \PName{content} multiplied by the optional -\PName{factor}.% -\EndIndexGroup - - -\subsection{Fold Marks} -\seclabel{foldmarks} -\BeginIndexGroup -\BeginIndex{}{fold marks}% -\index{marks>folding|see{fold marks}} - -Fold marks, or folding marks, are short horizontal lines at the left edge, and -short vertical lines at the upper edge of the paper. \KOMAScript{} currently -supports three configurable horizontal and one configurable vertical fold -marks. In addition, there is support for a hole-punch mark, or centre mark, -which cannot be shifted vertically. - -\begin{Declaration} - \PLength{tfoldmarkvpos}% - \PLength{mfoldmarkvpos}% - \PLength{bfoldmarkvpos} -\end{Declaration} -\KOMAScript{} recognises a total of three fold marks whose vertical position -can be configured. The distance of the top fold mark from the upper edge of -the paper is determined by the \PLength{tfoldmarkvpos} pseudo-length; the -distance of the middle fold mark, by the -\PLength{mfoldmarkvpos}\ChangedAt{v2.97e}{\Class{scrlttr2}} pseudo-length; the -distance of the bottommost fold mark, by \PLength{bfoldmarkvpos} -pseudo-length. With the addition of the hole-punch\Index{hole-punch mark} or -centre\Index{centre mark|see{hole-punch mark}} mark, there is yet a fourth -horizontal mark. This one is however always placed at the vertical centre of -the paper. -\iftrue% Umbruchkorrekturtext -There is no pseudo-length for this last mark because its vertical position is -not configurable. -\fi - -The\textnote{Attention!} top and bottom fold marks do not serve to divide the -paper exactly into equal thirds. Instead, the paper should be folded with -their help such that the address field can be seen in a window envelope. The -settings are therefore different depending on the \File{lco} file chosen. -Several such files are available offering predefined formats. One format -particularly worth noting is \Option{DINmtext}. This format assumes an -envelope format of C6/5 (also known as ``C6 long''). Letters written with this -option are typically not suited for C5 or C4 envelopes. - -The middle fold mark is not normally required for Western letters. In Japan, -however, a larger number of envelope formats exists, requiring one more fold -mark (see the Japanese \File{lco} files). Note that the terms ``top'', -``middle'', and ``bottom'' fold marks only represent a naming convention. In -fact, it is not required that \PLength{tfoldmarkvpos} must be smaller than -\PLength{mfoldmarkvpos}, which in turn must be smaller than -\PLength{bfoldmarkvpos}. If, though, one of the pseudo-lengths is zero, then -the corresponding fold mark will not be set even if the -\DescRef{scrlttr2.option.foldmarks}\IndexOption{foldmarks~=\PName{setting}}% -\important{\DescRef{scrlttr2.option.foldmarks}} option (see -\autoref{sec:scrlttr2.firstpage}, \DescPageRef{scrlttr2.option.foldmarks}) is -explicitly activated. -% -\EndIndexGroup - - -\begin{Declaration} - \PLength{tfoldmarklength}% - \PLength{mfoldmarklength}% - \PLength{bfoldmarklength}% - \PLength{pfoldmarklength} -\end{Declaration} -These\ChangedAt{v2.97e}{\Class{scrlttr2}} four pseudo-lengths determine the -lengths of the four horizontal fold marks. One\textnote{Attention!} feature is -particularly worth noting. If the length is given as zero, then the three -vertically configurable pseudo-lengths \PLength{tfoldmarklength}, -\PLength{mfoldmarklength} and \PLength{bfoldmarklength} are set to 2\Unit{mm}. -The length of the hole-punch mark, \PLength{pfoldmarklength}, however, is set -to 4\Unit{mm}.% -\EndIndexGroup - - -\begin{Declaration} - \PLength{foldmarkhpos} -\end{Declaration} -This pseudo-length gives the distance of all horizontal fold marks from the -left edge of the paper. Normally, this is 3.5\Unit{mm}. You\textnote{Hint!} -can change this value in your own \File{lco} file if you are using a printer -that has a wider unprintable left margin. Whether the fold marks are typeset -at all depends on the option \DescRef{scrlttr2.option.foldmarks}% -\important{\DescRef{scrlttr2.option.foldmarks}}% -\IndexOption{foldmarks~=\PName{setting}} (see -\autoref{sec:scrlttr2.firstpage}, \DescPageRef{scrlttr2.option.foldmarks}). -% -\EndIndexGroup - - -\begin{Declaration} - \PLength{lfoldmarkhpos} -\end{Declaration} -In\ChangedAt{v2.97e}{\Class{scrlttr2}} addition to the horizontal fold marks, -there is also a vertical fold mark. Its distance from the left margin is set -via the \PLength{lfoldmarkhpos} pseudo-length. This fold mark is used, for -example, in Japanese Chou- or You-format envelopes if you want to use them -with A4 paper. It can also be useful for envelopes in C6 format.% -\EndIndexGroup - - -\begin{Declaration} - \PLength{lfoldmarklength} -\end{Declaration} -The\ChangedAt{v2.97e}{\Class{scrlttr2}} \PLength{lfoldmarklength} -pseudo-length determines the length of the vertical fold mark. Once again, a -feature worth noting is that if the length is given as zero, a length of -4\Unit{mm} is actually used.% -\EndIndexGroup - - -\begin{Declaration} - \PLength{foldmarkvpos} -\end{Declaration} -This\ChangedAt{v2.97e}{\Class{scrlttr2}} pseudo-length determines the distance of -all vertical fold marks from the upper edge of the paper. Normally this is -3.5\Unit{mm}, but\textnote{Hint!} you can change the value in your own -\File{lco} file in case your printer has a wider unprintable -top margin. Whether or not the foldmarks are actually typeset depends on the -\DescRef{scrlttr2.option.foldmarks}% -\important{\DescRef{scrlttr2.option.foldmarks}}% -\IndexOption{foldmarks~=\PName{setting}} option (see -\autoref{sec:scrlttr2.firstpage}, \DescPageRef{scrlttr2.option.foldmarks}). -\iffree{At present there is only one vertical fold mark, called the left - vertical fold mark.}{}% -\EndIndexGroup - - -\begin{Declaration} - \PLength{foldmarkthickness} -\end{Declaration} -This\ChangedAt{v2.97c}{\Class{scrlttr2}} pseudo-length determines the -thickness of all fold marks. The default is 0.2\Unit{pt}, in other words a -very thin hairline. In\textnote{Hint!} particular, if the colour of the fold -marks is changed, this may not be enough.% -\EndIndexGroup -% -\EndIndexGroup - - -\subsection{Letterhead} -\seclabel{firstHead} -\BeginIndexGroup -\BeginIndex{}{letterhead}% - -The term letterhead refers here to all of the information concerning the -sender that appears above the recipient's address. Normally you would expect -that this information would be set through the page-style settings. In fact, -this was the case with the old letter class, \Class{scrlettr}. -But\textnote{Attention!} \Class{scrlttr2} and \Package{scrletter} output the -letterhead independently of the page style by means of the -\DescRef{scrlttr2.cmd.opening}\IndexCmd{opening} command. -% Fuellmaterial -\iftrue% - The letterhead is positioned absolutely, so that it is independent of the - type area. In fact, the first page of a letter, the page that holds the - letterhead, is set using the page style - \DescRef{scrlttr2.pagestyle.empty}\IndexPagestyle{empty}.% -\fi -% Ende des Fuellmaterials - - -\begin{Declaration} - \PLength{firstheadvpos} -\end{Declaration} -The \PLength{firstheadvpos} pseudo-length gives the distance between the top -edge of the paper and the start of the letterhead. This value is set -differently in the various predefined -\File{lco} files\textnote{\File{lco} file}\Index{lco file=\File{lco} file}. A -typical value is 8\Unit{mm}.% -\EndIndexGroup - - -\begin{Declaration} - \PLength{firstheadhpos} -\end{Declaration} -A positive value of the -\PLength{firstheadhpos}\ChangedAt{v3.05}{\Class{scrlttr2}} pseudo-length gives -the distance between the left edge of the paper and the start of the -letterhead. If\textnote{Attention!} the value is actually greater than or -equal to the paper width, -\Length{paperwidth}\important{\Length{paperwidth}}\IndexLength{paperwidth}, -the letterhead will be centred horizontally on the letterhead paper. A -negative value gives the distance between the right edge of the paper and the -right edge of the letterhead. If the value actually less than or equal to the -negative value of the width of the paper, the letterhead is placed flush with -the left edge of the type area. - -The default\textnote{Attention!} value is typically -\Length{maxdimen}\IndexLength{maxdimen}, which is the maximum allowed value of -a length. This results in horizontal centring.% -\EndIndexGroup - - -\begin{Declaration} - \PLength{firstheadwidth} -\end{Declaration} -The \PLength{firstheadwidth} pseudo-length gives the width of the letterhead. -This value is set differently in the various predefined \File{lco} -files\textnote{\File{lco} file}\Index{lco file=\File{lco} file}. While this -value usually depends on the paper width and the distance between the left -edge of the paper and the recipient's address field, it was the width of the -type area in \Option{KOMAold} and has a fixed value of 170\Unit{mm} in -\Option{NF}.% -\EndIndexGroup - - -\begin{Declaration} - \PLength{fromrulethickness}% - \PLength{fromrulewidth} -\end{Declaration} -As mentioned in the explanation of the -\DescRef{scrlttr2.option.fromrule}\IndexOption{fromrule} option in -\autoref{sec:scrlttr2.firstpage}, \DescPageRef{scrlttr2.option.fromrule}, you -can put a horizontal rule within or below the sender's address in the -predefined letterheads. If\textnote{Attention!} the \PLength{fromrulewidth} -pseudo-length has a value of 0\Unit{pt}, which is the default in the -predefined \File{lco} files, the length of this rule is calculated -automatically taking into account, for example, letterhead width or an -optional logo. You can adjust rule length manually in your own \File{lco} -files by setting this pseudo-length to positive values using -\Macro{setplength} (see \DescPageRef{scrlttr2-experts.cmd.setplength}). The -default thickness of the line\ChangedAt{v2.97c}{\Class{scrlttr2}}, -\PLength{fromrulethickness}, is 0.4\Unit{pt}.% -\EndIndexGroup -% -\EndIndexGroup - - -\subsection{Addressee} -\seclabel{addressee}% -\BeginIndexGroup -\BeginIndex{}{addressee} -\index{recipient|seealso{addressee}} - -The term \emph{addressee} normally refers only to the recipient's name and -address, which are output in an address field. Additional information, -however, can be placed within this address field, including the delivery -method, for example registered mail or special delivery. For window envelopes, -the return address also counts as part of the address field, as it will be -displayed in the address window. The address field directly follows the -letterhead. - -\begin{Declaration} - \PLength{toaddrvpos}% - \PLength{toaddrhpos} -\end{Declaration} -These pseudo-lengths define the vertical and horizontal distance of the -address field from the top-left corner of the paper. Values are set -differently in the various predefined \File{lco} files\textnote{\File{lco} -file}\Index{lco file=\File{lco} file}, according to standard envelope window -measures. For \PLength{toaddrhpos}, one property worth noting is that with -negative values, the offset is the distance from the right edge of the address -field to the right edge of the paper. You will find this, for instance, in -\Option{SN} or \Option{NF}. The smallest value of \PLength{toaddrvpos} is -found with \Option{DINmtext}. With this setting, the letterhead can easily -protrude into the address window. Whether the address field is output or not -depends on the \Option{addrfield} option (see -\autoref{sec:scrlttr2.firstpage}, \DescPageRef{scrlttr2.option.addrfield}).% -\EndIndexGroup - - -\begin{Declaration} - \PLength{toaddrheight} -\end{Declaration} -This pseudo-length defines the height of the address field, including the -delivery method. Whether the name and address of the recipient are vertically -centred in the address field, taking into account the presence or absence of -the delivery method, depends on the \DescRef{scrlttr2.option.addrfield} -option.% -\EndIndexGroup - - -\begin{Declaration} - \PLength{toaddrwidth} -\end{Declaration} -This pseudo-length defines the width of the address field. The various -predefined \File{lco} files\textnote{\File{lco} files}\Index{lco -file=\File{lco} files} use different settings according to the different -standards for window envelopes. Typical values are between 70\Unit{mm} and -100\Unit{mm}. -\begin{Example} - Suppose your printer has very wide, non-printable left and right margins of 15\Unit{mm}. - This means that the letterhead, the additional sender information, and the address field cannot - be completely printed if you use the \Option{SN} option. You therefore - create a new \File{lco} file with the following content: -\begin{lstcode} - \ProvidesFile{SNmmarg.lco} - [2002/06/04 v0.1 my lco] - \LoadLetterOption{SN} - \addtoplength{toaddrwidth}{% - -\useplength{toaddrhpos}} - \setplength{toaddrhpos}{-15mm} - \addtoplength{toaddrwidth}{% - \useplength{toaddrhpos}} - \endinput -\end{lstcode} - Then, until you can obtain a printer with smaller page margins, you - simply use the option \Option{SNmmarg} instead of \Option{SN}.% -\end{Example}% -% -\EndIndexGroup - - -\begin{Declaration} - \PLength{toaddrindent} -\end{Declaration} -Sometimes you do not want the address field to extend the full width of the -address window but to be indented a bit. You can set the amount of this -indentation with the \PLength{toaddrindent} pseudo-length. Typically, the -default value is 0\Unit{pt}. - -For\textnote{Attention!} the\ChangedAt{v3.03}{\Class{scrlttr2}} -\OptionValueRef{scrlttr2}{addrfield}{PP}\important{% - \OptionValueRef{scrlttr2}{addrfield}{PP}\\ - \OptionValueRef{scrlttr2}{addrfield}{image}\\ - \OptionValueRef{scrlttr2}{addrfield}{backgroundimage} -}\IndexOption{addrfield~=\textKValue{PP}}, -\OptionValueRef{scrlttr2}{addrfield}{image}% -\IndexOption{addrfield~=\textKValue{image}}, and -\OptionValueRef{scrlttr2}{addrfield}{backgroundimage}% -\IndexOption{addrfield~=\textKValue{backgroundimage}} settings (see -\autoref{sec:scrlttr2.firstpage}, \DescPageRef{scrlttr2.option.addrfield}) a -value of 0\Unit{pt} will be replaced by a value of 8\Unit{mm}. If you really -do not want any indentation, you can use a value of 1\Unit{sp} to set a -negligibly small indentation. Furthermore, \PLength{toaddrindent} is also used -for the distance to the right edge of the address window with the these -\Option{addrfield} settings.% -\EndIndexGroup - - -\begin{Declaration} - \PLength{backaddrheight} -\end{Declaration} -For window envelopes, the sender is often printed in a small font on one line -above the addressee. This sender information is called the return -address\textnote{return address}\Index{return address}, because it is visible -in the address window and will be used by the post office to return an -undeliverable letter to the sender. This return address, therefore, requires -only the information necessary for that purpose. - -The height reserved for the return address within the address window is given -by the \PLength{backaddrheight} pseudo-length. This value is typically -5\Unit{mm} in the predefined \File{lco} files\textnote{\File{lco} -file}\Index{}{lco file=\File{lco} file}. Whether to print the return address -at all depends on the \Option{addrfield} (see -\autoref{sec:scrlttr2.firstpage}, \DescPageRef{scrlttr2.option.addrfield}) and -\DescRef{scrlttr2.option.backaddress} options (see -\autoref{sec:scrlttr2.firstpage}, \DescPageRef{scrlttr2.option.backaddress}).% -\EndIndexGroup - - -\begin{Declaration} - \PLength{specialmailindent}% - \PLength{specialmailrightindent} -\end{Declaration} -You can print an optional delivery method between the return address and the -recipient's address. This field is printed only if the -\DescRef{scrlttr2.variable.specialmail} variable has non-empty contents. Its -alignment is determined by the \PLength{specialmailindent} and -\PLength{specialmailrightindent} pseudo-lengths, which specify the left and -right indentation, respectively. In the predefined \File{lco} -files\textnote{\File{lco} file}\Index{lco file=\File{lco} file}, -\PLength{specialmailindent} is set to rubber length \Macro{fill}, while -\PLength{specialmailrightindent} is set to 1\Unit{em}. Thus the delivery -method is set 1\Unit{em} from the address field's right margin.% -\EndIndexGroup - - -\begin{Declaration} - \PLength{PPheadheight}% - \PLength{PPheadwidth} -\end{Declaration} -The \PLength{PPheadheight}\ChangedAt{v3.03}{\Class{scrlttr2}} pseudo-length -specifies the height reserved for the postpaid header at the start of the -address field for the two options -\OptionValueRef{scrlttr2}{addrfield}{PP}\important{% - \OptionValueRef{scrlttr2}{addrfield}{PP}\\ - \OptionValueRef{scrlttr2}{addrfield}{backgroundimage}}% -\IndexOption{addrfield~=\textKValue{PP}} and -\OptionValueRef{scrlttr2}{addrfield}{backgroundimage}% -\IndexOption{addrfield~=\textKValue{backgroundimage}}. The -\PLength{PPheadwidth} pseudo-length is used only with -\OptionValueRef{scrlttr2}{addrfield}{PP} (see -\autoref{sec:scrlttr2.firstpage}, \DescPageRef{scrlttr2.option.addrfield}) and -gives the width of the left-hand field within the postpaid header, which -contains the postpaid logo, the postal code, and the location. The width of -the right-hand field containing the sender's code and the priority is the -remaining width. - -\KOMAScript{}\textnote{Attention!} automatically changes the default value of -0\Unit{mm} for the \PLength{PPheadheight} pseudo-length to 20.74\Unit{pt}, and -\PLength{PPheadwidth}'s default from 0\Unit{mm} to 42\Unit{mm}.% -% -\EndIndexGroup - - -\begin{Declaration} - \PLength{PPdatamatrixvskip} -\end{Declaration} -This\ChangedAt{v3.03}{\Class{scrlttr2}} pseudo-length specifies the vertical -distance between the postpaid header and the data array used with -\OptionValueRef{scrlttr2}{addrfield}{PP}% -\important{\OptionValueRef{scrlttr2}{addrfield}{PP}}% -\IndexOption{addrfield~=\PValue{PP}} (see \autoref{sec:scrlttr2.firstpage}, -\DescPageRef{scrlttr2.option.addrfield}). \KOMAScript{}\textnote{Attention!} -automatically changes the default value of 0\Unit{mm} to 9\Unit{mm}. The data -matrix is flush right within the postpaid header.% -\EndIndexGroup -% -\EndIndexGroup - - -\subsection{Extra Sender Information} -\seclabel{locationField} -\BeginIndexGroup -\BeginIndex{}{extra sender information} -\index{sender>extra information|see{extra sender information}} - -Often, especially with business letters, there is not enough space in the -letterhead and footer to accommodate all the information about the sender that -you want to include. For such additional information, you can use the space -next to the addressee. In this manual, this field is called the -\emph{extra sender information}. In earlier versions of this manual, it -was called the \emph{sender's extension} or the \emph{location field}. - -\begin{Declaration} - \PLength{locheight}% - \PLength{lochpos}% - \PLength{locvpos}% - \PLength{locwidth} -\end{Declaration} -The \PLength{locwidth} and -\PLength{locheight}\ChangedAt{v2.97d}{\Class{scrlttr2}} pseudo-lengths set the -width and height of the extra-sender-information field. The \PLength{lochpos} -and \PLength{locvpos} pseudo-lengths determine the distances from the -top-right edge of the paper. These values are typically set to 0\Unit{pt} in -the predefined \File{lco} files. These\textnote{Attention!} zero-length values -have a special meaning. They result in the actual values being set within -\DescRef{scrlttr2.cmd.opening} based on the paper width, the address-window -width, the address window's distance from the top-left edge of the paper, and -the \DescRef{scrlttr2.option.locfield} option (see -\autoref{sec:scrlttr2.firstpage}, \DescPageRef{scrlttr2.option.locfield}). As -is the case for \PLength{toaddrhpos}, negative values of \PLength{lochpos} -also take on a special meaning. Instead of referring to the distance from the -right edge of the paper, \PLength{lochpos} then refers to the distance from -the left edge of the paper. The meaning is thus the opposite of that of -\PLength{toaddrhpos} (see \autoref{sec:scrlttr2-experts.addressee}, -\DescPageRef{scrlttr2-experts.plength.toaddrhpos}).% -\EndIndexGroup -% -\EndIndexGroup - - -\subsection{Reference Line} -\seclabel{refLine}% -\BeginIndexGroup -\BeginIndex{}{reference line} -\index{business line|see{reference line}} - -The reference line can actually be longer than just one line. It is printed -only if at least one of variables for the reference line is not empty. Only -non-empty fields will be printed. To\textnote{Hint!} set a seemingly empty -field, you can provide content for the variable that appears empty, such as -\Macro{mbox}\Parameter{}. If the reference line is omitted, the description -and contents of the \DescRef{scrlttr2.variable.date} variable are printed in -its place. You can find information about adding variables to or removing them -from the reference line in \autoref{sec:scrlttr2-experts.variables}, -\DescPageRef{scrlttr2-experts.cmd.removereffields}. - - -\begin{Declaration} - \PLength{refvpos} -\end{Declaration} -This pseudo-length specifies the distance from the upper edge of the paper to -the reference line. Its value is set differently in the various predefined -\File{lco} files\textnote{\File{lco} file}\Index{lco file=\File{lco} file}. -Typical values are between 80.5\Unit{mm} and 98.5\Unit{mm}.% -\EndIndexGroup - - -\begin{Declaration} - \PLength{refwidth}% - \PLength{refhpos} -\end{Declaration} -The \PLength{refwidth} pseudo-length specifies the width available for the -reference line. Its value is typically set to 0\Unit{pt} in the predefined -\File{lco} files\textnote{\File{lco} file}\Index{lco file=\File{lco} file}. -This\textnote{Attention!} value has a special meaning. In no way does it -indicate that there is no available width for the reference line. Instead, it -indicates that the width will be calculated within the -\DescRef{scrlttr2.cmd.opening}\IndexCmd{opening} command. This calculated -width then depends on the value of the \DescRef{scrlttr2.option.refline}% -\important{\DescRef{scrlttr2.option.refline}}% -\IndexOption{refline~=\PName{setting}} options (see -\autoref{sec:scrlttr2.firstpage}, \DescPageRef{scrlttr2.option.refline}). At -the same time, \PLength{refhpos} will also be set according to this option. -With \OptionValueRef{scrlttr2}{refline}{wide}% -\IndexOption{refline~=\textKValue{wide}}, the reference fields line is -centred, while with \OptionValueRef{scrlttr2}{refline}{narrow}% -\IndexOption{refline~=\textKValue{narrow}} it is aligned flush left with the -type area. - -If \PLength{refwidth} is not zero, the width of the reference line is not -determined by the \DescRef{scrlttr2.option.refline} option, and so -\PLength{refhpos} specifies the distance of the reference line from the left -edge of the paper. If\textnote{Attention!} this distance is zero, the the -reference line is placed so that the ratio between its distances from the left -and right edges of the paper corresponds to the ratio of distance of the type -area from the left and right edges of the paper. Thus, for a type area -horizontally centred on the paper, the reference line will also be centred. - -As a rule, these special cases are likely of little interest to the normal -user. The\textnote{Attention!} simplest rule is as follows: either -\PLength{refhpos} remains zero, and so the width and alignment of the -reference line are determined with the \DescRef{scrlttr2.option.refline} -option, or the user sets both \PLength{refwidth} and \PLength{refhpos}.% -\EndIndexGroup - - -\begin{Declaration} - \PLength{refaftervskip} -\end{Declaration} -This pseudo-length specifies the vertical skip to be inserted beneath the -reference line. The value is set in the predefined \File{lco} -files\textnote{\File{lco} file}\Index{lco file=\File{lco} file}. It directly -affects the height of the text area on the first page. A typical value is -between one and two lines.% -\EndIndexGroup -% -\EndIndexGroup - - -\subsection{Subject} -\seclabel{subject}% -\BeginIndexGroup -\BeginIndex{}{subject} - -Different countries have different conventions for placing the subject line of -a letter. Some place it before the opening phrase; others place it after. Some -professional groups even want it before the reference line. - -\begin{Declaration} - \PLength{subjectvpos} -\end{Declaration} -\ChangedAt{v3.01}{\Class{scrlttr2}}% -If\textnote{Attention!} the value of this pseudo-length is 0\Unit{pt}, the -\DescRef{scrlttr2.option.subject}\important{\DescRef{scrlttr2.option.subject}}% -\IndexOption{subject~=\PName{Einstellung}} option (see -\autoref{sec:scrlttr2.firstpage}, \DescPageRef{scrlttr2.option.subject}) -determines the position of the subject. Any other value defines the distance -between the top edge of the paper and the subject. In this -case\textnote{Hint!}, you should ensure that there is enough space available -that overlapping with other elements is unlikely. -\begin{Example} - A few professionals prefer to have the subject above the reference line. For - this, you can specify the position as follows, which also changes the - position of the reference line itself: -\begin{lstcode} - \ProvidesFile{lawsubj.lco} - [2008/11/03 lawyers lco file] - \setplength{subjectvpos}{\useplength{refvpos}} - \addtoplength{refvpos}{3\baselineskip} - \endinput -\end{lstcode} - If you want to leave at least one empty line between the subject and the - reference, you have space for a maximum of two lines. -\end{Example} -\EndIndexGroup - - -\begin{Declaration} - \PLength{subjectbeforevskip}% - \PLength{subjectaftervskip} -\end{Declaration} -\ChangedAt{v3.01}{\Class{scrlttr2}}% -If the subject is placed not absolutely but before or after the salutation, -you can insert additional vertical space before and after the subject. The -space before the subject may interfere with other distances, such as the -automatic distance of one line after the title. Therefore the default is to -use no additional space here. The default of the class and the package for the -space after the subject is two lines.% -\EndIndexGroup -% -\EndIndexGroup - - -\subsection{Closing} -\seclabel{closing} -\BeginIndexGroup -\BeginIndex{}{closing} - -The closing of a letter consists of three parts: In addition to the closing -phrase, there is a hand-written signature and a printed text such as a name, -which acts as a kind of explanation of the hand-written signature. - -\begin{Declaration} - \PLength{sigindent}% - \PLength{sigbeforevskip} -\end{Declaration} -The closing phrase\Index{closing>phrase}\Index{signature} and signature -explanation are typeset in a box whose width is determined by the length of -the longest line of the closing phrase or explanation. - -The box will be indented by the distance specified in the \PLength{sigindent} -pseudo-length. In the predefined \File{lco} files\textnote{\File{lco} -file}\Index{lco file=\File{lco} file}, this length is set to 0\Unit{mm}. - -Between the closing phrase and the signature explanation, a vertical skip is -inserted whose height is defined in the \PLength{sigbeforevskip} -pseudo-length. In the predefined \File{lco} files\textnote{\File{lco} -file}\Index{lco file=\File{lco} file} this value is set to two lines. In this -space you can then write your signature.% -\iffalse% Umbruchkorrekturtext -\ If you decide to include a facsimile of your signature in the -\DescRef{scrlttr2.variable.signature}\IndexVariable{signature}% -\important{\DescRef{scrlttr2.variable.signature}} with the -\Package{graphicx}\IndexPackage{graphicx} package, it would be useful -to reduce the value of \PLength{sigbeforevskip} and thus the gap between -the closing phrase and the signature.% -\fi% -\EndIndexGroup -% -\EndIndexGroup - - -\subsection{Letterhead Page Footer} -\seclabel{firstFoot}% -\BeginIndexGroup -\BeginIndex{}{letterhead page>footer}% - -The first page of a letter, the letterhead page, contains not just its own -header, the letterhead, but also its own footer\Index{footer>letterhead -page}\Index{footer}. Just like the letterhead, it will be set not by the page -style but directly within \DescRef{scrlttr2.cmd.opening}\IndexCmd{opening}% -\important{\DescRef{scrlttr2.cmd.opening}}. - -\begin{Declaration} - \PLength{firstfootvpos} -\end{Declaration} -This pseudo-length gives the distance from the top of the paper to the footer -of the letterhead page. It also ensures that the text area does not protrude -into the footer. To do so, the height of the text area on the first page will -be decreased, if necessary, using -\Macro{enlargethispage}\IndexCmd{enlargethispage}% -\important{\Macro{enlargethispage}}. The -\DescRef{scrlttr2.option.enlargefirstpage}% -\important{\DescRef{scrlttr2.option.enlargefirstpage}} option (see -\autoref{sec:scrlttr2.firstpage}, -\DescPageRef{scrlttr2.option.enlargefirstpage}) can also ensure that the -height of the text area is increased, if necessary. Thus, the distance between -text area and the letterhead page footer can be reduced to the value of the -\Length{footskip}\IndexLength{footskip}\important{\Length{footskip}} length. - -With\textnote{Attention!} the compatibility option -set\ChangedAt{v2.9t}{\Class{scrlttr2}} to versions up to -2.9t\IndexOption{version~=\PValue{2.9t}} (see -\DescRef{scrlttr2.option.version} in -\autoref{sec:scrlttr2.compatibilityOptions}, -\DescPageRef{scrlttr2.option.version}) the footer is set independently of the -type area in all predefined \File{lco} files\textnote{\File{lco} -file}\Index{lco file=\File{lco} file} (see \autoref{sec:scrlttr2.lcoFile}) -except for \Option{KOMAold} and \Option{NF}. Thus the -\DescRef{scrlttr2.option.enlargefirstpage}% -\important{\DescRef{scrlttr2.option.enlargefirstpage}} option has no effect. -From version 2.9u on, the footer is placed at the bottom edge of the paper. -Thus, the height of the letterhead page's type area may also depend on the -\DescRef{scrlttr2.option.enlargefirstpage} option. - -If the letter footer is deactivated with the -\OptionValueRef{scrlttr2}{firstfoot}{false}% -\important{\OptionValueRef{scrlttr2}{firstfoot}{false}}% -\IndexOption{firstfoot~=\PValue{false}}\ChangedAt{v2.97e}{\Class{scrlttr2}} -option (see \autoref{sec:scrlttr2.firstpage}, -\DescPageRef{scrlttr2.option.firstfoot}), the setting of -\PLength{firstfootvpos} is ignored, and instead -\Length{paperheight}\IndexLength{paperheight} is applied. There remains then a -minimum bottom margin of length \Length{footskip}\IndexLength{footskip}.% -\EndIndexGroup - - -\begin{Declaration} - \PLength{firstfoothpos} -\end{Declaration} -\ChangedAt{v3.05}{\Class{scrlttr2}}% -A\textnote{Attention!} positive value of the \PLength{firstfoothpos} -pseudo-length specifies the distance from the left edge of the paper to the -letterhead page footer. If the value is greater than or equal to the paper -width, \Length{paperwidth}\IndexLength{paperwidth}, the footer is centred -horizontally on the letterhead page. But if the value is less than or equal to -the negative width of the paper, the footer is placed flush with the left edge -of the typing area. - -The typical default for this value is \Length{maxdimen}\IndexLength{maxdimen}, -which is the maximum possible value for a length. This results in horizontal -centring.% -\EndIndexGroup - - -\begin{Declaration} - \PLength{firstfootwidth} -\end{Declaration} -This pseudo-length specifies the width of the footer of the first page of the -letter, that is the letterhead page. The value in the predefined \File{lco} -files\textnote{\File{lco} file}\Index{lco file=\File{lco} file} matches -\PLength{firstheadwidth}\important{\PLength{firstheadwidth}}% -\IndexPLength{firstheadwidth}.% -% -\EndIndexGroup -% -\EndIndexGroup -% -\EndIndexGroup - - \section{Variables for Experienced Users} \seclabel{variables} \BeginIndexGroup @@ -1195,9 +97,9 @@ line\Index{reference line}. \begin{Declaration} \Macro{newkomavar}\OParameter{description}\Parameter{name}% \Macro{newkomavar*}\OParameter{description}\Parameter{name}% + \Macro{addtoreffields}\Parameter{name} \Macro{removereffields}% \Macro{defaultreffields}% - \Macro{addtoreffields}\Parameter{name} \end{Declaration} \Macro{newkomavar} defines a new variable. This variable is referenced as \PName{name}. Optionally, you can define a \PName{description} for the @@ -1281,8 +183,8 @@ with \begin{Declaration} - \Macro{ifkomavarempty}\Parameter{name}\Parameter{true}\Parameter{false}% - \Macro{ifkomavarempty*}\Parameter{name}\Parameter{true}\Parameter{false} + \Macro{Ifkomavarempty}\Parameter{name}\Parameter{true}\Parameter{false}% + \Macro{Ifkomavarempty*}\Parameter{name}\Parameter{true}\Parameter{false} \end{Declaration} It is important to know that the content of the variable will be expanded as far as this is possible with \Macro{edef}. If this results in spaces or @@ -1312,12 +214,12 @@ variable is added as parameter to the \PName{command}.% The \Macro{foreachnonemptykomavar} command does the same but only for those variables that are not empty in sense of -\DescRef{\LabelBase.cmd.ifkomavarempty}. Empty variables in the \PName{list of +\DescRef{\LabelBase.cmd.Ifkomavarempty}. Empty variables in the \PName{list of variables} are ignored. By contrast, the \Macro{foreachemptykomavar} command executes the \PName{command} only for variables that are empty in sense of -\DescRef{\LabelBase.cmd.ifkomavarempty}. Accordingly, non-empty variables are +\DescRef{\LabelBase.cmd.Ifkomavarempty}. Accordingly, non-empty variables are ignored. The \Macro{foreachkomavarifempty} command is a kind of combination of the two @@ -1618,6 +520,8 @@ limitations of \TeX. \BeginIndexGroup \BeginIndex{}{languages}% +% TODO: New translation of the shorter into in German manual should be used. +% :ODOT The \Class{scrlttr2} class and the \Package{scrletter} package support many languages. These include German\Index{language>German} (\PValue{german} for the old German orthography, \PValue{ngerman} for the new orthography; @@ -1652,7 +556,7 @@ There\textnote{Attention!} is one more point to note about language-switching packages. The \Package{french}\IndexPackage{french}\important{\Package{french}} package (see \cite{package:french}) makes changes well beyond redefining the terms in -\autoref{tab:scrlttr2-experts.languageTerms}. For instance, it redefines the +\autoref{tab:\LabelBase.languageTerms}. For instance, it redefines the \DescRef{scrlttr2.cmd.opening} command, since the package simply assumes that \DescRef{scrlttr2.cmd.opening} is always defined as it is in the standard \Class{letter} class. This, however, is not the case with \KOMAScript{}. The @@ -1692,7 +596,7 @@ manner.% \fi \fi -\iftrue +\iffalse It cannot be ruled out that similar problems will not occur with other languages or packages. For German and English, however, there are currently no known problems with the \Package{babel} package. @@ -1729,7 +633,7 @@ described in \Macro{begin}\PParameter{document}. Therefore they are not available in the preamble and cannot be redefined there. The default settings for \Option{english} and \Option{ngerman} are listed in -\autoref{tab:scrlttr2-experts.languageTerms}.% +\autoref{tab:\LabelBase.languageTerms}.% \EndIndexGroup %\iffree{}{\clearpage}% Siehe Kommentar zur Tabelle @@ -1764,8 +668,8 @@ preamble and cannot be redefined there. The default settings for \Macro{captionsUSenglish} \end{Declaration} If you change the language of a letter, the language-dependent terms listed in -\autoref{tab:scrlttr2-experts.languageTerms}, -\autopageref{tab:scrlttr2-experts.languageTerms} are redefined using these +\autoref{tab:\LabelBase.languageTerms}, +\autopageref{tab:\LabelBase.languageTerms} are redefined using these commands. If your language-switching package does not support this, you can also use the above commands directly. % @@ -1780,7 +684,7 @@ also use the above commands directly. Defaults for language-dependent terms for the languages \Option{english} and \Option{ngerman}, if they are not already defined by the packages used for language switching% - \label{tab:scrlttr2-experts.languageTerms}% + \label{tab:\LabelBase.languageTerms}% }[l] \begin{tabular}[t]{lll} \toprule @@ -1901,7 +805,7 @@ The exact format can be found in \autoref{tab:date}.% \label{tab:date} \end{table} % -\section{Obsolete Commands in \Class{scrlttr2}} +\section{Obsolete Commands} \seclabel{obsolete} \BeginIndexGroup diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrlttr2.tex b/macros/latex/contrib/koma-script/source-doc/english/scrlttr2.tex index 81923f666c..1c0a82a440 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scrlttr2.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scrlttr2.tex @@ -7,7 +7,7 @@ % 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 +% https://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. % @@ -23,7 +23,7 @@ % 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 +% https://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. % @@ -46,14 +46,14 @@ % ============================================================================ \KOMAProvidesFile{scrlttr2.tex}% - [$Date: 2019-10-10 10:25:29 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-12-03 09:41:21 +0100 (Tue, 03 Dec 2019) $ KOMA-Script guide (chapter: scrlttr2)] \translator{Harald Bongartz\and Georg Grandke\and Raimund Kohl\and Jens-Uwe Morawski\and Stephan Hennig\and Gernot Hassenpflug\and Markus Kohm\and Karl Hagen} -% Date of the translated German file: 2019-10-10 +% Date of the translated German file: 2019-12-03 \chapter{Letters with the \Class{scrlttr2} Class or the \Package{scrletter} Package} @@ -97,6 +97,27 @@ affect the page styles and are explicitly documented (see explicitly mentioned, everything that is documented for \Class{scrlttr2} applies without change. +\LoadCommonFile{options} % \section{Early or Late Selection of Options} + +\LoadCommonFile{compatibility} % \section{Compatibility with Earlier Versions of + % \KOMAScript{}} + +\LoadCommonFile{draftmode} % \section{Draft-Mode} + +\LoadCommonFile{typearea} % \section{Page Layout} + +For letters, it is normally not useful to distinguish one-sided and two-sided +printing. Since letters are not usually bound, each page of a letter will be +viewed on its own. This is also true even if both the letter is printed on +both sides of the paper. Vertical adjustment usually does not matter for +letters either. If you nevertheless need it, or want to understand what it is, +please refer to the commands +\DescRef{maincls.cmd.raggedbottom}\IndexCmd{raggedbottom} and +\DescRef{maincls.cmd.flushbottom}\IndexCmd{flushbottom} explained in +\autoref{sec:maincls.typearea} on \DescPageRef{maincls.cmd.flushbottom}.% +% +\EndIndexGroup + \section{Variables} \seclabel{variables}% @@ -373,32 +394,34 @@ about defining your own variables.% \begin{Declaration} - \Macro{ifkomavar}\Parameter{name}\Parameter{then code}\Parameter{else code} + \Macro{Ifkomavar}\Parameter{name}\Parameter{then code}\Parameter{else code} \end{Declaration} -With\ChangedAt{v3.03}{\Class{scrlttr2}} this command, you can determine if a -variable has already been defined. The \PName{then code} will be executed only -if the variable already exists. The variable's contents will not be examined -and so can be empty. The \PName{else code} will be executed if the variable -does not exist. Such tests can be useful, for example, if your own variables -are defined in one \File{lco} file\Index{lco file=\File{lco} file} (see -\autoref{sec:\LabelBase.lcoFile} starting at +With\ChangedAt{v3.03}{\Class{scrlttr2}}% +\ChangedAt{v3.28}{\Class{scrlttr2}\and \Package{scrletter}} this command, you +can determine if a variable has already been defined. The \PName{then code} +will be executed only if the variable already exists. The variable's contents +will not be examined and so can be empty. The \PName{else code} will be +executed if the variable does not exist. Such tests can be useful, for +example, if your own variables are defined in one \File{lco} file\Index{lco + file=\File{lco} file} (see \autoref{sec:\LabelBase.lcoFile} starting at \autopageref{sec:\LabelBase.lcoFile}) but used in another \File{lco} file only if they exist.% \EndIndexGroup \begin{Declaration} - \Macro{ifkomavarempty}\Parameter{name}\Parameter{then code}% + \Macro{Ifkomavarempty}\Parameter{name}\Parameter{then code}% \Parameter{else code}% - \Macro{ifkomavarempty*}\Parameter{name}\Parameter{then code}% + \Macro{Ifkomavarempty*}\Parameter{name}\Parameter{then code}% \Parameter{else code} \end{Declaration} -With\ChangedAt{v2.9i}{\Class{scrlttr2}} these commands, you can determine -whether either the content or the description of a variable is empty. The -\PName{then code} will be executed if the expanded content or the expanded -description of the \PName{name} variable is empty. Otherwise, the \PName{else -code} will be executed. The starred variant tests the variable's description, -while the normal variant tests its contents.% +With\ChangedAt{v2.9i}{\Class{scrlttr2}}% +\ChangedAt{v3.28}{\Class{scrlttr2}\and \Package{scrletter}} these commands, +you can determine whether either the content or the description of a variable +is empty. The \PName{then code} will be executed if the expanded content or +the expanded description of the \PName{name} variable is empty. Otherwise, the +\PName{else code} will be executed. The starred variant tests the variable's +description, while the normal variant tests its contents.% \EndIndexGroup % \EndIndexGroup @@ -417,26 +440,332 @@ the ability to process such lengths stored in macros with commands similar to those used to handle real lengths. \KOMAScript{} calls lengths that are actually stored in macros \emph{pseudo-lengths}. -You can find a list of all pseudo-lengths defined by \Class{scrlttr2} in -\autoref{tab:scrlttr2-experts.pseudoLength}, -\autopageref{tab:scrlttr2-experts.pseudoLength}. A graphical representation of -the main pseudo-lengths for the letterhead page is given in -\autoref{fig:scrlttr2-experts.pseudoLength}. The dimensions used in the figure -correspond to the default settings of \Class{scrlttr2}. More detailed -descriptions of the individual pseudo-lengths are found in the individual -sections of this chapter. +Note\textnote{Attention!} that even though these pseudo-lengths are internally +implemented as macros, the commands for pseudo-length management expect only +the names of the pseudo-lengths not the macros representing the +pseudo-lengths. The names of pseudo-lengths are written without the initial +backslash, like the names of \LaTeX{} counters and unlike macros or \LaTeX{} +lengths. + +\begin{Explain} + Historical \TeX{} works with a fixed number of registers. There are + registers for tokens, for boxes, for counters, for skips, and for + dimensions. Overall there are 256 registers for each of these + categories. For \LaTeX{} lengths, which are defined with \Macro{newlength}, + skip registers are used. Once all these registers are in use, you can not + define any more lengths. Both \Class{scrlttr2} and \Package{scrletter} would + normally use more than 20 of these registers for the first page + alone. \LaTeX{} itself already uses 40 of these registers. The + \hyperref[cha:typearea]{\Package{typearea}}% + \IndexPackage{typearea} package needs some of them too; thus, approximately + a quarter of these precious registers would already be in use. For this + reason, in 2002 \Class{scrlttr2} stores letter-specific lengths in macros + instead of lengths. + + Anyone who wants to argue that the recommended \LaTeX{} installation with + \eTeX{}, which is required for \KOMAScript{} anyway, no longer suffers from + the above-mentioned limitation would be right. However, that improvement + came too late for \Class{scrlttr2}. With \Package{scrletter}, the concept of + psuedo-lengths was adopted for reasons of compatibility. +\end{Explain} + +The pseudo-lengths defined and uses by \KOMAScript{} are listed in +\autoref{tab:\LabelBase.pseudoLength}, which also provides cross +references to the detailed descriptions of each pseudo-lengths in the +following sub-sections. + +A schematic display of the most important distances of the letterhead page is +shown in \autoref{fig:\LabelBase.pseudoLength} on +\autopageref{fig:\LabelBase.pseudoLength}. In addition to the +pseudo-lengths for the configurable distances, some non-configurable lengths +are also shown in light gray. For the sake of clarity, however, some rarely +required pseudo-lengths have been omitted. +% +\begin{desclist} + \renewcommand{\abovecaptionskipcorrection}{-\normalbaselineskip}% + \desccaption{% + Pseudo-lengths provided by \Class{scrlttr2} and \Package{scrletter}% + \label{tab:\LabelBase.pseudoLength}% + }{% + Pseudo-lengths provided by \Class{scrlttr2} and \Package{scrletter} + (\emph{continued})% + }% + \pentry{backaddrheight}{% + the height of the return address at the upper edge of the address field + (\autoref{sec:\LabelBase.addressee}, + \DescPageRef{\LabelBase.plength.backaddrheight})% + }% + \pentry{bfoldmarklength}{% + the length of the bottommost fold mark + (\autoref{sec:\LabelBase.foldmarks}, + \DescPageRef{\LabelBase.plength.bfoldmarkvpos})% + }% + \pentry{bfoldmarkvpos}{% + the vertical distance of the bottommost fold mark from the top edge of the + paper (\autoref{sec:\LabelBase.foldmarks}, + \DescPageRef{\LabelBase.plength.bfoldmarkvpos})% + }% + \pentry{firstfoothpos}{% + the horizontal distance of the letterhead page footer from the left edge + of the paper; values greater than the width of the paper or less than the + negative value of the width of the paper activate special handling % + (\autoref{sec:\LabelBase.firstFoot}, + \DescPageRef{\LabelBase.plength.firstfoothpos})% + }% + \pentry{firstfootvpos}{% + the vertical distance of letterhead page footer from the top edge of the + paper (\autoref{sec:\LabelBase.firstFoot}, + \DescPageRef{\LabelBase.plength.firstfootvpos})% + }% + \pentry{firstfootwidth}{% + the width of the letterhead page footer + (\autoref{sec:\LabelBase.firstFoot}, + \DescPageRef{\LabelBase.plength.firstfootwidth})% + }% + \pentry{firstheadhpos}{% + the horizontal distance of the letterhead from the left edge of the paper; + values greater than the width of the paper or less than the negative value + of the width of the paper activate special handling + (\autoref{sec:\LabelBase.firstHead}, + \DescPageRef{\LabelBase.plength.firstheadhpos})% + }% + \pentry{firstheadvpos}{% + the vertical distance of the letterhead from the top edge of the paper + (\autoref{sec:\LabelBase.firstHead}, + \DescPageRef{\LabelBase.plength.firstheadvpos})% + }% + \pentry{firstheadwidth}{% + the width of the letterhead (\autoref{sec:\LabelBase.firstHead}, + \DescPageRef{\LabelBase.plength.firstheadwidth})% + }% + \pentry{foldmarkhpos}{% + the horizontal distance of the horizontal fold marks from the left edge of + the paper (\autoref{sec:\LabelBase.foldmarks}, + \DescPageRef{\LabelBase.plength.foldmarkhpos})% + }% + \pentry{foldmarkvpos}{% + the vertical distance of the vertical fold marks from the top edge of the + paper (\autoref{sec:\LabelBase.foldmarks}, + \DescPageRef{\LabelBase.plength.foldmarkvpos})% + }% + \pentry{fromrulethickness}{% + the thickness of an optional horizontal rule in the letterhead + (\autoref{sec:\LabelBase.firstHead}, + \DescPageRef{\LabelBase.plength.fromrulethickness})% + }% + \pentry{fromrulewidth}{% + the length of an optional horizontal rule in the letterhead + (\autoref{sec:\LabelBase.firstHead}, + \DescPageRef{\LabelBase.plength.fromrulewidth})% + }% + \pentry{lfoldmarkhpos}{% + the horizontal distance of the vertical fold mark from the left edge of + the paper (\autoref{sec:\LabelBase.foldmarks}, + \DescPageRef{\LabelBase.plength.lfoldmarkhpos})% + }% + \pentry{lfoldmarklength}{% + the length of the vertical fold mark + (\autoref{sec:\LabelBase.foldmarks}, + \DescPageRef{\LabelBase.plength.lfoldmarklength})% + }% + \pentry{locheight}{% + the height of the field containing the additional sender information if + the value is not 0; if it is 0, \PLength{toaddrheight} is used instead + (\autoref{sec:\LabelBase.locationField}, + \DescPageRef{\LabelBase.plength.locheight})% + }% + \pentry{lochpos}{% + the horizontal distance of the field containing the additional sender + information; if the value is positive, the distance is measured from the + right paper edge; if negative, from the left paper edge; if 0, the + negative value of \PLength{toaddrhpos} is used instead + (\autoref{sec:\LabelBase.locationField}, + \DescPageRef{\LabelBase.plength.lochpos})% + }% + \pentry{locvpos}{% + the vertical distance of the field containing the additional sender + information from the top edge of the paper if the value is not 0; if it is + 0, \PLength{toaddrvpos} is used instead + (\autoref{sec:\LabelBase.locationField}, + \DescPageRef{\LabelBase.plength.locvpos})% + }% + \pentry{locwidth}{% + the width of the field containing the additional sender information; if it + is 0, the width is calculated automatically based on the + \DescRef{\LabelBase.option.locfield} option described in + \autoref{sec:\LabelBase.firstpage}, \DescPageRef{\LabelBase.option.locfield} % + (\autoref{sec:\LabelBase.locationField}, + \DescPageRef{\LabelBase.plength.locwidth})% + }% + \pentry{mfoldmarklength}{% + the length of the middle horizontal fold mark + (\autoref{sec:\LabelBase.foldmarks}, + \DescPageRef{\LabelBase.plength.mfoldmarklength})% + }% + \pentry{mfoldmarkvpos}{% + the vertical distance of the middle horizontal fold mark from the top edge + of the paper (\autoref{sec:\LabelBase.foldmarks}, + \DescPageRef{\LabelBase.plength.mfoldmarkvpos})% + }% + \pentry{pfoldmarklength}{% + the length of the hole-punch mark + (\autoref{sec:\LabelBase.foldmarks}, + \DescPageRef{\LabelBase.plength.pfoldmarklength})% + }% + \pentry{PPdatamatrixvskip}{% + the vertical distance between the postpaid header and the data array with + \OptionValueRef{scrlttr2}{addrfield}{PP} + (\autoref{sec:\LabelBase.addressee}, + \DescPageRef{\LabelBase.plength.PPdatamatrixvskip})% + }% + \pentry{PPheadheight}{% + the height of the postpaid header + (\autoref{sec:\LabelBase.addressee}, + \DescPageRef{\LabelBase.plength.PPheadheight})% + }% + \pentry{PPheadwidth}{% + the width of the left postpaid field with + \OptionValueRef{scrlttr2}{addrfield}{PP} + (\autoref{sec:\LabelBase.addressee}, + \DescPageRef{\LabelBase.plength.PPheadwidth})% + }% + \pentry{refaftervskip}{% + vertical skip below reference-field line % + (\autoref{sec:\LabelBase.refLine}, + \DescPageRef{\LabelBase.plength.refaftervskip})% + }% + \pentry{refhpos}{% + the horizontal distance of reference-field line from the left + edge of the paper; if the value is 0, the reference-field line is centred + horizontally on the letterhead page + (\autoref{sec:\LabelBase.refLine}, + \DescPageRef{\LabelBase.plength.refhpos})% + }% + \pentry{refvpos}{% + the vertical distance of reference-field line from the top + edge of the paper (\autoref{sec:\LabelBase.refLine}, + \DescPageRef{\LabelBase.plength.refvpos})% + }% + \pentry{refwidth}{% + the width of the reference-field line + (\autoref{sec:\LabelBase.refLine}, + \DescPageRef{\LabelBase.plength.refwidth})% + }% + \pentry{sigbeforevskip}{% + the vertical skip between the closing and the signature + (\autoref{sec:\LabelBase.closing}, + \DescPageRef{\LabelBase.plength.sigbeforevskip})% + }% + \pentry{sigindent}{% + the indentation of the signature with respect to the text body + (\autoref{sec:\LabelBase.closing}, + \DescPageRef{\LabelBase.plength.sigindent})% + }% + \pentry{specialmailindent}{% + the left indentation of the delivery method within the address field + (\autoref{sec:\LabelBase.addressee}, + \DescPageRef{\LabelBase.plength.specialmailindent})% + }% + \pentry{specialmailrightindent}{% + the right indentation of the delivery method within the address field + (\autoref{sec:\LabelBase.addressee}, + \DescPageRef{\LabelBase.plength.specialmailrightindent})% + }% + \pentry{subjectaftervskip}{% + the vertical skip after the subject + (\autoref{sec:\LabelBase.subject}, + \DescPageRef{\LabelBase.plength.subjectaftervskip})% + }% + \pentry{subjectbeforevskip}{% + additional vertical skip before the subject + (\autoref{sec:\LabelBase.subject}, + \DescPageRef{\LabelBase.plength.subjectbeforevskip})% + }% + \pentry{subjectvpos}{% + the vertical distance of the subject from the top edge of the paper; if it + is 0, the position is calculated based on the + \DescRef{\LabelBase.option.subject} option + (\autoref{sec:\LabelBase.subject}, + \DescPageRef{\LabelBase.plength.subjectaftervskip})% + }% + \pentry{tfoldmarklength}{% + the length of the topmost horizontal fold mark + (\autoref{sec:\LabelBase.foldmarks}, + \DescPageRef{\LabelBase.plength.tfoldmarklength})% + }% + \pentry{tfoldmarkvpos}{% + the vertical distance of the topmost horizontal folding mark from the top + edge of the paper (\autoref{sec:\LabelBase.foldmarks}, + \DescPageRef{\LabelBase.plength.tfoldmarkvpos})% + }% + \pentry{toaddrheight}{% + the height of the address field (\autoref{sec:\LabelBase.addressee}, + \DescPageRef{\LabelBase.plength.toaddrheight})% + }% + \pentry{toaddrhpos}{% + the horizontal distance of the address field from left edge of the paper, + if the value is positive; if it is negative, the negative horizontal + distance of the address field from the right edge of the paper + (\autoref{sec:\LabelBase.addressee}, + \DescPageRef{\LabelBase.plength.toaddrhpos})% + }% + \pentry{toaddrindent}{% + the left and right indentation of the address within the address field + (\autoref{sec:\LabelBase.addressee}, + \DescPageRef{\LabelBase.plength.toaddrindent})% + }% + \pentry{toaddrvpos}{% + the vertical distance of the address field from the the top edge of the + paper (\autoref{sec:\LabelBase.addressee}, + \DescPageRef{\LabelBase.plength.toaddrvpos})% + }% + \pentry{toaddrwidth}{% + the width of the address field % + (\autoref{sec:\LabelBase.addressee}, + \DescPageRef{\LabelBase.plength.toaddrwidth})% + }% +\end{desclist} + +\begin{figure} + \centering + \includegraphics{plenDIN} + \caption{Schematic of the pseudo-lengths for a letter} + \label{fig:\LabelBase.pseudoLength} +\end{figure} -Since users will usually not need to define their own pseudo-lengths, the -method for defining them is described in the part for experts, in -\autoref{sec:scrlttr2-experts.pseudoLengths}, -\DescPageRef{scrlttr2-experts.cmd.newplength}. Setting pseudo-lengths to new -values should also be a matter for advanced users, so this is also described -in the part for experts, on \DescPageRef{scrlttr2-experts.cmd.setplength}. -Note\textnote{Attention!} that although these pseudo-lengths are internally -implemented as macros, the commands to use pseudo-lengths expect only the the -pseudo-length names. These are written without backslashes, like the names of -\LaTeX{} counters and unlike macros or real lengths. +\begin{Declaration} + \Macro{newplength}\Parameter{name} +\end{Declaration} +This\ChangedAt{v3.26}{\Class{scrlttr2}\and \Package{scrletter}} command +defines a new pseudo-length. The new pseudo-length is uniquely identified by +its \PName{name}. Each name can therefore be assigned only once. If you +attempt to redefine an existing pseudo-length, the commands exits with an +error message. + +\BeginIndex{Cmd}{@newplength}% +Since the ordinary user does not normally need to define pseudo-lengths, this +command was not a user instruction until \KOMAScript~3.26. Before then, +\Macro{@newplength} existed with the same functionality. This instruction still +exists for package authors.% +\EndIndexGroup + + +\begin{Declaration} + \Macro{Ifplength}\Parameter{pseudo-length}% + \Parameter{then-code}\Parameter{else-code} +\end{Declaration} +This\ChangedAt{v3.27}{\Class{scrlttr2}\and \Class{scrletter}} command can be +used to determine whether a \PName{pseudo-length} has been defined. The +\PName{then-code} is executed if the \PName{pseudo-length} is defined and not +\Macro{relax}. Otherwise the \PName{else-code} is executed. + +% Note: In the English manual this information is not \iffree{}{...}! +\BeginIndex{Cmd}{if@plength}% +For reasons of consistency only, the internal command \Macro{if@plength}, +with the identical meaning, exists for the use of package authors.% +\EndIndexGroup + \begin{Declaration} \Macro{useplength}\Parameter{name} @@ -451,6 +780,61 @@ used with an \File{lco} file\Index{lco file=\File{lco} file} (see \begin{Declaration} + \Macro{setplength}% + \OParameter{factor}\Parameter{pseudo-length}\Parameter{value}% + \Macro{addtoplength}% + \OParameter{factor}\Parameter{pseudo-length}\Parameter{value} +\end{Declaration} +Using \Macro{setplength}, you can assign the multiple of a +\PName{value} to a \PName{pseudo-length}. The \PName{factor} is given as an +optional argument (see also \DescRef{\LabelBase.cmd.setlengthtoplength}, +\autoref{sec:\LabelBase.pseudoLength}, +\DescPageRef{\LabelBase.cmd.setlengthtoplength}). + +With \Macro{addtoplength} you can add the multiple of a \PName{value} to a +\PName{pseudo-length}. Again, you can pass a \PName{factor} as an optional +argument. + +To assign or to add the multiple of one \PName{pseudo-length} to another +pseudo-length, use the \Macro{useplength} command (see +\autoref{sec:\LabelBase.pseudoLength}, \DescPageRef{\LabelBase.cmd.useplength}) +within the \PName{value}. To subtract the value of one \PName{pseudo-length} +from another \PName{pseudo-length}, you use should use at the same time a +minus sign or \PValue{-1} as the \PName{factor}. + +\BeginIndex{Cmd}{@setplength}% +\BeginIndex{Cmd}{@addtoplength}% +Since the ordinary user does not normally need to define pseudo-lengths, these +commands were not user instructions until \KOMAScript~3.26. Before then, +\Macro{@setplength} and \Macro{@addtoplength} existed with the +same functionality. These commands still exist for the use of package authors.% +\EndIndexGroup + +\begin{Declaration} + \Macro{setplengthtowidth} + \OParameter{factor}\Parameter{pseudo-length}\Parameter{content}% + \Macro{setplengthtoheight} + \OParameter{factor}\Parameter{pseudo-length}\Parameter{content}% + \Macro{setplengthtodepth} + \OParameter{factor}\Parameter{pseudo-length}\Parameter{content}% + \Macro{setplengthtototalheight} + \OParameter{factor}\Parameter{pseudo-length}\Parameter{content}% +\end{Declaration} +The\ChangedAt{v3.26}{\Class{scrlttr2}\and \Package{scrletter}} first three +commands essentially correspond with \Macro{settowidth}, +\Macro{settoheight}, and \Macro{settodepth} from the \LaTeX{} kernel, but set +\PName{pseudo-length}s instead of lengths. Like +\DescRef{\LabelBase.cmd.setplength}, these commands extend their \LaTeX{} +kernel equivalents with an optional \PName{factor}. They set a +\PName{pseudo-length} to the natural width, height or depth of the given +\PName{content}, multiplied by the optional \PName{factor}. The additional +command \Macro{setplengthtototalheight} sets the \PName{pseudo-length} to the +sum of the height and depth of \PName{content} multiplied by the optional +\PName{factor}.% +\EndIndexGroup + + +\begin{Declaration} \Macro{setlengthtoplength}% \OParameter{factor}\Parameter{length}\Parameter{pseudo-length}% \Macro{addtolengthplength}% @@ -469,27 +853,6 @@ The \Macro{addtolengthplength} command works very similarly. It adds the % \EndIndexGroup -\LoadCommonFile{options} % \section{Early or Late Selection of Options} - -\LoadCommonFile{compatibility} % \section{Compatibility with Earlier Versions of - % \KOMAScript{}} - -\LoadCommonFile{draftmode} % \section{Draft-Mode} - -\LoadCommonFile{typearea} % \section{Page Layout} - -For letters, it is normally not useful to distinguish one-sided and two-sided -printing. Since letters are not usually bound, each page of a letter will be -viewed on its own. This is also true even if both the letter is printed on -both sides of the paper. Vertical adjustment usually does not matter for -letters either. If you nevertheless need it, or want to understand what it is, -please refer to the commands -\DescRef{maincls.cmd.raggedbottom}\IndexCmd{raggedbottom} and -\DescRef{maincls.cmd.flushbottom}\IndexCmd{flushbottom} explained in -\autoref{sec:maincls.typearea} on \DescPageRef{maincls.cmd.flushbottom}.% -% -\EndIndexGroup - \section{General Structure of Letter Documents} \seclabel{document} @@ -976,7 +1339,6 @@ Subsequent pages\Index{page>subsequent}\Index{subsequent pages} should be distinguished from the letterhead page. For the purposes of this manual, subsequent pages are all pages of a letter except the first one. - \begin{figure} \centering \includegraphics[scale=0.99]{varDIN} @@ -986,22 +1348,27 @@ subsequent pages are all pages of a letter except the first one. \end{figure} +\subsection{Fold Marks} +\seclabel{foldmarks} +\BeginIndexGroup +\BeginIndex{}{fold marks}% +\index{marks>folding|see{fold marks}} + +Fold marks, or folding marks, are short horizontal lines at the left edge, and +short vertical lines at the upper edge of the paper. \KOMAScript{} currently +supports three configurable horizontal and one configurable vertical fold +marks. In addition, there is support for a hole-punch mark, or centre mark, +which cannot be shifted vertically. + \begin{Declaration} \OptionVName{foldmarks}{setting} \end{Declaration} -Fold marks\Index{fold mark}, or folding marks, are small horizontal rules in -the left margin and small vertical rules in the top margin. \KOMAScript{} -currently provides three configurable horizontal fold marks and one -configurable vertical fold mark. Additionally it provides a horizontal -hole-punch or page-centre mark. This additional mark cannot be moved -vertically. - The \Option{foldmarks} option activates or deactivates fold marks for two, three, or four vertical divisions and one horizontal division. The individual parts do not have to be of equal size. The positions of three of the four horizontal marks and the single vertical mark are configurable via -pseudo-lengths (see \autoref{sec:scrlttr2-experts.foldmarks} starting on -\DescPageRef{scrlttr2-experts.plength.foldmarkvpos}). +pseudo-lengths (see \autoref{sec:\LabelBase.pseudoLength}, +\autopageref{sec:\LabelBase.pseudoLength}). With the \Option{foldmarks} option, you can either use the default values for simple switches described in \autoref{tab:truefalseswitch}, @@ -1081,29 +1448,154 @@ with the \FontElement{foldmark} element. The default is no change.% \begin{Declaration} - \OptionVName{enlargefirstpage}{simple switch} + \PLength{tfoldmarkvpos}% + \PLength{mfoldmarkvpos}% + \PLength{bfoldmarkvpos} \end{Declaration} -\begin{Explain} - The first page of a letter always uses a different page layout because of - the many predefined elements such as the letterhead or the address. The - \Class{scrlttr2} class provides a mechanism to calculate height and vertical - alignment of header and footer of the first page independently of the - subsequent pages. If, as a result, the footer of the first page would - protrude into the text area, this text area of the first page is - automatically reduced using - \Macro{enlargethispage}\IndexCmd{enlargethispage}. -\end{Explain} -If the text area should become larger, assuming the footer on the first page -permits this, you can use this option. At best, a little more text will then -fit on the first page. See also the description of the \PLength{firstfootvpos} -pseudo-length on \DescPageRef{scrlttr2-experts.plength.firstfootvpos}. This -option takes the standard values for simple switches, as listed in -\autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch}. The default -is \PValue{false}.\textnote{default}% +\KOMAScript{} recognises a total of three fold marks whose vertical position +can be configured. The distance of the top fold mark from the upper edge of +the paper is determined by the \PLength{tfoldmarkvpos} pseudo-length; the +distance of the middle fold mark, by the +\PLength{mfoldmarkvpos}\ChangedAt{v2.97e}{\Class{scrlttr2}} pseudo-length; the +distance of the bottommost fold mark, by \PLength{bfoldmarkvpos} +pseudo-length. With the addition of the hole-punch\Index{hole-punch mark} or +centre\Index{centre mark|see{hole-punch mark}} mark, there is yet a fourth +horizontal mark. This one is however always placed at the vertical centre of +the paper. +\iftrue% Umbruchkorrekturtext +There is no pseudo-length for this last mark because its vertical position is +not configurable. +\fi + +The\textnote{Attention!} top and bottom fold marks do not serve to divide the +paper exactly into equal thirds. Instead, the paper should be folded with +their help such that the address field can be seen in a window envelope. The +settings are therefore different depending on the \File{lco} file chosen. +Several such files are available offering predefined formats. One format +particularly worth noting is \Option{DINmtext}. This format assumes an +envelope format of C6/5 (also known as ``C6 long''). Letters written with this +option are typically not suited for C5 or C4 envelopes. + +The middle fold mark is not normally required for Western letters. In Japan, +however, a larger number of envelope formats exists, requiring one more fold +mark (see the Japanese \File{lco} files). Note that the terms ``top'', +``middle'', and ``bottom'' fold marks only represent a naming convention. In +fact, it is not required that \PLength{tfoldmarkvpos} must be smaller than +\PLength{mfoldmarkvpos}, which in turn must be smaller than +\PLength{bfoldmarkvpos}. If, though, one of the pseudo-lengths is zero, then +the corresponding fold mark will not be set even if the +\DescRef{\LabelBase.option.foldmarks}\IndexOption{foldmarks~=\PName{setting}}% +\important{\DescRef{\LabelBase.option.foldmarks}} option (see +\autoref{sec:\LabelBase.firstpage}, \DescPageRef{\LabelBase.option.foldmarks}) is +explicitly activated. +% \EndIndexGroup \begin{Declaration} + \PLength{tfoldmarklength}% + \PLength{mfoldmarklength}% + \PLength{bfoldmarklength}% + \PLength{pfoldmarklength} +\end{Declaration} +These\ChangedAt{v2.97e}{\Class{scrlttr2}} four pseudo-lengths determine the +lengths of the four horizontal fold marks. One\textnote{Attention!} feature is +particularly worth noting. If the length is given as zero, then the three +vertically configurable pseudo-lengths \PLength{tfoldmarklength}, +\PLength{mfoldmarklength} and \PLength{bfoldmarklength} are set to 2\Unit{mm}. +The length of the hole-punch mark, \PLength{pfoldmarklength}, however, is set +to 4\Unit{mm}.% +\EndIndexGroup + + +\begin{Declaration} + \PLength{foldmarkhpos} +\end{Declaration} +This pseudo-length gives the distance of all horizontal fold marks from the +left edge of the paper. Normally, this is 3.5\Unit{mm}. You\textnote{Hint!} +can change this value in your own \File{lco} file if you are using a printer +that has a wider unprintable left margin. Whether the fold marks are typeset +at all depends on the option \DescRef{\LabelBase.option.foldmarks}% +\important{\DescRef{\LabelBase.option.foldmarks}}% +\IndexOption{foldmarks~=\PName{setting}} (see +\autoref{sec:\LabelBase.firstpage}, \DescPageRef{\LabelBase.option.foldmarks}). +% +\EndIndexGroup + + +\begin{Declaration} + \PLength{lfoldmarkhpos} +\end{Declaration} +In\ChangedAt{v2.97e}{\Class{scrlttr2}} addition to the horizontal fold marks, +there is also a vertical fold mark. Its distance from the left margin is set +via the \PLength{lfoldmarkhpos} pseudo-length. This fold mark is used, for +example, in Japanese Chou- or You-format envelopes if you want to use them +with A4 paper. It can also be useful for envelopes in C6 format.% +\EndIndexGroup + + +\begin{Declaration} + \PLength{lfoldmarklength} +\end{Declaration} +The\ChangedAt{v2.97e}{\Class{scrlttr2}} \PLength{lfoldmarklength} +pseudo-length determines the length of the vertical fold mark. Once again, a +feature worth noting is that if the length is given as zero, a length of +4\Unit{mm} is actually used.% +\EndIndexGroup + + +\begin{Declaration} + \PLength{foldmarkvpos} +\end{Declaration} +This\ChangedAt{v2.97e}{\Class{scrlttr2}} pseudo-length determines the distance of +all vertical fold marks from the upper edge of the paper. Normally this is +3.5\Unit{mm}, but\textnote{Hint!} you can change the value in your own +\File{lco} file in case your printer has a wider unprintable +top margin. Whether or not the foldmarks are actually typeset depends on the +\DescRef{\LabelBase.option.foldmarks}% +\important{\DescRef{\LabelBase.option.foldmarks}}% +\IndexOption{foldmarks~=\PName{setting}} option (see +\autoref{sec:\LabelBase.firstpage}, \DescPageRef{\LabelBase.option.foldmarks}). +\iffree{At present there is only one vertical fold mark, called the left + vertical fold mark.}{}% +\EndIndexGroup + + +\begin{Declaration} + \PLength{foldmarkthickness} +\end{Declaration} +This\ChangedAt{v2.97c}{\Class{scrlttr2}} pseudo-length determines the +thickness of all fold marks. The default is 0.2\Unit{pt}, in other words a +very thin hairline. In\textnote{Hint!} particular, if the colour of the fold +marks is changed, this may not be enough.% +\EndIndexGroup +% +\EndIndexGroup + + +\subsection{Letterhead} +\seclabel{firstHead} +\BeginIndexGroup +\BeginIndex{}{letterhead}% + +The term letterhead refers here to all of the information concerning the +sender that appears above the recipient's address. Normally you would expect +that this information would be set through the page-style settings. In fact, +this was the case with the old letter class, \Class{scrlettr}. +But\textnote{Attention!} \Class{scrlttr2} and \Package{scrletter} output the +letterhead independently of the page style by means of the +\DescRef{\LabelBase.cmd.opening}\IndexCmd{opening} command. +% Fuellmaterial +\iftrue% + The letterhead is positioned absolutely, so that it is independent of the + type area. In fact, the first page of a letter, the page that holds the + letterhead, is set using the page style + \DescRef{\LabelBase.pagestyle.empty}\IndexPagestyle{empty}.% +\fi +% Ende des Fuellmaterials + + +\begin{Declaration} \OptionVName{firsthead}{simple switch} \end{Declaration} \BeginIndex{}{letterhead}% @@ -1118,6 +1610,51 @@ standard values for simple switches given in \autoref{tab:truefalseswitch} on \begin{Declaration} + \PLength{firstheadvpos} +\end{Declaration} +The \PLength{firstheadvpos} pseudo-length gives the distance between the top +edge of the paper and the start of the letterhead. This value is set +differently in the various predefined +\File{lco} files\textnote{\File{lco} file}\Index{lco file=\File{lco} file}. A +typical value is 8\Unit{mm}.% +\EndIndexGroup + + +\begin{Declaration} + \PLength{firstheadhpos} +\end{Declaration} +A positive value of the +\PLength{firstheadhpos}\ChangedAt{v3.05}{\Class{scrlttr2}} pseudo-length gives +the distance between the left edge of the paper and the start of the +letterhead. If\textnote{Attention!} the value is actually greater than or +equal to the paper width, +\Length{paperwidth}\important{\Length{paperwidth}}\IndexLength{paperwidth}, +the letterhead will be centred horizontally on the letterhead paper. A +negative value gives the distance between the right edge of the paper and the +right edge of the letterhead. If the value actually less than or equal to the +negative value of the width of the paper, the letterhead is placed flush with +the left edge of the type area. + +The default\textnote{Attention!} value is typically +\Length{maxdimen}\IndexLength{maxdimen}, which is the maximum allowed value of +a length. This results in horizontal centring.% +\EndIndexGroup + + +\begin{Declaration} + \PLength{firstheadwidth} +\end{Declaration} +The \PLength{firstheadwidth} pseudo-length gives the width of the letterhead. +This value is set differently in the various predefined \File{lco} +files\textnote{\File{lco} file}\Index{lco file=\File{lco} file}. While this +value usually depends on the paper width and the distance between the left +edge of the paper and the recipient's address field, it was the width of the +type area in \Option{KOMAold} and has a fixed value of 170\Unit{mm} in +\Option{NF}.% +\EndIndexGroup + + +\begin{Declaration} \OptionVName{fromalign}{method} \end{Declaration} \BeginIndex{}{letterhead}% @@ -1305,6 +1842,27 @@ definitely set the variables for return address (see % \EndIndexGroup + +\begin{Declaration} + \PLength{fromrulethickness}% + \PLength{fromrulewidth} +\end{Declaration} +As mentioned in the explanation of the +\DescRef{\LabelBase.option.fromrule}\IndexOption{fromrule} option in +\autoref{sec:\LabelBase.firstpage}, \DescPageRef{\LabelBase.option.fromrule}, you +can put a horizontal rule within or below the sender's address in the +predefined letterheads. If\textnote{Attention!} the \PLength{fromrulewidth} +pseudo-length has a value of 0\Unit{pt}, which is the default in the +predefined \File{lco} files, the length of this rule is calculated +automatically taking into account, for example, letterhead width or an +optional logo. You can adjust rule length manually in your own \File{lco} +files by setting this pseudo-length to positive values using +\Macro{setplength} (see \DescPageRef{\LabelBase.cmd.setplength}). The +default thickness of the line\ChangedAt{v2.97c}{\Class{scrlttr2}}, +\PLength{fromrulethickness}, is 0.4\Unit{pt}.% +\EndIndexGroup + + \begin{Declaration} \OptionVName{symbolicnames}{value}% \OptionVName{fromphone}{simple switch}% @@ -1477,8 +2035,7 @@ logo\Index{Logo} in the letterhead. You can use any of the default values from \PName{simple switch}. The default is \PValue{false}, which means no logo. The logo itself is defined by the \PName{content} of the \Variable{fromlogo} variable. The \PName{description} of the logo is empty by default and -\KOMAScript{} does not use it in the default letterhead pages (see also -\autoref{tab:\LabelBase.fromTerm}).% +\KOMAScript{} does not use it in the default letterhead pages.% \begin{Example} Mr Public finds it particularly stylish when he provides his letterhead with a logo. He has saved his logo as a graphics file, which he would like to @@ -1532,7 +2089,23 @@ course you can and should use other variables with a detailed example of a letterhead definition in \autoref{cha:modernletters}.}% \EndIndexGroup +% +\EndIndexGroup + +\subsection{Addressee} +\seclabel{addressee}% +\BeginIndexGroup +\BeginIndex{}{addressee} +\index{recipient|seealso{addressee}} + +The term \emph{addressee} normally refers only to the recipient's name and +address, which are output in an address field. Additional information, +however, can be placed within this address field, including the delivery +method, for example registered mail or special delivery. For window envelopes, +the return address also counts as part of the address field, as it will be +displayed in the address window. The address field directly follows the +letterhead. \begin{Declaration} \OptionVName{addrfield}{format}% @@ -1712,7 +2285,7 @@ selected, which is the default. The \Class{scrlttr2} class itself does not use the \PName{description} of the \Variable{specialmail} variable. The alignment is defined by the \PLength{specialmailindent} and \PLength{specialmailrightindent} pseudo-lengths (see -\DescPageRef{scrlttr2-experts.plength.specialmailindent}). You can change the +\DescPageRef{\LabelBase.plength.specialmailindent}). You can change the default font style of the\ChangedAt{v2.97c}{\Class{scrlttr2}} \FontElement{specialmail}\important{\FontElement{specialmail}} element, which is listed in \autoref{tab:\LabelBase.AddresseeElements}, with the @@ -1820,11 +2393,11 @@ be printed with the \OptionValue{addrfield}{backgroundimage} option. The position of the postpaid postmark and that of the postpaid address is defined by the \PLength{toaddrindent} pseudo-length (see -\DescPageRef{scrlttr2-experts.plength.toaddrindent}) as well as +\DescPageRef{\LabelBase.plength.toaddrindent}) as well as \PLength{PPheadwidth} and \PLength{PPheadheight} (see -\DescPageRef{scrlttr2-experts.plength.PPheadheight}). The position of +\DescPageRef{\LabelBase.plength.PPheadheight}). The position of the data array is defined by the \PLength{PPdatamatrixvskip} pseudo-length -(see \DescPageRef{scrlttr2-experts.plength.PPdatamatrixvskip}). +(see \DescPageRef{\LabelBase.plength.PPdatamatrixvskip}). Note\textnote{Attention!} that \KOMAScript{} cannot print any external graphics or pictures by itself. So if you want to put external picture files @@ -1838,13 +2411,196 @@ must load an additional graphics package like \begin{Declaration} + \PLength{toaddrvpos}% + \PLength{toaddrhpos} +\end{Declaration} +These pseudo-lengths define the vertical and horizontal distance of the +address field from the top-left corner of the paper. Values are set +differently in the various predefined \File{lco} files\textnote{\File{lco} +file}\Index{lco file=\File{lco} file}, according to standard envelope window +measures. For \PLength{toaddrhpos}, one property worth noting is that with +negative values, the offset is the distance from the right edge of the address +field to the right edge of the paper. You will find this, for instance, in +\Option{SN} or \Option{NF}. The smallest value of \PLength{toaddrvpos} is +found with \Option{DINmtext}. With this setting, the letterhead can easily +protrude into the address window. Whether the address field is output or not +depends on the \Option{addrfield} option (see +\autoref{sec:\LabelBase.firstpage}, \DescPageRef{\LabelBase.option.addrfield}).% +\EndIndexGroup + + +\begin{Declaration} + \PLength{toaddrheight} +\end{Declaration} +This pseudo-length defines the height of the address field, including the +delivery method. Whether the name and address of the recipient are vertically +centred in the address field, taking into account the presence or absence of +the delivery method, depends on the \DescRef{\LabelBase.option.addrfield} +option.% +\EndIndexGroup + + +\begin{Declaration} + \PLength{toaddrwidth} +\end{Declaration} +This pseudo-length defines the width of the address field. The various +predefined \File{lco} files\textnote{\File{lco} files}\Index{lco +file=\File{lco} files} use different settings according to the different +standards for window envelopes. Typical values are between 70\Unit{mm} and +100\Unit{mm}. +\begin{Example} + Suppose your printer has very wide, non-printable left and right margins of 15\Unit{mm}. + This means that the letterhead, the additional sender information, and the address field cannot + be completely printed if you use the \Option{SN} option. You therefore + create a new \File{lco} file with the following content: +\begin{lstcode} + \ProvidesFile{SNmmarg.lco} + [2002/06/04 v0.1 my lco] + \LoadLetterOption{SN} + \addtoplength{toaddrwidth}{% + -\useplength{toaddrhpos}} + \setplength{toaddrhpos}{-15mm} + \addtoplength{toaddrwidth}{% + \useplength{toaddrhpos}} + \endinput +\end{lstcode} + Then, until you can obtain a printer with smaller page margins, you + simply use the option \Option{SNmmarg} instead of \Option{SN}.% +\end{Example}% +% +\EndIndexGroup + + +\begin{Declaration} + \PLength{toaddrindent} +\end{Declaration} +Sometimes you do not want the address field to extend the full width of the +address window but to be indented a bit. You can set the amount of this +indentation with the \PLength{toaddrindent} pseudo-length. Typically, the +default value is 0\Unit{pt}. + +For\textnote{Attention!} the\ChangedAt{v3.03}{\Class{scrlttr2}} +\OptionValueRef{scrlttr2}{addrfield}{PP}\important{% + \OptionValueRef{scrlttr2}{addrfield}{PP}\\ + \OptionValueRef{scrlttr2}{addrfield}{image}\\ + \OptionValueRef{scrlttr2}{addrfield}{backgroundimage} +}\IndexOption{addrfield~=\textKValue{PP}}, +\OptionValueRef{scrlttr2}{addrfield}{image}% +\IndexOption{addrfield~=\textKValue{image}}, and +\OptionValueRef{scrlttr2}{addrfield}{backgroundimage}% +\IndexOption{addrfield~=\textKValue{backgroundimage}} settings (see +\autoref{sec:\LabelBase.firstpage}, \DescPageRef{\LabelBase.option.addrfield}) a +value of 0\Unit{pt} will be replaced by a value of 8\Unit{mm}. If you really +do not want any indentation, you can use a value of 1\Unit{sp} to set a +negligibly small indentation. Furthermore, \PLength{toaddrindent} is also used +for the distance to the right edge of the address window with the these +\Option{addrfield} settings.% +\EndIndexGroup + + +\begin{Declaration} + \PLength{backaddrheight} +\end{Declaration} +For window envelopes, the sender is often printed in a small font on one line +above the addressee. This sender information is called the return +address\textnote{return address}\Index{return address}, because it is visible +in the address window and will be used by the post office to return an +undeliverable letter to the sender. This return address, therefore, requires +only the information necessary for that purpose. + +The height reserved for the return address within the address window is given +by the \PLength{backaddrheight} pseudo-length. This value is typically +5\Unit{mm} in the predefined \File{lco} files\textnote{\File{lco} +file}\Index{}{lco file=\File{lco} file}. Whether to print the return address +at all depends on the \Option{addrfield} (see +\autoref{sec:\LabelBase.firstpage}, \DescPageRef{\LabelBase.option.addrfield}) and +\DescRef{\LabelBase.option.backaddress} options (see +\autoref{sec:\LabelBase.firstpage}, \DescPageRef{\LabelBase.option.backaddress}).% +\EndIndexGroup + + +\begin{Declaration} + \PLength{specialmailindent}% + \PLength{specialmailrightindent} +\end{Declaration} +You can print an optional delivery method between the return address and the +recipient's address. This field is printed only if the +\DescRef{\LabelBase.variable.specialmail} variable has non-empty contents. Its +alignment is determined by the \PLength{specialmailindent} and +\PLength{specialmailrightindent} pseudo-lengths, which specify the left and +right indentation, respectively. In the predefined \File{lco} +files\textnote{\File{lco} file}\Index{lco file=\File{lco} file}, +\PLength{specialmailindent} is set to rubber length \Macro{fill}, while +\PLength{specialmailrightindent} is set to 1\Unit{em}. Thus the delivery +method is set 1\Unit{em} from the address field's right margin.% +\EndIndexGroup + + +\begin{Declaration} + \PLength{PPheadheight}% + \PLength{PPheadwidth} +\end{Declaration} +The \PLength{PPheadheight}\ChangedAt{v3.03}{\Class{scrlttr2}} pseudo-length +specifies the height reserved for the postpaid header at the start of the +address field for the two options +\OptionValueRef{scrlttr2}{addrfield}{PP}\important{% + \OptionValueRef{scrlttr2}{addrfield}{PP}\\ + \OptionValueRef{scrlttr2}{addrfield}{backgroundimage}}% +\IndexOption{addrfield~=\textKValue{PP}} and +\OptionValueRef{scrlttr2}{addrfield}{backgroundimage}% +\IndexOption{addrfield~=\textKValue{backgroundimage}}. The +\PLength{PPheadwidth} pseudo-length is used only with +\OptionValueRef{scrlttr2}{addrfield}{PP} (see +\autoref{sec:\LabelBase.firstpage}, \DescPageRef{\LabelBase.option.addrfield}) and +gives the width of the left-hand field within the postpaid header, which +contains the postpaid logo, the postal code, and the location. The width of +the right-hand field containing the sender's code and the priority is the +remaining width. + +\KOMAScript{}\textnote{Attention!} automatically changes the default value of +0\Unit{mm} for the \PLength{PPheadheight} pseudo-length to 20.74\Unit{pt}, and +\PLength{PPheadwidth}'s default from 0\Unit{mm} to 42\Unit{mm}.% +% +\EndIndexGroup + + +\begin{Declaration} + \PLength{PPdatamatrixvskip} +\end{Declaration} +This\ChangedAt{v3.03}{\Class{scrlttr2}} pseudo-length specifies the vertical +distance between the postpaid header and the data array used with +\OptionValueRef{scrlttr2}{addrfield}{PP}% +\important{\OptionValueRef{scrlttr2}{addrfield}{PP}}% +\IndexOption{addrfield~=\PValue{PP}} (see \autoref{sec:\LabelBase.firstpage}, +\DescPageRef{\LabelBase.option.addrfield}). \KOMAScript{}\textnote{Attention!} +automatically changes the default value of 0\Unit{mm} to 9\Unit{mm}. The data +matrix is flush right within the postpaid header.% +\EndIndexGroup +% +\EndIndexGroup + + +\subsection{Extra Sender Information} +\seclabel{locationField} +\BeginIndexGroup +\BeginIndex{}{extra sender information} +\index{sender>extra information|see{extra sender information}} + +Often, especially with business letters, there is not enough space in the +letterhead and footer to accommodate all the information about the sender that +you want to include. For such additional information, you can use the space +next to the addressee. In this manual, this field is called the +\emph{extra sender information}. In earlier versions of this manual, it +was called the \emph{sender's extension} or the \emph{location field}. + + +\begin{Declaration} \OptionVName{locfield}{setting} \end{Declaration} \BeginIndex{}{extra sender information}% -In addition to the address field, \Class{scrlttr2} can print a field with -extra sender attributes next to the address field. Its content can be -anything you want, for example a location, a bank-account number, or other -information. Depending\important{% +The content ot the field with extra sender attributes next to the address +field can be anything you want, for example a location, a bank-account number, +or other information. Depending\important{% \OptionValueRef{\LabelBase}{fromalign}{locationleft}\\ \OptionValueRef{\LabelBase}{fromalign}{center}\\ \OptionValueRef{\LabelBase}{fromalign}{locationright}} on the @@ -1854,8 +2610,8 @@ sender's logo. The width of this field can be specified in an \File{lco} file \Option{locfield} option can toggle between two defaults for the field width. This is the case for most of the \File{lco} files that come with \KOMAScript{}. See also the explanation on the \PLength{locwidth} -pseudo-length in \autoref{sec:scrlttr2-experts.locationField}, -\DescPageRef{scrlttr2-experts.plength.locwidth}. Available values for this +pseudo-length in \autoref{sec:\LabelBase.locationField}, +\DescPageRef{\LabelBase.plength.locwidth}. Available values for this option are shown in \autoref{tab:\LabelBase.locfield}. The default is \PValue{narrow}.% % @@ -1915,6 +2671,51 @@ not use the \PName{description} of this variable. \begin{Declaration} + \PLength{locheight}% + \PLength{lochpos}% + \PLength{locvpos}% + \PLength{locwidth} +\end{Declaration} +The \PLength{locwidth} and +\PLength{locheight}\ChangedAt{v2.97d}{\Class{scrlttr2}} pseudo-lengths set the +width and height of the extra-sender-information field. The \PLength{lochpos} +and \PLength{locvpos} pseudo-lengths determine the distances from the +top-right edge of the paper. These values are typically set to 0\Unit{pt} in +the predefined \File{lco} files. These\textnote{Attention!} zero-length values +have a special meaning. They result in the actual values being set within +\DescRef{\LabelBase.cmd.opening} based on the paper width, the address-window +width, the address window's distance from the top-left edge of the paper, and +the \DescRef{\LabelBase.option.locfield} option (see +\autoref{sec:\LabelBase.firstpage}, \DescPageRef{\LabelBase.option.locfield}). As +is the case for \PLength{toaddrhpos}, negative values of \PLength{lochpos} +also take on a special meaning. Instead of referring to the distance from the +right edge of the paper, \PLength{lochpos} then refers to the distance from +the left edge of the paper. The meaning is thus the opposite of that of +\PLength{toaddrhpos} (see \autoref{sec:\LabelBase.addressee}, +\DescPageRef{\LabelBase.plength.toaddrhpos}).% +\EndIndexGroup +% +\EndIndexGroup + + +\subsection{Reference Line} +\seclabel{refLine}% +\BeginIndexGroup +\BeginIndex{}{reference line} +\index{business line|see{reference line}} + +The reference line can actually be longer than just one line. It is printed +only if at least one of variables for the reference line is not empty. Only +non-empty fields will be printed. To\textnote{Hint!} set a seemingly empty +field, you can provide content for the variable that appears empty, such as +\Macro{mbox}\Parameter{}. If the reference line is omitted, the description +and contents of the \DescRef{\LabelBase.variable.date} variable are printed in +its place. You can find information about adding variables to or removing them +from the reference line in \autoref{sec:scrlttr2-experts.variables}, +\DescPageRef{scrlttr2-experts.cmd.removereffields}. + + +\begin{Declaration} \OptionVName{numericaldate}{simple switch} \end{Declaration} This option toggles between the standard, language-dependent @@ -2132,6 +2933,78 @@ usual with the \DescRef{\LabelBase.cmd.setkomafont} and \begin{Declaration} + \PLength{refvpos} +\end{Declaration} +This pseudo-length specifies the distance from the upper edge of the paper to +the reference line. Its value is set differently in the various predefined +\File{lco} files\textnote{\File{lco} file}\Index{lco file=\File{lco} file}. +Typical values are between 80.5\Unit{mm} and 98.5\Unit{mm}.% +\EndIndexGroup + + +\begin{Declaration} + \PLength{refwidth}% + \PLength{refhpos} +\end{Declaration} +The \PLength{refwidth} pseudo-length specifies the width available for the +reference line. Its value is typically set to 0\Unit{pt} in the predefined +\File{lco} files\textnote{\File{lco} file}\Index{lco file=\File{lco} file}. +This\textnote{Attention!} value has a special meaning. In no way does it +indicate that there is no available width for the reference line. Instead, it +indicates that the width will be calculated within the +\DescRef{\LabelBase.cmd.opening}\IndexCmd{opening} command. This calculated +width then depends on the value of the \DescRef{\LabelBase.option.refline}% +\important{\DescRef{\LabelBase.option.refline}}% +\IndexOption{refline~=\PName{setting}} options (see +\autoref{sec:\LabelBase.firstpage}, \DescPageRef{\LabelBase.option.refline}). At +the same time, \PLength{refhpos} will also be set according to this option. +With \OptionValueRef{scrlttr2}{refline}{wide}% +\IndexOption{refline~=\textKValue{wide}}, the reference fields line is +centred, while with \OptionValueRef{scrlttr2}{refline}{narrow}% +\IndexOption{refline~=\textKValue{narrow}} it is aligned flush left with the +type area. + +If \PLength{refwidth} is not zero, the width of the reference line is not +determined by the \DescRef{\LabelBase.option.refline} option, and so +\PLength{refhpos} specifies the distance of the reference line from the left +edge of the paper. If\textnote{Attention!} this distance is zero, the the +reference line is placed so that the ratio between its distances from the left +and right edges of the paper corresponds to the ratio of distance of the type +area from the left and right edges of the paper. Thus, for a type area +horizontally centred on the paper, the reference line will also be centred. + +As a rule, these special cases are likely of little interest to the normal +user. The\textnote{Attention!} simplest rule is as follows: either +\PLength{refhpos} remains zero, and so the width and alignment of the +reference line are determined with the \DescRef{\LabelBase.option.refline} +option, or the user sets both \PLength{refwidth} and \PLength{refhpos}.% +\EndIndexGroup + + +\begin{Declaration} + \PLength{refaftervskip} +\end{Declaration} +This pseudo-length specifies the vertical skip to be inserted beneath the +reference line. The value is set in the predefined \File{lco} +files\textnote{\File{lco} file}\Index{lco file=\File{lco} file}. It directly +affects the height of the text area on the first page. A typical value is +between one and two lines.% +\EndIndexGroup +% +\EndIndexGroup + + +\subsection{Subject} +\seclabel{subject}% +\BeginIndexGroup +\BeginIndex{}{subject} + +Different countries have different conventions for placing the subject line of +a letter. Some place it before the opening phrase; others place it after. Some +professional groups even want it before the reference line. + + +\begin{Declaration} \Variable{title}% \end{Declaration} With \KOMAScript{}, you can also give a letter a title\Index{title}. The title @@ -2292,6 +3165,198 @@ settings.% \begin{Declaration} + \PLength{subjectvpos} +\end{Declaration} +\ChangedAt{v3.01}{\Class{scrlttr2}}% +If\textnote{Attention!} the value of this pseudo-length is 0\Unit{pt}, the +\DescRef{\LabelBase.option.subject}\important{\DescRef{\LabelBase.option.subject}}% +\IndexOption{subject~=\PName{Einstellung}} option (see +\autoref{sec:\LabelBase.firstpage}, \DescPageRef{\LabelBase.option.subject}) +determines the position of the subject. Any other value defines the distance +between the top edge of the paper and the subject. In this +case\textnote{Hint!}, you should ensure that there is enough space available +that overlapping with other elements is unlikely. +\begin{Example} + A few professionals prefer to have the subject above the reference line. For + this, you can specify the position as follows, which also changes the + position of the reference line itself: +\begin{lstcode} + \ProvidesFile{lawsubj.lco} + [2008/11/03 lawyers lco file] + \setplength{subjectvpos}{\useplength{refvpos}} + \addtoplength{refvpos}{3\baselineskip} + \endinput +\end{lstcode} + If you want to leave at least one empty line between the subject and the + reference, you have space for a maximum of two lines. +\end{Example} +\EndIndexGroup + + +\begin{Declaration} + \PLength{subjectbeforevskip}% + \PLength{subjectaftervskip} +\end{Declaration} +\ChangedAt{v3.01}{\Class{scrlttr2}}% +If the subject is placed not absolutely but before or after the salutation, +you can insert additional vertical space before and after the subject. The +space before the subject may interfere with other distances, such as the +automatic distance of one line after the title. Therefore the default is to +use no additional space here. The default of the class and the package for the +space after the subject is two lines.% +\EndIndexGroup +% +\EndIndexGroup + + +\subsection{Closing} +\seclabel{closing} +\BeginIndexGroup +\BeginIndex{}{closing} + +\BeginIndex{}{letter>closing}% +\BeginIndex{}{signature}% +\BeginIndex{}{letter>signature}% + +It has already been mentioned in \autoref{sec:\LabelBase.document}, +\DescPageRef{\LabelBase.cmd.closing} that the letter's closing text is +provided by \DescRef{\LabelBase.cmd.closing}\IndexCmd{closing}. Beneath the +closing text, there is often a space for a handwritten signature, beneath +which there can be a printed name, which serves as a kind of annotation to the +actual signature. + + +\begin{Declaration} + \Variable{signature}% +\end{Declaration} +The \Variable{signature} variable contains the printed name or annotation for +the handwritten signature. Its default \PName{content} is the +\DescRef{\LabelBase.cmd.usekomavar}\PParameter{fromname}. This annotation can +consist of multiple lines. In that case, you should separate the individual +lines with double backslashes. Paragraph\textnote{Attention!} breaks in the +signature annotation, however, are not permitted.% +\EndIndexGroup + + +\begin{Declaration} + \Macro{raggedsignature} +\end{Declaration} +The closing phrase and the signature will be typeset in a box. The width of +the box is determined by the length of the longest line in the closing +phrase or signature. + +The \PLength{sigindent}\IndexPLength{sigindent} and +\PLength{sigbeforevskip}\IndexPLength{sigbeforevskip} pseudo-lengths determine +exactly where this box is placed (see \autoref{sec:\LabelBase.closing}, +\DescPageRef{\LabelBase.plength.sigindent}). The \Macro{raggedsignature} +command defines the alignment inside the box. In the default \File{lco} files, +the command is either defined as \Macro{centering} (all besides +\Option{KOMAold}) or \Macro{raggedright} (\Option{KOMAold}). In order to +obtain flush-right or flush-left alignment inside the box, you can redefine +the command in the same way as \DescRef{maincls.cmd.raggedsection} (see the +example in \autoref{sec:maincls.structure}, +\DescPageRef{maincls.cmd.raggedsection}). + +\begin{Example} + Now Mr Public wants to make himself seem really important, and therefore he uses the + signature to show once again that he was formerly a chairman himself. So + he changes \PName{contents} of the + \DescRef{\LabelBase.variable.signature} variable. He also wants the signature + be aligned flush-left and so he also redefines \Macro{raggedsignature}:% + \lstinputcode[xleftmargin=1em]{letter-22}% + See \autoref{fig:\LabelBase.letter-22} for the result. + \begin{figure} + \setcapindent{0pt}% + \begin{captionbeside}[{Example: letter with extended sender, logo, + recipient, extra sender information, place, date, subject, + opening, text, closing, modified signature, postscript, distribution + list, enclosure, and hole-punch mark}] + {result of a short letter with extended sender, logo, recipient, + extra sender information, place, date, subject opening, text, + closing, modified signature, postscript, distribution list, enclosure + and hole-punch mark}[l] + \frame{\includegraphics[width=.4\textwidth]{letter-22}} + \end{captionbeside} + \label{fig:\LabelBase.letter-22} + \end{figure} +\end{Example} +\iftrue% Umbruchkorrekturtext + The preceding example shows the most important, although not all possible, + elements of a letter. It can, however, serve quite well as a general + template.% +\else + \vskip -1\ht\strutbox plus .75\ht\strutbox% example at end of description +\fi +% +\EndIndexGroup + + +\begin{Declaration} + \PLength{sigindent}% + \PLength{sigbeforevskip} +\end{Declaration} +The closing phrase\Index{closing>phrase}\Index{signature} and signature +explanation are typeset in a box whose width is determined by the length of +the longest line of the closing phrase or explanation. + +The box will be indented by the distance specified in the \PLength{sigindent} +pseudo-length. In the predefined \File{lco} files\textnote{\File{lco} +file}\Index{lco file=\File{lco} file}, this length is set to 0\Unit{mm}. + +Between the closing phrase and the signature explanation, a vertical skip is +inserted whose height is defined in the \PLength{sigbeforevskip} +pseudo-length. In the predefined \File{lco} files\textnote{\File{lco} +file}\Index{lco file=\File{lco} file} this value is set to two lines. In this +space you can then write your signature.% +\iffalse% Umbruchkorrekturtext +\ If you decide to include a facsimile of your signature in the +\DescRef{\LabelBase.variable.signature}\IndexVariable{signature}% +\important{\DescRef{\LabelBase.variable.signature}} with the +\Package{graphicx}\IndexPackage{graphicx} package, it would be useful +to reduce the value of \PLength{sigbeforevskip} and thus the gap between +the closing phrase and the signature.% +\fi% +\EndIndexGroup +% +\EndIndexGroup + + +\subsection{Letterhead Page Footer} +\seclabel{firstFoot}% +\BeginIndexGroup +\BeginIndex{}{letterhead page>footer}% + +The first page of a letter, the letterhead page, contains not just its own +header, the letterhead, but also its own footer\Index{footer>letterhead +page}\Index{footer}. Just like the letterhead, it will be set not by the page +style but directly within \DescRef{\LabelBase.cmd.opening}\IndexCmd{opening}% +\important{\DescRef{\LabelBase.cmd.opening}}. + + +\begin{Declaration} + \OptionVName{enlargefirstpage}{simple switch} +\end{Declaration} +\begin{Explain} + The first page of a letter always uses a different page layout because of + the many predefined elements such as the letterhead or the address. The + \Class{scrlttr2} class provides a mechanism to calculate height and vertical + alignment of header and footer of the first page independently of the + subsequent pages. If, as a result, the footer of the first page would + protrude into the text area, this text area of the first page is + automatically reduced using + \Macro{enlargethispage}\IndexCmd{enlargethispage}. +\end{Explain} +If the text area should become larger, assuming the footer on the first page +permits this, you can use this option. At best, a little more text will then +fit on the first page. See also the description of the \PLength{firstfootvpos} +pseudo-length on \DescPageRef{\LabelBase.plength.firstfootvpos}. This +option takes the standard values for simple switches, as listed in +\autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch}. The default +is \PValue{false}.\textnote{default}% +\EndIndexGroup + + +\begin{Declaration} \OptionVName{firstfoot}{simple switch} \end{Declaration} \BeginIndex{}{letterhead page>footer}% @@ -2351,7 +3416,7 @@ does not use the \PName{description} of the variable. \multicolumn{1}{@{}l@{}}{Court Jurisdiction:}\\ Great Plains \end{tabular}% - \ifkomavarempty{frombank}{}{% + \Ifkomavarempty{frombank}{}{% \hfill \begin{tabular}[t]{l@{}}% \multicolumn{1}{@{}l@{}}{\usekomavar*{frombank}:}\\ @@ -2381,7 +3446,7 @@ of version 2.9u (see \DescRef{\LabelBase.option.version} in \autoref{sec:\LabelBase.compatibilityOptions}, \DescPageRef{\LabelBase.option.version}) the space is generally insufficient. In this case, you should reduce \PLength{firstfootvpos} (see -\DescPageRef{scrlttr2-experts.plength.firstfootvpos}) appropriately.% +\DescPageRef{\LabelBase.plength.firstfootvpos}) appropriately.% \EndIndexGroup \begin{Declaration} @@ -2396,6 +3461,82 @@ the variable \DescRef{\LabelBase.variable.location}, \DescPageRef{\LabelBase.variable.location}).% % \EndIndexGroup + + +\begin{Declaration} + \PLength{firstfootvpos} +\end{Declaration} +This pseudo-length gives the distance from the top of the paper to the footer +of the letterhead page. It also ensures that the text area does not protrude +into the footer. To do so, the height of the text area on the first page will +be decreased, if necessary, using +\Macro{enlargethispage}\IndexCmd{enlargethispage}% +\important{\Macro{enlargethispage}}. The +\DescRef{\LabelBase.option.enlargefirstpage}% +\important{\DescRef{\LabelBase.option.enlargefirstpage}} option (see +\autoref{sec:\LabelBase.firstpage}, +\DescPageRef{\LabelBase.option.enlargefirstpage}) can also ensure that the +height of the text area is increased, if necessary. Thus, the distance between +text area and the letterhead page footer can be reduced to the value of the +\Length{footskip}\IndexLength{footskip}\important{\Length{footskip}} length. + +With\textnote{Attention!} the compatibility option +set\ChangedAt{v2.9t}{\Class{scrlttr2}} to versions up to +2.9t\IndexOption{version~=\PValue{2.9t}} (see +\DescRef{\LabelBase.option.version} in +\autoref{sec:\LabelBase.compatibilityOptions}, +\DescPageRef{\LabelBase.option.version}) the footer is set independently of the +type area in all predefined \File{lco} files\textnote{\File{lco} +file}\Index{lco file=\File{lco} file} (see \autoref{sec:\LabelBase.lcoFile}) +except for \Option{KOMAold} and \Option{NF}. Thus the +\DescRef{\LabelBase.option.enlargefirstpage}% +\important{\DescRef{\LabelBase.option.enlargefirstpage}} option has no effect. +From version 2.9u on, the footer is placed at the bottom edge of the paper. +Thus, the height of the letterhead page's type area may also depend on the +\DescRef{\LabelBase.option.enlargefirstpage} option. + +If the letter footer is deactivated with the +\OptionValueRef{scrlttr2}{firstfoot}{false}% +\important{\OptionValueRef{scrlttr2}{firstfoot}{false}}% +\IndexOption{firstfoot~=\PValue{false}}\ChangedAt{v2.97e}{\Class{scrlttr2}} +option (see \autoref{sec:\LabelBase.firstpage}, +\DescPageRef{\LabelBase.option.firstfoot}), the setting of +\PLength{firstfootvpos} is ignored, and instead +\Length{paperheight}\IndexLength{paperheight} is applied. There remains then a +minimum bottom margin of length \Length{footskip}\IndexLength{footskip}.% +\EndIndexGroup + + +\begin{Declaration} + \PLength{firstfoothpos} +\end{Declaration} +\ChangedAt{v3.05}{\Class{scrlttr2}}% +A\textnote{Attention!} positive value of the \PLength{firstfoothpos} +pseudo-length specifies the distance from the left edge of the paper to the +letterhead page footer. If the value is greater than or equal to the paper +width, \Length{paperwidth}\IndexLength{paperwidth}, the footer is centred +horizontally on the letterhead page. But if the value is less than or equal to +the negative width of the paper, the footer is placed flush with the left edge +of the typing area. + +The typical default for this value is \Length{maxdimen}\IndexLength{maxdimen}, +which is the maximum possible value for a length. This results in horizontal +centring.% +\EndIndexGroup + + +\begin{Declaration} + \PLength{firstfootwidth} +\end{Declaration} +This pseudo-length specifies the width of the footer of the first page of the +letter, that is the letterhead page. The value in the predefined \File{lco} +files\textnote{\File{lco} file}\Index{lco file=\File{lco} file} matches +\PLength{firstheadwidth}\important{\PLength{firstheadwidth}}% +\IndexPLength{firstheadwidth}.% +% +\EndIndexGroup +% +\EndIndexGroup % \EndIndexGroup @@ -2720,19 +3861,28 @@ uses \Macro{thispagestyle}\PParameter{empty} within \DescRef{\LabelBase.cmd.opening}\IndexCmd{opening} for the first page of the letter. -\BeginIndexGroup +\BeginIndexGroup% \BeginIndex[indexother]{}{font>style}% \BeginIndex{FontElement}{pageheadfoot}\LabelFontElement{pageheadfoot}% +\BeginIndex{FontElement}{pagehead}\LabelFontElement{pagehead}% \BeginIndex{FontElement}{pagefoot}\LabelFontElement{pagefoot}% \BeginIndex{FontElement}{pagenumber}\LabelFontElement{pagenumber}% To changing the font style of headers or footers, you should use the user interface described in \autoref{sec:maincls.textmarkup}. The header and footer -use the same element, which you can refer to by either -\FontElement{pageheadfoot}\important{\FontElement{pagehead}} or -\FontElement{pagehead}. The\ChangedAt{v3.00}{\Class{scrlttr2}} -\FontElement{pagefoot}\important{\FontElement{pagefoot}} element -additionally controls the formatting of the footer. This element is applied -after \FontElement{pageheadfoot} in the +use the same element +\FontElement{pageheadfoot}\important{\FontElement{pageheadfoot}}. +% TODO: Fix new translation +With package \hyperref[cha:scrlayer-scrpage]{\Package{scrlayer-scrpage}}% +\IndexPackage{scrlayer-scrpage} and therefore with \Package{scrletter} the +\FontElement{pagehead}\important{\FontElement{pagehead}} element is +additionally responsible for the header. In \Class{scrlttr2} and without +package \Package{scrlayer-scrpage} the element is an alias of +\FontElement{pageheadfoot} only. +% :ODOT +The\ChangedAt{v3.00}{\Class{scrlttr2}} +\FontElement{pagefoot}\important{\FontElement{pagefoot}} element additionally +controls the formatting of the footer. This element is applied after +\FontElement{pageheadfoot} in the \DescRef{\LabelBase.variable.nextfoot}\IndexVariable{nextfoot} variable or when \Package{scrlayer-scrpage}\IndexPackage{scrlayer-scrpage} page styles are used (see \autoref{cha:scrlayer-scrpage}, @@ -2856,87 +4006,6 @@ in letters. You could also define your own floating environments with help of \LoadCommonFile{marginpar} % \section{Margin Notes} -\section{Closing} -\seclabel{closing} -\BeginIndexGroup% -\BeginIndex{}{closing}% -\BeginIndex{}{letter>closing}% -\BeginIndex{}{signature}% -\BeginIndex{}{letter>signature}% - -It has already been mentioned in \autoref{sec:\LabelBase.document}, -\DescPageRef{\LabelBase.cmd.closing} that the letter's closing text is -provided by \DescRef{\LabelBase.cmd.closing}\IndexCmd{closing}. Beneath the -closing text, there is often a space for a handwritten signature, beneath -which there can be a printed name, which serves as a kind of annotation to the -actual signature. - -\begin{Declaration} - \Variable{signature}% -\end{Declaration} -The \Variable{signature} variable contains the printed name or annotation for -the handwritten signature. Its default \PName{content} is the -\DescRef{\LabelBase.cmd.usekomavar}\PParameter{fromname}. This annotation can -consist of multiple lines. In that case, you should separate the individual -lines with double backslashes. Paragraph\textnote{Attention!} breaks in the -signature annotation, however, are not permitted.% -\EndIndexGroup - - -\begin{Declaration} - \Macro{raggedsignature} -\end{Declaration} -The closing phrase and the signature will be typeset in a box. The width of -the box is determined by the length of the longest line in the closing -phrase or signature. - -The \PLength{sigindent}\IndexPLength{sigindent} and -\PLength{sigbeforevskip}\IndexPLength{sigbeforevskip} pseudo-lengths determine -exactly where this box is placed (see \autoref{sec:scrlttr2-experts.closing}, -\DescPageRef{scrlttr2-experts.plength.sigindent}). The \Macro{raggedsignature} -command defines the alignment inside the box. In the default \File{lco} files, -the command is either defined as \Macro{centering} (all besides -\Option{KOMAold}) or \Macro{raggedright} (\Option{KOMAold}). In order to -obtain flush-right or flush-left alignment inside the box, you can redefine -the command in the same way as \DescRef{maincls.cmd.raggedsection} (see the -example in \autoref{sec:maincls.structure}, -\DescPageRef{maincls.cmd.raggedsection}). - -\begin{Example} - Now Mr Public wants to make himself seem really important, and therefore he uses the - signature to show once again that he was formerly a chairman himself. So - he changes \PName{contents} of the - \DescRef{\LabelBase.variable.signature} variable. He also wants the signature - be aligned flush-left and so he also redefines \Macro{raggedsignature}:% - \lstinputcode[xleftmargin=1em]{letter-22}% - See \autoref{fig:\LabelBase.letter-22} for the result. - \begin{figure} - \setcapindent{0pt}% - \begin{captionbeside}[{Example: letter with extended sender, logo, - recipient, extra sender information, place, date, subject, - opening, text, closing, modified signature, postscript, distribution - list, enclosure, and hole-punch mark}] - {result of a short letter with extended sender, logo, recipient, - extra sender information, place, date, subject opening, text, - closing, modified signature, postscript, distribution list, enclosure - and hole-punch mark}[l] - \frame{\includegraphics[width=.4\textwidth]{letter-22}} - \end{captionbeside} - \label{fig:\LabelBase.letter-22} - \end{figure} -\end{Example} - -\iftrue% Umbruchkorrekturtext - The preceding example shows the most important, although not all possible, - elements of a letter. It can, however, serve quite well as a general - template.% -\fi -% -\EndIndexGroup -% -\EndIndexGroup - - \section{Letter Class Option Files} \seclabel{lcoFile}% \BeginIndexGroup @@ -2955,10 +4024,10 @@ In an \File{lco} file, you can use all commands available to the document at the time the \File{lco} file is loaded. You can also use internal commands available to package writers. For \Class{scrlttr2} and \Package{scrletter}, these are, in particular, the commands -\DescRef{scrlttr2-experts.cmd.newplength}\IndexCmd{newplength}, -\DescRef{scrlttr2-experts.cmd.setplength}\IndexCmd{setplength}, and -\DescRef{scrlttr2-experts.cmd.addtoplength}\IndexCmd{addtoplength} (see -\autoref{sec:scrlttr2-experts.pseudoLengths}). +\DescRef{\LabelBase.cmd.newplength}\IndexCmd{newplength}, +\DescRef{\LabelBase.cmd.setplength}\IndexCmd{setplength}, and +\DescRef{\LabelBase.cmd.addtoplength}\IndexCmd{addtoplength} (see +\autoref{sec:\LabelBase.pseudoLength}). \KOMAScript{} comes provided with some \File{lco} files. The \File{DIN.lco}, \File{DINmtext.lco}, \File{SNleft.lco}, \File{SN.lco}, \File{UScommercial9}, @@ -3084,8 +4153,8 @@ applies to the reference line when using the If\textnote{Hint!} you have this kind of problem, create your own \File{lco} file that loads \Option{SN} first and then changes \PLength{toaddrhpos}\IndexPLength{toaddrhpos} (see -\autoref{sec:scrlttr2-experts.addressee}, -\DescPageRef{scrlttr2-experts.plength.toaddrvpos}) to a smaller value. In +\autoref{sec:\LabelBase.addressee}, +\DescPageRef{\LabelBase.plength.toaddrvpos}) to a smaller value. In addition, you should also reduce \PLength{toaddrwidth} accordingly.% By\textnote{Hint!} the way, the \File{DIN} \File{lco} file is always loaded @@ -3470,7 +4539,7 @@ versions only recognised the \DescRef{\LabelBase.cmd.adrentry} and %%% Local Variables: %%% mode: latex %%% mode: flyspell -%%% coding: us-ascii +%%% coding: utf-8 %%% ispell-local-dictionary: "en_GB" %%% TeX-master: "../guide" %%% End: diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrwfile.tex b/macros/latex/contrib/koma-script/source-doc/english/scrwfile.tex index a2ae601c86..c92f777f74 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scrwfile.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scrwfile.tex @@ -46,10 +46,10 @@ % ============================================================================ \KOMAProvidesFile{scrwfile.tex}% - [$Date: 2019-10-10 10:04:30 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-11-18 10:57:08 +0100 (Mon, 18 Nov 2019) $ KOMA-Script guide (chapter: scrwfile)] -% Date of the translated German file: 2019-10-10 +% Date of the translated German file: 2019-11-18 \translator{Markus Kohm\and Jana Schubert\and Karl Hagen} diff --git a/macros/latex/contrib/koma-script/source-doc/english/tocbasic.tex b/macros/latex/contrib/koma-script/source-doc/english/tocbasic.tex index bd34f48969..7222a34c22 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/tocbasic.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/tocbasic.tex @@ -46,10 +46,10 @@ % ====================================================================== \KOMAProvidesFile{tocbasic.tex} - [$Date: 2019-10-10 09:50:23 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-12-03 09:41:21 +0100 (Tue, 03 Dec 2019) $ KOMA-Script guide (package tocbasic)] -% Date of the translated German file: 2019-10-09 +% Date of the translated German file: 2019-12-03 \translator{Markus Kohm\and Arndt Schubert\and Karl Hagen} @@ -105,18 +105,18 @@ figures and list of tables, respectively. For the table of contents, \KOMAScript{} uses the file name of the class. \begin{Declaration} - \Macro{ifattoclist}\Parameter{extension}\Parameter{then code}% + \Macro{Ifattoclist}\Parameter{extension}\Parameter{then code}% \Parameter{else code} \end{Declaration} -This command tests whether or not the \PName{extension} already exists in the -list of known file extensions. If the \PName{extension} is already known, the -\PName{then code} will be executed. Otherwise, the \PName{else code} will be -executed. +This\ChangedAt{v3.28}{\Package{tocbasic}} command tests whether or not the +\PName{extension} already exists in the list of known file extensions. If the +\PName{extension} is already known, the \PName{then code} will be +executed. Otherwise, the \PName{else code} will be executed. \begin{Example} Suppose you want to know if the file name extension ``\File{foo}'' is already in use in order to report an error because it cannot be used: \begin{lstcode} - \ifattoclist{foo}{% + \Ifattoclist{foo}{% \PackageError{bar}{% extension `foo' already in use% }{% @@ -147,12 +147,11 @@ argument, \Package{tocbasic} tries to determine the file name of the class or package currently being processed and saves it as the owner. This\textnote{Attention!} procedure only works if you call \Macro{addtotoclist} while loading a class or package. It will fail if a user -calls \Macro{addtotoclist} afterwards. In this case, the owner is set to -``\PValue{.}''. +calls \Macro{addtotoclist} afterwards. In this case, the owner is empty. Note\textnote{Attention!} that passing an empty \PName{owner} argument is not -the same as completely omitting the optional argument, including the square -brackets. An empty argument would also result in an empty owner. +always the same as completely omitting the optional argument, including the +square brackets. An empty argument would always result in an empty owner. \begin{Example} Suppose you want to add the extension ``\File{foo}'' to the list of known file extensions while loading your package with the file name @@ -202,11 +201,10 @@ specify the category ``\PValue{float}'' instead of ``\PValue{float.sty}'' as the \PName{owner}. In this case, the \KOMAScript{} options\important{\DescRef{maincls.option.listof}}% \IndexOption{listof~=\PName{setting}} for the list of figures and the list of -tables would also affect your content lists because these lists are already -added to the list of known file extensions at the time the option is set, and -\KOMAScript{} associates the file extensions ``\PValue{lof}'' for the list of -figures and ``\PValue{lot}'' for the list of tables with the owner -``\PValue{float}'' and sets the options for this owner. +tables would also affect your content lists because \KOMAScript{} associates +the file extensions ``\PValue{lof}'' for the list of figures and +``\PValue{lot}'' for the list of tables with the owner ``\PValue{float}'' and +sets the options for this owner. By the way, the \hyperref[cha:scrhack]{\Package{scrhack}}% \IndexPackage{scrhack}\important{\hyperref[cha:scrhack]{\Package{scrhack}}} @@ -258,11 +256,13 @@ See the description of \DescRef{\LabelBase.cmd.tocbasic@extend@babel} in \end{Declaration} This command removes the \PName{extension} from the list of known extensions. If the optional argument, \OParameter{owner}, is given, the \PName{extension} -will only be removed if it was added by this \PName{owner}. See -\DescRef{\LabelBase.cmd.addtotoclist} for an explanation of how the list owner -is determined if the optional argument is omitted. If you specify an empty -\PName{owner}, the owner is not tested and the \PName{extension} is removed +will only be removed if it was added by this \PName{owner}. +% TODO: Fix new translation +This also applies to the empty \PName{owner}. If, on the other hand, no +\OParameter{owner} is specified at all and the square brackets are also +omitted, the owner is not tested and the \PName{extension} is removed regardless of the owner.% +% :ODOT \EndIndexGroup @@ -777,13 +777,13 @@ The \KOMAScript{} classes recognize an additional feature: top-level structure to use the one-column mode automatically, you can use \begin{lstcode} - \ifundefinedorrelax{chapter}{}{% + \Ifundefinedorrelax{chapter}{}{% \setuptoc{loa}{onecolumn}% } \end{lstcode} - Using \DescRef{scrbase.cmd.ifundefinedorrelax} requires the + Using \DescRef{scrbase.cmd.Ifundefinedorrelax} requires the \Package{scrbase} package (see \autoref{sec:scrbase.if}, - \DescPageRef{scrbase.cmd.ifundefinedorrelax}). + \DescPageRef{scrbase.cmd.Ifundefinedorrelax}). Even\textnote{Hint!} if your package will be used with another class, it does not hurt to set these features. To the contrary, if another class also @@ -797,14 +797,14 @@ of effort to implement and which are therefore missing in many packages.% \begin{Declaration} - \Macro{iftocfeature}\Parameter{extension}\Parameter{feature}% + \Macro{Iftocfeature}\Parameter{extension}\Parameter{feature}% \Parameter{then code}\Parameter{else code} \end{Declaration} -You can use this command to test if a \PName{feature} was set for the given -file \PName{extension}. If so the \PName{then code} will be executed, -otherwise the \PName{else code} will be. This can be useful, for example, if -you define your own heading command using -\DescRef{\LabelBase.cmd.deftocheading} but want to support the features +You\ChangedAt{v3.28}{\Package{tocbasic}} can use this command to test if a +\PName{feature} was set for the given file \PName{extension}. If so the +\PName{then code} will be executed, otherwise the \PName{else code} will +be. This can be useful, for example, if you define your own heading command +using \DescRef{\LabelBase.cmd.deftocheading} but want to support the features \PValue{totoc}, \PValue{numbered} or \PValue{leveldown}.% \EndIndexGroup @@ -1576,8 +1576,10 @@ Finally, using \Macro{DeclareTOCStyleEntry} will define the internal command followed by \Macro{normalfont}\Macro{normalsize}. The initial \PName{command} of entry level \PValue{part} prints the - argument in \Macro{large}\Macro{bfseries}. The initial \PName{command} of - all other levels prints the argument in + argument in \Macro{large}\Macro{bfseries} and of entry level + \PValue{chapter} in \Macro{bfseries}. For classes without + \Macro{l@chapter} \PValue{section} also uses \Macro{bfseries}. The initial + \PName{command} of all other levels prints the argument in \Macro{normalfont}\Macro{normalcolor}.% }% \entry{\OptionVName{pagenumberwidth}{length}}{% @@ -2005,10 +2007,12 @@ authors should never change them under any circumstances! If neither\textnote{Attention!} \DescRef{\LabelBase.cmd.listofeachtoc} nor \DescRef{\LabelBase.cmd.listoftoc} nor \DescRef{\LabelBase.cmd.listoftoc*} are used to output a content list, the hooks should nevertheless be called, if -they are defined. These commands can be undefined. For an appropriate test, -see \DescRef{scrbase.cmd.scr@ifundefinedorrelax}% -\IndexCmd{scr@ifundefinedorrelax} in \autoref{sec:scrbase.if}, -\DescPageRef{scrbase.cmd.scr@ifundefinedorrelax}.% +they are defined. These commands can be undefined.% +\iffalse % With current LaTeX you can simply use \@ifundefined +For an appropriate test, see \DescRef{scrbase.cmd.Ifundefinedorrelax}% +\IndexCmd{Ifundefinedorrelax} in \autoref{sec:scrbase.if}, +\DescPageRef{scrbase.cmd.Ifundefinedorrelax}.% +\fi% \EndIndexGroup @@ -2161,8 +2165,8 @@ Now\textnote{extension} we register the file name extension with the \begin{lstcode} \addtotoclist[float]{lor} \end{lstcode} -We use \PValue{float} as the owner so that all subsequent \KOMAScript{} -options that relate to lists of floating environments also apply to the new +We use \PValue{float} as the owner so that all options of \KOMAScript{} +classes that relate to lists of floating environments also apply to the new content list. Next\textnote{title} we define a title or heading for this content list: @@ -2424,7 +2428,7 @@ the styles.% name of the entry level is given by the \Option{type} option. In addition to the options in this table, all attributes of the \PName{TOC-entry style} can be used as options. To do so, you have to prefix the name of - such an attribute with \PValue{toc}. For example, you can change the + such an attribute with \PValue{tocentry}. For example, you can change the numerical level of the entries using the \Option{tocentrylevel} option. For more information about the styles and their attributes see \autoref{sec:tocbasic.tocstyle}, starting on @@ -2564,7 +2568,19 @@ Otherwise they may get an error message because \Package{hyperref} usually has a problem with the \Macro{MakeUppercase}\IndexCmd{MakeUppercase} command that is needed to convert the first letter of \Option{types} to upper case.% \EndIndexGroup -% + + +\section{Obsolete Befehle} +\seclabel{obsolete} + +% TODO: new translation +Prior releases of \Package{tocbasic} provide some commands that has been +renamed, because of a statement of The \LaTeX{} Project Team. Those deprecated +commands should not be used any longer. +% :ODOT + +\LoadNonFree{tocbasic}{0}% +% \EndIndexGroup % \endinput diff --git a/macros/latex/contrib/koma-script/source-doc/english/typearea-experts.tex b/macros/latex/contrib/koma-script/source-doc/english/typearea-experts.tex index b72bd75cc5..9444ae4f43 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/typearea-experts.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/typearea-experts.tex @@ -46,11 +46,11 @@ % ====================================================================== \KOMAProvidesFile{typearea-experts.tex} - [$Date: 2019-10-10 10:04:30 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-11-29 10:10:16 +0100 (Fri, 29 Nov 2019) $ KOMA-Script guide (chapter: typearea)] \translator{Markus Kohm\and Gernot Hassenpflug\and Karl Hagen} -% Date of the translated German file: 2019-10-10 +% Date of the translated German file: 2019-11-29 \chapter{Additional Information about the \Package{typearea} package} \labelbase{typearea-experts} diff --git a/macros/latex/contrib/koma-script/source-doc/english/typearea.tex b/macros/latex/contrib/koma-script/source-doc/english/typearea.tex index 6ae976a096..ba5c6c3894 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/typearea.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/typearea.tex @@ -46,12 +46,12 @@ % ====================================================================== \KOMAProvidesFile{typearea.tex}% - [$Date: 2019-10-10 10:04:30 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-10-19 12:04:47 +0200 (Sat, 19 Oct 2019) $ KOMA-Script guide (chapter: typearea)] \translator{Markus Kohm\and Gernot Hassenpflug\and Krickette Murabayashi\and Karl Hagen} -% Date of the translated German file: 2019-10-10 +% Date of the translated German file: 2019-10-18 \chapter{Calculating the Page Layout with \Package{typearea}} \labelbase{typearea} @@ -411,12 +411,8 @@ choices. The \Package{typearea} package offers two different user interfaces to influence the construction of the type area. The most important method is to -specify options when loading the package. For information on how to load -packages and pass options to packages, please refer to the {\LaTeX} -literature, for example \cite{lshort} and \cite{latex:usrguide}, or the -examples given here. Since the \Package{typearea} package is loaded -automatically when using the main {\KOMAScript} classes, the package options -can be given as class options (see \autoref{sec:maincls.options}). +specify options when loading the package. For information on how to setup +options with \KOMAScript, please refer to \autoref{sec:\LabelBase.options}. In\textnote{Note!} this section the classes used in the examples are not existing {\KOMAScript} classes but hypothetical ones. This @@ -502,7 +498,7 @@ with the margin constraints and for choosing a typographically pleasing line length. In \autoref{tab:typearea.typearea}, you will find the sizes of the type areas -for several \Var{DIV} factors for the A4 page with no binding correction. In +for several \Option{DIV} factors for the A4 page with no binding correction. In this case, the other constraints that are dependent on the font size are not taken into account. @@ -512,16 +508,16 @@ taken into account. \setcapindent{0pt}% \begin{captionbeside} % \caption - [{Type area dimensions dependent on \Var{DIV} for A4}] - {\label{tab:typearea.typearea}Type area dimensions dependent on \Var{DIV} - for A4 regardless of \Length{topskip} or \Var{BCOR}} + [{Type area dimensions dependent on \Option{DIV} for A4}] + {\label{tab:typearea.typearea}Type area dimensions dependent on \Option{DIV} + for A4 regardless of \Length{topskip} or \Option{BCOR}} [l] \begin{tabular}[t]{ccccc} \toprule & \multicolumn{2}{c}{Type area} & \multicolumn{2}{c}{Margins}\\ %\raisebox{1.5ex}[0pt]{ - \Var{DIV} + \Option{DIV} %} & width & height & top & inner \\ \midrule @@ -549,7 +545,7 @@ taken into account. PostScript fonts, is enabled in {\LaTeX} with the command \verb|\usepackage{bookman}|. Bookman is a very wide font, meaning that the individual characters are relatively wide compared to their height. - Therefore, the default setting for \Var{DIV} in \Package{typearea} is too + Therefore, the default setting for \Option{DIV} in \Package{typearea} is too small. After thoroughly studying this entire chapter, you conclude that a value of 15, instead of 12, is most suitable. The minutes will not be bound but punched and kept in a folder, and thus no binding correction is @@ -600,13 +596,13 @@ recalculated.% \end{Declaration}% As\ChangedAt{v3.00}{\Package{typearea}} already mentioned in \autoref{sec:typearea.divConstruction}, there are fixed defaults for -\Var{DIV} when using A4 paper. These can be found in \autoref{tab:typearea.div}. +\Option{DIV} when using A4 paper. These can be found in \autoref{tab:typearea.div}. However, such fixed values have the disadvantage that they do not take into account the letter spacing of the font used. With A4 and fairly narrow fonts, this can quickly lead to an unpleasantly high number of characters per line. See the considerations in \autoref{sec:typearea.basics}. If you choose a different paper size, \Package{typearea} will calculate an appropriate -\Var{DIV} value for you. Of course, you can also apply this same calculation +\Option{DIV} value for you. Of course, you can also apply this same calculation to A4. To do so, simply use \OptionValue{DIV}{calc}% \important{\OptionValue{DIV}{calc}} in place of \OptionVNameRef{\LabelBase}{DIV}{factor}. Of course, you can also specify this @@ -628,7 +624,7 @@ configuration settings. \begin{tabular}[t]{lccc} \toprule base font size: & 10\Unit{pt} & 11\Unit{pt} & 12\Unit{pt} \\ - \Var{DIV}: & 8 & 10 & 12 \\ + \Option{DIV}: & 8 & 10 & 12 \\ \bottomrule \end{tabular} \end{captionbeside} @@ -638,13 +634,13 @@ You can also select the traditional page layout mentioned in \autoref{sec:typearea.circleConstruction}, the medieval page canon. Instead of the \OptionVName{\DescRef{\LabelBase.option.DIV}}{factor} or \OptionValue{DIV}{calc} option, simply use the \OptionValue{DIV}{classic} -option. A \Var{DIV} value which is as close as possible to the medieval page +option. A \Option{DIV} value which is as close as possible to the medieval page canon is then chosen. \begin{Example} In the example using the Bookman font and the \OptionVNameRef{\LabelBase}{DIV}{factor} option, the problem was to select a - \Var{DIV} value that better matched the font. Modifying that example, you + \Option{DIV} value that better matched the font. Modifying that example, you can simply leave the calculation of this value to \Package{typearea}: \begin{lstcode} \documentclass[a4paper,twoside]{protocol} @@ -677,7 +673,7 @@ canon is then chosen. \OptionValue{DIV}{last} \end{Declaration}% If\ChangedAt{v3.00}{\Package{typearea}} you've been following the -examples closely, you already know how to calculate a \Var{DIV} value +examples closely, you already know how to calculate a \Option{DIV} value based on the font you chose when using a {\KOMAScript} class together with a font package. @@ -696,7 +692,7 @@ with a font package. \PParameter{\OptionValueRef{\LabelBase}{DIV}{calc}} or \DescRef{\LabelBase.cmd.KOMAoption}% \PParameter{\DescRef{\LabelBase.option.DIV}}\PParameter{calc}. The option - \PValue{calc} will then request a \Var{DIV} value for an appropriate line + \OptionValue{DIV}{calc} will then request a \Option{DIV} value for an appropriate line length. As it is often more convenient to set the \Option{DIV} option not after @@ -706,10 +702,10 @@ with a font package. \end{Explain} The option \OptionVName{DIV}{current}\ChangedAt{v3.00}{\Package{typearea}} -recalculates the type area and margins using the current \Var{DIV} value. +recalculates the type area and margins using the current \Option{DIV} value. This is less important for recalculating the type area after loading a different font. Instead, it is useful if, for example, you change the -leading while keeping \Var{DIV} the same and want to ensure the +leading while keeping the \Option{DIV} value the same and want to ensure the margin constraint that \Length{textheight} minus \Length{topskip} is a multiple of \Length{baselineskip}. @@ -727,7 +723,7 @@ last calculation. \usepackage{bookman} \KOMAoptions{DIV=last} \end{lstcode} -If you decide later that you need a different \Var{DIV} value, just change the +If you decide later that you need a different \Option{DIV} value, just change the setting of the optional argument to \DescRef{\LabelBase.cmd.documentclass}. \end{Example} @@ -750,10 +746,10 @@ load a different font. \pventry{areaset}{Recalculate page layout.\IndexOption{DIV~=\textKValue{areaset}}}% \pventry{calc}{Recalculate type area including choice of appropriate - \Var{DIV} value.\IndexOption{DIV~=\textKValue{calc}}}% + \Option{DIV} value.\IndexOption{DIV~=\textKValue{calc}}}% \pventry{classic}{Recalculate type area using medieval book design canon (circle-based calculation).\IndexOption{DIV~=\textKValue{classic}}}% - \pventry{current}{Recalculate type area using current \Var{DIV} + \pventry{current}{Recalculate type area using current \Option{DIV} value.\IndexOption{DIV~=\textKValue{current}}}% \pventry{default}{Recalculate type area using the standard value for the current page format and current font size. If no standard value exists, @@ -877,7 +873,7 @@ recalculated.% \label{tab:symbolicBCOR} \begin{desctabular} \pventry{current}{Recalculate type area with the currently valid - \Var{BCOR} value.\IndexOption{BCOR~=\textKValue{current}}} + \PName{BCOR} value.\IndexOption{BCOR~=\textKValue{current}}} \end{desctabular} \end{table} @@ -1771,7 +1767,7 @@ The \Package{typearea} package, even with option \OptionValueRef{\LabelBase}{DIV}{calc}% \important{\OptionValueRef{\LabelBase}{DIV}{calc}}, calculates a very generous text area. Many conservative typographers will find that the resulting line -length is still excessive. The calculated \Var{DIV} value may be found in the +length is still excessive. The calculated \Option{DIV} value may be found in the \File{log} file for each document. So you can easily choose a smaller value after the first {\LaTeX} run. |