diff options
Diffstat (limited to 'macros/latex/contrib/koma-script/doc/scrlttr2-experts-en.tex')
-rw-r--r-- | macros/latex/contrib/koma-script/doc/scrlttr2-experts-en.tex | 823 |
1 files changed, 823 insertions, 0 deletions
diff --git a/macros/latex/contrib/koma-script/doc/scrlttr2-experts-en.tex b/macros/latex/contrib/koma-script/doc/scrlttr2-experts-en.tex new file mode 100644 index 0000000000..a0f0b8e1e4 --- /dev/null +++ b/macros/latex/contrib/koma-script/doc/scrlttr2-experts-en.tex @@ -0,0 +1,823 @@ +% ====================================================================== +% scrlttr2-experts-en.tex +% Copyright (c) Markus Kohm, 2002-2022 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in MANIFEST.md. +% ====================================================================== +% +% Chapter about scrlttr2 of the KOMA-Script guide expert part +% Maintained by Markus Kohm +% +% ============================================================================ + +\KOMAProvidesFile{scrlttr2-experts-en.tex} + [$Date: 2022-06-05 12:40:11 +0200 (So, 05. Jun 2022) $ + 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} + +\chapter{Additional Information about the \Class{scrlttr2} Class and the + \Package{scrletter} Package} +\labelbase{scrlttr2-experts} + +\BeginIndexGroup +\BeginIndex{Class}{scrlttr2} +This chapter provides additional information about the \KOMAScript{} class +\Class{scrlttr2}. \iffree{Some parts of the chapter are found only in the + German \KOMAScript{} book \cite{book:komascript}. This should not be a + problem, because the}{The} average user, who only wants to use the class +or package, will not normally need this information. Part of this information +is addressed to users for whom the default options are insufficient. Thus, +for example, the first section describes in detail the pseudo-lengths that +specify the letterhead page and which can be used be used to modify the its +layout.% +\iffalse% Es wird Zeit das komplett rauszuwerfen! + In addition, this chapter also describes features that exist only to + provide compatibility with the deprecated \Class{scrlettr} class. It also + explains in detail how to convert a document from this obsolete class + to the current class. +\fi + +\BeginIndex{Package}{scrletter}% +Starting with \KOMAScript~3.15\ChangedAt[2014/11]{v3.15}{\Package{scrletter}}, +you can use the \Package{scrletter} package with one of the \KOMAScript{} +classes \Class{scrartcl}, \Class{scrreprt}, or \Class{scrbook}. It provides +nearly all the features of \Class{scrlttr2} for those classes. There are, +however, a few differences described later in this chapter.% + + +\section{Variables for Experienced Users} +\seclabel{variables} +\BeginIndexGroup +\BeginIndex{}{variables} + +\KOMAScript{} provides commands not only to use predefined variables but also +to define new variables or to change their automatic use within the reference +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}% +\end{Declaration} +\Macro{newkomavar} defines a new variable. This variable is referenced as +\PName{name}. Optionally, you can define a \PName{description} for the +\PName{name} variable. Unlike the \PName{name}, the \PName{description} is not +used to reference a variable. Instead, the \PName{description} acts as a +supplement to the content of a variable that can be printed as a label along +with its content. + +You can use the \Macro{addtoreffields} command to add the \PName{name} +variable to the reference line\Index{reference line} (see +\autoref{sec:scrlttr2.firstpage}, \DescPageRef{scrlttr2.option.refline}). The +\PName{description} and the content of the variable are added to the end of +the reference line. The starred version \Macro{newkomavar*} is similar to the +unstarred version but also calls the \Macro{addtoreffields} command. Thus, the +starred version automatically adds the variable to the reference line. +\begin{Example} + Suppose you need an additional field for a telephone extension in the + reference line. You can define this field with +\begin{lstcode} + \newkomavar[Extension]{myphone} + \addtoreffields{myphone} +\end{lstcode} + or more concisely with +\begin{lstcode} + \newkomavar*[Extension]{myphone} +\end{lstcode} +\end{Example} +When\textnote{Attention!} you define a variable for the reference line, you +should always give it a description. + +You can use the \Macro{removereffields} command to remove all variables from +the reference field. This includes the predefined variables of the class. The +reference line is then empty. This can be useful, for example, if you wish to +change the order of the variables in the reference fields line. + +The \Macro{defaultreffields} command resets the reference fields line to its +predefined format. In doing so, all custom-defined variables are removed from +the reference fields line. + +You\textnote{Attention!} should not add the date to the reference line with +the \Macro{addtoreffields} command. Instead you should use the +\DescRef{scrlttr2.option.refline}% +\important{\OptionValueRef{scrlttr2}{refline}{dateleft}\\ +\OptionValueRef{scrlttr2}{refline}{dateright}\\ +\OptionValueRef{scrlttr2}{refline}{nodate}}% +\IndexOption{refline~=\textKValue{dateleft}}% +\IndexOption{refline~=\textKValue{dateright}}% +\IndexOption{refline~=\textKValue{nodate}} option to select whether the date +should appear on the left or right side of the reference line, or not at all. +These settings also affect the position of the date when no reference line is +used.% +% +\EndIndexGroup + + +\begin{Declaration} + \Macro{usekomavar}\OParameter{command}\Parameter{name}% + \Macro{usekomavar*}\OParameter{command}\Parameter{name} +\end{Declaration} +The \DescRef{scrlttr2.cmd.usekomavar} and \DescRef{scrlttr2.cmd.usekomavar*} +commands are, like all commands where a starred version exists or which can +take an optional argument, not fully expandable. Nevertheless, if you use them +within \DescRef{scrlttr2.cmd.markboth}\IndexCmd{markboth}, +\DescRef{scrlttr2.cmd.markright}\IndexCmd{markright} or similar commands, you +need not insert \Macro{protect}\IndexCmd{protect} beforehand. Of course +this is also true for +\DescRef{scrlayer-scrpage.cmd.markleft}\IndexCmd{markleft} if you use the +\hyperref[cha:scrlayer-scrpage]{\Package{scrlayer-scrpage}}% +\IndexPackage{scrlayer-scrpage} package. These\textnote{Attention!} commands +cannot be used within commands that directly affect their argument, such as +\Macro{MakeUppercase}\important{\Macro{MakeUppercase}}% +\IndexCmd{MakeUppercase}. To avoid this problem you can use commands like +\Macro{MakeUppercase} as an optional argument to \Macro{usekomavar} or +\Macro{usekomavar*}. Then you will get the upper-case content of a variable +with +\begin{lstcode}[escapeinside=`'] + \usekomavar[\MakeUppercase]{`\PName{Name}'} +\end{lstcode} +% +\EndIndexGroup + + +\begin{Declaration} + \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 +unexpandable macros like \Macro{relax}, the result will be not empty even +where the use of the variable would not result in any visible output. + +Once\textnote{Attention!} again, this command cannot be used as the argument +of \Macro{MakeUppercase}\IndexCmd{MakeUppercase} or similar commands However, +it is robust enough to be used as the argument of +\DescRef{scrlttr2.cmd.markboth} or \DescRef{scrlttr2.cmd.footnote}, for +example.% +% +\EndIndexGroup + + +\begin{Declaration} + \Macro{foreachkomavar}\Parameter{list of variables}\Parameter{command} + \Macro{foreachnonemptykomavar}\Parameter{list of variables}\Parameter{command} + \Macro{foreachemptykomavar}\Parameter{list of variables}\Parameter{command} + \Macro{foreachkomavarifempty}\Parameter{list of variables} + \Parameter{then-code}\Parameter{else-code} +\end{Declaration} +The\ChangedAt{v3.27}{\Class{scrlttr2}\and \Package{scrletter}} +\Macro{foreachkomavar} command executes the specified \PName{command} for each +variable in the comma-separated \PName{list of variables}. The name of each +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 + 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 +ignored. + +The \Macro{foreachkomavarifempty} command is a kind of combination of the two +previously described commands. It executes the \PName{then-command} only for +those variables in the \PName{list of variables} that are empty, and the +\PName{else-command} for the non empty variables. As with \PName{command}, the +name of each variable is added as a parameter in both cases.% +\EndIndexGroup +% +\EndIndexGroup + + +\section{Additional Information about Page Styles} +\seclabel{pagestyleatscrletter} +\BeginIndexGroup +\BeginIndex{}{page>style} + +\LoadNonFree{scrlttr2-experts}{0}% +\EndIndexGroup + +\iffalse% Wurde bereits in Kapitel 4.21 behandelt +\section{Differences in How \Package{scrletter} Handles \File{lco} Files} +\seclabel{lcoatscrletter} +\BeginIndexGroup +\BeginIndex{File}{lco} +\BeginIndex{}{lco file=\File{lco} file} + +As\ChangedAt{v3.15}{\Package{scrletter}} explained in +\autoref{sec:scrlttr2.lcoFile}, \Class{scrlttr2} can load \File{lco} files via +the optional argument of \Macro{documentclass}. The \Package{scrletter} package +does not support this. + +\begin{Declaration} + \Macro{LoadLetterOption}\Parameter{name}% + \Macro{LoadLetterOptions}\Parameter{list of names} +\end{Declaration} +For \Class{scrlttr2}, load \File{lco} files with +\DescRef{scrlttr2.cmd.LoadLetterOption} or +\DescRef{scrlttr2.cmd.LoadLetterOptions} is only a recommendation. For +\Package{scrletter}, it is mandatory. Of course, you can only load the +\File{lco} files after you load \Package{scrletter}. +% +\EndIndexGroup +% +\EndIndexGroup +\fi + + +\section{\File{lco} Files for Experienced Users} +\seclabel{lcoFile} +\BeginIndexGroup +\BeginIndex{File}{lco} +\BeginIndex{}{lco file=\File{lco} file} + +\BeginIndexGroup% +\BeginIndex{}{paper>format}% +Although you can use any paper size that the +\hyperref[cha:typearea]{\Package{typearea}}% +\IndexPackage{typearea} package can configure, the output of the letterhead +page may produce undesirable results with some formats. Unfortunately, there +are no general rules to calculate the position of the address fields and the +like for every available paper size. Instead, different parameter sets are +needed for different paper sizes.% + +%\subsection{Verifying the Paper Size} +%\seclabel{papersize} + +At present parameter sets and \File{lco} files exist only for A4-sized and +letter-sized paper. Theoretically, however, the \Class{scrlttr2} class can +support many more paper sizes. Therefore, it's necessary to verify that the +correct paper size is used. This is even more true if you use +\Package{scrletter}, since the paper size depends on the class you use. + +\begin{Declaration} + \Macro{LetterOptionNeedsPapersize}% + \Parameter{option name}\Parameter{paper size} +\end{Declaration} +To provide at least a warning when another \PName{paper size} is used, you can +find a \Macro{LetterOptionNeedsPapersize} command in every \File{lco} file +distributed with {\KOMAScript}. The first argument is the name of the +\File{lco} file without the ``\File{.lco}'' suffix. The second argument is the +paper size for which the \File{lco} file is designed. + +If several \File{lco} files are loaded in succession, a +\Macro{LetterOptionNeedsPapersize} command can be contained in each of them, +but the \DescRef{scrlttr2.cmd.opening} command will only check the last given +\PName{paper size}. As the following example shows, an experienced user can +thus easily write \File{lco} files with parameter sets for other paper sizes. +\iffalse% Umbruchoptimierung +If you do not plan to set up such \File{lco} files yourself, you can just +forget about this option and skip the example.% +\fi +\begin{Example} + Suppose you use A5-sized paper in normal, that is upright or portrait, + orientation for your letters. Let's assume that you want to put them into + standard C6 window envelopes. In that case, the position of the address + field would be the same as for a standard letter on A4-sized paper. The main + difference is that A5 paper needs only one fold. So you want to disable the + top and bottom fold marks. You can do this, for example, by placing the + marks outside the paper area. +\begin{lstcode} + \ProvidesFile{a5.lco} + [2002/05/02 letter class option] + \LetterOptionNeedsPapersize{a5}{a5} + \setplength{tfoldmarkvpos}{\paperheight} + \setplength{bfoldmarkvpos}{\paperheight} +\end{lstcode} + Of course, it would be more elegant to deactivate the marks with the + \DescRef{scrlttr2.option.foldmarks} option. In addition, you must adjust the + position of the footer, that is, the \PLength{firstfootvpos} pseudo-length. + I leave it to the reader to find an appropriate value. When using such an + \File{lco} file, you must declare other \File{lco} file options like + \File{SN} before you load ``\File{a5.lco}''. +\end{Example} +% +\EndIndexGroup% +\EndIndexGroup% +\vskip-\ht\strutbox% Wegen Beispiel am Ende der Erklaerung + + +%\subsection{Visualizing Positions} +%\seclabel{visualize} +%\BeginIndexGroup +\begin{Declaration} + \File{visualize.lco} +\end{Declaration} +\BeginIndex{Option}{visualize}% +If you develop your own \File{lco} file, for example to modify the positions +of various fields on the letterhead page because your own desires or +requirements, it is helpful if you can make at least some elements directly +visible. The \File{lco} file +\File{visualize.lco}\ChangedAt{v3.04}{\Class{scrlttr2}} exists for this +purpose. You can load this file as you would any other \File{lco} file. But +this \emph{letter class options} file must be loaded in the document preamble, +and its effects cannot be deactivated. The \File{lco} file uses the +\Package{eso-pic}\IndexPackage{eso-pic}% +\important[i]{\Package{eso-pic}\\\Package{graphicx}} and +\Package{graphicx}\IndexPackage{graphicx} packages, which are not part of +\KOMAScript. + + +\begin{Declaration} + \Macro{showfields}\Parameter{field list} +\end{Declaration} +This command makes the space occupied by the fields on the letterhead page +visible. The \PName{field list} argument is a comma-separated list of fields +to be shown. The following fields are supported: +\begin{labeling}[~--]{\PValue{location}} +\item[\PValue{test}] is a 10\Unit{cm} by 15\Unit{cm} test field, 1\Unit{cm} + from the top and left edges of the paper. This field exists for debugging. + You can use it as a benchmark to check whether the measurements have been + distorted during the creation of the document. +\item[\PValue{head}] is the header area of the letterhead page. This field + is open at the bottom. +\item[\PValue{foot}] is the footer area of the letterhead page. This field is + open at the top. +\item[\PValue{address}] is the address window area used by window envelopes. +\item[\PValue{location}] is the field for the extra sender information. +\item[\PValue{refline}] is the reference line. This field is open at the + bottom. +\end{labeling}% +\BeginIndex{FontElement}{field}\LabelFontElement{field}% +You can change the colour of the visualisation with +the\DescRef{scrlttr2.cmd.setkomafont} and \DescRef{scrlttr2.cmd.addtokomafont} +(see \autoref{sec:scrlttr2.textmarkup}, +\DescPageRef{scrlttr2.cmd.setkomafont}) commands using the +\FontElement{field}\important{\FontElement{field}} element. The default is +\Macro{normalcolor}.% +\EndIndex{FontElement}{field}% +% +\EndIndexGroup + + +\begin{Declaration} + \Macro{setshowstyle}\Parameter{style}% + \Macro{edgesize} +\end{Declaration} +By default, \File{visualize.lco} indicates the individual areas with +frames\important{\PValue{frame}}, which corresponds to the \PName{style} +\PValue{frame}. Areas open at top or bottom are not completely framed but have +an open edge with with small arrows pointing up or down. +Alternatively\important{\PValue{rule}}, you can use the \PName{style} +\PValue{rule}. In this case, the area is highlighted by a background colour. +It isnot possible to distinguish open and closed areas. Instead a minimal +height will be used for open areas. The third\important{\PValue{edges}} +available \PName{style} is \PValue{edges}, which shows the corners of the +areas. The corner marks at the open edge of open areas will be omitted. The +size of two edges of the corner marks are given by the \Macro{edgesize} macro +with a default of 1\Unit{ex}.% +\EndIndexGroup + + +\begin{Declaration} + \Macro{showenvelope}\AParameter{width\textup{,}height}% + \AParameter{h-offset\textup{,}v-offset}% + \OParameter{instructions}% + \Macro{showISOenvelope}\Parameter{format}\OParameter{instructions}% + \Macro{showUScommercial}\Parameter{format}\OParameter{instructions}% + \Macro{showUScheck}\OParameter{instructions}% + \Macro{unitfactor} +\end{Declaration} +If you have loaded \File{visualize.lco}, you can use these commands to output +a page with a drawing of an envelope. The envelope drawing is always rotated +by 90\textdegree{} on a separate page and printed in 1:1~scale. The addressee +window is generated automatically from the current data for the address +position of the letterhead page: \PLength{toaddrvpos}, \PLength{toaddrheight}, +\PLength{toaddrwidth}, and \PLength{toaddrhpos}. To do so requires knowing how +much smaller the folded letter pages are than the width and height of the +envelope. If you do not specify these two values, \PName{h-offset} and +\PName{v-offset}, when calling \Macro{showenvelope}, they are calculated from +the fold marks and the paper size itself. + +The \Macro{showISOenvelope}, \Macro{showUScommercial}, and \Macro{showUScheck} +commands are based on \Macro{showenvelope}. With \Macro{showISOenvelope}, you +can create ISO-envelopes in C4, C5, C5/6, DL (also known as C5/6) or C6 +\PName{format}. With \Macro{showUScommercial}, you can create a US commercial +envelope in the 9 or 10 \PName{format}. You can use \Macro{showUScheck} for +envelopes in US check format. + +\BeginIndex{FontElement}{letter}\LabelFontElement{letter}% +The position of the letterhead page inside the envelope is indicated with +dashed lines. You can change the colour of these lines with the +\DescRef{scrlttr2.cmd.setkomafont} and \DescRef{scrlttr2.cmd.addtokomafont} +(see \autoref{sec:scrlttr2.textmarkup}, +\DescPageRef{scrlttr2.cmd.setkomafont}) using the +\FontElement{letter}\important{\FontElement{letter}} element. The default is +\Macro{normalcolor}.% +\EndIndex{FontElement}{letter}% + +\BeginIndex{FontElement}{measure}\LabelFontElement{measure}% +The envelope drawing will be provided with dimensions automatically. You can +change the colour of these dimension labels with the commands +\DescRef{scrlttr2.cmd.setkomafont} and \DescRef{scrlttr2.cmd.addtokomafont} +(see \autoref{sec:scrlttr2.textmarkup}, +\DescPageRef{scrlttr2.cmd.setkomafont}) using the +\FontElement{measure}\important{\FontElement{measure}} element. The default is +\Macro{normalcolor}. The dimensions are given in multiples of +\Length{unitlength}, with an accuracy of $1/\Macro{unitfactor}$, where the +accuracy of \TeX{} arithmetic is the actual limits. The default is 1. You can +redefine \Macro{unitfactor} using \Macro{renewcommand}.% +\EndIndex{FontElement}{measure}% + +\begin{Example} + You are generating a sample letter using the ISO-A4 format. The supported + fields should be marked with yellow borders to check their position. + Furthermore, the position of the window for a DL-size envelope should be + checked with drawing. The dimension lines in this drawing should be red, and + the numbers should use a smaller font, with the dimensions printed in cm + with an accuracy of 1\Unit{mm}. The dashed letterhead page in the envelope + should be coloured green. +\begin{lstcode} + \documentclass[visualize]{scrlttr2} + \usepackage{xcolor} + \setkomafont{field}{\color{yellow}} + \setkomafont{measure}{\color{red}\small} + \setkomafont{letter}{\color{green}} + \showfields{head,address,location,refline,foot} + \usepackage[british]{babel} + \usepackage{lipsum} + \begin{document} + \setkomavar{fromname}{Joe Public} + \setkomavar{fromaddress}{2 Valley\\ + SAMPLEBY\\ + ZY32 1XW} + \begin{letter}{% + 1 Hillside\\ + SAMPLESTEAD\\ + WX12 3YZ% + } + \opening{Hello,} + \lipsum[1] + \closing{Good bye} + \end{letter} + \setlength{\unitlength}{1cm} + \renewcommand*{\unitfactor}{10} + \showISOenvelope{DL} + \end{document} +\end{lstcode} + This will show the letterhead page as the first page and the drawing of the + envelope on the second page. +\end{Example} + +Note that poorly chosen combinations of \Length{unitlength} and +\Macro{unitfactor} can quickly lead to a \TeX{} \emph{arithmetic overflow} +error. The dimension numbers shown may also differ slightly from the actual +values. Neither are errors in \Option{visualize} but merely implementation +limitations of \TeX. +% +\EndIndexGroup +% +\EndIndexGroup +% +\EndIndexGroup + + +\section{Language Support} +\seclabel{languages}% +\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; +\PValue{austrian} for Austrian with the old German orthography, +\PValue{naustrian}\ChangedAt{v3.09}{\Class{scrlttr2}} for Austrian with the +new orthography; and \PValue{nswissgerman}\ChangedAt{v3.13}{\Class{scrlttr2}} +for Swiss German with the new orthogrphy, \PValue{swissgerman} for Swiss +German with the old orthography), English\Index{language>English} (among +others, \PValue{english} without specification as to whether American or +British should be used, \PValue{american} and \PValue{USenglish} for American +English, and \PValue{british} and \PValue{UKenglish} for British English), +French\Index{language>French}, Italian\Index{language>Italian}, +Spanish\Index{language>Spanish}, Dutch\Index{language>Dutch}, +Croatian\Index{language>Croatian}, Finnish\Index{language>Finnish}, +Norwegian\Index{language>Norwegian}\ChangedAt{v3.02}{\Class{scrlttr2}}, +Swedish\Index{language>Swedish}\ChangedAt{v3.08}{\Class{scrlttr2}}, +Polish\ChangedAt{v3.13}{\Class{scrlttr2}}, +Czech\ChangedAt{v3.13}{\Class{scrlttr2}}, and Slovak. + +You can switch languages using the \Package{babel}\IndexPackage{babel} package +(see \cite{package:babel}) with the \Macro{selectlanguage}\Parameter{language} +command. Other packages like \Package{german}\IndexPackage{german} (see +\cite{package:german}) and \Package{ngerman}\IndexPackage{ngerman} (see +\cite{package:ngerman}) also define this command. As a rule though, the +language selection occurs immediately as a direct consequence of loading such +a package. +\iffalse% Umbruchkorrekturtext +For details, please refer to the documentation of the relevant packages. +\fi + +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:\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 +\Package{french} package thus overwrites the definition and does not work +correctly with \KOMAScript. I regard this as a fault in the \Package{french} +package which, although reported decades ago, was unfortunately never +eliminated. + +If you use the \Package{babel}\IndexPackage{babel} package to switch to +\PValue{french}, problems can occasionally occur. With \Package{babel}, +however, you can usually deactivate changes to a language in a targeted +manner.% +\iffalse% This is actually outdated! +\ If the package \Package{french} is not installed, the problem with + \Package{babel} does not arise. Similarly, the problem usually does not + exist when you use \Package{babel} with other varieties of French such as + \PValue{acadian}, \PValue{canadien}, \PValue{francais} or \PValue{frenchb} + instead of \PValue{french}. +\fi + +\iffalse% This is also outdated! + However, with \Package{babel} version 3.7j and above, this problem only occurs + if the option explicitly indicates that \Package{babel} should use the + \Package{french} package. +% +\iftrue + If you cannot be sure you are not using an old version of \Package{babel}, I + recommend you use +\begin{lstcode} + \usepackage[...,frenchb,...]{babel} +\end{lstcode} + to select French. + \iffalse % + If necessary, you can still switch to French with + \Macro{selectlanguage}\PParameter{french}.% + \fi% +\fi +\fi + +\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. +\fi + + +\begin{Declaration} + \Macro{yourrefname}% + \Macro{yourmailname}% + \Macro{myrefname}% + \Macro{customername}% + \Macro{invoicename}% + \Macro{subjectname}% + \Macro{ccname}% + \Macro{enclname}% + \Macro{headtoname}% + \Macro{headfromname}% + \Macro{datename}% + \Macro{pagename}% + \Macro{mobilephonename}% + \Macro{phonename}% + \Macro{faxname}% + \Macro{emailname}% + \Macro{wwwname}% + \Macro{bankname} +\end{Declaration} +These commands contain the language-dependent terms. These\important[i]{% + \DescRef{scrbase.cmd.newcaptionname}\\ + \DescRef{scrbase.cmd.renewcaptionname}\\ + \DescRef{scrbase.cmd.providecaptionname}} definitions can be +modified to support a new language or for your private customization, as +described in +\autoref{sec:scrbase.languageSupport}. \KOMAScript{} sets these terms only 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:\LabelBase.languageTerms}.% +\EndIndexGroup +%\iffree{}{\clearpage}% Siehe Kommentar zur Tabelle + +\begin{Declaration} + \Macro{captionsacadian} + \Macro{captionsamerican} + \Macro{captionsaustralien} + \Macro{captionsaustrian} + \Macro{captionsbritish} + \Macro{captionscanadian} + \Macro{captionscanadien} + \Macro{captionscroatian} + \Macro{captionsczech} + \Macro{captionsdutch} + \Macro{captionsenglish} + \Macro{captionsfinnish} + \Macro{captionsfrancais} + \Macro{captionsfrench} + \Macro{captionsgerman} + \Macro{captionsitalian} + \Macro{captionsnaustrian} + \Macro{captionsnewzealand} + \Macro{captionsngerman} + \Macro{captionsnorsk} + \Macro{captionsnswissgerman} + \Macro{captionspolish} + \Macro{captionsslovak} + \Macro{captionsspanish} + \Macro{captionsswedish} + \Macro{captionsswissgerman} + \Macro{captionsUKenglish} + \Macro{captionsUSenglish} +\end{Declaration} +If you change the language of a letter, the language-dependent terms listed in +\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. +% +\begin{table} + \begin{minipage}{\textwidth} + \centering +% \KOMAoptions{captions=topbeside}% +% \setcapindent{0pt}% + \caption[{% + Defaults for language-dependent terms + }]{% + 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:\LabelBase.languageTerms}% + }[l] + \begin{tabular}[t]{lll} + \toprule + Command & \Option{english} & \Option{ngerman} \\ + \midrule + \Macro{bankname} & Bank account & Bankverbindung \\ + \Macro{ccname}\footnotemark[1] & cc & Kopien an \\ + \Macro{customername} & Customer no. & Kundennummer \\ + \Macro{datename} & Date & Datum \\ + \Macro{emailname} & Email & E-Mail \\ + \Macro{enclname}\footnotemark[1] & encl & Anlagen \\ + \Macro{faxname} & Fax & Fax \\ + \Macro{headfromname} & From & Von \\ + \Macro{headtoname}\footnotemark[1] & To & An \\ + \Macro{invoicename} & Invoice no. & Rechnungsnummer \\ + \Macro{myrefname} & Our ref. & Unser Zeichen \\ + \Macro{pagename}\footnotemark[1] & Page & Seite \\ + \Macro{mobilephonename} & Mobile phone & Mobiltelefon \\ + \Macro{phonename} & Phone & Telefon \\ + \Macro{subjectname} & Subject & Betrifft \\ + \Macro{wwwname} & Url & URL \\ + \Macro{yourmailname} & Your letter of & Ihr Schreiben vom\\ + \Macro{yourrefname} & Your ref. & Ihr Zeichen \\ + \bottomrule + \end{tabular} + \deffootnote{1em}{1em}{1\ }% brutal aber effektiv + \footnotetext[1000]{Normally these terms are defined by language + packages like \Package{babel}. In this case, \KOMAScript{} does not + redefine them. The actual wording may therefore differ and can + be found in the documentation for the language package used.} +% \end{captionbeside} + \end{minipage} +\end{table} +% +\EndIndexGroup +\iffree{}{\clearpage}% Umbruchkorrektur + +\begin{Declaration} + \Macro{dateacadian} + \Macro{dateamerican} + \Macro{dateaustralien} + \Macro{dateaustrian} + \Macro{datebritish} + \Macro{datecanadian} + \Macro{datecanadien} + \Macro{datecroatian} + \Macro{dateczech} + \Macro{datedutch} + \Macro{dateenglish} + \Macro{datefinnish} + \Macro{datefrancais} + \Macro{datefrench} + \Macro{dategerman} + \Macro{dateitalian} + \Macro{datenaustrian} + \Macro{datenewzealand} + \Macro{datengerman} + \Macro{datenorsk} + \Macro{datenswissgerman} + \Macro{datepolish} + \Macro{dateslovak} + \Macro{datespanish} + \Macro{dateswedish} + \Macro{dateswissgerman} + \Macro{dateUKenglish} + \Macro{dateUSenglish} +\end{Declaration} +Depending on the language used, the numerical representation of the date\Index{date} (see option +\DescRef{scrlttr2.option.numericaldate} in \autoref{sec:scrlttr2.firstpage}, +\DescPageRef{scrlttr2.option.numericaldate}) is formatted in various ways. +The exact format can be found in \autoref{tab:date}.% +\EndIndexGroup +% +\EndIndexGroup +\iffree{}{\clearpage}% Umbruchkorrektur zwecks Ausgabe der Tabellen + +\begin{table}[!tp]% Umbruchoptimierung +% \centering + \KOMAoptions{captions=topbeside}% + \setcapindent{0pt}% +% \caption + \begin{captionbeside}{Language-dependent forms of the date}[l] + \begin{tabular}[t]{ll} + \toprule + Command & Date Example \\ + \midrule + \Macro{dateacadian} & 24.\,12.\,1993\\ + \Macro{dateamerican} & 12/24/1993\\ + \Macro{dateaustralien}& 24/12/1993\\ + \Macro{dateaustrian} & 24.\,12.\,1993\\ + \Macro{datebritish} & 24/12/1993\\ + \Macro{datecanadian} & 1993/12/24\\ + \Macro{datecanadien} & 1993/12/24\\ + \Macro{datecroatian} & 24.\,12.\,1993.\\ + \Macro{dateczech} & 24.\,12.\,1993\\ + \Macro{datedutch} & 24.\,12.\,1993\\ + \Macro{dateenglish} & 24/12/1993\\ + \Macro{datefinnish } & 24.12.1993.\\ + \Macro{datefrancais} & 24.\,12.\,1993\\ + \Macro{datefrench} & 24.\,12.\,1993\\ + \Macro{dategerman} & 24.\,12.\,1993\\ + \Macro{dateitalian} & 24.\,12.\,1993\\ + \Macro{datenaustrian} & 24.\,12.\,1993\\ + \Macro{datenewzealand}& 24/12/1993\\ + \Macro{datengerman} & 24.\,12.\,1993\\ + \Macro{datenorsk} & 24.12.1993\\ + \Macro{datenswissgerman} & 24.\,12.\,1993\\ + \Macro{datepolish} & 24.\,12.\,1993\\ + \Macro{dateslovak} & 24.\,12.\,1993\\ + \Macro{datespanish} & 24.\,12.\,1993\\ + \Macro{dateswedish} & 24/12 1993\\ + \Macro{dateswissgerman} & 24.\,12.\,1993\\ + \Macro{dateUKenglish} & 24/12/1993\\ + \Macro{dateUSenglish} & 12/24/1993\\ + \bottomrule + \end{tabular} + \end{captionbeside} + \label{tab:date} +\end{table} +% +\section{Obsolete Commands} +\seclabel{obsolete} +\BeginIndexGroup + +\LoadNonFree{scrlttr2-experts}{1} +\EndIndexGroup +% +\iffalse% Es wird Zeit das komplett rauszuwerfen! +\section{From Obsolete \Class{scrlettr} to Current \Class{scrlttr2}} +\seclabel{fromscrlettr} + +With\textnote{Attention!} the 2002 release of \Class{scrlttr2} (see +\autoref{cha:scrlttr2}), the old letter class, \Class{scrlettr}, became +obsolete, and it is no longer part of \KOMAScript. If you still need the class +or information about it, you will find it in +\cite{package:koma-script-obsolete}. + +To facilitate the transition to the new class, there is the compatibility +option \Option{KOMAold}. Basically, all the older functionality still +exists in the new class. Without \Option{KOMAold}, however, the user +interface and the defaults are different. More details on +this option are provided in \autoref{sec:scrlttr2.lcoFile}, +\autoref{tab:lcoFiles}. + +\LoadNonFree{scrlttr2-experts}{2} +% +\EndIndexGroup +\fi +% +\EndIndexGroup + +\endinput + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "scrguide-en.tex" +%%% coding: utf-8 +%%% ispell-local-dictionary: "en_GB" +%%% eval: (flyspell-mode 1) +%%% End: |