From 33a91552392adacad1480db2e7ea4e966c0f4533 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 16 May 2012 23:12:50 +0000 Subject: koma-script (15may12) git-svn-id: svn://tug.org/texlive/trunk@26455 c570f23f-e606-0410-a88d-b1316a301751 --- .../source/latex/koma-script/doc/Makefile | 8 +- .../source/latex/koma-script/doc/Makefile.guide | 111 +- .../latex/koma-script/doc/english/adrconvnote.tex | 8 +- .../latex/koma-script/doc/english/authorpart.tex | 82 + .../latex/koma-script/doc/english/common-0.tex | 29 +- .../latex/koma-script/doc/english/common-1.tex | 197 +- .../latex/koma-script/doc/english/common-10.tex | 91 +- .../latex/koma-script/doc/english/common-11.tex | 271 +- .../latex/koma-script/doc/english/common-12.tex | 868 ++- .../latex/koma-script/doc/english/common-13.tex | 127 +- .../latex/koma-script/doc/english/common-14.tex | 714 +- .../latex/koma-script/doc/english/common-15.tex | 245 +- .../latex/koma-script/doc/english/common-2.tex | 65 +- .../latex/koma-script/doc/english/common-3.tex | 51 +- .../latex/koma-script/doc/english/common-4.tex | 106 +- .../latex/koma-script/doc/english/common-5.tex | 219 +- .../latex/koma-script/doc/english/common-6.tex | 292 +- .../latex/koma-script/doc/english/common-7.tex | 109 +- .../latex/koma-script/doc/english/common-8.tex | 297 +- .../latex/koma-script/doc/english/common-9.tex | 246 +- .../latex/koma-script/doc/english/expertpart.tex | 76 + .../koma-script/doc/english/guide-english.tex | 84 +- .../source/latex/koma-script/doc/english/guide.tex | 132 + .../latex/koma-script/doc/english/introduction.tex | 203 +- .../latex/koma-script/doc/english/linkalias.tex | 67 + .../latex/koma-script/doc/english/preface.tex | 74 + .../latex/koma-script/doc/english/scraddr.tex | 127 +- .../latex/koma-script/doc/english/scrbase.tex | 1209 ++++ .../doc/english/scrbookreportarticle-experts.tex | 658 ++ .../doc/english/scrbookreportarticle.tex | 6821 +++++++++----------- .../latex/koma-script/doc/english/scrdatetime.tex | 308 +- .../latex/koma-script/doc/english/scrextend.tex | 236 + .../latex/koma-script/doc/english/scrhack.tex | 164 + .../latex/koma-script/doc/english/scrlfile.tex | 703 +- .../koma-script/doc/english/scrlttr2-experts.tex | 1921 ++++++ .../latex/koma-script/doc/english/scrlttr2.tex | 6375 ++++++++---------- .../koma-script/doc/english/scrlttr2examples.dtx | 345 + .../latex/koma-script/doc/english/scrpage2.tex | 1272 ++-- .../latex/koma-script/doc/english/scrwfile.tex | 182 +- .../latex/koma-script/doc/english/tocbasic.tex | 1198 ++-- .../koma-script/doc/english/typearea-experts.tex | 178 + .../latex/koma-script/doc/english/typearea.tex | 402 +- .../source/latex/koma-script/doc/guide.bib | 10 + .../source/latex/koma-script/doc/guide.tex | 37 +- .../source/latex/koma-script/doc/linkalias.tex | 67 + .../source/latex/koma-script/doc/ngerman/Makefile | 6 +- .../latex/koma-script/doc/ngerman/Makefile.guide | 296 - .../latex/koma-script/doc/ngerman/adrconvnote.tex | 1 + .../latex/koma-script/doc/ngerman/common-12.tex | 2 +- .../latex/koma-script/doc/ngerman/common-8.tex | 1 - .../koma-script/doc/ngerman/guide-ngerman.tex | 17 +- .../source/latex/koma-script/doc/ngerman/guide.tex | 44 +- .../latex/koma-script/doc/ngerman/labelbasic.lco | 92 - .../latex/koma-script/doc/ngerman/linkalias.tex | 4 +- .../latex/koma-script/doc/ngerman/scraddr.tex | 6 +- .../latex/koma-script/doc/ngerman/scrbase.tex | 25 +- .../doc/ngerman/scrbookreportarticle-experts.tex | 17 +- .../doc/ngerman/scrbookreportarticle.tex | 71 +- .../latex/koma-script/doc/ngerman/scrdatetime.tex | 11 +- .../latex/koma-script/doc/ngerman/scrhack.tex | 13 +- .../latex/koma-script/doc/ngerman/scrlfile.tex | 18 +- .../koma-script/doc/ngerman/scrlttr2-experts.tex | 15 +- .../latex/koma-script/doc/ngerman/scrlttr2.tex | 115 +- .../latex/koma-script/doc/ngerman/scrpage2.tex | 6 +- .../latex/koma-script/doc/ngerman/scrwfile.tex | 4 +- .../koma-script/doc/ngerman/settleford600label.lco | 24 - .../latex/koma-script/doc/ngerman/tocbasic.tex | 23 +- .../koma-script/doc/ngerman/typearea-experts.tex | 28 +- .../latex/koma-script/doc/ngerman/typearea.tex | 4 +- .../source/latex/koma-script/doc/plength.dtx | 3 + .../source/latex/koma-script/doc/scrguide.cls | 22 +- 71 files changed, 16165 insertions(+), 11688 deletions(-) create mode 100644 Master/texmf-dist/source/latex/koma-script/doc/english/authorpart.tex create mode 100644 Master/texmf-dist/source/latex/koma-script/doc/english/expertpart.tex create mode 100644 Master/texmf-dist/source/latex/koma-script/doc/english/guide.tex create mode 100644 Master/texmf-dist/source/latex/koma-script/doc/english/linkalias.tex create mode 100644 Master/texmf-dist/source/latex/koma-script/doc/english/preface.tex create mode 100644 Master/texmf-dist/source/latex/koma-script/doc/english/scrbase.tex create mode 100644 Master/texmf-dist/source/latex/koma-script/doc/english/scrbookreportarticle-experts.tex create mode 100644 Master/texmf-dist/source/latex/koma-script/doc/english/scrextend.tex create mode 100644 Master/texmf-dist/source/latex/koma-script/doc/english/scrhack.tex create mode 100644 Master/texmf-dist/source/latex/koma-script/doc/english/scrlttr2-experts.tex create mode 100644 Master/texmf-dist/source/latex/koma-script/doc/english/scrlttr2examples.dtx create mode 100644 Master/texmf-dist/source/latex/koma-script/doc/english/typearea-experts.tex create mode 100644 Master/texmf-dist/source/latex/koma-script/doc/linkalias.tex delete mode 100644 Master/texmf-dist/source/latex/koma-script/doc/ngerman/Makefile.guide delete mode 100644 Master/texmf-dist/source/latex/koma-script/doc/ngerman/labelbasic.lco delete mode 100644 Master/texmf-dist/source/latex/koma-script/doc/ngerman/settleford600label.lco (limited to 'Master/texmf-dist/source/latex/koma-script/doc') diff --git a/Master/texmf-dist/source/latex/koma-script/doc/Makefile b/Master/texmf-dist/source/latex/koma-script/doc/Makefile index 4fa6136bade..9092d885d86 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/Makefile +++ b/Master/texmf-dist/source/latex/koma-script/doc/Makefile @@ -102,7 +102,8 @@ STATIC_DOC_LINKS= komascript.html komascr.html \ scrtime.html scrdate.html tocbasic.html scrbase.html DOC_SRC = scrguide.cls scrguide.ist scrguide.gst \ - guide.tex guide.bib plength.dtx + guide.tex guide.bib plength.dtx \ + linkalias.tex STATIC_DOC = $(STATIC_DOC_SRC) $(STATIC_DOC_LINKS) @@ -140,7 +141,7 @@ install_local: $(DIST_FILES) fi $(INSTALL) $(DIST_SRC) $(INSTALLSRCDIR) $(foreach file,$(STATIC_DOC),$(SYMLINK) ../../../../doc/latex/koma-script/$(file) $(INSTALLSRCDIR)/$(file);) - $(INSTALL) $(BIN_FILES) $(INSTALLSRCDIR)/$(BIN_DIR) + $(INSTALLEXECUTABLE) $(BIN_FILES) $(INSTALLSRCDIR)/$(BIN_DIR) $(INSTALL) $(STATIC_DOC) $(INSTALLDOCDIR) $(make_recursive) $(SECHO) ------------------------------------------------------------ @@ -179,7 +180,7 @@ uninstall_local: clean_local: $(make_recursive) -dist_local: +dist_local: $(DIST_FILES) -$(RMDIR) $(DISTDIR) $(MKDIR) $(DISTDIR) $(MKDIR) $(DISTDIR)/$(BIN_DIR) @@ -199,6 +200,7 @@ distclean_local: $(make_recursive) maintainclean_local: + $(SRM) ChangeLog.svn ChangeLog.bak $(STATIC_DOC_LINKS) $(make_recursive) edit: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/Makefile.guide b/Master/texmf-dist/source/latex/koma-script/doc/Makefile.guide index bbc7477fbbe..8f76ea692dd 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/Makefile.guide +++ b/Master/texmf-dist/source/latex/koma-script/doc/Makefile.guide @@ -62,32 +62,64 @@ MAKE_FILES = Makefile # ---------------------------------------------------------------------- GUIDENAME = scrgui$(LANGUAGESHORTCUT) -GENERATED_SRC = plenDIN.mps - -plenDIN_SRC = plenDIN.mp plinc.mp pllcoDIN.mp pltex.mp - ifeq ($(LANGUAGE),english) TEX_APPENDICES = japanlco.tex else TEX_APPENDICES = endif -TEX_CHAPTERS = introduction.tex typearea.tex \ - scrbookreportarticle.tex scrpage2.tex \ - scrdatetime.tex scrlttr2.tex scraddr.tex \ - adrconvnote.tex scrlfile.tex scrwfile.tex tocbasic.tex \ - $(TEX_APPENDICES) +TEX_CHAPTERS = preface.tex introduction.tex \ + authorpart.tex typearea.tex scrbookreportarticle.tex \ + scrlttr2.tex scrpage2.tex scrdatetime.tex scraddr.tex \ + adrconvnote.tex scrextend.tex \ + expertpart.tex scrbase.tex scrlfile.tex scrwfile.tex \ + tocbasic.tex scrhack.tex \ + typearea-experts.tex scrbookreportarticle-experts.tex \ + scrlttr2-experts.tex \ + $(TEX_APPENDICES) + +TEX_MISC = $(DOCDIR)guide.tex $(DOCDIR)linkalias.tex \ + common-0.tex common-1.tex common-2.tex common-3.tex \ + common-4.tex common-5.tex common-6.tex common-7.tex \ + common-8.tex common-9.tex common-10.tex common-11.tex \ + common-12.tex common-13.tex common-14.tex common-15.tex + +EXAMPLE_LETTER_DTX = scrlttr2examples.dtx + +EXAMPLE_LETTER_LETTERS = $(foreach num,\ + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 \ + 20 21 22 23 nipponA nipponB,\ + letter-$(num).tex) + +EXAMPLE_LETTER_DTX_RESULT = $(EXAMPLE_LETTER_LETTERS) musterlogo.eps ich.lco + +PLENGTH_DTX = $(DOCDIR)plength.dtx + +PLENGTH_DTX_RESULT = plength.drv plenDIN.mp varDIN.mp plinc.mp \ + pltex-vars.mp pltex-terms.mp pllcoDIN.mp + +PLENGTH_PDF = plenDIN.pdf varDIN.pdf + +PDF_EPS_SRC = musterlogo.eps -TEX_MISC = common-0.tex common-1.tex common-2.tex common-3.tex \ - common-4.tex common-5.tex common-6.tex common-7.tex \ - common-8.tex common-9.tex common-10.tex common-11.tex \ - common-12.tex common-13.tex common-14.tex common-15.tex +PDF_EPS = $(addsuffix .pdf,$(basename $(PDF_EPS_SRC))) + +EXAMPLE_LETTER_SRC = $(EXAMPLE_LETTER_LETTERS) $(PDF_EPS) ich.lco + +EXAMPLE_LETTER_PDF = $(addsuffix .pdf,$(basename $(EXAMPLE_LETTER_LETTERS))) + +GENERATED_SRC = $(EXAMPLE_LETTER_PDF) $(PLENGTH_PDF) + +GENERATED_CLEAN = $(GENERATED_SRC) \ + $(EXAMPLE_LETTER_DTX_RESULT) letter-label.tex \ + $(PDF_EPS) \ + $(PLENGTH_DTX_RESULT) TEX_SRC = guide-$(LANGUAGELONG).tex $(TEX_CHAPTERS) $(TEX_MISC) MISC_SRC = $(MAKE_FILES) htmlsetup -DIST_SRC = $(MISC_SRC) $(TEX_SRC) +DIST_SRC = $(MISC_SRC) $(TEX_SRC) $(EXAMPLE_LETTER_DTX) GUIDE_FILES = $(GUIDENAME).pdf $(GUIDENAME).html @@ -102,19 +134,18 @@ MAINTAIN_FILES = $(MAINTAIN_SRC) default_local: $(GUIDE_FILES) prepare_local: # nothing to do - echo $(GUIDE_FILES) - echo $(GENERATED_SRC) + $(ECHO) $(GENERATED_SRC) clean_local: - $(RM) *.aux *.bbl *.blg *.glo *.idx *.ilg *.ind *.log *.lot \ - *.dvi *.tmp mpxerr.tex \ - *.md5 *.toc *.mpx *.drv *.chn *.xref $(plenDIN_SRC) + $(RM) *.aux *.bbl *.blg *.glo *.idx *.ilg *.ind *.lof *.log *.lot \ + *.dvi *.tmp mpxerr.tex *.1 *.mp.keep *.mpo \ + *.md5 *.toc *.mpx *.drv *.chn *.xref distclean_local: clean_local - $(RM) $(GENERATED_SRC) + $(RM) $(GENERATED_CLEAN) maintainclean_local: distclean_local - $(RM) guide.pdf $(GUIDENAME).pdf + $(RM) guide.pdf $(GUIDENAME).pdf $(GUIDENAME).html ifdef DISTDIR @@ -159,7 +190,7 @@ uninstall_local: echo "$(INSTALLDOCDIR) not found --> nothing to uninstall!"; \ fi -dist_local: +dist_local: $(DIST_FILES) -$(RMDIR) $(DISTDIR) $(MKDIR) $(DISTDIR) $(CP) $(DIST_FILES) $(DISTDIR) @@ -194,11 +225,10 @@ edit: # ---------------------------------------------------------------------- # file rules -CKSUMFILES = $(DOCDIR)plength.dtx $(DOCDIR)guide.tex $(DOCDIR)scrguide.cls \ - $(BIBTEX_SRC) $(MAKEINDEXSTYLE) $(MAKECHANGESTYLE) \ +CKSUMFILES = $(BIBTEX_SRC) $(MAKEINDEXSTYLE) $(MAKECHANGESTYLE) \ guide.aux guide.ind guide.idx guide.bbl guide.toc guide.lot \ guide.chn guide.glo \ - $(foreach file,$(TEX_CHAPTERS),$(basename $(file)).aux) + $(foreach file,$(TEX_CHAPTERS) $(TEX_NONFREECHAPTERS),$(basename $(file)).aux) define latex $(SMV) $@ guide.pdf || exit 0 @@ -215,22 +245,36 @@ define latex $(SMV) guide.pdf $@ endef -$(GUIDENAME).html: guide.aux - $(GENHTMLINDEX) $(addsuffix .aux,$(basename $(TEX_CHAPTERS))) >$@ +$(GUIDENAME).html: htmlsetup guide.aux \ + $(foreach file,$(TEX_CHAPTERS) $(TEX_NONFREECHAPTERS),\ + $(basename $(file)).aux) + $(GENHTMLINDEX) $(addsuffix .aux,\ + $(basename $(TEX_CHAPTERS) $(TEX_NONFREECHAPTERS)))\ + >$@ $(GUIDENAME).pdf: $(DOCDIR)scrguide.cls $(DOCDIR)guide.tex $(GENERATED_SRC)\ guide.aux guide.bbl $(BIBTEX_SRC) \ $(MAKEINDEXSTYLE) guide.ind guide.idx \ $(MAKECHANGESTYLE) guide.chn guide.glo \ - $(TEX_SRC) + $(TEX_SRC) $(TEX_NONFREECHAPTERS) $(TEX_NONFREEMISC) $(SRM) guide.md5 $(latex) -plenDIN.mps: $(plenDIN_SRC) - $(MPOST) $< - $(MV) $(basename $@).1 $@ +$(PLENGTH_DTX_RESULT): $(PLENGTH_DTX) + $(PDFLATEX) $< + +$(PLENGTH_PDF): $(PLENGTH_DTX_RESULT) + $(MPOST) $(addsuffix .mp,$(basename $@)) + $(MPTOPDF) $(addsuffix .mp,$(basename $@)) + $(MV) $(addsuffix .pdf,$(basename $@)-1) $@ + +$(PDF_EPS): $(PDF_EPS_SRC) + $(EPSTOPDF) $(addsuffix .eps,$(basename $@)) + +$(EXAMPLE_LETTER_PDF): $(EXAMPLE_LETTER_SRC) + $(PDFLATEX) $(addsuffix .tex,$(basename $@)) -$(plenDIN_SRC): $(DOCDIR)plength.dtx +$(EXAMPLE_LETTER_DTX_RESULT): $(EXAMPLE_LETTER_DTX) $(PDFLATEX) $< guide.ind: guide.idx @@ -244,7 +288,8 @@ guide.bbl: $(BIBTEX_SRC) guide.aux $(BIBTEX) guide || test $$? -le $(BIBTEXNOERROR) $(BIBTEXFIX) guide.bbl -guide.glo guide.idx guide.aux: ../guide.tex $(TEX_SRC) +guide.glo guide.idx guide.aux: $(DOCDIR)guide.tex $(TEX_SRC) \ + $(TEX_NONFREECHAPTERS) $(TEX_NONFREEMISC) $(PDFLATEX) guide.tex # ---------------------------------------------------------------------- diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/adrconvnote.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/adrconvnote.tex index 9a5e0b8ccfe..73e4906b786 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/adrconvnote.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/adrconvnote.tex @@ -45,11 +45,11 @@ % % ====================================================================== -\ProvidesFile{adrconvnote.tex}[2007/09/27 KOMA-Script guide (chapter: +\ProvidesFile{adrconvnote.tex}[2012/02/23 KOMA-Script guide (chapter: adrconv)] \translator{Jens-Uwe Morawski\and Gernot Hassenpflug\and Markus Kohm} -% Date of translated german file: 2005/08/10 +% Date of translated german file: 2008/07/31 \chapter{Creating Address Files from a Address Database}% \labelbase{addrconv}% @@ -64,7 +64,7 @@ possible from an address database in {\BibTeX} format to create address files compatible with the {\KOMAScript} letter class or with the package \Package{scraddr}. -\begin{lstlisting} +\begin{lstlisting}[belowskip=\dp\strutbox,morekeywords={@address}] @address{HMUS, name = {Carl McExample}, title = {Dr.}, @@ -94,6 +94,6 @@ in your {\TeX} distribution then it can be downloaded from %%% Local Variables: %%% mode: latex -%%% coding: latin-1 +%%% coding: us-ascii %%% TeX-master: "../guide" %%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/authorpart.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/authorpart.tex new file mode 100644 index 00000000000..bb13da3a52a --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/authorpart.tex @@ -0,0 +1,82 @@ +% ====================================================================== +% authorpart.tex +% Copyright (c) Markus Kohm, 2002-2012 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ---------------------------------------------------------------------- +% authorpart.tex +% Copyright (c) Markus Kohm, 2002-2012 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% +% First part: KOMA-Script for Authors +% Maintained by Markus Kohm +% +% ---------------------------------------------------------------------- +% +% Erster Teil: KOMA-Script fuer Autoren +% Verwaltet von Markus Kohm +% +% ====================================================================== + +\ProvidesFile{authorpart.tex}[2012/04/02 Part KOMA-Script for Authors] +\translator{Markus Kohm\and Krickette Murabayashi} + +\setpartpreamble{% + \vspace*{2\baselineskip}% + \setlength{\parindent}{1em}% + + \noindent In this part you may find information for authors of articles, + reports, books, and letters. It is assumed that the average user is less + interested in the implementation of \KOMAScript{} or in the problems of + implementing \KOMAScript. Also, the average user isn't interested in + obsolete options and instructions. He wants to know how he can achieve + things using current options and instructions. Some users may be interested + in typographic background information. + + In this part, the few passages that contain additional information and + justification, and therefore are of less interest for the impatient reader, + have been set in sans serif font and can be skipped if necessary. For those + who are interested in more information about implementation, side effects + with other packages, and obsolete options and instructions, please refer to + \autoref{part:forExperts} on \autopageref{part:forExperts}. Furthermore, + that part of the \KOMAScript{} guide describes all the features that were + created specially for writers of packages and classes.% +} + +\part{\KOMAScript{} for Authors} +\label{part:forAuthors} + +\endinput + +%%% Local Variables: +%%% mode: latex +%%% coding: us-ascii +%%% TeX-master: "guide.tex" +%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/common-0.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/common-0.tex index 2a25659f032..f950ed11530 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/common-0.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/common-0.tex @@ -45,8 +45,10 @@ % % ====================================================================== -\ProvidesFile{common-0.tex}[2009/01/04 KOMA-Script guide (common paragraphs)] -\translator{Gernot Hassenpflug} +\ProvidesFile{common-0.tex}[2012/04/02 KOMA-Script guide (common paragraphs)] +\translator{Gernot Hassenpflug\and Krickette Murabayashi} + +% Date of the translated German file: 2011/08/26 \makeatletter \@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}% @@ -65,10 +67,10 @@ All of what is described in \autoref{sec:typearea.options} is generally applicab \BeginIndex{}{options}% -In this section a peculiarity of {\KOMAScript} is presented, which +In this section a peculiarity of {\KOMAScript} is presented, which, apart from % -\IfCommon{typearea}{the \Package{typearea} package is also relevant to other {\KOMAScript} packages and classes}% -\IfCommon{maincls}{the classes \Class{scrbook}, \Class{scrreprt} and +\IfCommon{typearea}{the \Package{typearea} package, is also relevant to other {\KOMAScript} packages and classes}% +\IfCommon{maincls}{the classes \Class{scrbook}, \Class{scrreprt}, and \Class{scrartcl} is also relevant to other {\KOMAScript} classes and packages}% \IfCommon{scrlttr2}{the class \Class{scrlttr2} is also relevant to other {\KOMAScript} classes and packages}% @@ -90,31 +92,32 @@ document. \end{Declaration} \BeginIndex{Cmd}{documentclass}% \BeginIndex{Cmd}{usepackage}% -In \LaTeX{} provision is made for the user to pass class options as a +In \LaTeX{}, provision is made for the user to pass class options as a comma-separated list of keywords as optional arguments to -\Macro{documentclass}. angeben. Apart from being passed to the class, +\Macro{documentclass}. +Apart from being passed to the class, these options are also passed on to all packages which can understand -the options. Provision is also made for the use to pass optional +the options. Provision is also made for the user to pass optional arguments as a comma-separated list of keywords as optional arguments to \Macro{usepackage}. {\KOMAScript} expands\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}\and \Package{scrextend}\and \Package{typearea}} the -option mechanism for die {\KOMAScript} classes und various packages to +option mechanism for the {\KOMAScript} classes and various packages to use further possibilities. Thus, most {\KOMAScript} options can also take a value. An option may have not only the form \PName{Option}, but may also have the form \PName{option}\texttt{=}\PName{value}. Apart from this difference \Macro{documentclass} and \Macro{usepackage} function the same in {\KOMAScript} as described in -\cite{latex:usrguide} oder any introduction to \LaTeX, for example +\cite{latex:usrguide} or any introduction to \LaTeX, for example \cite{l2short}.% % \IfNotCommon{scrextend}{\par% - When using a {\KOMAScript} class no options should be passed on + When using a {\KOMAScript} class, no options should be passed on % Die Alternativen an dieser Stelle dienen der Verbesserung des Umbruchs \IfCommon{typearea}{unnecessary, explicit }% loading of the \Package{typearea} or \Package{scrbase} packages. The reason for this is that the class already loads these packages - without options and \LaTeX{} refuses multiple loading of a package + without options and \LaTeX{} refuses multiple loadings of a package with different option settings.% \IfCommon{maincls}{\ Actually, it is no longer necessary when using any {\KOMAScript} class to explicity load either one of these @@ -137,7 +140,7 @@ function the same in {\KOMAScript} as described in \Class{scrreprt}\and \Class{scrartcl}\and \Package{scrextend}\and \Package{typearea}} offers most class and package options the opportunity to change the value of options even after loading of the -class or package. One may than change the values of a list of options +class or package. One may then change the values of a list of options at will with the \Macro{KOMAoptions} command. Each option in the \PName{option list} has the form \PName{option}\texttt{=}\PName{value}. diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/common-1.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/common-1.tex index 550cafe8918..3dbcdad259b 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/common-1.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/common-1.tex @@ -40,13 +40,15 @@ % % ---------------------------------------------------------------------- % -% Absätze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind +% Absaetze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind % Verwaltet von Markus Kohm % % ====================================================================== -\ProvidesFile{common-1.tex}[2009/01/04 KOMA-Script guide (common paragraphs)] -\translator{Gernot Hassenpflug} +\ProvidesFile{common-1.tex}[2012/04/08 KOMA-Script guide (common paragraphs)] +\translator{Markus Kohm\and Krickette Murabayashi} + +% Date of the translated German file: 2011/09/20 \makeatletter \@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}% @@ -56,115 +58,120 @@ \makeatother -\section{Kompatibilität zu früheren Versionen von \KOMAScript} +\section{Compatibility with Earlier Versions of \KOMAScript} \label{sec:\csname label@base\endcsname.compatibilityOptions} -\ifshortversion\IgnoreThisfalse\IfNotCommon{maincls}{\IgnoreThistrue}\fi% -\ifIgnoreThis% -Es gilt sinngemäß, was in \autoref{sec:maincls.compatibilityOptions} -geschrieben wurde. \IfCommon{scrlttr2}{Allerdings existiert diese Möglichkeit - bei \Class{scrlttr2} bereits seit Version~2.9t}. -\else -\BeginIndex{}{Kompatibilität} - -\IfCommon{maincls}{Wer seine Dokumente im Quellcode archiviert, legt in der - Regel allergrößten Wert darauf, dass bei zukünftigen \LaTeX{}-Läufen immer - wieder exakt dasselbe Ergebnis erzielt wird. In einigen Fällen ist es aber - so, dass Verbesserungen und Korrekturen an der Klasse zu Änderungen im - Verhalten, inbesondere beim Umbruch, führen.}% -\IfCommon{scrextend}{Wer seine Dokumente im Quellcode archiviert, legt in der - Regel allergrößten Wert darauf, dass bei zukünftigen \LaTeX{}-Läufen immer - wieder exakt dasselbe Ergebnis erzielt wird. In einigen Fällen ist es aber - so, dass Verbesserungen und Korrekturen an der Klasse zu Änderungen im - Verhalten, inbesondere beim Umbruch, führen.}% -\IfCommon{scrlttr2}{In einigen Fällen ist es so, dass Verbesserungen und - Korrekturen an der Klasse zu Änderungen im Verhalten, inbesondere beim - Umbruch, führen. Dies ist jedoch nicht immer erwünscht.}% +\ifshortversion\IgnoreThisfalse\IfNotCommon{typearea}{\IgnoreThistrue}\fi% +\ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht typearea + + +It applies, mutatis mutandis, what is written in +\autoref{sec:typearea.compatibilityOptions}\IfCommon{scrlttr2}{. However, this + feature exists at \Class{scrlttr2} since version~2.9t}. +\else %------------------------------------------------------- nur typearea - +\BeginIndex{}{Compatibility} +\IfCommon{typearea}{Those who achieve their documents in source code set utmost + value to the fact that future \LaTeX{} runs will yield exactly the same + result. Nevertheless, in some cases improvement and bug corrections of + packages will result in changes of the behaviour and make-up. But sometimes + this is not wanted.}% +\IfCommon{maincls}{Those who achieve their documents in source code set utmost + value to the fact that future \LaTeX{} runs will yield exactly the same + result. However, sometimes improvement and bug corrections of classes will result + in changes of the behaviour and make-up. But sometimes this is not wanted.}% +\IfCommon{scrextend}{Those who achieve their documents in source code set + utmost value to the fact that future \LaTeX{} runs will yield exactly + the same result. In some cases improvement and bug corrections of packages + will result in changes of the behaviour and make-up. But sometimes this is + not wanted.}% +\IfCommon{scrlttr2}{In some cases improvement and bug corrections of classes + will result in changes of the behaviour and make-up. But sometimes this is + not wanted.}% \begin{Declaration} - \KOption{version}\PName{Wert}\\ - \OptionValue{version}{first}\\ - \OptionValue{version}{last} + \KOption{version}\PName{value}\\ + \XOptionValue{version}{first}\\ + \XOptionValue{version}{last} \end{Declaration} \BeginIndex{Option}{version}% -\BeginIndex{Option}{version~=\PName{Wert}}% -\BeginIndex{Option}{version~=last}% -\BeginIndex{Option}{version~=first}% -\IfCommon{maincls}{\ChangedAt{v2.96a}{\Class{scrbook}\and \Class{scrreprt}\and - \Class{scrartcl}}Seit Version~2.96a besteht bei \KOMAScript\ }% -\IfCommon{scrlttr2}{\ChangedAt{v2.9t}{Seit \Class{scrlttr2}} Version~2.9t - besteht bei \Class{scrlttr2} }% -\IfCommon{scrextend}{Bei \Package{scrextend} besteht }% -die Wahl, ob eine Quelldatei soweit irgend möglich auch zukünftig bei einem -\LaTeX{}-Lauf zu exakt demselben Ergebnis führen soll oder ob jeweils -entsprechend der Anpassungen der neusten Version der Klasse zu setzen ist. Zu -welcher Version Kompatibilität herzustellen ist, wird dabei über die Option -\Option{version} festgelegt. Voreingestellt ist Version~2.9t. Dasselbe -Ergebnis kann mit -% Umbruchkorrektur: Unterlängenproblem in listings! -\begin{lstcode}[belowskip=\dp\strutbox] - version=first -\end{lstcode} -oder -\begin{lstcode}[belowskip=\dp\strutbox] - version=2.9 -\end{lstcode} -oder -\begin{lstcode}[belowskip=\dp\strutbox] - version=2.9t -\end{lstcode} -erreicht werden. Bei Angabe einer unbekannten Version als \PName{Wert} wird -eine Warnung ausgegeben und sicherheitshalber \Option{version=}\PValue{first} -angenommen. Mit -\begin{lstcode}[belowskip=\dp\strutbox] - version=last -\end{lstcode} -kann die jeweils neuste Version ausgewählt werden. In diesem Fall wird also -auf zukünftige Kompatibilität verzichtet. Wird die Option ohne Wertangabe -verwendet, so wird ebenfalls \PValue{last} angenommen. - -Die Frage der Kompatibilität betrifft in erster Linie Fragen des Umbruchs. Neue -Möglichkeiten, die sich nicht auf den Umbruch auswirken, sind auch dann -verfügbar, wenn man per Option die Kompatibilität zu einer älteren Version -ausgewählt hat. Die Option hat keine Auswirkungen auf Umbruchänderungen, die -bei Verwendung einer neueren Version durch Beseitigung eindeutiger Fehler -entstehen. Wer auch im Fehlerfall unbedingte Umbruchkompatibilität benötigt, -sollte stattdessen mit dem Dokument auch die verwendete \KOMAScript-Version -archivieren. +\BeginIndex{Option}{version~=\PName{value}}% +\BeginIndex{Option}{version~=\PValue{last}}% +\BeginIndex{Option}{version~=\PValue{first}}% +\IfNotCommon{scrextend}{Since }% +\ChangedAt{v2.96a}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}}% +\ChangedAt{v2.9t}{\Class{scrlttr2}}% +\ChangedAt{v3.01b}{\Package{typearea}}% +\IfCommon{typearea}{\ifshortversion % + version~2.96a of \KOMAScript, for \Class{scrlttr2} since + version~2.9t, and for \Package{typearea} since version~3.01b, % + \else% + version~3.01b of \Package{typearea} % + \fi% +}% +\IfCommon{maincls}{version~2.96a of \KOMAScript{} }% +\IfCommon{scrlttr2}{version~2.9t of \Class{scrlttr2} }% +\IfCommon{scrextend}{At \Package{scrextend} }% +it's your choice if your source code should result in the same make-up at +future \LaTeX{} runs or if you like to participate in all improvements of new +releases\IfCommon{maincls}{ of the class}\IfCommon{scrlttr2}{ of the + class}. You may select the compatible version of \KOMAScript{} with option +\Option{version}. Compatibility to the lowest supported \KOMAScript{} +release may be achieved by +\OptionValue{version}{first}\important{\OptionValue{version}{first}} or +\OptionValue{version}{2.9} or \OptionValue{version}{2.9t}. Setting +\PName{value} to an unknown release number will result in a warning message and +selects \OptionValue{version}{first} for safety. + +With \OptionValue{version}{last} the most recent version will be selected at +every \LaTeX{} run. Be warned, though, that using \OptionValue{version}{last} +poses possibilities of compatibility issues for future \LaTeX{} runs. Option +\Option{version} without any \PName{value} means the +same. \ChangedAt{v3.01a}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Class{scrlttr2}\and \Package{scrextend}}This is the +default behaviour as long as you don't use any deprecated options. + +If\textnote{Attention!} you use a deprecated option of \KOMAScript~2, +\KOMAScript~3 will switch to \OptionValue{version}{first} automatically. This +will also result in a warning message that explains how to prevent this +switching. Alternatively you may select another adjustment using option +\Option{version} with the wanted compatibility after the deprecated option. + +Compatibility is primarily make-up compatibility. New features not related to +the mark-up will be available even if you switch compatibility to a version +before first implementation of the feature. Option \Option{version} doesn't +influence make-up changes that are motivated by bug fixes. If you need bug +compatibility you should physically save the used \KOMAScript{} version +together with your document. \IfCommon{scrlttr2}{\begin{Example} - Die Beispielbriefe dieses Kapitels sollen alle Möglichkeiten nutzen, die in - der neusten Version von \KOMAScript{} zur Verfügung stehen. Dazu muss beim - Laden der Klasse die Kompatibilität entsprechend gesetzt werden:% + The letter examples of this chapter should use and show all the features + of the recent \KOMAScript{} release. To achieve this, we set the + corresponding compatibility:% \lstinputcode[xleftmargin=1em,lastline=1]{letter-0.tex}% - \iftrue% Umbruchkorrektur - Hier wurde einfach mit dem symbolischen Wert \PValue{last} die neuste - Version gewählt.% - \else% - Um nicht bei jeder neuen Version eine neue Versionsnummer angeben zu - müssen, wurde hier die Möglichkeit des symbolischen Wertes \PValue{last} - gewählt.% - \fi + In this case the symbolic value \PValue{last} has been used to select the + latest version.% \end{Example}} -Es ist zu beachten, dass die Option \Option{version} nach dem Laden % -\IfCommon{maincls}{der Klasse }% -\IfCommon{scrlttr2}{der Klasse }% -\IfCommon{scrextend}{des Pakets \Package{scrextend} }% -nicht mehr verändert werden kann.% -% -\EndIndex{Option}{version~=\PName{Wert}}% -\EndIndex{Option}{version~=first}% -\EndIndex{Option}{version~=last}% +Please note\textnote{Attention!} that you can't change option \Option{version} +anymore after loading the % +\IfCommon{maincls}{class}% +\IfCommon{scrlttr2}{class}% +\IfCommon{typearea}{package \Package{typearea}}% +\IfCommon{scrextend}{package \Package{scrextend}}% +. Therefore, the usage of option \Option{version} within the argument of +\Macro{KOMAoptions} or \Macro{KOMAoption} is not recommended and will cause an +error.% +\EndIndex{Option}{version~=\PName{value}}% +\EndIndex{Option}{version~=\PValue{first}}% +\EndIndex{Option}{version~=\PValue{last}}% \EndIndex{Option}{version}% % -\EndIndex{}{Kompatibilität} +\EndIndex{}{Compatibility} -\fi % IgnoreThis +\fi % *************************************************** Ende nur typearea * %%% Local Variables: %%% mode: latex -%%% coding: iso-latin-1 +%%% coding: us-ascii %%% TeX-master: "../guide" %%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/common-10.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/common-10.tex index d18ff9d6ac1..2b10f4ae9c9 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/common-10.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/common-10.tex @@ -40,13 +40,15 @@ % % ---------------------------------------------------------------------- % -% Absätze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind +% Absaetze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind % Verwaltet von Markus Kohm % % ====================================================================== -\ProvidesFile{common-10.tex}[2009/01/04 KOMA-Script guide (common paragraphs)] -\translator{Gernot Hassenpflug} +\ProvidesFile{common-10.tex}[2012/05/15 KOMA-Script guide (common paragraphs)] +\translator{Markus Kohm\and Krickette Murabayashi} + +% Date of the translated German file: 2012/01/01 \makeatletter \@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}% @@ -56,64 +58,51 @@ \makeatother -\ifIgnoreThis\else +\ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + +\else %------------------------------------------------------- nur maincls - \begin{Declaration} - \Macro{footref}\Parameter{Referenz} + \Macro{footref}\Parameter{reference} \end{Declaration} \BeginIndex{Cmd}{footref}% -Manchmal\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and - \Class{scrartcl}\and \Class{scrlttr2}} hat man in einem Dokument eine -Fußnote, zu der es im Text mehrere Verweise geben soll. Die ungünstige Lösung -dafür wäre die Verwendung von \Macro{footnotemark} unter Angabe der -gewünschten Nummer. Ungünstig an dieser Lösung ist, dass man die Nummer kennen -muss und sich diese jederzeit ändern kann. \KOMAScript{} bietet deshalb die -Möglichkeit, den \Macro{label}-Mechanismus auch für Verweise auf Fußnoten zu -verwenden. Man setzt dabei in der entsprechenden Fußnote eine -\Macro{label}-Anweisung und kann dann mit \Macro{footref} alle weiteren -Fußnotenmarken für diese Fußnote im Text setzen. +Sometimes\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Class{scrlttr2}} there are single footnotes to + multiple text passages. The least sensible way to typeset this would +be to repeatedly use \Macro{footnotemark} with the same manually set +number. The disadvantages of this method would be that you have to +know the number and manually fix all the \Macro{footnotemark} +commands, and if the number changes because of adding or removing a +footnote before, each \Macro{footnotemark} would have to be +changed. Because of this, \KOMAScript{} provides the use of the +\Macro{label}\IndexCmd{label}\important{\Macro{label}} mechanism in +such cases. After simply setting a \Macro{label} inside the footnote, +\Macro{footref} may be used to mark all the other text passages with +the same footnote mark. \begin{Example} - Sie schreiben einen Text, in dem sie bei jedem Auf"|treten eines Markennamens - eine Fußnote setzen müssen, die darauf hinweist, dass es sich um einen - geschützten Markennamen handelt. Sie schreiben beispielsweise: -\ifCommonmaincls - \begin{lstcode} - Die Firma SplischSplasch\footnote{Bei diesem Namen - handelt es sich um eine registrierte Marke. Alle - Rechte daran sind dem Markeninhaber - vorbehalten.\label{refnote}} stellt neben - SplischPlumps\footref{refnote} auch noch die - verbesserte Version SplischPlatsch\footref{refnote} - her. - \end{lstcode} - Es wird dann dreimal eine Marke auf dieselbe Fußnote gesetzt, einmal mit - \Macro{footnote} direkt und zweimal mit \Macro{footref}. -\else - \begin{lstcode} - Die Firma SplischSplasch\footnote{Bei diesem Namen - handelt es sich um eine registrierte Marke. Alle - Rechte daran sind dem Markeninhaber, der Firma - SplischSplasch, vorbehalten.\label{refnote}} - stellt neben SplischPlumps\footref{refnote} auch noch - die verbesserte Version SplischPlatsch\footref{refnote} - und das sehr beliebte - SplischSplaschPlumps\footref{refnote} her. - \end{lstcode} - Es wird dann vier Mal eine Marke auf dieselbe Fußnote gesetzt, einmal mit - \Macro{footnote} direkt und drei Mal mit \Macro{footref}. -\fi + Maybe you have to mark each trade name with a footnote which states that it + is a registered trade name. You may write, e.\,g., +\begin{lstcode} + Company SplishSplash\footnote{This is a registered trade name. + All rights are reserved.\label{refnote}} + produces not only SplishPlump\footref{refnote} + but also SplishPlash\footref{refnote}. +\end{lstcode} + This will produce the same footnote mark three times, but only one footnote + text. The first footnote mark is produced by \Macro{footnote} + itself, and the following two footnote marks are produced by + the additional \Macro{footref} commands. The footnote text will be produced by + \Macro{footnote}. \end{Example} -Da die Fußnotenmarken mit Hilfe des \Macro{label}-Mechanismus gesetzt werden, -werden nach Änderungen, die sich auf die Fußnotennummerierung auswirken, -gegebenenfalls zwei \LaTeX-Durchläufe benötigt, bis die mit \Macro{footref} -gesetzten Marken korrekt sind.% +Because of setting the additional footnote marks using the \Macro{label} +mechanism, changes of the footnote numbers will need at least two \LaTeX{} +runs to ensure correct numbers for all \Macro{footref} marks.% % \EndIndex{Cmd}{footref}% -\IfCommon{scrlttr2}{\EndIndex{}{Fussnoten=Fußnoten}} -\fi% IgnoreThis +\IfCommon{scrlttr2}{\EndIndex{}{footnotes}} +\fi %**************************************************** Ende nur maincls * %%% Local Variables: %%% mode: latex -%%% coding: iso-latin-1 +%%% coding: us-ascii %%% TeX-master: "../guide" %%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/common-11.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/common-11.tex index 4b6906c88fe..55f9aeb02a8 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/common-11.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/common-11.tex @@ -40,13 +40,15 @@ % % ---------------------------------------------------------------------- % -% Absätze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind +% Absaetze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind % Verwaltet von Markus Kohm % % ====================================================================== -\ProvidesFile{common-11.tex}[2009/01/04 KOMA-Script guide (common paragraphs)] -\translator{Gernot Hassenpflug} +\ProvidesFile{common-11.tex}[2012/02/07 KOMA-Script guide (common paragraphs)] +\translator{Gernot Hassenpflug\and Markus Kohm} + +% Date of the translated German file: 2012/01/01 \makeatletter \@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}% @@ -56,32 +58,60 @@ \makeatother -\ifIgnoreThis\else +\ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + +\else %------------------------------------------------------- nur maincls - \begin{Declaration} - \Macro{deffootnote}\OParameter{Markenbreite}\Parameter{Einzug}% - \Parameter{Absatzeinzug}\Parameter{Markendefinition}\\ - \Macro{deffootnotemark}\Parameter{Markendefinition}\\ + \Macro{deffootnote}\OParameter{mark width}\Parameter{indent}% + \Parameter{parindent}\Parameter{definition}\\ + \Macro{deffootnotemark}\Parameter{definition}\\ \Macro{thefootnotemark} \end{Declaration}% \BeginIndex{Cmd}{deffootnote}% \BeginIndex{Cmd}{deffootnotemark}% \BeginIndex{Cmd}{thefootnotemark}% -Die \KOMAScript-Klassen setzen Fußnoten etwas anders als die Standardklassen. -Die Fußnotenmarkierung im Text, also die Referenzierung der Fußnote, erfolgt -wie bei den Standardklassen durch kleine hochgestellte Zahlen. Genauso werden -die Markierungen auch in der Fußnote selbst wiedergegeben. Sie werden dabei -rechtsbündig in einem Feld der Breite \PName{Markenbreite} gesetzt. Die erste -Zeile der Fußnote schließt direkt an das Feld der Markierung an. - -Alle weiteren Zeilen werden um den Betrag von \PName{Einzug} eingezogen -ausgegeben. Wird der optionale Parameter \PName{Markenbreite} nicht angegeben, -dann entspricht er dem Wert von \PName{Einzug}. Sollte die Fußnote aus -mehreren Absätzen bestehen, dann wird die erste Zeile eines Absatzes -zusätzlich mit dem Einzug der Größe \PName{Absatzeinzug} versehen. +Footnotes are formatted slightly differently in {\KOMAScript} to in the +standard classes. As in the standard classes the footnote mark in the text is +depicted using a small superscripted number. The same formatting is used in +the footnote itself. The mark in the footnote is type-set right-aligned in a +box with width \PName{mark width}. The first line of the footnote follows +directly. + +All following lines will be indented by the length of \PName{indent}. If the +optional parameter \PName{mark width} is not specified, it defaults to +\PName{indent}. If the footnote consists of more than one paragraph, then the +first line of a paragraph is indented, in addition to \PName{indent}, by the +value of \PName{parindent}. + +\hyperref[fig:maincls.deffootnote]{Figure~\ref*{fig:maincls.deffootnote}} % +\IfCommon{scrlttr2}{at \autopageref{fig:maincls.deffootnote} }% +illustrates the layout parameters. The default configuration of the +{\KOMAScript} classes is: +\begin{lstcode} + \deffootnote[1em]{1.5em}{1em} + {\textsuperscript{\thefootnotemark}} +\end{lstcode} +\Macro{textsuperscript} controls both the superscript and the smaller +font size. Command \Macro{thefootnotemark} is the current footnote mark +without any formatting.% +\IfCommon{scrextend}{ % <-- Leerzeichen ist wichtig! + Package \Package{scrextend} in contrast to this does not change the default + footnote settings of the used class. Loading the package does not change any + type style of footnote marks or footnote text in general. You have to copy + the above shown source to use the default + settings of the \KOMAScript{} classes with \Package{scrextend}. This may be + done immediately after loading package \Package{scrextend}.}% \IfCommon{maincls}{% \begin{figure} - \centering\setlength{\unitlength}{1mm} +% \centering + \KOMAoption{captions}{bottombeside} + \setcapindent{0pt}% + \begin{captionbeside} + [{Parameters that control the footnote layout}]% + {\label{fig:maincls.deffootnote}\hspace{0pt plus 1ex}% + Parameters that control the footnote layout}% + [l] + \setlength{\unitlength}{1mm} \begin{picture}(100,22) \thinlines % frame of following paragraph @@ -99,8 +129,8 @@ zus % box of the footnote mark \put(0,16.5){\framebox(14.5,4.5){\mbox{}}} % description of paragraphs - \put(45,16){\makebox(0,0)[l]{\small\textsf{erster Absatz einer Fußnote}}} - \put(45,5){\makebox(0,0)[l]{\small\textsf{folgender Absatz einer Fußnote}}} + \put(45,16){\makebox(0,0)[l]{\textsf{first paragraph of a footnote}}} + \put(45,5){\makebox(0,0)[l]{\textsf{next paragraph of a footnote}}} % help lines \thicklines \multiput(0,0)(0,3){7}{\line(0,1){2}} @@ -109,143 +139,156 @@ zus \put(2,7){\vector(1,0){3}} \put(5,7){\line(1,0){5}} \put(15,7){\vector(-1,0){5}} - \put(15,7){\makebox(0,0)[l]{\small\PName{Absatzeinzug}}} - % + \put(15,7){\makebox(0,0)[l]{\small\PName{parindent}}} + % \put(-3,13){\vector(1,0){3}} \put(0,13){\line(1,0){5}} \put(10,13){\vector(-1,0){5}} - \put(10,13){\makebox(0,0)[l]{\small\PName{Einzug}}} - % + \put(10,13){\makebox(0,0)[l]{\small\PName{indent}}} + % \put(-3,19){\vector(1,0){3}} \put(0,19){\line(1,0){14.5}} \put(19.5,19){\vector(-1,0){5}} - \put(19.5,19){\makebox(0,0)[l]{\small\PName{Markenbreite}}} + \put(19.5,19){\makebox(0,0)[l]{\small\PName{mark width}}} \end{picture} - \caption{Parameter für die Darstellung der Fußnoten} - \label{fig:maincls.deffootnote} + \end{captionbeside} \end{figure}} -\autoref{fig:maincls.deffootnote} % -\IfCommon{scrlttr2}{auf \autopageref{fig:maincls.deffootnote} }% -veranschaulicht die verschiedenen Parameter% -\IfCommon{maincls}{nochmals}% -. Die Voreinstellung in den \KOMAScript-Klassen entspricht folgender -Definition: -% Umbruchkorrektur: listings korrigieren! -\begin{lstcode}[belowskip=\dp\strutbox] - \deffootnote[1em]{1.5em}{1em}{\textsuperscript{\thefootnotemark}} -\end{lstcode} -Dabei wird mit Hilfe von \Macro{textsuperscript} sowohl die Hochstellung als -auch die Wahl einer kleineren Schrift erreicht. \Macro{thefootnotemark} ist -die aktuelle Fußnotenmarke ohne jegliche Formatierung.% -\IfCommon{scrextend}{ Das Paket \Package{scrextend} überlässt hingegen in der - Voreinstellung das Setzen der Fußnoten der verwendeten Klasse. Das Laden des - Pakets allein sollte daher noch zu keinerlei Änderungen bei der Formatierung - der Fußnoten oder der Fußnotenmarken führen. Zur Übernahme der - Voreinstellungen der \KOMAScript-Klassen muss man vielmehr obige Einstellung - selbst vornehmen. Dazu kann obige Code-Zeile beispielsweise unmittelbar nach - dem Laden von \Package{scrextend} eingefügt werden.}% - \BeginIndex{FontElement}{footnote}% \BeginIndex{FontElement}{footnotelabel}% -Auf\ChangedAt{v2.8q}{\Class{scrbook}\and \Class{scrreprt}\and - \Class{scrartcl}\and \Class{scrlttr2}} die Fußnote einschließlich der -Markierung findet außerdem die für das Element \FontElement{footnote} -eingestellte Schriftart Anwendung. Die % Umbruchkorrekturvarianten -\IfCommon{maincls}{davon abweichende }% -Schriftart der Markierung kann % -\IfNotCommon{maincls}{jedoch }% -mit Hilfe der Anweisungen \Macro{setkomafont} und \Macro{addtokomafont} (siehe -\autoref{sec:\csname label@base\endcsname.textmarkup}, -\autopageref{desc:\csname label@base\endcsname.cmd.setkomafont}) für das -Element \FontElement{footnotelabel} % -\IfCommon{scrlttr2}{davon abweichend }% -eingestellt werden. Siehe hierzu auch % +The\ChangedAt{v2.8q}{% + \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} font element +\FontElement{footnote}\important{\FontElement{footnote}} determines the font +of the footnote including the footnote mark. Using the element +\FontElement{footnotelabel}\important{\FontElement{footnotelabel}} the font of +the footnote mark can be changed separately with the commands +\Macro{setkomafont} and \Macro{addtokomafont} (see \autoref{sec:\csname + label@base\endcsname.textmarkup}, \autopageref{desc:\csname + label@base\endcsname.cmd.setkomafont}). Please refer also to \IfNotCommon{scrextend}{\autoref{tab:\csname label@base\endcsname.elementsWithoutText}, \autopageref{tab:\csname label@base\endcsname.elementsWithoutText}}% \IfCommon{scrextend}{\autoref{tab:maincls.elementsWithoutText}, \autopageref{tab:maincls.elementsWithoutText}}% -. Voreingestellt ist jeweils keine Umschaltung der Schrift.% -\IfCommon{scrextend}{ Die Elemente finden bei scrextend jedoch nur dann - Anwendung, wenn die Fußnoten mit diesem Paket gesetzt werden, also - \Macro{deffootnote} verwendet wurde.}% -\EndIndex{FontElement}{footnotelabel}% -\EndIndex{FontElement}{footnote}% +. Default setting is no change in the font.% +\IfCommon{scrextend}{ % <-- Dieses Leerzeichen ist wichtig! + With \Package{scrextend} the elements may change the fonts only if the + footnotes are handled by the package, i.\,g., after using + \Macro{deffootnote}.} -Die Fußnotenmarkierung im Text wird getrennt von der Markierung vor der -Fußnote definiert. Dies geschieht mit der Anweisung -\Macro{deffootnotemark}. Voreingestellt ist hier: +\BeginIndex{FontElement}{footnotereference}% +The footnote mark in the text is defined separately from the mark in +front of the actual footnote. This is done with +\Macro{deffootnotemark}. Default setting is: % Umbruchkorrektur: listings korrigieren! \begin{lstcode}[belowskip=\dp\strutbox] - \deffootnotemark{\textsuperscript{\thefootnotemark}} + \deffootnotemark{% + \textsuperscript{\thefootnotemark}} \end{lstcode} -Dabei findet\ChangedAt{v2.8q}{\Class{scrbook}\and \Class{scrreprt}\and - \Class{scrartcl}} die Schriftart für das Element -\FontElement{footnotereference}\IndexFontElement{footnotereference} Anwendung -(siehe % +In the above\ChangedAt{v2.8q}{% + \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} the font +for the element +\FontElement{footnotereference}\important{\FontElement{footnotereference}} is +applied (see % \IfNotCommon{scrextend}{\autoref{tab:\csname label@base\endcsname.elementsWithoutText}, \autopageref{tab:\csname label@base\endcsname.elementsWithoutText}}% \IfCommon{scrextend}{\autoref{tab:maincls.elementsWithoutText}, \autopageref{tab:maincls.elementsWithoutText}}% -). Die Markierungen im Text und in der Fußnote selbst sind also identisch. Die -Schriftart kann mit Hilfe der Anweisungen \Macro{setkomafont} und -\Macro{addtokomafont} (siehe \autoref{sec:\csname +). % +Thus the footnote +marks in the text and in the footnote itself are identical. The font +can be changed with the commands \Macro{setkomafont} and +\Macro{addtokomafont} (see \autoref{sec:\csname label@base\endcsname.textmarkup}, \autopageref{desc:\csname - label@base\endcsname.cmd.setkomafont}) jedoch geändert werden% -\IfCommon{scrextend}{, sobald die Anweisung \Macro{deffootnotemark} verwendet - wird}% -. + label@base\endcsname.cmd.setkomafont})% +\IfCommon{scrextend}{ after usage of \Macro{deffootnotemark}}. \ifCommonscrlttr\else \begin{Example} \phantomsection\label{desc:maincls.cmd.deffootnote.example}% - Relativ häufig wird gewünscht, dass die Markierung in der Fußnote selbst - weder hochgestellt noch kleiner gesetzt wird. Dabei soll sie aber nicht - direkt am Text kleben, sondern geringfügig davor stehen. Dies kann zum einen - wie folgt erreicht werden: - \begin{lstcode} + A\textnote{Hint!} feature often asked for is footnote marks which are + neither in superscript nor in a smaller font size. They should not touch the + footnote text but be separated by a small space. This can be accomplished as + follows: +\begin{lstcode} \deffootnote{1em}{1em}{\thefootnotemark\ } - \end{lstcode} - Die Fußnotenmarkierung einschließlich dem folgenden Leerzeichen wird also - rechtsbündig in eine Box der Breite 1\Unit{em} gesetzt. Die folgenden - Zeilen der Fußnote werden gegenüber dem linken Rand ebenfalls um 1\Unit{em} - eingezogen. +\end{lstcode} + The footnote mark and the following space are therefore set + right-aligned into a box of width 1\Unit{em}. The following lines of + the footnote text are also indented by 1\Unit{em} from the left + margin. - Eine weitere, oft gefragte Formatierung sind linksbündige - Fußnotenmarkierungen in der Fußnote. Diese können mit folgender Definition - erhalten werden: - \begin{lstcode} + Another\textnote{Hint!} often requested footnote layout is left-aligned + footnote marks. These can be obtained with: +\begin{lstcode} \deffootnote{1.5em}{1em}{% \makebox[1.5em][l]{\thefootnotemark}} - \end{lstcode} +\end{lstcode} - Sollen jedoch die Fußnoten insgesamt lediglich in einer anderen Schriftart, - beispielsweise serifenlos gesetzt werden, so ist dies ganz einfach mit Hilfe - der Anweisungen \Macro{setkomafont} und \Macro{addtokomafont} (siehe + If you want however only to change the font for all footnotes, for example + to sans serif, you can solve this problem simply by using the commands + \Macro{setkomafont} and \Macro{addtokomafont} (see \autoref{sec:maincls.textmarkup}, - \autopageref{desc:maincls.cmd.setkomafont}) zu lösen: - \begin{lstcode} + \autopageref{desc:maincls.cmd.setkomafont}: +\begin{lstcode} \setkomafont{footnote}{\sffamily} - \end{lstcode} -\end{Example} -Wie die Beispiele zeigen, ermöglicht {\KOMAScript} mit dieser einfachen -Benutzerschnittstelle eine große Vielfalt unterschiedlicher -Fußnotenformatierungen.% +\end{lstcode} +\end{Example}% +\IfNotCommon{scrextend}{As demonstrated with the examples above, the simple + user interface of {\KOMAScript} provides a great variety of different + footnote formattings.}% \fi% -\IfCommon{scrlttr2}{Beispiele finden Sie in \autoref{sec:maincls.footnotes}, - \autopageref{desc:maincls.cmd.deffootnote}.}% +\IfCommon{scrlttr2}{% + Examples may be found at \autoref{sec:maincls.footnotes}, from + \autopageref{desc:maincls.cmd.deffootnote} onwards.}% +% +\EndIndex{FontElement}{footnotereference}% +\EndIndex{FontElement}{footnotelabel}% +\EndIndex{FontElement}{footnote}% % \EndIndex{Cmd}{deffootnote}% \EndIndex{Cmd}{deffootnotemark}% \EndIndex{Cmd}{thefootnotemark}% -\IfNotCommon{scrlttr2}{\EndIndex{}{Fussnoten=Fußnoten}} -\fi% IgnoreThis + + +\begin{Declaration} + \Macro{setfootnoterule}\OParameter{thickness}\Parameter{length}% +\end{Declaration}% +\BeginIndex{Cmd}{setfootnoterule}% +Generally\ChangedAt{v3.06}{\Class{scrlttr2}\and \Class{scrbook}\and + \Class{scrreprt}\and \Class{scrartcl}\and \Package{scrextend}} a horizontal +rule will be placed between the text area and the footnote area. But normally +this rule is not as long as the width of the typing area. With Command +\Macro{setfootnoterule} you may change the thickness and the width of that +rule. Thereby the parameters \PName{thickness} and \PName{length} will be +evaluated not at definition time but when setting the rule itself. If +optional argument \PName{thickness} ha been omitted the thickness of the rule +will not be changed. Empty arguments \PName{thickness} or \PName{length} are +also allowed and do not change the corresponding parameter. Using implausible +values may result in warning messages not only setting the arguments but also +when \KOMAScript{} uses the parameters. + +\BeginIndex{FontElement}{footnoterule}% +With element \FontElement{footnoterule}\important{\FontElement{footnoterule}} +the color \ChangedAt{v3.07}{\Class{scrlttr2}\and \Class{scrbook}\and + \Class{scrreprt}\and \Class{scrartcl}\and \Package{scrextend}} of the rule +may be changed using the commands \Macro{setkomafont} and +\Macro{addtokomafont} (see \autoref{sec:\csname + label@base\endcsname.textmarkup}, \autopageref{desc:\csname + label@base\endcsname.cmd.setkomafont}). Default is no change of font or +color. For color changes a color package like +\Package{xcolor}\IndexPackage{xcolor}\important{\Package{xcolor}} would be +needed.% +% +\EndIndex{FontElement}{footnoterule}% +\EndIndex{Cmd}{setfootnoterule}% +\IfNotCommon{scrlttr2}{\EndIndex{}{footnotes}} +\fi %**************************************************** Ende nur maincls * %%% Local Variables: %%% mode: latex -%%% coding: iso-latin-1 +%%% coding: us-ascii %%% TeX-master: "../guide" %%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/common-12.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/common-12.tex index 8ec64348da1..a57b75f9624 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/common-12.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/common-12.tex @@ -40,13 +40,15 @@ % % ---------------------------------------------------------------------- % -% Absätze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind +% Absaetze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind % Verwaltet von Markus Kohm % % ====================================================================== -\ProvidesFile{common-12.tex}[2009/01/04 KOMA-Script guide (common paragraphs)] -\translator{Gernot Hassenpflug} +\ProvidesFile{common-12.tex}[2012/05/15 KOMA-Script guide (common paragraphs)] +\translator{Gernot Hassenpflug\and Markus Kohm\and Krickette Murabayashi} + +% Date of the translated German file: 2011/09/21 \makeatletter \@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}% @@ -56,31 +58,33 @@ \makeatother -\section{Listen} +\section{Lists} \label{sec:\csname label@base\endcsname.lists}% \ifshortversion\IgnoreThisfalse\IfNotCommon{maincls}{\IgnoreThistrue}\fi% -\ifIgnoreThis -Es gilt sinngemäß, was in \autoref{sec:maincls.footnotes} geschrieben -wurde. \IfCommon{scrextend}{Allerdings werden vom Paket \Package{scrextend} - nur die Umgebungen \Environment{labeling}, \Environment{addmargin} und - \Environment{addmargin*} definiert. Alle anderen Listenumgebungen bleiben - der Verantwortung und Kontrolle der verwendeten Klasse überlassen.} -\else -\BeginIndex{}{Listen}% - -{\LaTeX} und die Standardklassen bieten verschiedene Umgebungen für -Listen. All diese Umgebungen bietet {\KOMAScript} selbstverständlich auch, -teilweise jedoch mit leichten Abwandlungen oder Erweiterungen. Grundsätzlich -gilt, dass Listen -- auch unterschiedlicher Art -- bis zu einer Tiefe von vier -Listen geschachtelt werden können. Eine tiefere Schachtelung wäre auch aus -typografischen Gründen kaum sinnvoll, da genau genommen schon mehr als drei -Ebenen nicht mehr überblickt werden können. Ich empfehle in solchen Fällen, -die eine große Liste in mehrere kleinere Listen aufzuteilen. - -\IfCommon{scrlttr2}{Da Listen zu den Standardelementen von \LaTeX{} gehören, - wurde in diesem Abschnitt auf Beispiele verzichtet. Sie finden solche in - \autoref{sec:maincls.lists} ab \autopageref{sec:maincls.lists} oder in jeder - \LaTeX-Einführung.} +\ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + +What is described in +\autoref{sec:maincls.lists} applies, mutatis mutandis. +\IfCommon{scrextend}{% + However, \Package{scrextend} does support only the environments + \Environment{labeling}, \Environment{addmargin} and + \Environment{addmargin*}. All the other list environments may be supported + and controlled by the used class.} +\else %------------------------------------------------------- nur maincls - +\BeginIndex{}{lists}% + +Both {\LaTeX} and the standard classes offer different environments for +lists. Though slightly changed or extended all these list are of course +offered in {\KOMAScript} as well. In general, all lists\,---\,even of different +kind\,---\,can be nested up to four levels. From a typographical view, +anything more would make no sense, as more than three levels can no longer be +easily perceived. The recommended\textnote{Hint!} procedure in such a case is +to split the large list into several smaller ones. + +\IfCommon{scrlttr2}{% + Because lists are standard elements of \LaTeX{} this section abandons on + examples. Nevertheless, you may find examples either in + \autoref{sec:maincls.lists} from \autopageref{sec:maincls.lists} or in + almost every introduction to \LaTeX.} \ifCommonscrextend\else \begin{Declaration} @@ -99,84 +103,91 @@ die eine gro \BeginIndex{Cmd}{labelitemii}% \BeginIndex{Cmd}{labelitemiii}% \BeginIndex{Cmd}{labelitemiv}% -Die einfachste Form einer Liste ist die Stichpunkt- oder -\Environment{itemize}-Liste. Die Benutzer einer unbeliebten Textverarbeitung -nennen diese Form der Liste auch gerne \emph{Bulletpoints}. Vermutlich können -sie sich nicht vorstellen, dass je nach Ebene auch ein anderes Zeichen als ein -fetter Punkt zur Einleitung eines Stichpunkts verwendet werden kann. Bei den -\KOMAScript-Klassen werden je nach Ebene folgende Zeichen verwendet: -%»{\labelitemi}«, »{\labelitemii}«, »{\labelitemiii}« und »{\labelitemiv}«. Die -Definition der Zeichen für die einzelnen Ebenen sind in den Makros -\Macro{labelitemi}, \Macro{labelitemii}, \Macro{labelitemiii} und -\Macro{labelitemiv} abgelegt. Sie können mit \Macro{renewcommand} umdefiniert -werden. Die einzelnen Stichpunkte werden mit \Macro{item} eingeleitet.% +The simplest form of a list is an \Environment{itemize} list. +\iffalse % Umbruckoptimierungstext +The users of a certain disliked word processing package often refer to +this form of a list as \emph{bulletpoints}. Presumably, these users +are unable to envisage that, depending on the level, a different +symbol from a large dot could be used to introduce each +point. % +\fi% +Depending on the level, {\KOMAScript} uses the following marks: +``{\labelitemi}'', ``{\labelitemii}'', ``{\labelitemiii}'' and +``{\labelitemiv}''. The definition of these symbols is specified in +the macros \Macro{labelitemi}, \Macro{labelitemii}, +\Macro{labelitemiii} and \Macro{labelitemiv}, all of which can be +redefined using \Macro{renewcommand}. Every item is introduced with +\Macro{item}.% % \ifCommonmaincls \begin{Example} \phantomsection\label{desc:maincls.env.itemize.example}% - Sie haben eine einfache Aufzählung, die in mehreren Ebenen geschachtelt - ist. Sie schreiben beispielsweise: - \begin{lstcode} - \minisec{Die Fahrzeuge im Spiel} + You have a simple list which is nested in several levels. You write + for example: +\begin{lstcode} + \minisec{Vehicles} \begin{itemize} - \item Flugzeuge + \item aeroplanes \begin{itemize} - \item Doppeldecker - \item Jets - \item Transportmaschinen + \item biplane + \item jets + \item transport planes \begin{itemize} - \item einmotorig + \item single-engined \begin{itemize} - \item{düsengetrieben} - \item{propellergetrieben} + \item jet-driven + \item propeller-driven \end{itemize} - \item mehrmotorig + \item multi-engined \end{itemize} - \item Drehflügler + \item helicopters \end{itemize} - \item Motorräder + \item automobiles \begin{itemize} - \item historisch korrekt - \item futurisch nicht real + \item racing cars + \item private cars + \item lorries \end{itemize} - \item Automobile + \item bicycles \end{itemize} - \end{lstcode} - Anschließend erhalten Sie: +\end{lstcode} + As output you get: \begin{ShowOutput}[\baselineskip] - \minisec{Die Fahrzeuge im Spiel} + \minisec{Vehicles} + \begin{itemize} + \item aeroplanes \begin{itemize} - \item Flugzeuge + \item biplanes + \item jets + \item transport planes \begin{itemize} - \item Doppeldecker - \item Jets - \item Transportmaschinen + \item single-engined \begin{itemize} - \item einmotorig - \begin{itemize} - \item{düsengetrieben} - \item{propellergetrieben} - \end{itemize} - \item mehrmotorig + \item jet-driven + \item propeller-driven \end{itemize} - \item Drehflügler + \item multi-engined \end{itemize} - \item Motorräder - \begin{itemize} - \item historisch korrekt - \item futurisch nicht real - \end{itemize} - \item Automobile -% \begin{itemize} -% \item Rennwagen -% \item Personenwagen -% \item Lastwagen -% \end{itemize} -% \item Fahrräder + \item helicopters \end{itemize} +% Falls fuer die Umbruchoptimierung erforderlich, kann die Liste +% beispielsweise so erweitert werden: +% \item motorcycles +% \begin{itemize} +% \item historically accurate +% \item futuristic, not real +% \end{itemize} + \item automobiles + \begin{itemize} + \item racing cars + \item private cars + \item lorries + \end{itemize} + \item bicycles + \end{itemize} \end{ShowOutput} -\end{Example}% -\fi +\end{Example} +\fi% \ifCommonmaincls % \EndIndex{Env}{itemize}% \EndIndex{Cmd}{item}% @@ -210,64 +221,61 @@ werden. Die einzelnen Stichpunkte werden mit \Macro{item} eingeleitet.% \BeginIndex{Cmd}{labelenumii}% \BeginIndex{Cmd}{labelenumiii}% \BeginIndex{Cmd}{labelenumiv}% -Die nummerierte Liste ist ebenfalls sehr häufig zu finden und bereits vom -{\LaTeX}-Kern vorgesehen. Die Nummerierung\Index{Nummerierung} erfolgt je nach -Ebene in unterschiedlicher Art: mit arabischen Zahlen, mit Kleinbuchstaben, -mit kleinen römischen Zahlen und mit Großbuchstaben. Die Art der Nummerierung -wird dabei über die Makros \Macro{theenumi} bis \Macro{theenumiv} -festgelegt. Das Format der Ausgabe wird von den Makros \Macro{labelenumi} bis -\Macro{labelenumiv} bestimmt. Dabei folgt auf den Wert der zweiten Ebene, der -in Kleinbuchstaben ausgegeben wird, eine runde Klammer, während die Werte -aller anderen Ebenen von einem Punkt gefolgt werden. Die einzelnen -Stichpunkte werden wieder mit \Macro{item} eingeleitet.% +Another form of a list often used is a numbered list which is already +implemented by the {\LaTeX} kernel. Depending on the level, the +numbering\Index{numbering} uses the following characters: Arabic numbers, +small letters, small roman numerals, and capital letters. The kind of numbering +is defined with the macros \Macro{theenumi} down to \Macro{theenumiv}. The +output format is determined by the macros \Macro{labelenumi} to +\Macro{labelenumiv}. While the small letter of the second level is followed by +a round parenthesis, the values of all other levels are followed by a +dot. Every item is introduced with \Macro{item}.% \ifCommonmaincls \begin{Example} \phantomsection\label{desc:maincls.env.enumerate.example}% - Verkürzen wir das vorherige Beispiel und verwenden statt der - \Environment{itemize}- eine - \Environment{enumerate}-Umgebung: -% Übernehmen wir das Beispiel der \Environment{itemize}-Umgebung, -% wobei wir jede \Environment{itemize}-Umgebung durch eine -% \Environment{enumerate}-Umgebung ersetzen. Das Ergebnis wäre dann: + Replacing every occurrence of an \Environment{itemize} environment + with an \Environment{enumerate} environment in the example above we + get the following result: \begin{ShowOutput}[\baselineskip] - \minisec{Die Fahrzeuge im Spiel} + \minisec{Vehicles} \begin{enumerate} - \item Flugzeuge + \item aeroplanes \begin{enumerate} - \item Doppeldecker -% \item Jets - \item Transportmaschinen + \item biplanes + \item jets + \item transport planes \begin{enumerate} - \item einmotorig + \item single-engined \begin{enumerate} - \item{düsengetrieben}\label{xmp:maincls.jets} - \item{propellergetrieben} + \item jet-driven\label{xmp:maincls.jets} + \item propeller-driven \end{enumerate} - \item mehrmotorig + \item multi-engined \end{enumerate} -% \item Drehflügler + \item helicopters \end{enumerate} - \item Motorräder - \begin{enumerate} - \item historisch korrekt - \item futurisch nicht real - \end{enumerate} -% \item Automobile +% Wie oben: +% \item motorcycles % \begin{enumerate} -% \item Rennwagen -% \item Personenwagen -% \item Lastwagen +% \item historically accurate +% \item futuristic, not real % \end{enumerate} -% \item Fahrräder + \item automobiles + \begin{enumerate} + \item racing cars + \item private cars + \item lorries + \end{enumerate} + \item bicycles \end{enumerate} \end{ShowOutput} - Innerhalb der Aufzählung können ganz normal mit \Macro{label} Marken - gesetzt werden, auf die dann mit \Macro{ref} zugegriffen werden - kann. So wurde oben hinter den düsengetriebenen, einmotorigen -% Flugzeugen mit »\Macro{label}\PParameter{bsp:duesen}« ein Label -% gesetzt. Der \Macro{ref}-Wert ist dann »\ref{xmp:maincls.jets}«. -\end{Example}% -\fi + Using \Macro{label} within a list you can set labels which are + referenced with \Macro{ref}. In the example above, a label was set + after the jet-driven, single-engined transport planes with + \Macro{label}\PParameter{xmp:jets}. The \Macro{ref} value is then + \ref{xmp:maincls.jets}. +\end{Example} +\fi% \ifCommonmaincls % \EndIndex{Env}{enumerate}% \EndIndex{Cmd}{item}% @@ -283,65 +291,56 @@ Stichpunkte werden wieder mit \Macro{item} eingeleitet.% \begin{Declaration} \XMacro{begin}\PParameter{\Environment{description}}\\ - \quad\XMacro{item}\OParameter{Stichwort}\\ + \quad\XMacro{item}\OParameter{keyword}\\ \quad\dots\\ \XMacro{end}\PParameter{description} \end{Declaration}% \BeginIndex{Env}{description}% \BeginIndex{Cmd}{item}% -Eine weitere Listenform ist die Stichwortliste. Sie dient in erster Linie der -Beschreibung einzelner Begriffe. Diese werden als optionale Parameter bei -\Macro{item} angegeben. Die -Schriftart\Index{Schriftart}\ChangedAt{v2.8p}{\Class{scrbook}\and - \Class{scrreprt}\and \Class{scrartcl}}, die für die Hervorhebung des -Stichworts verwendet wird, kann außerdem bei den \KOMAScript-Klassen mit Hilfe -der Anweisungen \Macro{setkomafont} und \Macro{addtokomafont} (siehe -\autoref{sec:\csname label@base\endcsname.textmarkup}, -\autopageref{desc:\csname label@base\endcsname.cmd.setkomafont}) für das -Element \FontElement{descriptionlabel}\IndexFontElement{descriptionlabel} -(siehe \autoref{tab:\csname label@base\endcsname.elementsWithoutText}, -\autopageref{tab:\csname label@base\endcsname.elementsWithoutText}) geändert -werden. In der Voreinstellung wird \Macro{sffamily}""\Macro{bfseries} -verwendet.% +A further list form is the description list. Its main use is the description +of several items. The item itself is an optional parameter in +\Macro{item}. The font\Index{font>style}\ChangedAt{v2.8p}{% + \Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}}% + which is responsible for emphasizing the item can be changed with the commands +\Macro{setkomafont} and \Macro{addtokomafont} (see \autoref{sec:\csname + label@base\endcsname.textmarkup}, \autopageref{desc:\csname + label@base\endcsname.cmd.setkomafont}) for the element +\FontElement{descriptionlabel}\IndexFontElement{descriptionlabel} (see +\autoref{tab:\csname label@base\endcsname.elementsWithoutText}, +\autopageref{tab:\csname label@base\endcsname.elementsWithoutText}). Default +setting is \Macro{sffamily}\linebreak[2]\Macro{bfseries}.% \ifCommonmaincls \begin{Example} \phantomsection\label{desc:maincls.env.description.example}% - Sie wollen, dass die Stichworte statt serifenlos und fett lediglich - fett, aber in der Standardschriftart ausgegeben werden. Mit + Instead of items in sans serif and bold, you want them printed in the + standard font in bold. Using \begin{lstcode} \setkomafont{descriptionlabel}{\normalfont\bfseries} \end{lstcode} - definieren Sie daher die Schrift entsprechend um. + you redefine the font accordingly. - Ein Beispiel für die Ausgabe einer Stichwortliste ist eine Aufzählung der - Seitenstile. Der Quelltext dazu lautet beispielsweise: + An example for a description list is the output of the page styles + listed in \autoref{sec:maincls.pagestyle}. The heavily + abbreviated source could be: \begin{lstcode} \begin{description} - \item[empty] ist der Seitenstil, bei dem Kopf- und - Fußzeile vollständig leer bleiben. - \item[plain] ist der Seitenstil, bei dem keinerlei - Kolumnentitel verwendet wird. - \item[headings] ist der Seitenstil für - automatische Kolumnentitel. - \item[myheadings] ist der Seitenstil für manuelle - Kolumnentitel. + \item[empty] is the page style without any header or footer. + \item[plain] is the page style without headings. + \item[headings] is the page style with running headings. + \item[myheadings] is the page style for manual headings. \end{description} \end{lstcode} - Diese ergibt: + This abbreviated version gives: \begin{ShowOutput} \begin{description} - \item[empty] ist der Seitenstil, bei dem Kopf- und - Fußzeile vollständig leer bleiben. - \item[plain] ist der Seitenstil, bei dem keinerlei - Kolumnentitel verwendet wird. - \item[headings] ist der Seitenstil für automatische - Kolumnentitel. - \item[myheadings] ist der Seitenstil für manuelle - Kolumnentitel. + \item[empty] is the page style without any header or footer. + \item[plain] is the page style without headings. + \item[headings] is the page style with running headings. + \item[myheadings] is the page style for manual headings. \end{description} \end{ShowOutput} -\end{Example}% -\fi +\end{Example} +\fi% \ifComminmaincls % \EndIndex{Env}{description}% \EndIndex{Cmd}{item}% @@ -349,70 +348,83 @@ verwendet.% \begin{Declaration} \XMacro{begin}\PParameter{\Environment{labeling}}% - \OParameter{Trennzeichen}\Parameter{längstes - Muster}\\ - \quad\XMacro{item}\OParameter{Schlüsselwort}\\ + \OParameter{delimiter}\Parameter{widest pattern}\\ + \quad\XMacro{item}\OParameter{keyword}\\ \quad\dots\\ \XMacro{end}\PParameter{labeling} \end{Declaration}% \BeginIndex{Env}{labeling}% \BeginIndex{Cmd}{item}% -Eine andere Form der % -\IfCommon{scrextend}{in vielen Klassen als \Environment{description}-Umgebung -vorhandenen }% -Stichwortliste ist nur bei den {\KOMAScript}-Klassen % -\IfCommon{scrextend}{und \Package{scrextend} }% -vorhanden: die \Environment{labeling}-Umgebung. Im Unterschied zur zuvor -vorgestellten Umgebung \Environment{description} kann bei -\Environment{labeling} ein Muster angegeben werden, dessen Länge die -Einrücktiefe bei allen Stichpunkten ergibt. Darüber hinaus kann zwischen -Stichpunkt und Beschreibungstext ein optionales \PName{Trennzeichen} -festgelegt werden.% -\ifCommonscrlttr\else +An additional form of a description list is only available in the +{\KOMAScript} classes% +\IfCommon{scrextend}{ and the package \Package{scrextend}}: the +\Environment{labeling} environment. Unlike the +\Environment{description} environment, you can provide a pattern whose length +determines the indentation of all items. Furthermore, you can put an optional +\PName{delimiter} between the item and its description. The +font\Index{font>style}\ChangedAt{v3.01}{% + \Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}\and + \Package{scrextend}}% + which is responsible for emphasizing the item and the separator can be changed +with the commands \Macro{setkomafont} and \Macro{addtokomafont} (see \autoref{sec:\csname + label@base\endcsname.textmarkup}, \autopageref{desc:\csname + label@base\endcsname.cmd.setkomafont}) for the element +\FontElement{labelinglabel}\IndexFontElement{labelinglabel} and +\FontElement{labelingseparator}\IndexFontElement{labelingseparator} (see +\ifCommonscrextend +\autoref{tab:maincls.elementsWithoutText}, +\autopageref{tab:maincls.elementsWithoutText} +\else +\autoref{tab:\csname label@base\endcsname.elementsWithoutText}, +\autopageref{tab:\csname label@base\endcsname.elementsWithoutText}% +\fi). +\ifCommonscrlttr\par\else \begin{Example} \phantomsection\label{desc:\csname label@base\endcsname.env.labeling.example}% - \IfCommon{maincls}{Wir schreiben das Beispiel der - \Environment{description}-Umgebung etwas um:}% - \IfCommon{scrextend}{Eine einfache Liste könnte beispielsweise wie folgt - definiert werden:}% - \begin{lstcode} - \begin{labeling}[~--]{% - \usekomafont{descriptionlabel}myheadings} - \item[\usekomafont{descriptionlabel}empty] - Seitenstil für leere Seiten ohne Kopf und Fuß - \item[\usekomafont{descriptionlabel}plain] - Seitenstil für Kapitelanfänge ganz ohne - Kolumnentitel - \item[\usekomafont{descriptionlabel}headings] - Seitenstil für automatische Kolumnentitel - \item[\usekomafont{descriptionlabel}myheadings] - Seitenstil für manuelle Kolumnentitel + \IfCommon{maincls}{Slightly changing the example from the + \Environment{description} environment, we could write:}% + \IfCommon{scrextend}{A small example of a list like this may be written:}% +\begin{lstcode} + \setkomafont{labelinglabel}{\ttfamily} + \setkomafont{labelingseparator}{\normalfont} + \begin{labeling}[~--]{myheadings} + \item[empty] + Page style without header and footer + \item[plain] + Page style for chapter beginnings without headings + \item[headings] + Page style for running headings + \item[myheadings] + Page style for manual headings \end{labeling} - \end{lstcode} - Als Ergebnis erhalten wir dann: +\end{lstcode} + As the result we get: \begin{ShowOutput} - \begin{labeling}[~--]{\usekomafont{descriptionlabel}myheadings} - \item[\usekomafont{descriptionlabel}empty] Seitenstil für leere - Seiten ohne Kopf und Fuß - \item[\usekomafont{descriptionlabel}plain] Seitenstil für - Kapitelanfänge ganz ohne Kolumnentitel - \item[\usekomafont{descriptionlabel}headings] Seitenstil für - automatische Kolumnentitel - \item[\usekomafont{descriptionlabel}myheadings] Seitenstil für - manuelle Kolumnentitel + \setkomafont{labelinglabel}{\ttfamily} + \setkomafont{labelingseparator}{\normalfont} + \begin{labeling}[~--]{myheadings} + \item[empty] + Page style without header and footer + \item[plain] + Page style for chapter beginnings without headings + \item[headings] + Page style for running headings + \item[myheadings] + Page style for manual headings \end{labeling} \end{ShowOutput} - Wie in diesem Beispiel zu sehen ist, muss eine eventuell geforderte - Schriftumschaltung bei dieser Umgebung sowohl im Muster als auch im - optionalen Parameter jeder \Macro{item}-Anweisung wiederholt werden. + As can be seen in this example, a font changing command may be set + in the usual way. But if you don't want the font of the separator to + be changed in the same way as the font of the label, you have to set + the font of the separator as well. \end{Example} -Gedacht war die Umgebung ursprünglich für Strukturen wie »Voraussetzung, -%Aussage, Beweis« oder »Gegeben, Gesucht, Lösung«, wie man sie in -Vorlesungsskripten häufiger findet. Inzwischen findet die Umgebung aber ganz -unterschiedliche Anwendungen. So wurde die Umgebung für Beispiele in dieser -Anleitung mit Hilfe der \Environment{labeling}-Umgebung definiert.% -\fi +\fi% \ifCommonscrlttr \else +Originally, this environment was implemented for things like ``Precondition, +Assertion, Proof'', or ``Given, Required, Solution'' that are often used in +lecture hand-outs. By now this environment has found many different +applications. For example, the environment for examples in this guide was +defined with the \Environment{labeling} environment.% % \EndIndex{Env}{labeling}% \EndIndex{Cmd}{item}% @@ -425,128 +437,88 @@ Anleitung mit Hilfe der \Environment{labeling}-Umgebung definiert.% \XMacro{end}\PParameter{verse} \end{Declaration}% \BeginIndex{Env}{verse}% -Die \Environment{verse}-Umgebung wird normalerweise nicht als Listenumgebung -wahrgenommen, da hier nicht mit \Macro{item} gearbeitet wird. Stattdessen wird -wie innerhalb der \Environment{flushleft}-Umgebung mit festen Zeilenumbrüchen -gearbeitet. Intern handelt es sich jedoch sowohl bei den Standardklassen als -auch bei {\KOMAScript} durchaus um eine Listenumgebung. - -Die \Environment{verse}-Umgebung findet hauptsächlich für -Gedichte\Index{Gedichte} Anwendung. Dabei werden die Zeilen links und rechts -eingezogen. Einzelne Verse werden mit einem festen Zeilenumbruch, also mit -\verb|\\| beendet. Strophen werden ganz normal als Absatz gesetzt, also durch -eine Leerzeile getrennt. Häufig findet stattdessen auch -\Macro{medskip}\IndexCmd{medskip} oder \Macro{bigskip}\IndexCmd{bigskip} -Verwendung. Will man verhindern, dass am Ende eines Verses ein Seitenumbruch -erfolgt, so verwendet man ganz normal \verb|\\*| an Stelle von \verb|\\|.% +Usually the \Environment{verse} environment is not perceived as a list +environment because you do not work with \Macro{item} +commands. Instead, fixed line breaks are used within the +\Environment{flushleft} environment. Yet internally in both the +standard classes as well as {\KOMAScript} it is indeed a list +environment. + +In general, the \Environment{verse} environment is used for +poems\Index{poems}. Lines are indented both left and +right. Individual lines of verse are ended by a fixed line break +\verb|\\|. Verses are set as paragraphs, separated by an empty +line. Often also \Macro{medskip}\IndexCmd{medskip} or +\Macro{bigskip}\IndexCmd{bigskip} is used instead. To avoid a page +break at the end of a line of verse you could, as usual, insert \verb|\\*| +instead of \verb|\\|. \ifCommonmaincls \begin{Example} \phantomsection\label{desc:maincls.env.verse.example}% - Als Beispiel ein kurzes Gedicht von Wilhelm Busch: - \begin{lstcode} + As an example, the first lines of ``Little Red Riding Hood and the + Wolf'' by Roald Dahl: +\begin{lstcode} \begin{verse} - Wenn einer, der mit Mühe kaum\\* - Gekrochen ist auf einen Baum,\\* - Schon meint, dass er ein Vogel wär,\\* - So irrt sich der. + As soon as Wolf began to feel\\* + that he would like a decent meal,\\* + He went and knocked on Grandma's door.\\* + When Grandma opened it, she saw\\* + The sharp white teeth, the horrid grin,\\* + And Wolfie said, `May I come in?' \end{verse} - \end{lstcode} - Mit dem Resultat: +\end{lstcode} + The result is as follows: \begin{ShowOutput} - \vskip-.8\baselineskip% Umbruchkorrektur \begin{verse} - Wenn einer, der mit Mühe kaum\\* - Gekrochen ist auf einen Baum,\\* - Schon meint, dass er ein Vogel wär,\\* - So irrt sich der. + As soon as Wolf began to feel\\* + That he would like a decent meal,\\* + He went and knocked on Grandma's door.\\* + When Grandma opened it, she saw\\* + The sharp white teeth, the horrid grin,\\* + And Wolfie said, `May I come in?' \end{verse} \end{ShowOutput} - Bei einem sehr langen Vers wie: - \begin{lstcode} - \begin{verse} - Der Philosoph wie der Hausbesitzer hat - immer Reparaturen.\\* - \bigskip - Wer dir sagt, er hätte noch nie gelogen, - dem traue nicht, mein Sohn. - \end{verse} - \end{lstcode} - bei dem ein Zeilenumbruch innerhalb des Verses erfolgt: - \begin{ShowOutput} - \vskip-.8\baselineskip% Umbruchkorrektur + However, if you have very long lines of verse, for instance: +\begin{lstcode} \begin{verse} - Der Philosoph wie der Hausbesitzer hat immer Reparaturen.\\ + Both the philosopher and the house-owner + have always something to repair.\\ \bigskip - Wer dir sagt, er hätte noch nie gelogen, dem traue nicht, mein - Sohn. + Don't trust a man, my son, who tells you + that he has never lied. \end{verse} - \end{ShowOutput} - kann mit \verb|\\*| allerdings nicht verhindert werden, dass am - Zeilenumbruch auch ein Seitenumbruch erfolgt. Um dies zu erreichen, müsste - innerhalb der ersten Zeile zusätzlich ein - \Macro{nopagebreak}\IndexCmd{nopagebreak} eingefügt werden: - \begin{lstcode} +\end{lstcode} + where a line break occurs within a line of verse: +\begin{ShowOutput} \begin{verse} - Der Philosoph wie der Hausbesitzer\nopagebreak - hat immer Reparaturen.\\ + Both the philosopher and the house-owner + have always something to repair.\\ \bigskip - Wer dir sagt, er hätte noch nie\nopagebreak - gelogen, dem traue nicht, mein Sohn. + Don't trust a man, my son, who tells you + that he has never lied. \end{verse} - \end{lstcode} -\iftrue% Umbruchkorrekturtext - Hier noch zwei Sprüche, die man immer bedenken sollte, wenn man mit - scheinbar seltsamen Fragen zu {\LaTeX} oder den dazugehörigen Antworten - konfrontiert ist: - \begin{ShowOutput} - \vskip-.8\baselineskip% Umbruchkorrektur +\end{ShowOutput} + there \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: +\begin{lstcode} \begin{verse} - Wir mögen's keinem gerne gönnen,\\* - Dass er was kann, was wir nicht können.\\ + Both the philosopher and the house-owner\nopagebreak + have always something to repair.\\ \bigskip - Wie klein ist das, was einer ist,\\* - Wenn man's mit seinem Dünkel misst. + Don't trust a man, my son, who tells you\nopagebreak + that he has never lied. \end{verse} - \end{ShowOutput} -\fi - In diesen Beispielen wurde übrigens jeweils \Macro{bigskip} verwendet, um - zwei Sprüche voneinander zu trennen. -\end{Example}% -\fi +\end{lstcode} + + In the above example, \Macro{bigskip} was used to separate the lines + of verse. +\end{Example} +\fi % \ifCommonmaincls % \EndIndex{Env}{verse}% - -\iffalse% Umbruchkorrekturvarianten -\begin{Declaration} - \XMacro{begin}\PParameter{\Environment{quote}}\\ - \quad\dots\\ - \XMacro{end}\PParameter{quote} -\end{Declaration}% -\BeginIndex{Env}{quote}% -Dies ist intern ebenfalls eine Listenumgebung und sowohl bei den -Standardklassen als auch bei {\KOMAScript} zu finden. Der Inhalt der Umgebung -wird im Blocksatz mit beidseitigem Einzug gesetzt. Die Umgebung wird häufig -verwendet, um längere Zitate\Index{Zitat} abzusetzen. Dabei werden Absätze -innerhalb der Umgebung durch einen vertikalen Abstand gekennzeichnet.% -\EndIndex{Env}{quote}% - -\begin{Declaration} - \XMacro{begin}\PParameter{\Environment{quotation}}\\ - \quad\dots\\ - \XMacro{end}\PParameter{quotation} -\end{Declaration}% -\BeginIndex{Env}{quotation}% -Diese Umgebung ist mit \Environment{quote} vergleichbar. Während bei -\Environment{quote} Absätze durch vertikalen Abstand gekennzeichnet werden, -wird bei \Environment{quotation} mit horizontalem Einzug der ersten Zeile -eines Absatzes gearbeitet. Dies gilt auch für den ersten Absatz einer -\Environment{quotation}-Umgebung. Wollen Sie dort den Einzug verhindern, -müssen Sie die \Macro{noindent}-Anweisung\IndexCmd{noindent} voranstellen.% -\EndIndex{Env}{quotation}% - -\else - \begin{Declaration} \XMacro{begin}\PParameter{\Environment{quote}}\\ \quad\dots\\ @@ -557,156 +529,129 @@ m \end{Declaration}% \BeginIndex{Env}{quote}% \BeginIndex{Env}{quotation}% -Diese beiden Umgebungen sind intern ebenfalls Listenumgebungen und sowohl bei -den Standardklassen als auch bei {\KOMAScript} zu finden. Beide Umgebungen -setzen Blocksatz, der rechts und links eingezogen ist. Verwendet werden die -Umgebungen häufig, um längere Zitate\Index{Zitat} abzusetzen. Der Unterschied -zwischen beiden liegt in der Art und Weise, wie Absätze abgesetzt -werden. Während bei \Environment{quote} Absätze durch vertikalen Abstand -gekennzeichnet werden, wird bei \Environment{quotation} mit horizontalem -Einzug der ersten Zeile eines Absatzes gearbeitet. Dies gilt auch für den -ersten Absatz einer \Environment{quotation}-Umgebung% Umbruchkorrektur -\IfCommon{maincls}{, außer es wird \Macro{noindent}\IndexCmd{noindent} - vorangestellt.}% -\IfCommon{scrlttr2}{. Wollen Sie dort den Einzug verhindern, müssen Sie die - \Macro{noindent}-Anweisung\IndexCmd{noindent} voranstellen.}% +These two environments are also list environments and can be found +both in the standard and the {\KOMAScript} classes. Both environments +use justified text which is indented both on the left and right side. +Usually they are used to separate long citations\Index{citations} from +the main text. The difference between these two lies in the manner in +which paragraphs are typeset. While \Environment{quote} paragraphs are +highlighted by vertical space, in \Environment{quotation} paragraphs +the first line is indented. This is also true for the first line of a +\Environment{quotation} environment. To prevent indentation you have +to insert a \Macro{noindent} command\IndexCmd{noindent} before the +text. \ifCommonmaincls \begin{Example} \phantomsection\label{desc:maincls.env.quote.example}% - Sie wollen eine kleine Anekdote hervorheben. Also schreiben Sie - folgende \Environment{quotation}-Umgebung: + You want to highlight a short anecdote. You write the following + \Environment{quotation} environment for this: % \begin{lstcode} + A small example for a short anecdote: \begin{quotation} - Es klingelt an der Tür eines Pfarrhauses in Stuttgart. - Als die Haushälterin öffnet, steht ein unrasierter - Mann in einem reichlich schäbigen Mantel vor der Tür - und hält seine Strickmütze in der Hand. - - "`Gute Frau,"' verkündet der Mann in gequältem Ton, - doch bestem Hochdeutsch, während er verlegen von einem - Bein auf das andere wechselt, "`ich habe seit drei - Tagen nichts mehr gegessen."' - - Die Frau schüttelt mitleidig den Kopf und - entgegnet im Brustton vollster Überzeugung: - - "`Guda Moh, Sie missat sich halt zwinga!"' + The old year was turning brown; the West Wind was + calling; + + Tom caught the beechen leaf in the forest falling. + ``I've caught the happy day blown me by the breezes! + Why wait till morrow-year? I'll take it when me pleases. + This I'll mend my boat and journey as it chances + west down the withy-stream, following my fancies!'' + + Little Bird sat on twig. ``Whillo, Tom! I heed you. + I've a guess, I've a guess where your fancies lead you. + Shall I go, shall I go, bring him word to meet you?'' \end{quotation} \end{lstcode} - Das Ergebnis ist dann: + The result is: \begin{ShowOutput} -\iffalse% Umbruchkorrekturtext - Ein kleines Beispiel für eine Anekdote, die sich einst - in Schwaben zugetragen haben soll: -\fi + A small example for a short anecdote: \begin{quotation} - Es klingelt an der Tür eines Pfarrhauses in - Stuttgart. Als die Haushälterin öffnet, steht ein - unrasierter Mann in einem reichlich schäbigen - Mantel vor der Tür und hält seine Strickmütze in - der Hand. - - "`Gute Frau,"' verkündet der Mann in gequältem Ton, - doch bestem Hochdeutsch, -\iftrue% Umbruchkorrekturtext - während er verlegen von einem Bein auf das andere wechselt, -\fi - "`ich habe - seit drei Tagen nichts mehr gegessen."' - - Die Frau schüttelt mitleidig den Kopf und entgegnet - im Brustton vollster Überzeugung: - - "`Guda Moh, Sie missat sich halt zwinga!"' + The old year was turning brown; the West Wind was + calling; + + Tom caught the beechen leaf in the forest falling. + ``I've caught the happy day blown me by the breezes! + Why wait till morrow-year? I'll take it when me pleases. + This I'll mend my boat and journey as it chances + west down the withy-stream, following my fancies!'' + + Little Bird sat on twig. ``Whillo, Tom! I heed you. + I've a guess, I've a guess where your fancies lead you. + Shall I go, shall I go, bring him word to meet you?'' \end{quotation} \end{ShowOutput} % - Wenn Sie stattdessen eine \Environment{quote}-Umgebung - verwenden, sieht das Ganze so aus: + Using a \Environment{quote} environment instead you get: % \begin{ShowOutput} -\iffalse% Umbruchkorrekturtext - Ein kleines Beispiel für eine Anekdote, die sich einst - in Schwaben zugetragen haben soll: -\fi - \begin{quote}\setlength{\parskip}{4pt plus 2pt minus 2pt} - Es klingelt an der Tür eines Pfarrhauses in Stuttgart. Als die - Haushälterin öffnet, steht ein unrasierter Mann in einem reichlich - schäbigen Mantel vor der Tür und hält seine Strickmütze in der Hand. - - "`Gute Frau,"' verkündet der Mann in gequältem Ton, doch bestem - Hochdeutsch, -\iftrue% Umbruchkorrekturtext - während er verlegen von einem Bein auf das andere wechselt, -\fi - "`ich habe seit drei Tagen nichts mehr gegessen."' - - Die Frau schüttelt mitleidig den Kopf und entgegnet im Brustton vollster - Überzeugung: - - "`Guda Moh, Sie missat sich halt zwinga!"' + A small example for a short anecdote: + \begin{quote}\setlength{\parskip}{4pt plus 2pt minus 2pt} + The old year was turning brown; the West Wind was + calling; + + Tom caught the beechen leaf in the forest falling. + ``I've caught the happy day blown me by the breezes! + Why wait till morrow-year? I'll take it when me pleases. + This I'll mend my boat and journey as it chances + west down the withy-stream, following my fancies!'' + + Little Bird sat on twig. ``Whillo, Tom! I heed you. + I've a guess, I've a guess where your fancies lead you. + Shall I go, shall I go, bring him word to meet you?'' \end{quote} \end{ShowOutput} % -\end{Example}% -\fi +\end{Example} +\fi % \ifCommonmaincls % \EndIndex{Env}{quote}% \EndIndex{Env}{quotation}% -\fi % Umbruchkorrekturvarianten \fi % \ifCommonscrextend\else \begin{Declaration} \XMacro{begin}\PParameter{\Environment{addmargin}}% - \OParameter{linker Einzug}\Parameter{Einzug}\\ + \OParameter{left indentation}\Parameter{indentation}\\ \quad\dots\\ \XMacro{end}\PParameter{addmargin}\\ \XMacro{begin}\PParameter{\Environment{addmargin*}}% - \OParameter{innerer Einzug}\Parameter{Einzug}\\ + \OParameter{inner indentation}\Parameter{indentation}\\ \quad\dots\\ \XMacro{end}\PParameter{addmargin*} \end{Declaration} \BeginIndex{Env}{addmargin}% \BeginIndex{Env}{addmargin*}% -Wie bei % -\IfCommon{scrextend}{den in den Standardklassen und den \KOMAScript-Klassen - vorhandenen Umgebungen }% -\Environment{quote} und \Environment{quotation} handelt es sich bei -\Environment{addmargin} um eine Umgebung, die den Rand\Index{Rand} -verändert. Im Unterschied zu den beiden erstgenannten Umgebungen kann der -Anwender jedoch bei \Environment{addmargin} wählen, um welchen Wert der Rand -verändert werden kann. Des Weiteren verändert die Umgebung den Absatzeinzug -und den Absatzabstand nicht. Es wird auch kein zusätzlicher vertikaler Abstand -vor und nach der Umgebung eingefügt. - -Ist nur das obligatorische Argument \PName{Einzug} angegeben, so wird der -Inhalt der Umgebung rechts und links um diesen Wert eingezogen. Ist das -optionale Argument \PName{linker Einzug} hingegen angegeben, so wird links -abweichend von \PName{Einzug} der Wert \PName{linker Einzug} zum Rand addiert. - -Die Sternvariante \Environment{addmargin*} unterscheidet sich nur im -doppelseitigen Satz von der Variante ohne Stern, wobei der Unterschied auch -nur dann auf"|tritt, wenn das optionale Argument \PName{innerer Einzug} -verwendet wird. Dabei wird dann der Wert von \PName{innerer Einzug} zum -inneren Randanteil der Seite addiert. Dies ist bei rechten Seiten der linke -Rand der Seite, bei linken Seiten jedoch der rechte Rand der -Seite. \PName{Einzug} gilt dann für den jeweils anderen Rand. - -Bei beiden Varianten der Umgebung sind für alle Parameter auch negative Werte -erlaubt. % Umbruchkorrektur -\IfNotCommon{scrextend}{Damit kann man erreichen, dass die Umgebung in den - Rand hineinragt.}% -\IfCommon{scrextend}{Die Umgebung ragt dann entsprechend in den Rand hinein.}% +Similar to \Environment{quote} and \Environment{quotation}% +\IfCommon{scrextend}{ which are available at the standard classes and also the + \KOMAScript{} classes}% +, the \Environment{addmargin} environment changes the margin\Index{margin}. +In contrast to the first two environments, with \Environment{addmargin} the +user can set the width of the indentation. Besides this, this environment does +not change the indentation of the first line nor the vertical spacing between +paragraphs. + +If only the obligatory argument \PName{indentation} is given, both the +left and right margin are expanded by this value. If the optional +argument \PName{left indentation} is given as well, then at the left +margin the value \PName{left indentation} is used instead of +\PName{indentation}. + +The starred \Environment{addmargin*} only differs from the normal +version in a two-sided layout. Furthermore, the difference only occurs +if the optional argument \PName{inner indentation} is used. In this +case this value \PName{inner indentation} is added to the normal inner +indentation. For right-hand pages this is the left margin, for +left-hand pages the right margin. Then the value of +\PName{indentation} determines the width of the opposite margin. + +Both versions of this environment take also negative values for all +parameters. This has the effect of expanding the environment into the +margin. \ifCommonscrlttr\else \begin{Example} \phantomsection\label{desc:maincls.env.addmargin.example}% - Angenommen, Sie schreiben eine Anleitung mit kurzen - Quellcode-Beispielen. Um diese sehr stark hervorzuheben, sollen sie mit - horizontalen Linien vom Text abgesetzt und leicht in den äußeren Rand - verschoben werden. Sie definieren sich dafür zunächst eine Umgebung: - \begin{lstcode} - \newenvironment{QuellcodeRahmen}{% +\begin{lstcode} + \newenvironment{SourceCodeFrame}{% \begin{addmargin*}[1em]{-1em}% \begin{minipage}{\linewidth}% \rule{\linewidth}{2pt}% @@ -715,9 +660,11 @@ erlaubt. % Umbruchkorrektur \end{minipage}% \end{addmargin*}% } - \end{lstcode} +\end{lstcode} + If you now put your source code in such an environment it will show + up as: \begin{ShowOutput} - \newenvironment{QuellcodeRahmen}{% + \newenvironment{SourceCodeFrame}{% \begin{addmargin*}[1em]{-1em}% \begin{minipage}{\linewidth}% \rule{\linewidth}{2pt}% @@ -726,10 +673,10 @@ erlaubt. % Umbruchkorrektur \end{minipage}% \end{addmargin*}% } - Die Umgebung in sich selbst gesetzt ergibt: - \begin{QuellcodeRahmen} + You define yourself the following environment: + \begin{SourceCodeFrame} \begin{lstcode} -\newenvironment{\QuellcodeRahmen}{% +\newenvironment{\SourceCodeFrame}{% \begin{addmargin*}[1em]{-1em}% \begin{minipage}{\linewidth}% \rule{\linewidth}{2pt}% @@ -739,48 +686,47 @@ erlaubt. % Umbruchkorrektur \end{addmargin*}% } \end{lstcode} - \end{QuellcodeRahmen} - Das mag praktisch sein oder unpraktisch, zumindest jedoch zeigt es, - wie die Umgebung verwendet werden kann. + \end{SourceCodeFrame} + This may be feasible or not. In any case it shows the usage of this + environment. \end{ShowOutput} - Das optionale Argument der \Environment{addmargin*}-Umgebung sorgt - dafür, dass der innere Rand um den Wert - 1\Unit{em} vergrößert wird. Dafür wird der äußere - Rand um den negativen Wert vergrößert, also in Wirklichkeit um - 1\Unit{em} verkleinert. Dies resultiert in einer - Verschiebung um 1\Unit{em} nach außen. Selbstverständlich kann statt - \PValue{1em} auch eine Länge, beispielsweise - \PValue{2\Macro{parindent}}, verwendet werden. + The optional argument of the \Environment{addmargin*} environment + makes sure that the inner margin is extended by 1\Unit{em}. In turn + the outer margin is decreased by 1\Unit{em}. The result is a shift + by 1\Unit{em} to the outside. Instead of \PValue{1em} you can of + course use a length, for example, \PValue{2\Macro{parindent}}. \end{Example} -Ob eine Seite eine linke oder eine rechte Seite ist, kann übrigens beim ersten -\LaTeX-Durchlauf nicht zuverlässig festgestellt werden. Siehe dazu die -Erklärungen zu den Anweisungen \Macro{ifthispageodd} (\autoref{sec:\csname +Whether a page is going to be on the left or right side +of the book can not be determined for certain in the first {\LaTeX} +run. For details please refer to the explanation of the commands +\Macro{ifthispageodd} (\autoref{sec:\csname label@base\endcsname.oddOrEven}, \autopageref{desc:\csname - label@base\endcsname.cmd.ifthispageodd}) und \Macro{ifthispagewasodd} + label@base\endcsname.cmd.ifthispageodd}) and \Macro{ifthispagewasodd} (\autoref{sec:maincls-experts.addInfos}, \autopageref{desc:maincls-experts.cmd.ifthispageodd}). \begin{Explain} - Im Zusammenspiel von Umgebungen wie Listen mit Absätzen ergeben sich für - Laien häufiger Fragen. Daher widmet sich die weiterführende Erklärung zu - Option \Option{parskip} in \autoref{sec:maincls-experts.addInfos}, - \autopageref{desc:maincls-experts.option.parskip} auch diesem - Thema. Ebenfalls im Expertenteil in \autoref{sec:maincls-experts.addInfos}, - \autopageref{desc:maincls-experts.env.addmargin*} wird die - Problematik von mehrseitigen \Environment{addmargin*}-Umgebungen behandelt. + There may be several questions about coexistence of lists and + paragraphs. Because of this additional information may be found at the + description of option \Option{parskip} in + \autoref{sec:maincls-experts.addInfos}, + \autopageref{desc:maincls-experts.option.parskip}. Also at the expert part, + in \autoref{sec:maincls-experts.addInfos}, + \autopageref{desc:maincls-experts.env.addmargin*}, you may find additional + information about page breaks inside of \Environment{addmargin*}.% \end{Explain}% -\fi% \ifCommonmaincls +\fi% \ifCommonscrlttr\else % \EndIndex{Env}{addmargin}% \EndIndex{Env}{addmargin*}% % -\EndIndex{}{Listen} -\fi% IgnoreThis +\EndIndex{}{lists} +\fi %**************************************************** Ende nur maincls * %%% Local Variables: %%% mode: latex -%%% coding: iso-latin-1 +%%% coding: us-ascii %%% TeX-master: "../guide" %%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/common-13.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/common-13.tex index 6ac134d09d0..62a79e01ef9 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/common-13.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/common-13.tex @@ -40,13 +40,15 @@ % % ---------------------------------------------------------------------- % -% Absätze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind +% Absaetze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind % Verwaltet von Markus Kohm % % ====================================================================== -\ProvidesFile{common-13.tex}[2009/01/04 KOMA-Script guide (common paragraphs)] -\translator{Gernot Hassenpflug} +\ProvidesFile{common-13.tex}[2012/02/14 KOMA-Script guide (common paragraphs)] +\translator{Gernot Hassenpflug\and Markus Kohm} + +% Date of the translated German file: 2011/09/03 \makeatletter \@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}% @@ -56,101 +58,98 @@ \makeatother -\section{Randnotizen} +\section{Margin Notes} \label{sec:\csname label@base\endcsname.marginNotes}% \ifshortversion\IgnoreThisfalse\IfNotCommon{maincls}{\IgnoreThistrue}\fi% -\ifIgnoreThis -Es gilt sinngemäß, was in \autoref{sec:maincls.marginNotes} geschrieben -wurde. -\else -\BeginIndex{}{Randnotizen}% - -Außer dem eigentlichen Textbereich, der normalerweise den Satzspiegel -ausfüllt, existiert in Dokumenten noch die so genannte Marginalienspalte. In -dieser können Randnotizen gesetzt werden. % Umbruchkorrekturtext -\IfNotCommon{scrlttr2}{In diesem \iffree{Dokument}{Buch} wird davon ebenfalls - Gebrauch gemacht.}% -\fi -\IfCommon{scrlttr2}{Bei Briefen sind Randnotizen allerdings eher unüblich und - sollten äußerst sparsam eingesetzt werden.}% -\ifIgnoreThis\else +\ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + +It applies, mutatis mutandis, what is described in +\autoref{sec:maincls.marginNotes}. +\else %------------------------------------------------------- nur maincls - +\BeginIndex{}{margin>notes}% +Aside from the text area, that normally fills the typing area, usually a +marginalia column may be found. Margin notes will be printed at this area. +\IfNotCommon{scrlttr2}{At lot of them may be found in this + \iffree{manual}{book}.}% +\fi %**************************************************** Ende nur maincls * +\IfCommon{scrlttr2}{Nevertheless, margin notes are unusual at letters and + should be used seldomly.}% +\ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + +\else %------------------------------------------------------- nur maincls - \begin{Declaration} - \Macro{marginpar}\OParameter{Randnotiz links}\Parameter{Randnotiz}\\ - \Macro{marginline}\Parameter{Randnotiz} + \Macro{marginpar}\OParameter{margin note left}\Parameter{margin note}\\ + \Macro{marginline}\Parameter{margin note} \end{Declaration}% \BeginIndex{Cmd}{marginpar}% \BeginIndex{Cmd}{marginline}% -Für Randnotizen\Index[indexmain]{Randnotizen} ist bei {\LaTeX} normalerweise die -Anweisung \Macro{marginpar} vorgesehen. Die Randnotizen werden dabei im -äußeren Rand gesetzt. Bei einseitigen Dokumenten wird der rechte Rand -verwendet. Zwar kann bei \Macro{marginpar} optional eine abweichende Randnotiz -angegeben werden, falls die Randnotiz im linken Rand landet, jedoch werden -Randnotizen immer im Blocksatz ausgegeben. Die Erfahrung zeigt, dass bei -Randnotizen statt des Blocksatzes oft je nach Rand linksbündiger oder -rechtsbündiger Flattersatz zu bevorzugen ist. {\KOMAScript} bietet hierfür -die Anweisung \Macro{marginline}. - +Usually margin notes\Index[indexmain]{margin>notes} in {\LaTeX} are +inserted with the command \Macro{marginpar}. They are placed in the +outer margin. In documents with one-sided layout the right border is +used. Though \Macro{marginpar} can take an optional different margin +note argument in case the output is in the left margin, margin notes +are always set in justified layout. However, experience has shown +that many users prefer left- or right-aligned margin notes instead. +To facilitate this, {\KOMAScript} offers the command +\Macro{marginline}. \ifCommonscrlttr\else \begin{Example} \phantomsection\label{desc:\csname label@base\endcsname.cmd.marginline.example}% - In diesem Kapitel ist an einigen Stellen die % - \IfCommon{maincls}{Klassenangabe \Class{scrartcl} }% - \IfCommon{scrextend}{Paketangabe \Package{scrextend} }% - im Rand zu finden. Diese kann mit: + In this chapter, sometimes, the \IfCommon{maincls}{class name + \Class{scrartcl}}\IfCommon{scrextend}{package name \Package{scrextend}} + can be found in the margin. This can be produced with:% +\iffalse% Umbruchkorrekturtext + \footnote{In fact, instead of + \Macro{texttt}, a semantic highlighting was used. To avoid + confusion this was replaced in the example.} +\fi \ifCommonmaincls - \begin{lstcode} +\begin{lstcode} \marginline{\texttt{scrartcl}} - \end{lstcode} +\end{lstcode} \else - \begin{lstcode} +\begin{lstcode} \marginline{\texttt{scrextend}} - \end{lstcode} -\fi - erreicht werden.% -\iftrue % Umbruchkorrekturtext - \footnote{Tatsächlich wurde nicht \Macro{texttt}, - sondern eine semantische Auszeichnung verwendet. Um nicht unnötig - zu verwirren, wurde diese im Beispiel ersetzt.}% +\end{lstcode} \fi - Statt \Macro{marginline} wäre auch die Verwendung von \Macro{marginpar} - möglich gewesen. Tatsächlich wird bei obiger Anweisung intern nichts anders - gemacht als: + Instead of \Macro{marginline} you could have used \Macro{marginpar}. In fact + the first command is implemented internally as: \ifCommonmaincls - \begin{lstcode} +\begin{lstcode} \marginpar[\raggedleft\texttt{scrartcl}] {\raggedright\texttt{scrartcl}} - \end{lstcode} +\end{lstcode} \else - \begin{lstcode} +\begin{lstcode} \marginpar[\raggedleft\texttt{scrextend}] {\raggedright\texttt{scrextend}} - \end{lstcode} +\end{lstcode} \fi - Letztlich ist \Macro{marginline} also nur eine abkürzende Schreibweise. -\end{Example} + Thus \Macro{marginline} is really only an abbreviated writing of the + code above.% +\end{Example}% -Für Experten sind in \autoref{sec:maincls-experts.addInfos}, -\autopageref{desc:maincls-experts.cmd.marginpar} Probleme bei der Verwendung -von \Macro{marginpar} dokumentiert. Diese gelten ebenso für -\Macro{marginline}.% +Experts\textnote{Attention!} and advanced users may find information about +problems using \Macro{marginpar} at \autoref{sec:maincls-experts.addInfos}, +\autopageref{desc:maincls-experts.cmd.marginpar}. These are valid for +\Macro{marginline} also.% \fi% -\IfCommon{scrlttr2}{Ein ausführliches Beispiel hierzu finden Sie in - \autoref{sec:maincls.marginNotes}, - \autopageref{desc:maincls.cmd.marginline.example}.}% +\IfCommon{scrlttr2}{% + An example for this may be found in + \autoref{sec:maincls.marginNotes} + at \autopageref{desc:maincls.cmd.marginline.example}.}% % \EndIndex{Cmd}{marginpar}% \EndIndex{Cmd}{marginline}% % -\EndIndex{}{Randnotizen}% -\fi% IgnoreThis +\EndIndex{}{margin>notes}% +\fi %**************************************************** Ende nur maincls * %%% Local Variables: %%% mode: latex -%%% coding: iso-latin-1 +%%% coding: us-ascii %%% TeX-master: "../guide" %%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/common-14.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/common-14.tex index e13b2435b12..afbd0583800 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/common-14.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/common-14.tex @@ -40,13 +40,15 @@ % % ---------------------------------------------------------------------- % -% Absätze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind +% Absaetze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind % Verwaltet von Markus Kohm % % ====================================================================== -\ProvidesFile{common-14.tex}[2009/01/04 KOMA-Script guide (common paragraphs)] -\translator{Gernot Hassenpflug} +\ProvidesFile{common-14.tex}[2012/05/15 KOMA-Script guide (common paragraphs)] +\translator{Gernot Hassenpflug\and Markus Kohm\and Krickette Murabayashi} + +% Date of the translated German file: 2012/01/01 \makeatletter \@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}% @@ -55,84 +57,84 @@ \@ifundefined{ifIgnoreThis}{\newif\ifIgnoreThis}{}% \makeatother - -\section{Dokumenttitel} +\section{Document Titles} \label{sec:\csname label@base\endcsname.titlepage}% \ifshortversion\IgnoreThisfalse\IfNotCommon{maincls}{\IgnoreThistrue}\fi% -\ifIgnoreThis -Es gilt sinngemäß, was in \autoref{sec:maincls.titlepage} geschrieben -wurde. \IfCommon{scrextend}{Es gibt jedoch einen Unterschied:} -\else -\BeginIndex{}{Titel}% - -Bei Dokumenten wird zwischen zwei verschiedenen Arten von Titeln für das -gesamte Dokument unterschieden. Zum einen gibt es die Titelseiten. Hierbei -steht der Dokumenttitel zusammen mit einigen zusätzlichen Informationen wie -dem Autor auf einer eigenen Seite. Neben der Haupttitelseite kann es dabei -weitere Titelseiten, etwa Schmutztitel, Verlagsinformationen, Widmung oder -ähnliche, geben. Zum anderen gibt es den Titelkopf. Dabei erscheint der Titel -lediglich am Anfang einer neuen -- in der Regel der ersten -- Seite. Unterhalb -dieser Titelzeilen\Index{Titel>-Zeilen} wird das Dokument beispielsweise mit -der Zusammenfassung, einem Vorwort oder dem Inhaltsverzeichnis fortgesetzt. -\fi +\ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + +It applies, mutatis mutandis, what is described in +\autoref{sec:maincls.titlepage}. +\IfCommon{scrextend}{But there's a difference:} +\else %------------------------------------------------------- nur maincls - +\BeginIndex{}{title}% +\BeginIndex{}{document>title}% + +%\IfNotCommon{scrextend}{\looseness=1 }% Umbruchoptimierung +In general we distinguish two kinds of document titles. First known are title +pages. In this case the document title will be placed together with additional +document information, like the author, on a page of its own. Besides the main +title page, several further title pages may exist, like the half-title or +bastard title, publisher data, dedication, or similar. The second known kind +of document title is the in-page title. In this case, the document title is +placed at the top of a page and specially emphasized, and may be accompanied +by some additional information too, but it will be followed by more material +in the same page, for instance by an abstract, or the table of contents, or +even a section. +\fi %**************************************************** Ende nur maincls * \IfCommon{scrextend}{% - Die Möglichkeiten von \Package{scrextend} zum Dokumenttitel gehören zu den - optionalen, erweiterten Möglichkeiten und stehen daher nur zur Verfügung, - wenn zuvor beim Laden des Pakets \OptionValue{extendedfeature}{title} - gewählt wurde (siehe \autoref{sec:scrextend.optionalFeatures}, - \autopageref{desc:scrextend.option.extendedfeature}). Dies gilt auch für die - Paketoptionen aus diesem Abschnitt.} -\ifIgnoreThis -Darüber hinaus kann \Package{scrextend} nicht mit einer \KOMAScript-Klasse -zusammen verwendet werden. In allen Beispielen aus -\autoref{sec:maincls.titlepage} muss daher bei Verwendung von -\Package{scrextend} - \begin{lstcode} + The\textnote{Attention!} document title capabilities of \Package{scrextend} + are part of the optional, advanced features. Therfore they are only + available, if \OptionValue{extendedfeature}{title} has been selected while + loading the package (see \autoref{sec:scrextend.optionalFeatures}, + \autopageref{desc:scrextend.option.extendedfeature}).} +\ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + +Beyond that \Package{scrextend} cannot be used with a \KOMAScript{} +class together. Because of this +\begin{lstcode} \documentclass{scrbook} - \end{lstcode} -durch - \begin{lstcode} +\end{lstcode} +must be replaced by +\begin{lstcode} \documentclass{book} \usepackage[extendedfeature=title]{scrextend} - \end{lstcode} -ersetzt werden. -\else +\end{lstcode} +at all examples from \autoref{sec:maincls.titlepage}, if \Package{scrextend} +should be used. +\else %------------------------------------------------------- nur maincls - \begin{Declaration} - \KOption{titlepage}\PName{Ein-Aus-Wert} + \KOption{titlepage}\PName{simple switch} \end{Declaration}% -\BeginIndex{Option}{titlepage~=\PName{Ein-Aus-Wert}}% -Mit dieser Option\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and - \Class{scrartcl}} wird ausgewählt, ob für die gesamte mit \Macro{maketitle} -(siehe \autopageref{desc:\csname label@base\endcsname.cmd.maketitle}) gesetzte -Titelei eigene Seiten\Index{Titel>-Seite} verwendet werden, oder stattdessen -die Titelei von \Macro{maketitle} als Titelkopf\Index{Titel>-Kopf} gesetzt -wird. Als \PName{Ein-Aus-Wert} kann einer der Standardwerte für einfache -Schalter aus \autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch} -verwendet werden. - -Mit \OptionValue{titlepage}{true} oder \Option{titlepage} wird die Titelei in -Form von Titelseiten ausgewählt. Die Anweisung \Macro{maketitle} verwendet -\Environment{titlepage}-Umgebungen zum Setzen dieser Seiten, die somit -normalerweise weder Seitenkopf noch Seitenfuß erhalten. Bei {\KOMAScript} -wurde die Titelei gegenüber den Standardklassen stark erweitert. - -Demgegenüber wird mit \OptionValue{titlepage}{false} erreicht, dass ein -Titelkopf (engl.: \emph{in-page title}) gesetzt wird. Das heißt, die Titelei -wird lediglich speziell hervorgehoben, auf der Seite mit dem Titel kann aber -nachfolgend weiteres Material, beispielsweise eine Zusammenfassung oder ein -Abschnitt gesetzt werden. - -\IfCommon{maincls}{Bei den Klassen \Class{scrbook} und \Class{scrreprt} sind - Titelseiten voreingestellt. Demgegenüber verwendet \Class{scrartcl} in der - Voreinstellung einen Titelkopf.}% -\IfCommon{scrextend}{Die Voreinstellung ist von der verwendeten Klasse - abhängig und wird von \Package{scrextend} kompatibel zu den Standardklassen - erkannt. Setzt eine Klasse keine entsprechende Voreinstellung, so ist der - Titelkopf voreingestellt.}% +\BeginIndex{Option}{titlepage~=\PName{simple switch}}% +Using \Macro{maketitle} (see \autopageref{desc:\csname + label@base\endcsname.cmd.maketitle}), this option\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} switches between document title pages\Index{title>pages} +and in-page title\Index{title>in-page}. For \PName{simple switch}, any value from +\autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch} may be used. + +The option +\OptionValue{titlepage}{true}\important{\OptionValue{titlepage}{true}} +\IfNotCommon{scrextend}{or \Option{titlepage} }makes {\LaTeX} use separate +pages for the titles. Command \Macro{maketitle} sets these pages inside a +\Environment{titlepage} environment and the pages normally have neither header +nor footer. In comparison with standard {\LaTeX}, {\KOMAScript} expands the +handling of the titles significantly. + +The option +\OptionValue{titlepage}{false}\important{\OptionValue{titlepage}{false}} +specifies that an \emph{in-page} title is used. This means that the title is +specially emphasized, but it may be followed by more material on the same +page, for instance by an abstract or a section.% +\EndIndex{Option}{titlepage~=\PName{simple switch}}% + +\IfCommon{maincls}{The default of classes \Class{scrbook} and \Class{scrreprt} + is usage of title pages. Class \Class{scrartcl}, on the other hand, uses + in-page titles as default.}% +\IfCommon{scrextend}{The default depends on the used class and + \Package{scrextend} handles it compatible to the standard class. If a class + does not set up a comparable default, in-page title will be used.}% % -\EndIndex{Option}{titlepage~=\PName{Ein-Aus-Wert}} +\EndIndex{Option}{titlepage~=\PName{simple switch}} \begin{Declaration} @@ -141,29 +143,29 @@ Abschnitt gesetzt werden. \XMacro{end}\PParameter{titlepage} \end{Declaration}% \BeginIndex{Env}{titlepage}% -Grundsätzlich werden bei den Standardklassen und bei {\KOMAScript} alle -Titelseiten in einer speziellen Umgebung, der -\Environment{titlepage}-Umgebung, gesetzt. Diese Umgebung startet immer mit -einer neuen Seite -- im zweiseitigen Layout sogar mit einer neuen rechten -Seite -- im einspaltigen Modus. Für eine Seite wird der Seitenstil mit -\Macro{thispagestyle}\PParameter{empty} geändert, so dass weder Seitenzahl -noch Kolumnentitel ausgegeben werden. Am Ende der Umgebung wird die Seite -automatisch beendet. Sollten Sie nicht das automatische Layout der Titelei, -wie es das nachfolgend beschriebene \Macro{maketitle} bietet, verwenden -können, ist zu empfehlen, eine eigene Titelei mit Hilfe dieser Umgebung zu -entwerfen. +With the standard classes and with {\KOMAScript}, all title pages are defined +in a special environment, the \Environment{titlepage} environment. This +environment always starts a new page\,---\,in the two-sided layout a new right +page\,---\,and in single column mode. For this page, the style is changed by +\Macro{thispagestyle}\PParameter{empty}, so that neither page number nor +running heading are output. At the end of the environment the page is +automatically shipped out. Should you not be able to use the automatic layout +of the title pages provided by \Macro{maketitle}, that will be described next; +it is advisable to design a new one with the help of this environment. + \begin{Example} - Angenommen, Sie wollen eine Titelseite, auf der lediglich oben links -% möglichst groß und fett das Wort »Me« steht -- kein Autor, kein Datum, - nichts weiter. Folgendes Dokument ermöglicht das: + Assume you want a title page on which only the word ``Me'' stands at + the top on the left, as large as possible and in bold\,---\,no + author, no date, nothing else. The following document creates just + that: \ifCommonmaincls \begin{lstcode} \documentclass{scrbook} \begin{document} - \begin{titlepage} - \textbf{\Huge Me} - \end{titlepage} + \begin{titlepage} + \textbf{\Huge Me} + \end{titlepage} \end{document} \end{lstcode} \else @@ -177,87 +179,83 @@ entwerfen. \end{document} \end{lstcode} \fi - Einfach? Stimmt. +It's simple, isn't it? \end{Example} % \EndIndex{Env}{titlepage} \begin{Declaration} - \Macro{maketitle}\OParameter{Seitenzahl} + \Macro{maketitle}\OParameter{page number} \end{Declaration}% \BeginIndex{Cmd}{maketitle}% -Während bei den Standardklassen nur maximal eine Titelseite mit den drei -Angaben Titel, Autor und Datum existiert, können bei {\KOMAScript} mit -\Macro{maketitle} bis zu sechs Titelseiten gesetzt werden. Im Gegensatz zu -den Standardklassen kennt \Macro{maketitle} bei {\KOMAScript} außerdem noch -ein optionales nummerisches Argument. Findet es Verwendung, so wird die -Nummer als Seitenzahl der ersten Titelseite benutzt. Diese Seitenzahl wird -jedoch nicht ausgegeben, sondern beeinflusst lediglich die Zählung. Sie -sollten hier unbedingt eine ungerade Zahl wählen, da sonst die gesamte Zählung -durcheinander gerät. Meiner Auf"|fassung nach gibt es nur zwei sinnvolle -Anwendungen für das optionale Argument. Zum einen könnte man dem -Schmutztitel\Index[indexmain]{Schmutztitel} die logische Seitenzahl \(-\)1 -geben, um so die Seitenzählung erst ab der Haupttitelseite mit 1 zu -beginnen. Zum anderen könnte man mit einer höheren Seitenzahl beginnen, -beispielsweise 3, 5 oder 7, um so weitere Titelseiten zu berücksichtigen, die -erst vom Verlag hinzugefügt werden. Wird ein Titelkopf verwendet, wird das -optionale Argument ignoriert. Dafür kann der Seitenstil einer solchen Titelei -durch Umdefinierung des Makros \Macro{titlepagestyle} (siehe -\autoref{sec:maincls.pagestyle}, -\autopageref{desc:maincls.cmd.titlepagestyle}) verändert werden. - -Die folgenden Anweisungen führen nicht unmittelbar zum Setzen der Titelei. Das -Setzen der Titelei erfolgt immer mit \Macro{maketitle}. Es sei an dieser -Stelle auch darauf hingewiesen, dass \Macro{maketitle} nicht innerhalb einer -\Environment{titlepage}-Umgebung zu verwenden ist. Wie in den Beispielen -angegeben, sollte man nur entweder \Macro{maketitle} oder -\Environment{titlepage} verwenden. - -Mit den nachfolgend erklärten Anweisungen werden lediglich die Inhalte der -Titelei festgelegt. Sie müssen daher auch unbedingt vor \Macro{maketitle} -verwendet werden. Es ist jedoch nicht notwendig und bei Verwendung des -\Package{babel}-Pakets\IndexPackage{babel} (siehe \cite{package:babel}) auch -nicht empfehlenswert, diese Anweisungen in der Dokumentpräambel vor -\Macro{begin}\PParameter{document} zu verwenden. Beispieldokumente finden Sie -am Ende des Abschnitts. +While the the standard classes produce at least one title page that may have +the three items title, author, and date, with {\KOMAScript} the +\Macro{maketitle} command can produce up to six pages. In contrast to the +standard classes, the \Macro{maketitle} macro in {\KOMAScript} accepts an +optional numeric argument. If it is used, this number is made the page number +of the first title page. However, this page number is not output, but affects +only the numbering. You should choose an odd number, because otherwise the +whole count gets mixed up. In my opinion there are only two meaningful +applications for the optional argument. On the one hand, one could give to the +half-title\Index[indexmain]{half-title} the logical page number \(-\)1 in +order to give the full title page the number 1. On the other hand, it could be +used to start at a higher page number, for instance, 3, 5, or 7, to accommodate +other title pages added by the publishing house. The optional argument is +ignored for \emph{in-page} titles. However, the page style of such a title +page can be changed by redefining the \Macro{titlepagestyle} macro. For that +see \autoref{sec:maincls.pagestyle}, +\autopageref{desc:maincls.cmd.titlepagestyle}. + +The following commands do not lead immediately to the ship-out of the +titles. The typesetting and ship-out of the title pages are always done by +\Macro{maketitle}. By the way, you should note that \Macro{maketitle} should +not be used inside a \Environment{titlepage} +environment. Like\textnote{Attention!} shown in the examples, one should use +either \Macro{maketitle} or \Environment{titlepage} only, but not both. + +The commands explained below only define the contents of the title +pages. Because of this, they have to be used before \Macro{maketitle}. It is, +however, not necessary and, when using, e.\,g., the \Package{babel} +package\IndexPackage{babel}, not recommended to use these in the preamble +before \Macro{begin}\PParameter{document} (see \cite{package:babel}). Examples +can be found at the end of this section. \begin{Declaration} - \Macro{extratitle}\Parameter{Schmutztitel} + \Macro{extratitle}\Parameter{half-title} \end{Declaration}% \BeginIndex{Cmd}{extratitle}% \begin{Explain}% - Früher war der Buchblock oftmals nicht durch einen Buchdeckel vor - Verschmutzung geschützt. Diese Aufgabe übernahm dann die erste Seite des - Buches, die meist einen Kurztitel, eben den \emph{Schmutztitel} trug. Auch - heute noch wird diese Extraseite vor dem eigentlichen Haupttitel gerne - verwendet und enthält dann Verlagsangaben, Buchreihennummer und ähnliche - Angaben. + In earlier times the inner book was often not protected from dirt by a cover. + This task was then taken over by the first page of the book which + carried mostly a shortened title called the \emph{half-title}. + Nowadays the extra page is often applied before the real full title + and contains information about the publisher, series number and similar + information. \end{Explain} -Bei {\KOMAScript} ist es möglich, vor der eigentlichen Titelseite eine weitere -Seite zu setzen. Als \PName{Schmutztitel}\Index{Schmutztitel} kann dabei -beliebiger Text -- auch mehrere Absätze -- gesetzt werden. Der Inhalt von -\PName{Schmutztitel} wird von {\KOMAScript} ohne zusätzliche Beeinflussung der -Formatierung ausgegeben. Dadurch ist dessen Gestaltung völlig dem Anwender -überlassen. Die Rückseite des Schmutztitels bleibt leer. Der Schmutztitel -ergibt auch dann eine eigene Titelseite, wenn mit Titelköpfen gearbeitet -wird. Die Ausgabe des mit \Macro{extratitle} definierten Schmutztitels erfolgt -als Bestandteil der Titelei mit \Macro{maketitle}. +With {\KOMAScript} it is possible to include a page before the real +title page. The \PName{half-title} can be arbitrary text\,---\,even +several paragraphs. The contents of the \PName {half-title} are output +by {\KOMAScript} without additional formatting. Their organisation is +completely left to the user. The back of the half-title remains empty. +The half-title has its own title page even when \emph{in-page} titles +are used. The output of the half-title defined with \Macro{extratitle} +takes place as part of the titles produced by \Macro{maketitle}. \begin{Example} - Kommen wir auf das Beispiel von oben zurück und gehen davon aus, dass das -% spartanische »Me« nur den Schmutztitel darstellt. Nach dem Schmutztitel soll - noch der Haupttitel folgen. Dann kann wie folgt verfahren werden: + Let's go back to the previous example and assume + that the spartan ``Me'' is the half-title. The full title should + still follow the half-title. One can proceed as follows: \ifCommonmaincls - \begin{lstcode} +\begin{lstcode} \documentclass{scrbook} \begin{document} \extratitle{\textbf{\Huge Me}} \title{It's me} \maketitle \end{document} - \end{lstcode} +\end{lstcode} \else \begin{lstcode} \documentclass{book} @@ -271,10 +269,10 @@ als Bestandteil der Titelei mit \Macro{maketitle}. \end{document} \end{lstcode} \fi - Sie können den Schmutztitel aber auch horizontal zentriert und etwas - tiefer setzen: + You can center the half-title horizontally and put it a little lower down + the page: \ifCommonmaincls - \begin{lstcode} +\begin{lstcode} \documentclass{scrbook} \begin{document} \extratitle{\vspace*{4\baselineskip} @@ -282,7 +280,7 @@ als Bestandteil der Titelei mit \Macro{maketitle}. \title{It's me} \maketitle \end{document} - \end{lstcode} +\end{lstcode} \else \begin{lstcode} \documentclass{book} @@ -298,24 +296,24 @@ als Bestandteil der Titelei mit \Macro{maketitle}. \maketitle \end{document} \end{lstcode} -\fi - Die Anweisung \Macro{title} ist grundsätzlich notwendig, damit die Beispiele - fehlerfrei sind. Sie wird nachfolgend erklärt. + \fi% + The command\textnote{Attention!} \Macro{title} is necessary in order to make + the examples above work correctly. It is explained next. \end{Example} % \EndIndex{Cmd}{extratitle} \begin{Declaration} - \Macro{titlehead}\Parameter{Kopf}\\ - \Macro{subject}\Parameter{Typisierung}\\ - \Macro{title}\Parameter{Titel}\\ - \Macro{subtitle}\Parameter{Untertitel}\\ - \Macro{author}\Parameter{Autor}\\ - \Macro{date}\Parameter{Datum}\\ - \Macro{publishers}\Parameter{Herausgeber}\\ + \Macro{titlehead}\Parameter{title head}\\ + \Macro{subject}\Parameter{subject}\\ + \Macro{title}\Parameter{title}\\ + \Macro{subtitle}\Parameter{subtitle}\\ + \Macro{author}\Parameter{author}\\ + \Macro{date}\Parameter{date}\\ + \Macro{publishers}\Parameter{publisher}\\ \Macro{and}\\ - \Macro{thanks}\Parameter{Fußnote} + \Macro{thanks}\Parameter{footnote} \end{Declaration}% \BeginIndex{Cmd}{titlehead}% \BeginIndex{Cmd}{subject}% @@ -326,59 +324,70 @@ als Bestandteil der Titelei mit \Macro{maketitle}. \BeginIndex{Cmd}{publishers}% \BeginIndex{Cmd}{and}% \BeginIndex{Cmd}{thanks}% -Für den Inhalt der Haupttitelseite stehen sieben Elemente zur Verfügung. Die -Ausgabe der Haupttitelseite erfolgt als Bestandteil der Titelei mit -\Macro{maketitle}, während die hier aufgeführten Anweisungen lediglich der -Definition der entsprechenden Elemente dienen. - -Der \PName{Kopf}\Index[indexmain]{Titel>Seitenkopf} des Haupttitels wird mit -der Anweisung \Macro{titlehead} definiert. Er wird über die gesamte Textbreite -in normalem Blocksatz am Anfang der Seite ausgegeben. Er kann vom Anwender -frei gestaltet werden. - -Die \PName{Typisierung}\Index[indexmain]{Typisierung} wird unmittelbar über -dem \PName{Titel} ausgegeben. Dabei\ChangedAt{v2.95}{\Class{scrbook}\and - \Class{scrreprt}\and \Class{scrartcl}} findet die Schriftumschaltung für das -Element \FontElement{subject}\IndexFontElement{subject} Anwendung. Die -Voreinstellung, die in \autoref{tab:maincls.titlefonts}% -\IfNotCommon{maincls}{, \autopageref{tab:maincls.titlefonts} }% -\ zu finden ist, kann mit Hilfe der Anweisungen \Macro{setkomafont} und -\Macro{addtokomafont} (siehe \autoref{sec:\csname +The contents of the full title page are defined by seven elements. The output +of the full title page occurs as part of the title pages of \Macro{maketitle}, +whereas the now listed elements only define the corresponding elements. + +The\important{\Macro{titlehead}} +\PName{title head}\Index[indexmain]{title>head} is defined with the command +\Macro{titlehead}. It is typeset in regular justification and full width at +the top of the page. It can be freely designed by the user. + +The\important{\Macro{subject}} \PName{subject}\Index[indexmain]{subject} is +output immediately above the \PName{title}. +Thereby\ChangedAt{v2.95}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} the font switching of element +\FontElement{subject}\IndexFontElement{subject}\important{\FontElement{subject}} +will be used. The default, that may be found in +\autoref{tab:maincls.titlefonts}, % +\IfNotCommon{maincls}{\autopageref{tab:maincls.titlefonts}, }% +may be changed using the commands \Macro{setkomafont} and +\Macro{addtokomafont} (see \autoref{sec:\csname label@base\endcsname.textmarkup}, \autopageref{desc:\csname - label@base\endcsname.cmd.setkomafont}) verändert werden. - -Der \PName{Titel} wird in einer sehr großen Schrift ausgegeben. -Dabei\ChangedAt{v2.8p}{\Class{scrbook}\and \Class{scrreprt}\and - \Class{scrartcl}} findet abgesehen von der Größe auch die Schriftumschaltung -für das Element \FontElement{title}\IndexFontElement{title} Anwendung. -Voreingestellt ist die gleiche Schrift, die für das Element -\FontElement{disposition}\IndexFontElement{disposition} verwendet wird (siehe + label@base\endcsname.cmd.setkomafont}). + +The\important{\Macro{title}} \PName{title} is output with a very large font +size. Besides\ChangedAt{v2.8p}{% + \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} the change of size, +the settings for the element +\FontElement{title}\IndexFontElement{title}\important{\FontElement{title}} +also take effect. By default these settings are identical to the settings for +the element \FontElement{disposition}\IndexFontElement{disposition} (see \autoref{tab:maincls.elementsWithoutText}, -\autopageref{tab:maincls.elementsWithoutText}). Die Voreinstellungen können -mit Hilfe der Anweisungen \Macro{setkomafont} und \Macro{addtokomafont} (siehe +\autopageref{tab:maincls.elementsWithoutText}). The default settings may be +changed using the commands \Macro{setkomafont} and \Macro{addtokomafont} (see \autoref{sec:\csname label@base\endcsname.textmarkup}, -\autopageref{desc:\csname label@base\endcsname.cmd.setkomafont}) verändert -werden. Die Größe ist jedoch davon unabhängig (siehe -\autoref{tab:maincls.mainTitle}, \autopageref{tab:maincls.mainTitle}). - -Der \PName{Untertitel}\ChangedAt{v2.97c}{\Class{scrbook}\and - \Class{scrreprt}\and \Class{scrartcl}} wird in der über das Element -\FontElement{subtitle}\IndexFontElement{subtitle} eingestellten Schrift knapp -unter dem Titel ausgegeben. Die Voreinstellung, die +\autopageref{desc:\csname label@base\endcsname.cmd.setkomafont}). The font +size\textnote{Attention!} is, however, not affected (see +\autoref{tab:maincls.elementsWithoutText}, +\autopageref{tab:maincls.mainTitle}). + +The\important{\Macro{subtitle}} +\PName{subtitle}\ChangedAt{v2.97c}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} is set just below the title, in a font determined by the +element \FontElement{subtitle}\IndexFontElement{subtitle}% +\important{\FontElement{subtitle}}. The default, seen in \autoref{tab:maincls.titlefonts}% -\IfNotCommon{maincls}{, \autopageref{tab:maincls.titlefonts}}% -\ zu entnehmen ist, kann mit Hilfe der Anweisungen \Macro{setkomafont} und -\Macro{addtokomafont} (siehe \autoref{sec:\csname +\IfNotCommon{maincls}{, \autopageref{tab:maincls.titlefonts}}, % +can be changed with the help of the commands \Macro{setkomafont} and +\Macro{addtokomafont} (see \autoref{sec:\csname label@base\endcsname.textmarkup}, \autopageref{desc:\csname - label@base\endcsname.cmd.setkomafont}) verändert werden. + label@base\endcsname.cmd.setkomafont}). \IfCommon{maincls}{% \begin{table} - \centering - \caption{Schriftvoreinstellungen für die Elemente des Titels} - \begin{tabular}{ll} +% \centering + \KOMAoptions{captions=topbeside}% + \setcapindent{0pt}% +% \caption + \begin{captionbeside} + [{Font defaults for the elements of the title}] + {\label{tab:maincls.titlefonts}% + Font defaults for the elements of the title} + [l] + \begin{tabular}[t]{ll} \toprule - Element-Name & Voreinstellung \\ + Element name & Default \\ \midrule \FontElement{subject} & \Macro{normalfont}\Macro{normalcolor}\Macro{bfseries}\Macro{Large} \\ @@ -387,91 +396,92 @@ unter dem Titel ausgegeben. Die Voreinstellung, die \Macro{usekomafont}\PParameter{title}\Macro{large} \\ \bottomrule \end{tabular} - \label{tab:maincls.titlefonts} + \end{captionbeside} \end{table}} -Unter dem \PName{Untertitel} folgt der \PName{Autor}\Index[indexmain]{Autor}. -Es kann auch durchaus mehr als ein Autor innerhalb des Arguments von -\Macro{author} angegeben werden. Die Autoren sind dann mit \Macro{and} -voneinander zu trennen. - -Unter dem Autor oder den Autoren folgt das Datum\Index{Datum}. -Dabei ist das aktuelle Datum, \Macro{today}\IndexCmd{today}, -voreingestellt. Es kann jedoch mit \Macro{date} eine beliebige -Angabe -- auch ein leere -- erreicht werden. - -Als Letztes folgt schließlich der -\PName{Herausgeber}\Index[indexmain]{Herausgeber}. Selbstverständlich -kann diese Anweisung auch für andere Angaben geringer Wichtigkeit -verwendet werden. Notfalls kann durch Verwendung einer \Macro{parbox} -über die gesamte Seitenbreite auch erreicht werden, dass diese Angabe -nicht zentriert, sondern im Blocksatz gesetzt wird. Sie ist dann als -Äquivalent zum Kopf zu betrachten. Dabei ist jedoch zu beachten, -dass sie oberhalb von eventuell vorhandenen Fußnoten ausgegeben wird. - -Fußnoten\Index{Fussnoten=Fußnoten} werden auf der Titelseite nicht mit -\Macro{footnote}, sondern mit der Anweisung \Macro{thanks} erzeugt. Sie dienen -in der Regel für Anmerkungen bei den Autoren. Als Fußnotenzeichen werden dabei -Symbole statt Zahlen verwendet. Es ist zu beachten, dass \Macro{thanks} -innerhalb des Arguments einer der übrigen Anweisungen, beispielsweise im -Argument \PName{Autor} der Anweisung \Macro{author} zu verwenden ist. - -Bis auf den \PName{Kopf} und eventuelle Fußnoten werden alle Ausgaben -horizontal zentriert. Diese Angaben sind noch einmal kurz zusammengefasst in +Below\important{\Macro{author}} the \PName{subtitle} appears the +\PName{author}\Index[indexmain]{author}. Several authors can be +specified in the argument of \Macro{author}. They should be separated +by \Macro{and}. + +Below\important{\Macro{date}} the author or authors appears the +date\Index{date}. The default value is the present date, as produced by +\Macro{today}\IndexCmd{today}. The \Macro{date} command accepts arbitrary +information\,---\,even an empty argument. + +Finally\important{\Macro{publishers}} comes the +\PName{publisher}\Index[indexmain]{publisher}. Of course this command can also +be used for any other information of little importance. If necessary, the +\Macro{parbox} command can be used to typeset this information over the full +page width like a regular paragraph instead of centering it. Then it is to be +considered equivalent to the title head. However, note that this field is put +above any existing footnotes. + +Footnotes\important{\Macro{thanks}}\Index{footnotes} on the title page are +produced not with \Macro{footnote}, but with \Macro{thanks}. They serve +typically for notes associated with the authors. Symbols are used as footnote +markers instead of numbers. Note\textnote{Attention!}, that \Macro{thanks} has +to be used inside the argument of another command, e.\,g., at the argument +\PName{author} of the command \Macro{author}. + +With the exception of \PName{titlehead} and possible footnotes, all +the items are centered horizontally. The information is summarised in \autoref{tab:maincls.mainTitle}% -\IfNotCommon{maincls}{, \autopageref{tab:maincls.mainTitle} }% -\ zu finden. - -\IfCommon{maincls}{\begin{table} - \centering - \caption[Der Haupttitel]{Schriftgröße und horizontale - Ausrichtung der Elemente der Haupttitelseite in der Reihenfolge - ihrer vertikalen Position von oben nach unten bei Verwendung von - \Macro{maketitle}} - \begin{tabular}{llll} +\IfNotCommon{maincls}{, \autopageref{tab:maincls.mainTitle}}% +. +\IfCommon{maincls}{% +\begin{table} +% \centering + \KOMAoptions{captions=topbeside}% + \setcapindent{0pt}% +% \caption + \begin{captionbeside}[Main title]{% + Font size and horizontal positioning of the + elements in the main title page in the order of their vertical + position from top to bottom when typeset with \Macro{maketitle}} + [l] + \setlength{\tabcolsep}{.85\tabcolsep}% Umbruchoptimierung + \begin{tabular}[t]{llll} \toprule - Element & Anweisung & Schrift & Satz \\ + Element & Command & Font & Orientation \\ \midrule - Seitenkopf & \Macro{titlehead} & \Macro{normalsize} & Blocksatz \\ - Typisierung & \Macro{subject} & \Macro{usekomafont}\PParameter{subject} - & zentriert \\ - Titel & \Macro{title} & - \Macro{huge}\Macro{usekomafont}\PParameter{title} & zentriert \\ - Untertitel & \Macro{subtitle} & - \Macro{usekomafont}\PParameter{subtitle} & zentriert \\ - Autoren & \Macro{author} & \Macro{Large} & zentriert \\ - Datum & \Macro{date} & \Macro{Large} & zentriert \\ - Herausgeber & \Macro{publishers} & \Macro{Large} & zentriert \\ + Title head & \Macro{titlehead} & \Macro{normalsize} & justified \\ + Subject & \Macro{subject} & \Macro{usekomafont}\PParameter{subject} & centered \\ + Title & \Macro{title} & \Macro{huge}\Macro{usekomafont}\PParameter{title} & centered \\ + Subtitle & \Macro{subtitle} & \Macro{usekomafont}\PParameter{subtitle} & centered \\ + Authors & \Macro{author} & \Macro{Large} & centered \\ + Date & \Macro{date} & \Macro{Large} & centered \\ + Publishers & \Macro{publishers} & \Macro{Large} & centered \\ \bottomrule \end{tabular} - \label{tab:maincls.mainTitle} + \end{captionbeside} + \label{tab:maincls.mainTitle} \end{table}} + \begin{Example} - Nehmen wir nun einmal an, Sie schreiben eine Diplomarbeit. Dabei sei - vorgegeben, dass die Titelseite oben linksbündig das Institut - einschließlich Adresse und rechtsbündig das Semester wiedergibt. Wie - üblich ist ein Titel einschließlich Autor und Abgabedatum zu setzen. - Außerdem soll der Betreuer angegeben und zu erkennen sein, dass es - sich um eine Diplomarbeit handelt. Sie könnten das wie folgt - erreichen: + Assume you are writing a dissertation. The title page should have + the university's name and address at the top, flush left, and the + semester, flush right. As usual, a title is to be used, including + author and delivery date. + The adviser must also be indicated, together with the fact that the + document is a dissertation. This can be obtained as follows: \ifCommonmaincls - \iffree{}{\newpage}% Umbruchkorrektur \begin{lstcode} \documentclass{scrbook} - \usepackage{ngerman} + \usepackage[english]{babel} \begin{document} - \titlehead{{\Large Universit"at Schlauenheim - \hfill SS~2001\\} - Institut f"ur Raumkr"ummung\\ - Hochschulstra"se~12\\ - 34567 Schlauenheim} - \subject{Diplomarbeit} - \title{Digitale Raumsimulation mit dem DSP\,56004} - \subtitle{Klein aber fein?} - \author{cand. stup. Uli Ungenau} - \date{30. Februar 2001} - \publishers{Betreut durch Prof. Dr. rer. stup. Naseweis} + \titlehead{{\Large Unseen University + \hfill SS~2002\\} + Higher Analytical Institute\\ + Mythological Rd\\ + 34567 Etherworld} + \subject{Dissertation} + \title{Digital space simulation with the DSP\,56004} + \subtitle{Short but sweet?} + \author{Fuzzy George} + \date{30. February 2002} + \publishers{Adviser Prof. John Eccentric Doe} \maketitle \end{document} \end{lstcode} @@ -479,44 +489,42 @@ horizontal zentriert. Diese Angaben sind noch einmal kurz zusammengefasst in \begin{lstcode} \documentclass{book} \usepackage[extendedfeature=title]{scrextend} - \usepackage{ngerman} \begin{document} - \titlehead{{\Large Universit"at Schlauenheim - \hfill SS~2001\\} - Institut f"ur Raumkr"ummung\\ - Hochschulstra"se~12\\ - 34567 Schlauenheim} - \subject{Diplomarbeit} - \title{Digitale Raumsimulation mit dem DSP\,56004} - \subtitle{Klein aber fein?} - \author{cand. stup. Uli Ungenau} - \date{30. Februar 2001} - \publishers{Betreut durch Prof. Dr. rer. stup. - Naseweis} + \titlehead{{\Large Unseen University + \hfill SS~2002\\} + Higher Analytical Institute\\ + Mythological Rd\\ + 34567 Etherworld} + \subject{Dissertation} + \title{Digital space simulation with the DSP\,56004} + \subtitle{Short but sweet?} + \author{Fuzzy George} + \date{30. February 2002} + \publishers{Adviser Prof. John Eccentric Doe} \maketitle \end{document} \end{lstcode} \fi \end{Example} + \begin{Explain} - Ein häufiges Missverständnis betrifft die Bedeutung der - Haupttitelseite. Irrtümlich wird oft angenommen, es handle sich dabei um den - Buchumschlag oder Buchdeckel. Daher wird häufig erwartet, dass die - Titelseite nicht den Randvorgaben für doppelseitige Satzspiegel gehorcht, - sondern rechts und links gleich große Ränder besitzt. Nimmt man jedoch - einmal ein Buch zur Hand und klappt es auf, trifft man sehr schnell auf - mindestens eine Titelseite unter dem Buchdeckel innerhalb des so genannten - Buchblocks. Genau diese Titelseiten werden mit \Macro{maketitle} - gesetzt. Wie beim Schmutztitel handelt es sich also auch bei der - Haupttitelseite um eine Seite innerhalb des Buchblocks, die deshalb dem - Satzspiegel des gesamten Dokuments gehorcht. Überhaupt ist ein Buchdeckel, - das \emph{Cover}, etwas, was man in einem getrennten Dokument - erstellt. Schließlich hat er oft eine sehr individuelle Gestalt. Es spricht - auch nichts dagegen, hierfür ein Grafik- oder DTP-Programm zu Hilfe zu - nehmen. Ein getrenntes Dokument sollte auch deshalb verwendet werden, weil - es später auf ein anderes Druckmedium, etwa Karton, und möglicherweise mit - einem anderen Drucker ausgegeben werden soll. + A frequent misunderstanding concerns the role of the full title page. It is + often erroneously assumed that the cover or dust cover is meant. Therefore, + it is frequently expected that the title page does not follow the normal + page layout, but has equally large left and right margins. + + However, if one takes a book and opens it, one notices very quickly at least + one title page under the cover within the so-called inner book. Precisely + these title pages are produced by \Macro{maketitle}. + + As is the case with the half-title, the full title page belongs to the inner + book, and therefore should have the same page layout as the rest of the + document. A cover is actually something that should be created in a + separate document. The cover often has a very individual format. It can also + be designed with the help of a graphics or DTP program. A separate document + should also be used because the cover will be printed on a different medium, + possibly cardboard, and possibly with another printer. \end{Explain} % \EndIndex{Cmd}{titlehead}% @@ -531,57 +539,55 @@ horizontal zentriert. Diese Angaben sind noch einmal kurz zusammengefasst in \begin{Declaration} - \Macro{uppertitleback}\Parameter{Titelrückseitenkopf}\\ - \Macro{lowertitleback}\Parameter{Titelrückseitenfuß} + \Macro{uppertitleback}\Parameter{titlebackhead}\\ + \Macro{lowertitleback}\Parameter{titlebackfoot} \end{Declaration}% \BeginIndex{Cmd}{uppertitleback}% \BeginIndex{Cmd}{lowertitleback}% -Im doppelseitigen Druck bleibt bei den Standardklassen die Rückseite des -Blatts mit der Titelseite leer. Bei {\KOMAScript} lässt sich die Rückseite der -Haupttitelseite hingegen für weitere Angaben nutzen. Dabei wird zwischen genau -zwei Elementen unterschieden, die der Anwender frei gestalten kann: dem -\PName{Titelrückseitenkopf}\Index{Titel>Rueckseite=Rückseite} und dem -\PName{Titelrückseitenfuß}. Dabei kann der Kopf bis zum Fuß reichen und -umgekehrt. \iffree{Nimmt man diese Anleitung als Beispiel, so wurde der - Haftungsausschluss mit Hilfe von \Macro{uppertitleback} - gesetzt.}{Beispielsweise hätte man die Verlagsinformationen zu diesem Buch - wahlweise mit \Macro{uppertitleback} oder \Macro{lowertitleback} setzen - können.}% +% +With the standard classes, the back of the title page of a double-side print +is left empty. However, with {\KOMAScript} the back of the full title page +can be used for other information. Exactly two elements which the user can +freely format are recognized: \PName +{titlebackhead}\Index{title>back}\Index{title>rear side}\Index{title>flipside} +and \PName {titlebackfoot}. The head can reach up to the foot and vice +versa. \iffree{If one takes this manual as an example, the exclusion of + liability was set with the help of the \Macro{uppertitleback} command.}{The + publishers information of this book. e.\,g., could have been set either with + \Macro{uppertitleback} or \Macro{lowertitleback}.}% % \EndIndex{Cmd}{uppertitleback}% \EndIndex{Cmd}{lowertitleback}% \begin{Declaration} - \Macro{dedication}\Parameter{Widmung} + \Macro{dedication}\Parameter{dedication} \end{Declaration}% \BeginIndex{Cmd}{dedication}% -{\KOMAScript} bietet eine eigene Widmungsseite. Diese -Widmung\Index{Widmung} wird zentriert und in etwas größerer Schrift -gesetzt. Die Rückseite ist wie bei der Seite mit dem Schmutztitel -grundsätzlich leer. Die Widmungsseite wird zusammen mit der restlichen -Titelei mit \Macro{maketitle} ausgegeben und muss daher vor dieser -Anweisung definiert sein. +{\KOMAScript} provides a page for dedications. The +dedication\Index{dedication} is centered and uses a slightly larger +type size. The back is empty like the back page of the half-title. +The dedication page is produced by \Macro{maketitle} and must +therefore be defined before this command is issued. \begin{Example} - Nehmen wir dieses Mal an, dass Sie einen Gedichtband schreiben, den - Sie Ihrer Frau widmen wollen. Das könnte wie folgt aussehen: + This time assume that you have written a poetry book and you want to + dedicate it to your wife. A solution would look like this: \ifCommonmaincls \begin{lstcode} \documentclass{scrbook} - \usepackage{ngerman} + \usepackage[english]{babel} \begin{document} - \extratitle{\textbf{\Huge In Liebe}} - \title{In Liebe} - \author{Prinz Eisenherz} + \extratitle{\textbf{\Huge In Love}} + \title{In Love} + \author{Prince Ironheart} \date{1412} - \lowertitleback{Dieser Gedichtband wurde mit Hilfe - von {\KOMAScript} und {\LaTeX} gesetzt.} - \uppertitleback{Selbstverlach\par - Auf"|lage: 1 Exemplar} - \dedication{Meinem Schnuckelchen\\ - in ewiger Liebe\\ - von Deinem Hasenboppelchen.} + \lowertitleback{This poem book was set with% + the help of {\KOMAScript} and {\LaTeX}} + \uppertitleback{Selfmockery Publishers} + \dedication{To my treasure hazel-hen\\ + in eternal love\\ + from your dormouse.} \maketitle \end{document} \end{lstcode} @@ -589,40 +595,36 @@ Anweisung definiert sein. \begin{lstcode} \documentclass{book} \usepackage[extendedfeature=title]{scrextend} - \usepackage{ngerman} + \usepackage[english]{babel} \begin{document} - \extratitle{% - \textbf{\Huge In Liebe}} - \title{In Liebe} - \author{Prinz Eisenherz} + \extratitle{\textbf{\Huge In Love}} + \title{In Love} + \author{Prince Ironheart} \date{1412} - \lowertitleback{% - Dieser Gedichtband wurde mit Hilfe von - {\KOMAScript} und {\LaTeX} gesetzt.} - \uppertitleback{% - Selbstverlach\par - Auf"|lage: 1 Exemplar} - \dedication{% - Meinem Schnuckelchen\\ - in ewiger Liebe\\ - von Deinem Hasenboppelchen.} + \lowertitleback{This poem book was set with% + the help of {\KOMAScript} and {\LaTeX}} + \uppertitleback{Selfmockery Publishers} + \dedication{To my treasure hazel-hen\\ + in eternal love\\ + from your dormouse.} \maketitle \end{document} \end{lstcode} \fi - Ich bitte, die Kosenamen entsprechend Ihren Vorlieben zu ersetzen. + Please use your own favorite pet names. \end{Example} % \EndIndex{Cmd}{dedication}% % \EndIndex{Cmd}{maketitle}% % -\EndIndex{}{Titel} -\fi% IgnoreThis +\EndIndex{}{document>title}% +\EndIndex{}{title} +\fi %**************************************************** Ende nur maincls * %%% Local Variables: %%% mode: latex -%%% coding: iso-latin-1 +%%% coding: us-ascii %%% TeX-master: "../guide" %%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/common-15.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/common-15.tex index dede85afca5..2f8f870f71d 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/common-15.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/common-15.tex @@ -40,13 +40,15 @@ % % ---------------------------------------------------------------------- % -% Absätze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind +% Absaetze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind % Verwaltet von Markus Kohm % % ====================================================================== -\ProvidesFile{common-15.tex}[2009/01/04 KOMA-Script guide (common paragraphs)] -\translator{Gernot Hassenpflug} +\ProvidesFile{common-15.tex}[2012/05/15 KOMA-Script guide (common paragraphs)] +\translator{Gernot Hassenpflug\and Markus Kohm\and Krickette Murabayashi} + +% Date of the translated German file: 2011/09/21 \makeatletter \@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}% @@ -56,29 +58,32 @@ \makeatother -\section{Schlauer Spruch} +\section{Dicta} \label{sec:\csname label@base\endcsname.dictum}% \ifshortversion\IgnoreThisfalse\IfNotCommon{maincls}{\IgnoreThistrue}\fi% -\ifIgnoreThis -Es gilt sinngemäß, was in \autoref{sec:maincls.dictum} geschrieben -wurde. \IfCommon{scrextend}{Allerdings werden von \Package{scrextend} die - Anweisungen \Macro{setchapterpreamble} und \Macro{setpartpreamble} nicht - definiert. Ob die verwendete Klasse eine entsprechende Anweisung bietet, ist - der Anleitung zur jeweiligen Klasse zu entnehmen.} -\else -\BeginIndex{}{Spruch}% -\BeginIndex{}{Zitat}% -\BeginIndex{}{Redewendung}% - -Ein häufiger anzutreffendes Element ist ein Zitat oder eine Redewendung, die -rechtsbündig unter oder über einer Überschrift gesetzt wird. Dabei werden der -Spruch selbst und der Quellennachweis in der Regel speziell formatiert. +\ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + +It applies, mutatis mutandis, what is described in +\autoref{sec:maincls.dictum}. +\IfCommon{scrextend}{% + However, \Package{scrextend} does not support the commands + \Macro{setchapterpreamble} and \Macro{setpartpreamble}. You should read + the manual of the used class, if you want to know, if that class does + support similar commands.} +\else %------------------------------------------------------- nur maincls - +\BeginIndex{}{smart slogan}% +\BeginIndex{}{dictum}% +\BeginIndex{}{excerpt}% + +Sometimes you may find a dictum, a kind of smart slogan or excerpt, often ragged +left above or below the heading of a chapter or section. The text and the +source of the slogan often use special styles. \begin{Declaration} - \Macro{dictum}\OParameter{Urheber}\Parameter{Spruch}\\ + \Macro{dictum}\OParameter{author}\Parameter{dictum}\\ \Macro{dictumwidth}\\ - \Macro{dictumauthorformat}\Parameter{Urheber}\\ + \Macro{dictumauthorformat}\Parameter{author}\\ + \Macro{dictumrule}\\ \Macro{raggeddictum}\\ \Macro{raggeddictumtext}\\ \Macro{raggeddictumauthor} @@ -86,141 +91,153 @@ Spruch selbst und der Quellennachweis in der Regel speziell formatiert. \BeginIndex{Cmd}{dictum}% \BeginIndex{Cmd}{dictumwidth}% \BeginIndex{Cmd}{dictumauthorformat}% +\BeginIndex{Cmd}{dictumrule}% \BeginIndex{Cmd}{raggeddictum}% \BeginIndex{Cmd}{raggeddictumtext}% \BeginIndex{Cmd}{raggeddictumauthor}% -Ein solcher Spruch kann mit der Anweisung \Macro{dictum} gesetzt werden. % -\IfCommon{maincls}{Bei \KOMAScript-Klassen wird für Kapitel oder die Teile - empfohlen, \Macro{dictum} als obligatorisches Argument einer der Anweisungen - \Macro{setchapterpreamble} oder \Macro{setpartpreamble} (siehe - \autoref{sec:maincls.structure}, - \autopageref{desc:maincls.cmd.setchapterpreamble}) zu verwenden. Dies ist - jedoch nicht zwingend.\par}% -Der Spruch wird zusammen mit einem optional anzugebenden \PName{Urheber} in -einer \Macro{parbox}\IndexCmd{parbox} (siehe \cite{latex:usrguide}) der Breite -\Macro{dictumwidth} gesetzt. Dabei ist \Macro{dictumwidth} keine Länge, die -mit \Macro{setlength} gesetzt wird. Es handelt sich um ein Makro, das mit -\Macro{renewcommand} umdefiniert werden kann. Vordefiniert ist -\lstinline;0.3333\textwidth;, also ein Drittel der jeweiligen Textbreite. Die -Box selbst wird mit der Anweisung \Macro{raggeddictum} -ausgerichtet. Voreingestellt ist dabei -\Macro{raggedleft}\IndexCmd{raggedleft}, also rechtsbündig. -\Macro{raggeddictum} kann mit Hilfe von \Macro{renewcommand} umdefiniert -werden. - -Innerhalb der Box wird der \PName{Spruch} mit \Macro{raggeddictumtext} -angeordnet. Voreingestellt ist hier \Macro{raggedright}\IndexCmd{raggedright}, -also linksbündig. Eine Umdefinierung ist auch hier mit \Macro{renewcommand} -möglich. Die Ausgabe erfolgt in der für Element \FontElement{dictumtext} -eingestellten Schriftart, die mit den Anweisungen \Macro{setkomafont} und -\Macro{addtokomafont} (siehe \autoref{sec:\csname +The command \Macro{dictum} inserts such a dictum. +\IfCommon{maincls}{This\textnote{Hint!} macro can be used as obligatory + argument of either the command \Macro{setchapterpreamble} or + \Macro{setpartpreamble}. However, this is not obligatory.\par}% +The dictum together with an optional \PName{author} is inserted in a +\Macro{parbox}\IndexCmd{parbox} (see \cite{latex:usrguide}) of width +\Macro{dictumwidth}. Yet \Macro{dictumwidth} is not a length which can be set +with \Macro{setlength}. It is a macro that can be redefined using +\Macro{renewcommand}. Default setting is \verb;0.3333\textwidth;, which is a +third of the textwidth. The box itself is positioned with the command +\Macro{raggeddictum}. Default here is \Macro{raggedleft}\IndexCmd{raggedleft}, +that is, right justified. The command \Macro{raggeddictum} can be redefined +using \Macro{renewcommand}. + +Within the box the \PName{dictum} is set using \Macro{raggeddictumtext}. +Default setting is \Macro{raggedright}\IndexCmd{raggedright}, that is, left +justified. Similarly to \Macro{raggeddictum} this can be redefined with +\Macro{renewcommand}. The output uses the default font setting for the +element \FontElement{dictumtext}, which can be changed with the commands +\Macro{setkomafont} and \Macro{addtokomafont} (see \autoref{sec:\csname label@base\endcsname.textmarkup}, \autopageref{desc:\csname - label@base\endcsname.cmd.setkomafont}) geändert werden kann. Die -Voreinstellung entnehmen Sie bitte \autoref{tab:maincls.dictumfont}% + label@base\endcsname.cmd.setkomafont}). Default settings are listed in +\autoref{tab:maincls.dictumfont}% \IfNotCommon{maincls}{, \autopageref{tab:maincls.dictumfont}}% . -Ist ein \PName{Urheber} angegeben, so wird dieser mit einer Linie über die -gesamte Breite der \Macro{parbox} vom \PName{Spruch} abgetrennt. Mit -\Macro{raggeddictumauthor} wird die Ausrichtung vorgenommen. Voreingestellt -ist \Macro{raggedleft}. Auch diese Anweisung kann mit \Macro{renewcommand} -umdefiniert werden. Die Ausgabe erfolgt in der Form, die mit -\Macro{dictumauthorformat} festgelegt ist. Das Makro erwartet schlicht den -\Macro{Urheber} als Argument. In der Voreinstellung ist -\Macro{dictumauthorformat} als -\begin{lstcode}[aboveskip={1ex plus 2ex},belowskip={1ex plus 2ex}] - \newcommand*{\dictumauthorformat}[1]{(#1)} -\end{lstcode} -definiert. Der \PName{Urheber} wird also in runde Klammern gesetzt. Für das -Element \PName{dictumauthor} kann dabei eine Abweichung der Schrift von der -des Elementes \PName{dictumtext} definiert werden. Die Voreinstellung -entnehmen Sie bitte \autoref{tab:maincls.dictumfont}. Eine Änderung ist mit -Hilfe der Anweisungen \Macro{setkomafont} und \Macro{addtokomafont} (siehe -\autoref{sec:\csname label@base\endcsname.textmarkup}, -\autopageref{desc:\csname label@base\endcsname.cmd.setkomafont}) möglich.% -% \ifCommonmaincls \begin{table} - \centering% - \caption{Schriftvoreinstellungen für die Elemente des Spruchs} - \begin{tabular}{ll} +% \centering% + \KOMAoptions{captions=topbeside}% + \setcapindent{0pt}% +% \caption + \begin{captionbeside}{Default settings for the elements of a dictum} + [l] + \begin{tabular}[t]{ll} \toprule - Element & Voreinstellung \\ + Element & Default \\ \midrule - \FontElement{dictumtext} & + \FontElement{dictumtext} & \Macro{normalfont}\Macro{normalcolor}\Macro{sffamily}\Macro{small}\\ \FontElement{dictumauthor} & \Macro{itshape}\\ \bottomrule \end{tabular} + \end{captionbeside} \label{tab:maincls.dictumfont} \end{table} +\fi + +If there is an \PName{author} name, it is separated from the \PName{dictum} by +a rule to the full width of the +\Macro{parbox}. This\IfCommon{maincls}{\ChangedAt{v3.10}{\Class{scrbook}\and + \Class{scrreprt}\and \Class{scrartcl}}}% +\IfCommon{scrextend}{\ChangedAt{v3.10}{\Package{scrextend}}} rule is defined +as vertical object to command \Macro{dictumrule}: +% Satzkorrektur listings +\begin{lstcode}[belowskip=\dp\strutbox] + \newcommand*{\dictumrule}{\vskip-1ex\hrulefill\par} +\end{lstcode} -Wird \Macro{dictum} innerhalb der Anweisung \Macro{setchapterpreamble} oder -\Macro{setpartpreamble} (siehe \autoref{sec:maincls.structure}, -\autopageref{desc:maincls.cmd.setchapterpreamble}) verwendet, so ist -Folgendes zu beachten: Die horizontale Anordnung erfolgt immer mit -\Macro{raggeddictum}. Das optionale Argument zur horizontalen Anordnung, das -die beiden Anweisungen vorsehen, bleibt daher ohne Wirkung. \Macro{textwidth} -ist nicht die Breite des gesamten Textkörpers, sondern die aktuelle -Textbreite. Ist also die Breite \Macro{dictumwidth} als -\lstinline;.5\textwidth; definiert und bei \Macro{setchapterpreamble} wird als -optionales Argument für die Breite ebenfalls \lstinline;.5\textwidth; -angegeben, so erfolgt die Ausgabe in einer Box, deren Breite ein Viertel der -Breite des Textkörpers ist. Es wird empfohlen, bei Verwendung von -\Macro{dictum} auf die optionale Angabe einer Breite bei -\Macro{setchapterpreamble} oder \Macro{setpartpreamble} zu verzichten. - -Sollen mehrere schlaue Sprüche untereinander gesetzt werden, so sollten diese -durch einen zusätzlichen Abstand vertikal voneinander abgesetzt werden. Ein -solcher kann leicht mit der Anweisung \Macro{bigskip}\IndexCmd{bigskip} -gesetzt werden. +The alignment is defined with \Macro{raggeddictumauthor}. Default is +\Macro{raggedleft}. This command can also be redefined using +\Macro{renewcommand}. The format of the output is defined with +\Macro{dictumauthorformat}. This macro expects the \Macro{author} as +argument. As default \Macro{dictumauthorformat} is defined as: +% Satzkorrektur listings +\begin{lstcode}[belowskip=\dp\strutbox] + \newcommand*{\dictumauthorformat}[1]{(#1)} +\end{lstcode} +Thus the \PName{author} is set enclosed in rounded parentheses. For +the element \FontElement{dictumauthor}, a different font than for the +element \FontElement{dictumtext} can be defined. Default settings are +listed in \autoref{tab:maincls.dictumfont}. Changes can be made using +the commands \Macro{setkomafont} and \Macro{addtokomafont} (see +\autoref{sec:\csname label@base\endcsname.textmarkup}, +\autopageref{desc:\csname label@base\endcsname.cmd.setkomafont}).% +% +\ifCommonmaincls + +If \Macro{dictum} is used within the macro \Macro{setchapterpreamble} +or \Macro{setpartpreamble} you have to take care of the following: 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. \Macro{textwidth} is +not the width of the whole text corpus but the actually used text +width. If \Macro{dictumwidth} is set to \verb;.5\textwidth; and +\Macro{setchapterpreamble} has an optional width of +\verb;.5\textwidth; too, you will get a box with a width one quarter +of the text width. Therefore, if you use \Macro{dictum} it is +recommended to refrain from setting the optional width for +\Macro{setchapterpreamble} or \Macro{setpartpreamble}. + +If\textnote{Hint!} you have more than one dictum, one under another, you should +separate them by an additional vertical space, easily accomplished using the +command \Macro{bigskip}\IndexCmd{bigskip}. \begin{Example} - Sie schreiben ein Kapitel über die moderne Ehe. Dabei wollen sie in der - Präambel zur Kapitelüberschrift einen schlauen Spruch setzen. Dieser soll - unter der Überschrift erscheinen. Also schreiben Sie: - \begin{lstcode} + You are writing a chapter on an aspect of weather forecasting. You + have come across an aphorism which you would like to place at the + beginning of the chapter beneath the heading. You could write: +\begin{lstcode} \setchapterpreamble[u]{% - \dictum[Schiller]{Drum prüfe, - wer sich ewig bindet \dots}} - \chapter{Die moderne Ehe} - \end{lstcode} - Die Ausgabe erfolgt dann in der Form: + \dictum[Anonymous]{Forecasting is the art of saying + what is going to happen and then to explain + why it didn't.}} + \chapter{Weather forecasting} +\end{lstcode} + The output would look as follows: \begin{ShowOutput} {\usekomafont{disposition}\usekomafont{chapter}% - 17\enskip Die moderne Ehe\par} - \vspace{\baselineskip} - \dictum[Schiller]{Drum prüfe, wer sich ewig bindet \dots} + 17\enskip Weather forecasting\par} \vspace{\baselineskip} + \dictum[Anonymous]{Forecasting is the art of saying what is going to + happen and then to explain why it didn't.} \end{ShowOutput} - Wenn Sie wollen, dass nicht ein Drittel, sondern nur ein Viertel der - verfügbaren Textbreite für den Spruch verwendet wird, so definieren Sie - \Macro{dictumwidth} wie folgt um: - \begin{lstcode} + If you would rather the dictum span only a quarter of the text width + rather than one third you can redefine \Macro{dictumwidth}: +\begin{lstcode} \renewcommand*{\dictumwidth}{.25\textwidth} - \end{lstcode} +\end{lstcode} \end{Example} -An dieser Stelle sei noch auf das Paket~\cite{package:ragged2e} hingewiesen, -mit dem man Flattersatz mit Trennung erreichen kann.% +For a somewhat more sophisticated formatting of left- or right-aligned +paragraphs including hyphenation you can use the +package~\Package{ragged2e}~\cite{package:ragged2e}.% \fi % \EndIndex{Cmd}{dictum}% \EndIndex{Cmd}{dictumwidth}% \EndIndex{Cmd}{dictumauthorformat}% +\EndIndex{Cmd}{dictumrule}% \EndIndex{Cmd}{raggeddictum}% \EndIndex{Cmd}{raggeddictumtext}% \EndIndex{Cmd}{raggeddictumauthor}% % -\EndIndex{}{Redewendung}% -\EndIndex{}{Zitat}% -\EndIndex{}{Spruch}% -\fi % IgnoreThis +\EndIndex{}{excerpt}% +\EndIndex{}{smart slogan}% +\EndIndex{}{dictum}% +\fi %**************************************************** Ende nur maincls * %%% Local Variables: %%% mode: latex -%%% coding: iso-latin-1 +%%% coding: us-ascii %%% TeX-master: "../guide" %%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/common-2.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/common-2.tex index 955e7a22d1a..81a5e22d550 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/common-2.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/common-2.tex @@ -40,13 +40,15 @@ % % ---------------------------------------------------------------------- % -% Absätze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind +% Absaetze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind % Verwaltet von Markus Kohm % % ====================================================================== -\ProvidesFile{common-2.tex}[2009/01/04 KOMA-Script guide (common paragraphs)] -\translator{Gernot Hassenpflug} +\ProvidesFile{common-2.tex}[2012/05/15 KOMA-Script guide (common paragraphs)] +\translator{Markus Kohm\and Gernot Hassenpflug\and Krickette Murabayashi} + +% Date of the translated German file: 2011/09/20 \makeatletter \@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}% @@ -56,42 +58,49 @@ \makeatother -\section{Entwurfsmodus} +\section{Draft Mode} \label{sec:\csname label@base\endcsname.draft}% \ifshortversion\IgnoreThisfalse\IfNotCommon{maincls}{\IgnoreThistrue}\fi% -\ifIgnoreThis% -Es gilt sinngemäß, was in \autoref{sec:maincls.draft} geschrieben wurde. -\else -\BeginIndex{}{Entwurf}% +\ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + +What is written in +\autoref{sec:maincls.draft} applies, mutatis mutandis. +\else %------------------------------------------------------- nur maincls - +\BeginIndex{}{draft mode}% -Viele Klassen und viele Pakete kennen neben dem normalen Satzmodus auch einen -Entwurfsmodus. Die Unterschiede zwischen diesen beiden sind so vielfältig wie -die Klassen und Pakete, die diese Unterscheidung anbieten. +Many classes and packages provide a draft mode aside from the final +typesetting mode. The difference of draft and final mode may be as manifold as +the classes and package that support these modes. For instance, the +\Package{graphics}\IndexPackage{graphics} and the +\Package{graphicx}\IndexPackage{graphicx} packages don't actually output the +graphics in their own draft mode. Instead they output a framed box of the +appropriate size containing only the graphic's file name (see +\cite{package:graphics}).% \begin{Declaration} - \KOption{draft}\PName{Ein-Aus-Wert} + \KOption{draft}\PName{simple switch} \end{Declaration}% -\BeginIndex{Option}{draft~=\PName{Ein-Aus-Wert}}% -Mit dieser Option\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and - \Class{scrartcl}\and \Class{scrlttr2}} wird zwischen Dokumenten im -Entwurfsstadium und fertigen Dokumenten\Index{Endfassung} unterschieden. Als -\PName{Ein-Aus-Wert} kann einer der Standardwerte für einfache Schalter aus -\autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch} verwendet -werden. Bei Aktivierung der Option werden im Falle überlanger Zeilen am -Zeilenende kleine, schwarze Kästchen ausgegeben. Diese Kästchen erleichtern -dem ungeübten Auge, Absätze ausfindig zu machen, die manueller Nachbearbeitung -bedürfen. Demgegenüber erscheinen in der Standardeinstellung -\OptionValue{draft}{false} keine solchen Kästchen.% -% -\EndIndex{Option}{draft~=\PName{Ein-Aus-Wert}}% +\BeginIndex{Option}{draft~=\PName{simple switch}}% +This option\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Class{scrlttr2}} is normally used to distinguish +between the draft and final versions of a document. \PName{simple switch} +value may be any standard value from \autoref{tab:truefalseswitch}, +\autopageref{tab:truefalseswitch}. In particular, switching on the option +\important{\OptionValue{draft}{true}} activates small black boxes that are set +at the end of overly long lines. The boxes help the untrained eye to find +paragraphs that have to be treated manually. With the default +\OptionValue{draft}{false} option no such boxes are shown. Such overly long +lines often vanish using package +\Package{microtype}\IndexPackage{microtype}\important{\Package{microtype}} +\cite{package:microtype}. +\EndIndex{Option}{draft~=\PName{simple switch}}% % -\EndIndex{}{Entwurf} +\EndIndex{}{draft mode} -\fi % IgnoreThis +\fi %**************************************************** Ende nur maincls * %%% Local Variables: %%% mode: latex -%%% coding: iso-latin-1 +%%% coding: us-ascii %%% TeX-master: "../guide" %%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/common-3.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/common-3.tex index 7a44e1badac..4ab9ce77ef9 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/common-3.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/common-3.tex @@ -40,13 +40,15 @@ % % ---------------------------------------------------------------------- % -% Absätze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind +% Absaetze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind % Verwaltet von Markus Kohm % % ====================================================================== -\ProvidesFile{common-3.tex}[2009/01/04 KOMA-Script guide (common paragraphs)] -\translator{Gernot Hassenpflug} +\ProvidesFile{common-3.tex}[2012/05/15 KOMA-Script guide (common paragraphs)] +\translator{Markus Kohm\and Krickette Murabayashi} + +% Date of the translated german file: 2009/11/28 \makeatletter \@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}% @@ -56,36 +58,33 @@ \makeatother -\section{Seitenauf"|teilung} +\section{Page Layout} \label{sec:\csname label@base\endcsname.typearea} -\BeginIndex{}{Seitenaufteilung=Seitenauf~"~|teilung} +\BeginIndex{}{page>layout} -Eine Dokumentseite besteht aus unterschiedlichen Teilen, wie den Rändern, dem -Kopf, dem Fuß, dem Textbereich, einer Marginalienspalte und den Abständen -zwischen diesen Elementen. \KOMAScript{} unterscheidet dabei auch noch -zwischen der Gesamtseite oder dem Papier und der sichtbaren Seite. Ohne -Zweifel gehört die Auf"|teilung der Seite in diese unterschiedlichen Teile zu -den Grundfähigkeiten einer Klasse. Bei \KOMAScript{} wird diese Arbeit an das -Paket \Package{typearea} delegiert. Dieses Paket kann auch zusammen mit -anderen Klassen verwendet werden. Die \KOMAScript-Klassen laden -\Package{typearea} jedoch selbständig. Es ist daher weder notwendig noch -sinnvoll, das Paket bei Verwendung einer \KOMAScript-Klasse auch noch explizit -per \Macro{usepackage} zu laden. Siehe hierzu auch +Each page of a document is separated into several different layout elements, +e.\,g., margins, head, foot, text area, margin note column, and the distances +between all these elements. \KOMAScript{} additionally distinguishes the page +as a whole also known as the paper and the viewable area of the page. Without +doubt, the separation of the page into the several parts is one of the basic +features of a class. Nevertheless at \KOMAScript{} the classes delegate that +business to the package \Package{typearea}. This package may be used with other +classes too. In difference to those other classes the \KOMAScript{} classes +load \Package{typearea} on their own. Because of this, there's no need to load +the package explicitly with \Macro{usepackage} while using a \KOMAScript{} +class. Nor would this make sense or be useful. See also \autoref{sec:\csname label@base\endcsname.options}. -Einige Einstellungen der \KOMAScript{}-Klassen haben auch Auswirkungen auf die -Seitenauf"|teilung und umgekehrt. Diese Auswirkungen werden bei den -entsprechenden Einstellungen dokumentiert. - -Für die weitere Erklärung zur Wahl des Papierformats, der Auf"|teilung der Seite -in Ränder und Satzspiegel und die Wahl von ein- oder zweispaltigem Satz sei -auf die Anleitung des Pakets \Package{typearea} verwiesen. Diese ist in -\autoref{cha:typearea} ab \autopageref{cha:typearea} zu finden. - +Some settings of \KOMAScript{} classes do influence the page layout. Those +effects will be documented at the corresponding settings. +For more information about page size, separation of pages into margins and +type area, and about selection of one or two column typesetting see the +documentation of package \Package{typearea}. You may find it at +\autoref{cha:typearea} from \autopageref{cha:typearea} onwards. %%% Local Variables: %%% mode: latex -%%% coding: iso-latin-1 +%%% coding: us-ascii %%% TeX-master: "../guide" %%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/common-4.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/common-4.tex index 05676a29ddc..38c0e9e2730 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/common-4.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/common-4.tex @@ -40,13 +40,15 @@ % % ---------------------------------------------------------------------- % -% Absätze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind +% Absaetze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind % Verwaltet von Markus Kohm % % ====================================================================== -\ProvidesFile{common-4.tex}[2009/01/04 KOMA-Script guide (common paragraphs)] -\translator{Gernot Hassenpflug} +\ProvidesFile{common-4.tex}[2012/05/15 KOMA-Script guide (common paragraphs)] +\translator{Markus Kohm\and Krickette Murabayashi} + +% Date of the translated German file: 2011/09/05 \makeatletter \@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}% @@ -58,73 +60,63 @@ \label{sec:\csname label@base\endcsname.fontOptions} \ifshortversion\IgnoreThisfalse\IfCommon{scrextend}{\IgnoreThistrue}\fi% -\ifIgnoreThis% -Es gilt sinngemäß, was in \autoref{sec:maincls.fontOptions} geschrieben -wurde. -\else -\BeginIndex{}{Schrift>Groesse=Größe} +\ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nur scrextend + +What is described in \autoref{sec:maincls.fontOptions} applies, mutatis mutandis. +\else %--------------------------------------------------- nicht scrextend - +\BeginIndex{}{font>size} -Die Grundschrift und deren Größe sind zentrale Elemente der Gestaltung eines -Dokuments. Wie in \autoref{cha:typearea} ausgeführt wurde, hängt die -Auf"|teilung zwischen Satzspiegel und Rändern wesentlich davon ab. Die -Grundschrift ist dabei die Schrift, die für die Masse des Textes eines -Dokuments verwendet wird. Alle davon abweichenden Einstellungen, sei es in der -Form, der Dicke, der Neigung oder der Größe, stehen in einer Beziehung zur -Grundschrift. +The main document font size is one of the basic decisions for the document +layout. The maximum width of the text area, and therefore splitting the page +into text area and margins, depends on the font size as stated in +\autoref{cha:typearea}. The main document font will be used for most +of the text. All font variations either in mode, weight, declination, or size +should relate to the main document font. \begin{Declaration} - \KOption{fontsize}\PName{Größe} + \KOption{fontsize}\PName{size} \end{Declaration} -\BeginIndex{Option}{fontsize~=\PName{Größe}}% -Während von den Standardklassen und den meisten anderen Klassen nur eine sehr -beschränkte Anzahl an Schriftgrößen unterstützt wird, bietet \KOMAScript{} die -Möglichkeit, jede beliebige \PName{Größe} für die Grundschrift -anzugeben. Dabei kann als Einheit für die \PName{Größe} auch jede bekannte -\TeX-Einheit verwendet werden. Wird die \PName{Größe} ohne Einheit angegeben, -so wird \PValue{pt} als Einheit angenommen. \iffree{}{Das genaue Verfahren, - nach dem die Schriftgröße dann eingestellt wird, ist für Experten und - interessierte Anwender in \autoref{sec:maincls-experts.addInfos}, - \autopageref{desc:maincls-experts.option.fontsize} dokumentiert.} +\BeginIndex{Option}{fontsize~=\PName{size}}% +In contrast to the standard classes and most other classes that provide only +a very limited number of font sizes, the \KOMAScript{} classes offer the +feature of selection of any desired \PName{size} for the main document +font. In this context, any well known \TeX{} unit of measure may be used and +using a number without unit of measure means \PValue{pt}.\iffree{}{ More + information about font size selection for experts and interested users may + be found in \autoref{sec:maincls-experts.addInfos}, + \autopageref{desc:maincls-experts.option.fontsize}.} -Wird die Option innerhalb des Dokuments gesetzt, so werden ab diesem Punkt die -Grundschriftgröße und alle davon abhängigen Größen geändert. Das kann -beispielsweise dann nützlich sein, wenn % -\IfCommon{maincls}{der Anhang }% -\IfCommon{scrlttr2}{ein weiterer Brief }% -\IfCommon{scrextend}{der Anhang }% -insgesamt in einer kleineren Schriftgröße gesetzt werden soll. Es wird darauf -hingewiesen, dass bei Verwendung nach dem Laden der Klasse die Auf"|teilung -zwischen Satzspiegel und Rändern nicht automatisch neu berechnet wird (siehe -\Macro{recalctypearea}\IndexCmd{recalctypearea}, +If you use this option inside the document, the main document font size and +all dependent sizes will change from this point. This may be useful, e.\,g., if +\IfCommon{maincls}{the appendix }% +\IfCommon{scrlttr2}{one more letter }% +\IfCommon{scrextend}{the appendix }% +should be set using smaller fonts on the whole. It should be noted that +changing the main font size does not result in an automatic recalculation of +type area and margins (see \Macro{recalctypearea}\IndexCmd{recalctypearea}, \autoref{sec:typearea.options}, -\autopageref{desc:typearea.cmd.recalctypearea}). Wird diese Neuberechnung -jedoch vorgenommen, so erfolgt sie auf Basis der jeweils gültigen -Grundschriftgröße. Die Auswirkungen des Wechsels der Grundschriftgröße auf -zusätzlich geladene Pakete % -\IfCommon{scrextend}{oder die verwendete Klasse }% -sind von diesen Paketen % -\IfCommon{scrextend}{und der Klasse }% -abhängig. % -\IfCommon{maincls}{Es können also Fehler auf"|treten, die nicht als Fehler von - \KOMAScript{} angesehen werden.}% -\IfCommon{scrlttr2}{Dabei sind Fehler möglich, die nicht als Fehler von - \KOMAScript{} betrachtet werden.}% -\IfCommon{scrextend}{Es können also Fehler auf"|treten, die nicht als Fehler von - \KOMAScript{} angesehen werden.}% +\autopageref{desc:typearea.cmd.recalctypearea}). On the other hand, each +recalculation of type area and margins will be done on the basis of the +current main font size. The effects of changing the main font size to other +additionally loaded packages % +\IfCommon{scrextend}{or the used document class }% +depend on those packages% +\IfCommon{scrextend}{ and the class}% +. This may even result in error messages or typesetting errors, which cannot +be considered a fault of \KOMAScript. -Die Option sollte keinesfalls als Ersatz für \Macro{fontsize} (siehe -\cite{latex:fntguide}) missverstanden werden. Sie sollte auch nicht an Stelle -einer der von der Grundschrift abhängigen Schriftgrößenanweisungen, -\Macro{tiny} bis \Macro{Huge}, verwendet werden!% -\IfCommon{scrlttr2}{\ Voreingestellt ist bei \Class{scrlttr2} +This\textnote{Attention!} option is not intended to be a substitution for +\Macro{fontsize} (see \cite{latex:fntguide}). Also, you should not use it +instead of one of the main font depending font size commands \Macro{tiny} up +to \Macro{Huge}!% +\IfCommon{scrlttr2}{ Default at \Class{scrlttr2} is \OptionValue{fontsize}{12pt}.} -\fi % IgnoreThis +\fi %*********************************************** Ende nicht scrextend * %%% Local Variables: %%% mode: latex -%%% coding: iso-latin-1 +%%% coding: us-ascii %%% TeX-master: "../guide" %%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/common-5.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/common-5.tex index 52854624c72..dfbf6fd9aff 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/common-5.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/common-5.tex @@ -40,13 +40,15 @@ % % ---------------------------------------------------------------------- % -% Absätze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind +% Absaetze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind % Verwaltet von Markus Kohm % % ====================================================================== -\ProvidesFile{common-5.tex}[2009/01/04 KOMA-Script guide (common paragraphs)] -\translator{Gernot Hassenpflug} +\ProvidesFile{common-5.tex}[2012/05/15 KOMA-Script guide (common paragraphs)] +\translator{Gernot Hassenpflug\and Markus Kohm\and Krickette Murabayashi} + +% Date of the translated German file: 2012/01/01 \makeatletter \@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}% @@ -56,21 +58,22 @@ \makeatother -\section{Textauszeichnungen} +\section{Text Markup} \label{sec:\csname label@base\endcsname.textmarkup}% \ifshortversion\IgnoreThisfalse\IfCommon{scrlttr2}{\IgnoreThistrue}\fi% -\ifIgnoreThis% -Es gilt sinngemäß, was in \autoref{sec:maincls.textmarkup} geschrieben -wurde. Dabei sind Namen und Bedeutung der einzelnen Elemente in -\else -\BeginIndex{}{Text>Auszeichnung}% -\BeginIndex{}{Schriftart}% +\ifIgnoreThis %++++++++++++++++++++++++++++++++++++++++++++++ nur scrlttr2 + +What is described in +\autoref{sec:maincls.textmarkup} applies, mutatis mutandis. +\else %---------------------------------------------------- nicht scrlttr2 - +\BeginIndex{}{text>markup}% +\BeginIndex{}{font}% -\LaTeX{} verfügt über eine ganze Reihe von Anweisungen zur -Textauszeichnung. Neben der Wahl der Schriftart gehören dazu auch Befehle zur -Wahl einer Textgröße oder der Textausrichtung. Näheres zu den normalerweise -definierten Möglichkeiten ist \cite{l2kurz}, \cite{latex:usrguide} und -\cite{latex:fntguide} zu entnehmen. +{\LaTeX} offers different possibilities for logical and direct +markup\Index{logical markup}\Index{markup} of text. +Selection of the +font family commands, as well as choosing the font size and width is +supported. More information about the standard font facilities may be found at +\cite{lshort}, \cite{latex:usrguide}, and \cite{latex:fntguide}. \begin{Declaration} @@ -79,65 +82,74 @@ definierten M \end{Declaration} \BeginIndex{Cmd}{textsubscript}% \BeginIndex{Cmd}{textsuperscript}% -Im \LaTeX-Kern ist bereits die Anweisung -\Macro{textsuperscript}\IndexCmd{textsuperscript} definiert, mit der -\PName{Text} höher gestellt werden kann. Leider bietet \LaTeX{} selbst keine -entsprechende Anweisung, um Text tief\Index{Tiefstellung} statt -hoch\Index{Hochstellung} zu stellen. \KOMAScript{} definiert dafür -\Macro{textsubscript}. % -\IfCommon{scrlttr2}{Ein Anwendungsbeispiel finden Sie in +The \LaTeX-Kern already defines the command +\Macro{textsuperscript}\IndexCmd{textsuperscript} to +superscript\Index{text>superscript}\Index{superscript} text. Unfortunately, +{\LaTeX} itself does not offer a command to produce text in +subscript\Index{text>subscript}\Index{subscript} instead of +superscript\Index{text>superscript}\Index{superscript}. {\KOMAScript} +defines \Macro{textsubscript} for this purpose. + +\IfCommon{scrlttr2}{You may find an example of usage at \autoref{sec:maincls.textmarkup}, \autopageref{desc:maincls.textsubscript.example}.} -\IfCommon{scrextend}{Ein Anwendungsbeispiel finden Sie in +\IfCommon{scrextend}{You may find an example of usage at \autoref{sec:maincls.textmarkup}, \autopageref{desc:maincls.textsubscript.example}.} % \ifCommonmaincls \begin{Example} \phantomsection\label{desc:maincls.textsubscript.example}% - Sie schreiben einen Text über den menschlichen Stoffwechsel. Darin kommen - hin und wieder einfache chemische Summenformeln vor. Dabei sind einzelne - Ziffern tief zu stellen. Im Sinne des logischen Markups definieren Sie - zunächst in der Dokumentpräambel oder einem eigenen Paket: - \begin{lstcode} - \newcommand*{\Molek}[2]{#1\textsubscript{#2}} - \end{lstcode} - \newcommand*{\Molek}[2]{#1\textsubscript{#2}}% - Damit schreiben Sie dann: - \begin{lstcode} - Die Zelle bezieht ihre Energie unter anderem aus der - Reaktion von \Molek C6\Molek H{12}\Molek O6 und - \Molek O2 zu \Molek H2\Molek O{} und - \Molek C{}\Molek O2. Arsen (\Molek{As}{}) wirkt sich - allerdings auf den Stoffwechsel sehr nachteilig aus. - \end{lstcode} - Das Ergebnis sieht daraufhin so aus: + You are writing a text on human metabolism. From time to time you + have to give some simple chemical formulas in which the numbers are + in subscript. For enabling logical markup you first define in the + document preamble or in a separate package: +\begin{lstcode} + \newcommand*{\molec}[2]{#1\textsubscript{#2}} +\end{lstcode} + \newcommand*{\molec}[2]{#1\textsubscript{#2}} + Using this you then write: +\begin{lstcode} + The cell produces its energy partly from reaction of \molec C6\molec + H{12}\molec O6 and \molec O2 to produce \molec H2\Molec O{} and + \molec C{}\molec O2. However, arsenic (\molec{As}{}) has a quite + detrimental effect on the metabolism. +\end{lstcode} + The output looks as follows: \begin{ShowOutput} - Die Zelle bezieht ihre Energie unter anderem aus der Reaktion von - \Molek C6\Molek H{12}\Molek O6 und \Molek O2 zu \Molek H2\Molek - O{} und \Molek C{}\Molek O2. Arsen (\Molek{As}{}) wirkt sich - allerdings auf den Stoffwechsel sehr nachteilig aus. + The cell produces its energy from reaction of \molec C6\molec + H{12}\molec O6 and \molec O2 to produce \molec H2\molec O{} and + \molec C{}\molec O2. However, arsenic (\molec{As}{}) has a quite + detrimental effect on the metabolism. \end{ShowOutput} - Etwas später entscheiden Sie, dass Summenformeln grundsätzlich serifenlos - geschrieben werden sollen. Nun zeigt sich, wie gut die Entscheidung für - konsequentes logisches Markup war. Sie müssen nur die - \Macro{Molek}-Anweisung umdefinieren: - \begin{lstcode} - \newcommand*{\Molek}[2]{% - \textsf{#1\textsubscript{#2}}% - } - \end{lstcode} - \renewcommand*{\Molek}[2]{\textsf{#1\textsubscript{#2}}}% - Schon ändert sich die Ausgabe im gesamten Dokument: + Some time later you decide that the chemical formulas should be + typeset in sans serif. Now you can see the advantages of using + logical markup. You only have the redefine the \Macro{molec} + command: +\begin{lstcode} + \newcommand*{\molec}[2]{\textsf{#1\textsubscript{#2}}} +\end{lstcode} + \renewcommand*{\molec}[2]{\textsf{#1\textsubscript{#2}}} + Now the output in the whole document changes to: \begin{ShowOutput} - Die Zelle bezieht ihr Energie unter anderem aus der Reaktion von - \Molek C6\Molek H{12}\Molek O6 und \Molek O2 zu \Molek H2\Molek - O{} und \Molek C{}\Molek O2. Arsen (\Molek{As}{}) wirkt sich - allerdings auf den Stoffwechsel sehr nachteilig aus. + The cell produces its energy partly from reaction of \molec + C6\molec H{12}\molec O6 and \molec O2 to produce \molec H2\molec + O{} and \molec C{}\molec O2. However, arsenic (\molec{As}{}) has + a quite detrimental effect on the metabolism. \end{ShowOutput} \end{Example} -\iffalse % vielleicht in einer späteren Auf-lage -Für Experten ist in \autoref{sec:experts.knowhow}, +\iftrue +\begin{Explain} + In the example above, the notation ``\verb|\molec C6|'' is used. This + makes use of the fact that arguments consisting of only one + character do not have to be enclosed in parentheses. That is why + ``\verb|\molec C6|'' is similar to ``\verb|\molec{C}{6}|''. You + might already know this from indices or powers in mathematical + environments, such as ``\verb|$x^2$|'' instead of ``\verb|$x^{2}$|'' + for ``$x^2$''. +\end{Explain} +\else % vielleicht in einer spaeteren Auflage +F\"ur Experten ist in \autoref{sec:experts.knowhow}, \autopageref{desc:experts.macroargs} dokumentiert, warum das Beispiel funktioniert, obwohl teilweise die Argumente von \Macro{Molek} nicht in geschweifte Klammern gesetzt wurden.% @@ -149,64 +161,53 @@ geschweifte Klammern gesetzt wurden.% \begin{Declaration} - \Macro{setkomafont}\Parameter{Element}\Parameter{Befehle}\\ - \Macro{addtokomafont}\Parameter{Element}\Parameter{Befehle}\\ - \Macro{usekomafont}\Parameter{Element} + \Macro{setkomafont}\Parameter{element}\Parameter{commands}\\ + \Macro{addtokomafont}\Parameter{element}\Parameter{commands}\\ + \Macro{usekomafont}\Parameter{element} \end{Declaration}% \BeginIndex{Cmd}{setkomafont}% \BeginIndex{Cmd}{addtokomafont}% \BeginIndex{Cmd}{usekomafont}% -Mit\ChangedAt{v2.8p}{% - \Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}} Hilfe der beiden -Anweisungen \Macro{setkomafont} und \Macro{addtokomafont} ist es möglich, die -\PName{Befehle} festzulegen, mit denen die Schrift eines bestimmten -\PName{Element}s umgeschaltet wird. Theoretisch könnten als \PName{Befehle} -alle möglichen Anweisungen einschließlich Textausgaben verwendet werden. Sie -sollten sich jedoch unbedingt auf solche Anweisungen beschränken, mit denen -wirklich nur ein Schriftattribut umgeschaltet wird. In der Regel werden dies -die Befehle \Macro{normalfont}, \Macro{rmfamily}, \Macro{sffamily}, +With\ChangedAt{v2.8p}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} the help of the two commands \Macro{setkomafont} and +\Macro{addtokomafont}, it is possible to define the \PName{commands} that +change the characteristics of a given \PName{element}. Theoretically, all +possible statements including literal text could be used as \PName{commands}. +You should\textnote{Attention!}, however, absolutely limit yourself to those +statements that really switch only one font attribute. This will usually be +the commands \Macro{normalfont}, \Macro{rmfamily}, \Macro{sffamily}, \Macro{ttfamily}, \Macro{mdseries}, \Macro{bfseries}, \Macro{upshape}, -\Macro{itshape}, \Macro{slshape}, \Macro{scshape} sowie die Größenbefehle -\Macro{Huge}, \Macro{huge}, \Macro{LARGE}, \Macro{Large}, \Macro{large}, -\Macro{normalsize}, \Macro{small}, \Macro{footnotesize} und \Macro{tiny} -sein. Die Erklärung zu diesen Befehlen entnehmen Sie bitte \cite{l2kurz}, -\cite{latex:usrguide} oder \cite{latex:fntguide}. Auch Farbumschaltungen wie -\Macro{normalcolor} sind möglich (siehe \cite{package:graphics} und -\cite{package:xcolor}). -\iffalse % Umbruchkorrekturtext -Das Verhalten bei Verwendung anderer Anweisungen, -inbesondere solcher, die zu Umdefinierungen führen oder Ausgaben tätigen, ist -nicht definiert. Seltsames Verhalten ist möglich und stellt keinen Fehler dar. -\else -Die Verwendung anderer Anweisungen, inbesondere -solcher, die Umdefinierungen vornehmen oder zu Ausgaben führen, ist nicht -vorgesehen. Seltsames Verhalten ist in diesen Fällen möglich und stellt -keinen Fehler dar. -\fi +\Macro{itshape}, \Macro{slshape}, and \Macro{scshape}, as well as the font size +commands \Macro{Huge}, \Macro{huge}, \Macro{LARGE}, \Macro{Large}, +\Macro{large}, \Macro{normalsize}, \Macro{small}, \Macro{footnotesize}, +\Macro{scriptsize}, and \Macro{tiny}. The description of these commands can be +found in \cite{lshort}, \cite{latex:usrguide}, or \cite{latex:fntguide}. Color +switching commands like \Macro{normalcolor} (see \cite{package:graphics} and +\cite{package:xcolor}) are also acceptable. The behavior when using other +commands, especially those that make redefinitions or generate output, is not +defined. Strange behavior is possible and does not represent a bug. -Mit \Macro{setkomafont} wird die Schriftumschaltung eines Elements mit einer -völlig neuen Definition versehen. Demgegenüber wird mit \Macro{addtokomafont} -die existierende Definition lediglich erweitert. Es wird empfohlen, beide -Anweisungen nicht innerhalb des Dokuments, sondern nur in der Dokumentpräambel -zu verwenden. Beispiele für die Verwendung entnehmen Sie bitte den Abschnitten -zu den jeweiligen Elementen. Namen und Bedeutung der einzelnen Elemente sind -in % -\fi % IgnoreThis +The command \Macro{setkomafont } provides a font switching command with a +completely new definition. In contrast to this, the \Macro{addtokomafont} +command merely extends an existing definition. It is recommended to not use +both commands inside the document body, but only in the document preamble. +Usage examples can be found in the paragraphs on the corresponding element. +\fi %************************************************* Ende nicht scrlttr2 * +Names and meanings of the individual items are listed in % \IfNotCommon{scrextend}{\autoref{tab:\csname - label@base\endcsname.elementsWithoutText} }% + label@base\endcsname.elementsWithoutText}}% \IfCommon{scrextend}{\autoref{tab:maincls.elementsWithoutText}, - \autopageref{tab:maincls.elementsWithoutText} }% -aufgelistet. % -\IfCommon{scrextend}{Allerdings werden davon in \Package{scrextend} nur die - Elemente für den Dokumenttitel, den schlauen Spruch und die Fußnoten - behandelt. Das Element \FontElement{disposition} ist zwar auch verfügbar, - wird jedoch von \Package{scrextend} ebenfalls nur für den Dokumenttitel - verwendet. }% -Die Voreinstellungen sind den jeweiligen Abschnitten zu entnehmen. - + \autopageref{tab:maincls.elementsWithoutText}}% +. % +\IfCommon{scrextend}{However only the listed elements for the document title, + dicta, footnotes, and the \Environment{labeling} environment are + supported. Though element \FontElement{disposition} exists, it will also be + used for the document title only. This has been done for compatibility with + the \KOMAScript{} classes. }% +The default values are shown in the corresponding paragraphs. %%% Local Variables: %%% mode: latex -%%% coding: iso-latin-1 +%%% coding: us-ascii %%% TeX-master: "../guide" %%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/common-6.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/common-6.tex index 0ba42ca00b1..06051e8a95a 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/common-6.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/common-6.tex @@ -40,13 +40,15 @@ % % ---------------------------------------------------------------------- % -% Absätze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind +% Absaetze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind % Verwaltet von Markus Kohm % % ====================================================================== -\ProvidesFile{common-6.tex}[2009/01/04 KOMA-Script guide (common paragraphs)] -\translator{Gernot Hassenpflug} +\ProvidesFile{common-6.tex}[2012/05/15 KOMA-Script guide (common paragraphs)] +\translator{Gernot Hassenpflug\and Markus Kohm\and Krickette Murabayashi} + +% Date of the translated German file: 2012/01/01 \makeatletter \@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}% @@ -56,171 +58,185 @@ \makeatother -\section{Absatzauszeichnung} +\section{Paragraph Markup} \label{sec:\csname label@base\endcsname.parmarkup}% \ifshortversion\IgnoreThisfalse\IfNotCommon{maincls}{\IgnoreThistrue}\fi% -\ifIgnoreThis\else -\BeginIndex{}{Absatz>Auszeichnung}% +\ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + +\else %------------------------------------------------------- nur maincls - +\BeginIndex{}{paragraph>markup}% \IfCommon{maincls}{% - Die Standardklassen setzen Absätze\Index[indexmain]{Absatz} normalerweise - mit Absatzeinzug und ohne Absatzabstand. Bei Verwendung eines normalen - Satzspiegels, wie ihn \Package{typearea} bietet, ist dies die - vorteilhafteste Absatzauszeichnung. Würde man ohne Einzug und Abstand - arbeiten, hätte der Leser als Anhaltspunkt nur die Länge der letzten Zeile. - Im Extremfall kann es sehr schwer sein, zu erkennen, ob eine Zeile voll ist - oder nicht. Des Weiteren stellt der Typograf fest, dass die Auszeichnung des - Absatzendes am Anfang der nächsten Zeile leicht vergessen ist. Demgegenüber - ist eine Auszeichnung am Absatzanfang einprägsamer. Der Absatzabstand hat - den Nachteil, dass er in verschiedenem Zusammenhang leicht verloren geht. So - wäre nach einer abgesetzten Formel nicht mehr festzustellen, ob der Absatz - fortgesetzt wird oder ein neuer beginnt. Auch am Seitenanfang müsste - zurückgeblättert werden, um feststellen zu können, ob mit der Seite auch ein - neuer Absatz beginnt. All diese Probleme sind beim Absatzeinzug nicht - gegeben. Eine Kombination von Absatzeinzug und Absatzabstand ist wegen der - übertriebenen Redundanz abzulehnen. Der Einzug\Index[indexmain]{Einzug} - alleine ist deutlich genug. Der einzige Nachteil des Absatzeinzugs liegt in - der Verkürzung der Zeile. Damit gewinnt der - Absatzabstand\Index{Absatz>Abstand} bei ohnehin kurzen Zeilen, etwa im - Zeitungssatz, seine Berechtigung.}% -\fi% IgnoreThis + The\textnote{paragraph indent vs. paragraph spacing} standard classes + normally set paragraphs\Index[indexmain]{paragraph} indented and without any + vertical inter-paragraph space. This is the best solution when using a + regular page layout, like the ones produced with the \Package{typearea} + package. If neither indentation nor vertical space is used, only the length + of the last line would give the reader a reference point. In extreme cases, + it is very difficult to detect whether a line is full or not. Furthermore, + it is found that a marker at the paragraph's end tends to be easily + forgotten by the start of the next line. A marker at the paragraph's + beginning is more easily remembered. Inter-paragraph spacing has the + drawback of disappearing in some contexts. For instance, after a displayed + formula it would be impossible to detect if the previous paragraph continues + or if a new one begins. Also, when starting to read at the top of a new page + it might be necessary to look at the previous page in order determine if a + new paragraph has been started or not. All these problems disappear when + using indentation. A combination of indentation and vertical inter-paragraph + spacing is extremely redundant and therefore should be avoided. The + indentation\Index[indexmain]{indentation} is perfectly sufficient by + itself. The only drawback of indentation is the reduction of the line + length. The use of inter-paragraph spacing\Index{paragraph>spacing} is + therefore justified when using short lines, for instance in a newspaper.}% +\fi %**************************************************** Ende nur maincls * \IfCommon{scrlttr2}{% - In der Einleitung zu \autoref{sec:maincls.parmarkup} ab - \autopageref{sec:maincls.parmarkup} wird dargelegt, warum der Absatzeinzug - gegenüber dem Absatzabstand vorzuziehen ist. Die Elemente, auf die sich - diese Argumente beziehen, beispielsweise Abbildungen, Tabellen, Listen, - abgesetzte Formeln und auch neue Seiten, sind in Standardbriefen eher - selten. Auch sind Briefe normalerweise nicht so umfänglich, dass ein nicht - erkannter Absatz sich schwerwiegend auf die Lesbarkeit auswirkt. Die - Argumente sind daher bei Standardbriefen eher schwach. Dies dürfte ein Grund - dafür sein, dass der Absatzabstand bei Briefen eher gebräuchlich ist. Es - bleiben damit für Standardbriefe im Wesentlichen zwei Vorteile des - Absatzeinzugs. Zum einen hebt sich ein solcher Brief aus der Masse hervor - und zum anderen durchbricht man damit nicht nur für Briefe das einheitliche - Erscheinungsbild aller Dokumente aus einer Quelle, die so genannte - \emph{Corporate Identity}.}% -\ifIgnoreThis% -\IfCommon{scrlttr2}{\ Von dieser Unterscheidung gegenüber den anderen - \KOMAScript-Klassen abgesehen gilt, was in \autoref{sec:maincls.parmarkup} - geschrieben wurde.} -\else + In the preliminaries of \autoref{sec:maincls.parmarkup}, + \autopageref{sec:maincls.parmarkup} it was argued why paragraph indent is + preferred over paragraph spacing. But the elements the argumentation depends on, + i.\,e., figures, tables, lists, equations, and even new pages, + are rare. Often letters are not so long that an oversighted paragraph will + have serious consequences to the readability of the document. Because of + this, the arguments are less serious for standard letters. This may be one + reason that in letters you often encounter paragraphs marked not with + indentation of the first line, but with a vertical skip between + them. But there may be still some advantages of the paragraph indent. One + may be that such a letter is highlighted in the mass of letters. Another may + be that the \emph{corporate identity} needn't be broken for letters only.}% +\ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + +\IfCommon{scrlttr2}{Apart from these suggestions, everything that has been + written at \autoref{sec:maincls.parmarkup} for the other \KOMAScript{} + classes is valid for letters too.} +\else %------------------------------------------------------- nur maincls - \begin{Declaration} - \KOption{parskip}\PName{Abstandsart} + \KOption{parskip}\PName{manner} \end{Declaration} -\BeginIndex{Option}{parskip~=\PName{Methode}}% +\BeginIndex{Option}{parskip~=\PName{manner}}% \IfCommon{maincls}{% - Hin und wieder wird ein Layout mit Absatzabstand an Stelle des - voreingestellten Absatzeinzugs gefordert. Die \KOMAScript-Klassen bietet mit - der Option \Option{parskip}\ChangedAt{v3.00}{\Class{scrbook}\and - \Class{scrreprt}\and \Class{scrartcl}} }% -\IfCommon{scrlttr2}{Bei Briefen findet man häufiger ein Layout mit - Absatzabstand an Stelle des voreingestellten Absatzeinzugs. Die - \KOMAScript-Klasse \Class{scrlttr2} bietet mit der Option \Option{parskip} -}% -eine Reihe von Möglichkeiten, um dies -zu erreichen. Die \PName{Methode} setzt sich dabei aus zwei Teilen -zusammen. Der erste Teil ist entweder \PValue{full} oder \PValue{half}, wobei -\PValue{full} für einen Absatzabstand von einer Zeile und \PValue{half} für -einen Absatzabstand von einer halben Zeile steht. Der zweite Teil ist eines -%der Zeichen »\PValue{*}«, »\PValue{+}«, »\PValue{-}« und kann auch -entfallen. Lässt man das Zeichen weg, so wird in der letzten Zeile des -Absatzes am Ende mindestens ein Geviert, das ist 1\Unit{em}, frei gelassen. -Mit dem Pluszeichen wird am Zeilenende mindestens ein Drittel und mit dem -Stern mindestens ein Viertel einer normalen Zeile frei gelassen. Mit der -Minus-Variante werden keine Vorkehrungen für die letzte Zeile eines Absatzes -getroffen. + Once in a while there are requests for a document layout with vertical + inter-paragraph spacing instead of indentation. The \KOMAScript{} classes + provide with option \Option{parskip}\ChangedAt{v3.00}{\Class{scrbook}\and + \Class{scrreprt}\and \Class{scrartcl}} several capabilities to use + inter-paragraph spacing instead of paragraph indent.} +\IfCommon{scrlttr2}{% + Especially in letters you often encounter paragraphs marked not with + indentation of the first line, but with a vertical skip between + them. \KOMAScript{} class \Class{scrlttr2} provides several capabilities for + this.} + +The \PName{manner} consists of two elements. The first element is either +\PValue{full} or \PValue{half}, meaning the space amount of one line or only +half of a line. The second element is ``\PValue{*}'', ``\PValue{+}'', or +``\PValue{-}'', and may be omitted. Without the second element the last line of +a paragraph will end with white space of at least 1\Unit{em}. With the plus +character as second element the white space amount will be a third, and with +the asterisk a fourth, of the width of a normal line. The minus variant doesn't +take care about the white space at the end of the last line of a paragraph. + +The setting may be changed at any place inside the document. In this case the +command \Macro{selectfont}\IndexCmd{selectfont}% +\IfCommon{maincls}{\ChangedAt{v3.08}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}}}\IfCommon{scrlttr2}{\ChangedAt{v3.08}{\Class{scrlttr2}}} +will be called implicitly. The change will be valid and may be seen from the +next paragraph. -Neben den sich so ergebenden acht Kombinationen ist es noch möglich, als -\PName{Methode} die Werte für einfache Schalter aus -\autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch} zu -verwenden. Das Einschalten der Option entspricht dabei \PValue{full} ohne -angehängtes Zeichen für den Freiraum der letzten Absatzzeile, also mit -mindestens einem Geviert Freiraum am Ende des Absatzes. Das Ausschalten der -Option schaltet hingegen wieder auf Absatzeinzug von einem Geviert um. Dabei -darf die letzte Zeile eines Absatzes auch bis zum rechten Rand reichen. Einen -Überblick über alle möglichen Werte für \PName{Methode} bietet -\autoref{tab:maincls.parskip}% -\IfCommon{scrlttr2}{auf \autopageref{tab:maincls.parskip}}% +Besides the resulting eight possible combinations for \PName{manner}, the values +for simple switches shown at \autoref{tab:truefalseswitch}, +\autopageref{tab:truefalseswitch} may be used. Switching on the option would +be the same as using \PValue{full} without annex and therefore will result in +inter-paragraph spacing of one line with at least 1\Unit{em} white space at +the end of the last line of each paragraph. Switching off the options would +reactivate the default of 1\Unit{em} indent at the first line of the +paragraph instead of paragraph spacing. All the possible values of option +\Option{parskip} are shown in \autoref{tab:maincls.parskip}% +\IfCommon{scrlttr2}{ at \autopageref{tab:maincls.parskip}}% . \IfCommon{maincls}{% -\begin{desctable} - \caption[{Mögliche Werte für Option \Option{parskip}}]{Mögliche Werte für - Option \Option{parskip} zur Auswahl der Kennzeichnung von - Absätzen\label{tab:maincls.parskip}}\\ - \Endfirsthead% - \caption[]{Mögliche Werte für Option \Option{parskip} - (\emph{Fortsetzung})}\\ - \Endhead% - \standardfoot% + \begin{desclist} + % Umbruchkorrektur + \vskip-\ht\strutbox + \renewcommand{\abovecaptionskipcorrection}{-\normalbaselineskip}% +% \begin{table} + \desccaption +% \caption + [{Possible values of option \Option{parskip}}]{% + Possible values of option \Option{parskip} to select + the paragraph mark\label{tab:maincls.parskip}% + }% + {% + Possible values of option \Option{parskip} (\emph{continuation})% + }% + % \begin{desctabular} \entry{\PValue{false}, \PValue{off}, \PValue{no}% - \IndexOption{parskip~=false}}{% - Absätze werden durch einen Einzug der ersten Zeilen von einem Geviert - (1\Unit{em}) gekennzeichnet. Der erste Absatz eines Abschnitts wird nicht - eingezogen.}% + \IndexOption{parskip~=\PValue{false}}}{% + paragraph indentation instead of vertical space; the last line of a + paragraph may be arbitrarily filled}% \entry{\PValue{full}, \PValue{true}, \PValue{on}, \PValue{yes}% - \IndexOption{parskip~=full}% + \IndexOption{parskip~=\PValue{full}}% }{% - Absätze werden durch einen vertikalen Abstand von einer Zeile - gekennzeichnet, Absatzenden durch einen Leerraum von mind. ein - Geviert (1\Unit{em}) der Grundschrift am Ende der letzten Zeile.}% + one line vertical space between paragraphs; there must be at least + 1\Unit{em} free space in the last line of a paragraph}% \pventry{full-}{% - Absätze werden durch einen vertikalen Abstand von einer Zeile - gekennzeichnet. Absatzenden werden nicht - gekennzeichnet.\IndexOption{parskip~=full-}}% + one line vertical space between paragraphs; the last line of a paragraph + may be arbitrarily filled\IndexOption{parskip~=\PValue{full-}}}% \pventry{full+}{% - \looseness=-1 - Absätze werden durch einen vertikalen Abstand von einer Zeile - gekennzeichnet. Absatzenden werden durch einen Leerraum von mind. einem - Viertel einer normalen Zeile gekennzeichnet.\IndexOption{parskip~=full+}}% + one line vertical space between paragraphs; there must be at least a third + of a line free space at the end of a + paragraph\IndexOption{parskip~=\PValue{full+}}}% \pventry{full*}{% - Absätze werden durch einen vertikalen Abstand von einer Zeile - gekennzeichnet. Absatzenden werden durch einen Leerraum von mind. einem - Drittel einer normalen Zeile gekennzeichnet.\IndexOption{parskip~=full*}}% + one line vertical space between paragraphs; there must be at least a + quarter of a line free space at the end of a + paragraph\IndexOption{parskip~=\PValue{full*}}}% \pventry{half}{% - Absätze werden durch einen vertikalen Abstand von einer halben Zeile - gekennzeichnet. Absatzenden durch einen Leerraum von mind. ein Geviert - (1\Unit{em}) der normalen Schrift am Ende - gekennzeichnet.\IndexOption{parskip~=half}}% + half a line vertical space between paragraphs; there must be at least + 1\Unit{em} free space in the last line of a + paragraph\IndexOption{parskip~=\PValue{half}}}% \pventry{half-}{% - Absätze werden durch einen vertikalen Abstand von einer halben Zeile - gekennzeichnet. Absatzenden werden nicht - gekennzeichnet.\IndexOption{parskip~=half-}}% + one line vertical space between + paragraphs\IndexOption{parskip~=\PValue{half-}}}% \pventry{half+}{% - Absätze werden durch einen vertikalen Abstand von einer halben Zeile - gekennzeichnet. Absatzenden werden durch einen Leerraum von mind. einem - Viertel einer normalen Zeile gekennzeichnet.\IndexOption{parskip~=half+}}% + half a line vertical space between paragraphs; there must be at least a + third of a line free space at the end of a + paragraph\IndexOption{parskip~=\PValue{half+}}}% \pventry{half*}{% - Absätze werden durch einen vertikalen Abstand von einer Zeile - gekennzeichnet. Absatzenden werden durch einen Leerraum von mind. einem - Drittel einer normalen Zeile gekennzeichnet.\IndexOption{parskip~=half*}}% -\end{desctable}} + half a line vertical space between paragraphs; there must be at least a + quarter of a line free space at the end of a + paragraph\IndexOption{parskip~=\PValue{half+}}}% + \pventry{never}{% + there \IfCommon{maincls}{\ChangedAt{v3.08}{\Class{scrbook}\and + \Class{scrreprt}\and \Class{scrartcl}}}% + \IfCommon{scrlttr2}{\ChangedAt{v3.08}{\Class{scrlttr2}}}% + will be no inter-paragraph spacing even if additional vertical spacing is + needed for the vertical adjustment with + \Macro{flushbottom}\IndexCmd{flushbottom}% + \IndexOption{parskip~=\PValue{never}}}% +% \end{desctabular} +% \end{table}% +\end{desclist}% +} -Wird ein Absatzabstand verwendet, so verändert sich auch der Abstand vor, nach -und innerhalb von Listenumgebungen. Dadurch wird verhindert, dass diese -Umgebungen oder Absätze innerhalb dieser Umgebungen stärker vom Text abgesetzt -werden als die Absätze des normalen Textes voneinander.% -\IfCommon{maincls}{ Inhalts"~, Abbildungs"~ und Tabellenverzeichnis werden - immer ohne zusätzlichen Absatzabstand gesetzt.}% -\IfCommon{scrlttr2}{% Umbruchkorrekturtext - \iffalse% - \ Verschiedene Elemente des Briefbogens werden immer ohne Absatzabstand - gesetzt.% - \fi}% +All\textnote{Attention!} eight \PValue{full} and \PValue{half} option values +also change the spacing before, after, and inside list environments. This +avoids the problem of these environments or the paragraphs inside them having +a larger separation than the separation between the paragraphs of normal text. +\IfCommon{maincls}{Additionally, these options ensure that the table of + contents and the lists of figures and tables are set without any additional + spacing.}% +\IfCommon{scrlttr2}{Several element of the first letter page will be set + without inter-paragraph spacing always.} -Voreingestellt ist bei \KOMAScript{} das Verhalten -\OptionValue{parskip}{false}. Hierbei gibt es keinen Absatzabstand, sondern -einen Absatzeinzug von 1\Unit{em}.% +The default behaviour of {\KOMAScript} follows +\OptionValue{parskip}{false}. In this case, there is no spacing between +paragraphs, only an indentation of the first line by 1\Unit{em}.% % -\EndIndex{Option}{parskip~=\PName{Methode}}% +\EndIndex{Option}{parskip~=\PName{manner}}% % -\EndIndex{}{Absatz>Auszeichnung} -\fi % IgnoreThis +\EndIndex{}{paragraph>markup} +\fi %**************************************************** Ende nur maincls * %%% Local Variables: %%% mode: latex -%%% coding: iso-latin-1 +%%% coding: us-ascii %%% TeX-master: "../guide" %%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/common-7.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/common-7.tex index c68fad12738..aeef2455ac2 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/common-7.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/common-7.tex @@ -40,13 +40,15 @@ % % ---------------------------------------------------------------------- % -% Absätze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind +% Absaetze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind % Verwaltet von Markus Kohm % % ====================================================================== -\ProvidesFile{common-7.tex}[2009/01/04 KOMA-Script guide (common paragraphs)] -\translator{Gernot Hassenpflug} +\ProvidesFile{common-7.tex}[2012/05/15 KOMA-Script guide (common paragraphs)] +\translator{Markus Kohm\and Krickette Murabayashi} + +% Date of translated German file: 2011/08/26 \makeatletter \@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}% @@ -56,82 +58,79 @@ \makeatother -\section{Erkennung von rechten und linken Seiten} +\section{Detection of Odd and Even Pages} \label{sec:\csname label@base\endcsname.oddOrEven}% \ifshortversion\IgnoreThisfalse\IfNotCommon{maincls}{\IgnoreThistrue}\fi% -\ifIgnoreThis% -Es gilt sinngemäß, was in \autoref{sec:maincls.oddOrEven} geschrieben -wurde. -\else -\BeginIndex{}{Seite>gerade}% -\BeginIndex{}{Seite>ungerade}% +\ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + +What is described in +\autoref{sec:maincls.oddOrEven} applies, mutatis mutandis. +\else %------------------------------------------------------- nur maincls - +\BeginIndex{}{page>odd}% +\BeginIndex{}{page>even}% -Bei doppelseitigen Dokumenten wird zwischen linken und rechten Seiten -unterschieden. Dabei hat eine linke Seite immer eine gerade Nummer und eine -rechte Seite immer eine ungerade Nummer. % -\IfCommon{maincls}{Die Erkennung von rechten und linken Seiten ist damit - gleichbedeutend mit der Erkennung von Seiten mit gerader oder ungerader - Nummer. In \iffree{dieser Anleitung}{diesem Buch} ist vereinfachend von - ungeraden und geraden Seiten die Rede.% +In double-sided documents we distinguish left and right pages. Left pages +always have an even page number, right pages always have an odd page +number. % For this they are mostly called even and odd pages so they + % are +Thus, they are most often referred to as even and odd pages +in this +\iffree{guide}{book}. % +\IfCommon{maincls}{This also means that the detection + of a left or right page is same as detection of even and odd page + numbers. % Umbruchkorrekturtext \iftrue% - Bei einseitigen Dokumenten existiert die Unterscheidung zwischen linken und - rechten Seiten nicht. Dennoch gibt es natürlich auch bei einseitigen - Dokumenten sowohl Seiten mit gerader als auch Seiten mit ungerader Nummer.% + There's no distinction in left and right pages in single-sided + documents. Nevertheless there are pages with even or odd page numbers.% \fi}% -\IfCommon{scrlttr2}{In der Regel werden Briefe einseitig -gesetzt. Sollen Briefe mit einseitigem Layout jedoch auf Vorder- und Rückseite -gedruckt, oder ausnahmsweise tatsächlich doppelseitige Briefe erstellt werden, -kann unter Umständen das Wissen, ob man sich auf einer Vorder- oder einer -Rückseite befindet, nützlich sein.}% +\IfCommon{scrlttr2}{Letters will be set single-side mostly. Nevertheless, + printing letters with single-side layout using both paper sides or + exceptionally generating real double-side letters it may be useful to know + whether producing currently an even or odd page.}% \begin{Declaration} - \Macro{ifthispageodd}\Parameter{Dann-Teil}\Parameter{Sonst-Teil} + \Macro{ifthispageodd}\Parameter{true part}\Parameter{false part} \end{Declaration}% \BeginIndex{Cmd}{ifthispageodd}% -Will man bei \KOMAScript{} feststellen, ob ein Text auf einer geraden oder -einer ungeraden Seite ausgegeben wird, so verwendet man die Anweisung -\Macro{ifthispageodd}. Dabei wird das Argument \PName{Dann-Teil} nur dann -ausgeführt, wenn man sich gerade auf einer ungeraden Seite -befindet. Anderenfalls kommt das Argument \PName{Sonst-Teil} zur Anwendung. +If one wants to find out with {\KOMAScript} whether a text falls on an +even or odd page, one can use the \Macro {ifthispageodd} command. The +\PName{true part} argument is executed only if the command falls on an odd +page. Otherwise the \PName{false part} argument is executed. \begin{Example} - Angenommen, Sie wollen einfach nur ausgeben, ob ein Text auf einer geraden - oder ungeraden Seite ausgegeben wird. Sie könnten dann beispielsweise mit - der Eingabe - \begin{lstcode} - Dies ist eine Seite mit \ifthispageodd{un}{}gerader - Seitenzahl. - \end{lstcode} - die Ausgabe + Assume that you simply want to show whether a text will be placed onto an + even or odd page. You may achieve that using +\begin{lstcode}[belowskip=-\baselineskip] + This page has an \ifthispageodd{odd}{even} + page number. +\end{lstcode} + which will result in the output \begin{quote} - Dies ist eine Seite mit \ifthispageodd{un}{}gerader Seitenzahl. + This page has an \ifthispageodd{odd}{even} page number. \end{quote} - erhalten. Beachten Sie, dass in diesem Beispiel das Argument - \PName{Sonst-Teil} leer geblieben ist. \end{Example} -Da die Anweisung \Macro{ifthispageodd} mit einem Mechanismus arbeitet, der -einem Label und einer Referenz darauf sehr ähnlich ist, werden nach jeder -Textänderung mindestens zwei \LaTeX-Durchläufe benötigt. Erst dann ist die -Entscheidung korrekt. Im ersten Durchlauf wird eine Heuristik für die -Entscheidung verwendet. +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 every text modification. Only then the +decision is correct. In the first run a heuristic is used to make the +first choice. -Näheres zur Problematik der Erkennung von linken und rechten Seiten oder -geraden und ungeraden Seitennummern ist für Experten in -\autoref{sec:maincls-experts.addInfos}, -\autopageref{desc:maincls-experts.cmd.ifthispageodd} zu finden.% +At \autoref{sec:maincls-experts.addInfos}, +\autopageref{desc:maincls-experts.cmd.ifthispageodd} experts may find more +information about the problems detecting left and right pages or even and odd +page number.% % \EndIndex{Cmd}{ifthispageodd}% % -\EndIndex{}{Seite>ungerade}% -\EndIndex{}{Seite>gerade} -\fi % IgnoreThis +\EndIndex{}{page>odd}% +\EndIndex{}{page>even} +\fi %**************************************************** Ende nur maincls * %%% Local Variables: %%% mode: latex -%%% coding: iso-latin-1 +%%% coding: us-ascii %%% TeX-master: "../guide" %%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/common-8.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/common-8.tex index 502991550dc..784129a0fa8 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/common-8.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/common-8.tex @@ -40,13 +40,15 @@ % % ---------------------------------------------------------------------- % -% Absätze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind +% Absaetze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind % Verwaltet von Markus Kohm % % ====================================================================== -\ProvidesFile{common-8.tex}[2009/01/04 KOMA-Script guide (common paragraphs)] -\translator{Gernot Hassenpflug} +\ProvidesFile{common-8.tex}[2012/05/15 KOMA-Script guide (common paragraphs)] +\translator{Markus Kohm\and Gernot Hassenpflug\and Krickette Murabayashi} + +% Date of the translated German file: 2011/09/21 \makeatletter \@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}% @@ -56,111 +58,109 @@ \makeatother -\section{Vakatseiten} +\section{Interleaf Pages} \label{sec:\csname label@base\endcsname.emptypage}% \ifshortversion\IgnoreThisfalse\IfNotCommon{maincls}{\IgnoreThistrue}\fi% -\ifIgnoreThis -Es gilt sinngemäß, was in \autoref{sec:maincls.emptypage} geschrieben -wurde. -\else -\BeginIndex{}{Vakatseite}%% -\BeginIndex{}{Seitenstil}% +\ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + + What is described in +\autoref{sec:maincls.emptypage} applies, mutatis mutandis. +\else %------------------------------------------------------- nur maincls - +\BeginIndex{}{interleaf page}%% +\BeginIndex{}{page>style}% -\IfNotCommon{scrlttr2}{Vakatseiten sind Seiten, die beim Satz eines Dokuments - absichtlich leer bleiben. Ursprünglich sind diese Seiten wirklich komplett - leer. Bei \LaTeX{} werden sie jedoch in der Voreinstellung mit dem aktuell - gültigen Seitenstil gesetzt. \KOMAScript{} bietet hier diverse - Erweiterungen. +\IfNotCommon{scrlttr2}{% + Interleaf pages are pages that are intended to stay blank. Originally these + pages were really completely white. \LaTeX{}, on the other hand, by default + sets those pages with the current valid page style. So those pages may have + a head and a pagination. \KOMAScript{} provides several extensions to this. - Vakatseiten findet man hauptsächlich in Büchern. Da es bei Büchern üblich - ist, dass Kapitel auf einer rechten Seite beginnen, muss in dem Fall, dass - das vorherigen Kapitel ebenfalls auf einer rechten Seite endet, eine leere - linke Seite eingefügt werden. Aus dieser Erklärung ergibt sich auch, dass - Vakatseiten normalerweise nur im doppelseitigen Satz existieren. Die leeren - Rückseiten im einseitigen Druck werden eher nicht als Vakatseiten - bezeichnet, obwohl sie auf Druckbögen im Ergebnis als solche erscheinen.}% -\fi -\ifIgnoreThis -\IfCommon{scrlttr2}{Aber} -\fi -\IfCommon{scrlttr2}{Vakatseiten sind bei Briefen eher unüblich. Das liegt - nicht zuletzt daran, dass wahrhaft doppelseitige Briefe recht selten sind, - da Briefe normalerweise nicht gebunden werden. Trotzdem unterstützt auch - \Class{scrlttr2} für den Fall von doppelseitigen Briefen Einstellungen für - Vakatseiten. Da die hier vorgestellten Anweisungen aber in Briefen kaum - Verwendung finden, finden Sie hier keine Beispiele. Bei Bedarf orientieren - Sie sich bitte an den Beispielen in \autoref{sec:maincls.emptypage} ab - \autopageref{sec:maincls.emptypage}.}% -\ifIgnoreThis\else + Interleaf pages may be found in books mostly. Because chapters in + books commonly start on odd pages, sometimes a left page without + contents has to be added before. This is also the reason that + interleaf pages only exist in double-sided printing. The unused back + sides of the one-sided printings aren't interleaf pages, really, + although % . Nevertheless at the printing paper + they may seem to be such pages.} +\fi %**************************************************** Ende nur maincls * +\ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + +\IfCommon{scrlttr2}{But} +\fi %**************************************************** Ende nur maincls * +\IfCommon{scrlttr2}{% + at letters interleaf pages are unusual. This may be benefited by the + case, that real two-sided letters are seldom, because binding of + letters won't be done often. Nevertheless \Class{scrlttr2} supports + interleaf pages in the case of two-sided letters. Because the + following described commands are seldom used in letters no examples + are shown. If you need examples, please note them at + \autoref{sec:maincls.emptypage} from + \autopageref{sec:maincls.emptypage} upward.}% +\ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + +\else %------------------------------------------------------- nur maincls - \begin{Declaration} - \KOption{cleardoublepage}\PName{Seitenstil}\\ + \KOption{cleardoublepage}\PName{page style}\\ \OptionValue{cleardoublepage}{current} \end{Declaration}% -\BeginIndex{Option}{cleardoublepage~=\PName{Seitenstil}}% -\BeginIndex{Option}{cleardoublepage~=current}% -Mit Hilfe dieser Option\ChangedAt{v3.00}{\Class{scrbook}\and - \Class{scrreprt}\and \Class{scrartcl}\and \Class{scrlttr2}} kann man den -\PName{Seitenstil} der Vakatseite bestimmen, die gegebenenfalls von der -Anweisung \Macro{cleardoublepage} eingefügt wird, um bis zur gewünschten Seite -zu umbrechen. Als \PName{Seitenstil} sind alle bereits definierten Seitenstile -(siehe \autoref{sec:\csname label@base\endcsname.pagestyle} ab -\autopageref{sec:\csname label@base\endcsname.pagestyle} und -\autoref{cha:scrpage} ab \autopageref{cha:scrpage}) verwendbar. Daneben ist -auch \OptionValue{cleardoublepage}{current} möglich. Dieser Fall entspricht -der Voreinstellung von \KOMAScript{} bis Version~2.98c und führt dazu, dass -die Vakatseite mit dem Seitenstil erzeugt wird, der beim Einfügen gerade -aktuell ist. Ab Version~3.00\ChangedAt{v3.00}{\Class{scrbook}\and - \Class{scrreprt}\and \Class{scrartcl}\and \Class{scrlttr2}} werden in der -Voreinstellung entsprechend der typografischen Gepflogenheiten Vakatseiten mit -dem Seitenstil \Pagestyle{empty} erzeugt, wenn man nicht Kompatibilität zu -früheren \KOMAScript-Versionen eingestellt hat (siehe Option \Option{version}, +\BeginIndex{Option}{cleardoublepage~=\PName{page style}}% +\BeginIndex{Option}{cleardoublepage~=\PValue{current}}% +With this option,\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Class{scrlttr2}} you may define the page style of the +interleaf pages created by the \Macro{cleardoublepage} to break until the +wanted page. Every already defined \PName{page style} (see +\autoref{sec:\csname label@base\endcsname.pagestyle} from +\autopageref{sec:\csname label@base\endcsname.pagestyle} and +\autoref{cha:scrpage} from \autopageref{cha:scrpage}) may be used. Besides this, +\OptionValue{cleardoublepage}{current} is valid. This case is the default +until \KOMAScript~2.98c and results in interleaf page without changing the +page style. Since \KOMAScript~3.00\ChangedAt{v3.00}{\Class{scrbook}\and + \Class{scrreprt}\and \Class{scrartcl}\and \Class{scrlttr2}} the default +follows the recommendation of most typographers and has been changed to blank +interleaf pages with page style \Pagestyle{empty} unless you switch +compatibility to an earlier version (see option \Option{version}, \autoref{sec:\csname label@base\endcsname.compatibilityOptions}, \autopageref{desc:\csname label@base\endcsname.option.version}). \ifCommonmaincls \begin{Example} \phantomsection\label{desc:maincls.option.cleardoublepage.example} - Angenommen Sie wollen, dass die Vakatseiten bis auf die Paginierung leer - sind, also mit Seitenstil \Pagestyle{plain} erzeugt werden. Dies erreichen - Sie beispielsweise mit - \begin{lstcode} + Assume you want interleaf pages almost empty but with pagination. This + means you want to use page style \Pagestyle{plain}. You may use following to + achieve this: +\begin{lstcode} \KOMAoption{cleardoublepage=plain} - \end{lstcode} - Näheres zum Seitenstil \Pagestyle{plain} ist in - \autoref{sec:maincls.pagestyle}, \autopageref{desc:maincls.pagestyle.plain} - zu finden. +\end{lstcode} + More information about page style \Pagestyle{plain} may be found at + \autoref{sec:maincls.pagestyle}, \autopageref{desc:maincls.pagestyle.plain}. \end{Example} \fi \ifCommonscrextend \begin{Example} \phantomsection\label{desc:scrextend.option.cleardoublepage.example} - Angenommen Sie wollen, dass die Vakatseiten bis auf die Paginierung leer - sind, also mit Seitenstil \Pagestyle{plain} erzeugt werden. Dies erreichen - Sie beispielsweise mit - \begin{lstcode} + Assume you want interleaf pages almost empty but with pagination. This + means you want to use page style \Pagestyle{plain}. You may use following to + achieve this: +\begin{lstcode} \KOMAoption{cleardoublepage=plain} - \end{lstcode} - Näheres zum Seitenstil \Pagestyle{plain} ist in - \autoref{sec:maincls.pagestyle}, \autopageref{desc:maincls.pagestyle.plain} - zu finden. +\end{lstcode} + More information about page style \Pagestyle{plain} may be found at + \autoref{sec:maincls.pagestyle}, \autopageref{desc:maincls.pagestyle.plain}. \end{Example} \fi -\EndIndex{Option}{cleardoublepage~=current}% -\EndIndex{Option}{cleardoublepage~=\PName{Seitenstil}} +\EndIndex{Option}{cleardoublepage~=\PValue{current}}% +\EndIndex{Option}{cleardoublepage~=\PName{page style}} \begin{Declaration} \Macro{clearpage}\\ \Macro{cleardoublepage}\\ - \Macro{cleardoublepageusingstyle}\Parameter{Seitenstil}\\ + \Macro{cleardoublepageusingstyle}\Parameter{page style}\\ \Macro{cleardoubleemptypage}\\ \Macro{cleardoubleplainpage}\\ \Macro{cleardoublestandardpage}\\ - \Macro{cleardoubleoddusingstyle}\Parameter{Seitenstil}\\ + \Macro{cleardoubleoddusingstyle}\Parameter{page style}\\ \Macro{cleardoubleoddemptypage}\\ \Macro{cleardoubleoddplainpage}\\ \Macro{cleardoubleoddstandardpage}\\ - \Macro{cleardoubleevenusingstyle}\Parameter{Seitenstil}\\ + \Macro{cleardoubleevenusingstyle}\Parameter{page style}\\ \Macro{cleardoubleevenemptypage}\\ \Macro{cleardoubleevenplainpage}\\ \Macro{cleardoubleevenstandardpage} @@ -179,95 +179,90 @@ fr \BeginIndex{Cmd}{cleardoubleevenstandardpage}% \BeginIndex{Cmd}{cleardoubleevenplainpage}% \BeginIndex{Cmd}{cleardoubleevenemptypage}% -Im \LaTeX-Kern existiert die Anweisung \Macro{clearpage}, die dafür sorgt, -dass alle noch nicht ausgegebenen Gleitumgebungen ausgegeben werden und -anschließend eine neue Seite begonnen wird. Außerdem existiert die Anweisung -\Macro{cleardoublepage}, die wie \Macro{clearpage} arbeitet, durch die aber im -doppelseitigen Layout (siehe Option \Option{twoside} in -\autoref{sec:typearea.options}, \autopageref{desc:typearea.option.twoside}) -eine neue rechte Seite begonnen wird. Dazu wird gegebenenfalls eine linke -Vakatseite im aktuellen Seitenstil ausgegeben. +The {\LaTeX} kernel contains the \Macro{clearpage} command, which takes +care that all not yet output floats are output, and then starts a new +page. There exists the instruction \Macro{cleardoublepage} which +works like \Macro{clearpage} but which, in the double-sided layouts +(see layout option \Option{twoside} in +\autoref{sec:typearea.options}, +\autopageref{desc:typearea.option.twoside}) starts a new right-hand +page. An empty left page in the current page style is output if +necessary. -Bei {\KOMAScript} arbeitet -\Macro{cleardoubleoddstandardpage}\ChangedAt{v3.00}{\Class{scrbook}\and - \Class{scrreprt}\and \Class{scrartcl}\and \Class{scrlttr2}} genau in der -soeben für die Standardklassen beschriebenen Art und Weise. Die Anweisung -\Macro{cleardoubleoddplainpage} ändert demgegenüber den Seitenstil der leeren -linken Seite zusätzlich auf \Pagestyle{plain}\IndexPagestyle{plain}, um den % -\IfCommon{maincls}{Kolumnentitel}% -\IfCommon{scrlttr2}{Seitenkopf}% -\ zu unterdrücken. Analog dazu wird bei der Anweisung -\Macro{cleardoubleoddemptypage} der Seitenstil -\Pagestyle{empty}\IndexPagestyle{empty} verwendet, um sowohl % -\IfCommon{maincls}{Kolumnentitel als auch Seitenzahl}% -\IfCommon{scrlttr2}{Seitenkopf als auch Seitenfuß}% -\ auf der leeren linken Seite zu unterdrücken. Die Seite ist damit vollständig -leer. Will man für die Vakatseite einen eigenen \PName{Seitenstil} vorgeben, -so ist dieser als Argument von \Macro{cleardoubleoddusingstyle} -anzugeben. Dabei kann jeder bereits definierte Seitenstil (siehe auch -\autoref{cha:scrpage}) verwendet werden. +With\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Class{scrlttr2}} \Macro{cleardoubleoddstandardpage}, +{\KOMAScript} works as described above. The \Macro{cleardoubleoddplainpage} +command changes the page style of the empty left page to +\Pagestyle{plain}\IndexPagestyle{plain} in order to suppress the +\IfNotCommon{scrlttr2}{running}\IfCommon{scrlttr2}{page} head. Analogously, +the page style \Pagestyle{empty}\IndexPagestyle{empty} is applied to the empty +page with \Macro{cleardoubleoddemptypage}, suppressing the page number as well +as the \IfNotCommon{scrlttr2}{running}\IfCommon{scrlttr2}{page} head. The page +is thus entirely empty. If another \PName{page style} is wanted for the +interleaf page is may be set with the argument of +\Macro{cleardoubleoddusingpagestyle}. Every already defined \PName{page style} +(see \autoref{cha:scrpage}) may be used. \IfNotCommon{scrlttr2}{% - Manchmal möchte man nicht, dass Kapitel mit neuen rechten Seiten, sondern - links auf einer Doppelseite beginnen. Dies widerspricht zwar dem klassischen - Buchdruck, kann jedoch seine Berechtigung haben, wenn die Doppelseite am - Kapitelanfang einen ganz speziellen Inhalt hat. Bei \KOMAScript{} ist - deshalb die Anweisung \Macro{cleardoubleevenstandardpage} als Äquivalent zu - \Macro{cleardoubleoddstandardpage} definiert, jedoch mit dem Unterschied, - dass die nächste Seite eine linke Seite ist. Entsprechendes gilt für die - Anweisungen \Macro{cleardoubleevenplainpage}, - \Macro{cleardoubleevenemptypage} und \Macro{cleardoubleevenusingstyle}.} + Sometimes chapters should not start on the right-hand page but the + left-hand page. This is in contradition to the classic typography; + nevertheless, it may be suitable, e.\,g., if the double-page spread + of the chapter start is of special contents. \KOMAScript{} therefor + provides the commands \Macro{cleardoubleevenstandardpage}, + \Macro{cleardoubleevenplainpage}, \Macro{cleardoubleevenemptypage}, + and \Macro{cleardoubleevenusingstyle}, which are equivalent to the odd-page + commands.} -Die Arbeitsweise der neuen Anweisungen \Macro{cleardoublestandardpage}, -\Macro{cleardoubleemptypage}, \Macro{cleardoubleplainpage} und der ein -Argument erwartenden Anweisung \Macro{cleardoublepageusingstyle} ist % -\IfCommon{scrlttr2}{bei \Class{scrlttr2} }% -\IfCommon{scrextend}{bei \Package{scrextend} }% -ebenso wie die Standard-Anweisung \Macro{cleardoublepage} von der zuvor -erklärten Option \Option{cleardoublepage} abhängig und entspricht je nach -Einstellung einer der in den vorherigen Absätzen erläuterten Anweisungen. +However, the approach used by the \KOMAScript{} commands +\Macro{cleardoublestandardpage}, \Macro{cleardoubleemptypage}, +\Macro{cleardoubleplainpage}, and \Macro{cleardoublepageusingstyle} is +dependent on the option +\Option{cleardoublepage}\important{\Option{cleardoublepage}} described above +and is similar to one of the corresponding commands above. The same is valid for +the standard command \Macro{cleardoublepage}, that may be either +\Macro{cleardoubleoddpage} or \Macro{cleardoubleevenpage}. \IfCommon{scrlttr2}{% - Die übrigen Anweisungen sind bei \Class{scrlttr2} nur aus Gründen der - Vollständigkeit definiert. Näheres zu diesen Anweisungen ist bei Bedarf + In \Class{scrlttr2} the other commands are there only for completeness. More + information about them may be found at \autoref{sec:maincls.emptypage}, - \autopageref{desc:maincls.cmd.cleardoublepage} zu entnehmen.}% + \autopageref{desc:maincls.cmd.cleardoublepage} if needed.}% \ifCommonscrlttr2\else \begin{Example} \label{desc:maincls.cmd.cleardoublepage.example}% - Angenommen Sie wollen innerhalb eines Dokuments als nächstes eine - Doppelseite setzen, bei der auf der linken Seite eine Abbildung in Größe des - Satzspiegels platziert wird und rechts ein neues Kapitel beginnt. Falls das - vorherige Kapitel mit einer linken Seite endet, muss also eine Vakatseite - eingefügt werden. Diese soll komplett leer sein. Ebenso soll die linke - Bildseite weder Kopf noch Fußzeile besitzen. Zunächst wird mit - \begin{lstcode} + Assume you want to set next in your document a double-page spread + with a picture at the left-hand page and a chapter start at the + right-hand page. The picture should have the same size as the text + area without any head line or pagination. If the last chapter + ends with a left-hand page, an interleaf page has to be added, which + should be completely empty. + + First you will use +\begin{lstcode} \KOMAoptions{cleardoublepage=empty} - \end{lstcode} - dafür gesorgt, dass Vakatseiten mit dem Seitenstil \Pagestyle{empty}, also - ohne Kopf- und Fußzeile gesetzt werden. Diese Einstellung können Sie bereits - in der Dokumentpräambel vornehmen. Die Optionen können alternativ auch als - optionale Argumente von \Macro{documentclass} angegeben werden. +\end{lstcode} + to make interleaf pages empty. You may use this setting at the document + preamble already. As an alternative you may set it as the optional argument + of \Macro{documentclass}. - An der gewünschten Stelle im Dokument schreiben Sie nun: - \begin{lstcode} + At the relevant place in your document, you'll write: +\begin{lstcode} \cleardoubleevenemptypage \thispagestyle{empty} \includegraphics[width=\textwidth,% height=\textheight,% keepaspectratio]% - {bild} - \chapter{Kapitelüberschrift} - \end{lstcode} - Die erste Zeile wechselt auf die nächste linke Seite und fügt zu diesem - Zweck bei Bedarf eine komplett leere rechte Seite ein. Die zweite Zeile - sorgt dafür, dass diese linke Seite ebenfalls mit dem Seitenstil - \Pagestyle{empty} gesetzt wird. Die dritte bis sechste Zeile lädt die - Bilddatei mit dem Namen \File{bild} und bringt sie auf die gewünschte Größe, - ohne sie dabei zu verzerren. Hierfür wird das Paket - \Package{graphicx}\IndexPackage{graphicx} benötigt (siehe - \cite{package:graphics}). Die letzte Zeile beginnt auf der nächsten -- dann - rechten -- Seite ein neues Kapitel. + {picture} + \chapter{Chapter Headline} +\end{lstcode} + The first of these lines switches to the next left page. If needed it also + adds a completely blank right-hand page. The second line makes sure that + the following left-hand page will be set using page style \Pagestyle{empty} + too. From third down to sixth line, an external picture of wanted size will + be loaded without + deformation. Package \Package{graphicx}\IndexPackage{graphicx} will be needed + for this command. The last line starts a new chapter on the next page which + will be a right-hand one. \end{Example}% \fi % @@ -286,13 +281,13 @@ Einstellung einer der in den vorherigen Abs \EndIndex{Cmd}{cleardoubleevenplainpage}% \EndIndex{Cmd}{cleardoubleevenemptypage}% % -\EndIndex{}{Seitenstil}% -\EndIndex{}{Vakatseite}% -\fi% IgnoreThis +\EndIndex{}{page>style}% +\EndIndex{}{interleaf page}% +\fi %**************************************************** Ende nur maincls * %%% Local Variables: %%% mode: latex -%%% coding: iso-latin-1 +%%% coding: us-ascii %%% TeX-master: "../guide" %%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/common-9.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/common-9.tex index de11c016ad2..150e563f87d 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/common-9.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/common-9.tex @@ -40,13 +40,15 @@ % % ---------------------------------------------------------------------- % -% Absätze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind +% Absaetze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind % Verwaltet von Markus Kohm % % ====================================================================== -\ProvidesFile{common-9.tex}[2009/01/04 KOMA-Script guide (common paragraphs)] -\translator{Gernot Hassenpflug} +\ProvidesFile{common-9.tex}[2012/05/15 KOMA-Script guide (common paragraphs)] +\translator{Markus Kohm\and Krickette Murabayashi} + +% Date of the translated German file: 2012/01/01 \makeatletter \@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}% @@ -56,95 +58,95 @@ \makeatother -\section{Fußnoten} +\section{Footnotes} \label{sec:\csname label@base\endcsname.footnotes}% \ifshortversion\IgnoreThisfalse\IfNotCommon{maincls}{\IgnoreThistrue}\fi% -\ifIgnoreThis -\IfNotCommon{scrextend}{Es gilt sinngemäß, was in - \autoref{sec:maincls.footnotes} geschrieben wurde.} -\else -\BeginIndex{}{Fussnoten=Fußnoten}% +\ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + +\IfNotCommon{scrextend}{% + What is described in + \autoref{sec:maincls.footnotes} applies, mutatis mutandis. } +\else %------------------------------------------------------- nur maincls - +\BeginIndex{}{footnotes}% \iffalse% Umbruchkorrekturtext -Selbstverständlich beherrscht \LaTeX{} auch Fußnoten. % +\LaTeX{} of course handles footnotes. % \fi% -\IfCommon{maincls}{Im Unterschied zu den Standardklassen bietet \KOMAScript{} - die Möglichkeit, die Form von Fußnoten zu konfigurieren.}% -\IfCommon{scrlttr2}{Die Anweisungen zum Setzen von Fußnoten sind in jeder - \LaTeX-Einführung, beispielsweise \cite{l2kurz}, zu finden. \KOMAScript{} - bietet darüber hinaus aber auch noch die Möglichkeit, die Form der Fußnoten - zu verändern.}% -\fi -\IfCommon{scrextend}{Die Fußnoten-Möglichkeiten der \KOMAScript-Klassen% -\ifIgnoreThis - , die in \autoref{sec:maincls.footnotes} beschrieben sind,% -\fi - \ werden - von \Package{scrextend} ebenfalls bereitgestellt. In der Voreinstellung wird - die Formatierung der Fußnoten jedoch der verwendeten Klasse überlassen. Dies - ändert sich, sobald die Anweisung \Macro{deffootnote} verwendet wird, die - auf - \autopageref{desc:\ifIgnoreThis maincls\else scrextend\fi.cmd.deffootnote} - näher erläutert wird.}% -\ifIgnoreThis\else +\IfCommon{maincls}{% + \KOMAScript{}, unlike the standard classes, provides features for + configuration of the footnote block format.}% +\IfCommon{scrlttr2}{% + The commands for setting footnotes may be found at each introduction into + \LaTeX, e.\,g., at \cite{lshort}. \KOMAScript{} provides additional features + to change the footnote block format.}% +\fi %**************************************************** Ende nur maincls * +\IfCommon{scrextend}{% + Package \Package{scrextend} supports all the footnote features of + \KOMAScript +\ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + + , that are described at \autoref{sec:maincls.footnotes}% +\fi %**************************************************** Ende nur maincls * + . Nevertheless, by default the footnotes are under full control of the used + class. This changes as soon as command \Macro{deffootnote} (see + \autopageref{desc:\ifIgnoreThis maincls\else scrextend\fi.cmd.deffootnote}) + has been used.}% +\ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + +\else %------------------------------------------------------- nur maincls - \begin{Declaration} - \KOption{footnotes}\PName{Einstellung} + \KOption{footnotes}\PName{setting} \end{Declaration} -\BeginIndex{Option}{footnotes~=\PName{Einstellung}}% -\IfCommon{scrextend}{Bei vielen Klassen werden Fußnoten }% -\IfNotCommon{scrextend}{ \ChangedAt{v3.00}{\Class{scrbook}\and - \Class{scrreprt}\and \Class{scrartcl}\and \Class{scrlttr2}}Fußnoten werden +\BeginIndex{Option}{footnotes~=\PName{setting}}% +\IfCommon{scrextend}{At several classes footnotes }% +\IfNotCommon{scrextend}{\ChangedAt{v3.00}{\Class{scrbook}\and + \Class{scrreprt}\and \Class{scrartcl}\and \Class{scrlttr2}}Footnotes }% -im Text in der Voreinstellung mit kleinen, hochgestellten Ziffern -markiert. Werden zu einer Textstelle mehrere Fußnoten hintereinander gesetzt, -so entsteht der Eindruck, dass es sich nicht um zwei einzelne Fußnoten, -sondern um eine einzige Fußnote mit hoher Nummer handelt. Mit der Einstellung -\OptionValue{footnotes}{multiple}\IndexOption{footnotes=~multiple} werden -Fußnoten, die unmittelbar aufeinander folgen, stattdessen mit Trennzeichen -aneinander gereiht. Das in \Macro{multfootsep}\IndexCmd{multfootsep} -definierte Trennzeichen ist mit einem Komma vorbelegt. Der gesamte Mechanismus -ist kompatibel zu \Package{footmisc}\IndexPackage{footmisc}, Version~5.3d -(siehe \cite{package:footmisc}) implementiert. Er wirkt sich sowohl auf -Fußnotenmarkierungen aus, die mit \Macro{footnote}\IndexCmd{footnote} gesetzt -wurden, als auch auf solche, die direkt mit -\Macro{footnotemark}\IndexCmd{footnotemark} ausgegeben werden. - -Es ist jederzeit möglich, auf die Voreinstellung -\OptionValue{footnotes}{nomultiple} zurückzuschalten. Bei Problemen mit -anderen Paketen, die Einfluss auf die Fußnoten nehmen, sollte die Option -jedoch nicht verwendet und die Einstellung auch nicht innerhalb des Dokuments -umgeschaltet werden. - -Eine Zusammenfassung der möglichen Werte für die \PName{Einstellung} von -\Option{footnotes} bietet \autoref{tab:maincls.footnotes}% +will be marked with a tiny superscript number in text by default. If more than +one footnote falls at the same place, one may think that it is only one +footnote with a very large number instead of multiple footnotes +(i.\,e., footnote 12 instead of footnotes 1 and 2). Using \important{\OptionValue{footnotes}{multiple}} +\OptionValue{footnotes}{multiple}\IndexOption{footnotes=~multiple} will +separate multiple footnotes immediately next to each other by a separator +string. The predefined separator at +\Macro{multfootsep}\IndexCmd{multfootsep}\important{\Macro{multfootsep}} is a +single comma without space. The whole mechanism is compatible with package \Package{footmisc}\IndexPackage{footmisc}\important{\Package{footmisc}}, +Version~5.3d (see \cite{package:footmisc}). It is related not only to +footnotes placed using \Macro{footnote}\IndexCmd{footnote}, but +\Macro{footnotemark}\IndexCmd{footnotemark} too. + +Command \Macro{KOMAoptions} or \Macro{KOMAoption} may be used to switch back +to the default \OptionValue{footnotes}{nomultiple} at any time. If +any problems using another package that influences footnotes occur, it is +recommended not to use the option anywhere and not to change the +\PName{setting} anywhere inside the document. + +A summary of the available \PName{setting} values of \Option{footnotes} may +be found at \autoref{tab:maincls.footnotes}% \IfNotCommon{maincl}{, \autopageref{tab:maincls.footnotes}}% .% \IfCommon{maincls}{% \begin{table} - \caption[{Mögliche Werte für Option \Option{footnotes}}]{Mögliche Werte für - Option \Option{footnotes} zur Einstellung der Fußnoten} + \caption[{Available values for option \Option{footnotes}}] + {Available values for option \Option{footnotes} setting up footnotes} \label{tab:maincls.footnotes} \begin{desctabular} \pventry{multiple}{% - Unmittelbar aufeinander folgende Fußnotenmarkierungen werden durch - \Macro{multfootsep}\IndexCmd{multfootsep} voneinander getrennt - ausgegeben.% - \IndexOption{footnotes~=multiple}}% + At sequences of immediately following footnote marks, consecutive marks + will be separated by \Macro{multfootsep}\IndexCmd{multfootsep}.% + \IndexOption{footnotes~=\PValue{multiple}}}% \pventry{nomultiple}{% - Unmittelbar aufeinander folgende Fußnotenmarkierungen werden auch - unmittelbar aufeinander folgend ausgegeben.% - \IndexOption{footnotes~=nomultiple}}% + Immediately following footnotes will be handled like single footnotes + and not separated from each other.% + \IndexOption{footnotes~=\PValue{nomultiple}}}% \end{desctabular} \end{table}}% % -\EndIndex{Option}{footnotes~=\PName{Einstellung}} +\EndIndex{Option}{footnotes~=\PName{setting}} \begin{Declaration} - \Macro{footnote}\OParameter{Nummer}\Parameter{Text}\\ - \Macro{footnotemark}\OParameter{Nummer}\\ - \Macro{footnotetext}\OParameter{Nummer}\Parameter{Text}\\ + \Macro{footnote}\OParameter{number}\Parameter{text}\\ + \Macro{footnotemark}\OParameter{number}\\ + \Macro{footnotetext}\OParameter{number}\Parameter{text}\\ \Macro{multiplefootnoteseparator}\\ \Macro{multfootsep} \end{Declaration}% @@ -153,81 +155,77 @@ Eine Zusammenfassung der m \BeginIndex{Cmd}{footnotetext}% \BeginIndex{Cmd}{multiplefootnoteseparator}% \BeginIndex{Cmd}{multfootsep}% -Fußnoten werden bei {\KOMAScript} genau wie bei den Standardklassen mit der -Anweisung \Macro{footnote} oder den paarweise zu verwendenden Anweisungen -\Macro{footnotemark} und \Macro{footnotetext} erzeugt. Genau wie bei den -Standardklassen ist es möglich, dass innerhalb einer Fußnote ein -Seiten"-umbruch erfolgt. Dies geschieht in der Regel dann, wenn die zugehörige -Fußnotenmarkierung so weit unten auf der Seite gesetzt wird, dass keine andere -Wahl bleibt, als die Fußnote auf die nächste Seite zu umbrechen. Im -Unterschied\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and - \Class{scrartcl}\and \Class{scrlttr2}} zu den Standardklassen bietet -\KOMAScript{} aber zusätzlich die Möglichkeit, Fußnoten, die unmittelbar -aufeinander folgen, automatisch zu erkennen und durch ein Trennzeichen -auseinander zu rücken. Siehe hierzu die zuvor dokumentierte Option -\Option{footnotes}. - -Will man dieses Trennzeichen stattdessen von Hand setzen, so erhält man es -durch Aufruf von \Macro{multiplefootnoteseparator}. Diese Anweisung sollten -Anwender jedoch nicht umdefinieren, da sie neben dem Trennzeichen auch die -Formatierung des Trennzeichen, beispielsweise die Wahl der Schriftgröße und -das Hochstellen, enthält. Das Trennzeichen selbst ist in der Anweisung -\Macro{multfootsep} gespeichert. In der Voreinstellung ist dieses als +Similar to the standard classes, footnotes in {\KOMAScript} are produced +with the \Macro{footnote} command, or alternatively the paired usage of the +commands \Macro{footnotemark} and \Macro{footnotetext}. As in the standard +classes, it is possible that a page break occurs within a footnote. Normally +this happens if the footnote mark is placed so near the bottom of a page as to +leave {\LaTeX} no choice but to break the footnote onto the next page. +\KOMAScript\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Class{scrlttr2}}, unlike the standard classes, +can recognize and separate consecutive footnotes +automatically. See\important{\Option{footnote}} the previously documented +option \Option{footnotes} for this. + +If you want to set the separator manually, you may use +\Macro{multiplefootnoteseparator}. Note that this command shouldn't be +redefined, because it has been defined not only to be the separator string but +also the type style, i.\,e., font size and superscript. The separator string +without type style may be found at \Macro{multfootsep}. The +predefined default is % Umbruchkorrektur: listings korrigieren! \begin{lstcode}[belowskip=\dp\strutbox] \newcommand*{\multfootsep}{,} \end{lstcode} -definiert. Dieses kann umdefiniert werden. +and may be changed by redefining the command. \ifCommonscrlttr\else \begin{Example} \phantomsection\label{desc:maincls.cmd.footnote.example}% - Angenommen, Sie wollen zu einem Wort zwei Fußnoten setzen. Im ersten Ansatz - schreiben Sie dafür - \begin{lstcode} - Wort\footnote{erste Fußnote}\footnote{zweite Fußnote}. - \end{lstcode} - Nehmen wir weiter an, dass die Fußnoten mit 1 und 2 nummeriert werden. Da - die beiden Fußnotennummern direkt aufeinander folgen, entsteht jedoch der - Eindruck, dass das Wort nur eine Fußnote mit der Nummer 12 besitzt. Sie - könnten dies nun dadurch ändern, dass Sie mit - \begin{lstcode} + Assume you want to place two footnotes following a single word. First you may try +\begin{lstcode} + Word\footnote{1st footnote}\footnote{2nd footnote} +\end{lstcode} + for this. Assume that the footnotes will be numbered with 1 and 2. Now the + reader may think it's a single footnote 12, because the 2 + immediately follows the 1. You may change this using +\begin{lstcode} \KOMAoptions{footnotes=multiple} - \end{lstcode} - die automatische Erkennung von Fußnotenhäufungen aktivieren. Stattdessen - können Sie aber auch - \begin{lstcode} - Wort\footnote{erste Fußnote}\multiplefootnoteseparator - \footnote{zweite Fußnote} - \end{lstcode} - verwenden. Das sollte auch dann noch funktionieren, wenn die automatische - Erkennung aus irgendwelchen Gründen versagt oder nicht verwendet werden - kann. - - Nehmen wir nun an, dass Sie außerdem wollen, dass die Fußnotennummern - nicht nur durch ein Komma, sondern durch ein Komma gefolgt von einem - Leerzeichen getrennt werden sollen. In diesem Fall schreiben Sie - \begin{lstcode} +\end{lstcode} + which would switch on the automatic recognition of footnote sequences. As an + alternative you may use +\begin{lstcode} + Word\footnote{1st footnote}% + \multiplefootnoteseparator + \footnote{2nd footnote} +\end{lstcode} + This should give you the wanted result even if the automatic solution would + fail or couldn't be used. + + Further, assume you want the footnotes separated not only by a single + comma, but by a comma and a white space. In this case you may redefine +\begin{lstcode} \renewcommand*{\multfootsep}{,\nobreakspace} - \end{lstcode} - in Ihre Dokumentpräambel. \Macro{nobreakspace}\IndexCmd{nobreakspace} wurde - hier an Stelle eines normalen Leerzeichens gewählt, damit innerhalb der - Reihung der Fußnotenzeichen kein Absatz- oder Seitenumbruch erfolgen kann. +\end{lstcode} + at the document preamble. \Macro{nobreakspace}\IndexCmd{nobreakspace} + instead of a usual space character has been used in this case to avoid + paragraph or at least page breaks within footnote sequences. \end{Example}% \fi% -\IfCommon{scrlttr2}{Beispiele und ergänzende Hinweise sind - \autoref{sec:maincls.footnotes} ab - \autopageref{desc:maincls.cmd.footnote.example} zu entnehmen.}% +\IfCommon{scrlttr2}{% + Examples and additional information may be found at + \autoref{sec:maincls.footnotes} from + \autopageref{desc:maincls.cmd.footnote.example} onward.}% \EndIndex{Cmd}{footnote}% \EndIndex{Cmd}{footnotemark}% \EndIndex{Cmd}{footnotetext}% \EndIndex{Cmd}{multiplefootnoteseparator}% \EndIndex{Cmd}{multfootsep}% -\fi% IgnoreThis +\fi %**************************************************** Ende nur maincls * %%% Local Variables: %%% mode: latex -%%% coding: iso-latin-1 +%%% coding: us-ascii %%% TeX-master: "../guide" %%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/expertpart.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/expertpart.tex new file mode 100644 index 00000000000..4556bf6a940 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/expertpart.tex @@ -0,0 +1,76 @@ +% ====================================================================== +% expertpart.tex +% Copyright (c) Markus Kohm, 2002-2012 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ---------------------------------------------------------------------- +% expertpart.tex +% Copyright (c) Markus Kohm, 2002-2012 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% +% First part: KOMA-Script for Authors +% Maintained by Markus Kohm +% +% ---------------------------------------------------------------------- +% +% Erster Teil: KOMA-Script fuer Autoren +% Verwaltet von Markus Kohm +% +% ====================================================================== + +\ProvidesFile{expertpart.tex}[2012/01/13 Part KOMA-Script for Experts] +\translator{Markus Kohm} + +\setpartpreamble{% + \vspace*{2\baselineskip}% + \setlength{\parindent}{1em}% + + \noindent In this part information for the authors of LaTeX packages and + classes can be found. This applies not only instructions that are useful for + implementation of new packages and classes, but also interfaces to allow + further intervention in \KOMAScript. Moreover, in this part, information on + obsolete options and instructions are provided as well as background + information on the implementation of KOMAScript. + + This part is intended to supplement the information for authors of articles, + reports, books and letters in \autoref{part:forAuthors}. More information + and examples for those users can be found in that part. +} + +\part{\KOMAScript{} for Advanced Users and Experts} +\label{part:forExperts} + +\endinput + +%%% Local Variables: +%%% mode: latex +%%% coding: us-ascii +%%% TeX-master: "guide.tex" +%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/guide-english.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/guide-english.tex index a17ec7efb55..9137bd523ab 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/guide-english.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/guide-english.tex @@ -40,14 +40,18 @@ % % ---------------------------------------------------------------------- % -% Sprachabhängigkeiten (english) der KOMA-Script-Anleitung +% Sprachabhaengigkeiten (english) der KOMA-Script-Anleitung % Verwaltet von Markus Kohm % % ====================================================================== % -\ProvidesFile{guide-english.tex}[{2007/09/27 +\ProvidesFile{guide-english.tex}[{2012/03/14 KOMA-Script guide language dependencies}] % +% \section{Extra Packages} +% +\RequirePackage[normal]{engord} +% % \section{Title} % % \begin{macro}{\GuideSubject} @@ -66,13 +70,10 @@ \newcommand*{\GuideSubTitle}{a versatile {\LaTeXe} bundle% % Ugly note \vfill - \noindent Note: This document is part of \KOMAScript~3 but was written for - \KOMAScript~2.98. Several features of \KOMAScript~2 are obsolete (but may - still be used) with \KOMAScript~3. In this case this documentation - sometimes describes obsolete things. Several features of \KOMAScript~3 are - new but may not be found at this manual. This manual will be updated with - respect to the available ressources. Any request for help shall be sent to - komascript~at~gmx.info.% + \noindent Note: This document is a translation of the German \KOMAScript{} + manual. Several authors has been involved to this translation. Some of them + are native English speakers, others like me are not. Improvement of the + translation by native speakers or experts would be welcome always!% }% \newcommand*{\GuideAuthorHeadline}{Authors of the {\KOMAScript} Bundle}% \newcommand*{\GuideTranslatorHeadline}{English translation of this manual by: @@ -125,7 +126,7 @@ % \begin{macro}{\GuideClass} % \begin{macro}{\GuideClassIndexCategory} % \begin{macro}{\GuideClassIndexCategoryExpanded} -% The term »class«. +% The term ``class''. % \begin{macrocode} \newcommand*{\GuideClass}{class} \newcommand*{\GuideClassIndexCategory}{classes} @@ -138,7 +139,7 @@ % \begin{macro}{\GuideCounter} % \begin{macro}{\GuideCounterIndexCategory} % \begin{macro}{\GuideCounterIndexCategoryExpanded} -%% The term »counter«. +% The term ``counter''. % \begin{macrocode} \newcommand*{\GuideCounter}{counter} \newcommand*{\GuideCounterExpanded}{counters} @@ -151,7 +152,7 @@ % \begin{macro}{\GuideEnvironment} % \begin{macro}{\GuideEnvIndexCategory} % \begin{macro}{\GuideEnvIndexCategoryExpanded} -% The term »environment«. +% The term ``environment''. % \begin{macrocode} \newcommand*{\GuideEnvironment}{environment} \newcommand*{\GuideEnvIndexCategory}{environments} @@ -162,7 +163,7 @@ % \end{macro} % % \begin{macro}{\GuideExample} -% The term »Example« used at a kind of heading, so it should be upper case. +% The term ``Example'' used at a kind of heading, so it should be upper case. % \begin{macrocode} \newcommand*{\GuideExample}{Example} % \end{macrocode} @@ -171,7 +172,7 @@ % \begin{macro}{\GuideFile} % \begin{macro}{\GuideFileIndexCategory} % \begin{macro}{\GuideFileIndexCategoryExpanded} -% The term »file«. +% The term ``file''. % \begin{macrocode} \newcommand*{\GuideFile}{file} \newcommand*{\GuideFileIndexCategory}{files} @@ -184,7 +185,7 @@ % \begin{macro}{\GuideFloatstyle} % \begin{macro}{\GuideFloatstyleIndexCategory} % \begin{macro}{\GuideFloatstyleIndexCategoryExpanded} -% The term »\Package{float} style«. +% The term ``\Package{float} style''. % \begin{macrocode} \newcommand*{\GuideFloatstyle}{\Package{float} style} \newcommand*{\GuideFloatstyleIndexCategory}{\Package{float} styles} @@ -197,7 +198,7 @@ % \begin{macro}{\GuideFontElement} % \begin{macro}{\GuideFontElementIndexCategory} % \begin{macro}{\GuideFontElementIndexCategoryExpanded} -%% The term »element«. +% The term ``element''. % \begin{macrocode} \newcommand*{\GuideFontElement}{element} \newcommand*{\GuideFontElementIndexCategory}{elements} @@ -210,7 +211,7 @@ % \begin{macro}{\GuideLength} % \begin{macro}{\GuideLengthIndexCategory} % \begin{macro}{\GuideLengthIndexCategoryExpanded} -% The term »length«. +% The term ``length''. % \begin{macrocode} \newcommand*{\GuideLength}{length} \newcommand*{\GuideLengthIndexCategory}{lengths} @@ -226,7 +227,7 @@ % \begin{macro}{\GuideCommand} % \begin{macro}{\GuideCommandIndexCategory} % \begin{macro}{\GuideCommandIndexCategoryExpanded} -% The term »command«. +% The term ``command''. % \begin{macrocode} \newcommand*{\GuideMacro}{command} \let\GuideCommand\GuideMacro @@ -245,7 +246,7 @@ % \begin{macro}{\GuideOption} % \begin{macro}{\GuideOptionIndexCategory} % \begin{macro}{\GuideOptionIndexCategoryExpanded} -% The term »option«. +% The term ``option''. % \begin{macrocode} \newcommand*{\GuideOption}{option} \newcommand*{\GuideOptionIndexCategory}{options} @@ -258,7 +259,7 @@ % \begin{macro}{\GuidePackage} % \begin{macro}{\GuidePackageIndexCategory} % \begin{macro}{\GuidePackageIndexCategoryExpanded} -% The term »package«. +% The term ``package''. % \begin{macrocode} \newcommand*{\GuidePackage}{package} \newcommand*{\GuidePackageIndexCategory}{packages} @@ -271,7 +272,7 @@ % \begin{macro}{\GuidePagestyle} % \begin{macro}{\GuidePagestyleIndexCategory} % \begin{macro}{\GuidePagestyleIndexCategoryExpanded} -% The term »page style«. +% The term ``page style''. % \begin{macrocode} \newcommand*{\GuidePagestyle}{page style} \newcommand*{\GuidePagestyleIndexCategory}{page styles} @@ -285,7 +286,7 @@ % \begin{macro}{\GuidePLengthIndexCategory} % \begin{macro}{\GuidePLengthIndexCategoryExpanded} % \begin{macro}{\GuidePseudoPrefix} -% The prefix »pseudo« at the term »pseudo length« and the term itself. +% The prefix ``pseudo'' at the term ``pseudo length'' and the term itself. % \begin{macrocode} \newcommand*{\GuidePseudoPrefix}{pseudo-} \newcommand*{\GuidePLength}{\GuidePseudoPrefix\GuideLength} @@ -300,7 +301,7 @@ % \begin{macro}{\GuideVariable} % \begin{macro}{\GuideVariableIndexCategory} % \begin{macro}{\GuideVariableIndexCategoryExpanded} -% The termo »variable«. +% The termo ``variable''. % \begin{macrocode} \newcommand*{\GuideVariable}{variable} \newcommand*{\GuideVariableIndexCategory}{variables} @@ -324,6 +325,16 @@ % \end{macrocode} % \end{macro} % +% \begin{macro}{\GuideLoadNonFree} +% Note, that the non free manual contains more information. +% \begin{macrocode} +\newcommand*{\GuideLoadNonFree}{% + Sorry, currently additional information to this may be found at the same + point of the German \KOMAScript{} book \cite{book:komascript} only. +} +% \end{macrocode} +% \end{macro} +% % % \section{Index} % @@ -373,6 +384,18 @@ % \end{macro} % % +% \begin{macro}{\GuideIndexSees} +% These are all see index entries. +\newcommand*{\GuideIndexSees}{% +} +% \end{macro} +% +% \begin{macro}{\GuideIndexSeeAlsos} +% These are all see also index entries. +\newcommand*{\GuideIndexSeeAlsos}{% +} +% \end{macro} +% % \section{Bibliography} % % \begin{macro}{\GuideBibPreamble} @@ -436,7 +459,7 @@ also in other parts of your cerebrum. Your frontal lobe becomes stimulated. Intention-impulses spread from there, which your - central nervous + central nervous\setlength{\parfillskip}{0pt}% \fi\fi\fi \fi \ifnum #1>49 @@ -481,18 +504,22 @@ \newcommand*{\GuideLanguageExtensions}{% % \end{macrocode} % \begin{macro}{\pageautorefname} -% The term »page« that will be put before the reference of a page set by +% The term ``page'' that will be put before the reference of a page set by % |\autopageref|. % \begin{macrocode} \def\pageautorefname{page}% % \end{macrocode} % \end{macro} +% \begin{macro}{\partautorefname} +% \begin{macro}{\figureautorefname} +% \begin{macro}{\tableautorefname} % \begin{macro}{\subsectionautorefname} % \begin{macro}{\subsubsectionautorefname} % \begin{macro}{\paragraphautorefname} % \begin{macro}{\subparagraphautorefname} -% I'll call them all »section«. +% I'll call them all ``section''. % \begin{macrocode} + \def\partautorefname{part}% \def\figureautorefname{figure}% \def\tableautorefname{table}% \def\appendixautorefname{appendix}% @@ -505,6 +532,9 @@ % \end{macro} % \end{macro} % \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} % \begin{macro}{\changelogname} % The name of the change log index. % \begin{macrocode} @@ -530,6 +560,6 @@ \endinput %%% Local Variables: %%% mode: doctex -%%% coding: iso-latin-1 +%%% coding: us-ascii %%% TeX-master: "guide" %%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/guide.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/guide.tex new file mode 100644 index 00000000000..6fc6a8c55dd --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/guide.tex @@ -0,0 +1,132 @@ +% ====================================================================== +% guide.tex +% Copyright (c) Markus Kohm, 2002-2012 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ---------------------------------------------------------------------- +% guide.tex +% Copyright (c) Markus Kohm, 2002-2012 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% +% Main TeX file of the KOMA-Script guide +% Maintained by Markus Kohm +% +% ---------------------------------------------------------------------- +% +% Hauptdatei der KOMA-Script-Anleitung +% Verwaltet von Markus Kohm +% +% ====================================================================== + +\ProvidesFile{guide.tex}[2012/02/22 KOMA-Script guide main file] + +\documentclass[\languagename]{scrguide} + +\begin{document} +\expandafter\selectlanguage\expandafter{\uselanguage} + +\csname ListTypeArea\endcsname + +\extratitle{\sffamily{\bfseries\Huge\GuideTitle\strut\\} + \large\GuideSubTitle\strut\\} +\title{\GuideTitle} +\subject{\GuideSubject} +\author{Markus Kohm\and Jens-Uwe-Morawski} +\publishers{\small\GuideAuthorHeadline: + Frank Neukam, Markus Kohm, Axel Kielhorn} +\uppertitleback{% + \GuideWarrantyHeadline\\[.5\baselineskip] + \GuideWarranty} +\lowertitleback{% + \settranslator{\GuideTranslatorHeadline}{.\par\bigskip}% + \GuideCopyright} +\dedication{\GuideDedication} + +\pdfbookmark[-1]{\KOMAScript}{title} +\bookmark[level=0,gotor=scrguide.pdf]{Deutsch} +\bookmark[level=0,gotor=scrguien.pdf]{English} +\bookmarksetup{startatroot} + +\maketitle + +\cleardoublepage\csname GeneralTypeArea\endcsname +\include{preface} + +\cleardoublepage\csname ListTypeArea\endcsname +\cleardoublepage\pdfbookmark{\contentsname}{toc}\tableofcontents + +\cleardoublepage\pdfbookmark{\listfigurename}{lof}\listoffigures + +\cleardoublepage\pdfbookmark{\listtablename}{lot}\listoftables + +\cleardoublepage\csname GeneralTypeArea\endcsname + +\include{introduction} + +\include{authorpart} +\include{typearea} +\include{scrbookreportarticle} +\include{scrlttr2} +\include{scrpage2} +\include{scrdatetime} +\include{scraddr} +\include{adrconvnote} +\include{scrextend} + +\include{expertpart} +\include{scrbase} +\include{scrlfile} +\include{scrwfile} +\include{tocbasic} +\include{scrhack} +\include{typearea-experts} +\include{scrbookreportarticle-experts} +\include{scrlttr2-experts} + +\include{japanlco}% appendix at the english manual only + +\makeatletter +\let\toclevel@section\toclevel@chapter +\let\toclevel@chapter\toclevel@part +\makeatother +\printchangelog +\bibliography{\jobname} + +\GuideIndexSeeAlsos + +\printindex + +\end{document} + +%%% Local Variables: +%%% mode: latex +%%% coding: us-ascii +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/introduction.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/introduction.tex index 49fc2321c00..fe43c56e545 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/introduction.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/introduction.tex @@ -45,58 +45,113 @@ % % ====================================================================== -\ProvidesFile{introduction.tex}[2007/09/26 KOMA-Script guide introduction] -\translator{Kevin Pfeiffer\and Gernot Hassenpflug\and Markus Kohm} +\ProvidesFile{introduction.tex}[2012/03/14 KOMA-Script guide introduction] +\translator{Kevin Pfeiffer\and Gernot Hassenpflug\and + Krickette Murabayashi\and Markus Kohm} -% Date of translated german file: 2006/07/05 +% Date of translated german file: 2011/10/12 \chapter{Introduction} \labelbase{introduction} -\section{Preface}\label{sec:introduction.preface} +This chapter includes important information about the structure of the manual +and the history of KOMA-Script, which begins years before the first +version. You will also find information for those who have not installed +KOMA-Script or encounter errors. -The {\KOMAScript} bundle is actually several packages and classes. It -provides counterparts or replacements for the standard {\LaTeX} classes such -as \emph{article}, \emph{book}, etc. (see \autoref{cha:maincls}), but offers -many additional features and its own unique look and feel. +\section{Preface}\label{sec:introduction.preface} -The {\KOMAScript} user guide is intended to serve the advanced as well as the -inexperienced {\LaTeX} user and is accordingly quite large. The result is a -compromise and we hope that you will keep this in mind when using it. -Your suggestions for improvement are, of course, always welcome. +\KOMAScript{} is very complex. This is evidenced by the fact that it +consists of +not only a single class or a single package, but a bundle of many classes and +packages. Although the classes are designed as a counterpart to the standard +classes, that does not necessarily mean that they only have the commands, +environments, and setting of the standard classes or imitate their +appearance. The capabilities of \KOMAScript{} surpass the capabilities of the +standard classes considerably. Some of them are to be regarded as a supplement +to the basic skills of the \LaTeX{} kernel. + +The foregoing means that the documentation of \KOMAScript{} has to be +extensive. In addition, \KOMAScript{} usually is not taught. That means there +is no teacher who knows his students and can therefore choose the teaching and +learning materials and adapt them accordingly. It would be easy to write the +documentation for any specific audience. The difficulty is, however, that the +guide must service all potential audiences. We, the authors, have tried to +create a guide that is suited for the computer scientist as well as the +secretary or the fishmonger. We have tried, although this is actually % dealing +% with +an impossible task. The result consists of several compromises and we +hope that you will keep this in mind when using it. Your suggestions for +improvement are, of course, always welcome. + +Despite the volume of the manual, % in case of problems +it is recommended to +consult the documentation. Attention is drawn to the multi-part index at the +end of this document. In addition to this guide, documentation includes all the +text documents that are part of the bundle. See \File{manifest.tex} for a list +of all of them. \section{Structure of the Guide}\label{sec:introduction.structure} -The {\KOMAScript} user guide is not intended to be a {\LaTeX} primer. -Those new to {\LaTeX} should look at \emph{The Not So Short Introduction -to {\LaTeXe}} \cite{lshort} or \emph{{\LaTeXe} for Authors} -\cite{latex:usrguide} or a {\LaTeX} reference book. You will also find -useful information in the many {\LaTeX} FAQs, including the \emph{{\TeX} -Frequently Asked Questions on the Web} \cite{UK:FAQ}. - -\begin{Explain} - In this guide you will find supplemental information about {\LaTeX} and - {\KOMAScript} in (sans serif) paragraphs like this one. - The information given in these explanatory sections is not essential for - using {\KOMAScript}, but if you experience problems you should - take a look at it\,---\,particularly before sending a bug report. -\end{Explain} - -If you are only interested in using a single {\KOMAScript} class or -package you can probably successfully avoid reading the entire guide. -Each class and package typically has its own chapter; however, the three -main classes (\Class{scrbook}, \Class{scrrprt}, and \Class{scrartcl}) -are introduced together in chapter three. Where an example or note only -applies to one or two of the three classes, it is called out in the -margin. \OnlyAt{\Class{Like this.}} +This manual consists of several parts. There's a part for average users, +another part for advanced users and experts, and an appendix with additional +examples and information for those who always want to know more. + +\hyperref[part:forAuthors]{Part~\ref{part:forAuthors}} is recommended for all +\KOMAScript{} users. This means that you may find here even some information +for newcomers to \LaTeX. In particular, this part is enhanced by many examples +to the average user that are intended to illustrate the explanations. Do not +be afraid to try these examples yourself and in modifying them to find out how +\KOMAScript{} works. Nevertheless the {\KOMAScript} user guide is not intended +to be a {\LaTeX} primer. Those new to {\LaTeX} should look at \emph{The Not + So Short Introduction to {\LaTeXe}} \cite{lshort} or \emph{{\LaTeXe} for + Authors} \cite{latex:usrguide} or a {\LaTeX} reference book. You will also +find useful information in the many {\LaTeX} FAQs, including the \emph{{\TeX} + Frequently Asked Questions on the Web} \cite{UK:FAQ}. +Although the length of the \emph{{\TeX} Frequently Asked Questions +on the Web} is considerably long, it is nevertheless +quite useful not only to those having problems using \LaTeX{} or \KOMAScript. + +\hyperref[part:forExperts]{Part~\ref{part:forExperts}} is recommended for +advanced \KOMAScript{} users. These are all of you who already know +\LaTeX{}, maybe worked with \KOMAScript{} for a while, and want to +learn more about \KOMAScript{} internals, interaction of \KOMAScript{} +with other packages, and how to use \KOMAScript{} as an answer to +special demands. For this purpose we will have a closer look at some +aspects from \autoref{part:forAuthors} again. In addition some +instructions that have been implemented for advanced users and +experts, especially, will be documented. This is complemented by the +documentation of packages that are normally hidden to the user insofar +as they do their work under the surface of the classes and user +packages. These packages are specifically designed to be used by other +authors of classes and packages. + +The appendix, which may be found only in the German book version, contains +information which is beyond what is covered in \autoref{part:forAuthors} and +\autoref{part:forExperts}. Advanced users may find background information on +issues of typography to give them a basis for their own decisions. In +addition, the appendix provides examples for aspiring authors of +packages. These examples are less intended to be simply transferred. Rather, +they convey knowledge of planning and implementation of projects as well as +some basic \LaTeX{} instructions for authors of packages. + +If you are only interested in using a single {\KOMAScript} class or package +you can probably successfully avoid reading the entire guide. Each class and +package typically has its own chapter; however, the three main classes +(\Class{scrbook}, \Class{scrrprt}, and \Class{scrartcl}) are introduced +together in \autoref{cha:maincls}. Where an example or note only +applies to one or two of the three classes, e.\,g., +\Class{scrartcl}\OnlyAt{\Class{scrartcl}}, it is called out in the +margin, as +shown here with \Class{scrartcl}. \begin{Explain} The primary documentation for {\KOMAScript} is in German and has been translated for your convenience; like most of the {\LaTeX} world, its commands, environments, options, etc., are in English. In a few cases, the name of a command may sound a little strange, but even so, we hope and - believe that with the help of this guide {\KOMAScript} will be usable + believe that with the help of this guide, {\KOMAScript} will be usable and useful to you. \end{Explain} @@ -109,17 +164,19 @@ was no distinction between classes and packages\,---\,there were only \emph{styles}. Frank felt that the standard document styles were not good enough for his work; he wanted additional commands and environments. At the same time he was interested in typography and, -after reading Tschichold's \emph{Ausgewählte Aufsätze über Fragen der +after reading Tschichold's \emph{Ausgew\"ahlte Aufs\"atze \"uber Fragen der Gestalt des Buches und der Typographie} (Selected Articles on the Problems of Book Design and Typography) \cite{JTsch87}, he decided to write his own document style\,---\,and not just a one-time solution to his lecture notes, but an entire style family, one specifically designed for European and German typography. Thus {\Script} was born. -Markus Kohm, the developer of {\KOMAScript}, came across {\Script} in -December 1992 and added an option to use the A5 paper format. This and -other changes were then incorporated into {\ScriptII}, released by Frank -in December 1993. +Markus Kohm, the developer of {\KOMAScript}, came across {\Script} in December +1992 and added an option to use the A5 paper format. At that time neither the +standard style nor {\Script} provided support for A5 paper. Therefore it did +not take long until Markus made the first changes to {\Script}. This and other +changes were then incorporated into {\ScriptII}, released by Frank in December +1993. Beginning in mid-1994, {\LaTeXe} became available and brought with it many changes. Users of {\ScriptII} were faced with either limiting their @@ -144,7 +201,8 @@ all over the world, and this has led to many new macros\,---\,all needing documentation; hence this ``small guide.'' -\section{Special Thanks}\label{sec:introduction.thanks} +\section{Special Thanks} +\label{sec:introduction.thanks} Acknowledgements in the introduction? No, the proper acknowledgements can be found in the addendum. My comments here are not intended for the authors of @@ -156,7 +214,7 @@ come about. I am indebted to the many persons who have contributed to Jens-Uwe Morawski and Torsten Kr\"uger. The English translation of the guide is, among many other things, due to Jens's untiring commitment. Torsten was the best beta-tester I ever had. His work has particularly enhanced the -usability of \Class{scrlttr2} und \Class{scrpage2}. Many thanks to all who +usability of \Class{scrlttr2} and \Class{scrpage2}. Many thanks to all who encouraged me to go on, to make things better and less error-prone, or to implement additional features. @@ -167,7 +225,9 @@ distributed. Thanks as well to everybody in the {\TeX} newsgroups and mailing lists who answer questions and have helped me to provide support for {\KOMAScript}. -\section{Legal Notes}\label{sec:introduction.legal} + +\section{Legal Notes} +\label{sec:introduction.legal} {\KOMAScript} was released under the {\LaTeX} Project Public License. You will find it in the file \File{lppl.txt}. An unofficial German-language @@ -181,36 +241,44 @@ conditions of the {\LaTeX} Project Public Licence. If you need a free version of this guide, use the version that is provided as part of the {\KOMAScript} bundle.} -\section{Installation}\label{sec:introduction.installation} -Installation information can be found in the file \File{INSTALL.txt}. You -should also read the documentation that comes with the {\TeX} distribution you -are using. -\section{Bugreports and Other Requests} +\section{Installation} +\label{sec:introduction.installation} + +The three most important \TeX{} distributions, Mac\TeX, MiK\TeX, and \TeX{} +Live, make \KOMAScript{} available by their package management software. It is +recommended to make installations and updates of \KOMAScript{} using these +tools. Nevertheless the manual installation without using the package managers +has been described in the file \File{INSTALL.txt}, that is part of every legal +\KOMAScript{} bundle. You should also read the documentation that comes with +the {\TeX} distribution you are using. + + +\section{Bug Reports and Other Requests} \label{sec:introduction.errors} If you think you have found an error in the documentation or a bug in one of -the {\KOMAScript} classes, one of the {\KOMAScript} packages, or another -part of {\KOMAScript}, please do the following: first have a look on -CTAN to see if a newer version of {\KOMAScript} is available; in this case -install the applicable section and try again. +the {\KOMAScript} classes, one of the {\KOMAScript} packages, or another part +of {\KOMAScript}, please do the following: first have a look on CTAN to see if +a newer version of {\KOMAScript} is available; if a newer version is +available, % in this case +install the +applicable section and try again. If you are using the most recent version of {\KOMAScript} and still have a -bug, please provide a short {\LaTeX} document that demonstrates the problem. You -should only use the packages and definitions needed to demonstrate the -problem; do not use any unusual packages. +bug, please provide a short {\LaTeX} document that demonstrates the +problem. You should only use the packages and definitions needed to +demonstrate the problem; do not use any unusual packages. By preparing such an example it often becomes clear whether the problem is -truly a {\KOMAScript} bug or something else. Please report {\KOMAScript} (only) -bugs to the author of {\KOMAScript}. Please use \File{komabug.tex}, an -interactive {\LaTeX} document, to generate your bug report and send it to the -address you may find at \File{komabug.tex}. +truly a {\KOMAScript} bug or something else. To find out the version numbers +of all packages in use, simply put \Macro{listfiles} in the preamble of your +example and read the end of the \File{log}-file. -If you want to ask your question in a newsgroup or mailing list, you -should also include such an example as part of your question, but in this -case, using \File{komabug.tex} is not necessary. To find out the version -numbers of all packages in use, simply put \Macro{listfiles} in the preamble of -your example and read the end of the \File{log}-file. +Please report {\KOMAScript} (only) bugs to +\href{mailto:komascript@gmx.info}{komascript@gmx.info}. If you want to ask +your question in a Usenet group, mailing list, or Internet forum, you should +also include such an example as part of your question. \section{Additional Information} @@ -218,13 +286,12 @@ your example and read the end of the \File{log}-file. Once you become an experienced {\KOMAScript} user you may want to look at some more advanced examples and information. These you will find on the -{\KOMAScript} documentation web site \cite{homepage}. The main -language of the site is German, but nevertheless English is -welcome. +{\KOMAScript} documentation web site \cite{homepage}. The main language of the +site is German, but nevertheless English is welcome. \endinput %%% Local Variables: %%% mode: latex -%%% coding: iso-latin-1 +%%% coding: us-ascii %%% TeX-master: "../guide.tex" %%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/linkalias.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/linkalias.tex new file mode 100644 index 00000000000..0c19526f10e --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/linkalias.tex @@ -0,0 +1,67 @@ +% ====================================================================== +% linkalias.tex +% Copyright (c) Markus Kohm, 2008-2012 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ---------------------------------------------------------------------- +% linkalias.tex +% Copyright (c) Markus Kohm, 2008-2012 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% +% Link Aliase, die für die freie Version der Anleitung benötigt werden. +% + +\ProvidesFile{linkalias.tex}[2012/02/16 link aliases for the free version] + +\makeatletter +\newcommand*{\lalias}[2]{% + \scr@ifundefinedorrelax{r@#1}{% + \expandafter\let\csname r@#1\expandafter\endcsname\csname r@#2\endcsname + }{}% +} +\makeatother + +\lalias{desc:maincls-experts.cmd.ifthispageodd}{sec:maincls-experts.addInfos} +\lalias{desc:maincls-experts.cmd.rightmark}{sec:maincls-experts.addInfos} +\lalias{desc:maincls-experts.cmd.the}{sec:maincls-experts.experts} +\lalias{desc:maincls-experts.option.parskip}{sec:maincls-experts.addInfos} +\lalias{desc:maincls-experts.env.addmargin*}{sec:maincls-experts.addInfos} +\lalias{desc:maincls-experts.cmd.marginpar}{sec:maincls-experts.addInfos} +\lalias{desc:maincls-experts.cmd.AfterBibliographyPreamble}{sec:maincls-experts.addInfos} +\lalias{desc:maincls-experts.option.fontsize}{sec:maincls-experts.addInfos} +\lalias{desc:maincls-experts.cmd.raggedsection}{sec:maincls-experts.coexistence} + +\lalias{desc:scrlttr2.cmd.setkomafont}{desc:maincls.cmd.setkomafont} +\lalias{desc:maincls.option.version}{desc:typearea.option.version} +\lalias{desc:scrlttr2.option.version}{desc:maincls.option.version} +\lalias{desc:scrlttr2.cmd.footnote}{desc:maincls.cmd.footnote} +\lalias{desc:scrlttr2.cmd.setfootnoterule}{desc:maincls.cmd.setfootnoterule} +\lalias{desc:scrlttr2.env.description}{desc:maincls.env.description} +\lalias{desc:scrlttr2.env.labeling}{desc:maincls.env.labeling} diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/preface.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/preface.tex new file mode 100644 index 00000000000..17ed62fca68 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/preface.tex @@ -0,0 +1,74 @@ +% ====================================================================== +% preface.tex +% Copyright (c) Markus Kohm, 2008-2012 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ---------------------------------------------------------------------- +% preface.tex +% Copyright (c) Markus Kohm, 2008-2012 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== + +\ProvidesFile{preface.tex}[2012/05/15 Preface to the KOMA-Script book] +%\translator{Markus Kohm} + +% Date of the translated German file: 0000/00/00 + +\addchap{Preface to new English \KOMAScript{} Guide} + +This is not a translation of the preface of the German \KOMAScript{} guide, +because this translation of the German \KOMAScript{} guide is still a work in +progress. Currently the chapters of \autoref{part:forAuthors} and +\autoref{cha:scrbase}, \autoref{cha:scrlfile}, \autoref{cha:scrhack}, +\autoref{cha:typearea-experts}, \autoref{cha:maincls-experts}, +\autoref{cha:scrlttr2-experts} are up-to-date. There may still be dead-links +and broken references at these chapters, because the referenced information in +chapters of other parts could be missing. + +The descriptions in \autoref{cha:scrwfile}, \autoref{cha:tocbasic} aren't +translations from the German manual but are primary descriptions from the +implementation of these packages. They should be up-to-date\,---\,sometimes +even more than the chapters from the German manual. + +So this English guide is complete but nevertheless not as good as the German +one, because my English is not as good as my German. Currently there's only +one editor for the English guide, Krickette Murabayashi, who improves my +translation for free. Many thanks to her for her very good job! Nevertheless, +additional editors or translators would be welcome! + +\endinput + +%%% Local Variables: +%%% mode: latex +%%% mode: flyspell +%%% ispell-local-dictionary: "english" +%%% coding: us-ascii +%%% TeX-master: "../guide" +%%% End: + diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/scraddr.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/scraddr.tex index 7028b66dbd4..beec72d274b 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/scraddr.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/scraddr.tex @@ -45,28 +45,27 @@ % % ====================================================================== -\ProvidesFile{scraddr.tex}[2008/07/10 KOMA-Script guide (chapter: scraddr)] +\ProvidesFile{scraddr.tex}[2012/02/23 KOMA-Script guide (chapter: scraddr)] \translator{Jens-Uwe Morawski\and Gernot Hassenpflug\and Markus Kohm} -% Date of translated german file: 2005/08/10 +% Date of translated german file: 2011/09/30 \chapter{Access to Address Files with \Package{scraddr}}% \labelbase{scraddr}% \BeginIndex{Package}{scraddr} \section{Overview}\label{sec:scraddr.overview} -The package \Package{scraddr} is a small extension to the -{\KOMAScript} letter class. Its aim is to make access to the data of -address files more flexible and easier. Basically, the package -implements a new loading mechanism for address files which contain -address entries in the form of \Macro{adrentry} and newer -\Macro{addrentry} commands, as described in the previous chapter. +The package \Package{scraddr} is a small extension to the {\KOMAScript} letter +class. Its aim is to make access to the data of address files more flexible +and easier. Basically, the package implements a new loading mechanism for +address files which contain address entries in the form of \Macro{adrentry} +and newer \Macro{addrentry} commands, as described in \autoref{cha:scrlttr2} +from \autopageref{desc:scrlttr2.cmd.adrentry}. \begin{Declaration} \Macro{InputAddressFile}\Parameter{file name} \end{Declaration}% \BeginIndex{Cmd}{InputAddressFile}% -% The command \Macro{InputAddressFile} is the main command of the \Package{scraddr}, and reads the content of the address file\Index{address>file} given as its parameter. If the file does not @@ -103,45 +102,44 @@ simply ignored. The commands for accessing the data are given by the name of the data field they are intended for. \begin{Declaration} -\Macro{Name}\Parameter{Key}\\ -\Macro{FirstName}\Parameter{Key}\\ -\Macro{LastName}\Parameter{Key}\\ -\Macro{Address}\Parameter{Key}\\ -\Macro{Telephone}\Parameter{Key}\\ -\Macro{FreeI}\Parameter{Key}\\ -\Macro{FreeII}\Parameter{Key}\\ -\Macro{Comment}\Parameter{Key}\\ -\Macro{FreeIII}\Parameter{Key}\\ -\Macro{FreeIV}\Parameter{Key} + \Macro{Name}\Parameter{key}\\ + \Macro{FirstName}\Parameter{key}\\ + \Macro{LastName}\Parameter{key}\\ + \Macro{Address}\Parameter{key}\\ + \Macro{Telephone}\Parameter{key}\\ + \Macro{FreeI}\Parameter{key}\\ + \Macro{FreeII}\Parameter{key}\\ + \Macro{Comment}\Parameter{key}\\ + \Macro{FreeIII}\Parameter{key}\\ + \Macro{FreeIV}\Parameter{key} \end{Declaration}% \BeginIndex{Cmd}{Name}\BeginIndex{Cmd}{FirstName}\BeginIndex{Cmd}{LastName}% \BeginIndex{Cmd}{Address}\BeginIndex{Cmd}{Telephone}\BeginIndex{Cmd}{FreeI}% \BeginIndex{Cmd}{FreeII}\BeginIndex{Cmd}{FreeIII}\BeginIndex{Cmd}{FreeIV}% \BeginIndex{Cmd}{Comment}% -% - These commands give access to data of your address file. The last parameter, i.\,e., parameter 8 for the \Macro{adrentry} entry and parameter 9 for the \Macro{addrentry} entry, is the identifier of an -entry, thus the \PName{Key} has to be unique and non-blank. The -\PName{Key} should only be composed of letters. - -If the file contains more than one entry with the same \PName{Key} -value, the last occurrence will be used. - +entry, thus the \PName{key} has to be unique and non-blank. The +\PName{key} should only be composed of multiple uppercase letters out of the +namespace of \TeX{} macro names. +If the file contains more than one entry with the same \PName{key} +value, the last occurrence will be used.% +% \EndIndex{Cmd}{InputAddressFile}% \EndIndex{Cmd}{Name}\EndIndex{Cmd}{FirstName}\EndIndex{Cmd}{LastName}% \EndIndex{Cmd}{Address}\EndIndex{Cmd}{Telephone}\EndIndex{Cmd}{FreeI}% \EndIndex{Cmd}{FreeII}\EndIndex{Cmd}{FreeIII}\EndIndex{Cmd}{FreeIV}% \EndIndex{Cmd}{Comment}% + \section{Usage}\label{sec:scraddr.usage} First of all, we need an address file with valid address entries. In this example the file has the name \File{lotr.adr} and contains the following entries. -\begin{lstlisting} +\begin{lstcode} \addrentry{Baggins}{Frodo}% {The Hill\\ Bag End/Hobbiton in the Shire}{}% {Bilbo Baggins}{pipe-weed}% @@ -154,22 +152,24 @@ following entries. {The Old Forest}{}% {Goldberry}{trill queer songs}% {The Master of Wood, Water and Hill}{TOM} -\end{lstlisting} +\end{lstcode} -The 4\textsuperscript{th} parameter, the telephone number, has been +The 4th parameter, the telephone number, has been left blank. If you know the story behind these addresses you will agree that a telephone number makes no sense here, and besides, it -should simply be possible to leave them out. The command +should simply be possible to leave them out. + +The command \Macro{InputAddressFile} is used to load the address file shown above: -\begin{lstlisting} +\begin{lstcode}[belowskip=\dp\strutbox] \InputAddressFile{lotr} -\end{lstlisting} +\end{lstcode} With the help of the commands introduced in this chapter we can now write a letter to old \textsc{Tom Bombadil}. In this letter we ask him if he can remember two fellow-travelers from Elder Days. -\begin{lstlisting} +\begin{lstcode}[belowskip=\dp\strutbox] \begin{letter}{\Name{TOM}\\\Address{TOM}} \opening{Dear \FirstName{TOM} \LastName{TOM},} @@ -190,23 +190,21 @@ him if he can remember two fellow-travelers from Elder Days. O wind on the waterfall, and the leaves' laughter!''} \end{letter} -\end{lstlisting} -In the address of letters often both firstname and lastname are -required. Thus, the command \Macro{Name}\PParameter{Key} is an -abridgement for \Macro{FirstName}\PParameter{Key} -\Macro{LastName}\PParameter{Key}. - -The 5\textsuperscript{th} and 6\textsuperscript{th} parameters of the -\Macro{adrentry} or \Macro{adrentry} commands are for free use. They -are accessible with the commands \Macro{FreeI} and \Macro{FreeII}. In -this example, the 5\textsuperscript{th} parameter contains the name of -a person who is the most important in the life of the entry's person, -the 6\textsuperscript{th} contains the person's passion. The -7\textsuperscript{th} parameter is a comment or in general also a free -parameter. The commands \Macro{Comment} or \Macro{FreeIII} give access -to this data. Use of \Macro{FreeIV} is only valid for -\Macro{addrentry} entries; for \Macro{adrentry} entries it results in -an error. More on this is covered in the next section. +\end{lstcode} +In the address of letters often both firstname and lastname are required, als +shown above in \Macro{opening}. Thus, the command +\Macro{Name}\PParameter{key} is an abridgement for +\Macro{FirstName}\PParameter{key} \Macro{LastName}\PParameter{key}. + +The 5th and 6th parameters of the \Macro{adrentry} or \Macro{adrentry} +commands are for free use. They are accessible with the commands +\Macro{FreeI} and \Macro{FreeII}. In this example, the 5th parameter contains +the name of a person who is the most important in the life of the entry's +person, the 6th contains the person's passion. The 7th parameter is a comment +or in general also a free parameter. The commands \Macro{Comment} or +\Macro{FreeIII} give access to this data. Use of \Macro{FreeIV} is only valid +for \Macro{addrentry} entries; for \Macro{adrentry} entries it results in an +error. More on this is covered in the next section. \EndIndex{Package}{scraddr} \section{Package Warning Options} @@ -216,24 +214,22 @@ is used for \Macro{adrentry} entries. How \Package{scraddr} reacts in such a situation is decide by package options. \begin{Declaration} -\Option{adrFreeIVempty}\\ -\Option{adrFreeIVshow}\\ -\Option{adrFreeIVwarn}\\ -\Option{adrFreeIVstop} -\end{Declaration} -% -\BeginIndex{Option}{adrFreeIVempty}\BeginIndex{Option}{adrFreeIVshow} -\BeginIndex{Option}{adrFreeIVwarn}\BeginIndex{Option}{adrFreeIVstop} -% + \Option{adrFreeIVempty}\\ + \Option{adrFreeIVshow}\\ + \Option{adrFreeIVwarn}\\ + \Option{adrFreeIVstop}% +\end{Declaration}% +\BeginIndex{Option}{adrFreeIVempty}\BeginIndex{Option}{adrFreeIVshow}% +\BeginIndex{Option}{adrFreeIVwarn}\BeginIndex{Option}{adrFreeIVstop}% These four options allow the user to choose between \emph{ignore} and \emph{rupture} during the {\LaTeX} run if \Macro{FreeIV} has been used with an \Macro{adrentry} entry. -\begin{labeling}[\,--]{\Option{adrFreeIVempty}} +\begin{labeling}[~--]{\Option{adrFreeIVempty}} \item[\Option{adrFreeIVempty}] the command \Macro{FreeIV} will be ignored \item[\Option{adrFreeIVshow}] - ``(entry FreeIV undefined at \PName{Key})'' will be + ``(entry FreeIV undefined at \PName{key})'' will be written as warning in the text \item[\Option{adrFreeIVwarn}] writes a warning in the logfile @@ -242,14 +238,15 @@ with an \Macro{adrentry} entry. \end{labeling} To choose the desired reaction, one of these options can be given in the optional argument of the \Macro{usepackage} command. The default -setting is \Option{adrFreeIVshow}. +setting is \Option{adrFreeIVshow}.% % -\EndIndex{Option}{adrFreeIVempty}\EndIndex{Option}{adrFreeIVshow} +\EndIndex{Option}{adrFreeIVempty}\EndIndex{Option}{adrFreeIVshow}% \EndIndex{Option}{adrFreeIVwarn}\EndIndex{Option}{adrFreeIVstop} +\endinput %%% Local Variables: %%% mode: latex -%%% coding: iso-latin-1 +%%% coding: us-ascii %%% TeX-master: "../guide" %%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/scrbase.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/scrbase.tex new file mode 100644 index 00000000000..ce472d81292 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/scrbase.tex @@ -0,0 +1,1209 @@ +% ====================================================================== +% scrbase.tex +% Copyright (c) Markus Kohm, 2002-2012 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ---------------------------------------------------------------------- +% scrbase.tex +% Copyright (c) Markus Kohm, 2002-2012 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% +% Package scrbase for Package and Class Authors +% Maintained by Markus Kohm +% +% ---------------------------------------------------------------------- +% +% Paket scrbase fuer Paket- und Klassenautoren +% Verwaltet von Markus Kohm +% +% ====================================================================== + +\ProvidesFile{scrbase.tex}[2012/03/04 KOMA-Script package scrbase] +\translator{Markus Kohm} + +% Date of the translated German file: 2012/03/04 + +\chapter{Basic Functions at Package \Package{scrbase}} +\labelbase{scrbase} + +\BeginIndex{Package}{scrbase}% + +The package \Package{scrbase} provides basic features, that are designed and +implemented to be used by authors of packages and classes. Thereby it may not +only used for wrapper classes, that use a \KOMAScript{} class. Authors of +classes, that aren't related to anything else from \KOMAScript{}, may also +benefit from the functionality of \Package{scrbase}. + +\section{Loading the Package} +\label{sec:scrbase.loadit} + +Whereas users load packages using \Macro{usepackage}, authors of packages or +classes should use \Macro{RequirePackage}\IndexCmd{RequirePackage}. Authors of +wrapper packages may also use \Macro{RequirePackageWithOptions}. Command +\Macro{RequirePackage} has the same optional argument for package options like +\Macro{usepackage}. In opposite to this \Macro{RequirePackageWithOptions} +doesn't have an optional argument but passes all options given while loading +the wrapper package to the required package. See \cite{latex:clsguide} for +more information about these commands. + +The package \Package{scrbase} needs the functionality of package +\Package{keyval}\IndexPackage{keyval} internally. This may be provided by +package \Package{xkeyval} alternatively. Package \Package{scrbase} loads +\Package{keyval} as needed. + +The package \Package{keyval} provides definition of keys and assignment of +values to this keys. The options provided by \Package{scrbase} also use +\Package{keyval} syntax: \PName{key}\texttt{=}\PName{value}. + +\begin{Declaration} + \KOption{internalonly}\PName{value} +\end{Declaration} +\BeginIndex{Option}{internalonly~=\PName{value}}% +Package \Package{scrbase} provides some commands for conditional +execution. The primary names of those are build like +\Macro{scr@\PName{name}}. With this those are internal commands. \KOMAScript{} +really uses this internal commands internally. Authors of packages and classes +may use those internal commands too, but should not redefine them. Because +some of those commands may be useful for users too, they are also provided as +\Macro{\PName{name}} normally. But eventually other packages provide commands +with the same name but different syntax or different functionality. This would +result in an conflict. So \Package{scrbase} provides to suppress the +definition of the user commands, \Macro{\PName{name}}, only. Using option +\Option{internalonly} without \PName{value} will define only the internal +commands and suppress definition of all the user commands for conditional +execution. Alternatively, the user may give all the commands, that shouldn't +be defined as \PName{value}, but replaces ``\Macro{}'' by ``\texttt{/}''. + +Authors of packages and classes normally should not use this option. Users may +use it with or without \PName{value} either as a global option with +\Macro{documentclass} or using \Macro{PassOptionsToPackage}. +\begin{Example} + The user doesn't want \Package{scrbase} to define commands \Macro{ifVTeX} + and \Macro{ifundefinedorrelax}. Because of this, user uses: +\begin{lstcode} + \documentclass% + [internalonly=/ifVTeX/ifundefinedorrelax]% + {foo} +\end{lstcode} + to load the class. Class name \Class{foo} has been used as an placeholder + for any class in this example. The meanings of commands \Macro{ifVTeX} and + \Macro{ifundefinedorrelax} and many more commands for conditional execution + may be found in \autoref{sec:scrbase.if}. +\end{Example} +% +\EndIndex{Option}{internalonly~=\PName{value}}% + + +\section{Keys as Attributes of Families and their Members} +\label{sec:scrbase.keyvalue} + +As already mentioned in \autoref{sec:scrbase.loadit}, \Package{scrbase} uses +package \Package{keyval} for keys and values of keys. Nevertheless +\Package{scrbase} extends the functionality of \Package{keyval}. Whereas only +one family owns all keys of \Package{keyval}, \Package{scrbase} knows also +family members. Now, a key may be owned by a family or by one or more family +members. Additionally a value may be assigned to the key of a family member, +of a family or of all family members. + +\begin{Declaration} + \Macro{DefineFamily}\Parameter{family}\\ + \Macro{DefineFamilyMember}\OParameter{family member}\Parameter{family} +\end{Declaration} +\BeginIndex{Cmd}{DefineFamily}% +\BeginIndex{Cmd}{DefineFamilyMember}% +\Package{scrbase} needs to know the members of a family for different +reasons. So it's necessary first to define a new family using +\Macro{DefineFamily}, that produces also an empty member list. If the family +has already been defined nothing would happen. Nothing means also, that an +already existing member list would not be overwritten. + +A new member may be added to the family using \Macro{DefineFamilyMember}. If +the family doesn't exist, this would result in an error message. If the member +already exists, nothing happens. If the member is omitted, the member won't +stay empty, but ``\texttt{.}\Macro{@currname}\texttt{.}\Macro{@currext}'' will +be assumed. While loading a class or package \Macro{@currname} and +\Macro{@currext} together represent the file name of the class or package. + +Theoretically is would be possible, to define a member without a name using an +empty optional argument \PName{family member}. But this would be same like the +family itself. It is recommended to use only letters and digits at the +\PName{family} an start the \PName{family member} with another char like a +period. Otherwise it could happen, that members of one family are same like +members of another family. + +\Package{scrbase} itself defines family ``\PValue{KOMA}'' and adds member +``\PValue{.scrbase.sty}'' to is. Generally family ``\PValue{KOMA}'' is +reserved to \KOMAScript{}. For your own packages it is recommended to use the +name of the bundle as \PName{family} and the name of the package as +\PName{family member} of that \PName{family}. +% +\begin{Example} + Assumed you're writing a bundle ``master butcher''. Within that bundle you + have packages \File{salami.sty}, \File{liversausage.sty}, and + \File{kielbasa.sty}. Therefor you decide to use family name + ``\PValue{butcher}'' and add the lines +\begin{lstcode} + \DefineFamily{butcher} + \DefineFamilyMember{butcher} +\end{lstcode} + to each of the package files. While loading the three packages this will + all the members ``\PValue{.salami.sty}'', ``\PValue{.liversausage.sty}'', + and ``\PValue{.kielbasa.sty}'' to the family ``\PValue{butcher}''. After + loading all three packages, all three member will be defined. +\end{Example} +% +\EndIndex{Cmd}{DefineFamilyMember}% +\EndIndex{Cmd}{DefineFamily}% + + +\begin{Declaration} + \Macro{DefineFamilyKey}\OParameter{family member}\Parameter{family}% + \Parameter{key}\OParameter{default}\\ + \hphantom{\Macro{DefineFamilyKey}}\Parameter{action} +\end{Declaration} +\BeginIndex{Cmd}{DefineFamilyKey}% +This command defines a \PName{key}. If a \PName{family member} is given, the +\PName{key} will become an attribute of that member of the also given +\PName{family}. If no \PName{family member} is given, the member +``\texttt{.}\Macro{@currname}\texttt{.}\Macro{@currext}'' will be assumed. If +later a value will be assigned to the \PName{key}, the \PName{action} will be +executed and the value will be an argument of this. So inside of +\PName{action} ``\lstinline{#1}'' would be that value. If the value will be +omitted, the \PName{default} will be used instead. If there's no +\PName{default}, the \PName{key} can be used only with value. +\begin{Explain} + \phantomsection\label{explain:scrbase.macro.DefineFamilyKey}% + At least +\begin{lstcode}[escapeinside=`'] + \DefineFamilyKey[`\PName{member}']{`\PName{family}'}{`\PName{key}'} + [`\PName{default}']{`\PName{action}'} +\end{lstcode} + will result in a call of +\begin{lstcode}[moretexcs={define@key},escapeinside=`'] + \define@key{`\PName{family\,member}'}{`\PName{key}'} + [`\PName{default}']{`\PName{action}'} +\end{lstcode} + with \Macro{define@key} is provided by package + \Package{keyval}\IndexPackage{keyval} (see \cite{package:keyval}). +\end{Explain} +\begin{Example} + Assumed, each of the three packages from the previous example should get a + key \PValue{coldcuts}. If this is used, a switch should be set at each of + the packages. For package \Package{salami} this may be, e.\,g., +\begin{lstcode} + \newif\if@Salami@Aufschnitt + \DefineFamilyKey{butcher}% + {coldcut}[true]{% + \expandafter\let\expandafter\if@salami@coldcut + \csname if#1\endcsname + } +\end{lstcode} + Available values for the key are \PValue{true} or \PValue{false} in this + case. There's no test on inappropriate values in this example. If the key + will be used later, this has to be done with one of the allowed values or + without assignment. In the second case the default \PName{true} will be + used. + + The definitions in the other packages are similar. Only ``\texttt{salami}'' + has to be replaced by the corresponding names. +\end{Example} +% +\EndIndex{Cmd}{DefineFamilyKey}% + + +\begin{Declaration} + \Macro{FamilyProcessOptions}\OParameter{family member}\Parameter{family} +\end{Declaration} +\BeginIndex{Cmd}{FamilyProcessOptions}% +Generally the extension of keys of families to keys of families and family +members was mentioned to use keys or key-value settings as class or package +options. This command therefor is an extension of \Macro{ProcessOption*} from +\LaTeX{} kernel (see \cite{latex:clsguide}. Thereby the command processes not +only options that has been declared using \Macro{DeclareOption}. It processes +even all keys of the given family member. If the optional argument +\PName{family member} is omitted, family member +``\texttt{.}\Macro{@currname}\texttt{.}\Macro{@currext}'' will be used. + +Somehow special are keys, that are not attached to a family member, but to a +family. These are keys with an empty family member. Such keys will be set also +and before the keys of the family members. +\begin{Example} + If a package in the previous example would be extended by the line +\begin{lstcode} + \FamilyProcessOptions{butcher} +\end{lstcode} + then the user may select the option \Option{coldcut} while loading the + package. If the option will be used globally, this means at the optional + argument of \Macro{documentclass}, then the option would be passed + automatically to all three packages, if all three packages will be loaded + later. +\end{Example} +Please note\textnote{Attention!} that packages process global options always +before local options, that has been assigned locally to the package. In +opposite to unknown options while processing of global options, that will only +result in an information in the \File{log}-file, unknown options assigned to +the package result in error messages. + +\Macro{FamilyProcessOptions} may be interpreted either as an extension of +\Macro{ProcessOption*} or as an extension of the \PName{key=value} mechanism +of \Package{keyval}. Finally \PName{key=value} pairs become options with help +of \Macro{FamilyProcessOptions}.% +% +\EndIndex{Cmd}{FamilyProcessOptions}% + + +\begin{Declaration} + \Macro{FamilyExecuteOptions}\OParameter{family member}\Parameter{family}% + \Parameter{options list} +\end{Declaration} +\BeginIndex{Cmd}{FamilyExecuteOptions}% +This command is an extension of \Macro{ExecuteOptions} from the \LaTeX{} +kernel (see \cite{latex:clsguide}). Thereby the command processes not only +options, that has been defined using \Macro{DeclareOption}. Also all keys of +the given family member will be processed. If the optional argument +\Macro{family member} is omitted, then +``\texttt{.}\Macro{@currname}\texttt{.}\Macro{@currext}'' is used. + +Somehow special are keys, that are not attached to a family member, but to a +family. These are keys with an empty family member. Such keys will be set also +and before the keys of the family members. +\begin{Example} + Assumed, option \Option{coldcut} should be set by default already in the + previous example. In this case only line +\begin{lstcode} + \FamilyExecuteOptions{butcher}{coldcut} +\end{lstcode} + has to be added. +\end{Example} +% +\EndIndex{Cmd}{FamilyExecuteOptions}% + + +\begin{Declaration} + \Macro{FamilyOptions}\Parameter{family}\Parameter{options list}\\ + \Macro{Family@Options}\Parameter{family}\Parameter{options list}% + \Parameter{error action} +\end{Declaration} +\BeginIndex{Cmd}{FamilyOptions}% +\BeginIndex{Cmd}{Family@Options}% +Thereby \PName{options list} is like: +\begin{flushleft}\vskip\dp\strutbox\begin{tabular}{l} + \PName{key}\texttt{=}\PName{value}\texttt{,}% + \PName{key}\texttt{=}\PName{value}\dots +\end{tabular}\vskip\dp\strutbox\end{flushleft} +whereby the value assignment may be omitted for \PName{key}s, that have a +defined default. + +In opposite to average options, that has been defined using +\Macro{DeclareOption}, the \PName{key}s may also be set after loading a class +or package. For this the user uses \Macro{FamilyOptions}. Thereby the +\PName{key}s of all members of the given family will be set. If a \PName{key} +also exists as an family attribute, then the family key will be set +first. After this the member keys will follow in the order, the members has +been defined. If a given \PName{key} does exist neither in the family nor in +any member of the family, then \Macro{FamilyOptions} will result in an +error. In opposite to this with \Macro{Family@Options} the user may declare +his own \PName{error action}. But this internal command is reserved for +authors of classes and packages. +\begin{Example} + You extend your butcher project by a package \Package{sausagesalad}. If this + package has been loaded, all sausage package should generate cold cut: +\begin{lstcode} + \ProvidesPackage{sausagesalad}% + [2008/05/06 nonsense package] + \DefineFamily{butcher} + \DefineFamilyMember{butcher} + \FamilyProcessOptions{butcher}\relax + \FamilyOptions{butcher}{coldcut} +\end{lstcode} + If currently non of the sausage packages has been loaded, then an error + message would result because of undefined option ``\Option{coldcut}''. Dies + may be avoided changing the last line of the previous code into: +\begin{lstcode}[moretexcs={Family@Options}] + \Family@Options{butcher}{coldcut}{} +\end{lstcode} + Nevertheless, sausage packages, that will be loaded after + \Package{sausagesalad}, won't produce cold cut. This may be changed + additionally, by changing the last line again: +\begin{lstcode}[moretexcs={Family@Options}] + \AtBeginDocument{% + \Family@Options{butcher}{coldcut}{% + \PackageWarning{sausagesalad}{% + sausage salad needs at least + one sausage package}% + }% + }% +\end{lstcode} + This will also throw a warning message, if non of the sausage packages will + be loaded. +\end{Example} +% +\EndIndex{Cmd}{Family@Options}% +\EndIndex{Cmd}{FamilyOptions}% + + +\begin{Declaration} + \Macro{FamilyOption}\Parameter{family}% + \Parameter{option}\Parameter{values list}\\ + \Macro{Family@Option}\Parameter{family}% + \Parameter{option}\Parameter{values list}% + \Parameter{error action} +\end{Declaration} +\BeginIndex{Cmd}{FamilyOption}% +\BeginIndex{Cmd}{Family@Option}% +Beside options that have concurrently excluding values, there may be options, +that have several values at the same time. Using \Macro{FamilyOptions} for +that kind of options would result in using the same option several times with +different value assignments. Instead of this, \Macro{FamilyOption} may be used +to assign a whole \PName{values list} to the same \PName{option}. The +\PName{values list} is a comma separated list of values: +\begin{flushleft}\begin{tabular}{l} + \PName{value}\texttt{,}\PName{value}\dots +\end{tabular}\end{flushleft} +By the way please note, that usage of a comma inside a value may be done only, +if the value is put into braces. The general functionality of these commands +is the same like that of the previous commands \Macro{FamilyOptions} and +\Macro{Family@Options}. +\begin{Example} + Package \Package{sausagesalad} should have one mire option, to add + additional ingredients. Each of the ingredients will set a switch like done + before for the cold cut. +\begin{lstcode} + \newif\if@saladwith@onions + \newif\if@saladwith@gherkins + \newif\if@saladwith@chillies + \DefineFamilyKey{butcher}{ingredient}{% + \csname @saladwith@#1true\endcsname + } +\end{lstcode} + Here the three ingredients ``onions'', ``gherkins'', and ``chillies'' has + been defined. An error message for not defined ingredients doesn't exist. + + For a salad with onions and gherkins the user may use +\begin{lstcode} + \FamilyOptions{butcher}{% + ingredient=onions,ingredient=gherkins} +\end{lstcode} + or shorter +\begin{lstcode} + \FamilyOption{butcher} + {ingredient}{onions,gherkins} +\end{lstcode} +\end{Example} +% +\EndIndex{Cmd}{Family@Option}% +\EndIndex{Cmd}{FamilyOption}% + + +\begin{Declaration} + \Macro{FamilyBoolKey}\OParameter{family member}\Parameter{family}% + \Parameter{key}\Parameter{switch name}\\ + \Macro{FamilySetBool}\Parameter{family}% + \Parameter{key}\Parameter{switch name}\Parameter{value} +\end{Declaration} +\BeginIndex{Cmd}{FamilyBoolKey}% +\BeginIndex{Cmd}{FamilySetBool}% +In the previous examples boolean switches often have been used. In the example +with option \Option{coldcut} is was necessary, that the user assigns either +value \PValue{true} or value \PValue{false}. No error message existed on wrong +value assignment. Because of such boolean switches are an often needed +feature, \Package{scrbase} provides \Macro{FamilyBoolKey} for definition of +such options. Thereby the arguments \PName{family member}, \PName{family}, +and \PName{key} are same like used by \Macro{DefineFamilyKey} (see +\autopageref{desc:scrbase.cmd.DefineFamilyKey}). Argument \PName{switch name} +is the name of the switch without the prefix \Macro{if}. If a switch with this +name doesn't exist already, \Macro{FamilyBoolKey} will define it and +initialize it to \PName{false}. Internally \Macro{FamilyBooKey} uses +\Macro{FamilySetBool} as \PName{action} of \Macro{DefineFamilyKey}. The +\PName{default} for those options is always \PValue{true}. + +\Macro{FamilySetBool} on the other side understands \PName{value} \PValue{on} +and \PValue{yes} beside \PName{true} for switching on and \PName{off} and +\PName{no} beside \PName{false} for switching off. Unknown values will result +in a call of \Macro{FamilyUnknownKeyValue} with the arguments \PName{family}, +\PName{key}, and \PName{value}. This will normally result in an error message +about unknown value assignment (see also +\autopageref{desc:scrbase.cmd.FamilyUnkownKeyValue}). +\begin{Example} + The key \Option{coldcut} should be declared somehow more robust. Additionally + all sausage packages should use the same key. So either all or none of them + will produce cold cut. +\begin{lstcode} + \FamilyBoolKey{butcher}{coldcut}% + {@coldcut} +\end{lstcode} + A test, whether or not to produce cold cut, may be: +\begin{lstcode} + \if@coldcut + ... + \else + ... + \fi +\end{lstcode} + This would be the same in each of the three sausage packages. With this the + attribute ``coldcut'' may be defined as a family option: +\begin{lstcode}[moretexcs={define@key}] + \@ifundefined{if@coldcut}{% + \expandafter\newif\csname if@coldcut\endcsname + }{}% + \define@key{butcher}{coldcut}[true]{% + \FamilySetBool{butcher}{coldcut}% + {@coldcut}% + {#1}% + } +\end{lstcode} + or shorter: +\begin{lstcode} + \FamilyBoolKey[]{butcher}{coldcut}% + {@coldcut} +\end{lstcode} + using the additional information at + \autopageref{explain:scrbase.macro.DefineFamilyKey}, that's not only valid + for \Macro{DefineFamilyKey} but for \Macro{FamilyBoolKey} too. +\end{Example} +% +\EndIndex{Cmd}{FamilySetBool}% +\EndIndex{Cmd}{FamilyBoolKey} + + +\begin{Declaration} + \Macro{FamilyNumericalKey}\OParameter{family member}\Parameter{family}% + \Parameter{key}\\ + \hphantom{\XMacro{FamilyNumericalKey}}% + \OParameter{default}\Parameter{command}% + \Parameter{values list}\\ + \Macro{FamilySetNumerical}\Parameter{family}\Parameter{key}\\ + \hphantom{\XMacro{FamilySetNumerical}}% + \Parameter{command}\Parameter{values list}% + \Parameter{value} +\end{Declaration} +\BeginIndex{Cmd}{FamilyNumericalKey}% +\BeginIndex{Cmd}{FamilySetNumerical}% +In opposite to switches that may be either true or false, also key exists, +that accept several values. For example an alignment may not only be left or +not left, but, e.\,g., left, centered, or right. Internally such +differentiations are often made using \Macro{ifcase}. This \TeX{} command +expects a numerical value. Because of this the command to define a macro by +a \PName{key} has been named \Macro{FamilyNumericalKey} in +\Package{scrbase}. The \PName{values list} thereby has the form: +\begin{flushleft}\vskip\dp\strutbox\begin{tabular}{l} + \Parameter{value}\Parameter{definition}\texttt{,}% + \Parameter{value}\Parameter{definition}\texttt{,}% + \dots +\end{tabular}\vskip\dp\strutbox\end{flushleft} +So the \PName{values list} does not only define the supported values to the +\PName{key}. For each of the \PName{value}s it also gives the +\PName{definition} of macro \Macro{\PName{command}}. Usually +\PName{definition} is just a numerical value. Nevertheless other content is +possible and allowed. Currently the only limitation is, that +\PName{definition} has to be fully expandable and will be expanded while the +assignment. +\begin{Example} + The sausage may be cut different. For example the cold cut may stay uncut or + will by cut roughly or may be cut thinly. This information should be stored + in command \Macro{cuthow}. +\begin{lstcode} + \FamilyNumericalKey{butcher}% + {saladcut}{cuthow}{% + {none}{none},{no}{none},{not}{none}% + {rough}{rough},% + {thin}{thin}% + } +\end{lstcode} + Not cutting anything may be selected either by +\begin{lstcode} + \FamilyOptions{butcher}{saladcut=none} +\end{lstcode} + or +\begin{lstcode} + \FamilyOptions{butcher}{saladcut=no} +\end{lstcode} + or +\begin{lstcode} + \FamilyOptions{butcher}{saladcut=not} +\end{lstcode} + In all three cases \Macro{cuthow} would be defined with content + \PValue{none}. It may be very useful to provide several values for the same + result like shown in this example. + + Now, it's most likely, that the kind of cutting will not be printed, but + should be evaluated later. In this case a textual definition wouldn't be + useful. If the key is defined like this: +\begin{lstcode} + \FamilyNumericalKey{butcher}% + {saladcut}{cuthow}{% + {none}{0},{no}{0},{not}{0}% + {rough}{1},% + {thin}{2}% + } +\end{lstcode} + then a condition like this: +\begin{lstcode} + \ifcase\cuthow + % no cut + \or + % rough cut + \else + % thin cut + \fi +\end{lstcode} + may be used. +\end{Example} +Internally \Macro{FamilyNumericalKey} uses \Macro{FamilySetNumerical} as +\PName{action} of \Macro{DefineFamilyKey}. If a unknown value is assigned to +such a key, \Macro{FamilySetNumerical} will call \Macro{FamilyUnkownKeyValue} +with the arguments \PName{family}, \PName{key} and \PName{value}. This will +normally result in an error message about assigning an unknown value. +% +\EndIndex{Cmd}{FamilySetNumerical}% +\EndIndex{Cmd}{FamilyNumericalKey}% + + +\begin{Declaration} + \Macro{FamilyStringKey}\OParameter{family member}\Parameter{family}% + \Parameter{key}\\ + \hphantom{\XMacro{FamilyStringKey}}% + \OParameter{default}\Parameter{command} +\end{Declaration} +\BeginIndex{Cmd}{FamilyStringKey}% +This defines\ChangedAt{v3.08}{\Package{scrbase}} a \PName{key}, that accepts +every value. The value will be stored into the given \Macro{command}. If their +is no optional argument for the \PName{default}, \Macro{FamilyStringKey} is +the same like +\begin{quote} +\Macro{DefineFamilyKey}\OParameter{family member}\Parameter{family}% +\Parameter{key}\\ +\hphantom{\Macro{DefineFamilyKey}}% +\PParameter{\Macro{def}\PName{command}\string{\#1\string}}. +\end{quote} +If an optional argument \PName{default} has been used, \Macro{FamilyStringKey} +is the same like +\begin{quote} +\Macro{DefineFamilyKey}\OParameter{family member}\Parameter{family}% +\Parameter{key}\\ +\hphantom{\Macro{DefineFamilyKey}}% +\OParameter{default}% +\PParameter{\Macro{def}\PName{command}\string{\#1\string}}. +\end{quote} +If \PName{command} hasn't been defined already, an empty macro will be +defined. +\begin{Example} + By default an amount of 250\Unit{g} sausage salad should be produced. The + amount should be configurable by an option. The wanted amount will be stored + in the macro \Macro{saladweight}. The option should be named + \PValue{saladweight} too: +\begin{lstcode} + \newcommand*{\saladweight}{250g} + \FamilyStringKey{butcher}% + {saladweight}[250g]{\saladweight} +\end{lstcode} + To switch back to the default weight after changing it, the user may simply + use the option without weight: +\begin{lstcode} + \FamilyOptions{butcher}{saladweight} +\end{lstcode} + That may be done, because the default weight has been set as default at the + definition of the option above. +\end{Example} +In this case there are no unknown values, because all values are simply used +for a macro definition. Nevertheless, you should note, that paragraph breaks +at the value assignment to the key are not allowed. +% +\EndIndex{Cmd}{FamilyStringKey}% + + +\begin{Declaration} + \Macro{FamilyUnkownKeyValue}\Parameter{family}\Parameter{key}% + \Parameter{value}\Parameter{values list}\\ + \Macro{FamilyElseValues} +\end{Declaration} +\BeginIndex{Cmd}{FamilyUnkownKeyValue}% +\BeginIndex{Cmd}{FamilyElseValues}% +The command \Macro{FamilyUnknownKeyValue} throws and error message about +unknown values assigned to a known key. The \PName{values list} is a comma +separated list of allowed values in the form: +\begin{flushleft}\vskip\dp\strutbox\begin{tabular}{l} + `\PName{value}'\texttt{,} `\PName{value}' \dots +\end{tabular}\vskip\dp\strutbox\end{flushleft} +Additional allowed values may be set by \Macro{FamilyElseValues} 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} +These will also be shown in the error message. \Macro{FamilySetBool} as well +as \Macro{FamilySetNumerical} will reset \Macro{FamilyElseValue} to an empty +definition automatically\,---\,independent of whether or not a error has been +thrown. +\begin{Example} + Now, for the cold cut the choices should be cut or no cut and in case of cut + rough or thin. Rough should be the default for cutting. +\begin{lstcode} + \@ifundefined{if@thincut}{% + \expandafter + \newif\csname if@thincut\endcsname}{}% + \@ifundefined{if@coldcut}{% + \expandafter + \newif\csname if@coldcut\endcsname}{} + \DefineFamilyKey{butcher}% + {coldcut}[true]{% + \ifstr{#1}{thin}{% + \@coldcuttrue + \@thincuttrue + }{% + \@thincutfalse + \def\FamilyElseValue{, `thin'}% + \FamilySetBool{butcher}{coldcut}% + {@coldcut}% + {#1}% + }% + }% +\end{lstcode} + Command \Macro{ifstr} used at the example code above will be described at + \autopageref{desc:scrbase.cmd.ifstr} in \autoref{sec:scrbase.if}. +\end{Example} +% +\EndIndex{Cmd}{FamilyElseValues}% +\EndIndex{Cmd}{FamilyUnkownKeyValue}% + + +\section{Conditional Execution} +\label{sec:scrbase.if} + +The package \Package{scrbase} provides several commands for conditional +execution. Thereby not the \TeX{} syntax of conditionals, e.\,g., +% Umbruchkorrektur +\begin{lstcode}[belowskip=\dp\strutbox] + \iftrue + ... + \else + ... + \fi +\end{lstcode} +but the \LaTeX{} syntax also known from \LaTeX{} commands like +\Macro{IfFileExists}, \Macro{@ifundefined}, \Macro{@ifpackageloaded}, and many +others will be used. Nevertheless, some package authors prefer to use the +\TeX{} syntax even for users at the \LaTeX{} interface level. In fact the +conditionals of \Package{scrbase} are very basic conditionals, this could +result in conditionals with the same name but different syntax and though in +naming conflicts. Because of this \Package{scrbase} firstly defines these +conditionals as internal commands with prefix \Macro{scr@}. Additional user +commands without this prefix are additionally defined. But the definition of +the user commands may be suppressed with option \Option{internalonly} (see +\autoref{sec:scrbase.loadit}, \autopageref{desc:scrbase.option.internalonly}). + +Authors of packages and classes should use the internal commands like +\KOMAScript{} itself does. Nevertheless, for completeness the user commands +are described additionally. + + +\begin{Declaration} + \Macro{scr@ifundefinedorrelax}% + \Parameter{name}\Parameter{then instructions}\Parameter{else instructions}\\ + \Macro{ifundefinedorrelax}% + \Parameter{name}\Parameter{then instructions}\Parameter{else instructions} +\end{Declaration} +\BeginIndex{Cmd}{scr@ifundefinedorrelax}% +\BeginIndex{Cmd}{ifundefinedorrelax}% +This command has almost the same functionality as \Macro{@ifundefined} from +the \LaTeX{} kernel (see \cite{latex:source2e}). So the \PName{then + instructions} 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 instructions} will be executed. In opposite to +\Macro{@ifundefined} \Macro{\PName{name}} won't be defined to be \Macro{relax} +in the case it wasn't defined before. Using \eTeX{} this case won't at least +consume any hash memory.% +% +\EndIndex{Cmd}{ifundefinedorrelax}% +\EndIndex{Cmd}{scr@ifundefinedorrelax}% + + +\begin{Declaration} + \Macro{scr@ifpdftex}% + \Parameter{then instructions}\Parameter{else instructions}\\ + \Macro{ifpdftex}% + \Parameter{then instructions}\Parameter{else instructions} +\end{Declaration} +\BeginIndex{Cmd}{scr@ifpdftex}% +\BeginIndex{Cmd}{ifpdftex}% +If pdf\TeX{} has been used, the \PName{then instructions} will be executed, +otherwise the \PName{else instructions}. Whether or not a PDF-file will be +out, doesn't matter. Nevertheless, this pdf\TeX{} test seems so make sense +seldom only. Generally it's recommended to test for the wanted commands +instead (see previous \Macro{scr@ifundefinedorrelax} and +\Macro{ifundefinedorrelax}). +% +\EndIndex{Cmd}{ifpdftex}% +\EndIndex{Cmd}{scr@ifpdftex}% + + +\begin{Declaration} + \Macro{scr@ifVTeX}% + \Parameter{then instructions}\Parameter{else instructions}\\ + \Macro{ifVTeX}% + \Parameter{then instructions}\Parameter{else instructions} +\end{Declaration} +\BeginIndex{Cmd}{scr@ifVTeX}% +\BeginIndex{Cmd}{ifVTeX}% +If V\TeX{} has been used, the \PName{then instructions} will be executed, +otherwise the \PName{else instructions}. This test seems so make sense +seldom only. Generally it's recommended to test for the wanted commands instead +(see previous \Macro{scr@ifundefinedorrelax} and \Macro{ifundefinedorrelax}). +% +\EndIndex{Cmd}{ifVTeX}% +\EndIndex{Cmd}{scr@ifVTeX}% + + +\begin{Declaration} + \Macro{scr@ifpdfoutput}% + \Parameter{then instructions}\Parameter{else instructions}\\ + \Macro{ifpdfoutput}% + \Parameter{then instructions}\Parameter{else instructions} +\end{Declaration} +\BeginIndex{Cmd}{scr@ifpdfoutput}% +\BeginIndex{Cmd}{ifpdfoutput}% +While PDF-file generation the \PName{then instructions} will be executed, +otherwise the \PName{else instructions}. Whether, e.\,g., pdf\TeX{} or V\TeX{} +is used to generate the PDF-file doesn't matter. +% +\EndIndex{Cmd}{ifpdfoutput}% +\EndIndex{Cmd}{scr@ifpdfoutput}% + + +\begin{Declaration} + \Macro{scr@ifpsoutput}% + \Parameter{then instructions}\Parameter{else instructions}\\ + \Macro{ifpsoutput}% + \Parameter{then instructions}\Parameter{else instructions} +\end{Declaration} +\BeginIndex{Cmd}{scr@ifpsoutput}% +\BeginIndex{Cmd}{ifpsoutput}% +While PostScript-file generation the \PName{then instructions} will be executed, +otherwise the \PName{else instructions}. V\TeX{} provides direct PostScript +generation, that will be recognized here. If V\TeX{} is not used but a switch +\Macro{if@dvips} has been defined, the decision depends on that +switch. \KOMAScript{}, e.\,g., provides \Macro{if@dvips} in +\Package{typearea}. +% +\EndIndex{Cmd}{ifpsoutput}% +\EndIndex{Cmd}{scr@ifpsoutput}% + + +\begin{Declaration} + \Macro{scr@ifdvioutput}% + \Parameter{then instructions}\Parameter{else instructions}\\ + \Macro{ifdvioutput}% + \Parameter{then instructions}\Parameter{else instructions} +\end{Declaration} +\BeginIndex{Cmd}{scr@ifdvioutput}% +\BeginIndex{Cmd}{ifdvioutput}% +While DVI-file generation the \PName{then instructions} will be executed, +otherwise the \PName{else instructions}. If neither a direct PDF-file +generation nor a direct PostScript-file generation has been detected, DVI-file +generation is assumed. +% +\EndIndex{Cmd}{ifdvioutput}% +\EndIndex{Cmd}{scr@ifdvioutput}% + + +\begin{Declaration} + \Macro{ifnotundefined}\Parameter{name}% + \Parameter{then instructions}\Parameter{else instructions} +\end{Declaration} +\BeginIndex{Cmd}{ifnotundefined}% +\eTeX{} will be used to test, whether or not a command with the given +\PName{name} has already been defined. The \PName{then instructions} will be +executed, if the command is defined, the \PName{else instructions} +otherwise. There's no corresponding internal command for this. +% +\EndIndex{Cmd}{ifnotundefined}% + + +\begin{Declaration} + \Macro{ifstr}\Parameter{string}\Parameter{string}% + \Parameter{then instructions}\Parameter{else instructions} +\end{Declaration} +\BeginIndex{Cmd}{ifstr}% +Both \PName{string} arguments will be expanded and afterward compared. If the +expansions are same, the \PName{then instructions} will be +executed, otherwise the \PName{else instructions}. There's no corresponding +internal command for this. +% +\EndIndex{Cmd}{ifstr}% + + +\begin{Declaration} + \Macro{ifnumber}\Parameter{string}% + \Parameter{then instructions}\Parameter{else instructions} +\end{Declaration} +\BeginIndex{Cmd}{ifnumber}% +Note, that this does not compare numbers. The \PName{then instructions} will +be executed, if the expansion of \PName{string} consists of digits +only. Otherwise the \PName{else instructions} will be used. There's no +corresponding internal command for this. +% +\EndIndex{Cmd}{ifnumber}% + + +\begin{Declaration} + \Macro{ifdimen}\Parameter{string}% + \Parameter{then instructions}\Parameter{else instructions} +\end{Declaration} +\BeginIndex{Cmd}{ifdimen}% +Note, that this does not compare dimensions. The \PName{then instructions} will +be executed, if the expansion of \PName{string} consists of digits and a valid +unit of length. Otherwise the \PName{else instructions} will be used. There's no +corresponding internal command for this. +% +\EndIndex{Cmd}{ifdimen}% + + +\begin{Declaration} + \Macro{if@atdocument}\ \PName{the instructions} + \Macro{else}\ \PName{else instructions} \Macro{fi} +\end{Declaration} +\BeginIndex{Cmd}{if@atdocument}% +This command exists intentionally as internal command only. In the document +preamble \Macro{if@atdocument} is same like \Macro{iffalse}. After +\Macro{begin}\PParameter{document} it's same like \Macro{iftrue}. Authors of +classes and packages may use this, if a command should work somehow different +depending in whether it has been used in the preamble or inside the documents +body. Please note\textnote{Attention!}, that this is a condition in \TeX{} +syntax not in \LaTeX{} syntax! +% +\EndIndex{Cmd}{if@atdocument}% + + +\section{Definition of Language-Dependent Terms} +\label{sec:scrbase.languageSupport} +\BeginIndex{}{language>definition} +\index{language>dependent terms|see{language definition}} +\index{terms>language-dependent|see{language definition}} + +Normally one has to change or define language-dependent terms like +\Macro{captionsenglish} in such a way that in addition to the available terms +the new or redefined terms are defined. This is made more difficult by the +fact that some packages like \Package{german}\IndexPackage{german} or +\Package{ngerman}\IndexPackage{ngerman} redefine those settings when the +packages are loaded. This definitions unfortunately occurs in such a manner as +to destroy all previous private settings. That is also the reason why it makes +sense to delay own changes with \Macro{AtBeginDocument} until +\Macro{begin}\PParameter{document}, that is, after package loading is +completed. The user can also use \Macro{AtBeginDocument}, or redefine the +language-dependent terms after \Macro{begin}\PParameter{document}, that is, +not put them in the preamble at all. The package \Package{scrbase} +provides some additional commands for defining language-dependent terms. + + +\begin{Declaration} + \Macro{providecaptionname}% + \Parameter{language}\Parameter{term}\Parameter{definition}\\ + \Macro{newcaptionname}% + \Parameter{language}\Parameter{term}\Parameter{definition}\\ + \Macro{renewcaptionname}% + \Parameter{language}\Parameter{term}\Parameter{definition} +\end{Declaration} +\BeginIndex{Cmd}{providecaptionname}% +\BeginIndex{Cmd}{newcaptionname}% +\BeginIndex{Cmd}{renewcaptionname}% +Using one of these commands, the user can assign a \PName{definition} for a +particular \PName{language} to a \PName{term}. The \PName{term} is always a +macro. The commands differ dependent on whether a given \PName{language} or a +\PName{term} within a given \PName{language} are already defined or not at the +time the command is called. + +If \PName{language} is not defined, then \Macro{providecaptionname} does +nothing other than writes a message in the log file. This happens only once +for each language. If \PName{language} is defined but \PName{term} is not yet +defined for it, then it will be defined using \PName{definition}. The +\PName{term} will not be redefined if the \PName{language} already has such a +definition; instead, an appropriate message is written to the log file. + +The command \Macro{newcaptionname} has a slightly different behaviour. If the +\PName{language} is not yet defined, then a new language command will be +created and a message written to the log file. For \PName{language} +\PValue{USenglish}, e.\,g.\, this would be the language command +\Macro{captionsUSenglish}. If \PName{term} is not yet defined in +\PName{language}, then it will be defined using \PName{definition}. If +\PName{term} already exists in \PName{language}, then this results in an error +message. + +The command \Macro{renewcaptionname} again behaves differently. It requires an +existing definition of \PName{term} in \PName{language}. If neither +\PName{language} nor \PName{term} exist or \PName{term} is unknown in a +defined language then a error message will be given. Otherwise, the +\PName{term} for \PName{language} will be redefined according to +\PName{definition}. + +\KOMAScript{} itself employs \Macro{providecaptionname} in order to define the +commands in \autoref{sec:scrlttr2-experts.languages}. + +\begin{Example} + If you prefer ``fig.'' instead of ``figure'', you may achieve this using: +\begin{lstcode} + \renewcaptionname{USenglish}{\figurename}{fig.} +\end{lstcode} +\end{Example} + +Since\textnote{Attention!} only existing terms in available languages can be +redefined using \Macro{renewcaptionname}, you have to put the command after +\Macro{begin}\PParameter{document} or delay the command by using +\Macro{AtBeginDocument}. Furthermore, you will get an error message if there +is no package used that switches language selection to, e.\,g., +\PName{USenglish} in the example above. + +Language dependent terms usually defined by classes and language +packages are listed and described in \autoref{tab:scrbase.commonNames}. + +\begin{desclist} + \renewcommand*{\abovecaptionskipcorrection}{-\normalbaselineskip}% + \desccaption[{% + Overview of usual language dependent terms% + }]{% + Overview of language dependent terms of usual language packages% + \label{tab:scrbase.commonNames}% + }{% + Overview of usual language dependent terms + (\emph{continuation})% + }% + \entry{\Macro{abstractname}}{% + heading of the abstract% + \IndexCmd{abstractname}% + }% + \entry{\Macro{alsoname}}{% + ``see also'' in additional cross references of the index% + \IndexCmd{alsoname}% + }% + \entry{\Macro{appendixname}}{% + ``appendix'' in the heading of an appendix chapter% + \IndexCmd{appendixname}% + }% + \entry{\Macro{bibname}}{% + heading of the bibliography% + \IndexCmd{bibname}% + }% + \entry{\Macro{ccname}}{% + prefix heading for the distribution list of a letter% + \IndexCmd{ccname}% + }% + \entry{\Macro{chaptername}}{% + ``chapter'' in the heading of a chapter% + \IndexCmd{chaptername}% + }% + \entry{\Macro{contentsname}}{% + heading of the table of contents% + \IndexCmd{contentsname}% + }% + \entry{\Macro{enclname}}{% + prefix heading for the enclosure of a letter% + \IndexCmd{enclname}% + }% + \entry{\Macro{figurename}}{% + prefix heading of figure captions% + \IndexCmd{figurename}% + }% + \entry{\Macro{glossaryname}}{% + heading of the glossary% + \IndexCmd{glossaryname}% + }% + \entry{\Macro{headtoname}}{% + ``to'' in header of letter pages% + \IndexCmd{headtoname}% + }% + \entry{\Macro{indexname}}{% + heading of the index% + \IndexCmd{indexname}% + }% + \entry{\Macro{listfigurename}}{% + heading of the list of figures% + \IndexCmd{listfigurename}% + }% + \entry{\Macro{listtablename}}{% + heading of the list of tables% + \IndexCmd{listtablename}% + }% + \entry{\Macro{pagename}}{% + ``page'' in the pagination of letters% + \IndexCmd{pagename}% + }% + \entry{\Macro{partname}}{% + ``part'' in the heading of a part% + \IndexCmd{partname}% + }% + \entry{\Macro{prefacename}}{% + heading of the preface% + \IndexCmd{prefacename}% + }% + \entry{\Macro{proofname}}{% + prefix heading of mathematical proofs% + \IndexCmd{proofname}% + }% + \entry{\Macro{refname}}{% + heading of the list of references% + \IndexCmd{refname}% + }% + \entry{\Macro{seename}}{% + ``see'' in cross references of the index% + \IndexCmd{seename}% + }% + \entry{\Macro{tablename}}{% + prefix heading at table captions% + \IndexCmd{tablename}% + }% +\end{desclist} +% +\EndIndex{Cmd}{providecaptionname}% +\EndIndex{Cmd}{newcaptionname}% +\EndIndex{Cmd}{renewcaptionname}% +% +\EndIndex{}{language>definition} + + +\section{Identification of \KOMAScript} +\label{sec:scrbase.identify} + +\Package{scrbase} may be used independent of \KOMAScript{} with +other packages and classes, nevertheless it's a \KOMAScript{} package. For +this is also provides commands to identify \KOMAScript{} and itself as a +\KOMAScript{} package. + +\begin{Declaration} + \Macro{KOMAScript} +\end{Declaration} +\BeginIndex{Cmd}{KOMAScript}% +This command only sets the word ``\KOMAScript'' with sans-serif font and +a little bit tracking of the capitals. Bay the way: All \KOMAScript{} classes +and packages define this command, if it hasn't been defined already. The +definition is robust using \Macro{DeclareRobustCommand}. +% +\EndIndex{Cmd}{KOMAScript} + + +\begin{Declaration} + \Macro{KOMAScriptVersion} +\end{Declaration} +\BeginIndex{Cmd}{KOMAScriptVersion}% +\KOMAScript{} defines the main version of \KOMAScript{} in this command. It +has the form ``\PName{date} \PName{version} \texttt{KOMA-Script}''. This main +version is same for all \KOMAScript{} classes and the \KOMAScript{} packages, +that are essential for the classes. Because of this, it may be inquired after +loading \Package{scrbase} too. This document has been made, e.\,g., using +\KOMAScript{} version ``\KOMAScriptVersion''. +% +\EndIndex{Cmd}{KOMAScriptVersion}% + + +\section{Extension of the \LaTeX{} Kernel} +\label{sec:scrbase:latexkernel} + +Sometimes the \LaTeX{} kernel itself provides commands, but lacks of other, +similar commands, that would often be useful too. Some of those commands for +authors of packages and classes are provided by \Package{scrbase}. + +\begin{Declaration} + \Macro{ClassInfoNoLine}\Parameter{class name}\Parameter{information}\\ + \Macro{PackageInfoNoLine}\Parameter{package name}\Parameter{information}% +\end{Declaration}% +\BeginIndex{Cmd}{PackageInfoNoLine}% +\BeginIndex{Cmd}{ClassInfoNoLine}% +For authors of classes and package the \LaTeX{} kernel already provides +commands like \Macro{ClassInfo} and \Macro{PackageInfo} to write information +together with the current line number into the log-file. Beside +\Macro{PackageWarning} and \Macro{ClassWarning} to throw warning messages with +line numbers, it also provides \Macro{PackageWarningNoLine} and +\Macro{ClassWarningNoLine} for warning messages without line +numbers. Nevertheless, the commands \Macro{ClassInfoNoLine} and +\Macro{PackageInfoNoLine}, to write information without line numbers into the +log-file, are missing. Package \Package{scrbase} provides them. +% +\EndIndex{Cmd}{ClassInfoNoLine}% +\EndIndex{Cmd}{PackageInfoNoLine} + + +\begin{Declaration} + \Macro{l@addto@macro}\Parameter{command}\Parameter{extension}% +\end{Declaration}% +\BeginIndex{Cmd}{l@addto@macro}% +The \LaTeX{} kernel already provides an internal command \Macro{g@addto@macro} +to extend the definition of macro \Macro{command} by \PName{extension} +globally. This may be used only for macros that have no +arguments. Nevertheless, sometimes a command like this, that works locally to +a group instead of globally, could be useful. Package \Package{scrbase} +provides such a command with \Macro{l@addto@macro}. An alternative may be +usage of package \Package{etoolbox}\IndexPackage{etoolbox}, that provides +several of such commands for different purpose (see \cite{package:etoolbox}). +% +\EndIndex{Cmd}{l@addto@macro} + + +\section{Extension of the Mathematical Features of \eTeX} +\label{sec:scrbase:etex} + +\eTeX{}, that is meanwhile used by \LaTeX{} and needed by \KOMAScript{}, +provides with \Macro{numexpr}\IndexCmd{numexpr} an extended feature for +calculation of simple arithmetic with \TeX{} counters and +integers. The four basic arithmetic operations and brackets are +supported. Correct rounding is done while division. Sometimes additional +operators would be useful. + +\begin{Declaration} + \Macro{XdivY}\Parameter{dividend}\Parameter{divisor}\\ + \Macro{XmodY}\Parameter{dividend}\Parameter{divisor}% +\end{Declaration}% +\BeginIndex{Cmd}{XdivY}% +\BeginIndex{Cmd}{XmodY}% +Having a division with remainder, command\ChangedAt{v3.05a}{\Package{scrbase}} +\Macro{XdivY} gives the value of the integer quotient, command \Macro{XmodY} +the value of the remainder. This kind of division is defined: +\[ +\textit{dividend} = \textit{divisor} \cdot +\textit{integer quotient} + \textit{remainder} +\] +with \textit{dividend} and \textit{remainder} are integer, \textit{remainder} +is greater or equal to \textit{divisor}, and \textit{divisor} is a natural +number greater than 0. + +The value may be used for assignment to a counter or directly in the +expression of \Macro{numexpr}. For output the value as an Arabic number is has +to be prefixed by \Macro{the}.% +% +\EndIndex{Cmd}{XmodY}% +\EndIndex{Cmd}{XdivY}% +% +\EndIndex{Package}{scrbase}% + +\endinput + +%%% Local Variables: +%%% mode: latex +%%% mode: flyspell +%%% ispell-local-dictionary: "english" +%%% coding: us-ascii +%%% TeX-master: "../guide.tex" +%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/scrbookreportarticle-experts.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/scrbookreportarticle-experts.tex new file mode 100644 index 00000000000..b718bccf6f8 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/scrbookreportarticle-experts.tex @@ -0,0 +1,658 @@ +% ====================================================================== +% scrbookreportarticle-experts.tex +% Copyright (c) Markus Kohm, 2001-2012 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ---------------------------------------------------------------------- +% scrbookreportarticle-experts.tex +% Copyright (c) Markus Kohm, 2001-2012 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% +% Chapter about scrbook, scrreprt, and scrartcl of the KOMA-Script guide +% expert part +% Maintained by Markus Kohm +% +% ---------------------------------------------------------------------- +% +% Kapitel ueber scrbook, scrreprt und scrartcl im Experten-Teil der +% KOMA-Script-Anleitung +% Verwaltet von Markus Kohm +% +% ============================================================================ + +\ProvidesFile{scrbookreportarticle-experts.tex}[2012/02/28 KOMA-Script guide +(chapter: scrbook, scrreprt, scrartcl for experts)] + +\translator{Gernot Hassenpflug\and Markus Kohm} + +% Date of the translated German file: 2012/02/28 + + +\chapter{Additional Information about the Main Classes \Class{scrbook}, + \Class{scrreprt}, and \Class{scrartcl} as well as the Package + \Package{scrextend}} +\labelbase{maincls-experts} + +This chapter gives additional information about the \KOMAScript{} classes +\Class{scrbook}, \Class{scrreprt}, and \Class{scrartcl}. Some of the features +are also available for package \Package{scrextend}. \iffree{Some parts of the + chapter are subject to the \KOMAScript{} book \cite{book:komascript} + only. This shouldn't be a problem, because the}{The} average user, who only +want to use the package, won't need the information, that is addressed to +users with non-standard requirements or who want to write their own classes +using a \KOMAScript{} class. Another part of the information describes features +of the classes that exist only because of compatibility to former +releases of \KOMAScript{} or the standard classes. The features, that exist +only because of compatibility to former \KOMAScript{} releases, are printed +with a sans serif font. You shouldn't use them any longer. + +\LoadNonFree{scrbookreportarticle-experts}{0} + +\section{Additional Information to User Commands} +\label{sec:maincls-experts.addInfos} + +\LoadNonFree{scrbookreportarticle-experts}{1} + + +\section{Cooperation and Coexistence of \KOMAScript{} and Other Packages} +\label{sec:maincls-experts.coexistence} + +\LoadNonFree{scrbookreportarticle-experts}{2} + + +\section{Expert Commands} +\label{sec:maincls-experts.experts} + +This sections described commands, that are more or less out of average user's +interest. Nevertheless these commands provide additional features for +experts. Because the information is addressed to experts it's condensed. + + +\begin{Declaration} + \Macro{KOMAClassName}\\ + \Macro{ClassName} +\end{Declaration} +\BeginIndex{Cmd}{KOMAClassName}% +\BeginIndex{Cmd}{ClassName}% +\Macro{KOMAClassName} stores the name of the currently used \KOMAScript{} +class. If someone wants to know, whether or not or a \KOMAScript{} class is +used or which \KOMAScript{} is used this may be tested with this command. In +difference to this, \Macro{ClassName} tells which would be the standard class, +that has been replaced by a \KOMAScript{} class. + +Please note\textnote{Attention!}, that the existence of +\Macro{KOMAScript}\IndexCmd{KOMAScript} isn't a indication for the usage of a +\KOMAScript{} class. First of all: Every \KOMAScript{} package and not only +\KOMAScript{} classes define \Macro{KOMAScript}. Furthermore other packages +may also define the \KOMAScript{} word mark with this name.% +% +\EndIndex{Cmd}{ClassName}% +\EndIndex{Cmd}{KOMAClassName}% + +\begin{Declaration} + \Macro{addtocentrydefault}\Parameter{level}\Parameter{number}% + \Parameter{heading} +\end{Declaration} +\BeginIndex{Cmd}{addtocentrydefault}% +The\ChangedAt{v3.08}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} \KOMAScript{} classes don't use +\Macro{addcontentsline}\IndexCmd{addcontentsline}% +\important{\Macro{addcontentsline}} directly. Instead they +call \Macro{addtocentrydefault} with similar arguments. The command may be used +for both, entries with and without number. Thereby \PName{level} is the +textual sectioning level, i.\,e., \PValue{part}, +\PValue{chapter}, \PValue{section}, \PValue{subsection}, +\PValue{subsubsection}, \PValue{paragraph}, or \PValue{subparagraph}. The +already formatted sectioning number is given by the second argument, +\PName{number}. This argument may be empty. The text of the entry is given by +argument \PName{heading}. It is recommended to protect fragile commands inside +this argument with prefix +\Macro{protect}\IndexCmd{protect}\important{\Macro{protect}}. + +There's one speciality for argument \PName{number}. An empty argument +signalizes, that an entry without number should be generated. \KOMAScript{} +uses +\begin{quote} + \Macro{addcontentsline}\PParameter{toc}\Parameter{level}% + \Parameter{heading} +\end{quote} +for this. Nevertheless, if the argument is not empty an entry with number +will be made and \PName{number} is the already formatted heading +number. \KOMAScript{} uses +\begin{quote}\raggedright + \Macro{addcontentsline}\PParameter{toc}\Parameter{level}% + \PParameter{\%\\ + \quad\Macro{protect}\Macro{numberline}\Parameter{number}% + \PName{heading}\%\\ + } +\end{quote} +to make this. + +Package authors an authors of wrapper classes may redefined this command to +manipulate the entries. For example\textnote{Example} one could suggest +\begin{lstcode}[belowskip=\dp\strutbox plus 1pt] + \renewcommand{\addtocentrydefault}[3]{% + \ifstr{#3}{}{% + \ifstr{#2}{}{% + \addcontentsline{toc}{#1}{#3}% + }{% + \addcontentsline{toc}{#1}{\protect\numberline{#2}#3}% + }% + }% + }% +\end{lstcode} +to omit entries with empty \PName{heading}. In real live this wouldn't be +needed, because the \KOMAScript{} classes already use another method to +suppress empty entries. See the description of the structuring commands in +\autoref{sec:maincls.structure} from \autopageref{desc:maincls.cmd.part} +onward for this.% +% +\EndIndex{Cmd}{addtocentrydefault} + +\begin{Declaration} + \Macro{addparttocentry}\Parameter{number}\Parameter{heading}\\ + \Macro{addchaptertocentry}\Parameter{number}\Parameter{heading}\\ + \Macro{addsectiontocentry}\Parameter{number}\Parameter{heading}\\ + \Macro{addsubsectiontocentry}\Parameter{number}\Parameter{heading}\\ + \Macro{addsubsubsectiontocentry}\Parameter{number}\Parameter{heading}\\ + \Macro{addparagraphtocentry}\Parameter{number}\Parameter{heading}\\ + \Macro{addsubparagraphtocentry}\Parameter{number}\Parameter{heading} +\end{Declaration}% +\BeginIndex{Cmd}{addparttocentry}% +\BeginIndex{Cmd}{addchaptertocentry}% +\BeginIndex{Cmd}{addsectiontocentry}% +\BeginIndex{Cmd}{addsubsectiontocentry}% +\BeginIndex{Cmd}{addsubsubsectiontocentry}% +\BeginIndex{Cmd}{addparagraphtocentry}% +\BeginIndex{Cmd}{addsubparagraphtocentry}% +The\ChangedAt{v3.08}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} \KOMAScript{} classes call the previously described +command \Macro{addtocentrydefault}\IndexCmd{addtocentrydefault}% +\important{\Macro{addtocentrydefault}} directly only if no individual command +for the \PName{level} has been defined or if that command is +\Macro{relax}\IndexCmd{relax}\important{\Macro{relax}}. Nevertheless, the +default definition of all these individual commands simply call +\Macro{addtocentrydefault} with their own \PName{level} passing their +arguments through.% +% +\EndIndex{Cmd}{addsubparagraphtocentry}% +\EndIndex{Cmd}{addsubsubsectiontocentry}% +\EndIndex{Cmd}{addparagraphtocentry}% +\EndIndex{Cmd}{addsubsectiontocentry}% +\EndIndex{Cmd}{addsectiontocentry}% +\EndIndex{Cmd}{addchaptertocentry}% +\EndIndex{Cmd}{addparttocentry}% + +\begin{Declaration} + \Macro{@fontsizefilebase} +\end{Declaration} +\BeginIndex{Cmd}{@fontsizefilebase}% +The prefix \File{scrsize} for file names of font size files, that has been +mentioned\iffree{ in \autoref{sec:maincls-experts.addInfos}}{} at +\autopageref{desc:maincls-experts.option.fontsize} is only the default of the +internal macro \Macro{@fontsizefilebase}\IndexCmd{@fontsizefilebase}. This +default is used only, if the macro hasn't already be defined when loading a +\KOMAScript{} class or package \Package{scrextend}. Authors of wrapper classes +may define this macro with another file name prefix to use completely +different font size files. Also\textnote{Hint!} authors of wrapper classes +could change or deactivate the \emph{fallback} solution for unknown font sizes +by redefinition of macro +\Macro{changefontsizes}\important{\Macro{changefontsizes}}% +\IndexCmd{changefontsize}. This macro has exactly one argument: the wanted +font size.% +% +\EndIndex{Cmd}{@fontsizefilebase}% + +\begin{Declaration} + \Macro{newkomafont}\OParameter{warning message}\Parameter{element}% + \Parameter{default}\\ + \Macro{aliaskomafont}\Parameter{alias name}\Parameter{element} +\end{Declaration} +\BeginIndex{Cmd}{newkomafont}% +\BeginIndex{Cmd}{aliaskomafont}% +Experts may use \Macro{newkomafont} to define a \PName{default} for the font +style of an \PName{element}. After this that default may be changed using +commands \Macro{setkomafont} and \Macro{addtokomafont} (see +\autoref{sec:maincls.textmarkup}, +\autopageref{desc:maincls.cmd.setkomafont}). Of course this is not enough to +use the defined font style. The expert himself has to prepare his code to use +command +\Macro{usekomafont}\important{\Macro{usekomafont}}\IndexCmd{usekomafont} (see +\autopageref{desc:maincls.cmd.usekomafont}) with that \PName{element} at his +code definitions. + +The optional argument \PName{warning message} defines a warning message, +that \KOMAScript{} will show whenever the default font style of that +\PName{element} will be changed. The sender of the warning in such cases will +be the used \KOMAScript{} class or package \Package{scrextend}. + +Command \Macro{aliaskomafont} defines an \PName{alias name} to an already +defined \PName{element}. \KOMAScript{} will inform the user automatically +about the real name of the element, whenever an \PName{alias name} will be +used. An\textnote{Hint!} \PName{alias name} may be used, e.\,g., if a +developer finds a better name for an element, that has been defined formerly +with another name, if the old name should still be usable because of +compatibility. Also an \PName{alias name}s may increase usability, because +different users may find different names more or less intuitive. \KOMAScript{} +itself defines a lot of \PName{alias name}s for several \PName{element}s. +% +\EndIndex{Cmd}{aliaskomafont}% +\EndIndex{Cmd}{newkomafont}% + +\begin{Declaration} + \Macro{setparsizes}\Parameter{indent}\Parameter{distance}%^^A + \Parameter{last line end space} +\end{Declaration} +\BeginIndex{Cmd}{setparsizes}% +With this command \KOMAScript{} provides to set the indent of the first line +of a new paragraph, the distance between paragraphs and the white space that +has to be at the end of the last line of each paragraph. This command should +be used whenever changes should also be recognized by option +\OptionValue{parskip}{relative}. \KOMAScript{}\textnote{Beispiel} itself uses +this command, e.\,g., with +\begin{lstcode}[belowskip=\dp\strutbox plus 1ex] + \setparsizes{0pt}{0pt}{0pt plus 1fil} +\end{lstcode} +to switch of paragraph indent and distance between paragraphs and to allow any +white space at the end of the last line of paragraphs. This make sense, if a +paragraph consists of a box only, that should be printed without vertical +distance but with the whole column width. If, in opposite to that, the box +should only span the whole width but should be printed with the current +settings of paragraph indent and distance between paragraphs, usage of +\begin{lstcode}[belowskip=\dp\strutbox plus 1ex] + \setlength{\parfillskip}{0pt plus 1fil} +\end{lstcode} +would be recommended.% +% +\EndIndex{Cmd}{setparsizes}% + +\begin{Declaration} + \Macro{raggedchapterentry} +\end{Declaration} +\BeginIndex{Cmd}{raggedchapterentry}% +This command is not really comparable with commands like +\Macro{raggedsection}. In opposite to those commands, that provide to print +corresponding elements either justified or right- or left-aligned or centered, +\Macro{raggedchapterentry} currently only provides to print chapter entries at +the table of contents justified or left-aligned. Default is justified. For +left-aligned the command has to be redefined to be +\Macro{raggedright}\important{\Macro{raggedright}}\IndexCmd{raggedright}. See +also the limitation note in \autoref{sec:maincls-experts.coexistence}, +\autopageref{desc:maincls-experts.cmd.raggedsection} for this.% +% +\EndIndex{Cmd}{raggedchapterentry} + +\LoadNonFree{scrbookreportarticle-experts}{3} +\begin{Declaration} + \Macro{chapterheadstartvskip}\\ + \Macro{chapterheadendvskip}\\ + \Macro{partheadstartvskip}\\ + \Macro{partheadmidvskip}\\ + \Macro{partheadendvskip}\\ + \Macro{partheademptypage} +\end{Declaration} +\BeginIndex{Cmd}{chapterheadstartvskip}% +\BeginIndex{Cmd}{chapterheadendvskip}% +\BeginIndex{Cmd}{partheadstartvskip}% +\BeginIndex{Cmd}{partheadmidvskip}% +\BeginIndex{Cmd}{partheadendvskip}% +\BeginIndex{Cmd}{partheademptypage}% +These\important[i]{\Macro{chapter}\\ + \Macro{part}\\ + \Macro{addchap}\\ + \Macro{addpart}} are used inside of the definition of the headings +\Macro{chapter}\IndexCmd{chapter}, \Macro{part}, \Macro{addchap}, +\Macro{addpart} and their star-variations. Thereby +\Macro{chapterheadstartvskip} is designed to be a command, that inserts +vertical distance before the chapter heading. Analogues +\Macro{chapterheadendvskip} is designed to be a command, that inserts vertical +distance after the chapter heading. + +Vertical distance above and below part headings will be inserted using the +commands \Macro{partheadstartvskip} and \Macro{partheadendvskip}. A page break +would be interpreted to be part of the vertical distance and therefor is +already part of the default of \Macro{partheadendvskip} in +\Class{scrbook}\OnlyAt{\Class{scrbook}\and \Class{scrreprt}} and +\Class{scrreprt}. Command +\Macro{partheademptypage}\ChangedAt{v3.02}{\Class{scrbook}\and + \Class{scrreprt}} is used to produce the empty page after the part heading +page of \Class{scrbook} and \Class{scrreprt}. + +The \Class{scrbook}\OnlyAt{\Class{scrbook}\and \Class{scrreprt}} and +\Class{scrreprt} default of the six commands are listed in +\autoref{tab:maincls-experts.headvskip} and +\autoref{tab:maincls-experts.headvskip2}. The +\Class{scrartcl}\OnlyAt{\Class{scrartcl}} defaults of the three at this class +defined commands are listed in +\autoref{tab:maincls-experts.headvskip3}. An\textnote{Example!} example, that +redefines \Macro{chapterheadstartvskip} and \Macro{chapterheadendvskip} to +print extra rules above and below the chapter heading, may be found at +\cite{homepage} (in German).% +% +\begin{table} + \centering +% \KOMAoptions{captions=topbeside}% +% \setcapindent{0pt}% + \caption +% \begin{captionbeside} + {% + defaults of the commands for the vertical distances of chapter headings + with \Class{scrbook} and \Class{scrreprt}% + }% +% [l] + \begin{tabular}{ll} + \multicolumn{2}{@{}l}{\bfseries Mit \OptionValue{headings}{big}:}\\ + \toprule + command & default definition \\ + \midrule + \Macro{chapterheadstartvskip} & + \Macro{vspace*}\PParameter{2.3\Macro{baselineskip}} \\ + \Macro{chapterheadendvskip} & + \Macro{vspace*}\texttt{\{1.725\Macro{baselineskip}} \\ & \quad + \texttt{plus .115\Macro{baselineskip}} % \\ & \quad + \texttt{minus .192\Macro{baselineskip}\}} \\ + \bottomrule\\ + \multicolumn{2}{@{}l}{\bfseries Mit \OptionValue{headings}{normal}:}\\ + \toprule + command & default definition \\ + \midrule + \Macro{chapterheadstartvskip} & + \Macro{vspace*}\PParameter{2\Macro{baselineskip}} \\ + \Macro{chapterheadendvskip} & + \Macro{vspace*}\texttt{\{1.5\Macro{baselineskip}}\\ & \quad + \texttt{plus .1\Macro{baselineskip}} % \\ & \quad + \texttt{minus .167\Macro{baselineskip}\}} \\ + \bottomrule\\ + \multicolumn{2}{@{}l}{\bfseries Mit \OptionValue{headings}{small}:}\\ + \toprule + command & default definition \\ + \midrule + \Macro{chapterheadstartvskip} & + \Macro{vspace*}\PParameter{1.8\Macro{baselineskip}} \\ + \Macro{chapterheadendvskip} & + \Macro{vspace*}\texttt{\{1.35\Macro{baselineskip}}\\ & \quad + \texttt{plus .09\Macro{baselineskip}} % \\ & \quad + \texttt{minus .15\Macro{baselineskip}\}} \\ + \bottomrule\\ + \end{tabular} +% \end{captionbeside} + \label{tab:maincls-experts.headvskip}% +\end{table} +% +\begin{table} +% \centering + \KOMAoptions{captions=topbeside}% + \setcapindent{0pt}% +% \caption + \begin{captionbeside} + {% + defaults of the commands for the vertical distances of part headings + with \Class{scrbook} and \Class{scrreprt}% + }[l] + \begin{tabular}[t]{ll} + \toprule + command & default definition \\ + \midrule + \Macro{partheadstartvskip} & \Macro{null}\Macro{vfil} \\ + \Macro{partheadmidvskip} & \Macro{par}\Macro{nobreak}\Macro{vskip} \texttt{20pt}\\ + \Macro{partheadendvskip} & \Macro{vfil}\Macro{newpage} \\ + \Macro{partheademptypage} & \Macro{if@twoside}\Macro{if@openright} \\ & + \quad\Macro{null}\Macro{thispagestyle}\PParameter{empty}\texttt{\%}\\ & + \quad\Macro{newpage}\\& + \Macro{fi}\Macro{fi}\\ + \bottomrule + \end{tabular} + \end{captionbeside} + \label{tab:maincls-experts.headvskip2}% +\end{table}% +% +\begin{table} +% \centering + \KOMAoptions{captions=topbeside}% + \setcapindent{0pt}% +% \caption + \begin{captionbeside} + {% + defaults of the commands for the vertical distances of part headings + with \Class{scrartcl}% + }[l] + \begin{tabular}[t]{ll} + \toprule + command & default definition \\ + \midrule + \Macro{partheadstartvskip} & \Macro{addvspace}\PParameter{4ex} \\ + \Macro{partheadmidvskip} & \Macro{par}\Macro{nobreak}\\ + \Macro{partheadendvskip} & \Macro{vskip} \texttt{3ex}\\ + \bottomrule + \end{tabular} + \end{captionbeside} + \label{tab:maincls-experts.headvskip3}% +\end{table}% +% +\EndIndex{Cmd}{partheademptypage}% +\EndIndex{Cmd}{partheadendvskip}% +\EndIndex{Cmd}{partheadmidvskip}% +\EndIndex{Cmd}{partheadstartvskip}% +\EndIndex{Cmd}{chapterheadendvskip}% +\EndIndex{Cmd}{chapterheadstartvskip}% + + +\begin{Declaration} + \Macro{appendixmore} +\end{Declaration}% +\BeginIndex{Cmd}{appendixmore}% +There is a peculiarity within the \Macro{appendix} command in the +{\KOMAScript} classes. If the command \Macro{appendixmore} is defined, this +command is executed also by the \Macro{appendix} command. Internally the +{\KOMAScript} classes \Class{scrbook}\OnlyAt{\Class{scrbook}\and + \Class{scrreprt}} and \Class{scrreprt} take advantage of this behaviour to +implement the options \Option{appendixprefix} (see +\autoref{sec:maincls.structure}, +\autopageref{desc:maincls.option.appendixprefix}). You\textnote{Attention!} +should take note of this in case you decide to define or redefine the macro +\Macro{appendixmore}. In case one of this option has been used, you will +receive an error message when using +\verb|\newcommand{\appendixmore}{|\dots\verb|}|. This behaviour is intended to +prevent you from disabling options without noticing it. + +\begin{Example} + You do not want the chapters in the main part of the classes \Class{scrbook} + or \Class{scrreprt} to be introduced by a prefix line (see layout options + \Option{chapterprefix} in \autoref{sec:maincls.structure}, + \autopageref{desc:maincls.option.chapterprefix}). For consistency you also + do not want such a line in the appendix either. Instead, you would like to + see the word ``Chapter'' in the language of your choice written in front of + the chapter letter and, simultaneously, in the page headings. Instead of + using layout option \Option{appendixprefix}, you would define in the + document preamble: +% +\begin{lstcode} + \newcommand*{\appendixmore}{% + \renewcommand*{\chapterformat}{% + \appendixname~\thechapter\autodot\enskip} + \renewcommand*{\chaptermarkformat}{% + \appendixname~\thechapter\autodot\enskip} + } +\end{lstcode} +% + In case you subsequently change your mind and decide to use the option + \Option{appendixprefix} at a later stage, you will get an error message + because of the already defined \Macro{appendixmore} command. This behaviour + prevents the definition made above from invisibly changing the settings + intended with the option. + + It is also possible to get a similar behaviour of the appendix for + the class \Class{scrartcl}. You would write in the preamble of your + document: +\begin{lstcode}[moretexcs={ifthenelse,equal}] + \newcommand*{\appendixmore}{% + \renewcommand*{\othersectionlevelsformat}[3]{% + \ifthenelse{\equal{##1}{section}}{% + \appendixname~}{}% + ##3\autodot\enskip} + \renewcommand*{\sectionmarkformat}{% + \appendixname~\thesection\autodot\enskip}} +\end{lstcode} + In addition, the package \Package{ifthen}\IndexPackage{ifthen} (see + \cite{package:ifthen}) is required. + + An alternative implementation would be: +\begin{lstcode} + \newcommand*{\appendixmore}{% + \renewcommand*{\othersectionlevelsformat}[3]{% + \ifstr{##1}{section}{\appendixname~}{}% + ##3\autodot\enskip} + \renewcommand*{\sectionmarkformat}{% + \appendixname~\thesection\autodot\enskip}} +\end{lstcode} + Thereby used command \Macro{ifstr}\IndexCmd[indexmain]{ifstr} is provided by + \KOMAScript{}. See \autoref{sec:scrbase.if}, + \autopageref{desc:scrbase.cmd.ifstr}. + + Redefined commands are explained in more detail in + \autoref{sec:maincls.structure}, + \autopageref{desc:maincls.cmd.chapterformat} and + \autopageref{desc:maincls.cmd.chaptermarkformat}. +\end{Example} +% +\EndIndex{Cmd}{appendixmore}% + + +\begin{Declaration} + \Macro{newbibstyle}\OParameter{parent style}\Parameter{name}%^^A + \Parameter{instructions}\\ + \Macro{newblock}\\ + \Macro{@openbib@code}\\ + \Macro{bib@beginhook}\\ + \Macro{bib@endhook} +\end{Declaration} +\BeginIndex{Cmd}{newbibstyle}% +\BeginIndex{Cmd}{newblock}% +\BeginIndex{Cmd}{@openbib@code}% +\BeginIndex{Cmd}{bib@beginhook}% +\BeginIndex{Cmd}{bib@endhook}% +The standard classes\textnote{standard classes} already provide command +\Macro{newblock} for structuring of bibliography entries. The exact purpose of +this command depends on the class options. Using option +\Option{openbib}\important{\Option{openbib}} redefine commands +\Macro{@openbib@code} and \Macro{newblock} at the end of the used standard +class. These classes execute command \Macro{@openbib@code} at the +begin\,---\,or more precise: at the specification of the parameters of +the\,---\,list environment, that will be used for the bibliography. It should +be assumed, that many packages will execute this command in the same kind, if +they redefine the bibliography. + +The \KOMAScript{} classes do something similar. Nevertheless, they don't +redefine \Macro{@openbib@code} at the end of the class. Instead of, the +bibliography style \PValue{openstyle} is defined using +\Macro{newbibstyle}. The \PName{instructions}, that has been defined as part +of the implementation, contain the appropriate redefinition of +\Macro{@openbib@code} and \Macro{newblock}. Now, if this bibliography style +will be selected using option \OptionValue{bibliography}{openstyle}% +\IndexOption{bibliography~=\PValue{openstyle}}% +\important{\OptionValue{bibliography}{openstyle}}, then the +\PName{instructions} will be executed immediately. This will redefine +\Macro{@openbib@code} and \Macro{newblock}. + +Beside \Macro{@openbib@code} and \Macro{newblock} also \Macro{bib@beginhook} +and \Macro{bib@endhook} may be redefined by the \PName{instructions} of the +style. Command \Macro{bib@beginhook} will be executed immediately after +heading and preamble of the bibliography, but before the begin of the list +with the bibliography entries. Command \Macro{bib@endhook} will be executed +immediately after this list at the end of the bibliography. If +\Macro{BreakBibliography} (see \autoref{sec:maincls.bibliography}, +\autopageref{desc:maincls.cmd.BreakBibliography}) intercepts the bibliography, +these commands will also executed at the begin and end of each part of the +bibliography, this would be immediately before and after +\Macro{BreakBibliography}. + +The commands \Macro{newblock}, \Macro{@openbib@code}, \Macro{bib@beginhook}, +and \Macro{bib@endhook} will be reset to an empty definition at the start of +each new bibliography style. After this the \PName{instructions} of the +\PName{parent style} of the bibliography style will be executed. After this +the \PName{instructions} of the bibliography style itself will be +executed. Because of this these commands has to be defined using +\Macro{renewcommand}\IndexCmd{renewcommand}\important{\Macro{renewcommand}} +not \Macro{newcommand} inside of argument \PName{instructions}. + +If the user declares additional \PName{instructions} using +\Macro{AtEndBibliography}%\important[i]{\Macro{AtEndBibliography}\\ +% \Macro{AfterBibliographyPreamble}}% Passt bloeder Weise nicht! +\IndexCmd{AtEndBibliography} and +\Macro{AfterBibliographyPreamble}\IndexCmd{AfterBibliographyPreamble} to be +executed after the preamble or at the end of the bibliography, the +\PName{instructions} of \Macro{AfterBibliographyPreamble} will be executed +only once at the begin of the bibliography but after the \Macro{bib@beginhook} +\PName{instructions}, and the \PName{instructions} of +\Macro{AtEndBibliography} will be executed only once at the end of the +bibliography but before \Macro{bib@endhook}. + +Package\textnote{Example!} +\Package{multicol}\IndexPackage{multicol}\important{\Package{multicol}} (see +\cite{package:multicol}) could be used to define a bibliography style for +printing the bibliography with two columns: +% Umbruchkorrektur: listings korrigiert +\begin{lstcode}[belowskip=\dp\strutbox plus 1ex] + \newbibstyle{twocolumstyle}{% + \renewcommand*{\bib@beginhook}{\begin{multicols}{2}}% + \renewcommand*{\bib@endhook}{\end{multicols}}}% +\end{lstcode} +If also an \emph{open}-variation of this style should be defined, one may use +the provided heredity feature and specify a \PName{parent style}: +% Umbruchkorrektur: listings korrigiert +\begin{lstcode}[belowskip=\dp\strutbox plus 1ex] + \newbibstyle{twocolumopenstyle}[openstyle]{% + \renewcommand*{\bib@beginhook}{\begin{multicols}{2}}% + \renewcommand*{\bib@endhook}{\end{multicols}}}% +\end{lstcode} +These new defined styles may be selected using option \Option{bibliography} +as usual.% +% +\EndIndex{Cmd}{bib@endhook}% +\EndIndex{Cmd}{bib@beginhook}% +\EndIndex{Cmd}{@openbib@code}% +\EndIndex{Cmd}{newblock}% +\EndIndex{Cmd}{newbibstyle}% + + +\section{More or Less Obsolete Options and Commands} +\label{sec:maincls-experts.obsolete} + +\LoadNonFree{scrbookreportarticle-experts}{4} + +\endinput + +%%% Local Variables: +%%% mode: latex +%%% mode: flyspell +%%% ispell-local-dictionary: "english" +%%% coding: us-ascii +%%% TeX-master: "../guide" +%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/scrbookreportarticle.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/scrbookreportarticle.tex index 43b8d131e26..08633a351a6 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/scrbookreportarticle.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/scrbookreportarticle.tex @@ -40,918 +40,324 @@ % % ---------------------------------------------------------------------- % -% Kapitel über scrbook, scrreprt und scrartcl in der KOMA-Script-Anleitung +% Kapitel ueber scrbook, scrreprt und scrartcl in der KOMA-Script-Anleitung % Verwaltet von Markus Kohm % % ============================================================================ -\ProvidesFile{scrbookreportarticle.tex}[2009/01/01 KOMA-Script guide (chapter: +\ProvidesFile{scrbookreportarticle.tex}[2012/05/15 KOMA-Script guide (chapter: scrbook, scrreprt, scrartcl)] -\translator{Jens-Uwe Morawski\and Gernot Hassenpflug\and Markus Kohm} +\translator{Jens-Uwe Morawski\and Gernot Hassenpflug\and Markus Kohm\and Krickette Murabayashi} -% Date of translated german file: 2007-09-04 +% Date of translated german file: 2012-02-15 -\chapter{The Main Classes \Class{scrbook}, \Class{scrreprt} and +\chapter{The Main Classes: \Class{scrbook}, \Class{scrreprt}, and \Class{scrartcl}} \labelbase{maincls} +\BeginIndex{Class}{scrbook}% +\BeginIndex{Class}{scrreprt}% +\BeginIndex{Class}{scrartcl}% -%\AddSeeIndex{command}{gen}{\GuidecmdIndexShort}{cmd}% <-- set automaticly +%\AddSeeIndex{command}{gen}{\GuidecmdIndexShort}{cmd}% <-- set automatically \AddSeeIndex{macro}{gen}{\GuidecmdIndexShort}{cmd}% - -\textsc{Note:} Almost all commands of the chapter for experts are missing, -because that chapter is still missing. Some are at this chapter instead. - -\begin{Explain} - The main classes of the {\KOMAScript} bundle are designed as - counterparts to the standard {\LaTeX} classes. This means that the - {\KOMAScript} bundle contains replacements for the three standard - classes \Class{book}\IndexClass{book}, - \Class{report}\IndexClass{report} and - \Class{article}\IndexClass{article}. There is also a replacement for - the standard class \Class{letter}\IndexClass{letter}. The document - class for letters is described in a separate chapter, because it is - fundamentally different from the three main classes (see - \autoref{cha:scrlttr2}).The names of the {\KOMAScript} classes are - composed of the prefix ``\texttt{scr}'' and the abbreviated name of - the corresponding standard class. In order to restrict the length of - the names to eight letters, the vowels, starting with the last one, - are left off as necessary. The \autoref{tab:maincls.overview} shows - an overview of the correspondence between the standard classes and - the {\KOMAScript} classes. -\end{Explain} - -The simplest way to use a {\KOMAScript} class instead of a standard -one is to substitute the class name in the \verb|\documentclass| -command according to \autoref{tab:maincls.overview}. Normally, the -document should be processed without errors by {\LaTeX}, just like -before the substitution. The look however should be -different. Additionally, the {\KOMAScript} classes provide new -possibilities and options that are described in the following +\AddSeeIndex{instruction}{gen}{\GuidecmdIndexShort}{cmd}% + +The main classes of the {\KOMAScript} bundle are designed as counterparts to +the standard {\LaTeX} classes. This means that the {\KOMAScript} bundle +contains replacements for the three standard classes: +\Class{book}\IndexClass{book}, \Class{report}\IndexClass{report}, and +\Class{article}\IndexClass{article}. There is also a replacement for the +standard class \Class{letter}\IndexClass{letter}. The document class for +letters is described in a separate chapter, because it is fundamentally +different from the three main classes (see \autoref{cha:scrlttr2}). + +\iffalse% Umbruchkorrekturtext + The names of the {\KOMAScript} classes are composed of the prefix + ``\texttt{scr}'' and the abbreviated name of the corresponding standard + class. In order to restrict the length of the names to eight letters, the + vowels, starting with the last one, are left off as necessary. The + \autoref{tab:maincls.overview} shows an overview of the correspondence + between the standard classes and the {\KOMAScript} classes. +\fi + +The simplest way to use a {\KOMAScript} class instead of a standard one is to +substitute the class name in the \verb|\documentclass| command according to +\autoref{tab:maincls.overview}. For example, you may replace +\Macro{documentclass}\PParameter{book} by +\Macro{documentclass}\PParameter{scrbook}. Normally, the document should be +processed without errors by {\LaTeX}, just like before the substitution. The +look, however, should be different. Additionally, the {\KOMAScript} classes +provide new possibilities and options that are described in the following sections. -\begin{table}[htbp] - \centering - \caption[Class correspondence]{Correspondence between - standard classes, {\KOMAScript} classes and - \Script{} styles.} - \begin{tabular}{ll} - \toprule - standard class & {\KOMAScript} class \\%& \Script-Stil (\LaTeX2.09)\\ - \midrule - \Class{article} & \Class{scrartcl} \\%& \File{script\textunderscore s} \\ - \Class{report} & \Class{scrreprt} \\%& \File{script} \\ - \Class{book} & \Class{scrbook} \\%& \File{script} \\ - \Class{letter} & \Class{scrlttr2} \\%& \File{script\textunderscore l} \\ - \bottomrule - \end{tabular} - \label{tab:maincls.overview} +\begin{table} +% \centering + \KOMAoptions{captions=topbeside} + \setcapindent{0pt} +% \caption + \begin{captionbeside} + [Class correspondence]{\label{tab:maincls.overview}Correspondence between + standard classes and {\KOMAScript} classes}% and \Script{} styles.} + [l] + \begin{tabular}[t]{ll} + \toprule + standard class & {\KOMAScript} class \\%& \Script-Stil (\LaTeX2.09)\\ + \midrule + \Class{article} & \Class{scrartcl} \\%& \File{script\textunderscore s} \\ + \Class{report} & \Class{scrreprt} \\%& \File{script} \\ + \Class{book} & \Class{scrbook} \\%& \File{script} \\ + \Class{letter} & \Class{scrlttr2} \\%& \File{script\textunderscore l} \\ + \bottomrule + \end{tabular} + \end{captionbeside} \end{table} +Allow me an observation before proceeding with the descriptions of the +options. It is often the case that at the beginning of a document one is often +unsure which options to choose for that specific document. Some options, for +instance the choice of paper size, may be fixed from the beginning. But +already the question of the size of the text area and the margins could be +difficult to answer initially. On the other hand, the main business of an +author\,---\,planning the document structure, writing the text, preparing +figures, tables, lists, index, and other data\,---\,should be almost +independent of those settings. As an author you should concentrate initially +on this work. When that is done, you can concentrate on the fine points of +presentation. Besides the choice of options, this means correcting +hyphenation, optimizing page breaks, and the placement of tables and figures. -\section{The Options} -\label{sec:maincls.options} - -\textsc{Note:} Since version~3.00 the main classes understand command -\Macro{KOMAoptions} (see \autoref{sec:scrlttr2.options}, -\autopageref{desc:scrlttr2.cmd.KOMAoptions}). In the course of the -development many new options were implemented and old became obsolete. Only -the new options may be used with \Macro{KOMAoptions}. Unfortunately most of -them are documented not yet. You may find the obsolete and corresponding new -options at \autoref{tab:maincls-experts.deprecated}. - -\textsc{Note:} Following options are still missing in this chapter: -\KOption{bibliography}\PName{setting}, \OptionValue{bibliography}{openstyle}, -\OptionValue{bibliography}{oldstyle}, \OptionValue{captions}{bottombeside}, -\OptionValue{captions}{centeredbeside}, \OptionValue{captions}{innerbeside}, -\OptionValue{captions}{leftbeside}, \OptionValue{captions}{outerbeside}, -\OptionValue{captions}{rightbeside}, \OptionValue{captins}{topbeside}, -\KOption{fontsize}\PName{size}, \OptionValue{footnotes}{multiple}, -\OptionValue{footnotes}{nomultiple}, \OptionValue{headings}{onelineappendix}, -\OptionValue{headings}{twolineappendix}, \OptionValue{headings}{onelinechapter}, -\OptionValue{headings}{twolinechapter}, \OptionValue{listof}{chapterentry}, -\OptionValue{listof}{chaptergapline}, \OptionValue{listof}{chaptergapsmall}, -\OptionValue{listof}{leveldown}, \OptionValue{listof}{nochaptergap}, -\OptionValue{numbers}{autoendperiod}, \OptionValue{toc}{bibliography}, -\OptionValue{toc}{bibliographynumbered}, \OptionValue{toc}{index}, -\OptionValue{toc}{listof}, \OptionValue{toc}{listofnumbered}, -\OptionValue{toc}{nobibliography}, \OptionValue{toc}{noindex}, -\OptionValue{toc}{nolistof}, \KOption{version}\PName{value} (see -\autoref{sec:scrlttr2.compatibilityOptions}, -\autopageref{desc:scrlttr2.option.version}). - -\begingroup - \onelinecaptionsfalse - \newcommand*{\NewOld}[2]{% - \BeginIndex{Option}{#1}\PValue{#1} & \PValue{#2}\EndIndex{Option}{#1}\\ - }% - \begin{longtable}{p{\dimexpr.5\textwidth-2\tabcolsep}p{\dimexpr.5\textwidth-2\tabcolsep}} - \caption{Obsolete vs. Recommended Options\label{tab:maincls-experts.deprecated}}\\ - \toprule - obsolete option & recommended option \\ - \midrule - \endfirsthead - \caption[]{Obsolete vs. Recommended Options - (\emph{continuation})}\\ - \toprule - obsolete Option & recommended option \\ - \midrule - \endhead - \midrule - \multicolumn{2}{r@{}}{\dots}\\ - \endfoot - \bottomrule - \endlastfoot - \NewOld{abstracton}{abstract}% - \NewOld{abstractoff}{abstract=false}% - \NewOld{parskip-}{parskip=full-}% - \NewOld{parskip+}{parskip=full+}% - \NewOld{parskip*}{parskip=full*}% - \NewOld{halfparskip}{parskip=half}% - \NewOld{halfparskip-}{parskip=half-}% - \NewOld{halfparskip+}{parskip=half+}% - \NewOld{halfparskip*}{parskip=half*}% - \NewOld{tocleft}{toc=flat}% - \NewOld{tocindent}{toc=graduated}% - \NewOld{listsleft}{listof=flat}% - \NewOld{listsindent}{listof=graduated}% - \NewOld{cleardoubleempty}{cleardoublepage=empty}% - \NewOld{cleardoubleplain}{cleardoublepage=plain}% - \NewOld{cleardoublestandard}{cleardoublepage=current}% - \NewOld{pointednumber}{numbers=enddot}% - \NewOld{pointlessnumber}{numbers=noenddot}% - \NewOld{nochapterprefix}{chapterprefix=false}% - \NewOld{noappendixprefix}{appendixprefix=false}% - \NewOld{bigheadings}{headings=big}% - \NewOld{normalheadings}{headings=normal}% - \NewOld{smallheadings}{headings=small}% - \NewOld{headnosepline}{headsepline=false}% - \NewOld{footnosepline}{footsepline=false}% - \NewOld{liststotoc}{listof=totoc}% - \NewOld{liststotocnumbered}{listof=numbered}% - \NewOld{bibtotoc}{bibliography=totoc}% - \NewOld{bibtotocnumbered}{bibliography=totocnumbered}% - \NewOld{idxtotoc}{index=totoc}% - \NewOld{tablecaptionabove}{captions=tableheading}% - \NewOld{tablecaptionbelow}{captions=tablesignature}% - \NewOld{onelinecaption}{captions=oneline}% - \NewOld{noonelinecaption}{captions=nooneline}% - \end{longtable} -\endgroup - -This section describes the global options of the three main classes. -The majority of the options can also be found in the standard classes. -Since experience shows that many options of the standard classes are -unknown, their description is included here. This is a departure from -the rule that the \File{scrguide} should only describe those aspects -whose implementation differs from the standard one. - -Table~\ref{tab:maincls.stdOptions} lists those options that are set by -default in at least one of the {\KOMAScript} classes. The table shows -for each {\KOMAScript} main class if the option is set by default and -if it is even defined for that class. An undefined option cannot be -set, either by default or by the user. - -\begin{table}[htbp] - \centering - \caption{Default options of the {\KOMAScript} classes} - \begin{tabular}{llll} - Option & - \Class{scrbook} & \Class{scrreprt} & \Class{scrartcl} \\ - \hline\rule{0pt}{2.7ex}% - \KOption{abstract} & - \emph{undefined} & \PValue{false} & \PValue{false} \\ - \KOption{captions} & - \PValue{tablesignature} & \PValue{tablesignature} & \PValue{tablesignature} \\ - \KOption{chapteratlists} & - \PValue10{pt} & \PValue{10pt} & \emph{undefined} \\ - \KOption{chapterprefix} & - \PValue{false} & \PValue{false} & \emph{undefined} \\ - \KOption{draft} & - \PValue{false} & \PValue{false} & \PValue{false} \\ - \KOption{fontsize} & - \PValue{11pt} & \PValue{11pt} & \PValue{11pt} \\ - \KOption{footsepline} & - \PValue{false} & \PValue{false} & \PValue{false} \\ - \KOption{headings} & - \PValue{big} & \PValue{big} & \PValue{big} \\ - \KOption{headsepline} & - \PValue{false} & \PValue{false} & \PValue{false} \\ - \KOption{listof} & - \PValue{graduated} & \PValue{graduated} & \PValue{graduated} \\ - \KOption{open} & - \PValue{right} & \PValue{any} & \emph{undefined} \\ - \KOption{paper} & - \PValue{a4} & \PValue{a4} & \PValue{a4} \\ - \Option{parindent} & - default & default & default \\ - \KOption{titlepage} & - \PValue{true} & \PValue{true} & \PValue{false} \\ - \KOption{toc} & - \PValue{graduated} & \PValue{graduated} & \PValue{graduated} \\ - \KOption{twocolumn} & - \PName{false} & \PName{false} & \PName{false} \\ - \KOption{twoside} & - \PValue{true} & \PValue{false} & \PValue{false} \\ - \KOption{version} & - \PValue{first} & \PValue{first} & \PValue{first} \\ - \end{tabular} - \label{tab:maincls.stdOptions} -\end{table} +\LoadCommon{0}% \section{Early or Late Selection of Options} -\begin{Explain} - Allow me an observation before proceeding with the descriptions of - the options. It is often the case that at the beginning of a - document one is often unsure which options to choose for that - specific document. Some options, for instance the choice of paper - size, may be fixed from the beginning. But already the question of - which \Var{DIV} value to use could be difficult to answer initially. - On the other hand, this kind of information should be initially - irrelevant for the main tasks of an author: design of the document - structure, text writing, preparation of figures, tables and index. - As an author you should concentrate initially on the contents. When - that is done, you can concentrate on the fine points of - presentation. Besides the choice of options, this means correcting - things like hyphenation, page breaks, and the distribution of tables - and figures. As an example consider - \autoref{tab:maincls.stdOptions}, which I moved repeatedly between - the beginning and the end of this section. The choice of the actual - position will only be made during the final production of the - document. -\end{Explain} -\par +\LoadCommon{1}% \section{Compatibility with Earlier Versions of KOMA-Script} -\subsection{Options for Compatibility} -\label{sec:maincls.compatibilityOptions} -\BeginIndex{}{Compatibility} +\LoadCommon{2}% \section{Draft Mode} -% added translation 29 May 2007, 22:30 LT -Users who archive their documents as source code generally place great value -on obtaining exactly the same output in future {\LaTeX} runs. However, in some -cases, improvements and corrections to a class can lead to changes in -behaviour, particularly as regards line and page breaks. +\LoadCommon{3}% \section{Page Layout} \begin{Declaration} - \Option{version}\\ - \XOption{version}=\PName{value} + \Macro{flushbottom}\\ + \Macro{raggedbottom} \end{Declaration} -\BeginIndex{Option}{version}% -Since\ChangedAt{v2.96a}{\Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} -version~2.96a {\KOMAScript} offers the choice of whether a source file -should output as far as possible identical results in future {\LaTeX} -runs, or whether output should be determined according to the latest -changes in the class. The option \Option{version} determines with -which version compatibility is to be maintained. The default setting -is version~2.9t. The same result can be achieved by setting -\begin{lstlisting} - version=first -\end{lstlisting} -or -\begin{lstlisting} - version=2.9 -\end{lstlisting} -or -\begin{lstlisting} - version=2.9t. -\end{lstlisting} -If an unknown version number is given as \PName{value} a warning is -output and for safety's sake the option is set to -\Option{version=}\PValue{first}. With -\begin{lstlisting} - version=last -\end{lstlisting} -the current latest version can be selected. In this case future -compatibility is switched off. If the option is used without a value, -then once again the value of \PValue{last} is assumed. - -The question of compatibility is first of all a question of line and page -breaking. New capabilities, which do not affect page breaks, are also -available if the option of compatibility to an older version is -selected. The option has no effect on changes in the page breaking -when using a newer version, which result purely through the correction -of errors. If absolute compatibility including errors is required, -then the requisite {\KOMAScript} version should be archived along with -the document source. - -It should be noted that the option \Option{version} cannot be changed -after the loading of the class.% -% -\EndIndex{Option}{version}% -% -\EndIndex{}{Compatibility} - -\subsection{Options for Page Layout} -\label{sec:maincls.typeareaOptions} - -With the standard classes the page layout\Index{page>layout} is -established by the option files \File{size10.clo}, \File{size11.clo}, -\File{size12.clo} (or \File{bk10.clo}, \File{bk11.clo}, -\File{bk12.clo} for the book class) and by fixed values in the class -definitions. The {\KOMAScript} classes, however, do not use a fixed -page layout, but one that depends on the paper format\Index{paper - format} and font size. For this task all three main classes use the -\Package{typearea} package\IndexPackage{typearea} (see -\autoref{cha:typearea}). The package is automatically loaded by the -{\KOMAScript} main classes. Therefore it is not necessary to load the -package using \Macro{usepackage}\PParameter{typearea}. If a {\LaTeX} -run results in an error ``\texttt{Option clash for package - typearea}'', then this is most likely owing to the use of an -explicit command \Macro{usepackage}\OParameter{package - options}\PParameter{typearea}. - - -\begin{Declaration} - \Option{letterpaper} \\ - \Option{legalpaper} \\ - \Option{executivepaper} \\ - \Option{a\Var{X}paper} \\ - \Option{b\Var{X}paper} \\ - \Option{c\Var{X}paper} \\ - \Option{d\Var{X}paper} \\ - \Option{landscape} -\end{Declaration}% -\BeginIndex{Option}{letterpaper}% -\BeginIndex{Option}{legalpaper}% -\BeginIndex{Option}{executivepaper}% -\BeginIndex{Option}{a0paper}% -\BeginIndex{Option}{b0paper}% -\BeginIndex{Option}{c0paper}% -\BeginIndex{Option}{d0paper}% -\BeginIndex{Option}{landscape}% -The basic options for the choice of paper format are not processed -directly by the classes. Instead, they are automatically processed by -the \Package{typearea} package as global options (see -\autoref{sec:typearea.options}, -\autopageref{desc:typearea.option.letterpaper}). The options -\Option{a5paper}, \Option{a4paper}, \Option{letterpaper}, -\Option{legalpaper} and \Option{executivepaper} correspond to the -likewise-named options of the standard classes and define the same -paper format. The page layout calculated for each is different, -however. -% -\EndIndex{Option}{letterpaper}% -\EndIndex{Option}{legalpaper}% -\EndIndex{Option}{executivepaper}% -\EndIndex{Option}{a0paper}% -\EndIndex{Option}{b0paper}% -\EndIndex{Option}{c0paper}% -\EndIndex{Option}{d0paper}% -\EndIndex{Option}{landscape} - +\BeginIndex{Cmd}{raggedbottom}% +\BeginIndex{Cmd}{flushbottom}% \begin{Explain} - The reason that the options for the A, B, C or D format are not - processed by the \Package{typearea} is not because they are global - options, but because the {\KOMAScript} classes explicitly pass them - to the \Package{typearea} package. This is caused by the way option - processing is implemented in the \Package{typearea} package and by - the operation of the underlying option passing and processing - mechanism of {\LaTeX}. - - This is also valid for the options, described subsequently, that set - the binding correction, the divisor and the number of header lines. + In double-sided documents, it's preferred to have the same visual baseline + in not only the first lines of the text areas in a double-side spread, but + also in the last lines. If pages consist of text without paragraphs or + headlines only, this is the result in general. But a paragraph distance of + half of a line would be enough to prevent achieving this, if the difference + in the number of paragraphs on each page of the double-page spread is + odd-numbered. In this case at least some of the paragraph distances need to + be shrunk or stretched to fit the rule again. \TeX{} knows shrinkable and + stretchable distances for this purpose. \LaTeX{} provides an automatism for + this kind of vertical adjustment\Index{adjustment>vertical}. \end{Explain} +Using double-sided typesetting with option \Option{twoside} (see +\autoref{sec:typearea.options}, +\autopageref{desc:typearea.option.twoside}) switches on vertical +adjustment also. Alternatively, vertical adjustment may be switched on +at any time valid from the current page using +\Macro{flushbottom}. \Macro{raggedbottom} would have the opposite +effect, switching off vertical adjustment from the current page +on. This is also the default at one-sided typesetting. -\subsection{Options for Document Layout} -\label{sec:maincls.layoutOptions} - -This subsection deals with all the options that affect the document -layout in general and not only the page layout. Strictly speaking, of -course, all page layout options (see -\autoref{sec:maincls.typeareaOptions}) are also document layout -options. The reverse is also partially true. - -\begin{Declaration} - \KOption{open}\PName{value} -\end{Declaration}% -\BeginIndex{Option}{open~=\PName{value}}% -These\OnlyAt{\Class{scrbook}\and\Class{scrreprt}} option has the same effects -like the standard options \Option{openany} and \Option{openright}. They affect -the choice of the page where a chapter\Index[indexmain]{chapter} can begin, so -they are not available with the \Class{scrartcl} class, since the next largest -unit below ``part'' is ``section''. The chapter level is not available in -\Class{scrartcl}. - -A chapter always begins on a new page. When the option -\OptionValue{open}{any} is active, any page can be used. The option -\OptionValue{open}{right} causes the chapter to begin on a new right page. -An empty left page may be inserted automatically in this case. The -empty pages are created by the implicit execution of the {\LaTeX} -command \Macro{cleardoublepage}\IndexCmd{cleardoublepage}. - -The option \OptionValue{open}{right} has no effect with a one-sided layout, -because only the two-sided layout differentiates between left and -right pages. For this reason it should only be used together with the -\Option{twoside} option.% -\EndIndex{Option}{open~=\PName{value}}% - - -\begin{Declaration} - \KOption{cleardoublepage}\PName{page style}\\ - \OptionValue{cleardoublepage}{current} -\end{Declaration}% -\BeginIndex{Option}{cleardoublepage~=\PName{page style}}% -\BeginIndex{Option}{cleardoublepage~=\PValue{current}}% -If one wishes the empty pages created by the \Macro{cleardoublepage} -command to have no headers but only a page number, or neither headers -nor page number while using the standard classes, the only possibility -is to redefine the command appropriately. {\KOMAScript} provides -options that avoid this necessity. The option -\OptionValue{cleardoublepage}{current} enables the default -\Macro{cleardoublepage} behaviour. If the option -\OptionValue{cleardoublepage}{plain} is used, then the -\PValue{plain}\IndexPagestyle{plain} page style is applied to the -empty left page. The option \OptionValue{cleardoublepage}{empty} causes the -\PValue{empty}\IndexPagestyle{empty} page style to be used. The page -styles are described in \autoref{sec:maincls.pageStyle}.% -\EndIndex{Option}{cleardoublepage~=\PValue{current}}% -\EndIndex{Option}{cleardoublepage~=\PName{page style}}% - - -\begin{Declaration} - \KOption{titlepage}\PName{switch} -\end{Declaration}% -\BeginIndex{Option}{titlepage~=\PName{switch}}% -The values of the option (see \autoref{tab:truefalseswitch}, -\autopageref{tab:truefalseswitch}) have the same effect as the standard -options \Option{titlepage} and \Option{notitlepage}. The option -\OptionValue{titlepage}{true} makes {\LaTeX} use separate pages for the -titles. These pages are set inside a \Environment{titlepage} environment and -normally have neither header nor footer. In comparison with standard {\LaTeX}, -{\KOMAScript} expands the handling of the titles significantly (see -\autoref{sec:maincls.titles}). - -The option \OptionValue{titlepage}{false} specifies that an \emph{in-page} -title is used. This means that the title is specially emphasized, but it may -be followed by more material on the same page, for instance by an abstract or -a section.% -\EndIndex{Option}{titlepage~=\PName{switch}}% - - -\begin{Explain}% -\begin{Declaration} - \OptionValue{parskip}{full}\\ - \OptionValue{parskip}{full*}\\ - \OptionValue{parskip}{full+}\\ - \OptionValue{parskip}{full-}\\ - \OptionValue{parskip}{half}\\ - \OptionValue{parskip}{half*}\\ - \OptionValue{parskip}{half+}\\ - \OptionValue{parskip}{half-}\\ - \Option{parindent} -\end{Declaration}% -\BeginIndex{Option}{parskip~=\PName{Value}}% -\BeginIndex{Option}{parindent}% -The standard classes normally set -paragraphs\Index[indexmain]{paragraph} indented and without any -vertical inter-paragraph space. This is the best solution when using -a regular page layout, like the ones produced with the -\Package{typearea} package. If neither indentation nor vertical space -is used, only the length of the last line would give the reader a -reference point. In extreme cases, it is very difficult to detect -whether a line is full or not. Furthermore, it is found that a marker -at the paragraph's end tends to be easily forgotten by the start of -the next line. A marker at the paragraph's beginning is more easily -remembered. Inter-paragraph spacing has the drawback of disappearing -in some contexts. For instance, after a displayed formula it would be -impossible to detect if the previous paragraph continues or if a new -one begins. Also, when starting to read at the top of a new page it -might be necessary to look at the previous page in order determine if -a new paragraph has been started or not. All these problems disappear -when using indentation. A combination of indentation and vertical -inter-paragraph spacing is redundant and therefore should be -avoided. The indentation\Index[indexmain]{indentation} is perfectly -sufficient by itself. The only drawback of indentation is the -reduction of the line length. The use of inter-paragraph spacing is -therefore justified when using short lines, for instance in a -newspaper. -\end{Explain} - - -Independently of the explanation above, there are often requests for a -document layout with vertical inter-paragraph spacing instead of indentation. -{\KOMAScript} provides a large number of related options: -\OptionValue{parskip}{full}, \OptionValue{parskip}{full-}, -\OptionValue{parskip}{full*}, \OptionValue{parskip}{full+} and -\OptionValue{parskip}{half}, \OptionValue{parskip}{half-}, -\OptionValue{parskip}{half*} and \OptionValue{parskip}{half+}. - -The four \PValue{full} option valuess each define an inter-paragraph -spacing of one line. The four \PValue{half} option values use just a -spacing of half a line. In order to avoid a change of paragraph going -unnoticed, for instance after a page break, three of the options of -each set ensure that the last line of a paragraph is not completely -filled. The variants without plus or star sign ensure a free space of -1\Unit{em}. The plus variant ensures that at least a third of the line -is free and the star variant ensures that at least a fourth of the -line is free. The minus variants make no special provision for the -last line of a paragraph. - -All eight \PValue{full} and \PValue{half} option values also change the -spacing before, after and inside list environments. This avoids the problem of -these environments or the paragraphs inside them having a larger separation -than the separation between the paragraphs of normal text. Additionally, these -options ensure that the table of contents and the lists of figures and tables -are set without any additional spacing. - -The default behaviour of {\KOMAScript} follows the \Option{parindent} -option. In this case, there is no spacing between paragraphs, only an -indentation of the first line by 1\Unit{em}. -% -\EndIndex{Option}{parskip~=\PName{Value}}% -\EndIndex{Option}{parindent}% - -\begin{Declaration} - \KOption{headsepline}\PName{switch}\\ - \KOption{footsepline}\PName{switch} -\end{Declaration}% -\BeginIndex{Option}{headsepline~=\PName{switch}}% -\BeginIndex{Option}{footsepline~=\PName{switch}}% -In order to have a line separating the header from the text body use the -option \Option{headsepline} (see \autoref{tab:truefalseswitch}, -\autopageref{tab:truefalseswitch}). The option -\OptionValue{headsepline}{false} has the reverse effect. These options have no -effect with the page styles \PValue{empty} and \PValue{plain}, because there -is no header in this case. Such a line always has the effect of visually -bringing header and text body closer together. That doesn't mean that the -header must now be moved farther from the text body. Instead, the header -should be considered as belonging to the text body for the purpose of page -layout calculations. {\KOMAScript} takes this into account by automatically -passing the option \Option{headinclude} to the \Package{typearea} package -whenever the \Option{headsepline} option is used. - -The presence of a line between text body and footer is controlled by the -option \Option{footsepline}, that behaves like the corresponding header -functions. Whenever a line is requested by the \Option{footsepline} option, -the \Option{footinclude} option is automatically passed to the -\Package{typearea} package. In contrast to \Option{headsepline}, -\Option{footsepline} takes effect when used together with the page style -\PValue{plain}, because the \PValue{plain} style produces a page number in the -footer. -% -\EndIndex{Option}{headsepline~=\PName{switch}}% -\EndIndex{Option}{footsepline~=\PName{switch}}% - - -\begin{Declaration} - \Option{chapterprefix}\\ - \OptionValue{chapterprefix}{false} -\end{Declaration}% -\BeginIndex{Option}{chapterprefix}% -\BeginIndex{Option}{chapterprefix~=\PValue{false}}% -With\OnlyAt{\Class{scrbook}\and\Class{scrreprt}} the standard -classes \Class{book} and \Class{report} a chapter -title\Index[indexmain]{chapter>title} consists of a line with the word -``Chapter''\footnote{When using another language the word - ``Chapter'' is naturally translated to the appropriate language.}% -followed by the chapter number. The title itself is set left-justified -on the following lines. The same effect is obtained in {\KOMAScript} -with the class option \Option{chapterprefix}. The default however is -\OptionValue{chapterprefix}{false}. These options also affect the automatic -running titles in the headers (see -\autoref{sec:maincls.pageStyle}). +By the way, \KOMAScript{} uses a slightly modified kind of abdication of +vertical adjustment. This has been done to move footnotes to the bottom of the +text area instead of having them close to the last used text line.\iffree{}{ + More information about this may be found at + \autoref{sec:maincls-experts.addInfos}, + \autopageref{desc:maincls-experts.cmd.footnoterule}.}% % -\EndIndex{Option}{chapterprefix}% -\EndIndex{Option}{chapterprefix~=\PValue{false}}% - - -\begin{Declaration} - \KOption{appendixprefix}\PName{switch} -\end{Declaration}% -\BeginIndex{Option}{appendixprefix~=\PName{switch}}% -Sometimes\OnlyAt{\Class{scrbook}\and\Class{scrreprt}} one wishes to have the -chapter titles in simplified form according to -\OptionValue{chapterprefix}{false}. But at the same time, one wishes a title -of an appendix\Index{appendix} to be preceded by a line with ``Appendix'' -followed by the appendix letter. This is achieved by using the -\Option{appendixprefix} option (see \autoref{tab:truefalseswitch}, -\autopageref{tab:truefalseswitch}). Since this results in an inconsistent -document layout, I advise against using this option. - -The reverse option \OptionValue{appendixprefix}{false} exists only for -completeness' sake. I don't know of any sensible use for it.% -\EndIndex{Option}{appendixprefix~=\PName{switch}}% - - -\begin{Declaration} - \OptionValue{captions}{oneline}\\ - \OptionValue{captions}{nooneline} -\end{Declaration} -\BeginIndex{Option}{captions~=\PValue{oneline}}% -\BeginIndex{Option}{captions~=\PValue{nooneline}}% -The standard classes differentiate between one-line and multi-line -table or figure captions. One-line captions are centered while -multi-line captions are left-justified. This behavior, which is also -the default with \KOMAScript, corresponds to the option -\OptionValue{captions}{oneline}. There is no special handling of one-line -captions when the \OptionValue{captions}{nooneline} option is given. - -\begin{Explain} - The avoidance of a special treatment for the caption has an - additional effect that is sometimes highly desirable. Footnotes that - appear inside a \Macro{caption} command often have a wrong number - assigned to them. This happens because the footnote counter is - incremented once as soon as the text is measured to determine if it - will be one line or more. When the \OptionValue{captions}{nooneline} option - is used no such measurement is made. The footnote numbers are - therefore correct. - - But since {\KOMAScript} version~2.9 you don't need the option - \OptionValue{captions}{nooneline} to avoid the above described - effect. {\KOMAScript} classes contain a workaround, so you can have - footnotes inside captions. It should be mentioned though that when - using footnotes inside floating environments, the contents of the - floating environment should be encapsulated inside a minipage. That - way it is guaranteed that floating environment and footnote are - inseparable. -\end{Explain} +\EndIndex{Cmd}{flushbottom}% +\EndIndex{Cmd}{raggedbottom}% % -\EndIndex{Option}{captions~=\PValue{oneline}}% -\EndIndex{Option}{captions~=\PValue{nooneline}}% - -\subsection{Options for Font Selection} -\label{sec:maincls.fontOptions} +\EndIndex{}{page>layout} -Font options are those options that affect the font size of the -document or the fonts of individual elements. Options that affect the -font style are also theoretically font options. However {\KOMAScript} -currently has no such options. +\section{Selection of the Document Font Size} +\LoadCommon{4} -\begin{Declaration} - \Option{10pt}\\% - \Option{11pt}\\% - \Option{12pt}\\ - \Option{\Var{X}pt} -\end{Declaration}% -\BeginIndex{Option}{10pt}% -\BeginIndex{Option}{11pt}% -\BeginIndex{Option}{12pt}% -\BeginIndex{Option}{\Var{X}pt}% -The options \Option{10pt}, \Option{11pt} and \Option{12pt} have the -same effect as the corresponding standard options. In contrast to the -standard classes, {\KOMAScript} can be used to choose other font -sizes\Index[indexmain]{font>size}. However, {\LaTeX} provides the -necessary class option files only for 10\Unit{pt}, 11\Unit{pt} und -12\Unit{pt}, and {\KOMAScript} does not provide any class option files, -so the user must provide any other class option files. The package -\Package{extsizes} (see -\cite{package:extsizes})\IndexPackage{extsizes}, for example, can be -used to provide a \File{size14.clo} class file. Very big font sizes -may lead to arithmetic overflow inside the page layout calculations of -the \Package{typearea} package. +The default at \Class{scrbook}, \Class{scrreprt}, and \Class{scrartcl} is +\OptionValue{fontsize}{11pt}.\textnote{\KOMAScript{} vs. standard classes} In +contrast, the default of the standard classes would be \Option{10pt}. You +may attend to this if you switch from a standard class to a \KOMAScript{} +class.% % -\EndIndex{Option}{10pt}% -\EndIndex{Option}{11pt}% -\EndIndex{Option}{12pt}% -\EndIndex{Option}{\Var{X}pt}% - - -\begin{Declaration} - \OptionValue{headings}{small}\\ - \OptionValue{headings}{normal}\\ - \OptionValue{headings}{big} -\end{Declaration}% -\BeginIndex{Option}{headings~=\PName{size}}% -The font size used for the titles\index{title}\index{document - structure} is relatively big, both with the standard classes and -with {\KOMAScript}. Not everyone likes this choice; moreover it is -specially problematic for small paper sizes. Consequently, -{\KOMAScript} provides, besides the large title font size defined by -the \OptionValue{headings}{big} option, the two options -\OptionValue{headings}{normal} and \OptionValue{headings}{small}, that allow for -smaller title font sizes. The font sizes for headings resulting from -these options for \Class{scrbook} and \Class{scrreprt} are shown in -\autoref{tab:maincls.structureElementsFont}, -\autopageref{tab:maincls.structureElementsFont}. For \Class{scrartcl} -smaller font sizes are generally used. - -\OnlyAt{\Class{scrbook}\and\Class{scrreprt}}The spacing before and -after chapter titles is also influenced by these options. Chapter -titles are also influenced by the options \Option{chapterprefix} and -\OptionValue{chapterprefix}{false}, and appendix titles by the options -\Option{appendixprefix} and \OptionValue{appendixprefix}{false}, all of which -are described in \autoref{sec:maincls.layoutOptions}, -\autopageref{desc:maincls.option.chapterprefix}. +\EndIndex{Option}{fontsize~=\PName{size}}% % -\EndIndex{Option}{headings~=\PName{size}}% - -\subsection{Options Affecting the Table of Contents} -\label{sec:maincls.tocOptions} +\EndIndex{}{font>size} -{\KOMAScript} has several options that affect the entries in the table -of contents\Index[indexmain]{table>of - contents}\Index[indexmain]{contents>table of}. The form of the table -of contents is fixed but several variations can be obtained with the -options provided. - -\begin{Explain}% -\begin{Declaration} - \OptionValue{listof}{totoc}\\ - \OptionValue{index}{totoc}\\ - \OptionValue{bibliography}{totoc}\\ - \OptionValue{bibliography}{totocnumbered}\\ - \OptionValue{listof}{numbered} -\end{Declaration}% -\BeginIndex{Option}{listof~=\PValue{totoc}}% -\BeginIndex{Option}{index~=\PValue{totoc}}% -\BeginIndex{Option}{bibliography~=\PValue{totoc}}% -\BeginIndex{Option}{bibliography~=\PValue{totocnumbered}}% -\BeginIndex{Option}{listof~=\PValue{numbered}}% -Normally, lists of tables and figures, index and bibliography are not -included in the table of contents. These entries are purposely omitted -in classical typography because, among other things, a very particular -placement of these items is silently assumed, if they are present at -all: -\begin{itemize} -\item table of contents after the title pages, -\item lists of tables and figures after the table of contents, -\item index right at the end, -\item bibliography before the index. -\end{itemize} -Books, in which all these items are present, often include ribbons -that can be used to mark the location of these items in the book, so -that the reader only has to look for them once. -\end{Explain} - -It is becoming increasingly common to find entries in the table of -contents for the lists of tables and figures, for the bibliography, -and, sometimes, even for the index. This is surely also related to the -recent trend of putting lists of figures and tables at the end of the -document. Both lists are similiar to the table of contents in -structure and intention. I'm therefore sceptical of this evolution. -Since it makes no sense to include only one of the lists of tables and -figures in the table of contents, there exists only one option -\OptionValue{listof}{totoc} that causes entries for both types of lists to be -included. This also includes any lists produced with version~1.2e or -later of the \Package{float}\IndexPackage{float} package (see -\cite{package:float}). All these lists are unnumbered, since they -contain entries that reference other sections of the document. - -The option \OptionValue{index}{totoc} causes an entry for the index to be -included in the table of contents. The index is unnumbered since it -too only includes references to the contents of the other sectional -units. - -The bibliography is a different kind of listing. It does not list the -contents of the present document but refers instead to external -documents. For that reason, it could be argued that it qualifies as a -chapter (or section) and, as such, should be numbered. The option -\OptionValue{bibliography}{totocnumbered} has this effect, including the generation of -the corresponding entry in the table of contents. I personally think -that this reasoning would lead us to consider a classical list of -sources also to be a separate chapter. On the other hand, the -bibliography is finally not something that was written by the -document's author. In view of this, the bibliography merits nothing -more than an unnumbered entry in the table of contents, and that can -be achieved with the \OptionValue{bibliography}{totoc} option. - -As\ChangedAt{v2.8q}{% - \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} the author -of {\KOMAScript} already views the option \OptionValue{listof}{totoc} with -open skepticism, and frankly detests option \OptionValue{bibliography}{totocnumbered}, -it should come as no surprise that he implemented option -\OptionValue{listof}{numbered} only under extreme duress. He fears that -as a next step someone will want the table of contents numbered and -entered in the table of contents. Therefore, those looking in this -documentation for a detailed description of option \OptionValue{listof}{totoc} -will search in vain. A similar option for the index would be just -as silly, so its implementation has been determinedly refused so far. -% -\EndIndex{Option}{listof~=\PValue{totoc}}% -\EndIndex{Option}{index~=\PValue{totoc}}% -\EndIndex{Option}{bibliography~=\PValue{totoc}}% -\EndIndex{Option}{bibliography~=\PValue{totocnumbered}}% -\EndIndex{Option}{listof~=\PValue{numbered}}% +\LoadCommon{5}% \section{Text Markup} +The command \Macro{usekomafont} can change the current font specification to +the one currently used with the specified \PName{element}. -\begin{Declaration} - \OptionValue{toc}{graduated}\\ - \OptionValue{toc}{flat} -\end{Declaration}% -\BeginIndex{Option}{toc~=\PName{value}}% -The table of contents is normally\ChangedAt{v2.8q}{% - \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} set up so -that different sectional units have different indentations. The -section number is set left-justified in a fixed-width field. This -setup is selected with the option \OptionValue{toc}{graduated}. - -When there are many sections, the corresponding numbering tends to -become very wide, so that the reserved field overflows. The FAQ -\cite{DANTE:FAQ} suggests that the table of contents should be -redefined in such a case. {\KOMAScript} offers an alternative format -that avoids the problem completely. If the option \OptionValue{toc}{flat} is -selected, then no variable indentation is applied to the titles of the -sectional units. Instead, a table-like organisation is used, where all -unit numbers and titles, respectively, are set in a left-justified -column. The space necessary for the unit numbers is thus determined -automatically. +\begin{Example} + \phantomsection\label{desc:maincls.setkomafont.example}% + Assume that you want to use for the element \FontElement{captionlabel} the + same font specification that is used with + \FontElement{descriptionlabel}. This can be easily done with: +\begin{lstcode} + \setkomafont{captionlabel}{% + \usekomafont{descriptionlabel}% + } +\end{lstcode} + You can find other examples in the paragraphs on each element. +\end{Example} -\begin{Explain} - In order to calculate automatically the space taken by the unit - numbers when using the option \OptionValue{toc}{flat} it is necessary to - redefine some macros. It is improbable but not impossible that this - leads to problems when using other packages. If you think this may - be causing problems, you should try the alternative option - \OptionValue{toc}{graduated}, since it does not make any redefinitions. When - using packages that affect the format of the table of contents, it - is possible that the use of options \OptionValue{toc}{flat} and - \OptionValue{toc}{graduated} too may lead to problems. When using such - packages then, for safety's sake, one should refrain from using - either of these options as global (class) options. - - If the \OptionValue{toc}{flat} option is active, the width of the field for - unit numbering is determined when outputting the table of contents. - After a change that affects the table of contents, at most three - {\LaTeX} runs are necessary to obtain a correctly set table of - contents. -\end{Explain} +\begin{desclist} + \desccaption{% + Elements whose type style can be changed with the {\KOMAScript} command + \Macro{setkomafont} or + \Macro{addtokomafont}\label{tab:maincls.elementsWithoutText}% + }{% + Elements whose type style can be changed (\emph{continuation})% + }% + \feentry{caption}{text of a table or figure caption (see + \autoref{sec:maincls.floats}, \autopageref{desc:maincls.cmd.caption})}% + \feentry{captionlabel}{label of a table or figure caption; used according to + the element \FontElement{caption} (see \autoref{sec:maincls.floats}, + \autopageref{desc:maincls.cmd.caption})}% + \feentry{chapter}{title of the sectional unit \Macro{chapter} (see + \autoref{sec:maincls.structure}, \autopageref{desc:maincls.cmd.chapter})}% + \feentry{chapterentry}{% + table of contents entry of the sectional unit \Macro{chapter} (see + \autoref{sec:maincls.toc}, + \autopageref{desc:maincls.cmd.tableofcontents})}% + \feentry{chapterentrypagenumber}{% + page number of the table of contents entry of the sectional unit + \Macro{chapter}, variation on the element \FontElement{chapterentry} (see + \autoref{sec:maincls.toc}, + \autopageref{desc:maincls.cmd.tableofcontents})}% + \feentry{chapterprefix}{% + chapter number line at setting \OptionValue{chapterprefix}{true} or + \OptionValue{appendixprefix}{true} (see \autoref{sec:maincls.structure}, + \autopageref{desc:maincls.option.chapterprefix})}% + \feentry{descriptionlabel}{labels, i.\,e., the optional argument of + \Macro{item} in the \Environment{description} environment (see + \autoref{sec:maincls.lists}, \autopageref{desc:maincls.env.description})}% + \feentry{dictum}{dictum, wise saying, or smart slogan (see + \autoref{sec:maincls.dictum}, \autopageref{desc:maincls.cmd.dictum})}% + \feentry{dictumauthor}{author of a dictum, wise saying, or smart slogan; + used according to the element \FontElement{dictumtext} (see + \autoref{sec:maincls.dictum}, \autopageref{desc:maincls.cmd.dictum})}% + \feentry{dictumtext}{another name for \FontElement{dictum}}% + \feentry{disposition}{all sectional unit titles, i.\,e., the arguments of + \Macro{part} down to \Macro{subparagraph} and \Macro{minisec}, including + the title of the abstract; used before the element of the corresponding + unit (see \autoref{sec:maincls.structure} ab + \autopageref{sec:maincls.structure})}% + \feentry{footnote}{footnote text and marker (see + \autoref{sec:maincls.footnotes}, + \autopageref{desc:maincls.cmd.footnote})}% + \feentry{footnotelabel}{mark of a footnote; used according to the element + \FontElement{footnote} (see \autoref{sec:maincls.footnotes}, + \autopageref{desc:maincls.cmd.footnote})}% + \feentry{footnotereference}{footnote reference in the text (see + \autoref{sec:maincls.footnotes}, + \autopageref{desc:maincls.cmd.footnote})}% + \feentry{footnoterule}{% + horizontal rule\ChangedAt{v3.07}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} above the footnotes at the end of the text area (see + \autoref{sec:maincls.footnotes}, + \autopageref{desc:maincls.cmd.setfootnoterule})}% + \feentry{labelinglabel}{labels, i.\,e., the optional argument of + \Macro{item} in the \Environment{labeling} environment (see + \autoref{sec:maincls.lists}, \autopageref{desc:maincls.env.labeling})}% + \feentry{labelingseparator}{separator, i.\,e., the optional argument of the + \Environment{labeling} environment; used according to the element + \FontElement{labelinglabel} (see \autoref{sec:maincls.lists}, + \autopageref{desc:maincls.env.labeling})}% + \feentry{minisec}{title of \Macro{minisec} (see + \autoref{sec:maincls.structure} ab + \autopageref{desc:maincls.cmd.minisec})}% + \feentry{pagefoot}{only used if package \Package{scrpage2} has been loaded + (see \autoref{cha:scrpage}, + \autopageref{desc:scrpage.fontelement.pagefoot})}% + \feentry{pagehead}{another name for \FontElement{pageheadfoot}}% + \feentry{pageheadfoot}{the head of a page, but also the foot of a page (see + \autoref{sec:maincls.pagestyle} ab \autopageref{sec:maincls.pagestyle})}% + \feentry{pagenumber}{page number in the header or footer (see + \autoref{sec:maincls.pagestyle})}% + \feentry{pagination}{another name for \FontElement{pagenumber}}% + \feentry{paragraph}{title of the sectional unit \Macro{paragraph} (see + \autoref{sec:maincls.structure}, + \autopageref{desc:maincls.cmd.paragraph})}% + \feentry{part}{title of the \Macro{part} sectional unit, without the line + containing the part number (see \autoref{sec:maincls.structure}, + \autopageref{desc:maincls.cmd.part})}% + \feentry{partentry}{% + table of contents entry of the sectional unit \Macro{part} (see + \autoref{sec:maincls.toc}, + \autopageref{desc:maincls.cmd.tableofcontents})}% + \feentry{partentrypagenumber}{% + Page number of the table of contents entry of the sectional unit + \Macro{part} variation on the element \FontElement{partentry} (see + \autoref{sec:maincls.toc}, + \autopageref{desc:maincls.cmd.tableofcontents})}% + \feentry{partnumber}{line containing the part number in a title of the + sectional unit \Macro{part} (see \autoref{sec:maincls.structure}, + \autopageref{desc:maincls.cmd.part})}% + \feentry{section}{title of the sectional unit \Macro{section} (see + \autoref{sec:maincls.structure}, \autopageref{desc:maincls.cmd.section})}% + \feentry{sectionentry}{% + table of contents entry of sectional unit \Macro{section} (only available + in \Class{scrartcl}, see \autoref{sec:maincls.toc}, + \autopageref{desc:maincls.cmd.tableofcontents})}% + \feentry{sectionentrypagenumber}{% + page number of the table of contents entry of the sectional unit + \Macro{section}, variation on element \FontElement{sectionentry} (only + available in \Class{scrartcl, see \autoref{sec:maincls.toc}, + \autopageref{desc:maincls.cmd.tableofcontents}})}% + \feentry{sectioning}{another name for \FontElement{disposition}}% + \feentry{subject}{% + categorization of the document, i.\,e., the argument of \Macro{subject} on + the main title page (see \autoref{sec:maincls.titlepage}, + \autopageref{desc:maincls.cmd.subject})}% + \feentry{subparagraph}{title of the sectional unit \Macro{subparagraph} (see + \autoref{sec:maincls.structure}, + \autopageref{desc:maincls.cmd.subparagraph})}% + \feentry{subsection}{title of the sectional unit \Macro{subsection} (see + \autoref{sec:maincls.structure}, + \autopageref{desc:maincls.cmd.subsection})}% + \feentry{subsubsection}{title of the sectional unit \Macro{subsubsection} + (see \autoref{sec:maincls.structure}, + \autopageref{desc:maincls.cmd.subsubsection})}% + \feentry{subtitle}{% + subtitle of the document, i.\,e., the argument of \Macro{subtitle} on the + main title page (see \autoref{sec:maincls.titlepage}, + \autopageref{desc:maincls.cmd.title})}% + \feentry{title}{main title of the document, i.\,e., the argument of + \Macro{title} (for details about the title size see the additional note in + the text of \autoref{sec:maincls.titlepage} from + \autopageref{desc:maincls.cmd.title})}% +\end{desclist} % -\EndIndex{Option}{toc~=\PName{value}}% - -\subsection{Options for Lists of Floats} -\label{sec:maincls.listsOptions} - -The best known lists of floats are the list of figures and the list of -tables. Additionally, with help from the -\Package{float}\IndexPackage{float} package, for instance, it is -possible to produce new float environments with corresponding lists. - -\begin{Explain} - Whether {\KOMAScript} options have any effect on lists of floats - produced by other packages depends mainly on those packages. This is - generally the case with the lists of floats produced by the - \Package{float}\IndexPackage{float} package. - - Besides the options described here, there are others that affect the - lists of floats though not their formatting or contents. Instead - they affect what is included in the table of contents. The - corresponding descriptions can therefore be found in - \autoref{sec:maincls.tocOptions}. -\end{Explain} - -\begin{Declaration} - \OptionValue{listof}{graduated}\\ - \OptionValue{listof}{flat} -\end{Declaration}% -\BeginIndex{Option}{listof~=\PName{value}}% -Lists of figures and tables\ChangedAt{v2.8q}{% - \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} are -generally set up so that their numbering uses a fixed space. This -corresponds to the use of option \OptionValue{listof}{graduated}. - -If the numbers become too large, for instance because many tables are -used, it may happen that the available space is exceeded. Therefore -{\KOMAScript} supplies an option called \OptionValue{listof}{flat} that is -similar to the \OptionValue{toc}{flat} option. The width of the numbers is -automatically determined and the space for them correspondingly -adjusted. Concerning the mode of operation and the side effects, the -observations made in \autoref{sec:maincls.tocOptions}, -\autopageref{desc:maincls.option.toc} for the \OptionValue{toc}{flat} -option are equally valid in this case. Please note that when using the -\OptionValue{listof}{flat} option several {\LaTeX} runs are necessary before -the lists of floats achieve their final form. +\EndIndex{Cmd}{setkomafont}% +\EndIndex{Cmd}{addtokomafont}% +\EndIndex{Cmd}{usekomafont}% % -\EndIndex{Option}{listof~=\PName{value}}% - -\begin{Declaration} - \Option{chapteratlists}\\ - \XOption{chapteratlists}=\PName{value} -\end{Declaration}% -\BeginIndex{Option}{chapteratlists}% -\OnlyAt{\Class{scrbook}\and\Class{scrreprt}}% -Normally,\ChangedAt{v2.96a}{\Class{scrbook}\and \Class{scrreprt}} -every chapter entry generated with \Macro{chapter} introduces vertical -spacing into the lists of floats. Since version~2.96a this applies -also for the command \Macro{addchap}, if no compatibility option to an -earlier version was chosen (see option \Option{version} in -\autoref{sec:maincls.compatibilityOptions}, -\autopageref{desc:maincls.option.version}). +\EndIndex{}{font}% +\EndIndex{}{text>markup}% -Furthermore, now the option \Option{chapteratlists} can be used to -change the spacing, by passing the desired distance as -\PName{value}. The default setting is 10\,pt. If the value is set to -\PValue{entry} or no value is specified, then instead of a vertical -distance the chapter entry itself will be entered into the lists. - -This option can be changed with -\Macro{KOMAoptions}\Parameter{chapteratlists} or -\Macro{KOMAoptions}\Parameter{chapteratlists=\PName{value}} even -inside the document. It takes effect from the next heading -onwards. However, changes to the option will only become effective in -the lists following two more {\LaTeX} runs. -\EndIndex{Option}{chapteratlists}% +\LoadCommon{14} %\section{Document Titles} -\subsection{Options Affecting the Formatting} -\label{sec:maincls.formattingOptions} +\section{Abstract} +\label{sec:maincls.abstract} +\BeginIndex{}{summary}% +\BeginIndex{}{abstract}% -Formatting options are all those options that affect the form or -formatting of the document and cannot be assigned to other sections. -They are therefore the \emph{remaining options}. +Particularly\OnlyAt{\Class{scrartcl}\and\Class{scrreprt}} with +articles, more rarely with reports, there is a summary\Index{summary} +directly under the title and before the table of contents. When using an in-page +title, this summary is normally a kind of left- and right-indented block. In +contrast to this, a kind of chapter or section is printed using title pages. \begin{Declaration} - \KOption{abstract}\PName{switch} + \KOption{abstract}\PName{simple switch} \end{Declaration}% -\BeginIndex{Option}{abstract~=\PName{switch}}% +\BeginIndex{Option}{abstract~=\PName{simple switch}}% +\ChangedAt{v3.00}{\Class{scrreprt}\and \Class{scrartcl}}% In\OnlyAt{\Class{scrreprt}\and\Class{scrartcl}} the standard classes the \Environment{abstract} environment sets the text ``\abstractname'' centered before the summary text\Index[indexmain]{summary}. This was normal practice in @@ -960,499 +366,518 @@ a displayed text at the beginning of an article or report as the abstract. This is even more true when the text comes before the table of contents. It is also surprising when precisely this title appears small and centered. {\KOMAScript} provides the possibility of including or excluding the -abstract's title with the options \OptionValue{abstract}{true} and -\OptionValue{abstract}{false} (see -\autoref{tab:truefalseswitch},\autopageref{tab:truefalseswitch}). +abstract's title with the options \Option{abstract}. For \PName{simplex + switch}, any value from +\autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch} may be used. -\begin{Explain} - Books typically use another type of summary. In that case there is - usually a dedicated summary chapter at the beginning or end of the - book. This chapter is often combined with the introduction or a - description of wider prospects. Therefore, the class \Class{scrbook} - has no \Environment{abstract} environment. A summary chapter is also - recommended for reports in a wider sense, like a Master's or Ph.D. - thesis. -\end{Explain} +Books typically use another type of summary. In that case there is usually a +dedicated summary chapter at the beginning or end of the book. This chapter is +often combined with the introduction or a description of wider +prospects. Therefore, the class \Class{scrbook} has no \Environment{abstract} +environment. A\textnote{Hint!} summary chapter is also recommended for reports in a wider +sense, like a Master's or Ph.D. thesis.% % -\EndIndex{Option}{abstract~=\PName{switch}}% +\EndIndex{Option}{abstract~=\PName{simple switch}}% \begin{Declaration} - \OptionValue{numbers}{enddot}\\ - \OptionValue{numbers}{noenddot} + \XMacro{begin}\PParameter{\Environment{abstract}}\\ + \quad\dots\\ + \XMacro{end}\PParameter{abstract} \end{Declaration}% -\BeginIndex{Option}{numbers~=\PName{value}}% -\begin{Explain}% - In German, according to {\small DUDEN}, the numbering of sectional - units should have no dot at the end if only arabic numbers are used - (see \cite[R\,3]{DUDEN}). On the other hand, if roman numerals or - letters are appear in the numbering, then a dot should appear at the - end of the numbering (see \cite[R\,4]{DUDEN}). {\KOMAScript} has an - internal mechanisms that tries to implement this somewhat complex - rule. The resulting effect is that, normally, after the sectional - commands \Macro{part} and \Macro{appendix} a switch is made to - numbering with an ending dot. The information is saved in the - \File{aux} file and takes effect on the next {\LaTeX} run. -\end{Explain} - -In some cases the mechanism for placing or leaving off the ending dot -may fail, or other languagues may have different rules. Therefore it -is possible to activate the use of the ending dot manually with the -option \OptionValue{numbers}{enddot} or to deactivate it with -\OptionValue{numbers}{noenddot}. - -Please note that the mechanism only takes effect on the next {\LaTeX} -run. Therefore, before trying to use these options to forcibly -control the numbering format, a further run without changing any -options should be made. - -Calling these options \Option{dottednumbers}\IndexOption{dottednumbers} and -\Option{dotlessnumbers}\IndexOption{dotlessnumbers} or similar would be more -correct. It so happened that the meaning of the chosen names was not clear to -me a few years ago when the options were implemented. Some people asked me not -to fix this ``funny little mistake'' so I didn't. -% -\EndIndex{Option}{numbers~=\PName{value}}% - -\begin{Declaration} - \Option{leqno} -\end{Declaration}% -\BeginIndex{Option}{leqno}% -Equations\Index{equation} are normally numbered on the right. The -standard option \Option{leqno} causes the standard option file -\File{leqno.clo} to be loaded. The equations are then numbered on the -left. -% -\EndIndex{Option}{leqno}% +\BeginIndex{Env}{abstract}% +\OnlyAt{\Class{scrartcl}\and \Class{scrreprt}}% +Some {\LaTeX} classes offer a special environment for this summary, the +\Environment{abstract} environment. This is output directly, as it is not a +component of the titles set by \Macro{maketitle}. Please\textnote{Attention!} +note that \Environment{abstract} is an environment, not a command. Whether the +summary has a heading or not is determined by the option \Option{abstract} +(see above). + +With books (\Class{scrbook}) the summary is frequently a component of the +introduction or a separate chapter at the end of the document. Therefore no +\Environment{abstract} environment is provided. When using the class +\Class{scrreprt} it is surely worth considering whether one should not proceed +likewise. See commands \Macro{chapter*}\IndexCmd{chapter*} and +\Macro{addchap}\IndexCmd{addchap} or \Macro{addchap*} at +\autoref{sec:maincls.structure} from \autopageref{desc:maincls.cmd.chapter*} +onwards. + +When using an in-page title\Index{title>in-page} (see option \Option{titlepage}, +\autoref{sec:maincls.titlepage}, \autopageref{desc:maincls.option.titlepage}), +the abstract is set using the environment +\Environment{quotation}\IndexEnv{quotation} (see \autoref{sec:maincls.lists}, +\autopageref{desc:maincls.env.quotation}) internally. Thereby paragraphs will +be set with intention of the first line. If that first paragraph of the +abstract should not be intended, this indent may be disabled using +\Macro{noindent}\IndexCmd{noindent}\important{\Macro{noindent}} \iffree{just + after \Macro{begin}\PParameter{abstract}}{at the begin of the environment}.% +% +\EndIndex{Env}{abstract}% +% +\EndIndex{}{summary}% +\EndIndex{}{abstract} + + +\section{Table of Contents} +\label{sec:maincls.toc} +\BeginIndex{}{table of contents} +The table of contents is normally set after the document title and an +optional existing abstract. Often one may find additional lists of +floating environments, e.\,g., the list of tables and the list of +figures, after the table of contents (see +\autoref{sec:maincls.floats}). \begin{Declaration} - \Option{fleqn} + \KOption{toc}\PName{selection} +\end{Declaration} +\BeginIndex{Option}{toc~=\PName{selection}}% +\label{desc:maincls.option.toc.listof}% +\label{desc:maincls.option.toc.nolistof}% +\label{desc:maincls.option.toc.listofnumbered}\nobreak +It is becoming increasingly common to find entries in the table of contents +for the lists of tables and figures, for the bibliography, and, sometimes, +even for the index. This is surely also related to the recent trend of putting +lists of figures and tables at the end of the document. Both lists are +similiar to the table of contents in structure and intention. I'm therefore +sceptical of this evolution. Since\important{\OptionValue{toc}{listof}} it +makes no sense to include only one of the lists of tables and figures in the +table of contents, there exists only one +\PName{selection}\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} \PValue{listof}\IndexOption{toc~=\PValue{listof}} that +causes entries for both types of lists to be included. This also includes any +lists produced with version~1.2e or later of the +\Package{float}\IndexPackage{float} package (see \cite{package:float}) or the +\Package{floatrow} (see \cite{package:floatrow}). +All\important{\OptionValue{toc}{listofnumbered}} these lists are unnumbered, +since they contain entries that reference other sections of the document. If +one wants to ignore this general agreement, one may use \PName{selection} +\PValue{listofnumbered}% +\IndexOption{toc~=\PValue{listofnumbered}}. + +\leavevmode\phantomsection\nobreak +\label{desc:maincls.option.toc.index}\nobreak +The\important{\OptionValue{toc}{index}} option \OptionValue{index}{totoc} +causes an entry for the index to be included in the table of contents. The +index is unnumbered since it too only includes references to the contents of +the other sectional units. \KOMAScript{} does not have support to ignore this +general agreement. + +\leavevmode\phantomsection\nobreak +\label{desc:maincls.option.toc.bibliography}\nobreak +The bibliography is a different kind of listing. It does not list the contents +of the present document but refers instead to external +documents. For\important{\begin{tabular}{@{}r@{}} + \multicolumn{1}{@{}l@{}}{\Option{toc=}}\\ + ~\PValue{bibliographynumbered}\\ + \end{tabular}} that +reason, it could be argued that it qualifies as a chapter (or section) and, as +such, should be numbered. The option \OptionValue{toc}{bibliographynumbered}% +\IndexOption{toc~=\PValue{bibliographynumbered}} +has this effect, including the generation of the corresponding entry in the +table of contents. I personally think that this reasoning would lead us to +consider a classical list of sources also to be a separate chapter. On the +other hand, the bibliography is finally not something that was written by the +document's author. In\important{\OptionValue{toc}{bibliography}} view of this, the bibliography merits nothing more than +an unnumbered entry in the table of contents, and that can be achieved with +\OptionValue{toc}{bibliography}\IndexOption{toc~=\PValue{bibliography}}. + +\leavevmode\phantomsection\nobreak +\label{desc:maincls.option.toc.graduated}\nobreak +The table of contents is normally\ChangedAt{v2.8q}{% + \Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}}% +\important{\OptionValue{toc}{graduated}} set up so that different sectional +units have different indentations. The section number is set left-justified in +a fixed-width field. This default setup is selected with the option +\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}} +\OptionValue{toc}{graduated}\IndexOption{toc~=\PValue{graduated}}. + +\leavevmode\phantomsection\nobreak +\label{desc:maincls.option.toc.flat}\nobreak +When there are many sections, the corresponding numbering tends to become very +wide, so that the reserved field overflows. The German FAQ \cite{DANTE:FAQ} +suggests that the table of contents should be redefined in such a +case. {\KOMAScript}\important{\OptionValue{toc}{flat}} offers an alternative +format that avoids the problem completely. If the option +\OptionValue{toc}{flat}\IndexOption{toc~=\PValue{flat}} is selected, then no variable indentation is applied +to the titles of the sectional units. Instead, a table-like organisation is +used, where all unit numbers and titles, respectively, are set in a +left-justified column. The space necessary for the unit numbers is thus +determined automatically.% + +The \autoref{tab:maincls.toc} shows an overview of possible values for +\PName{selection} of \Option{toc}. + +\begin{desclist} + \desccaption[{Possible values of option \Option{toc}}]{% + Possible values of option \Option{toc} to set form and contents of the + table of contents\label{tab:maincls.toc}% + }{% + Possible values of option \Option{toc} (\emph{continuation})% + }% + \entry{\PValue{bibliography}, \PValue{bib}}{% + The bibliography will be represented by an entry at the table of contents, + but will not be numbered.% + \IndexOption{toc~=\PValue{bibliography}}}% + \entry{\PValue{bibliographynumbered}, \PValue{bibnumbered}, + \PValue{numberedbibliography}, \PValue{numberedbib}}{% + The bibliography will be represented by an entry at the table of contents + and will be numbered.% + \IndexOption{toc~=\PValue{bibliographynumbered}}}% + \entry{\PValue{flat}, \PValue{left}}{% + The table of contents will be set in table form. The numbers of the + headings will be at the first column, the heading text at the second + column, and the page number at the third column. The amount of space + needed for the numbers of the headings will be determined by the detected + needed amount of space at the previous \LaTeX{} run.% + \IndexOption{toc~=\PValue{flat}}}% + \entry{\PValue{graduated}, \PValue{indent}, \PValue{indented}}{% + The table of contents will be set in hierarchical form. The amount of + space for the heading numbers is limited.% + \IndexOption{toc~=\PValue{graduated}}}% + \entry{\PValue{index}, \PValue{idx}}{% + The index will be represented by an entry at the table of contents, but + will not be numbered.% + \IndexOption{toc~=\PValue{index}}}% + \pventry{listof}{% + The lists of floating environments, e.\,g., the list of figures and the + list of tables, will be represented by entries at the table of contents, + but will not be numbered.% + \IndexOption{toc~=\PValue{listof}}}% + \entry{\PValue{listofnumbered}, \PValue{numberedlistof}}{% + The lists of floating environments, e.\,g., the list of figures and the + list of tables, will be represented by entries at the table of contents + and will be numbered.% + \IndexOption{toc~=\PValue{listofnumbered}}}% + \entry{\PValue{nobibliography}, \PValue{nobib}}{% + The bibliography will not be represented by an entry at the table of + contents.% + \IndexOption{toc~=\PValue{nobibliography}}}% + \entry{\PValue{noindex}, \PValue{noidx}}{% + The index will not be represented by an entry at the table of + contents.% + \IndexOption{toc~=\PValue{noindex}}}% + \pventry{nolistof}{% + The lists of floating environments, e.\,g., the list of figures and the + list of tables, will not be represented by entries at the table of + contents.% + \IndexOption{toc~=\PValue{nolistof}}}% +\end{desclist} +% +\EndIndex{Option}{toc~=\PName{selection}}% + +\begin{Declaration} + \Macro{tableofcontents} \end{Declaration}% -\BeginIndex{Option}{fleqn}% -Displayed equations are normally centered. The standard option -\Option{fleqn} causes the standard option file \File{fleqn.clo} to be -loaded. Displayed equations are then left-justified. This option may not be -used at the argument of \Macro{KOMAoptions} but at the optional argument of -\Macro{documentclass}. +\BeginIndex{Cmd}{tableofcontents}% +The production of the table of contents is done by the \Macro{tableofcontents} +command. To get a correct table of contents, at least two {\LaTeX} runs are +necessary after every change. The contents and the form of the table of +contents may be influenced with the above described option \Option{toc}. After +changing the settings of this option, at least two \LaTeX{} runs are needed +again. + +The entry for the highest sectional unit below \Macro{part}, i.\,e., +\Macro{chapter} with \Class{scrbook}\IndexClass{scrbook} and +\Class{scrreprt}\IndexClass{scrreprt} or \Macro{section} with +\Class{scrartcl}\IndexClass {scrartcl} is not indented. There are no dots +between the text of the sectional unit heading and the page number. The +typographic reasons for this are that the font is usually different, and the +desire for appropriate emphasis. The table of contents of this manual is a +good example of these considerations. The font +style\ChangedAt{v2.97c}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}}\important[i]{\FontElement{partentry}\\ + \FontElement{chapterentry}\\ + \FontElement{sectionentry}} is, however, affected by the settings of the +element \FontElement{partentry}\IndexFontElement{partentry}, and for classes +\Class{scrbook} and \Class{scrreprt} by +\FontElement{chapterentry}\IndexFontElement{chapterentry}, and for +class \Class{scrartcl} by +\FontElement{sectionentry}\IndexFontElement{sectionentry}. The font style of the +page numbers may be set dissenting from these elements using +\FontElement{partentrypagenumber}\IndexFontElement{partentrypagenumber} and +\FontElement{chapterentrypagenumber}\IndexFontElement{chapterentrypagenumber} +respectively +\FontElement{sectionentrypagenumber}\IndexFontElement{sectionentrypagenumber} +(see \autoref{sec:maincls.textmarkup}, +\autopageref{desc:maincls.cmd.setkomafont}, and +\autoref{tab:maincls.elementsWithoutText}, +\autopageref{tab:maincls.elementsWithoutText}). +%KMU I'm not sure what the previous sentence is saying. How about +%``The font style of the page numbers are set using +%partentrypagenumber, chapterentrypagenumber, and +%sectionentrypagenumber, respectively.'' +The default settings of the +elements may be found at \autoref{tab:maincls.tocelements}. +\begin{table} +% \centering +% \caption + \KOMAoptions{captions=topbeside}% + \setcapindent{0pt}% + \begin{captionbeside} + [Font style defaults of the elements of the table of contents] + {\label{tab:maincls.tocelements}% + Font style defaults of the elements of the table of contents}% + [l] + \setlength{\tabcolsep}{.9\tabcolsep}% Umbruchoptimierung! + \begin{tabular}[t]{ll} + \toprule + Element & Default font style \\ + \midrule + \FontElement{partentry} & + \Macro{usekomafont}\PParameter{disposition}\Macro{large} \\ + \FontElement{partentrypagenumber} & \\ + \FontElement{chapterentry} & \Macro{usekomafont}\PParameter{disposition} + \\ + \FontElement{chapterentrypagenumber} & \\ + \FontElement{sectionentry} & \Macro{usekomafont}\PParameter{disposition} + \\ + \FontElement{sectionentrypagenumber} & \\ + \bottomrule + \end{tabular} + \end{captionbeside} +\end{table} % -\EndIndex{Option}{fleqn}% +\EndIndex{Cmd}{tableofcontents}% \begin{Declaration} - \OptionValue{captions}{tablesignature}\\ - \OptionValue{captions}{tableheading} + \Counter{tocdepth} \end{Declaration}% -\BeginIndex{Option}{captions~=\PValue{tablesignature}}% -\BeginIndex{Option}{captions~=\PValue{tableheading}}% -As described in \autoref{sec:maincls.floats}, -\autopageref{desc:maincls.cmd.caption}, the -\Macro{caption}\IndexCmd{caption} command acts with figures like the -\Macro{captionbelow}\IndexCmd{captionbelow} command. The behaviour -with tables, however, depends on these two options. In the default -setting, \OptionValue{captions}{tablesignature}, the \Macro{caption} macro acts -also with tables like the \Macro{captionbelow} command. With the -\OptionValue{captions}{tableheading} option, \Macro{caption} acts like the -\Macro{captionabove}\IndexCmd{captionabove} command. - -Note that using any of these options does not change the position of -the caption from above the top of the table to below the bottom of the -table or vica versa. It only affects whether the text is formatted as -a caption for use above or below a table. Whether the text is in fact -placed above or below a table is set through the position of the -\Macro{caption} command inside the \Environment{table} environment. +\BeginIndex{Counter}{tocdepth}% +Normally, the units included in the table of contents are all the units from +\Macro{part} to \Macro{subsection} for the classes \Class{scrbook} and +\Class{scrreprt} or from \Macro{part} to \Macro{subsubsection} for the class +\Class{scrartcl}. The inclusion of a sectional unit in the table of contents +is controlled by the counter \Counter{tocdepth}. This has the value \(-\)1 for +\Macro{part}, 0 for \Macro{chapter}, and so on. By incrementing +or decrementing the counter, one can choose the lowest sectional unit level to +be included in the table of contents. The same happens with the standard +classes. -Note\OnlyAt{\Package{float}}\IndexPackage{float} that when using the -\Package{float} package, the options \OptionValue{captions}{tablesignature} and -\OptionValue{captions}{tableheading} cease to act correctly when -\Macro{restylefloat} is applied to tables. More details of the -\Package{float} package and \Macro{restylefloat} can be found in -\cite{package:float}. Additional support in {\KOMAScript} for the -\Package{float} package may be found at the explanation of -\PValue{komaabove} in \autoref{sec:maincls.floats}, -\autopageref{desc:maincls.floatstyle.komaabove}. +The user of the \Package{scrpage2}\IndexPackage{scrpage2} package (see +\autoref{cha:scrpage}) does not need to remember the numerical +values of each sectional unit. They are given by the values of the +macros \Macro{chapterlevel}, \Macro{sectionlevel}, and so on, down to +\Macro{subparagraphlevel}. +\begin{Example} + Assume that you are preparing an article that uses the sectional + unit \Macro{subsubsection}. However, you don't want this sectional + unit to appear in the table of contents. The preamble of your + document might contain the following: +\begin{lstcode} + \documentclass{scrartcl} + \setcounter{tocdepth}{2} +\end{lstcode} + You set the counter \Counter{tocdepth} to 2 because you know that + this is the value for \Macro{subsection}. If you know that + \Class{scrartcl} normally includes all levels down to + \Macro{subsubsection} in the table of contents, you can simply + decrement the counter \Counter{tocdepth} by one: +\begin{lstcode} + \documentclass{scrartcl} + \addtocounter{tocdepth}{-1} +\end{lstcode} + How much you should add to or subtract from the \Counter{tocdepth} counter + can also be found by looking at the table of contents after the first + {\LaTeX} run. +\end{Example} +A\textnote{Hint!} small hint in order that you do not need to remember which +sectional unit has which number: in the table of contents count the number of +units required extra or less and then, as in the above example, use +\Macro{addtocounter} to add or subtract that number to or from +\Counter{tocdepth}.% % -\EndIndex{Option}{captions~=\PValue{tablesignature}}% -\EndIndex{Option}{captions~=\PValue{tableheafins}}% +\EndIndex{Counter}{tocdepth}% +% +\EndIndex{}{table of contents} -\begin{Explain}% -\begin{Declaration} - \Option{origlongtable} -\end{Declaration}% -\BeginIndex{Option}{origlongtable}% -The package\OnlyAt{\Package{longtable}} -\Package{longtable}\IndexPackage{longtable} (see -\cite{package:longtable}) sets table captions internally by calling -the command \Macro{LT@makecaption}. In order to ensure that these -table captions match the ones used with normal tables, the -{\KOMAScript} classes normally redefine that command. See -\autoref{sec:maincls.floats}, -\autopageref{desc:maincls.cmd.caption.longtable} for more -details. The redefinition is performed with help of the command -\Macro{AfterPackage} immediately after the loading of package -\Package{longtable}. If the package -\Package{caption2}\IndexPackage{caption2} (see \cite{package:caption}) -has been previously loaded, the redefinition is not made in order not -to interfere with the \Package{caption2} package. -\end{Explain} -If the table captions produced by the \Package{longtable} package -should not be redefined by the {\KOMAScript} classes, activate the -\Option{origlongtable} option. -% -\EndIndex{Option}{origlongtable}% +\LoadCommon{6}% \section{Paragraph Markup} +\LoadCommon{7}% \section{Detection of Odd and Even Pages} -\begin{Declaration} - \Option{openbib}\\ - \OptionValue{bibliography}{openstyle}\\ - \OptionValue{bibliography}{oldstyle} -\end{Declaration}% -\BeginIndex{Option}{openbib}% -The standard option \Option{openbib} switches to an alternative -bibliography format. The effects are twofold: The first line of a -bibliography entry, normally containing the author's name, receives a -smaller indentation; and the command \Macro{newblock} is redefined to -produce a paragraph. Without this option, \Macro{newblock} introduces -only a stretchable horizontal space. -% -\EndIndex{Option}{openbib} +\section{Head and Foot Using Predefined Page Styles} +\label{sec:maincls.pagestyle} +\BeginIndex{}{page>style} -\begin{Declaration} - \KOption{draft}\PName{switch} -\end{Declaration}% -\BeginIndex{Option}{draft~=\PName{switch}}% -The option \Option{draft} (see \autoref{tab:truefalseswitch}, -\autopageref{tab:truefalseswitch}) is normally used to distinguish between the -draft and final versions of a document. In particular, the option -\OptionValue{draft}{true} activates small black boxes that are set at the end -of overly long lines. The boxes help the untrained eye to find paragraphs that -have to be treated manually. With the \OptionValue{draft}{false} option no -such boxes are shown. - -Option \Option{draft} without value is also processed by other packages and -affect their operation. For instance, the -\Package{graphics}\IndexPackage{graphics} and the -\Package{graphicx}\IndexPackage{graphicx} packages don't actually output the -graphics when the option \Option{draft} is specified. Instead they output a -framed box of the appropriate size containing only the graphic's filename (see -\cite{package:graphics}).% -\EndIndex{Option}{draft~=\PName{switch}}% - - -\section{General Document Characteristics} -\label{sec:maincls.general} - -Some document characteristics do not apply to a particular section of -the document like the titling, the text body or the bibliography, but -do affect the entire document. Some of these characteristics were -already described in \autoref{sec:maincls.options}. - -\subsection{Changing Fonts} -\label{sec:maincls.font} - -\BeginIndex{}{font}\BeginIndex{}{font>size}% -\begin{Explain} - {\KOMAScript} does not use fixed fonts and attributes to emphasize - different elements of the text. Instead there are variables that - contain the commands used for changing fonts and other text - attributes. In previous versions of {\KOMAScript} the user had to - use \Macro{renewcommand} to redefine those variables. It was also - not easy to determine the name of the variable affecting an element - given the element's name. Besides, it was also often necessary to - determine the original definition before proceeding to redefine it. - - These difficulties were actually intended, since the interface was - not for users, but only for package authors building their packages - on top of {\KOMAScript}. The years have shown, however, that the - interface was in fact mainly used by document authors. So a new, - simpler interface was created. However, the author explicitly - advises the typographically inexperienced user against changing font - sizes and other graphical characteristics according to his - taste. Knowledge and feeling are basic conditions for the selection - and mixture of different font sizes, attributes and families. -\end{Explain} +One of the general characteristics of a document is the page style. In +{\LaTeX} this means mostly the contents of headers and footers. \begin{Declaration} - \Macro{setkomafont}\Parameter{element}\Parameter{commands}\\ - \Macro{addtokomafont}\Parameter{element}\Parameter{commands}\\ - \Macro{usekomafont}\Parameter{element} + \KOption{headsepline}\PName{simple switch}\\ + \KOption{footsepline}\PName{simple switch} \end{Declaration}% -\BeginIndex{Cmd}{setkomafont}% -\BeginIndex{Cmd}{addtokomafont}% -\BeginIndex{Cmd}{usekomafont}% -With\ChangedAt{v2.8p}{\Class{scrbook}\and \Class{scrreprt}\and - \Class{scrartcl}} the help of the two commands \Macro{setkomafont} -and \Macro{addtokomafont} it is possible to define the -\PName{commands} that change the characteristics of a given -\PName{element}. Theoretically all possible statements including -literal text could be used as \PName{commands}. You should however -absolutely limit yourself to those statements that really switch only -one font attribute. This will usually be the commands -\Macro{normalfont}, \Macro{rmfamily}, \Macro{sffamily}, -\Macro{ttfamily}, \Macro{mdseries}, \Macro{bfseries}, \Macro{upshape}, -\Macro{itshape}, \Macro{slshape}, \Macro{scshape} and the font size -commands \Macro{Huge}, \Macro{huge}, \Macro{LARGE}, etc. The -description of these commands can be found in \cite{lshort}, -\cite{latex:usrguide} or \cite{latex:fntguide}. Color switching -commands like \Macro{normalcolor} (see \cite{package:graphics}) are -also acceptable. The behavior when using other commands, specially -those that make redefinitions or generate output, is not -defined. Strange behavior is possible and does not represent a bug. - - -The command \Macro{setkomafont } provides a font switching command -with a completely new definition. In contrast to this the -\Macro{addtokomafont} command merely extends an existing -definition. It is recommended to not use both commands in the same -document. Usage examples can be found in the paragraphs on the -corresponding element. Names and meanings of the individual items are -listed in \autoref{tab:maincls.elementsWithoutText}. The default -values are shown in the corresponding paragraphs. - -The command \Macro{usekomafont} can change the current font -specification to the one currently used with the specified -\PName{element}. -\begin{Example} - Assume that you want to use for the element - \FontElement{captionlabel} the same font specification that is used - with \FontElement{descriptionlabel}. This can be easily done with: -\begin{lstlisting} - \setkomafont{captionlabel}{\usekomafont{descriptionlabel}} -\end{lstlisting} - You can find other examples in the paragraphs on each element. -\end{Example} +\BeginIndex{Option}{headsepline~=\PName{simple switch}}% +\BeginIndex{Option}{footsepline~=\PName{simple switch}}% +In\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}} +order to have or not to have a rule separating the header from the text body, +use the option \Option{headsepline} with any value shown in +\autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch}. Activation +of the option will result in such a separation line. Similarly, activation of +option \Option{footsepline} switches on a rule above the foot +line. Deactivation of any of the options will deactivate the corresponding +rule. -\begin{desctable} - \caption{Elements, whose type style can be - changed with the {\KOMAScript} command \Macro{setkomafont} or - \Macro{addtokomafont}\label{tab:maincls.elementsWithoutText}}\\ - \Endfirsthead - \caption[]{Elements, whose type style can be - changed (\emph{continuation})}\\ - \Endhead - \standardfoot% - \feentry{caption}{Text of a table or figure caption}% - \feentry{captionlabel}{Label of a table or figure caption; used - according to the element \FontElement{caption}}% - \feentry{chapter}{Title of the sectional unit \Macro{chapter}}% - \feentry{chapterentry}{% - Table of contents entry of the sectional unit \Macro{chapter}}% - \feentry{chapterentrypagenumber}{% - Page number of the table of contents entry of the sectional unit - \Macro{chapter}, variation on the element - \FontElement{chapterentry}}% - \feentry{descriptionlabel}{Labels, i.\,e., the optional argument of - \Macro{item} in the \Environment{description} environment}% - \feentry{dictum}{wise saying (see command \Macro{dictum})}% - \feentry{dictumauthor}{Author of a wise saying; used according to - the element \FontElement{dictumtext}}% - \feentry{dictumtext}{Another name for \FontElement{dictum}}% - \feentry{disposition}{All sectional unit titles, i.\,e., the - arguments of \Macro{part} down to \Macro{subparagraph} and - \Macro{minisec}, including the title of the abstract; used before - the element of the corresponding unit}% - \feentry{footnote}{Footnote text and marker}% - \feentry{footnotelabel}{Mark of a footnote; used according to the - element \FontElement{footnote}}% - \feentry{footnotereference}{Footnote reference in the text}% - \feentry{labelinglabel}{Labels, i.\,e., the optional argument of - \Macro{item} in the \Environment{labeling} environment}% - \feentry{labelingseparator}{Separator, i.\,e., the optional argument of - the \Environment{labeling} environment; used according to the element - \FontElement{labelinglabel}}% - \feentry{minisec}{Title of \Macro{minisec}}% - \feentry{pagefoot}{The foot of a page, but also the head of a page}% - \feentry{pagehead}{The head of a page, but also the foot of a page}% - \feentry{pagenumber}{Page number in the header or footer}% - \feentry{pagination}{Another name for \FontElement{pagenumber}}% - \feentry{paragraph}{Title of the sectional unit \Macro{paragraph}}% - \feentry{part}{Title of the \Macro{part} sectional unit, without the - line containing the part number}% - \feentry{partentry}{% - Table of contents entry of the secitonal unit \Macro{part}}% - \feentry{partentrypagenumber}{% - Page number of the table of contents entry of the sectional unit - \Macro{part} variation on the element \FontElement{partentry}}% - \feentry{partnumber}{Line containing the part number in a title of - the sectional unit \Macro{part}}% - \feentry{section}{Title of the sectional unit \Macro{section}}% - \feentry{sectionentry}{% - Table of contents entry of sectional unit \Macro{section} (only - available in \Class{scrartcl})}% - \feentry{sectionentrypagenumber}{% - Page number of the table of contents entry of the sectional unit - \Macro{section}, variation on element \FontElement{sectionentry} - (only available in \Class{scrartcl})}% - \feentry{sectioning}{Another name for \FontElement{disposition}}% - \feentry{subject}{% - Categorization of the document, i.\,e., the argument of - \Macro{subject} on the main title page}% - \feentry{subparagraph}{Title of the sectional unit - \Macro{subparagraph}}% - \feentry{subsection}{Title of the sectional unit - \Macro{subsection}}% - \feentry{subsubsection}{Title of the sectional unit - \Macro{subsubsection}}% - \feentry{subtitle}{% - Subtitle of the document, i.\,e., the argument of \Macro{subtitle} on - the main title page}% - \feentry{title}{Main title of the document, i.\,e., the argument of - \Macro{title} (for details about the title size see the additional - note in the text from \autopageref{desc:maincls.cmd.title})}% -\end{desctable} +These options have no effect with the page styles \PValue{empty} and +\PValue{plain}, because there is no header in this case. Such a line always +has the effect of visually bringing header and text body closer together. That +doesn't mean that the header must now be moved farther from the text +body. Instead, the header should be considered as belonging to the text body +for the purpose of page layout calculations. {\KOMAScript} takes this into +account by automatically passing the option \Option{headinclude} to the +\Package{typearea} package whenever the \Option{headsepline} option is +used. \KOMAScript{} behaves similar to \Option{footinclude} using +\Option{footsepline}. Package \Package{scrpage2} (see \autoref{cha:scrpage}) +adds additional features to this.% % -\EndIndex{Cmd}{setkomafont}% -\EndIndex{Cmd}{addtokomafont}% -\EndIndex{Cmd}{usekomafont}% -\EndIndex{}{font}\EndIndex{}{font>size}% - -\subsection{Page Style} -\label{sec:maincls.pageStyle} - -One of the general characteristics of a document is the page -style\Index[indexmain]{page>style}. In {\LaTeX} this means mostly the -contents of headers and footers. +\EndIndex{Option}{headsepline~=\PName{simple switch}}% +\EndIndex{Option}{footsepline~=\PName{simple switch}}% \begin{Declaration} - \Macro{pagestyle}\PParameter{empty}\\ - \XMacro{pagestyle}\PParameter{plain}\\ - \XMacro{pagestyle}\PParameter{headings}\\ - \XMacro{pagestyle}\PParameter{myheadings}\\ + \Macro{pagestyle}\PParameter{page style}\\ \Macro{thispagestyle}\Parameter{local page style} \end{Declaration}% \BeginIndex{Cmd}{pagestyle}% \BeginIndex{Cmd}{thispagestyle}% -\BeginIndex{Pagestyle}{empty}% -\BeginIndex{Pagestyle}{plain}% -\BeginIndex{Pagestyle}{headings}% -\BeginIndex{Pagestyle}{myheadings}% -Usually one distinguishes four different page styles. +Usually one distinguishes four different page styles: \begin{description} -\item[\phantomsection\label{desc:maincls.pagestyle.empty}empty] is the page +\item[empty\BeginIndex{Pagestyle}{empty}] is the page style with entirely empty headers and footers. In {\KOMAScript} this is completely identical to the standard classes. -\item [plain] is the page style with empty header and only a page - number in the footer. With the standard classes this page number is - always centered in the footer. With {\KOMAScript} the page number - appears on double-sided\Index {double-sided} layout on the outer - side of the footer. The one-sided page style behaves like the - standard setup. -\item[headings] is the page style with running headings in the - header. These are headings for which titles are automatically - inserted into the header. +\item[headings\BeginIndex{Pagestyle}{headings}] is the page style with running + headings in the header. These are headings for which titles are + automatically inserted into the header. \OnlyAt{\Class{scrbook}\and\Class{scrreprt}}With the classes \Class{scrbook}\IndexClass{scrbook} and - \Class{scrreprt}\IndexClass{scrreprt} the titles of chapters and - sections are repeated in the header for double-sided - layout\,---\,with {\KOMAScript} on the outer side, with the standard - classes on the inner side. The page number is set on the outer side - of the footer with {\KOMAScript}, with the standard classes it is - set on the inner side of the header. In one-sided layouts only the - titles of the chapters are used and are, with {\KOMAScript}, - centered in the header. The page numbers are set centered in the - footer with {\KOMAScript}. - \OnlyAt{\Class{scrartcl}}\Class{scrartcl}\IndexClass{scrartcl} - behaves similarly, but starting a level deeper in the section - hierarchy with sections and subsections, because the chapter level - does not exist in this case. + \Class{scrreprt}\IndexClass{scrreprt} the titles of chapters and sections + are repeated in the header for double-sided layout\,---\,with {\KOMAScript} + on the outer side, with the standard classes on the inner side. The page + number is set on the outer side of the footer with {\KOMAScript}; with the + standard classes it is set on the inner side of the header. In one-sided + layouts only the titles of the chapters are used and are, with + {\KOMAScript}, centered in the header. The page numbers are set centered in + the footer with {\KOMAScript}. + \OnlyAt{\Class{scrartcl}}\Class{scrartcl}\IndexClass{scrartcl} behaves + similarly, but starting a level deeper in the section hierarchy with + sections and subsections, because the chapter level does not exist in this + case. While the standard classes automatically set running headings always in capitals, {\KOMAScript} applies the style of the title. This has several typographic reasons. Capitals as a decoration are actually far too strong. If one applies them nevertheless, they should be set in a one point smaller type size and with tighter spacing. The - standard classes do not take these points in consideration. -\item [myheadings] corresponds mostly to the page style - \PValue{headings}, but the running headings are not automatically - produced, but have to be defined by the user. The commands \Macro - {markboth}\IndexCmd{markboth} and - \Macro{markright}\IndexCmd{markright} can be used for that purpose. + standard classes do not take these points into consideration. + + Beyond this {\KOMAScript} classes support rules below the head and above the + foot using options \Option{headsepline} and \Option{footsepline} which are + described above. +\item[myheadings\BeginIndex{Pagestyle}{myheadings}] corresponds mostly to the + page style \PValue{headings}, but the running headings are not automatically + produced\,---\,they have to be defined by the user. The commands \Macro + {markboth}\IndexCmd{markboth} and \Macro{markright}\IndexCmd{markright} can + be used for that purpose (see below). +\item[plain\BeginIndex{Pagestyle}{plain}] is the page style with empty header + and only a page number in the footer. With the standard classes this page + number is always centered in the footer. With {\KOMAScript} the page number + appears on double-sided\Index {double-sided} layout on the outer side of the + footer. The one-sided page style behaves like the standard setup. \end{description} -Besides, the form of the page styles \PValue{headings} and -\PValue{myheadings} is affected by each of the four class options -\Option{headsepline}, \OptionValue{headsepline}{false}, \Option{footsepline} and -\OptionValue{footsepline}{false} (see \autoref{sec:maincls.layoutOptions}, -\autopageref{desc:maincls.option.headsepline}). -The page style starting with the current page is changed by the -command \Macro{pagestyle}. On the other hand \Macro{thispagestyle} -changes only the style of the current page. - -The page style can be set at any time with the help of the -\Macro{pagestyle} command and takes effect with the next page that is -output. Usually one sets the page style only once at the beginning of -the document or in the preamble. To change the page style of the -current page only, one uses the \Macro{thispagestyle} command. This -also happens automatically at some places in the document. For -example, the instruction \Macro{thispagestyle}\PParameter{plain} is -issued implicitly on the first page of a chapter. - -Please note that the change between automatic and manual running -headings is no longer performed by page style changes when using the -\Package{scrpage2} package, but instead via special instructions. The -page styles \PValue{headings} and \PValue{myheadings} should not be -used together with this package (see \autoref{cha:scrpage}, -\autopageref{desc:scrpage.pagestyle.useheadings}). -% -\EndIndex{Cmd}{pagestyle}% -\EndIndex{Cmd}{thispagestyle}% -\EndIndex{Pagestyle}{empty}% -\EndIndex{Pagestyle}{plain}% -\EndIndex{Pagestyle}{headings}% -\EndIndex{Pagestyle}{myheadings}% -\BeginIndex[indexother]{}{type style}% -In order to change the type style used in the header, footer or for -the page number\ChangedAt{v2.8p}{% - \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}}% -, please use the interface described in -\autoref{sec:maincls.font}. The same element is used for header and -footer, which you can designate equivalently with -\FontElement{pagehead}\IndexFontElement{pagehead} or -\FontElement{pagefoot}\IndexFontElement{pagefoot}. The element for +The page style can be set at any time with the help of the \Macro{pagestyle} +command and takes effect with the next page that is output. If\textnote{Hint!} +one uses \Macro{pagestyle} just before a command, that results in an +implicit page break and if the new page style should be used at the resulting +new page first, a \Macro{cleardoublepage} just before \Macro{pagestyle} will +be useful. But usually one sets the page style only once at the beginning of +the document or in the preamble. + +To\important{\Macro{thispagestyle}} change the page style of the current page +only, one uses the \Macro{thispagestyle} command. This also happens +automatically at some places in the document. For example, the instruction +\Macro{thispagestyle}\PParameter{\Macro{chapterpagestyle}} is issued +implicitly on the first page of a chapter. + +Please\textnote{Attention!} note that the change between automatic and manual +running headings is no longer performed by page style changes when using the +\Package{scrpage2} package, but instead via special instructions. The page +styles \PValue{headings} and \PValue{myheadings} should not be used together +with this package (see \autoref{cha:scrpage}, +\autopageref{desc:scrpage.pagestyle.useheadings}).% +% +\EndIndex{Pagestyle}{empty}% Darueber erfahren wir nun nichts mehr + +\BeginIndex[indexother]{}{font>style}% +\BeginIndex{FontElement}{pageheadfoot}% +\BeginIndex{FontElement}{pagefoot}% +\BeginIndex{FontElement}{pagenumber}% +In order to change the font style used in the header, footer, or for the page +number\ChangedAt{v2.8p}{% + \Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}}% +, please use the interface described in \autoref{sec:maincls.textmarkup}, +\autopageref{desc:maincls.cmd.setkomafont}. The same element is used for header +and footer, which you can designate with +\FontElement{pageheadfoot}\IndexFontElement{pageheadfoot}% +\important{\FontElement{pageheadfoot}}. The element for the page number within the header or footer is called -\FontElement{pagenumber}\IndexFontElement{pagenumber}. The default -settings can be found in \autoref{tab:maincls.defaultFontsHeadFoot}. -% +\FontElement{pagenumber}\IndexFontElement{pagenumber}% +\important{\FontElement{pagenumber}}. +The element \FontElement{pagefoot}\IndexFontElement{pagefoot}, that is +additionally supported by the \KOMAScript{} classes, will be used only if +a page style has been defined that has text at the foot line, using package +\Package{scrpage2}\IndexPackage{scrpage2} (see \autoref{cha:scrpage}, +\autopageref{desc:scrpage.fontelement.pagefoot}). + +The default settings can be found in +\autoref{tab:maincls.defaultFontsHeadFoot}.% % \begin{table} - \centering% - \caption{Default values for the elements of a page style} - \begin{tabular}{ll} +% \centering% + \KOMAoptions{captions=topbeside}% + \setcapindent{0pt}% +% \caption + \begin{captionbeside} + [{Default values for the elements of a page style}] + {\label{tab:maincls.defaultFontsHeadFoot}% + Default values for the elements of a page style} + [l] + \begin{tabular}[t]{ll} \toprule Element & Default value \\ \midrule \FontElement{pagefoot}\IndexFontElement{pagefoot} & - \Macro{normalfont}\Macro{normalcolor}\Macro{slshape} \\ - \FontElement{pagehead}\IndexFontElement{pagehead} & + \\ + \FontElement{pageheadfoot}\IndexFontElement{pagefoothead} & \Macro{normalfont}\Macro{normalcolor}\Macro{slshape} \\ \FontElement{pagenumber}\IndexFontElement{pagenumber} & \Macro{normalfont}\Macro{normalcolor}\\ \bottomrule \end{tabular} - \label{tab:maincls.defaultFontsHeadFoot} + \end{captionbeside} \end{table} % \begin{Example} - \phantomsection\label{sec:maincls.pageStyle.example}% + \leavevmode\phantomsection\label{sec:maincls.pagestyle.example}% Assume that you want to set header and footer in a smaller type size and in italics. However, the page number should not be set in italics but bold. Apart from the fact that the result will look horrible, you can obtain this as follows: -\begin{lstlisting} - \setkomafont{pagehead}{% +\begin{lstcode} + \setkomafont{pageheadfoot}{% \normalfont\normalcolor\itshape\small } \setkomafont{pagenumber}{\normalfont\bfseries} -\end{lstlisting} - If you want only that in addition to the default slanted variant a - smaller type size is used, it is sufficient to use the following: -\begin{lstlisting} - \addtokomafont{pagefoot}{\small} -\end{lstlisting} +\end{lstcode} + If you want only that, in addition to the default slanted variant, a smaller + type size is used, it is sufficient to use the following: +\begin{lstcode} + \addtokomafont{pagehead}{\small} +\end{lstcode} As you can see, the last example uses the element - \FontElement{pagefoot}. You can achieve the same result using - \PValue{pagehead} instead (see + \FontElement{pagehead}\important{\FontElement{pagehead}}. You can achieve + the same result using \PValue{pageheadfoot} instead (see \autoref{tab:maincls.elementsWithoutText} on \autopageref{tab:maincls.elementsWithoutText}). \end{Example} @@ -1462,21 +887,51 @@ automatically for the running headings. For that, please use the \autopageref{desc:scrpage.option.markuppercase}). If you define your own page styles, the commands -\Macro{usekomafont}\PParameter{pagehead} and -\Macro{usekomafont}\PParameter {pagenumber} can be useful. If you do -not use the {\KOMAScript} package \Package{scrpage2} (see +\Macro{usekomafont}\PParameter{pageheadfoot}, \Macro{usekomafont}\PParameter +{pagenumber}, and \Macro{usekomafont}\PParameter{pagefoot} can be useful. If +you do not use the {\KOMAScript} package \Package{scrpage2} (see \autoref{cha:scrpage}) for that, but, for example, the package -\Package{fancyhdr}\IndexPackage{fancyhdr} (see -\cite{package:fancyhdr}), you can use these commands in your -definitions. Thereby you can remain compatible with {\KOMAScript} as -much as possible. If you do not use these commands in your own -definitions, changes like those shown in the previous examples have no -effect. The packages \Package{scrpage}\IndexPackage{scrpage} and -\Package{scrpage2}\IndexPackage {scrpage2} take care to keep the -maximum possible compatibility with other packages. +\Package{fancyhdr}\IndexPackage{fancyhdr} (see \cite{package:fancyhdr}), you +can use these commands in your definitions. Thereby you can remain compatible +with {\KOMAScript} as much as possible. If you do not use these commands in +your own definitions, changes like those shown in the previous examples have +no effect. The package \Package{scrpage2}\IndexPackage {scrpage2} takes care +to keep the maximum possible compatibility with other packages itself. +% +\EndIndex{FontElement}{pagenumber}% +\EndIndex{FontElement}{pagefoot}% +\EndIndex{FontElement}{pageheadfoot}% +\EndIndex{Pagestyle}{plain}% +\EndIndex{Cmd}{pagestyle}% +\EndIndex{Cmd}{thispagestyle}% % -\EndIndex[indexother]{}{type style}% +\EndIndex[indexother]{}{font>style}% +\begin{Declaration} + \Macro{markboth}\Parameter{left mark}\Parameter{right mark}\\ + \Macro{markright}\Parameter{right mark} +\end{Declaration} +\BeginIndex{Cmd}{markboth}% +\BeginIndex{Cmd}{markright}% +With page style \Pagestyle{myheadings}\important{\Pagestyle{myheadings}}% +\IndexPagestyle{myheadings}, there's no automatic setting of the running head. +Instead of this one would set it with the help of commands \Macro{markboth} and +\Macro{markright}. Thereby \PName{left mark} normally will be used at the head +of even pages and \PName{right mark} at the heads of odd pages. With one-sided +printing, only the \PName{right mark} exists. Using package +\Package{scrpage2}\IndexPackage{scrpage2}\important{\Package{scrpage2}}, the +additional command +\Macro{markleft}\IndexCmd{markleft}\important{\Macro{markleft}} exists. + +The commands may be used with other page styles too. Combination with automatic +running head, e.\,g., with page style \Pagestyle{headings}, limits the effect +of the commands until the next automatic setting of the corresponding marks.% +% +\EndIndex{Cmd}{markright}% +\EndIndex{Cmd}{markboth}% +% +\EndIndex{Pagestyle}{myheadings}% +\EndIndex{Pagestyle}{headings}% \begin{Declaration} \Macro{titlepagestyle}\\ @@ -1484,11 +939,11 @@ maximum possible compatibility with other packages. \Macro{chapterpagestyle}\\ \Macro{indexpagestyle} \end{Declaration}% -\BeginIndex{Cmd}{titlepagestyle}% -\BeginIndex{Cmd}{partpagestyle}% -\BeginIndex{Cmd}{chapterpagestyle}% -\BeginIndex{Cmd}{indexpagestyle}% -For some pages a different page style is chosen with the help of the +\BeginIndex{Cmd}{titlepagestyle}\Index{title>page style}% +\BeginIndex{Cmd}{partpagestyle}\Index{part>page style}% +\BeginIndex{Cmd}{chapterpagestyle}\Index{chapter>page style}% +\BeginIndex{Cmd}{indexpagestyle}\Index{index>page style}% +For some pages, a different page style is chosen with the help of the command \Macro{thispagestyle}. Which page style this actually is, is defined by these four macros, of which \Macro{partpagestyle} and \Macro{chapterpagestyle}\OnlyAt{\Class{scrbook}\and\Class{scrreprt}} @@ -1516,29 +971,28 @@ The page styles can be redefined with the \Macro{renewcommand} macro. Assume that you want the pages with a \Macro{part} heading to have no number. Then you can use the following command, for example in the preamble of your document: -\begin{lstlisting} +\begin{lstcode} \renewcommand*{\partpagestyle}{empty} -\end{lstlisting} -As mentioned previously on \autopageref{desc:maincls.pagestyle.empty}, -the page style \PValue{empty} is exactly what is required in this -example. Naturally you can also use a user-defined page style. +\end{lstcode} + As mentioned previously on \autopageref{desc:maincls.pagestyle.empty}, + the page style \PValue{empty} is exactly what is required in this + example. Naturally you can also use a user-defined page style. Assume you have defined your own page style for initial chapter pages with the package \Package{scrpage2} (see \autoref{cha:scrpage}). You have given to this page style the fitting name \PValue{chapter}. To actually use this style, you must redefine the macro \Macro{chapterpagestyle} accordingly: -\begin{lstlisting} +\begin{lstcode} \renewcommand*{\chapterpagestyle}{chapter} -\end{lstlisting} - - Assume that you want that the table of contents of a book to - have no page numbers. However, everything after the table of - contents should work - again with the page style \PValue{headings}, as well as with - \PValue{plain} on every first page of a chapter. You can use the - following commands: -\begin{lstlisting} +\end{lstcode} + + Assume that you want the table of contents\Index{table of + contents}\textnote{table of contents} of a book to have no page + numbers. However, everything after the table of contents should work again + with the page style \PValue{headings}, as well as with \PValue{plain} on + every first page of a chapter. You can use the following commands: +\begin{lstcode} \clearpage \pagestyle{empty} \renewcommand*{\chapterpagestyle}{empty} @@ -1546,11 +1000,11 @@ example. Naturally you can also use a user-defined page style. \clearpage \pagestyle{headings} \renewcommand*{\chapterpagestyle}{plain} -\end{lstlisting} +\end{lstcode} Instead of the above you may do a local redefinition using a group. The advantage will be that you don't need to know the current page style before the change to switch back at the end. -\begin{lstlisting} +\begin{lstcode} \clearpage \begingroup \pagestyle{empty} @@ -1558,55 +1012,22 @@ example. Naturally you can also use a user-defined page style. \tableofcontents \clearpage \endgroup -\end{lstlisting} - But notice that you never should put a numbered head into a group. Otherwise - you may get funny results with commands like \Macro{label}. -\end{Example} - +\end{lstcode} + But\important{Attention!} notice that you never should put a numbered head + into a group. Otherwise you may get funny results with commands like + \Macro{label}. +\end{Example} \begin{Explain} Whoever thinks that it is possible to put running headings on the first page of a chapter by using the command -\begin{lstlisting} +\begin{lstcode} \renewcommand*{\chapterpagestyle}{headings} -\end{lstlisting} - will be surprised at the results. - For sure, the page style \PValue{headings} is thereby applied to the - initial page of a chapter. But nevertheless no running headings appear - when using the \Option{openright} option. - The reason for this behaviour can be found in the {\LaTeX} - core. There, the command \Macro{rightmark}, that generates the marks - for right-hand pages, is defined with; -\begin{lstlisting} - \let\@rightmark\@secondoftwo - \def\rightmark{\expandafter\@rightmark - \firstmark\@empty\@empty} -\end{lstlisting} - The right-hand mark is set with \Macro{firstmark}. \Macro{firstmark} - contains the left-hand and right-hand marks that were first set - for a page. Within \Macro{chapter}, \Macro{markboth} is used to set - the left mark to the chapter header and the right mark to empty. - Hence, the first right - mark on a chapter beginning with a right-hand page is empty. Therefore, - the running heading is also empty on those pages. - - You could redefine \Macro{rightmark} in the preamble so that the - last mark on the page is used instead of the first: -\begin{lstlisting} - \makeatletter - \renewcommand*{\rightmark}{% - \expandafter\@rightmark\botmark\@empty\@empty} - \makeatother -\end{lstlisting} - This would however cause the running heading of the first page of a - chapter to use the title of the last section in the page. This is - confusing and should be avoided. - - It is also confusing (and hence should be avoided) to have as - running heading of the first page of a chapter the chapter title - instead of the the section title. Therefore, the current behavior - should be considered to be correct. +\end{lstcode} + should read more about the background of \Macro{rightmark} at + \autoref{sec:maincls-experts.addInfos}, + \autopageref{desc:maincls-experts.cmd.rightmark}. \end{Explain} % \EndIndex{Cmd}{titlepagestyle}% @@ -1614,755 +1035,71 @@ example. Naturally you can also use a user-defined page style. \EndIndex{Cmd}{chapterpagestyle}% \EndIndex{Cmd}{indexpagestyle}% - -\begin{Declaration} - \Macro{clearpage}\\ - \Macro{cleardoublepage}\\ - \Macro{cleardoublestandardpage}\\ - \Macro{cleardoubleplainpage}\\ - \Macro{cleardoubleemptypage} -\end{Declaration}% -\BeginIndex{Cmd}{clearpage}% -\BeginIndex{Cmd}{cleardoublepage}% -\BeginIndex{Cmd}{cleardoublestandardpage}% -\BeginIndex{Cmd}{cleardoubleplainpage}% -\BeginIndex{Cmd}{cleardoubleemptypage}% -The {\LaTeX} core contains the \Macro{clearpage} command, which takes -care that all not yet output floats are output, and then starts a new -page. There exists the instruction \Macro{cleardoublepage} which -works like \Macro{clearpage} but which, in the double-sided layouts -(see layout option \Option{twoside} in -\autoref{sec:typearea.options}, -\autopageref{desc:typearea.option.twoside}) starts a new right-hand -page. An empty left page in the current page style is output if -necessary. - -With \Macro{cleardoublestandardpage} {\KOMAScript} works as described above. -The \Macro{cleardoubleplainpage} command changes the page style of the empty -left page to \PValue{plain} in order to suppress the running heading. -Analogously, the page style \PValue{empty} is applied to the empty page with -\Macro{cleardoubleemptypage}, suppressing the page number as well as the -runnning heading. The page is thus entirely empty. However, the approach used -by \Macro{cleardoublepage} is dependent on the layout options -\OptionValue{cleardoublepage}{current}, \OptionValue{cleardoublepage}{plain} -and \OptionValue{cleardoublepage}{empty} described in -\autoref{sec:maincls.layoutOptions}, -\autopageref{desc:maincls.option.cleardoublepage} and acts according to -the active option. -% -\EndIndex{Cmd}{clearpage}% -\EndIndex{Cmd}{cleardoublepage}% -\EndIndex{Cmd}{cleardoublestandardpage}% -\EndIndex{Cmd}{cleardoubleplainpage}% -\EndIndex{Cmd}{cleardoubleemptypage}% - - -\begin{Declaration} - \Macro{ifthispageodd}\Parameter{true}\Parameter{false} - \Macro{ifthispagewasodd} \PName{true}\Macro{else} \PName{false}\Macro{fi} -\end{Declaration}% -\BeginIndex{Cmd}{ifthispageodd}% -\BeginIndex{Cmd}{ifthispagewasodd}% -\begin{Explain}% - A peculiarity of {\LaTeX} consists of the fact that it is not - possible to determine on which page the current text will fall. It - is also difficult to say whether the current page has an odd or an - even page number. Now some will argue that there is, nevertheless, - the {\TeX} test macro \Macro{ifodd} which one needs only to apply to - the current page counter. However, this is an error. At the time of - the evaluation of such a test {\LaTeX} does not know at all whether - the text just processed will be typeset on the current page or only - on the next. The page breaks take place not while reading the - paragraph, but only in the \emph{output} routine of - {\LaTeX}. However, at that moment a command of the form - \verb|\ifodd\value{page}| would already have been completely - evaluated. - - To find out reliably whether a text falls on an even or odd - page, one must usually work with a label and a page reference to - this label. One must also take special precautionary measures during - the first {\LaTeX} run, when the label is not yet known. -\end{Explain} -If one wants to find out with {\KOMAScript} whether a text falls on an -even or odd page, one can use the \Macro {ifthispageodd} command. The -\PName{true} argument is executed only if the command falls on an odd -page. Otherwise the \PName{false} argument is executed. - -\begin{Explain} - More precisely stated, the question is not where the text is, but - whether a page reference to a label placed in this location would - refer to an odd or an even page. -\end{Explain} -\begin{Example} - Assume that you want to indicate if an odd or even page is - output. This could be achieved with the command: -\begin{lstlisting} - This is a page with an \ifthispageodd{odd}{even} - page number. -\end{lstlisting} - The output would then be: - \begin{quote} - This is a page with an \ifthispageodd{odd}{even} - page number. - \end{quote} -\end{Example} - -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 every text modification. Only then the -decision is correct. In the first run a heuristic is used to make the -first choice. - - -\begin{Explain} - There are situations where the \Macro{ifthispageodd} command never - leads to the correct result. Suppose that the command is used within - a box. A box is set by {\LaTeX} always as a whole. No page breaks - take place inside. Assume further that the \PName{true} part is very - big, but the \PName{false} part is empty. If we suppose further that - the box with the \PName {false} part still fits on the current, even - page, but that with the \PName{true} part it does not. Further - assume that {\KOMAScript} heuristically decides for the first run - that the \PName{true} part applies. The decision is wrong and is - revised in the next run. The \PName{false} part is thereby - processed, instead of the \PName{true} part. The decision must again - be revised in the next run and so on. - - These cases are rare. Nevertheless it should not be said that I have - not pointed out that they are possible. - - Sometimes you need to know the state of the last decision. This may be done - using the expert command \Macro{ifthispagewasodd}. This is either same like - \Macro{iftrue} or \Macro{iffalse} and may be used like those. -\end{Explain} -% -\EndIndex{Cmd}{ifthispageodd}% -\EndIndex{Cmd}{ifthispagewasodd}% - -\begin{Declaration} - \Macro{pagenumbering}\Parameter{numbering style} -\end{Declaration} -\BeginIndex{Cmd}{pagenumbering}% -This command works the same way in {\KOMAScript} as in the standard -classes. More precisely it is a command from the {\LaTeX} kernel. You -can specify with this command the \PName{numbering style} of page -numbers. The changes take effect immediately, hence starting with the -page that contains the command. The possible settings can be found in -\autoref{tab:numberKind}. Using the command \Macro{pagenumbering} -also resets the page counter\Index{page>counter}\Index{page>number}. -Thus the page number of the next page which {\TeX} outputs will have -the number 1 in the style \PName{numbering style}. -% -\begin{table} - \centering - \caption{Available numbering styles of page numbers} - \begin{tabular}{lll} - \toprule - numbering style & example & description \\ - \midrule - \PValue{arabic} & 8 & Arabic numbers \\ - \PValue{roman} & viii & lower-case Roman numbers \\ - \PValue{Roman} & VIII & upper-case Roman numbers \\ - \PValue{alph} & h & letters \\ - \PValue{Alph} & H & capital letters \\ - \bottomrule - \end{tabular} - \label{tab:numberKind} -\end{table} -% -\EndIndex{Cmd}{pagenumbering} - - -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\section{Titles} -\label{sec:maincls.titles} - -\begin{Explain} - After having described the options and some general issues, we begin - the document where it usually begins: with the titles. The titles - comprise everything that belongs in the widest sense to the title of - a document. Like already mentioned in - \autoref{sec:maincls.layoutOptions}, - \autopageref{desc:maincls.option.titlepage}, we can distinguish - between title pages and \emph{in-page} titles. Article classes like - \Class{article} or \Class{scrartcl} have by default \emph{in-page} - titles, while classes like \Class{report}, \Class{book}, - \Class{scrreprt} and \Class{scrbook} have title pages as default. - The defaults can be changed with the class option - \Option{titlepage}. -\end{Explain} - - -\begin{Declaration} - \Environment{titlepage} -\end{Declaration}% -\BeginIndex{Env}{titlepage}% -With the standard classes and with {\KOMAScript} all title pages are -defined in a special environment, the \Environment{titlepage} -environment. This environment always starts a new page\,---\,in the -two-sided layout a new right page. For this page, the style is changed -by \Macro{thispagestyle}\PParameter{empty}, so that neither page -number nor running heading are output. At the end of the environment -the page is automatically shipped out. Should you not be able to use -the automatic layout of the title page, it is advisable to design a -new one with the help of this environment. - - -\begin{Example} - Assume you want a title page on which only the word ``Me'' stands at - the top on the left, as large as possible and in bold\,---\,no - author, no date, nothing else. The following document creates just - that: -\begin{lstlisting} - \documentclass{scrbook} - \begin{document} - \begin{titlepage} - \textbf{\Huge Me} - \end{titlepage} - \end{document} -\end{lstlisting} - Simple? Right. -\end{Example} -% -\EndIndex{Env}{titlepage} - -\begin{Declaration} - \Macro{maketitle}\OParameter{page number} -\end{Declaration}% -\BeginIndex{Cmd}{maketitle}% -While the the standard classes produce a title page that may have the three -items title, author and date, with {\KOMAScript} the \Macro{maketitle} command -can produce up to six pages. - -In contrast to the standard classes, the \Macro{maketitle} macro in -{\KOMAScript} accepts an optional numeric argument. If it is used, -this number is made the page number of the first title page. However, -this page number is not output, but affects only the numbering. You -should choose an odd number, because otherwise the whole counting gets -mixed up. In my opinion there are only two meaningful applications for -the optional argument. On the one hand, one could give to the -half-title\Index[indexmain]{half-title} the logical page number \(-\)1 -in order to give the full title page the number 1. On the other hand, -it could be used to start at a higher page number, for instance, 3, 5, -or 7 to accommodate other title pages added by the publishing house. -The optional argument is ignored for \emph{in-page} titles. However, -the page style of such a title page can be changed by redefining the -\Macro{titlepagestyle} macro. For that see -\autoref{sec:maincls.pageStyle}, -\autopageref{desc:maincls.cmd.titlepagestyle}. - -The following commands do not lead necessarily to the production of the -titles. The typesetting of the title pages is always done by -\Macro{maketitle}. The commands explained below only define the contents of -the title pages. It is however not necessary, and when using the -\Package{babel} package\IndexPackage{babel} not recommended, to use these in -the preamble before \Macro{begin}\PParameter{document} (see -\cite{package:babel}). Examples can be found at the end of this section. - -\begin{Explain}% -\begin{Declaration} - \Macro{extratitle}\Parameter{half-title} -\end{Declaration}% -\BeginIndex{Cmd}{extratitle}% - In earlier times the inner book was often not protected from dirt by a cover. - This task was then taken over by the first page of the book which - carried mostly a shortened title called the \emph{half-title}. - Nowadays the extra page is often applied before the real full title - and contains information about the publisher, series number and similar - information. -\end{Explain} - -With {\KOMAScript} it is possible to include a page before the real -title page. The \PName{half-title} can be arbitrary text\,---\,even -several paragraphs. The contents of the \PName {half-title} are output -by {\KOMAScript} without additional formatting. Their organisation is -completely left to the user. The back of the half-title remains empty. -The half-title has its own title page even when \emph{in-page} titles -are used. The output of the half-title defined with \Macro{extratitle} -takes place as part of the titles produced by \Macro{maketitle}. - - -\begin{Example} - Let's go back to the previous example and assume - that the spartan ``Me'' is the half-title. The full title should - still follow the half-title. One can proceed as follows: -\begin{lstlisting} - \documentclass{scrbook} - \begin{document} - \extratitle{\textbf{\Huge Me}} - \title{It's me} - \maketitle - \end{document} -\end{lstlisting} - You can center the half-title and put it a little lower down the page: -\begin{lstlisting} - \documentclass{scrbook} - \begin{document} - \extratitle{\vspace*{4\baselineskip} - \begin{center}\textbf{\Huge Me}\end{center}} - \title{It's me} - \maketitle - \end{document} -\end{lstlisting} - The command \Macro{title} is necessary in order to make the examples - above work correctly. It is explained next. -\end{Example} -% -\EndIndex{Cmd}{extratitle} - - -\begin{Declaration} - \Macro{titlehead}\Parameter{Titlehead}\\ - \Macro{subject}\Parameter{Subject}\\ - \Macro{title}\Parameter{Title}\\ - \Macro{subtitle}\Parameter{Subtitle}\\ - \Macro{author}\Parameter{Author}\\ - \Macro{date}\Parameter{Date}\\ - \Macro{publishers}\Parameter{Publisher}\\ - \Macro{and}\\ - \Macro{thanks}\Parameter{Footnote} -\end{Declaration}% -\BeginIndex{Cmd}{titlehead}% -\BeginIndex{Cmd}{subject}% -\BeginIndex{Cmd}{title}% -\BeginIndex{Cmd}{subtitle}% -\BeginIndex{Cmd}{author}% -\BeginIndex{Cmd}{date}% -\BeginIndex{Cmd}{publishers}% -\BeginIndex{Cmd}{and}% -\BeginIndex{Cmd}{thanks}% -The contents of the full title page are defined by seven elements. The -\PName{title head}\Index[indexmain]{title>head} is defined with the -command \Macro {titlehead}. It is typeset in regular paragraph style -and full width at the top of the page. It can be freely designed by -the user. - -The \PName{Subject}\Index[indexmain]{subject} is output immediately -above the \PName{Title}. A slightly larger font size than the regular -one is used. - -The \PName{Title} is output with a very large font size. -Besides\ChangedAt{v2.8p}{% - \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} the change -of size, the settings for the element -\FontElement{title}\IndexFontElement{title} also take effect. By -default these settings are identical to the settings for the element -\FontElement{disposition}\IndexFontElement{disposition} (see -\autoref{tab:maincls.elementsWithoutText}, -\autopageref{tab:maincls.elementsWithoutText}). The font size is however -not affected (see \autoref{tab:maincls.elementsWithoutText}, -\autopageref{tab:maincls.mainTitle}). The -default settings can be changed with the commands of -\autoref{sec:maincls.font}. - -The -\PName{Subtitle}\ChangedAt{v2.97c}{\Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} -is set just below the title, in a font determined by the element -\FontElement{subtitle}\IndexFontElement{subtitle}. The default, seen -in \autoref{tab:maincls.titlefonts} can be changed with the help of -the commands in \autoref{sec:maincls.font}. - - -\begin{table} - \centering - \caption{Font defaults for the elements of the title} - \begin{tabular}{ll} - \toprule - Element name & Default \\ - \midrule - \FontElement{subject} & - \Macro{normalfont}\Macro{normalcolor}\Macro{bfseries}\Macro{Large} \\ - \FontElement{title} & \Macro{usekomafont}\PParameter{disposition} \\ - \FontElement{subtitle} & - \Macro{usekomafont}\PParameter{title}\Macro{large} \\ - \bottomrule - \end{tabular} - \label{tab:maincls.titlefonts} -\end{table} - -Below the \PName{Subtitle} appears the -\PName{Author}\Index[indexmain]{author}. Several authors can be -specified in the argument of \Macro{author}. They should be separated -by \Macro{and}. - -Below the author or authors appears the date\Index{date}. The default -value is the present date, as produced by -\Macro{today}\IndexCmd{today}. The \Macro{date} command accepts -arbitrary information or even an empty argument. - -Finally comes the \PName{Publisher}\Index[indexmain]{publisher}. Of -course this command can also be used for any other information of -little importance. If necessary, the \Macro{parbox} command can be -used to typeset this information over the full page width like a -regular paragraph. Then it is to be considered equivalent to the -title head. However, note that this field is put above any existing -footnotes. - -Footnotes\Index{footnotes} on the title page are produced not with -\Macro{footnote}, but with \Macro{thanks}. They serve typically for -notes associated with the authors. Symbols are used as footnote -markers instead of numbers. - -With the exception of \PName{titlehead} and possible footnotes, all -the items are centered horizontally. The information is summarised in -\autoref{tab:maincls.mainTitle}. -\begin{table} - \centering - \caption[Main title]{Font size and horizontal positioning of the - elements in the main title page in the order of their vertical - position from top to bottom when typeset with \Macro{maketitle}} - \begin{tabular}{llll} - \toprule - Element & Command & Font & Justification \\ - \midrule - Title head & \Macro{titlehead} & \Macro{normalsize} & Regular paragraph \\ - Subject & \Macro{subject} & \Macro{usekomafont}\PParameter{subject} & centered \\ - Title & \Macro{title} & \Macro{huge}\Macro{usekomafont}\PParameter{title} & centered \\ - Subtitle & \Macro{subtitle} & \Macro{usekomafont}\PParameter{subtitle} & centered \\ - Authors & \Macro{author} & \Macro{Large} & centered \\ - Date & \Macro{date} & \Macro{Large} & centered \\ - Publishers & \Macro{publishers} & \Macro{Large} & centered \\ - \bottomrule - \end{tabular} - \label{tab:maincls.mainTitle} -\end{table} - - -\begin{Example} - Assume you are writing a dissertation. The title page should have - the university's name and address at the top, flush left, and the - semester flush right. As usual a title is to be used, including - author and delivery date. - The adviser must also be indicated, together with the fact that the - document is a dissertation. This can be obtained as follows: -\begin{lstlisting} - \documentclass{scrbook} - \begin{document} - \titlehead{{\Large Unseen University - \hfill SS~2002\\} - Higher Analytical Institute\\ - Mythological Rd\\ - 34567 Etherworld} - \subject{Dissertation} - \title{Digital space simulation with the DSP\,56004} - \subtitle{short but sweet?} - \author{Fuzzy George} - \date{30. February 2002} - \publishers{Adviser Prof. John Eccentric Doe} - \maketitle - \end{document} -\end{lstlisting} -\end{Example} - - -\begin{Explain} -A frequent misunderstanding concerns the role of the full title page. -It is often erroneously assumed that the cover (or dust cover) is meant. -Therefore, it is frequently expected that the title page does not follow -the normal page layout, but has equally large left and right margins. - -However if one takes a book and opens it, one notices very quickly at -least one title page under the cover within the so-called inner book. -Precisely these title pages are produced by \Macro{maketitle}. As is -the case with the half-title, the full title page belongs to the inner -book, and therefore should have the same page layout as the rest of -the document. A cover is actually something that should be created in -a separate document. The cover often has a very individual format. It -can also be designed with the help of a graphics or DTP program. A -separate document should also be used because the cover will be -printed on a different medium, possibly cardboard, and possibly with -another printer. -\end{Explain} -% -\EndIndex{Cmd}{titlehead}% -\EndIndex{Cmd}{subject}% -\EndIndex{Cmd}{title}% -\EndIndex{Cmd}{subtitle}% -\EndIndex{Cmd}{author}% -\EndIndex{Cmd}{date}% -\EndIndex{Cmd}{publishers}% -\EndIndex{Cmd}{and}% -\EndIndex{Cmd}{thanks}% - - - -\begin{Declaration} - \Macro{uppertitleback}\Parameter{titlebackhead}\\ - \Macro{lowertitleback}\Parameter{titlebackfoot} -\end{Declaration}% -\BeginIndex{Cmd}{uppertitleback}% -\BeginIndex{Cmd}{lowertitleback}% -% -With the standard classes, the back of the title page is left empty. -However, with {\KOMAScript} the back of the full title page can be -used for other information. Exactly two elements which the user can -freely format are recognized: \PName {titlebackhead} and \PName -{titlebackfoot}. The head can reach up to the foot and vice versa. If -one takes this manual as an example, the exclusion of liability was -set with the help of the \Macro{uppertitleback} command. -\EndIndex{Cmd}{uppertitleback}% -\EndIndex{Cmd}{lowertitleback}% - - -\begin{Declaration} - \Macro{dedication}\Parameter{dedication} -\end{Declaration}% -\BeginIndex{Cmd}{dedication}% -{\KOMAScript} provides a page for dedications. The -dedication\Index{dedication} is centered and uses a slightly larger -type size. The back is empty like the back page of the half-title. -The dedication page is produced by \Macro{maketitle} and must -therefore be defined before this command is issued. - -\begin{Example} - This time assume that you have written a poetry book and you want to - dedicate it to your wife. A solution would look like this: -\begin{lstlisting} - \documentclass{scrbook} - \begin{document} - \extratitle{\textbf{\Huge In Love}} - \title{In Love} - \author{Prince Ironheart} - \date{1412} - \lowertitleback{This poem book was set with% - the help of {\KOMAScript} and {\LaTeX}} - \uppertitleback{Selfmockery Publishers} - \dedication{To my treasure hazel-hen\\ - in eternal love\\ - from your dormouse.} - \maketitle - \end{document} -\end{lstlisting} - Please use your own favorite pet names. -\end{Example} -% -\EndIndex{Cmd}{dedication} -% -\EndIndex{Cmd}{maketitle} - - -\begin{Declaration} - \Environment{abstract} -\end{Declaration}% -\BeginIndex{Env}{abstract}% -Particularly\OnlyAt{\Class{scrartcl}\and\Class{scrreprt}} with -articles, more rarely with reports, there is a summary\Index{summary} -directly under the title and before the table of contents. Therefore, -this is often considered a part of the titles. Some {\LaTeX} classes -offer a special environment for this summary, the -\Environment{abstract} environment. This is output directly, at it is -not a component of the titles set by \Macro{maketitle}. Please note -that \Environment{abstract} is an environment, not a command. Whether -the summary has a heading or not is determined by the option -\Option{abstract} (see -\autoref{sec:maincls.formattingOptions}, -\autopageref{desc:maincls.option.abstract}) - -With books (\Class{scrbook}) the summary is frequently a component of -the introduction or a separate chapter at the end of the document. -Therefore no \Environment{abstract} environment is provided. When -using the class \Class{scrreprt} it is surely worth considering -whether one should not proceed likewise. -% -\EndIndex{Env}{abstract} - -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\section{The Table of Contents} -\label{sec:maincls.toc} - -The titles are normally followed by the table of contents\Index{table>of - contents}\Index{contents>table of}. Often the table of contents is followed -by lists of floats, e.\,g., lists of tables and figures (see -\autoref{sec:maincls.floats}). - -\begin{Declaration} - \Macro{tableofcontents}\\ - \Macro{contentsname} -\end{Declaration}% -\BeginIndex{Cmd}{tableofcontents}% -\BeginIndex{Cmd}{contentsname}% -The production of the table of contents is done by the \Macro{tableofcontents} -command. To get a correct table of contents, at least two {\LaTeX} runs are -necessary after every change. The option \OptionValue{listof}{totoc} causes -the lists of figures and tables to be included in the table of -contents. \OptionValue{index}{totoc} is the corresponding option for the -index. This is rather uncommon in classical typography. One does find the -bibliography included in the table of contents slightly more frequently. This -can be obtained with the options \OptionValue{bibliography}{totoc} and -\OptionValue{bibliography}{totocnumbered}. These options are explained in -\autoref{sec:maincls.tocOptions}, -\autopageref{desc:maincls.option.listof.totoc}. - -\begin{Explain} - The table of contents is set as an unnumbered chapter and is therefore - subject to the side effects of the standard \Macro{chapter*} command, - which are described in \autoref{sec:maincls.structure}, - \autopageref{desc:maincls.cmd.chapter*}. However, the running - headings\Index{running heading} for left and right pages are correctly filled - with the heading of the table of contents. - - The text of the heading is given by the macro - \Macro{contentsname}. If you make use of a language package such as - \Package{babel}, please read the documentation of that package - before redefining this macro. -\end{Explain}% -\EndIndex{Cmd}{tableofcontents}% -\EndIndex{Cmd}{contentsname}% - -There are two variants for the construction of the table of -contents. With the standard variant, the titles of the sectional units -are indented so that the unit number is flush left to the edge of the -text of the next upper sectional unit. However, the space for the -numbers is thereby limited and is only sufficient for a little more -than 1.5 places per unit level. Should this become a problem, the -option \OptionValue{toc}{flat} can be used to set the behaviour such that all -entries in the table of contents are set flush left under one -another. As explained in \autoref{sec:maincls.tocOptions}, -\autopageref{desc:maincls.option.toc}, several {\LaTeX} runs are -needed. - -\begin{Explain} - The entry for the highest sectional unit below \Macro{part}, i.\,e., - \Macro{chapter} with \Class{scrbook}\IndexClass{scrbook} and - \Class{scrreprt}\IndexClass{scrreprt} or \Macro{section} with - \Class{scrartcl}\IndexClass {scrartcl} is not indented. The font - style is however affected by the settings of the element - \FontElement{disposition}\IndexFontElement{disposition} (see - \autoref{tab:maincls.elementsWithoutText}, - \autopageref{tab:maincls.elementsWithoutText}). There are no dots - between the text of the sectional unit heading and the page - number. The typographic reasons for this are that the font is - usually different, and the desire for appropriate emphasis. The - table of contents of this manual is a good example of these - considerations.% -\end{Explain} - -\begin{Declaration} - \Counter{tocdepth} -\end{Declaration}% -\BeginIndex{Counter}{tocdepth}% -Normally, the units included in the table of contents are all the units from -\Macro{part} to \Macro{subsection} (for the classes \Class{scrbook} and -\Class{scrreprt}) or from \Macro{part} to \Macro{subsubsection} (for the class -\Class{scrartcl}). The inclusion of a sectional unit in the table of contents -is controlled by the counter \Counter{tocdepth}. This has the value \(-\)1 for -\Macro{part}, 0 for \Macro{chapter}, and so on. By setting, incrementing -or decrementing the counter, one can choose the lowest sectional unit level to -be included in the table of contents. The same happens with the standard -classes. - -The user of the \Package{scrpage2}\IndexPackage{scrpage2} package (see -\autoref{cha:scrpage}) does not need to remember the numerical -values of each sectional unit. They are given by the values of the -macros \Macro{chapterlevel}, \Macro{sectionlevel} and so on down to -\Macro{subparagraphlevel}. -\begin{Example} - Assume that you are preparing an article that uses the sectional - unit \Macro{subsubsection}. However, you don't want this sectional - unit to appear in the table of contents. The preamble of your - document might contain the following: -\begin{lstlisting} - \documentclass{scrartcl} - \setcounter{tocdepth}{2} -\end{lstlisting} -You set the counter \Counter{tocdepth} to 2 because you know that -this is the value for \Macro{subsection}. If you know that -\Class{scrartcl} normally includes all levels down to -\Macro{subsubsection} in the table of contents, you can simply -decrement the counter \Counter{tocdepth} by one: -\begin{lstlisting} - \documentclass{scrartcl} - \addtocounter{tocdepth}{-1} -\end{lstlisting} -How much you should add to or subtract from the \Counter{tocdepth} counter -can also be found by looking at the table of contents after the first -{\LaTeX} run. -\end{Example} -A small hint in order that you do not need to remember which sectional -unit has which number: in the table of contents count the number of -units required extra or less and then, as in the above example, use -\Macro{addtocounter} to add or subtract that number to or from -\Counter{tocdepth}.% - -{\KOMAScript} has always attempted to avoid page breaking directly -between a sectional unit and the adjacent next lower unit, for -example, between a chapter title and its first section title. However, -the mechanism worked poorly or not at all until version~2.96. In -version~2.96a\ChangedAt{v2.96a}{% - \Class{scrbook} \and\Class{scrreprt} \and\Class{scrartcl}} the -mechanism was much improved and should now always work -correctly. There can be changes in the page breaking in the table of -contents as a result though. Thus, the new mechanism is only active, -if the compatibility option is not set to version~2.96 or less (see -option \Option{version}, \autoref{sec:maincls.compatibilityOptions}, -\autopageref{desc:maincls.option.version}). The mechanism also does -not work if the commands to generate the table of contents are -redefined, for example, by the use of the package \Package{tocloft}. -% -\EndIndex{Counter}{tocdepth}% - -\section{Lists of Floats} - -As a rule, the lists of floats\Index{floating environments}, e.\,g., list of -tables\Index[indexmain]{list>of tables} and list of -figures\Index[indexmain]{list>of figures}, can be found directly after the -table of contents. In some documents, they can even be found in the appendix. -However, the author of this manual prefers their location after the table of -contents, therefore the explanation is given here. - \begin{Declaration} - \Macro{listoftables}\\ - \Macro{listoffigures}\\ - \Macro{listtablename}\\ - \Macro{listfigurename} + \Macro{pagenumbering}\Parameter{numbering style} \end{Declaration} -\BeginIndex{Cmd}{listoftables}% -\BeginIndex{Cmd}{listoffigures}% -\BeginIndex{Cmd}{listtablename}% -\BeginIndex{Cmd}{listfigurename}% -These commands generate a list of tables or figures. Changes in the document -that modify these lists will require two {\LaTeX} runs in order to take -effect. The layout of the lists can be influenced by the options -\OptionValue{listof}{graduated} and \OptionValue{listof}{flat} (see -\autoref{sec:maincls.listsOptions}, -\autopageref{desc:maincls.option.listof}). Moreover, the options -\OptionValue{listof}{totoc} and \OptionValue{listof}{numbered} have indirect -influence (see \autoref{sec:maincls.tocOptions}, -\autopageref{desc:maincls.option.listof.totoc}). +\BeginIndex{Cmd}{pagenumbering}% +This command works the same way in {\KOMAScript} as in the standard +classes. More precisely it is a feature neither of the standard classes nor of +the \KOMAScript{} classes but of the {\LaTeX} kernel. You can specify with +this command the \PName{numbering style} of page numbers. -\begin{Explain} - The text of the titles of this tables are stored in the macros - \Macro{listtablename} and \Macro{listfigurename}. If you use a - language package like \Package{babel} and want to redefine these - macros, you should read the documentation of the language package. -\end{Explain} +The changes take effect immediately, hence starting with the +page that contains the command. It is recommended to use +\Macro{cleardoubleoddpage} to close the last page and start a new odd page +before. The possible settings can be found in +\autoref{tab:numberKind}. + +Using\textnote{Attention!} the command \Macro{pagenumbering} also resets the +page counter\Index{page>counter}\Index{page>number}. Thus the page number of +the next page which {\TeX} outputs will have the number 1 in the style +\PName{numbering style}. % -\EndIndex{Cmd}{listoftables}% -\EndIndex{Cmd}{listoffigures}% -\EndIndex{Cmd}{listtablename}% -\EndIndex{Cmd}{listfigurename}% +\begin{table} +% \centering + \KOMAoptions{captions=topbeside}% + \setcapindent{0pt}% +% \caption + \begin{captionbeside} + {\label{tab:numberKind}% + Available numbering styles of page numbers} + \begin{tabular}[t]{lll} + \toprule + numbering style & example & description \\ + \midrule + \PValue{arabic} & 8 & Arabic numbers \\ + \PValue{roman} & viii & lower-case Roman numbers \\ + \PValue{Roman} & VIII & upper-case Roman numbers \\ + \PValue{alph} & h & letters \\ + \PValue{Alph} & H & capital letters \\ + \bottomrule + \end{tabular} + \end{captionbeside} +\end{table} +% +\EndIndex{Cmd}{pagenumbering}% +% +\EndIndex{}{page>style} -\section{Main Text} -\label{sec:maincls.mainText} +\LoadCommon{8}% \section{Interleaf Pages} -This section explains everything provided by {\KOMAScript} -in order to write the main text. The main text is the -part that the author should focus on first. -Of course this includes tables, figures and comparable -information as well. +\LoadCommon{9}% \section{Footnotes} +\LoadCommon{10}% -"- +\LoadCommon{11}% -"- -\subsection[{Separation}]{Separation\protect\OnlyAt{\Class{scrbook}}} +\section[Demarcation]{Demarcation\protect\OnlyAt{\Class{scrbook}}} \label{sec:maincls.separation} -Before getting to the main text we will have a short look at three -commands which exist both in the standard class \Class{book} and the -{\KOMAScript} class \Class{scrbook}. They are used for separation of -the \emph{front matter}\Index{front matter}, the \emph{main - matter}\Index{main matter} and the \emph{back matter}\Index{back - matter} of a book. +\BeginIndex{}{front matter}% +\BeginIndex{}{main matter}% +\BeginIndex{}{back matter}% +\BeginIndex{}{matter>front}% +\BeginIndex{}{matter>main}% +\BeginIndex{}{matter>back}% + +Sometimes books are roughly separated into front matter, main matter, and +back matter. \KOMAScript{} provides this for \Class{scrbook} also. \begin{Declaration} \Macro{frontmatter}\\ @@ -2372,31 +1109,31 @@ the \emph{front matter}\Index{front matter}, the \emph{main \BeginIndex{Cmd}{frontmatter}% \BeginIndex{Cmd}{mainmatter}% \BeginIndex{Cmd}{backmatter}% -The macro \Macro{frontmatter} introduces the front matter in which -roman numerals are used for the page numbers. Chapter headings in a -front matter are not numbered. The section titles would be numbered, -start at chapter 0, and would be consecutively numbered across chapter -boundaries. However, this is of no import, as the front matter is used -only for the title pages, table of contents, lists of figures and -tables, and a foreword. The foreword can thus be set as a normal -chapter. A foreword should never be divided into sections but kept as -short as possible. Therefore in the foreword there is no need for a -deeper structuring than the chapter level. +The macro \Macro{frontmatter}\important{\Macro{frontmatter}} introduces the +front matter in which roman numerals are used for the page numbers. Chapter +headings in a front matter are not numbered. The section titles which would be +numbered start at chapter 0, and would be consecutively numbered across +chapter boundaries. However, this is of no import, as the front matter is used +only for the title pages, table of contents\Index{table of contents}, lists of +figures\Index{list of>figures}\Index{figures>list of} and +tables\Index{tables>list of}, and a foreword\Index{foreword}. The foreword can +thus be set as a normal chapter. A foreword should never be divided into +sections but kept as short as possible. Therefore, in the foreword there is no +need for a deeper structuring than the chapter level. In case the user sees things differently and wishes to use numbered -sections\Index{section>number} in the chapters of the front matter, -as of version~2.97e\ChangedAt{v2.97e}{\Class{scrbook}} the section -numbering no longer contains the chapter number. This change only -takes effect when the compatibility option is set to at least -version~2.97e (see option \Option{version}, -\autoref{sec:maincls.compatibilityOptions}, -\autopageref{desc:maincls.option.version}). It is explicity noted that -this creates a confusion with chapter numbers! The use of -\Macro{addsec} and \Macro{section*} (see -\autoref{sec:maincls.structure}, +sections\Index{section>number} in the chapters of the front matter, as of +version~2.97e\ChangedAt{v2.97e}{\Class{scrbook}}% +\important{\OptionValue{version}{2.97e}} the section numbering no longer +contains the chapter number. This change only takes effect when the +compatibility option is set to at least version~2.97e (see option +\Option{version}, \autoref{sec:maincls.compatibilityOptions}, +\autopageref{desc:maincls.option.version}). It is explicity noted that this +creates a confusion with chapter numbers! The use of \Macro{addsec} and +\Macro{section*} (see \autoref{sec:maincls.structure}, \autopageref{desc:maincls.cmd.section*} and -\autopageref{desc:maincls.cmd.addsec}) are thus, in the author's -opinion, far more preferable. +\autopageref{desc:maincls.cmd.addsec}) are thus, in the author's opinion, far +more preferable. As of version~2.97e\ChangedAt{v2.97e}{\Class{scrbook}} the numbering of float environments, such as tables\Index{table>number} and @@ -2407,44 +1144,426 @@ corresponding compatibility setting (see option \Option{version}, \autoref{sec:maincls.compatibilityOptions}, \autopageref{desc:maincls.option.version}). -\Macro{mainmatter} introduces the main matter with the main text. If -there is no front matter then this command can be omitted. The default -page numbering in the main matter uses Arabic numerals (re)starting in -the main matter at 1. - -The back matter is introduced with \Macro{backmatter}. Opinions differ -in what should be part of the back matter. So in some cases you will -find only the bibliography\Index{bibliography}, in some cases only the -index\Index{index}, and in other cases both of these as well as the -appendices. The chapters in the back matter are similar to the -chapters in the front matter, but page numbering is not reset. If you -do require separate page numbering you may use the command -\Macro{pagenumbering} from \autoref{sec:maincls.pageStyle}, +\Macro{mainmatter}\important{\Macro{mainmatter}} introduces the main matter +with the main text. If there is no front matter, then this command can be +omitted. The default page numbering in the main matter uses Arabic numerals +(re)starting in the main matter at 1. + +The back matter is introduced with +\Macro{backmatter}\important{\Macro{backmatter}}. Opinions differ in what +should be part of the back matter. So in some cases you will find only the +bibliography\Index{bibliography}, in some cases only the index\Index{index}, +and in other cases both of these as well as the appendices. The chapters in +the back matter are similar to the chapters in the front matter, but page +numbering is not reset. If you do require separate page numbering you may use +the command \Macro{pagenumbering} from \autoref{sec:maincls.pagestyle}, \autopageref{desc:maincls.cmd.pagenumbering}. % \EndIndex{Cmd}{frontmatter}% \EndIndex{Cmd}{mainmatter}% \EndIndex{Cmd}{backmatter}% +% +\EndIndex{}{front matter}% +\EndIndex{}{main matter}% +\EndIndex{}{back matter}% +\EndIndex{}{matter>front}% +\EndIndex{}{matter>main}% +\EndIndex{}{matter>back}% -\subsection{Structuring the Document}\Index[indexmain]{structuring} +\section{Structuring of Documents} \label{sec:maincls.structure} -There are several commands to structure a document into parts, chapters, -sections and so on. +Structuring of documents means to divide them into parts, chapters, sections, +and several other structural elements. + +\begin{Declaration} + \KOption{open}\PName{method} +\end{Declaration}% +\BeginIndex{Option}{open~=\PName{method}}% +\OnlyAt{\Class{scrbook}\and\Class{scrreprt}}% +\KOMAScript{} classes \Class{scrbook} and \Class{scrreprt} give you +the choice of where to start\Index{chapter>start} a new chapter with +double-sided printing. By default \Class{scrreprt} starts a new +chapter at the next page. This is like \PName{method} +\PValue{any}. However, \Class{scrbook} starts new chapters at the next +right-hand page. This is like \PName{method} \PValue{right} and is +usually used in books. But sometimes chapters should start at the +left-hand page of a double-page spread. This would be accomplished +with \PName{method} \PValue{left}\ChangedAt{v3.00}{\Class{scrbook}\and + \Class{scrreprt}}. An overview of the supported methods may be found +at \autoref{tab:maincls.open}. + +\begin{table} + \caption[{Available values for option \Option{open}}]{Available values for + option \Option{open} to select page breaks with interleaf pages} + \begin{desctabular} + \pventry{any}{Commands + \Macro{cleardoublepageusingstyle}, + \Macro{cleardoublestandardpage}, + \Macro{cleardoubleplainpage}, + \Macro{cleardoubleemptypage}, + and + \Macro{cleardoublepage} + result in a single page break and therefor are same like + \Macro{clearpage}.% + \IndexOption{open~=\PValue{any}}}% + \pventry{left}{Commands + \Macro{cleardoublepageusingstyle}, + \Macro{cleardoublestandardpage}, + \Macro{cleardoubleplainpage}, + \Macro{cleardoubleemptypage}, + and + \Macro{cleardoublepage} + result in a page break and add an interleaf page\Index{page>interleaf} + if needed to reach the next left-hand page.% + \IndexOption{open~=\PValue{left}}}% + \pventry{right}{Commands + \Macro{cleardoublepageusingstyle}, + \Macro{cleardoublestandardpage}, + \Macro{cleardoubleplainpage}, + \Macro{cleardoubleemptypage}, + and + \Macro{cleardoublepage} + result in a page break and add an interleaf page\Index{page>interleaf} + if needed to reach the next right-hand page.% + \IndexOption{open~=\PValue{right}}}% + \end{desctabular} + \label{tab:maincls.open} +\end{table} + +Besides the implicit usage of \Macro{cleardoublepage} at chapter +starts, the option influences also the explicit usage of the commands +\Macro{cleardoublepage}, \Macro{cleardoublepageusingstyle}, +\Macro{cleardoublestandardpage}, \Macro{cleardoubleplainpage}, and +\Macro{cleardoubleemptypage}. See \autoref{sec:maincls.pagestyle}, +\autopageref{desc:maincls.cmd.cleardoublepage} for more information +about these. Since \LaTeX{} doesn't differentiate between left-hand +and right-hand pages in single-sided printing, the option doesn't have +any influence in that case. + +In class \Class{scrartcl} the section is the first structural element below +the part. Because of this, \Class{scrartcl} doesn't support this option. +% +\EndIndex{Option}{open~=\PName{method}}% + +\begin{Declaration} + \KOption{chapterprefix}\PName{simple switch}\\ + \KOption{appendixprefix}\PName{simple switch} +\end{Declaration}% +\BeginIndex{Option}{chapterprefix~=\PName{simple switch}}% +\BeginIndex{Option}{appendixprefix~=\PName{simple switch}}% +With\OnlyAt{\Class{scrbook}\and\Class{scrreprt}} the standard classes +\Class{book} and \Class{report}, a chapter +title\Index[indexmain]{chapter>title} consists of a line with the word +``Chapter''\footnote{When using another language the word ``Chapter'' + is naturally translated to the appropriate language.} followed by +the chapter number. The title itself is set left-justified on the +following lines. The same effect is obtained in {\KOMAScript} with the +option \Option{chapterprefix}. Any value from table +\autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch} may +be used as \PName{simple switch}. The default, however, is +\OptionValue{chapterprefix}{false}, which is opposite of the behaviour +of the standard classes, which would correspond to +\OptionValue{chapterprefix}{true}. +These options also affect the automatic +running titles in the headers (see \autoref{sec:maincls.pagestyle}, +\autopageref{desc:maincls.pagestyle.headings}). + +Sometimes one wishes to have the +chapter titles in simplified form according to +\OptionValue{chapterprefix}{false}. But at the same time, one wishes a title +of an appendix\Index{appendix} to be preceded by a line with ``Appendix'' +followed by the appendix letter. This is achieved by using the +\Option{appendixprefix} option (see \autoref{tab:truefalseswitch}, +\autopageref{tab:truefalseswitch}). Since this results in an inconsistent +document layout, I advise against using this option. + +The font style of the chapter number line using +\OptionValue{chapterprefix}{true} or \OptionValue{appendixprefix}{true} may be +changed with element +\FontElement{chapterprefix}\IndexFontElement{chapterprefix}% +\ChangedAt{v2.96a}{\Class{scrbook}\and \Class{scrreprt}} using commands +\Macro{setkomafont} and \Macro{addtokomafont} (see +\autoref{sec:maincls.textmarkup}, +\autopageref{desc:maincls.cmd.setkomafont}). Default is the usage of element +\FontElement{chapter}\IndexFontElement{chapter} (see +\autopageref{desc:maincls.cmd.chapter}, as well as +\autoref{tab:maincls.structureElementsFont}, +\autopageref{tab:maincls.structureElementsFont}).% +% +\EndIndex{Option}{appendixprefix~=\PName{simple switch}}% +\EndIndex{Option}{chapterprefix~=\PName{simple switch}}% + +\begin{Declaration} + \KOption{headings}\PName{selection} +\end{Declaration}% +\BeginIndex{Option}{headings~=\PName{selection}}% +The font size used for the titles\index{title}\index{document structure} is +relatively big, both with the standard classes and with {\KOMAScript}. Not +everyone likes this choice; moreover it is especially problematic for small +paper sizes. Consequently, {\KOMAScript} provides, besides the large title +font size defined by the +\OptionValue{headings}{big}\IndexOption{headings~=\PValue{big}}% +\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}}% +\important[i]{\OptionValue{headings}{big}\\ + \OptionValue{headings}{normal}\\ + \OptionValue{headings}{small}} option, the two options +\OptionValue{headings}{normal}\IndexOption{headings~=\PValue{normal}} and +\OptionValue{headings}{small}\IndexOption{headings~=\PValue{small}}, that +allow for smaller title font sizes. The font sizes for headings resulting from +these options for \Class{scrbook} and \Class{scrreprt} are shown in +\autoref{tab:maincls.structureElementsFont}, +\autopageref{tab:maincls.structureElementsFont}. For \Class{scrartcl}, smaller +font sizes are generally used. \OnlyAt{\Class{scrbook}\and + \Class{scrreprt}}The spacing before and after chapter titles is also +influenced by these options. + +Chapter\important[i]{\begin{tabular}[t]{@{}l@{}} + \Option{headings=}\\ \quad\PValue{twolinechapter}\end{tabular}\\ + \begin{tabular}[t]{@{}l@{}} + \Option{headings=}\\ \quad\PValue{onelinechapter}\end{tabular}\\ + \begin{tabular}[t]{@{}l@{}} + \Option{headings=}\\ \quad\PValue{twolineappendix}\end{tabular}} +titles are also influenced by the options +\OptionValue{headings}{twolinechapter} and +\OptionValue{headings}{onelinechapter}, that are same as \OptionValue{chapterprefix}{true} and +\OptionValue{chapterprefix}{false} (see above). The appendix titles are +influenced by \OptionValue{headings}{twolineappendix} and +\OptionValue{headings}{onelineappendix}\important[i]{% + \begin{tabular}[b]{@{}l@{}} + \Option{headings=}\\ \quad\PValue{onelineappendix} + \end{tabular}}, that are the same as the options +\OptionValue{appendixprefix}{true} and \OptionValue{appendixprefix}{false} +(see also above). + +The\OnlyAt{\Class{scrbook}\and \Class{scrreprt}} method of beginning new +chapters may be switched by \OptionValue{headings}{openany}\important[i]{% + \OptionValue{headings}{openany}\\ + \OptionValue{headings}{openright}\\ + \OptionValue{headings}{openleft}}, \OptionValue{headings}{openright}, and +\OptionValue{headings}{openleft} alternatively to option \Option{open} with +the values \PValue{any}, +\PValue{right}, and \PValue{left} (see above). + +Another\ChangedAt{v3.10}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} special feature of \KOMAScript{} is the handling of the +optional argument of the structural commands \Macro{part}, \Macro{chapter}, +etc., down to \Macro{subparagraph}. Function and meaning\important[i]{\begin{tabular}[t]{@{}l@{}} + \Option{headings=}\\\quad\PValue{optiontohead}\end{tabular}\\ + \OptionValue{headings}{optiontotoc}\\ + \begin{tabular}[t]{@{}l@{}} + \Option{headings=}\\\quad\PValue{optiontoheadandtoc}\end{tabular}} may be +influenced by the options \OptionValue{headings}{optiontohead}% +\IndexOption{headings~=\PValue{optiontohead}}, +\OptionValue{headings}{optiontotoc}\IndexOption{headings~=\PValue{optiontotoc}}, +and \OptionValue{headings}{optiontoheadandtoc}% +\IndexOption{headings~=\PValue{optiontoheadandtoc}}. + +A summary of all the available selections of option \Option{headings} may be found in \autoref{tab:maincls.headings}. Examples are at the following +description of the structural commands. + +\begin{desclist} + \renewcommand*{\abovecaptionskipcorrection}{-\normalbaselineskip}% + \desccaption[{Available values for option \Option{headings}}]{% + Available values for option \Option{headings} to select different kinds of + structural headings% + \label{tab:maincls.headings}% + }{% + Available values for option \Option{headings} (\emph{continuation})% + }% + \pventry{big}{% + Use very large headings with large distances above and below. + \IndexOption{headings~=\PValue{big}}}% + \pventry{normal}{% + Use mid-size headings with medium distances above and below. + \IndexOption{headings~=\PValue{normal}}}% + \entry{\PValue{onelineappendix}, \PValue{noappendixprefix}, + \PValue{appendixwithoutprefix}, \PValue{appendixwithoutprefixline}% + \IndexOption{headings~=\PValue{onelineappendix}}}{% + Chapter headings at the appendix will be set like other headings too.% + }% + \entry{\PValue{onelinechapter}, \PValue{nochapterprefix}, + \PValue{chapterwithoutprefix}, \PValue{chapterwithoutprefixline}% + \IndexOption{headings~=\PValue{onelinechapter}}}{% + Chapter headings will be set like other headings too.% + }% + \pventry{openany}{% + Parts, chapter, index, and back matter use \Macro{clearpage} instead of + \Macro{cleardoublepage}.% + \IndexOption{headings~=\PValue{openany}}}% + \pventry{openleft}{% + The commands \Macro{cleardoublepageusingstyle}, + \Macro{cleardoublestandardpage}, \Macro{cleardoubleplainpage}, + \Macro{cleardoubleemptypage}, and \Macro{cleardoublepage} generate a page + break and if needed insert an interleaf page to reach the next left-hand + page at double-page printing. Part, chapter, index and back matter use + \Macro{cleardoublepage}.% + \IndexOption{headings~=\PValue{openleft}}}% + \pventry{openright}{% + The commands \Macro{cleardoublepageusingstyle}, + \Macro{cleardoublestandardpage}, \Macro{cleardoubleplainpage}, + \Macro{cleardoubleemptypage}, and \Macro{cleardoublepage} generate a page + break and if needed insert an interleaf page to reach the next right-hand + page at double-page printing. Part, chapter, index and back matter use + \Macro{cleardoublepage}.% + \IndexOption{headings~=\PValue{openright}}}% + \pventry{optiontohead}{% + The\ChangedAt{v3.10}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} advanced functionality of the optional argument of the + structural commands \Macro{part} down to \Macro{subparagraph} will be + activated. By default the optional argument will be used for the running + head only.% + \IndexOption{headings=~optiontohead}% + }% + \entry{\PValue{optiontoheadandtoc}, \PValue{optiontotocandhead}% + \IndexOption{headings~=\PValue{optiontoheadandtoc}}}{% + The\ChangedAt{v3.10}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} advanced functionality of the optional argument of the + structural commands \Macro{part} down to \Macro{subparagraph} will be + activated. By default the optional argument will be used for the running + head and the table of contents.% + }% + \pventry{optiontotoc}{% + The\ChangedAt{v3.10}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} advanced functionality of the optional argument of the + structural commands \Macro{part} down to \Macro{subparagraph} will be + activated. By default the optional argument will be used for the table of + contents only.% + \IndexOption{headings=~optiontohead}% + }% + \pventry{small}{% + Use small headings with small distances above and below.% + \IndexOption{headings~=\PValue{small}}}% + \entry{\PValue{twolineappendix}, \PValue{appendixprefix}, + \PValue{appendixwithprefix}, \PValue{appendixwithprefixline}% + \IndexOption{headings~=\PValue{twolineappendix}}}{% + Chapters at the appendix will be set with a number line with the contents + of \Macro{chapterformat}\IndexCmd{chapterformat}.% + }% + \entry{\PValue{twolinechapter}, \PValue{chapterprefix}, + \PValue{chapterwithprefix}, \PValue{chapterwithprefixline}% + \IndexOption{headings~=\PValue{twolinechapter}}}{% + Chapters will be set with a number line with the contents + of \Macro{chapterformat}\IndexCmd{chapterformat}.% + }% +\end{desclist} +% +\EndIndex{Option}{headings~=\PName{selection}}% + +\begin{Declaration} + \KOption{numbers}{selection} +\end{Declaration}% +\BeginIndex{Option}{numbers~=\PName{selection}}% +\begin{Explain}% + In German, according to {\small DUDEN}, the numbering of sectional + units should have no period at the end if only arabic numbers are used + (see \cite[R\,3]{DUDEN}). On the other hand, if roman numerals or + letters are appear in the numbering, then a period should appear at the + end of the numbering (see \cite[R\,4]{DUDEN}). {\KOMAScript} has an + internal mechanism that tries to implement this somewhat complex + rule. The resulting effect is that, normally, after the sectional + commands \Macro{part} and \Macro{appendix} a switch is made to + numbering with an ending period. The information is saved in the + \File{aux} file and takes effect on the next {\LaTeX} run. +\end{Explain} + +In some cases the mechanism for placing or leaving off the ending period may +fail, or other languagues may have different +rules. Therefore\important[i]{\OptionValue{numbers}{endperiod}\\ + \OptionValue{numbers}{noendperiod}} it is possible to activate the use of +the ending period manually with the option +\OptionValue{numbers}{endperiod}\IndexOption{numbers~=\PValue{endperiod}} or +to deactivate it with +\OptionValue{numbers}{noendperiod}\IndexOption{numbers~=\PValue{noendperiod}}. +Default is \OptionValue{numbers}{autoendperiod}% +\IndexOption{numbers~=\PValue{autoendperiod}} with auto detection whether to +set the period or not. + +Please\textnote{Attention!} note that the mechanism only takes effect on the +next {\LaTeX} run. Therefore, before trying to use these options to forcibly +control the numbering format, a further run without changing any options +should be made. + +The\textnote{Attention!} available values are summarized in +\autoref{tab:maincls.numbers}. Unlike most other selections, this +option may be changed at the document preamble, before +\Macro{begin}\PParameter{document}, only. + +\begin{table} + \caption[{Available values of option \Option{numbers}}]{Available values of + option \Option{numbers} for selection of the period at the end of numbers + of structural headings} + \label{tab:maincls.numbers} + \begin{desctabular} + \entry{\PValue{autoendperiod}, \PValue{autoenddot}, \PValue{auto}}{% + \KOMAScript{} decides, whether or not to set the period at the end of + the numbers. The numbers consists in Arabic digits only, the period will + be omitted. If there are alphabetic characters or roman numbers the + period will always be set. References to numbers will be set without + ending period always.% + \IndexOption{numbers~=\PValue{autoendperiod}}}% + \entry{\PValue{endperiod}, \PValue{withendperiod}, \PValue{periodatend}, + \PValue{enddot}, \PValue{withenddot}, \PValue{dotatend}}{% + All numbers of structural commands and all dependent numbers will be set + with ending period. Only references will be set without the ending + period.% + \IndexOption{numbers~=\PValue{endperiod}}}% + \entry{\PValue{noendperiod}, \PValue{noperiodatend}, + \PValue{noenddot}, \PValue{nodotatend}}{% + All the numbers are without ending period.% + \IndexOption{numbers~=\PValue{noendperiod}}}% + \end{desctabular} +\end{table} +% +\EndIndex{Option}{numbers~=\PName{selection}}% + +\begin{Declaration} + \Option{chapteratlists}\\ + \XOption{chapteratlists}=\PName{value} +\end{Declaration}% +\BeginIndex{Option}{chapteratlists}% +\BeginIndex{Option}{chapteratlists~=\PName{value}}% +As mentioned in \autoref{sec:maincls.floats}, +\autopageref{desc:maincls.option.listof}\OnlyAt{\Class{scrbook}\and + \Class{scrreprt}}, normally, every chapter entry generated with +\Macro{chapter} introduces vertical spacing into the lists of floats. Since +version~2.96a\ChangedAt{v2.96a}{\Class{scrbook}\and \Class{scrreprt}} this +applies also for the command \Macro{addchap}, if no compatibility option to an +earlier version was chosen (see option \Option{version} in +\autoref{sec:maincls.compatibilityOptions}, +\autopageref{desc:maincls.option.version}). + +Furthermore, now the option \Option{chapteratlists} can be used to change the +spacing, by passing the desired distance as \PName{value}. The default setting +with \OptionValue{listof}{chaptergapsmall}% +\IndexOption{listof~=\PValue{chaptergapsmall}} % +is 10\,pt. If \OptionValue{chapteratlists}{entry}% +\IndexOption{chapteratlists~=\PValue{entry}}% +\important{\OptionValue{chapteratlists}{entry}} or \Option{chapteratlists} +without value is specified, then instead of a vertical distance, the chapter +entry itself will be entered into the lists. This will be done even if +there's no floating environment inside of the chapter. + +Please\textnote{Attention!} note that changes to the option will only become +effective in the lists following two more {\LaTeX} runs.% +% +\EndIndex{Option}{chapteratlists~=\PName{value}}% +\EndIndex{Option}{chapteratlists}% + \begin{Declaration} - \Macro{part}\OParameter{Short version}\Parameter{Heading}\\ - \Macro{chapter}\OParameter{Short version}\Parameter{Heading}\\ - \Macro{section}\OParameter{Short version}\Parameter{Heading}\\ - \Macro{subsection}\OParameter{Short version}\Parameter{Heading}\\ - \Macro{subsubsection}\OParameter{Short version}\Parameter{Heading}\\ - \Macro{paragraph}\OParameter{Short version}\Parameter{Heading}\\ - \Macro{subparagraph}\OParameter{Short version}\Parameter{Heading} + \Macro{part}\OParameter{short version}\Parameter{heading}\\ + \Macro{chapter}\OParameter{short version}\Parameter{heading}\\ + \Macro{section}\OParameter{short version}\Parameter{heading}\\ + \Macro{subsection}\OParameter{short version}\Parameter{heading}\\ + \Macro{subsubsection}\OParameter{short version}\Parameter{heading}\\ + \Macro{paragraph}\OParameter{short version}\Parameter{heading}\\ + \Macro{subparagraph}\OParameter{short version}\Parameter{heading} \end{Declaration}% -\BeginIndex{Cmd}{part}% -\BeginIndex{Cmd}{chapter}% -\BeginIndex{Cmd}{section}% +\BeginIndex{Cmd}{part}\Index[indexmain]{part}% +\BeginIndex{Cmd}{chapter}\Index[indexmain]{chapter}% +\BeginIndex{Cmd}{section}\Index[indexmain]{section}% \BeginIndex{Cmd}{subsection}% \BeginIndex{Cmd}{subsubsection}% \BeginIndex{Cmd}{paragraph}% @@ -2454,64 +1573,191 @@ fashion to those of the standard classes. Thus, an alternative entry for the table of contents and running headings can be specified as an optional argument to the sectioning commands. -The title of the level part (\Macro{part}) is distinguished from other -sectioning levels by being numbered independently from the other -parts. This means that the chapter level (in \Class{scrbook} or -\Class{scrreprt}), or the section level (in \Class{scrartcl}) is -numbered consecutively over all parts. Furthermore, for classes -\Class{scrbook} and \Class{scrreprt} the title of the part level -together with the corresponding preamble (see \Macro{setpartpreamble}, -\autopageref{desc:maincls.cmd.setpartpreamble}) is set on a separate -page. - -\Macro{chapter} \OnlyAt{\Class{scrartcl}} only exists in book or -report classes, that is, in classes \Class{book}, \Class{scrbook}, -\Class{report} and \Class{scrreport}, but not in the article classes -\Class{article} and \Class{scrartcl}. In addition to this, the command -\Macro{chapter} in {\KOMAScript} differs substantially from the -version in the standard class. In the standard classes the chapter -number is used together with the prefix ``Chapter'', or the -corresponding word in the appropriate language, on a separate line -above the actual chapter title test. This overpowering style is -replaced in {\KOMAScript} by a simple chapter number before the -chapter heading text, can however be reverted by the option -\Option{chapterprefix} (see \autoref{sec:maincls.layoutOptions}, +In addition to this, with\ChangedAt{v3.10}{\Class{scrbook}\and + \Class{scrreprt}\and \Class{scrartcl}}\textnote{\KOMAScript{} vs. standard + classes} option \important{\Option{headings}} +\OptionValue{headings}{optiontohead}% +\IndexOption[indexmain]{headings~=\PValue{optiontohead}}, \KOMAScript{} +doesn't use +the optional argument \PName{short version} at the table of +contents, but for the running head only. Nevertheless, such a running head +needs an appropriate page style. See \autoref{sec:maincls.pagestyle} and +\autoref{cha:scrpage} about this. With option +\OptionValue{headings}{optiontotoc}% +\IndexOption[indexmain]{headings~=\PValue{optiontotoc}}, \KOMAScript{} doesn't +use the +optional argument \PName{short version} for the running head, but +at the table of contents. Nevertheless, the entry will be shown only if +counter \Counter{tocdepth} (see \autoref{sec:maincls.toc}, +\autopageref{desc:maincls.counter.tocdepth}) is great enough. With option +\OptionValue{headings}{optiontoheadandtoc}% +\IndexOption[indexmain]{headings~=\PValue{optiontoheadandtoc}}, \KOMAScript{} +uses the optional argument \PName{short version} in both the table of contents +and running head. All these three selections will also activate the extended +interpretation of the optional argument \PName{short version}, which isn't +active by default. + +The \ChangedAt{v3.10}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} extended interpretation of the optional argument +determines whether there's an equality sign in +\PName{short version}. If so, the optional argument will be interpreted as +\PName{option list} instead of simple \PName{short version}. Thereby the two +options \KOption{head}\PName{running head}\important{\Option{head}} and +\KOption{tocentry}\PName{table of contents entry} are supported. Commas or +equality signs inside of the values of those options will be accepted only if +they are enclosed by braces. + +Please\textnote{Attention!} note that this mechanism is only +functional as long as \KOMAScript{} controls the described +commands. From using a package that controls the sectioning commands +or the internal \LaTeX{} kernel commands for sectioning commands, +\KOMAScript{} can no longer provide this extended mechanism. This is +also valid for the always active extension of \KOMAScript{} to not +create entries to the table of contents % if the heading text +if the text of the +entry is empty. If you really want an entry with empty heading text, +you may use an invisible entry like \lstinline|\mbox{}| instead. + +\begin{Example} + Assume you're writing a document with some very extensive chapter + headings. These headings should be shown in the table of contents too. But + for the running head you want only single-line short headings. You will do + this using the optional argument of \Macro{chapter}. +\begin{lstcode} + \chapter[short version of chapter heading] + {The Structural Sectioning Command + for Chapters Supports not only the + Heading Text itself but also a + Short Version with Selectable + Usage} +\end{lstcode} + + Sometimes later you become aware that the automatic line breaking of this + heading is somehow inappropriate. Therefore you want to make the breaking + yourself. Nevertheless, the automatic line breaking should be still used at + the table of contents. With +\begin{lstcode} + \chapter[head={short version of chapter heading}, + tocentry={The Structural Sectioning + Command for Chapters Supports not + only the Heading Text itself but + also a Short Version with + Selectable Usage}] + {The Structural\\ + Sectioning Command for Chapters\\ + Supports not only\\ + the Heading Text itself\\ + but also\\ + a Short Version\\ + with Selectable Usage} +\end{lstcode} + you use independent entries for table of contents, running head, and the + chapter heading itself. The arguments of the options \Option{head} and + \Option{tocentry} have been enclosed into braces, so the contents of the + options cannot influence the interpretation of the optional argument. + + The recommendation of the braces in the example above will make more sense + with one more example. Assume you're using option + \OptionValue{headings}{optiontotoc} and now have a heading: +\begin{lstcode} + \section[head=\emph{value}] + {Option head=\emph{value}} +\end{lstcode} + This would result in the entry ``Option head=\emph{value}'' at the table of + contents but ``\emph{value}'' at the running head. But surely you wanted the + entry ``head=\emph{value}'' at the table of contents and the complete + heading text at the running head. You may do this using braces: +\begin{lstcode} + \section[head{=}\emph{value}] + {Option head=\emph{value}} +\end{lstcode} + + A similar case would be a comma. With the same \Option{headings} option like + before: +\begin{lstcode} + \section[head=0, 1, 2, 3, \dots] + {Natural Numbers Including the Zero} +\end{lstcode} + would result in an error, because the comma would be interpreted as the + separator between the single options of the option list % + ``\lstinline|0, 1, 2, 3, \dots|''. But writing +\begin{lstcode} + \section[head={0, 1, 2, 3, \dots}] + {Natural Numbers Including the Zero} +\end{lstcode} + will change ``\lstinline|0, 1, 2, 3, \dots|'' into the argument of + option \Option{head}. +\end{Example} + +The title of the level part\important{\Macro{part}} (\Macro{part}) is +distinguished from other sectioning levels by being numbered independently +from the other parts. This means that the chapter level (in \Class{scrbook} or +\Class{scrreprt}), or the section level (in \Class{scrartcl}) is numbered +consecutively over all parts. Furthermore, for classes +\Class{scrbook}\OnlyAt{\Class{scrbook}\and \Class{scrreprt}} and +\Class{scrreprt}, the title of the part level together with the corresponding +preamble (see \Macro{setpartpreamble}, +\autopageref{desc:maincls.cmd.setpartpreamble}) is set on a separate page. + +\Macro{chapter}\important{\Macro{chapter}}\OnlyAt{\Class{scrbook}\and + \Class{scrreprt}} only exists in book or report classes, that is, in classes +\Class{book}, \Class{scrbook}, \Class{report} and \Class{scrreport}, but not +in the article classes \Class{article} and \Class{scrartcl}. In addition to +this, the command \Macro{chapter} in {\KOMAScript} differs substantially from +the version in the standard class. In the standard classes the chapter number +is used together with the prefix ``Chapter'', or the corresponding word in the +appropriate language, on a separate line above the actual chapter title +text. This overpowering\important[i]{\Option{chapterprefix}\\ + \Option{appendixprefix}} style is replaced in {\KOMAScript} by a simple +chapter number before the chapter heading text, but can be reverted by the +option \Option{chapterprefix} (see \autopageref{desc:maincls.option.chapterprefix}). -Please note that \Macro{part} and \Macro{chapter} in classes -\Class{scrbook} and \Class{scrreprt} -\OnlyAt{\Class{scrbook}\and\Class{scrreprt}} change the page style for -one page. The applied page style in {\KOMAScript} is defined in the -macros \Macro{partpagestyle} and \Macro{chapterpagestyle} (see -\autoref{sec:maincls.pageStyle}, +Please\textnote{Attention!} note that \Macro{part} and \Macro{chapter} in +classes \Class{scrbook} and \Class{scrreprt} +\OnlyAt{\Class{scrbook}\and\Class{scrreprt}} change the page style for one +page. The applied page style in {\KOMAScript} is defined in the macros +\Macro{partpagestyle} and \Macro{chapterpagestyle} (see +\autoref{sec:maincls.pagestyle}, \autopageref{desc:maincls.cmd.titlepagestyle}). \BeginIndex[indexother]{}{font}% +\BeginIndex[indexother]{}{font>style}% \BeginIndex[indexother]{}{font>size}% -The font of all headings\ChangedAt{v2.8p}{% - \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} % -can be changed with the commands +The font of all headings\ChangedAt{v2.8p}{\Class{scrbook}\and + \Class{scrreprt}\and \Class{scrartcl}} can be changed with the commands \Macro{setkomafont}\IndexCmd{setkomafont} and -\Macro{addtokomafont}\IndexCmd{addtokomafont} described in -\autoref{sec:maincls.font}. In doing this, generally the element -\FontElement{disposition}\IndexFontElement{disposition} is used, -followed by a specific element for every section level (see +\Macro{addtokomafont}\IndexCmd{addtokomafont} (see +\autoref{sec:maincls.textmarkup}, +\autopageref{desc:maincls.cmd.setkomafont}). In doing this, generally the +element \FontElement{disposition}\IndexFontElement{disposition}% +\important{\FontElement{disposition}} is used, followed by a specific +element\important[s]{% + \FontElement{part}\\ + \FontElement{chapter}\\ + \FontElement{section}\\ + \FontElement{subsection}\\ + \FontElement{paragraph}\\ + \FontElement{subparagraph}} for every section level (see \autoref{tab:maincls.elementsWithoutText}, -\autopageref{tab:maincls.elementsWithoutText}). The font for the -element \FontElement{disposition}\IndexFontElement{disposition} is -predefined as \Macro{normalfont}\Macro{normalcolor}\Macro{sffamily}% -\Macro{bfseries}. The default font size for the specific elements -depends on the options \OptionValue{headings}{big}, \OptionValue{headings}{normal} -and \OptionValue{headings}{small} (see \autoref{sec:maincls.fontOptions}, -\autopageref{desc:maincls.option.headings}). The defaults are -listed in \autoref{tab:maincls.structureElementsFont} +\autopageref{tab:maincls.elementsWithoutText}). The font for the element +\FontElement{disposition}\IndexFontElement{disposition} is predefined as +\Macro{normalcolor}\linebreak[2]\Macro{sffamily}\linebreak[2]\Macro{bfseries}. +The default font size for the specific elements depends on the options +\OptionValue{headings}{big}, \OptionValue{headings}{normal} and +\OptionValue{headings}{small} (see +\autopageref{desc:maincls.option.headings}). The defaults are listed in +\autoref{tab:maincls.structureElementsFont}. % \begin{table} - \centering% - \caption[{Default font sizes for different levels of document +% \centering% + \KOMAoptions{captions=topbeside}% + \setcapindent{0pt}% +% \caption + \begin{captionbeside}[{Default font sizes for different levels of document structuring}]{Default font sizes for different levels of document - structuring in \Class{scrbook} and \Class{scrreprt}} - \begin{tabular}{lll} + structuring in \Class{scrbook} and \Class{scrreprt}}[l] + \begin{tabular}[t]{lll} \toprule class option & element & default\\ \midrule @@ -2553,6 +1799,7 @@ listed in \autoref{tab:maincls.structureElementsFont} & \FontElement{subparagraph} & \Macro{normalsize}\\ \bottomrule \end{tabular} + \end{captionbeside} \label{tab:maincls.structureElementsFont} \end{table} @@ -2560,30 +1807,30 @@ listed in \autoref{tab:maincls.structureElementsFont} Suppose you are using the class option \OptionValue{headings}{big} and notice that the very big headings of document parts are too bold. You could change this as follows: -\begin{lstlisting} +\begin{lstcode} \setkomafont{disposition}{\normalcolor\sffamily} \part{Appendices} \addtokomafont{disposition}{\bfseries} -\end{lstlisting} +\end{lstcode} Using the command above you only switch off the font attribute \textbf{bold} for a heading ``Appendices''. A much more comfortable and elegant solution is to change all \Macro{part} headings at once. This is done either by: -\begin{lstlisting} +\begin{lstcode} \addtokomafont{part}{\normalfont\sffamily} \addtokomafont{partnumber}{\normalfont\sffamily} -\end{lstlisting} +\end{lstcode} or simply using: -\begin{lstlisting} +\begin{lstcode} \addtokomafont{part}{\mdseries} \addtokomafont{partnumber}{\mdseries} -\end{lstlisting} +\end{lstcode} The last version is to be preferred because it gives you the correct result even when you make changes to the \FontElement{disposition} element\IndexFontElement{disposition}, for instance: -\begin{lstlisting} +\begin{lstcode} \setkomafont{disposition}{\normalcolor\bfseries} -\end{lstlisting} +\end{lstcode} With this change it is possible to set all section levels at once to no longer use sans serif fonts. \end{Example} @@ -2605,24 +1852,25 @@ to the following explanation. There is a rule in typography which states that one should mix as few fonts as possible. Using sans serif for headings already seems to be a breach of this rule. However, one should know that bold, - large serif letters are much to heavy for headings. Strictly + large serif letters are much too heavy for headings. Strictly speaking, one would then have to at least use a normal instead of a - bold or semi bold font. However, in deeper levels of the structuring + bold or semi-bold font. However, in deeper levels of the structuring, a normal font may then appear too lightly weighted. On the other hand, sans serif fonts in headings have a very pleasant appearance and in fact find acceptance almost solely for headings. That is why sans serif is the carefully chosen default in {\KOMAScript}. - More variety should however be avoided. Font mixing is only for + More variety should, however, be avoided. Font mixing is only for professionals. In case you want to use other fonts than the standard - {\TeX} fonts\,---\,regardless of whether these are CM \Index{CM - fonts}, EC \Index{EC fonts} or LM fonts \Index{LM fonts}\,---\,you + {\TeX} fonts\,---\,regardless of whether these are CM\Index{CM + fonts}, EC\Index{EC fonts}, or LM fonts\Index{LM fonts}\,---\,you should consult an expert, or for safety's sake redefine the font for the element \FontElement{disposition}\IndexFontElement{disposition} as seen in the example above. The author of this documentation considers the commonly encountered combinations Times and Helvetica or Palatino with Helvetica as unfavourable. \end{Explain} +\EndIndex[indexother]{}{font>style}% \EndIndex[indexother]{}{font}% \EndIndex[indexother]{}{font>size}% % @@ -2634,7 +1882,6 @@ to the following explanation. \EndIndex{Cmd}{paragraph}% \EndIndex{Cmd}{subparagraph}% - \begin{Declaration} \Macro{part*}\Parameter{Heading}\\ \Macro{chapter*}\Parameter{Heading}\\ @@ -2654,7 +1901,7 @@ to the following explanation. All disposition commands have starred versions, which are unnumbered\Index{numbering}, and produce section headings which do not show up in the table of contents\Index{table>of contents}\Index{contents>table - of} or in in the + of} or in the running heading\Index{header}. The absence of a running heading often has an unwanted side effect. For example, if a chapter which is set using \Macro{chapter*} spans several pages, then the running heading @@ -2665,17 +1912,17 @@ only exists in book and report classes, that is, \Class{book}, \Class{scrbook}, \Class{report} and \Class{scrreport}, but not the article classes \Class{article} and \Class{scrartcl}. -Please note that \Macro{part} and \Macro{chapter} change the page -style for one page. The applied style is defined in the macros -\Macro{partpagestyle} and \Macro{chapterpagestyle} in {\KOMAScript} -(see \autoref{sec:maincls.pageStyle}, +Please\textnote{Attention!} note that \Macro{part} and \Macro{chapter} change +the page style for one page. The applied style is defined in the macros +\Macro{partpagestyle} and \Macro{chapterpagestyle} in {\KOMAScript} (see +\autoref{sec:maincls.pagestyle}, \autopageref{desc:maincls.cmd.titlepagestyle}). As for the possibilities of font switching\ChangedAt{v2.8p}{% \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}}, % the same explanations apply as were given above for the unstarred variants. The structuring elements are named the same since they do -not indicate variants but structuring levels. +not indicate variants but structuring levels.% % \EndIndex{Cmd}{part*}% \EndIndex{Cmd}{chapter*}% @@ -2685,10 +1932,12 @@ not indicate variants but structuring levels. \EndIndex{Cmd}{paragraph*}% \EndIndex{Cmd}{subparagraph*}% -\iffalse In the standard classes there are no further structuring -commands. In particular, there are no commands which can produce -unnumbered chapters or sections which show up in the table of contents -and in the running heading. \fi +\iftrue% Umbruchkorrekturtext +In the standard classes\textnote{\KOMAScript{} vs. standard classes} there are +no further structuring commands. In particular, there are no commands which +can produce unnumbered chapters or sections which show up in the table of +contents and in the running heading.% +\fi \begin{Declaration} \Macro{addpart}\OParameter{Short version}\Parameter{Heading}\\ @@ -2696,7 +1945,7 @@ and in the running heading. \fi \Macro{addchap}\OParameter{Short version}\Parameter{Heading}\\ \Macro{addchap*}\Parameter{Heading}\\ \Macro{addsec}\OParameter{Short version}\Parameter{Heading}\\ - \Macro{addsec*}\Parameter{Heading} + \Macro{addsec*}\Parameter{Heading}\textnote[n]{\KOMAScript{} vs. standard classes} \end{Declaration}% \BeginIndex{Cmd}{addpart}% \BeginIndex{Cmd}{addpart*}% @@ -2704,20 +1953,21 @@ and in the running heading. \fi \BeginIndex{Cmd}{addchap*}% \BeginIndex{Cmd}{addsec}% \BeginIndex{Cmd}{addsec*}% -In addition to the commands of the standard classes {\KOMAScript} +In addition to the commands of the standard classes, {\KOMAScript} offers the new commands \Macro{addsec} and \Macro{addchap}. They are similar to the standard commands \Macro{chapter} and -\Macro{section} except that they are unnumbered. They thus produce -both a running heading and an entry in the table of contents. The -starred variants \Macro{addchap*} and \Macro{addsec*} are similar to -the standard commands \Macro{chapter*} and \Macro{section*} except for -a tiny but important difference: The running headings are -deleted. This eliminates the side effect of obsolete headers mentioned -above. Instead, the running headings on following pages remain -empty. \OnlyAt{\Class{scrartcl}}\Macro{addchap} and \Macro{addchap*} -of course only exist in book and report classes, namely \Class{book}, -\Class{scrbook}, \Class{report} and \Class{scrreport}, but not in the -article classes \Class{article} and \Class{scrartcl}. +\Macro{section}, except that they are unnumbered. They thus produce +both a running heading and an entry in the table of contents. + +The starred variants \Macro{addchap*} and \Macro{addsec*} are similar to the +standard commands \Macro{chapter*} and \Macro{section*} except for a tiny but +important difference: The running headings are deleted. This eliminates the +side effect of obsolete headers mentioned above. Instead, the running headings +on following pages remain empty. \OnlyAt{\Class{book}\and + \Class{scrreprt}}\Macro{addchap} and \Macro{addchap*} of course only exist +in book and report classes, namely \Class{book}, \Class{scrbook}, +\Class{report} and \Class{scrreport}, but not in the article classes +\Class{article} and \Class{scrartcl}. Similarly, the command \Macro{addpart} produces an unnumbered document part with an entry in the table of contents. Since the running @@ -2726,17 +1976,17 @@ problem of obsolete headers does not exist. The starred version \Macro{addpart*} is thus identical to \Macro{part*} and is only defined for consistency reasons. -Please note that \Macro{addpart} and \Macro{addchap} and their starred -versions change the page style for one page. The particular page style -is defined in the macros \Macro{partpagestyle} and -\Macro{chapterpagestyle} (see \autoref{sec:maincls.pageStyle}, +Please note\textnote{Attention!} that \Macro{addpart} and \Macro{addchap} and +their starred versions change the page style for one page. The particular page +style is defined in the macros \Macro{partpagestyle} and +\Macro{chapterpagestyle} (see \autoref{sec:maincls.pagestyle}, \autopageref{desc:maincls.cmd.titlepagestyle}). As for the possibilities of font switching\ChangedAt{v2.8p}{% \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}}, % the same explanations apply as given above for the normal structuring commands. The elements are named the same since they describe not -variants but structuring levels. +variants but structuring levels.% % \EndIndex{Cmd}{addpart}% \EndIndex{Cmd}{addpart*}% @@ -2758,11 +2008,26 @@ The command \Macro{minisec} is designed for this situation. This heading is not associated with any structuring level. Such a \emph{mini section} does not produce an entry in the table of contents nor does it receive any numbering. + +\BeginIndex{FontElement}{minisec}% +\BeginIndex{FontElement}{disposition}% +The font type of the structuring command \Macro{minisec} can be changed using +the element \FontElement{disposition}\IndexFontElement{disposition} (see +\autoref{tab:maincls.elementsWithoutText}, +\autopageref{tab:maincls.elementsWithoutText}) and +\FontElement{minisec}\ChangedAt{v2.96a}{% + \Class{scrbook} \and\Class{scrreprt} \and\Class{scrartcl}}. Default setting +of element \FontElement{minisec} is empty, so the default of the element +\FontElement{disposition} is active. +% +\EndIndex{FontElement}{disposition}% +\EndIndex{FontElement}{minisec}% + \begin{Example} You have developed a kit for building a mouse trap and want the documentation separated into a list of necessary items and an assembly description. You could write the following: -\begin{lstlisting} +\begin{lstcode} \minisec{Items needed} \begin{flushleft} @@ -2786,7 +2051,7 @@ nor does it receive any numbering. fasten it against the front of the mouse-hole utilizing the two screws and the knife. Instead of the knife one can use a screw-driver instead. -\end{lstlisting} +\end{lstcode} Which gives: \begin{ShowOutput}[\baselineskip]\setlength{\parindent}{1em} \minisec{Items needed} @@ -2801,156 +2066,165 @@ nor does it receive any numbering. 1 knife \end{flushleft} - \minisec{Assembly} - At first one searches the mouse-hole and puts the drawing pin - directly behind the hole. Thus the mouse cannot escape during the - following actions. - - Then one knocks the spring-plug with the hammer into the - mouse-hole. If the spring-plug's size is not big enough in order - to shut the mouse-hole entirely, then one can utilize the plank - instead and fasten it against the front of the mouse-hole - utilizing the two screws and the knife. Instead of the knife one - can use a screw-driver instead. + \minisec{Assembly} + At first one searches the mouse-hole and puts the drawing pin + directly behind the hole. Thus the mouse cannot escape during the + following actions. + + Then one knocks the spring-plug with the hammer into the + mouse-hole. If the spring-plug's size is not big enough in order + to shut the mouse-hole entirely, then one can utilize the plank + instead and fasten it against the front of the mouse-hole + utilizing the two screws and the knife. Instead of the knife one + can use a screw-driver instead. \end{ShowOutput} \end{Example} - -The font type of the structuring command \Macro{minisec} be changed -using the element -\FontElement{disposition}\IndexFontElement{disposition} (see -\autoref{tab:maincls.elementsWithoutText}, -\autopageref{tab:maincls.elementsWithoutText}) and -\FontElement{minisec}\ChangedAt{2.96a}{% - \Class{scrbook} \and\Class{scrreprt} \and\Class{scrartcl}}. Default -setting of element \FontElement{minisec} is empty, so the default of -the element \FontElement{disposition} is active. % \EndIndex{Cmd}{minisec}% - \begin{Declaration} - \Macro{raggedsection} + \Macro{raggedsection}\\ + \Macro{raggedpart} \end{Declaration}% \BeginIndex{Cmd}{raggedsection}% -In the standard classes headings are set as justified text. That means -that hyphenated words can occur and headings with more than one line -are stretched up to the text border. This is a rather uncommon -approach in typography. {\KOMAScript} therefore formats the headings -left aligned with hanging indentation using \Macro{raggedsection} with -the definition: -\begin{lstlisting} +\BeginIndex{Cmd}{raggedpart}% +In the standard classes\textnote{\KOMAScript{} vs. standard classes}, headings +are set as justified text. That means that hyphenated words can occur and +headings with more than one line are stretched up to the text border. This is +a rather uncommon approach in typography. {\KOMAScript} therefore formats the +headings left aligned with hanging indentation using \Macro{raggedsection} +with the definition: +\begin{lstcode}[belowskip=\dp\strutbox] \newcommand*{\raggedsection}{\raggedright} -\end{lstlisting} +\end{lstcode} This command can be redefined with \Macro{renewcommand}. \begin{Example} You prefer justified headings, so you write in the preamble of your document: -\begin{lstlisting} +\begin{lstcode} \renewcommand*{\raggedsection}{} -\end{lstlisting} +\end{lstcode} or more compactly: -\begin{lstlisting} +\begin{lstcode} \let\raggedsection\relax -\end{lstlisting} -You will get a formatting of the headings which is very close to that -of the standard classes. It will become even closer when you combine -this change with the change of the element -\FontElement{disposition}\IndexFontElement{disposition} mentioned -above. +\end{lstcode} + You will get a formatting of the headings which is very close to that + of the standard classes. It will become even closer when you combine + this change with the change of the element + \FontElement{disposition}\IndexFontElement{disposition} mentioned + above. \end{Example} -% +Unlike all others, the headings of parts (\Macro{part}) will be +horizontally centered instead of set ragged right. This is because command +\Macro{raggedpart} is defined as +\begin{lstcode}[belowskip=\dp\strutbox] + \let\raggedpart\centering +\end{lstcode} +You may also redefine this using \Macro{renewcommand} too. +\begin{Example} + You don't want different alignment at headings of \Macro{part}. So you + put +\begin{lstcode} + \renewcommand*{\raggedpart}{\raggedsection} +\end{lstcode} + into the preamble of your document. In\textnote{Hint!} this case, + and unlike in the example above, \Macro{let} has not been used, because + \Macro{let} would give \Macro{raggedpart} the current meaning of + \Macro{raggedsection}. Further changes of \Macro{raggedsection} would then + stay disregarded at the usage of \Macro{raggedpart}. Doing the redefinition + using \Macro{renewcommand} gives \Macro{raggedpart} the meaning of + \Macro{raggedsection} not at definition time, but each time + \Macro{raggedpart} will be used. +\end{Example}% +% +\EndIndex{Cmd}{raggedpart}% \EndIndex{Cmd}{raggedsection}% -\begin{Explain}% \begin{Declaration} \Macro{partformat}\\ \Macro{chapterformat}\\ - \Macro{othersectionlevelsformat}\Parameter{section name}\\ + \Macro{othersectionlevelsformat}\Parameter{sectioning + name}\Parameter{}\Parameter{counter output}\\ \Macro{autodot} \end{Declaration}% -\BeginIndex{Cmd}{partformat}% -\BeginIndex{Cmd}{chapterformat}% -\BeginIndex{Cmd}{othersectionlevelsformat}% +\BeginIndex{Cmd}{partformat}\Index{part>number}% +\BeginIndex{Cmd}{chapterformat}\Index{chapter>number}% +\BeginIndex{Cmd}{othersectionlevelsformat}\Index{section>number}% \BeginIndex{Cmd}{autodot}% -As you might know, for every counter in {\LaTeX} there is a command -\Macro{the}\PName{countername}, which outputs the value of the -counter. Depending on the class the counter for a particular level -starting from \Macro{section} (\Class{book}, \Class{scrbook}, -\Class{report}, \Class{scrreprt}) or \Macro{subsection} -(\Class{article}, \Class{scrartcl}) is composed of the counter for the -next higher level followed by a dot and the Arabic number of the -\PName{countername} of the respective level.\par -\end{Explain} - -{\KOMAScript} has added a further logical level to the output of the -section number. The counters for the respective heading are not merely -output. They are formatted using the commands \Macro{partformat}, -\Macro{chapterformat} and \Macro{othersectionlevelsformat}. -\OnlyAt{\Class{scrbook}\and\Class{scrreprt}}Of course the command -\Macro{chapterformat} like \Macro{thechapter} does not exist in the -class \Class{scrartcl} but only in the classes \Class{scrbook} and -\Class{scrreprt}. - -As described in \autoref{sec:maincls.formattingOptions}, -\autopageref{desc:maincls.option.numbers}, dots in section -numbers should be handled for the German-speaking region according to -the rules given in \cite{DUDEN}. The command \Macro{autodot} in -{\KOMAScript} ensures that these rules are being followed. In all -levels except for \Macro{part} a dot is followed by a further -\Macro{enskip}. This corresponds to a horizontal skip of -0.5\Unit{em}. - -The command \Macro{othersectionlevelsformat} takes as a parameter the -name of the section level, such as ``\PName{section}'', -``\PName{subsection}'' \dots{} Per default therefore, only the levels +{\KOMAScript} has added a further logical level on top of +\Macro{the\PName{sectioning name}} to the output of the sectioning +numbers. The counters for the respective heading are not merely output. They +are formatted using the commands \Macro{partformat}, \Macro{chapterformat}, +and the command \Macro{othersectionlevelsformat} that expect three +arguments. \OnlyAt{\Class{scrbook}\and\Class{scrreprt}}Of course the command +\Macro{chapterformat} like \Macro{thechapter} does not exist in the class +\Class{scrartcl} but only in the classes \Class{scrbook} and \Class{scrreprt}. + +As described for option \Option{numbers}\important{\Option{numbers}} at the +beginning of this section (see \autopageref{desc:maincls.option.numbers}), +periods in section numbers should be handled for the German-speaking region +according to the rules given in \cite{DUDEN}. The command \Macro{autodot} in +{\KOMAScript} ensures that these rules are being followed. In all levels +except for \Macro{part}, a dot is followed by a further \Macro{enskip}. This +corresponds to a horizontal skip of 0.5\Unit{em}. + +The command \Macro{othersectionlevelsformat} takes as first parameter the +name of the section level, such as \PValue{section}, +\PValue{subsection}, \PValue{subsection}, +\PValue{subsubsection}, \PValue{paragraph}, and \PValue{subparagraph}. The +third parameter should be the output of the corresponding counter, usually +\Macro{thesection}, \Macro{thesubsection}, \Macro{thesubsubsection}, +\Macro{theparagraph}, or \Macro{thesubparagraph}. + +Per default, therefore, only the levels \Macro{part} and \Macro{chapter} have formatting commands of their own, while all other section levels are covered by one general formatting command. This has historical reasons. At the time that Werner Lemberg suggested a suitable extension of {\KOMAScript} for his -\Package{CJK} package, only this differentiation was needed. +\Package{CJK} package, only this differentiation was needed. Users should +ignore the third argument of \Macro{othersectionlevelsformat} completely. The formatting commands can be redefined using \Macro{renewcommand} to fit them to your personal needs. The following original definitions are used by the {\KOMAScript} classes: -\begin{lstlisting} +\begin{lstcode} \newcommand*{\partformat}{\partname~\thepart\autodot} \newcommand*{\chapterformat}{% \chapappifchapterprefix{\ }\thechapter\autodot\enskip} - \newcommand*{\othersectionlevelsformat}[1]{% - \csname the#1\endcsname\autodot\enskip} -\end{lstlisting} + \newcommand*{\othersectionlevelsformat}[3]{% + #3\autodot\enskip} +\end{lstcode} \begin{Example} Assume that when using \Macro{part} you do not want the word ``Part'' written in front of the part number. You could use the following command in the preamble of your document: -\begin{lstlisting} +\begin{lstcode} \renewcommand*{\partformat}{\thepart\autodot} -\end{lstlisting} -Strictly speaking, you could do without \Macro{autodot} at this point -and insert a fixed dot instead. As \Macro{part} is numbered with roman -numerals, according to \cite{DUDEN} a dot has to be applied. However, -you thereby give up the possibility to use one of the options -\OptionValue{numbers}{enddot} and \OptionValue{numbers}{noenddot} and optionally -depart from the rules. More details concerning class options can be -found in \autoref{sec:maincls.formattingOptions}, -\autopageref{desc:maincls.option.numbers}. +\end{lstcode} + Strictly speaking, you could do without \Macro{autodot} at this point and + insert a fixed dot instead. As \Macro{part} is numbered with roman numerals, + according to \cite{DUDEN} a period has to be applied. However, you thereby + give up the possibility to use one of the options + \OptionValue{numbers}{endperiod} and \OptionValue{numbers}{noendperiod} and + optionally depart from the rules. More details concerning class options can + be found at \autopageref{desc:maincls.option.numbers}. -An additional possibility could be to place the section numbers in the -left margin in such a way that the heading text is left aligned with -the surrounding text. This can be accomplished with: -\begin{lstlisting} - \renewcommand*{\othersectionlevelsformat}[1]{% - \llap{\csname the#1\endcsname\autodot\enskip}} -\end{lstlisting} -The little known {\TeX} command \Macro{llap} in the definition above -puts its argument left of the current position without changing the -position thereby. A much better {\LaTeX} solution would be: -\begin{lstlisting} - \renewcommand*{\othersectionlevelsformat}[1]{% + An additional possibility could be to place the section numbers in the + left margin in such a way that the heading text is left aligned with + the surrounding text. This can be accomplished with: +\begin{lstcode} + \renewcommand*{\othersectionlevelsformat}[3]{% + \llap{\#3\autodot\enskip}} +\end{lstcode} + The little known {\TeX} command \Macro{llap} in the definition above + puts its argument left of the current position without changing the + position thereby. A much better {\LaTeX} solution would be: +\begin{lstcode} + \renewcommand*{\othersectionlevelsformat}[3]{% \makebox[0pt][r]{% - \csname the#1\endcsname\autodot\enskip}} -\end{lstlisting} + #3\autodot\enskip}} +\end{lstcode} See \cite{latex:usrguide} for more information about the optional arguments of \Macro{makebox}. \end{Example} @@ -2970,32 +2244,34 @@ position thereby. A much better {\LaTeX} solution would be: These\OnlyAt{\Class{scrbook}\and\Class{scrreprt}}% \ChangedAt{v2.8o}{\Class{scrbook}\and\Class{scrreprt}} two commands are not only used internally by {\KOMAScript} but are also provided to -the user. Later it will be shown how they can be used for example to -redefine other commands. Using the layout option -\Option{chapterprefix} (see \autoref{sec:maincls.layoutOptions}, +the user. Later it will be shown how they can be used, for example, to +redefine other commands. + +Using the layout option +\OptionValue{chapterprefix}{true}\important{\Option{chapterprefix}} (see \autopageref{desc:maincls.option.chapterprefix}) \Macro{chapappifchapterprefix} outputs the word -``Chapter''\Index{chapter} in the main part of the document in the +``Chapter''\Index{chapter>heading} in the main part of the document in the current language, followed by \PName{additional text}. In the appendix\Index{appendix}, the word ``Appendix'' in the current language is output instead, followed by \PName{additional text}. If the option \OptionValue{chapterprefix}{false} is set, then nothing is output. The command \Macro{chapapp} always outputs the word ``Chapter'' or -``Appendix''. In this case the options \Option{chapterprefix} and -\OptionValue{chapterprefix}{false} have no effect. +``Appendix''. In this case the selection of option \Option{chapterprefix} has +no effect. Since chapters only exist in the classes \Class{scrbook} and -\Class{scrreprt} these commands only exist in these classes. +\Class{scrreprt}, these commands only exist in these classes.% % \EndIndex{Cmd}{chapappifchapterprefix}% \EndIndex{Cmd}{chapapp}% \begin{Declaration} - \Macro{chaptermark}\Parameter{Running heading}\\ - \Macro{sectionmark}\Parameter{Running heading}\\ - \Macro{subsectionmark}\Parameter{Running heading}\\ + \Macro{chaptermark}\Parameter{running head}\\ + \Macro{sectionmark}\Parameter{running head}\\ + \Macro{subsectionmark}\Parameter{running head}\\ \Macro{chaptermarkformat}\\ \Macro{sectionmarkformat}\\ \Macro{subsectionmarkformat} @@ -3007,19 +2283,20 @@ Since chapters only exist in the classes \Class{scrbook} and \BeginIndex{Cmd}{sectionmarkformat}% \BeginIndex{Cmd}{subsectionmarkformat}% \begin{Explain}% - As mentioned in \autoref{sec:maincls.pageStyle} the page style + As mentioned in \autoref{sec:maincls.pagestyle} the page style \PValue{headings} works with automatic running - headings\Index{running heading}. For this, the commands + heads\Index{running head}. For this, the commands \Macro{chaptermark} and \Macro{sectionmark}, or \Macro{sectionmark} and \Macro{subsectionmark}, respectively, are defined. Every - structuring command (\Macro{chapter}, \Macro{section} \dots) + structuring command (\Macro{chapter}, \Macro{section}, etc.) automatically carries out the respective \Macro{\dots mark} command. The parameter passed contains the text of the section heading\Index{heading}. The respective section number is added automatically in the \Macro{\dots mark} command. The formatting is done according to the section level with one of the three commands - \Macro{chaptermarkformat}, \Macro{sectionmarkformat} or + \Macro{chaptermarkformat}, \Macro{sectionmarkformat}, or \Macro{subsectionmarkformat}. + \OnlyAt{\Class{scrbook}\and\Class{scrreprt}}Of course there is no command \Macro{chaptermark} or \Macro{chaptermarkformat} in \Class{scrartcl}. \OnlyAt{\Class{scrartcl}}Accordingly, @@ -3029,29 +2306,29 @@ Since chapters only exist in the classes \Class{scrbook} and \end{Explain} Similar to \Macro{chapterformat} and \Macro{othersectionlevelsformat}, the commands \Macro{chaptermarkformat} (not in \Class{scrartcl}), -\Macro{sectionmarkformat} and \Macro{subsectionmarkformat} (only in +\Macro{sectionmarkformat}, and \Macro{subsectionmarkformat} (only in \Class{scrartcl}) define the formatting of the sectioning numbers in -the automatic running headings. They can be adapted to your personal +the automatic running heads. They can be adapted to your personal needs with \Macro{renewcommand}. The original definitions for the {\KOMAScript} classes are: -\begin{lstlisting} +\begin{lstcode} \newcommand*{\chaptermarkformat}{% \chapappifchapterprefix{\ }\thechapter\autodot\enskip} \newcommand*{\sectionmarkformat}{\thesection\autodot\enskip} \newcommand*{\subsectionmarkformat}{% \thesubsection\autodot\enskip} -\end{lstlisting} +\end{lstcode} \begin{Example} Suppose you want to prepend the word ``Chapter'' to the chapter number in the running heading. For example you could insert the - following definition in the preamble of your document : -\begin{lstlisting} + following definition in the preamble of your document: +\begin{lstcode} \renewcommand*{\chaptermarkformat}{% \chapapp~\thechapter\autodot\enskip} -\end{lstlisting} +\end{lstcode} \end{Example} As you can see, both the commands \Macro{chapappifchapterprefix} and -\Macro{chapapp} explained above are used here. +\Macro{chapapp} explained above are used here.% % \EndIndex{Cmd}{chaptermark}% \EndIndex{Cmd}{sectionmark}% @@ -3066,14 +2343,14 @@ As you can see, both the commands \Macro{chapappifchapterprefix} and \end{Declaration}% \BeginIndex{Counter}{secnumdepth}\BeginIndex{}{numbering}% Per default, in the classes \Class{scrbook}\IndexClass{scrbook} and -\Class{scrreprt}\IndexClass{scrreprt} the section levels from +\Class{scrreprt}\IndexClass{scrreprt}, the section levels from \Macro{part}\IndexCmd{part}\IndexCmd{chapter}\IndexCmd{section} down -to \Macro{subsection}\IndexCmd{subsection} and in the class -\Class{scrartcl}\IndexClass{scrartcl} the levels from \Macro{part} +to \Macro{subsection}\IndexCmd{subsection}, and in the class +\Class{scrartcl}\IndexClass{scrartcl}, the levels from \Macro{part} down to \Macro{subsubsection}\IndexCmd{subsubsection} are numbered. This is controlled by the {\LaTeX} counter \Counter{secnumdepth}. The value \(-\)1 represents \Macro{part}, 0 the level \Macro{chapter}, -and so on. By defining, incrementing or decrementing this counter you +and so on. By defining, incrementing, or decrementing this counter, you can determine down to which level the headings are numbered. The same applies in the standard classes. Please refer also to the explanation concerning the counter \Counter{tocdepth} in @@ -3091,22 +2368,22 @@ concerning the counter \Counter{tocdepth} in \end{Declaration}% \BeginIndex{Cmd}{setpartpreamble}% \BeginIndex{Cmd}{setchapterpreamble}% -Parts\OnlyAt{\Class{scrbook}\and\Class{scrreprt}} and chapters in -{\KOMAScript} can be started with a \PName{preamble}. This is -particularly useful when you are using a two column layout with the -class option \Option{twocolumn}\IndexOption{twocolumn}, since the -heading together with the \PName{preamble} is always set in a one -column layout. The \PName{preamble} can comprise more than one -paragraph. The command to output the \PName{preamble} has to be placed -before the respective \Macro{part}, \Macro{addpart}, \Macro{chapter} -or \Macro{addchap} command. +Parts\OnlyAt{\Class{scrbook}\and + \Class{scrreprt}}\Index{part>preamble}\Index{chapter>preamble} and chapters +in {\KOMAScript} can be started with a \PName{preamble}. This is particularly +useful when you are using a two column layout with the class option +\Option{twocolumn}\IndexOption{twocolumn}, since the heading together with the +\PName{preamble} is always set in a one column layout. The \PName{preamble} +can comprise more than one paragraph. The command to output the +\PName{preamble} has to be placed before the respective \Macro{part}, +\Macro{addpart}, \Macro{chapter}, or \Macro{addchap} command. \begin{Example} You are writing a report about the condition of a company. You organize the report in such a way that every department gets its own partial report. Every one of these parts should be introduced by an abstract on the corresponding title page. You could write the following: -\begin{lstlisting} +\begin{lstcode} \setpartpreamble{% \begin{abstract} This is a filler text. It serves merely to demonstrate the @@ -3115,19 +2392,18 @@ or \Macro{addchap} command. \end{abstract} } \part{Department for Word Processing} -\end{lstlisting} -Depending on the settings for the heading font size\Index{heading} -(see \autoref{sec:maincls.fontOptions}, -\autopageref{desc:maincls.option.headings}) and the options for -the \Environment{abstract} environment\IndexEnv{abstract} (see -\autoref{sec:maincls.formattingOptions}, -\autopageref{desc:maincls.option.abstract}), the result would look -similar to: +\end{lstcode} + Depending on the settings for the heading font size\Index{heading} + (see \autopageref{desc:maincls.option.headings}) and the options for + the \Environment{abstract} environment\IndexEnv{abstract} (see + \autoref{sec:maincls.abstract}, + \autopageref{desc:maincls.option.abstract}), the result would look + similar to: \begin{ShowOutput}\centering {\LARGE\usekomafont{disposition} Part III.\par\vspace{20pt}} {\LARGE\usekomafont{disposition} Department for Word Processing\strut\par} \begin{quote}\small - \vspace{3ex} + \vspace{4ex} \begin{center} \usekomafont{disposition}\abstractname \end{center} @@ -3138,1038 +2414,349 @@ similar to: \end{quote} \end{ShowOutput} \end{Example} -Please note that it is \emph{you} who is responsible for the spaces -between the heading, preamble and the following text. Please note also -that there is no \Environment{abstract} environment in the class -\Class{scrbook} (see \autoref{sec:maincls.titles}, +Please\textnote{Attention!} note that it is \emph{you} who is responsible for +the spaces between the heading, preamble and the following text. Please note +also that there is no \Environment{abstract} environment in the class +\Class{scrbook} (see \autoref{sec:maincls.abstract}, \autopageref{desc:maincls.env.abstract}). The\ChangedAt{v2.8p}{\Class{scrbook}\and\Class{scrreprt}} first optional argument \PName{position} determines the position at which the preamble is placed with the help of one or two letters. For the vertical placement there are two possibilities at present: -\begin{description} -\item [\quad\texttt{o}:] above the heading -\item [\quad\texttt{u}:] below the heading -\end{description} +\begin{labeling}[~--]{\quad\PValue{o}}\itemsep=0pt +\item [\quad\texttt{o}] above the heading +\item [\quad\texttt{u}] below the heading +\end{labeling} You can insert one preamble above and another below a heading. For the horizontal placement you have the choice between three alignments: -\begin{description} -\item [\quad\texttt{l}:] left-aligned -\item [\quad\texttt{r}:] right-aligned -\item [\quad\texttt{c}:] centered -\end{description} +\begin{labeling}[~--]{\quad\PValue{o}}\itemsep=0pt +\item [\quad\texttt{l}] left-aligned +\item [\quad\texttt{r}] right-aligned +\item [\quad\texttt{c}] centered +\end{labeling} However, this does not output the text of the \PName{preamble} in such a manner, but inserts a box whose width is determined by the second optional argument \PName{width}. If you leave out this second argument the whole text width is used. In that case the option for horizontal positioning will have no effect. You can combine exactly one letter from the vertical with one letter from the horizontal positioning. -% -\EndIndex{Cmd}{setpartpreamble}% -\EndIndex{Cmd}{setchapterpreamble}% - - -\begin{Declaration} - \Macro{dictum}\OParameter{author}\Parameter{dictum}\\ - \Macro{dictumwidth}\\ - \Macro{dictumauthorformat}\Parameter{author}\\ - \Macro{raggeddictum}\\ - \Macro{raggeddictumtext}\\ - \Macro{raggeddictumauthor} -\end{Declaration}% -\BeginIndex{Cmd}{dictum}% -\BeginIndex{Cmd}{dictumwidth}% -\BeginIndex{Cmd}{dictumauthorformat}% -\BeginIndex{Cmd}{raggeddictum}% -\BeginIndex{Cmd}{raggeddictumtext}% -\BeginIndex{Cmd}{raggeddictumauthor}% -Apart\OnlyAt{\Class{scrbook}\and\Class{scrreprt}}% -\ChangedAt{v2.8q}{\Class{scrbook}\and\Class{scrreprt}} from an -introductory paragraph you can use \Macro{setpartpreamble} or -\Macro{setchapterpreamble} for a kind of -\PName{aphorism}\Index{aphorism} (also known as ``dictum'') at the -beginning of a chapter or section. The command \Macro{dictum} inserts -such an aphorism. This macro can be used as obligatory argument of -either the command \Macro{setchapterpreamble} or -\Macro{setpartpreamble}. However, this is not obligatory. - -The dictum together with an optional \PName{author} is inserted in a -\Macro{parbox}\IndexCmd{parbox} (see \cite{latex:usrguide}) of width -\Macro{dictumwidth}. Yet \Macro{dictumwidth} is not a length which can -be set with \Macro{setlength}. It is a macro that can be redefined -using \Macro{renewcommand}. Default setting is -\verb;0.3333\textwidth;, which is a third of the textwidth. The box -itself is positioned with the command \Macro{raggeddictum}. Default -here is \Macro{raggedleft}\IndexCmd{raggedleft}, that is, right -justified. The command \Macro{raggeddictum} can be redefined using -\Macro{renewcommand}. - -Within the box the \PName{dictum} is set using -\Macro{raggeddictumtext}. Default setting is -\Macro{raggedright}\IndexCmd{raggedright}, that is, left -justified. Similarly to \Macro{raggeddictum} this can be redefined -with \Macro{renewcommand}. The output uses the default font setting -for the element \FontElement{dictumtext}, which can be changed with -the commands from \autoref{sec:maincls.font}. Default settings are -listed in \autoref{tab:maincls.dictumfont}. - -If there is an \PName{author} name, it is separated from the -\PName{dictum} by a line the full width of the \Macro{parbox}. This is -defined by the macro \Macro{raggeddictumauthor}. Default is -\Macro{raggedleft}. This command can also be redefined using -\Macro{renewcommand}. The format of the output is defined with -\Macro{dictumauthorformat}. This macro expects the \Macro{author} as -argument. As default \Macro{dictumauthorformat} is defined as: -\begin{lstlisting} - \newcommand*{\dictumauthorformat}[1]{(#1)} -\end{lstlisting} -Thus the \PName{author} is set enclosed in rounded parenthesis. For -the element \FontElement{dictumauthor} a different font than for the -element \FontElement{dictumtext} can be defined. Default settings are -listed in \autoref{tab:maincls.dictumfont}. Changes can be made using -the commands from \autoref{sec:maincls.font}. -% -\begin{table} - \centering% - \caption{Default settings for the elements of a dictum} - \begin{tabular}{ll} - \toprule - Element & Default \\ - \midrule - \FontElement{dictumtext} & - \Macro{normalfont}\Macro{normalcolor}\Macro{sffamily}\Macro{small}\\ - \FontElement{dictumauthor} & - \Macro{itshape}\\ - \bottomrule - \end{tabular} - \label{tab:maincls.dictumfont} -\end{table} -% -If \Macro{dictum} is used within the macro \Macro{setchapterpreamble} -or \Macro{setpartpreamble} you have to take care of the following: 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. \Macro{textwidth} is -not the width of the whole text corpus but the actually used text -width. If \Macro{dictumwidth} is set to \verb;.5\textwidth; and -\Macro{setchapterpreamble} has an optional width of -\verb;.5\textwidth; too, you will get a box with a width one quarter -of the text width. Therefore, if you use \Macro{dictum} it is -recommended to refrain from setting the optional width for -\Macro{setchapterpreamble} or \Macro{setpartpreamble}. - -If you have more than one dictum one under another, you should -separate them by an additional vertical space, easily accomplished -using the command \Macro{bigskip}\IndexCmd{bigskip}. - -\begin{Example} - You are writing a chapter on an aspect of weather forecasting. You - have come across an aphorism which you would like to place at the - beginning of the chapter beneath the heading. You could write: -\begin{lstlisting} - \setchapterpreamble[u]{% - \dictum[Anonymous]{Forecasting is the art of saying - what is going to happen and then to explain - why it didn't.}} - \chapter{Weather forecasting} -\end{lstlisting} - The output would look as follows: - \begin{ShowOutput} - {\usekomafont{disposition}\usekomafont{chapter}% - 17\enskip Weather forecasting\par} \vspace{\baselineskip} - \dictum[Anonymous]{Forecasting is the art of saying what is going to - happen and then to explain why it didn't.} - \end{ShowOutput} - - If you would rather the dictum span only a quarter of the text width - rather than one third you can redefine \Macro{dictumwidth}: -\begin{lstlisting} - \renewcommand*{\dictumwidth}{.25\textwidth} -\end{lstlisting} -\end{Example} - -For a somewhat more sophisticated formatting of left- or right-aligned -paragraphs including hyphenation you can use the -package~\Package{ragged2e}~\cite{package:ragged2e}. -\EndIndex{Cmd}{dictum}% -\EndIndex{Cmd}{dictumwidth}% -\EndIndex{Cmd}{dictumauthorformat}% -\EndIndex{Cmd}{raggeddictum}% -\EndIndex{Cmd}{raggeddictumtext}% -\EndIndex{Cmd}{raggeddictumauthor}% - - -\subsection{Footnotes} -\label{sec:maincls.footnotes} - -Footnotes are not limited to the main part of the document. However, -since footnotes\Index{footnotes} are mainly used in the main text they -are covered in this section. - -\begin{Declaration} - \Macro{footnote}\OParameter{number}\Parameter{text}\\ - \Macro{footnotemark}\OParameter{number}\\ - \Macro{footnotetext}\OParameter{number}\Parameter{text} -\end{Declaration}% -\BeginIndex{Cmd}{footnote}% -\BeginIndex{Cmd}{footnotemark}% -\BeginIndex{Cmd}{footnotetext}% -Similarly to the standard classes, footnotes in {\KOMAScript} are -produced with the \Macro{footnote} command, or alternatively the -pairwise usage of the commands \Macro{footnotemark} and -\Macro{footnotetext}. As in the standard classes it is possible that -a page break occurs within a footnote. Normally this happens if the -footnote mark is placed so near the bottom of a page as to leave -{\LaTeX} no choice but to break the footnote onto the next page. -% -\EndIndex{Cmd}{footnote}% -\EndIndex{Cmd}{footnotemark}% -\EndIndex{Cmd}{footnotetext}% - -\begin{Declaration} - \Macro{deffootnote}\OParameter{mark width}\Parameter{indent}% - \Parameter{parindent}\Parameter{definition}\\ - \Macro{deffootnotemark}\Parameter{definition}\\ - \Macro{thefootnotemark}\\ - \Macro{textsuperscript}\Parameter{text} -\end{Declaration}% -\BeginIndex{Cmd}{deffootnote}% -\BeginIndex{Cmd}{deffootnotemark}% -\BeginIndex{Cmd}{thefootnotemark}% -\BeginIndex{Cmd}{textsuperscript}% -Footnotes are formatted slightly differently in {\KOMAScript} to in -the standard classes. As in the standard classes the footnote mark in -the text is depicted using a small superscripted number. The same -formatting is used in the footnote itself. The mark in the footnote is -type-set right-aligned in a box with width \PName{mark width}. The -first line of the footnote follows directly. - -All following lines will be indented by the length of -\PName{indent}. If the optional parameter \PName{mark width} is not -specified, it defaults to \PName{indent}. If the footnote consists of -more than one paragraph, then the first line of a paragraph is -indented, in addition to \PName{indent}, by the value of -\PName{parindent}. -\begin{figure} -\centering\setlength{\unitlength}{1mm} -\begin{picture}(100,22) - \thinlines - % frame of following paragraph - \put(5,0){\line(1,0){90}} - \put(5,0){\line(0,1){5}} - \put(10,5){\line(0,1){5}}\put(5,5){\line(1,0){5}} - \put(95,0){\line(0,1){10}} - \put(10,10){\line(1,0){85}} - % frame of first paragraph - \put(5,11){\line(1,0){90}} - \put(5,11){\line(0,1){5}} - \put(15,16){\line(0,1){5}}\put(5,16){\line(1,0){10}} - \put(95,11){\line(0,1){10}} - \put(15,21){\line(1,0){80}} - % box of the footnote mark - \put(0,16.5){\framebox(14.5,4.5){\mbox{}}} - % description of paragraphs - \put(45,16){\makebox(0,0)[l]{\textsf{first paragraph of a footnote}}} - \put(45,5){\makebox(0,0)[l]{\textsf{next paragraph of a footnote}}} - % help lines - \thicklines - \multiput(0,0)(0,3){7}{\line(0,1){2}} - \multiput(5,0)(0,3){3}{\line(0,1){2}} - % parameters - \put(2,7){\vector(1,0){3}} - \put(5,7){\line(1,0){5}} - \put(15,7){\vector(-1,0){5}} - \put(15,7){\makebox(0,0)[l]{\small\PName{parindent}}} - % - \put(-3,13){\vector(1,0){3}} - \put(0,13){\line(1,0){5}} - \put(10,13){\vector(-1,0){5}} - \put(10,13){\makebox(0,0)[l]{\small\PName{indent}}} - % - \put(-3,19){\vector(1,0){3}} - \put(0,19){\line(1,0){14.5}} - \put(19.5,19){\vector(-1,0){5}} - \put(19.5,19){\makebox(0,0)[l]{\small\PName{mark width}}} -\end{picture} -\caption{Parameters that control the footnote layout} -\label{fig:maincls.deffootnote} -\end{figure} - -Figure \ref{fig:maincls.deffootnote} illustrates the layout parameters -once more. The default configuration of {\KOMAScript} is: -\begin{lstlisting} - \deffootnote[1em]{1.5em}{1em} - {\textsuperscript{\thefootnotemark}} -\end{lstlisting} -\Macro{textsuperscript} controls both the superscript and the smaller -font size. \Macro{thefootnotemark} is the current footnote mark -without any formatting. - -The\ChangedAt{v2.8q}{% - \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} font -element \FontElement{footnote}\IndexFontElement{footnote} determines -the font of the footnote including the footnote mark. Using the -element \FontElement{footnotelabel}\IndexFontElement{footnotelabel} -the font of the footnote mark can be changed separately with the -commands mentioned in \autoref{sec:maincls.font} Please refer also to -\autoref{tab:maincls.elementsWithoutText}, -\autopageref{tab:maincls.elementsWithoutText}. Default setting is no -change in the font. - -The footnote mark in the text is defined separately from the mark in -front of the actual footnote. This is done with -\Macro{deffootnotemark}. Default setting is: -\begin{lstlisting} - \deffootnotemark{% - \textsuperscript{\thefootnotemark}} -\end{lstlisting} -In the above\ChangedAt{v2.8q}{% - \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} the font -for the element -\FontElement{footnotereference}\IndexFontElement{footnotereference} is -applied (see \autoref{tab:maincls.elementsWithoutText}, -\autopageref{tab:maincls.elementsWithoutText}). Thus the footnote -marks in the text and in the footnote itself are identical. The font -can be changed with the commands described in -\autoref{sec:maincls.font}. +A more often usage of \Macro{setchapterpreamble} would be something like a +smart slogan or dictum to a heading. The command +\Macro{dictum}\IndexCmd{dictum}, that may be used for this, will be described +at the next section. You will also find an example there. -\begin{Example} - A feature often asked for is footnote marks which are neither in - superscript nor in a smaller font size. They should not touch the - footnote text but be separated by a small space. This can be - accomplished as follows: -\begin{lstlisting} - \deffootnote{1em}{1em}{\thefootnotemark\ } -\end{lstlisting} -The footnote mark and the following space are therefore set -right-aligned into a box of width 1\Unit{em}. The following lines of -the footnote text are also indented by 1\Unit{em} from the left -margin. - -Another often requested footnote layout is left-aligned footnote -marks. These can be obtained with: -\begin{lstlisting} - \deffootnote{1.5em}{1em}{% - \makebox[1.5em][l]{\thefootnotemark}} -\end{lstlisting} - -If you want however only to change the font for all footnotes, for -example to sans serif, you can solve this problem simply by using the -commands from \autoref{sec:maincls.fontOptions}: -\begin{lstlisting} - \setkomafont{footnote}{\sffamily} -\end{lstlisting} -\end{Example} -As demonstrated with the examples above, the simple user interface of -{\KOMAScript} provides a great variety of different footnote -formattings. +Please note\textnote{Attention!} that a \PName{preamble} placed above +the chapter headings will be set into the already existing vertical +space above the heading. The heading will not be moved down. It is +you who is responsible for ensuring that the preamble is small enough and the +space is sufficient. See also \Macro{chapterheadstartvskip} in +\autoref{sec:maincls-experts.experts}, +\autopageref{desc:maincls-experts.cmd.chapterheadstartvskip} for +this.% % -\EndIndex{Cmd}{deffootnote}% -\EndIndex{Cmd}{deffootnotemark}% -\EndIndex{Cmd}{thefootnotemark}% -\EndIndex{Cmd}{textsuperscript}% - - -\subsection{Lists} -\label{sec:maincls.lists} \BeginIndex[indexother]{}{lists} +\EndIndex{Cmd}{setpartpreamble}% +\EndIndex{Cmd}{setchapterpreamble}% -Both {\LaTeX} and the standard classes offer different environments -for lists. Though slightly changed or extended all these list are of -course offered in {\KOMAScript} as well. In general all -lists\,---\,even of different kind\,---\,can be nested up to four -levels. From a typographical view, anything more would make no sense, -as more than three levels can no longer be easily perceived. The -recommended procedure in such a case is to split the large list into -several smaller ones. -\begin{Declaration} - \Environment{itemize}\\ - \Macro{item}\\ - \Macro{labelitemi}\\ - \Macro{labelitemii}\\ - \Macro{labelitemiii}\\ - \Macro{labelitemiv} -\end{Declaration}% -\BeginIndex{Env}{itemize}% -\BeginIndex{Cmd}{item}% -\BeginIndex{Cmd}{labelitemi}% -\BeginIndex{Cmd}{labelitemii}% -\BeginIndex{Cmd}{labelitemiii}% -\BeginIndex{Cmd}{labelitemiv}% -The simplest form of a list is an \Environment{itemize} list. The -users of a certain disliked word processing package often refer to -this form of a list as \emph{bulletpoints}. Presumably, these users -are unable to envisage that, depending on the level, a different -symbol from a large dot could be used to introduce each -point. Depending on the level, {\KOMAScript} uses the following marks: -``{\labelitemi}'', ``{\labelitemii}'', ``{\labelitemiii}'' and -``{\labelitemiv}''. The definition of these symbols is specified in -the macros \Macro{labelitemi}, \Macro{labelitemii}, -\Macro{labelitemiii} and \Macro{labelitemiv}, all of which can be -redefined using \Macro{renewcommand}. Every item is introduced with -\Macro{item}. -\begin{Example} - You have a simple list which is nested in several levels. You write - for example: -\begin{lstlisting} - \minisec{Vehicles} - \begin{itemize} - \item aeroplanes - \begin{itemize} - \item biplane - \item jets - \item transport planes - \begin{itemize} - \item single-engined - \begin{itemize} - \item jet-driven - \item propeller-driven - \end{itemize} - \item multi-engined - \end{itemize} - \item helicopters - \end{itemize} - \item automobiles - \begin{itemize} - \item racing cars - \item private cars - \item lorries - \end{itemize} - \item bicycles - \end{itemize} -\end{lstlisting} - As output you get: - \begin{ShowOutput}[\baselineskip] - \minisec{Vehicles} - \begin{itemize} - \item aeroplanes - \begin{itemize} - \item biplanes - \item jets - \item transport planes - \begin{itemize} - \item single-engined - \begin{itemize} - \item jet-driven - \item propeller-driven - \end{itemize} - \item multi-engined - \end{itemize} - \item helicopters - \end{itemize} -%% wahrsheinlich Platzfiller in Deutscher Ausgabe? -% \item motorcycles -% \begin{itemize} -% \item historically accurate -% \item futuristic, not real -% \end{itemize} - \item automobiles - \begin{itemize} - \item racing cars - \item private cars - \item lorries - \end{itemize} - \item bicycles - \end{itemize} - \end{ShowOutput} -\end{Example} -% -\EndIndex{Env}{itemize}% -\EndIndex{Cmd}{item}% -\EndIndex{Cmd}{labelitemi}% -\EndIndex{Cmd}{labelitemii}% -\EndIndex{Cmd}{labelitemiii}% -\EndIndex{Cmd}{labelitemiv}% +\LoadCommon{15}% \section{Dicta} +\LoadCommon{12}% \section{Lists} -\begin{Declaration} - \Environment{enumerate}\\ - \XMacro{item}\\ - \Macro{theenumi}\\ - \Macro{theenumii}\\ - \Macro{theenumiii}\\ - \Macro{theenumiv}\\ - \Macro{labelenumi}\\ - \Macro{labelenumii}\\ - \Macro{labelenumiii}\\ - \Macro{labelenumiv} -\end{Declaration}% -\BeginIndex{Env}{enumerate}% -\BeginIndex{Cmd}{item}% -\BeginIndex{Cmd}{theenumi}% -\BeginIndex{Cmd}{theenumii}% -\BeginIndex{Cmd}{theenumiii}% -\BeginIndex{Cmd}{theenumiv}% -\BeginIndex{Cmd}{labelenumi}% -\BeginIndex{Cmd}{labelenumii}% -\BeginIndex{Cmd}{labelenumiii}% -\BeginIndex{Cmd}{labelenumiv}% -Another form of a list often used is a numbered list which is already -implemented by the {\LaTeX} kernel. Depending on the level, the -numbering\Index{numbering} uses the following characters: Arabic -numbers, small letters, small roman numerals and capital letters. The -kind of numbering is defined with the macros \Macro{theenumi} down to -\Macro{theenumiv}. The output format is determined by the macros -\Macro{labelenumi} to \Macro{labelenumiv}. While the small letter of -the second level is followed by a round parenthesis, the values of all -other levels are followed by a dot. Every item is introduced with -\Macro{item}. -\begin{Example} - Replacing every occurrence of an \Environment{itemize} environment - with an \Environment{enumerate} environment in the example above we - get the following result: - \begin{ShowOutput}[\baselineskip] - \minisec{Vehicles} - \begin{enumerate} - \item aeroplanes - \begin{enumerate} - \item biplanes - \item jets - \item transport planes - \begin{enumerate} - \item single-engined - \begin{enumerate} - \item jet-driven\label{xmp:maincls.jets} - \item propeller-driven - \end{enumerate} - \item multi-engined - \end{enumerate} - \item helicopters - \end{enumerate} -%% wahrsheinlich Platzfiller in Deutscher Ausgabe? -% \item motorcycles -% \begin{enumerate} -% \item historically accurate -% \item futuristic, not real -% \end{enumerate} - \item automobiles - \begin{enumerate} - \item racing cars - \item private cars - \item lorries - \end{enumerate} - \item bicycles - \end{enumerate} - \end{ShowOutput} - Using \Macro{label} within a list you can set labels which are - referenced with \Macro{ref}. In the example above, a label was set - after the jet-driven, single-engined transport planes with - \Macro{label}\PParameter{xmp:jets}. The \Macro{ref} value is then - \ref{xmp:maincls.jets}. -\end{Example} -% -\EndIndex{Env}{enumerate}% -\EndIndex{Cmd}{item}% -\EndIndex{Cmd}{theenumi}% -\EndIndex{Cmd}{theenumii}% -\EndIndex{Cmd}{theenumiii}% -\EndIndex{Cmd}{theenumiv}% -\EndIndex{Cmd}{labelenumi}% -\EndIndex{Cmd}{labelenumii}% -\EndIndex{Cmd}{labelenumiii}% -\EndIndex{Cmd}{labelenumiv}% +\section{Math} +\label{sec:maincls.math}% +\BeginIndex{}{equations}% +\BeginIndex{}{formulas}% +\BeginIndex{}{mathematics}% -\begin{Declaration} - \Environment{description}\\ - \XMacro{item}\OParameter{item} -\end{Declaration}% -\BeginIndex{Env}{description}% -\BeginIndex{Cmd}{item}% -A further list form is the description list. Its main use is the -description of several items. The item itself is an optional parameter -in \Macro{item}. The font\Index{font}\ChangedAt{v2.8p}{% - \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}}% -which is responsible for emphasizing the item can be changed with the -commands for the element -\FontElement{descriptionlabel}\IndexFontElement{descriptionlabel} (see -\autoref{tab:maincls.elementsWithoutText}, -\autopageref{tab:maincls.elementsWithoutText}) described in -\autoref{sec:maincls.font}. Default setting is -\Macro{sffamily}\Macro{bfseries}. -\begin{Example} - Instead of items in sans serif and bold you want them printed in the - standard font in bold. Using -\begin{lstlisting} - \setkomafont{descriptionlabel}{\normalfont\bfseries} -\end{lstlisting} - you redefine the font accordingly. - - An example for a description list is the output of the page styles - listed in \autoref{sec:maincls.pageStyle}. The heavily - abbreviated source code is: -\begin{lstlisting} - \begin{description} - \item[empty] is the page style without any header or footer. - \item[plain] is the page style without headings. - \item[headings] is the page style with running headings. - \item[myheadings] is the page style for manual headings. - \end{description} -\end{lstlisting} - This abbreviated version gives: - \begin{ShowOutput} - \begin{description} - \item[empty] is the page style without any header or footer. - \item[plain] is the page style without headings. - \item[headings] is the page style with running headings. - \item[myheadings] is the page style for manual headings. - \end{description} - \end{ShowOutput} -\end{Example} -% -\EndIndex{Env}{description}% -\EndIndex{Cmd}{item}% +There are no math environments implemented in the \KOMAScript{} +classes. Instead of this, the math features of the \LaTeX{} kernel have been +supported. With this also, the options \Option{leqno} and \Option{fleqn} are +available. +You won't find a description of the math environments of the \LaTeX{} kernel +here. If you want to use \Environment{displaymath}\IndexEnv{displaymath}, +\Environment{equation}\IndexEnv{equation}, and +\Environment{eqnarray}\IndexEnv{eqnarray} you should read a short introduction +into \LaTeX{} like \cite{lshort}. But\textnote{Hint!} if you want more than +very simple mathematics, usage of package \Package{amsmath} would be +recommended (see \cite{package:amsmath}). \begin{Declaration} - \Environment{labeling}\OParameter{delimiter}\Parameter{widest pattern}\\ - \XMacro{item}\OParameter{keyword} + \Option{leqno} \end{Declaration}% -\BeginIndex{Env}{labeling}% -\BeginIndex{Cmd}{item}% -An additional form of a description list is only available in the -{\KOMAScript} classes: the \Environment{labeling} environment. Unlike the -\Environment{description} environment, you can provide a pattern whose length -determines the indentation of all items. Furthermore, you can put an optional -\PName{delimiter} between the item and its description. The -font\Index{font}\ChangedAt{v3.01}{% - \Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}\and - \Package{scrextend}}% -which is responsible for emphasizing the item and the separator can be changed -with the commands for the element -\FontElement{labelinglabel}\IndexFontElement{labelinglabel} and -\FontElement{labelingseparator}\IndexFontElement{labelingseparator} (see -\autoref{tab:maincls.elementsWithoutText}, -\autopageref{tab:maincls.elementsWithoutText}) described in -\autoref{sec:maincls.font}. -\begin{Example} - Slightly changing the example from the \Environment{description} - environment, we could write: -\begin{lstlisting} - \setkomafont{labelinglabel}{\ttfamily} - \setkomafont{labelingseparator}{\normalfont} - \begin{labeling}[~--]{myheadings} - \item[empty] - Page style without header and footer - \item[plain] - Page style for chapter beginnings without headings - \item[headings] - Page style for running headings - \item[myheadings] - Page style for manual headings - \end{labeling} -\end{lstlisting} - As result we get: - \begin{ShowOutput} - \setkomafont{labelinglabel}{\ttfamily} - \setkomafont{labelingseparator}{\normalfont} - \begin{labeling}[~--]{myheadings} - \item[empty] - Page style without header and footer - \item[plain] - Page style for chapter beginnings without headings - \item[headings] - Page style for running headings - \item[myheadings] - Page style for manual headings - \end{labeling} - \end{ShowOutput} - As can be seen in this example, a font changing command may be set in the - usual way. But if you don't want the font of the separator be changed in the - same way like the font of the label, you have to set the font of the - separator different. -\end{Example} -Originally this environment was implemented for things like -``Precondition, Assertion, Proof'', or ``Given, Required, Solution'' -that are often used in lecture hand-outs. By now this environment has -found many different applications. For example, the environment for -examples in this guide was defined with the \Environment{labeling} -environment. +\BeginIndex{Option}{leqno}% +Equations are normally numbered\Index{equation>number} on the right. The +standard option \Option{leqno} causes the standard option file +\File{leqno.clo} to be loaded. The equations are then numbered on the +left. This\textnote{Attention!} option has to be used as an optional argument +of \Macro{documentclass}. Usage as an argument of \Macro{KOMAoptions} or +\Macro{KOMAoption} is not supported. This wouldn't make sense, because the +recommended math package \Package{amsmath} supports the option at loading +time only too and would not react on run-time changes of the option. % -\EndIndex{Env}{labeling}% -\EndIndex{Cmd}{item}% - +\EndIndex{Option}{leqno}% \begin{Declaration} - \Environment{verse} + \Option{fleqn} \end{Declaration}% -\BeginIndex{Env}{verse}% -Usually the \Environment{verse} environment is not perceived as a list -environment because you do not work with \Macro{item} -commands. Instead, fixed line breaks are used within the -\Environment{flushleft} environment. Yet internally in both the -standard classes as well as {\KOMAScript} it is indeed a list -environment. - -In general the \Environment{verse} environment is used for -poems\Index{poems}. Lines are indented both left and -right. Individual lines of verse are ended by a fixed line break -\verb|\\|. Verses are set as paragraphs, separated by an empty -line. Often also \Macro{medskip}\IndexCmd{medskip} or -\Macro{bigskip}\IndexCmd{bigskip} is used instead. To avoid a page -break at the end of a line of verse you as usual insert \verb|\\*| -instead of \verb|\\|. -\begin{Example} - As an example, the first lines of ``Little Red Riding Hood and the - Wolf'' by Roald Dahl: -\begin{lstlisting} - \begin{verse} - As soon as Wolf began to feel\\* - that he would like a decent meal,\\* - He went and knocked on Grandma's door.\\* - When Grandma opened it, she saw\\* - The sharp white teeth, the horrid grin,\\* - And Wolfie said, 'May I come in?' - \end{verse} -\end{lstlisting} - The result is as follows: - \begin{ShowOutput} - \begin{verse} - As soon as Wolf began to feel\\* - That he would like a decent meal,\\* - He went and knocked on Grandma's door.\\* - When Grandma opened it, she saw\\* - The sharp white teeth, the horrid grin,\\* - And Wolfie said, 'May I come in?' - \end{verse} - \end{ShowOutput} - However, if you have very long lines of verse, for instance: -\begin{lstlisting} - \begin{verse} - Both the philosopher and the house-owner - have always something to repair.\\ - \bigskip - Don't trust a man, my son, who tells you - that he has never lied. - \end{verse} -\end{lstlisting} -where a line break occurs within a line of verse: -\begin{ShowOutput} - \begin{verse} - Both the philosopher and the house-owner - have always something to repair.\\ - \bigskip - Don't trust a man, my son, who tells you - that he has never lied. - \end{verse} -\end{ShowOutput} -there \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: -\begin{lstlisting} - \begin{verse} - Both the philosopher and the house-owner\nopagebreak - have always something to repair.\\ - \bigskip - Don't trust a man, my son, who tells you\nopagebreak - that he has never lied. - \end{verse} -\end{lstlisting} - -In the above example, \Macro{bigskip} was used to separate the lines -of verse. -\end{Example} +\BeginIndex{Option}{fleqn}% +Displayed equations\Index{equation>alignment} are normally centered. The +standard option \Option{fleqn} causes the standard option file +\File{fleqn.clo} to be loaded. Displayed equations are then +left-justified. This option may be used as an optional argument of +\Macro{documentclass} but not as an argument of \Macro{KOMAoptions} or +\Macro{KOMAoption}. The latter wouldn't make sense, because the recommended +math package \Package{amsmath} supports the option at loading time only too +and would not react on run-time changes of the option. % -\EndIndex{Env}{verse}% - - -\begin{Declaration} - \Environment{quote}\\ - \Environment{quotation} -\end{Declaration}% -\BeginIndex{Env}{quote}% -\BeginIndex{Env}{quotation}% -These two environments are also list environments and can be found -both in the standard and the {\KOMAScript} classes. Both environments -use justified text which is indented both on the left and right side. -Usually they are used to separate long citations\Index{citations} from -the main text. The difference between these two lies in the manner in -which paragraphs are typeset. While \Environment{quote} paragraphs are -highlighted by vertical space, in \Environment{quotation} paragraphs -the first line is indented. This is also true for the first line of a -\Environment{quotation} environment. To prevent indentation you have -to insert a \Macro{noindent} command\IndexCmd{noindent} before the -text. -\begin{Example} - You want to highlight a short anecdote. You write the following - \Environment{quotation} environment for this: - % -\begin{lstlisting} - A small example for a short anecdote: - \begin{quotation} - The old year was turning brown; the West Wind was - calling; - - Tom caught the beechen leaf in the forest falling. - ``I've caught the happy day blown me by the breezes! - Why wait till morrow-year? I'll take it when me pleases. - This I'll mend my boat and journey as it chances - west down the withy-stream, following my fancies!'' - - Little Bird sat on twig. ``Whillo, Tom! I heed you. - I've a guess, I've a guess where your fancies lead you. - Shall I go, shall I go, bring him word to meet you?'' - \end{quotation} -\end{lstlisting} - The result is: - \begin{ShowOutput} - A small example for a short anecdote: - \begin{quotation} - The old year was turning brown; the West Wind was - calling; - - Tom caught the beechen leaf in the forest falling. - ``I've caught the happy day blown me by the breezes! - Why wait till morrow-year? I'll take it when me pleases. - This I'll mend my boat and journey as it chances - west down the withy-stream, following my fancies!'' - - Little Bird sat on twig. ``Whillo, Tom! I heed you. - I've a guess, I've a guess where your fancies lead you. - Shall I go, shall I go, bring him word to meet you?'' - \end{quotation} - \end{ShowOutput} - % - Using a \Environment{quote} environment instead you get: - % - \begin{ShowOutput} - A small example for a short anecdote: - \begin{quote}\setlength{\parskip}{4pt plus 2pt minus 2pt} - The old year was turning brown; the West Wind was - calling; - - Tom caught the beechen leaf in the forest falling. - ``I've caught the happy day blown me by the breezes! - Why wait till morrow-year? I'll take it when me pleases. - This I'll mend my boat and journey as it chances - west down the withy-stream, following my fancies!'' - - Little Bird sat on twig. ``Whillo, Tom! I heed you. - I've a guess, I've a guess where your fancies lead you. - Shall I go, shall I go, bring him word to meet you?'' - \end{quote} - \end{ShowOutput} - % -\end{Example} +\EndIndex{Option}{fleqn}% % -\EndIndex{Env}{quote}% -\EndIndex{Env}{quotation}% +\EndIndex{}{mathematics}% +\EndIndex{}{formulas}% +\EndIndex{}{equations}% +\section{Floating Environments of Tables and Figures} +\label{sec:maincls.floats} +\BeginIndex{}{floats}% +\BeginIndex{}{tables}% +\BeginIndex{}{figures}% + +With the floating environments, {\LaTeX} offers a very capable and comfortable +mechanism for automatic placement of figures\Index{figure} and +tables\Index{table}. +% Im Deutschen ist hier ein Absatz, den wir nicht uebernehmen! +But\textnote{Attention!} often these floating environments\Index[indexmain] +{floating environments} are slightly misunderstood by beginners. They often +ask for a fixed position of a table or figure within the text. However, since +these floating environments are being referenced in the text this is not +necessary in most cases. It is also not sensible because such an object can +only be set on the page if there is enough space left for it. If this is not +the case the object would have to be shifted onto the next page, thereby +possibly leaving a huge blank space on the page before. + +Often\textnote{Attention!} one finds in a document for every floating object +the same optional argument for positioning the object. This also makes no +sense. In such cases one should rather change the standard parameter +globally. For more details refer to \cite{DANTE:FAQ}. + +One\textnote{Attention!} last important note before starting this section: +most mechanisms described here which extend the capabilities of the standard +classes no longer work correctly when used together with packages which modify +the typesetting of captions of figures and tables. This should be self +evident, but it is often not understood. \begin{Declaration} - \Environment{addmargin}\OParameter{left indentation}\Parameter{indentation}\\ - \Environment{addmargin*}\OParameter{inner indentation}\Parameter{indentation} + \KOption{captions}\PName{selection} \end{Declaration} -\BeginIndex{Env}{addmargin}% -Similar to \Environment{quote} and \Environment{quotation}, the -\Environment{addmargin} environment changes the margin\Index{margin}. -In contrast to the first two environments, with -\Environment{addmargin} the user can set the width of the -indentation. Besides this, this environment does not change the -indentation of the first line nor the vertical spacing between -paragraphs. - -If only the obligatory argument \PName{indentation} is given, both the -left and right margin are expanded by this value. If the optional -argument \PName{left indentation} is given as well, then at the left -margin the value \PName{left indentation} is used instead of -\PName{indentation}. - -The starred \Environment{addmargin*} only differs from the normal -version in a two-sided layout. Furthermore, the difference only occurs -if the optional argument \PName{inner indentation} is used. In this -case this value \PName{inner indentation} is added to the normal inner -indentation. For right-hand pages this is the left margin, for -left-hand pages the right margin. Then the value of -\PName{indentation} determines the width of the opposite margin. - -Both versions of this environment take also negative values for all -parameters. This has the effect of expanding the environment into the -margin. -\begin{Example} - Suppose you write a documentation which includes short source code - examples. To highlight these you want them separated from the text - by a horizontal line and shifted slightly into the outer - margin. First you define the environment: -\begin{lstlisting} - \newenvironment{SourceCodeFrame}{% - \begin{addmargin*}[1em]{-1em}% - \begin{minipage}{\linewidth}% - \rule{\linewidth}{2pt}% - }{% - \rule[.25\baselineskip]{\linewidth}{2pt}% - \end{minipage}% - \end{addmargin*}% - } -\end{lstlisting} - If you now put your source code in such an environment it will show - up as: - \begin{ShowOutput} - \newenvironment{SourceCodeFrame}{% - \begin{addmargin*}[1em]{-1em}% - \begin{minipage}{\linewidth}% - \rule{\linewidth}{2pt}% +\BeginIndex{Option}{captions~=\PName{selection}}% +The standard classes format titles of floating environments, which are placed +with \Macro{caption}\IndexCmd{caption} (see below), like signatures. They +differentiate between one-line and multi-line table or figure +captions. One-line captions are centered while multi-line captions are +left-justified. + +\leavevmode\phantomsection\nobreak +\label{desc:maincls.option.captions.tableheading}\nobreak +For tables, however, headings are often used. That's because there may +be tables that span several pages. Surely the reader wants to know the +purpose of the table at the first page already. Furthermore tables +will be read row by row from top down to bottom. So there are at least +two good reasons to generally use table +headings. \KOMAScript{}\important{\OptionValue{captions}{tableheading}} +therefor supports option \OptionValue{captions}{tableheading}% +\IndexOption{captions~=\PValue{tableheading}}, which changes the +caption format into headings at tables only. + +Please note\textnote{Attention!} that multi-page tabulars may not use any +floating environment. To have an automatic page break at any kind of tabular you +also need additional packages like \Package{longtable}\IndexPackage{longtable} +(see \cite{package:longtable}) or \Package{tabu}\IndexPackage{tabu} (see +\cite{package:tabu}). + +You may switch back\important[i]{\begin{tabular}[t]{@{}l@{}} + \Option{captions=}\\ + \quad\PValue{tablesignature} + \end{tabular}} to the default table signatures using +\OptionValue{captions}{tablesignature}% +\IndexOption{captions~=\PValue{tablesignature}}. +Note\textnote{Attention!} that using any of these options does not change the position of +the caption from above the top of the table to below the bottom of the +table or vice versa. It only affects whether the text is formatted as +a caption for use above or below a table. Whether the text is in fact +placed above or below a table is set through the position of the +\Macro{caption} command inside the \Environment{table} environment. This may +change using package \Package{float}\IndexPackage{float} and command +\Macro{restylefloats} (see \cite{package:float}). + +Of course similar features exist\ChangedAt{v3.09}{\Class{scrbook}\and + \Class{scrreprt}\and \Class{scrartcl}} for figures using options +\OptionValue{captions}{figureheading}% +\IndexOption{captions~=\PValue{figureheading}} and +\OptionValue{captions}{figuresignature}% +\IndexOption{captions~=\PValue{figuresignature}}. Nevertheless, +figures like photos will be viewed as a whole, and a diagram or graph +will mostly be examined from left bottom to the right. Therefore, in +general, signatures should be used and it wouldn't be useful to change +the caption format from signatures to headings. + +Nevertheless sometimes all floating environments shall use headings. For this +\KOMAScript{} supports\ChangedAt{v3.09}{\Class{scrbook}\and + \Class{scrreprt}\and \Class{scrartcl}} +options\important[i]{\OptionValue{captions}{heading}\\ + \OptionValue{captions}{signature}} +\OptionValue{captions}{heading}\IndexOption{captions~=\PValue{heading}} and +\OptionValue{captions}{signature}\IndexOption{captions~=\PValue{signature}} to +switch the format of every floating environment. These options may be used +also inside a floating environment but before using \Macro{caption}. + +Note\textnote{Attention!}\OnlyAt{\Package{float}}\IndexPackage{float} that +when using the \Package{float} package, the options +\OptionValue{captions}{tablesignature} and +\OptionValue{captions}{tableheading} cease to act correctly when +\Macro{restylefloat} is applied to tables. More details of the \Package{float} +package and \Macro{restylefloat} can be found in +\cite{package:float}. Additional support in {\KOMAScript} for the +\Package{float} package may be found at the explanation of \PValue{komaabove} +(see \autopageref{desc:maincls.floatstyle.komaabove}). + +\leavevmode\phantomsection\nobreak +\label{desc:maincls.option.captions.nooneline}\nobreak +\label{desc:maincls.option.captions.oneline}\nobreak +Furthermore, \KOMAScript{} supports to switch off the distinguish of captions +with only one line or more than one line using option +\OptionValue{captions}{nooneline}\IndexOption{captions~=\PValue{nooneline}}% +\important{\OptionValue{captions}{nooneline}}. This may be useful, if one-line +captions shouldn't be centered. The default of centering one-line captions +corresponds to \OptionValue{captions}{oneline}. + +Another special feature of \KOMAScript{} is to alternatively put the caption +neither above nor below the floating object but beside +it. For this you need Environment\important{\Environment{captionbeside}} +\Environment{captionsbeside}\IndexEnv{captionbeside}, that will be described +from \autopageref{desc:maincls.env.captionbeside}. Several settings +for this environment may be done also using \Option{caption}. You may find all +the available \PName{settings} at \autoref{tab:maincls.captions}. +% +\begin{desclist} + \desccaption[{Available values for option \Option{captions}}]{% + Available values for option \Option{captions} to select formation of + captions as headings or signatures at floating environments% + \label{tab:maincls.captions}% }{% - \rule[.25\baselineskip]{\linewidth}{2pt}% - \end{minipage}% - \end{addmargin*}% - } - You define yourself the following environment: - \begin{SourceCodeFrame} -\begin{lstlisting} -\newenvironment{\SourceCodeFrame}{% - \begin{addmargin*}[1em]{-1em}% - \begin{minipage}{\linewidth}% - \rule{\linewidth}{2pt}% -}{% - \rule[.25\baselineskip]{\linewidth}{2pt}% - \end{minipage}% - \end{addmargin*}% -} -\end{lstlisting} - \end{SourceCodeFrame} - This may be feasible or not. In any case it shows the usage of this - environment. - \end{ShowOutput} - The optional argument of the \Environment{addmargin*} environment - makes sure that the inner margin is extended by 1\Unit{em}. In turn - the outer margin is decreased by 1\Unit{em}. The result is a shift - by 1\Unit{em} to the outside. Instead of \PValue{1em} you can of - course use a length, for example, \PValue{2\Macro{parindent}}. -\end{Example} -There is one problem with the \Environment{addmargin*} which you -should be aware of. If a page break occurs within an -\Environment{addmargin*} environment, the indentation on the following -page will be on the wrong side. This means that suddenly the -\PName{inner indentation} is applied on the outside of the -page. Therefore it is recommended to prevent page breaks within this -environment. This can be achieved by using an additional -\Macro{parbox} or, as in the example above, a -\Environment{minipage}. This makes use of the fact that neither the -argument of a \Macro{parbox} nor the content of a -\Environment{minipage} breaks at the end of a page. Unfortunately -this is not without another disadvantage: in some cases pages can no -longer be filled correctly, which has the effect of generating several -warnings. - -Incidentally, whether a page is going to be on the left or right side -of the book can not be determined for certain in the first {\LaTeX} -run. For details please refer to the explanation of the commands -\Macro{ifthispageodd} and \Macro{ifthispagewasodd} in -\autoref{sec:maincls.pageStyle}, -\autopageref{desc:maincls.cmd.ifthispageodd}. -% -\EndIndex{Env}{addmargin}% - - -\begin{Explain} - One concluding remark on list environments: on the internet and - during support it is often asked why such an environment is followed - by a indented\Index{indentation} paragraph. In fact, this is not the - case but is the result of the user demanding a new paragraph. In - {\LaTeX} empty lines are interpreted as a new paragraph. This is - also the case before and after list environments. Thus, if you want - a list environment to be set within a paragraph you have to omit - empty lines before and after. To nevertheless separate the - environment from the rest of your text in the {\LaTeX} source file, - you can insert a comment line before and after, that is, lines which - begin with a percent character and contain nothing more. -\end{Explain} -\EndIndex[indexother]{}{lists} - -\subsection{Margin Notes} -\label{sec:maincls.marginNotes} - -\begin{Declaration} - \Macro{marginpar}\OParameter{margin note left}\Parameter{margin note}\\ - \Macro{marginline}\Parameter{margin note} -\end{Declaration}% -\BeginIndex{Cmd}{marginpar}% -\BeginIndex{Cmd}{marginline}% -Usually margin notes\Index[indexmain]{margin>notes} in {\LaTeX} are -inserted with the command \Macro{marginpar}. They are placed in the -outer margin. In documents with one-sided layout the right border is -used. Though \Macro{marginpar} can take an optional different margin -note argument in case the output is in the left margin, margin notes -are always set in justified layout. However, experience has shown -that many users prefer left- or right-aligned margin notes instead. -To facilitate this, {\KOMAScript} offers the command -\Macro{marginline}. -\begin{Example} - In the introduction, the class name \Class{scrartcl} can be found in - the margin. This can be produced\footnote{In fact, instead of - \Macro{texttt}, a semantic highlighting was used. To avoid - confusion this was replaced in the example.} with: -\begin{lstlisting} - \marginline{\texttt{scrartcl}} -\end{lstlisting} - -Instead of \Macro{marginline} you could have used -\Macro{marginpar}. In fact the first command is implemented internally -as: -\begin{lstlisting} - \marginpar[\raggedleft\texttt{scrartcl}] - {\raggedright\texttt{scrartcl}} -\end{lstlisting} -Thus \Macro{marginline} is really only an abbreviated writing of the -code above. -\end{Example} -% -\begin{Explain} - Unfortunately \Macro{marginpar} does not always work correctly in - two-sided\Index{twoside} layout. Whether a margin note will end up - in the left or right margin is already decided while evaluating the - command \Macro{marginpar}. If the output routine now shifts the - margin note onto the next page the formatting is no longer - correct. This behaviour is deeply rooted within {\LaTeX} and was - therefore declared a feature by the {\LaTeX}3 team. \Macro{marginline} - suffers from this ``feature'' too. The package - \Package{mparhack}\IndexPackage{mparhack} (see - \cite{package:mparhack}) offers a standard solution for this problem - which naturally benefits also \Macro{marginpar} and - \Macro{marginline}. - - Note that you may not use \Macro{marginpar} or \Macro{marginline} - within float environments such as tables or figures. Also, these - commands will not function in displayed math formulas. -\end{Explain} + Available values for option \Option{captions} (\emph{continuation})% + }% + \entry{\PValue{bottombeside}, \PValue{besidebottom}}{% + Captions and contents of environment \Environment{captionsbeside} (see + \autoref{sec:maincls.floats}, + \autopageref{desc:maincls.env.captionbeside}) will be vertically align + depending on the bottommost base lines.% + \IndexOption{captions~=\PValue{bottombeside}}}% + \entry{\PValue{centeredbeside}, \PValue{besidecentered}, + \PValue{middlebeside}, \PValue{besidemiddle}}{% + Captions and contents of environment \Environment{captionsbeside} (see + \autoref{sec:maincls.floats}, + \autopageref{desc:maincls.env.captionbeside}) will be vertically centered% + \IndexOption{captions~=\PValue{centeredbeside}}}% + \entry{\PValue{figureheading}, \PValue{figureabove}, \PValue{abovefigure}, + \PValue{topatfigure}% + \IndexOption{captions~=\PValue{figureheading}}}{% + \ChangedAt{v3.09}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}}% + Captions of figures will use heading formation\,---\,maybe in discrepancy + to \OptionValue{captions}{signature}.% + }% + \entry{\PValue{figuresignature}, \PValue{belowfigure}, + \PValue{bottomatfiggure}% + \IndexOption{captions~=\PValue{figuresignature}}}{% + \ChangedAt{v3.09}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}}% + Captions of figures will use signature formation\,---\,maybe in + discrepancy to \OptionValue{captions}{headings}.% + }% + \entry{\PValue{heading}, \PValue{above}, \PValue{top}% + \IndexOption{captions~=\PValue{heading}}}{% + \ChangedAt{v3.09}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} Captions of floating environments will use heading + formation. Nevertheless this does not influence whether they are really + placed at the top or at the bottom of the object. This options also + implies \OptionValue{captions}{tableheading} and + \OptionValue{captions}{figureheading}.% + }% + \entry{\PValue{innerbeside}, + \PValue{besideinner}\IndexOption{captions~=\PValue{innerbeside}}}{% + Captions of environment \Environment{captionsbeside} (siehe + \autoref{sec:maincls.floats}, + \autopageref{desc:maincls.env.captionbeside}) + will be placed innermost beside the contents of the environment at + double-side printing. At single-side printing + \OptionValue{captions}{leftbeside} will be used.% + }% + \entry{\PValue{leftbeside}, + \PValue{besideleft}\IndexOption{captions~=\PValue{leftbeside}}}{% + Captions of environment \Environment{captionsbeside} (siehe + \autoref{sec:maincls.floats}, + \autopageref{desc:maincls.env.captionbeside}) will be placed left beside + the contents of the environment.% + }% + \pventry{nooneline}{% + Captions with only one line will not be handled different from captions + with more than one line.% + \IndexOption{captions~=\PValue{nooneline}}}% + \pventry{oneline}{% + Captions with only one line will be centered horizontally.% + \IndexOption{captions~=\PValue{oneline}}}% + \entry{\PValue{outerbeside}, \PValue{besideouter}% + \IndexOption{captions~=\PValue{outerbeside}}}{% + Captions of environment \Environment{captionsbeside} (siehe + \autoref{sec:maincls.floats}, + \autopageref{desc:maincls.env.captionbeside}) + will be placed outermost beside the contents of the environment at + double-side printing. At single-side printing + \OptionValue{captions}{rightbeside} will be used.% + }% + \entry{\PValue{rightbeside}, \PValue{besideright}% + \IndexOption{captions~=\PValue{rightbeside}}}{% + Captions of environment \Environment{captionsbeside} (siehe + \autoref{sec:maincls.floats}, + \autopageref{desc:maincls.env.captionbeside}) will be placed right beside + the contents of the environment.% + }% + \entry{\PValue{signature}, \PValue{below}, \PValue{bot}, \PValue{bottom}% + \IndexOption{captions~=\PValue{signature}}}{% + \ChangedAt{v3.09}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}}% + Captions of floating environments will use signature + formation. Nevertheless this does not influence whether they are really + placed at the top or at the bottom of the object. This options also + implies \OptionValue{captions}{tablesignature} and + \OptionValue{captions}{figuresignature}.% + }% + \entry{\PValue{tableheading}, \PValue{tableabove}, \PValue{abovetable}, + \PValue{abovetabular}, \PValue{topattable}% + \IndexOption{captions~=\PValue{tableheading}}}{% + Captions of tables will use heading formation\,---\,maybe in discrepancy + to \OptionValue{captions}{signature}.% + }% + \entry{\PValue{tablesignature}, \PValue{belowtable}, \PValue{belowtabular}, + \PValue{bottomattable}% + \IndexOption{captions~=\PValue{tablesignature}}}{% + Captions of tables will use signature formation\,---\,maybe in discrepancy + to \OptionValue{captions}{heading}.% + }% + \entry{\PValue{topbeside}, \PValue{besidetop}}{% + Captions and contents of environment \Environment{captionsbeside} (see + \autoref{sec:maincls.floats}, + \autopageref{desc:maincls.env.captionbeside}) will be vertically align + depending on the topmost base lines.% + \IndexOption{captions~=\PValue{topbeside}}}% +\end{desclist}% % -\EndIndex{Cmd}{marginpar}% -\EndIndex{Cmd}{marginline}% - - -\subsection{Tables and Figures} -\label{sec:maincls.floats} - -\begin{Explain} - With the floating environments {\LaTeX} offers a very capable and - comfortable mechanism for automatic placement of - figures\Index{figure} and tables\Index{table}. But often these - floating environments\Index[indexmain] {floating environments} are - slightly misunderstood by beginners. They often ask for a fixed - position of a table or figure within the text. However, since these - floating environments are being referenced in the text this is not - necessary in most cases. It is also not sensible because such an - object can only be set on the page if there is enough space left for - it. If this is not the case the object would have to be shifted onto - the next page, thereby possibly leaving a huge blank space on the - page before. - - Often one finds in a document for every floating object the same - optional argument for positioning the object. This also makes no - sense. In such cases one should rather change the standard parameter - globally. For more details refer to \cite{DANTE:FAQ}.\par -\end{Explain} +\EndIndex{Option}{captions~=\PName{selection}}% -One last important note before starting this section: most mechanisms -described here which extend the capabilities of the standard classes -no longer work correctly when used together with packages which modify -the typesetting of captions of figures and tables. This should be self -evident, but it is often not understood. \begin{Declaration} \Macro{caption}\OParameter{entry}\Parameter{title}\\ @@ -4184,25 +2771,32 @@ figures is inserted with the \Macro{caption} command below the table or figure. In general this is correct for figures. Opinions differ as to whether captions of tables are to be placed above or, consistent with captions of figures\Index{caption>of figure}, below the -table\Index{caption>of table}. That is the reason why {\KOMAScript}, +table\Index{caption>of table}. That is the reason why +{\KOMAScript}\textnote{\KOMAScript{} vs. standard classes}, unlike the standard classes, offers \Macro{captionbelow} for captions below and \Macro{captionabove} for captions above tables or -figures. Using \Macro{caption} for figures always produces captions -below the figure, whereas with tables the behaviour of \Macro{caption} -can be modified using the options -\OptionValue{captions}{tableheading} and -\OptionValue{captions}{tablesignature} (see -\autoref{sec:maincls.formattingOptions}, -\autopageref{desc:maincls.option.captions.tableheading}). For +figures. + +Not only for tables but also for figures or all kind of floating environments +the behaviour of \Macro{caption} may be modified using option +\Option{captions}\IndexOption{captions} described at the beginning of this +section. For compatibility reasons the default behaviour of \Macro{caption} used -with tables is similar to \Macro{captionbelow}. +with all kinds of floating environments is similar to +\Macro{captionbelow}. Nevertheless it +is recommended\textnote{Hint!} to use table headings and therefor switch +behaviour of \Macro{caption} inside table environments into +\Macro{captionabove} using option +\OptionValue{captions}{tableheading}. Alternatively you may use +\Macro{captionabove} instead of \Macro{caption} inside of every +\Environment{table} environment. % \begin{Example} Instead of using captions below a table you want to place your captions above it\Index{table>caption}, because you have tables which span more then one page. In the standard classes you could only write: -\begin{lstlisting} +\begin{lstcode} \begin{table} \caption{This is an example table} \begin{tabular}{llll} @@ -4211,7 +2805,7 @@ with tables is similar to \Macro{captionbelow}. This & is & an & example. \end{tabular} \end{table} -\end{lstlisting} +\end{lstcode} Then you would get the unsatisfying result: \begin{ShowOutput}\centering {\usekomafont{caption}{\usekomafont{captionlabel}\tablename~30.2:} @@ -4223,7 +2817,7 @@ with tables is similar to \Macro{captionbelow}. \end{tabular} \end{ShowOutput} Using {\KOMAScript} you write instead: -\begin{lstlisting} +\begin{lstcode} \begin{table} \captionabove{This is just an example table} \begin{tabular}{llll} @@ -4232,7 +2826,7 @@ with tables is similar to \Macro{captionbelow}. This & is & an & example. \end{tabular} \end{table} -\end{lstlisting} +\end{lstcode} Then you get: \begin{ShowOutput}\centering {\usekomafont{caption}{\usekomafont{captionlabel}\tablename~30.2:} @@ -4245,62 +2839,214 @@ with tables is similar to \Macro{captionbelow}. \end{ShowOutput} Since you want all your tables typeset with captions above, you could of course use the option \OptionValue{captions}{tableheading} instead (see - \autoref{sec:maincls.formattingOptions}, \autopageref{desc:maincls.option.captions.tableheading}). Then you can use \Macro{caption} as you would in the standard classes. You will get the same result as with \Macro{captionabove}. \end{Example} -\begin{Explain} - Some would argue that you could achieve the same result using the - \Macro{topcaption} command from the \Package{topcapt} - package\IndexPackage{topcapt} (see \cite{package:topcapt}). However, - that is not the case. The command \Macro{topcaption} is ignored by - packages which directly redefine the \Macro{caption} macro. The - \Package{hyperref} package (see \cite{package:hyperref}) is one such - example. In {\KOMAScript}, \Macro{captionabove} and - \Macro{captionbelow} are so implemented that changes have an effect - on both of these commands as well. - - \phantomsection\label{desc:maincls.cmd.caption.longtable}% - If the \Package{longtable} package\IndexPackage{longtable} is used, - {\KOMAScript} ensures that captions above tables which are placed - within a \Environment{longtable} environment have the same - appearance as those in a normal \Environment{table} - environment. This also means that you can apply the same settings as - in a \Environment{table} environment. Please note that in the - \Package{longtable} package the maximum width of a table caption can - be limited and the default is set to 4\Unit{in} (see - \cite{package:longtable}). Used together with {\KOMAScript} this - mechanism in \Package{longtable} works only if the class option - \Option{origlongtable} is set (see - \autoref{sec:maincls.formattingOptions}, - \autopageref{desc:maincls.option.origlongtable}). If the - \Package{caption2}\IndexPackage{caption2} or - \Package{caption}\IndexPackage{caption} package (see - \cite{package:caption}) is loaded, table captions are handled by - this package. - - Please note that \Macro{captionabove} and \Macro{captionbelow}, if - placed within a \Environment{float} environment which was defined - using the \Package{float}\IndexPackage{float} package, have the - exact same behaviour described in \cite{package:float} for the - \Macro{caption} command. In this case, the float style determines - whether the caption will be set below or above the figure or table. -\end{Explain} - +\BeginIndex[indexother]{}{font>style}% +\BeginIndex{FontElement}{caption}% +\BeginIndex{FontElement}{captionlabel}% +The font style\ChangedAt{v2.8p}{% + \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} for the +description and the label\,---\,``Figure'' or ``Table'', followed by +the number and the delimiter\,---\,can be changed with the commands +\Macro{setkomafont} +and \Macro{addtokomafont} (see \autoref{sec:maincls.textmarkup}, +\autopageref{desc:maincls.cmd.setkomafont}). The respective elements for +this are \FontElement{caption}\important{\FontElement{caption}} and +\FontElement{captionlabel}\important{\FontElement{captionlabel}} (see +\autoref{tab:maincls.elementsWithoutText}, +\autopageref{tab:maincls.elementsWithoutText}). First the font style +for the element \FontElement{caption} is applied to the element +\FontElement{captionlabel} too. After this the font style of +\FontElement{captionlabel} is applied on the respective element. The +default settings are listed in \autoref{tab:maincls.captionFont}. +% +\begin{table} +% \centering% + \KOMAoptions{captions=topbeside}% + \setcapindent{0pt} +% \caption + \begin{captionbeside} + {Font defaults for the elements of figure or table captions} + [l] + \begin{tabular}[t]{ll} + \toprule + element & default \\ + \midrule + \FontElement{caption} & \Macro{normalfont} \\ + \FontElement{captionlabel} & \Macro{normalfont}\\ + \bottomrule + \end{tabular} + \end{captionbeside} + \label{tab:maincls.captionFont} +\end{table} +% +\begin{Example} + You want the table and figure descriptions typeset in a smaller font + size. Thus you could write the following in the preamble of your + document: +\begin{lstcode} + \addtokomafont{caption}{\small} +\end{lstcode} + Furthermore, you would like the labels to be printed in sans serif and + bold. You add: +\begin{lstcode} + \setkomafont{captionlabel}{\sffamily\bfseries} +\end{lstcode} + As you can see, simple extensions of the default definitions are + possible. +\end{Example} +% +\EndIndex{FontElement}{captionlabel}% +\EndIndex{FontElement}{caption}% +\EndIndex[indexother]{}{font>style}% +% +\EndIndex{Cmd}{caption}% +\EndIndex{Cmd}{captionabove}% +\EndIndex{Cmd}{captionbelow}% \begin{Declaration} - \Environment{captionbeside}\OParameter{entry}% - \Parameter{title}\OParameter{placement}\OParameter{width}% + \Macro{captionof}\Parameter{float type}\OParameter{entry}% + \Parameter{title}\\ + \Macro{captionbelowof}\Parameter{float type}\OParameter{entry}% + \Parameter{title}\\ + \Macro{captionaboveof}\Parameter{float type}\OParameter{entry}% + \Parameter{title} +\end{Declaration}% +\BeginIndex{Cmd}{captionof}% +\BeginIndex{Cmd}{captionaboveof}% +\BeginIndex{Cmd}{captionbelowof}% +\KOMAScript{} supports a command +\Macro{captionof}\ChangedAt{v3.05}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} similar to packages +\Package{caption}\IndexPackage{caption} and +\Package{capt-of}\IndexPackage{capt-of}. You may use this command to place a +floating environment caption with corresponding entry into the list of that +kind of floating environment but even inside a another floating environment or +outside any floating environment. In difference to \Macro{caption} the kind of +floating environment has to be set as first parameter. + +Furthermore, \KOMAScript{} provides the additional commands +\Macro{captionaboveof}\ChangedAt{v3.09}{\Class{scrbook}\and + \Class{scrreprt}\and \Class{scrartcl}} and \Macro{captionbelowof}. These are +like \Macro{captionabove} and \Macro{captionbelow} but with the additional +features and parameter of \Macro{captionof}. + +Of course \KOMAScript\ChangedAt{v3.09a}{\Class{scrbook}\and + \Class{scrreprt}\and \Class{scrartcl}} takes care of the \PValue{heading} +and \PValue{signature} setting of option +\Option{captions}. But this feature may be lost, loading package +\Package{capt-of} or \Package{caption}. Please note the manual of package +\Package{caption} for this! +% +\begin{Example} + Assumed you want to create a floating object with a table and a figure side + by side. As you know, there are now mixed floating environment. Therefor you + use a \Environment{figure} environment primarily: +\begin{lstcode} + \begin{figure} + \begin{minipage}{.5\linewidth} + \centering + \rule{4cm}{3cm} + \caption{A rectangle}\label{fig:rechteck} + \end{minipage}% + \begin{minipage}{.5\linewidth} + \centering + \captionaboveof{table} + [Measure of the rectangle in + figure~\ref{fig:rechteck}]% + {Measure of the rectangle} + \label{tab:rechteck} + \begin{tabular}{ll} + Width: & 4\,cm\\ + Height: & 3\,cm + \end{tabular} + \end{minipage} + \end{figure} +\end{lstcode} + Two \Environment{minipage} environments have been used to have figure and + table side by side. The\textnote{Attention!} percent char after the end of + the first \Environment{minipage} is important. Without an additional + inter-word distance would be made between the \Environment{minipage} + environments. + + The figure signature has been done using \Macro{caption}. The table heading + has been done using \Macro{captionaboveof} with first argument + \PValue{table}. Because of this \KOMAScript{} knows, that despite the + \Environment{figure} environment a table caption should be made. + + The optional argument of \Macro{captionaboveof} does make the entry into the + list of tables. Without the optional argument, the last mandatory argument + would have been used for the list of tables too. Although this caption text + is sufficient for the environment itself, it would be very useful at the + list of tables. Therefor a somehow more detailed description has been used + for the list of tables using the optional argument. The + \autoref{fig:maincls.captionaboveof} shows the result of the example code.% +\begin{figure} +% \centering +% \caption + \KOMAoptions{captions=bottombeside}% + \setcapindent{0pt}% + \begin{captionbeside} + [{Example: Usage of \Macro{captionaboveof} inside another floating + environment}] + {Example: Usage of \Macro{captionaboveof} inside another floating + environment\label{fig:maincls.captionaboveof}} + [l] + \begin{minipage}[b]{.66\linewidth}% + \raisebox{\depth}{\fbox{\KOMAoptions{captions=oneline}% + \begin{minipage}{.5\dimexpr\linewidth-2\fboxsep-2\fboxrule\relax} + \centering + \rule{4cm}{3cm} + \caption[Example: A rectangle]{A rectangle}\label{fig:maincls.rechteck} + \end{minipage}% + \begin{minipage}{.5\dimexpr\linewidth-2\fboxsep-2\fboxrule\relax} + \centering + \captionaboveof{table}[Example: Measure of the rectangle in + figure~\ref{fig:maincls.rechteck}]{Rectangle size} + \label{tab:maincls.rechteck} + \begin{tabular}{ll} + Width: & 4\,cm\\ + Height: & 3\,cm + \end{tabular} + \end{minipage}}}% + \end{minipage}% + \end{captionbeside}% +\end{figure}% +\end{Example}% +A non-floating table with a caption may be produced in the same kind like the +table inside a figure environment in the example above. In such a case also a +\Environment{minipage} environment should be used, to avoid page breaks +between table caption an tabular. An additional \Environment{flushleft} +environment around the \Environment{minipage} environment may be used, to have +a pleasing distance above and below is and to avoid the paragraph indentation +of the \Environment{minipage} environment.% +% +\EndIndex{Cmd}{captionof}% +\EndIndex{Cmd}{captionaboveof}% +\EndIndex{Cmd}{captionbelowof}% + +\begin{Declaration} + \XMacro{begin}\PParameter{\Environment{captionbeside}}% + \OParameter{entry}\Parameter{title}\texttt{\%}\\ + \hphantom{\XMacro{begin}\PParameter{captionbeside}}% + \OParameter{placement}\OParameter{width}% \OParameter{offset}\\% - \XEnvironment{captionbeside}\OParameter{entry}% - \Parameter{title}\OParameter{placement}\OParameter{width}% - \OParameter{offset}\PValue{*} + \quad\dots\\ + \XMacro{end}\PParameter{captionbeside}\\ + \XMacro{begin}\PParameter{captionbeside}\OParameter{entry}% + \Parameter{title}\texttt{\%}\\ + \hphantom{\XMacro{begin}\PParameter{captionbeside}}% + \OParameter{placement}\OParameter{width}% + \OParameter{offset}\PValue{*}\\ + \quad\dots\\ + \XMacro{end}\PParameter{captionbeside} \end{Declaration} \BeginIndex{Env}{captionbeside}% Apart\ChangedAt{v2.8q}{% - \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} from + \Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}} from captions above and below the figure, one often finds captions, in particular with small figures, which are placed beside the figure. In general in this case both the baseline of the figure and of the @@ -4317,15 +3063,24 @@ environment in this case. Whether the caption text \PName{title} is placed on the left or the right can be determined by the parameter \PName{placement}. Exactly one of the following letters is allowed: -\begin{labeling}[--~]{\PValue[o]} +\begin{labeling}[~--]{\quad\PValue{o}}\setlength{\itemsep}{0pt}% \item[\PValue{l}] left \item[\PValue{r}] right \item[\PValue{i}] inner margin in two-sided layout \item[\PValue{o}] outer margin in two-sided layout \end{labeling} -Default setting is to the right of the content of the environment. If -either \PValue{o} or \PValue{i} are used you may need to run {\LaTeX} -twice to obtain the correct placement. +Default setting is to the right of the content of the environment. This +default\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} my be changed using option +\Option{captions}\IndexOption{captions}\important{\Option{captions}} (see +\autopageref{desc:maincls.option.captions}) with values like +\PValue{innerbeside}\IndexOption[indexmain]{captions~=\PValue{innerbeside}}, +\PValue{leftbeside}\IndexOption[indexmain]{captions~=\PValue{leftbeside}}, +\PValue{outerbeside}\IndexOption[indexmain]{captions~=\PValue{outerbeside}}, +and +\PValue{rightbeside}\IndexOption[indexmain]{captions~=\PValue{rightbeside}}. +If either \PValue{o} or \PValue{i} are used you may need to run {\LaTeX} twice +to obtain the correct placement. Per default the content of the environment and the caption text \PName{title} fill the entire available text width. However, using the @@ -4347,24 +3102,46 @@ the inner margin. An \PName{offset} of 0\Unit{pt} means alignment with the inner margin. As mentioned before, in some cases it takes two {\LaTeX} runs for this to work correctly. +The default vertical alignment is bottom. This means that the bottommost base +lines of the contents of the environment and of the caption are aligned. This +setting\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} may be changed using option +\Option{captions}\IndexOption{captions} (see +\autopageref{desc:maincls.option.captions}) with value +\PValue{topbeside}\IndexOption[indexmain]{captions~=\PValue{topbeside}}, +\PValue{centeredbeside}% +\IndexOption[indexmain]{captions~=\PValue{centeredbeside}}, or +\PValue{bottombeside}\IndexOption[indexmain]{captions~=\PValue{bottombeside}}. With +setting \PValue{topbeside} the topmost base lines of the environment contents +and caption will be aligned. With \PValue{centeredbeside} they will be +centered vertically. In this context it should be known, that the base line of +a pictures is mostly at the bottom of the picture. This may be changed, +e.\,g., using \Macro{raisebox}\IndexCmd{raisebox}. + \begin{Example} An example for the usage of the \Environment{captionbeside} environment can be found in \autoref{fig:maincls.captionbeside}. This figure was typeset with: -\begin{lstlisting} +\begin{lstcode} \begin{figure} - \begin{captionbeside}[Example for a figure description]% + \begin{captionbeside}[Example: Figure beside description]% {A figure description which is neither above nor - below, but beside the figure}[i][\linewidth][2em]* + below, but beside the figure}[i][\linewidth][% + [i][\linewidth][% + \dimexpr\marginparwidth+\marginparsep\relax]* \fbox{% - \parbox[b][5\baselineskip][c]{.25\textwidth}{% - \hspace*{\fill}\KOMAScript\hspace*{\fill}\par}} + \parbox[b][5\baselineskip][c]{.25\textwidth} + {% + \hspace*{\fill}\KOMAScript + \hspace*{\fill}\par + }% + } \end{captionbeside} \label{fig:maincls.captionbeside} \end{figure} -\end{lstlisting} +\end{lstcode} \begin{figure} - \begin{captionbeside}[Example for a figure description]% + \begin{captionbeside}[Example: Figure beside description]% {A figure description which is neither above nor below, but beside the figure}[i][\linewidth][2em]* \fbox{% @@ -4378,89 +3155,128 @@ the inner margin. As mentioned before, in some cases it takes two \PValue{2em} to the outside. The caption text or description is placed on the inner side beside the figure. The figure itself is shifted 2\Unit{em} into the outer margin. + + With \Macro{dimexp} a \eTeX{} command has been used. This shouldn't be a + problem at all, because \KOMAScript{} itself needs \eTeX{} and every almost + up-to-date \LaTeX{} distribution uses \eTeX already. + + \hyperref[fig:maincls.captionbesidecentered]% + {Figure~\ref*{fig:maincls.captionbesidecentered}} + shows a centered caption with: +\begin{lstcode} + \KOMAoption{captions}{centeredbeside} +\end{lstcode} + Even if you are not a typographer you may see, that this is not a + recommended suggestion. + + \begin{figure} + \begin{captionbeside}[Example: Description centered beside figure]% + {A figure description which is neither above nor + below, but centered beside the figure}[i][\linewidth][2em]* + \fbox{% + \parbox[b][5\baselineskip][c]{.25\textwidth}{% + \hspace*{\fill}\KOMAScript\hspace*{\fill}\par}} + \end{captionbeside} + \label{fig:maincls.captionbesidecentered} + \end{figure} + + In opposite to the centered example, the top aligned from + \autoref{fig:maincls.captionbesidetop} may be used. To show how to change + the baseline using \Macro{raisebox}, the complete example code follows: +\begin{lstcode} + \documentclass[captions=topbeside]{scrbook} + \usepackage[english]{babel} + \usepackage{graphics} + \begin{document} + \chapter{An Example} + \begin{figure} + \begin{captionbeside}% + [Example: Figure title top beside]% + {A figure description which is neither above nor + below, but top beside the figure}% + [i][\linewidth][% + \dimexpr\marginparwidth+\marginparsep\relax + ]* + \raisebox{% + \dimexpr\baselineskip-\totalheight\relax + }{% + \includegraphics{examplepicture}% + }% + \end{captionbeside} + \label{fig:maincls.captionbesidetop} + \end{figure} + \end{document} +\end{lstcode} + \begin{figure} + \KOMAoption{captions}{topbeside} + \begin{captionbeside}[Example: Figure title top beside]% + {A figure description which is neither above nor + below, but top beside the figure}% + [i][\linewidth] + \raisebox{\dimexpr\baselineskip-\totalheight}{% + \fbox{% + \parbox[b][5\baselineskip][c]{.25\textwidth}{% + \hspace*{\fill}\KOMAScript\hspace*{\fill}\par}}% + }% + \end{captionbeside} + \label{fig:maincls.captionbesidetop} + \end{figure} + You may use such a movement not only at graphics replacements like show, but + also using \Macro{includegraphics} (see \cite{package:graphics}). \end{Example} % \EndIndex{Env}{captionbeside} - -\BeginIndex[indexother]{}{font>style} -The font style\ChangedAt{v2.8p}{% - \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} for the -description and the label\,---\,``Figure'' or ``Table'', followed by -the number and the delimiter\,---\,can be changed with the commands -described in \autoref{sec:maincls.font}. The respective elements for -this are \FontElement{caption}\IndexFontElement{caption} and -\FontElement{captionlabel}\IndexFontElement{captionlabel} (see -\autoref{tab:maincls.elementsWithoutText}, -\autopageref{tab:maincls.elementsWithoutText}). First the font style -for the element \FontElement{caption} is applied to the element -\FontElement{captionlabel} too. After this the font style of -\FontElement{captionlabel} is applied on the respective element. The -default settings are listed in \autoref{tab:maincls.captionFont}. -% -\begin{table} - \centering% - \caption{Font defaults for the elements of figure or table captions} - \begin{tabular}{ll} - \toprule - element & default \\ - \midrule - \FontElement{caption} & \Macro{normalfont} \\ - \FontElement{captionlabel} & \Macro{normalfont}\\ - \bottomrule - \end{tabular} - \label{tab:maincls.captionFont} -\end{table} -% -\begin{Example} - You want the table and figure descriptions typeset in a smaller font - size. Thus you could write the following in the preamble of your - document: -\begin{lstlisting} - \addtokomafont{caption}{\small} -\end{lstlisting} - Furthermore, you would like the labels to be printed in sans serif and - bold. You add: -\begin{lstlisting} - \setkomafont{captionlabel}{\sffamily\bfseries} -\end{lstlisting} - As you can see, simple extensions of the default definitions are - possible. -\end{Example} -\EndIndex[indexother]{}{font>style} +\begin{Declaration} + \XMacro{begin}\PParameter{\Environment{captionofbeside}}% + \Parameter{float type}% + \OParameter{entry}\Parameter{title}\texttt{\%}\\ + \hphantom{\XMacro{begin}\PParameter{captionofbeside}}% + \OParameter{placement}\OParameter{width}% + \OParameter{offset}\\% + \quad\dots\\ + \XMacro{end}\PParameter{captionofbeside}\\ + \XMacro{begin}\PParameter{captionofbeside}\Parameter{float type}% + \OParameter{entry}% + \Parameter{title}\texttt{\%}\\ + \hphantom{\XMacro{begin}\PParameter{captionofbeside}}% + \OParameter{placement}\OParameter{width}% + \OParameter{offset}\PValue{*}\\ + \quad\dots\\ + \XMacro{end}\PParameter{captionofbeside} +\end{Declaration} +\BeginIndex{Env}{captionofbeside}% +This\ChangedAt{v3.10}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} environment corresponds to \Environment{captionbeside} +in the same manner like \Macro{captionof} corresponds to +\Macro{caption}. The float type is not defined by a floating environment but +by the first mandatory argument.% % -\EndIndex{Cmd}{caption}% -\EndIndex{Cmd}{captionabove}% -\EndIndex{Cmd}{captionbelow}% +\EndIndex{Env}{captionofbeside}% -\begin{Explain} \begin{Declaration} \FloatStyle{komaabove}\\ \FloatStyle{komabelow} \end{Declaration}% \BeginIndex{Floatstyle}{komaabove}% \BeginIndex{Floatstyle}{komabelow}% -If you use\OnlyAt{\Package{float}} the -\Package{float}\IndexPackage{float} package the appearance of the -float environments is solely defined by the \emph{float} style. This -includes whether captions above or below are used. In the -\Package{float} package there is no predefined style which gives you -the same output and offers the same setting options (see below) as -{\KOMAScript}. Therefore {\KOMAScript} defines the two additional -styles \PValue{komaabove} and \PValue{komabelow}. When using the -\Package{float} package these styles can be activated just like the -styles \PValue{plain}\IndexFloatstyle{plain}, -\PValue{boxed}\IndexFloatstyle{boxed} or -\PValue{ruled}\IndexFloatstyle{ruled} defined in \Package{float}. For -details refer to \cite{package:float}. The style \PValue{komaabove} -inserts \Macro{caption}, \Macro{captionabove} and \Macro{captionbelow} -above, whereas \PValue{komabelow} inserts them below the float -content. +If you use\OnlyAt{\Package{float}} the \Package{float}\IndexPackage{float} +package the appearance of the float environments is solely defined by the +\emph{float} style. This includes whether captions above or below are used. In +the \Package{float} package there is no predefined style which gives you the +same output and offers the same setting options (see below) as {\KOMAScript}. +Therefore {\KOMAScript} defines the two additional styles \PValue{komaabove} +and \PValue{komabelow}. When using the \Package{float} package these styles +can be activated just like the styles \PValue{plain}\IndexFloatstyle{plain}, +\PValue{boxed}\IndexFloatstyle{boxed} or \PValue{ruled}\IndexFloatstyle{ruled} +defined in \Package{float}. For details refer to \cite{package:float}. The +style \PValue{komaabove} inserts \Macro{caption}, \Macro{captionabove} and +\Macro{captionbelow} above, whereas \PValue{komabelow} inserts them below the +float content. % \EndIndex{Floatstyle}{komaabove}% \EndIndex{Floatstyle}{komabelow}% -\end{Explain} \begin{Declaration} @@ -4474,17 +3290,17 @@ the label text itself is specified in the macro \Macro{captionformat}. In contrast to all other \Macro{\dots}format commands, in this case it does not contain the counter but only the items which follow it. The original definition is: -\begin{lstlisting} +\begin{lstcode} \newcommand*{\captionformat}{:\ } -\end{lstlisting} +\end{lstcode} This too can be changed with \Macro{renewcommand}. \begin{Example} For some inexplicable reasons you want a dash with spaces before and after instead of a colon followed by a space as label delimiter. You define: -\begin{lstlisting} +\begin{lstcode} \renewcommand*{\captionformat}{~--~} -\end{lstlisting} +\end{lstcode} This definition should be put in the preamble of your document. \end{Example} % @@ -4506,30 +3322,32 @@ redefinition would have unwanted side effects on the output of tables. To deal with the situation, {\KOMAScript} offers two \Macro{\dots format} commands instead. These are predefined as follows: -\begin{lstlisting} +% Umbruchkorrektur: listings +\begin{lstcode}[belowskip=\dp\strutbox] \newcommand*{\figureformat}{\figurename~\thefigure\autodot} \newcommand*{\tableformat}{\tablename~\thetable\autodot} -\end{lstlisting} +\end{lstcode} They also can be adapted to your personal preferences with \Macro{renewcommand}. \begin{Example} From time to time captions without any label and of course without delimiter are desired. In {\KOMAScript} it takes only the following definitions to achieve this: -\begin{lstlisting} +\begin{lstcode} \renewcommand*{\figureformat}{} \renewcommand*{\tableformat}{} \renewcommand*{\captionformat}{} -\end{lstlisting} -It should be noted, however, that although no numbering is output, the -internal counters are nevertheless incremented. This becomes important -especially if this redefinition is applied only to selected -\Environment{figure} or \Environment{table} environments. +\end{lstcode} + It should be noted, however, that although no numbering is output, the + internal counters are nevertheless incremented. This becomes important + especially if this redefinition is applied only to selected + \Environment{figure} or \Environment{table} environments. \end{Example} % \EndIndex{Cmd}{figureformat}% \EndIndex{Cmd}{tableformat}% + \begin{Declaration} \Macro{setcapindent}\Parameter{indent}\\ \Macro{setcapindent*}\Parameter{xindent}\\ @@ -4546,28 +3364,22 @@ classes provide no direct mechanism to change this behaviour. In are indented by the width of the label so that the caption text is aligned. -This behaviour, which corresponds to the usage of -\Macro{setcaphanging}, can easily be changed by using the command -\Macro{setcapindent} or \Macro{setcapindent*}. Here the parameter -\PName{indent} determines the indentation of the second and subsequent -lines. - -If you want a line break after the label and before the caption text, -then you can define the indentation \PName{xindent} of the caption -text with the starred version of the command instead: -\Macro{setcapindent*}. - +This behaviour, which corresponds to the usage of \Macro{setcaphanging}, can +easily be changed by using the command \Macro{setcapindent} or +\Macro{setcapindent*}. Here the parameter \PName{indent} determines the +indentation of the second and subsequent lines. If you want a line break after +the label and before the caption text, then you can define the indentation +\PName{xindent} of the caption text with the starred version of the command +instead: \Macro{setcapindent*}. Using a negative value of \PName{indent} instead, a line break is also inserted before the caption text and only the first line of the caption text but not subsequent lines are indented by the absolute value of \PName{indent}. -Whether one-line captions are set as captions with more than one line -or are treated separately is specified with the class options -\OptionValue{captions}{oneline} and \OptionValue{captions}{nooneline}. For details -please refer to the explanations of these options in -\autoref{sec:maincls.layoutOptions}, -\autopageref{desc:maincls.option.captions.nooneline}. +Whether one-line captions are set as captions with more than one line or are +treated separately is specified with the option \Option{captions}. For details +please refer to the explanations of these option at +\autopageref{desc:maincls.option.captions.oneline}. \begin{Example} For the examples please refer to @@ -4576,14 +3388,14 @@ please refer to the explanations of these options in hanging indentation is not advantageous when combined with narrow column width. To illustrate, the source code for the second figure is given here with a modified caption text: -\begin{lstlisting} +\begin{lstcode} \begin{figure} \setcapindent{1em} \fbox{\parbox{.95\linewidth}{\centering{\KOMAScript}}} \caption{Example with slightly indented caption starting at the second line} \end{figure} -\end{lstlisting} +\end{lstcode} As can be seen the formatting can also be changed locally within the \Environment{figure} environment\IndexEnv{figure}. The change then affects only the current figure. Following figures once again use the @@ -4597,7 +3409,7 @@ of the document. This also of course applies to tables. \begin{minipage}{.9\linewidth} \begin{minipage}[t]{.48\linewidth}\sloppy \fbox{\parbox{.95\linewidth}{\centering{\KOMAScript}}} - \caption[Example for figure caption]% + \caption[Example: Default figure caption]% {\sloppy Equivalent to the standard setting, similar to the usage of \Macro{setcaphanging}} \label{fig:maincls.caption.first} @@ -4606,7 +3418,7 @@ of the document. This also of course applies to tables. \begin{minipage}[t]{.48\linewidth}\sloppy \setcapindent{1em} \fbox{\parbox{.95\linewidth}{\centering{\KOMAScript}}} - \caption[Example for figure caption]% + \caption[Example: Figure caption with slightly hanging indention]% {With slightly hanging indentation starting at the second line using \Macro{setcapindent}\PParameter{1em}} \end{minipage} @@ -4617,7 +3429,8 @@ of the document. This also of course applies to tables. \begin{minipage}[t]{.48\linewidth}\sloppy \setcapindent*{1em} \fbox{\parbox{.95\linewidth}{\centering{\KOMAScript}}} - \caption[Example for a figure caption]% + \caption[Example: Figure caption with hanging indention and line + break]% {With hanging indentation starting at the second line and line break before the description using \Macro{setcapindent*}\PParameter{1em}} @@ -4626,7 +3439,8 @@ of the document. This also of course applies to tables. \begin{minipage}[t]{.48\linewidth}\sloppy \setcapindent{-1em} \fbox{\parbox{.95\linewidth}{\centering{\KOMAScript}}} - \caption[Example for a figure caption]% + \caption[Example: Figure caption with hanging indention at the second + line]% {With indentation in the second line only and line break before the description using \Macro{setcapindent}\PParameter{-1em}} @@ -4657,12 +3471,12 @@ commands you can specify the width and justification of the caption text. In general the whole text width or column width is available for the caption. -With the command \Macro{setcapwidth} you can decrease this -\PName{width}. The obligatory argument determines the maximum -\PName{width} of the caption. As an optional argument you can supply -exactly one letter which specifies the horizontal justification. The -possible justifications are given in the following list. -\begin{labeling}[--~]{\PValue[o]} +With\important{\Macro{setcapwidth}} the command \Macro{setcapwidth} you can +decrease this \PName{width}. The obligatory argument determines the maximum +\PName{width} of the caption. As an optional argument you can supply exactly +one letter which specifies the horizontal justification. The possible +justifications are given in the following list. +\begin{labeling}[~--]{\quad\PValue{o}}\rightskip=1em \item[\PValue{l}] left-aligned \item[\PValue{c}] centered \item[\PValue{r}] right-aligned @@ -4670,350 +3484,421 @@ possible justifications are given in the following list. \item[\PValue{o}] alignment at the outer margin in double-sided output \end{labeling} The justification inside and outside corresponds to left-aligned and -right-aligned, respectively, in single-sided output. Within -\Package{longtable}\IndexPackage{longtable} tables the justification -inside or outside does not work correctly. In particular, the captions -on subsequent pages of such tables are aligned according to the format -of the caption on the first page of the table. This is a conceptual -problem in the implementation of \Package{longtable}. - -With the command \Macro{setcapmargin} you can specify a \PName{margin} -which is to be left free next to the description in addition to the -normal text margin. If you want margins with different widths at the -left and right side you can specify these using the optional argument -\PName{margin left}. The starred version \Macro{setcapmargin*} defines -instead of a \PName{margin left} a \PName{margin inside} in a -double-sided layout. In case of -\Package{longtable}\IndexPackage{longtable} tables you have to deal -with the same problem with justification inside or outside as -mentioned with the macro \Macro{setcapwidth}. Furthermore, the usage -of \Macro{setcapmargin} or \Macro{setcapmargin*} switches on the -option \OptionValue{captions}{nooneline} (see -\autoref{sec:maincls.layoutOptions}, -\autopageref{desc:maincls.option.captions.nooneline}) for the captions +right-aligned, respectively, in single-sided +output. Within\textnote{Attention!} +\Package{longtable}\IndexPackage{longtable}% +\important{\Package{longtable}} tables the justification inside or outside +does not work correctly. In particular, the captions on subsequent pages of +such tables are aligned according to the format of the caption on the first +page of the table. This is a conceptual problem in the implementation of +\Package{longtable}. + +With\important{\Macro{setcapmargin}} the command \Macro{setcapmargin} you can +specify a \PName{margin} which is to be left free next to the description in +addition to the normal text margin. If you want margins with different widths +at the left and right side you can specify these using the optional argument +\PName{margin left}. The starred version \Macro{setcapmargin*} defines instead +of a \PName{margin left} a \PName{margin inside} in a double-sided layout. In +case of \Package{longtable}\IndexPackage{longtable}% +\important{\Package{longtable}} tables you have to deal with the same problem +with justification inside or outside as mentioned with the macro +\Macro{setcapwidth}. Furthermore, the usage of \Macro{setcapmargin} or +\Macro{setcapmargin*} switches on the option \OptionValue{captions}{nooneline} +(see \autopageref{desc:maincls.option.captions.nooneline}) for the captions which are typeset with this margin setting. -\begin{Explain} - \Package{longtable} places the caption in a box, which is issued - again on subsequent pages as needed. When outputting a box, the - macros needed for its creation are not reevaluated. That is the - reason why it is not possible for {\KOMAScript} to swap margin - settings for even pages in double-sided layout . This is what would - be necessary in order to produce a justification which is shifted - towards the outside or inside. - - You can also submit negative values for \PName{margin} and - \PName{margin left} or \PName{margin inside}. This has the effect - of the caption expanding into the margin. -\end{Explain} +You\textnote{Hint!} can also submit negative values for \PName{margin} and +\PName{margin left} or \PName{margin inside}. This has the effect of the +caption expanding into the margin. -\begin{Example} - A rather odd problem is that of a figure caption which is required - to be both centered and of the same width as the figure itself. If - the width of the figure is known in advance, the solution with - {\KOMAScript} is quite easy. Supposing the figure has a width of - 8\Unit{cm}, it only takes: -\begin{lstlisting} - \setcapwidth[c]{8cm} -\end{lstlisting} -directly in front of \Macro{caption} or \Macro{captionbelow}. If the -width is unknown then you first have to define a length in the -preamble of your document: -\begin{lstlisting} - \newlength{\FigureWidth} -\end{lstlisting} - Having done this you can calculate the width directly with the - {\LaTeX} command \Macro{settowidth} (see \cite{latex:usrguide}) - in many cases. A possible solution would look as follows: -\begin{lstlisting} - \begin{figure} - \centering% - \settowidth{\FigureWidth}{% - \fbox{\quad\KOMAScript\quad}% - }% - \fbox{\quad\KOMAScript\quad}% - \setcapwidth[c]{\FigureWidth} - \caption{Example of a centered caption below the figure} - \end{figure} -\end{lstlisting} -However, it is awkward to write the content twice and to call -\Macro{setcapwidth} for every figure. Yet nothing is easier than -defining a new command in the preamble of your document which hides -the three steps of: - \begin{enumerate} - \item defining the width of the argument - \item specifying the width of the caption - \item outputting the argument - \end{enumerate} - in: -\begin{lstlisting} - \newcommand{\Figure}[1]{% - \settowidth{\FigureWidth}{#1}% - \setcapwidth[c]{\FigureWidth}% - #1} -\end{lstlisting} - Using this command the example abbreviates to: -\begin{lstlisting} - \begin{figure} - \centering% - \Figure{\fbox{\quad\KOMAScript\quad}}% - \caption{Example of a centered caption below the figure} - \end{figure} -\end{lstlisting} - -However, commands have the disadvantage that errors in the macros of -the argument in case of arguments with more than one line are not -reported with the very accurate line numbers by {\LaTeX}. Thus in some -cases the use of an environment has advantages. Then, however, the -question arises of how the width of the content of the environment can -be determined. The solution involves the \Environment{lrbox} -environment, described in \cite{latex:usrguide}: -\begin{lstlisting} - \newsavebox{\FigureBox} - \newenvironment{FigureDefinesCaptionWidth}{% - \begin{lrbox}{\FigureBox}% - }{% - \end{lrbox}% - \global\setbox\FigureBox=\box\FigureBox% - \aftergroup\SetFigureBox% - } - \newcommand{\SetFigureBox}{% - \Figure{\usebox{\FigureBox}}} -\end{lstlisting} - This definition uses the macro \Macro{Figure} defined above. In - the main text you write: -\begin{lstlisting} - \begin{figure} - \centering% - \begin{FigureDefinesCaptionWidth} - \fbox{\hspace{1em}\KOMAScript\hspace{1em}} - \end{FigureDefinesCaptionWidth} - \caption{Example of a centered caption below the figure} - \end{figure} -\end{lstlisting} -Admittedly, the environment in this example is not necessary. However, -its definition using \Macro{global} is quite tricky. Most users would -probably not be able to define such an environment without help. Thus, -as this definition can be very useful, it was introduced in the above -example. - -Even if the \Environment{captionbeside} environment did not exist you -could nevertheless place the figure caption beside the figure in a -quite simple way. For this \Macro{SetFigureBox} from the example above -would have to be redefined first: -\begin{lstlisting} - \renewcommand{\SetFigureBox}{% - \settowidth{\captionwidth}{\usebox{\FigureBox}}% - \parbox[b]{\captionwidth}{\usebox{\FigureBox}}% - \hfill% - \addtolength{\captionwidth}{1em}% - \addtolength{\captionwidth}{-\hsize}% - \setlength{\captionwidth}{-\captionwidth}% - \setcapwidth[c]{\captionwidth}% - } -\end{lstlisting} -Finally you only have to put the \Macro{caption} command in a -\Macro{parbox} too: -\begin{lstlisting} - \begin{figure} - \centering% - \begin{FigureSetsCaptionWidth} - \fbox{\rule{0pt}{5\baselineskip}% - \hspace{1em}\KOMAScript\hspace{1em}} - \end{FigureSetsCaptionWidth} - \parbox[b]{\FigureWidth}{% - \caption{Example of a centered caption - below the figure} - } - \end{figure} -\end{lstlisting} -The \Macro{rule} command in this example only serves as an invisible -support to produce an example figure with a greater vertical height. -\end{Example} +Experts\textnote{Hint!} and advanced users may find a tricky usage of +\Macro{setcapwidth} in +\iffree{\cite{book:komascript}}{\autoref{cha:floattricks}, + \autopageref{cha:floattricks}}.% % \EndIndex{Cmd}{setcapwidth}% \EndIndex{Cmd}{setcapmargin}% \EndIndex{Cmd}{setcapmargin*}% +\begin{Declaration} + \Option{origlongtable} +\end{Declaration}% +\BeginIndex{Option}{origlongtable}% +\BeginIndex{Package}{longtable}% +If the table captions produced by the \Package{longtable} package (see +\cite{package:longtable}) should not be redefined by the {\KOMAScript} +classes, activate the \Option{origlongtable} option. This\textnote{Attention!} +option has to be used at the optional argument of \Macro{documentclass}. It +may not be used as a setting of \Macro{KOMAoptions} or \Macro{KOMAoptions}. +% +\EndIndex{Package}{longtable}% +\EndIndex{Option}{origlongtable}% -\subsection{Logical Markup of Text} -\label{sec:maincls.emphasis} - -\begin{Explain} - {\LaTeX} offers different possibilities for logical - markup\Index{logical markup}\Index{markup} of text. Strictly - speaking, a heading is a kind of markup too. However, in this - section we are only concerned with direct markup, i.\,e., markup which - does not have an additional semantic meaning and which can be used - for different purposes. More details on the normally defined - possibilities can be found in \cite{lshort}, \cite{latex:usrguide} - and \cite{latex:fntguide}. -\end{Explain} \begin{Declaration} - \Macro{textsubscript}\Parameter{text} + \KOption{listof}\PName{setting} \end{Declaration} -\BeginIndex{Cmd}{textsubscript}% -In \autoref{sec:maincls.footnotes}, -\autopageref{desc:maincls.cmd.textsuperscript}, the command -\Macro{textsuperscript}\IndexCmd{textsuperscript} was already -introduced as an integral part of the {\LaTeX} kernel. Unfortunately, -{\LaTeX} itself does not offer a command to produce text in -subscript\Index{text>subscript}\Index{subscript} instead of -superscript\Index{text>superscript}\Index{superscript}. {\KOMAScript} -defines \Macro{textsubscript} for this purpose. -% +\BeginIndex{}{tables>list of}\BeginIndex{}{list of>tables}% +\BeginIndex{}{figures>list of}\BeginIndex{}{list of>figures}% +\BeginIndex{Option}{listof~=\PName{setting}}% +Normally\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} lists of floating environments\,---\,like list of +tables or list of +figures will neither get an +entry at the table of contents nor have a number at the heading. More +information about that may be found in \autoref{sec:maincls.toc}. Alternative +to the view from the table of contents to the lists of floating environments, +you may reconsider a view from the lists of floating environments into the +table of contents. Because of this, there are not only the options +\OptionValue{toc}{nolistof}\IndexOption{toc~=\PValue{nolistof}}, +\OptionValue{toc}{listof}\IndexOption{toc~=\PValue{listof}}, and +\OptionValue{toc}{listofnumbered}\IndexOption{toc~=\PValue{listofnumbered}} +described in \autoref{sec:maincls.toc}, +\autopageref{desc:maincls.option.toc.listof}, but also +\OptionValue{listof}{notoc}, \OptionValue{listof}{totoc}, and +\OptionValue{listof}{numbered} with the same meaning. + +By default the headings of the lists of floating environments use the topmost +level below \Macro{part}. This is the chapter level at \Class{scrbook} and +\Class{scrreprt} and the section level at +\Class{scrartcl}. With\ChangedAt{v3.06}{\Class{scrbook}\and + \Class{scrreprt}\and \Class{scrartcl}} +\OptionValue{listof}{leveldown}\important{\OptionValue{listof}{leveldown}} a +one step lower level will be used instead. \begin{Example} - You are writing a text on human metabolism. From time to time you - have to give some simple chemical formulas in which the numbers are - in subscript. For enabling logical markup you first define in the - document preamble or in a separate package: -\begin{lstlisting} - \newcommand*{\molec}[2]{#1\textsubscript{#2}} -\end{lstlisting} - \newcommand*{\molec}[2]{#1\textsubscript{#2}} - Using this you then write: -\begin{lstlisting} - The cell produces its energy partly from reaction of \molec C6\molec - H{12}\molec O6 and \molec O2 to produce \molec H2\Molec O{} and - \molec C{}\molec O2. However, arsenic (\molec{As}{}) has a quite - detrimental effect on the metabolism. -\end{lstlisting} - The output looks as follows: - \begin{ShowOutput} - The cell produces its energy from reaction of \molec C6\molec - H{12}\molec O6 and \molec O2 to produce \molec H2\molec O{} and - \molec C{}\molec O2. However, arsenic (\molec{As}{}) has a quite - detrimental effect on the metabolism. - \end{ShowOutput} - Some time later you decide that the chemical formulas should be - typeset in sans serif. Now you can see the advantages of using - logical markup. You only have the redefine the \Macro{molec} - command: -\begin{lstlisting} - \newcommand*{\molec}[2]{\textsf{#1\textsubscript{#2}}} -\end{lstlisting} - \renewcommand*{\molec}[2]{\textsf{#1\textsubscript{#2}}} - Now the output in the whole document changes to: - \begin{ShowOutput} - The cell produces its energy partly from reaction of \molec - C6\molec H{12}\molec O6 and \molec O2 to produce \molec H2\molec - O{} and \molec C{}\molec O2. However, arsenic (\molec{As}{}) has - a quite detrimental effect on the metabolism. - \end{ShowOutput} + At a book you want to move the list of figures and the list of tables as + sub-lists into a common list named ``Figures and Tables''. With +\begin{lstcode} + \KOMAoption{listof}{leveldown} +\end{lstcode} + you first declare to use the section instead of the chapter level for both + lists and then you use: +\begin{lstcode} + \addchap*{Figures and Tables} + \listoffigures + \listoftables +\end{lstcode} + for the new list, that contains the list of figures and the list of + tables. More information about the command \Macro{addchap*} may be found in + \autoref{sec:maincls.structure} at \autopageref{desc:maincls.cmd.addchap*}. \end{Example} -\begin{Explain} - In the example above, the notation ``\verb|\molec C6|'' is used. This - makes use of the fact that arguments consisting of only one - character do not have to be enclosed in parentheses. That is why - ``\verb|\molec C6|'' is similar to ``\verb|\molec{C}{6}|''. You - might already know this from indices or powers in mathematical - environments, such as ``\verb|$x^2$|'' instead of ``\verb|$x^{2}$|'' - for ``$x^2$''. -\end{Explain} + +Normally\ChangedAt{v2.8q}{% + \Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}} the lists of +floating environments use a constant with to place the caption number of the +entries. Additionally all entries will be indented a little bit. This +corresponds to setting +\OptionValue{listof}{graduated}\IndexOption{listof~=\PValue{graduated}}. + +If the numbers of the figures or tables, become very wide\,---\,i.\,e., if you +have a lot of tables or figures\,---\, their may be not enough width +predefined. There's\important{\OptionValue{listof}{flat}} a setting +\OptionValue{listof}{flat}\IndexOption{listof~=\PValue{flat}} for the lists of +floating environment similar to +\OptionValue{toc}{flat}\IndexOption{toc~=\PValue{flat}} for the table of +contents. Thereby the needed with for printing the number will be determined +at each \LaTeX{} run. See option \OptionValue{toc}{flat}, +\autoref{sec:maincls.toc}, \autopageref{desc:maincls.option.toc.flat} for +information about how it works. Please\textnote{Attention!} note again, that +you need more than one \LaTeX{} runs until the lists of floating environments +will become their final result. + +Setting \OptionValue{listof}{entryprefix}\ChangedAt{v3.06}{\Class{scrbook}\and + \Class{scrreprt}\and \Class{scrartcl}} will automatically activate +\OptionValue{listof}{flat} +too. Normally\important{\OptionValue{listof}{entryprefix}} it wouldn't make +sense to add the prefix ``figure'' to each entry of the list of figures and +the prefix ``table'' to each entry of the list of tables, because nothing else +than figures would be and should be expected at the list of figures and +nothing else than tables would be and should be expected at the list of +tables. So this prefixes wouldn't give any additional information and for this +wouldn't be useful. Nevertheless, such prefixes may be added using option +\OptionValue{listof}{entryprefix}. With this all entries of the same list will +get the same prefix. The prefix will depend on the file extension of the +helper file, that will be used for the corresponding list. For the list of +figures the file extension would be ``\File{lof}'' and therefor +\Macro{listoflofentryname} would be used. For the list of tables, the file +extension would be ``\File{lot}'' and \Macro{listoflotentryname} would be +used. + +Within classes \Class{scrbook} and \Class{scrreprt}\OnlyAt{\Class{scrbook}\and + \Class{scrreprt}} \KOMAScript{} adds a vertical gap to the lists of floating +environments whenever a new chapter starts. This behaviour, that is same at +the standard classes, structures the lists by chapters. At \KOMAScript{} it +corresponds to setting \ChangedAt{v3.00}{\Class{scrbook}\and + \Class{scrreprt}\and \Class{scrartcl}} +\OptionValue{listof}{chaptergapsmall}% +\IndexOption{listof~=\PValue{chaptergapsmall}}. In this case a gap of width +10\Unit{pt} will be used. With\important{\OptionValue{listof}{chaptergapline}} +option \OptionValue{listof}{chaptergapline}% +\IndexOption{listof~=\PValue{chaptergapline}} a gap of the height of one +standard text line will be +used. The\important{\OptionValue{listof}{nochaptergap}} gap may be switched of +with \OptionValue{listof}{nochaptergap}% +\IndexOption{listof~=\PValue{nochaptergap}}. Option\important{\OptionValue{listof}{chapterentry}} +\OptionValue{listof}{chapterentry}% +\IndexOption{listof~=\PValue{chapterentry}} is somehow special. Instead of a +gap it adds the table of contents entry for the chapter additionally to the +lists of floating environments. Please\textnote{Attention!} note, that this +would also happen, if the chapter doesn't have any floating +environment. Additional influence of chapters to the lists of floating +environments is available with option \Option{chapteratlists}. See +\autoref{sec:maincls.structure}, +\autopageref{desc:maincls.option.chapteratlists} for more information about +that. + +An overview about all settings to option \Option{listof} may be found at +\autoref{tab:maincls.listof}. + +\begin{desclist} + \desccaption[{Available values for option \Option{listof}}]{% + Available values for option \Option{listof} to modify contents and + formation of the lists of floating environments\label{tab:maincls.listof}% + }{% + Available values for option \Option{listof} (\emph{continuation})% + }% + \entry{\PValue{chapterentry}, \PValue{withchapterentry}}{% + Marks chapter starts at the lists of floating environments by a copy of + their entries to the table of contents.% + \IndexOption{listof~=\PValue{chapterentry}}}% + \entry{\PValue{chaptergapline}, \PValue{onelinechaptergap}}{% + Marks chapter starts at the lists of floating environments by a vertical + gap of the height of one standard text line.% + \IndexOption{listof~=\PValue{chaptergapline}}}% + \entry{\PValue{chaptergapsmall}, \PValue{smallchaptergap}}{% + Marks chapter starts at the lists of floating environments by a small + vertical gap.% + \IndexOption{listof~=\PValue{chaptergapsmall}}}% + \entry{\PValue{entryprefix}}{% + \ChangedAt{v3.06}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}}% + Adds a prefix depending on the file extension of the list to each entry of + the lists of floating environments. The prefix additionally depends on the + language, e.\,g., in English ``Figure'' would be used for the entries to + the list of figures and ``Table'' for the entries to the list of + tables. Both prefixes will be followed by a white space.% + \IndexOption{listof~=\PValue{entryprefix}}}% + \entry{\PValue{flat}, \PValue{left}}{% + The lists of floating environments will be printed like a kind of + table. The caption numbers will be the first column, the caption texts the + second column, and the page numbers the last column. The with of the first + column depends on the previous \LaTeX{} run.% + \IndexOption{listof~=\PValue{flat}}}% + \entry{\PValue{graduated}, \PValue{indent}, \PValue{indented}}{% + The lists of floating environments will be printed in hierarchical + form. The width for the caption numbers will be limited.% + \IndexOption{listof~=\PValue{graduated}}}% + \entry{\PValue{leveldown}}{% + The lists of floating environments will use a heading of one step lower + sectioning level than default.% + \IndexOption{listof~=\PValue{leveldown}}}% + \entry{\PValue{nochaptergap}, \PValue{ignorechapter}}{% + Chapter starts won't be marked at the lists of floating environments.% + \IndexOption{listof~=\PValue{nochaptergap}}}% + \entry{\PValue{notoc}, \PValue{plainheading}}{% + The lists of floating environments, e.\,g., list of figures and list of + tables, won't generate an entry at the table of contents.% + \IndexOption{listof~=\PValue{notoc}}}% + \entry{\PValue{numbered}, \PValue{totocnumbered}, \PValue{tocnumbered}, + \PValue{numberedtotoc}}{% + The lists of floating environments, e.\,g., list of figures and list of + tables, would get a numbered heading and therefor generate an entry at the + table of contents.% + \IndexOption{listof~=\PValue{numbered}}}% + \entry{\PValue{totoc}, \PValue{toc}, \PValue{notnumbered}}{% + The lists of floating environments, e.\,g., list of figures and list of + tables, would generate an entry at the table of contents, but their + headings won't be numbered.% + \IndexOption{listof~=\PValue{totoc}}}% +\end{desclist} +% +\EndIndex{Option}{listof~=\PName{setting}}% + + +\begin{Declaration} + \Macro{listoftables}\\ + \Macro{listoffigures} +\end{Declaration} +\BeginIndex{Cmd}{listoftables}% +\BeginIndex{Cmd}{listoffigures}% +These commands generate a list of tables or figures. Changes in the document +that modify these lists will require two {\LaTeX} runs in order to take +effect. The layout of the lists can be influenced by the option +\Option{listof}\important{\Option{listof}} with values \PValue{graduated} or +\PValue{flat} (see \autopageref{desc:maincls.option.listof}). Moreover, the +values \PValue{listof} and \PValue{listofnumbered} of option +\Option{toc}\important{\Option{toc}} (see \autoref{sec:maincls.toc}) as well +as the values \PValue{totoc} and \PValue{numbered} of the previous described +option \Option{listof} have influence to the lists of floating environments. + +Mostly\textnote{Hint!} the lists of floating environment may be found after +the table of contents. But some publishers like to have these lists at the +appendix. Nevertheless the author of this guide prefers to find them +immediately after the table of contents.% +\EndIndex{Cmd}{listoftables}% +\EndIndex{Cmd}{listoffigures}% % -\EndIndex{Cmd}{textsubscript}% +\EndIndex{}{figures>list of}\EndIndex{}{list of>figures}% +\EndIndex{}{tables>list of}\EndIndex{}{list of>tables}% +% +\EndIndex{}{figures}% +\EndIndex{}{tables}% +\EndIndex{}{floats} + +\LoadCommon{13}% \section{Margin Notes} -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Appendix} \label{sec:maincls.appendix} +\BeginIndex{}{appendix} -The last part of a document usually contains the -appendix\Index{appendix}, the bibliography\Index{bibliography} and, if -necessary, the index\Index{index}. +The appendix of a document contains mainly the enclosures to the +document. These are typically bibliography, index, glossary. But only for this +parts nobody would and should start an appendix, because the formation of +these already distinguishes them from the main document. But if there are +additional elements at the appendix, i.\,e., cited third party documents, +endnotes, figures or tabulars, the standard elements like the bibliography +should also be part of the appendix. \begin{Declaration} \Macro{appendix} \end{Declaration}% \BeginIndex{Cmd}{appendix}% The appendix in the standard as well as the {\KOMAScript} classes is -introduced with \Macro{appendix}. This command switches, among other -things, the chapter numbering to upper case letters, also ensuring -that the rules according to \cite{DUDEN} are followed (for -German-speaking regions). These rules are explained in more detail in -the description of the class options \OptionValue{numbers}{enddot} and -\OptionValue{numbers}{noenddot} in \autoref{sec:maincls.formattingOptions}, +introduced with \Macro{appendix}. This command switches, among other things, +the chapter numbering to upper case letters, also ensuring that the rules +according to \cite{DUDEN} are followed (for German-speaking regions). These +rules are explained in more detail in the description of the option +\Option{numbers} in \autoref{sec:maincls.structure}, \autopageref{desc:maincls.option.numbers}. -Please note that \Macro{appendix} is a command, \emph{not} an -environment! This command does not expect any argument. Sectioning in -the appendix uses \Macro{chapter} and \Macro{section} just as does the -main text. +Die output of the chapter headings\OnlyAt{\Class{scrbook}\and + \Class{scrreprt}} in the appendix are influenced by the options +\Option{chapterprefix} and \Option{appendixprefix}. See +\autoref{sec:maincls.structure}, +\autopageref{desc:maincls.option.appendixprefix} for more information. +Please\textnote{Attention!} note that \Macro{appendix} is a command, +\emph{not} an environment! This command does not expect any +argument. Chapters and sections in the appendix uses \Macro{chapter} and +\Macro{section} just as does the main text.% +% +\EndIndex{Cmd}{appendix}% % -\EndIndex{Cmd}{appendix} +\EndIndex{}{appendix} + + +\section{Bibliography} +\label{sec:maincls.bibliography} +\BeginIndex{}{bibliography} + +The bibliography opens up external resources. Mainly bibliographies will be +made by program \BibTeX{} or biber using an external file in database like +structure. Thereby \BibTeX{} style influences not only the formation of the +bibliography entries but also their sorting. Using an additional bibliography +style like \Package{natbib}\IndexPackage{natbib}, +\Package{babelbib}\IndexPackage{babelbib}, or +\Package{biblatex}\IndexPackage{bublatex} limits the influence of +\KOMAScript{} to the bibliography hardly. In such cases it is important so see +the manual of the bibliography package! General information about bibliography +may be found in \cite{lshort}. \begin{Declaration} - \Macro{appendixmore} -\end{Declaration}% -\BeginIndex{Cmd}{appendixmore}% -There is a peculiarity within the \Macro{appendix} command in the -{\KOMAScript} classes. If the command \Macro{appendixmore} is defined, -this command is executed also by the \Macro{appendix} -command. Internally the {\KOMAScript} classes \Class{scrbook} and -\Class{scrreprt} take advantage of this behaviour to implement the -options \Option{appendixprefix} and \OptionValue{appendixprefix}{false} (see -\autoref{sec:maincls.layoutOptions}, -\autopageref{desc:maincls.option.appendixprefix}). You should take -note of this in case you decide to define or redefine the -\Macro{appendixmore}. In case one of these options is set, you will -receive an error message when using -\verb|\newcommand{\appendixmore}{|\dots\verb|}|. This behaviour is -intended to prevent you from disabling options without noticing it. + \KOption{bibliography}\PName{selection} +\end{Declaration} +\BeginIndex{Option}{bibliography~=\PName{selection}}% +For a start, \PName{selection}\ChangedAt{v3.00}{\Class{scrbook}\and + \Class{scrreprt}\and \Class{scrartcl}} may be any already defined +bibliography formation style. There are two predefined formation styles at +\KOMAScript{}. You should not misconceive them with the styles used by +\BibTeX\Index{BibTeX=\BibTeX} which you may select using +\Macro{bibstyle}. While \BibTeX{} influences not only the sorting but also the +contents of the bibliography, \KOMAScript{} influences only some basic +features of the bibliography or a tiny amount of formation features of the +entries to the bibliography. + +Option\important{\OptionValue{bibliography}{oldstyle}} +\OptionValue{bibliography}{oldstyle}% +\IndexOption{bibliography~=\PValue{oldstyle}} selects a compact formation of +the bibliography entries. In this case command +\Macro{newblock}\IndexCmd{newblock} inside of the entries will only result in +a small horizontal distance. The name is a result of the fact, that this is +the mostly used classic kind of bibliography. In opposite to +this\important[i]{\begin{tabular}[t]{@{}l@{}} + \Option{bibliography=}\\ + \quad\PValue{openstyle}\end{tabular}}% +\OptionValue{bibliography}{openstyle}% +\IndexOption{bibliography~=\PValue{openstyle}}. selects a more modern and open +kind of bibliography. The name is a result of the fact, that command +\Macro{newblock} inserts a paragraph break. The entries will be more +structured by this. They are less compact and seem more relaxed or +open. Information about definition of new formation styles may be found in +description of command \Macro{newbibstyle} in +\autoref{sec:maincls-experts.experts} at +\autopageref{desc:maincls-experts.cmd.newbibstyle}. + +Beside the formation style one more feature may be selected using +\PName{selection}. The bibliography is a kind of contents list. But instead of +listing contents of the document itself, it references to external +contents. Because of this, someone may say, that +the\important[i]{\begin{tabular}[t]{@{}l@{}} + \Option{bibliography=}\\ + \quad\PValue{totocnumbered} + \end{tabular}} bibliography is a chapter +or section on its own and should have a chapter or section number. You may +select this with option \OptionValue{bibliography}{totocnumbered}% +\IndexOption{bibliography~=\PValue{totocnumbered}} which will therefor also +generate an entry to the table of contents.In my opinion the bibliography is +nothing you've written on your own and so does not merits a numbered entry to +the table of contents. A entry without number may be set with option +\OptionValue{bibliography}{totoc}% +\IndexOption{bibliography~=\PValue{totoc}}. Nevertheless, the default would be +neither a number nor an entry to the table of contents and corresponds to +\OptionValue{bibliography}{nottotoc}% +\IndexOption{bibliography~=\PValue{nottotoc}}. For more information see option +\Option{toc} in \autoref{sec:maincls.toc}, especially values +\PValue{bibliographynumbered}, \PValue{bibliography}, and +\PValue{nobibliography} to this option at +\autopageref{desc:maincls.option.toc.bibliography}. + +A summary of all available values for option \Option{bibliography} may be +found in \autoref{tab:maincls.bibliography}. Nevertheless you should note, +that additional values may be generated using +\Macro{newbibstyle}\IndexCmd{newbibstyle}. -\begin{Example} - You do not want the chapters in the main part of the classes - \Class{scrbook} or \Class{scrreprt} to be introduced by a prefix - line (see layout options \Option{chapterprefix} and - \OptionValue{chapterprefix}{false} in \autoref{sec:maincls.layoutOptions}, - \autopageref{desc:maincls.option.chapterprefix}). For consistency - you also do not want such a line in the appendix either. Instead, - you would like to see the word ``Chapter'' in the language of your - choice written in front of the chapter letter and, simultaneously, - in the page headings. Instead of using the either layout option - \Option{appendixprefix} or \OptionValue{appendixprefix}{false}, you would - define in the document preamble: -% -\begin{lstlisting} - \newcommand*{\appendixmore}{% - \renewcommand*{\chapterformat}{% - \appendixname~\thechapter\autodot\enskip} - \renewcommand*{\chaptermarkformat}{% - \appendixname~\thechapter\autodot\enskip} - } -\end{lstlisting} -% - In case you subsequently change your mind and decide to use the option - \Option{appendixprefix} at a later stage, you will get an error message - because of the already defined \Macro{appendixmore} command. This behaviour - prevents the definition made above from invisibly changing the settings - intended with the option. - - It is also possible to get a similar behaviour of the appendix for - the class \Class{scrartcl}. You would write in the preamble of your - document: -\begin{lstlisting} - \newcommand*{\appendixmore}{% - \renewcommand*{\othersectionlevelsformat}[1]{% - \ifthenelse{\equal{##1}{section}}{\appendixname~}{}% - \csname the##1\endcsname\autodot\enskip} - \renewcommand*{\sectionmarkformat}{% - \appendixname~\thesection\autodot\enskip} - } -\end{lstlisting} - In addition, the package \Package{ifthen}\IndexPackage{ifthen} (see - \cite{package:ifthen}) is required. - - Redefined commands are explained in more detail in - \autoref{sec:maincls.structure}, - \autopageref{desc:maincls.cmd.chapterformat} and - \autopageref{desc:maincls.cmd.chaptermarkformat}. -\end{Example} +\begin{table} + \caption[{Available values of option \Option{bibliography}}]{% + Predefined values of option \Option{bibliography} to select the formation + of the bibliography} + \label{tab:maincls.bibliography} + \begin{desctabular} + \pventry{nottotoc}{% + The bibliography will neither have an entry at the table of contents nor + a number,% + \IndexOption{bibliography~=\PValue{nottotoc}}}% + \pventry{oldstyle}{% + The bibliography will use the classic, compact formation, where + \Macro{newblock}\IndexCmd{newblock} generates an expandable + horizontal distance only.% + \IndexOption{bibliography~=\PValue{oldstyle}}}% + \pventry{openstyle}{% + The bibliography will use the structured, open formation, where + \Macro{newblock}\IndexCmd{newblock} generates a paragraph break.% + \IndexOption{bibliography~=\PValue{openstyle}}}% + \pventry{totoc}{% + The bibliography will have an entry at the table of contents but no + number.% + \IndexOption{bibliography~=\PValue{totoc}}}% + \pventry{totocnumbered}{% + The bibliography will have an entry at the table of contents and a + number at the heading.% + \IndexOption{bibliography~=\PValue{totocnumbered}}}% + \end{desctabular} +\end{table} % -\EndIndex{Cmd}{appendixmore}% +\EndIndex{Option}{bibliography~=\PName{selection}}% \begin{Declaration} @@ -5022,34 +3907,128 @@ intended to prevent you from disabling options without noticing it. \BeginIndex{Cmd}{setbibpreamble}% The command \Macro{setbibpreamble} can be used to set a preamble for the bibliography\Index{bibliography}. This can be achieved by placing the preamble -before the command for issuing the bibliography. However, it does not have to -be directly in front of it. For example, it could be placed at the beginning -of the document. Similar to the class options +before the command for issuing the bibliography. However, it needn't be +directly in front of it. For example, it could be placed at the beginning of +the document. Similar\textnote{Attention!} to the options \OptionValue{bibliography}{totoc} and \OptionValue{bibliography}{totocnumbered}, this command can only be successful if you have not loaded a package which prevents this by redefining the \Environment{thebibliography} environment. Even though the \Package{natbib} -package \IndexPackage{natbib} makes unauthorized use of internal macros of +package\IndexPackage{natbib} makes unauthorized use of internal macros of {\KOMAScript} it could be achieved that \Macro{setbibpreamble} works with the current version of \Package{natbib} (see \cite{package:natbib}). - \begin{Example} You want to point out that the sorting of the references in the bibliography is not according to their occurrence in the text, but in alphabetical order. You use the following command: -\begin{lstlisting} +\begin{lstcode} \setbibpreamble{References are in alphabetical order. References with more than one author are sorted according to the first author.\par\bigskip} -\end{lstlisting} +\end{lstcode} The \Macro{bigskip}\IndexCmd{bigskip} command makes sure that the preamble and the first reference are separated by a large vertical - space. -\end{Example} + space.% +\end{Example}% % \EndIndex{Cmd}{setbibpreamble} +\begin{Declaration} + \Macro{BreakBibliography}\Parameter{interruption code} +\end{Declaration} +\BeginIndex{Cmd}{BreakBibliography}% +This\textnote{Attention!}\ChangedAt{v3.00}{\Class{scrbook}\and + \Class{scrreprt}\and \Class{scrartcl}} command exists only if the +environment \Environment{thebibliography} has not been redefined by another +package. It provides a break at the bibliography. The \PName{interruption + code} will be expanded inside a group. Such a break may be, e.\,g., a +heading using \Macro{minisec}. Unfortunately it is not possible to add this +command to the \BibTeX{} database using, e.\,g., a special kind of \BibTeX{} +entry. Because of this, users may use is currently only if they make the +bibliography on their own. Because of this usage is very limited.% +% +\EndIndex{Cmd}{BreakBibliography}% + + +\begin{Declaration} + \Macro{AfterBibliographyPreamble}\Parameter{code}\\ + \Macro{AtEndBibliography}\Parameter{code} +\end{Declaration} +\BeginIndex{Cmd}{AfterBibliographyPreamble}% +\BeginIndex{Cmd}{AtEndBibliography}% +In\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}} +some cases it may be useful to add some \PName{code} after the bibliography +preamble or just before the end of the bibliography. This may be achieved +using one of this instructions. +\begin{Example} + You want to set the bibliography not justified but ragged right. This may be + achieved using: +\begin{lstcode} + \AfterBibliographyPreamble{\raggedright} +\end{lstcode} + You may place this instruction anywhere before the + bibliography. Nevertheless it is recommended to do so at the preamble of the + document or inside your own package. +\end{Example} +The\textnote{Attention!} functionality of this instruction depends on +cooperation with packages modifying the bibliography, if such a package should +be used (see \autoref{sec:maincls-experts.coexistence}, +\autopageref{desc:maincls-experts.cmd.AfterBibliographyPreamble}).% +% +\EndIndex{Cmd}{AtEndBibliography}% +\EndIndex{Cmd}{AfterBibliographyPreamble}% +% +\EndIndex{}{bibliography} + + +\section{Index} +\label{sec:maincls.index} +\BeginIndex{}{index} + +For general information about making an index see \cite{lshort}, +\cite{makeindex}, and \cite{xindy}. Using a package, that redefines commands +or environments for the index, may limit the influence of \KOMAScript{} to the +index hardly. This would be valid, e.\,g., for usage of package +\Package{index}\IndexPackage{index} but not for usage of package +\Package{splitidx}\IndexPackage{splitidx} (see \cite{package:splitindex}). + +\begin{Declaration} + \KOption{index}\PName{selection}% +\end{Declaration} +\BeginIndex{Option}{index~=\PName{selection}}% +\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}}% +The index is chapter (\Class{scrbook} or \Class{scrreprt}) or section +(\Class{scrartcl}) without heading number or entry at the table of contents by +default or option +\OptionValue{index}{default}\IndexOption{index~=\PValue{default}}. The\important{\OptionValue{index}{totoc}} index +doesn't need an entry at the table of contents, because it should always be +the last element of a document. Nevertheless, such an entry may be achieved +using option +\OptionValue{index}{totoc}\IndexOption{index~=\PValue{totoc}}. See also option +\Option{toc} with value \PValue{index} in \autoref{sec:maincls.toc} from +\autopageref{desc:maincls.option.toc.index} onward. + +A summary of all available values for option \Option{index} may be found in +\autoref{tab:maincls.index}. + +\begin{table} + \caption{Available values of option \Option{index}}% + \label{tab:maincls.index} + \begin{desctabular} + \entry{\PValue{totoc}, \PValue{toc}, \PValue{notnumbered}}{% + The index will have an entry at the table of contents, but will not have + a heading number.% + \IndexOption{index~=\PValue{totoc}}}% + \entry{\PValue{default}, \PValue{nottotoc}, \PValue{plainheading}}{% + The index will not have an entry at the table of contents.% + \IndexOption{index~=\PValue{default}}}% + \end{desctabular} +\end{table} +% +\EndIndex{Option}{index~=\PName{selection}}% + + \begin{Declaration} \Macro{setindexpreamble}\Parameter{preamble} \end{Declaration}% @@ -5058,85 +4037,43 @@ Similarly to the bibliography you can use a preamble to the index. This is often the case if you have more than one index or if you use different kinds of referencing by highlighting the page numbers in different ways. - \begin{Example} You have a document in which terms are both defined and used. The page numbers of definitions are in bold. Of course you want to make your reader aware of this fact. Thus you insert a preamble for the index: -\begin{lstlisting} +\begin{lstcode} \setindexpreamble{In \textbf{bold} printed page numbers are - references to the definition of terms. Other page numbers indicate - the use of a term.\par\bigskip} -\end{lstlisting} + references to the definition of terms. Other page numbers + indicate the use of a term.\par\bigskip} +\end{lstcode} \end{Example} -% + Please note that the page style of the first page of the index is changed. The applied page style is defined in the macro -\Macro{indexpagestyle} (see \autoref{sec:maincls.pageStyle}, +\Macro{indexpagestyle} (see \autoref{sec:maincls.pagestyle}, \autopageref{desc:maincls.cmd.titlepagestyle}). The production, sorting and output of the index is done by the standard {\LaTeX} packages and additional programs. Similar to the standard classes {\KOMAScript} only provides the basic macros and -environments. +environments.% % \EndIndex{Cmd}{setindexpreamble}% +% +\EndIndex{}{index} +% +% +\EndIndex{Class}{scrbook}% +\EndIndex{Class}{scrreprt}% +\EndIndex{Class}{scrartcl}% - -\section{Obsolete Commands} -\label{sec:maincls.obsolete} - -\begin{Explain} - In this section you will find commands which should not be used any - longer. They are part of older {\KOMAScript} versions and their use - was documented. For compatibility reasons they can still be used in - the current {\KOMAScript} release. There are however new mechanisms - and user interfaces which you should use instead. The reason for - listing the obsolete macros in this documentation is only to aid - users in understanding old documents. Furthermore, package authors - are free to use these macros in the future. - - \begin{Declaration} - \Macro{sectfont} - \end{Declaration} - \BeginIndex{Cmd}{sectfont}% - This macro sets the font which is used for all section headings and - the abstract, the main title and the highest level below - \Macro{part} in the table of contents. Instead, use the commands for - the element \FontElement{disposition}, described in - \autoref{sec:maincls.font}.% - \EndIndex{Cmd}{sectfont}% - - \begin{Declaration} - \Macro{capfont} \\ - \Macro{caplabelfont} - \end{Declaration} - \BeginIndex{Cmd}{capfont}% - \BeginIndex{Cmd}{caplabelfont}% - The macro \Macro{capfont} sets the font which is used for captions - in tables and figures. The macro \Macro{caplabelfont} sets the font - which is used for the label and numbering of tables and pictures. - Instead, use the commands for the elements \FontElement{caption} and - \FontElement{captionlabel}, described in - \autoref{sec:maincls.font}.% - \EndIndex{Cmd}{capfont}% - \EndIndex{Cmd}{caplabelfont}% - - \begin{Declaration} - \Macro{descfont} - \end{Declaration} - \BeginIndex{Cmd}{descfont}% - This macro sets the font for the optional item arguments of a - \Environment{description} environment. Instead, use the commands for - the element \FontElement{descriptionlabel}, described in - \autoref{sec:maincls.font}.% - \EndIndex{Cmd}{descfont}% - -\end{Explain} +\endinput %%% Local Variables: %%% mode: latex -%%% coding: iso-latin-1 +%%% coding: us-ascii %%% TeX-master: "../guide" %%% End: + +% LocalWords: endnotes diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/scrdatetime.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/scrdatetime.tex index 5f7bd41991e..39be1185e0f 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/scrdatetime.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/scrdatetime.tex @@ -40,16 +40,16 @@ % % ---------------------------------------------------------------------- % -% Kapitel über scrpage2 in der KOMA-Script-Anleitung +% Kapitel ueber scrpage2 in der KOMA-Script-Anleitung % Verwaltet von Markus Kohm % % ============================================================================ -\ProvidesFile{scrdatetime.tex}[{2011/02/22 KOMA-Script guide (chapter: +\ProvidesFile{scrdatetime.tex}[{2012/02/23 KOMA-Script guide (chapter: scrdate, scrtime)}] -\translator{Gernot Hassenpflug\and Markus Kohm} +\translator{Markus Kohm\and Gernot Hassenpflug} -% Date of translated german file: 2005-11-27 +% Date of translated German file: 2012/02/23 \chapter{Weekday and Time Using \Package{scrdate} and \Package{scrtime}} @@ -62,34 +62,207 @@ what is provided by the standard commands \Macro{today} and bundle these two packages may be used not only with {\KOMAScript} classes but also with the standard and many other classes. -\section{The Name of the Current Day of the Week Using +Since +\KOMAScript~3.05a\ChangedAt{v3.05a}{\Package{scrdate}\and\Package{scrtime}} +this packages use the common version number of \KOMAScript. This change has +been done, because the packages need the corresponding version of +\Package{scrkbase} and \Package{scrbase}. + + +\section{The Day of the Week Using \Package{scrdate}} -\label{sec:sec:datetime.scrdate} +\label{sec:datetime.scrdate} \BeginIndex{Package}{scrdate} -The first problem is the question of the current day of the week. The -answer may be given using the package \Package{scrdate}. +With version~3.05a the functionality of this package enhanced a lot. Beside of +the current day of the week\Index{day>of the week} this package provides the +day of the week of every date of the Gregorian calendar now. + +\begin{Declaration} + \Macro{CenturyPart}\Parameter{year}\\% + \Macro{DecadePart}\Parameter{year}% +\end{Declaration}% +\BeginIndex{Cmd}{CenturyPart}% +\BeginIndex{Cmd}{DecadePart}% +The\ChangedAt{v3.05a}{\Package{scrdate}} command \Macro{CenturyPart} offers +the value of the century digits\,---\,hundreds and thousands\,---\,of a +\PName{year}. The command \Macro{DecadePart} in difference offers the other +digits which are the units and tens. The number of digits of \PName{year} +doesn't care. The value may be assigned to a counter or may be used for +calculations, i.\,e., using \Macro{numexpr}\IndexCmd{numexpr}. For output of +an Arabic number of the value prefix it with \Macro{the}\IndexCmd{the}. + +\begin{Example} + You want to calculate and output the century of the current year. +\begin{lstcode} + The year \the\year\ is the year \the\DecadePart{\year} + of the \engord{\numexpr\CenturyPart{\year}+1\relax} century. +\end{lstcode} + The result would be: + \begin{quote} + The year \the\year\ is the year \the\DecadePart{\year} + of the \engordnumber{\numexpr\CenturyPart{\year}+1\relax} century. + \end{quote} + Package \Package{engord}\IndexPackage{engord} has been used for this + example. See \cite{package:engord} for more information. +\end{Example} + +Please\textnote{Attention!} note, that within used method of counting the +year~2000 is the year~0\,---\,and therefore the first year\,---\,of the +21st~century.% +\EndIndex{Cmd}{DecadePart}% +\EndIndex{Cmd}{CenturyPart}% + +\begin{Declaration} + \Macro{DayNumber}\Parameter{year}\Parameter{month}\Parameter{day}\\% + \Macro{ISODayNumber}\Parameter{ISO-date}% +\end{Declaration}% +\BeginIndex{Cmd}{DayNumber}% +\BeginIndex{Cmd}{ISODayNumber}% +These\ChangedAt{v3.05a}{\Package{scrdate}} two commands offers the value of +the number of the day of the week\Index{day>of the week} of any date. The +differ only in the kind of date declaration. Command \Macro{DayNumber} needs +\PName{year}, \PName{month}, and \PName{day} as separate parameters. Command +\Macro{ISODayNumber} expects an \PName{ISO-date} as a single argument. The +expected format of the \PName{ISO-date} is: +\PName{year}\texttt{-}\PName{month}\texttt{-}\PName{day}. It doesn't matter +whether \PName{month} or \PName{day} have one or two digits. The result of +both commands may be assigned to a counter or used for calculations, i.\,e., +using \Macro{numexpr}\IndexCmd{numexpr}. For output of +an Arabic number of the value prefix it with \Macro{the}\IndexCmd{the}. + +\begin{Example} + You want to know the number of the day of the week of the 1st~May~2027. +\begin{lstcode} + The 1st~May~2027 has \the\ISODayNumber{2027-5-1} + as the number of the day of the week. +\end{lstcode} + The result will be: + \begin{quote} + The 1st~May~2027 has \the\ISODayNumber{2027-5-1} + as the number of the day of the week. + \end{quote} +\end{Example} + +A special feature is to walk a number of days into future or past from a given +date. +\begin{Example} + You want to know the number of the day of the week, that will be in 12~days + and that will be 24~days before the 24th~December~2027. +\begin{lstcode} + 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{lstcode} + The result may be, e.\,g.: + \begin{quote} + 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{Example} + +The days of the week are numbered: Sunday\,=\,0, Monday\,=\,1, Tuesday\,=\,2, +Wednesday\,=\,3, Thursday\,=\,4, Friday\,=\,5, and Saturday\,=\,6.% +% +\EndIndex{Cmd}{DayNumber}% +\EndIndex{Cmd}{ISODayNumber}% + + +\begin{Declaration} + \Macro{DayNameByNumber}\Parameter{number of the day of the week}\\% + \Macro{DayName}\Parameter{year}\Parameter{month}\Parameter{day}\\% + \Macro{ISODayName}\Parameter{ISO-date}% +\end{Declaration}% +\BeginIndex{Cmd}{DayNameByNumber}% +\BeginIndex{Cmd}{DayName}% +\BeginIndex{Cmd}{ISODayName}% +Usually\ChangedAt{v3.05a}{\Package{scrdate}} you don't want to know the number +of the day of the week, but the name of the day of the week. Because of this, +the command \Macro{DayNameByNumber} offers the name of the day of the week +corresponding with a number. The number may be the result of \Macro{DayNumber} +or \Macro{ISODayNumber}. The two commands \Macro{DayName} and +\Macro{ISODayName} directly offer the name of the day of the week of a given +date. + +\begin{Example} + You want to know the name of the day of the week of the 24th~December~2027. +\begin{lstcode} + Please pay you bill until \ISODayName{2027-12-24}, + 24th~December~2027. +\end{lstcode} + The result will be: + \begin{quote} + Please pay you bill until \ISODayName{2027-12-24}, + 24th~December~2027. + \end{quote} +\end{Example} + +Again a special feature is to make some calculations inside the argument of +\Macro{DayName}. +\begin{Example} + You want to know the names of the days of the week, that will be in 12~days + and that will be 24~days before the 24th~December~2027. +\begin{lstcode} + 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}. Nevertheless two weeks + and three days after a Wednesday a + \DayNameByNumber{3+2*7+3} will follow. +\end{lstcode} + The result may be, e.\,g.: + \begin{quote} + 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}. Nevertheless two weeks + and three days after a Wednesday a + \DayNameByNumber{3+2*7+3} will follow. + \end{quote} +\end{Example}% +% +\EndIndex{Cmd}{ISODayName}% +\EndIndex{Cmd}{DayName}% +\EndIndex{Cmd}{DayNameByNumber}% + \begin{Declaration} - \Macro{todaysname} + \Macro{ISOToday}\\% + \Macro{IsoToday}\\ + \Macro{todaysname}\\% + \Macro{todaysnumber}% \end{Declaration}% \BeginIndex{Cmd}{todaysname}% -You should know that with \Macro{today}\IndexCmd{today} one obtains -the current date in a language-dependent spelling. \Package{scrdate} -offers you the command \Macro{todaysname} with which one can obtain -the name of the current day of the week in a language-dependent -spelling. +\BeginIndex{Cmd}{todaysnumber}% +\BeginIndex{Cmd}{ISOToday}% +\BeginIndex{Cmd}{IsoToday}% +In the prior examples the current date have been given cumbersomely and +explicitly using the \TeX{} registers \Macro{year}\IndexCmd{year}, +\Macro{month}\IndexCmd{month}, and \Macro{day}\IndexCmd{day}. The commands +\Macro{ISOToday}\ChangedAt{v3.05a}{\Package{scrdate}} and \Macro{IsoToday} +offers the current date in ISO-notation directly. These commands differ in the +number of digits for numbers less than 10 only. \Macro{ISOToday} prefixes +numbers less than 10 for the month and day with a 0. In opposite to this +\Macro{IsoToday} will show numbers less than 10 for the month and day with one +digit only. Command \Macro{todaysname} directly offers the name of the current +day of the week. Command \Macro{todaysnumber} offers the number of that name +instead. More information about usability of this value may be found at +previous description of \Macro{DayNumber} and \Macro{ISODayNumber}. \begin{Example} - In your document you want to show the name of the weekday on which - the \File{dvi} file was generated using {\LaTeX}. To do this, you - write: + I want to show you the name of the weekday in which this document has been + type-set: \begin{lstlisting} - I have done the {\LaTeX} run of this document on a \todaysname. + I have done the {\LaTeX} run of this document + on a \todaysname. \end{lstlisting} This will result in, e.\,g.: \begin{quote} - I have done the {\LaTeX} run of this document on a \todaysname. + I have done the {\LaTeX} run of this document + on a \todaysname. \end{quote} \end{Example} @@ -99,15 +272,28 @@ letter. Given this limitation, the example above can work correctly only for some languages. \begin{Explain} - \textbf{Tip:} The names of the weekdays are saved in capitalized - form, i.\,e., the first letter is a capital letter, all the others are - lowercase letters. But for some languages you may need the names - completely in lowercase. You may achieve this using the standard - {\LaTeX} command \Macro{MakeLowercase}. You simply have to write - \Macro{MakeLowercase}\PParameter{\Macro{todaysname}}. -\end{Explain} + The\textnote{Hint!} names of the weekdays are saved in capitalized form, + i.\,e., the first letter is a capital letter, all the others are lowercase + letters. But for some languages you may need the names completely in + lowercase. You may achieve this using the standard {\LaTeX} command + \Macro{MakeLowercase}\IndexCmd{MakeLowercase}% + \important{\Macro{MakeLowercase}}, e.\,g.: + % Umbruchkorrektur: listings +\begin{lstcode}[belowskip=\dp\strutbox] + \MakeLowercase{\todaysname} +\end{lstcode} + This converts the whole argument into lower case letters. Of course, this + may be done also using previous described commands + \Macro{DayNameByNumber}\IndexCmd{DayNameByNumber}, + \Macro{DayName}\IndexCmd{DayName} and + \Macro{ISODayName}\IndexCmd{ISODayName}.% +\end{Explain}% +\EndIndex{Cmd}{IsoToday}% +\EndIndex{Cmd}{ISOToday}% +\EndIndex{Cmd}{todaysnumber}% \EndIndex{Cmd}{todaysname} + \begin{Declaration} \Macro{nameday}\Parameter{name} \end{Declaration}% @@ -123,39 +309,42 @@ be changed to \PName{name} by using \Macro{nameday}. \nameday{workday} \end{lstlisting} After this the previous example will result in: - \begin{quote} - I have done the {\LaTeX} run of this document on a workday. + \begin{quote}\nameday{workday} + I have done the {\LaTeX} run of this document on a \todaysname. \end{quote} \end{Example} +There's no such command for changing the result of +\Macro{ISOToday}\IndexCmd{ISOToday} or \Macro{IsoToday}\IndexCmd{IsoToday}. \EndIndex{Cmd}{nameday} -Currently the package \Package{scrdate} knows the languages english (english, -american, USenglish, UKenglish and british), german (german, ngerman, -austrian, and naustrian), french, italian, spanish, croatian, finnish, and -norsk. If you want to configure it for other languages, see -\File{scrdate.dtx}. + +\minisec{Name of the day of the week in different languages}% +Currently the package \Package{scrdate} knows the languages English (english, +american, USenglish, UKenglish and british), German (german, ngerman, +austrian\ChangedAt{v3.08b}{\Package{scrdate}}, and naustrian), French +(french), Italian (italian), Spanish (spanish), Croatian (croatian), Finnish +(finnish), Norwegian (norsk), Swedish (swedish), and Danish (danish). If you +want to configure it for other languages, see \File{scrdate.dtx}. In the current implementation it does not matter whether you load \Package{scrdate} before or after \Package{german}\IndexPackage{german}, \Package{ngerman}\IndexPackage{ngerman}, -\Package{babel}\IndexPackage{babel} or similar packages. The current -language will be set up at \Macro{begin}\PParameter{document}. +\Package{babel}\IndexPackage{babel} or similar packages. In both cases the +correct language will be used. \begin{Explain} To explain a little bit more exactly: while you are using a language selection which works in a compatible way to \Package{babel}\IndexPackage{babel} or - \Package{german}\IndexPackage{german}, the correct language will be - used by \Package{scrdate}. If you are using another language - selection you will get (US) english names. In \File{scrdate.dtx} you - will find the description of the \Package{scrdate} commands for - defining the names. + \Package{ngerman}\IndexPackage{ngerman}, the correct language will be used + by \Package{scrdate}. If you are using another language selection you will + get (US-)English names. \end{Explain} \EndIndex{Package}{scrdate} -\section{Getting the Time with Package \Package{scrtime}} +\section{Getting the Time with Package} \label{sec:datetime.scrtime} \BeginIndex{Package}{scrtime} @@ -218,20 +407,37 @@ determined using \Macro{settime}.% \EndIndex{Cmd}{settime} \begin{Declaration} - \Option{12h}\\ - \Option{24h} + \KOption{12h}\PName{simple-switch}% \end{Declaration}% -\BeginIndex{Option}{12h}\BeginIndex{Option}{24h}% -Using the options \Option{12h} and \Option{24h} one can select whether -the result of \Macro{thistime} and \Macro{thistime*} is in 12- or in -24-hour format. The default is \Option{24h}. The option has no effect -on the results of \Macro{thistime} and \Macro{thistime*} if -\Macro{settime} is used.% -\EndIndex{Option}{12h}\EndIndex{Option}{24h} +\BeginIndex{Option}{12h~=\PName{simple switch}}% +\BeginIndex{Option}{24h}% +With option \Option{12h}\ChangedAt{v3.05a}{\Package{scrtime}} one can select +whether the result of \Macro{thistime} and \Macro{thistime*} is in 12- or in +24-hour format. The option understands the values for simple-switch listed in +\autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch}. The option +without a value is same like \OptionValue{12h}{true} and therefore +12-hour-format will be used. The default is \Option{24h}. + +You may use this option either as a global option in the optional argument of +\Macro{documentclass}, as a package option in the optional argument of +\Macro{usepackage} or after loading the package using \Macro{KOMAoptions} or +\Macro{KOMAoption} (see, e.\,g., \autoref{sec:typearea.options}, +\autopageref{desc:typearea.cmd.KOMAoptions}). The option has no effect on the +results of \Macro{thistime} and \Macro{thistime*} if \Macro{settime} is used. + +Only\textnote{Attention!} for compatibility with former releases of +\Package{scrtime} also option \Option{24h} will switch to 24-hour format if +used in the optional argument of \Macro{documentclass} or +\Macro{usepackage}. Nevertheless, you should not use this option any longer.% +\EndIndex{Option}{24h}% +\EndIndex{Option}{12h~=\PName{simple switch}}% +% \EndIndex{Package}{scrtime} +\endinput + %%% Local Variables: %%% mode: latex -%%% coding: iso-latin-1 +%%% coding: us-ascii %%% TeX-master: "../guide" %%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/scrextend.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/scrextend.tex new file mode 100644 index 00000000000..05e7dea5eb5 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/scrextend.tex @@ -0,0 +1,236 @@ +% ====================================================================== +% scrextend.tex +% Copyright (c) Markus Kohm, 2002-2012 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ---------------------------------------------------------------------- +% scrextend.tex +% Copyright (c) Markus Kohm, 2002-2012 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% +% Package scrextend for Document Writers +% Maintained by Markus Kohm +% +% ---------------------------------------------------------------------- +% +% Paket scrextend fuer Dokument-Autoren +% Verwaltet von Markus Kohm +% +% ====================================================================== + +\ProvidesFile{scrextend.tex}[2012/02/16 KOMA-Script package scrextend] +\translator{Markus Kohm} + +% Date of the translated German file: 2008/09/12 + +\chapter{Making Basic Feature of the \KOMAScript{} Classes Available with + Package \Package{scrextend} while Using Other Classes} +\labelbase{scrextend} +\BeginIndex{Package}{scrextend}% + +There are several features, that are shared by all \KOMAScript{} classes. This +means not only the classes \Class{scrbook}, \Class{scrreprt}, and +\Class{scrartcl}, that has been made as a drop-in replacement for the standard +classes \Class{book}, \Class{report}, and \Class{article}, but also for +several features of the \KOMAScript{} class \Class{scrlttr2}, the successor of +\Class{scrlettr}, that may be used for letters. These basic features, that may +be found in the above-named classes, are also provided by package +\Package{scrextend} since \KOMAScript{} release~3.00. This package shouldn't +be used together with a \KOMAScript{} class, but may be used together with +many other classes. Package \Package{scrextend} would recognize, if it would +be used with a \KOMAScript{} class, and would terminate with a warning message +in that case. + +Beside the features from this chapter, there are additional common features, +that are mainly provides for authors of classes and packages. These may be +found in \autoref{cha:scrbase} from \autopageref{cha:scrbase}. The package +\Package{scrbase}\important{\Package{scrbase}}, that has been described at +that chapter, was designed to be used mainly by authors of classes and +packages. Package \Package{scrextend} and all \KOMAScript{} classes also use +that package. + +\KOMAScript{} classes and package \Package{scrextend} also load package +\Package{scrlfile}\important{\Package{scrlfile}} described in +\autoref{cha:scrlfile} from \autopageref{cha:scrlfile}. Because of this the +features of that package are also available when using \Package{scrextend}. + +\iftrue % Umbruchkorrekturtext +In difference to the above, only the \KOMAScript{} classes \Class{scrbook}, +\Class{scrreprt}, and \Class{scrartcl} load package \Package{tocbasic} (see +\autoref{cha:tocbasic} from \autopageref{cha:tocbasic}), that has been +designed to be used by authors of classes and packages too. Because of this +\Package{scrextend} doesn't provide the features of this package. Nevertheless +you may use \Package{tocbasic} together with \Package{scrextend}.% +\fi + +\LoadCommon{0}% \section{Early or late Selection of Options} + +\LoadCommon{1}% \section{Compatibility with Earlier Versions of \KOMAScript} + + +\section{Optional, Extended Features} +\label{sec:scrextend.optionalFeatures} + +Package \Package{scrextend} provides some optional, extended features. Such +features are not available by default, but may be activated +additionally. These features are optional, i.\,e., because the conflict with +features of the standard classes of often used packages. + +\begin{Declaration} + \KOption{extendedfeature}\PName{feature} +\end{Declaration} +\BeginIndex{Option}{extendedfeature~=\PName{feature}}% +With this option an extended \PName{feature} of \Package{scrextend} may be +activated. Option \Option{extendedfeature} is available only while loading the +package \Package{scrextend}. User have to set the option in the optional +argument of \Macro{usepackage}\OParameter{optional + argument}\PParameter{scrextend}. +\iffree{% + An overview of all available optional features is shown in + \autoref{tab:scrextend.optionalFeatures}. + + \begin{table} + \caption[{optional available extended features of + \Package{scrextend}}]{overview of the optional available extended + features of \Package{scrextend}} + \label{tab:scrextend.optionalFeatures} + \begin{desctabular} + \entry{\PName{title}}{% + extends the title pages to the features of the \KOMAScript{} classes; + this means not only the commands for the title page but also option + \Option{titlepage} (see \autoref{sec:scrextend.titlepage}, from + \autopageref{sec:scrextend.titlepage})% + }% + \end{desctabular} + \end{table} +}{% + \par% + Currently the only available extended \PName{feature} is + \PValue{title}\IndexOption[indexmain]{extendedfeature~=\PValue{title}}% + \important[i]{\begin{tabular}[t]{@{}r@{}} + \KOption{extendedfeature}\hspace*{1em}\\\PValue{title}\end{tabular}}. + This \PName{feature} provides the title pages of the \KOMAScript{} + classes. See \autoref{sec:scrextend.titlepage} from + \autopageref{sec:scrextend.titlepage} for description of these kind of title + pages.% +}% +% +\EndIndex{Option}{extendedfeature~=\PName{feature}}% + + +\LoadCommon{2}% \section{Draft Mode} + +\section{Selection of the Document Font Size} +\LoadCommon{4}% +% +\EndIndex{Option}{fontsize~=\PName{size}}% +% +\EndIndex{}{font>size} + + +\LoadCommon{5}% \section{Text Markup} + +With command \Macro{usekomafont} the current font style may be changed into +the font style, that has been defined for the given \PName{element}. + +\begin{Example} + Assumed, you want to print the document title in a serif font and with red + color. You may do this using: +\begin{lstcode} + \setkomafont{title}{\color{red}} +\end{lstcode} + Package \Package{color} or \Package{xcolor} will be needed for command + \lstinline|\color{red}|. The additional usage of \Macro{normalfont} is not + needed in this case, because it is already part of the definition of the + title itself. This\textnote{Attention!} example also needs option + \OptionValue{extendedfeature}{title} (see + \autoref{sec:scrextend.optionalFeatures}, + \autopageref{desc:scrextend.option.extendedfeature}). +\end{Example} +% +\EndIndex{Cmd}{setkomafont}% +\EndIndex{Cmd}{addtokomafont}% +\EndIndex{Cmd}{usekomafont}% +% +\EndIndex{}{font>style}% +\EndIndex{}{text>markup} + +\LoadCommon{14} %\section{Document Title Pages} + +\LoadCommon{7}% \section{Detection of Odd and Even Pages} + +\section{Head and Foot Using Predefined Page Styles} +\label{sec:scrextend.pagestyle} + +One of the basic features of a document is the page +style\Index[indexmain]{page>style}. Page style in \LaTeX{} means mainly header +and footer of the page. Package \Package{scrextend} doesn't define any page +style, but it uses and expects the definition some page styles. + + +\begin{Declaration} + \Macro{titlepagestyle} +\end{Declaration}% +\BeginIndex{Cmd}{titlepagestyle}% +\Index{title>page style}% +Some pages have a different page style automatically selected using +\Macro{thispagestyle}. With \Package{scrextend} this will be used currently +for the page with the in-page title if and only if option +\OptionValue{extendedfeature}{title} has been used (see +\autoref{sec:scrextend.optionalFeatures}, +\autopageref{desc:scrextend.option.extendedfeature}). In this case the page +style stored at \Macro{thispagestyle} will be used. Default for +\Macro{thispagestyle} is \Pagestyle{plain}\IndexPagestyle{plain}. This page +style is predefined by the \LaTeX{} kernel. So it should be available always.% +\EndIndex{Cmd}{titlepagestyle}% + +\LoadCommon{8}% \section{Interleaf Pages} + +\LoadCommon{9}% \section{Footnotes} +\LoadCommon{10}% -"- +\LoadCommon{11}% -"- + +\LoadCommon{15}% \section{Dicta} + +\LoadCommon{12}% \section{Lists} + +\LoadCommon{13}% \section{Margin Notes} +% +\EndIndex{Package}{scrextend}% + +\endinput + +%%% Local Variables: +%%% mode: latex +%%% mode: flyspell +%%% ispell-local-dictionary: "english" +%%% coding: us-ascii +%%% TeX-master: "../guide.tex" +%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/scrhack.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/scrhack.tex new file mode 100644 index 00000000000..fce50ee9fda --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/scrhack.tex @@ -0,0 +1,164 @@ +% ====================================================================== +% scrhack.tex +% Copyright (c) Markus Kohm, 2001-2012 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ---------------------------------------------------------------------- +% scrhack.tex +% Copyright (c) Markus Kohm, 2001-2012 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% +% Chapter about scrhack of the KOMA-Script guide +% Maintained by Markus Kohm +% +% ---------------------------------------------------------------------------- +% +% Kapitel ueber scrhack in der KOMA-Script-Anleitung +% Verwaltet von Markus Kohm +% +% ============================================================================ + +\ProvidesFile{scrhack.tex}[2012/03/06 KOMA-Script guide (chapter: scrhack)] +\translator{Markus Kohm} + +% Date of the translated German file: 2011/10/07 +\chapter{Hacks for Third-Party Packages by Package \Package{scrhack}} +\labelbase{scrhack} + +\BeginIndex{Package}{scrhack} +Some packages from other authors may have problems with \KOMAScript{}. In my +opinion some packages could be improved. With some packages this makes only +sense, if \KOMAScript{} was used. With some other packages the package author +has another opinion. Sometimes proposals was never answered. Package +\Package{scrhack} contains all those improvement proposals for other +packages. This means, \Package{scrhack} redefines macros of packages from +other authors! The redefinitions are only activated, if those packages were +loaded. Users may prevent \Package{scrhack} from redefining macros of +individual packages. + +\section{State of Development Note} +\label{scr:scrhack.draft} + +Though this package is part of \KOMAScript{} for long time and though it has +been used by lot of users, there's one problem with it. While redefinition of +macros of foreign packages, it depend on the exact definition an usage of +those macros. This means additionally, that it depends on dedicated releases +of those packages. If a unknown release of such a package will be used, +\Package{scrhack} eventually couldn't do the needed patch. Contrary, in +extreme cases the patch may cause errors and fault. + +So \Package{scrhack} has to be continuously modified to fit new releases of +foreign packages and will never be finished. Because of this \Package{scrhack} +will stay in beta state forever. Though the usage will generally be a +benefit, the correct function couldn't be guaranteed forever. + +\LoadCommon{0} + +\section{Usage of \Package{tocbasic}} +\label{sec:scrhack.improvement} + +In the early days of \KOMAScript{} users asked for handling lists of floats, +that will be generated using package +\Package{float}\IndexPackage{float}\important{\Package{float}}, like list of +figures and list of tables, that are generated by \KOMAScript{} itself. At +that time the \KOMAScript{} author contacted the author of \Package{float}, to +submit a proposal of an interface with support for such an extention. A +somehow modified version of that interface has been implemented with commands +\Macro{float@listhead}\IndexCmd[indexmain]{float@listhead} and +\Macro{float@addtolists}\IndexCmd[indexmain]{float@addtolists}. + +Sometimes later it has appeared, that those two commands were not flexible +enough to support all of the comprehensive features supported by +\KOMAScript. Unfortunately the author of \Package{float} has finalized the +development already, so nobody should expect furthor changes of this package. + +Other package authors have also inherited these commands. Thereby it appeared, +that the implementation in some packages, even in package \Package{float}, +will need a certain package loading order, though all these packages are not +related to each other. Wrong loading order may result in an error or break the +functionality of the commands. + +To clear all this disadvantages and problems, \KOMAScript{} officially doesn't +support this old interface any more. Instead \KOMAScript{} warns, if the old +interface is used. At the same time package +\Package{tocbasic}\IndexPackage{tocbasic}\important{\Package{tocbasic}} (see +\autoref{cha:tocbasic}) has been designed and implemented as a central +interface for management of table of contents, lists of floats and similar +lists. Usage of this package provides much more advantages and features than +the two old commands, that has been alluded above. + +Though the effort using that package is very small, the authors of most of the +packages, that are using the old interface, haven't done so currently. Because +of this \Package{scrhack} contains appropriate modifications of packages +\Package{float}\IndexPackage{float}\important{\Package{float}, + \Package{floatrow}, \Package{listings}}, +\Package{floatrow}\IndexPackage{floatrow}, and +\Package{listings}\IndexPackage{listings}. Loading \Package{scrhack} is enough +to make these packages recognize not only setting of \KOMAScript{} option +\Option{listof}\IndexOption{listof~=\PName{setting}}, but also language +switching of package \Package{babel}\IndexPackage{babel}. More information +about the features provided by the changeover to package \Package{tocbasic} +may be found in \autoref{sec:tocbasic.toc}. + +If the modification for any of the packages is not wanted or causes problems, +then is may be deactivated selectively with option +\OptionValue{float}{false}\IndexOption[indexmain]{float~=\PValue{false}}, +\OptionValue{floatrow}{false}\IndexOption[indexmain]{floatrow~=\PValue{false}}, +or +\OptionValue{listings}{false}\IndexOption[indexmain]{listings~=\PValue{false}}. +Please note\textnote{Attention!} that changing these options after loading the +corresponding package would do it! + + +\section{Special Case \Package{hyperref}} +\label{sec:scrhack.hyperref} + +Before version~6.79h package \Package{hyperref} set the link anchors after +instead of before the heading of star version commands like \Macro{part*}, +\Macro{chapter*}, and so on. In the meantime this problem have been solved at +the \KOMAScript{} author's suggestion. But because the \KOMAScript{} author +wasn't patient enough to wait more than a year for the change of +\Package{hyperref}, a corresponding patch has been added to +\Package{scrhack}. This may be deactivated by +\OptionValue{hyperref}{false}. Nevertheless, it is recommended to use the +current \Package{hyperref} release. In this case \Package{scrhack} does +automatically deactivate the not longer needed patch.% +% +\EndIndex{Package}{scrhack} + +\endinput + +%%% Local Variables: +%%% mode: latex +%%% mode: flyspell +%%% ispell-local-dictionary: "english" +%%% coding: us-ascii +%%% TeX-master: "../guide" +%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/scrlfile.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/scrlfile.tex index 3c5153ee853..a3bfa1aab2e 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/scrlfile.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/scrlfile.tex @@ -45,79 +45,73 @@ % % ============================================================================ -\ProvidesFile{scrlfile.tex}[2007/09/26 KOMA-Script guide (chapter: scrlfile)] +\ProvidesFile{scrlfile.tex}[2012/02/24 KOMA-Script guide (chapter: scrlfile)] \translator{Gernot Hassenpflug\and Markus Kohm} -% Date of translated german file: 2007/08/07 +% Date of translated german file: 2012/02/25 \chapter{Control Package Dependencies with \Package{scrlfile}} \labelbase{scrlfile} \BeginIndex{Package}{scrlfile} -\begin{Explain} - The introduction of {\LaTeXe} in 1994 brought many changes in the - handling of {\LaTeX} extensions. Today the package author has many - macros available to determine if another package or class is - employed and whether specific options are used. The author can load - other packages or can specify options in the the case that the - package is loaded later. This has led to the expectation that the - order in which package are loaded would not be important. Sadly - this hope has not been fulfilled. -\end{Explain} +The introduction of {\LaTeXe} in 1994 brought many changes in the +handling of {\LaTeX} extensions. Today the package author has many +macros available to determine if another package or class is +employed and whether specific options are used. The author can load +other packages or can specify options in the the case that the +package is loaded later. This has led to the expectation that the +order in which package are loaded would not be important. Sadly +this hope has not been fulfilled. \section{About Package Dependencies} \label{sec:scrlfile.dependency} -\begin{Explain} - More and more frequently, different packages either newly define or - redefine the same macro again. In such a case the order in which a - package is loaded becomes very important. For the user it sometimes - becomes very difficult to understand the behaviour, and in some - cases the user wants only to react to the loading of a package. This - too is not really a simple matter. - - Let us take the simple example of loading the package - \Package{longtable} with a {\KOMAScript} document class. The - \Package{longtable} package defines table captions very well suited - to the standard classes, but the captions are totally unsuitable for - documents using {\KOMAScript} and also do not react to the options - of the provided configuration commands. In order to solve this - problem, the \Package{longtable} package commands which are - responsible for the table captions need to be redefined. However, by - the time the \Package{longtable} package is loaded, the - {\KOMAScript} class has already been processed. - - Until the present, the only way for {\KOMAScript} to solve this - problem was to delay the redefinition until the beginning of the - document with help of the macro \Macro{AtBeginDocument}. If the - user wants to change the definitions too, it is recommended to do - this in the preamble of the document. However, this is impossible - since later at \Macro{begin}\PParameter{document} {\KOMAScript} will - again overwrite the user definition with its own. Therefore, the - user too has to delay his definition with \Macro{AtBeginDocument}. + +More and more frequently, different packages either newly define or +redefine the same macro again. In such a case the order in which a +package is loaded becomes very important. For the user it sometimes +becomes very difficult to understand the behaviour, and in some +cases the user wants only to react to the loading of a package. This +too is not really a simple matter. + +Let us take the simple example of loading the package \Package{longtable} with +a {\KOMAScript} document class. The \Package{longtable} package defines table +captions very well suited to the standard classes, but the captions are +totally unsuitable for documents using {\KOMAScript} and also do not react to +the options of the provided configuration commands. In order to solve this +problem, the \Package{longtable} package commands which are responsible for +the table captions need to be redefined. However, by the time the +\Package{longtable} package is loaded, the {\KOMAScript} class has already +been processed. + +Until the present, the only way for {\KOMAScript} to solve this problem was to +delay the redefinition until the beginning of the document with help of the +macro \Macro{AtBeginDocument}. If the user wants to change the definitions +too, it is recommended to do this in the preamble of the document. However, +this is impossible since later at \Macro{begin}\PParameter{document} +{\KOMAScript} will again overwrite the user definition with its own. +Therefore, the user too has to delay his definition with +\Macro{AtBeginDocument}. - Actually, {\KOMAScript} should not need to delay the redefinition - until \Macro{begin}\PParameter{document}. It would be enough to - delay exactly until the package \Package{longtable} has been - loaded. Unfortunately, the {\LaTeX} kernel does not define - appropriate commands. The package \Package{scrlfile} provides - redress here. +Actually, {\KOMAScript} should not need to delay the redefinition until +\Macro{begin}\PParameter{document}. It would be enough to delay exactly until +the package \Package{longtable} has been loaded. Unfortunately, the {\LaTeX} +kernel does not define appropriate commands. The package \Package{scrlfile} +provides redress here. - Likewise, it might be conceivable that before a package is loaded - one would like to save the definition of a macro in a help-macro, in - order to restore its meaning after the package has been loaded. The - package \Package{scrlfile} allows this, too. +Likewise, it might be conceivable that before a package is loaded one would +like to save the definition of a macro in a help-macro, in order to restore +its meaning after the package has been loaded. The package \Package{scrlfile} +allows this, too. - The employment of \Package{scrlfile} is not limited to package - dependencies only. Even dependencies on any other file can be - considered. For example, the user can be warned if the not - uncritical file \File{french.ldf} has been loaded. +The employment of \Package{scrlfile} is not limited to package dependencies +only. Even dependencies on any other file can be considered. For example, +the user can be warned if the not uncritical file \File{french.ldf} has been +loaded. - Although the package is particularly of interest for package - authors, there are of course applications for normal {\LaTeX} users, - too. Therefore, this chapter gives and explains examples for both - groups of users. -\end{Explain} +Although the package is particularly of interest for package authors, there +are of course applications for normal {\LaTeX} users, too. Therefore, this +chapter gives and explains examples for both groups of users. \section{Actions Prior to and After Loading} @@ -140,29 +134,25 @@ only executed before the next time \PName{file} is loaded. been loaded. If \PName{file} is never loaded then the \PName{instructions} will never be executed. -\begin{Explain} - In order to implement those features \Package{scrlfile} redefines - the well known {\LaTeX} command \Macro{InputIfFileExists}. If this - macro does not have the expected definition then \Package{scrlfile} - issues a warning. This is for the case that in future {\LaTeX} - versions the macro can have a different definition, or that another - package has already redefined it. +In order to implement those features \Package{scrlfile} redefines the well +known {\LaTeX} command \Macro{InputIfFileExists}. If this macro does not have +the expected definition then \Package{scrlfile} issues a warning. This is for +the case that in future {\LaTeX} versions the macro can have a different +definition, or that another package has already redefined it. - The command \Macro{InputIfFileExists} is used by {\LaTeX} every time - a file is to be loaded. This is independent of whether the actual - load command is \Macro{include}, \Macro{LoadClass}, - \Macro{documentclass}, \Macro{usepackage}, \Macro{RequirePackage}, - or similar. Exceptionally, the command - \begin{lstlisting} - \input foo - \end{lstlisting} - loads the file \texttt{foo} without utilizing - \Macro{InputIfFileExists}. Therefore, one should always use - \begin{lstlisting} - \input{foo} - \end{lstlisting} - instead. Notice the parentheses surrounding the file name! -\end{Explain} +The command \Macro{InputIfFileExists} is used by {\LaTeX} every time a file is +to be loaded. This is independent of whether the actual load command is +\Macro{include}, \Macro{LoadClass}, \Macro{documentclass}, \Macro{usepackage}, +\Macro{RequirePackage}, or similar. Exceptionally, the command +\begin{lstcode}[belowskip=\dp\strutbox] + \input foo +\end{lstcode} +loads the file \texttt{foo} without utilizing +\Macro{InputIfFileExists}. Therefore, one should always use +\begin{lstcode}[belowskip=\dp\strutbox] + \input{foo} +\end{lstcode} +instead. Notice the parentheses surrounding the file name!% % \EndIndex{Cmd}{BeforeFile}% \EndIndex{Cmd}{AfterFile}% @@ -173,11 +163,11 @@ been loaded. If \PName{file} is never loaded then the \end{Declaration}% \BeginIndex{Cmd}{BeforeClass}% \BeginIndex{Cmd}{BeforePackage}% -These two commands work in the same way as \Macro{BeforeFile}. The -only difference is that the document class \PName{class} and the -{\LaTeX} package \PName{package} are specified with their names and -not with their file names. That means that the file extensions -\File{.cls} and \File{.sty} can be omitted. +These two commands work in the same way as \Macro{BeforeFile}. The only +difference is that the document class \PName{class} and the {\LaTeX} package +\PName{package} are specified with their names and not with their file names. +That means that the file extensions \File{.cls} and \File{.sty} can be +omitted.% % \EndIndex{Cmd}{BeforeClass}% \EndIndex{Cmd}{BeforePackage}% @@ -185,88 +175,121 @@ not with their file names. That means that the file extensions \begin{Declaration} \Macro{AfterClass}\Parameter{class}\Parameter{instructions}\\ \Macro{AfterClass*}\Parameter{class}\Parameter{instructions}\\ + \Macro{AfterClass+}\Parameter{class}\Parameter{instructions}\\ + \Macro{AfterClass!}\Parameter{class}\Parameter{instructions}\\ + \Macro{AfterAtEndOfClass}\Parameter{class}\Parameter{instructions}\\ \Macro{AfterPackage}\Parameter{package}\Parameter{instructions}\\ - \Macro{AfterPackage*}\Parameter{package}\Parameter{instructions} + \Macro{AfterPackage*}\Parameter{package}\Parameter{instructions}\\ + \Macro{AfterPackage+}\Parameter{package}\Parameter{instructions}\\ + \Macro{AfterPackage!}\Parameter{package}\Parameter{instructions}\\ + \Macro{AfterAtEndOfPackage}\Parameter{package}\Parameter{instructions} \end{Declaration}% \BeginIndex{Cmd}{AfterClass}% \BeginIndex{Cmd}{AfterClass*}% +\BeginIndex{Cmd}{AfterClass+}% +\BeginIndex{Cmd}{AfterClass!}% +\BeginIndex{Cmd}{AfterAtEndOfClass}% \BeginIndex{Cmd}{AfterPackage}% \BeginIndex{Cmd}{AfterPackage*}% +\BeginIndex{Cmd}{AfterPackage+}% +\BeginIndex{Cmd}{AfterPackage!}% +\BeginIndex{Cmd}{AfterAtEndOfPackage}% The commands \Macro{AfterClass} and \Macro{AfterPackage} work in the same way as \Macro{AfterFile}. The only difference is that the document class \PName{class} and the {\LaTeX} package \PName{package} are specified with their names and not with their file names. That means that the file extensions \File{.cls} and \File{.sty} can be -omitted. The starred versions execute the \PName{instructions} not -only at next time that the class or package is loaded, but also -immediately if the class or package has been loaded already. -% -\EndIndex{Cmd}{AfterClass}% -\EndIndex{Cmd}{AfterClass*}% -\EndIndex{Cmd}{AfterPackage}% -\EndIndex{Cmd}{AfterPackage*}% +omitted. + +The\important[i]{\Macro{AfterClass*}\\\Macro{AfterPackage*}} starred versions +are a little bit different. They execute the \PName{instructions} not only at +next time that the class or package is loaded, but also immediately if the +class or package has been loaded already. + +The\important[i]{\Macro{AfterClass+}\\\Macro{AfterPackage+}} +plussed\ChangedAt{v3.09}{\Package{scrlfile}} version executes the +\PName{instructions} after loading of the class or package has been +finished. The difference to the starred version is only valid, if loading of +the class or package already started but hasn't been finished +yet. Nevertheless, \PName{instructions} will be executed before the +instructions of \Macro{AtEndOfClass} or \Macro{AtEndOfPackage} when loading of +the class or package hasn't been finished already. + +If\important[i]{\Macro{AfterClass!}\\\Macro{AfterPackage!}} a class uses +\Macro{AtEndOfClass} or a package uses \Macro{AtEndOfPackage} to execute +instructions after the class of package file has been loaded completely, and +if you want to execute \PName{instructions} after the instructions of these +commands, you may use the exclamation mark version, +\Macro{AfterClass!}\ChangedAt{v3.09}{\Package{scrlfile}} respectively +\Macro{AfterPackage!}. + +If\important[i]{\Macro{AfterAtEndOfClass}\\\Macro{AfterAtEndOfPackage}} you +want to do this only in the case the class or package will be loaded later, +and if you want to execute \PName{instructions} outside the context of the +class or package, that will be loaded, you may use +\Macro{AfterAtEndOfClass}\ChangedAt{v3.09}{\Package{scrlfile}} for classes and +\Macro{AfterAtEndOfPackage} for packages. \begin{Example} In the following, an example for class and package authors shall be given. It shows how {\KOMAScript} itself employs the new commands. The class \Class{scrbook} contains: -\begin{lstlisting} -\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% - Please update hyperref to at least version - 6.71b}}} -\end{lstlisting} -Old versions of the \Package{hyperref} package redefine a macro of the -\Class{scrbook} class in such a way that does not work with newer -{\KOMAScript} versions. New versions of \Package{hyperref} desist -from making these changes if a new {\KOMAScript} version is detected. -For the case that \Package{hyperref} is loaded at a later stage, -therefore, the code in \Class{scrbook} verifies that a acceptable -\Package{hyperref} version is used. If not, the command issues a -warning. - -At other places in three {\KOMAScript} classes the following can be -found: -\begin{lstlisting} +\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% + Please update hyperref to at least version + 6.71b}}} +\end{lstcode} + Old versions of the \Package{hyperref} package redefine a macro of the + \Class{scrbook} class in such a way that does not work with newer + {\KOMAScript} versions. New versions of \Package{hyperref} desist + from making these changes if a new {\KOMAScript} version is detected. + For the case that \Package{hyperref} is loaded at a later stage, + therefore, the code in \Class{scrbook} verifies that a acceptable + \Package{hyperref} version is used. If not, the command issues a + warning. + + At other places in three {\KOMAScript} classes the following can be + found: +\begin{lstcode} \AfterPackage{caption2}{% \renewcommand*{\setcapindent}{% -\end{lstlisting} -After the package \Package{caption2} has been loaded, and only if it -has been loaded, {\KOMAScript} redefines its own command -\Macro{setcapindent}. The exact code of the redefinition is not -important. It should only be noted that \Package{caption2} takes -control of the \Macro{caption} macro and that therefore the normal -definition of the \Macro{setcapindent} macro would become ineffective. -The redefinition improves the collaboration with \Package{caption2}. - -There are however also useful examples for normal {\LaTeX} user. -Suppose a document that should be available as a PS file, using -{\LaTeX} and dvips, as well as a PDF file, using pdf{\LaTeX}. In -addition, the document should contain hyperlinks. In the list of -tables there are entries longer than one line. This is not a problem -for the pdf{\LaTeX} method, since here hyperlinks can be broken across -multiple lines. However, if a \Package{hyperref} driver for dvips or -hyper{\TeX} is used then this is not possible. In this case one -desires that for the \Package{hyperref} setup \Option{linktocpage} is -used. The decision which \Package{hyperref} driver to use happens -automatically via \File{hyperref.cfg}. The file has, for example, the -following content: -\begin{lstlisting} +\end{lstcode} + After the package \Package{caption2} has been loaded, and only if it + has been loaded, {\KOMAScript} redefines its own command + \Macro{setcapindent}. The exact code of the redefinition is not + important. It should only be noted that \Package{caption2} takes + control of the \Macro{caption} macro and that therefore the normal + definition of the \Macro{setcapindent} macro would become ineffective. + The redefinition improves the collaboration with \Package{caption2}. + + There are however also useful examples for normal {\LaTeX} user. Suppose a + document that should be available as a PS file, using {\LaTeX} and dvips, as + well as a PDF file, using pdf{\LaTeX}. In addition, the document should + contain hyperlinks. In the list of tables there are entries longer than one + line. This is not a problem for the pdf{\LaTeX} method, since here + hyperlinks can be broken across multiple lines. However, if a + \Package{hyperref} driver for dvips or hyper{\TeX} is used then this is not + possible. In this case one desires that for the \Package{hyperref} setup + \Option{linktocpage} is used. The decision which \Package{hyperref} driver + to use happens automatically via \File{hyperref.cfg}. The file has, for + example, the following content: +\begin{lstcode} \ProvidesFile{hyperref.cfg} \@ifundefined{pdfoutput}{\ExecuteOptions{dvips}} {\ExecuteOptions{pdftex}} \endinput -\end{lstlisting} +\end{lstcode} -All the rest can now be left to \Macro{AfterFile}. -\begin{lstlisting} + All the rest can now be left to \Macro{AfterFile}. +\begin{lstcode} \documentclass{article} \usepackage{scrlfile} \AfterFile{hdvips.def}{\hypersetup{linktocpage}} @@ -281,28 +304,386 @@ All the rest can now be left to \Macro{AfterFile}. allow one to write a short caption in the list of figures.} \end{figure} \end{document} -\end{lstlisting} -If now the \Package{hyperref} drivers \Option{hypertex} or -\Option{dvips} are used, then the useful \Package{hyperref} option -\Option{linktocpage} will be set. In the pdf{\LaTeX} case, the option -will not be set, since in that case another \Package{hyperref} driver, -\File{hpdftex.def}, will be used. That means neither \File{hdvips.def} -nor \File{hypertex.def} will be loaded. +\end{lstcode} + If now the \Package{hyperref} drivers \Option{hypertex} or + \Option{dvips} are used, then the useful \Package{hyperref} option + \Option{linktocpage} will be set. In the pdf{\LaTeX} case, the option + will not be set, since in that case another \Package{hyperref} driver, + \File{hpdftex.def}, will be used. That means neither \File{hdvips.def} + nor \File{hypertex.def} will be loaded. +\end{Example} + +Furthermore\textnote{Hint!}, the loading of package \Package{scrlfile} and +the \Macro{AfterFile} statement can be written in a private +\File{hyperref.cfg}. If you do so, then instead of \Macro{usepackage} the +macro \Macro{RequirePackage} ought be used (see \cite{latex:clsguide}). The +new lines have to be inserted directly after the \Macro{ProvidesFile} line, +thus immediately prior to the execution of the options \Option{dvips} or +\Option{pdftex}.% +% +\EndIndex{Cmd}{AfterClass}% +\EndIndex{Cmd}{AfterClass*}% +\EndIndex{Cmd}{AfterClass+}% +\EndIndex{Cmd}{AfterClass!}% +\EndIndex{Cmd}{AfterAtEndOfClass}% +\EndIndex{Cmd}{AfterPackage}% +\EndIndex{Cmd}{AfterPackage*}% +\EndIndex{Cmd}{AfterPackage+}% +\EndIndex{Cmd}{AfterPackage!}% +\EndIndex{Cmd}{AfterAtEndOfPackage}% + + +\begin{Declaration} + \Macro{BeforeClosingMainAux}\Parameter{instructions}\\ + \Macro{AfterReadingMainAux}\Parameter{instructions}% +\end{Declaration}% +\BeginIndex{Cmd}{BeforeClosingMainAux}% +\BeginIndex{Cmd}{AfterReadingMainAux}% +Package authors often want to write something into the \File{aux}-file after +the last document page have been shipped out. To do so, often +\begin{lstcode}[belowskip=\dp\strutbox] + \AtEndDocument{% + \if@filesw + \write\@auxout{% + \protect\writethistoaux% + }% + \fi + } +\end{lstcode} +is used. Nevertheless this is not a real solution of the problem. If the last +page of the document already have been shipped out before +\Macro{end}\PParameter{document}, the code above will not result in any +writing into the \File{aux}-file. If someone would try to fix this new problem +using \Macro{immediate} just before \Macro{write}, the inverse problem would +occur: If the last page wasn't shipped out before +\Macro{end}\PParameter{document} the \Macro{writethistoaux} would be written +into \File{aux}-file before ship-out the last page. Another often seen +suggestion for this problem therefore is: +\begin{lstcode}[belowskip=\dp\strutbox] + \AtEndDocument{% + \if@filesw + \clearpage + \immediate\write\@auxout{% + \protect\writethistoaux% + }% + \fi + } +\end{lstcode} +This suggestion has a disadvantage again: The ship-out of the last page has +been enforced by the \Macro{clearpage}. After that, instructions like +\begin{lstcode}[belowskip=\dp\strutbox] + \AtEndDocument{% + \par\vspace*{\fill}% + Note at the end of the document.\par + } +\end{lstcode} +wouldn't any longer output the note at the end of the last page of the +document but at the end of one more page. Additionally \Macro{writethistoaux} +would be written one page to early into the \File{aux}-file again. + +The best solution for this problem would be, to write to the \File{aux}-file +immediately after the final \Macro{clearpage}, that is part of +\Macro{end}\PParameter{document}, but just before closing the +\File{aux}-file. This is the purpose of \Macro{BeforeClosingMainAux}: +\begin{lstcode}[belowskip=\dp\strutbox] + \BeforeClosingMainAux{% + \if@filesw + \immediate\write\@auxout{% + \protect\writethistoaux% + }% + \fi + } +\end{lstcode} +This would be successful even if the final \Macro{clearpage} inside of +\Macro{end}\PParameter{document} wouldn't really ship-out any page or if +someone have had used \Macro{clearpage} in the argument of +\Macro{AtEndDocument}. + +Nevertheless there one important limitation using +\Macro{BeforeClosingMainAux}: You should not use a typeset instruction inside +the \PName{instructions} of \Macro{BeforeClosingMainAux}! If you miss this +limitation the result would be as unpredictable as the results of the +problematic suggestions using \Macro{AtEndDocument} upward. + +Command \Macro{AfterReadingMainAux}\ChangedAt{v3.03}{\Package{scrlfile}} +actually executes the \PName{instructions} just after closing and input of the +\File{aux}-file inside of \Macro{end}\PParameter{document}. This will make +sense only in some cases, e.\,g., to show statistic information, that will be +valid only after input of the \File{aux}-file, or to write such information +into the \File{log}-file, or to implement additional \emph{rerun} +requests. Typeset instructions are even more critical inside these +\PName{instructions} that inside the argument of \Macro{BeforeClosingMainAux}.% +% +\EndIndex{Cmd}{AfterReadingMainAux}% +\EndIndex{Cmd}{BeforeClosingMainAux}% + + +\section{Replacing Files at Input} +\label{sec:scrlfile.replace} + +All previous sections in this chapter describe commands to execute +instructions before or after input of a file, class, or package. Package +\Package{scrlfile} also provides commands to input another file, class, or +package instead of the one, that has been declared. + + +\begin{Declaration} + \Macro{ReplaceInput}\Parameter{source file name}% + \Parameter{replacement file name}% +\end{Declaration}% +\BeginIndex{Cmd}{ReplaceInput}% +This\ChangedAt{v2.96}{\Package{scrlfile}} command defines a replacement for +the file of the first argument: \PName{source file name}, by the file of the +second argument: \PName{replacement file name}. If \LaTeX{} will be instructed +to input the file with \PName{source file name} at any time afterward, the +file with the \PName{replacement file name} will be input instead. The +replacement definition will be valid for all files, that the user will input +with \Macro{InputIfFileExists} and for all files, that will be input with a +command, that uses \Macro{InputIfFileExists} internally. To do so, +\Package{scrlfile} redefined \Macro{InputIfFileExists}. + +\begin{Example} + You want \LaTeX{} to input file \File{\Macro{jobname}.xua} instead of file + \File{\Macro{jobname.aux}}. This may be done using +\begin{lstcode} + \ReplaceInput{\jobname.aux}{\jobname.xua} +\end{lstcode} + Additionally you may replace \File{\Macro{jobname}.xua} by + \File{\Macro{jobname}.uxa} using: +\begin{lstcode} + \ReplaceInput{\jobname.xua}{\jobname.uxa} +\end{lstcode} + This will also replace input of \File{\Macro{jobname}.aux}, i.\,e., while + \Macro{end}\PParameter{document}, by \File{\Macro{jobname}.uxa}. As you see, + the whole replacement chain will be executed. + + Nevertheless a round robin replacement like +\begin{lstcode} + \ReplaceInput{\jobname.aux}{\jobname.xua} + \ReplaceInput{\jobname.xua}{\jobname.aux} +\end{lstcode} + would result in a \emph{stack size error}. So it is not possible to define a + replacement of a file by itself directly or indirectly. +\end{Example} + +In theory is would also be possible to replace a package or class by another +one. But \LaTeX{} would recognize the usage of the wrong file name in this +case. A solution for this problem will be shown next.% +% +\EndIndex{Cmd}{ReplaceInput}% + +\begin{Declaration} + \Macro{ReplaceClass}\Parameter{source class}% + \Parameter{replacement package}\\ + \Macro{ReplacePackage}\Parameter{source package}% + \Parameter{replacement package}% +\end{Declaration}% +\BeginIndex{Cmd}{ReplaceClass}% +\BeginIndex{Cmd}{ReplacePackage}% +Classes\ChangedAt{v2.96}{\Package{scrlfile}}\textnote{Attention!} or packages +should never be replaced using previously described command +\Macro{ReplaceInput}. Using this command would result in a \LaTeX{} warning +because of class or package name not according the file name. +\begin{Example} + You replace package \Package{fancyhdr} by package \Package{scrpage2} + inconsiderately using +\begin{lstcode} + \ReplaceInput{fancyhdr.sty}{scrpage2.sty} +\end{lstcode} + Loading \Package{fancyhdr}, would result in +\begin{lstcode} + LaTeX warning: You have requested `scrpage2', + but the package provides `fancyhdr'. +\end{lstcode} + after this. Users may be confused by such a warning, because they've used, + e.\,g., \Macro{usepackage}\PParameter{fancyhdr} and never requested package + \Package{scrpage2} on their own. But \Package{scrlfile} replaced the input + of \File{fancyhdr.sty} by \File{scrpage2.sty} because of your replacement + definition. \end{Example} +A solution for this problem would be, to use \Macro{ReplaceClass} or +\Macro{ReplacePackage} instead of \Macro{ReplaceFile}. Please note, that in +this case you have to use the names of the classes or packages only instead of +the whole file name. This is similar to usage of \Macro{documentclass} and +\Macro{usepackage}. + +The class replacement would perform for all classes, that will be loaded using +\Macro{documentclass}, \Macro{LoadClassWithOptions}, or \Macro{LoadClass}. The +package replacement would perform for all packages, that will be loaded using +\Macro{usepackage}, \Macro{RequirePackageWithOptions}, or +\Macro{RequirePackage}. -\begin{Explain} - Furthermore, the loading of package \Package{scrlfile} and the - \Macro{AfterFile} statement can be written in a private - \File{hyperref.cfg}. If you do so, then instead of - \Macro{usepackage} the macro \Macro{RequirePackage} ought be used - (see \cite{latex:clsguide}). The new lines have to be inserted - directly after the \Macro{ProvidesFile} line, thus immediately prior - to the execution of the options \Option{dvips} or \Option{pdftex}. -\end{Explain}% +Please\textnote{Attention!} note, that the \PName{replacement class} or the +\PName{replacement package} will be loaded with the same options, the +\PName{source class} or \PName{replacement class} would until it has been +replaced. Replacement of a class or package by a class or package, that +doesn't support a requested option, would result in a warning or even an error +message. But you may declare such missing options using \Macro{BeforeClass} or +\Macro{BeforePackage}. + +\begin{Example} + Assumed, package \Package{oldfoo} should be replaced by + \Package{newfoo}. This may be done using: +\begin{lstcode} + \ReplacePackage{oldfoo}{newfoo} +\end{lstcode} + Assumed the old package provides an option \Option{oldopt}, but the new + package doesn't. Using +\begin{lstcode} + \BeforePackage{newfoo}{% + \DeclareOption{oldopt}{% + \PackageInfo{newfoo}% + {option `oldopt' not supported}% + }}% +\end{lstcode} + additionally, would declare this missing option for package + \Package{newfoo}. This would avoid warning message about unsupported + options. + + However, if package \Package{newfoo} supports an option \Option{newopt}, + that should be used instead of option \Option{oldopt} of old package + \Package{oldfoo}, this may achieved using: +\begin{lstcode} + \BeforePackage{newfoo}{% + \DeclareOption{oldopt}{% + \ExecuteOptions{newopt}% + }}% +\end{lstcode} + Last but not least different default options may be selected, that should be + valid while package replacement: +\begin{lstcode} + \BeforePackage{newfoo}{% + \DeclareOption{oldopt}{% + \ExecuteOptions{newopt}% + }% + \PassOptionsToPackage{newdefoptA,newdefoptB}% + {newfoo}% + } +\end{lstcode} + or somehow more directly: +\begin{lstcode} + \BeforePackage{newfoo}{% + \DeclareOption{oldopt}{% + \ExecuteOptions{newopt}% + }% + }% + \PassOptionsToPackage{newdefoptA,newdefoptB}% + {newfoo}% +\end{lstcode} +\end{Example} + +To replace classes package \Package{scrlfile} has to be loaded before the +class using \Macro{RequirePackage} instead of \Macro{usepackage}. +% +\EndIndex{Cmd}{ReplacePackage}% +\EndIndex{Cmd}{ReplaceClass}% + + +\section{Prevent File Loading} +\label{sec:scrlfile.prevent} + +Especially\ChangedAt{v3.08}{\Package{scrlfile}} classes or packages, that have +been made for companies or institutes, often load a lot of packages not needed +by the classes or packages itself but only because the users often use +them. Now, if such a not essential package causes any kind of problem, loading +of that package has to prevented. For this purpose \Package{scrlfile} again +provides a solution. + +\begin{Declaration} + \Macro{PreventPackageFromLoading}\Parameter{package list} +\end{Declaration} +\BeginIndex{Cmd}{PreventPackageFromLoading}% +Calling this command\ChangedAt{v3.08}{\Package{scrlfile}} before loading a +package using \Macro{usepackage}\IndexCmd{usepackage}, +\Macro{RequirePackage}\IndexCmd{RequirePackage}, or +\Macro{RequirePackageWithOptions}\IndexCmd{RequirePackageWithOptions} will +prevent the package from being loaded effectively if the package is part of +the \PName{package list}. +% +\begin{Example} + Assumed you're working in a company, that uses font Latin-Modern for all + kind of documents. Because of this the company class, \Class{compycls} + contains the lines: +\begin{lstcode} + \RequirePackage[T1]{fontenc} + \RequirePackage{lmodern} +\end{lstcode} + But now, you want to use + X\kern-.125em\lower.5ex\hbox{\reflectbox{E}}\LaTeX{} oder Lua\LaTeX{} the + first time. In this case loading of \Package{fontenc} wouldn't be a good + suggestion and Latin-Modern would be the default font of the recommended + package \Package{fontspec}. Because of this you want to prevent both + packages from being loaded. This may be done, loading the class like this: +\begin{lstcode} + \RequirePackage{scrlfile} + \PreventPackageFromLoading{fontenc,lmodern} + \documentclass{firmenci} +\end{lstcode} +\end{Example} +The example above also shows, that package \Package{scrlfile} may be loaded +before the class. In this case \Macro{RequirePackage}\IndexCmd{RequirePackage} +has to be used, because \Macro{usepackage} before \Macro{documentclass} is not +permitted.% +% +\EndIndex{Cmd}{PreventPackageFromLoading} + +\begin{Declaration} + \Macro{StorePreventPackageFromLoading}\Parameter{\Macro{command}}\\ + \Macro{ResetPreventPackageFromLoading} +\end{Declaration} +\BeginIndex{Cmd}{StorePreventPackageFromLoading}% +\BeginIndex{Cmd}{ResetPreventPackageFromLoading}% +\Macro{StorePreventPackageFromLoad}\ChangedAt{v3.08}{\Package{scrlfile}} +defines \Macro{command} to be the current list of packages, that should be +prevented from being loaded. In opposite to this, +\Macro{ResetPreventPackageFromLoading}\ChangedAt{v3.08}{\Package{scrlfile}} +resets the list of packages, that should be prevented from being loaded. After +\Macro{ResetPreventPackageFromLoading} all packages may be loaded again. +\begin{Example} + Assumed, you really need a package inside your own package and you want the + user inhibit to prevent loading of that package with + \Macro{PreventPackageFromLoading}\IndexCmd{PreventPackageFromLoading}. Because + of this, you reset the package preventing list before loading the package: +\begin{lstcode} + \ResetPreventPackageFromLoading + \RequirePackage{foo} +\end{lstcode} + Unfortunately the complete prevention list of the user would be lost after + that. To avoid this, you first store the list and restore it at the end: +\begin{lstcode} + \newcommand*{\Users@PreventList}{}% + \StorePreventPackageFromLoading\Users@PreventList + \ResetPreventPackageFromLoading + \RequirePackage{foo} + \PreventPackageFromLoading{\Users@PreventList} +\end{lstcode} + Please\textnote{Attention!} note, that + \Macro{StorePreventPackageFromLoading} would define + \Macro{Users@PreventList} even if it already has been defined before. In other + words: \Macro{StorePreventPackageFromLoading} overwrites existing + \Macro{command} definitions without care. Because of this, + \Macro{newcommand*} has been used in the example to get an error message, if + \Macro{Users@PreventList} has already been defined. +\end{Example} +At this point please note, that everybody who manipulates the list, that has +been stored using \Macro{StorePreventPackageFromLoading} is responsible for +the correct restorability. For example the list elements must be separated by +comma, must not contain white space or group braces, and must be fully +expandable. +% +\EndIndex{Cmd}{ResetPreventPackageFromLoading}% +\EndIndex{Cmd}{StorePreventPackageFromLoading}% +% \EndIndex{Package}{scrlfile} +\endinput + %%% Local Variables: %%% mode: latex -%%% coding: iso-latin-1 +%%% mode: flyspell +%%% ispell-local-dictionary: "english" +%%% coding: us-ascii %%% TeX-master: "../guide" %%% End: + +% LocalWords: restorability diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/scrlttr2-experts.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/scrlttr2-experts.tex new file mode 100644 index 00000000000..c2d08cc4fe0 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/scrlttr2-experts.tex @@ -0,0 +1,1921 @@ +% ====================================================================== +% scrlttr2-experts.tex +% Copyright (c) Markus Kohm, 2002-2012 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ---------------------------------------------------------------------- +% scrlttr2-experts.tex +% Copyright (c) Markus Kohm, 2002-2012 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% +% Chapter about scrlttr2 of the KOMA-Script guide expert part +% Maintained by Markus Kohm +% +% ---------------------------------------------------------------------- +% +% Kapitel ueber scrlttr2 im Experten-Teil der KOMA-Script-Anleitung +% Verwaltet von Markus Kohm +% +% ============================================================================ + +\ProvidesFile{scrlttr2-experts.tex}[2012/03/01 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} + +% Date of the translated German file: 2012/03/01 + +\chapter{Additional Information about the Letter Class + \Class{scrlttr2}} +\labelbase{scrlttr2-experts} + +This chapter gives additional information about the \KOMAScript{} class +\Class{scrlttr2}. \iffree{Some parts of the chapter are subject to the + \KOMAScript{} book \cite{book:komascript} only. This shouldn't be a problem, + because the}{The} average user, who only want to use the package, won't need +the information. Other information is addressed to users, who want additional +information about details. For example the first section will describe +pseudo-lengths in detail. These may be used to modify the note paper. Another +part of the information describes features of the class that exist only +because of compatibility to deprecated \Class{scrlettr} class. Last but not +least it will be described in detail how to change a document from the old +\Class{scrlettr} class to be used with the current \Class{scrlttr2} class. + + +\section{Pseudo-Lengths for Experienced Users} +\label{sec:scrlttr2-experts.pseudoLengths} +\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 +addressed with \Macro{newlength}, skip registers are used. Once all these +registers are in use, you can not define any more additional lengths. The +letter class \Class{scrlttr2} would normally use up more than 20 of such +registers for the first page alone. {\LaTeX} itself already uses 40 of these +registers. The \Package{typearea} package needs some of them too; thus, +approximately a quarter of the precious registers would already be in +use. That is the reason why lengths specific to letters in \Class{scrlttr2} +are defined with macros instead of lengths. The drawback of this approach is +that computations with macros is somewhat more complicated than with real +lengths. + +It can be pointed out that the now recommended {\LaTeX} installation with +{\eTeX} no longer suffers from the above-mentioned limitation. However, that +improvement came too late for \Class{scrlttr2}. + +The pseudo-lengths defined and uses by \Class{scrlttr2} are listed in +\autoref{tab:scrlttr2-experts.pseudoLength}. Cross references to the detailed +descriptions of each pseudo-lengths in the following sub-sections are also +given in the table. + +A schematic display of the most important distances of the note paper is shown +in \autoref{fig:scrlttr2-experts.pseudoLength} at +\autopageref{fig:scrlttr2-experts.pseudoLength}. Beside the +pseudo-lengths for the modifiable distances, also some lengths, that may not +be modified are shown in light gray. Some rarely needed pseudo-length of the +note paper have been omitted to get a more clear arrangement. +% +\begin{desclist} + \renewcommand{\abovecaptionskipcorrection}{-\normalbaselineskip}% + \desccaption{% + Pseudo-lengths provided by class \Class{scrlttr2}% + \label{tab:scrlttr2-experts.pseudoLength}% + }{% + Pseudo-lengths provided by class \Class{scrlttr2} (\emph{continued})% + }% + \pentry{backaddrheight}{% + height of the return address at the upper edge of the address field % + (\autoref{sec:scrlttr2-experts.addressee}, + \autopageref{desc:scrlttr2-experts.plength.backaddrheight})% + }% + \pentry{bfoldmarklength}{% + length of the bottommost folding mark % + (\autoref{sec:scrlttr2-experts.foldmarks}, + \autopageref{desc:scrlttr2-experts.plength.bfoldmarkvpos})% + }% + \pentry{bfoldmarkvpos}{% + vertical distance of bottommost folding mark from top paper edge % + (\autoref{sec:scrlttr2-experts.foldmarks}, + \autopageref{desc:scrlttr2-experts.plength.bfoldmarkvpos})% + }% + \pentry{firstfoothpos}{% + horizontal distance of the letter footer from the left paper edge; values + greater than the width of the paper or smaller than the negative value of + the width of the paper will activate special handling % + (\autoref{sec:scrlttr2-experts.firstFoot}, + \autopageref{desc:scrlttr2-experts.plength.firstfoothpos})% + }% + \pentry{firstfootvpos}{% + vertical distance of letter footer from top paper edge % + (\autoref{sec:scrlttr2-experts.firstFoot}, + \autopageref{desc:scrlttr2-experts.plength.firstfootvpos})% + }% + \pentry{firstfootwidth}{% + width of letter footer % + (\autoref{sec:scrlttr2-experts.firstFoot}, + \autopageref{desc:scrlttr2-experts.plength.firstfootwidth})% + }% + \pentry{firstheadhpos}{% + horizontal distance of the letterhead from the left paper edge; values + greater than the width of the paper or smaller than the negative value of + the width of the paper will activate special handling % + (\autoref{sec:scrlttr2-experts.firstHead}, + \autopageref{desc:scrlttr2-experts.plength.firstheadhpos})% + }% + \pentry{firstheadvpos}{% + vertical distance of letterhead from top paper edge % + (\autoref{sec:scrlttr2-experts.firstHead}, + \autopageref{desc:scrlttr2-experts.plength.firstheadvpos})% + }% + \pentry{firstheadwidth}{% + width of the letterhead % + (\autoref{sec:scrlttr2-experts.firstHead}, + \autopageref{desc:scrlttr2-experts.plength.firstheadwidth})% + }% + \pentry{foldmarkhpos}{% + horizontal distance of the horizontal folding marks from left paper edge % + (\autoref{sec:scrlttr2-experts.foldmarks}, + \autopageref{desc:scrlttr2-experts.plength.foldmarkhpos})% + }% + \pentry{foldmarkvpos}{% + vertical distance of the vertical folding marks from the top paper edge % + (\autoref{sec:scrlttr2-experts.foldmarks}, + \autopageref{desc:scrlttr2-experts.plength.foldmarkvpos})% + }% + \pentry{fromrulethickness}{% + thickness of an optional horizontal rule in the letterhead % + (\autoref{sec:scrlttr2-experts.firstHead}, + \autopageref{desc:scrlttr2-experts.plength.fromrulethickness})% + }% + \pentry{fromrulewidth}{% + length of an optional horizontal rule in letterhead % + (\autoref{sec:scrlttr2-experts.firstHead}, + \autopageref{desc:scrlttr2-experts.plength.fromrulewidth})% + }% + \pentry{lfoldmarkhpos}{% + horizontal distance of the vertical folding mark from the left paper edge % + (\autoref{sec:scrlttr2-experts.foldmarks}, + \autopageref{desc:scrlttr2-experts.plength.lfoldmarkhpos})% + }% + \pentry{lfoldmarklength}{% + length of the vertical folding mark % + (\autoref{sec:scrlttr2-experts.foldmarks}, + \autopageref{desc:scrlttr2-experts.plength.lfoldmarklength})% + }% + \pentry{locheight}{% + height of the field with the extended sender's information, of the value + is not zero; \PLength{toaddrheight} will be used instead of zero value % + (\autoref{sec:scrlttr2-experts.locationField}, + \autopageref{desc:scrlttr2-experts.plength.locheight})% + }% + \pentry{lochpos}{% + horizontal distance of the field with the extended sender's information + from the right paper edge, if the value is positive; negative horizontal + distance from the left paper edge, if the value is negative; negative + value of \PLength{toaddrhpos} will be used instead of zero value % + (\autoref{sec:scrlttr2-experts.locationField}, + \autopageref{desc:scrlttr2-experts.plength.lochpos})% + }% + \pentry{locvpos}{% + vertical distance of the field with the extended sender's information from + the top paper edge, if the value is not zero; \PLength{toaddrvpos} will be + used instead of zero value % + (\autoref{sec:scrlttr2-experts.locationField}, + \autopageref{desc:scrlttr2-experts.plength.locvpos})% + }% + \pentry{locwidth}{% + width of the field with the extended sender's information; for zero value + width is calculated automatically with respect to option \Option{locfield} + that is described in \autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.option.locfield} % + (\autoref{sec:scrlttr2-experts.locationField}, + \autopageref{desc:scrlttr2-experts.plength.locwidth})% + }% + \pentry{mfoldmarklength}{% + length of the middle horizontal folding mark % + (\autoref{sec:scrlttr2-experts.foldmarks}, + \autopageref{desc:scrlttr2-experts.plength.mfoldmarklength})% + }% + \pentry{mfoldmarkvpos}{% + vertical distance of the middle horizontal folding mark from the top paper + edge % + (\autoref{sec:scrlttr2-experts.foldmarks}, + \autopageref{desc:scrlttr2-experts.plength.mfoldmarkvpos})% + }% + \pentry{pfoldmarklength}{% + length of the puncher hole mark % + (\autoref{sec:scrlttr2-experts.foldmarks}, + \autopageref{desc:scrlttr2-experts.plength.pfoldmarklength})% + }% + \pentry{refaftervskip}{% + vertical skip below reference fields or business line % + (\autoref{sec:scrlttr2-experts.refLine}, + \autopageref{desc:scrlttr2-experts.plength.refaftervskip})% + }% + \pentry{refhpos}{% + horizontal distance of reference fields or business line from left paper + edge; for zero value reference fields line is centered horizontally on + letter paper % + (\autoref{sec:scrlttr2-experts.refLine}, + \autopageref{desc:scrlttr2-experts.plength.refhpos})% + }% + \pentry{refvpos}{% + vertical distance of reference fields or business line from top paper + edge % + (\autoref{sec:scrlttr2-experts.refLine}, + \autopageref{desc:scrlttr2-experts.plength.refvpos})% + }% + \pentry{refwidth}{% + width of reference fields line % + (\autoref{sec:scrlttr2-experts.refLine}, + \autopageref{desc:scrlttr2-experts.plength.refwidth})% + }% + \pentry{sigbeforevskip}{% + vertical skip between closing and signature % + (\autoref{sec:scrlttr2-experts.closing}, + \autopageref{desc:scrlttr2-experts.plength.sigbeforevskip})% + }% + \pentry{sigindent}{% + indentation of signature with respect to text body % + (\autoref{sec:scrlttr2-experts.closing}, + \autopageref{desc:scrlttr2-experts.plength.sigindent})% + }% + \pentry{specialmailindent}{% + left indentation of mode of dispatch within address field % + (\autoref{sec:scrlttr2-experts.addressee}, + \autopageref{desc:scrlttr2-experts.plength.specialmailindent})% + }% + \pentry{specialmailrightindent}{% + right indentation of mode of dispatch within address field % + (\autoref{sec:scrlttr2-experts.addressee}, + \autopageref{desc:scrlttr2-experts.plength.specialmailrightindent})% + }% + \pentry{subjectaftervskip}{% + vertical distance after the subject % + (\autoref{sec:scrlttr2-experts.subject}, + \autopageref{desc:scrlttr2-experts.plength.subjectaftervskip})% + }% + \pentry{subjectbeforevskip}{% + additional vertical distance before the subject % + (\autoref{sec:scrlttr2-experts.subject}, + \autopageref{desc:scrlttr2-experts.plength.subjectbeforevskip})% + }% + \pentry{subjectvpos}{% + vertical distance of the subject from the top paper edge; zero value will + set the subject depending on option \Option{subject} % + (\autoref{sec:scrlttr2-experts.subject}, + \autopageref{desc:scrlttr2-experts.plength.subjectaftervskip})% + }% + \pentry{tfoldmarklength}{% + length of the topmost horizontal folding mark % + (\autoref{sec:scrlttr2-experts.foldmarks}, + \autopageref{desc:scrlttr2-experts.plength.tfoldmarklength})% + }% + \pentry{tfoldmarkvpos}{% + vertical distance of the topmost horizontal folding mark from the top + paper edge % + (\autoref{sec:scrlttr2-experts.foldmarks}, + \autopageref{desc:scrlttr2-experts.plength.tfoldmarkvpos})% + }% + \pentry{toaddrheight}{% + height of address field % + (\autoref{sec:scrlttr2-experts.addressee}, + \autopageref{desc:scrlttr2-experts.plength.toaddrheight})% + }% + \pentry{toaddrhpos}{% + horizontal distance of the address field from left paper edge, for + positive values; negative horizontal distance of the address field from + right paper edge, for negative values % + (\autoref{sec:scrlttr2-experts.addressee}, + \autopageref{desc:scrlttr2-experts.plength.toaddrhpos})% + }% + \pentry{toaddrindent}{% + left and right indentation of address within address field % + (\autoref{sec:scrlttr2-experts.addressee}, + \autopageref{desc:scrlttr2-experts.plength.toaddrindent})% + }% + \pentry{toaddrvpos}{% + vertical distance of the address field from the top paper edge % + (\autoref{sec:scrlttr2-experts.addressee}, + \autopageref{desc:scrlttr2-experts.plength.toaddrvpos})% + }% + \pentry{toaddrwidth}{% + width of address field % + (\autoref{sec:scrlttr2-experts.addressee}, + \autopageref{desc: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} +\BeginIndex{Cmd}{@newplength}% +This command defines an new pseudo-length. This new pseudo-length is +uniquely identified by its \PName{name}. If with this command a +redefinition of an already existing pseudo-length is attempted, the +commands exits with an error message. + +Since the user in general does not define own pseudo-lengths, this command is +not intended as a user command. Thus, it can not be used within a document, +but it can, for example, be used within an +\File{lco}-file\Index{lco-file=\File{lco}-file}.\iffree{}{ Nevertheless, if + someone likes to define a pseudo-length inside the document, i.\,e. the + document preamble, then one may avoid that constriction using + \Macro{makeatletter}\important[i]{\Macro{makeatletter}\\ + \Macro{makeatother}}\IndexCmd{makeatletter} and + \Macro{makeatother}\IndexCmd{makeatother} (see + \cite{UK:FAQ}). But\textnote{Attention!} inside an \File{lco}-file these two + commands should never be used!}% +% +\EndIndex{Cmd}{@newplength}% + +\begin{Declaration} + \Macro{@setplength}% + \OParameter{factor}\Parameter{pseudo-length}\Parameter{value}\\ + \Macro{@addtoplength}% + \OParameter{factor}\Parameter{pseudo-length}\Parameter{value} +\end{Declaration} +\BeginIndex{Cmd}{@setplength}% +\BeginIndex{Cmd}{@addtoplength}% +Using the command \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 \Macro{setlengthtoplength}, +\autoref{sec:scrlttr2.pseudoLength}, +\autopageref{desc:scrlttr2.cmd.setlengthtoplength}). + +The command \Macro{@addtoplength} adds the \PName{value} to a +\PName{pseudo-length}. Again a \PName{factor} may be given as an optional +argument. + +To assign, or to add the multiple of, one \PName{pseudo-length} to another +pseudo-length, the command \Macro{useplength} (siehe +\autoref{sec:scrlttr2.pseudoLength}, +\autopageref{desc:scrlttr2.cmd.useplength}) is used within \PName{value}. To +subtract the value of one pseudo-length from another \PName{pseudo-length} a +minus sign, or \PValue{-1}, is used as the \PName{factor}. + +Since the user in general does not define own pseudo-lengths, this command is +not intended as a user command. Thus, it can not be used within a document, +but can, for example, be used within an \File{lco}-file.\iffree{}{ + Nevertheless, if someone likes to change the value of a pseudo-length inside + the document, i.\,e. the document preamble, then one may avoid that + constriction using + \Macro{makeatletter}\important[i]{\Macro{makeatletter}\\ + \Macro{makeatother}}\IndexCmd{makeatletter} and + \Macro{makeatother}\IndexCmd{makeatother} (see + \cite{UK:FAQ}). But\textnote{Attention!} inside an \File{lco}-file these two + commands should never be used!}% +% +\EndIndex{Cmd}{@setplength}% +\EndIndex{Cmd}{@addtoplength}% + + +\subsection{Folding Marks} +\label{sec:scrlttr2-experts.foldmarks} +\index{marks>folding|see{folding marks}} +\BeginIndex{}{folding marks}% + +Folding mark are short horizontal lines at the left edge, and short vertical +lines at the upper edge of the paper. \KOMAScript{} at present supports three +configurable horizontal and one configurable vertical foldmarks. In addition, +there is support for a puncher hole mark or center mark which cannot be +shifted in the vertical direction. + +\begin{Declaration} + \PLength{tfoldmarkvpos}\\ + \PLength{mfoldmarkvpos}\\ + \PLength{bfoldmarkvpos} +\end{Declaration} +\BeginIndex{PLength}{tfoldmarkvpos}% +\BeginIndex{PLength}{bfoldmarkvpos}% +\BeginIndex{PLength}{mfoldmarkvpos}% +The letter class \Class{scrlttr2} knows a total of three +vertically placed configurable foldmarks. The position of the topmost +foldmark, taken from the upper edge of the paper, is governed by the +pseudo-length \PLength{tfoldmarkvpos}, that of the middle foldmark by +pseudo-length +\PLength{mfoldmarkvpos}\ChangedAt{v2.97e}{\Class{scrlttr2}}, and that +of the bottommost foldmark by pseudo-length \PLength{bfoldmarkvpos}. With +the addition of the puncher hole\Index{puncher hole mark} or +center\Index{center mark|see{punch hole mark}} +mark, there is still a fourth horizontal mark. This one is however +always placed at the vertical center of the paper. +\iffalse% Umbruchkorrekturtext +There's no pseudo-length for this last mark, because it vertical position +isn't configurable. +\fi + +The\textnote{Attention!} topmost and bottommost foldmarks do not serve to +divide the paper into exactly equal thirds. Instead, with their help, the +paper should be folded such that the address field appears correctly in the +space available in the chosen window envelope format, which is determined by +choice of \File{lco}-file. Several such files are available offering +predefined formats. An anomaly is present with \Option{DINmtext}: for this +format, an envelope format of C6/5 (also known as ``C6 long'') is +assumed. Letters written with this option are not suited to envelopes of +formats C5 or C4. + +The middle foldmark is not normally required for Western letters. In Japan, +however, a larger number of envelope formats exists, requiring one more +foldmark (see the Japanese \File{lco}-files). At this point attention is drawn +to the fact that reference to ``topmost'', ``middle'', and ``bottommost'' +foldmarks is simply a convenience. In fact, it is not defined that +\PLength{tfoldmarkvpos} must be smaller than \PLength{mfoldmarkvpos}, which in +turn must be smaller than \PLength{bfoldmarkvpos}. If on the other hand one of +the pseudo-lengths is set to null, then the corresponding foldmark will not be +set even if the option +\Option{foldmarks}\IndexOption{foldmarks~=\PName{Einstellung}}% +\important{\Option{foldmarks}} (see \autoref{sec:scrlttr2.firstpage}, +\autopageref{desc:scrlttr2.option.foldmarks}) is explicity activated. +% +\EndIndex{PLength}{tfoldmarkvpos}% +\EndIndex{PLength}{mfoldmarkvpos}% +\EndIndex{PLength}{bfoldmarkvpos}% + + +\begin{Declaration} + \PLength{tfoldmarklength}\\ + \PLength{mfoldmarklength}\\ + \PLength{bfoldmarklength}\\ + \PLength{pfoldmarklength} +\end{Declaration} +\BeginIndex{PLength}{tfoldmarklength}% +\BeginIndex{PLength}{mfoldmarklength}% +\BeginIndex{PLength}{bfoldmarklength}% +\BeginIndex{PLength}{pfoldmarklength}% +These\ChangedAt{v2.97e}{\Class{scrlttr2}} four pseudo-lengths determine the +lengths of the four horizontal foldmarks. One\textnote{Attention!} +exceptional behaviour exists. If the length is given as null, then the three +vertically-configurable pseudo-lengths \PLength{tfoldmarklength}, +\PLength{mfoldmarklength} and \PLength{bfoldmarklength} are set to 2\Unit{mm} +in length. The length of the punchmark, \PLength{pfoldmarklength}, is instead +set to 4\Unit{mm}.% +\EndIndex{PLength}{tfoldmarklength}% +\EndIndex{PLength}{mfoldmarklength}% +\EndIndex{PLength}{bfoldmarklength}% +\EndIndex{PLength}{pfoldmarklength}% + + +\begin{Declaration} + \PLength{foldmarkhpos} +\end{Declaration} +\BeginIndex{PLength}{foldmarkhpos}% +This pseudo-length gives the distance of all horizontal foldmarks from the +left edge of the paper. Normally, this is 3.5\Unit{mm}. This\textnote{Hint!} +value can be changed in the user's own \File{lco}-file, in case the user's +printer has a wider unprintable left margin. Whether the foldmarks are typeset +at all depends on the option \Option{foldmarks}\important{\Option{foldmarks}}% +\IndexOption{foldmarks~=\PName{Einstellung}} (see +\autoref{sec:scrlttr2.firstpage}, +\autopageref{desc:scrlttr2.option.foldmarks}). +% +\EndIndex{PLength}{foldmarkhpos}% + + +\begin{Declaration} + \PLength{lfoldmarkhpos} +\end{Declaration} +\BeginIndex{PLength}{lfoldmarkhpos}% +Apart from\ChangedAt{v2.97e}{\Class{scrlttr2}} the horizontal foldmarks there +is also a vertical foldmark, whose position from the left margin is set via +the pseudo-length \PLength{lfoldmarkhpos}. This foldmark is used, for example, +in Japanese Chou- or You-format envelopes, when one wishes to use A4 size +sheets with them. This can also be useful for envelopes in C6 format.% +\EndIndex{PLength}{lfoldmarkhpos}% + + +\begin{Declaration} + \PLength{lfoldmarklength} +\end{Declaration} +\BeginIndex{PLength}{lfoldmarklength}% +The\ChangedAt{v2.97e}{\Class{scrlttr2}} length of the vertical foldmark is set +via the pseudo-length \PLength{lfoldmarklength}. Here too there is an +exceptional behaviour. When the length is set to null, a length of 4\Unit{mm} +is actually used.% +\EndIndex{PLength}{lfoldmarklength}% + + +\begin{Declaration} + \PLength{foldmarkvpos} +\end{Declaration} +\BeginIndex{PLength}{foldmarkvpos}% +This\ChangedAt{v2.97e}{\Class{scrlttr2}} pseudo-length gives the distance of +all vertical foldmarks from the upper edge of the paper. Normally this is +3.5\Unit{mm}, but\textnote{Hint!} the value can be changed in the user's +personal \File{lco}-file in case the user's printer has a wider unprintable +top margin. Whether the foldmarks are typeset at all depends on the option +\Option{foldmarks}\important{\Option{foldmarks}}% +\IndexOption{foldmarks~=\PName{Einstellung}} (see +\autoref{sec:scrlttr2.firstpage}, +\autopageref{desc:scrlttr2.option.foldmarks}). At present there is only one +vertical foldmark, which is designated the left vertical foldmark. +% +\EndIndex{PLength}{foldmarkvpos}% + + +\begin{Declaration} + \PLength{foldmarkthickness} +\end{Declaration} +\BeginIndex{PLength}{foldmarkthickness}% +This\ChangedAt{v2.97c}{\Class{scrlttr2}} pseudo-length determines the +thickness of all foldmarks. Default value is 0.2\Unit{pt}, in other words a +very thin hairline. In particular, if the color of the foldmarks is +changed, this can be too thin!% +\EndIndex{PLength}{foldmarkthickness}% +% +\EndIndex{}{folding marks} + + +\subsection{Letterhead} +\label{sec:scrlttr2-experts.firstHead} +\BeginIndex{}{letterhead} + +The term letterhead here refers to all of the data pertaining to the sender +and which is set above the addressee's address. It is usually expected that +this information is set via the page style settings. In fact, this was the +case in the earlier incarnation of the letter class, +\Class{scrlettr}. But\textnote{Attention!} with \Class{scrlttr2}, the +letterhead is made independent of the page style setting, and is set by the +command \Macro{opening}\IndexCmd{opening}. +% Fuellmaterial +\iftrue% +The position of the letterhead is absolute and 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 \PValue{empty}.% +\fi +% Ende des Fuellmaterials + +\begin{Declaration} + \PLength{firstheadvpos} +\end{Declaration} +\BeginIndex{PLength}{firstheadvpos}% +The pseudo-length \PLength{firstheadvpos} gives the distance between the top +edge of the paper and 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}.% +% +\EndIndex{PLength}{firstheadvpos} + + +\begin{Declaration} + \PLength{firstheadhpos} +\end{Declaration} +\BeginIndex{PLength}{firstheadhpos}% +A positive value of pseudo-length +\PLength{firstheadhpos}\ChangedAt{v3.05}{\Class{scrlttr2}} gives the distance +between the left edge of the paper and the start of the +letterhead. If\textnote{Attention!} is actually greater than or equal to the +paper width, +\Length{paperwidth}\important{\Length{paperwidth}}\IndexLength{paperwidth}, +then the letterhead will be centered to the note paper width. A negative value +gives the distance between the distance between the right paper edge and the +end of the letterhead. If the value is even less or equal to the negative +value of the width of the paper, then the letterhead will be left aligned to +the left edge of the typing area. + +Typical default\textnote{Attention!} is a value of +\Length{maxdimen}\IndexLength{maxdimen}, though the greatest allowed value of +a length. This will result in horizontal centering.% +% +\EndIndex{PLength}{firstheadhpos}% + + +\begin{Declaration} + \PLength{firstheadwidth} +\end{Declaration} +\BeginIndex{PLength}{firstheadwidth}% +The pseudo-length \PLength{firstheadwidth} 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 adressee address field, it was the type +area width in \Option{KOMAold} and has a definite value of 170\Unit{mm} in +\Option{NF}.% +% +\EndIndex{PLength}{firstheadwidth}% + + +\begin{Declaration} + \PLength{fromrulethickness}\\ + \PLength{fromrulewidth} +\end{Declaration} +\BeginIndex{PLength}{fromrulethickness}% +\BeginIndex{PLength}{fromrulewidth}% +Depending on the class option \Option{fromrule} (see +\autoref{sec:scrlttr2.firstpage}, +\autopageref{desc:scrlttr2.option.fromrule}), a horizontal rule can be drawn +the predefined letterheads under or within the sender +address. If\textnote{Attention!} the pseudo-length \PLength{fromrulewidth} has +a value of 0\Unit{pt}, which is the default in the predefined \File{lco} +files, the rule length is calculated automatically taking into account, +e.\,g., letterhead width or an optional logo. Users can adjust rule length +manually in their own \File{lco}-files by setting this pseudo-length to +positive values using \Macro{\@setplength} (see +\autopageref{desc:scrlttr2-experts.cmd.@setplength}). The default thickness of +the line\ChangedAt{v2.97c}{\Class{scrlttr2}}, \PLength{fromrulethickness}, is +0.4\Unit{pt}.% +% +\EndIndex{PLength}{fromrulethickness}% +\EndIndex{PLength}{fromrulewidth}% +% +\EndIndex{}{letterhead}% + + +\subsection{Addressee} +\label{sec:scrlttr2-experts.addressee}% +\BeginIndex{}{addressee} +\index{address|seealso{addressee}} + +The term addressee here refers to the addressee's name and address which +are output in an address field. Additional information can be output +within this address field, such as dispatch type or a return address; +the latter is especially useful when using window envelopes. The +address directly follows the letterhead. + +\begin{Declaration} + \PLength{toaddrvpos}\\ + \PLength{toaddrhpos} +\end{Declaration} +\BeginIndex{PLength}{toaddrvpos}% +\BeginIndex{PLength}{toaddrhpos}% +These pseudo-lengths define vertical and horizontal position of the address +field relative to 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. A special feature of +\PLength{toaddrhpos} is that with negative values the offset is that of the +right edge of the address field relative to the right edge of the paper. This +can be found, for instance, in the case of \Option{SN} or \Option{NF}. The +smallest value of \PLength{toaddrvpos} is found with \Option{DINmtext}. Care +must be taken to avoid overlap of letterhead and address field. Whether the +address field is output or not can be controlled by class option +\Option{addrfield} (see \autoref{sec:scrlttr2.firstpage}, +\autopageref{desc:scrlttr2.option.addrfield}).% +% +\EndIndex{PLength}{toaddrhpos}% +\EndIndex{PLength}{toaddrvpos}% + + +\begin{Declaration} + \PLength{toaddrheight} +\end{Declaration} +\BeginIndex{PLength}{toaddrheight}% +The pseudo-length \PLength{toaddrheight} defines the height of the +address field, including the dispatch type. If no dispatch type is +specified, then the address is vertically centered in the field. If a +dispatch type is specified, then the address is set below the dispatch +type, and vertically centered in the remaining field height. +% +\EndIndex{PLength}{toaddrheight}% + + +\begin{Declaration} + \PLength{toaddrwidth} +\end{Declaration} +\BeginIndex{PLength}{toaddrwidth}% +This pseudo-length defines the width of the address field. Values are set +differently in the various predefined +\File{lco}-files\textnote{\File{lco}-files}\Index{lco-file=\File{lco}-files}, +according to standard envelope window measures. Typical values are between +70\Unit{mm} and 100\Unit{mm}. +\begin{Example} + Assume that your printer has a very wide left or right margin of + 15\Unit{mm}. In this case, when using the option \Option{SN}, the + letterhead, sender's extensions and the address can not be completely + printed. Thus, you create a new \File{lco}-file with the following content: +\begin{lstcode} + \ProvidesFile{SNmmarg.lco} + [2002/06/04 v0.1 my own 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} +% +\EndIndex{PLength}{toaddrwidth}% + + +\begin{Declaration} + \PLength{toaddrindent} +\end{Declaration} +\BeginIndex{PLength}{toaddrindent}% +Additional indentation of the address within address field can be controlled +by the pseudo-length \PLength{toaddrindent}. Its value applies to both left +and right margin. Default value is 0\Unit{pt}. + +With\textnote{Attention!} each of the +settings\ChangedAt{v3.03}{\Class{scrlttr2}} +\OptionValue{addrfield}{PP}\important[i]{% + \OptionValue{addrfield}{PP}\\ + \OptionValue{addrfield}{image}\\ + \begin{tabular}{@{}l@{}} + \KOption{addrfield}\\ + \quad\PValue{backgroundimage} + \end{tabular}}\IndexOption{addrfield~=\PValue{PP}}, +\OptionValue{addrfield}{image}\IndexOption{addrfield~=\PValue{image}}, and +\OptionValue{addrfield}{backgroundimage}% +\IndexOption{addrfield~=\PValue{backgroundimage}} (see +\autoref{sec:scrlttr2.firstpage}, +\autopageref{desc:scrlttr2.option.addrfield}) a value of 0\Unit{pt} will be +replaced by a value of 8\Unit{mm}. If really no indent should be used in this +case, then 1\Unit{sp} may be used to set a negligible small +indent. Additionally \PLength{toaddrindent} will be used also for the distance +to the right edge of the address window with the mentioned \Option{addrfield} +settings.% +% +\EndIndex{PLength}{toaddrindent}% + + +\begin{Declaration} + \PLength{backaddrheight} +\end{Declaration} +\BeginIndex{PLength}{backaddrheight}% +For window envelopes the sender is often printed with small font at one line +above the addressee. This kind of sender's information is known as return +address\textnote{return address}\Index{return address}, because it is visible +at the address window and will be used by the post officers to return the +letter (back) to the sender. In this return address only the information +should be, that is needed for this purpose. + +The height, that is reserved for the return address at the top of the address +field, is given by pseudo-length \PLength{backaddrheight}. A typical value for +this is 5\Unit{mm} in the predefined +\File{lco}-files\textnote{\File{lco}-file}\Index{}{lco-file=\File{lco}-file}. +Whether or not to print the return address depend on option \Option{addrfield} +(see \autoref{sec:scrlttr2.firstpage}, +\autopageref{desc:scrlttr2.option.addrfield}) and \Option{backaddress} (see +\autoref{sec:scrlttr2.firstpage}, +\autopageref{desc:scrlttr2.option.backaddress}).% +% +\EndIndex{PLength}{backaddrheight}% + +\begin{Declaration} + \PLength{specialmailindent}\\ + \PLength{specialmailrightindent} +\end{Declaration} +\BeginIndex{PLength}{specialmailindent}% +\BeginIndex{PLength}{specialmailrightindent}% +An optional dispatch type can be output within the address field between the +return address and the addressee address, by setting the variable +\Variable{specialmail}. Left and right alignment are determined by +pseudo-lengths \PLength{specialmailindent} and +\PLength{specialmailrightindent}, respectively. In the predefined +\File{lco}-files\textnote{\File{lco}-file}\Index{lco-file=\File{lco}-file} +provided by \KOMAScript, \PLength{specialmailindent} is set to rubber length +\Macro{fill}, while \PLength{specialmailrightindent} is set to +1\Unit{em}. Thus the dispatch type is set 1\Unit{em} from the address field's +right margin. +% +\EndIndex{PLength}{specialmailindent}% +\EndIndex{PLength}{specialmailrightindent}% + + +\begin{Declaration} + \PLength{PPheadheight}\\ + \PLength{PPheadwidth} +\end{Declaration} +\BeginIndex{PLength}{PPheadheight}% +\BeginIndex{PLength}{PPheadwidth}% +The pseudo-length \PLength{PPheadheight}\ChangedAt{v3.03}{\Class{scrlttr2}} is +the height, that will be reserved for the Port-Pay\'e head using the options +\OptionValue{addrfield}{PP}\important[i]{% + \OptionValue{addrfield}{PP}\\ + \begin{tabular}{@{}l@{}} + \KOption{addrfield}\\ + \quad\PValue{backgroundimage} + \end{tabular}}\IndexOption{addrfield~=\PValue{PP}} and +\OptionValue{addrfield}{backgroundimage}% +\IndexOption{addrfield~=\PValue{backgroundimage}}. Pseudo-length +\PLength{PPheadwidth} will be used only with \OptionValue{addrfield}{PP} (see +\autoref{sec:scrlttr2.firstpage}, +\autopageref{desc:scrlttr2.option.addrfield}) and gives the width of the left +field in the Port-Pay\'e head, that contains P.\,P. logo, zip-code and +place. The width of the right field with the sender's code and the priority is +the remaining width. + +Class\textnote{Attention!} \Class{scrlttr2} automatically changes +pseudo-length \PLength{PPheadheight}'s\textnote{Attention} usual default value +from 0\Unit{mm} into 20,74\Unit{pt} and \PLength{PPheadwidth}'s default from +0\Unit{mm} into 42\Unit{mm}.% +% +\EndIndex{PLength}{PPheadwidth}% +\EndIndex{PLength}{PPheadheight}% + +\begin{Declaration} + \PLength{PPdatamatrixvskip} +\end{Declaration} +\BeginIndex{PLength}{PPdatamatrixvskip}% +This\ChangedAt{v3.03}{\Class{scrlttr2}} pseudo-length gives the vertical +distance between the Port-Pay\'e head and the data array or data matrix of +option \OptionValue{addrfield}{PP}\important{\OptionValue{addrfield}{PP}}% +\IndexOption{addrfield~=\PValue{PP}} +(see \autoref{sec:scrlttr2.firstpage}, +\autopageref{desc:scrlttr2.option.addrfield}). Class\textnote{Attention!} +\Class{scrlttr2} automatically changes the default value 0\Unit{mm} into +9\Unit{mm}. The data matrix will be set right aligned with the Port-Pay\'e +head.% +% +\EndIndex{PLength}{PPdatamatrixvskip}% +% +\EndIndex{}{addressee}% + + +\subsection{Sender's Extensions} +\label{sec:scrlttr2-experts.locationField} +\BeginIndex{}{sender's extension} +\index{sender>extension|see{sender's extension}} + +Often, especially with business letters, the space for the letterhead or page +footer seems to be too tight to include all you want. To give more details +about the sender, often the space right beside the addressee's field is +used. In this manual this field is called the \emph{sender's extension}. In +former manuals is has been called \emph{location field}. + +\begin{Declaration} + \PLength{locheight}\\ + \PLength{lochpos}\\ + \PLength{locvpos}\\ + \PLength{locwidth} +\end{Declaration} +\BeginIndex{PLength}{locwidth}% +\BeginIndex{PLength}{locheight}% +\BeginIndex{PLength}{lochpos}% +\BeginIndex{PLength}{locvpos}% +The pseudo-lengths \PLength{locwidth} and +\PLength{locheight}\ChangedAt{v2.97d}{\Class{scrlttr2}} set the width and +height of the sender's extension field. The pseudo-lengths \PLength{lochpos} +and \PLength{locvpos} determine the distances from the right and upper paper +edges. These value is typically set to 0\Unit{pt} in the predefined \File{lco} +files. This\textnote{Attention!} does not mean that the sender's extension has +no width; instead, it means that the actual width is set within \Macro{opening} +when the paper width, address window width, and the distance between the left +and upper edges of the paper and the address window are known. The option +\Option{locfield} (see \autoref{sec:scrlttr2.firstpage}, +\autopageref{desc:scrlttr2.option.locfield}) is also taken into account. As is +the case for \PLength{toaddrhpos}, negative values of \PLength{lochpos} take +on a special meaning. In that case, instead of referring to a distance from +the right edge of the paper, \PLength{lochpos} now means a distance from the +left edge of the paper. The meaning is thus the opposite to that of +\PLength{toaddrhpos} (see \autoref{sec:scrlttr2-experts.addressee}, +\autopageref{desc:scrlttr2-experts.plength.toaddrhpos}).% +% +\EndIndex{PLength}{locwidth} +\EndIndex{PLength}{locheight}% +\EndIndex{PLength}{lochpos}% +\EndIndex{PLength}{locvpos}% +% +\EndIndex{}{sender's extension} + + +\subsection{Business Line} +\label{sec:scrlttr2-experts.refLine}% +\BeginIndex{}{business line} +\index{reference>field line|see{business line}} +\index{reference>line|see{business line}} + +Especially with business letters, a line can be found that gives initials, +dial code, customer number, invoice number, or a reference to a previous +letter. This line is sometimes called \emph{reference fields line} or +\emph{reference line}, sometimes \emph{business line}. The business line can +consist of more than just one line and is set only if one of those variables +mentioned above is given. Only those fields will be set that are +given. To\textnote{Hint!} set a seemingly empty field, one needs to give as +value at least a forced white space or \Macro{null}. If you want to have your +letter without a business line, then instead of it the label and contents of +the variable \Variable{date} will be set. Information about adding variables +to the business line or clean up the business line may be found in +\autoref{sec:scrlttr2-experts.variables}, +\autopageref{desc:scrlttr2-experts.cmd.removereffields}. + +\begin{Declaration} + \PLength{refvpos} +\end{Declaration} +\BeginIndex{PLength}{refvpos}% +This pseudo-length gives the distance between the upper edge of the paper and +the reference fields 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}. +% +\EndIndex{PLength}{refvpos}% + + +\begin{Declaration} + \PLength{refwidth}\\ + \PLength{refhpos} +\end{Declaration} +\BeginIndex{PLength}{refwidth}% +\BeginIndex{PLength}{refhpos}% +This pseudo-length gives the width that is available for the reference fields +line. The value is set typically 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 +determine that there is no available width for the business line; instead, +this value means that the width will be calculated within the command +\Macro{opening}\IndexCmd{opening}. Thus the calculated width depends on the +determination of the options \Option{refline}\important{\Option{refline}}% +\IndexOption{refline~=\PName{Einstellung}} (see +\autoref{sec:scrlttr2.firstpage}, +\autopageref{desc:scrlttr2.option.refline}). At the same time, +\PLength{refhpos} will be set according to this option. With +\OptionValue{refline}{wide}\IndexOption{refline~=\PValue{wide}}, the reference +fields line is centered, while with +\OptionValue{refline}{narrow}\IndexOption{refline~=\PValue{narrow}} it is +aligned on the left inside the typing area. + +If \PLength{refwidth} isn't null, i.\,e., the width of the reference fields +line is therefore not determined by the option \Option{refline}, then +\PLength{refhpos} gives the distance of the reference fields line from the +left edge of the paper. If\textnote{Attention!} this distance is null, then +the reference fields line is set so that the ratio between its distances from +the left and right edges of the paper equal the ratio of distance of the type +area from the left and right edges of the paper. Thus, for a type area +horizontally centered on the paper, the reference fields line too will be +centered. + +As a rule, these special cases are likely to be of little interest to the +normal user. The\textnote{Attention!} simplest rule is as follows: either +\PLength{refhpos} is left at null and so the width and alignment of the +reference fields line are left to the option \Option{refline}, or +\PLength{refwidth} as well as \PLength{refhpos} are set by the user.% +% +\EndIndex{PLength}{refwidth}% +\EndIndex{PLength}{refhpos}% + + +\begin{Declaration} + \PLength{refaftervskip} +\end{Declaration} +\BeginIndex{PLength}{refaftervskip}% +This pseudo-length gives the vertical space that has to be inserted beneath +the reference fields 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 text height of the first page. A typical value lies +between one and two lines.% +% +\EndIndex{PLength}{refaftervskip}% +% +\EndIndex{}{business line}% + +\subsection{Subject} +\label{sec:scrlttr2-experts.subject}% +\BeginIndex{}{subject} + +In different countries the letter's subject will be set different. Some like +to have the subject before the opening phrase, some prefer the subject below +the opening phrase. Some professional guilds at least want the subject before +the business line. + +\begin{Declaration} + \PLength{subjectvpos} +\end{Declaration} +\BeginIndex{PLength}{subjectvpos}% +\ChangedAt{v3.01}{\Class{scrlttr2}}% +If\textnote{Attention!} the value of this pseudo-length is 0\Unit{pt}, the +position of the subject is given by option +\Option{subject}\important{\Option{subject}}% +\IndexOption{subject~=\PName{Einstellung}} (see +\autoref{sec:scrlttr2.firstpage}, \autopageref{desc:scrlttr2.option.subject}). +Every other value defines the distance between the top edge of the paper and +the subject. It\textnote{Hint!} is recommended to take care of the available +space to surely avoid interferences with other elements. +\begin{Example} + Some professional guilds prefer to have the subject at least before the + business line. To achieve this, the position may be defined like this: +\begin{lstcode} + \ProvidesFile{lawsubj.lco} + [2008/11/03 lawyers lco file] + \@setplength{subjectvpos}{\useplength{refvpos}} + \@addtoplength{refvpos}{3\baselineskip} + \endinput +\end{lstcode} + which also changes the position of the business line itself. If at least one + empty line between subject and business line should stay empty, this + provides a maximum of two subject lines. +\end{Example} +\EndIndex{PLength}{subjectvpos}% + + +\begin{Declaration} + \PLength{subjectbeforevskip}\\ + \PLength{subjectaftervskip} +\end{Declaration} +\BeginIndex{PLength}{subjectbeforevskip}% +\BeginIndex{PLength}{subjectaftervskip}% +\ChangedAt{v3.01}{\Class{scrlttr2}}% +If the subject is not positioned absolutely, but before or after the opening +phrase, additional vertical spaces may be inserted before and after the +subject. Thereby, the space before the subject may interfere with other +distances like the automatic distance of one line after the title. Because of +this the default is to use no additional space here. In contrast, the class's +default for the space after the subject is two lines.% +% +\EndIndex{PLength}{subjectaftervskip}% +\EndIndex{PLength}{subjectbeforevskip}% +% +\EndIndex{}{subject}% + + +\subsection{Closing} +\label{sec:scrlttr2-experts.closing} +\BeginIndex{}{closing} + +The closing consists of three parts: besides the closing phrase there +are a hand-written inscription and the signature, which acts as an +explanation for the inscription. + +\begin{Declaration} + \PLength{sigindent}\\ + \PLength{sigbeforevskip} +\end{Declaration} +\BeginIndex{PLength}{sigindent}% +\BeginIndex{PLength}{sigbeforevskip}% +Closing phrase\Index{closing>phrase}\Index{signature} and signature will be +typeset in a box. The width of the box is determined by the length of the +longest line of the closing phrase or signature. + +The box will be typeset with indentation of the length set in pseudo-length +\PLength{sigindent}. 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 closing phrase and signature a vertical space is inserted, the height +of which is defined in the pseudo-length \PLength{sigbeforevskip}. In the +predefined +\File{lco}-files\textnote{\File{lco}-file}\Index{lco-file=\File{lco}-file} +this is set to two lines. In this space you can then write your inscription.% +\EndIndex{PLength}{sigindent}% +\EndIndex{PLength}{sigbeforevskip}% +% +\EndIndex{}{closing}% + + +\subsection{Letter Footer} +\label{sec:scrlttr2-experts.firstFoot}% +\BeginIndex{}{letter>footer}% +\index{note paper>footer|see{letter footer}} + + +As the first page of a letter, the note paper, holds a letterhead of its own, +it also holds a footer\Index{footer>of note paper}\Index{footer>of letter} of +its own. And, as with the letterhead, it will not be set by the page style +settings, but directly with the use of +\Macro{opening}\IndexCmd{opening}\important{\Macro{opening}}. + +\begin{Declaration} + \PLength{firstfootvpos} +\end{Declaration} +\BeginIndex{PLength}{firstfootvpos}% +This pseudo-length gives the distance between the letter footer and the upper +edge of the paper. It also takes care of preventing text from jutting into the +footer area. For this the text height on the first page will be decreased +using \Macro{enlargethispage}\IndexCmd{enlargethispage}% +\important{\Macro{enlargethispage}} if needed. Likewise, and if it is wanted, +the text height can conversely be extended with the help of the option +\Option{enlargefirstpage}\important{\Option{enlargefirstpage}} (see +\autoref{sec:scrlttr2.firstpage}, +\autopageref{desc:scrlttr2.option.enlargefirstpage}). This way, the distance +between text area and the first letter footer can be reduced to the value +\Length{footskip}\IndexLength{footskip}\important{\Length{footskip}}. + +With\textnote{Attention!} the compatibility option +set\ChangedAt{v2.9t}{\Class{scrlttr2}} up to version +2.9t\IndexOption{version~=\PValue{2.9t}} (see \Option{version} in +\autoref{sec:scrlttr2.compatibilityOptions}, +\autopageref{desc: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}. The option +\Option{enlargefirstpage}\important{\Option{enlargefirstpage}} also loses its +effect. From version 2.9u\IndexOption{version~=\PValue{2.9u}} onwards the +footer is set in a position at the bottom edge of the paper. In this +situation, the height of the type area also becomes dependent on +\Option{enlargefirstpage}. + +If the letter footer be switched off using option +\OptionValue{firstfoot}{false}\important{\OptionValue{firstfoot}{false}}% +\IndexOption{firstfoot~=\PValue{false}}\ChangedAt{v2.97e}{\Class{scrlttr2}} +(see \autoref{sec:scrlttr2.firstpage}, +\autopageref{desc:scrlttr2.option.firstfoot}), then the setting of +\PLength{firstfootvpos} is ignored, and instead +\Length{paperheight}\IndexLength{paperheight} is applied. Thus, there remains +a mimimum bottom margin of length \Length{footskip}\IndexLength{footskip}.% +% +\EndIndex{PLength}{firstfootvpos}% + + +\begin{Declaration} + \PLength{firstfoothpos} +\end{Declaration} +\BeginIndex{PLength}{firstfoothpos}% +\ChangedAt{v3.05}{\Class{scrlttr2}}% +A\textnote{Attention!} positive value of pseudo-length \PLength{firstfoothpos} +gives the distance between the letter footer and the left edge of the +paper. If the value is even greater than or equal to the paper width, +\Length{paperwidth}\IndexLength{paperwidth}, then the footer will be centered +horizontally to the note paper. But if the value is less than or equal to the +negative width of the paper, then the footer will be aligned left to the +typing area. + +Typical default for this value is \Length{maxdimen}\IndexLength{maxdimen}, +that is the maximum allowed value of a length. This results in horizontal +centering.% +\EndIndex{PLength}{firstfoothpos}% + + +\begin{Declaration} + \PLength{firstfootwidth} +\end{Declaration} +\BeginIndex{PLength}{firstfootwidth}% +This pseudo-length gives the width of the letter's first page footer. The +value is set equal to that of the pseudo-length +\PLength{firstheadwidth}\important{\PLength{firstheadwidth}}% +\IndexPLength{firstheadwidth} in the predefined +\File{lco}-files\textnote{\File{lco}-file}\Index{lco-file=\File{lco}-file}.% +% +\EndIndex{PLength}{firstfootwidth}% +% +\EndIndex{}{letter>footer}% +% +\EndIndex{}{pseudo-lengths}% + +\section{Variables for Experienced Users} +\label{sec:scrlttr2-experts.variables} +\BeginIndex{}{variables} + +\KOMAScript{} provides beside the feature of using predefined variable also +commands to define new variable or to manipulate the automatic usage of +variables in the business line\Index{business line}. + +\begin{Declaration} + \Macro{newkomavar}\OParameter{description}\Parameter{name}\\ + \Macro{newkomavar*}\OParameter{description}\Parameter{name}\\ + \Macro{removereffields}\\ + \Macro{defaultreffields}\\ + \Macro{addtoreffields}\Parameter{name} +\end{Declaration} +\BeginIndex{Cmd}{newkomavar}% +\BeginIndex{Cmd}{newkomavar*}% +\BeginIndex{Cmd}{addtoreffields}% +\BeginIndex{Cmd}{removereffields}% +\BeginIndex{Cmd}{defaultreffields}% +With \Macro{newkomavar} a new variable is defined. This variable is +addressed via \PName{name}. As an option you can define a +\PName{description} for the variable \PName{name}. In opposite to \PName{name} +the \PName{description} won't be used to reference a variable. In fact the +\PName{description} defines an addition to the content of a variable, that may +be output similar to the variable content. + +Using the command \Macro{addtoreffields} you can add the variable \PName{name} +to the reference fields line\Index{business line} (see +\autoref{sec:scrlttr2.firstpage}, +\autopageref{desc:scrlttr2.option.refline}). The \PName{description} and the +content of the variable are added at the end of the reference fields line. The +starred version \Macro{newkomavar*} is similar to the unstarred version, with +a subsequent call of the command \Macro{addtoreffields}. Thus, the starred +version automatically adds the variable to the reference fields line. +\begin{Example} + Suppose you need an additional field for direct dialling. You can + define this field either with +\begin{lstcode} + \newkomavar[Direct dialling]{myphone} + \addtoreffields{myphone} +\end{lstcode} + or more concisely with +\begin{lstcode} + \newkomavar*[direct dialling]{myphone} +\end{lstcode} +\end{Example} +When\textnote{Attention!} you define a variable for the reference fields line +you should always give it a description. + +With the command \Macro{removereffields} all variables in the reference field +line can be removed. This also includes the predefined variables of the +class. The reference fields 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 command \Macro{defaultreffields} acts to reset the reference +fields line to its predefined format. In doing so, all custom-defined +variables are removed from the reference fields line. + +The\textnote{Attention!} date shouldn't be added to the reference fields line +using \Macro{addtoreffields}. Instead option \Option{date}\important[i]{\OptionValue{refline}{dateleft}\\ + \OptionValue{refline}{dateright}\\ + \OptionValue{refline}{nodate}}% +\IndexOption{refline~=\PValue{dateleft}}% +\IndexOption{refline~=\PValue{dateright}}% +\IndexOption{refline~=\PValue{nodate}} should be used to select the date left, +right or not at the business line. This option also will change the position +of the date if no reference fields will be output.% +% +\EndIndex{Cmd}{defaultreffields}% +\EndIndex{Cmd}{newkomavar}% +\EndIndex{Cmd}{newkomavar*}% +\EndIndex{Cmd}{addtoreffields}% +\EndIndex{Cmd}{removereffields}% +% + +\begin{Declaration} + \Macro{usekomavar}\OParameter{command}\Parameter{name}\\ + \Macro{usekomavar*}\OParameter{command}\Parameter{name} +\end{Declaration} +\BeginIndex{Cmd}{usekomavar}% +\BeginIndex{Cmd}{usekomavar*}% +The commands \Macro{usekomavar} and \Macro{usekomavar*} are, similarly to all +commands where a starred version exists or which can take an optional +argument, not fully expandable. Nevertheless, if used within +\Macro{markboth}\IndexCmd{markboth}, \Macro{markright}\IndexCmd{markright} or +similar commands, you need not insert a \Macro{protect}\IndexCmd{protect} +before using them. Of course this is also true for +\Macro{markleft}\IndexCmd{markleft} if using package +\Package{scrpage2}. However\textnote{Attention!}, these kinds of commands can +not be used within commands like +\Macro{MakeUppercase}\important{\Macro{MakeUppercase}}\IndexCmd{MakeUppercase} +which directly influence their argument. To avoid this problem you may use +commands like \Macro{MakeUppercase} as an optional argument to +\Macro{usekomavar} or \Macro{usekomavar*}. Then you will get the uppercase +content of a variable using: +\begin{lstcode}[escapeinside=`'] + \usekomavar[\MakeUppercase]{`\PName{Name}'} +\end{lstcode} +% +\EndIndex{Cmd}{usekomavar}% +\EndIndex{Cmd}{usekomavar*}% + +\begin{Declaration} + \Macro{ifkomavarempty}\Parameter{name}\Parameter{true}\Parameter{false}\\ + \Macro{ifkomavarempty*}\Parameter{name}\Parameter{true}\Parameter{false} +\end{Declaration} +\BeginIndex{Cmd}{ifkomavarempty}% +\BeginIndex{Cmd}{ifkomavarempty*}% +It is important to know that the content or description 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. + +Both\textnote{Attention!} variants of the command also must not be used as the +argument of \Macro{MakeUppercase}\IndexCmd{MakeUppercase} or other commands +which have similar effects to their arguments However, they are robust enough +to be used as the argument of, e.\,g., \Macro{markboth} or \Macro{footnote}.% +% +\EndIndex{Cmd}{ifkomavarempty*}% +\EndIndex{Cmd}{ifkomavarempty}% +% +\EndIndex{}{variables}% + + +\section{\File{lco}-Files for Experienced Users} +\label{sec:scrlttr2-experts.variables} +\BeginIndex{File}{lco}% +\BeginIndex{}{lco-file=\File{lco}-file}% + +\BeginIndex{}{paper>size>limitation}% +Even though each paper size, that may be set up using package +\Package{typearea}, may be also used with \Class{scrlttr2}, the result of the +first page may be unwanted with some of those page sizes. The conception of +the class is not the reason for this, but the fact, that there are mainly +parameter sets for ISO~A4 paper. Unfortunately their aren't any universal +rules, to calculate, e.\,g., the position of the address field or similar for +every available paper sizes. But it is possible to make parameter sets for any +paper size that is needed.% +% +\EndIndex{}{paper>size>limitation}% + + +\subsection{Survey of Paper Size} +\label{sec:scrlttr2-experts.papersize} + +At present there exist only parameter sets and \File{lco}-files for A4-sized +or letter-sized paper. Nevertheless, class \Class{scrlttr2} supports many more +paper sizes. Because of this it's necessary to survey setting up the correct +paper size. + +\begin{Declaration} + \Macro{LetterOptionNeedsPapersize}% + \Parameter{option name}\Parameter{paper size} +\end{Declaration} +\BeginIndex{Cmd}{LetterOptionNeedsPapersize} +In order that you will at least be warned when using another \PName{paper + size}, you will 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 \Macro{opening} command will only check the last given \PName{paper + size}. As shown in the following example, 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 may just +forget about this option and skip the example.% +\fi +\begin{Example} + Suppose you use A5-sized paper in normal, i.\,e., upright or portrait, + orientation for your letters. We further 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 DIN standard letter on A4-sized paper. The + main difference is that A5 paper needs only one fold. So you want to disable + the topmost and bottommost folding marks. If their wouldn't be options for + this, the easiest way to achieve this would be to place the marks outside of + the paper area. +\begin{lstcode} + \ProvidesFile{a5.lco} + [2002/05/02 letter class option] + \LetterOptionNeedsPapersize{paper=a5}{a5} + \@setplength{tfoldmarkvpos}{\paperheight} + \@setplength{bfoldmarkvpos}{\paperheight} +\end{lstcode} + Besides this, the placement of the foot, that is, the pseudo-length + \PLength{firstfootvpos}, must be adjusted. It is left to the reader to find + an appropriate value. When using such an \File{lco} file, you must only take + care that other \File{lco} file options, like \File{SN}, are declared before + loading ``\File{a5.lco}''. +\iffalse% Umbruchoptimierung + Does this seem too complicated? Only before you have used it the first + time. Anyway, how often do you write letters not using your standard formats + for A4-size or letter-size paper? +\fi% +\end{Example} +% +\EndIndex{Cmd}{LetterOptionNeedsPapersize} + + +\subsection{Visualization of Positions} +\label{sec:scrlttr2-experts.visualize} +\BeginIndex{Option}{visualize} + +If someone develops a new \File{lco}-file, e.\,g., to adapt the positions of +the several fields of the note paper because of own wishes or because it's +simply necessary, then it often will be useful to make at least some elements +directly visual. This is the sense of \File{lco}-file +\File{visualize.lco}\ChangedAt{v3.04}{\Class{scrlttr2}}. This file may be +loaded like each other \File{lco}-file. But in difference to other +\File{lco}-files it has to be done in the document preamble and it's not +possible to switch off the effects of that \File{lco}-file. This +\File{lco}-file uses packages \Package{eso-pic}\IndexPackage{eso-pic}% +\important[i]{\Package{eso-pic}\\\Package{graphicx}} +and \Package{graphicx}\IndexPackage{graphicx}, that are not part of +\KOMAScript. + + +\begin{Declaration} + \Macro{showfields}\Parameter{field list} +\end{Declaration} +\BeginIndex{Cmd}{showfields}% +This command activates the visualization of note paper fields. Argument +\PName{field list} is a comma separated list of fields that should be +visualized. Following are the supported fields: +\begin{labeling}[~--]{\PValue{location}} +\item[\PValue{test}] is a test field of size 10\Unit{cm} by 15\Unit{cmd} with + position 1\Unit{cm} down and right from the topmost and leftmost edges of + the paper. This field exists for debugging purpose. It may be used as an + measure comparison in the case, that the measures will be adulterated while + printing. +\item[\PValue{head}] is the header area of the note paper. This area has an + open bottom. +\item[\PValue{foot}] is the footer area of the note paper. This area has an + open top. +\item[\PValue{address}] is the address window area used by window envelopes. +\item[\PValue{location}] is the field of the sender's extension. +\item[\PValue{refline}] is the business line. This are has an open bottom. +\end{labeling}% +\BeginIndex{FontElement}{field}% +The color of the visualization may be changed using +commands\Macro{setkomafont} und \Macro{addtokomafont} (see +\autoref{sec:scrlttr2.textmarkup}, +\autopageref{desc:scrlttr2.cmd.setkomafont}) with the element +\FontElement{field}\important{\FontElement{field}}. Default is +\Macro{normalcolor}.% +\EndIndex{FontElement}{field}% +% +\EndIndex{Cmd}{showfields}% + +\begin{Declaration} + \Macro{setshowstyle}\Parameter{visualization style}\\ + \Macro{edgesize} +\end{Declaration} +\BeginIndex{Cmd}{setshowstyle}% +\BeginIndex{Cmd}{edgesize} +The default for the visualization of single areas are +frames\important{\PValue{frame}} around the areas. Areas with open top or +bottom won't be framed completely but have an open edge with arrows at the end +of the ending lines. Alternatively\important{\PValue{rule}} the +\PName{visualization style} \PValue{rule} may be used. In this case a +background color will be used to visualize the areas. This doesn't differ open +and closed areas. Instead a minimal height will be used for open areas. The +third\important{\PValue{edge}} available \PName{visualization style} is +\PValue{edge}. This will mark 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 \Macro{edgesize} with default 1\Unit{ex}.% +\EndIndex{Cmd}{edgesize}% +\EndIndex{Cmd}{setshowstyle}% + + +\begin{Declaration} + \Macro{showenvelope}(\PName{width},\PName{height})% + (\PName{h-offset},\PName{v-offset})% + \OParameter{instructions}\\ + \Macro{showISOenvelope}\Parameter{format}\OParameter{instructions}\\ + \Macro{showUScommercial}\Parameter{format}\OParameter{instructions}\\ + \Macro{showUScheck}\OParameter{instructions}\\ + \Macro{unitfactor} +\end{Declaration} +\BeginIndex{Cmd}{showenvelope}% +\BeginIndex{Cmd}{showISOenvelope}% +\BeginIndex{Cmd}{showUScommercial}% +\BeginIndex{Cmd}{showUScheck}% +\BeginIndex{Cmd}{unitfactor}% +These commands may be used to output a graphics of an envelope. The envelope +of the graphic will be rotated by 90\textdegree{} and printed in measure~1:1 +to one document page. The addressee window will be generated automatically +using the current data of the address position of the note paper: +\PLength{toaddrvpos}, \PLength{toaddrheight}, \PLength{toaddrwidth}, and +\PLength{toaddrhpos}. For this the differences \PName{h-offset} and +\PName{v-offset} of size of the folded letter sheet to the size of the +envelope, \PName{width} and \PName{height}, will be needed. If both values, +\PName{h-offset} and \PName{v-offset}, will be omitted using +\Macro{showenvelope}, then these will be calculated from the folding marks and +the paper size. + +Commands \Macro{showISOenvelope}, \Macro{showUScommercia}, and +\Macro{showUScheck} base on \Macro{showenvelope}. With \Macro{showISOenvelope} +ISO-envelopes with \PName{format} C4, C5, C5/6, DL (also known as C5/6) or C6 +may be generated. With \Macro{showUScommercial} an US-commercial envelope of +\PName{format} 9 or 10 may be generated. \Macro{showUScheck} may be used for +envelopes in format US-check. + +The \PName{instructions} may be used to print additional elements inside the +envelope. + +\BeginIndex{FontElement}{letter}% +The position of the letter sheet will be signed with dash lines inside the +envelope. The color of this dash lines may be changed using commands +\Macro{setkomafont} und \Macro{addtokomafont} (see +\autoref{sec:scrlttr2.textmarkup}, +\autopageref{desc:scrlttr2.cmd.setkomafont}) with element +\FontElement{letter}\important{\FontElement{letter}}. Default is +\Macro{normalcolor}.% +% +\EndIndex{FontElement}{letter}% + +\BeginIndex{FontElement}{measure}% +The envelope will be dimensioned automatically. The color of the dimensioning +may be changed using commands \Macro{setkomafont} und \Macro{addtokomafont} +(see \autoref{sec:scrlttr2.textmarkup}, +\autopageref{desc:scrlttr2.cmd.setkomafont}) with element +\FontElement{measure}\important{\FontElement{measure}}. Default is +\Macro{normalcolor} The dimensioning will be done in multiply of +\Length{unitlength} with accuracy of $1/\Macro{unitfactor}$. Nevertheless +accuracy of the \TeX{} arithmetic also limits the accuracy of +dimensioning. Default is 1. The \Macro{unitfactor} may be changed using +\Macro{renewcommand}.% +\EndIndex{FontElement}{measure}% + +\begin{Example} + An example letter in format ISO-A4 will be produced. The supported fields + should be visualized with yellow frame lines. Additionally the position of + the window of an envelope with size DL should be checked with a + graphics. The measure lines of the dimensioning should be red and the + measure numbers should use a small font. The accuracy of the dimensioning + should be 1\Unit{mm}. The dashed note paper sheet in the envelope should be + colored 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[ngerman]{babel} + \usepackage{lipsum} + \begin{document} + \setkomavar{fromname}{Peter Musterfrau} + \setkomavar{fromaddress}{Hinter dem Tal 2\\ + 54321 Musterheim} + \begin{letter}{% + Joana Public\\ + Hillside 1\\ + 12345 Public City% + } + \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 note paper on the first and the envelope graphic on the + second document page. +\end{Example} + +Please note, that inauspicious combinations of \Length{unitlength} and +\Macro{unitfactor} may provoke \TeX{} errors like \emph{arithmetic overflow} +very soon. Also shown measure numbers may differ a little bit from the real +value. Both are not mistakes of \Option{visualize} but simple implementation +limitations of \TeX. +% +\EndIndex{Cmd}{unitfactor}% +\EndIndex{Cmd}{showUScheck}% +\EndIndex{Cmd}{showUScommercial}% +\EndIndex{Cmd}{showISOenvelope}% +\EndIndex{Cmd}{showenvelope}% +% +\EndIndex{Option}{visualize}% +% +\EndIndex{}{lco-file=\File{lco}-file}% +\EndIndex{File}{lco}% + + +\section{Language Support} +\label{sec:scrlttr2-experts.languages}% +\BeginIndex{}{language}% + +The document class \Class{scrlttr2} supports many languages. These include +German\Index{language>German} (\PValue{german} for old German orthography, +\PValue{ngerman} for the new orthography, \PValue{austrian} for Austrian with +old German orthography, and +\PValue{naustrian}\ChangedAt{v3.09}{\Class{scrlttr2}} for Austrian with new +orthography), English\Index{language>English} (\PValue{english} without +specification as to whether American or British should be used, +\PValue{american} and \PValue{USenglish} for American, and \PValue{british} +and \PValue{UKenglish} for British), French\Index{language>French}, +Italian\Index{language>Italian}, Spanish\Index{language>Spanish}, +Dutch\Index{language>Dutch}, Croatian\Index{language>Croatian}, +Finnish\Index{language>Finnish}, +Norsk\Index{language>Norsk}\ChangedAt{v3.02}{\Class{scrlttr2}}, and +Swedish\Index{language>Swedish}\ChangedAt{v3.08}{\Class{scrlttr2}}. + +If the package \Package{babel}\IndexPackage{babel} (see +\cite{package:babel}) is used, one can switch between languages with +the command \Macro{selectlanguage}\Parameter{language}. 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 takes place already as a direct +consequence of loading such a package. +\iffalse% Umbruchkorrekturtext +Further information can be obtained in the documentation of the relevant +packages. +\fi + +There\textnote{Attention!} is one thing more to mention about language +packages. The package +\Package{french}\IndexPackage{french}\important{\Package{french}} (see +\cite{package:french}) redefines not only the terms of +\autoref{tab:scrlttr2-experts.languageTerms}, but also other, for instance +some versions of that package even redefine the command \Macro{opening}, since +the package assumes that the definition of the standard \Class{letter} is +used. With \Class{scrlttr2} this is not the case, therefore the package +\Package{french} destroys the definition in \Class{scrlttr2} and does not work +correctly with \KOMAScript. The author views this is a fault in the +\Package{french} package. + +If one utilizes the \Package{babel}\IndexPackage{babel} package in order to +switch to language \PValue{french} while the package +\Package{french}\IndexPackage{french} is simultaneously installed, then the +same problems may likely occur, since \Package{babel} employs definitions +from the \Package{french} package. +% +\iffalse% Umbruchergaenzungstext +If the package \Package{french} is not +installed then there are no problems. Aimilarly, there is no problem if for +\Package{babel} instead of \PValue{french} other languages like +\PValue{acadian}, \PValue{canadien}, \PValue{francais} or \PValue{frenchb} are +chosen. +\fi + +From \Package{babel} version 3.7j this problem only occurs when it is +indicated explicitly by means of an option that \Package{babel} should use the +\Package{french} package. If it cannot be ascertained that a new version of +\Package{babel} is being used, it is recommended to use +\begin{lstcode} + \usepackage[...,frenchb,...]{babel} +\end{lstcode} +in order to select french. + +Other languages can possibly cause similar problems. Currently there +are no known problems with the \Package{babel} package for the +german language and the various english language selections. + +\begin{Declaration} + \Macro{captionsenglish}\\ + \Macro{captionsUSenglish}\\ + \Macro{captionsamerican}\\ + \Macro{captionsbritish}\\ + \Macro{captionsUKenglish}\\ + \Macro{captionsgerman}\\ + \Macro{captionsngerman}\\ + \Macro{captionsaustrian}\\ + \Macro{captionsnaustrian}\\ + \Macro{captionsfrench}\\ + \Macro{captionsitalian}\\ + \Macro{captionsspanish}\\ + \Macro{captionsdutch}\\ + \Macro{captionscroatian}\\ + \Macro{captionsfinnish}\\ + \Macro{captionsnorsk}\\ + \Macro{captionsswedish} +\end{Declaration} +\BeginIndex{Cmd}{captionsenglish}\BeginIndex{Cmd}{captionsUSenglish}% +\BeginIndex{Cmd}{captionsamerican}\BeginIndex{Cmd}{captionsbritish}% +\BeginIndex{Cmd}{captionsUKenglish}% +\BeginIndex{Cmd}{captionsgerman}\BeginIndex{Cmd}{captionsngerman}% +\BeginIndex{Cmd}{captionsaustrian}\BeginIndex{Cmd}{captionsnaustrian}% +\BeginIndex{Cmd}{captionsfrench}% +\BeginIndex{Cmd}{captionsitalian}% +\BeginIndex{Cmd}{captionsspanish}% +\BeginIndex{Cmd}{captionsdutch}% +\BeginIndex{Cmd}{captionscroatian}% +\BeginIndex{Cmd}{captionsfinnish}% +\BeginIndex{Cmd}{captionsnorsk}% +\BeginIndex{Cmd}{captionsswedish}% +If one switches the language of a letter then +using these commands the language-dependent terms from +\autoref{tab:scrlttr2-experts.languageTerms}, +\autopageref{tab:scrlttr2-experts.languageTerms} are redefined. If the used +language selection scheme does not support this then the commands +above can be used directly. +% +\EndIndex{Cmd}{captionsswedish}% +\EndIndex{Cmd}{captionsnorsk}% +\EndIndex{Cmd}{captionsenglish}\EndIndex{Cmd}{captionsUSenglish}% +\EndIndex{Cmd}{captionsamerican}\EndIndex{Cmd}{captionsbritish}% +\EndIndex{Cmd}{captionsUKenglish}\EndIndex{Cmd}{captionsgerman}% +\EndIndex{Cmd}{captionsngerman}% +\EndIndex{Cmd}{captionsaustrian}\EndIndex{Cmd}{captionsnaustrian}% +\EndIndex{Cmd}{captionsfrench}% +\EndIndex{Cmd}{captionsitalian}\EndIndex{Cmd}{captionsspanish}% +\EndIndex{Cmd}{captionsdutch}\EndIndex{Cmd}{captionscroatian}% +\EndIndex{Cmd}{captionsfinnish}% + + +\begin{Declaration} + \Macro{dateenglish}\\ + \Macro{dateUSenglish}\\ + \Macro{dateamerican}\\ + \Macro{datebritish}\\ + \Macro{dateUKenglish}\\ + \Macro{dategerman}\\ + \Macro{datengerman}\\ + \Macro{dateaustrian}\\ + \Macro{datenaustrian}\\ + \Macro{datefrench}\\ + \Macro{dateitalian}\\ + \Macro{datespanish}\\ + \Macro{datedutch}\\ + \Macro{datecroatian}\\ + \Macro{datefinnish}\\ + \Macro{datenorsk}\\ + \Macro{dateswedish} +\end{Declaration} +\BeginIndex{Cmd}{dateenglish}\BeginIndex{Cmd}{dateUSenglish}% +\BeginIndex{Cmd}{dateamerican}\BeginIndex{Cmd}{datebritish}% +\BeginIndex{Cmd}{dateUKenglish}\BeginIndex{Cmd}{dategerman}% +\BeginIndex{Cmd}{datengerman}% +\BeginIndex{Cmd}{dateaustrian}\BeginIndex{Cmd}{datenaustrian}% +\BeginIndex{Cmd}{datefrench}% +\BeginIndex{Cmd}{dateitalian}\BeginIndex{Cmd}{datespanish}% +\BeginIndex{Cmd}{datedutch}\BeginIndex{Cmd}{datecroatian}% +\BeginIndex{Cmd}{datefinnish}% +\BeginIndex{Cmd}{datenorsk}% +\BeginIndex{Cmd}{dateswedish}% +The numerical representation of the date\Index{date} (see option +\Option{numericaldate} in \autoref{sec:scrlttr2.firstpage}, +\autopageref{desc:scrlttr2.option.numericaldate}) will be +written depending on the selected language. Some examples can be found +in \autoref{tab:date}.% +% +\begin{table} +% \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{dateenglish} & 24/12/1993\\ + \Macro{dateUSenglish} & 12/24/1993\\ + \Macro{dateamerican} & 12/24/1993\\ + \Macro{datebritish} & 24/12/1993\\ + \Macro{dateUKenglish} & 24/12/1993\\ + \Macro{dategerman} & 24.\,12.\,1993\\ + \Macro{datengerman} & 24.\,12.\,1993\\ + \Macro{dateaustrian} & 24.\,12.\,1993\\ + \Macro{datefrench} & 24.\,12.\,1993\\ + \Macro{dateitalian} & 24.\,12.\,1993\\ + \Macro{datespanish} & 24.\,12.\,1993\\ + \Macro{datedutch} & 24.\,12.\,1993\\ + \Macro{datecroatian} & 24.\,12.\,1993.\\ + \Macro{datefinnish } & 24.12.1993.\\ + \Macro{datenorsk} & 24.12.1993\\ + \Macro{dateswedish} & 24/12 1993\\ + \bottomrule + \end{tabular} + \end{captionbeside} + \label{tab:date} +\end{table} +% +\EndIndex{Cmd}{dateswedish}% +\EndIndex{Cmd}{datenorsk}% +\EndIndex{Cmd}{dateenglish}\EndIndex{Cmd}{dateUSenglish}% +\EndIndex{Cmd}{dateamerican}\EndIndex{Cmd}{datebritish}% +\EndIndex{Cmd}{dateUKenglish}\EndIndex{Cmd}{dategerman}% +\EndIndex{Cmd}{datengerman}% +\EndIndex{Cmd}{dateaustrian}\EndIndex{Cmd}{datenaustrian}% +\EndIndex{Cmd}{datefrench}% +\EndIndex{Cmd}{dateitalian}\EndIndex{Cmd}{datespanish}% +\EndIndex{Cmd}{datedutch}\EndIndex{Cmd}{datecroatian}% +\EndIndex{Cmd}{datefinnish}% + + +\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{phonename}\\ + \Macro{faxname}\\ + \Macro{emailname}\\ + \Macro{wwwname}\\ + \Macro{bankname} +\end{Declaration} +\BeginIndex{Cmd}{yourrefname}\BeginIndex{Cmd}{yourmailname}% +\BeginIndex{Cmd}{myrefname}% +\BeginIndex{Cmd}{customername}\BeginIndex{Cmd}{invoicename}% +\BeginIndex{Cmd}{subjectname}% +\BeginIndex{Cmd}{ccname}\BeginIndex{Cmd}{enclname}% +\BeginIndex{Cmd}{headtoname}\BeginIndex{Cmd}{headfromname}% +\BeginIndex{Cmd}{datename}\BeginIndex{Cmd}{pagename}% +\BeginIndex{Cmd}{phonename}\BeginIndex{Cmd}{faxname}% +\BeginIndex{Cmd}{emailname}\BeginIndex{Cmd}{wwwname}% +\BeginIndex{Cmd}{bankname}% +The commands contain the language-dependent terms. These definitions can be +modified in order to support a new language or for private customization. +How\important[i]{% + \Macro{newcaptionname}\\ + \Macro{renewcaptionname}\\ + \Macro{providecaptionname}} this can be done is described in +\autoref{sec:scrbase.languageSupport}. The definitions become active only at +\Macro{begin}\PParameter{document}. Therefore they are not available in the +{\LaTeX} preamble and cannot be redefined there. In +\autoref{tab:scrlttr2-experts.languageTerms} the default settings for +\Option{english} and \Option{ngerman} can be found.% +% +\begin{table} + \begin{minipage}{\textwidth} +% \centering + \KOMAoptions{captions=topbeside}% + \setcapindent{0pt}% + %\caption + \begin{captionbeside}[{% + Default settings for language-dependent terms + }]{% + Default settings for language-dependent terms using languages + \Option{english} and \Option{ngerman}, as long as language selection + packages haven't been used% + \label{tab:scrlttr2-experts.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{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 they are not redefined by + \Class{scrlttr2} and may differ from the table above.} + \end{captionbeside} + \end{minipage} +\end{table} +% +\EndIndex{Cmd}{yourrefname}\EndIndex{Cmd}{yourmailname}% +\EndIndex{Cmd}{myrefname}% +\EndIndex{Cmd}{customername}\EndIndex{Cmd}{invoicename}% +\EndIndex{Cmd}{subjectname}% +\EndIndex{Cmd}{ccname}\EndIndex{Cmd}{enclname}% +\EndIndex{Cmd}{headtoname}\EndIndex{Cmd}{headfromname}% +\EndIndex{Cmd}{datename}\EndIndex{Cmd}{pagename}% +\EndIndex{Cmd}{phonename}\EndIndex{Cmd}{faxname}% +\EndIndex{Cmd}{emailname}\EndIndex{Cmd}{wwwname}% +\EndIndex{Cmd}{bankname}% +% +\EndIndex{}{language} + +\section{From Obsolete \Class{scrlettr} to Current \Class{scrlttr2}} +\label{sec:scrlttr2-experts.fromscrlettr} +\BeginIndex{Class}{scrlettr} + +With\textnote{Attention!} the June 2002 release of \Class{scrlttr2} (see +\autoref{cha:scrlttr2}) the old letter class \Class{scrlettr} became +obsolete. It is recommended not to use that class for new applications. There +is no more active development of the old letter class, and support is very +restricted. However, if you really need the documentation of the old letter +class, you can still find it in the file \File{scrlettr.dtx}, but only in +German. You should run it through {\LaTeX} several times, like this: +\begin{lstoutput}[belowskip=\dp\strutbox,morekeywords={latex,mkindex}] + latex scrlettr.dtx + mkindex scrlettr + latex scrlettr.dtx + mkindex scrlettr + latex scrlettr.dtx +\end{lstoutput} +Then you obtain the file \File{scrlettr.dvi} containing the old German +manual. If you want \File{scrlettr.pdf} instead of \File{scrlettr.dvi} you +should use \File{pdflatex} instead of \File{latex}. + +To facilitate the transition to the new class, there is the compatibility +option \Option{KOMAold}. In general, the complete older functionality still +remains in the new class. Without \Option{KOMAold}, the user +interface and the defaults will be different. More details on +this option are provided in \autoref{sec:scrlttr2.lcoFile}, +\autoref{tab:lcoFiles}. + +\LoadNonFree{scrlttr2-experts}{0} + +\EndIndex{Class}{scrlettr}% + +\endinput + +%%% Local Variables: +%%% mode: latex +%%% mode: flyspell +%%% ispell-local-dictionary: "english" +%%% coding: us-ascii +%%% TeX-master: "../guide" +%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/scrlttr2.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/scrlttr2.tex index a3e3c96dd78..cabf94914ce 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/scrlttr2.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/scrlttr2.tex @@ -40,1345 +40,49 @@ % % ---------------------------------------------------------------------- % -% Kapitel über scrlttr2 in der KOMA-Script-Anleitung +% Kapitel ueber scrlttr2 in der KOMA-Script-Anleitung % Verwaltet von Markus Kohm % % ============================================================================ -\ProvidesFile{scrlttr2.tex}[2011/01/20 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} - -% Date of translated german file: < 2007-09-17 - -\chapter{The New Letter Class \Class{scrlttr2}} -\labelbase{scrlttr2} - -\BeginIndex{Class}{scrlttr2}\BeginIndex{}{letters}% -\begin{Explain} - Since the June 2002 release {\KOMAScript} provides a completely - rewritten letter class\ChangedAt{v2.8q}{\Class{scrlttr2}}. Although - part of the code is identical to that of the main classes described - in \autoref{cha:maincls}, letters are quite different from articles, - reports, books, and suchlike. That alone justifies a separate - chapter about the letter class. But there is another reason for a - chapter on \Class{scrlttr2}. This class has been redeveloped from - scratch and provides a new user interface different from every other - class the author knows of. This new user interface may be uncommon, - but the author is convinced both experienced and new {\KOMAScript} - users will benefit from its advantages. - -\section{Looking Back on the Old Letter Class} -\label{sec:scrlttr2.scrlettr} - -With the June 2002 release the old letter class -\Class{scrlettr}\IndexClass{scrlettr} became obsolete. It is -recommended not to use that class for new applications. There is no -more active development of the old letter class, and support is very -restricted. However, if you really need the documentation of the old -letter class, you can still find it in the file \File{scrlettr.dtx}, -but only in German. You should run it through {\LaTeX} several times, -like this: -\begin{lstlisting} - latex scrlettr.dtx - latex scrlettr.dtx - latex scrlettr.dtx -\end{lstlisting} -Then you obtain the file \File{scrlettr.dvi} containing the old German -manual. - -To facilitate the transition to the new class, there is a -compatibility option. In general, the complete older functionality -still remains in the new class. Without that compatibility option, -the user interface and the defaults will be different. More details on -%this option is provided in \autoref{sec:scrlttr2.options} and -%\autoref{sec:scrlttr2.fromscrlettr}. -this option are provided in \autoref{sec:scrlttr2.lcoFile}, -\autoref{tab:lcoFiles} and \autoref{sec:scrlttr2.fromscrlettr}. -\end{Explain} - -\section{Options} -\label{sec:scrlttr2.options} - -The letter class \Class{scrlttr2} uses the package -\Package{keyval}\IndexPackage{keyval} to handle options. This is part -of the \Package{graphics} package (see \cite{package:graphics}). Since -\Package{graphics} is part of the \emph{required} section of {\LaTeX}, -it should be found in every {\LaTeX} distribution. Should your {\TeX} -distribution contain {\LaTeX}, but not the packages \Package{graphics} -and \Package{keyval}, please complain to your {\TeX} distributor. If -you want to use \Class{scrlttr2}, you will have to install the -\Package{graphics} package yourself in that case. - -\begin{Explain} - The special feature of the \Package{keyval} package is that options - can have values. Thus, you not only need a lot less options, but - perhaps also fewer optional arguments. You will see that when - discussing the \Environment{letter} environment in - \autoref{sec:scrlttr2.addressee}, - \autopageref{desc:scrlttr2.env.letter}. The class will - automatically load the \Package{keyval} package. If you need to - supply options to the \Package{keyval} package, you should use the - \Macro{PassOptionsToPackage} command before \Macro{documentclass}. -\end{Explain} - -\subsection{Defining Options Later} -\label{sec:scrlttr2.options.late} -\BeginIndex{}{options} - -This section anticipates a feature of the new letter class. The -meaning of this feature will not become clear until the structure of a -document with more than one letter inside and another feature of -\Class{scrlttr2} is understood. However, to keep the number of forward -references low, it is reasonable to describe the feature this early. - -\begin{Declaration} - \Macro{KOMAoptions}\Parameter{option list} -\end{Declaration} -\BeginIndex{Cmd}{KOMAoptions}% -A special feature of the \Class{scrlttr2} class is the possibility to -change many options even after loading the class. The -\Macro{KOMAoptions} command serves this purpose, taking options and -their values as arguments. You can list multiple options, separated by -commas, just like in the optional argument of -\Macro{documentclass}. If an option is only available when loading the -class, i.\,e., as an optional argument to \Macro{documentclass}, this -will be explicitly mentioned in the option's description. - -\begin{Explain} - If you set an option to an illegal value within the \PName{option - list}, {\LaTeX} will stop and show an error message. By entering - ``\texttt{h}'' you will get an explanation that will also list - possible values for that particular option. -\end{Explain} -% -\EndIndex{Cmd}{KOMAoptions}% -\EndIndex{}{options}% - -\subsection{Options for Compatibility} -\label{sec:scrlttr2.compatibilityOptions} -\BeginIndex{}{compatibility}% - -People who archive their letters in source code format generally place -the highest priority on obtaining exactly the same results in future -{\LaTeX} runs. In some cases however, improvements and corrections to -the class can lead to changes in behaviour, particularly as regards -page breaking. - -\begin{Declaration} - \Option{version}=\PName{value} -\end{Declaration} -\BeginIndex{Option}{version}% -With\ChangedAt{v2.9t}{\Class{scrlttr2}} \Class{scrlttr2} there is the -choice, whether a source file should give, as far as is technically -possible, the same in any future {\LaTeX} runs, or whether the -document should be set according to the latest version of the -class. To which version compatibility should be retained is determined -by the option \Option{version}. The default is version 2.9t. The same effect can be obtained with -\begin{lstlisting} - version=first -\end{lstlisting} -or -\begin{lstlisting} - version=2.9 -\end{lstlisting} -or -\begin{lstlisting} - version=2.9t -\end{lstlisting} -If an unknown version is entered for \PName{value}, a warning is -output and for safety's sake \Option{version=}\PValue{first} is -assumed. With -\begin{lstlisting} - version=last -\end{lstlisting} -the current newest version can be selected. In this case future -compatibility is waived. If the option is used without any value, then -\PValue{last} is assumed as well. - -The question of compatibility concerns first and foremost page -breaking. New features which have no effect on page breaking will be -available even when compatibility to an earlier version is chosen by -this option. The option also has no effect on changes in page breaking -which result from the removal of old errors in the new version -class. If page breaking compatibility is required absolutely, to the -point of incorporating previous class errors, then the document should -rather be archived together with the relevant version of \KOMAScript. - -It should be noted that the option \Option{version} can no longer be -changed after loading of the class.% -% -\EndIndex{Option}{version}% -% -\EndIndex{}{compatibility}% - -\subsection{Page Layout Options} -\label{sec:scrlttr2.typeareaOptions} -\BeginIndex{}{page>layout}% - -In contrast to the old \Class{scrlettr} class, but in agreement with -the other {\KOMAScript} classes, the \Class{scrlttr2} class refers to -the \Package{typearea} package for the construction of the page layout -(see \autoref{cha:typearea}). The package will be loaded by the class -automatically, and the class then controls the package. The necessary -options will be explained in this section. - -\begin{Declaration} - \Option{enlargefirstpage} -\end{Declaration} -\BeginIndex{Option}{enlargefirstpage}% -As described later in this chapter, the first page of a letter always -uses a different page layout. The \Class{scrlttr2} class provides a -mechanism to calculate height and vertical alignment of header and -footer of the first page independently of the following pages. If, as -a result, the footer of the first page would reach into the text area, -this text area is automatically made smaller using the -\Macro{enlargethispage}\IndexCmd{enlargethispage} macro. On the other -hand, if the text area should become larger, supposing that the footer -on the first page allows that, you can also use this option. At best, -a little more text will then fit on the first page. See also the -description of the pseudo-length \PLength{firstfootvpos} in -\autoref{sec:scrlttr2.firstFoot}, -\autopageref{desc:scrlttr2.plength.firstfootvpos}. This option can -take the standard values for simple switches, as listed in -\autoref{tab:truefalseswitch}, -\autopageref{tab:truefalseswitch}. Default is -\PValue{false}. -% -\EndIndex{Option}{enlargefirstpage}% -% -\EndIndex{}{page>layout}% - -\subsection{Other Layout Options} -\label{sec:scrlttr2.layout} - -In this subsection, you will find all options, except the specific -page layout options, that have an influence on the layout in -general. Strictly speaking, all page layout options -(see~\ref{sec:scrlttr2.typeareaOptions}) are also layout options, and -vice versa for some of them. - -\begin{Declaration} - \Option{cleardoublepage}=\PName{style} -\end{Declaration} -\BeginIndex{Option}{cleardoublepage~=\PName{style}}% -If you want pages inserted by the \Macro{cleardoublepage} command to -just contain a page number in the header and footer, or to be empty, -this can be accomplished with this option. There are three different -styles supported that are listed at -\autoref{tab:scrlttr2.cleardoublepage}. Default is \PValue{standard}. - -\begin{table} - \caption[{Possible values of option \Option{cleardoublepage} with - \Class{scrlttr2}}]{Possible values of option \Option{cleardoublepage} for - selection of page style of empty left pages with \Class{scrlttr2}} - \label{tab:scrlttr2.cleardoublepage} - \begin{desctabular} - \pventry{empty}{switches to page style\Index{page>style} - \PValue{empty}\IndexPagestyle{empty} for inserted pages}% - \pventry{plain}{switches to page style - \PValue{plain}\IndexPagestyle{plain} for inserted pages} - \pventry{standard}{keeps the current page style for inserted pages} - \end{desctabular} -\end{table} -% -\EndIndex{Option}{cleardoublepage~=\PName{style}}% - -\begin{Declaration} - \KOption{headsepline}\PName{switch}\\ - \KOption{footsepline}\PName{switch} -\end{Declaration} -\BeginIndex{Option}{headsepline~=\PName{switch}}% -\BeginIndex{Option}{footsepline~=\PName{switch}}% -These two options insert a separator line below the header or above -the footer, respectively, on consecutive pages. In the terminology of -this manual, all pages of a letter except the first one are -consecutive pages. This option can take the standard values for -simple switches, as listed in -\autoref{tab:truefalseswitch}, -\autopageref{tab:truefalseswitch}. Default is -\PValue{false}. If one of the options is used without a value, like in -the declaration above, this evaluates as \PValue{true}, so the -separator line will be activated. When used as a \Macro{documentclass} -option, the option \Option{headinclude} or \Option{footinclude}, -respectively, will be passed on to the \Package{typearea} package (see -\autoref{sec:typearea.options}, -\autopageref{desc:typearea.option.headinclude}). -% -\EndIndex{Option}{headsepline~=\PName{switch}}% -\EndIndex{Option}{footsepline~=\PName{switch}}% - -\begin{Declaration} - \Option{pagenumber}=\PName{position} -\end{Declaration} -\BeginIndex{Option}{pagenumber}% -This option defines if and where a page number will be placed on -consecutive pages. All pages without a letterhead are consecutive -pages. This option affects the page styles\Index{page>style} -\PValue{headings} and \PValue{plain}. It also affects the default page -styles of the \Package{scrpage2} package, if set before loading the -package (see \autoref{cha:scrpage}). It can take values only -influencing horizontal, only vertical, or both positions. Possible -value are shown in \autoref{tab:scrlttr2.pagenumber}. Default is -\PValue{botcenter}. - -\begin{table} - \caption[{Possible values of option \Option{pagenumber} with - \Class{scrlttr2}}]{Possible values of option \Option{pagenumber} for the - position of the page number in page styles \PValue{headings} and - \PValue{plain} with \Class{scrlttr2}} - \label{tab:scrlttr2.pagenumber} - \begin{desctabular} - \entry{\PValue{bot}, \PValue{foot}}{% - page number in footer, horizontal position not changed}% - \entry{\PValue{botcenter}, \PValue{botcentered}, \PValue{botmittle}, - \PValue{footcenter}, \PValue{footcentered}, \PValue{footmiddle}}{% - page number in footer, centered}% - \entry{\PValue{botleft}, \PValue{footleft}}{% - page number in footer, left justified}% - \entry{\PValue{botright}, \PValue{footright}}{% - page number in footer, right justified}% - \entry{\PValue{center}, \PValue{centered}, \PValue{middle}}{% - page number centered horizontally, vertical position not changed}% - \entry{\PValue{false}, \PValue{no}, \PValue{off}}{% - no page number}% - \entry{\PValue{head}, \PValue{top}}{% - page number in header, horizontal position not changed}% - \entry{\PValue{headcenter}, \PValue{headcentered}, \PValue{headmiddle}, - \PValue{topcenter}, \PValue{topcentered}, \PValue{topmiddle}}{% - page number in header, centered}% - \entry{\PValue{headleft}, \PValue{topleft}}{% - page number in header, left justified}% - \entry{\PValue{headright}, \PValue{topright}}{% - page number in header, right justified}% - \entry{\PValue{left}}{% - page number left, vertical position not changed}% - \entry{\PValue{right}}{% - page number right, vertical position not changed}% - \end{desctabular} -\end{table} -% -\EndIndex{Option}{pagenumber}% - -\begin{Declaration} - \Option{parskip}=\PName{value} -\end{Declaration}% -\BeginIndex{Option}{parskip~=\PName{value}}% -\begin{Explain}% - Especially in letters you often encounter paragraphs marked not with - indentation of the first line, but with a vertical skip between - them. This is a matter of tradition. Apparently, it was easier for a - secretary to operate the carriage return lever twice than to set an - indentation using a tab stop or the space bar. Correct justification - is almost impossible using a typewriter, so letters are - traditionally typeset unjustified. - - However, typographers like Jan Tschichold take the view that - letters, written using means available to modern typesetting, should - take advantage of their possibilities just like other documents - do. Under these circumstances, letters should also be typeset using - paragraph indentation and justification. -\end{Explain} - -As a reaction to many serious requests, \Class{scrlttr2} offers the -possibility to mark paragraphs not only by indentation of the first -line, but alternatively by a vertical skip. You can choose between a -full or half a line of vertical space. When using paragraph spacing, -it is often useful to keep the last line of a paragraph shorter so -that paragraph recognition will be eased. All these features are -controlled by different values for the \Option{parskip} option, shown -in \autoref{tab:scrlttr2.parskip}. Default is \PValue{false}. - -\begin{table} - \caption[{Possible values of option \Option{parskip} with - \Class{scrlttr2}}]{Possible values of option \Option{parskip} to select - the paragraph mark with \Class{scrlttr2}} - \label{tab:scrlttr2.parskip} - \begin{desctabular} - \entry{\PValue{false}, \PValue{off}}{% - paragraph indentation instead of vertical space; the last line of a - paragraph may be arbitrarily filled}% - \entry{\PValue{full}, \PValue{on}, \PValue{true}}{% - one line vertical space between paragraphs; there must be at least - 1\Unit{em} free space in the last line of a paragraph}% - \pventry{full*}{one line vertical space between paragraphs; there must be - at least a quarter of a line free space at the end of a paragraph}% - \pventry{full+}{one line vertical space between paragraphs; there must be - at least a third of a line free space at the end of a paragraph}% - \pventry{full-}{one line vertical space between paragraphs; the last line - of a paragraph may be arbitrarily filled}% - \pventry{half}{half a line vertical space between paragraphs; there must - be at least 1\Unit{em} free space in the last line of a paragraph}% - \pventry{half*}{half a line vertical space between paragraphs; there must - be at least a quarter of a line free space at the end of a paragraph}% - \pventry{half+}{half a line vertical space between paragraphs; there must - be at least a third of a line free space at the end of a paragraph}% - \pventry{half-}{one line vertical space between paragraphs}% - \end{desctabular} -\end{table} -% -\EndIndex{Option}{parskip~=\PName{value}}% - -\subsection{Font Options} -\label{sec:scrlttr2.fontOptions} - -Fonts options are any options which influence the size of the base -font or of fonts for particular parts of the letter. In theory, -options affecting the font type would also count as font options. At -present there is only one option for font size in \Class{scrlttr2}. - -\begin{Declaration} - \KOption{fontsize}\PName{size} -\end{Declaration} -\BeginIndex{Option}{fontsize~=\PName{size}}% -Whereas in the main classes you choose the font size\Index{font>size} -for the document using the \Option{10pt}, \Option{12pt}, etc., -options, in the \Class{scrlttr2} class the desired \PName{size} is set -using the \Option{fontsize} option. The functionality is however the -same. This option can only be used with \Macro{documentclass}, not -with \Macro{KOMAoptions}. Default is \PValue{12pt}. -% -\EndIndex{Option}{fontsize~=\PName{size}}% - -\subsection{Options for Letterhead and Address} -\label{sec:scrlttr2.headoptions} -\BeginIndex{}{letter>head}\BeginIndex{}{address}% - -The \Class{scrlttr2} class offers numerous extensions for the design -of the letterhead. There are also options for address formatting, -extending the possibilities of the standard letter class, although -these features could already be found in the now obsolete -\Class{scrlettr} class. - -\begin{Declaration} - \KOption{firsthead}\PName{switch} -\end{Declaration} -\BeginIndex{Option}{firsthead~=\PName{switch}}% -This\ChangedAt{v2.97e}{\Class{scrlttr2}} option determines whether the -letterhead will be typeset at all. The option undestands the standard -values for simple keys, given -in \autoref{tab:truefalseswitch}, -\autopageref{tab:truefalseswitch}. Default is for the -letterhead to be set. -\EndIndex{Option}{firsthead~=\PName{switch}}% - -\begin{Declaration} - \KOption{fromalign}\PName{value} -\end{Declaration} -\BeginIndex{Option}{fromalign~=\PName{value}}% -This option defines the placement of the return address in the -letterhead of the first page. Apart from the various options for -positioning the return address in the letterhead, there is also the -option\ChangedAt{v2.97e}{\Class{scrlttr2}} of adding the return -address to the sender's -extension\Index{sender's extension}. At the same -time, this option serves as a switch to activate or deactivate the -extended letterhead options. If these extensions are deactivated, some -other options will have no effect. This will be noted in the -explanations of the respective options. Possible values for -\Option{fromalign} are shown in -\autoref{tab:scrlttr2.fromalign}. Default is \PValue{left}. - -\begin{table} - \caption[{Possible values of option \Option{fromalign} with - \Class{scrlttr2}}]{Possible values of option \Option{fromalign} for - setting the position of the from address in the letterhead with - \Class{scrlttr2}} - \label{tab:scrlttr2.fromalign} - \begin{desctabular} - \entry{\PValue{center}, \PValue{centered}, \PValue{middle}}{% - return address centered; an optional logo will be above the - extended return address; letterhead extensions will be - activated}% - \entry{\PValue{false}, \PValue{no}, \PValue{off}}{% - standard design will be used for the return address; the - letterhead extensions are deactivated}% - \entry{\PValue{left}}{% - left-justified return address; an optional logo will be right - justified; letterhead extensions will be activated}% - \entry{\PValue{locationleft}, \PValue{leftlocation}}{% - return address is set left-justified in the sender's extension; - a logo, if applicable, will be placed above it; the letterhead - is automatically deactivated but can be reactivated using option - \Option{firsthead}.}% - \entry{\PValue{locationright}, \PValue{rightlocation}, - \PValue{location}}{% - return address is set right-justified in the sender's extension; - a logo, if applicable, will be placed above it; the letterhead - is automatically deactivated but can be reactivated using option - \Option{firsthead}.}% - \entry{\PValue{right}}{% - right-justified return address; an optional logo will be left - justified; letterhead extensions will be activated}% - \end{desctabular} -\end{table} -% -\EndIndex{Option}{fromalign~=\PName{value}}% - -\begin{Declaration} - \KOption{fromrule}\PName{value} -\end{Declaration} -\BeginIndex{Option}{fromrule~=\PName{value}}% -This option is part of the letterhead extensions (see option -\Option{fromalign} above). It allows you to place a horizontal line -within the return address. The possible values are shown in -\autoref{tab:scrlttr2.fromrule}. Default is \PValue{false}. You can -not activate more than one line at a time. Regarding the length of the -line, see \autoref{sec:scrlttr2.other}, -\autopageref{desc:scrlttr2.plength.fromrulewidth}. - -\begin{table} - \caption[{Possible values of option \Option{fromrule} with - \Class{scrlttr2}}]{Possible values of option \Option{fromrule} for the - position of the rule in the from address with - \Class{scrlttr2}} - \label{tab:scrlttr2.fromrule} - \begin{desctabular} - \entry{\PValue{afteraddress}, \PValue{below}, \PValue{on}, \PValue{true}, - \PValue{yes}}{% - rule below the return address}% - \entry{\PValue{aftername}}{% - rule directly below the sender's name}% - \entry{\PValue{false}, \PValue{no}, \PValue{off}}{% - no rule}% - \end{desctabular} -\end{table} -% -\EndIndex{Option}{fromrule~=\PName{value}}% - -\begin{Declaration} - \KOption{fromphone}\PName{switch} -\end{Declaration} -\BeginIndex{Option}{fromphone~=\PName{switch}}% -This option is part of the letterhead extensions (see option -\Option{fromalign} above). It defines whether the phone number will be -part of the return address. This option can take the standard values -for simple switches, as listed in -\autoref{tab:truefalseswitch}, -\autopageref{tab:truefalseswitch}. Default is -\PValue{false}. -% -\EndIndex{Option}{fromphone~=\PName{switch}}% - -\begin{Declaration} - \KOption{fromfax}\PName{switch} -\end{Declaration} -\BeginIndex{Option}{fromfax~=\PName{switch}}% -This option is part of the letterhead extensions (see option -\Option{fromalign} above). It defines whether the facsimile number -will be part of the return address. This option can take the standard -values for simple switches, as listed in -\autoref{tab:truefalseswitch}, -\autopageref{tab:truefalseswitch}. Default is -\PValue{false}. -% -\EndIndex{Option}{fromfax~=\PName{switch}}% - -\begin{Declaration} - \KOption{fromemail}\PName{switch} -\end{Declaration} -\BeginIndex{Option}{fromemail~=\PName{switch}}% -This option is part of the letterhead extensions (see option -\Option{fromalign} above). It defines whether the -email address will be part of the return address. This option can take -the standard values for simple switches, as listed in -\autoref{tab:truefalseswitch}, -\autopageref{tab:truefalseswitch}. Default is \PValue{false}. -% -\EndIndex{Option}{fromemail~=\PName{switch}}% - -\begin{Declaration} - \KOption{fromurl}\PName{switch} -\end{Declaration} -\BeginIndex{Option}{fromurl~=\PName{switch}}% -This option is part of the letterhead extensions (see option -\Option{fromalign} above). It defines whether the -URL will be part of the return address. This option can take -the standard values for simple switches, as listed in -\autoref{tab:truefalseswitch}, -\autopageref{tab:truefalseswitch}. Default is \PValue{false}. -% -\EndIndex{Option}{fromurl~=\PName{switch}}% - -\begin{Declaration} - \KOption{fromlogo}\PName{switch} -\end{Declaration} -\BeginIndex{Option}{fromlogo~=\PName{switch}}% -This option is part of the letterhead extensions (see option -\Option{fromalign} above). It defines whether the logo will be part of -the return address. This option can take the standard values for -simple switches, as listed in -\autoref{tab:truefalseswitch}, -\autopageref{tab:truefalseswitch}. Regarding the placement -of the logo, see also the explanation of the option \Option{fromalign} -above. Default is \PValue{false}. -% -\EndIndex{Option}{fromlogo~=\PName{switch}}% - -\begin{Declaration} - \KOption{addrfield}\PName{switch} -\end{Declaration} -\BeginIndex{Option}{addrfield~=\PName{switch}}% -This option defines whether an address field will be set. Default is -to use the address field. This option can take the standard values for -simple switches, as listed in -\autoref{tab:truefalseswitch}, -\autopageref{tab:truefalseswitch}. Default is -\PValue{true}. -% -\EndIndex{Option}{addrfield~=\PName{switch}}% - -\begin{Declaration} - \KOption{backaddress}\PName{switch} -\end{Declaration} -\BeginIndex{Option}{backaddress~=\PName{switch}}% -This option defines whether a return address for window envelopes will -be set. Default is to use the return address. If the address field is -suppressed (see option \Option{addrfield}), there will be no return -address either. This option can take the standard values for simple -switches, as listed in \autoref{tab:truefalseswitch}, -\autopageref{tab:truefalseswitch}. -Default is \PValue{true}. -% -\EndIndex{Option}{backaddress~=\PName{switch}}% - -\begin{Declaration} - \KOption{subject}\PName{value} -\end{Declaration} -\BeginIndex{Option}{subject~=\PName{value}}% -This option serves two purposes: first, you can choose if your -subject\Index{subject} should have a title, given by the -\PName{subject} variable (see \autoref{tab:scrlttr2.subjectTerm}, -\autopageref{tab:scrlttr2.subjectTerm}); second, you can choose if the -subject should be set before or after the opening. Furthermore, the -formatting\ChangedAt{v2.97c}{\Class{scrlttr2}} of the subject can be -modified. Possible values for this option are shown in -\autoref{tab:scrlttr2.subject}. It is expressly noted that when using -the setting \PValue{underlined}, the subject must fit on one line! -Defaults are \PValue{beforeopening} and \PValue{untitled}. -\begin{table} - \caption[{Possible values of option \Option{subject} with - \Class{scrlttr2}}]{Possible values of option \Option{subject} for the - position of the subject with - \Class{scrlttr2}} - \label{tab:scrlttr2.subject} - \begin{desctabular} - \pventry{afteropening}{set subject after opening}% - \pventry{beforeopening}{set subject before opening}% - \pventry{centered}{set subject centered}% - \pventry{left}{set subject left-justified}% - \pventry{right}{set subject right-justified}% - \pventry{titled}{add title to subject}% - \pventry{underlined}{set subject underlined (see note in text)}% - \pventry{untitled}{do not add title to subject}% - \end{desctabular} -\end{table} -% -\EndIndex{Option}{subject~=\PName{value}}% - -\begin{Declaration} - \KOption{locfield}\PName{value} -\end{Declaration} -\BeginIndex{Option}{locfield~=\PName{value}}% -\Class{scrlttr2} places a field with additional sender attributes next -to the address field. This can be used, for example, for bank account -or similar additional information. Depending on the -\Option{fromalign} option, it will also be used for the sender -logo. The width of this field may be defined within an \File{lco} file -(see \autoref{sec:scrlttr2.lcoFile}). If the width is set to 0 in that file, -then the \Option{locfield} option can toggle between two presets for -the field width. See the explanation on the \Variable{locwidth} pseudo -length in \autoref{sec:scrlttr2.locationField}, -\autopageref{desc:scrlttr2.plength.locwidth}. Possible values for this -option are shown in \autoref{tab:scrlttr2.locfield}. Default is -\PValue{narrow}. - -\begin{table} - \caption[{Possible values of option \Option{locfield} with - \Class{scrlttr2}}]{Possible values of option \Option{locfield} for setting - the width of the field with additional sender attributes with - \Class{scrlttr2}} - \label{tab:scrlttr2.locfield} - \begin{desctabular} - \pventry{narrow}{narrow sender supplement field}% - \pventry{wide}{wide sender supplement field}% - \end{desctabular} -\end{table} -% -\EndIndex{Option}{locfield~=\PName{value}}% - -\begin{Declaration} - \KOption{foldmarks}\PName{value} -\end{Declaration} -\BeginIndex{Option}{foldmarks~=\PName{value}}% -This option activates or deactivates foldmarks\Index{foldmark} for -vertical two-, three- or four-panel folding, and a single horizontal -folding, of the letter, whereby the folding need not result in -equal-sized parts. The position of the four horizontal and the single -vertical marks are configurable via pseudo-lengths (see -\autoref{sec:scrlttr2.foldmarks} from -\autopageref{sec:scrlttr2.foldmarks} onwards). - -The user has a choice: Either one may use the standard values for -simple switches, as described in -\autoref{tab:truefalseswitch}, -\autopageref{tab:truefalseswitch}, to activate or -deactivate at once all configured foldmarks on the left and upper -edges of the paper; or\ChangedAt{v2.97e}{\Class{scrlttr2}} one may -specify by one or more letters, as listed in -\autoref{tab:scrlttr2.foldmark}, the use of the individual foldmarks -independently. Also in the latter case the foldmarks will only be -shown if they have not been switched off generally with one of -\PValue{false}, \PValue{off} or \PValue{no}. The exact positioning of -the foldmarks is specified in the user settings, that is, the -\File{lco} files (see \autoref{sec:scrlttr2.lcoFile}) chosen for a -letter. Default values are \PValue{true} and \PValue{TBMPL}. - -The exact placement of the fold marks for three-panel letter folding -depends on user settings, that is, the \File{lco} files (see -\autoref{sec:scrlttr2.lcoFile}). The folding need not result in -equal-sized parts. This option can take the standard values for simple -switches, as listed in \autoref{tab:truefalseswitch}, -\autopageref{tab:truefalseswitch}. Default is -\PValue{true}, which implies setting the fold marks. -\begin{table} - \centering - \caption{Combined values for the configuration of foldmarks with the - option \Option{foldmarks}} - \label{tab:scrlttr2.foldmark} - \begin{desctabular} - \pventry{B}{activate upper horizontal foldmark on left paper edge}% - \pventry{b}{deactivate upper horizontal foldmark on left paper edge}% - \pventry{H}{activate all horizontal foldmarks on left paper edge}% - \pventry{h}{deactivate all horizontal foldmarks on left paper edge}% - \pventry{L}{activate left vertical foldmark on upper paper edge}% - \pventry{l}{deactivate left vertical foldmark on upper paper edge}% - \pventry{M}{activate middle horizontal foldmark on left paper edge}% - \pventry{m}{deactivate middle horizontal foldmark on left paper edge}% - \pventry{P}{activate punch or center mark on left paper edge}% - \pventry{p}{deactivate punch or center mark on left paper edge}% - \pventry{T}{activate lower horizontal foldmark on left paper edge}% - \pventry{t}{deactivate lower horizontal foldmark on left paper edge}% - \pventry{V}{activate all vertical foldmarks on upper paper edge}% - \pventry{v}{deactivate all vertical foldmarks on upper paper edge}% - \end{desctabular} -\end{table} -\begin{Example} - Assume that you would like to deactivate all foldmarks exept the punching - mark. This you can accomplish with, for example: - \begin{lstlisting} - \KOMAoption{foldmarks=blmt} - \end{lstlisting} - as long as the defaults have not been changed previously. If some changes - might have been made before, then for added safety you may use: - \begin{lstlisting} - \KOMAoption{foldmarks=true,foldmarks=blmtP} - \end{lstlisting} -\end{Example}% -\EndIndex{Option}{foldmarks~=\PName{value}}% - -\begin{Declaration} - \KOption{numericaldate}\PName{switch} -\end{Declaration} -\BeginIndex{Option}{numericaldate~=\PName{switch}}% -This option toggles between the standard, language-dependent date -presentation, and a short, numerical one. {\KOMAScript} does not -provide the standard presentation. It should be defined by packages -such as \Package{german}\IndexPackage{german}, -\Package{babel}\IndexPackage{babel}, or -\Package{isodate}\IndexPackage{isodate}. The short, numerical -presentation, on the other hand, is produced by \Class{scrlttr2} -itself. This option can take the standard values for simple switches, -as listed in \autoref{tab:truefalseswitch}, -\autopageref{tab:truefalseswitch}. Default is -\PValue{false}, which results in standard date presentation. In the -now obsolete \Class{scrlettr} class, the opposite effect was achieved -using the \Option{orgdate} option. -% -\EndIndex{Option}{numericaldate~=\PName{switch}}% - -\begin{Declaration} - \Option{refline}\PName{value} -\end{Declaration} -\BeginIndex{Option}{refline~=\PName{value}}% -With the \Class{scrlttr2} class, the header, footer, address, and -sender attributes may extend beyond the normal type area to the left -and to the right. This option defines whether that should also apply -to the reference fields line. Normally, the reference fields line -contains at least the date, but it can hold additional data. Possible -values for this option are shown in -\autoref{tab:scrlttr2.refline}. Default is \PValue{narrow}. - -\begin{table} - \caption[{Possible value of option \Option{refline} with - \Class{scrlttr2}}]{Possible value of option \Option{refline} for setting - the width of the reference fields line with - \Class{scrlttr2}} - \label{tab:scrlttr2.refline} - \begin{desctabular} - \pventry{narrow}{reference fields line restricted to type area}% - \pventry{wide}{reference fields line corresponds to address and - sender attributes}% - \end{desctabular} -\end{table} -% -\EndIndex{Option}{refline~=\PName{value}}% - -% -\EndIndex{}{letter>head}\EndIndex{}{address}% - -\subsection{Options for the Letterfoot} -\label{sec:scrlttr2.footoptions} -\BeginIndex{}{letter>footer} - -The letterfoot is the footer of the first page of the letter. There -exist some special rules for its placement, which are given in the -description of the option -\Option{enlargefirstpage}\IndexOption{enlargefirstpage} (see -\autoref{sec:scrlttr2.typeareaOptions}, -\autopageref{desc:scrlttr2.option.enlargefirstpage}) and the -pseudo-length \PLength{firstfootvpos}\IndexPLength{firstfootvpos} -(siehe \autoref{sec:scrlttr2.firstFoot}, -\autopageref{desc:scrlttr2.plength.firstfootvpos}). - -\begin{Declaration} - \Option{firstfoot}\PName{switch} -\end{Declaration} -\BeginIndex{Option}{firstfoot~=\PName{switch}}% -This\ChangedAt{v2.97e}{\Class{scrlttr2}} option determines whether the -letterfoot is set or not. If the letterfoot is not set then the -pseudo-length \PLength{firstfootvpos} is also ignored, and instead -\Class{scrlttr2} assumes that the value is equal to -\Length{paperheight}. This has an effect when the option -\Option{enlargefirstpage} (see \autoref{sec:scrlttr2.firstFoot}, -\autopageref{desc:scrlttr2.plength.firstfootvpos}) is used -concurrently. - -The option understands the standard values for simple switches, as -given in \autoref{tab:truefalseswitch}, -\autopageref{tab:truefalseswitch}. Default is the setting -of the letterfoot. -\EndIndex{Option}{firstfoot~=\PName{switch}}% - -\EndIndex{}{letter>footer} - -\subsection{Formatting Options} -\label{sec:scrlttr2.formatingOptions} - -Formatting options are those which influence form or formatting of the -output and do not belong to another section. You might also call them -the \emph{miscellaneous options}. - -\begin{Declaration} - \KOption{draft}\PName{switch} -\end{Declaration} -\BeginIndex{Option}{draft~=\PName{switch}}% -This option toggles between the final\Index{final version} and the -draft\Index{draft version} version of a document. In particular, -enabling the \Option{draft} option activates little black boxes that -will be drawn at the end of overfull lines. These boxes allow the -unpracticed eye to more easily identify paragraphs that need manual -intervention. When the \Option{draft} option is disabled, there will -be no such boxes. This option can take the standard values for simple -switches, as listed in \autoref{tab:truefalseswitch}, -\autopageref{tab:truefalseswitch}. Default is -\PValue{false}, as usual. However, I strongly recommend enabling the -\Option{draft} option when designing a letter, as for every other -document. -% -\EndIndex{Option}{draft~=\PName{switch}}% - -\subsection{The Letter Class Option Files} -\label{sec:scrlttr2.lcoFile} - -\BeginIndex{}{lco=\File{lco}}\BeginIndex{}{letter>class option}% -Normally, you would not redefine parameters like the distance between -the address field and the top edge of the paper every time you write a -letter. Instead, you would reuse a whole set of parameters for certain -occasions. It will be much the same for the letterhead and footer used -on the first page. Therefore, it is reasonable to save these settings -in a separate file. For this purpose, the \Class{scrlttr2} class -offers the \File{lco} files. The \File{lco} suffix is an abbreviation -for \emph{\emph{l}etter \emph{c}lass \emph{o}ption}. - -In an \File{lco} file you can use all commands available to the -document at the time the \File{lco} file is loaded. Additionally, it -can contain internal commands available to package writers. For -\Class{scrlttr2}, these are in particular the commands -\Macro{@newplength}, \Macro{@setplength}, and \Macro{@addtoplength} -(see \autoref{sec:scrlttr2.pseudoLength}). - -There are already some \File{lco} files included in the {\KOMAScript} -distribution. The \File{DIN.lco}, \File{DINmtext.lco}, \File{SNleft.lco}, -\File{SN.lco}, and \File{NF.lco}\ChangedAt{v3.04}{\Class{scrlttr2}} files -serve to adjust {\KOMAScript} to different layout standards. They are well -suited as templates for your own parameter sets. The \File{KOMAold.lco} file, -on the other hand, serves to improve compatibility with the old letter class -\Class{scrlettr}. Since it contains internal commands not open to package -writers, you should not use this as a template for your own \File{lco} -files. You can find a list of predefined \File{lco} files in -\autoref{tab:lcoFiles}, \autopageref{tab:lcoFiles}. - -\begin{Explain} - If you have defined a parameter set for a letter standard not yet - supported by \KOMAScript, you are explicitly invited to send this - parameter set to the {\KOMAScript} support address. Please do not - forget to include the permission for distribution under the - {\KOMAScript} license (see the \File{lppl.txt} file). If you know - the necessary metrics for an unsupported letter standard, but are - not able to write a corresponding \File{lco} file yourself, you can - also contact the {\KOMAScript} author, Markus Kohm, directly. -\end{Explain} - -\begin{Declaration} - \Macro{LoadLetterOption}\Parameter{name} -\end{Declaration} -\BeginIndex{Cmd}{LoadLetterOption}% -Usually, the \File{lco} files will be loaded by the -\Macro{documentclass} command. You enter the name of the \File{lco} file -without suffix as an option. The \File{lco} file will be loaded right -after the class file. - -However, it is also possible to load an \File{lco} file later, or even -from within another \File{lco} file. This can be done with the -\Macro{LoadLetterOption} command, which takes the \PName{name} of the -\File{lco} file without suffix as a parameter. -\begin{Example} -You write a document containing several letters. Most of them should -comply with the German DIN standard. So you start with: -\begin{lstlisting} - \documentclass{scrlttr2} -\end{lstlisting} -However, one letter should use the \File{DINmtext} variant, with the -address field placed more toward the top, which results in more text -fitting on the first page. The folding will be modified so that the -address field still matches the address window in a DIN~C6/5 envelope. -You can achieve this as follows: -\begin{lstlisting} - \begin{letter}{Markus Kohm\\ - Freiherr-von-Drais-Stra\ss e 66\\68535 Edingen-Neckarhausen} - \LoadLetterOption{DINmtext} - \opening{Hello,} -\end{lstlisting} -Since construction of the page does not start before the -\Macro{opening} command, it is sufficient to load the \File{lco} file -before this. In particular, the laoding need not be done before -\Macro{begin}\PParameter{letter}. Therefore the changes made by -loading the \File{lco} file are local to the corresponding letter. -\end{Example} - -\begin{Explain} - If\ChangedAt{v2.97}{\Class{scrlttr2}} an \File{lco} file is loaded - via \Macro{documentclass}, then it may no longer have the same name - as an option. -\end{Explain} - -\begin{Example} - You do not want to enter your sender address every time, so you - create an \File{lco} file with the necessary data, like this: -\begin{lstlisting} - \ProvidesFile{mkohm.lco}[2002/02/25 letter class option] - \setkomavar{fromname}{Markus Kohm} - \setkomavar{fromaddress}{Freiherr-von-Drais-Stra\ss e 66\\ - 68535 Edingen-Neckarhausen} -\end{lstlisting} -The command \Macro{setkomavar} used above, and the principle of -variables will be explained in detail -in\autoref{sec:scrlttr2.variables}, -\autopageref{desc:scrlttr2.cmd.setkomavar}. In the example given -here, knowledge of the exact function of the command is not -critical. It is only important to note what can be done with -\File{lco} files, less so exactly how this might be -accomplished. Please note that the German sharp s, ``\ss'', was -entered using the {\TeX} macro \Macro{ss}, because directly after -\Macro{documentclass} no packages for input encoding, for example -\Macro{usepackage}\PValue{[latin1]}\PParameter{inputenc} for Unix or -\Macro{usepackage}\PValue{[ansinew]}\PParameter{inputenc} for Windows, -and no language packages, like -\Macro{usepackage}\PParameter{ngerman}\IndexPackage{ngerman} for the -new German orthography, are loaded. - -However, if you would always use the same input encoding, you could -also include it into your \File{lco} file. This would look as follows: -\begin{lstlisting} - \ProvidesFile{mkohm.lco}[2002/02/25 letter class option] - \RequirePackage[latin1]{inputenc} - \setkomavar{fromname}{Markus Kohm} - \setkomavar{fromaddress}{Freiherr-von-Drais-Stra\ss e 66\\ - 68535 Edingen-Neckarhausen} -\end{lstlisting} -There is one distinct disadvantage with this usage: you can no longer -load this \File{lco} file later in your document. If you want to have -letters with different senders in one document, you should therefore -refrain from loading packages in your \File{lco} file. - -Let us further assume that I always typeset letters using the preset -parameters \File{KOMAold}. Then I could add the following line to my -\File{mkohm.lco} file: -\begin{lstlisting} - \LoadLetterOption{KOMAold} -\end{lstlisting} - - Anyway, now you can preset my sender address using -\begin{lstlisting} - \documentclass[mkohm]{scrlttr2} -\end{lstlisting} -\end{Example} - -In \autoref{tab:lcoFiles}, \autopageref{tab:lcoFiles} you can find a -list of all predefined \File{lco} files. If you use a printer that has -large unprintable areas on the left or right side, you might have -problems with the \Option{SN}\IndexOption{SN} option. Since the Swiss -standard SN~101\,130 defines the address field to be placed 8\Unit{mm} from -the right paper edge, the headline and the sender attributes too will -be set with the same small distance from the paper edge. This also -applies to the reference fields line when using the -\Option{refline}\PValue{=wide} option (see -\autoref{sec:scrlttr2.headoptions}, -\autopageref{desc:scrlttr2.option.refline}). If 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.addressee}, -\autopageref{desc:scrlttr2.plength.toaddrvpos}) to a smaller -value. Additionally, also reduce \PLength{toaddrwidth} accordingly. -% -\EndIndex{Cmd}{LoadLetterOption}% - -\begin{desctable} - \caption{The predefined \File{lco} files\label{tab:lcoFiles}}\\ - \Endfirsthead% - \caption[]{The predefined \File{lco} files (\emph{continuation})}\\ - \Endhead% - \standardfoot% - \oentry{DIN}{% - parameter set for letters on A4-size paper, complying with German standard - DIN~676; suitable for window envelopes in the sizes C4, C5, C6, and C6/5 - (C6 long).}% - \oentry{DINmtext}{% - parameter set for letters on A4-size paper, complying with DIN~676, but - using an alternate layout with more text on the first page; only suitable - for window envelopes in the sizes C6 and C6/5 (C6 long).}% - \oentry{KOMAold}{% - parameter set for letters on A4-size paper using a layout close to the now - obsolete \Class{scrlettr} letter class; suitable for window envelopes in - the sizes C4, C5, C6, and C6/5 (C6 long); some additional commands to - improve compatibility with obsolete \Class{scrlettr} commands are defined; - \Class{scrlttr2} may behave slightly different when used with this - \File{lco} file than with the other \File{lco} files.}% - \oentry{NF}{% - parameter set for French letters, according to NF~Z~11-001; suitable for - window envelopes of type DL (110\Unit{mm} to 220\Unit{mm}) with a window - of about 20\Unit{mm} from right and bottom with width 45\Unit{mm} and - height 100\Unit{mm}; this file was originally developed by Jean-Marie - Pacquet, who provides an extended version and additional information on - \cite{www:NF.lco}.}% - \oentry{NipponEL}{% - parameter set for Japanese letters in A4 format; suitable for Japanese - window envelopes of types Chou or You 3 or 4, in which the windows is - approximately 90\Unit{mm} wide, 45\Unit{mm} high, and positioned - 22\Unit{mm} from the left and 12\Unit{mm} from the top edge (see - \autoref{cha:japanlco}).}% - \oentry{NipponEH}{% - parameter set for Japanese letters in A4 format; suitable for Japanese - window envelopes of types Chou or You 3 or 4, in which the windows is - approximately 90\Unit{mm} wide, 55\Unit{mm} high, and positioned - 22\Unit{mm} from the left and 12\Unit{mm} from the top edge (see - \autoref{cha:japanlco}).}% - \oentry{NipponLL}{% - parameter set for Japanese letters in A4 format; suitable for Japanese - window envelopes of types Chou or You 3 or 4, in which the windows is - approximately 90\Unit{mm} wide, 45\Unit{mm} high, and positioned - 25\Unit{mm} from the left and 12\Unit{mm} from the top edge (see - \autoref{cha:japanlco}).}% - \oentry{NipponLH}{% - parameter set for Japanese letters in A4 format; suitable for Japanese - window envelopes of types Chou or You 3 or 4, in which the windows is - approximately 90\Unit{mm} wide, 55\Unit{mm} high, and positioned - 25\Unit{mm} from the left and 12\Unit{mm} from the top edge (see - \autoref{cha:japanlco}).}% - \oentry{NipponRL}{% - parameter set for Japanese letters in A4 format; suitable for Japanese - window envelopes of types Chou or You 3 or 4, in which the windows is - approximately 90\Unit{mm} wide, 45\Unit{mm} high, and positioned - 25\Unit{mm} from the left and 24\Unit{mm} from the top edge (see - \autoref{cha:japanlco}).}% - \oentry{KakuLL}{% - parameter set for Japanese letters in A4 format; suitable for Japanese - window envelopes of type Kaku A4, in which the windows is approximately - 90\Unit{mm} wide, 45\Unit{mm} high, and positioned 25\Unit{mm} from the - left and 24\Unit{mm} from the top edge (see \autoref{cha:japanlco}).}% - \oentry{SN}{% - parameter set for Swiss letters with address field on the right side, - according to SN~010\,130; suitable for Swiss window envelopes in the sizes - C4, C5, C6, and C6/5 (C6 long).}% - \oentry{SNleft}{% - parameter set for Swiss letters with address field on the left side; - suitable for Swiss window envelopes with window on the left side in the - sizes C4, C5, C6, and C6/5 (C6 long).}% -\end{desctable} - -\begin{Explain} -\begin{Declaration} - \Macro{LetterOptionNeedsPapersize}% - \Parameter{option name}\Parameter{paper size} -\end{Declaration} -\BeginIndex{Cmd}{LetterOptionNeedsPapersize} -As mentioned in \autoref{sec:scrlttr2.typeareaOptions}, at present -there exist only parameter sets and \File{lco} files for A4-sized -paper. In order that you will at least be warned when using another -\PName{paper size}, you will 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 \Macro{opening} command will only check the last given -\PName{paper size}. As shown in the following example, an experienced -user can thus easily write \File{lco} files with parameter sets for -other paper sizes. If you do not plan to set up such \File{lco} files -yourself, you may just forget about this option and skip the example. - -\begin{Example} - Suppose you use A5-sized paper in normal, i.\,e., upright or - portrait, orientation for your letters. We further 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 DIN - standard letter on A4-sized paper. The main difference is that A5 - paper needs only one fold. So you want to disable the upper and - lower fold marks. The easiest way to achieve this is to place the - marks outside of the paper area. -\begin{lstlisting} - \ProvidesFile{paper=a5.lco}[2002/05/02 letter class option] - \LetterOptionNeedsPapersize{paper=a5}{a5} - \@setplength{tfoldmarkvpos}{\paperheight} - \@setplength{bfoldmarkvpos}{\paperheight} -\end{lstlisting} -Besides this, the placement of the foot, that is, the pseudo-length -\PLength{firstfootvpos}, must be adjusted. It is left to the reader to -find an appropriate value. When using such an \File{lco} file, you -must only take care that other \File{lco} file options, like -\File{SN}, are declared before the paper size, i.\,e., before loading -``\File{paper=a5.lco}''. Does this seem too complicated? Only before -you have used it the first time. Anyway, how often do you write -letters not using your standard formats for A4-size or letter-size -paper? -\end{Example} -% -\EndIndex{Cmd}{LetterOptionNeedsPapersize} -\end{Explain} - -By the way, the \File{DIN} \File{lco} file will always be loaded as -the first \File{lco} file. This ensures that all pseudo-lengths will -have more or less reasonable default values. - -Please note that it is not possible to use \Macro{PassOptionsToPackage} -to pass options to packages from within an \File{lco} file that have -already been loaded by the class. Normally, this only applies to the -\Package{typearea}, \Package{scrlfile}, and \Package{keyval} packages. -% -\EndIndex{}{lco=\File{lco}}\EndIndex{}{letter>class option}% - -\section{General Document Properties} -\label{sec:scrlttr2.general} - -Some document properties are not assigned to any particular part of -the document such as to the letterhead or the letter body. Several of -these properties have already been mentioned or explained in -\autoref{sec:scrlttr2.options}. - - -\subsection{Font Selection} -\label{sec:scrlttr2.font} - -\BeginIndex{}{font>style}\BeginIndex{}{font>size}% -\begin{Explain} - Commands for defining, extending and querying the font of a specific - element can be found in \autoref{sec:maincls.font}. These commands - work exactly the same in \Class{scrlttr2}. The elements which can be - influenced in this way are listed in - \autoref{tab:scrlttr2.elementsWithoutText}. - % - \begin{desctable} - \caption{Alphabetical list of elements whose font can be changed in - \Class{scrlttr2} using the commands \Macro{setkomafont} and - \Macro{addtokomafont}\label{tab:scrlttr2.elementsWithoutText}}\\ - \Endfirsthead - \caption[]{Elements whose font can be changed - (\emph{continuation})}\\ - \Endhead% - \standardfoot% - \feentry{addressee}{name und address in address field}% - \feentry{backaddress}{% - return address for a window envelope}% - \feentry{descriptionlabel}{% - label, i.\,e., the optional argument of \Macro{item}, in a - \Environment{description} environment}% - \feentry{foldmark}{foldmark on the letter page; intended for color - settings}% - \feentry{fromaddress}{% - sender's address in the letterhead}% - \feentry{fromname}{% - sender's address in the letterhead if different from - \FontElement{fromaddress}}% - \feentry{fromrule}{line in return address field in letterhead; - intended for color settings}% - \feentry{pagefoot}{% - in most cases the footer, sometimes the header of a page}% - \feentry{pagehead}{% - in most cases the header, sometimes the footer of page}% - \feentry{pagenumber}{% - page number in the footer or header, inserted with - \Macro{pagemark}}% - \feentry{specialmail}{mode of dispatch in address field}% - \feentry{subject}{% - subject in the opening of the letter}% - \feentry{title}{% - title in the opening of the letter}% - \feentry{toaddress}{variation of the element - \FontElement{addressee} for setting the adressee address (less - the name) in the adress field}% - \feentry{toname}{variation of the element \FontElement{addressee} - for the name (only) of the addressee in the address field}% - \end{desctable} -\end{Explain} -% -\EndIndex{}{font>style}\EndIndex{}{font>size}% - - -\subsection{Page Style} -\label{sec:scrlttr2.pageStyle} One of the general properties of a -document is the page style. Please refer also to -\autoref{sec:maincls.pageStyle} and \autoref{cha:scrpage}. - -\begin{Declaration} -\Macro{pagestyle}\PParameter{empty}\\ -\XMacro{pagestyle}\PParameter{plain}\\ -\XMacro{pagestyle}\PParameter{headings}\\ -\XMacro{pagestyle}\PParameter{myheadings}\\ -\XMacro{thispagestyle}\Parameter{local page style} -\end{Declaration} -\BeginIndex{Cmd}{pagestyle}% -\BeginIndex{Cmd}{thispagestyle}% -\BeginIndex{Pagestyle}{empty}% -\BeginIndex{Pagestyle}{plain}% -\BeginIndex{Pagestyle}{headings}% -\BeginIndex{Pagestyle}{myheadings}% -In letters written with \Class{scrlttr2} there are four different -page styles. -\begin{description} -\item[empty] is the page style, in which the header and footer of - subsequent pages (all pages apart from the first) are completely - empty. This page style is also used for the first page, because - header and footer of this page are set by otehr means using the - macro \Macro{opening}\IndexCmd{opening} (see - \autoref{sec:scrlttr2.firstHead}, \autoref{sec:scrlttr2.firstFoot}, - as well as \autoref{sec:scrlttr2.opening}, - \autopageref{desc:scrlttr2.cmd.opening}). - -\item[plain] is the page style with only page numbers in the header or - footer on subsequent pages. The placement of these page numbers is - determined by the option \Option{pagenumber} (see - \autoref{sec:scrlttr2.layout}, - \autopageref{desc:scrlttr2.option.pagenumber}). - -\item[headings] is the page style for running (automatic) headings on - subsequent pages. The inserted marks are the sender's name from the - variable \Variable{fromname}\IndexVariable{fromname} and the subject - from the variable \Variable{subject}\IndexVariable{subject} (see - \autoref{sec:scrlttr2.firstHead}, - \autopageref{desc:scrlttr2.variable.fromname} and - \autoref{sec:scrlttr2.titleSubject}, - \autopageref{desc:scrlttr2.variable.subject}). At which position - these marks and the page numbers are placed, depends on the option - \Option{pagenumber} (see \autoref{sec:scrlttr2.layout}, - \autopageref{desc:scrlttr2.option.pagenumber}). The author can also - change these marks manually after the \Macro{opening} command. To - this end, the commands \Macro{markboth} and \Macro{markright} are - available as usual, and with the use of package \Package{scrpage2} - also \Macro{markleft} (see \autoref{sec:scrpage.basics.mark}, - \autopageref{desc:scrpage.cmd.automark}) is available. - -\item[myheadings] is the page style for manual page headings on - subsequent pages. This is very similar to \PValue{headings}, but - here the marks must be set by the author using the commands - \Macro{markboth}\IndexCmd{markboth} and - \Macro{markright}\Index{markright}. With the use of package - \Package{scrpage2} also \Macro{markleft} can be utilized. -\end{description} - -In the terminology of this manual, subsequent pages are all pages of a -letter except for the first one. - -Page styles are also influenced by the option -\Option{headsepline}\IndexOption{headsepline} and -\Option{footsepline}\IndexOption{footsepline} (see -\autoref{sec:scrlttr2.layout}, -\autopageref{desc:scrlttr2.option.headsepline}). The page style -beginning with the current page is switched using -\Macro{pagestyle}. In contrast, \Macro{thispagestyle} changes only the -page style of the current page. The letter class itself uses -\Macro{thispagestyle}\PParameter{empty} within -\Macro{opening}\IndexCmd{opening} for the first page of the letter. -% -\EndIndex{Cmd}{pagestyle}% -\EndIndex{Cmd}{thispagestyle}% -\EndIndex{Pagestyle}{empty}% -\EndIndex{Pagestyle}{plain}% -\EndIndex{Pagestyle}{headings}% -\EndIndex{Pagestyle}{myheadings}% +\ProvidesFile{scrlttr2.tex}[2012/05/15 KOMA-Script guide (chapter: scrlttr2)] -\BeginIndex[indexother]{}{font>style}% -For changing the font style of headers or footers you should use the -user interface described in \autoref{sec:maincls.font}. For header -and footer the same element is used, which you can name either -\FontElement{pagehead}\IndexFontElement{pagehead} or -\FontElement{pagefoot}\IndexFontElement{pagefoot}. The element for the -page number within the header or footer is named -\FontElement{pagenumber}\IndexFontElement{pagenumber}. Default -settings are listed in \autoref{tab:maincls.defaultFontsHeadFoot}, -\autopageref{tab:maincls.defaultFontsHeadFoot}. Please have also a -look at the example in \autoref{sec:maincls.pageStyle}, -\autopageref{sec:maincls.pageStyle.example}. -% -\EndIndex[indexother]{}{font>style}% - -\begin{Declaration} - \Macro{clearpage}\\ - \Macro{cleardoublepage}\\ - \Macro{cleardoublestandardpage}\\ - \Macro{cleardoubleplainpage}\\ - \Macro{cleardoubleemptypage} -\end{Declaration}% -\BeginIndex{Cmd}{clearpage}% -\BeginIndex{Cmd}{cleardoublepage}% -\BeginIndex{Cmd}{cleardoublestandardpage}% -\BeginIndex{Cmd}{cleardoubleplainpage}% -\BeginIndex{Cmd}{cleardoubleemptypage}% -Please refer to \autoref{sec:maincls.pageStyle}, -\autopageref{desc:maincls.cmd.clearpage}. The function -of \Macro{cleardoublepage} in \Class{scrlttr2} depends on the -option \Option{cleardoublepage} which is described in more detail -in \autoref{sec:scrlttr2.layout}, -\autopageref{desc:scrlttr2.option.cleardoublepage}. -% -\EndIndex{Cmd}{clearpage}% -\EndIndex{Cmd}{cleardoublepage}% -\EndIndex{Cmd}{cleardoublestandardpage}% -\EndIndex{Cmd}{cleardoubleplainpage}% -\EndIndex{Cmd}{cleardoubleemptypage}% +\translator{Harald Bongartz\and Georg Grandke\and Raimund Kohl\and Jens-Uwe + Morawski\and Stephan Hennig\and Gernot Hassenpflug\and Markus Kohm} +% Date of translated german file: < 2007-09-17 +\chapter{The New Letter Class \Class{scrlttr2}} +\labelbase{scrlttr2} -\subsection{Variables} -\label{sec:scrlttr2.variables} +\BeginIndex{Class}{scrlttr2}\BeginIndex{}{letters}% +\iffalse + Since the June 2002 release {\KOMAScript} provides a completely + rewritten letter class\ChangedAt{v2.8q}{\Class{scrlttr2}}. Although + part of the code is identical to that of the main classes described + in \autoref{cha:maincls}, letters +\else + Letters +\fi +are quite different from articles, +reports, books, and suchlike. That alone justifies a separate +chapter about the letter class. But there is another reason for a +chapter on \Class{scrlttr2}. This class has been redeveloped from +scratch and provides a new user interface different from every other +class the author knows of. This new user interface may be uncommon, +but the author is convinced both experienced and new {\KOMAScript} +users will benefit from its advantages. + + +\section{Variables} +\label{sec:scrlttr2.variables}% +\BeginIndex{}{variables} -\BeginIndex{}{variables}% Apart from options, commands, environments, counters and lengths, additional elements have already been introduced in \KOMAScript. A typical property of an element is the font style and the option to -change it (see \autoref{sec:maincls.font}). At this point we now +change it (see \autoref{sec:scrlttr2.textmarkup}, +\autopageref{desc:scrlttr2.cmd.setkomafont}). At this point we now introduce variables. Variables have a name by which they are called, and they have a content. The content of a variable can be set independently from time and location of the actual usage in the same @@ -1393,175 +97,203 @@ variables. The following examples have no special meaning. More detailed examples can be found in the explanation of predefined variables of the letter class in the following sections. An overview of all variables is given in \autoref{tab:scrlttr2.variables}. - -\begin{desctable} - \caption{Alphabetical list of all supported variables in - \Class{scrlttr2}\label{tab:scrlttr2.variables}}\\ - \Endfirsthead - \caption[]{Alphabetical list of all supported variables in - \Class{scrlttr2} (\emph{continued})}\\ - \Endhead% - \standardfoot% - \ventry{backaddress}{return address for window envelopes - (\autoref{sec:scrlttr2.addressee}, - \autopageref{desc:scrlttr2.variable.backaddress})}% - \ventry{backaddressseparator}{separator within the return address - (\autoref{sec:scrlttr2.addressee}, - \autopageref{desc:scrlttr2.variable.backaddressseparator})}% - \ventry{ccseparator}{separator between title of additional addressees, and - additional addressees - (\autoref{sec:scrlttr2.afterClosing}, - \autopageref{desc:scrlttr2.variable.ccseparator})}% - \ventry{customer}{customer number - (\autoref{sec:scrlttr2.refLine}, - \autopageref{desc:scrlttr2.variable.customer})}% - \ventry{date}{date - (\autoref{sec:scrlttr2.refLine}, - \autopageref{desc:scrlttr2.variable.date})}% - \ventry{emailseparator}{separator between e-mail name and e-mail address - (\autoref{sec:scrlttr2.firstHead}, - \autopageref{desc:scrlttr2.variable.emailseparator})}% - \ventry{enclseparator}{separator between title of enclosure, and enclosures - (\autoref{sec:scrlttr2.afterClosing}, - \autopageref{desc:scrlttr2.variable.enclseparator})}% - \ventry{faxseparator}{separator between title of fax, and fax number - (\autoref{sec:scrlttr2.firstHead}, - \autopageref{desc:scrlttr2.variable.faxseparator})}% - \ventry{fromaddress}{sender's address without sender name - (\autoref{sec:scrlttr2.firstHead}, - \autopageref{desc:scrlttr2.variable.fromaddress})}% - \ventry{frombank}{sender's bank account - (\autoref{sec:scrlttr2.other}, - \autopageref{desc:scrlttr2.variable.frombank})}% - \ventry{fromemail}{sender's e-mail - (\autoref{sec:scrlttr2.firstHead}, - \autopageref{desc:scrlttr2.variable.fromemail})}% - \ventry{fromfax}{sender's fax number - (\autoref{sec:scrlttr2.firstHead}, - \autopageref{desc:scrlttr2.variable.fromfax})}% - \ventry{fromlogo}{commands for inserting the sender's logo - (\autoref{sec:scrlttr2.firstHead}, - \autopageref{desc:scrlttr2.variable.fromlogo})}% - \ventry{fromname}{complete name of sender - (\autoref{sec:scrlttr2.firstHead}, - \autopageref{desc:scrlttr2.variable.fromname})}% - \ventry{fromphone}{sender's telephone number - (\autoref{sec:scrlttr2.firstHead}, - \autopageref{desc:scrlttr2.variable.fromphone})}% - \ventry{fromurl}{a url of the sender - (\autoref{sec:scrlttr2.firstHead}, - \autopageref{desc:scrlttr2.variable.fromurl})}% - \ventry{invoice}{invoice number - (\autoref{sec:scrlttr2.refLine}, - \autopageref{desc:scrlttr2.variable.invoice})}% - \ventry{location}{more details of the sender - (\autoref{sec:scrlttr2.locationField}, - \autopageref{desc:scrlttr2.variable.location})}% - \ventry{myref}{ sender's reference - (\autoref{sec:scrlttr2.refLine}, - \autopageref{desc:scrlttr2.variable.myref})}% - \ventry{place}{place - (\autoref{sec:scrlttr2.refLine}, - \autopageref{desc:scrlttr2.variable.place})}% - \ventry{placeseparator}{separator between place and date - (\autoref{sec:scrlttr2.refLine}, - \autopageref{desc:scrlttr2.variable.placeseparator})}% - \ventry{phoneseparator}{separator between title of telephone, and telephone - number - (\autoref{sec:scrlttr2.firstHead}, - \autopageref{desc:scrlttr2.variable.phoneseparator})}% - \ventry{signature}{signature beneath the ending of the letter - (\autoref{sec:scrlttr2.closing}, - \autopageref{desc:scrlttr2.variable.signature})}% - \ventry{specialmail}{mode of dispatch - (\autoref{sec:scrlttr2.addressee}, - \autopageref{desc:scrlttr2.variable.specialmail})}% - \ventry{subject}{subject - (\autoref{sec:scrlttr2.titleSubject}, - \autopageref{desc:scrlttr2.variable.subject})}% - \ventry{subjectseparator}{separator between title of subject, and subject - (\autoref{sec:scrlttr2.titleSubject}, - \autopageref{desc:scrlttr2.variable.subjectseparator})}% - \ventry{title}{letter title - (\autoref{sec:scrlttr2.titleSubject}, - \autopageref{desc:scrlttr2.variable.title})}% - \ventry{toname}{complete name of addressee - (\autoref{sec:scrlttr2.addressee}, - \autopageref{desc:scrlttr2.variable.toname})}% - \ventry{toaddress}{address of addressee without addressee name - (\autoref{sec:scrlttr2.addressee}, - \autopageref{desc:scrlttr2.variable.toaddress})}% - \ventry{yourmail}{date of addressee's mail - (\autoref{sec:scrlttr2.refLine}, - \autopageref{desc:scrlttr2.variable.yourmail})}% - \ventry{yourref}{addressee's reference - (\autoref{sec:scrlttr2.refLine}, - \autopageref{desc:scrlttr2.variable.yourref})}% -\end{desctable} - -\begin{Declaration} - \Macro{newkomavar}\OParameter{description}\Parameter{name}\\ - \Macro{newkomavar*}\OParameter{description}\Parameter{name}\\ - \Macro{removereffields}\\ - \Macro{defaultreffields}\\ - \Macro{addtoreffields}\Parameter{name} -\end{Declaration} -\BeginIndex{Cmd}{newkomavar}\BeginIndex{Cmd}{newkomavar*}% -\BeginIndex{Cmd}{addtoreffields}\BeginIndex{Cmd}{removereffields}% -\BeginIndex{Cmd}{defaultreffields}% -With \Macro{newkomavar} a new variable is defined. This variable is -addressed via \PName{name}. As an option you can define a -\PName{description} for the variable \PName{name}. Using the command -\Macro{addtoreffields} you can add the variable \PName{name} to the -reference fields line (see \autoref{sec:scrlttr2.refLine}). The -\PName{description} and the content of the variable are added at the -end of the reference fields line. The starred version -\Macro{newkomavar*} is similar to the unstarred version, with a -subsequent call of the command \Macro{addtoreffields}. Thus, the -starred version automatically adds the variable to the reference -fields line. -\begin{Example} - Suppose you need an additional field for direct dialling. You can - define this field either with -\begin{lstlisting} - \newkomavar[Direct dialling]{myphone} - \addtoreffields{myphone} -\end{lstlisting} - or more concisely with -\begin{lstlisting} - \newkomavar*[direct dialling]{myphone} -\end{lstlisting} - -\end{Example} -When you define a variable for the reference fields line you should always -give it a description. - -With the command \Macro{removereffields} all variables in the ference -line can be removed. This also includes the predefined variables of -the class. The reference fields line is then empty except for the date -which is always appended to the end. This can be useful, for example, -if you wish to change the order of the variables in the reference -fields line. - -The command \Macro{defaultreffields} acts to reset the reference -fields line to its predefined format. In doing so, all custom-defined -variables are removed from the reference fields line. % -\EndIndex{Cmd}{defaultreffields}% -\EndIndex{Cmd}{newkomavar}\EndIndex{Cmd}{newkomavar*}% -\EndIndex{Cmd}{addtoreffields}\EndIndex{Cmd}{removereffields}% +\begin{desclist} + % Umbruchkorrektur + \renewcommand*{\abovecaptionskipcorrection}{-\normalbaselineskip}% + \desccaption{% + Alphabetical list of all supported variables in + \Class{scrlttr2}\label{tab:scrlttr2.variables}% + }{% + Alphabetical list of all supported variables in \Class{scrlttr2} + (\emph{continuation})% + }% + \ventry{addresseeimage}{% + instuctions, that will be used to print the Port-Pay\'e head of option + \OptionValue{addrfield}{backgroundimage} or the Port-Pay\'e addressee of + option \OptionValue{addrfield}{image} % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.addresseeimage})}% + \ventry{backaddress}{% + return address for window envelopes % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.backaddress})}% + \ventry{% + backaddressseparator}{separator within the return address % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.backaddressseparator})}% + \ventry{ccseparator}{% + separator between title of additional addressees, and additional + addressees % + (\autoref{sec:scrlttr2.document}, + \autopageref{desc:scrlttr2.variable.ccseparator})}% + \ventry{customer}{% + customer number % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.customer})}% + \ventry{date}{% + date % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.date})}% + \ventry{emailseparator}{% + separator between e-mail name and e-mail address % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.emailseparator})}% + \ventry{enclseparator}{% + separator between title of enclosure, and enclosures % + (\autoref{sec:scrlttr2.document}, + \autopageref{desc:scrlttr2.variable.enclseparator})}% + \ventry{faxseparator}{% + separator between title of fax, and fax number % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.faxseparator})}% + \ventry{firstfoot}{% + page\ChangedAt{v3.08}{\Class{scrlttr2}} foot of the note paper % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.firstfoot})}% + \ventry{firsthead}{% + page\ChangedAt{v3.08}{\Class{scrlttr2}} head of the note paper % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.firsthead})}% + \ventry{fromaddress}{% + sender's address without sender name % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.fromaddress})}% + \ventry{frombank}{% + sender's bank account % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.frombank})}% + \ventry{fromemail}{% + sender's e-mail % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.fromemail})}% + \ventry{fromfax}{% + sender's fax number % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.fromfax})}% + \ventry{fromlogo}{% + commands for inserting the sender's logo % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.fromlogo})}% + \ventry{fromname}{% + complete name of sender % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.fromname})}% + \ventry{fromphone}{% + sender's telephone number % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.fromphone})}% + \ventry{fromurl}{% + a URL of the sender, e.\,g., the URL of his homepage % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.fromurl})}% + \ventry{fromzipcode}{% + zip code or postcode of the sender used at the Port-Pay\'e head of option + \OptionValue{addrfield}{PP} % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.fromzipcode})}% + \ventry{invoice}{% + invoice number % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.invoice})}% + \ventry{location}{% + more details of the sender % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.location})}% + \ventry{myref}{% + sender's reference % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.myref})}% + \ventry{nextfoot}{% + page\ChangedAt{v3.08}{\Class{scrlttr2}} foot using page style + \Pagestyle{headings}\IndexPagestyle{headings} or + \Pagestyle{myheadings}\IndexPagestyle{myheadings} % + (\autoref{sec:scrlttr2.pagestyle}, + \autopageref{desc:scrlttr2.variable.nextfoot})}% + \ventry{nexthead}{% + page\ChangedAt{v3.08}{\Class{scrlttr2}} head using page style + \Pagestyle{headings}\IndexPagestyle{headings} or + \Pagestyle{myheadings}\IndexPagestyle{myheadings} % + (\autoref{sec:scrlttr2.pagestyle}, + \autopageref{desc:scrlttr2.variable.nexthead})}% + \ventry{phoneseparator}{% + separator between title of telephone and telephone number % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.phoneseparator})}% + \ventry{place}{% + sender's place used near date % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.place})}% + \ventry{placeseparator}{% + separator between place and date % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.placeseparator})}% + \ventry{PPdatamatrix}{% + instruction, that print the data array of option + \OptionValue{addrfield}{PP} % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.PPdatamatrix})}% + \ventry{PPcode}{% + instructions for the sender's identification code of option + \OptionValue{addrfield}{PP} % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.PPcode})}% + \ventry{signature}{% + signature beneath the ending of the letter % + (\autoref{sec:scrlttr2.closing}, + \autopageref{desc:scrlttr2.variable.signature})}% + \ventry{specialmail}{% + mode of dispatch % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.specialmail})}% + \ventry{subject}{% + letter's subject % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.subject})}% + \ventry{subjectseparator}{% + separator between title of subject and subject % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.subjectseparator})}% + \ventry{title}{% + letter title % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.title})}% + \ventry{toaddress}{% + address of addressee without addressee name % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.toaddress})}% + \ventry{toname}{% + complete name of addressee % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.toname})}% + \ventry{yourmail}{% + date of addressee's referenced mail % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.yourmail})}% + \ventry{yourref}{% + addressee's reference % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.yourref})}% + \ventry{zipcodeseparator}{% + separator between the zip code's or postcode's title and the code itself % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.zipcodeseparator})}% +\end{desclist} \begin{Declaration} \Macro{setkomavar}% \Parameter{name}\OParameter{description}\Parameter{content}\\ \Macro{setkomavar*}\Parameter{name}\Parameter{description} \end{Declaration} -\BeginIndex{Cmd}{setkomavar}\BeginIndex{Cmd}{setkomavar*}% +\BeginIndex{Cmd}{setkomavar}% +\BeginIndex{Cmd}{setkomavar*}% With the command \Macro{setkomavar} you determine the \PName{content} of the variable \PName{name}. Using an optional argument you can at the same time change the \PName{description} of the variable. In contrast, \Macro{setkomavar*} can only set the \PName{description} of the variable \PName{name}. +% Wir haben hier ein anderes Beispiel als in der deutschen Anleitung, aber das +% passt hier sehr gut so! \begin{Example} Suppose you have defined a direct dialling as mentioned above and you now want to set the content. You write: @@ -1595,267 +327,93 @@ empty \PName{description} argument. one command. \end{Example} % -\EndIndex{Cmd}{setkomavar}\EndIndex{Cmd}{setkomavar*}% - +\EndIndex{Cmd}{setkomavar}% +\EndIndex{Cmd}{setkomavar*}% \begin{Declaration} \Macro{usekomavar}\OParameter{command}\Parameter{name}\\ \Macro{usekomavar*}\OParameter{command}\Parameter{name} \end{Declaration} -\BeginIndex{Cmd}{usekomavar}\BeginIndex{Cmd}{usekomavar*}% -In\ChangedAt{v2.9i}{\Class{scrlttr2}} some cases it is necessary for -the user to access the content or the description of a variable, and -not to leave this only up to the class. This is specially important -when you have defined a variable which is not added to the reference -fields line. Using the command \Macro{usekomavar} you have access to the -content of the variable \PName{name}, whereas the starred version -\Macro{usekomavar*} allows you to access the description. +\BeginIndex{Cmd}{usekomavar}% +\BeginIndex{Cmd}{usekomavar*}% +In\ChangedAt{v2.9i}{\Class{scrlttr2}} some cases it is necessary for the user +to access the content or the description of a variable, and not to leave this +only up to the class. This is specially important when you have defined a +variable which is not added to the reference fields line. Using the command +\Macro{usekomavar} you have access to the content of the variable +\PName{name}, whereas the starred version \Macro{usekomavar*} allows you to +access the description or title. In \autoref{sec:scrlttr2-experts.variables}, +\autopageref{desc:scrlttr2-experts.cmd.newkomavar} you may find more +information about defining variable on your own.% +\EndIndex{Cmd}{usekomavar}% +\EndIndex{Cmd}{usekomavar*}% -\begin{Explain} - The commands \Macro{usekomavar} and \Macro{usekomavar*} are, - similarly to all commands where a starred version exists or which - can take an optional argument, not fully expandable. Nevertheless, - if used within \Macro{markboth}\IndexCmd{markboth}, - \Macro{markright}\IndexCmd{markright} or similar commands, you need - not insert a \Macro{protect}\IndexCmd{protect} before using them. - Of course this is also true for \Macro{markleft}\IndexCmd{markleft} - if using package \Package{scrpage2}. However, these kinds of - commands can not be used within commands like - \Macro{MakeUppercase}\IndexCmd{MakeUppercase} which directly - influence their argument. - \Macro{MakeUppercase}\PParameter{\Macro{usekomavar}\Parameter{name}} - would result in \Macro{usekomavar}\Parameter{NAME}. To avoid this - problem you may use commands like \Macro{MakeUppercase} as an - optional argument to \Macro{usekomavar} or \Macro{usekomavar*}. Then - you will get the uppercase content of a variable using - \Macro{usekomavar}\PValue{[\Macro{MakeUppercase}]}\Parameter{name}. -\end{Explain} -% -\EndIndex{Cmd}{usekomavar}\EndIndex{Cmd}{usekomavar*}% + +\begin{Declaration} + \Macro{ifkomavar}\Parameter{name}\Parameter{true-code}\Parameter{false-code} +\end{Declaration} +\BeginIndex{Cmd}{ifkomavar}% +This\ChangedAt{v3.03}{\Class{scrlttr2}} command may be used to test, whether +or not a variable has already been defined. The \PName{true-code} will be +executed only, if the variable already exists. The contents of the variable +will not be examined, so it may be empty. The \PName{false-code} will be +executed if the variable does not yet exist. Such tests make sense if a +variable will be defined at one +\File{lco}-file\Index{lco-file=\File{lco}-file} (see +\autoref{sec:scrlttr2.lcoFile} from \autopageref{sec:scrlttr2.lcoFile} +onward), but used in another \File{lco}-file if it exists only.% % -\EndIndex{}{variables} +\EndIndex{Cmd}{ifkomavar}% + \begin{Declaration} - \Macro{ifkomavarempty}\Parameter{name}\Parameter{true}\Parameter{false}\\ - \Macro{ifkomavarempty*}\Parameter{name}\Parameter{true}\Parameter{false} + \Macro{ifkomavarempty}\Parameter{name}\Parameter{true-code}% + \Parameter{false-code}\\ + \Macro{ifkomavarempty*}\Parameter{name}\Parameter{true-code}% + \Parameter{false-code} \end{Declaration} \BeginIndex{Cmd}{ifkomavarempty}% +\BeginIndex{Cmd}{ifkomavarempty*}% With\ChangedAt{v2.9i}{\Class{scrlttr2}} these commands you may check whether or not the expanded content or description of a variable is -empty. The \PName{true} argument will be executed if the content or -description is empty. Otherwise the \PName{false} argument will be +empty. The \PName{true-code} will be executed if the content or +description is empty. Otherwise the \PName{false-code} will be executed. The starred variant handles the description of a variable, -the unstarred variant handles the contents. - -\begin{Explain} - It is important to know that the content or description 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. - - Both variants of the command also must not be used as the argument - of \Macro{MakeUppercase}\IndexCmd{MakeUppercase} or other commands - which have similar effects to their arguments (see the description - of \Macro{usekomavar} above for more information about using - commands like \Macro{usekomavar} or \Macro{ifkomavarempty} at the - argument of \Macro{MakeUppercase}). However, they are robust enough - to be used as the argument of, e.\,g., \Macro{markboth} or - \Macro{footnote}. -\end{Explain} +the unstarred variant handles the contents.% +\EndIndex{Cmd}{ifkomavarempty*}% +\EndIndex{Cmd}{ifkomavarempty}% +% +\EndIndex{}{variables}% -\subsection{The Pseudo-Lengths} +\section{Pseudo-Lengths} \label{sec:scrlttr2.pseudoLength} -\BeginIndex{}{pseudo-lengths} -\begin{Explain} - {\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 addressed with \Macro{newlength}, skip - registers are used. Once all these registers are in use, you can not - define any more additional lengths. The letter class - \Class{scrlttr2} would normally use up more than 20 of such - registers for the first page alone. {\LaTeX} itself already uses 40 - of these registers. The \Package{typearea} package needs some of - them too; thus, approximately a quarter of the precious registers - would already be in use. That is the reason why lengths specific to - letters in \Class{scrlttr2} are defined with macros instead of - lengths. The drawback of this approach is that computations with - macros is somewhat more complicated than with real lengths. - - It can be pointed out that the now recommended {\LaTeX} installation - with {\eTeX} no longer suffers from the above-mentioned - limitation. However, that improvement came too late for - \Class{scrlttr2}. -\end{Explain} +\BeginIndex{}{pseudo-lengths} +\LaTeX{} processes length with commands \Macro{newlength}, \Macro{setlength}, +\Macro{addtolength}, and \Macro{the\PName{length}}. Many packages also use +macros, that are commands, to storage lengths. \KOMAScript{} extends the +method of storing length at macros by some commands similar to the commands +above, that are used to handle real lengths. \KOMAScript calls this kind of +lengths, that are stored at macros instead of real \LaTeX{} lengths, +pseudo-lengths. A list of all pseudo-lengths in \Class{scrlttr2} is shown in -\autoref{tab:scrlttr2.pseudoLength} starting at -\autopageref{tab:scrlttr2.pseudoLength}. The meaning of the various +\autoref{tab:scrlttr2-experts.pseudoLength} starting at +\autopageref{tab:scrlttr2-experts.pseudoLength}. The meaning of the various pseudo-lengths is shown graphically in -\autoref{fig:scrlttr2.pseudoLength}. The dimensions used in the figure +\autoref{fig:scrlttr2-experts.pseudoLength}. The dimensions used in the figure correspond to the default settings of \Class{scrlttr2}. More detailed -description of the individual pseudo-lengths is found in the -individual sections of this chapter. - -\begin{figure} - \centering - \includegraphics{plenDIN} - \caption{Schematic of the pseudo-lengths for a letter} - \label{fig:scrlttr2.pseudoLength} -\end{figure} +description of the individual pseudo-lengths is found in the individual +sections of this chapter. -\begin{desctable} - \caption{Pseudo-lengths provided by class \Class{scrlttr2}% - \label{tab:scrlttr2.pseudoLength}}\\ - \Endfirsthead % - \caption[]{Pseudo-lengths provided by class \Class{scrlttr2} - (\emph{continued})}\\% - \Endhead% - \standardfoot% - \pentry{backaddrheight}{% - height of the return address at the upper edge of the address - field (\autoref{sec:scrlttr2.addressee}, - \autopageref{desc:scrlttr2.plength.backaddrheight})}% - \pentry{bfoldmarkvpos}{% - vertical distance of lower foldmark from top paper edge - (\autoref{sec:scrlttr2.other}, - \autopageref{desc:scrlttr2.plength.bfoldmarkvpos})}% - \pentry{firstfootvpos}{% - vertical distance of letterfoot from top paper edge - (\autoref{sec:scrlttr2.firstFoot}, - \autopageref{desc:scrlttr2.plength.firstfootvpos})}% - \pentry{firstfootwidth}{% - width of letterfoot; letterfoot is centered horizontally on letter - paper (\autoref{sec:scrlttr2.firstFoot}, - \autopageref{desc:scrlttr2.plength.firstfootwidth})}% - \pentry{firstheadvpos}{% - vertical distance of letterhead from top paper edge - (\autoref{sec:scrlttr2.firstHead}, - \autopageref{desc:scrlttr2.plength.firstheadvpos})}% - \pentry{firstheadwidth}{% - width of letter head; letterhead is centered horizontally on - letter paper (\autoref{sec:scrlttr2.firstHead}, - \autopageref{desc:scrlttr2.plength.firstheadwidth})}% - \pentry{foldmarkhpos}{% - horizontal distance of all foldmarks from left paper edge - (\autoref{sec:scrlttr2.other}, - \autopageref{desc:scrlttr2.plength.foldmarkhpos})}% - \pentry{fromrulethickness}{% - Thickness of an optional horizontal line in the letterhead - (\autoref{sec:scrlttr2.firstHead}, - \autopageref{desc:scrlttr2.plength.fromrulethickness})}% - \pentry{fromrulewidth}{% - length of an optional horizontal rule in letterhead - (\autoref{sec:scrlttr2.firstHead}, - \autopageref{desc:scrlttr2.plength.fromrulewidth})}% - \pentry{locwidth}{% - width of supplemental data field; for zero value width is - calculated automatically with respect to option \Option{locfield} - that is described in \autoref{sec:scrlttr2.headoptions} - (\autoref{sec:scrlttr2.locationField}, - \autopageref{desc:scrlttr2.plength.locwidth})}% - \pentry{refaftervskip}{% - vertical skip below reference fields line - (\autoref{sec:scrlttr2.refLine}, - \autopageref{desc:scrlttr2.plength.refaftervskip})}% - \pentry{refhpos}{% - horizontal distance of reference fields line from left paper edge; - for zero value reference fields line is centered horizontally on - letter paper (\autoref{sec:scrlttr2.refLine}, - \autopageref{desc:scrlttr2.plength.refhpos})}% - \pentry{refvpos}{% - vertical distance of reference fields line from top paper edge - (\autoref{sec:scrlttr2.refLine}, - \autopageref{desc:scrlttr2.plength.refvpos})}% - \pentry{refwidth}{% - width of reference fields line (\autoref{sec:scrlttr2.refLine}, - \autopageref{desc:scrlttr2.plength.refwidth})}% - \pentry{sigbeforevskip}{% - vertical skip between closing and signature - (\autoref{sec:scrlttr2.closing}, - \autopageref{desc:scrlttr2.plength.sigbeforevskip})}% - \pentry{sigindent}{% - indentation of signature with respect to text body - (\autoref{sec:scrlttr2.closing}, - \autopageref{desc:scrlttr2.plength.sigindent})}% - \pentry{specialmailindent}{% - left indentation of mode of dispatch within address field - (\autoref{sec:scrlttr2.addressee}, - \autopageref{desc:scrlttr2.plength.specialmailindent})}% - \pentry{specialmailrightindent}{% - right indentation of mode of dispatch within address field - (\autoref{sec:scrlttr2.addressee}, - \autopageref{desc:scrlttr2.plength.specialmailrightindent})}% - \pentry{tfoldmarkvpos}{% - vertical distance of upper foldmark from top paper edge - (\autoref{sec:scrlttr2.other}, - \autopageref{desc:scrlttr2.plength.tfoldmarkvpos})}% - \pentry{toaddrheight}{% - height of address field (\autoref{sec:scrlttr2.addressee}, - \autopageref{desc:scrlttr2.plength.toaddrheight})}% - \pentry{toaddrhpos}{% - horizontal distance of address field from left paper edge, for - positive values; or negative horizontal distance of address field - from right paper edge, for negative values - (\autoref{sec:scrlttr2.addressee}, - \autopageref{desc:scrlttr2.plength.toaddrhpos})}% - \pentry{toaddrindent}{% - left and right indentation of address within address field - (\autoref{sec:scrlttr2.addressee}, - \autopageref{desc:scrlttr2.plength.toaddrindent})}% - \pentry{toaddrvpos}{% - vertical distance of address field from top paper edge - (\autoref{sec:scrlttr2.addressee}, - \autopageref{desc:scrlttr2.plength.toaddrvpos})}% - \pentry{toaddrwidth}{% - width of address field (\autoref{sec:scrlttr2.addressee}, - \autopageref{desc:scrlttr2.plength.toaddrwidth})}% -\end{desctable} - -\begin{Declaration} - \Macro{@newplength}\Parameter{name} -\end{Declaration} -\BeginIndex{Cmd}{@newplength}% -This command defines an new pseudo-length. This new pseudo-length is -uniquely identified by its \PName{name}. If with this command a -redefinition of an already existing pseudo-length is attempted, the -commands exits with an error message. - -Since the user in general does not define own pseudo-lengths, this -command is not intended as a user command. Thus, it can not be used -within a document, but it can, for example, be used within an -\File{lco} file. -% -\EndIndex{Cmd}{@newplength}% +Normally users would not need to define a pseudo-length on their own. Because +of this, definition of pseudo-lengths will be described in the expert part at +\autoref{sec:scrlttr2-experts.pseudoLengths}, +\autopageref{desc:scrlttr2-experts.cmd.@newplength}. Setting pseudo-lengths to +new values is also a work for advanced users. So this will be described in the +expert part too at \autopageref{desc:scrlttr2-experts.cmd.@setplength}. -\begin{Declaration} - \Macro{@setplength}% - \OParameter{factor}\Parameter{pseudo-length}\Parameter{value}\\ - \Macro{@addtoplength}% - \OParameter{factor}\Parameter{pseudo-length}\Parameter{value} -\end{Declaration} -\BeginIndex{Cmd}{@setplength}% -\BeginIndex{Cmd}{@addtoplength}% -Using the command \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 \Macro{setlengthtoplength}). The -command \Macro{@addtoplength} adds the \PName{value} to a -\PName{pseudo-length}. To assign, or to add the multiple of, one -\PName{pseudo-length} to another pseudo-length, the command -\Macro{useplength} is used within \PName{value}. To subtract the -value of one pseudo-length from another \PName{pseudo-length} a minus -sign, or \PValue{-1}, is used as the \PName{factor}. - -Since the user in general does not define own pseudo-lengths, this -command is not intended as a user command. Thus, it can not be used -within a document, but can, for example, be used within an \File{lco} -file. -% -\EndIndex{Cmd}{@setplength}% -\EndIndex{Cmd}{@addtoplength}% \begin{Declaration} \Macro{useplength}\Parameter{name} @@ -1864,10 +422,12 @@ file. Using this command you can access the value of the pseudo-length with the given \PName{name}. This is one of the few user commands in connection with pseudo-lengths. Of course this command can also be -used with an \File{lco} file. +used with an \File{lco}-file\Index{lco-file=\File{lco}-file} (see +\autoref{sec:scrlttr2.lcoFile} ab \autopageref{sec:scrlttr2.lcoFile}).% % \EndIndex{Cmd}{useplength}% + \begin{Declaration} \Macro{setlengthtoplength}% \OParameter{factor}\Parameter{length}\Parameter{pseudo-length}\\ @@ -1900,8 +460,30 @@ of a \PName{pseudo-length} to the \PName{length}. % \EndIndex{}{pseudo-lengths} -\subsection{The General Structure of a Letter Document} + +\LoadCommon[scrlttr]{0} % \section{Early or Late Selection of Options} + +\LoadCommon[scrlttr]{1} % \section{Compatibility with Earlier Versions of + % \KOMAScript{}} + +\LoadCommon[scrlttr]{2} % \section{Draft-Mode} + +\LoadCommon[scrlttr]{3} % \section{Page Layout} + +Normally it makes no sense to distinguish letters with single-side layout and +letters with double-side layout. Mostly letters won't be bound like +books. Therefor each page will be viewed on its own. This is also true if both +sides of the paper sheet will be used for printing. Vertical adjustment is +unusual at letters too. Nevertheless, if you need or want it, you may read the +description of \Macro{raggedbottom} and \Macro{flushbottom} in +\autoref{sec:maincls.typearea} at \autopageref{desc:maincls.cmd.flushbottom}.% +% +\EndIndex{}{page>layout} + + +\section{General Structure of Letter Documents} \label{sec:scrlttr2.document} +\BeginIndex{}{letter>structure} The general structure of a letter document differs somewhat from the structure of a normal document. Whereas a book document in general @@ -1910,6 +492,45 @@ letters. As illustrated in \autoref{fig:scrlttr2.document}, a letter document consists of a preamble, the individual letters, and the closing. +\begin{figure} + \KOMAoptions{captions=bottombeside}% + \setcapindent{0pt}% + \begin{captionbeside}[{% + General structure of a letter document with several individual letters% + }]{% + General structure of a letter document with several individual letters + (the structure of a single letter is shown in + \autoref{fig:scrlttr2.letter})% + \label{fig:scrlttr2.document}% + }[l] + \begin{minipage}[b]{.667\linewidth} + \centering\small\setlength{\fboxsep}{1.5ex}% + \addtolength{\linewidth}{-\dimexpr2\fboxrule+2\fboxsep\relax}% + \fbox{\parbox{\linewidth}{\raggedright% + \Macro{documentclass}\OParameter{\dots}\PParameter{scrlttr2}\\ + \dots\\ + {\centering\emph{settings for all letters}\\} + \dots\\ + \Macro{begin}\PParameter{document}\\ + \dots\\ + {\centering\emph{settings for all letters}\\} + \dots\\ + }}\\ + \fbox{\parbox{\linewidth}{\raggedright% + \Macro{begin}\PParameter{letter}\Parameter{addressee}\\ + \dots\\ + {\centering\emph{content of the individual letter}\\} + \dots\\ + \Macro{end}\PParameter{letter}\\ + }}\\[2pt] + \parbox{\linewidth}{\raggedright\vspace{-.5ex}\vdots\vspace{1ex}}\\ + \fbox{\parbox{\linewidth}{\raggedright% + \Macro{end}\PParameter{document}\\ + }}\\[\dimexpr\fboxsep+\fboxrule\relax] + \end{minipage} + \end{captionbeside} +\end{figure} + The preamble comprises all settings that in general concern all letters. Most of them can also be overwritten in the settings of the individual letters. The only setting which can not be changed within a single letter is compatibility @@ -1929,447 +550,927 @@ The closing usually consists only of \Macro{end}\PParameter{document}. Of course you can also insert additional comments at this point. -\begin{figure} -\centering\small\setlength{\fboxsep}{1.5ex} -\fbox{\parbox{.667\linewidth}{\raggedright% - \Macro{documentclass}\OParameter{\dots}\PParameter{scrlttr2}\\ - \dots\\ - {\centering\emph{settings for all letters}\\} - \dots\\ - \Macro{begin}\PParameter{document}\\ - \dots\\ - {\centering\emph{settings for all letters}\\} - \dots\\ - }}\\ -\fbox{\parbox{.667\linewidth}{\raggedright% - \Macro{begin}\PParameter{letter}\Parameter{addressee}\\ - \dots\\ - {\centering\emph{content of the individual letter}\\} - \dots\\ - \Macro{end}\PParameter{letter}\\ - }}\\ -\parbox{.667\linewidth}{\raggedright\vspace{-.5ex}\vdots\vspace{1ex}}\\ -\fbox{\parbox{.667\linewidth}{\raggedright% - \Macro{end}\PParameter{document}\\ - }}\\ -\caption{General structure of a letter document with several -individual letters (the structure of a single letter is shown in - \autoref{fig:scrlttr2.letter})} -\label{fig:scrlttr2.document} -\vspace{2\abovecaptionskip} -\fbox{\parbox{.667\linewidth}{\raggedright% - \Macro{begin}\PParameter{letter}% - \OParameter{options}\Parameter{addressee}\\ - \dots\\ - {\centering\emph{settings for this letter}\\} - \dots\\ - \Macro{opening}\Parameter{opening}\\ - }}\\ -\fbox{\parbox{.667\linewidth}{\raggedright% - \dots\\ - {\centering\emph{letter text}\\} - \dots\\ - }}\\ -\fbox{\parbox{.667\linewidth}{\raggedright% - \Macro{closing}\Parameter{closing}\\ - \Macro{ps}\\ - \dots\\ - {\centering\emph{postscript}\\} - \dots\\ - \Macro{encl}\Parameter{enclosures}\\ - \Macro{cc}\Parameter{additional addressees}\\ - \Macro{end}\PParameter{letter}\\ - }}\\ -\caption{General structure of a single letter within a letter -document (see also \autoref{fig:scrlttr2.document})} -\label{fig:scrlttr2.letter} -\end{figure} +\begin{figure} + \KOMAoptions{captions=bottombeside}% + \setcapindent{0pt}% + \begin{captionbeside}[{% + General structure of a single letter within a letter document% + }]{% + General structure of a single letter within a letter document (see also + \autoref{fig:scrlttr2.document})% + \label{fig:scrlttr2.letter}}[l] + \begin{minipage}[b]{.667\linewidth}% + \centering\small\setlength{\fboxsep}{1.5ex}% + \addtolength{\linewidth}{-\dimexpr2\fboxrule+2\fboxsep\relax}% + \fbox{\parbox{\linewidth}{\raggedright% + \Macro{begin}\PParameter{letter}% + \OParameter{Optionen}\Parameter{addressee}\\ + \dots\\[\dp\strutbox] + {\centering\emph{settings for this letter}\\} + \dots\\ + \Macro{opening}\Parameter{opening}\\ + }}\\[1pt] + \fbox{\parbox{\linewidth}{\raggedright% + \dots\\[\dp\strutbox] + {\centering\emph{letter text}\\} + \dots\\ + }}\\[1pt] + \fbox{\parbox{\linewidth}{\raggedright% + \Macro{closing}\Parameter{closing}\\ + \Macro{ps}\\ + \dots\\[\dp\strutbox] + {\centering\emph{postscript}\\} + \dots\\ + \Macro{encl}\Parameter{enclosures}\\ + \Macro{cc}\Parameter{additional addressees}\\ + \Macro{end}\PParameter{letter}\\ + }}\\[\dimexpr\fboxsep+\fboxrule\relax] + \end{minipage} + \end{captionbeside} +\end{figure} + +As shown in \autoref{fig:scrlttr2.letter}, every single letter itself consists +of an introduction, the letter body, and the closing. In the introduction, all +settings pertaining only to the current letter are defined. It is important +that this introduction always ends with +\Macro{opening}\IndexCmd{opening}. Similarly, the closing always starts with +\Macro{closing}\IndexCmd{closing}. The two arguments \PName{opening} and +\PName{closing} can be left empty, but both commands must be used and must +have an argument. + +It should be noted that several settings can be changed between the individual +letters. Such changes then have an effect on all subsequent letters. For +reasons of maintainability of your letter documents, it is however not +recommended to use further general settings with limited scope between the +letters. + +\begin{Declaration} + \XMacro{begin}\PParameter{\Environment{letter}}% + \OParameter{options}\Parameter{addressee}\\ + \quad\dots\\ + \XMacro{end}\PParameter{letter} +\end{Declaration} +\BeginIndex{Env}{letter}% +\BeginIndex{}{addressee}% +The \Environment{letter} environment is one of the key environments of the +letter class. A special\textnote{\KOMAScript{} vs. standard classes} +\Class{scrlttr2} feature are optional arguments to the \Environment{letter} +environment. These \PName{options} are executed internally via the +\Macro{KOMAoptions} command. + +The \PName{addressee} is a mandatory argument passed to the +\Environment{letter} environment. Parts\textnote{Attention!} of the addressee +contents are separated by double backslashes. These parts are output on +individual lines in the address field. Nevertheless, the double backslash +should not be interpreted as a certain line break. Vertical material such as +paragraphs or vertical space is not permitted within \PName{addressee}, and +could lead to unexpected results and error messages, as is the case also for +the standard letter class. + +\begin{Example} + \phantomsection\label{desc:scrlttr2.env.letter.example}% + Assumed, someone wants to send a letter to Joana Public. A minimalistic + letter document for this may be: +\begin{lstcode} + \documentclass[version=last]{scrlttr2} + \usepackage[english]{babel} + \begin{document} + \begin{letter}{Joana Public\\ + Hillside 1\\ + 12345 Public-City} + \end{letter} + \end{document} +\end{lstcode} + However, this would not result in any printable output. At least there + wouldn't be an addressee at the note paper sheet. The reason for this will + be explained at the description of command \Macro{opening} at + \autopageref{desc:scrlttr2.cmd.opening}. +\end{Example} +% +\EndIndex{}{addressee}% +\EndIndex{Env}{letter}% + +\begin{Declaration} + \Macro{AtBeginLetter}\Parameter{instruction code}\\ + \Macro{AtEndLetter}\Parameter{instruction code} +\end{Declaration} +\BeginIndex{Cmd}{AtBeginLetter}% +\BeginIndex{Cmd}{AtEndLetter}% +{\LaTeX} enables the user to declare \PName{instruction code} whose execution +is delayed until a determined point. Such points are called +\emph{hooks}\Index{hook}. Known macros for using hooks are +\Macro{AtBeginDocument}\IndexCmd{AtBeginDocument} and +\Macro{AtEndOfClass}\IndexCmd{AtEndOfClass} at the \LaTeX{} kernel. The class +\Class{scrlttr2} provides two more hooks. The \PName{instruction code} for +these may be declared using \Macro{AtBeginLetter} and +\Macro{AtEndLetter}\ChangedAt{v2.95}{\Class{scrlttr2}}. Originally, hooks were +provided for package and class authors, so they are documented in +\cite{latex:clsguide} only, and not in \cite{latex:usrguide}. However, with +letters there are useful applications of \Macro{AtBeginLetter} as the +following example may illustrate. +% +\begin{Example} + It is given that one has to set multiple letters with questionnaires + within one document. Questions are numbered automatically within + single letters using a counter. Since, in contrast to page + numbering, that counter is not known by \Class{scrlttr2}, it would + not be reset at the start of each new letter. Given that each + questionnaire contains ten questions, question~1 would get number~11 + in the second letter. A solution is to reset this counter at the + beginning of each new letter: +\begin{lstlisting} + \newcounter{Question} + \newcommand{\Question}[1]{% + \refstepcounter{Question}\par + \noindent\begin{tabularx}{\textwidth}{l@{}X} + \theQuestion:~ & #1\\ + \end{tabularx}% + }% + \AtBeginLetter{\setcounter{Question}{0}} +\end{lstlisting} + This way first question remains question~1, even in the 1001st letter. Of + course the definition at this example needs package + \Package{tabularx}\IndexPackage{tabularx} (see \cite{package:tabularx}). +\end{Example} +% +\EndIndex{Cmd}{AtEndLetter}% +\EndIndex{Cmd}{AtBeginLetter}% + -As shown in \autoref{fig:scrlttr2.letter}, every single letter itself -consists of an introduction, the letter body, and the closing. In the -introduction, all settings pertaining only to the current letter are -defined. It is important that this introduction always ends with -\Macro{opening}. Similarly, the closing always starts with -\Macro{closing}. The two arguments \PName{opening} and \PName{closing} -can be left empty, but both commands must be used and must have an -argument. +\begin{Declaration} + \Macro{opening}\Parameter{opening} +\end{Declaration} +\BeginIndex{Cmd}{opening}% +This is one of the most important commands in \Class{scrlttr2}. For the user +it may seem that only the \PName{opening}\Index{letter>opening}, e.\,g., +``Dear Mrs~\dots'', is typeset, but\textnote{Attention!} the command also +typesets the folding marks\Index{folding marks}, +letterhead\Index{letter>head}, address field\Index{address field}, reference +fields line\Index{reference line}, subject\Index{subject}, the page +footer\Index{page>footer} and others. In short, without \Macro{opening} there +is no letter. And if you want to print a letter without opening you have to +use an \Macro{opening} command with an empty argument. -\begin{Explain} - It should be noted that several settings can be changed between the - individual letters. Such changes then have an effect on all - subsequent letters. For reasons of maintainability of your letter - documents, it is however not recommended to use further general - settings with limited scope between the letters. -\end{Explain} +\begin{Example} + Let's extend the example from + \autopageref{desc:scrlttr2.env.letter.example} by an opening: + \lstinputcode[xleftmargin=1em]{letter-0.tex} + This will result in a note paper sheet shown in + \autoref{fig:scrlttr2.letter-0}. + \begin{figure} + \setcapindent{0pt}% + \begin{captionbeside}[{Example: letter with addressee and opening}]{% + result of a minimalistic letter with addressee and opening only + (date and folding marks are defaults of DIN-letters)}[l] + \frame{\includegraphics[width=.4\textwidth]{letter-0}} + \end{captionbeside} + \label{fig:scrlttr2.letter-0} + \end{figure} +\end{Example} +\iffalse% Umbruchkorrekturtext -As already mentioned, all general settings used in the preamble of a -letter document, with the exception of font size, can also be in the -preamble of the individual letters. Therefore, you will not find more -detailed explanations for the possible settings in this -section. Please refer to \autoref{sec:scrlttr2.startLetter}. +In the early days of computer-generated letters, programs did not have many +capabilities, therefore the letters seldom had an opening. Today the +capabilities have been enhanced. Thus personal openings are very common, even +in mass-production advertising letters.% +\fi +% +\EndIndex{Cmd}{opening}% +\begin{Declaration} + \Macro{closing}\Parameter{closing phrase} +\end{Declaration} +\BeginIndex{Cmd}{closing}% +The main purpose of the command \Macro{closing} is to typeset the +\PName{closing phrase}\Index{closing}. This may even consists of multiple +lines. The lines should be separated by double backslash. Paragraph breaks +inside the \PName{closing phrase} are not allowed. -\section{The Letter Declaration} -\label{sec:scrlttr2.startLetter} +Beyond that the command also typesets the content of the variable +\Variable{signature}. More information about the signature and the +configuration of the signature may be found at \autoref{sec:scrlttr2.closing} +ab \autopageref{desc:scrlttr2.variable.signature}. -The letter declaration gives all settings for the letter itself, as -well as for the first page of the body. The first page consists of -more than just the preliminaries of the letter; in fact, it consists -of several different parts. +\begin{Example} + Let's extend the our example by some lines of text and a closing phrase: + \lstinputcode[xleftmargin=1em]{letter-1.tex} + This will result in a the letter shown in \autoref{fig:scrlttr2.letter-1}. + \begin{figure} + \setcapindent{0pt}% + \begin{captionbeside}[{Example: letter with addressee, opening, text, and + closing}]{% + result of a small letter with addressee, opening, text, and closing + (date and folding marks are defaults of DIN-letters)}[l] + \frame{\includegraphics[width=.4\textwidth]{letter-1}} + \end{captionbeside} + \label{fig:scrlttr2.letter-1} + \end{figure} +\end{Example} +% +\EndIndex{Cmd}{closing}% +\begin{Declaration} + \Macro{ps} +\end{Declaration}% +\BeginIndex{Cmd}{ps}% +This instruction merely switches to the postscript. Hence, a new +paragraph begins, and a vertical distance\,---\,usually below the +signature\,---\,is inserted. The command \Macro{ps} is followed by +normal text. If you want the postscript to be introduced with the +acronym ``PS:'' , which by the way is written without a full stop, you +have to type this yourself. The acronym is typeset neither +automatically nor optionally by the class \Class{scrlttr2}. -\subsection{Foldmarks} -\label{sec:scrlttr2.foldmarks} -\BeginIndex{}{foldmark}% +\begin{Example} + The example letter extended by a postscript + \lstinputcode[xleftmargin=1em]{letter-2.tex} + results in \autoref{fig:scrlttr2.letter-2}. + \begin{figure} + \setcapindent{0pt}% + \begin{captionbeside}[{Example: letter with addressee, opening, text, + closing, and postscript}]{% + result of a small letter with addressee, opening, text, closing, and + postscript + (date and folding marks are defaults of DIN-letters)}[l] + \frame{\includegraphics[width=.4\textwidth]{letter-2}} + \end{captionbeside} + \label{fig:scrlttr2.letter-2} + \end{figure} +\end{Example} -Foldmarks\Index{foldmark} are short horizontal lines at the left edge, -and short vertical lines at the upper edge of the paper. \KOMAScript{} -at present supports three configurable horizontal and one configurable -vertical foldmarks. In addition, there is support for a punchmark or -center mark which cannot be shifted in the vertical direction. +\begin{Explain} + In the time when letters were written by hand it was quite common to use a + postscript because this was the only way to add information which one had + forgotten to mention in the main part of the letter. Of course, in letters + written with {\LaTeX} you can insert additional lines easily. Nevertheless, + it is still popular to use the postscript. It gives one a good possibility + to underline again the most important or sometimes the less important things + of the particular letter. +\end{Explain} +% +\EndIndex{Cmd}{ps} \begin{Declaration} - \PLength{tfoldmarkvpos}\\ - \PLength{mfoldmarkvpos}\\ - \PLength{bfoldmarkvpos} + \Macro{cc}\Parameter{distribution list}\\ + \Macro{setkomavar}\PParameter{\Variable{ccseparator}}% + \OParameter{description}\Parameter{content} \end{Declaration} -\BeginIndex{PLength}{tfoldmarkvpos}% -\BeginIndex{PLength}{bfoldmarkvpos}% -\BeginIndex{PLength}{mfoldmarkvpos}% -The letter class \Class{scrlttr2} knows a total of three -vertically-placed configurable foldmarks. The position of the upper -foldmark, taken from the upper edge of the paper, is governed by the -pseudo-length \PLength{tfoldmarkvpos}, that of the middle foldmark by -pseudo-length -\PLength{mfoldmarkvpos}\ChangedAt{v2.97e}{\Class{scrlttr2}}, and that -of the lower foldmark by pseudo-length \PLength{bfoldmarkvpos}. With -the addition of the punch\Index{punchmark} or -center\Index{center mark|see{punchmark}}% not sure of this construction -mark, there is still a fourth horizontal mark. This one is however -always placed at the vertical center of the paper. - -The upper and lower foldmarks do not serve to divide the paper into -exactly equal thirds. Instead, with their help, the paper should be -folded such that the address field appears correctly in the space -available in the chosen window envelope format, which is determined by -choice of \File{lco} file. Several such files are available offering -predefined formats. An anomaly is present with \Option{DINmtext}: for -this format, an envelope format of C6/5 (also known as ``C6 long'') is -assumed. Letters written with this option are not suited to envelopes -of formats C5 or C4. - -The middle foldmark is not normally required for Western letters. In -Japan, however, a larger number of envelope formats exists, requiring -one more foldmark (see the Japanese \File{lco} files). At this point -attention is drawn to the fact that reference to ``upper'', -``middle'', and ``lower'' foldmarks is simply a convenience. In fact, -it is not defined that \PLength{tfoldmarkvpos} must be smaller than -\PLength{mfoldmarkvpos}, which in turn must be smaller than -\PLength{bfoldmarkvpos}. If on the other hand one of the -pseudo-lengths is set to null, then the corresponding foldmark will -not be set even if the option \Option{foldmarks} (see -\autoref{sec:scrlttr2.headoptions}, -\autopageref{desc:scrlttr2.option.foldmarks}) is explicity activated. +\BeginIndex{Cmd}{cc}% +\BeginIndex{Variable}{ccseparator}% +With the command \Macro{cc}% +\Index{addressee>additional}\Index{distribution list}\Index{carbon copy} it is +possible to typeset a \PName{distribution list}. The command takes the +\PName{distribution list} as its argument. If the content of the variable +\Variable{ccseparator}\Index{separator}\Index{delimiter} is not empty, then +the name and the content of this variable is inserted before +\PName{distribution list}. In this case the \PName{distribution list} will be +indented appropriately. It is a good idea\textnote{Hint!} to set the +\PName{distribution list} \Macro{raggedright}\IndexCmd{raggedright} and to +separate the individual entries with a double backslash. +\begin{Example} + This time, the example letter should be send not only to the chairman, but + also to all club members: + \lstinputcode[xleftmargin=1em]{letter-3.tex}% + The result is shown in \autoref{fig:scrlttr2.letter-3}. + \begin{figure} + \setcapindent{0pt}% + \begin{captionbeside}[{Example: letter with addressee, opening, text, + closing, postscript, and distribution list}]{% + result of a small letter with addressee, opening, text, closing, + postscript, and distribution list + (date and folding marks are defaults of DIN-letters)}[l] + \frame{\includegraphics[width=.4\textwidth]{letter-3}} + \end{captionbeside} + \label{fig:scrlttr2.letter-3} + \end{figure} +\end{Example} +In front of the distribution list a vertical gap is inserted automatically.% % -\EndIndex{PLength}{tfoldmarkvpos}% -\EndIndex{PLength}{mfoldmarkvpos}% -\EndIndex{PLength}{bfoldmarkvpos}% +\EndIndex{Variable}{ccseparator}% +\EndIndex{Cmd}{cc}% \begin{Declaration} - \PLength{tfoldmarklength}\\ - \PLength{mfoldmarklength}\\ - \PLength{bfoldmarklength}\\ - \PLength{pfoldmarklength} + \Macro{encl}\Parameter{enclosures}\\ + \Macro{setkomavar}\PParameter{\Variable{enclseparator}}% + \OParameter{description}\Parameter{content} \end{Declaration} -\BeginIndex{PLength}{tfoldmarklength}% -\BeginIndex{PLength}{mfoldmarklength}% -\BeginIndex{PLength}{bfoldmarklength}% -\BeginIndex{PLength}{pfoldmarklength}% -These\ChangedAt{v2.97e}{\Class{scrlttr2}} four pseudo-lengths -determine the lengths of the four horizontal foldmarks. One -exceptional behaviour exists. If the length is given as null, then the -three vertically-configurable pseudo-lengths -\PLength{tfoldmarklength}, \PLength{mfoldmarklength} and -\PLength{bfoldmarklength} are set to 2\Unit{mm} in length. The length of -the punchmark, \PLength{pfoldmarklength}, is instead set to 4\Unit{mm}. -\EndIndex{PLength}{tfoldmarklength}% -\EndIndex{PLength}{mfoldmarklength}% -\EndIndex{PLength}{bfoldmarklength}% -\EndIndex{PLength}{pfoldmarklength}% +\BeginIndex{Cmd}{encl}% +\BeginIndex{Variable}{enclseparator}% +The \PName{enclosures} have the same structure as the distribution list. +The only difference is that here the enclosures starts with the name +and content of the variable +\Variable{enclseparator}\Index{separator}\Index{delimiter}. +\begin{Example} + Now, the example letter will be extended by some paragraphs from the + constitution. These will be added as an enclosure. The description title + will be changed also, because there is only one enclosure and the default + may be prepared for several enclosures: + \lstinputcode[xleftmargin=1em]{letter-4.tex} + This will result in \autoref{fig:scrlttr2.letter-4}. + \begin{figure} + \setcapindent{0pt}% + \begin{captionbeside}[{Example: letter with addressee, opening, text, + closing, postscript, distribution list, and enclosure}]{% + result of a small letter with addressee, opening, text, closing, + postscript, distribution list, and enclosure + (date and folding marks are defaults of DIN-letters)}[l] + \frame{\includegraphics[width=.4\textwidth]{letter-4}} + \end{captionbeside} + \label{fig:scrlttr2.letter-4} + \end{figure} +\end{Example} +% +\EndIndex{Cmd}{encl}% +\EndIndex{Variable}{enclseparator}% +% +\EndIndex{}{letter>structure} -\begin{Declaration} - \PLength{foldmarkhpos} -\end{Declaration} -\BeginIndex{PLength}{foldmarkhpos}% -This pseudo-length gives the distance of all horizontal foldmarks from -the left edge of the paper. Normally, this is 3.5\Unit{mm}. This value -can be changed in the user's own \File{lco} file, in case the user's -printer has a wider unprintable left margin. Whether the foldmarks are -typeset at all depends on the option \Option{foldmarks} (see -\autoref{sec:scrlttr2.headoptions}, -\autopageref{desc:scrlttr2.option.foldmarks}). +\section{Selection of Document or Letter Font Size} +\LoadCommon[scrlttr]{4} % \section{Selection of Document Font Size} + +\begin{Example} + Assumed, the example is a letter to \emph{``The friends of insane font + sizes''} and therefor it should be printed with 14\Unit{pt} instead of + 12\Unit{pt}. Only a simple change of the first line is needed:% + \lstinputcode[xleftmargin=1em]{letter-6}% + Alternatively the option may be set at the optional argument of the + \Environment{letter} environment:% + \lstinputcode[xleftmargin=1em]{letter-5}% + In the case of this late change of the font size no recalculation of the + type area will happen. Because of this, the two results of + \autoref{fig:scrlttr2.letter-5-6} differ. + \begin{figure} + \centering + \frame{\includegraphics[width=.4\textwidth]{letter-5}}\quad + \frame{\includegraphics[width=.4\textwidth]{letter-6}} + \caption[{Example: letter with addressee, opening, text, + closing, postscript, distribution list, enclosure, and insane large + font size}]{% + result of a small letter with addressee, opening, text, closing, + postscript, distribution list, enclosure, and insane large font size + (date and folding marks are defaults of DIN-letters): at left one the + font size has been defined by the optional argument of + \Environment{letter}, at the right one the optional argument of + \Macro{documentclass} has been used} + \label{fig:scrlttr2.letter-5-6} + \end{figure} +\end{Example} +% +\EndIndex{Option}{fontsize~=\PName{size}}% % -\EndIndex{PLength}{foldmarkhpos}% -\EndIndex{}{Faltmarke}% +\EndIndex{}{font>size} + + +\LoadCommon[scrlttr]{5} % \section{Text Markup} + +With command \Macro{usekomafont} the current font style may be changed into +the font style of the selected \PName{element}. + +A general example for the usage of \Macro{setkomafont} and \Macro{usekomafont} +may be found in \autoref{sec:maincls.textmarkup} at +\autopageref{desc:maincls.setkomafont.example}. + +\begin{desclist} + \desccaption{% + Alphabetical list of elements whose font can be changed in + \Class{scrlttr2} using the commands \Macro{setkomafont} and + \Macro{addtokomafont}\label{tab:scrlttr2.elementsWithoutText}% + }{% + Elements whose font can be changed (\emph{continuation})% + }% + \feentry{addressee}{name und address in address field % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.option.addrfield})}% + \feentry{backaddress}{% + return address for a window envelope % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.option.backaddress})}% + \feentry{descriptionlabel}{% + label, i.\,e., the optional argument of \Macro{item}, in a + \Environment{description} environment % + (\autoref{sec:scrlttr2.lists}, + \autopageref{desc:scrlttr2.env.description})}% + \feentry{foldmark}{% + foldmark on the letter page; intended for color settings % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.option.foldmarks})}% + \feentry{footnote}{% + footnote text and marker % + (see \autoref{sec:scrlttr2.footnotes}, + \autopageref{desc:scrlttr2.cmd.footnote})}% + \feentry{footnotelabel}{% + mark of a footnote; used according to the element \FontElement{footnote} % + (see \autoref{sec:scrlttr2.footnotes}, + \autopageref{desc:scrlttr2.cmd.footnote})}% + \feentry{footnotereference}{% + footnote reference in the text % + (see \autoref{sec:scrlttr2.footnotes}, + \autopageref{desc:scrlttr2.cmd.footnote})}% + \feentry{footnoterule}{% + horizontal rule\ChangedAt{v3.07}{\Class{scrlttr2}} above the footnotes at + the end of the text area % + (see \autoref{sec:maincls.footnotes}, + \autopageref{desc:maincls.cmd.setfootnoterule})}% + \feentry{labelinglabel}{% + labels, i.\,e., the optional argument of \Macro{item} in the + \Environment{labeling} environment % + (see \autoref{sec:scrlttr2.lists}, + \autopageref{desc:scrlttr2.env.labeling})}% + \feentry{labelingseparator}{% + separator, i.\,e., the optional argument of the \Environment{labeling} + environment; used according to the element \FontElement{labelinglabel} % + (see \autoref{sec:scrlttr2.lists}, + \autopageref{desc:scrlttr2.env.labeling})}% + \feentry{pagefoot}{% + used after element \FontElement{pageheadfoot} for the page foot, that has + been defined with variable \Variable{nextfoot}\IndexVariable{nextfoot}, or + for the page foot of package \Package{scrpage2} % + (\autoref{cha:scrpage}, \autopageref{desc:scrpage.fontelement.pagefoot})}% + \feentry{pagehead}{% + another name for \FontElement{pageheadfoot}}% + \feentry{pageheadfoot}{% + the head of a page, but also the foot of a page at all page style, that + has been defined using \KOMAScript{} % + (see \autoref{sec:scrlttr2.pagestyle}, + \autopageref{desc:scrlttr2.fontelement.pageheadfoot})}% + \feentry{pagenumber}{% + page number in the header or footer % + (see \autoref{sec:scrlttr2.pagestyle}, + \autopageref{desc:scrlttr2.fontelement.pagenumber})}% + \feentry{pagination}{% + another name for \FontElement{pagenumber}}% + \feentry{refname}{% + description or title of the fields in the reference line % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.yourref})}% + \feentry{refvalue}{% + content of the fields in the reference line % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.yourref})}% + \feentry{specialmail}{% + mode of dispatch in the address field % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.specialmail})}% + \feentry{subject}{% + subject in the opening of the letter % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.subject})}% + \feentry{title}{% + title in the opening of the letter % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.title})}% + \feentry{toaddress}{% + variation of the element \FontElement{addressee} for setting the addressee + address (less the name) in the address field % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.toaddress})}% + \feentry{toname}{% + variation of the element \FontElement{addressee} for the name (only) of + the addressee in the address field % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.toname})}% +\end{desclist} +% +\EndIndex{Cmd}{setkomafont}% +\EndIndex{Cmd}{addtokomafont}% +\EndIndex{Cmd}{usekomafont}% +% +\EndIndex{}{font}% +\EndIndex{}{text>markup} + + +\section{Note Paper} +\label{sec:scrlttr2.firstpage} +\BeginIndex{}{note paper}% +\BeginIndex{}{letter>first page} + +The note paper is the first page and therefore the signboard of each +letter. In business scope often preprinted forms are used, that already +contains elements like the letter head with the sender's information and +logo. \KOMAScript{} provides to position these elements independent. With this +it is not only possible to replicate the note paper directly, but also to +complete the destined fields instantaneously. The independent position is +provided by pseudo-lengths (see \autoref{sec:scrlttr2.pseudoLength} from +\autopageref{sec:scrlttr2.pseudoLength} onward). A schematic display of the +note page and the used variable is shown by +\autoref{fig:scrlttr2.variables}. Thereby the names of the variables are +printed boldly for better distinction from the commands and their arguments. + +Following pages\Index{page>following}\Index{following page} are different from +the note paper. Following pages in the meaning of this manual are all letter +pages but the first one. +\begin{figure} + \centering + \includegraphics[scale=0.99]{varDIN} + \caption{schematic display of the note paper with the most important + commands and variables for the drafted elements} + \label{fig:scrlttr2.variables} +\end{figure} \begin{Declaration} - \PLength{lfoldmarkhpos} -\end{Declaration} -\BeginIndex{PLength}{lfoldmarkhpos}% -Apart from\ChangedAt{v2.97e}{\Class{scrlttr2}} the horizontal -foldmarks there is also a vertical foldmark, whose position from the -left margin is set via the pseudo-length \PLength{lfoldmarkhpos}. This -foldmark is used, for example, in Japanese Chou- or You-format -envelopes, when one wishes to use A4 size sheets with them. This can -also be useful for envelopes in C6 format. -\EndIndex{PLength}{lfoldmarkhpos}% - + \KOption{foldmarks}\PName{selection} +\end{Declaration} +\BeginIndex{Option}{foldmarks~=\PName{selection}}% +Foldmarks\Index{foldmark} or folding marks\Index{folding mark} are tiny +horizontal rules at the left margin or tiny vertical rules at the top +margin. \KOMAScript{} currently provides three configurable horizontal folding +marks and one configurable vertical folding mark. Additionally it provides a +horizontal hole puncher mark, also known as page middle mark. This additional +mark cannot be moved vertically. + +This option activates or deactivates folding marks for vertical +two-, three- or four-panel folding, and a single horizontal folding, of the +letter, whereby the folding need not result in equal-sized parts. The position +of the four horizontal and the single vertical marks are configurable via +pseudo-lengths (see \autoref{sec:scrlttr2-experts.foldmarks} from +\autopageref{desc:scrlttr2-experts.plength.foldmarkvpos} onwards). + +The user has a choice: Either one may use the standard values for simple +switches, as described in \autoref{tab:truefalseswitch}, +\autopageref{tab:truefalseswitch}, to activate or deactivate at once all +configured folding marks on the left and upper edges of the paper; +or\ChangedAt{v2.97e}{\Class{scrlttr2}} one may specify by one or more letters, +as listed in \autoref{tab:scrlttr2.foldmark}, the use of the individual +folding marks independently. Also in the latter case the folding marks will only be +shown if they have not been switched off generally with one of \PValue{false}, +\PValue{off}, or \PValue{no}. The exact positioning of the folding marks is +specified in the user settings, that is, the \File{lco} files (see +\autoref{sec:scrlttr2.lcoFile} from \autopageref{sec:scrlttr2.lcoFile} onward) +chosen for a letter. Default values are \PValue{true} and \PValue{TBMPL}. +% +\begin{table} +% \centering + \KOMAoptions{captions=topbeside}% + \setcapindent{0pt}% +% \caption + \begin{captionbeside}{% + Combinable values for the configuration of folding marks with + option \Option{foldmarks}% + }[l] + \begin{tabular}[t]{ll} + \toprule + \PValue{B} & activate upper horizontal foldmark on left paper edge\\% + \PValue{b} & deactivate upper horizontal foldmark on left paper edge\\% + \PValue{H} & activate all horizontal folding marks on left paper edge\\% + \PValue{h} & deactivate all horizontal folding marks on left paper edge\\% + \PValue{L} & activate left vertical foldmark on upper paper edge\\% + \PValue{l} & deactivate left vertical foldmark on upper paper edge\\% + \PValue{M} & activate middle horizontal foldmark on left paper edge\\% + \PValue{m} & deactivate middle horizontal foldmark on left paper edge\\% + \PValue{P} & activate punch or center mark on left paper edge\\% + \PValue{p} & deactivate punch or center mark on left paper edge\\% + \PValue{T} & activate lower horizontal foldmark on left paper edge\\% + \PValue{t} & deactivate lower horizontal foldmark on left paper edge\\% + \PValue{V} & activate all vertical folding marks on upper paper edge\\% + \PValue{v} & deactivate all vertical folding marks on upper paper edge\\% + \bottomrule + \end{tabular} + \end{captionbeside} + \label{tab:scrlttr2.foldmark} +\end{table} +% +\begin{Example} + Assume that you would like to deactivate all folding marks except the punching + mark. This you can accomplish with, for example: +\begin{lstlisting} + \KOMAoption{foldmarks=blmt} +\end{lstlisting} + as long as the defaults have not been changed previously. If some changes + might have been made before, a safer method should be used. This changes our + example a little bit: + \lstinputcode[xleftmargin=1em]{letter-7}% + The result is shown in \autoref{fig:scrlttr2.letter-7}. + \begin{figure} + \setcapindent{0pt}% + \begin{captionbeside}[{Example: letter with addressee, opening, text, + closing, postscript, distribution list, enclosure, and hole puncher + mark}]{% + result of a small letter with addressee, opening, text, closing, + postscript, distribution list, enclosure, and hole puncher mark + (the date is a default of DIN-letters)}[l] + \frame{\includegraphics[width=.4\textwidth]{letter-7}} + \end{captionbeside} + \label{fig:scrlttr2.letter-7} + \end{figure} +\end{Example} +\BeginIndex{FontElement}{foldmark}% +The color of the folding mark may be changed +using\ChangedAt{v2.97c}{\Class{scrlttr2}} using the commands +\Macro{setkomafont} and \Macro{addtokomafont} (see +\autoref{sec:scrlttr2.textmarkup}, +\autopageref{desc:scrlttr2.cmd.setkomafont}) with element +\FontElement{foldmark}. Default is not change.% +\EndIndex{FontElement}{foldmark}% +% +\EndIndex{Option}{foldmarks~=\PName{selection}}% \begin{Declaration} - \PLength{lfoldmarklength} + \KOption{enlargefirstpage}\PName{simple switch} \end{Declaration} -\BeginIndex{PLength}{lfoldmarklength}% -The\ChangedAt{v2.97e}{\Class{scrlttr2}} length of the vertical -foldmark is set via the pseudo-length \PLength{lfoldmarklength}. Here -too there is an exceptional behaviour. When the length is set to null, -a length of 4\Unit{mm} is actually used. -\EndIndex{PLength}{lfoldmarklength}% - +\BeginIndex{Option}{enlargefirstpage~=\PName{simple switch}}% +The first page of a letter always uses a different page layout. The +\Class{scrlttr2} class provides a mechanism to calculate height and vertical +alignment of header and footer of the first page independently of the +following pages. If, as a result, the footer of the first page would reach +into the text area, this text area is automatically made smaller using the +\Macro{enlargethispage}\IndexCmd{enlargethispage} macro. On the other hand, if +the text area should become larger, supposing that the footer on the first +page allows that, you can use this option. At best, a little more text will +then fit on the first page. See also the description of the pseudo-length +\PLength{firstfootvpos} on +\autopageref{desc:scrlttr2-experts.plength.firstfootvpos}. This option can +take the standard values for simple switches, as listed in +\autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch}. Default is +\PValue{false}. +% +\EndIndex{Option}{enlargefirstpage~=\PName{simple switch}}% \begin{Declaration} - \PLength{foldmarkvpos} + \KOption{firsthead}\PName{simple switch} \end{Declaration} -\BeginIndex{PLength}{foldmarkvpos}% -This\ChangedAt{v2.97e}{\Class{scrlttr2}} pseudo-length gives the -distance of all vertical foldmarks from teh upper edge of the -paper. Normally this is 3.5\Unit{mm}, but the value can be changed in the -user's personal \File{lco} file in case the user's printer has a wider -unprintable top margin. Whether the foldmarks are typeset at all -depends on the option \Option{foldmarks} (see -\autoref{sec:scrlttr2.headoptions}, -\autopageref{desc:scrlttr2.option.foldmarks}). At present there is -only one vertical foldmark, which is designated the left vertical -foldmark. +\BeginIndex{Option}{firsthead~=\PName{simple switch}}% +The\ChangedAt{v2.97e}{\Class{scrlttr2}} letterhead is usually the topmost +element of the note paper. This option determines whether the letterhead will +be typeset at all. The option accepts the standard values for simple keys, +given in \autoref{tab:truefalseswitch} at +\autopageref{tab:truefalseswitch}. Default is for the letterhead to be set.% % -\EndIndex{PLength}{foldmarkvpos}% -\EndIndex{}{Faltmarke}% - +\EndIndex{Option}{firsthead~=\PName{simple switch}}% \begin{Declaration} - \PLength{foldmarkthickness} + \KOption{fromalign}\PName{method} \end{Declaration} -\BeginIndex{PLength}{foldmarkthickness}% -This\ChangedAt{v2.97c}{\Class{scrlttr2}} pseudo-length determines the -thickness of all foldmarks. Default value is 0.2\Unit{pt}, in other words a -very thin hairline. In particular, if the color of the foldmarks is -changed, this can be too thin! -\EndIndex{PLength}{foldmarkthickness}% +\BeginIndex{}{letterhead}% +\BeginIndex{}{letter>head}% +\BeginIndex{Option}{fromalign~=\PName{method}}% +Option\important{\Option{fromalign}} \Option{fromalign} defines the placement +of the return address in the letterhead of the first page. Apart from the +various options for positioning the return address in the letterhead, there is +also the option\ChangedAt{v2.97e}{\Class{scrlttr2}} of adding the return +address to the sender's extension\Index{sender's + extension}. Further\textnote{Attention!}, this option serves as a switch to +activate or deactivate the letterhead extensions. If these extensions are +deactivated, some other options will have no effect. This will be noted in the +explanations of the respective options. Possible values for \Option{fromalign} +are shown in \autoref{tab:scrlttr2.fromalign}. Default is \PValue{left}.% +% +\begin{table} + \caption[{Available values for option \Option{fromalign} with + \Class{scrlttr2}}]{Available values for option \Option{fromalign} to + define the position of the from address in the letterhead with + \Class{scrlttr2}} + \label{tab:scrlttr2.fromalign} + \begin{desctabular} + \entry{\PValue{center}, \PValue{centered}, \PValue{middle}}{% + return address centered; an optional logo will be above the + extended return address; letterhead extensions will be + activated}% + \entry{\PValue{false}, \PValue{no}, \PValue{off}}{% + standard design will be used for the return address; the + letterhead extensions are deactivated}% + \entry{\PValue{left}}{% + left-justified return address; an optional logo will be right + justified; letterhead extensions will be activated}% + \entry{\PValue{locationleft}, \PValue{leftlocation}}{% + return address is set left-justified in the sender's extension; + a logo, if applicable, will be placed above it; the letterhead + is automatically deactivated but can be reactivated using option + \Option{firsthead}.}% + \entry{\PValue{locationright}, \PValue{rightlocation}, + \PValue{location}}{% + return address is set right-justified in the sender's extension; + a logo, if applicable, will be placed above it; the letterhead + is automatically deactivated but can be reactivated using option + \Option{firsthead}.}% + \entry{\PValue{right}}{% + right-justified return address; an optional logo will be left + justified; letterhead extensions will be activated}% + \end{desctabular} +\end{table} +% +\EndIndex{Option}{fromalign~=\PName{method}}% \begin{Declaration} - \FontElement{foldmark} + \KOption{fromrule}\PName{position}\\ + \Macro{setkomavar}\PParameter{\Variable{fromname}}% + \OParameter{description}\Parameter{content}\\ + \Macro{setkomavar}\PParameter{\Variable{fromaddress}}% + \OParameter{description}\Parameter{contents} \end{Declaration} -\BeginIndex{FontElement}{foldmark}% -Via\ChangedAt{v2.97c}{\Class{scrlttr2}} this element the color of the -foldmarks can be changed. To do so, the commands to change the font of -the element are usd, as described in \autoref{sec:scrlttr2.font}, -\autopageref{sec:scrlttr2.font}. The default setting is no change. -\EndIndex{FontElement}{foldmark}% +\BeginIndex{Option}{fromrule~=\PName{position}}% +\BeginIndex{Variable}{fromaddress}% +\BeginIndex{Variable}{fromname}% +The\important{\Variable{fromname}} sender's name will be determined by +variable \Variable{fromname}. Thereby the \PName{description} (see also +\autoref{tab:scrlttr2.fromTerm}, \autopageref{tab:scrlttr2.fromTerm}) will not +be used by the predefined letterheads. + +At\important{\OptionValue{fromrule}{aftername}} the extended letterhead an +optional horizontal rule below the name may be selected using +\OptionValue{fromrule}{aftername}. +Alternatively\important[i]{\begin{tabular}{@{}l@{}} + \KOption{fromrule}\\\quad\PValue{afteraddress}\end{tabular}} this rule may +be placed below the while sender using \OptionValue{fromrule}{afteraddress}. A +summary of all available rule position settings shows +\autoref{tab:scrlttr2.fromrule}. The length of this rule is determined by +pseudo-length \PLength{fromrulewidth}\IndexPLength[indexmain]{fromrulewidth}. -\subsection{The Letterhead} -\label{sec:scrlttr2.firstHead} -\BeginIndex{}{letter>head}% +\begin{table} + \caption[{Possible values of option \Option{fromrule} with + \Class{scrlttr2}}]{Possible values of option \Option{fromrule} for the + position of the rule in the from address with + \Class{scrlttr2}} + \label{tab:scrlttr2.fromrule} + \begin{desctabular} + \entry{\PValue{afteraddress}, \PValue{below}, \PValue{on}, \PValue{true}, + \PValue{yes}}{% + rule below the return address}% + \entry{\PValue{aftername}}{% + rule directly below the sender's name}% + \entry{\PValue{false}, \PValue{no}, \PValue{off}}{% + no rule}% + \end{desctabular} +\end{table} -The term letterhead here refers to all of the data pertaining to the -sender and which is set above the addressee's address. It is usually -expected that this information is set via the page style settings. In -fact, this was the case in the earlier incarnation of the letter -class, \Class{scrlettr}. But with \Class{scrlttr2}, the letterhead is -made independent of the page style setting, and is set by the command -\Macro{opening}. -% Fuellmaterial -\iftrue The position of the letterhead is absolute and 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 \PValue{empty}. \fi -% Ende des Fuellmaterials +Default for the rule at the extended letterhead is \PValue{false}. But at the +standard letterhead the rule will always be placed below the sender's name. + +The\important{\Variable{fromaddress}} sender's address follows below the +name. The \PName{content} of variable \Variable{fromaddress} determines this +address. The \PName{description} (see also \autoref{tab:scrlttr2.fromTerm}) +will not be used at the predefined letterheads + +\BeginIndex{FontElement}{fromaddress}% +\BeginIndex{FontElement}{fromname}% +\BeginIndex{FontElement}{fromrule}% +The font of the whole address is determined by the element +\FontElement{fromaddress}\IndexFontElement{fromaddress}% +\important{\FontElement{fromaddress}}. Modifications to this may be defined +with element \FontElement{fromname}\IndexFontElement{fromname}% +\important{\FontElement{fromname}} for the sender's name and with element +\FontElement{fromrule}\IndexFontElement{fromrule}% +\important{\FontElement{fromrule}} for the rule, that may be activated using +option \Option{fromrule}. Nevertheless changing the font style of the rule +would make sense. But you may use the elements also to change the color, +e.\,g. color the rule gray instead of black. See \cite{package:xcolor} for +information about colors.% +% +\EndIndex{FontElement}{fromrule}% +\EndIndex{FontElement}{fromname}% +\EndIndex{FontElement}{fromaddress}% -\begin{Declaration} - \PLength{firstheadvpos} -\end{Declaration} -\BeginIndex{PLength}{firstheadvpos}% -The pseudo-length \PLength{firstheadvpos} gives the distance between -the top edge of the paper and start of the letterhead. This value is -set differently in the various predefined \File{lco} files. A typical -value is 8\Unit{mm}. -% -\EndIndex{PLength}{firstheadvpos} +\begin{Example} + Let's now define the name of the sender at our letter example: + \lstinputcode[xleftmargin=1em]{letter-8.tex} + \begin{figure} + \centering + \frame{\includegraphics[width=.4\textwidth]{letter-8}}\quad + \frame{\includegraphics[width=.4\textwidth]{letter-9}} + \caption[{Example: letter with sender, addressee, opening, text, closing, + postscript, distribution list, and enclosure}] + {result of a small letter with sender, addressee, opening, text, closing, + postscript, distribution list, and enclosure (date and folding marks are + defaults of DIN-letters): at left one the standard letterhead using + \OptionValue{fromalign}{false}, at right one the + extended letterhead using \OptionValue{fromalign}{center}} + \label{fig:scrlttr2.letter-8-9} + \end{figure} + First of all not the extended but the standard letterhead has been used. The + result is shown at the left side of \autoref{fig:scrlttr2.letter-8-9}. The + right side shows almost the same letter but with + \OptionValue{fromalign}{center} and therefore with the extended + letterhead. You may see, that this variation is without any rule. + + For the first time \autoref{fig:scrlttr2.letter-8-9} also shows a signature + below the closing phrase. This has been generated automatically from the + sender's name. More information about configuration of the signature may be + found in \autoref{sec:scrlttr2.closing} from + \autopageref{sec:scrlttr2.closing} onward. + + Now, the letter with extended letterhead should use option \Option{fromrule} + to print a rule below the sender's name:% + \lstinputcode[xleftmargin=1em]{letter-11.tex}% + The result may be found at the right side of + \autoref{fig:scrlttr2.letter-10-11}. + \begin{figure} + \centering + \frame{\includegraphics[width=.4\textwidth]{letter-10}}\quad + \frame{\includegraphics[width=.4\textwidth]{letter-11}} + \caption[{Example: letter with sender, separation rule, addressee, + opening, text, closing, signature, postscript, distribution list, + enclosure, and puncher hole mark}] + {result of a small letter with sender, separation rule, addressee, + opening, text, closing, signature, postscript, distribution list, + enclosure and puncher hole mark (the date is a default of DIN-letters): + at left one the standard letterhead using + \OptionValue{fromalign}{false}, at right one the extended letterhead + using \OptionValue{fromalign}{center}} + \label{fig:scrlttr2.letter-10-11} + \end{figure} + In difference to this, the left letter has been set once again with the + standard letter head, that doesn't react on the additional option. +\end{Example} -\begin{Declaration} - \PLength{firstheadwidth} -\end{Declaration} -\BeginIndex{PLength}{firstheadwidth}% -The pseudo-length \PLength{firstheadwidth} gives the width of the -letterhead. This value is set differently in the various predefined -\File{lco} files. While this value usually depends on the paper width -and the distance between the left edge of the paper and the adressee -address field, it was the type area width in \Option{KOMAold}. +An\textnote{Attention!} important note concerns the sender's address: within +the sender's address, parts such as street, P.O.~Box, state, country, etc., +are separated with a double backslash. Depending on how the sender's address +is used, this double backslash will be interpreted differently and therefore +is not strictly always a line break. Paragraphs, vertical spacing and the like +are usually not allowed within the sender's address declaration. One has to +have very good knowledge of \Class{scrlttr2} to use things like those +mentioned above, intelligently. Another point to note is the one should most +certainly set the variables for return address (see variable +\Variable{backaddress}, \autopageref{desc:scrlttr2.variable.backaddress}) and +signature (see variable \Variable{signature}, +\autopageref{desc:scrlttr2.variable.signature}) oneself.% % -\EndIndex{PLength}{firstheadwidth}% - -\begin{Declaration} - \Variable{fromname}\\ - \Variable{fromaddress}\\ - \Variable{fromphone}\\ - \Variable{fromfax}\\ - \Variable{fromemail}\\ - \Variable{fromurl}\\ - \Variable{fromlogo} -\end{Declaration} -\BeginIndex{Variable}{fromname}% -\BeginIndex{Variable}{fromaddress}% +\EndIndex{Variable}{fromname}% +\EndIndex{Variable}{fromaddress}% +\EndIndex{Option}{fromrule~=\PName{position}}% + + +\begin{Declaration} + \KOption{fromphone}\PName{simple switch}\\ + \KOption{fromfax}\PName{simple switch}\\ + \KOption{fromemail}\PName{simple switch}\\ + \KOption{fromurl}\PName{simple switch}\\ + \Macro{setkomavar}\PParameter{\Variable{fromphone}}% + \OParameter{description}\Parameter{content}\\ + \Macro{setkomavar}\PParameter{\Variable{fromfax}}% + \OParameter{description}\Parameter{content}\\ + \Macro{setkomavar}\PParameter{\Variable{fromemail}}% + \OParameter{description}\Parameter{content}\\ + \Macro{setkomavar}\PParameter{\Variable{fromurl}}% + \OParameter{description}\Parameter{content}\\ + \Macro{setkomavar}\PParameter{\Variable{phoneseparator}}% + \OParameter{description}\Parameter{content}\\ + \Macro{setkomavar}\PParameter{\Variable{faxseparator}}% + \OParameter{description}\Parameter{content}\\ + \Macro{setkomavar}\PParameter{\Variable{emailseparator}}% + \OParameter{description}\Parameter{content}\\ + \Macro{setkomavar}\PParameter{\Variable{urlseparator}}% + \OParameter{description}\Parameter{content}% +\end{Declaration}% +\BeginIndex{Option}{fromphone~=\PName{simple switch}}% +\BeginIndex{Option}{fromfax~=\PName{simple switch}}% +\BeginIndex{Option}{fromemail~=\PName{simple switch}}% +\BeginIndex{Option}{fromurl~=\PName{simple switch}}% \BeginIndex{Variable}{fromphone}% \BeginIndex{Variable}{fromfax}% \BeginIndex{Variable}{fromemail}% \BeginIndex{Variable}{fromurl}% -\BeginIndex{Variable}{fromlogo}% -% -These variables give all information concerning the sender necessary -to create the letterhead. Which variables will actually be used to -finally build the letterhead can be chosen by use of the letterhead -extensions (see option \Option{fromalign} in -\autoref{sec:scrlttr2.headoptions}, -\autopageref{desc:scrlttr2.option.fromalign}) and the options given -there. The variables \Variable{fromname}, \Variable{fromaddress} and -\Variable{fromlogo} will be set in the letterhead without their -labels; the variables \Variable{fromphone}, \Variable{fromfax}, -\Variable{fromemail} and \Variable{fromurl} will be set with their -labels. The labels are shown in \autoref{tab:scrlttr2.fromTerm}, -\autopageref{tab:scrlttr2.fromTerm}. -% +\BeginIndex{Variable}{emailseparator}% +\BeginIndex{Variable}{faxseparator}% +\BeginIndex{Variable}{phoneseparator}% +\BeginIndex{Variable}{urlseparator}% +Whether or not a telephone number\Index{telephone}\Index{phone}, a fax +number\Index{fax}, an e-mail address\Index{e-mail}, or a sender's URL should +be set as part of the letterhead may be configured by the options +\Option{fromphone}, \Option{fromfax}, \Option{fromemail}, and +\Option{fromurl}. Any standard value for simple switches from +\autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch} may be +assigned to these options. Default is \PValue{false} for all of them. The +\PName{contents} depends on the corresponding variable. The default of the +\PName{description} or title of each variable may be found in +\autoref{tab:scrlttr2.fromTerm}. The separators, that will be inserted between +\PName{description} and \PName{content}, may be found in +\autoref{tab:scrlttr2.fromSeparator}. + \begin{table} \centering - \caption{The sender's predefined labels for the letterhead} + \caption[{Predefined descriptions of the variables of the + letterhead}]{Predefined descriptions of the variables of the letterhead + (the description and contents of the separator variables may be found at + \autoref{tab:scrlttr2.fromSeparator}} \begin{desctabular}[1.8em] \ventry{fromemail}{\Macro{usekomavar*}\PParameter{emailseparator}% \Macro{usekomavar}\PParameter{emailseparator}}% - \ventry{fromfax}{\Macro{usekomavar*}\PParameter{faxseparator} + \ventry{fromfax}{\Macro{usekomavar*}\PParameter{faxseparator}% \Macro{usekomavar}\PParameter{faxseparator}}% - \ventry{fromname}{\Macro{headfromname}} + \ventry{fromname}{\Macro{headfromname}}% \ventry{fromphone}{\Macro{usekomavar*}\PParameter{phoneseparator}% \Macro{usekomavar}\PParameter{phoneseparator}}% \ventry{fromurl}{\Macro{usekomavar*}\PParameter{urlseparator}% \Macro{usekomavar}\PParameter{urlseparator}}% \end{desctabular} -\label{tab:scrlttr2.fromTerm} + \label{tab:scrlttr2.fromTerm} \end{table} -An important hint concerns the sender's address: within the sender's -address, parts such as street, P.O.~Box, state, country, etc., are -separated with a double backslash. Depending on how the sender's -address is used, this double backslash will be interpreted differently -and therefore is not strictly always a line break. Paragraphs, -vertical spacing and the like are usually not allowed within the -sender's address declaration. One has to have very good knowledge of -\Class{scrlttr2} to use things like those mentioned above, -intelligently. Another point to note is the one should most certainly -set the variables for return address (see -\autoref{sec:scrlttr2.addressee}, -\autopageref{desc:scrlttr2.variable.backaddress}) and signature (see -\autoref{sec:scrlttr2.closing}, -\autopageref{desc:scrlttr2.variable.signature}) oneself. - -It is possible, by the way, to load an external picture to use as a -logo. For this purpose one can put as content of \Variable{fromlogo} -an \Macro{includegraphics} command. Naturally, the corresponding -package, that is, either \Package{graphics} or \Package{graphicx} (see -\cite{package:graphics}), has to be loaded in the preamble of the -letter document (see \autoref{sec:scrlttr2.document}). -% -\EndIndex{Variable}{fromname}% -\EndIndex{Variable}{fromaddress}% -\EndIndex{Variable}{fromphone}% -\EndIndex{Variable}{fromfax}% -\EndIndex{Variable}{fromemail}% -\EndIndex{Variable}{fromurl}% -\EndIndex{Variable}{fromlogo}% - -\begin{Declaration} - \PLength{fromrulethickness}\\ - \PLength{fromrulewidth} -\end{Declaration} -\BeginIndex{PLength}{fromrulethickness}% -\BeginIndex{PLength}{fromrulewidth}% -Depending on the class option \Option{fromrule} (see -\autoref{sec:scrlttr2.headoptions}, -\autopageref{desc:scrlttr2.option.fromrule}), a horizontal rule can be -drawn the predefined letterheads under or within the sender -address. If the pseudo-length \PLength{fromrulewidth} has a value of -0\Unit{pt}, which is the default in the predefined \File{lco} files, -the rule length is calculated automatically taking into account, -e.\,g., letterhead width or an optional logo. Users can adjust rule -length manually in their own \File{lco} files by setting this -pseudo-length to positive values using \Macro{\@setplength} (see -\autoref{sec:scrlttr2.pseudoLength}, -\autopageref{desc:scrlttr2.cmd.@setplength}). The default -thickness of the line\ChangedAt{v2.97c}{\Class{scrlttr2}}, -\PLength{fromrulethickness}, is 0.4\Unit{pt}. -% -\EndIndex{PLength}{fromrulethickness}% -\EndIndex{PLength}{fromrulewidth}% - -\begin{Declaration} - \Variable{phoneseparator}\\ - \Variable{faxseparator}\\ - \Variable{emailseparator}\\ - \Variable{urlseparator} -\end{Declaration} -\BeginIndex{Variable}{phoneseparator}% -\BeginIndex{Variable}{faxseparator}% -\BeginIndex{Variable}{emailseparator}% -\BeginIndex{Variable}{urlseparator}% -With these variables, hyphens are defined. If applicable, they are -used in the sender's data in the letterhead (see -\autoref{tab:scrlttr2.fromTerm}). As a feature, they are labeled and -the labels also used in the sender's details of the letterhead. To -look up the predefined labels and their contents, see -\autoref{tab:scrlttr2.fromSeparator}. -% -% table moved in following paragraph (JUM) >>> -% -\EndIndex{Variable}{phoneseparator}% -\EndIndex{Variable}{faxseparator}% -\EndIndex{Variable}{emailseparator}% -\EndIndex{Variable}{urlseparator}% - - -\begin{Declaration} - \Macro{firsthead}\Parameter{construction} -\end{Declaration} -\BeginIndex{Cmd}{firsthead}% -For most cases, \Class{scrlttr2} with its options and variables offers -enough possibilities to create a letterhead. In very rare situations -one may wish to have more freedom in terms of layout. In those -situations one will have to do without predefined letterheads, which -could have been chosen via options. Instead, one needs to create one's -own letterhead from scratch. To do so, one has to define the preferred -\PName{construction} with the command \Macro{firsthead}. Within -\Macro{firsthead}, and with the help of the \Macro{parbox} command -(see \cite{latex:usrguide}), one can set several boxes side by side, -or one underneath the other. An advanced user will thus be able to -create a letterhead on his own. Of course the \PName{construct} may -use variables with the help of \Macro{usekomavar}. -% -% <<< table of previous paragraph -\begin{table} - \centering - \caption{predefined labels and contents of hyphens for sender's data in the - letterhead} - \begin{tabular}{lll} +\begin{table}[tp] +% \centering + \KOMAoptions{captions=topbeside}% + \setcapindent{0pt}% +% \caption + \begin{captionbeside}{Predefined description and content of the separators + at the letterhead} + [l] + \begin{tabular}[t]{lll} \toprule - name & label & content \\ + variable name & description & content \\ \midrule \Variable{emailseparator} & \Macro{emailname} & \texttt{:\~} \\ \Variable{faxseparator} & \Macro{faxname} & \texttt{:\~} \\ @@ -2377,571 +1478,663 @@ use variables with the help of \Macro{usekomavar}. \Variable{urlseparator} & \Macro{wwwname} & \texttt{:\~} \\ \bottomrule \end{tabular} - \label{tab:scrlttr2.fromSeparator} -\end{table} -% -\EndIndex{Cmd}{firsthead}% -% -\EndIndex{}{letter>head}% - -\subsection{The Letterfoot} -\label{sec:scrlttr2.firstFoot} -\BeginIndex{}{letter>footer}% - -As the first page holds a letterhead of its own, it also holds a -footer of its own. And, as with the letterhead, it will not be set by -the page style settings, but directly with the use of \Macro{opening}. - -\begin{Declaration} - \PLength{firstfootvpos} -\end{Declaration} -\BeginIndex{PLength}{firstfootvpos}% -% -This pseudo-length gives the distance between the letterfoot and the -upper edge of the paper. This value is set differently in the various -predefined \File{lco} files. It also takes care of preventing text -from jutting into the footer area. If needed, it can help to shorten -the text height on the first page using \Macro{enlargethispage}. -Likewise, and if it is needed, the text height can conversely be -extended with the help of the option \Option{enlargefirstpage}. This -way, the distance between text area and the first letterfoot can be -reduced to the value \Length{footskip}. See also -\autoref{sec:scrlttr2.typeareaOptions}, -\autopageref{desc:scrlttr2.option.enlargefirstpage}. - -With the compatibility option set\ChangedAt{2.9t}{\Class{scrlttr2}} up -to version 2.9t (see \Option{version} in -\autoref{sec:scrlttr2.compatibilityOptions}, -\autopageref{desc:scrlttr2.option.version}) the footer is set -independently of the type area in all predefined \File{lco} files (see -\autoref{sec:scrlttr2.lcoFile}) except for \Option{KOMAold}. The -option \Option{enlargefirstpage} also loses its effect. From version -2.9u onwards the footer is set in a position at the bottom edge of the -paper. In this situation, the height of the type area also becomes -dependent on \Option{enlargefirstpage}. - -If the letterfoot be switched off using option -\Option{firstfoot}\IndexOption{firstfoot}\ChangedAt{v2.97e}{\Class{scrlttr2}} -(siehe \autoref{sec:scrlttr2.footoptions}, -\autopageref{desc:scrlttr2.option.firstfoot}), then the setting of -\PLength{firstfootvpos} is ignored, and instead -\Length{paperheight}\IndexLength{paperheight} is applied. Thus, there -remains a mimimum bottom margin of length -\Length{footskip}\IndexLength{footskip}. -% -\EndIndex{PLength}{firstfootvpos}% - - -\begin{Declaration} - \PLength{firstfootwidth} -\end{Declaration} -\BeginIndex{PLength}{firstfootwidth}% -This pseudo-length gives the width of the letter's first page -footer. The value is set equal to that of the pseudo-length -\PLength{firstheadwidth} in the predefined \File{lco} files. -% -\EndIndex{PLength}{firstfootwidth}% - - -\begin{Declaration} - \Macro{firstfoot}\Parameter{construction} -\end{Declaration} -\BeginIndex{Cmd}{firstfoot}% -The first page's footer is preset to empty. However, with the -\Macro{firstfoot} command, it is possible to create a -\PName{construction} the same way as when defining the letterhead with -\Macro{firsthead}. -\begin{Example} - In the first page's footer, you may want to set the content of the - variable \Variable{frombank} (the bank account). The double - backslash should be exchanged with a comma at the same time: - \begin{lstlisting} - \firstfoot{% - \parbox[b]{\linewidth}{% - \centering\def\\{, }\usekomavar{frombank}% - }% - } - \end{lstlisting} - For the hyphen you might define a variable of your own if you like. - This is left as an exercise for the reader. - - Nowadays it has become very common to create a proper footer in - order to obtain some balance with respect to the letterhead. This - can be done as follows: - \begin{lstlisting} - \firstfoot{% - \parbox[t]{\textwidth}{\footnotesize - \begin{tabular}[t]{l@{}}% - \multicolumn{1}{@{}l@{}}{Partners:}\\ - Jim Smith\\ - Russ Mayer - \end{tabular}% - \hfill - \begin{tabular}[t]{l@{}}% - \multicolumn{1}{@{}l@{}}{Manager:}\\ - Jane Fonda\\[1ex] - \multicolumn{1}{@{}l@{}}{Court Of Jurisdiction:}\\ - Great Plains - \end{tabular}% - \ifkomavarempty{frombank}{}{% - \hfill - \begin{tabular}[t]{l@{}}% - \multicolumn{1}{@{}l@{}}{\usekomavar*{frombank}:}\\ - \usekomavar{frombank} - \end{tabular}% - }% - }% - } - \end{lstlisting} - This example, by the way, came from Torsten Kr\"uger. With - \begin{lstlisting} - \setkomavar{frombank}{Account No. 12\,345\,678\\ - at Citibank\\ - bank code no: 876\,543\,21} - \end{lstlisting} - the bank account can be set accordingly. If the footer will have - such a large height then it might happen that you have to shift its - position. You can do this with the pseudo-length - \PLength{firstfootvpos}\IndexPLength{firstfootvpos}, which is - described above in this section. -\end{Example} - -In the previous example a multi-line footer was set. With a -compatibility setting to version 2.9u (see \Option{version} in -\autoref{sec:scrlttr2.compatibilityOptions}, -\autopageref{desc:scrlttr2.option.version}) the space will in general -not suffice. In that case, you may need to reduce -\PLength{firstfootvpos} (see -\autopageref{desc:scrlttr2.plength.firstfootvpos}) appropriately. -% -\EndIndex{Cmd}{firstfoot}% -% -\EndIndex{}{letter>footer}% - -\subsection{The Address} -\label{sec:scrlttr2.addressee} -\BeginIndex{}{address}% - -The term address here refers to the addressee's name and address which -are output in an address field. Additional information can be output -within this address field, such as dispatch type or a return address; -the latter is especially useful when using window envelopes. The -address directly follows the letterhead. - -\begin{Declaration} - \PLength{toaddrvpos}\\ - \PLength{toaddrhpos} -\end{Declaration} -\BeginIndex{PLength}{toaddrvpos}% -\BeginIndex{PLength}{toaddrhpos}% -These pseudo-lengths define vertical and horizontal position of the -address field relative to the top-left corner of the paper. Values are -set differently in the various predefined \File{lco} files, according -to standard envelope window measures. A special feature of -\PLength{toaddrhpos} is that with negative values the offset is that -of the right edge of the address field relative to the right edge of -the paper. This can be found, for instance, in the case of -\Option{SN}. The smallest value of \PLength{toaddrvpos} is found with -\Option{DINmtext}. Care must be taken to avoid overlap of letterhead -and address field. Whether the address field is output or not can be -controlled by class option \Option{addrfield} (see -\autoref{sec:scrlttr2.headoptions}, -\autopageref{desc:scrlttr2.option.addrfield}). -% -\EndIndex{PLength}{toaddrhpos}% -\EndIndex{PLength}{toaddrvpos}% - -\begin{Declaration} - \PLength{toaddrheight} -\end{Declaration} -\BeginIndex{PLength}{toaddrheight}% -The pseudo-length \PLength{toaddrheight} defines the height of the -address field, including the dispatch type. If no dispatch type is -specified, then the address is vertically centered in the field. If a -dispatch type is specified, then the address is set below the dispatch -type, and vertically centered in the remaining field height. -% -\EndIndex{PLength}{toaddrheight}% - -\begin{Declaration} - \PLength{toaddrwidth} -\end{Declaration} -\BeginIndex{PLength}{toaddrwidth}% -The pseudo-length \PLength{toaddrwidth} defines the width of the -address field. Values are set differently in the various predefined -\File{lco} files, according to standard envelope window -measures. Typical values are between 70\Unit{mm} and 100\Unit{mm}. + \end{captionbeside} + \label{tab:scrlttr2.fromSeparator} +\end{table} + \begin{Example} - Assume that your printer has a very wide left or right margin of - 15\Unit{mm}. In this case, when using the option \Option{SN}, the - letterhead, sender's extensions and the address can not be - completely printed. Thus, you create a new \File{lco} file with the - following content: - \begin{lstlisting} - \ProvidesFile{SNmmarg.lco} - [2002/06/04 v0.1 my own lco] - \LoadLetterOption{SN} - \@addtoplength{toaddrwidth}{% - -\useplength{toaddrhpos}} - \@setplength{toaddrhpos}{-15mm} - \@addtoplength{toaddrwidth}{% - \useplength{toaddrhpos}} - \endinput - \end{lstlisting} - Then, until you can obtain a printer with smaller page margins, you - simply use the option \Option{SNmmarg} instead of \Option{SN}. + Mr Public from the example letter has telephone and e-mail. He wants to show + this also in the letterhead. Furthermore the separation rule should be + placed below the letterhead. So he uses the corresponding options and + defines the content of the needed variables:% + \lstinputcode[xleftmargin=1em]{letter-12.tex}% + Nevertheless the result at the left side of + \autoref{fig:scrlttr2.letter-12-13} is not disillusioning: the options are + ignored. That's the case because the additional variables and options will + be used at the extended letterhead only. So option \Option{fromalign} has to + be used, like done at the right letter of + \autoref{fig:scrlttr2.letter-12-13}. + \begin{figure} + \centering + \frame{\includegraphics[width=.4\textwidth]{letter-12}}\quad + \frame{\includegraphics[width=.4\textwidth]{letter-13}} + \caption[{Example: letter with extended sender, separation rule, addressee, + opening, text, closing, signature, postscript, distribution list, + enclosure, and puncher hole mark; standard vs. extended letterhead}] + {result of a small letter with sender, separation rule, addressee, + opening, text, closing, signature, postscript, distribution list, + enclosure and puncher hole mark (the date is a default of DIN-letters): + at left one the standard letterhead using + \OptionValue{fromalign}{false}, at right one the extended letterhead + using \OptionValue{fromalign}{center}} + \label{fig:scrlttr2.letter-12-13} + \end{figure} + \lstinputcode[xleftmargin=1em]{letter-13.tex} + + An arrangement of alternatives with left aligned using + \OptionValue{fromalign}{left} and right aligned sender + using \OptionValue{fromalign}{right} may be found in + \autoref{fig:scrlttr2.letter-14-15}. + \begin{figure} + \centering + \frame{\includegraphics[width=.4\textwidth]{letter-14}}\quad + \frame{\includegraphics[width=.4\textwidth]{letter-15}} + \caption[{Example: letter with extended sender, separation rule, addressee, + opening, text, closing, signature, postscript, distribution list, + enclosure, and puncher hole mark; left vs. right aligned letterhead}] + {result of a small letter with sender, separation rule, addressee, + opening, text, closing, signature, postscript, distribution list, + enclosure and puncher hole mark (the date is a default of DIN-letters): + at left one left aligned letterhead using + \OptionValue{fromalign}{left}, at right one right aligned letterhead + using \OptionValue{fromalign}{right}} + \label{fig:scrlttr2.letter-14-15} + \end{figure} \end{Example} % -\EndIndex{PLength}{toaddrwidth}% - +\EndIndex{Variable}{urlseparator}% +\EndIndex{Variable}{phoneseparator}% +\EndIndex{Variable}{faxseparator}% +\EndIndex{Variable}{emailseparator}% +\EndIndex{Variable}{fromurl} +\EndIndex{Variable}{fromemail} +\EndIndex{Variable}{fromfax} +\EndIndex{Variable}{fromphone}% +\EndIndex{Option}{fromurl~=\PName{simple switch}}% +\EndIndex{Option}{fromemail~=\PName{simple switch}}% +\EndIndex{Option}{fromfax~=\PName{simple switch}}% +\EndIndex{Option}{fromphone~=\PName{simple switch}}% \begin{Declaration} - \PLength{toaddrindent} + \KOption{fromlogo}\PName{simple switch}\\ + \Macro{setkomavar}\PParameter{\Variable{fromlogo}}% + \OParameter{description}\Parameter{content} \end{Declaration} -\BeginIndex{PLength}{toaddrindent}% -Additional indentation of the address within address field can be -controlled by the pseudo-length \PLength{toaddrindent}. Its value -applies to both left and right margin. Default value is 0\Unit{pt}. +\BeginIndex{Option}{fromlogo~=\PName{simple switch}}% +\BeginIndex{Variable}{fromlogo}% +With option \Option{fromlogo} you may configure whether or not to use a +logo\Index{Logo} at the letterhead. The option value may be any \PName{simple + switch} from \autoref{tab:truefalseswitch}, +\autopageref{tab:truefalseswitch}. Default is \PValue{false}, that means no +logo. The logo itself is defined by the \PName{content} of variable +\Variable{fromlogo}. The \PName{description} of the logo is empty by default +and \KOMAScript{} won't use it anywhere at the predefined note papers (see +also \autoref{tab:scrlttr2.fromTerm}).% +\begin{Example} + Mr Public likes to use a letterhead with logo. He generated a graphics file + with the logo and would like to include this using + \Macro{includegraphics}. Therefor he uses the additional package + \Package{graphics}\IndexPackage{graphics} (see \cite{package:graphics}).% + \lstinputcode[xleftmargin=1em]{letter-16}% + The result may be seen at the left top position of + \autoref{fig:scrlttr2.letter-16-18}. The additional letter prints at this + figure shows the result with right aligned or centered sender. + \begin{figure} + \setcapindent{0pt}% + {\hfill + \frame{\includegraphics[width=.4\textwidth]{letter-16}}\quad + \frame{\includegraphics[width=.4\textwidth]{letter-17}}\par\bigskip} + \begin{captionbeside}[{Example: letter with extended sender, logo, + separation rule, addressee, opening, text, closing, signature, + postscript, distribution list, enclosure, and puncher hole mark; left + vs. right aligned vs. centered sender}] + {result of a small letter with extended sender, logo, separation rule, + addressee, opening, text, closing, signature, postscript, distribution + list, enclosure and puncher hole mark (the date is a default of + DIN-letters): at top left one left aligned sender using, at right + beneath one with centered sender, and at right one right aligned + sender}[l] + \frame{\includegraphics[width=.4\textwidth]{letter-18}}\quad + \end{captionbeside} + \label{fig:scrlttr2.letter-16-18} + \end{figure} +\end{Example}% % -\EndIndex{PLength}{toaddrindent}% - +\EndIndex{Variable}{fromlogo}% +\EndIndex{Option}{fromlogo~=\PName{smart value}}% \begin{Declaration} - \Variable{backaddress}\\ - \Variable{backaddressseparator}\\ - \PLength{backaddrheight} + \Macro{setkomavar}\PParameter{\Variable{firsthead}}% + \OParameter{description}\Parameter{content} \end{Declaration} -\BeginIndex{Variable}{backaddress}\BeginIndex{Variable}{backaddressseparator}% -\BeginIndex{PLength}{backaddrheight}% -When using window envelopes, the sender's return address is often -included within the window, placed at the top above the addressee and -dispatch type information, separated by a horizontal rule and set in a -smaller font size. The contents of the return address, stored in the -variable \Variable{backaddress}, are usually built automatically from -the variables \Variable{fromname} and \Variable{fromaddress}. Within -the return address, double backslashes are replaced by the content of -the variable \Variable{backaddressseparator}, whose default value is a -comma followed by a non-breaking space. - -The height reserved for the return address within the address field is -defined by the pseudo-length \PLength{backaddrheight}. In the -predefined \File{lco} files, this is typically set to -5\Unit{mm}. Whether the return address is output or not is controlled -by document class options \Option{addrfield} (see -\autoref{sec:scrlttr2.headoptions}, -\autopageref{desc:scrlttr2.option.addrfield}) and \Option{backaddress -} (see \autoref{sec:scrlttr2.headoptions}, -\autopageref{desc:scrlttr2.option.backaddress}). -% -\EndIndex{PLength}{backaddrheight}% -\EndIndex{Variable}{backaddress}\EndIndex{Variable}{backaddressseparator}% - +\BeginIndex{Variable}{firsthead}% +For many cases, \Class{scrlttr2} with its options and variables offers +enough possibilities to create a letterhead. In very rare situations +one may wish to have more freedom in terms of layout. In those +situations one will have to do without predefined letterheads, which +could have been chosen via options. Instead, one needs to create one's +own letterhead from scratch. To do so, one has to define the preferred +construction as content of variable \Variable{firsthead}. Within +\Macro{firsthead}, and with the help of the \Macro{parbox} command +(see \cite{latex:usrguide}), one can set several boxes side by side, +or one underneath the other. An advanced user will thus be able to +create a letterhead on his own. Of course the construct may +and should use other variables with the help of +\Macro{usekomavar}. \KOMAScript{} doesn't use the +\PName{description} of variable \Variable{firsthead}. +\iffree{}{A detailed example for the definition of a letterhead will be shown + in \autoref{cha:modernletters}.} -\begin{Declaration} - \Variable{specialmail}\\ - \PLength{specialmailindent}\\ - \PLength{specialmailrightindent} -\end{Declaration} -\BeginIndex{Variable}{specialmail}% -\BeginIndex{PLength}{specialmailindent}% -\BeginIndex{PLength}{specialmailrightindent}% -An optional dispatch type can be output within the address field -between the return address and the addressee address, by setting the -variable \Variable{specialmail}. Left and right alignment are -determined by pseudo-lengths \PLength{specialmailindent} and -\PLength{specialmailrightindent}, respectively. In the predefined -\File{lco} files provided by \KOMAScript, \PLength{specialmailindent} -is set to rubber length \Macro{fill}, while -\PLength{specialmailrightindent} is set to 1\Unit{em}. Thus the -dispatch type is set 1\Unit{em} from the address field's right margin. +The\textnote{Attention!} command +\Macro{firsthead}\IndexCmd[indexmain]{firsthead} exists only for reason of +compatibility to former \Class{scrlttr2} versions. However it is deprecated +and you should not use it anymore.% % -\EndIndex{PLength}{specialmailindent}% -\EndIndex{PLength}{specialmailrightindent}% -\EndIndex{Variable}{specialmail}% - - -\begin{Declaration} - \Variable{toname}\\ - \Variable{toaddress} -\end{Declaration} +\EndIndex{Variable}{firsthead}% +% +\EndIndex{}{letter>head}% +\EndIndex{}{letterhead}% + +\begin{Declaration} + \KOption{addrfield}\PName{mode}\\ + \KOption{backaddress}\PName{value}\\ + \KOption{priority}\PName{priority}\\ + \Macro{setkomavar}\PParameter{\Variable{toname}}% + \OParameter{description}\Parameter{content}\\ + \Macro{setkomavar}\PParameter{\Variable{toaddress}}% + \OParameter{description}\Parameter{content}\\ + \Macro{setkomavar}\PParameter{\Variable{backaddress}}% + \OParameter{description}\Parameter{content}\\ + \Macro{setkomavar}\PParameter{\Variable{backaddressseparator}}% + \OParameter{description}\Parameter{content}\\ + \Macro{setkomavar}\PParameter{\Variable{specialmail}}% + \OParameter{description}\Parameter{content}\\ + \Macro{setkomavar}\PParameter{\Variable{fromzipcode}}% + \OParameter{description}\Parameter{content}\\ + \Macro{setkomavar}\PParameter{\Variable{zipcodeseparator}}% + \OParameter{description}\Parameter{content}\\ + \Macro{setkomavar}\PParameter{\Variable{place}}% + \OParameter{description}\Parameter{content}\\ + \Macro{setkomavar}\PParameter{\Variable{PPcode}}% + \OParameter{description}\Parameter{content}\\ + \Macro{setkomavar}\PParameter{\Variable{PPdatamatrix}}% + \OParameter{description}\Parameter{content}\\ + \Macro{setkomavar}\PParameter{\Variable{addresseeimage}}% + \OParameter{description}\Parameter{content} +\end{Declaration}% +\BeginIndex{}{Anschrift}% +\BeginIndex{Option}{addrfield~=\PName{mode}}% \BeginIndex{Variable}{toname}% \BeginIndex{Variable}{toaddress}% -These two variables contain the addressee's name and address as output -in the address field. Usually you will not access these variables -directly, but their values are taken from the argument to the -\Environment{letter} environment\IndexEnv{letter}. Please see the -important hint on address formatting given in -\autoref{sec:scrlttr2.firstHead}, -\autopageref{desc:scrlttr2.variable.fromname}. -% -\EndIndex{Variable}{toname}% -\EndIndex{Variable}{toaddress}% - - -\begin{Declaration} - \Environment{letter}\OParameter{options}\Parameter{addressee} -\end{Declaration} -\BeginIndex{Env}{letter}% -The \Environment{letter} environment is only one of the key -environments of the letter class. A special \Class{scrlttr2} feature -are optional arguments to the \Environment{letter} environment. These -\PName{options} are executed internally via the \Macro{KOMAoptions} -command. - -The \PName{addressee} is a mandatory argument passed to the -\Environment{letter} environment. Parts of the addressee contents are -separated by double backslashes. The first part of \PName{addressee} -is stored in variable \Variable{toname}, while the rest is stored in -variable \Variable{toaddress} for further use. These parts are output -on individual lines in the address field. Nevertheless, the double -backslash should not be interpreted as a certain line break. Vertical -material such as paragraphs or vertical space is not permitted within -\PName{addressee}, and could lead to unexpected results and error -messages, as is the case also for the standard letter class. - -The \Environment{letter} environment does not actually start the -letter output. This is done by the \Macro{opening} command. -% -\EndIndex{Env}{letter}% - +\BeginIndex{Option}{backaddress~=\PName{value}}% +\BeginIndex{Variable}{backaddress}% +\BeginIndex{Variable}{backaddressseparator}% +\BeginIndex{Option}{priority~=\PName{priority}}% +\BeginIndex{Variable}{specialmail}% +\BeginIndex{Variable}{fromzipcode}% +\BeginIndex{Variable}{zipcodeseparator}% +\BeginIndex{Variable}{place}% +\BeginIndex{Variable}{PPcode}% +\BeginIndex{Variable}{PPdatamatrix}% +\BeginIndex{Variable}{addresseeimage}% +\BeginIndex{FontElement}{addressee}% +\BeginIndex{FontElement}{toname}% +\BeginIndex{FontElement}{toaddress}% +Option \Option{addrfield} defines whether or not to set an address +field. Default is to use an address field. This option can take the mode +values from +\autoref{tab:scrlttr2.addrfield}\ChangedAt{v3.03}{\Class{scrlttr2}}. Default +is \PValue{true}. With values \PValue{true}, \PValue{PP}, and +\PValue{backgroundimage} name and address of the addressee will be defined by +the mandatory argument of the \Environment{letter} environment (see +\autoref{sec:scrlttr2.document}, +\autopageref{desc:scrlttr2.env.letter}). These elements will additionally be +copied into the variables \Variable{toname} and \Variable{toaddress}. The +predefined font styles may be changed\ChangedAt{v2.97c}{\Class{scrlttr2}} by +execution of command \Macro{setkomafont} or \Macro{addtokomafont} (siehe +\autoref{sec:scrlttr2.textmarkup}, +\autopageref{desc:scrlttr2.cmd.setkomafont}). Thereby three elements +exist. First of all element +\FontElement{addressee}\important{\FontElement{addressee}}, that is +responsible for the addressee overall. The additional elements +\FontElement{toname}\important{\FontElement{toname}} and +\FontElement{toaddress}\important{\FontElement{toaddress}} are responsible +only either for the name or the address of the addressee. They may be used to +define modifications from the \FontElement{addressee} configuration.% +\EndIndex{FontElement}{toaddress}% +\EndIndex{FontElement}{toname}% +\EndIndex{FontElement}{addressee}% -\begin{Declaration} - \Macro{AtBeginLetter}\Parameter{commands} -\end{Declaration} -\BeginIndex{Cmd}{AtBeginLetter}% -{\LaTeX} enables the user to declare \PName{commands} whose execution -is delayed until a determined point. Such points are called -\emph{hooks}. Known macros for using hooks are \Macro{AtBeginDocument} -and \Macro{AtEndOfClass}. The letter class \Class{scrlttr2} provides -an additional hook that can be used via the macro -\Macro{AtBeginLetter}. Originally, hooks were provided for package -and class authors, so they are documented in \cite{latex:clsguide} -only, and not in \cite{latex:usrguide}. However, with letters there -are useful applications of \Macro{AtBeginLetter} as the following -example may illustrate: -% -\begin{Example} - It is given that one has to set multiple letters with questionnaires - within one document. Questions are numbered automatically within - single letters using a counter. Since, in contrast to page - numbering, that counter is not known by \Class{scrlttr2}, it would - not be reset at the start of each new letter. Given that each - questionnaire contains ten questions, question~1 would get number~11 - in the second letter. A solution is to reset this counter at the - beginning of each new letter: -\begin{lstlisting} - \newcounter{Question} - \newcommand{\Question}[1]{% - \refstepcounter{Question}\par - \@hangfrom{\makebox[2em][r]{\theQuestion:~}}{#1}} - \AtBeginLetter{\setcounter{Question}{0}} -\end{lstlisting} -This way question~1 remains question~1, even in the 1001st letter. Of -course definitions like those mentioned above need to be stated either -between macros \Macro{makeatletter} and \Macro{makeatother} (see -\cite{DANTE:FAQ}) in letter declarations (see -\autoref{sec:scrlttr2.document} and \autoref{fig:scrlttr2.document}, -\autopageref{fig:scrlttr2.document}), in a unique package, or in an -\File{lco} file (see \autoref{sec:scrlttr2.lcoFile}). -\end{Example} -% -\EndIndex{Cmd}{AtBeginLetter}% -% -\EndIndex{}{address}% +\begin{table} + \caption[{available values for option \Option{addrfield} using + \Class{scrlttr2}}]{available values for option \Option{addrfield} to + change the addressee mode of \Class{scrlttr2}}% + \label{tab:scrlttr2.addrfield}% + \begin{desctabular} + \entry{\PValue{true}, \PValue{on}, \PValue{yes}}{% + Prints an address field including a return address and a mode of dispatch + or priority.}% + \entry{\PValue{false}, \PValue{off}, \PValue{no}}{% + Omits the address field.}% + \entry{\PValue{PP}, \PValue{pp}, \PValue{PPexplicite}, + \PValue{PPExplicite}, \PValue{ppexplicite}, \PValue{ppExplicite}}{% + Prints an address field with Port-Pay\'e head, defined by the variables + \Variable{fromzipcode}, \Variable{place}, and \Variable{PPcode} and when + indicated with priority and data array defined by + \Variable{PPdatamatrix} but without return address and mode of + dispatch.}% + \entry{\PValue{backgroundimage}, \PValue{PPbackgroundimage}, + \PValue{PPBackgroundImage}, \PValue{PPBackGroundImage}, + \PValue{ppbackgroundimage}, \PValue{ppBackgroundImage}, + \PValue{ppBackGroundImage}}{% + Prints an address field with Port-Pay\'e head, in variable + \Variable{addresseimage} defined background graphics, but without return + address or mode of dispatch.}% + \entry{\PValue{image}, \PValue{Image}, \PValue{PPimage}, \PValue{PPImage}, + \PValue{ppimage}, \PValue{ppImage}}{% + Prints variable \Variable{addresseeimage} as addressee with Port-Pay\'e, + but ignores addressee information and definitions for return address, + mode of dispatch or priority.}% + \end{desctabular} +\end{table}% + +With the default \OptionValue{addrfield}{true} an additional return address +will be printed. Option \Option{backaddress} defines whether a return address +for window envelopes will be set. This +option\important{\OptionValue{backaddress}{false}} can take the standard +values for simple switches, as listed in \autoref{tab:truefalseswitch}, +\autopageref{tab:truefalseswitch}. These values don't change style of the +return address. On the other hand, +additionally\ChangedAt{v2.96}{\Class{scrlttr2}} to switching on the return +address, the style of the return address may be selected. Option value +\PValue{underlined} selects an underlined return address. In opposite to +this value \PValue{plain}\important{\OptionValue{backaddress}{plain}} selects +a style without underline. Default is \PValue{underlined} and therefore +printing an underlined return address. + +\BeginIndex{FontElement}{backaddress}% +The return address itself is defined by the \PName{content} of variable +\Variable{backaddress}. Default is a combination of variable \Variable{toname} +and \Variable{toaddress} with redefinition of the double backslash to set the +\PName{content} of variable \Variable{backaddressseparator}. The predefined +separator \PName{content} is a comma followed by a non-breakable white +space. The \PName{description} of variable \Variable{backaddress} isn't used +by \KOMAScript. The font style of the return address is configurable via +element +\FontElement{backaddress}\important{\FontElement{backaddress}}. Default for +this is \Macro{sffamily} (see +\autoref{tab:scrlttr2.AddresseeElements}). Before execution of the element's +font style \KOMAScript{} switches to \Macro{scriptsize}.% +\EndIndex{FontElement}{backaddress}% +% +\EndIndex{Variable}{backaddressseparator}% +\EndIndex{Variable}{backaddress}% +\EndIndex{Option}{backaddress~=\PName{value}}% +\EndIndex{Variable}{toaddress}% +\EndIndex{Variable}{toname}% -\subsection{The Sender's Extensions} -\label{sec:scrlttr2.locationField} -\BeginIndex{}{sender's extension} +\begin{table} +% \centering + \KOMAoptions{captions=topbeside}% + \setcapindent{0pt}% +% \caption + \begin{captionbeside}{% + Predefined font style for the elements of the address field.% + }% + [l] + \begin{tabular}[t]{ll} + \toprule + element & font style \\ + \midrule + \FontElement{addressee}\IndexFontElement{addressee} & + \\ + \FontElement{backaddress}\IndexFontElement{backaddress} & + \Macro{sffamily}% + \\ + \FontElement{PPdata}\IndexFontElement{PPdata} & + \Macro{sffamily}% + \\ + \FontElement{PPlogo}\IndexFontElement{PPlogo} & + \Macro{sffamily}\Macro{bfseries}% + \\ + \FontElement{priority}\IndexFontElement{priority} & + \Macro{fontsize}\PParameter{10pt}\PParameter{10pt}% + \Macro{sffamily}\Macro{bfseries}% + \\ + \FontElement{prioritykey}\IndexFontElement{prioritykey} & + \Macro{fontsize}\PParameter{24.88pt}\PParameter{24.88pt}% + \Macro{selectfont}% + \\ + \FontElement{specialmail}\IndexFontElement{specialmail} & + \\ + \FontElement{toaddress}\IndexFontElement{toaddress} & + \\ + \FontElement{toname}\IndexFontElement{toname} & + \\ + \bottomrule + \end{tabular} + \end{captionbeside} + \label{tab:scrlttr2.AddresseeElements}% +\end{table} -Often, especially with business letters, the space for the letterhead -or page footer seems to be too tight to include all you want. To give -more details about the sender, often the space right beside the -addressee's field is used. In this manual this field is called the -\emph{sender's extension} +\BeginIndex{FontElement}{specialmail}% +At the default \OptionValue{addrfield}{true} an optional dispatch +type\Index{mode of dispatch}\Index{dispatch type} can be output within the +address field between the return address and the addressee address, This will +be done only if variable \Variable{specialmail} is not empty and +\OptionValue{priority}{manual}\ChangedAt{v3.03}{\Class{scrlttr2}} has been +selected, which is also the default. Class \Class{scrlttr2} itself doesn't use +the \PName{description} of variable \Variable{specialmail}. The alignment is +defined by the pseudo-lengths PLength{specialmailindent} and +\PLength{specialmailrightindent} (siehe +\autopageref{desc:scrlttr2-experts.plength.specialmailindent}). The predefined +font style of element\ChangedAt{v2.97c}{\Class{scrlttr2}} +\FontElement{specialmail}\important{\FontElement{specialmail}}, that has been +listed in \autoref{tab:scrlttr2.AddresseeElements}, may be changed using +commands \Macro{setkomafont} and \Macro{addtokomafont} (see +\autoref{sec:scrlttr2.textmarkup}, +\autopageref{desc:scrlttr2.cmd.setkomafont}).% +\EndIndex{FontElement}{specialmail}% + +\BeginIndex{FontElement}{priority}% +\BeginIndex{FontElement}{prioritykey}% +On\ChangedAt{v3.03}{\Class{scrlttr2}}\important[i]{\OptionValue{priority}{A}\\ + \OptionValue{priority}{B}} the other hand, using an international priority +with \OptionValue{priority}{A} or +\OptionValue{priority}{B} (see \autoref{tab:scrlttr2.priority}) together with +\OptionValue{addrfield}{true} will print the priority as mode of +dispatch. Using it together with +\OptionValue{addrfield}{PP}\important{\OptionValue{addrfield}{PP}} will print +the priority at the corresponding position in the Port-Pay\'e head. Thereby +the element \FontElement{priority} defines the basic font style and +\FontElement{prioritykey} the modification of the basic font style for the +priority key, ``A'' or ``B''. The default font styles are listed in +\autoref{tab:scrlttr2.AddresseeElements} and may be changed using commands \Macro{setkomafont} und \Macro{addtokomafont} (siehe +\autoref{sec:scrlttr2.textmarkup}, +\autopageref{desc:scrlttr2.cmd.setkomafont}).% +\EndIndex{FontElement}{prioritykey}% +\EndIndex{FontElement}{priority}% +\EndIndex{Variable}{specialmail}% +\begin{table} + \caption[{available values for option \Option{priority} in + \Class{scrlttr2}}]{available values for option \Option{priority} to select + the international priority at the address field of\Class{scrlttr2}} + \label{tab:scrlttr2.priority} + \begin{desctabular} + \entry{\PValue{false}, \PValue{off}, \PValue{no}, \PValue{manual}}{% + Priority will not be printed.}% + \entry{\PValue{B}, \PValue{b}, \PValue{economy}, \PValue{Economy}, + \PValue{ECONOMY}, \PValue{B-ECONOMY}, \PValue{B-Economy}, + \PValue{b-economy}}{% + Use international priority B-Economy. With + \OptionValue{addrfield}{true} this will be printed instead of the mode + of dispatch.}% + \entry{\PValue{A}, \PValue{a}, \PValue{priority}, \PValue{Priority}, + \PValue{PRIORITY}, \PValue{A-PRIORITY}, \PValue{A-Priority}, + \PValue{a-priority}}{% + Use international priority A-Priority. With + \OptionValue{addrfield}{true} this will be printed instead of the mode + of dispatch.}% + \end{desctabular} +\end{table} -\begin{Declaration} - \PLength{locheight}\\ - \PLength{lochpos}\\ - \PLength{locvpos}\\ - \PLength{locwidth} -\end{Declaration} -\BeginIndex{PLength}{locwidth}% -\BeginIndex{PLength}{locheight}% -\BeginIndex{PLength}{lochpos}% -\BeginIndex{PLength}{locvpos}% -The pseudo-lengths \PLength{locwidth} and -\PLength{locheight}\ChangedAt{v2.97d}{\Class{scrlttr2}} set the width -and height of the sender's extension field. The pseudo-lengths -\PLength{lochpos} and \PLength{locvpos} determine the distances from -the right and upper paper edges. These value is typically set to -0\Unit{pt} in the predefined \File{lco} files. This does not mean that -the sender's extension has no width; instead, it means that the actual -width is set with \Macro{opening} when the paper width, address window -width, and the distance between the left and upper edges of the paper -and the address window are known. The option \Option{locfield} (see -\autoref{sec:scrlttr2.headoptions}, -\autopageref{desc:scrlttr2.option.locfield}) is also taken into -account. As is the case for \PLength{toaddrhpos}, negative values of -\PLength{lochpos} take on a special meaning. In that case, instead of -referring to a distance from the right edge of the paper, -\PLength{lochpos} now means a distance from the left edge of the -paper. The meaning is thus the opposite to that of -\PLength{toaddrhpos} (see \autoref{sec:scrlttr2.addressee}, -\autopageref{desc:scrlttr2.plength.toaddrhpos}). +With\ChangedAt{v3.03}{\Class{scrlttr2}}\important{\OptionValue{addrfield}{PP}} +\OptionValue{addrfield}{PP} also the zip-code of +variable \Variable{fromzipcode} and the place from \PName{content} of variable +\Variable{place} will be set in the Port-Pay\'e head. Thereby the +\PName{content} of variable \Variable{fromzipcode} will be preceded by the +\PName{description} of variable \Variable{fromzipcode} and the \PName{content} +of variable \Variable{zipcodeseparator}. The predefined \PName{description} +depends on the used \File{lco}-file (see \autoref{sec:scrlttr2.lcoFile} from +\autopageref{sec:scrlttr2.lcoFile} onward). On the other hand the default of +the \PName{content} of variable \Variable{zipcodeseparator} is a small +distance followed by an endash followed by one more small distance +(\Macro{,}\texttt{-{}-}\Macro{,}). + +Beyond\ChangedAt{v3.03}{\Class{scrlttr2}} that, with +\OptionValue{addrfield}{PP}\important{\OptionValue{addrfield}{PP}} and +sender's identification code will be used at the Port-Pay\'e head. This is the +\PName{content} of variable \Variable{PPcode}. Right beside the address of the +addressee an additional data array may be printed. The \PName{content} of +variable \Variable{PPdatamatrix} will be used for this. + +\BeginIndex{FontElement}{PPdata}% +Zip-code\ChangedAt{v3.03}{\Class{scrlttr2}}, place and code will be printed +with default font size 8\Unit{pt}. Thereby the font style of element +\FontElement{PPdata}\important{\FontElement{PPdata}} will be used. The default +of the element is listed in \autoref{tab:scrlttr2.AddresseeElements} and may +be changed using commands \Macro{setkomafont} and \Macro{addtokomafont} (see +\autoref{sec:scrlttr2.textmarkup}, +\autopageref{desc:scrlttr2.cmd.setkomafont}).% +\EndIndex{FontElement}{PPdata}% +% +\EndIndex{Variable}{PPcode}% +\EndIndex{Variable}{place}% +\EndIndex{Variable}{zipcodeseparator}% +\EndIndex{Variable}{fromzipcode}% + +With\important[i]{\begin{tabular}[t]{@{}l@{}} + \KOption{addrfield}\\\quad\PValue{backgroundimage}\end{tabular}\strut\\ + \strut\OptionValue{addrfield}{image}} options +\OptionValue{addrfield}{backgroundimage}\ChangedAt{v3.03}{\Class{scrlttr2}} +or \OptionValue{addrfield}{image} a picture will be print inside the address +field. The \PName{content} of variable \Variable{addresseeimage} will be used +for this. \KOMAScript{} doesn't use the \PName{description} of that +variable. Nothing else but the picture will be printed with option +\OptionValue{addrfield}{image}. But with option +\OptionValue{addrfield}{backgroundimage} the addressee's name and address from +the mandatory argument of the \Environment{letter} environment will be +output. + +The alignment of the Port-Pay\'e head as long as the alignment of the +Port-Pay\'e address is defined by pseudo-length \PLength{toaddrindent} (see +\autopageref{desc:scrlttr2-experts.plength.toaddrindent}) as well as +\PLength{PPheadwidth} and \PLength{PPheadheight} (siehe +\autopageref{desc:scrlttr2-experts.plength.PPheadheight}). The alignment of +the data array is defined by pseudo-length \PLength{PPdatamatrixvskip} +(see \autopageref{desc:scrlttr2-experts.plength.PPdatamatrixvskip}). + +Please note\textnote{Attention!} that \KOMAScript{} itself cannot set any +external graphics or pictures. So, if you want to put external picture files +into variables like \Variable{addresseeimage} or \Variable{PPdatamatrix}, you +have to use an additional graphics package like +\Package{graphics}\IndexPackage{graphics} or +\Package{graphicx}\IndexPackage{graphicx} to use, i.\,e., the command +\Macro{includegraphics} at the \PName{content} of the variables.% +% +\EndIndex{Variable}{addresseeimage}% +\EndIndex{Variable}{PPdatamatrix}% +% +\EndIndex{Option}{addrfield~=\PName{mode}}% +\EndIndex{Option}{priority~=\PName{priority}}% +% +\EndIndex{}{Anschrift} + + +\begin{Declaration} + \KOption{locfield}\PName{selection} +\end{Declaration} +\BeginIndex{}{sender>additional information}% +\BeginIndex{Option}{locfield~=\PName{selection}}% +\Class{scrlttr2} places a field with additional sender attributes next to the +address field. This can be used, for example, for bank account +or similar additional information. +Depending\important[i]{\OptionValue{fromalign}{center}\\ + \begin{tabular}[t]{@{}l@{}} + \KOption{fromalign}\\\quad\PValue{locationleft}\end{tabular}\\ + \begin{tabular}[t]{@{}l@{}} + \KOption{fromalign}\\\quad\PValue{locationright}\end{tabular}} on the +\Option{fromalign} option, it will also be used for the sender +logo. The width of this field may be defined within an \File{lco} file +(see \autoref{sec:scrlttr2.lcoFile}). If the width is set to 0 in that file, +then the \Option{locfield} option can toggle between two presets for +the field width. See the explanation on the \Variable{locwidth} pseudo +length in \autoref{sec:scrlttr2-experts.locationField}, +\autopageref{desc:scrlttr2-experts.plength.locwidth}. Possible values for this +option are shown in \autoref{tab:scrlttr2.locfield}. Default is +\PValue{narrow}.% % -\EndIndex{PLength}{locwidth} -\EndIndex{PLength}{locheight}% -\EndIndex{PLength}{lochpos}% -\EndIndex{PLength}{locvpos}% - +\begin{table} +% \centering + \KOMAoptions{captions=topbeside}% + \setcapindent{0pt}% +% \caption + \begin{captionbeside} + [{Possible values of option \Option{locfield} with + \Class{scrlttr2}}]{Possible values of option \Option{locfield} for + setting the width of the field with additional sender attributes with + \Class{scrlttr2}% + \label{tab:scrlttr2.locfield}}% + [l] + \begin{minipage}[t]{.45\linewidth} + \begin{desctabular}[t] + \pventry{narrow}{narrow sender supplement field}% + \pventry{wide}{wide sender supplement field}% + \end{desctabular} + \end{minipage} + \end{captionbeside} +\end{table} \begin{Declaration} - \Variable{location} + \Macro{setkomavar}\PParameter{\Variable{location}}% + \OParameter{description}\Parameter{content} \end{Declaration} \BeginIndex{Variable}{location}% The contents of the sender's extension field is determined by the -variable \Variable{location}. To set this variable's content, it is -permitted to use formatting commands like \Macro{raggedright}. One has -to consider that depending on the use of the options -\Option{fromalign} and \Option{fromlogo}, a part of the space for the -sender's extension may already be reserved for a logo or return -address (see \autoref{sec:scrlttr2.headoptions}, -\autopageref{desc:scrlttr2.option.fromalign} and -\autopageref{desc:scrlttr2.option.fromlogo}). -% +variable \Variable{location}. To set this variable's \PName{content}, it is +permitted to use formatting commands like \Macro{raggedright}. \KOMAScript{} +doesn't use the \PName{description} of the variable. + \begin{Example} - Assume that you would like to put the names of your partners, - manager, or court of jurisdiction in the sender's extension - field. You can do this as follows: -\begin{lstlisting} - \KOMAoptions{locfield=wide} - \setkomavar{location}{\raggedright - \textbf{Partners:}\\ - \quad Hugo Mayer\\ - \quad Bernd Miller\\[1ex] - \textbf{Manager:}\\ - \quad Liselotte Mayer\\[1ex] - \textbf{Court of jurisdiction:}\\ - \quad Washington, DC - } -\end{lstlisting} -The option \Option{locfield=wide} is set to make the details fit -horizontally. Sender details like those mentioned in the above example -can be written, together with the common sender address details, into -your own \File{lco} file. + Mr Public likes to show some additional information about his + membership. Therefor he uses the \Variable{location} variable:% + \lstinputcode[xleftmargin=1em]{letter-19.tex}% + This will define the field beside the addressee's address like shown in + \autoref{fig:scrlttr2.letter-19}. + \begin{figure} + \setcapindent{0pt}% + \begin{captionbeside}[{Example: letter with extended sender, logo, + addressee, additional sender information, opening, + text, closing, signature, postscript, distribution list, enclosure, + and puncher hole mark}] + {result of a small letter with extended sender, logo, + addressee, additional sender information, opening, text, closing, + signature, postscript, distribution list, enclosure and puncher hole + mark (the date is a default of DIN-letters)}[l] + \frame{\includegraphics[width=.4\textwidth]{letter-19}} + \end{captionbeside} + \label{fig:scrlttr2.letter-19} + \end{figure} \end{Example} % \EndIndex{Variable}{location}% -\EndIndex{}{sender's extension}% - - -\subsection{The Reference Fields Line} -\label{sec:scrlttr2.refLine} -\BeginIndex{}{reference fields line}% - -Especially with business letters, a line can be found that gives -initials, dial code, customer number, invoice number, or a reference -to a previous letter. In this manual this line is called the -\emph{reference fields line}. The reference fields line can consist of -more than just one line and is set only if one of those variables -mentioned above is given. Only those fields will be set that are -given. To set a seemingly empty field, one needs to give as value at -least a white space or \Macro{null}. If you want to have your letter -without a reference fields line, then instead of it the label and -contents of the variable \Variable{date} will be set. +% +\EndIndex{Option}{locfield~=\PName{selection}}% +% +\EndIndex{}{sender>additional information}% \begin{Declaration} - \PLength{refvpos} + \KOption{numericaldate}\PName{simple switch} \end{Declaration} -\BeginIndex{PLength}{refvpos}% -This pseudo-length gives the distance between the upper edge of the -paper and the reference fields line. Its value is set differently in -the various predefined \File{lco} files. Typical values are between -80.5\Unit{mm} and 98.5\Unit{mm}. -% -\EndIndex{PLength}{refvpos}% - +\BeginIndex{Option}{numericaldate~=\PName{simple switch}}% +This option toggles between the standard, language-dependent +date\Index{date}\Index{reference line} presentation, and a short, numerical +one. {\KOMAScript} does not provide the standard presentation. It should be +defined by packages such as \Package{ngerman}\IndexPackage{ngerman}, +\Package{babel}\IndexPackage{babel}, or +\Package{isodate}\IndexPackage{isodate}. The\important{\OptionValue{numericaldate}{true}} +short, numerical presentation, on the other hand, is produced by +\Class{scrlttr2} itself. This option can take the standard values for simple +switches, as listed in \autoref{tab:truefalseswitch}, +\autopageref{tab:truefalseswitch}. Default is \PValue{false}, which results in +standard date presentation. \begin{Declaration} - \PLength{refwidth}\\ - \PLength{refhpos} + \Macro{setkomavar}\PParameter{\Variable{date}}% + \OParameter{description}\Parameter{content} \end{Declaration} -\BeginIndex{PLength}{refwidth}% -This pseudo-length gives the width that is available for the reference -fields line. The value is set typically to 0\Unit{pt} in the -predefined \File{lco} files. This value has a special meaning: in no -way does it determine that there is no available width for the -business line; instead, this value means that the width will be -calculated with the \Macro{opening}. Thus the calculated width depends -on the determination of the options \Option{refline} (see -\autoref{sec:scrlttr2.headoptions}, -\autopageref{desc:scrlttr2.option.refline}). At the same time, -\PLength{refhpos} will be set according to this option. With -\Option{refline=}\PValue{wide}, the reference fields line is centered, -while with \Option{refline=}\PValue{narrow} it is aligned on the left. - -If \PLength{refwidth} non-null, i.\,e., the width of the reference -fields line is therefore not determined by the option -\Option{refline}, then \PLength{refhpos} gives the distance of the -reference fields line from the left edge of the paper. If this -distance is null, then the reference fields line is set so that the -ratio between its distances from the left and right edges of the paper -equal the ratio of distance of the type area from the left and right -edges of the paper. Thus, for a type area horizontally centered on the -paper, the reference fields line too will be centered. - -As a rule, these special cases are likely to be of little interest to -the normal user. The simplest rule is as follows: either -\PLength{refhpos} is left at null and so the width and alignment of -the reference fields line are left to the option \Option{refline}, or -\PLength{refwidth} as well as \PLength{refhpos} are set by the user. +\BeginIndex{Variable}{date}% +The date in the selected presentation will become the \PName{content} of +variable \Variable{date}. The selection of option \Option{numericaldate} +doesn't influence the date any longer, if the \PName{content} of this variable +will be changed by the user. Normally the date will be part of the reference +line. This is the case even if all other elements of the reference line will +be empty and therefore unused. For more information about the automatic +printing of the date may be found in following description of option +\Option{refline}.% % -\EndIndex{PLength}{refwidth}% -\EndIndex{PLength}{refhpos}% +\EndIndex{Variable}{date}% +\EndIndex{Option}{numericaldate~=\PName{switch}}% \begin{Declaration} - \PLength{refaftervskip} + \KOption{refline}\PName{selection} \end{Declaration} -\BeginIndex{PLength}{refaftervskip}% -This pseudo-length gives the vertical space that has to be inserted -beneath the reference fields line. The value is set in the predefined -\File{lco} files. It directly affects the text height of the first -page. A typical value lies between one and two lines. +\BeginIndex{}{reference line}% +\index{business line|see{reference line}}% +\BeginIndex{Option}{refline~=\PName{selection}}% +Especially in business letters a line with information like identification +code\Index{identification>code}, direct dial, customer's number, invoice's +number, or references to previous letters may be found usually. This line will +be named \emph{reference line}\textnote{reference line} in this manual. + +With the \Class{scrlttr2} class, the header, footer, address, and sender +attributes may extend beyond the normal type area to the left and to the +right. Option \Option{refline}{wide} defines that this should also apply to +the reference fields line. Normally, the reference fields line contains at +least the date, but it can hold additional data. Possible values for this +option are shown in \autoref{tab:scrlttr2.refline}. Default is \PValue{narrow} +and \PValue{dateright}\ChangedAt{v3.09}{\Class{scrlttr2}}.% % -\EndIndex{PLength}{refaftervskip}% +\begin{table} + \caption[{Possible value of option \Option{refline} with + \Class{scrlttr2}}]{Possible value of option \Option{refline} for setting + the width of the reference fields line with + \Class{scrlttr2}} + \label{tab:scrlttr2.refline} + \begin{desctabular} + \pventry{dateleft}{\ChangedAt{v3.09}{\Class{scrlttr2}}% + The date will be placed leftmost at the reference line.}% + \pventry{dateright}{\ChangedAt{v3.09}{\Class{scrlttr2}}% + The date will be placed rightmost at the reference line.}% + \pventry{narrow}{The reference line will be restricted to type + area.}% + \pventry{nodate}{\ChangedAt{v3.09}{\Class{scrlttr2}}% + The date won't be placed automatically into the reference line.}% + \pventry{wide}{The with of the reference line corresponds to address and + sender's additional information.}% + \end{desctabular} +\end{table} \begin{Declaration} - \Variable{yourref}\\ - \Variable{yourmail}\\ - \Variable{myref}\\ - \Variable{customer}\\ - \Variable{invoice} \\ - \Variable{date} + \Macro{setkomavar}\PParameter{\Variable{yourref}}% + \OParameter{description}\Parameter{content}\\ + \Macro{setkomavar}\PParameter{\Variable{yourmail}}% + \OParameter{description}\Parameter{content}\\ + \Macro{setkomavar}\PParameter{\Variable{myref}}% + \OParameter{description}\Parameter{content}\\ + \Macro{setkomavar}\PParameter{\Variable{customer}}% + \OParameter{description}\Parameter{content}\\ + \Macro{setkomavar}\PParameter{\Variable{invoice}}% + \OParameter{description}\Parameter{content}% \end{Declaration} \BeginIndex{Variable}{yourref}% \BeginIndex{Variable}{yourmail}% \BeginIndex{Variable}{myref}% \BeginIndex{Variable}{customer}% \BeginIndex{Variable}{invoice}% -\BeginIndex{Variable}{date}% -These variables are typical reference fields. Their meanings are given -in \autoref{tab:scrlttr2.variables} on -\autopageref{tab:scrlttr2.variables}. Each variable has also a -predefined label, shown in \autoref{tab:scrlttr2.reflineTerm}. The -field width that belongs to each variable, adjusts itself -automatically to its label and content. +These five variables represent typical fields of the reference line. Their +meanings are given in \autoref{tab:scrlttr2.variables} on +\autopageref{tab:scrlttr2.variables}. Each variable has also a predefined +\PName{description}, shown in \autoref{tab:scrlttr2.reflineTerm}. Additional +information about adding other variables to the reference line may be found +in \autoref{sec:scrlttr2-experts.variables} from +\autopageref{desc:scrlttr2-experts.cmd.newkomavar} onward.% % \begin{table} - \centering - \caption{predefined labels of typical variables of the reference - fields line. The - content of the macros depend on language.} - \begin{tabular}{lll} +% \centering + \KOMAoptions{captions=topbeside}% + \setcapindent{0pt}% +% \caption + \begin{captionbeside}[{predefined descriptions of variables of the reference + line}]{predefined descriptions of typical variables of the reference + fields line using macros depending on the current language}% + [l] + \begin{tabular}[t]{lll} \toprule - name & label & in english \\ + variable name & description & e.\,g., in english \\ \midrule \Variable{yourref} & \Macro{yourrefname} & Your reference \\ \Variable{yourmail} & \Macro{yourmailname} & Your letter from \\ @@ -2951,62 +2144,116 @@ automatically to its label and content. \Variable{date} & \Macro{datename} & date \\ \bottomrule \end{tabular} + \end{captionbeside} \label{tab:scrlttr2.reflineTerm} \end{table} -% -\EndIndex{Variable}{yourref}% -\EndIndex{Variable}{yourmail}% -\EndIndex{Variable}{myref}% -\EndIndex{Variable}{customer}% -\EndIndex{Variable}{invoice}% -\EndIndex{Variable}{date}% -% -\begin{Declaration} - \Variable{place}\\ - \Variable{placeseparator} -\end{Declaration} +\BeginIndex{FontElement}{refname}% +\BeginIndex{FontElement}{refvalue}% +Font style and color\ChangedAt{v2.97c}{\Class{scrlttr2}} of the +\PName{description} and \PName{content} of the fields of the reference line +may be changed with elements \FontElement{refname}% +\important[i]{\FontElement{refname}\\\FontElement{refvalue}} and +\FontElement{refvalue}. Therefor the commands \Macro{setkomafont} and \Macro{addtokomafont} (see +\autoref{sec:scrlttr2.textmarkup}, +\autopageref{desc:scrlttr2.cmd.setkomafont}) should be used. The default +configuration of both elements is listed in +\autoref{tab:scrlttr2.refnamerefvalue}.% +\begin{table}[tp] +% \centering + \KOMAoptions{captions=topbeside}% + \setcapindent{0pt}% +% \caption + \begin{captionbeside} + [{font style default of elements of the reference line}]{default font + style configuration of the elements of the reference line% + \label{tab:scrlttr2.refnamerefvalue}} + [l] + \begin{tabular}[t]{ll} + \toprule + element & default configuration \\ + \midrule + \FontElement{refname} & \Macro{sffamily}\Macro{scriptsize} \\ + \FontElement{refvalue} & \\ + \bottomrule + \end{tabular} + \end{captionbeside} +\end{table}% +% +\EndIndex{FontElement}{refvalue}% +\EndIndex{FontElement}{refname}% + + +\begin{Declaration} + \Macro{setkomavar}\PParameter{\Variable{place}}% + \OParameter{description}\Parameter{content}\\ + \Macro{setkomavar}\PParameter{\Variable{placeseparator}}% + \OParameter{description}\Parameter{content} +\end{Declaration}% \BeginIndex{Variable}{place}% \BeginIndex{Variable}{placeseparator}% -As said before in the introduction of this subsection, the reference -fields line can be omitted. This happens if all variables of the -business line are empty with the exception of the variable for the -date. In this case, the content of \Variable{place} and -\Variable{placeseparator} will be set, followed by the content of -\Variable{date}. The predefined content of the -\Variable{placeseparator} is a comma followed by a non-breaking -space. If the variable \Variable{place} has no value then the hyphen -remains unset also. The predefined content of \Variable{date} is -\Macro{today} and depends on the setting of the option -\Option{numericaldate} (see \autoref{sec:scrlttr2.headoptions}, -\autopageref{desc:scrlttr2.option.numericaldate}). +If all variables of the reference line are empty, the line will be omitted. +In this case, the \PName{content} of \Variable{place} and +\Variable{placeseparator} will be set, followed by the \PName{content} of +\Variable{date}. The predefined \PName{content} of the +\Variable{placeseparator} is a comma followed by a non-breaking space. If the +variable \Variable{place} has no \PName{content} value then the hyphen remains +unset also. The predefined \PName{content} of \Variable{date} is +\Macro{today}\IndexCmd{today} and depends on the setting of the option +\Option{numericaldate} (see \autopageref{desc:scrlttr2.option.numericaldate}). + +\begin{Example} + Now Mr Public also sets the place:% + \lstinputcode[xleftmargin=1em]{letter-20.tex}% + In this case \autoref{fig:scrlttr2.letter-20} shows the place and the + automatic separator in front of the date. The date has been defined + explicitly to make the printed date independent from the date of the + \LaTeX{} run. + \begin{figure} + \setcapindent{0pt}% + \begin{captionbeside}[{Example: letter with extended sender, logo, + addressee, additional sender information, place, date, opening, + text, closing, signature, postscript, distribution list, enclosure, + and puncher hole mark}] + {result of a small letter with extended sender, logo, addressee, + additional sender information, place, date, opening, text, closing, + signature, postscript, distribution list, enclosure and puncher hole + mark}[l] + \frame{\includegraphics[width=.4\textwidth]{letter-20}} + \end{captionbeside} + \label{fig:scrlttr2.letter-20} + \end{figure} +\end{Example} % \EndIndex{Variable}{place}% \EndIndex{Variable}{placeseparator}% + % +\EndIndex{Variable}{invoice}% +\EndIndex{Variable}{customer}% +\EndIndex{Variable}{myref}% +\EndIndex{Variable}{yourmail}% +\EndIndex{Variable}{yourref}% % -\EndIndex{}{reference fields line}% - - -\subsection{The Title and the Subject Line} -\label{sec:scrlttr2.titleSubject} -Business letters very often carry a subject line. The subject line -indicates briefly the respect of the letter. Usually the subject -should be short and precise and not run across several lines. Apart -fom the subject, such a letter may also carry a title. Titles find -usage most often with irregular letters such as a warning, an invoice -or a reminder. - +\EndIndex{Option}{refline~=\PName{selection}}% +\EndIndex{}{reference line}% \begin{Declaration} - \Variable{title} + \Macro{setkomavar}\PParameter{\Variable{title}}% + \OParameter{description}\Parameter{content} \end{Declaration} +\BeginIndex{}{title}% \BeginIndex{Variable}{title}% -With \Class{scrlttr2} a letter can carry an additional title. The -title is centered and set with font size \Macro{LARGE} directly after -and beneath the reference fields line. The predefined font setup for -this element (\Macro{normalcolor}\Macro{sffamily}\Macro{bfseries}) can -be changed with help of the interface described in -\autoref{sec:maincls.font}. Font size declarations are allowed. +\BeginIndex{FontElement}{title}% +With \Class{scrlttr2} a letter can carry an additional title. The title is +centered and set with font size \Macro{LARGE} directly after and beneath the +reference fields line. The predefined font setup for the element +\FontElement{title}\important{\FontElement{title}} can be changed with +commands \Macro{setkomafont} und \Macro{addtokomafont} (see +\autoref{sec:scrlttr2.textmarkup}, +\autopageref{desc:scrlttr2.cmd.setkomafont}). Font size declarations are +allowed. Font size \Macro{Large} is not part of the predefined default +\Macro{normalcolor}\Macro{sffamily}\Macro{bfseries} but nevertheless will be +used before the font style of the element. \begin{Example} Assume that you are to write a reminder. Thus you put as title: \begin{lstlisting} @@ -3014,786 +2261,928 @@ be changed with help of the interface described in \end{lstlisting} This way the addressee will recognize a reminder as such. \end{Example} +Like shown in the example, the \PName{content} of the variable defines the +title. \KOMAScript{} will not use the \PName{description}.% % -\EndIndex{Variable}{title} +\EndIndex{FontElement}{title}% +\EndIndex{Variable}{title}% +\EndIndex{}{title}% \begin{Declaration} - \Variable{subject}\\ - \Variable{subjectseparator} + \KOption{subject}\PName{selection}\\ + \Macro{setkomavar}\PParameter{\Variable{subject}}% + \OParameter{description}\Parameter{content}\\ + \Macro{setkomavar}\PParameter{\Variable{subjectseparator}}% + \OParameter{description}\Parameter{content} \end{Declaration} +\BeginIndex{}{subject}% +\BeginIndex{Option}{subject~=\PName{selection}}% \BeginIndex{Variable}{subject}% \BeginIndex{Variable}{subjectseparator}% -In case a subject should be set, the contents of the variable -\Variable{subject} need to be defined. Depending on what the option -\Option{subject} is set to, a label can be placed in front of the -subject contents; also, the vertical position of the subject contents -can be changed (see \autoref{sec:scrlttr2.headoptions}, -\autopageref{desc:scrlttr2.option.subject}). The predefined labels are -shown in \autoref{tab:scrlttr2.subjectTerm}. The predefined value of -\Variable{subjectseparator} is a colon followed by a non-breaking -space. -% +In case a subject should be set, the \PName{content} of the variable +\Variable{subject} need to be defined. First of all with option +\OptionValue{subject}{true}\important{\OptionValue{subject}{titled}} the usage +of the \PName{description} before the output of the subject may be +configured. See \autoref{tab:scrlttr2.subjectTerm} for the predefined +\PName{description}. In case of using the \PName{description} the +\PName{content} of variable \Variable{subjectseparator}\Index{separator} will +be set between the \PName{description} and \PName{content} of the +\Variable{subject}. The predefined \PName{content} of \PName{subjectseparator} +is a colon followed by a white space. + \begin{table} - \centering - \caption{Predefined labels of subject-related variables.} - \begin{tabular}{lll} - \toprule - name & label \\ - \midrule - \Variable{subject} & \Macro{usekomavar*}\PParameter{subjectseparator}% - \texttt{\%} \\ - & \texttt{\quad}% - \Macro{usekomavar}\PParameter{subjectseparator} \\ - \Variable{subjectseparator} & \Macro{subjectname} \\ - \bottomrule - \end{tabular} +% \centering + \KOMAoptions{captions=topbeside}% + \setcapindent{0pt}% +% \caption + \begin{captionbeside}{predefined descriptions of subject-related variables} + [l] + \begin{tabular}[t]{lll} + \toprule + variable name & description \\ + \midrule + \Variable{subject} & \Macro{usekomavar*}\PParameter{subjectseparator}% + \texttt{\%} \\ + & \texttt{\quad}% + \Macro{usekomavar}\PParameter{subjectseparator} \\ + \Variable{subjectseparator} & \Macro{subjectname} \\ + \bottomrule + \end{tabular} + \end{captionbeside} \label{tab:scrlttr2.subjectTerm} \end{table} -The subject line is set in a separate font. To change this use the -user interface described in \autoref{sec:maincls.font}. For the -element \FontElement{subject}\IndexFontElement{subject} the -predetermined font in \Class{scrlttr2} is -\Macro{normalfont}\Macro{normalcolor}\Macro{bfseries}. +On the other hand, \OptionValue{subject}{afteropening}% +\important{\OptionValue{subject}{afteropening}} may be used to place the +subject below instead of before the letter opening. Furthermore, the +formatting\important[i]{\OptionValue{subject}{underlined}\\ + \OptionValue{subject}{centered}\\ + \OptionValue{subject}{right}} of the subject may be changed using either +\OptionValue{subject}{underlined}, \OptionValue{subject}{centered}, or +\OptionValue{subject}{right}\ChangedAt{v2.97c}{\Class{scrlttr2}}. All +available values are listed in \autoref{tab:scrlttr2.subject}. Please +note\textnote{Attention!}, that with option \OptionValue{subject}{underlined} +the while subject must fit at one line! Defaults are +\OptionValue{subject}{left}, \OptionValue{subject}{beforeopening}, and +\OptionValue{subject}{untitled}.% +% +\begin{table} +% \centering + \KOMAoptions{captions=topbeside}% + \setcapindent{0pt}% +% \caption + \begin{captionbeside} + [{available values of option \Option{subject} with \Class{scrlttr2}}] + {available values of option \Option{subject} for the position and + formatting of the subject with + \Class{scrlttr2}\label{tab:scrlttr2.subject}}% + [l] + \begin{minipage}[t]{.6\linewidth} + \begin{desctabular}[t] + \pventry{afteropening}{subject after opening}% + \pventry{beforeopening}{subject before opening}% + \pventry{centered}{subject centered}% + \pventry{left}{subject left-justified}% + \pventry{right}{subject right-justified}% + \pventry{titled}{add title/description to subject}% + \pventry{underlined}{set subject underlined (see note in text please)}% + \pventry{untitled}{do not add title/description to subject}% + \end{desctabular} + \end{minipage} + \end{captionbeside} +\end{table} + +\BeginIndex{FontElement}{subject}% +The subject line is set in a separate font\Index{font>style}. To change this +use the commands \Macro{setkomafont} and \Macro{addtokomafont} (siehe +\autoref{sec:scrlttr2.textmarkup}, +\autopageref{desc:scrlttr2.cmd.setkomafont}). or the element +\FontElement{subject}\important{\FontElement{subject}} the predetermined font +in \Class{scrlttr2} is \Macro{normalcolor}\Macro{bfseries}.% +\EndIndex{FontElement}{subject}% + \begin{Example} - Assume you are a board member and want to write a letter to another - member of that board about a few internals of the organization. You - want to clarify with your subject line what this letter is all - about, but without labeling it thus. You can do this as follows: -\begin{lstlisting} - \setkomavar{subject}[Subject ]{% - organization's internals} -\end{lstlisting} - or easier: -\begin{lstlisting} - \setkomavar{subject}[]{% - about organization's internals} -\end{lstlisting} -Furthermore, if you want to set the subject line not only in bold but -also in sans serif: -\begin{lstlisting} - \addtokomafont{subject}{\sffamily} -\end{lstlisting} -As you can see, it is really easy to solve such problems. + Now, Mr Public sets a subject. He's a more traditional person, so he likes + to have a kind of heading to the subject and therefor sets the corresponding + option:% + \lstinputcode[xleftmargin=1em]{letter-21.tex}% + The result is shown by \autoref{fig:scrlttr2.letter-21}. + \begin{figure} + \setcapindent{0pt}% + \begin{captionbeside}[{Example: letter with extended sender, logo, + addressee, additional sender information, place, date, subject, + opening, text, closing, signature, postscript, distribution list, + enclosure, and puncher hole mark}] + {result of a small letter with extended sender, logo, addressee, + additional sender information, place, date, subject opening, text, + closing, signature, postscript, distribution list, enclosure and + puncher hole mark}[l] + \frame{\includegraphics[width=.4\textwidth]{letter-21}} + \end{captionbeside} + \label{fig:scrlttr2.letter-21} + \end{figure} \end{Example} % -\EndIndex{Variable}{subject}% \EndIndex{Variable}{subjectseparator}% +\EndIndex{Variable}{subject}% +\EndIndex{Option}{subject~=\PName{selection}}% +\EndIndex{}{subject}% + + +\begin{Declaration} + \KOption{firstfoot}\PName{simple switch} +\end{Declaration} +\BeginIndex{}{letter>foot}% +\BeginIndex{}{letterfoot}% +\BeginIndex{Option}{firstfoot~=\PName{simple switch}}% +This\ChangedAt{v2.97e}{\Class{scrlttr2}} option determines whether the +letterfoot is set or not. Switching off the letterfoot, e.\,g., using +\OptionValue{firstfoot}{false}\important{\OptionValue{firstfoot}{false}}, has +an effect when the option \Option{enlargefirstpage} (see +\autopageref{desc:scrlttr2.option.enlargefirstpage}) is used concurrently. In +this case the text area of the page will be enlarged down to the bottom. Then +the normal distance between typing area and the letter foot will become the +only distance remaining between the end of the typing area and the end of +the page. + +The option understands the standard values for simple switches, as given in +\autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch}. Default is +the setting of the letter foot. +\EndIndex{Option}{firstfoot~=\PName{simple switch}}% + +\begin{Declaration} + \Macro{setkomavar}\PParameter{\Variable{firstfoot}}% + \OParameter{description}\Parameter{content} +\end{Declaration}% +\BeginIndex{Variable}{firstfoot}% +The first page's footer is preset to +empty. However\ChangedAt{v3.08}{\Class{scrlttr2}}, a new construction may be +made at the \PName{content} of variable \Variable{firstfoot}. \KOMAScript{} +doesn't use the \PName{description} of the variable. For more information see +the example following the next description. Only for compatibility reason the +deprecated command \Macro{firstfoot}\IndexCmd[indexmain]{firstfoot} of +\Class{scrlttr2} before release~3.08 still exists. Nevertheless it shouldn't +be used any longer. + +\begin{Declaration} + \Macro{setkomavar}\PParameter{\Variable{frombank}}% + \OParameter{description}\Parameter{content} +\end{Declaration}% +\BeginIndex{Variable}{frombank}% +This variable at the moment takes on a special meaning: it is not used +internally at this point, and the user can make use of it to set, for example, +his bank account\Index{bank account} within the sender's additional +information (see variable \Variable{location}, +\autopageref{desc:scrlttr2.variable.location}) or the footer.% +% +\begin{Example} + In the first page's footer, you may want to set the \PName{content} of the + variable \Variable{frombank} (the bank account). The double + backslash should be exchanged with a comma at the same time: +\begin{lstcode} + \setkomavar{firstfoot}{% + \parbox[b]{\linewidth}{% + \centering\def\\{, }\usekomavar{frombank}% + }% + } +\end{lstcode} + For the hyphen you might define a variable of your own if you like. + This is left as an exercise for the reader. + + Nowadays it has become very common to create a proper footer in + order to obtain some balance with respect to the letterhead. This + can be done as follows: +\begin{lstcode} + \setkomavar{firstfoot}{% + \parbox[t]{\textwidth}{\footnotesize + \begin{tabular}[t]{l@{}}% + \multicolumn{1}{@{}l@{}}{Partners:}\\ + Jim Smith\\ + Russ Mayer + \end{tabular}% + \hfill + \begin{tabular}[t]{l@{}}% + \multicolumn{1}{@{}l@{}}{Manager:}\\ + Jane Fonda\\[1ex] + \multicolumn{1}{@{}l@{}}{Court Of Jurisdiction:}\\ + Great Plains + \end{tabular}% + \ifkomavarempty{frombank}{}{% + \hfill + \begin{tabular}[t]{l@{}}% + \multicolumn{1}{@{}l@{}}{\usekomavar*{frombank}:}\\ + \usekomavar{frombank} + \end{tabular}% + }% + }% + } +\end{lstcode} + This example, by the way, came from Torsten Kr\"uger. With +\begin{lstcode} + \setkomavar{frombank}{Account No. 12\,345\,678\\ + at Citibank\\ + bank code no: 876\,543\,21} +\end{lstcode} + the bank account can be set accordingly. +% If the footer will have such a large height then it might happen that you +% have to shift its position. You can do this with the pseudo-length +% \PLength{firstfootvpos}\IndexPLength{firstfootvpos}, which is +% described above in this section. +\end{Example} +In the previous example a multi-line footer was set. With a compatibility +setting to version 2.9u (see \Option{version} in +\autoref{sec:scrlttr2.compatibilityOptions}, +\autopageref{desc:scrlttr2.option.version}) the space will in general not +suffice. In that case, you may need to reduce \PLength{firstfootvpos} (see +\autopageref{desc:scrlttr2-experts.plength.firstfootvpos}) appropriately.% +% +\EndIndex{Variable}{frombank}% +\EndIndex{Variable}{firstfoot}% +% +\EndIndex{}{letter>foot}% +\EndIndex{}{letterfoot}% +% +\EndIndex{}{letter>first page}% +\EndIndex{}{note paper}% + + +\LoadCommon[scrlttr]{6} % \section{Paragraph Markup} + +\LoadCommon[scrlttr]{7} % \section{Detection of Odd and Even Pages} + + +\section{Head and Foot Using Predefined Page Style} +\label{sec:scrlttr2.pagestyle} +\BeginIndex{}{page>style}% +\BeginIndex{}{page>head}% +\BeginIndex{}{page>foot}% + +One of the general properties of a document is the page style. In {\LaTeX} +this means mostly the contents of headers and +footers. Like\textnote{Attention!} already mentioned in +\autoref{sec:scrlttr2.firstpage}, the head and foot of the note paper are +treated as elements of the note paper. Therefore they do not depend on the +settings of the page style. So this section describes the page styles of the +consecutive pages of letter after the note paper. At single-side letters this is +the page style of the secondary letter sheet. At double-side letters this is +also the page style of all backsides. + +\begin{Declaration} + \KOption{headsepline}\PName{simple switch}\\ + \KOption{footsepline}\PName{simple switch} +\end{Declaration} +\BeginIndex{Option}{headsepline~=\PName{simple switch}}% +\BeginIndex{Option}{footsepline~=\PName{simple switch}}% +These two options select whether or not to insert a separator +line\Index{line>separator}\Index{rule>separator} below the header or above the +footer, respectively, on consecutive pages. This option can take the standard +values for simple switches, as listed in \autoref{tab:truefalseswitch}, +\autopageref{tab:truefalseswitch}. +Activation\important{\OptionValue{headsepline}{true}} of option +\Option{headsepline} switches on a rule below the page +head. Activation\important{\OptionValue{footsepline}{true}} of option +\Option{footsepline} switches on a rule above the page foot. Deactivation of +the options switches of the corresponding rules. + +Obviously option \Option{headsepline} doesn't influence page styles +\PValue{empty}\important[i]{\Pagestyle{empty}\\ + \Pagestyle{plain}} and \PValue{plain} (see afterwards at this +section). These page styles explicitly don't use any page head. + +Typographically\important[i]{\Pagestyle{headings}\\ + \Pagestyle{myheadings}} such a rule make a hard optical connection of head +or foot and the text area. This wouldn't mean, that the distance between head +and text or text and foot should be increased. Instead of this the head or +foot should be seen as parts of the typing area, while calculation of margins +and typing area. To achieve this \KOMAScript{} will pass option +\Option{headinclude}\important[i]{\Opton{headinclude}\\ + \Option{footinclude}} or \Option{footinclude}, respectively, to the +\Package{typearea} package, if option \Option{headsepline} or +\Option{footsepline}, respectively, are used as a class +option. In\important{\Pagestyle{plain}} opposite to \Option{headsepline} +option \Option{footsepline} does influence page style \PValue{plain} also, +because \PValue{plain} uses a page number at the foot. Package +\Package{scrpage2}\IndexPackage{scrpage2}\important{\Package{scrpage2}} (see +\autoref{cha:scrpage}) provides additional features for rules at head and foot +and may be combined with \Class{scrlttr2}.% +% +\EndIndex{Option}{headsepline~=\PName{simple switch}}% +\EndIndex{Option}{footsepline~=\PName{simple switch}}% + + +\begin{Declaration} + \KOption{pagenumber}\PName{position} +\end{Declaration} +\BeginIndex{Option}{pagenumber~=\PName{position}}% +This option defines if and where a page number will be placed on +consecutive pages. This option affects the page +styles\important[i]{\Pagestyle{headings}\\ + \Pagestyle{myheadings}\\ + \Pagestyle{plain}} \Pagestyle{headings}, \Pagestyle{myheadings}, and +\Pagestyle{plain}. It also affects the default page styles of the +\Package{scrpage2}\important{\Package{scrpage2}} package, if set before +loading the package (see \autoref{cha:scrpage}). It can take values only +influencing horizontal, only vertical, or both positions. Available value are +shown in \autoref{tab:scrlttr2.pagenumber}. Default is \PValue{botcenter}. + +\begin{table} + \caption[{available values of option \Option{pagenumber} with + \Class{scrlttr2}}]{available values of option \Option{pagenumber} for the + position of the page number in page styles \Pagestyle{headings}, + \Pagestyle{myheadings}, and \PValue{plain} with \Class{scrlttr2}} + \label{tab:scrlttr2.pagenumber} + \begin{desctabular} + \entry{\PValue{bot}, \PValue{foot}}{% + page number in footer, horizontal position not changed}% + \entry{\PValue{botcenter}, \PValue{botcentered}, \PValue{botmittle}, + \PValue{footcenter}, \PValue{footcentered}, \PValue{footmiddle}}{% + page number in footer, centered}% + \entry{\PValue{botleft}, \PValue{footleft}}{% + page number in footer, left justified}% + \entry{\PValue{botright}, \PValue{footright}}{% + page number in footer, right justified}% + \entry{\PValue{center}, \PValue{centered}, \PValue{middle}}{% + page number centered horizontally, vertical position not changed}% + \entry{\PValue{false}, \PValue{no}, \PValue{off}}{% + no page number}% + \entry{\PValue{head}, \PValue{top}}{% + page number in header, horizontal position not changed}% + \entry{\PValue{headcenter}, \PValue{headcentered}, \PValue{headmiddle}, + \PValue{topcenter}, \PValue{topcentered}, \PValue{topmiddle}}{% + page number in header, centered}% + \entry{\PValue{headleft}, \PValue{topleft}}{% + page number in header, left justified}% + \entry{\PValue{headright}, \PValue{topright}}{% + page number in header, right justified}% + \entry{\PValue{left}}{% + page number left, vertical position not changed}% + \entry{\PValue{right}}{% + page number right, vertical position not changed}% + \end{desctabular} +\end{table} +% +\EndIndex{Option}{pagenumber~=\PName{position}}% -\subsection{Further Settings} -\label{sec:scrlttr2.other} -In this paragraph variables and settings are listed which could not be -assigned to any other part of the letter declaration but somehow -belong to this section. +\begin{Declaration} + \Macro{pagestyle}\Parameter{page style}\\ + \Macro{thispagestyle}\Parameter{local page style} +\end{Declaration}% +\BeginIndex{Cmd}{pagestyle}% +\BeginIndex{Cmd}{thispagestyle}% +\BeginIndex{Pagestyle}{empty}% +\BeginIndex{Pagestyle}{plain}% +\BeginIndex{Pagestyle}{headings}% +\BeginIndex{Pagestyle}{myheadings}% +In letters written with \Class{scrlttr2} there are four different +page styles. +\begin{description} +\item[\Pagestyle{empty}] is the page style, in which the header and footer of + consecutive pages are completely + empty. This page style is also used for the first page, because + header and footer of this page are set by other means using the + macro \Macro{opening}\IndexCmd{opening} (see + \autoref{sec:scrlttr2.firstpage}, \autopageref{desc:scrlttr2.cmd.opening}). +\item[\Pagestyle{headings}] is the page style for running (automatic) headings + on consecutive pages. The inserted marks are the sender's name from the + variable \Variable{fromname}\IndexVariable{fromname} and the subject from + the variable \Variable{subject}\IndexVariable{subject} (see + \autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.fromname} and + \autopageref{desc:scrlttr2.variable.subject}). At which position these + marks and the page numbers are placed, depends on the previously described + option \Option{pagenumber} and the \PName{content} of the variables + \Variable{nexthead}\IndexVariable{nexthead} and + \Variable{nextfoot}\IndexVariable{nextfoot}. The author can also change + these marks manually after the \Macro{opening} command. To this end, the + commands \Macro{markboth} and \Macro{markright} are available as usual, and + with the use of package \Package{scrpage2} also \Macro{markleft} (see + \autoref{sec:scrpage.basics.mark}, \autopageref{desc:scrpage.cmd.automark}) + is available. +\item[\Pagestyle{myheadings}] is the page style for manual page headings on + consecutive pages. This is very similar to \PValue{headings}, but + here the marks must be set by the author using the commands + \Macro{markboth}\IndexCmd{markboth} and + \Macro{markright}\Index{markright}. With the use of package + \Package{scrpage2} also \Macro{markleft} can be utilized. +\item[\Pagestyle{plain}] is the page style with only page numbers in the + header or footer on consecutive pages. The placement of these page numbers is + influenced by the previously described option \Option{pagenumber}. +\end{description} +Page styles are also influenced by the previously described +options\important[i]{\Option{headsepline}\\\Option{footsepline}} +\Option{headsepline}\IndexOption{headsepline} and +\Option{footsepline}\IndexOption{footsepline}. The page style beginning with +the current page is switched using \Macro{pagestyle}. In contrast, +\Macro{thispagestyle} changes only the page style of the current +page. The\textnote{Attention!} letter class itself uses +\Macro{thispagestyle}\PParameter{empty} within +\Macro{opening}\IndexCmd{opening} for the first page of the letter. -\begin{Declaration} - \Variable{frombank} -\end{Declaration} -\BeginIndex{Variable}{frombank}% -This variable at the moment takes on a special meaning: it is not used -internally at this point, and the user can make use of it to set, for -example, his bank account within the sender's extension field or the -footer. +\BeginIndex[indexother]{}{font>style}% +\BeginIndex{FontElement}{pageheadfoot}% +\BeginIndex{FontElement}{pagefoot}% +\BeginIndex{FontElement}{pagenumber}% +For changing the font style of headers or footers you should use the user +interface described in \autoref{sec:maincls.textmarkup}. For header and +footer the same element is used, which you can name either +\FontElement{pageheadfoot}\important{\FontElement{pagehead}} or +\FontElement{pagehead}. There\ChangedAt{v3.00}{\Class{scrlttr2}} is an +additional element \FontElement{pagefoot}\important{\FontElement{pagefoot}} +for the page foot. This will be used after \FontElement{pageheadfoot} at page +foots, that has been defined either with variable +\Variable{nextfoot}\IndexVariable{nextfoot} or Package +\Package{scrpage2}\IndexPackage{scrpage2} (see \autoref{cha:scrpage}, +\autopageref{desc:scrpage.fontelement.pagefoot}). The element for the page +number within the header or footer is named +\FontElement{pagenumber}\important{\FontElement{pagenumber}}. Default settings +are listed in \autoref{tab:maincls.defaultFontsHeadFoot}, +\autopageref{tab:maincls.defaultFontsHeadFoot}. Please have also a look at +the example in \autoref{sec:maincls.pagestyle}, +\autopageref{sec:maincls.pagestyle.example}. +% +\EndIndex{FontElement}{pagenumber}% +\EndIndex{FontElement}{pagefoot}% +\EndIndex{FontElement}{pageheadfoot}% +\EndIndex[indexother]{}{font>style}% % -\EndIndex{Variable}{frombank}% +\EndIndex{Pagestyle}{myheadings}% +\EndIndex{Pagestyle}{headings}% +\EndIndex{Pagestyle}{plain}% +\EndIndex{Pagestyle}{empty}% +\EndIndex{Cmd}{thispagestyle}% +\EndIndex{Cmd}{pagestyle}% \begin{Declaration} - \Macro{nexthead}\Parameter{construction}\\ - \Macro{nextfoot}\Parameter{construction} + \Macro{markboth}\Parameter{left mark}\Parameter{right mark}\\ + \Macro{markright}\Parameter{right mark} \end{Declaration} -\BeginIndex{Cmd}{nexthead}% -\BeginIndex{Cmd}{nextfoot}% +\BeginIndex{Cmd}{markboth}% +\BeginIndex{Cmd}{markright}% The possibilities that are offered with variables and options in -\Class{scrlttr2} should be good enough in most cases to create -letterheads and footers for those pages that follow the first letter -page. Even more so since you can additionally change with -\Macro{markboth} and \Macro{markright} the sender's statements that -\Class{scrlttr2} uses to create the letterhead. The term ``subsequent -pages'' in this manual refers to all pages following the first letter -page. The commands \Macro{markboth}\IndexCmd{markboth} and -\Macro{markright}\IndexCmd{markright} can in particular be used -together with pagestyle\Index{page>style} -\PValue{myheadings}\IndexPagestyle{myheadings}. If the package -\Package{scrpage2}\IndexPackage{scrpage2} is used then this, of -course, is valid also for pagestyle +\Class{scrlttr2} should be good enough in most cases to create letterheads and +footers for the consecutive pages that follow the first letter page. Even more +so since you can additionally change with \Macro{markboth} and +\Macro{markright} the sender's statements that \Class{scrlttr2} uses to create +the letterhead. The commands \Macro{markboth}\IndexCmd{markboth} and +\Macro{markright}\IndexCmd{markright} can in particular be used together with +pagestyle \PValue{myheadings}\IndexPagestyle{myheadings}% +\important{\Pagestyle{myheadings}}. If the package +\Package{scrpage2}\IndexPackage{scrpage2} is used then this, of course, is +valid also for pagestyle \PValue{scrheadings}\IndexPagestyle{scrheadings}. There the command \Macro{markleft}\IndexCmd{markleft} is furthermore available. -At times one wants to have more freedom with creating the letterhead -or footer of subsequent pages. Then one has to give up the -possibilities of predefined letterheads or footers that could have -been chosen via the option \Option{pagenumber}\IndexOption{pagenumber} -(see \autoref{sec:scrlttr2.layout}, -\autopageref{desc:scrlttr2.option.pagenumber}). Instead one is free to -create the letterhead and footer of subsequent pages just the way one -wants to have them set. For that, one creates the desired letterhead -or footer \PName{construction} using the command \Macro{nexthead} or -\Macro{nextfoot}, respectively. Within \Macro{nexthead} and -\Macro{nextfoot} you can, for example, have several boxes side by side -or one beneath the other by use of the \Macro{parbox} command (see -\cite{latex:usrguide}). A more advanced user should have no problems -creating letterheads of footers of his own. Within -\PName{construction} you can of course also make use of the variables -by using \Macro{usekomavar}. -% -\EndIndex{Cmd}{nexthead}% -\EndIndex{Cmd}{nextfoot}% - - -\section{The Text} -\label{sec:scrlttr2.text} - -In contrast to an article, a report or a book, a letter normally has -no chapter or section structure. Even float environments with tables -and figure are unusual. Therefore, a letter has no table of contents, -lists of figures and tables, index, bibliography, glossary or similar -things. The letter text mainly consists of an opening and the main -text. Thereupon follow the signature, a postscript and various -listings. - - -\subsection{The Opening} -\label{sec:scrlttr2.opening} - -\begin{Explain} - In the early days of computer-generated letters, programs did not - have many capabilities, therefore the letters seldom had an opening. - Today the capabilities have been enhanced. Thus personal openings - are very common, even in mass-production advertising letters. -\end{Explain} - \begin{Declaration} - \Macro{opening}\Parameter{opening} -\end{Declaration} -\BeginIndex{Cmd}{opening}% -This is one of the most important commands in \Class{scrlttr2}. For -the user it may seem that only the opening is typeset, but the command -also typesets the folding marks, letterhead, address field, reference -fields line, subject, the page footer and others. In short, without -\Macro{opening} there is no letter. -% -\EndIndex{Cmd}{opening}% - -\subsection{Footnotes} -\label{sec:scrlttr2.footnotes} - -In letters footnotes should be used more sparingly than in normal -documents. However, \Class{scrlttr2} is equipped with all mechanisms -mentioned in \autoref{sec:maincls.footnotes} for the main document -classes. Therefore they will not be discussed here again. - -\subsection{Lists} -\label{sec:scrlttr2.lists} - -Lists have the same validity in letters as in normal documents. Thus -\Class{scrlttr2} provides the same possibilities as mentioned in -\autoref{sec:maincls.lists} for the main document classes. Therefore -they will not be discussed here again. - -\subsection{Margin Notes} -\label{sec:scrlttr2.marginNotes} - -Margin notes are quite uncommon in letters. Therefore the option -\Option{mpinclude} is not actively supported by \Class{scrlttr2}. -However, \Class{scrlttr2} is equipped with all mechanisms mentioned in -\autoref{sec:maincls.marginNotes} for the main document -classes. Therefore they will not be discussed here again. - -\subsection{Text Emphasis} -\label{sec:scrlttr2.emphasis} - -The distinction of text has the same importance in letters as in other -documents. Thus the same rules apply, meaning: emphasize text -sparingly. Even letters should be readable and a letter where each -word is typeset in another font is quite unreadable. - -The class \Class{scrlttr2} is equipped with all -mechanisms mentioned in \autoref{sec:maincls.emphasis} for -the main document classes. Therefore it will not be discussed -here again. - -\section{The Closing Part} -\label{sec:scrlttr2.backend} - -A letter always ends with a closing phrase. Even computer-generated -letters without signature have such a phrase. Sometimes this is a -sentence such as, ``This letter has been generated automatically and -is valid without a signature.''. Sometimes a sentence like this will -even be used as a signature. Thereupon can follow a postscript and -various listings. - -\subsection{Closing} + \Macro{setkomavar}\PParameter{\Variable{nexthead}}% + \OParameter{description}\Parameter{content}\\ + \Macro{setkomavar}\PParameter{\Variable{nextfoot}}% + \OParameter{description}\Parameter{content} +\end{Declaration} +\BeginIndex{Variable}{nexthead}% +\BeginIndex{Variable}{nextfoot}% +At times one wants to have more freedom with creating the letterhead or footer +of subsequent pages. Then one has to give up the previously described +possibilities of predefined letterheads or footers that could have been chosen +via the option \Option{pagenumber}\IndexOption{pagenumber}. Instead one is +free to create the letterhead and footer of consecutive pages just the way one +wants to have them set with page style +\Pagestyle{headings}\IndexPagestyle{headings}\important{\Pagestyle{headings}, + \Pagestyle{myheadings}} or +\Pagestyle{myheadings}\IndexPagestyle{myheadings}. For that, one creates the +desired letterhead or footer construction using the \PName{content} of +variable\ChangedAt{v3.08}{\Class{scrlttr2}} \Variable{nexthead} or +\Variable{nextfoot}, respectively. Within the \PName{content} of +\Variable{nexthead} and \Variable{nextfoot} you can, for example, have several +boxes side by side or one beneath the other by use of the \Macro{parbox} +command (see \cite{latex:usrguide}). A more advanced user should have no +problems creating letterheads of footers of his own. Within \PName{content} +you can and should of course also make use of other variables by using +\Macro{usekomavar}. \KOMAScript{} doesn't use the \PName{description} of both +variables. + +Only\textnote{Attention!} for compatibility reason the deprecated commands \Macro{nexthead}\IndexCmd[indexmain]{nexthead} and +\Macro{nextfoot}\IndexCmd[indexmain]{nextfoot} of former \Class{scrlttr2} +releases before 3.08 are also implemented. Nevertheless, you shouldn't use +those.% +% +\EndIndex{Variable}{nextfoot}% +\EndIndex{Variable}{nexthead}% +\EndIndex{Cmd}{markright}% +\EndIndex{Cmd}{markboth}% +% +\EndIndex{}{page>foot}% +\EndIndex{}{page>head}% +\EndIndex{}{page>style}% + + +\LoadCommon[scrlttr]{8} % \section{Interleaf Pages} + +\LoadCommon[scrlttr]{9} % \section{Footnotes} +\LoadCommon[scrlttr]{11}% -"- +\LoadCommon[scrlttr]{10}% -"- + +\LoadCommon[scrlttr]{12}% \section{Lists} + + +\section{Math} +\label{sec:scrlttr2.math}% +\BeginIndex{}{equations}% +\BeginIndex{}{formulas}% +\BeginIndex{}{mathematics}% + +There are not math environments implemented at the \KOMAScript{} +classes. Instead of this, the math features of the \LaTeX{} kernel have been +supported. Furthermore\textnote{Attention!} regular math with numbered +equations or formulas is very unusual at letters. Because of this +\Class{scrlttr2} doesn't actively support numbered equations. Therefore +options \Option{leqno} and \Option{fleqn}, that has been described for +\Class{scrbook}, \Class{scrreprt}, and \Class{scrartcl} at +\autoref{sec:maincls.math} are not available from \Class{scrlttr2}. + +You won't find a description of the math environments of the \LaTeX{} kernel +here. If you want to use \Environment{displaymath}\IndexEnv{displaymath}, +\Environment{equation}\IndexEnv{equation} and +\Environment{eqnarray}\IndexEnv{eqnarray} you should read a short introduction +into \LaTeX{} like \cite{lshort}. But\textnote{Hint!} if you want more than +very simple mathematics, usage of package \Package{amsmath} would be +recommended (see \cite{package:amsmath}).% +% +\EndIndex{}{mathematics} +\EndIndex{}{formulas} +\EndIndex{}{equations} + +\section{Floating Environments of Tables and Figures} +\label{sec:scrlttr2.floats} + +Floating environments for tables or figures are very unusual in +letters. Therefore\textnote{Attention!} \Class{scrlttr2} doesn't provide +them. If someone nevertheless needs floating environments, then this is often +points out a malpractice of the letter class. In such cases you may try to +define the floating environments with help of packages like \Package{tocbasic}\important{\Package{tocbasic}} (siehe +\autoref{cha:tocbasic}). Nevertheless, tabulars and pictures or graphics +without floating environment may still be done with the letter class +\Class{scrlttr2}. + + +\LoadCommon[scrlttr2]{13} % \section{Margin Notes} + + +\section{Closing} \label{sec:scrlttr2.closing} +\BeginIndex{}{closing}% +\BeginIndex{}{letter>closing}% +\BeginIndex{}{signature}% +\BeginIndex{}{letter>signature}% -The closing consists of three parts: besides the closing phrase there -are a hand-written inscription and the signature, which acts as an -explanation for the inscription. +That the letter closing will be set by \Macro{closing}\IndexCmd{closing} has +been explained already in \autoref{sec:scrlttr2.document}, +\autopageref{desc:scrlttr2.cmd.closing}. A kind of annotation to the signature +is often placed below the signature of the letter. The signing or hand-written +inscription itself is placed between this signature annotation and the closing +phrase. \begin{Declaration} - \Variable{signature} + \Macro{setkomavar}\PParameter{\Variable{signature}}% + \OParameter{description}\Parameter{content} \end{Declaration} \BeginIndex{Variable}{signature}% -The variable \Variable{signature} holds an explanation for the -inscription. The content is predefined as -\Macro{usekomavar}\PParameter{fromname}. The explanation may consist +The variable \Variable{signature} holds an explanation or annotation for the +inscription, the signing of the letter. The \PName{content} is predefined as +\Macro{usekomavar}\PParameter{fromname}. The annotation may consist of multiple lines. The lines should then be separated by a double -backslash. Paragraphs in the explanation are however not permitted. -% -\EndIndex{Variable}{signature}% - -\begin{Declaration} - \Macro{closing}\Parameter{closing phrase} -\end{Declaration} -\BeginIndex{Cmd}{closing}% -The command \Macro{closing} not only typesets the closing phrase, but -also the content of the variable \Variable{signature}. The closing -phrase may consists of multiple lines, but paragraphs are not -permitted. -% -\EndIndex{Cmd}{closing}% +backslash. Paragraph\textnote{Attention!} breaks in the annotation are however +not permitted.% \begin{Declaration} - \PLength{sigindent}\\ - \PLength{sigbeforevskip}\\ \Macro{raggedsignature} \end{Declaration} -\BeginIndex{PLength}{sigindent}% -\BeginIndex{PLength}{sigbeforevskip}% \BeginIndex{Cmd}{raggedsignature}% Closing phrase and signature will be typeset in a box. The width of the box is determined by the length of the longest line of the closing -phrase or signature. - -The box will be typeset with indentation of the length set in -pseudo-length \PLength{sigindent}. In the predefined \File{lco} files -this length is set to 0\Unit{mm}. - -The command \Macro{raggedsignature} defines the alignment inside the -box. In the predefined \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, the command can be -redefined in the same way as \Macro{raggedsection} (see +phrase or signature's \PName{content}. + +Where to place this box is determined by the pseudo-lengths +\PLength{sigindent}\IndexPLength{sigindent} and +\PLength{sigbeforevskip}\IndexPLength{sigbeforevskip} (see +\autoref{sec:scrlttr2-experts.closing}, +\autopageref{desc:scrlttr2-experts.plength.sigindent}). The command +\Macro{raggedsignature} defines the alignment inside the box. In the +predefined \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, the +command can be redefined in the same way as \Macro{raggedsection} (see \autoref{sec:maincls.structure}, \autopageref{desc:maincls.cmd.raggedsection}). -Between closing phrase and signature a vertical space is inserted, the -height of which is defined in the pseudo-length -\PLength{sigbeforevskip}. In the predefined \File{lco} files this is -set to 2 lines. In this space you can then write your inscription. \begin{Example} - You are writing as the directorate of a society a letter to all - members. Moreover, you want on the one hand to elucidate that you - are writing in the name of the board of directors, and on the other - hand you want indicate your position on the board of directors. -\begin{lstlisting} - \setkomavar{signature}{John McEnvy\\ - {\small (Vice-President ``The Other Society'')}} - \closing{Regards\\ - (for the board of directors)} -\end{lstlisting} -You can of coure set the variable \Variable{signature} in your private -\File{lco} files. Otherwise it is advisable to define the variable in -the letter preamble (see \autoref{sec:scrlttr2.startLetter}). + Now, Mr Public really wants to aggrandize himself. Therefor he uses the + signature to show again, that he himself was formerly chairman. Because of + this he changes \PName{contents} of variable + \Variable{signature}. Additionally he wants the signature be flush-left + aligned and so he also redefines \Macro{raggedsignature}:% + \lstinputcode[xleftmargin=1em]{letter-22}% + See \autoref{fig:scrlttr2.letter-22} for the result. + \begin{figure} + \setcapindent{0pt}% + \begin{captionbeside}[{Example: letter with extended sender, logo, + addressee, additional sender information, place, date, subject, + opening, text, closing, modified signature, postscript, distribution + list, enclosure, and puncher hole mark}] + {result of a small letter with extended sender, logo, addressee, + additional sender information, place, date, subject opening, text, + closing, modified signature, postscript, distribution list, enclosure + and puncher hole mark}[l] + \frame{\includegraphics[width=.4\textwidth]{letter-22}} + \end{captionbeside} + \label{fig:scrlttr2.letter-22} + \end{figure} \end{Example} % -\EndIndex{PLength}{sigindent}% -\EndIndex{PLength}{sigbeforevskip}% \EndIndex{Cmd}{raggedsignature}% - -\subsection{Postscript, Carbon Copy and Enclosures} -\label{sec:scrlttr2.afterClosing} - -After the closing can follow some other statements. Besides the -postscript, there are the distribution list of carbon copies, and the -reference to enclosures. - -\begin{Explain}% -\begin{Declaration} - \Macro{ps} -\end{Declaration}% -\BeginIndex{Cmd}{ps}% -In the time when letters were written by hand it was quite common to -use a postscript because this was the only way to add information -which one had forgotten to mention in the main part of the letter. Of -course, in letters written with {\LaTeX} you can insert additional -lines easily. Nevertheless, it is still popular to use the -postscript. It gives one a good possibility to underline again the -most important or sometimes the less important things of the -particular letter. % -\end{Explain} -This instruction merely switches to the postscript. Hence, a new -paragraph begins, and a vertical distance\,---\,usually below the -signature\,---\,is inserted. The command \Macro{ps} is followed by -normal text. If you want the postscript to be introduced with the -acronym ``PS:'' , which by the way is written without a full stop, you -have to type this yourself. The acronym is typeset neither -automatically nor optionally by the class \Class{scrlttr2}. +\EndIndex{Variable}{signature}% % -\EndIndex{Cmd}{ps} +\EndIndex{}{letter>signature}% +\EndIndex{}{signature}% +\EndIndex{}{letter>closing}% +\EndIndex{}{closing}% + + +\section{Letter Class Option Files} +\label{sec:scrlttr2.lcoFile}% +\BeginIndex{}{lco-file=\File{lco}-file}% +\BeginIndex{}{letter class option}% +\BeginIndex{}{letter>class option}% + +Normally, you would not redefine selections like the sender's information +every time you write a letter. Instead, you would reuse a whole set of +parameters for certain occasions. It will be much the same for the letterhead +and footer used on the first page. Therefore, it is reasonable to save these +settings in a separate file. For this purpose, the \Class{scrlttr2} class +offers the \File{lco}-files. The \File{lco} suffix is an abbreviation for +\emph{\emph{l}etter \emph{c}lass \emph{o}ption}. + +In an \File{lco} file you can use all commands available to the document at +the time the \File{lco} file is loaded. Additionally, it can contain internal +commands available to package writers. For \Class{scrlttr2}, these are in +particular the commands \Macro{@newplength}\IndexCmd{@newplength}, +\Macro{@setplength}\IndexCmd{@setplength}, and +\Macro{@addtoplength}\IndexCmd{@addtoplength} (see +\autoref{sec:scrlttr2-experts.pseudoLengths}). +There are already some \File{lco} files included in the {\KOMAScript} +distribution. The \File{DIN.lco}, \File{DINmtext.lco}, \File{SNleft.lco}, +\File{SN.lco}, \File{UScommercial9}, \File{UScommercial9DW}, +\File{NF.lco}\ChangedAt{v3.04}{\Class{scrlttr2}} files serve to adjust +{\KOMAScript} to different layout standards. They are well suited as templates +for your own parameter sets, while you become a \KOMAScript{} expert. The +\File{KOMAold.lco} file, on the other hand, serves to improve compatibility +with the old letter class \Class{scrlettr}. Since it contains internal +commands not open to package writers, you should not use this as a template +for your own \File{lco} files. You can find a list of predefined \File{lco} +files in \autoref{tab:lcoFiles}, \autopageref{tab:lcoFiles}. + +If you have defined a parameter set for a letter standard not yet supported by +\KOMAScript, you are explicitly invited to send this parameter set to the +{\KOMAScript} support address. Please do not forget to include the permission +for distribution under the {\KOMAScript} license (see the \File{lppl.txt} +file). If you know the necessary metrics for an unsupported letter standard, +but are not able to write a corresponding \File{lco} file yourself, you can +also contact the {\KOMAScript} author, Markus Kohm, directly. More +particular complex examples of \File{lco}-files are shown at \cite{homepage} +or in \cite{DANTE:TK0203:MJK}. Both locations are mainly in German. \begin{Declaration} - \Macro{cc}\Parameter{distribution list}\\ - \Variable{ccseparator} + \Macro{LoadLetterOption}\Parameter{name} \end{Declaration} -\BeginIndex{Cmd}{cc}% -\BeginIndex{Variable}{ccseparator}% -With the command \Macro{cc} it is possible to typeset a -\PName{distribution list}. The command takes the \PName{distribution - list} as its argument. If the content of the variable -\Variable{ccseparator} is not empty, then the name and the content of -this variable is inserted before \PName{distribution list}. In this -case the \PName{distribution list} will be indented appropriately. It -is a good idea to set the \PName{distribution list} -\Macro{raggedright} and to separate the individual entries with a -double backslash. +\BeginIndex{Cmd}{LoadLetterOption}% +Usually, the \File{lco}-files will be loaded by the \Macro{documentclass} +command. You enter the name of the \File{lco}-file without suffix as an +option\Index{option}. The \File{lco}-file will be loaded right after the class +file. + +However, it is also possible to load an \File{lco}-file later, or even from +within another \File{lco}-file. This may be done with the +\Macro{LoadLetterOption} command, which takes the \PName{name} of the +\File{lco}-file without suffix as a parameter. \begin{Example} - You want to indicate that your letter is sent to all members of a - society and to the board of directors: -\begin{lstlisting} - \cc{% - the board of directors\\ - all society members} -\end{lstlisting} -This instruction should be written below the \Macro{closing} -instruction from the previous example, or below a possible postscript. + Mr Public also writes a document containing several letters. Most of them + should comply with the German DIN standard. So he starts with: +\begin{lstcode} + \documentclass{scrlttr2} +\end{lstcode} + However, one letter should use the \File{DINmtext} variant, with the + address field placed more toward the top, which results in more text + fitting on the first page. The folding will be modified so that the + address field still matches the address window in a DIN~C6/5 envelope. + You can achieve this as follows: +\begin{lstcode} + \begin{letter}{% + Joana Public\\ + Hillside 1\\ + 12345 Public-City} + \LoadLetterOption{DINmtext} + \opening{Hello,} +\end{lstcode} + Since construction of the page does not start before the + \Macro{opening}\IndexCmd{opening} command, it is sufficient to load the + \File{lco}-file before this. In particular, the loading need not be done + before \Macro{begin}\PParameter{letter}. Therefore the changes made by + loading the \File{lco}-file are local to the corresponding letter. \end{Example} -A vertical space is inserted automatically before the distribution -list. -% -\EndIndex{Cmd}{cc}% -\EndIndex{Variable}{ccseparator}% - - -\begin{Declaration} - \Macro{encl}\Parameter{enclosures}\\ - \Variable{enclseparator} -\end{Declaration} -\BeginIndex{Cmd}{encl}% -\BeginIndex{Variable}{enclseparator}% -\PName{Enclosures} have the same structure as the distribution list. -The only difference is that here the enclosures starts with the name -and content of the variable \Variable{enclseparator}. -% -\EndIndex{Cmd}{encl}% -\EndIndex{Variable}{enclseparator}% - - -\section{Language Support} -\label{sec:scrlttr2.languages} -\BeginIndex{}{language}% - -The document class \Class{scrlttr2} supports many languages. These -include German (\PValue{german} for old German orthography, -\PValue{ngerman} for the new orthography, and \PValue{austrian} for -Austrian), English (\PValue{english} without specification as to -whether American or British should be used, \PValue{american} and -\PValue{USenglish} for American, and \PValue{british} and -\PValue{UKenglish} for British), French, Italian, Spanish, Dutch, -Croatian, Finnish, Norsk\ChangedAt{v3.02}{\Class{scrlttr2}}, and -Swedish\ChangedAt{v3.08}{\Class{scrlttr2}}. - -\subsection{Language Selection} -\label{sec:scrlttr2.switchLanguage} -\Index[indexmain]{language>selection} - -If the package \Package{babel}\IndexPackage{babel} (see -\cite{package:babel}) is used, one can switch between languages with -the command \Macro{selectlanguage}\Parameter{language}. 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 takes place already as a direct -consequence of loading such a package. Further information can be -obtained in the documentation of the relevant packages. - -\begin{Explain} - There is one thing more to mention about language packages. The - package \Package{french}\IndexPackage{french} (see - \cite{package:french}) redefines not only the terms of - \autoref{sec:scrlttr2.languageTerms}, but also other, for instance - it even redefines the command \Macro{opening}, since it assumes that - the definition of the standard \Class{letter} is used. With - \Class{scrlttr2} this is not the case, therefore the package - \Package{french} destroys the definition in \Class{scrlttr2} and - does not work correctly with \KOMAScript. The author views this is a - fault in the \Package{french} package. - - If one utilizes the \Package{babel}\IndexPackage{babel} package in - order to switch to language \PValue{french} while the package - \Package{french}\IndexPackage{french} is simultaneously installed, - then the same problems will likely occur, since \Package{babel} - employs definitions from the \Package{french} package. If the - package \Package{french} is not installed then there are no - problems. Aimilarly, there is no problem if for \Package{babel} - instead of \PValue{french} other languages like \PValue{acadian}, - \PValue{canadien}, \PValue{francais} or \PValue{frenchb} are chosen. - - From \Package{babel} version 3.7j this problem only occurs when it - is indicated explicitly by means of an option that \Package{babel} - should use the \Package{french} package. - - If it cannot be ascertained that a new version of \Package{babel} is - being used, it is recommended to use - - %\Macro{usepackage}\PValue{[...,frenchb,...]}\PParameter{babel} - - \begin{lstlisting} - \usepackage[...,frenchb,...]{babel} - \end{lstlisting} - - in order to select french. - - Other languages can possibly cause similar problems. Currently there - are no known problems with the \Package{babel} package for the - german language and the various english language selections. - -% \iftrue -% % You may use this paragraphs to improve page break: -% Most \Package{babel} features in \Package{babel} or original -% language definition files of \Package{babel} (e.\,g., -% \File{frenchb.ldf}), which may cause problems with other packages or -% classes, can be switched off. This is a great advantage of babel. So -% if you have a problem, try to switch of such features or ask the -% authors of \Package{babel}. - -% There are no known problems with using the -% \Package{german}\IndexPackage{german} or -% \Package{ngerman}\IndexPackage{ngerman} package for german selection -% with old or new orthography, nor for the various english selections. -% \fi -\end{Explain} - -\begin{Declaration} - \Macro{captionsenglish}\\ - \Macro{captionsUSenglish}\\ - \Macro{captionsamerican}\\ - \Macro{captionsbritish}\\ - \Macro{captionsUKenglish}\\ - \Macro{captionsgerman}\\ - \Macro{captionsngerman}\\ - \Macro{captionsaustrian}\\ - \Macro{captionsfrench}\\ - \Macro{captionsitalian}\\ - \Macro{captionsspanish}\\ - \Macro{captionsdutch}\\ - \Macro{captionscroatian} \\ - \Macro{captionsfinnish}\\ - \Macro{captionsnorsk}\\ - \Macro{captionsswedish} -\end{Declaration} -\BeginIndex{Cmd}{captionsenglish}\BeginIndex{Cmd}{captionsUSenglish}% -\BeginIndex{Cmd}{captionsamerican}\BeginIndex{Cmd}{captionsbritish}% -\BeginIndex{Cmd}{captionsUKenglish}\BeginIndex{Cmd}{captionsgerman}% -\BeginIndex{Cmd}{captionsngerman}% -\BeginIndex{Cmd}{captionsaustrian}\BeginIndex{Cmd}{captionsfrench}% -\BeginIndex{Cmd}{captionsitalian}\BeginIndex{Cmd}{captionsspanish}% -\BeginIndex{Cmd}{captionsdutch}\BeginIndex{Cmd}{captionscroatian}% -\BeginIndex{Cmd}{captionsfinnish}% -\BeginIndex{Cmd}{captionsnorsk}% -\BeginIndex{Cmd}{captionsswedish}% -If one switches the language then -using these commands the language-dependent terms from -\autoref{sec:scrlttr2.languageTerms} are redefined. If the used -language selection scheme does not support this then the commands -above can be used directly. -% -\EndIndex{Cmd}{captionsswedish}% -\EndIndex{Cmd}{captionsnorsk}% -\EndIndex{Cmd}{captionsenglish}\EndIndex{Cmd}{captionsUSenglish}% -\EndIndex{Cmd}{captionsamerican}\EndIndex{Cmd}{captionsbritish}% -\EndIndex{Cmd}{captionsUKenglish}\EndIndex{Cmd}{captionsgerman}% -\EndIndex{Cmd}{captionsngerman}% -\EndIndex{Cmd}{captionsaustrian}\EndIndex{Cmd}{captionsfrench}% -\EndIndex{Cmd}{captionsitalian}\EndIndex{Cmd}{captionsspanish}% -\EndIndex{Cmd}{captionsdutch}\EndIndex{Cmd}{captionscroatian}% -\EndIndex{Cmd}{captionsfinnish}% - -\begin{Declaration} - \Macro{dateenglish}\\ - \Macro{dateUSenglish}\\ - \Macro{dateamerican}\\ - \Macro{datebritish}\\ - \Macro{dateUKenglish}\\ - \Macro{dategerman}\\ - \Macro{datengerman}\\ - \Macro{dateaustrian}\\ - \Macro{datefrench}\\ - \Macro{dateitalian}\\ - \Macro{datespanish}\\ - \Macro{datedutch}\\ - \Macro{datecroatian}\\ - \Macro{datefinnish}\\ - \Macro{datenorsk}\\ - \Macro{dateswedish} -\end{Declaration} -\BeginIndex{Cmd}{dateenglish}\BeginIndex{Cmd}{dateUSenglish}% -\BeginIndex{Cmd}{dateamerican}\BeginIndex{Cmd}{datebritish}% -\BeginIndex{Cmd}{dateUKenglish}\BeginIndex{Cmd}{dategerman}% -\BeginIndex{Cmd}{datengerman}% -\BeginIndex{Cmd}{dateaustrian}\BeginIndex{Cmd}{datefrench}% -\BeginIndex{Cmd}{dateitalian}\BeginIndex{Cmd}{datespanish}% -\BeginIndex{Cmd}{datedutch}\BeginIndex{Cmd}{datecroatian}% -\BeginIndex{Cmd}{datefinnish}% -\BeginIndex{Cmd}{datenorsk}% -\BeginIndex{Cmd}{dateswedish}% -The numerical representation of the date\Index{date} (see option -\Option{numericaldate} in \autoref{sec:scrlttr2.headoptions}) will be -written depending on the selected language. Some examples can be found -in \autoref{tab:date}. -% -\begin{table}[t] - \centering - \caption{Language-dependent forms of the date} - \begin{tabular}{ll} - \toprule - Command & Date example \\ - \midrule - \Macro{dateenglish} & 24/12/1993\\ - \Macro{dateUSenglish} & 12/24/1993\\ - \Macro{dateamerican} & 12/24/1993\\ - \Macro{datebritish} & 24/12/1993\\ - \Macro{dateUKenglish} & 24/12/1993\\ - \Macro{dategerman} & 24.\,12.\,1993\\ - \Macro{datengerman} & 24.\,12.\,1993\\ - \Macro{dateaustrian} & 24.\,12.\,1993\\ - \Macro{datefrench} & 24.\,12.\,1993\\ - \Macro{dateitalian} & 24.\,12.\,1993\\ - \Macro{datespanish} & 24.\,12.\,1993\\ - \Macro{datedutch} & 24.\,12.\,1993\\ - \Macro{datecroatian} & 24.\,12.\,1993.\\ - \Macro{datefinnish } & 24.12.1993.\\ - \Macro{datenorsk} & 24.12.1993\\ - \Macro{dateswedish} & 24/12 1993\\ - \bottomrule - \end{tabular} - \label{tab:date} -\end{table} -% -\EndIndex{Cmd}{datenorsk}% -\EndIndex{Cmd}{dateenglish}\EndIndex{Cmd}{dateUSenglish}% -\EndIndex{Cmd}{dateamerican}\EndIndex{Cmd}{datebritish}% -\EndIndex{Cmd}{dateUKenglish}\EndIndex{Cmd}{dategerman}% -\EndIndex{Cmd}{datengerman}% -\EndIndex{Cmd}{dateaustrian}\EndIndex{Cmd}{datefrench}% -\EndIndex{Cmd}{dateitalian}\EndIndex{Cmd}{datespanish}% -\EndIndex{Cmd}{datedutch}\EndIndex{Cmd}{datecroatian}% -\EndIndex{Cmd}{datefinnish}% -\EndIndex{Cmd}{dateswedish}% - - -\subsection{Language-Dependent Terms}% -\label{sec:scrlttr2.languageTerms}% -\BeginIndex{}{language>-dependent terms}% -\BeginIndex{}{terms>language-dependent} - -As is usual in {\LaTeX}, the language-dependent terms are defined by -commands which are then redefined when one switches the language. - -\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{phonename}\\ - \Macro{faxname}\\ - \Macro{emailname}\\ - \Macro{wwwname}\\ - \Macro{bankname} -\end{Declaration} -\BeginIndex{Cmd}{yourrefname}\BeginIndex{Cmd}{yourmailname} -\BeginIndex{Cmd}{myrefname} -\BeginIndex{Cmd}{customername}\BeginIndex{Cmd}{invoicename} -\BeginIndex{Cmd}{subjectname} -\BeginIndex{Cmd}{ccname}\BeginIndex{Cmd}{enclname} -\BeginIndex{Cmd}{headtoname}\BeginIndex{Cmd}{headfromname} -\BeginIndex{Cmd}{datename}\BeginIndex{Cmd}{pagename} -\BeginIndex{Cmd}{phonename}\BeginIndex{Cmd}{faxname} -\BeginIndex{Cmd}{emailname}\BeginIndex{Cmd}{wwwname} -\BeginIndex{Cmd}{bankname} The commands above contain the -language-dependent terms. These definitions can be modified in order -to support a new language or for private customization. How this can -be done is described in \autoref{sec:scrlttr2.defLanguageTerms}. The -definitions become active only at \Macro{begin}\PParameter{document}. -Therefore they are not available in the {\LaTeX} preamble and cannot -be redefined there. In \autoref{tab:scrlttr2.languageTerms} the -default settings for \Option{english} and \Option{ngerman} can be -found. -% -\EndIndex{Cmd}{yourrefname}\EndIndex{Cmd}{yourmailname} -\EndIndex{Cmd}{myrefname} -\EndIndex{Cmd}{customername}\EndIndex{Cmd}{invoicename} -\EndIndex{Cmd}{subjectname} -\EndIndex{Cmd}{ccname}\EndIndex{Cmd}{enclname} -\EndIndex{Cmd}{headtoname}\EndIndex{Cmd}{headfromname} -\EndIndex{Cmd}{datename}\EndIndex{Cmd}{pagename} -\EndIndex{Cmd}{phonename}\EndIndex{Cmd}{faxname} -\EndIndex{Cmd}{emailname}\EndIndex{Cmd}{wwwname} -\EndIndex{Cmd}{bankname} - -\begin{table}[!t] - \begin{minipage}{\textwidth} - \centering - \caption{Default settings for languages \Option{english} - and \Option{ngerman}} - \begin{tabular}{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{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} - \label{tab:scrlttr2.languageTerms} - \deffootnote{1em}{1em}{\textsuperscript{1}}% - \footnotetext[1000]{Normally these terms are defined by language - packages like \Package{babel}. In this case they are not redefined - by \Class{scrlttr2} and may differ from the table above.} - \end{minipage} -\end{table} -% -\subsection{Defining and Changing Language-dependent Terms} -\label{sec:scrlttr2.defLanguageTerms} -\Index[indexmain]{language>definition} -\begin{Explain} - Normally one has to change or define the language-dependent terms of - \autoref{sec:scrlttr2.switchLanguage} in such a way that in addition - to the available terms the new or redefined terms are defined. This - is made more difficult by the fact that some packages like - \Package{german}\IndexPackage{german} or - \Package{ngerman}\IndexPackage{ngerman} redefine those settings when - the packages are loaded. This definitions unfortunately occurs in - such a manner as to destroy all previous private settings. That is - also the reason why \Class{scrlttr2} delays its own changes, with - \Macro{AtBeginDocument} until \Macro{begin}\PParameter{document}, - that is, after package loading is completed. The user can also use - \Macro{AtBeginDocument}, or redefine the language-dependent terms - after \Macro{begin}\PParameter{document}, that is, not put them in - the preamble at all. The class \Class{scrlttr2} even provides some - additional commands for defining language-dependent terms. -\end{Explain} +If\ChangedAt{v2.97}{\Class{scrlttr2}} an \File{lco}-file is loaded via +\Macro{documentclass}, then it may no longer have the same name as an option. -\begin{Declaration} - \Macro{providecaptionname}% - \Parameter{language}\Parameter{term}\Parameter{definition}\\ - \Macro{newcaptionname}% - \Parameter{language}\Parameter{term}\Parameter{definition}\\ - \Macro{renewcaptionname}% - \Parameter{language}\Parameter{term}\Parameter{definition} -\end{Declaration} -\BeginIndex{Cmd}{providecaptionname}% -\BeginIndex{Cmd}{newcaptionname}% -\BeginIndex{Cmd}{renewcaptionname}% -Using one of the commands above, the user can assign a -\PName{definition} for a particular \PName{language} to a -\PName{term}. The \PName{term} is always a macro. The commands differ -dependent on whether a given \PName{language} or a \PName{term} within -a given \PName{language} are already defined or not at the time the -command is called. - -If \PName{language} is not defined, then \Macro{providecaptionname} -does nothing other than writes a message in the log file. This happens -only once for each language. If \PName{language} is defined but -\PName{term} is not yet defined for it, then it will be defined using -\PName{definition}. The \PName{term} will not be redefined if the -\PName{language} already has such a definition; instead, an -appropriate message is written to the log file. - -The command \Macro{newcaptionname} has a slightly different behaviour. -If the \PName{language} is not yet defined, then a new language -command (see \autoref{sec:scrlttr2.switchLanguage}) will be created -and a message written to the log file. If \PName{term} is not yet -defined in \PName{language}, then it will be defined using -\PName{definition}. If \PName{term} already exists in -\PName{language}, then this results in an error message. - -The command \Macro{renewcaptionname} again behaves differently. It -requires an existing definition of \PName{term} in \PName{language}. -If neither \PName{language} nor \PName{term} exist or \PName{term} is -unknown in a defined language then a error message will be -given. Otherwise, the \PName{term} for \PName{language} will be -redefined according to \PName{definition}. - -The class \Class{scrlttr2} itself employs \Macro{providecaptionname} -in order to define the commands in -\autoref{sec:scrlttr2.languageTerms}. \begin{Example} - If you prefer ``Your message of'' instead of ``Your letter of'', you - have to redefine the definition of \Macro{yourmailname}. -\begin{lstlisting} - \renewcaptionname{english}{\yourmailname}{% - Your message of} -\end{lstlisting} - -Since only existing terms in available languages can be redefined, you -have to put the command after \Macro{begin}\PParameter{document} or -delay the command by using \Macro{AtBeginDocument}. Furthermore, you -will get an error message if there is no package used that switches -language selection to \PName{english}. + Since Mr~Public often writes letters with the same options and parameters, + he doesn't like to copy all these to each new letter. To simplify the effort + of writing a new letter, he therefore makes a \File{lco}-file:% + \lstinputcode[xleftmargin=1em]{ich.lco}% + With this the size of the previous letter decreases to: + \lstinputcode[xleftmargin=1em]{letter-23.tex}% + Nevertheless, as shown in \autoref{fig:scrlttr2.letter-23}, the result + doesn't change. + \begin{figure} + \setcapindent{0pt}% + \begin{captionbeside}[{Example: letter with extended sender, logo, + addressee, additional sender information, place, date, subject, + opening, text, closing, modified signature, postscript, distribution + list, enclosure, and puncher hole mark using a \File{lco}-file}] + {result of a small letter with extended sender, logo, addressee, + additional sender information, place, date, subject opening, text, + closing, modified signature, postscript, distribution list, enclosure + and puncher hole mark using a \File{lco}-file}[l] + \frame{\includegraphics[width=.4\textwidth]{letter-23}} + \end{captionbeside} + \label{fig:scrlttr2.letter-23} + \end{figure} \end{Example} + +Please note\textnote{Attention!} that immediately after loading the +document class normally neither a package for the input encoding nor a +language package has been loaded. Because of this, you should use \TeX's 7-bit +encoding for all characters, e.\,g., use ``\Macro{ss}'' to produce a German +``\ss''. + +In \autoref{tab:lcoFiles}, \autopageref{tab:lcoFiles} you can find a list of +all predefined \File{lco} files. If\textnote{Attention!} you use a printer +that has large unprintable areas on the left or right side, you might have +problems with the \Option{SN}\IndexOption{SN} option. Since the Swiss standard +SN~101\,130 defines the address field to be placed 8\Unit{mm} from the right +paper edge, the headline and the sender attributes too will be set with the +same small distance from the paper edge. This also applies to the reference +line when using the \Option{refline}\PValue{=wide} option (see +\autoref{sec:scrlttr2.firstpage}, +\autopageref{desc:scrlttr2.option.refline}). 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}, +\autopageref{desc:scrlttr2-experts.plength.toaddrvpos}) to a smaller +value. Additionally, also reduce \PLength{toaddrwidth} accordingly.% + +By\textnote{Hint!} the way, the \File{DIN} \File{lco}-file will always be +loaded as the first \File{lco} file. This ensures that all pseudo-lengths will +have more or less reasonable default values. Because of this, it is not +necessary to load this default file on your own. + +Please\textnote{Attention!} note that it is not possible to use +\Macro{PassOptionsToPackage} to pass options to packages from within an +\File{lco}-file that have already been loaded by the class. Normally, this +only applies to the \Package{typearea}, \Package{scrlfile}, \Package{scrbase}, +and \Package{keyval} packages.% + +\begin{desclist} + \renewcommand*{\abovecaptionskipcorrection}{-\normalbaselineskip}% + \desccaption{% + predefined \File{lco}-files\label{tab:lcoFiles}% + }{% + predefined \File{lco}-files (\emph{continuation})% + }% + \oentry{DIN}{% + parameter set for letters on A4-size paper, complying with German standard + DIN~676; suitable for window envelopes in the sizes C4, C5, C6, and C6/5 + (C6 long).}% + \oentry{DINmtext}{% + parameter set for letters on A4-size paper, complying with DIN~676, but + using an alternate layout with more text on the first page; only suitable + for window envelopes in the sizes C6 and C6/5 (C6 long).}% + \oentry{KakuLL}{% + parameter set for Japanese letters in A4 format; suitable for Japanese + window envelopes of type Kaku A4, in which the windows is approximately + 90\Unit{mm} wide, 45\Unit{mm} high, and positioned 25\Unit{mm} from the + left and 24\Unit{mm} from the top edge (see \autoref{cha:japanlco}).}% + \oentry{KOMAold}{% + parameter set for letters on A4-size paper using a layout close to the now + obsolete \Class{scrlettr} letter class; suitable for window envelopes in + the sizes C4, C5, C6, and C6/5 (C6 long); some additional commands to + improve compatibility with obsolete \Class{scrlettr} commands are defined; + \Class{scrlttr2} may behave slightly different when used with this + \File{lco}-file than with the other \File{lco}-files.}% + \oentry{NF}{% + parameter set for French letters, according to NF~Z~11-001; suitable for + window envelopes of type DL (110\Unit{mm} to 220\Unit{mm}) with a window + of about 20\Unit{mm} from right and bottom with width 45\Unit{mm} and + height 100\Unit{mm}; this file was originally developed by Jean-Marie + Pacquet, who provides an extended version and additional information on + \cite{www:NF.lco}.}% + \oentry{NipponEH}{% + parameter set for Japanese letters in A4 format; suitable for Japanese + window envelopes of types Chou or You 3 or 4, in which the windows is + approximately 90\Unit{mm} wide, 55\Unit{mm} high, and positioned + 22\Unit{mm} from the left and 12\Unit{mm} from the top edge (see + \autoref{cha:japanlco}).}% + \oentry{NipponEL}{% + parameter set for Japanese letters in A4 format; suitable for Japanese + window envelopes of types Chou or You 3 or 4, in which the windows is + approximately 90\Unit{mm} wide, 45\Unit{mm} high, and positioned + 22\Unit{mm} from the left and 12\Unit{mm} from the top edge (see + \autoref{cha:japanlco}).}% + \oentry{NipponLH}{% + parameter set for Japanese letters in A4 format; suitable for Japanese + window envelopes of types Chou or You 3 or 4, in which the windows is + approximately 90\Unit{mm} wide, 55\Unit{mm} high, and positioned + 25\Unit{mm} from the left and 12\Unit{mm} from the top edge (see + \autoref{cha:japanlco}).}% + \oentry{NipponLL}{% + parameter set for Japanese letters in A4 format; suitable for Japanese + window envelopes of types Chou or You 3 or 4, in which the windows is + approximately 90\Unit{mm} wide, 45\Unit{mm} high, and positioned + 25\Unit{mm} from the left and 12\Unit{mm} from the top edge (see + \autoref{cha:japanlco}).}% + \oentry{NipponRL}{% + parameter set for Japanese letters in A4 format; suitable for Japanese + window envelopes of types Chou or You 3 or 4, in which the windows is + approximately 90\Unit{mm} wide, 45\Unit{mm} high, and positioned + 25\Unit{mm} from the left and 24\Unit{mm} from the top edge (see + \autoref{cha:japanlco}).}% + \oentry{SN}{% + parameter set for Swiss letters with address field on the right side, + according to SN~010\,130; suitable for Swiss window envelopes in the sizes + C4, C5, C6, and C6/5 (C6 long).}% + \oentry{SNleft}{% + parameter set for Swiss letters with address field on the left side; + suitable for Swiss window envelopes with window on the left side in the + sizes C4, C5, C6, and C6/5 (C6 long).}% + \oentry{UScommercial9}{% + parameter set for US-American letters with paper size letter; suitable for + US-American window envelopes of size \emph{commercial~No.\,9} with window + width of 4\,1/2\Unit{in}, height of 1\,1/8\Unit{in}, and position of + 7/8\Unit{in} from the left and 1/2\Unit{in} from the bottom, without + sender's return address inside of the window; with folding it first at the + puncher mark then at the top folder mark also legal paper may be used but + would result in a page size warning}% + \oentry{UScommercial9DW}{% + parameter set for US-American letters with paper size letter; suitable for + US-American window envelopes of size \emph{commercial~No.\,9} with + addressee's window width of 3\,5/8\Unit{in}, height of 1\,1/8\Unit{in}, + and position of 3/4\Unit{in} from the left and 1/2\Unit{in} from the + bottom, and with a sender's window width of 3\,1/2\Unit{in}, height of + 7/8\Unit{in}, and position of 5/16\Unit{in} from the left and + 2\,1/2\Unit{in} from the bottom, but without a sender's return address at + any of the windows; with folding it first at the puncher mark then at the + top folder mark also legal paper may be used but would result in a page + size warning}% +\end{desclist} % -\EndIndex{Cmd}{providecaptionname}% -\EndIndex{Cmd}{newcaptionname}% -\EndIndex{Cmd}{renewcaptionname}% +\EndIndex{Cmd}{LoadLetterOption}% % -\EndIndex{}{language}% -\EndIndex{}{language>-dependent terms}% -\EndIndex{}{terms>language-dependent} - -\section{Address Files and Circular Letters} -\label{sec:scrlttr2.addressFile} -\BeginIndex{}{address>file}\BeginIndex{}{circular letters}% +\EndIndex{}{lco-file=\File{lco}-file}% +\EndIndex{}{letter class option}% +\EndIndex{}{letter>class option}% -When people write circular letters one of the more odious tasks is the -typing of many different addresses. The class \Class{scrlttr2}, as -did its predecessor \Class{scrlettr} as well, provides basic support -for this task. Currently there are plans for much enhanced support. -\typeout{^^J--- Ignore underfull and overfull \string\hbox:}% -\begin{Declaration} - \Macro{adrentry}\Parameter{Lastname}\Parameter{Firstname}% - \Parameter{Address}\Parameter{Phone}\Parameter{F1}\Parameter{F2}% - \Parameter{Comment}\Parameter{Key} +\section{Address Files and Circular Letters} +\label{sec:scrlttr2.addressFile}% +\BeginIndex{}{address>file}% +\BeginIndex{}{circular letters}% +\index{serial letters|see circular letters}% + +When people write circular letters one of the more odious tasks is the typing +of many different addresses. The class \Class{scrlttr2}% +\iffalse% Umbruchkorrekturtext +, as did its predecessor \Class{scrlettr} as well,% +\fi% +\ provides basic support for this task.% +\iffalse% Umbruchkorrekturtext +\ Currently there are plans for much enhanced support.% +\fi + +\begin{Declaration} + \Macro{adrentry}\Parameter{last-name}\Parameter{first-name}% + \Parameter{address}\Parameter{phone}\Parameter{F1}\Parameter{F2}% + \Parameter{comment}\Parameter{key} \end{Declaration}% -\typeout{^^J--- Don't ignore underfull and overfull \string\hbox:} -\BeginIndex{Cmd}{adrentry} -\label{decl:adrentry} - +\BeginIndex{Cmd}{adrentry}% The class \Class{scrlttr2} supports the use of address files which contain address entries, very useful for circular letters. The file extension of the address file has to be \File{.adr}. Each entry is an \Macro{adrentry} command with eight parameters, for example: -\begin{lstlisting} +\begin{lstcode} \adrentry{McEnvy} {Flann} {Main Street 1\\ Glasgow} @@ -3802,28 +3191,27 @@ extension of the address file has to be \File{.adr}. Each entry is an {} {niggard} {FLANN} -\end{lstlisting} -The 5\textsuperscript{th} and 6\textsuperscript{th} elements, -\PValue{F1} and \PValue{F2}, can be used freely: for example, for the -gender, the academic grade, the birthday, or the date on which the -person joined a society. The last parameter \PName{Key} should only -consist of uppercase letters in order to not interfere with existing -{\TeX} or {\LaTeX} commands. +\end{lstcode} +The 5\textsuperscript{th} and 6\textsuperscript{th} elements, \PValue{F1} and +\PValue{F2}, can be used freely: for example, for the gender, the academic +grade, the birthday, or the date on which the person joined a society. The +last parameter \PName{key} should only consist of more than one uppercase +letters in order to not interfere with existing {\TeX} or {\LaTeX} commands. \begin{Example} - Mr.\,McEnvy is one of your most important business partners, but + Mr McEnvy is one of your most important business partners, but every day you receive correspondence from him. Before long you do not want to bother typing his boring address again and again. Here \Class{scrlttr2} can help. Assume that all your business partners have an entry in your \File{partners.adr} address file. If you now - have to reply to Mr.\,McEnvy again, then you can save typing as + have to reply to Mr~McEnvy again, then you can save typing as follows: - \begin{lstlisting} + \begin{lstcode} \input{partners.adr} \begin{letter}{\FLANN} Your correspondence of today \dots \end{letter} - \end{lstlisting} + \end{lstcode} Your {\TeX} system must be configured to have access to your address file. Without access, the \Macro{input} command results in an error. You can either put your address file in the same directory @@ -3833,29 +3221,26 @@ consist of uppercase letters in order to not interfere with existing % \EndIndex{Cmd}{adrentry} -\typeout{^^J--- Ignore underfull and overfull \string\hbox:}% \begin{Declaration} - \Macro{addrentry}\Parameter{Lastname}\Parameter{Firstname}% - \Parameter{Address}\Parameter{Phone}\Parameter{F1}\Parameter{F2}% - \Parameter{F3}\Parameter{F4}\Parameter{Key} + \Macro{addrentry}\Parameter{last-name}\Parameter{first-name}% + \Parameter{address}\Parameter{phone}\Parameter{F1}\Parameter{F2}% + \Parameter{F3}\Parameter{F4}\Parameter{key} \end{Declaration}% -\typeout{^^J--- Dont't ignore underfull and overfull \string\hbox:} \BeginIndex{Cmd}{addrentry}% -Over the years people have objected that the \Macro{adrentry} has only -two free parameters. To cater to this demand, there now exists a new -command called \Macro{addrentry}\,---\,note the additional -``d''\,---\,which supports four freely-definable parameters. Since -{\TeX} supports maximally nine parameters per command, the comment -parameter has fallen away. Other than this difference, the use is the -same as that of \Macro{adrentry}. - -Both \Macro{adrentry} and \Macro{addrentry} commands can be freely -mixed in the \File{adr} files. However, it should be noted that there -are some packages which are not suited to the use of -\Macro{addrentry}. For example, the \Package{adrconv} by Axel -Kielhorn can be used to create address lists from \File{adr} files, -but it has currently no support for command \Macro{addrentry}. In -this case, the only choice is to extend the package yourself. +Over the years people have objected that the \Macro{adrentry} has only two +free parameters. To cater to this demand, there now exists a new command +called \Macro{addrentry}\,---\,note the additional ``d''\,---\,which supports +four freely-definable parameters. Since {\TeX} supports maximally nine +parameters per command, the comment parameter has fallen away. Other than this +difference, the use is the same as that of \Macro{adrentry}. + +Both \Macro{adrentry} and \Macro{addrentry} commands can be freely mixed in +the \File{adr} files. However, it should be noted that there are some packages +which are not suited to the use of \Macro{addrentry}. For example, the +\Package{adrconv} by Axel Kielhorn can be used to create address lists from +\File{adr} files, but it has currently no support for command +\Macro{addrentry}. In this case, the only choice is to extend the package +yourself.% % \EndIndex{Cmd}{addrentry} @@ -3866,30 +3251,30 @@ requirement to access a complicated database system via {\TeX}. \begin{Example} Suppose you are member of a society and want write an invitation for the next general meeting to all members. - \begin{lstlisting} - \documentclass{scrlttr2} - \begin{document} - \renewcommand*{\adrentry}[8]{ - \begin{letter}{#2 #1\\#3} - \opening{Dear members,} Our next general meeting will be on - Monday, August 12, 2002. The following topics are \dots - \closing{Regards,} - \end{letter} - } - \input{members.adr} +\begin{lstcode} + \documentclass{scrlttr2} + \begin{document} + \renewcommand*{\adrentry}[8]{ + \begin{letter}{#2 #1\\#3} + \opening{Dear members,} Our next general meeting will be on + Monday, August 12, 2002. The following topics are \dots + \closing{Regards,} + \end{letter} + } + \input{members.adr} \end{document} -\end{lstlisting} -If the address file contains \Macro{addrentry} commands too, than an -additional definition for \Macro{addrentry} is required before loading -the address file: -\begin{lstlisting} +\end{lstcode} + If the address file contains \Macro{addrentry} commands too, than an + additional definition for \Macro{addrentry} is required before loading + the address file: +\begin{lstcode} \renewcommand*{\addrentry}[9]{% \adrentry{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#9}% } -\end{lstlisting} -In this simple example the extra freely-definable parameter is not -used, and therefore \Macro{addrentry} is defined with the help of -\Macro{adrentry}. +\end{lstcode} + In this simple example the extra freely-definable parameter is not + used, and therefore \Macro{addrentry} is defined with the help of + \Macro{adrentry}. \end{Example} With some additional programming one can let the content of the @@ -3903,7 +3288,7 @@ the \Macro{adrentry} and and \Macro{addrentry} commands can be used. has not yet been paid by the member. If you would like to write a more personal reminder to each such member, then the next example can help you: -\begin{lstlisting} +\begin{lstcode} \renewcommand*{\adrentry}[8]{ \ifdim #6pt>0pt\relax % #6 is an amount greater than 0. @@ -3921,32 +3306,32 @@ the \Macro{adrentry} and and \Macro{addrentry} commands can be used. \end{letter} \fi } -\end{lstlisting} +\end{lstcode} \end{Example} -As you can see, the letter text can be made more personal by depending -on attributes of the letter's addressee. The number of attributes is -only restricted by number of two free parameters of the -\Macro{adrentry} command, or four free parameters of the -\Macro{addrentry} command. +As you can see, the letter text can be made more personal by depending on +attributes of the letter's addressee. The number of attributes is only +restricted by number of two free parameters of the \Macro{adrentry} command, +or four free parameters of the \Macro{addrentry} command. + \begin{Declaration} \Macro{adrchar}\Parameter{initial letter}\\ \Macro{addrchar}\Parameter{initial letter} \end{Declaration} -\BeginIndex{Cmd}{adrchar}\BeginIndex{Cmd}{addrchar} +\BeginIndex{Cmd}{adrchar}% +\BeginIndex{Cmd}{addrchar}% \Index[indexmain]{address>list}\Index[indexmain]{telephone list}% -As already mentioned above, it is possible to create address and -telephone lists using \File{adr} files. For that, the additional -package \Package{adrconv} by Axel Kielhorn (see -\cite{package:adrconv}) is needed. This package contains interactive -{\LaTeX} documents which help to create those lists. +As already mentioned above, it is possible to create address and telephone +lists using \File{adr} files. For that, the additional package +\Package{adrconv} by Axel Kielhorn (see \cite{package:adrconv}) is needed. +This package contains interactive {\LaTeX} documents which help to create +those lists. The address files have to be sorted already in order to obtain sorted -lists. It is recommended to separate the sorted entries at each -different initial letter of \PName{Lastname}. As a separator, the -commands \Macro{adrchar} and \Macro{addrchar} can be used.. These -commands will be ignored if the address files are utilized in -\Class{scrlettr2}. +lists. It is recommended to separate the sorted entries at each different +initial letter of \PName{last name}. As a separator, the commands +\Macro{adrchar} and \Macro{addrchar} can be used. These commands will be +ignored if the address files are utilized in \Class{scrlettr2}. % \begin{Example} Suppose you have the following short address file: @@ -3995,114 +3380,26 @@ commands will be ignored if the address files are utilized in command. The definition can be found in \File{adrdir.tex}. \end{Example} More about the \Package{adrconv} package can be found in its -documentation. There you should also find information about whether -the current version of \Package{adrconv} supports the -\Macro{addrentry} and \Macro{addrchar} commands. Former versions only -know the commands \Macro{adrentry} and \Macro{adrchar}. +documentation. There you should also find information about whether the +current version of \Package{adrconv} supports the \Macro{addrentry} and +\Macro{addrchar} commands. Former versions only know the commands +\Macro{adrentry} and \Macro{adrchar}.% % -\EndIndex{Cmd}{adrchar}\EndIndex{Cmd}{addrchar}% +\EndIndex{Cmd}{adrchar}% +\EndIndex{Cmd}{addrchar}% % -\EndIndex{}{address>file}\EndIndex{}{circular letters}% - -\section{From \Class{scrlettr} to \Class{scrlttr2}} -\label{sec:scrlttr2.fromscrlettr} - -The first step in the conversion of an old letter written with the -\Class{scrlettr} class is to load the appropriate \File{lco} file -using option \Option{KOMAold} at \Macro{documentclass}. Thereupon -most commands of the old class should work. However, you will -encounter some differences in the output, since the page layout of the -old class is not realized exactly. The reason is that the calculation -of the type area in \Class{scrlettr} has some minor bugs. For example, -the position of the folding marks used to depend on the height of the -page header, which again depended on the font size. That was -unambiguously a design error. - -There is no compatibility regarding the defined lengths in -\Class{scrlettr}. Thus, if a user has changed the page layout of -\Class{scrlettr}, then the relevant statements should be deleted or -commented out. In some cases, the modification of a length can cause -an error, since this length is no longer defined in \Class{scrlttr2}. -The user should delete or comment out such modifications as well. - -After the switch from \Class{scrlettr} to \Class{scrlttr2}, the old -letter example can be successfully compiled already alone through the -setting of the option \Option{KOMAold}: -\begin{lstlisting} - \documentclass[10pt,KOMAold]{scrlttr2} - \name{{\KOMAScript} team} - \address{Class Alley 1\\12345 {\LaTeX} City} - \signature{Your {\KOMAScript} team} - \begin{document} - \begin{letter}{{\KOMAScript} users\\ - Everywhere\\world-wide} - \opening{Dear {\KOMAScript} users,} - the {\KOMAScript} team is proud to announce \dots - \closing{Happy {\TeX}ing} - \end{letter} - \end{document} -\end{lstlisting} - -The next step is that while wanting the old commands to be still be -available, the layout of the old letter should no longer be used. If, -for example, one wants to sue the layout of the letter class option -\Option{DIN}, then this option can be given in \Macro{documentclass}, -but is has to be specified \emph{after} the option \Option{KOMAold}: - -\begin{lstlisting} - \documentclass[10pt,KOMAold,DIN]{scrlttr2} - \name{{\KOMAScript} team} - \address{Class Alley 1\\12345 {\LaTeX} City} - \signature{Your {\KOMAScript} team} - \begin{document} - \begin{letter}{{\KOMAScript} users\\ - Everywhere\\world-wide} - \opening{Dear {\KOMAScript} users,} - the {\KOMAScript} team is proud to announce \dots - \closing{Happy {\TeX}ing} - \end{letter} - \end{document} -\end{lstlisting} -By using more options this way, you can further influence the -layout. However, the author recommends a more inherent change right -away. - -The last step is to replace all old commands with their new -equivalents, and to omit the option \Option{KOMAold}. For this task, -it may help to read the contents of \File{KOMAold.lco}. In that file -the old commands are defined using the new commands and variables. - -\begin{lstlisting} - \documentclass{scrlttr2} - \setkomavar{fromname}{{\KOMAScript} team} - \setkomavar{fromaddress}{Class Alley 1\\ - 12345 {\LaTeX} City} - \setkomavar{signature}{Your {\KOMAScript} team} - \let\raggedsignature=\raggedright - \begin{document} - \begin{letter}{{\KOMAScript} users\\ - Everywhere\\ - world-wide} - \opening{Dear {\KOMAScript} users,} - the {\KOMAScript} team is proud to announce \dots - \closing{Happy {\TeX}ing} - \end{letter} - \end{document} -\end{lstlisting} -This example shows also the possibility to change the alignment of the -signature by redefining the command \Macro{raggedsignature}. This is -always recommended when the width of the explanation of the signature as -defined by the command -\Macro{setkomavar}\PParameter{signature}\PParameter{\dots} is greater than the -width of the argument of \Macro{closing}. +\EndIndex{}{circular letters}% +\EndIndex{}{address>file}% % -\EndIndex{Class}{scrlttr2}\EndIndex{}{letters} +\EndIndex{Class}{scrlttr2}% +\EndIndex{}{letters}% + %%% Local Variables: %%% mode: latex -%%% coding: iso-latin-1 +%%% coding: us-ascii %%% TeX-master: "../guide" %%% End: -% LocalWords: scrlttr simpleSwitchValues afteropening beforeopening -% LocalWords: locfield +% LocalWords: scrlttr simpleSwitchValues afteropening beforeopening Combinable +% LocalWords: locfield Hennig Kohm diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/scrlttr2examples.dtx b/Master/texmf-dist/source/latex/koma-script/doc/english/scrlttr2examples.dtx new file mode 100644 index 00000000000..a476e7722f0 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/scrlttr2examples.dtx @@ -0,0 +1,345 @@ +% \CheckSum{0} +% \iffalse +% ====================================================================== +% scrlttr2examples.dtx +% Copyright (c) Markus Kohm, 2008-2011 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ---------------------------------------------------------------------- +% scrlttr2examples.dtx +% Copyright (c) Markus Kohm, 2008-2011 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% +% Generation of letter example files for scrlttr2 chapter. +% +% --------------------------------------------------------------------------- +% +% Erzeugung der Brief-Beispiele für das scrlttr2-Kapitel. +% +% ============================================================================ +%<*ins> +\def\batchfile{scrlttr2examples.dtx} +\input docstrip.tex + +\keepsilent +\askforoverwritefalse + +\generate{% + \nopreamble\nopostamble + \file{musterlogo.eps}{\from{scrlttr2examples.dtx}{logo}}% +} + +\generate{% + \nopreamble\nopostamble + \file{ich.lco}{\from{scrlttr2examples.dtx}{lco,23,\languagename}}% +} + +\generate{% + \nopreamble\nopostamble + \file{letter-0.tex}{\from{scrlttr2examples.dtx}{example,0,\languagename}}% + \file{letter-1.tex}{\from{scrlttr2examples.dtx}{example,1,\languagename}}% + \file{letter-2.tex}{\from{scrlttr2examples.dtx}{example,2,\languagename}}% + \file{letter-3.tex}{\from{scrlttr2examples.dtx}{example,3,\languagename}}% + \file{letter-4.tex}{\from{scrlttr2examples.dtx}{example,4,\languagename}}% + \file{letter-5.tex}{\from{scrlttr2examples.dtx}{example,5,\languagename}}% + \file{letter-6.tex}{\from{scrlttr2examples.dtx}{example,6,\languagename}}% + \file{letter-7.tex}{\from{scrlttr2examples.dtx}{example,7,\languagename}}% + \file{letter-8.tex}{\from{scrlttr2examples.dtx}{example,8,\languagename}}% + \file{letter-9.tex}{\from{scrlttr2examples.dtx}{example,9,\languagename}}% + \file{letter-10.tex}{\from{scrlttr2examples.dtx}{example,10,\languagename}}% + \file{letter-11.tex}{\from{scrlttr2examples.dtx}{example,11,\languagename}}% + \file{letter-12.tex}{\from{scrlttr2examples.dtx}{example,12,\languagename}}% + \file{letter-13.tex}{\from{scrlttr2examples.dtx}{example,13,\languagename}}% + \file{letter-14.tex}{\from{scrlttr2examples.dtx}{example,14,\languagename}}% + \file{letter-15.tex}{\from{scrlttr2examples.dtx}{example,15,\languagename}}% + \file{letter-16.tex}{\from{scrlttr2examples.dtx}{example,16,\languagename}}% + \file{letter-17.tex}{\from{scrlttr2examples.dtx}{example,17,\languagename}}% + \file{letter-18.tex}{\from{scrlttr2examples.dtx}{example,18,\languagename}}% + \file{letter-19.tex}{\from{scrlttr2examples.dtx}{example,19,\languagename}}% + \file{letter-20.tex}{\from{scrlttr2examples.dtx}{example,20,\languagename}}% + \file{letter-21.tex}{\from{scrlttr2examples.dtx}{example,21,\languagename}}% + \file{letter-22.tex}{\from{scrlttr2examples.dtx}{example,22,\languagename}}% + \file{letter-23.tex}{\from{scrlttr2examples.dtx}{example,23,\languagename}}% + \file{letter-label.tex}{\from{scrlttr2examples.dtx}{% + example,label,\languagename}}% + \file{letter-nipponA.tex}{\from{scrlttr2examples.dtx}{% + example,22,nipponA,\languagename}}% + \file{letter-nipponB.tex}{\from{scrlttr2examples.dtx}{% + example,22,nipponB,\languagename}}% +} + +\csname endinput\endcsname +% +% +% \begin{macrocode} +%<*lco&23> +\ProvidesFile{ich.lco}[2008/06/11 lco +% (John Public)] +% (Peter Musterfrau)] +\KOMAoptions{foldmarks=true,foldmarks=blmtP, + fromphone,fromemail,fromlogo,subject=titled} +%<*english> +\setkomavar{fromname}{John Public} +\setkomavar{signature}{John Public\\ + (former chairman)} +% +%<*ngerman> +\setkomavar{fromname}{Peter Musterfrau} +\setkomavar{signature}{Peter Musterfrau\\ + (ehemaliger Vorsitzender)} +% +\renewcommand*{\raggedsignature}{\raggedright} +%<*english> +\setkomavar{fromaddress}{Valley 2\\ + 54321 Public-Village} +% +%<*ngerman> +\setkomavar{fromaddress}{Hinter dem Tal 2\\ + 54321 Musterheim} +% +\setkomavar{fromphone}{0\,12\,34~56\,78} +%\setkomavar{fromemail}{Peter@Public.invalid} +%\setkomavar{fromemail}{Peter@Musterfrau.invalid} +\setkomavar{fromlogo}{% + \includegraphics{musterlogo}} +\setkomavar{location}{\raggedright +%<*english> + Club member no.~4711\\ + since 11.09.2001\\ + chairman 2003--2005} +\setkomavar{place}{Public-Village} +\setkomavar{frombank}{Bank of Friendly Greetings} +% +%<*ngerman> + Mitglied Nr.~4711\\ + seit dem 11.09.2001\\ + Vorsitzender in den Jahren 2003--2005} +\setkomavar{place}{Musterheim} +\setkomavar{frombank}{Bank freundlichen Gru\ss es} +% +% +%<*example> +%<*label> +\AtBeginDocument{% + \usepackage{xcolor,eso-pic}% + \BeforeClosingMainAux{% + \AddToShipoutPicture*{% + \thinlines\color{gray!50}% + \AtPageLowerLeft{% + \put(0,\LenToUnit{8mm}){% + \line(0,1){\LenToUnit{180mm}}% + }% + \multiput(\LenToUnit{70mm},\LenToUnit{8mm})(\LenToUnit{70mm},0){3}{% + \line(0,1){\LenToUnit{216mm}}% + }% + \multiput(0,\LenToUnit{8mm})(0,\LenToUnit{36mm}){6}{% + \line(1,0){\LenToUnit{210mm}}% + }% + \put(\LenToUnit{70mm},\LenToUnit{224mm}){% + \line(1,0){\LenToUnit{140mm}}% + }% + }\color{black}% + }% + }% +} +% +%<0|1|2|3|4|5>\documentclass[version=last]{scrlttr2} +%<6>\documentclass[version=last,fontsize=14pt]{scrlttr2} +%\documentclass[foldmarks=true,foldmarks=blmtP, +%\documentclass[foldmarks=true,locfield=wide, +%<8> fromalign=false, +%<9> fromalign=center, +%<10> fromalign=false,fromrule=aftername, +%<11> fromalign=center,fromrule=aftername, +%<12> fromalign=false,fromrule=afteraddress, +%<13|17> fromalign=center,fromrule=afteraddress, +%<14|16> fromrule=afteraddress, +%<15|18> fromalign=right,fromrule=afteraddress, +%<12|13|14|15> fromphone,fromemail, +%<16|17|18|19|20|21|22> fromphone,fromemail,fromlogo, +% fromphone=false,fromemail=false, +%<21|22> subject=titled, +% version=last]{scrlttr2} +%<23>\documentclass[version=last,ich]{scrlttr2} +%\LoadLetterOption{NipponLL} +%\LoadLetterOption{NipponEL} +%