diff options
193 files changed, 49246 insertions, 18210 deletions
diff --git a/Master/texmf-dist/doc/latex/koma-script/README b/Master/texmf-dist/doc/latex/koma-script/README index 13790420b84..0b6d0c5eafc 100644 --- a/Master/texmf-dist/doc/latex/koma-script/README +++ b/Master/texmf-dist/doc/latex/koma-script/README @@ -1,6 +1,6 @@ -KOMA-Script 2012/07/29 v3.11b -Copyright (c) Markus Kohm <komascript(at)gmx.info>, 1994-2012 +KOMA-Script 2013/12/19 v3.12 +Copyright (c) Markus Kohm <komascript(at)gmx.info>, 1994-2013 This material is subject to the LaTeX Project Public License. See lppl.txt (english) or lppl-de.txt (german) for the details of that @@ -20,3 +20,445 @@ For installation see INSTALL.txt (english) or INSTALLD.txt (german, UTF-8). -------------------------------------------------------------------- + +Classes and Packages: + +============================================================================== +scraddr - Package to provide data from scrlttr2's adr-files +------------------------------------------------------------------------------ +Maintainer: Markus Kohm +E-Mail: komascript at gmx info +Abstract: scraddr is a LaTeX package of the KOMA-Script bundle. + scrlttr2 uses adr-files to provide circuit letters. Package + scraddr provides commands to read such files and to use the + data of the address entries not only with scrlttr2 class and + not only for circuit letters. +Requires: +License: LPPL 1.3c or later +State: Author maintained +Version: 2013/09/30 v1.1c +============================================================================== +scrartcl - versatile class may be used as a drop-in replacement of article +------------------------------------------------------------------------------ +Maintainer: Markus Kohm +E-Mail: komascript at gmx info +Abstract: scrartcl is a LaTeX class of the KOMA-Script bundle. It is + the KOMA-Script drop-in replacement of LaTeX standard class + article. It provides all options, environments, counters, + lengths and commands of the LaTeX standard class article, but + also several additional options, environments, commands + etc. to make it much more versatile. The default layout of + scrartcl differs from article with emphasis on typography. + Nevertheless by changing the defaults a layout very similar to + the layou of the standard class may be accomplished. +Requires: scrkbase - internal KOMA-Script package + tocbasic - KOMA-Script package + typearea - KOMA-Script package +License: LPPL 1.3c or later +State: Author maintained +Version: 2013/12/19 v3.12 +============================================================================== +scrbase - basic features for KOMA-Script, e.g. conditionals and key=value +------------------------------------------------------------------------------ +Maintainer: Markus Kohm +E-Mail: komascript at gmx info +Abstract: scrbase is a LaTeX package of the KOMA-Script bundle. It + provides some basic functions used by KOMA-Script, that may be + used as well by authors and users of other classes and + packages. + + First of all it provides an extended key=value handling, that + may be used for run-time options of classes and packages. + Several packages of a family may share options and all the + options of one family may be changed with a single command. + + Additional conditions like \ifundefinedorrelax, \ifpdftex, + \ifVTeX, \ifpdfoutput, \ifstr etc. are provided. Definition + of most of them may be prevented from being defined and have + additional internal representations, that may be used by + package or class authors. + + It also provides commands to easily define or change language + dependent terms and that work not only with babel but with + other packages like ngerman too. + + It provides some commands for package and class authors + missing in the LaTeX kernel like \ClassInfoNoLine, + \PackageInfoNoLine or \l@addto@macro. + + Last but not least it provides commands for integer division + and integer modulo operation, that may be used e.g. inside + \numexpr ...\relax or with \ifnum. +Requires: keyval - key=value package from the graphics bundle + scrlfile - KOMA-Script package for file loading manipulation +License: LPPL 1.3c or later +State: Author maintained +Version: 2013/12/19 v3.12 +============================================================================== +scrbook - versatile class may be used as a drop-in replacement of book +------------------------------------------------------------------------------ +Maintainer: Markus Kohm +E-Mail: komascript at gmx info +Abstract: scrbook is a LaTeX class of the KOMA-Script bundle and a + drop-in replacement of LaTeX standard class book. It provides + all options, environments, commands, etc. of the LaTeX + standard class book, but also several additional options, + environments, commands etc. to make it much more versatile. + The default layout of scrbook differs from book with emphasis + on typography. Nevertheless by changing the defaults + a layout very similar to the layou of the standard class may + be accomplished. +Requires: scrkbase - internal KOMA-Script package + tocbasic - KOMA-Script package + typearea - KOMA-Script package +License: LPPL 1.3c or later +State: Author maintained +Version: 2013/12/19 v3.12 +============================================================================== +scrdate - calender date operations, e.g. calculation of the day of the week +------------------------------------------------------------------------------ +Maintainer: Markus Kohm +E-Mail: komascript at gmx info +Abstract: scrdate is a LaTeX package of the KOMA-Script bundle. It + provides several operations with calender dates, e.g. show the + century or the decade of a year, calculate the day of the week + of a given calender date, show the current calender date in + ISO form. It has support for several languages, like English, + German, French, Italian, Spanish, Croatian, Finnish, Norsk, + Swedish, and Danish. +Requires: scrbase - KOMA-Script package for some basic features. + scrlfile - KOMA-Script package for file loading manipulation +License: LPPL 1.3c or later +State: Author maintained +Version: 2011/03/31 v3.08b +============================================================================== +scrdoc - internal source documentation class of KOMA-Script +------------------------------------------------------------------------------ +Maintainer: Markus Kohm +E-Mail: komascript at gmx info +Abstract: scrdoc is an internal LaTeX class of the KOMA-Script bundle. + It is an extension of ltxdoc. KOMA-Script uses scrdoc for + the implementation documentation and the documentation of + packages, that aren't KOMA-Script core packages. Currently + there isn't any user manual for this class, because the only + user is the KOMA-Script maintainer. +Requires: ltxdoc - the LaTeX2e source documentation class + scrartcl - the KOMA-Script article class +License: LPPL 1.3c or later +State: Author maintained +Version: 2003/01/19 v0.1d +============================================================================== +scrextend - make some features of the KOMA-Script classes available for others +------------------------------------------------------------------------------ +Maintainer: Markus Kohm +E-Mail: komascript at gmx info +Abstract: scrextend is a LaTeX package of the KOMA-Script bundle. It + makes some features of the KOMA-Script classes available for + other classes, i.e. for the standard classes. +Requires: scrkbase - internal package with some basics of KOMA-Script + etoolbox - tool-box for LaTeX programming using e-TeX +License: LPPL 1.3c or later +State: Author maintained +Version: 2013/12/19 v3.12 KOMA-Script KOMA-Script package (extend other classes with features of +============================================================================== +scrfontsizes - package to generate a KOMA-Script font size file +------------------------------------------------------------------------------ +Maintainer: Markus Kohm +E-Mail: komascript at gmx info +Abstract: scrfontsizes is a LaTeX package of the KOMA-Script bundle. It + provides only a very simple interface to generate KOMA-Script + font size files. +Requires: scrextend - some KOMA-Script features for other classes +License: LPPL 1.3c or later +State: Author maintained +Version: 2013/12/19 v3.12 +============================================================================== +scrhack - patch some isues with other packages +------------------------------------------------------------------------------ +Maintainer: Markus Kohm +E-Mail: komascript at gmx info +Abstract: scrhack is a LaTeX package of the KOMA-Script bundle. It + patches other packages to make them work better, add new + features to them and to improve their interaction with + KOMA-Script. One main feature is, to make them work with + tocbasic instead of the KOMA-Script's deprecated float list + interface. Currently patches for float.sty, floatrow.sty, + (old versions of) hyperref, and listings are available. +Requires: scrkbase - internal KOMA-Script package with basics + tocbasic - features for helper files and float environments +License: LPPL 1.3c or later +State: Author maintained +Version: 2013/12/19 v3.12 +============================================================================== +scrjura - contract environment for advocates and scholary persons in law +------------------------------------------------------------------------------ +Maintainer: Markus Kohm +E-Mail: komascript at gmx info +Abstract: scrjura is a LaTeX package of the KOMA-Script bundle. It + has been made on copperation with a German lawyer to provide + environments for contracts, laws, acts or other juristic + puposes. It supports automatic numbering of paragraphs and + semi-automatic numbering of sentences. Currently German and + English are supported, but unfortunately there's only a German + user manual. +Requires: scrkbase - internal KOMA-Script package with basics + tocbasic - features for helper files and float environments +License: LPPL 1.3c or later +State: Author maintained +Version: 2013/11/04 v0.7 +============================================================================== +scrkbase - internal basic features for KOMA-Script classes and packages +------------------------------------------------------------------------------ +Maintainer: Markus Kohm +E-Mail: komascript at gmx info +Abstract: scrkbase is an internal KOMA-Script packages, that provides + some features that are common for several KOMA-Script classes + and packages. Users and class or package authors should not + use the package directly. +Requires: scrbase - KOMA-Script package for some basic features. + scrlfile - KOMA-Script package for file loading manipulation +License: LPPL 1.3c or later +State: Author maintained +Version: 2013/12/19 v3.12 +============================================================================== +scrlayer-notecolumn - control note columns parallel to the main text +------------------------------------------------------------------------------ +Maintainer: Markus Kohm +E-Mail: komascript at gmx info +Abstract: scrlayer-notecolumn is a LaTeX package of the KOMA-Script + bundle. It provides a end user interface to above scrlayer, + to define and manage note columns. Those note columns are + somehow similar to margin note (see LaTeX command \marginpar + or packages like notecolumn), but you may use several of them. + The package provides page breaks inside note columns and + synchronization points between the main text and note columns. + + Like most of the KOMA-Script packages you may use this package + not only with KOMA-Script classes but with several other + classes, e.g., the LaTeX standard classes too. +Requires: scrlayer.sty +License: LPPL 1.3c or later +State: Author maintained, proof of concept +Version: 15/11/2013 v0.1.1514 package (end user interface for scrlayer) +============================================================================== +scrlayer-scrpage - controlling page headers and footers +------------------------------------------------------------------------------ +Maintainer: Markus Kohm +E-Mail: komascript at gmx info +Abstract: scrlayer-scrpage is a LaTeX package of the KOMA-Script bundle. + It provides a end user interface to above scrlayer, to define + and manage page styles. This end user interface is as much + compatible to scrpage2, that users should easily be able to + switch from the old scrpage2 package to the new one. + Nevertheless it provides several new features to control the + page headers and footers. + + Like most of the KOMA-Script packages you may use this package + not only with KOMA-Script classes but with several other + classes, e.g., the LaTeX standard classes too. +Requires: scrlayer.sty +License: LPPL 1.3c or later +State: Author maintained +Version: 14/12/2013 v0.9.1548 package (end user interface for scrlayer) +============================================================================== +scrlayer - defining layers and controlling page headers and footers +------------------------------------------------------------------------------ +Maintainer: Markus Kohm +E-Mail: komascript at gmx info +Abstract: scrlayer is a LaTeX package of the KOMA-Script bundle. Users + may already know a kind of layers from packages like eso-pic + or textpos. scrlayer is another package, that provides + background and foreground layers, but in difference to those + other packages, these layers are part of the page style + definition. With this you may simply switch between usage of + layers by switching the page style. + + In short words: The page style interface of scrlayer provides + commands to define layer-stack-based page styles and to manage + those layer stacks. + + Nevertheless using the layers directly is recommended for + advanced users only. End user interfaces for beginners or + average users are provided by additional packages, that load + scrlayer on their own, e.g., scrlayer-scrpage. +Requires: scrkbase.sty +License: LPPL 1.3c or later +State: Author maintained +Version: 31/10/2013 v0.9.1480 package (defining layers and page styles) +============================================================================== +scrlfile - control of package dependencies +------------------------------------------------------------------------------ +Maintainer: Markus Kohm +E-Mail: komascript at gmx info +Abstract: scrlfile is a LaTeX package of the KOMA-Script bundle. It + provides execution of commands before or after loading, files, + classes or packages and even automatic replacement of loading + files, classes, or packages by other files, classes, or + packages. It can also prevent a package from beeing loaded. + It also provides execution of commands before or after closing + the main aux-file while \end{document}. Is has been used by + the KOMA-Script classes for more than a decade. +Requires: +License: LPPL 1.3c or later +State: Author maintained +Version: 2013/12/19 v3.12 +============================================================================== +scrlttr2 - versatile letter class with separation of text area and note paper +------------------------------------------------------------------------------ +Maintainer: Markus Kohm +E-Mail: komascript at gmx info +Abstract: scrlttr2 is a letter class for LaTeX2e that allows definition + of several note papers and text area settings, that are + independent from the note paper. So you may not only use + KOMA-Script package typearea to define the text area and the + margins of the text area, but even packages like geometry. + + The positions of the elements of the note paper may be changed + by so called pseudo lengths. This makes it not only possible + to adjust scrlttr2 to local conventions, norms and paper sizes + but also to a wanted corporate identity. + + Several predefined parameter sets, called letter class option + or lco-files, are for two German letters, Swiss letters, US + letters, Japanese letters, and French letters are part of the + KOMA-Script bundle. More may be found on CTAN or the + KOMA-Script homepage as separate packages. + + Additional lco-files for different note papers may be found on + the KOMA-Script homepage, e.g. one demonstration file for a + note paper similar to the one of the Washington State + University. +Requires: scrkbase - internal KOMA-Script package + typearea - KOMA-Script package +Recommended: marvosym - package by Martin Vogel providing symbols +License: LPPL 1.3c or later +State: Author maintained +Version: 2013/12/19 v3.12 +============================================================================== +scrpage2 - control of page headers and footers +------------------------------------------------------------------------------ +Maintainer: Markus Kohm +E-Mail: komascript at gmx info +Abstract: scrpage2 is a LaTeX package of the KOMA-Script bundle. It + provides facilities for changing the contents of page headers + and footers. You may either configure a predefined pair or + page styles similar to headings and plain or myheadings and + plain, use a simple user interface to define completely new + page styles or a more complex expert interface to have more + effective degrees of freedom in defining new page styles. + + scrpage2 also provides simple options and commands to decide, + e.g., whether or not the running heads should be done + automatically, which headings levels should generate automatic + running heads, whether or not there should be horizontal lines + above or below the page headers and footers, to change the + colour or font of the page headers and footers (and the + lines) and more. +Requires: +License: LPPL 1.3c or later +State: Author maintained +Version: 2013/12/19 v3.12 +============================================================================== +scrreprt - versatile class may be used as a drop-in replacement of report +------------------------------------------------------------------------------ +Maintainer: Markus Kohm +E-Mail: komascript at gmx info +Abstract: scrreprt is the KOMA-Script drop-in replacement of LaTeX + standard class report. It provides all options, environments, + counters, lengths and commands of the LaTeX standard class + report, but also several additional options, environments, + commands etc. to make it much more versatile. + The default layout of scrreprt differs from report with + emphasis on typography. Nevertheless by changing the defaults + a layout very similar to the layou of the standard class may + be accomplished. +Requires: scrkbase - internal KOMA-Script package + tocbasic - KOMA-Script package + typearea - KOMA-Script package +License: LPPL 1.3c or later +State: Author maintained +Version: 2013/12/19 v3.12 +============================================================================== +scrtime - show the time of the LaTeX run +------------------------------------------------------------------------------ +Maintainer: Markus Kohm +E-Mail: komascript at gmx info +Abstract: scrtime is a LaTeX package of the KOMA-Script bundle. It + provides only some tiny facilities to show the time of the + LaTeX run. +Requires: scrkbase - internal package with some basics of KOMA-Script +License: LPPL 1.3c or later +State: Author maintained +Version: 2011/03/31 v3.08b +============================================================================== +scrwfile - Spare write handles for helper files to avoid `No room' messages +------------------------------------------------------------------------------ +Maintainer: Markus Kohm +E-Mail: komascript at gmx info +Abstract: scrwfile is a LaTeX package of the KOMA-Script bundle. TeX + provides only about 16 write handles available by \newwrite. + With LaTeX not only the aux-file but each helper file like the + toc-file, the lof-file, the lot-file and files like raw + indexes and raw glossaries need one of those handles. + scrwfile provides facilities to avoid all the handles of the + helper files, that use the aux-file for intermediate writing. + This means, that toc-file, lof-file, lot-file and files of + packages like listings don't need a write handle anymore. So + the user will have more write handles for files like indexes + or glossaries and may avoid `No room for new \write' error + messages. + + scrwfile also provides facilities to clone helper files, e.g., + this may be used to have two tables of contents with different + tocdepth settings. +Requires: scrbase - some basic features for class and package authors + tocbasic - basic features for helper files and lists of floats + scrlfile - control of package dependencies +License: LPPL 1.3c or later +State: Author maintained +Version: 2013/08/05 v0.1f-alpha LaTeX2e +============================================================================== +tocbasic - Management of tables and lists of contents using helper files +------------------------------------------------------------------------------ +Maintainer: Markus Kohm +E-Mail: komascript at gmx info +Abstract: tocbasic is a LaTeX package of the KOMA-Script bundle. The + main purpose of package tocbasic is to provide features for + authors of classes and packages to create own tables or lists + of contents like the list of figures and the list of tables + and thereby allow other classes or packages some types of + controll about these. For examples package tocbasic delegates + language control of all these tables and lists of contents to + package babel. So automatic change of language will be + provides inside all these tables and lists of contents. Using + tocbasic will exculpate authors of classes and packages from + implementation of such features. + + KOMA-Script itself uses tocbasic not only for the table of + contents but also for the already mentioned lists of figures + and tables. +Requires: keyval - key=value interface of the graphics bundle +License: LPPL 1.3c or later +State: Author maintained +Version: 2013/12/19 v3.12 +============================================================================== +tocstyle - Control layout of table of contents, list of figures etc. +------------------------------------------------------------------------------ +Maintainer: Markus Kohm +E-Mail: komascript at gmx info +Abstract: tocstyle is a LaTeX package of the KOMA-Script bundle. While + the main classes of the KOMA-Script bundle were made, there + where several ideas for formating the table of contents and + lists of floats, but almost none of them where + implemented. One reason was, that the KOMA-Script author + didn’t like to change the LaTeX kernel at a class, because + this may result in serveral problems with other packages. The + package tocstyle will fill the gap. If it conflicts with + another package, you simply may decide not to use it. + + The current release is only a proof of concept. +Requires: +License: LPPL 1.3c or later +State: Unstable +Version: 2013/08/11 v0.2e-alpha LaTeX2e +============================================================================== diff --git a/Master/texmf-dist/doc/latex/koma-script/komabug.tex b/Master/texmf-dist/doc/latex/koma-script/komabug.tex index 728339cb2be..35d0db25cf0 100644 --- a/Master/texmf-dist/doc/latex/koma-script/komabug.tex +++ b/Master/texmf-dist/doc/latex/koma-script/komabug.tex @@ -393,7 +393,7 @@ You have to edit that message file after creating the empty message.^^J% \ifcase\expandafter\number\answer % 1 - \def\category{Installation}\GetVersion{scrkvers.dtx} + \def\category{Installation}\GetVersion{scrkernel-version.dtx} \let\categoryversion\komaversion \or % 2 diff --git a/Master/texmf-dist/doc/latex/koma-script/manifest.txt b/Master/texmf-dist/doc/latex/koma-script/manifest.txt index 0b9e265a39f..9c11bd8c749 100644 --- a/Master/texmf-dist/doc/latex/koma-script/manifest.txt +++ b/Master/texmf-dist/doc/latex/koma-script/manifest.txt @@ -1,6 +1,6 @@ % ====================================================================== % manifest.txt -% Copyright (c) Markus Kohm, 2005-2012 +% Copyright (c) Markus Kohm, 2005-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % manifest.txt -% Copyright (c) Markus Kohm, 2005-2012 +% Copyright (c) Markus Kohm, 2005-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -35,7 +35,7 @@ % Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== % -% CONTENTS OF THE KOMA-SCRIPT RELEASE 2012/07/29 v3.11b +% CONTENTS OF THE KOMA-SCRIPT RELEASE 2013/12/19 v3.12 % ------------------------------------------------------ % % @@ -104,7 +104,7 @@ % adrconvnote.tex - Source of the chapter about adrconv at the english % user guide % authorpart.tex - heading of part I -% common-0.tex ... common-15.tex +% common-0.tex ... common-15.tex, common-20.tex, common-21.tex % - used in several chapters % guide-english.tex % - Terms for the english user guide @@ -139,6 +139,17 @@ % the english user guide % scrpage2.tex - Source of the chapter about scrpage2 at the english % user guide +% scrlayer-scrpage.tex +% - Source of the chapter about scrlayer-scrpage at the +% english user guide +% scrlayer-scrpage-experts.tex +% - Source of the chapter about scrlayer-scrpage at the +% expert part of the english user guide +% scrlayer.tex - Source of the chapter about scrlayer the +% english user guide +% (scrlayer-notecolumn.tex +% - Source of the chapter about scrlayer-notecolumn at the +% english user guide (currently generated file)) % (tocbasic.tex - Source of the chapter about tocbasic at the english % user guide (generated file)) % typearea.tex - Source of the chapter about typearea in part I of @@ -151,7 +162,7 @@ % adrconvnote.tex - Quellen des Kapitels ueber adrconv in der deutschen % Anleitung % authorpart.tex - Vorspann von Teil I -% common-0.tex ... common-15.tex +% common-0.tex ... common-15.tex, common-20.tex, common-21.tex % - Passagen, die in verschiedenen Kapiteln vorkommen % expertpart.tex - Vorspann von Teil II % guide-ngerman.tex @@ -188,6 +199,20 @@ % deutschen Anleitung % scrpage2.tex - Quellen des Kapitels ueber scrpage2 in der deutschen % Anleitung +% scrlayer-scrpage.tex +% - Quellen des Kapitels ueber scrlayer-scrpage in der +% deutschen Anleitung +% scrlayer-scrpage-experts.tex +% - Quellen des Kapitels ueber scrlayer-scrpage im +% Exptertenteil der deutschen Anleitung +% scrlayer-notecolumn.tex +% - Quellen des Kapitels ueber scrlayer-notecolumn in der +% deutschen Anleitung +% scrlayer-notecolumn-example.tex +% - Quellen des Beispiels aus dem Kapitel ueber +% scrlayer-notecolumn in der deutschen Anleitung +% scrlayer.tex - Quellen des Kapitels ueber scrlayer in der +% deutschen Anleitung % tocbasic.tex - Quellen des Kapitels ueber tocbasic in der deutschen % Anleitung % typearea.tex - Quellen des Kapitels ueber typearea in Teil I der @@ -207,29 +232,51 @@ % % scrdoc.dtx - Class used by the KOMA-Script dtx files % scrbeta.dtx - Betainformation for all classes and packages -% scrkbase.dtx - KOMA-Script kernel base -% scrkbib.dtx - KOMA-Script bibliography part of the classes -% scrkfloa.dtx - KOMA-Script float part of the classes -% scrkfont.dtx - KOMA-Script font part of the classes -% scrkftn.dtx - KOMA-Script footnote part of the classes -% scrkidx.dtx - KOMA-Script index part of the classes -% scrklang.dtx - KOMA-Script language part of the classes and packages -% scrkliof.dtx - KOMA-Script list of ... part of the classes -% scrklist.dtx - KOMA-Script lists part of the classes -% scrkmisc.dtx - KOMA-Script other parts of the classes -% scrkpage.dtx - KOMA-Script pagestyle part of the classes -% scrkpar.dtx - KOMA-Script paragraph setting part of the classes -% scrksect.dtx - KOMA-Script sectioning part of the classes -% scrktare.dtx - KOMA-Script typearea part of the classes and package -% scrktitl.dtx - KOMA-Script title part of the classes -% scrkvers.dtx - KOMA-Script version part of the classes and packages -% scrkcile.dtx - KOMA-Script circular letter part -% scrkcomp.dtx - KOMA-Script compatibility modes of the classes -% scrklco.dtx - KOMA-Script letter class option part +% scrkernel-basics.dtx +% - KOMA-Script kernel basics for all packages and classes +% scrkernel-bibliography.dtx +% - KOMA-Script bibliography part of the classes +% scrkernel-floats.dtx +% - KOMA-Script float part of the classes +% scrkernel-fonts.dtx +% - KOMA-Script font part of the classes and packages +% scrkernel-footnotes.dtx +% - KOMA-Script footnote part of the classes and packages +% scrkernel-index.dtx +% - KOMA-Script index part of the classes +% scrkernel-language.dtx +% - KOMA-Script language part of the classes and packages +% scrkernel-listsof.dtx +% - KOMA-Script list of ... part of the classes +% scrkernel-listsandtabulars.dtx +% - KOMA-Script lists part of the classes +% scrkernel-miscellaneous.dtx +% - KOMA-Script other parts of the classes or packages +% scrkernel-pagestyles.dtx +% - KOMA-Script pagestyle part of the classes +% scrkernel-paragraphs.dtx +% - KOMA-Script paragraph settings part of the classes +% scrkernel-sections.dtx +% - KOMA-Script sectioning part of the classes +% scrkernel-typearea.dtx +% - KOMA-Script typearea part of the classes and package +% scrkernel-title.dtx +% - KOMA-Script title part of the classes +% scrkernel-version.dtx +% - KOMA-Script version part of the classes and packages +% scrkernel-circularletters.dtx +% - KOMA-Script circular letter part +% scrkernel-compatibility.dtx +% - KOMA-Script compatibility modes of the classes +% scrkernel-letterclassoptions.dtx +% - KOMA-Script letter class option part % japanlco.dtx - KOMA-Script letter class options for Japanese letters -% scrknpap.dtx - KOMA-Script note paper part of scrlttr2 -% scrkplen.dtx - KOMA-Script pseudo length part of scrlttr2 -% scrkvars.dtx - KOMA-Script variables part of scrlttr2 +% scrkernel-notepaper.dtx +% - KOMA-Script note paper part of scrlttr2 +% scrkernel-pseudolengths.dtx +% - KOMA-Script pseudo length part of scrlttr2 +% scrkernel-variables.dtx +% - KOMA-Script variables part of scrlttr2 % scrlogo.dtx - KOMA-Script logo for all classes and packages % scrhack.dtx - KOMA-Script hacking other packages % @@ -237,8 +284,6 @@ % % tocbasic.dtx - KOMA-Script toc-file package % -% scrlettr.dtx - KOMA-Script obsolete letter class -% % scrpage.dtx - KOMA-Script page style packages % % scrlfile.dtx - KOMA-Script load file package @@ -249,15 +294,18 @@ % % scrtime.dtx - KOMA-Script time and date package % +% scrlayer.dtx - KOMA-Script layer package +% scrlayer-scrpage.dtx +% - KOMA-Script page style package using layers +% scrlayer-notecolumn.dtx +% - KOMA-Script note column package using layers +% % % Installation scripts for the various parts: % ------------------------------------------- % +% scrdocstrip.tex - Extension of docstrip.tex % scrmain.ins - Installation script for the main classes and packages -% scrlfile.ins - Installation script for the load file package -% scrlettr.ins - Installation script for the obsolete letter class -% scraddr.ins - Installation script for the address package -% scrpage.ins - Installation script for the page style packages % scrstrip.inc - Include file at the begin of all installation scripts % scrstrop.inc - incldue file at the end of all installation scripts % @@ -351,6 +399,10 @@ doc/english/scrlttr2.tex doc/english/scrlttr2-experts.tex doc/english/scrlttr2examples.dtx doc/english/scrpage2.tex +doc/english/scrlayer-scrpage.tex +doc/english/scrlayer-scrpage-experts.tex +doc/english/scrlayer.tex +% doc/english/scrlayer-notecolumn.tex (currently not, because it's generated) % doc/english/tocbasic.tex (currently not, because it's generated) doc/english/typearea.tex doc/english/typearea-experts.tex @@ -390,6 +442,11 @@ doc/ngerman/scrlttr2.tex doc/ngerman/scrlttr2-experts.tex doc/ngerman/scrlttr2examples.dtx doc/ngerman/scrpage2.tex +doc/ngerman/scrlayer-scrpage.tex +doc/ngerman/scrlayer-scrpage-experts.tex +doc/ngerman/scrlayer.tex +doc/ngerman/scrlayer-notecolumn.tex +doc/ngerman/scrlayer-notecolumn-example.tex doc/ngerman/tocbasic.tex doc/ngerman/typearea.tex doc/ngerman/typearea-experts.tex @@ -400,29 +457,29 @@ Makefile.baserules scrdoc.dtx scrbeta.dtx -scrkbase.dtx -scrkbib.dtx -scrkfloa.dtx -scrkfont.dtx -scrkftn.dtx -scrkidx.dtx -scrklang.dtx -scrkliof.dtx -scrklist.dtx -scrkmisc.dtx -scrkpage.dtx -scrkpar.dtx -scrksect.dtx -scrktare.dtx -scrktitl.dtx -scrkvers.dtx -scrkcile.dtx -scrkcomp.dtx -scrklco.dtx +scrkernel-basics.dtx +scrkernel-bibliography.dtx +scrkernel-floats.dtx +scrkernel-fonts.dtx +scrkernel-footnotes.dtx +scrkernel-index.dtx +scrkernel-language.dtx +scrkernel-listsof.dtx +scrkernel-listsandtabulars.dtx +scrkernel-miscellaneous.dtx +scrkernel-pagestyles.dtx +scrkernel-paragraphs.dtx +scrkernel-sections.dtx +scrkernel-typearea.dtx +scrkernel-title.dtx +scrkernel-version.dtx +scrkernel-circularletters.dtx +scrkernel-compatibility.dtx +scrkernel-letterclassoptions.dtx japanlco.dtx -scrknpap.dtx -scrkplen.dtx -scrkvars.dtx +scrkernel-notepaper.dtx +scrkernel-pseudolengths.dtx +scrkernel-variables.dtx scrlogo.dtx scrhack.dtx @@ -430,8 +487,6 @@ scrextend.dtx tocbasic.dtx -scrlettr.dtx - scrpage.dtx scrlfile.dtx @@ -442,10 +497,11 @@ scraddr.dtx scrtime.dtx +scrlayer.dtx +scrlayer-scrpage.dtx +scrlayer-notecolumn.dtx + +scrdocstrip.tex scrmain.ins -scrlfile.ins -scrlettr.ins -scraddr.ins -scrpage.ins scrstrip.inc scrstrop.inc diff --git a/Master/texmf-dist/doc/latex/koma-script/scrextend.html b/Master/texmf-dist/doc/latex/koma-script/scrextend.html new file mode 100644 index 00000000000..9d04e9416ef --- /dev/null +++ b/Master/texmf-dist/doc/latex/koma-script/scrextend.html @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> + <head> + <meta name="keywords" content="KOMA-Script, scrbook, scrreprt, scrartcl, + scrlttr2, typearea, scrpage2, scrtime, + scrdate, scraddr, scrlfile" /> + <meta name="DC.Title" content="The KOMA-Script Documentation Wrapper" /> + <meta name="DC.Creator" content="Markus Kohm" /> + <meta name="DC.Subject" content="KOMA-Script Documentation" /> + <meta name="DC.Description" content="Where to find the KOMA-Script + documentation" /> + <meta name="DC.Publisher" content="KOMA" /> + <meta name="DC.Date" content="2010-01-31" /> + <meta name="DC.Type" content="Text" /> + <meta name="DC.Format" content="text/html" /> + <meta name="DC.Identifier" content="koma-script.html" /> + <meta name="DC.Language" content="en,de" /> + <meta name="DC.Relation" content="Link to documentation" /> + <meta name="DC.Coverage" content="Version since 3.00" /> + <meta name="DC.Rights" content="LaTeX Public Private License 1.3c" /> + <title>The KOMA-Script Documentation Wrapper</title> + <style type="text/css"> + <!-- + body {} + #en { position:absolute; left:10px; width:45%; } + #de { position:absolute; right:10px; width:45%; } + #fn { position:absolute; bottom:0px; width:50%; + border-top-width:1px; border-top-style:solid; + font-size:x-small; } + h1.right { text-align:right; } + --> + </style> + </head> + <body> + <h1>The KOMA-Script Documentation Wrapper</h1> + <h1 class="right">Der Weg zur KOMAScript-Anleitung</h1> + <div id="en"> + I think you are searching for the KOMA-Script documentation. You + may find the englisch documentation + at <a href="scrguien.pdf">scrguien.pdf</a> and an index of it + at <a href="scrguien.html">scrguien.html</a>. + </div> + <div id="de"> + Ich nehme an, Sie suchen nach der KOMA-Script-Anleitung. Die deutsche + Anleitung können Sie in <a href="scrguide.pdf">scrguide.pdf</a> + finden. Einen Index dazu gibt es + in <a href="scrguide.html">scrguide.html</a>. + </div> + <div id="fn"> + Markus Kohm, 2007-09-21 + <p><a + href="http://validator.w3.org/check?uri=referer"><img + src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0 + Strict" height="31" width="88" /></a></p> + </div> + </body> +</html> diff --git a/Master/texmf-dist/doc/latex/koma-script/scrguide.html b/Master/texmf-dist/doc/latex/koma-script/scrguide.html index 5e9358b8955..f22469e5425 100644 --- a/Master/texmf-dist/doc/latex/koma-script/scrguide.html +++ b/Master/texmf-dist/doc/latex/koma-script/scrguide.html @@ -7,624 +7,778 @@ <h1>Index der KOMA-Script-Anleitung</h1> <p>Dies ist ein Index der in KOMA-Script definierten Elemente. Dieser Index bezieht sich auf die <a href="scrguide.pdf">KOMA-Script-Anleitung</a>. Zur besseren Übersicht ist der Index in mehrere Funktionsgruppen unterteilt:</p> <ul> -<li><a href="#option">Optionen</a></li><li><a href="#macro">Anweisungen</a></li><li><a href="#environment">Umgebungen</a></li><li><a href="#plength">Pseudolängen</a></li><li><a href="#variable">Variablen</a></li><li><a href="#pagestyle">Seitenstile</a></li><li><a href="#counter">Zähler</a></li><li><a href="#floatstyle">Stile für das float-Paket</a></li></ul> +<li><a href="#option">Optionen</a></li><li><a href="#macro">Anweisungen</a></li><li><a href="#environment">Umgebungen</a></li><li><a href="#length">Längen</a></li><li><a href="#plength">Pseudolängen</a></li><li><a href="#variable">Variablen</a></li><li><a href="#pagestyle">Seitenstile</a></li><li><a href="#counter">Zähler</a></li><li><a href="#floatstyle">Stile für das float-Paket</a></li></ul> <h2><a name="option">Optionen</a></h2> <ul> -<li><a name="option.abstract"></a><a href="#option.abstract">abstract</a> --> <a href="scrguide.pdf#maincls.option.abstract">66</a></li> -<li><a name="option.addrfield"></a><a href="#option.addrfield">addrfield</a> --> <a href="scrguide.pdf#scrlttr2.option.addrfield">182</a></li> -<li><a name="option.adrFreeIVempty"></a><a href="#option.adrFreeIVempty">adrFreeIVempty</a> --> <a href="scrguide.pdf#scraddr.option.adrFreeIVempty">243</a></li> -<li><a name="option.adrFreeIVshow"></a><a href="#option.adrFreeIVshow">adrFreeIVshow</a> --> <a href="scrguide.pdf#scraddr.option.adrFreeIVshow">243</a></li> -<li><a name="option.adrFreeIVstop"></a><a href="#option.adrFreeIVstop">adrFreeIVstop</a> --> <a href="scrguide.pdf#scraddr.option.adrFreeIVstop">243</a></li> -<li><a name="option.adrFreeIVwarn"></a><a href="#option.adrFreeIVwarn">adrFreeIVwarn</a> --> <a href="scrguide.pdf#scraddr.option.adrFreeIVwarn">243</a></li> -<li><a name="option.appendixprefix"></a><a href="#option.appendixprefix">appendixprefix</a> --> <a href="scrguide.pdf#maincls.option.appendixprefix">90</a></li> -<li><a name="option.automark"></a><a href="#option.automark">automark</a> --> <a href="scrguide.pdf#scrpage.option.automark">226</a></li> -<li><a name="option.autooneside"></a><a href="#option.autooneside">autooneside</a> --> <a href="scrguide.pdf#scrpage.option.autooneside">227</a></li> -<li><a name="option.backaddress"></a><a href="#option.backaddress">backaddress</a> --> <a href="scrguide.pdf#scrlttr2.option.backaddress">182</a></li> -<li><a name="option.bibliography"></a><a href="#option.bibliography">bibliography</a> --> <a href="scrguide.pdf#maincls.option.bibliography">140</a></li> -<li><a name="option.captions"></a><a href="#option.captions">captions</a> --> <a href="scrguide.pdf#maincls.option.captions">121</a></li> -<li><a name="option.chapteratlists"></a><a href="#option.chapteratlists">chapteratlists</a> --> <a href="scrguide.pdf#maincls.option.chapteratlists">93</a></li> -<li><a name="option.chapterprefix"></a><a href="#option.chapterprefix">chapterprefix</a> --> <a href="scrguide.pdf#maincls.option.chapterprefix">90</a></li> -<li><a name="option.cleardoublepage"></a><a href="#option.cleardoublepage">cleardoublepage</a> --> <a href="scrguide.pdf#maincls.option.cleardoublepage">81</a></li> -<li><a name="option.clines"></a><a href="#option.clines">clines</a> --> <a href="scrguide.pdf#scrpage.option.clines">225</a></li> -<li><a name="option.draft"></a><a href="#option.draft">draft</a> --> <a href="scrguide.pdf#maincls.option.draft">53</a></li> -<li><a name="option.enlargefirstpage"></a><a href="#option.enlargefirstpage">enlargefirstpage</a> --> <a href="scrguide.pdf#scrlttr2.option.enlargefirstpage">170</a></li> -<li><a name="option.extendedfeature"></a><a href="#option.extendedfeature">extendedfeature</a> --> <a href="scrguide.pdf#scrextend.option.extendedfeature">247</a></li> -<li><a name="option.firstfoot"></a><a href="#option.firstfoot">firstfoot</a> --> <a href="scrguide.pdf#scrlttr2.option.firstfoot">193</a></li> -<li><a name="option.firsthead"></a><a href="#option.firsthead">firsthead</a> --> <a href="scrguide.pdf#scrlttr2.option.firsthead">170</a></li> -<li><a name="option.fleqn"></a><a href="#option.fleqn">fleqn</a> --> <a href="scrguide.pdf#maincls.option.fleqn">120</a></li> -<li><a name="option.foldmarks"></a><a href="#option.foldmarks">foldmarks</a> --> <a href="scrguide.pdf#scrlttr2.option.foldmarks">166</a></li> -<li><a name="option.fontsize"></a><a href="#option.fontsize">fontsize</a> --> <a href="scrguide.pdf#scrlttr2.option.fontsize">161</a>, <a href="scrguide.pdf#maincls.option.fontsize">54</a></li> -<li><a name="option.footbotline"></a><a href="#option.footbotline">footbotline</a> --> <a href="scrguide.pdf#scrpage.option.footbotline">224</a></li> -<li><a name="option.footexclude"></a><a href="#option.footexclude">footexclude</a> --> <a href="scrguide.pdf#scrpage.option.footexclude">224</a></li> -<li><a name="option.footinclude"></a><a href="#option.footinclude">footinclude</a> --> <a href="scrguide.pdf#scrpage.option.footinclude">224</a></li> -<li><a name="option.footnotes"></a><a href="#option.footnotes">footnotes</a> --> <a href="scrguide.pdf#maincls.option.footnotes">83</a></li> -<li><a name="option.footsepline"></a><a href="#option.footsepline">footsepline</a> --> <a href="scrguide.pdf#scrlttr2.option.footsepline">196</a>, <a href="scrguide.pdf#scrpage.option.footsepline">224</a>, <a href="scrguide.pdf#maincls.option.footsepline">75</a></li> -<li><a name="option.fromalign"></a><a href="#option.fromalign">fromalign</a> --> <a href="scrguide.pdf#scrlttr2.option.fromalign">170</a></li> -<li><a name="option.fromemail"></a><a href="#option.fromemail">fromemail</a> --> <a href="scrguide.pdf#scrlttr2.option.fromemail">175</a></li> -<li><a name="option.fromfax"></a><a href="#option.fromfax">fromfax</a> --> <a href="scrguide.pdf#scrlttr2.option.fromfax">175</a></li> -<li><a name="option.fromlogo"></a><a href="#option.fromlogo">fromlogo</a> --> <a href="scrguide.pdf#scrlttr2.option.fromlogo">179</a></li> -<li><a name="option.fromphone"></a><a href="#option.fromphone">fromphone</a> --> <a href="scrguide.pdf#scrlttr2.option.fromphone">175</a></li> -<li><a name="option.fromrule"></a><a href="#option.fromrule">fromrule</a> --> <a href="scrguide.pdf#scrlttr2.option.fromrule">170</a></li> -<li><a name="option.fromurl"></a><a href="#option.fromurl">fromurl</a> --> <a href="scrguide.pdf#scrlttr2.option.fromurl">175</a></li> -<li><a name="option.headexclude"></a><a href="#option.headexclude">headexclude</a> --> <a href="scrguide.pdf#scrpage.option.headexclude">224</a></li> -<li><a name="option.headinclude"></a><a href="#option.headinclude">headinclude</a> --> <a href="scrguide.pdf#scrpage.option.headinclude">224</a></li> -<li><a name="option.headings"></a><a href="#option.headings">headings</a> --> <a href="scrguide.pdf#maincls.option.headings">90</a></li> -<li><a name="option.headsepline"></a><a href="#option.headsepline">headsepline</a> --> <a href="scrguide.pdf#scrlttr2.option.headsepline">196</a>, <a href="scrguide.pdf#scrpage.option.headsepline">224</a>, <a href="scrguide.pdf#maincls.option.headsepline">75</a></li> -<li><a name="option.headtopline"></a><a href="#option.headtopline">headtopline</a> --> <a href="scrguide.pdf#scrpage.option.headtopline">224</a></li> -<li><a name="option.ilines"></a><a href="#option.ilines">ilines</a> --> <a href="scrguide.pdf#scrpage.option.ilines">225</a></li> -<li><a name="option.index"></a><a href="#option.index">index</a> --> <a href="scrguide.pdf#maincls.option.index">143</a></li> -<li><a name="option.internalonly"></a><a href="#option.internalonly">internalonly</a> --> <a href="scrguide.pdf#scrbase.option.internalonly">252</a></li> -<li><a name="option.komastyle"></a><a href="#option.komastyle">komastyle</a> --> <a href="scrguide.pdf#scrpage.option.komastyle">227</a></li> -<li><a name="option.leqno"></a><a href="#option.leqno">leqno</a> --> <a href="scrguide.pdf#maincls.option.leqno">120</a></li> -<li><a name="option.listof"></a><a href="#option.listof">listof</a> --> <a href="scrguide.pdf#maincls.option.listof">135</a></li> -<li><a name="option.locfield"></a><a href="#option.locfield">locfield</a> --> <a href="scrguide.pdf#scrlttr2.option.locfield">185</a></li> -<li><a name="option.manualmark"></a><a href="#option.manualmark">manualmark</a> --> <a href="scrguide.pdf#scrpage.option.manualmark">226</a></li> -<li><a name="option.markuppercase"></a><a href="#option.markuppercase">markuppercase</a> --> <a href="scrguide.pdf#scrpage.option.markuppercase">227</a></li> -<li><a name="option.markusedcase"></a><a href="#option.markusedcase">markusedcase</a> --> <a href="scrguide.pdf#scrpage.option.markusedcase">227</a></li> -<li><a name="option.nouppercase"></a><a href="#option.nouppercase">nouppercase</a> --> <a href="scrguide.pdf#scrpage.option.nouppercase">227</a></li> -<li><a name="option.numbers"></a><a href="#option.numbers">numbers</a> --> <a href="scrguide.pdf#maincls.option.numbers">93</a></li> -<li><a name="option.numericaldate"></a><a href="#option.numericaldate">numericaldate</a> --> <a href="scrguide.pdf#scrlttr2.option.numericaldate">187</a></li> -<li><a name="option.olines"></a><a href="#option.olines">olines</a> --> <a href="scrguide.pdf#scrpage.option.olines">225</a></li> -<li><a name="option.open"></a><a href="#option.open">open</a> --> <a href="scrguide.pdf#maincls.option.open">89</a></li> -<li><a name="option.origlongtable"></a><a href="#option.origlongtable">origlongtable</a> --> <a href="scrguide.pdf#maincls.option.origlongtable">135</a></li> -<li><a name="option.pagenumber"></a><a href="#option.pagenumber">pagenumber</a> --> <a href="scrguide.pdf#scrlttr2.option.pagenumber">197</a></li> -<li><a name="option.pagesize"></a><a href="#option.pagesize">pagesize</a> --> <a href="scrguide.pdf#typearea.option.pagesize">47</a></li> -<li><a name="option.paper"></a><a href="#option.paper">paper</a> --> <a href="scrguide.pdf#typearea.option.paper">46</a></li> -<li><a name="option.parskip"></a><a href="#option.parskip">parskip</a> --> <a href="scrguide.pdf#maincls.option.parskip">71</a></li> -<li><a name="option.plainfootbotline"></a><a href="#option.plainfootbotline">plainfootbotline</a> --> <a href="scrguide.pdf#scrpage.option.plainfootbotline">224</a></li> -<li><a name="option.plainfootsepline"></a><a href="#option.plainfootsepline">plainfootsepline</a> --> <a href="scrguide.pdf#scrpage.option.plainfootsepline">224</a></li> -<li><a name="option.plainheadsepline"></a><a href="#option.plainheadsepline">plainheadsepline</a> --> <a href="scrguide.pdf#scrpage.option.plainheadsepline">224</a></li> -<li><a name="option.plainheadtopline"></a><a href="#option.plainheadtopline">plainheadtopline</a> --> <a href="scrguide.pdf#scrpage.option.plainheadtopline">224</a></li> -<li><a name="option.priority"></a><a href="#option.priority">priority</a> --> <a href="scrguide.pdf#scrlttr2.option.priority">182</a></li> -<li><a name="option.refline"></a><a href="#option.refline">refline</a> --> <a href="scrguide.pdf#scrlttr2.option.refline">188</a></li> -<li><a name="option.standardstyle"></a><a href="#option.standardstyle">standardstyle</a> --> <a href="scrguide.pdf#scrpage.option.standardstyle">227</a></li> -<li><a name="option.subject"></a><a href="#option.subject">subject</a> --> <a href="scrguide.pdf#scrlttr2.option.subject">191</a></li> -<li><a name="option.titlepage"></a><a href="#option.titlepage">titlepage</a> --> <a href="scrguide.pdf#maincls.option.titlepage">60</a></li> -<li><a name="option.toc"></a><a href="#option.toc">toc</a> --> <a href="scrguide.pdf#maincls.option.toc">67</a></li> -<li><a name="option.version"></a><a href="#option.version">version</a> --> <a href="scrguide.pdf#typearea.option.version">31</a></li> -<li><a name="option.visualize"></a><a href="#option.visualize">visualize</a> --> <a href="scrguide.pdf#scrlttr2-experts.option.visualize">335</a></li> +<li><a name="option.abstract"></a><a href="#option.abstract">abstract</a> --> <a href="scrguide.pdf#maincls.option.abstract">71</a></li> +<li><a name="option.addrfield"></a><a href="#option.addrfield">addrfield</a> --> <a href="scrguide.pdf#scrlttr2.option.addrfield">188</a></li> +<li><a name="option.adrFreeIVempty"></a><a href="#option.adrFreeIVempty">adrFreeIVempty</a> --> <a href="scrguide.pdf#scraddr.option.adrFreeIVempty">273</a></li> +<li><a name="option.adrFreeIVshow"></a><a href="#option.adrFreeIVshow">adrFreeIVshow</a> --> <a href="scrguide.pdf#scraddr.option.adrFreeIVshow">273</a></li> +<li><a name="option.adrFreeIVstop"></a><a href="#option.adrFreeIVstop">adrFreeIVstop</a> --> <a href="scrguide.pdf#scraddr.option.adrFreeIVstop">273</a></li> +<li><a name="option.adrFreeIVwarn"></a><a href="#option.adrFreeIVwarn">adrFreeIVwarn</a> --> <a href="scrguide.pdf#scraddr.option.adrFreeIVwarn">273</a></li> +<li><a name="option.appendixprefix"></a><a href="#option.appendixprefix">appendixprefix</a> --> <a href="scrguide.pdf#maincls.option.appendixprefix">94</a></li> +<li><a name="option.autoclearnotecolumns"></a><a href="#option.autoclearnotecolumns">autoclearnotecolumns</a> --> <a href="scrguide.pdf#scrlayer-notecolumn.option.autoclearnotecolumns">389</a></li> +<li><a name="option.automark"></a><a href="#option.automark">automark</a> --> <a href="scrguide.pdf#scrpage.option.automark">232</a>, <a href="scrguide.pdf#scrlayer-scrpage.option.automark">253</a></li> +<li><a name="option.autooneside"></a><a href="#option.autooneside">autooneside</a> --> <a href="scrguide.pdf#scrpage.option.autooneside">233</a>, <a href="scrguide.pdf#scrlayer-scrpage.option.autooneside">253</a></li> +<li><a name="option.autoremoveinterfaces"></a><a href="#option.autoremoveinterfaces">autoremoveinterfaces</a> --> <a href="scrguide.pdf#scrlayer.option.autoremoveinterfaces">368</a></li> +<li><a name="option.backaddress"></a><a href="#option.backaddress">backaddress</a> --> <a href="scrguide.pdf#scrlttr2.option.backaddress">188</a></li> +<li><a name="option.bibliography"></a><a href="#option.bibliography">bibliography</a> --> <a href="scrguide.pdf#maincls.option.bibliography">145</a></li> +<li><a name="option.captions"></a><a href="#option.captions">captions</a> --> <a href="scrguide.pdf#maincls.option.captions">126</a></li> +<li><a name="option.chapteratlists"></a><a href="#option.chapteratlists">chapteratlists</a> --> <a href="scrguide.pdf#maincls.option.chapteratlists">97</a></li> +<li><a name="option.chapterprefix"></a><a href="#option.chapterprefix">chapterprefix</a> --> <a href="scrguide.pdf#maincls.option.chapterprefix">94</a></li> +<li><a name="option.cleardoublepage"></a><a href="#option.cleardoublepage">cleardoublepage</a> --> <a href="scrguide.pdf#maincls.option.cleardoublepage">85</a></li> +<li><a name="option.clines"></a><a href="#option.clines">clines</a> --> <a href="scrguide.pdf#scrpage.option.clines">231</a>, <a href="scrguide.pdf#scrlayer-scrpage.option.clines">264</a></li> +<li><a name="option.deactivatepagestylelayers"></a><a href="#option.deactivatepagestylelayers">deactivatepagestylelayers</a> --> <a href="scrguide.pdf#scrlayer.option.deactivatepagestylelayers">360</a></li> +<li><a name="option.draft"></a><a href="#option.draft">draft</a> --> <a href="scrguide.pdf#scrlayer.option.draft">364</a>, <a href="scrguide.pdf#maincls.option.draft">56</a></li> +<li><a name="option.enlargefirstpage"></a><a href="#option.enlargefirstpage">enlargefirstpage</a> --> <a href="scrguide.pdf#scrlttr2.option.enlargefirstpage">175</a></li> +<li><a name="option.extendedfeature"></a><a href="#option.extendedfeature">extendedfeature</a> --> <a href="scrguide.pdf#scrextend.option.extendedfeature">277</a></li> +<li><a name="option.firstfoot"></a><a href="#option.firstfoot">firstfoot</a> --> <a href="scrguide.pdf#scrlttr2.option.firstfoot">199</a></li> +<li><a name="option.firsthead"></a><a href="#option.firsthead">firsthead</a> --> <a href="scrguide.pdf#scrlttr2.option.firsthead">176</a></li> +<li><a name="option.fleqn"></a><a href="#option.fleqn">fleqn</a> --> <a href="scrguide.pdf#maincls.option.fleqn">125</a></li> +<li><a name="option.foldmarks"></a><a href="#option.foldmarks">foldmarks</a> --> <a href="scrguide.pdf#scrlttr2.option.foldmarks">172</a></li> +<li><a name="option.fontsize"></a><a href="#option.fontsize">fontsize</a> --> <a href="scrguide.pdf#scrlttr2.option.fontsize">167</a>, <a href="scrguide.pdf#maincls.option.fontsize">57</a></li> +<li><a name="option.footbotline"></a><a href="#option.footbotline">footbotline</a> --> <a href="scrguide.pdf#scrpage.option.footbotline">231</a>, <a href="scrguide.pdf#scrlayer-scrpage.option.footbotline">261</a></li> +<li><a name="option.footexclude"></a><a href="#option.footexclude">footexclude</a> --> <a href="scrguide.pdf#scrpage.option.footexclude">230</a></li> +<li><a name="option.footinclude"></a><a href="#option.footinclude">footinclude</a> --> <a href="scrguide.pdf#scrpage.option.footinclude">230</a></li> +<li><a name="option.footnotes"></a><a href="#option.footnotes">footnotes</a> --> <a href="scrguide.pdf#maincls.option.footnotes">87</a></li> +<li><a name="option.footsepline"></a><a href="#option.footsepline">footsepline</a> --> <a href="scrguide.pdf#scrlttr2.option.footsepline">202</a>, <a href="scrguide.pdf#scrpage.option.footsepline">231</a>, <a href="scrguide.pdf#scrlayer-scrpage.option.footsepline">261</a>, <a href="scrguide.pdf#maincls.option.footsepline">79</a></li> +<li><a name="option.footwidth"></a><a href="#option.footwidth">footwidth</a> --> <a href="scrguide.pdf#scrlayer-scrpage.option.footwidth">261</a></li> +<li><a name="option.forceoverwrite"></a><a href="#option.forceoverwrite">forceoverwrite</a> --> <a href="scrguide.pdf#scrlayer.option.forceoverwrite">368</a></li> +<li><a name="option.fromalign"></a><a href="#option.fromalign">fromalign</a> --> <a href="scrguide.pdf#scrlttr2.option.fromalign">176</a></li> +<li><a name="option.fromemail"></a><a href="#option.fromemail">fromemail</a> --> <a href="scrguide.pdf#scrlttr2.option.fromemail">181</a></li> +<li><a name="option.fromfax"></a><a href="#option.fromfax">fromfax</a> --> <a href="scrguide.pdf#scrlttr2.option.fromfax">181</a></li> +<li><a name="option.fromlogo"></a><a href="#option.fromlogo">fromlogo</a> --> <a href="scrguide.pdf#scrlttr2.option.fromlogo">185</a></li> +<li><a name="option.frommobilephone"></a><a href="#option.frommobilephone">frommobilephone</a> --> <a href="scrguide.pdf#scrlttr2.option.frommobilephone">181</a></li> +<li><a name="option.fromphone"></a><a href="#option.fromphone">fromphone</a> --> <a href="scrguide.pdf#scrlttr2.option.fromphone">181</a></li> +<li><a name="option.fromrule"></a><a href="#option.fromrule">fromrule</a> --> <a href="scrguide.pdf#scrlttr2.option.fromrule">176</a></li> +<li><a name="option.fromurl"></a><a href="#option.fromurl">fromurl</a> --> <a href="scrguide.pdf#scrlttr2.option.fromurl">181</a></li> +<li><a name="option.headexclude"></a><a href="#option.headexclude">headexclude</a> --> <a href="scrguide.pdf#scrpage.option.headexclude">230</a></li> +<li><a name="option.headinclude"></a><a href="#option.headinclude">headinclude</a> --> <a href="scrguide.pdf#scrpage.option.headinclude">230</a></li> +<li><a name="option.headings"></a><a href="#option.headings">headings</a> --> <a href="scrguide.pdf#maincls.option.headings">94</a></li> +<li><a name="option.headsepline"></a><a href="#option.headsepline">headsepline</a> --> <a href="scrguide.pdf#scrlttr2.option.headsepline">202</a>, <a href="scrguide.pdf#scrpage.option.headsepline">231</a>, <a href="scrguide.pdf#scrlayer-scrpage.option.headsepline">261</a>, <a href="scrguide.pdf#maincls.option.headsepline">79</a></li> +<li><a name="option.headtopline"></a><a href="#option.headtopline">headtopline</a> --> <a href="scrguide.pdf#scrpage.option.headtopline">231</a>, <a href="scrguide.pdf#scrlayer-scrpage.option.headtopline">261</a></li> +<li><a name="option.headwidth"></a><a href="#option.headwidth">headwidth</a> --> <a href="scrguide.pdf#scrlayer-scrpage.option.headwidth">261</a></li> +<li><a name="option.hmode"></a><a href="#option.hmode">hmode</a> --> <a href="scrguide.pdf#scrlayer-scrpage-experts.option.hmode">379</a></li> +<li><a name="option.ilines"></a><a href="#option.ilines">ilines</a> --> <a href="scrguide.pdf#scrpage.option.ilines">231</a>, <a href="scrguide.pdf#scrlayer-scrpage.option.ilines">264</a></li> +<li><a name="option.index"></a><a href="#option.index">index</a> --> <a href="scrguide.pdf#maincls.option.index">148</a></li> +<li><a name="option.internalonly"></a><a href="#option.internalonly">internalonly</a> --> <a href="scrguide.pdf#scrbase.option.internalonly">281</a></li> +<li><a name="option.komastyle"></a><a href="#option.komastyle">komastyle</a> --> <a href="scrguide.pdf#scrpage.option.komastyle">233</a>, <a href="scrguide.pdf#scrlayer-scrpage.option.komastyle">252</a></li> +<li><a name="option.leqno"></a><a href="#option.leqno">leqno</a> --> <a href="scrguide.pdf#maincls.option.leqno">125</a></li> +<li><a name="option.listof"></a><a href="#option.listof">listof</a> --> <a href="scrguide.pdf#maincls.option.listof">140</a></li> +<li><a name="option.locfield"></a><a href="#option.locfield">locfield</a> --> <a href="scrguide.pdf#scrlttr2.option.locfield">191</a></li> +<li><a name="option.manualmark"></a><a href="#option.manualmark">manualmark</a> --> <a href="scrguide.pdf#scrpage.option.manualmark">232</a>, <a href="scrguide.pdf#scrlayer-scrpage.option.manualmark">253</a></li> +<li><a name="option.markcase"></a><a href="#option.markcase">markcase</a> --> <a href="scrguide.pdf#scrlayer-scrpage.option.markcase">256</a></li> +<li><a name="option.markuppercase"></a><a href="#option.markuppercase">markuppercase</a> --> <a href="scrguide.pdf#scrpage.option.markuppercase">233</a></li> +<li><a name="option.markusedcase"></a><a href="#option.markusedcase">markusedcase</a> --> <a href="scrguide.pdf#scrpage.option.markusedcase">233</a></li> +<li><a name="option.nouppercase"></a><a href="#option.nouppercase">nouppercase</a> --> <a href="scrguide.pdf#scrpage.option.nouppercase">234</a></li> +<li><a name="option.numbers"></a><a href="#option.numbers">numbers</a> --> <a href="scrguide.pdf#maincls.option.numbers">97</a></li> +<li><a name="option.numericaldate"></a><a href="#option.numericaldate">numericaldate</a> --> <a href="scrguide.pdf#scrlttr2.option.numericaldate">193</a></li> +<li><a name="option.olines"></a><a href="#option.olines">olines</a> --> <a href="scrguide.pdf#scrpage.option.olines">231</a>, <a href="scrguide.pdf#scrlayer-scrpage.option.olines">264</a></li> +<li><a name="option.onpsbackground"></a><a href="#option.onpsbackground">onpsbackground</a> --> <a href="scrguide.pdf#scrlayer.option.onpsbackground">360</a></li> +<li><a name="option.onpsevenpage"></a><a href="#option.onpsevenpage">onpsevenpage</a> --> <a href="scrguide.pdf#scrlayer.option.onpsevenpage">360</a></li> +<li><a name="option.onpsfloatpage"></a><a href="#option.onpsfloatpage">onpsfloatpage</a> --> <a href="scrguide.pdf#scrlayer.option.onpsfloatpage">360</a></li> +<li><a name="option.onpsforeground"></a><a href="#option.onpsforeground">onpsforeground</a> --> <a href="scrguide.pdf#scrlayer.option.onpsforeground">360</a></li> +<li><a name="option.onpsinit"></a><a href="#option.onpsinit">onpsinit</a> --> <a href="scrguide.pdf#scrlayer.option.onpsinit">360</a></li> +<li><a name="option.onpsnonfloatpage"></a><a href="#option.onpsnonfloatpage">onpsnonfloatpage</a> --> <a href="scrguide.pdf#scrlayer.option.onpsnonfloatpage">360</a></li> +<li><a name="option.onpsoddpage"></a><a href="#option.onpsoddpage">onpsoddpage</a> --> <a href="scrguide.pdf#scrlayer.option.onpsoddpage">360</a></li> +<li><a name="option.onpsoneside"></a><a href="#option.onpsoneside">onpsoneside</a> --> <a href="scrguide.pdf#scrlayer.option.onpsoneside">360</a></li> +<li><a name="option.onpsselect"></a><a href="#option.onpsselect">onpsselect</a> --> <a href="scrguide.pdf#scrlayer.option.onpsselect">360</a></li> +<li><a name="option.onpstwoside"></a><a href="#option.onpstwoside">onpstwoside</a> --> <a href="scrguide.pdf#scrlayer.option.onpstwoside">360</a></li> +<li><a name="option.open"></a><a href="#option.open">open</a> --> <a href="scrguide.pdf#maincls.option.open">93</a></li> +<li><a name="option.origlongtable"></a><a href="#option.origlongtable">origlongtable</a> --> <a href="scrguide.pdf#maincls.option.origlongtable">140</a></li> +<li><a name="option.pagenumber"></a><a href="#option.pagenumber">pagenumber</a> --> <a href="scrguide.pdf#scrlttr2.option.pagenumber">203</a></li> +<li><a name="option.pagesize"></a><a href="#option.pagesize">pagesize</a> --> <a href="scrguide.pdf#typearea.option.pagesize">50</a></li> +<li><a name="option.paper"></a><a href="#option.paper">paper</a> --> <a href="scrguide.pdf#typearea.option.paper">49</a></li> +<li><a name="option.parskip"></a><a href="#option.parskip">parskip</a> --> <a href="scrguide.pdf#maincls.option.parskip">76</a></li> +<li><a name="option.plainfootbotline"></a><a href="#option.plainfootbotline">plainfootbotline</a> --> <a href="scrguide.pdf#scrpage.option.plainfootbotline">231</a>, <a href="scrguide.pdf#scrlayer-scrpage.option.plainfootbotline">263</a></li> +<li><a name="option.plainfootsepline"></a><a href="#option.plainfootsepline">plainfootsepline</a> --> <a href="scrguide.pdf#scrpage.option.plainfootsepline">231</a>, <a href="scrguide.pdf#scrlayer-scrpage.option.plainfootsepline">263</a></li> +<li><a name="option.plainheadsepline"></a><a href="#option.plainheadsepline">plainheadsepline</a> --> <a href="scrguide.pdf#scrpage.option.plainheadsepline">231</a>, <a href="scrguide.pdf#scrlayer-scrpage.option.plainheadsepline">263</a></li> +<li><a name="option.plainheadtopline"></a><a href="#option.plainheadtopline">plainheadtopline</a> --> <a href="scrguide.pdf#scrpage.option.plainheadtopline">231</a>, <a href="scrguide.pdf#scrlayer-scrpage.option.plainheadtopline">263</a></li> +<li><a name="option.priority"></a><a href="#option.priority">priority</a> --> <a href="scrguide.pdf#scrlttr2.option.priority">188</a></li> +<li><a name="option.refline"></a><a href="#option.refline">refline</a> --> <a href="scrguide.pdf#scrlttr2.option.refline">194</a></li> +<li><a name="option.standardstyle"></a><a href="#option.standardstyle">standardstyle</a> --> <a href="scrguide.pdf#scrpage.option.standardstyle">233</a>, <a href="scrguide.pdf#scrlayer-scrpage.option.standardstyle">252</a></li> +<li><a name="option.subject"></a><a href="#option.subject">subject</a> --> <a href="scrguide.pdf#scrlttr2.option.subject">197</a></li> +<li><a name="option.symbolicnames"></a><a href="#option.symbolicnames">symbolicnames</a> --> <a href="scrguide.pdf#scrlttr2.option.symbolicnames">181</a></li> +<li><a name="option.titlepage"></a><a href="#option.titlepage">titlepage</a> --> <a href="scrguide.pdf#maincls.option.titlepage">64</a></li> +<li><a name="option.toc"></a><a href="#option.toc">toc</a> --> <a href="scrguide.pdf#maincls.option.toc">72</a></li> +<li><a name="option.version"></a><a href="#option.version">version</a> --> <a href="scrguide.pdf#typearea.option.version">33</a></li> +<li><a name="option.visualize"></a><a href="#option.visualize">visualize</a> --> <a href="scrguide.pdf#scrlttr2-experts.option.visualize">422</a></li> </ul> <h2><a name="macro">Anweisungen</a></h2> <ul> -<li><a name="cmd.@addtoplength"></a><a href="#cmd.@addtoplength">\@addtoplength</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.@addtoplength">323</a></li> -<li><a name="cmd.@fontsizefilebase"></a><a href="#cmd.@fontsizefilebase">\@fontsizefilebase</a> --> <a href="scrguide.pdf#maincls-experts.cmd.@fontsizefilebase">310</a></li> -<li><a name="cmd.@newplength"></a><a href="#cmd.@newplength">\@newplength</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.@newplength">321</a></li> -<li><a name="cmd.@openbib@code"></a><a href="#cmd.@openbib@code">\@openbib@code</a> --> <a href="scrguide.pdf#maincls-experts.cmd.@openbib@code">314</a></li> -<li><a name="cmd.@setplength"></a><a href="#cmd.@setplength">\@setplength</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.@setplength">323</a></li> -<li><a name="cmd.Address"></a><a href="#cmd.Address">\Address</a> --> <a href="scrguide.pdf#scraddr.cmd.Address">241</a></li> -<li><a name="cmd.AfterAtEndOfClass"></a><a href="#cmd.AfterAtEndOfClass">\AfterAtEndOfClass</a> --> <a href="scrguide.pdf#scrlfile.cmd.AfterAtEndOfClass">271</a></li> -<li><a name="cmd.AfterAtEndOfPackage"></a><a href="#cmd.AfterAtEndOfPackage">\AfterAtEndOfPackage</a> --> <a href="scrguide.pdf#scrlfile.cmd.AfterAtEndOfPackage">271</a></li> -<li><a name="cmd.AfterBibliographyPreamble"></a><a href="#cmd.AfterBibliographyPreamble">\AfterBibliographyPreamble</a> --> <a href="scrguide.pdf#maincls.cmd.AfterBibliographyPreamble">142</a></li> -<li><a name="cmd.AfterCalculatingTypearea"></a><a href="#cmd.AfterCalculatingTypearea">\AfterCalculatingTypearea</a> --> <a href="scrguide.pdf#typearea-experts.cmd.AfterCalculatingTypearea">307</a></li> -<li><a name="cmd.AfterClass!"></a><a href="#cmd.AfterClass!">\AfterClass!</a> --> <a href="scrguide.pdf#scrlfile.cmd.AfterClass!">271</a></li> -<li><a name="cmd.AfterClass*"></a><a href="#cmd.AfterClass*">\AfterClass*</a> --> <a href="scrguide.pdf#scrlfile.cmd.AfterClass*">271</a></li> -<li><a name="cmd.AfterClass+"></a><a href="#cmd.AfterClass+">\AfterClass+</a> --> <a href="scrguide.pdf#scrlfile.cmd.AfterClass+">271</a></li> -<li><a name="cmd.AfterClass"></a><a href="#cmd.AfterClass">\AfterClass</a> --> <a href="scrguide.pdf#scrlfile.cmd.AfterClass">271</a></li> -<li><a name="cmd.AfterFile"></a><a href="#cmd.AfterFile">\AfterFile</a> --> <a href="scrguide.pdf#scrlfile.cmd.AfterFile">271</a></li> -<li><a name="cmd.AfterPackage!"></a><a href="#cmd.AfterPackage!">\AfterPackage!</a> --> <a href="scrguide.pdf#scrlfile.cmd.AfterPackage!">271</a></li> -<li><a name="cmd.AfterPackage*"></a><a href="#cmd.AfterPackage*">\AfterPackage*</a> --> <a href="scrguide.pdf#scrlfile.cmd.AfterPackage*">271</a></li> -<li><a name="cmd.AfterPackage+"></a><a href="#cmd.AfterPackage+">\AfterPackage+</a> --> <a href="scrguide.pdf#scrlfile.cmd.AfterPackage+">271</a></li> -<li><a name="cmd.AfterPackage"></a><a href="#cmd.AfterPackage">\AfterPackage</a> --> <a href="scrguide.pdf#scrlfile.cmd.AfterPackage">271</a></li> -<li><a name="cmd.AfterReadingMainAux"></a><a href="#cmd.AfterReadingMainAux">\AfterReadingMainAux</a> --> <a href="scrguide.pdf#scrlfile.cmd.AfterReadingMainAux">274</a></li> -<li><a name="cmd.AfterStartingTOC"></a><a href="#cmd.AfterStartingTOC">\AfterStartingTOC</a> --> <a href="scrguide.pdf#tocbasic.cmd.AfterStartingTOC">292</a></li> -<li><a name="cmd.AfterTOCHead"></a><a href="#cmd.AfterTOCHead">\AfterTOCHead</a> --> <a href="scrguide.pdf#tocbasic.cmd.AfterTOCHead">292</a></li> -<li><a name="cmd.AtAddToTocList"></a><a href="#cmd.AtAddToTocList">\AtAddToTocList</a> --> <a href="scrguide.pdf#tocbasic.cmd.AtAddToTocList">287</a></li> -<li><a name="cmd.AtBeginLetter"></a><a href="#cmd.AtBeginLetter">\AtBeginLetter</a> --> <a href="scrguide.pdf#scrlttr2.cmd.AtBeginLetter">154</a></li> -<li><a name="cmd.AtEndBibliography"></a><a href="#cmd.AtEndBibliography">\AtEndBibliography</a> --> <a href="scrguide.pdf#maincls.cmd.AtEndBibliography">142</a></li> -<li><a name="cmd.AtEndLetter"></a><a href="#cmd.AtEndLetter">\AtEndLetter</a> --> <a href="scrguide.pdf#scrlttr2.cmd.AtEndLetter">154</a></li> -<li><a name="cmd.BeforeClass"></a><a href="#cmd.BeforeClass">\BeforeClass</a> --> <a href="scrguide.pdf#scrlfile.cmd.BeforeClass">271</a></li> -<li><a name="cmd.BeforeClosingMainAux"></a><a href="#cmd.BeforeClosingMainAux">\BeforeClosingMainAux</a> --> <a href="scrguide.pdf#scrlfile.cmd.BeforeClosingMainAux">274</a></li> -<li><a name="cmd.BeforeFile"></a><a href="#cmd.BeforeFile">\BeforeFile</a> --> <a href="scrguide.pdf#scrlfile.cmd.BeforeFile">271</a></li> -<li><a name="cmd.BeforePackage"></a><a href="#cmd.BeforePackage">\BeforePackage</a> --> <a href="scrguide.pdf#scrlfile.cmd.BeforePackage">271</a></li> -<li><a name="cmd.BeforeStartingTOC"></a><a href="#cmd.BeforeStartingTOC">\BeforeStartingTOC</a> --> <a href="scrguide.pdf#tocbasic.cmd.BeforeStartingTOC">292</a></li> -<li><a name="cmd.BeforeTOCHead"></a><a href="#cmd.BeforeTOCHead">\BeforeTOCHead</a> --> <a href="scrguide.pdf#tocbasic.cmd.BeforeTOCHead">292</a></li> -<li><a name="cmd.BreakBibliography"></a><a href="#cmd.BreakBibliography">\BreakBibliography</a> --> <a href="scrguide.pdf#maincls.cmd.BreakBibliography">142</a></li> -<li><a name="cmd.ClassInfoNoLine"></a><a href="#cmd.ClassInfoNoLine">\ClassInfoNoLine</a> --> <a href="scrguide.pdf#scrbase.cmd.ClassInfoNoLine">268</a></li> -<li><a name="cmd.ClassName"></a><a href="#cmd.ClassName">\ClassName</a> --> <a href="scrguide.pdf#maincls-experts.cmd.ClassName">308</a></li> -<li><a name="cmd.Comment"></a><a href="#cmd.Comment">\Comment</a> --> <a href="scrguide.pdf#scraddr.cmd.Comment">241</a></li> -<li><a name="cmd.DeclareNewTOC"></a><a href="#cmd.DeclareNewTOC">\DeclareNewTOC</a> --> <a href="scrguide.pdf#tocbasic.cmd.DeclareNewTOC">300</a></li> -<li><a name="cmd.DefineFamily"></a><a href="#cmd.DefineFamily">\DefineFamily</a> --> <a href="scrguide.pdf#scrbase.cmd.DefineFamily">253</a></li> -<li><a name="cmd.DefineFamilyKey"></a><a href="#cmd.DefineFamilyKey">\DefineFamilyKey</a> --> <a href="scrguide.pdf#scrbase.cmd.DefineFamilyKey">254</a></li> -<li><a name="cmd.DefineFamilyMember"></a><a href="#cmd.DefineFamilyMember">\DefineFamilyMember</a> --> <a href="scrguide.pdf#scrbase.cmd.DefineFamilyMember">253</a></li> -<li><a name="cmd.Family@Option"></a><a href="#cmd.Family@Option">\Family@Option</a> --> <a href="scrguide.pdf#scrbase.cmd.Family@Option">257</a></li> -<li><a name="cmd.Family@Options"></a><a href="#cmd.Family@Options">\Family@Options</a> --> <a href="scrguide.pdf#scrbase.cmd.Family@Options">256</a></li> -<li><a name="cmd.FamilyBoolKey"></a><a href="#cmd.FamilyBoolKey">\FamilyBoolKey</a> --> <a href="scrguide.pdf#scrbase.cmd.FamilyBoolKey">258</a></li> -<li><a name="cmd.FamilyElseValues"></a><a href="#cmd.FamilyElseValues">\FamilyElseValues</a> --> <a href="scrguide.pdf#scrbase.cmd.FamilyElseValues">261</a></li> -<li><a name="cmd.FamilyExecuteOptions"></a><a href="#cmd.FamilyExecuteOptions">\FamilyExecuteOptions</a> --> <a href="scrguide.pdf#scrbase.cmd.FamilyExecuteOptions">255</a></li> -<li><a name="cmd.FamilyNumericalKey"></a><a href="#cmd.FamilyNumericalKey">\FamilyNumericalKey</a> --> <a href="scrguide.pdf#scrbase.cmd.FamilyNumericalKey">259</a></li> -<li><a name="cmd.FamilyOption"></a><a href="#cmd.FamilyOption">\FamilyOption</a> --> <a href="scrguide.pdf#scrbase.cmd.FamilyOption">257</a></li> -<li><a name="cmd.FamilyOptions"></a><a href="#cmd.FamilyOptions">\FamilyOptions</a> --> <a href="scrguide.pdf#scrbase.cmd.FamilyOptions">256</a></li> -<li><a name="cmd.FamilyProcessOptions"></a><a href="#cmd.FamilyProcessOptions">\FamilyProcessOptions</a> --> <a href="scrguide.pdf#scrbase.cmd.FamilyProcessOptions">255</a></li> -<li><a name="cmd.FamilySetBool"></a><a href="#cmd.FamilySetBool">\FamilySetBool</a> --> <a href="scrguide.pdf#scrbase.cmd.FamilySetBool">258</a></li> -<li><a name="cmd.FamilySetNumerical"></a><a href="#cmd.FamilySetNumerical">\FamilySetNumerical</a> --> <a href="scrguide.pdf#scrbase.cmd.FamilySetNumerical">259</a></li> -<li><a name="cmd.FamilyStringKey"></a><a href="#cmd.FamilyStringKey">\FamilyStringKey</a> --> <a href="scrguide.pdf#scrbase.cmd.FamilyStringKey">260</a></li> -<li><a name="cmd.FamilyUnkownKeyValue"></a><a href="#cmd.FamilyUnkownKeyValue">\FamilyUnkownKeyValue</a> --> <a href="scrguide.pdf#scrbase.cmd.FamilyUnkownKeyValue">261</a></li> -<li><a name="cmd.FirstName"></a><a href="#cmd.FirstName">\FirstName</a> --> <a href="scrguide.pdf#scraddr.cmd.FirstName">241</a></li> -<li><a name="cmd.FreeI"></a><a href="#cmd.FreeI">\FreeI</a> --> <a href="scrguide.pdf#scraddr.cmd.FreeI">241</a></li> -<li><a name="cmd.FreeII"></a><a href="#cmd.FreeII">\FreeII</a> --> <a href="scrguide.pdf#scraddr.cmd.FreeII">241</a></li> -<li><a name="cmd.FreeIII"></a><a href="#cmd.FreeIII">\FreeIII</a> --> <a href="scrguide.pdf#scraddr.cmd.FreeIII">241</a></li> -<li><a name="cmd.FreeIV"></a><a href="#cmd.FreeIV">\FreeIV</a> --> <a href="scrguide.pdf#scraddr.cmd.FreeIV">241</a></li> -<li><a name="cmd.InputAddressFile"></a><a href="#cmd.InputAddressFile">\InputAddressFile</a> --> <a href="scrguide.pdf#scraddr.cmd.InputAddressFile">241</a></li> -<li><a name="cmd.KOMAClassName"></a><a href="#cmd.KOMAClassName">\KOMAClassName</a> --> <a href="scrguide.pdf#maincls-experts.cmd.KOMAClassName">308</a></li> -<li><a name="cmd.KOMAScript"></a><a href="#cmd.KOMAScript">\KOMAScript</a> --> <a href="scrguide.pdf#scrbase.cmd.KOMAScript">267</a></li> -<li><a name="cmd.KOMAScriptVersion"></a><a href="#cmd.KOMAScriptVersion">\KOMAScriptVersion</a> --> <a href="scrguide.pdf#scrbase.cmd.KOMAScriptVersion">268</a></li> -<li><a name="cmd.KOMAoption"></a><a href="#cmd.KOMAoption">\KOMAoption</a> --> <a href="scrguide.pdf#typearea.cmd.KOMAoption">30</a></li> -<li><a name="cmd.KOMAoptions"></a><a href="#cmd.KOMAoptions">\KOMAoptions</a> --> <a href="scrguide.pdf#typearea.cmd.KOMAoptions">30</a></li> -<li><a name="cmd.LastName"></a><a href="#cmd.LastName">\LastName</a> --> <a href="scrguide.pdf#scraddr.cmd.LastName">241</a></li> -<li><a name="cmd.LetterOptionNeedsPapersize"></a><a href="#cmd.LetterOptionNeedsPapersize">\LetterOptionNeedsPapersize</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.LetterOptionNeedsPapersize">334</a></li> -<li><a name="cmd.MakeMarkcase"></a><a href="#cmd.MakeMarkcase">\MakeMarkcase</a> --> <a href="scrguide.pdf#tocbasic.cmd.MakeMarkcase">292</a></li> -<li><a name="cmd.Name"></a><a href="#cmd.Name">\Name</a> --> <a href="scrguide.pdf#scraddr.cmd.Name">241</a></li> -<li><a name="cmd.PackageInfoNoLine"></a><a href="#cmd.PackageInfoNoLine">\PackageInfoNoLine</a> --> <a href="scrguide.pdf#scrbase.cmd.PackageInfoNoLine">268</a></li> -<li><a name="cmd.PreventPackageFromLoading"></a><a href="#cmd.PreventPackageFromLoading">\PreventPackageFromLoading</a> --> <a href="scrguide.pdf#scrlfile.cmd.PreventPackageFromLoading">278</a></li> -<li><a name="cmd.ReplaceClass"></a><a href="#cmd.ReplaceClass">\ReplaceClass</a> --> <a href="scrguide.pdf#scrlfile.cmd.ReplaceClass">276</a></li> -<li><a name="cmd.ReplaceInput"></a><a href="#cmd.ReplaceInput">\ReplaceInput</a> --> <a href="scrguide.pdf#scrlfile.cmd.ReplaceInput">276</a></li> -<li><a name="cmd.ReplacePackage"></a><a href="#cmd.ReplacePackage">\ReplacePackage</a> --> <a href="scrguide.pdf#scrlfile.cmd.ReplacePackage">276</a></li> -<li><a name="cmd.ResetPreventPackageFromLoading"></a><a href="#cmd.ResetPreventPackageFromLoading">\ResetPreventPackageFromLoading</a> --> <a href="scrguide.pdf#scrlfile.cmd.ResetPreventPackageFromLoading">279</a></li> -<li><a name="cmd.StorePreventPackageFromLoading"></a><a href="#cmd.StorePreventPackageFromLoading">\StorePreventPackageFromLoading</a> --> <a href="scrguide.pdf#scrlfile.cmd.StorePreventPackageFromLoading">279</a></li> -<li><a name="cmd.TOCclone"></a><a href="#cmd.TOCclone">\TOCclone</a> --> <a href="scrguide.pdf#scrwfile.cmd.TOCclone">282</a></li> -<li><a name="cmd.Telephone"></a><a href="#cmd.Telephone">\Telephone</a> --> <a href="scrguide.pdf#scraddr.cmd.Telephone">241</a></li> -<li><a name="cmd.XdivY"></a><a href="#cmd.XdivY">\XdivY</a> --> <a href="scrguide.pdf#scrbase.cmd.XdivY">269</a></li> -<li><a name="cmd.XmodY"></a><a href="#cmd.XmodY">\XmodY</a> --> <a href="scrguide.pdf#scrbase.cmd.XmodY">269</a></li> -<li><a name="cmd.activateareas"></a><a href="#cmd.activateareas">\activateareas</a> --> <a href="scrguide.pdf#typearea-experts.cmd.activateareas">306</a></li> -<li><a name="cmd.addchap*"></a><a href="#cmd.addchap*">\addchap*</a> --> <a href="scrguide.pdf#maincls.cmd.addchap*">100</a></li> -<li><a name="cmd.addchap"></a><a href="#cmd.addchap">\addchap</a> --> <a href="scrguide.pdf#maincls.cmd.addchap">100</a></li> -<li><a name="cmd.addchaptertocentry"></a><a href="#cmd.addchaptertocentry">\addchaptertocentry</a> --> <a href="scrguide.pdf#maincls-experts.cmd.addchaptertocentry">310</a></li> -<li><a name="cmd.addcontentslinetoeachtocfile"></a><a href="#cmd.addcontentslinetoeachtocfile">\addcontentslinetoeachtocfile</a> --> <a href="scrguide.pdf#tocbasic.cmd.addcontentslinetoeachtocfile">290</a></li> -<li><a name="cmd.addparagraphtocentry"></a><a href="#cmd.addparagraphtocentry">\addparagraphtocentry</a> --> <a href="scrguide.pdf#maincls-experts.cmd.addparagraphtocentry">310</a></li> -<li><a name="cmd.addpart*"></a><a href="#cmd.addpart*">\addpart*</a> --> <a href="scrguide.pdf#maincls.cmd.addpart*">100</a></li> -<li><a name="cmd.addpart"></a><a href="#cmd.addpart">\addpart</a> --> <a href="scrguide.pdf#maincls.cmd.addpart">100</a></li> -<li><a name="cmd.addparttocentry"></a><a href="#cmd.addparttocentry">\addparttocentry</a> --> <a href="scrguide.pdf#maincls-experts.cmd.addparttocentry">310</a></li> -<li><a name="cmd.addrchar"></a><a href="#cmd.addrchar">\addrchar</a> --> <a href="scrguide.pdf#scrlttr2.cmd.addrchar">212</a></li> -<li><a name="cmd.addrentry"></a><a href="#cmd.addrentry">\addrentry</a> --> <a href="scrguide.pdf#scrlttr2.cmd.addrentry">210</a></li> -<li><a name="cmd.addsec*"></a><a href="#cmd.addsec*">\addsec*</a> --> <a href="scrguide.pdf#maincls.cmd.addsec*">100</a></li> -<li><a name="cmd.addsec"></a><a href="#cmd.addsec">\addsec</a> --> <a href="scrguide.pdf#maincls.cmd.addsec">100</a></li> -<li><a name="cmd.addsectiontocentry"></a><a href="#cmd.addsectiontocentry">\addsectiontocentry</a> --> <a href="scrguide.pdf#maincls-experts.cmd.addsectiontocentry">310</a></li> -<li><a name="cmd.addsubparagraphtocentry"></a><a href="#cmd.addsubparagraphtocentry">\addsubparagraphtocentry</a> --> <a href="scrguide.pdf#maincls-experts.cmd.addsubparagraphtocentry">310</a></li> -<li><a name="cmd.addsubsectiontocentry"></a><a href="#cmd.addsubsectiontocentry">\addsubsectiontocentry</a> --> <a href="scrguide.pdf#maincls-experts.cmd.addsubsectiontocentry">310</a></li> -<li><a name="cmd.addsubsubsectiontocentry"></a><a href="#cmd.addsubsubsectiontocentry">\addsubsubsectiontocentry</a> --> <a href="scrguide.pdf#maincls-experts.cmd.addsubsubsectiontocentry">310</a></li> -<li><a name="cmd.addtocentrydefault"></a><a href="#cmd.addtocentrydefault">\addtocentrydefault</a> --> <a href="scrguide.pdf#maincls-experts.cmd.addtocentrydefault">309</a></li> -<li><a name="cmd.addtoeachtocfile"></a><a href="#cmd.addtoeachtocfile">\addtoeachtocfile</a> --> <a href="scrguide.pdf#tocbasic.cmd.addtoeachtocfile">289</a></li> -<li><a name="cmd.addtokomafont"></a><a href="#cmd.addtokomafont">\addtokomafont</a> --> <a href="scrguide.pdf#scrextend.cmd.addtokomafont">248</a>, <a href="scrguide.pdf#maincls.cmd.addtokomafont">56</a></li> -<li><a name="cmd.addtolengthplength"></a><a href="#cmd.addtolengthplength">\addtolengthplength</a> --> <a href="scrguide.pdf#scrlttr2.cmd.addtolengthplength">150</a></li> -<li><a name="cmd.addtoreffields"></a><a href="#cmd.addtoreffields">\addtoreffields</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.addtoreffields">332</a></li> -<li><a name="cmd.addtotoclist"></a><a href="#cmd.addtotoclist">\addtotoclist</a> --> <a href="scrguide.pdf#tocbasic.cmd.addtotoclist">286</a></li> -<li><a name="cmd.adrchar"></a><a href="#cmd.adrchar">\adrchar</a> --> <a href="scrguide.pdf#scrlttr2.cmd.adrchar">212</a></li> -<li><a name="cmd.adrentry"></a><a href="#cmd.adrentry">\adrentry</a> --> <a href="scrguide.pdf#scrlttr2.cmd.adrentry">209</a></li> -<li><a name="cmd.aliaskomafont"></a><a href="#cmd.aliaskomafont">\aliaskomafont</a> --> <a href="scrguide.pdf#maincls-experts.cmd.aliaskomafont">310</a></li> -<li><a name="cmd.and"></a><a href="#cmd.and">\and</a> --> <a href="scrguide.pdf#maincls.cmd.and">63</a></li> -<li><a name="cmd.appendix"></a><a href="#cmd.appendix">\appendix</a> --> <a href="scrguide.pdf#maincls.cmd.appendix">139</a></li> -<li><a name="cmd.appendixmore"></a><a href="#cmd.appendixmore">\appendixmore</a> --> <a href="scrguide.pdf#maincls-experts.cmd.appendixmore">312</a></li> -<li><a name="cmd.author"></a><a href="#cmd.author">\author</a> --> <a href="scrguide.pdf#maincls.cmd.author">63</a></li> -<li><a name="cmd.autodot"></a><a href="#cmd.autodot">\autodot</a> --> <a href="scrguide.pdf#maincls.cmd.autodot">103</a></li> -<li><a name="cmd.automark"></a><a href="#cmd.automark">\automark</a> --> <a href="scrguide.pdf#scrpage.cmd.automark">218</a></li> -<li><a name="cmd.backmatter"></a><a href="#cmd.backmatter">\backmatter</a> --> <a href="scrguide.pdf#maincls.cmd.backmatter">88</a></li> -<li><a name="cmd.bankname"></a><a href="#cmd.bankname">\bankname</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.bankname">340</a></li> -<li><a name="cmd.bib@beginhook"></a><a href="#cmd.bib@beginhook">\bib@beginhook</a> --> <a href="scrguide.pdf#maincls-experts.cmd.bib@beginhook">314</a></li> -<li><a name="cmd.bib@endhook"></a><a href="#cmd.bib@endhook">\bib@endhook</a> --> <a href="scrguide.pdf#maincls-experts.cmd.bib@endhook">314</a></li> -<li><a name="cmd.caption"></a><a href="#cmd.caption">\caption</a> --> <a href="scrguide.pdf#maincls.cmd.caption">124</a></li> -<li><a name="cmd.captionabove"></a><a href="#cmd.captionabove">\captionabove</a> --> <a href="scrguide.pdf#maincls.cmd.captionabove">124</a></li> -<li><a name="cmd.captionaboveof"></a><a href="#cmd.captionaboveof">\captionaboveof</a> --> <a href="scrguide.pdf#maincls.cmd.captionaboveof">126</a></li> -<li><a name="cmd.captionbelow"></a><a href="#cmd.captionbelow">\captionbelow</a> --> <a href="scrguide.pdf#maincls.cmd.captionbelow">124</a></li> -<li><a name="cmd.captionbelowof"></a><a href="#cmd.captionbelowof">\captionbelowof</a> --> <a href="scrguide.pdf#maincls.cmd.captionbelowof">126</a></li> -<li><a name="cmd.captionformat"></a><a href="#cmd.captionformat">\captionformat</a> --> <a href="scrguide.pdf#maincls.cmd.captionformat">132</a></li> -<li><a name="cmd.captionof"></a><a href="#cmd.captionof">\captionof</a> --> <a href="scrguide.pdf#maincls.cmd.captionof">126</a></li> -<li><a name="cmd.captionsUKenglish"></a><a href="#cmd.captionsUKenglish">\captionsUKenglish</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsUKenglish">339</a></li> -<li><a name="cmd.captionsUSenglish"></a><a href="#cmd.captionsUSenglish">\captionsUSenglish</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsUSenglish">339</a></li> -<li><a name="cmd.captionsamerican"></a><a href="#cmd.captionsamerican">\captionsamerican</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsamerican">339</a></li> -<li><a name="cmd.captionsaustrian"></a><a href="#cmd.captionsaustrian">\captionsaustrian</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsaustrian">339</a></li> -<li><a name="cmd.captionsbritish"></a><a href="#cmd.captionsbritish">\captionsbritish</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsbritish">339</a></li> -<li><a name="cmd.captionscroatian"></a><a href="#cmd.captionscroatian">\captionscroatian</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionscroatian">339</a></li> -<li><a name="cmd.captionsdutch"></a><a href="#cmd.captionsdutch">\captionsdutch</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsdutch">339</a></li> -<li><a name="cmd.captionsenglish"></a><a href="#cmd.captionsenglish">\captionsenglish</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsenglish">339</a></li> -<li><a name="cmd.captionsfinnish"></a><a href="#cmd.captionsfinnish">\captionsfinnish</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsfinnish">339</a></li> -<li><a name="cmd.captionsfrench"></a><a href="#cmd.captionsfrench">\captionsfrench</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsfrench">339</a></li> -<li><a name="cmd.captionsgerman"></a><a href="#cmd.captionsgerman">\captionsgerman</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsgerman">339</a></li> -<li><a name="cmd.captionsitalian"></a><a href="#cmd.captionsitalian">\captionsitalian</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsitalian">339</a></li> -<li><a name="cmd.captionsnaustrian"></a><a href="#cmd.captionsnaustrian">\captionsnaustrian</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsnaustrian">339</a></li> -<li><a name="cmd.captionsngerman"></a><a href="#cmd.captionsngerman">\captionsngerman</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsngerman">339</a></li> -<li><a name="cmd.captionsnorsk"></a><a href="#cmd.captionsnorsk">\captionsnorsk</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsnorsk">339</a></li> -<li><a name="cmd.captionsspanish"></a><a href="#cmd.captionsspanish">\captionsspanish</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsspanish">339</a></li> -<li><a name="cmd.captionsswedish"></a><a href="#cmd.captionsswedish">\captionsswedish</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsswedish">339</a></li> -<li><a name="cmd.cc"></a><a href="#cmd.cc">\cc</a> --> <a href="scrguide.pdf#scrlttr2.cmd.cc">158</a></li> -<li><a name="cmd.ccname"></a><a href="#cmd.ccname">\ccname</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.ccname">340</a></li> -<li><a name="cmd.cefoot"></a><a href="#cmd.cefoot">\cefoot</a> --> <a href="scrguide.pdf#scrpage.cmd.cefoot">215</a></li> -<li><a name="cmd.cehead"></a><a href="#cmd.cehead">\cehead</a> --> <a href="scrguide.pdf#scrpage.cmd.cehead">215</a></li> -<li><a name="cmd.cfoot"></a><a href="#cmd.cfoot">\cfoot</a> --> <a href="scrguide.pdf#scrpage.cmd.cfoot">215</a></li> -<li><a name="cmd.chapapp"></a><a href="#cmd.chapapp">\chapapp</a> --> <a href="scrguide.pdf#maincls.cmd.chapapp">105</a></li> -<li><a name="cmd.chapappifchapterprefix"></a><a href="#cmd.chapappifchapterprefix">\chapappifchapterprefix</a> --> <a href="scrguide.pdf#maincls.cmd.chapappifchapterprefix">105</a></li> -<li><a name="cmd.chapter*"></a><a href="#cmd.chapter*">\chapter*</a> --> <a href="scrguide.pdf#maincls.cmd.chapter*">99</a></li> -<li><a name="cmd.chapter"></a><a href="#cmd.chapter">\chapter</a> --> <a href="scrguide.pdf#maincls.cmd.chapter">94</a></li> -<li><a name="cmd.chapterformat"></a><a href="#cmd.chapterformat">\chapterformat</a> --> <a href="scrguide.pdf#maincls.cmd.chapterformat">103</a></li> -<li><a name="cmd.chapterheadendvskip"></a><a href="#cmd.chapterheadendvskip">\chapterheadendvskip</a> --> <a href="scrguide.pdf#maincls-experts.cmd.chapterheadendvskip">311</a></li> -<li><a name="cmd.chapterheadstartvskip"></a><a href="#cmd.chapterheadstartvskip">\chapterheadstartvskip</a> --> <a href="scrguide.pdf#maincls-experts.cmd.chapterheadstartvskip">311</a></li> -<li><a name="cmd.chaptermark"></a><a href="#cmd.chaptermark">\chaptermark</a> --> <a href="scrguide.pdf#maincls.cmd.chaptermark">105</a></li> -<li><a name="cmd.chaptermarkformat"></a><a href="#cmd.chaptermarkformat">\chaptermarkformat</a> --> <a href="scrguide.pdf#maincls.cmd.chaptermarkformat">105</a></li> -<li><a name="cmd.chapterpagestyle"></a><a href="#cmd.chapterpagestyle">\chapterpagestyle</a> --> <a href="scrguide.pdf#maincls.cmd.chapterpagestyle">79</a></li> -<li><a name="cmd.chead"></a><a href="#cmd.chead">\chead</a> --> <a href="scrguide.pdf#scrpage.cmd.chead">215</a></li> -<li><a name="cmd.cleardoubleemptypage"></a><a href="#cmd.cleardoubleemptypage">\cleardoubleemptypage</a> --> <a href="scrguide.pdf#maincls.cmd.cleardoubleemptypage">82</a></li> -<li><a name="cmd.cleardoubleevenemptypage"></a><a href="#cmd.cleardoubleevenemptypage">\cleardoubleevenemptypage</a> --> <a href="scrguide.pdf#maincls.cmd.cleardoubleevenemptypage">82</a>, <a href="scrguide.pdf#maincls.cmd.cleardoubleevenemptypage">83</a></li> -<li><a name="cmd.cleardoubleevenplainpage"></a><a href="#cmd.cleardoubleevenplainpage">\cleardoubleevenplainpage</a> --> <a href="scrguide.pdf#maincls.cmd.cleardoubleevenplainpage">82</a></li> -<li><a name="cmd.cleardoubleevenstandardpage"></a><a href="#cmd.cleardoubleevenstandardpage">\cleardoubleevenstandardpage</a> --> <a href="scrguide.pdf#maincls.cmd.cleardoubleevenstandardpage">82</a></li> -<li><a name="cmd.cleardoubleevenusingstyle"></a><a href="#cmd.cleardoubleevenusingstyle">\cleardoubleevenusingstyle</a> --> <a href="scrguide.pdf#maincls.cmd.cleardoubleevenusingstyle">82</a></li> -<li><a name="cmd.cleardoubleoddemptypage"></a><a href="#cmd.cleardoubleoddemptypage">\cleardoubleoddemptypage</a> --> <a href="scrguide.pdf#maincls.cmd.cleardoubleoddemptypage">82</a></li> -<li><a name="cmd.cleardoubleoddplainpage"></a><a href="#cmd.cleardoubleoddplainpage">\cleardoubleoddplainpage</a> --> <a href="scrguide.pdf#maincls.cmd.cleardoubleoddplainpage">82</a></li> -<li><a name="cmd.cleardoubleoddstandardpage"></a><a href="#cmd.cleardoubleoddstandardpage">\cleardoubleoddstandardpage</a> --> <a href="scrguide.pdf#maincls.cmd.cleardoubleoddstandardpage">82</a></li> -<li><a name="cmd.cleardoubleoddusingstyle"></a><a href="#cmd.cleardoubleoddusingstyle">\cleardoubleoddusingstyle</a> --> <a href="scrguide.pdf#maincls.cmd.cleardoubleoddusingstyle">82</a></li> -<li><a name="cmd.cleardoublepage"></a><a href="#cmd.cleardoublepage">\cleardoublepage</a> --> <a href="scrguide.pdf#maincls.cmd.cleardoublepage">82</a></li> -<li><a name="cmd.cleardoublepageusingstyle"></a><a href="#cmd.cleardoublepageusingstyle">\cleardoublepageusingstyle</a> --> <a href="scrguide.pdf#maincls.cmd.cleardoublepageusingstyle">82</a></li> -<li><a name="cmd.cleardoubleplainpage"></a><a href="#cmd.cleardoubleplainpage">\cleardoubleplainpage</a> --> <a href="scrguide.pdf#maincls.cmd.cleardoubleplainpage">82</a></li> -<li><a name="cmd.cleardoublestandardpage"></a><a href="#cmd.cleardoublestandardpage">\cleardoublestandardpage</a> --> <a href="scrguide.pdf#maincls.cmd.cleardoublestandardpage">82</a></li> -<li><a name="cmd.clearpage"></a><a href="#cmd.clearpage">\clearpage</a> --> <a href="scrguide.pdf#maincls.cmd.clearpage">82</a></li> -<li><a name="cmd.clearscrheadfoot"></a><a href="#cmd.clearscrheadfoot">\clearscrheadfoot</a> --> <a href="scrguide.pdf#scrpage.cmd.clearscrheadfoot">217</a></li> -<li><a name="cmd.clearscrheadings"></a><a href="#cmd.clearscrheadings">\clearscrheadings</a> --> <a href="scrguide.pdf#scrpage.cmd.clearscrheadings">217</a></li> -<li><a name="cmd.clearscrplain"></a><a href="#cmd.clearscrplain">\clearscrplain</a> --> <a href="scrguide.pdf#scrpage.cmd.clearscrplain">217</a></li> -<li><a name="cmd.closing"></a><a href="#cmd.closing">\closing</a> --> <a href="scrguide.pdf#scrlttr2.cmd.closing">155</a></li> -<li><a name="cmd.cofoot"></a><a href="#cmd.cofoot">\cofoot</a> --> <a href="scrguide.pdf#scrpage.cmd.cofoot">215</a></li> -<li><a name="cmd.cohead"></a><a href="#cmd.cohead">\cohead</a> --> <a href="scrguide.pdf#scrpage.cmd.cohead">215</a></li> -<li><a name="cmd.customername"></a><a href="#cmd.customername">\customername</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.customername">340</a></li> -<li><a name="cmd.date"></a><a href="#cmd.date">\date</a> --> <a href="scrguide.pdf#maincls.cmd.date">63</a></li> -<li><a name="cmd.dateUKenglish"></a><a href="#cmd.dateUKenglish">\dateUKenglish</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.dateUKenglish">339</a></li> -<li><a name="cmd.dateUSenglish"></a><a href="#cmd.dateUSenglish">\dateUSenglish</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.dateUSenglish">339</a></li> -<li><a name="cmd.dateamerican"></a><a href="#cmd.dateamerican">\dateamerican</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.dateamerican">339</a></li> -<li><a name="cmd.dateaustrian"></a><a href="#cmd.dateaustrian">\dateaustrian</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.dateaustrian">339</a></li> -<li><a name="cmd.datebritish"></a><a href="#cmd.datebritish">\datebritish</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.datebritish">339</a></li> -<li><a name="cmd.datecroatian"></a><a href="#cmd.datecroatian">\datecroatian</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.datecroatian">339</a></li> -<li><a name="cmd.datedutch"></a><a href="#cmd.datedutch">\datedutch</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.datedutch">339</a></li> -<li><a name="cmd.dateenglish"></a><a href="#cmd.dateenglish">\dateenglish</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.dateenglish">339</a></li> -<li><a name="cmd.datefinnish"></a><a href="#cmd.datefinnish">\datefinnish</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.datefinnish">339</a></li> -<li><a name="cmd.datefrench"></a><a href="#cmd.datefrench">\datefrench</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.datefrench">339</a></li> -<li><a name="cmd.dategerman"></a><a href="#cmd.dategerman">\dategerman</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.dategerman">339</a></li> -<li><a name="cmd.dateitalian"></a><a href="#cmd.dateitalian">\dateitalian</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.dateitalian">339</a></li> -<li><a name="cmd.datename"></a><a href="#cmd.datename">\datename</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.datename">340</a></li> -<li><a name="cmd.datenaustrian"></a><a href="#cmd.datenaustrian">\datenaustrian</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.datenaustrian">339</a></li> -<li><a name="cmd.datengerman"></a><a href="#cmd.datengerman">\datengerman</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.datengerman">339</a></li> -<li><a name="cmd.datenorsk"></a><a href="#cmd.datenorsk">\datenorsk</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.datenorsk">339</a></li> -<li><a name="cmd.datespanish"></a><a href="#cmd.datespanish">\datespanish</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.datespanish">339</a></li> -<li><a name="cmd.dateswedish"></a><a href="#cmd.dateswedish">\dateswedish</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.dateswedish">339</a></li> -<li><a name="cmd.dedication"></a><a href="#cmd.dedication">\dedication</a> --> <a href="scrguide.pdf#maincls.cmd.dedication">65</a></li> -<li><a name="cmd.defaultreffields"></a><a href="#cmd.defaultreffields">\defaultreffields</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.defaultreffields">332</a></li> -<li><a name="cmd.deffootnote"></a><a href="#cmd.deffootnote">\deffootnote</a> --> <a href="scrguide.pdf#maincls.cmd.deffootnote">86</a></li> -<li><a name="cmd.deffootnotemark"></a><a href="#cmd.deffootnotemark">\deffootnotemark</a> --> <a href="scrguide.pdf#maincls.cmd.deffootnotemark">86</a></li> -<li><a name="cmd.defpagestyle"></a><a href="#cmd.defpagestyle">\defpagestyle</a> --> <a href="scrguide.pdf#scrpage.cmd.defpagestyle">230</a></li> -<li><a name="cmd.deftocheading"></a><a href="#cmd.deftocheading">\deftocheading</a> --> <a href="scrguide.pdf#tocbasic.cmd.deftocheading">293</a></li> -<li><a name="cmd.deftripstyle"></a><a href="#cmd.deftripstyle">\deftripstyle</a> --> <a href="scrguide.pdf#scrpage.cmd.deftripstyle">228</a></li> -<li><a name="cmd.dictum"></a><a href="#cmd.dictum">\dictum</a> --> <a href="scrguide.pdf#maincls.cmd.dictum">108</a></li> -<li><a name="cmd.dictumauthorformat"></a><a href="#cmd.dictumauthorformat">\dictumauthorformat</a> --> <a href="scrguide.pdf#maincls.cmd.dictumauthorformat">108</a></li> -<li><a name="cmd.dictumrule"></a><a href="#cmd.dictumrule">\dictumrule</a> --> <a href="scrguide.pdf#maincls.cmd.dictumrule">108</a></li> -<li><a name="cmd.dictumwidth"></a><a href="#cmd.dictumwidth">\dictumwidth</a> --> <a href="scrguide.pdf#maincls.cmd.dictumwidth">108</a></li> -<li><a name="cmd.documentclass"></a><a href="#cmd.documentclass">\documentclass</a> --> <a href="scrguide.pdf#typearea.cmd.documentclass">30</a></li> -<li><a name="cmd.doforeachtocfile"></a><a href="#cmd.doforeachtocfile">\doforeachtocfile</a> --> <a href="scrguide.pdf#tocbasic.cmd.doforeachtocfile">288</a></li> -<li><a name="cmd.edgesize"></a><a href="#cmd.edgesize">\edgesize</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.edgesize">336</a></li> -<li><a name="cmd.emailname"></a><a href="#cmd.emailname">\emailname</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.emailname">340</a></li> -<li><a name="cmd.encl"></a><a href="#cmd.encl">\encl</a> --> <a href="scrguide.pdf#scrlttr2.cmd.encl">159</a></li> -<li><a name="cmd.enclname"></a><a href="#cmd.enclname">\enclname</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.enclname">340</a></li> -<li><a name="cmd.extratitle"></a><a href="#cmd.extratitle">\extratitle</a> --> <a href="scrguide.pdf#maincls.cmd.extratitle">62</a></li> -<li><a name="cmd.faxname"></a><a href="#cmd.faxname">\faxname</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.faxname">340</a></li> -<li><a name="cmd.figureformat"></a><a href="#cmd.figureformat">\figureformat</a> --> <a href="scrguide.pdf#maincls.cmd.figureformat">132</a></li> -<li><a name="cmd.footfont"></a><a href="#cmd.footfont">\footfont</a> --> <a href="scrguide.pdf#scrpage.cmd.footfont">219</a></li> -<li><a name="cmd.footnote"></a><a href="#cmd.footnote">\footnote</a> --> <a href="scrguide.pdf#maincls.cmd.footnote">84</a></li> -<li><a name="cmd.footnotemark"></a><a href="#cmd.footnotemark">\footnotemark</a> --> <a href="scrguide.pdf#maincls.cmd.footnotemark">84</a></li> -<li><a name="cmd.footnotetext"></a><a href="#cmd.footnotetext">\footnotetext</a> --> <a href="scrguide.pdf#maincls.cmd.footnotetext">84</a></li> -<li><a name="cmd.footref"></a><a href="#cmd.footref">\footref</a> --> <a href="scrguide.pdf#maincls.cmd.footref">85</a></li> -<li><a name="cmd.frontmatter"></a><a href="#cmd.frontmatter">\frontmatter</a> --> <a href="scrguide.pdf#maincls.cmd.frontmatter">88</a></li> -<li><a name="cmd.headfont"></a><a href="#cmd.headfont">\headfont</a> --> <a href="scrguide.pdf#scrpage.cmd.headfont">219</a></li> -<li><a name="cmd.headfromname"></a><a href="#cmd.headfromname">\headfromname</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.headfromname">340</a></li> -<li><a name="cmd.headmark"></a><a href="#cmd.headmark">\headmark</a> --> <a href="scrguide.pdf#scrpage.cmd.headmark">217</a></li> -<li><a name="cmd.headtoname"></a><a href="#cmd.headtoname">\headtoname</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.headtoname">340</a></li> -<li><a name="cmd.if@atdocument"></a><a href="#cmd.if@atdocument">\if@atdocument</a> --> <a href="scrguide.pdf#scrbase.cmd.if@atdocument">264</a></li> -<li><a name="cmd.ifVTeX"></a><a href="#cmd.ifVTeX">\ifVTeX</a> --> <a href="scrguide.pdf#scrbase.cmd.ifVTeX">263</a></li> -<li><a name="cmd.ifattoclist"></a><a href="#cmd.ifattoclist">\ifattoclist</a> --> <a href="scrguide.pdf#tocbasic.cmd.ifattoclist">285</a></li> -<li><a name="cmd.ifdimen"></a><a href="#cmd.ifdimen">\ifdimen</a> --> <a href="scrguide.pdf#scrbase.cmd.ifdimen">264</a></li> -<li><a name="cmd.ifdvioutput"></a><a href="#cmd.ifdvioutput">\ifdvioutput</a> --> <a href="scrguide.pdf#scrbase.cmd.ifdvioutput">263</a></li> -<li><a name="cmd.ifkomavar"></a><a href="#cmd.ifkomavar">\ifkomavar</a> --> <a href="scrguide.pdf#scrlttr2.cmd.ifkomavar">149</a></li> -<li><a name="cmd.ifkomavarempty*"></a><a href="#cmd.ifkomavarempty*">\ifkomavarempty*</a> --> <a href="scrguide.pdf#scrlttr2.cmd.ifkomavarempty*">150</a>, <a href="scrguide.pdf#scrlttr2-experts.cmd.ifkomavarempty*">334</a></li> -<li><a name="cmd.ifkomavarempty"></a><a href="#cmd.ifkomavarempty">\ifkomavarempty</a> --> <a href="scrguide.pdf#scrlttr2.cmd.ifkomavarempty">150</a>, <a href="scrguide.pdf#scrlttr2-experts.cmd.ifkomavarempty">334</a></li> -<li><a name="cmd.ifnotundefined"></a><a href="#cmd.ifnotundefined">\ifnotundefined</a> --> <a href="scrguide.pdf#scrbase.cmd.ifnotundefined">264</a></li> -<li><a name="cmd.ifnumber"></a><a href="#cmd.ifnumber">\ifnumber</a> --> <a href="scrguide.pdf#scrbase.cmd.ifnumber">264</a></li> -<li><a name="cmd.ifoot"></a><a href="#cmd.ifoot">\ifoot</a> --> <a href="scrguide.pdf#scrpage.cmd.ifoot">215</a></li> -<li><a name="cmd.ifpdfoutput"></a><a href="#cmd.ifpdfoutput">\ifpdfoutput</a> --> <a href="scrguide.pdf#scrbase.cmd.ifpdfoutput">263</a></li> -<li><a name="cmd.ifpdftex"></a><a href="#cmd.ifpdftex">\ifpdftex</a> --> <a href="scrguide.pdf#scrbase.cmd.ifpdftex">263</a></li> -<li><a name="cmd.ifpsoutput"></a><a href="#cmd.ifpsoutput">\ifpsoutput</a> --> <a href="scrguide.pdf#scrbase.cmd.ifpsoutput">263</a></li> -<li><a name="cmd.ifstr"></a><a href="#cmd.ifstr">\ifstr</a> --> <a href="scrguide.pdf#scrbase.cmd.ifstr">264</a></li> -<li><a name="cmd.ifthispageodd"></a><a href="#cmd.ifthispageodd">\ifthispageodd</a> --> <a href="scrguide.pdf#maincls.cmd.ifthispageodd">75</a></li> -<li><a name="cmd.iftocfeature"></a><a href="#cmd.iftocfeature">\iftocfeature</a> --> <a href="scrguide.pdf#tocbasic.cmd.iftocfeature">295</a></li> -<li><a name="cmd.ifundefinedorrelax"></a><a href="#cmd.ifundefinedorrelax">\ifundefinedorrelax</a> --> <a href="scrguide.pdf#scrbase.cmd.ifundefinedorrelax">263</a></li> -<li><a name="cmd.ihead"></a><a href="#cmd.ihead">\ihead</a> --> <a href="scrguide.pdf#scrpage.cmd.ihead">215</a></li> -<li><a name="cmd.indexpagestyle"></a><a href="#cmd.indexpagestyle">\indexpagestyle</a> --> <a href="scrguide.pdf#maincls.cmd.indexpagestyle">79</a></li> -<li><a name="cmd.invoicename"></a><a href="#cmd.invoicename">\invoicename</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.invoicename">340</a></li> -<li><a name="cmd.item"></a><a href="#cmd.item">\item</a> --> <a href="scrguide.pdf#maincls.cmd.item">110</a></li> -<li><a name="cmd.l@addto@macro"></a><a href="#cmd.l@addto@macro">\l@addto@macro</a> --> <a href="scrguide.pdf#scrbase.cmd.l@addto@macro">268</a></li> -<li><a name="cmd.labelenumi"></a><a href="#cmd.labelenumi">\labelenumi</a> --> <a href="scrguide.pdf#maincls.cmd.labelenumi">112</a></li> -<li><a name="cmd.labelenumii"></a><a href="#cmd.labelenumii">\labelenumii</a> --> <a href="scrguide.pdf#maincls.cmd.labelenumii">112</a></li> -<li><a name="cmd.labelenumiii"></a><a href="#cmd.labelenumiii">\labelenumiii</a> --> <a href="scrguide.pdf#maincls.cmd.labelenumiii">112</a></li> -<li><a name="cmd.labelenumiv"></a><a href="#cmd.labelenumiv">\labelenumiv</a> --> <a href="scrguide.pdf#maincls.cmd.labelenumiv">112</a></li> -<li><a name="cmd.labelitemi"></a><a href="#cmd.labelitemi">\labelitemi</a> --> <a href="scrguide.pdf#maincls.cmd.labelitemi">110</a></li> -<li><a name="cmd.labelitemii"></a><a href="#cmd.labelitemii">\labelitemii</a> --> <a href="scrguide.pdf#maincls.cmd.labelitemii">110</a></li> -<li><a name="cmd.labelitemiii"></a><a href="#cmd.labelitemiii">\labelitemiii</a> --> <a href="scrguide.pdf#maincls.cmd.labelitemiii">110</a></li> -<li><a name="cmd.labelitemiv"></a><a href="#cmd.labelitemiv">\labelitemiv</a> --> <a href="scrguide.pdf#maincls.cmd.labelitemiv">110</a></li> -<li><a name="cmd.lefoot"></a><a href="#cmd.lefoot">\lefoot</a> --> <a href="scrguide.pdf#scrpage.cmd.lefoot">215</a></li> -<li><a name="cmd.leftmark"></a><a href="#cmd.leftmark">\leftmark</a> --> <a href="scrguide.pdf#scrpage.cmd.leftmark">217</a></li> -<li><a name="cmd.lehead"></a><a href="#cmd.lehead">\lehead</a> --> <a href="scrguide.pdf#scrpage.cmd.lehead">215</a></li> -<li><a name="cmd.listofeachtoc"></a><a href="#cmd.listofeachtoc">\listofeachtoc</a> --> <a href="scrguide.pdf#tocbasic.cmd.listofeachtoc">290</a></li> -<li><a name="cmd.listoffigures"></a><a href="#cmd.listoffigures">\listoffigures</a> --> <a href="scrguide.pdf#maincls.cmd.listoffigures">138</a></li> -<li><a name="cmd.listofname"></a><a href="#cmd.listofname">\listofname</a> --> <a href="scrguide.pdf#tocbasic.cmd.listofname">290</a></li> -<li><a name="cmd.listoftables"></a><a href="#cmd.listoftables">\listoftables</a> --> <a href="scrguide.pdf#maincls.cmd.listoftables">138</a></li> -<li><a name="cmd.listoftoc*"></a><a href="#cmd.listoftoc*">\listoftoc*</a> --> <a href="scrguide.pdf#tocbasic.cmd.listoftoc*">290</a></li> -<li><a name="cmd.listoftoc"></a><a href="#cmd.listoftoc">\listoftoc</a> --> <a href="scrguide.pdf#tocbasic.cmd.listoftoc">290</a></li> -<li><a name="cmd.lofoot"></a><a href="#cmd.lofoot">\lofoot</a> --> <a href="scrguide.pdf#scrpage.cmd.lofoot">215</a></li> -<li><a name="cmd.lohead"></a><a href="#cmd.lohead">\lohead</a> --> <a href="scrguide.pdf#scrpage.cmd.lohead">215</a></li> -<li><a name="cmd.lowertitleback"></a><a href="#cmd.lowertitleback">\lowertitleback</a> --> <a href="scrguide.pdf#maincls.cmd.lowertitleback">65</a></li> -<li><a name="cmd.mainmatter"></a><a href="#cmd.mainmatter">\mainmatter</a> --> <a href="scrguide.pdf#maincls.cmd.mainmatter">88</a></li> -<li><a name="cmd.maketitle"></a><a href="#cmd.maketitle">\maketitle</a> --> <a href="scrguide.pdf#maincls.cmd.maketitle">61</a></li> -<li><a name="cmd.manualmark"></a><a href="#cmd.manualmark">\manualmark</a> --> <a href="scrguide.pdf#scrpage.cmd.manualmark">218</a></li> -<li><a name="cmd.marginline"></a><a href="#cmd.marginline">\marginline</a> --> <a href="scrguide.pdf#maincls.cmd.marginline">138</a></li> -<li><a name="cmd.marginpar"></a><a href="#cmd.marginpar">\marginpar</a> --> <a href="scrguide.pdf#maincls.cmd.marginpar">138</a></li> -<li><a name="cmd.markboth"></a><a href="#cmd.markboth">\markboth</a> --> <a href="scrguide.pdf#scrlttr2.cmd.markboth">199</a>, <a href="scrguide.pdf#maincls.cmd.markboth">78</a></li> -<li><a name="cmd.markright"></a><a href="#cmd.markright">\markright</a> --> <a href="scrguide.pdf#scrlttr2.cmd.markright">199</a>, <a href="scrguide.pdf#maincls.cmd.markright">78</a></li> -<li><a name="cmd.minisec"></a><a href="#cmd.minisec">\minisec</a> --> <a href="scrguide.pdf#maincls.cmd.minisec">100</a></li> -<li><a name="cmd.multfootsep"></a><a href="#cmd.multfootsep">\multfootsep</a> --> <a href="scrguide.pdf#maincls.cmd.multfootsep">84</a></li> -<li><a name="cmd.multiplefootnoteseparator"></a><a href="#cmd.multiplefootnoteseparator">\multiplefootnoteseparator</a> --> <a href="scrguide.pdf#maincls.cmd.multiplefootnoteseparator">84</a></li> -<li><a name="cmd.myrefname"></a><a href="#cmd.myrefname">\myrefname</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.myrefname">340</a></li> -<li><a name="cmd.newbibstyle"></a><a href="#cmd.newbibstyle">\newbibstyle</a> --> <a href="scrguide.pdf#maincls-experts.cmd.newbibstyle">314</a></li> -<li><a name="cmd.newblock"></a><a href="#cmd.newblock">\newblock</a> --> <a href="scrguide.pdf#maincls-experts.cmd.newblock">314</a></li> -<li><a name="cmd.newcaptionname"></a><a href="#cmd.newcaptionname">\newcaptionname</a> --> <a href="scrguide.pdf#scrbase.cmd.newcaptionname">265</a></li> -<li><a name="cmd.newkomafont"></a><a href="#cmd.newkomafont">\newkomafont</a> --> <a href="scrguide.pdf#maincls-experts.cmd.newkomafont">310</a></li> -<li><a name="cmd.newkomavar*"></a><a href="#cmd.newkomavar*">\newkomavar*</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.newkomavar*">332</a></li> -<li><a name="cmd.newkomavar"></a><a href="#cmd.newkomavar">\newkomavar</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.newkomavar">332</a></li> -<li><a name="cmd.newpagestyle"></a><a href="#cmd.newpagestyle">\newpagestyle</a> --> <a href="scrguide.pdf#scrpage.cmd.newpagestyle">230</a></li> -<li><a name="cmd.ohead"></a><a href="#cmd.ohead">\ohead</a> --> <a href="scrguide.pdf#scrpage.cmd.ohead">215</a></li> -<li><a name="cmd.opening"></a><a href="#cmd.opening">\opening</a> --> <a href="scrguide.pdf#scrlttr2.cmd.opening">155</a></li> -<li><a name="cmd.othersectionlevelsformat"></a><a href="#cmd.othersectionlevelsformat">\othersectionlevelsformat</a> --> <a href="scrguide.pdf#maincls.cmd.othersectionlevelsformat">103</a></li> -<li><a name="cmd.pagemark"></a><a href="#cmd.pagemark">\pagemark</a> --> <a href="scrguide.pdf#scrpage.cmd.pagemark">218</a></li> -<li><a name="cmd.pagename"></a><a href="#cmd.pagename">\pagename</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.pagename">340</a></li> -<li><a name="cmd.pagenumbering"></a><a href="#cmd.pagenumbering">\pagenumbering</a> --> <a href="scrguide.pdf#maincls.cmd.pagenumbering">80</a></li> -<li><a name="cmd.pagestyle"></a><a href="#cmd.pagestyle">\pagestyle</a> --> <a href="scrguide.pdf#scrlttr2.cmd.pagestyle">197</a>, <a href="scrguide.pdf#maincls.cmd.pagestyle">76</a></li> -<li><a name="cmd.paragraph*"></a><a href="#cmd.paragraph*">\paragraph*</a> --> <a href="scrguide.pdf#maincls.cmd.paragraph*">99</a></li> -<li><a name="cmd.paragraph"></a><a href="#cmd.paragraph">\paragraph</a> --> <a href="scrguide.pdf#maincls.cmd.paragraph">94</a></li> -<li><a name="cmd.part*"></a><a href="#cmd.part*">\part*</a> --> <a href="scrguide.pdf#maincls.cmd.part*">99</a></li> -<li><a name="cmd.part"></a><a href="#cmd.part">\part</a> --> <a href="scrguide.pdf#maincls.cmd.part">94</a></li> -<li><a name="cmd.partformat"></a><a href="#cmd.partformat">\partformat</a> --> <a href="scrguide.pdf#maincls.cmd.partformat">103</a></li> -<li><a name="cmd.partheademptypage"></a><a href="#cmd.partheademptypage">\partheademptypage</a> --> <a href="scrguide.pdf#maincls-experts.cmd.partheademptypage">311</a></li> -<li><a name="cmd.partheadendvskip"></a><a href="#cmd.partheadendvskip">\partheadendvskip</a> --> <a href="scrguide.pdf#maincls-experts.cmd.partheadendvskip">311</a></li> -<li><a name="cmd.partheadmidvskip"></a><a href="#cmd.partheadmidvskip">\partheadmidvskip</a> --> <a href="scrguide.pdf#maincls-experts.cmd.partheadmidvskip">311</a></li> -<li><a name="cmd.partheadstartvskip"></a><a href="#cmd.partheadstartvskip">\partheadstartvskip</a> --> <a href="scrguide.pdf#maincls-experts.cmd.partheadstartvskip">311</a></li> -<li><a name="cmd.partpagestyle"></a><a href="#cmd.partpagestyle">\partpagestyle</a> --> <a href="scrguide.pdf#maincls.cmd.partpagestyle">79</a></li> -<li><a name="cmd.phonename"></a><a href="#cmd.phonename">\phonename</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.phonename">340</a></li> -<li><a name="cmd.pnumfont"></a><a href="#cmd.pnumfont">\pnumfont</a> --> <a href="scrguide.pdf#scrpage.cmd.pnumfont">219</a></li> -<li><a name="cmd.providecaptionname"></a><a href="#cmd.providecaptionname">\providecaptionname</a> --> <a href="scrguide.pdf#scrbase.cmd.providecaptionname">265</a></li> -<li><a name="cmd.providepagestyle"></a><a href="#cmd.providepagestyle">\providepagestyle</a> --> <a href="scrguide.pdf#scrpage.cmd.providepagestyle">230</a></li> -<li><a name="cmd.ps"></a><a href="#cmd.ps">\ps</a> --> <a href="scrguide.pdf#scrlttr2.cmd.ps">157</a></li> -<li><a name="cmd.publishers"></a><a href="#cmd.publishers">\publishers</a> --> <a href="scrguide.pdf#maincls.cmd.publishers">63</a></li> -<li><a name="cmd.raggedchapterentry"></a><a href="#cmd.raggedchapterentry">\raggedchapterentry</a> --> <a href="scrguide.pdf#maincls-experts.cmd.raggedchapterentry">311</a></li> -<li><a name="cmd.raggeddictum"></a><a href="#cmd.raggeddictum">\raggeddictum</a> --> <a href="scrguide.pdf#maincls.cmd.raggeddictum">108</a></li> -<li><a name="cmd.raggeddictumauthor"></a><a href="#cmd.raggeddictumauthor">\raggeddictumauthor</a> --> <a href="scrguide.pdf#maincls.cmd.raggeddictumauthor">108</a></li> -<li><a name="cmd.raggeddictumtext"></a><a href="#cmd.raggeddictumtext">\raggeddictumtext</a> --> <a href="scrguide.pdf#maincls.cmd.raggeddictumtext">108</a></li> -<li><a name="cmd.raggedpart"></a><a href="#cmd.raggedpart">\raggedpart</a> --> <a href="scrguide.pdf#maincls.cmd.raggedpart">102</a></li> -<li><a name="cmd.raggedsection"></a><a href="#cmd.raggedsection">\raggedsection</a> --> <a href="scrguide.pdf#maincls.cmd.raggedsection">102</a></li> -<li><a name="cmd.raggedsignature"></a><a href="#cmd.raggedsignature">\raggedsignature</a> --> <a href="scrguide.pdf#scrlttr2.cmd.raggedsignature">201</a></li> -<li><a name="cmd.refoot"></a><a href="#cmd.refoot">\refoot</a> --> <a href="scrguide.pdf#scrpage.cmd.refoot">215</a></li> -<li><a name="cmd.rehead"></a><a href="#cmd.rehead">\rehead</a> --> <a href="scrguide.pdf#scrpage.cmd.rehead">215</a></li> -<li><a name="cmd.removefromtoclist"></a><a href="#cmd.removefromtoclist">\removefromtoclist</a> --> <a href="scrguide.pdf#tocbasic.cmd.removefromtoclist">288</a></li> -<li><a name="cmd.removereffields"></a><a href="#cmd.removereffields">\removereffields</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.removereffields">332</a></li> -<li><a name="cmd.renewcaptionname"></a><a href="#cmd.renewcaptionname">\renewcaptionname</a> --> <a href="scrguide.pdf#scrbase.cmd.renewcaptionname">265</a></li> -<li><a name="cmd.renewpagestyle"></a><a href="#cmd.renewpagestyle">\renewpagestyle</a> --> <a href="scrguide.pdf#scrpage.cmd.renewpagestyle">230</a></li> -<li><a name="cmd.rfoot"></a><a href="#cmd.rfoot">\rfoot</a> --> <a href="scrguide.pdf#scrpage.cmd.rfoot">215</a></li> -<li><a name="cmd.rightmark"></a><a href="#cmd.rightmark">\rightmark</a> --> <a href="scrguide.pdf#scrpage.cmd.rightmark">217</a></li> -<li><a name="cmd.rofoot"></a><a href="#cmd.rofoot">\rofoot</a> --> <a href="scrguide.pdf#scrpage.cmd.rofoot">215</a></li> -<li><a name="cmd.rohead"></a><a href="#cmd.rohead">\rohead</a> --> <a href="scrguide.pdf#scrpage.cmd.rohead">215</a></li> -<li><a name="cmd.scr@ifVTeX"></a><a href="#cmd.scr@ifVTeX">\scr@ifVTeX</a> --> <a href="scrguide.pdf#scrbase.cmd.scr@ifVTeX">263</a></li> -<li><a name="cmd.scr@ifdvioutput"></a><a href="#cmd.scr@ifdvioutput">\scr@ifdvioutput</a> --> <a href="scrguide.pdf#scrbase.cmd.scr@ifdvioutput">263</a></li> -<li><a name="cmd.scr@ifpdfoutput"></a><a href="#cmd.scr@ifpdfoutput">\scr@ifpdfoutput</a> --> <a href="scrguide.pdf#scrbase.cmd.scr@ifpdfoutput">263</a></li> -<li><a name="cmd.scr@ifpdftex"></a><a href="#cmd.scr@ifpdftex">\scr@ifpdftex</a> --> <a href="scrguide.pdf#scrbase.cmd.scr@ifpdftex">263</a></li> -<li><a name="cmd.scr@ifpsoutput"></a><a href="#cmd.scr@ifpsoutput">\scr@ifpsoutput</a> --> <a href="scrguide.pdf#scrbase.cmd.scr@ifpsoutput">263</a></li> -<li><a name="cmd.scr@ifundefinedorrelax"></a><a href="#cmd.scr@ifundefinedorrelax">\scr@ifundefinedorrelax</a> --> <a href="scrguide.pdf#scrbase.cmd.scr@ifundefinedorrelax">263</a></li> -<li><a name="cmd.section*"></a><a href="#cmd.section*">\section*</a> --> <a href="scrguide.pdf#maincls.cmd.section*">99</a></li> -<li><a name="cmd.section"></a><a href="#cmd.section">\section</a> --> <a href="scrguide.pdf#maincls.cmd.section">94</a></li> -<li><a name="cmd.sectionmark"></a><a href="#cmd.sectionmark">\sectionmark</a> --> <a href="scrguide.pdf#maincls.cmd.sectionmark">105</a></li> -<li><a name="cmd.sectionmarkformat"></a><a href="#cmd.sectionmarkformat">\sectionmarkformat</a> --> <a href="scrguide.pdf#maincls.cmd.sectionmarkformat">105</a></li> -<li><a name="cmd.setbibpreamble"></a><a href="#cmd.setbibpreamble">\setbibpreamble</a> --> <a href="scrguide.pdf#maincls.cmd.setbibpreamble">141</a></li> -<li><a name="cmd.setcaphanging"></a><a href="#cmd.setcaphanging">\setcaphanging</a> --> <a href="scrguide.pdf#maincls.cmd.setcaphanging">133</a></li> -<li><a name="cmd.setcapindent*"></a><a href="#cmd.setcapindent*">\setcapindent*</a> --> <a href="scrguide.pdf#maincls.cmd.setcapindent*">133</a></li> -<li><a name="cmd.setcapindent"></a><a href="#cmd.setcapindent">\setcapindent</a> --> <a href="scrguide.pdf#maincls.cmd.setcapindent">133</a></li> -<li><a name="cmd.setcapmargin*"></a><a href="#cmd.setcapmargin*">\setcapmargin*</a> --> <a href="scrguide.pdf#maincls.cmd.setcapmargin*">134</a></li> -<li><a name="cmd.setcapmargin"></a><a href="#cmd.setcapmargin">\setcapmargin</a> --> <a href="scrguide.pdf#maincls.cmd.setcapmargin">134</a></li> -<li><a name="cmd.setcapwidth"></a><a href="#cmd.setcapwidth">\setcapwidth</a> --> <a href="scrguide.pdf#maincls.cmd.setcapwidth">134</a></li> -<li><a name="cmd.setchapterpreamble"></a><a href="#cmd.setchapterpreamble">\setchapterpreamble</a> --> <a href="scrguide.pdf#maincls.cmd.setchapterpreamble">106</a></li> -<li><a name="cmd.setfootbotline"></a><a href="#cmd.setfootbotline">\setfootbotline</a> --> <a href="scrguide.pdf#scrpage.cmd.setfootbotline">222</a></li> -<li><a name="cmd.setfootnoterule"></a><a href="#cmd.setfootnoterule">\setfootnoterule</a> --> <a href="scrguide.pdf#maincls.cmd.setfootnoterule">87</a></li> -<li><a name="cmd.setfootsepline"></a><a href="#cmd.setfootsepline">\setfootsepline</a> --> <a href="scrguide.pdf#scrpage.cmd.setfootsepline">222</a></li> -<li><a name="cmd.setfootwidth"></a><a href="#cmd.setfootwidth">\setfootwidth</a> --> <a href="scrguide.pdf#scrpage.cmd.setfootwidth">220</a></li> -<li><a name="cmd.setheadsepline"></a><a href="#cmd.setheadsepline">\setheadsepline</a> --> <a href="scrguide.pdf#scrpage.cmd.setheadsepline">222</a></li> -<li><a name="cmd.setheadtopline"></a><a href="#cmd.setheadtopline">\setheadtopline</a> --> <a href="scrguide.pdf#scrpage.cmd.setheadtopline">222</a></li> -<li><a name="cmd.setheadwidth"></a><a href="#cmd.setheadwidth">\setheadwidth</a> --> <a href="scrguide.pdf#scrpage.cmd.setheadwidth">220</a></li> -<li><a name="cmd.setindexpreamble"></a><a href="#cmd.setindexpreamble">\setindexpreamble</a> --> <a href="scrguide.pdf#maincls.cmd.setindexpreamble">143</a></li> -<li><a name="cmd.setkomafont"></a><a href="#cmd.setkomafont">\setkomafont</a> --> <a href="scrguide.pdf#scrextend.cmd.setkomafont">248</a>, <a href="scrguide.pdf#maincls.cmd.setkomafont">56</a></li> -<li><a name="cmd.setkomavar*"></a><a href="#cmd.setkomavar*">\setkomavar*</a> --> <a href="scrguide.pdf#scrlttr2.cmd.setkomavar*">148</a></li> -<li><a name="cmd.setkomavar"></a><a href="#cmd.setkomavar">\setkomavar</a> --> <a href="scrguide.pdf#scrlttr2.cmd.setkomavar">148</a></li> -<li><a name="cmd.setlengthtoplength"></a><a href="#cmd.setlengthtoplength">\setlengthtoplength</a> --> <a href="scrguide.pdf#scrlttr2.cmd.setlengthtoplength">150</a></li> -<li><a name="cmd.setparsizes"></a><a href="#cmd.setparsizes">\setparsizes</a> --> <a href="scrguide.pdf#maincls-experts.cmd.setparsizes">311</a></li> -<li><a name="cmd.setpartpreamble"></a><a href="#cmd.setpartpreamble">\setpartpreamble</a> --> <a href="scrguide.pdf#maincls.cmd.setpartpreamble">106</a></li> -<li><a name="cmd.setshowstyle"></a><a href="#cmd.setshowstyle">\setshowstyle</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.setshowstyle">336</a></li> -<li><a name="cmd.setuptoc"></a><a href="#cmd.setuptoc">\setuptoc</a> --> <a href="scrguide.pdf#tocbasic.cmd.setuptoc">293</a></li> -<li><a name="cmd.showISOenvelope"></a><a href="#cmd.showISOenvelope">\showISOenvelope</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.showISOenvelope">336</a></li> -<li><a name="cmd.showUScheck"></a><a href="#cmd.showUScheck">\showUScheck</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.showUScheck">336</a></li> -<li><a name="cmd.showUScommercial"></a><a href="#cmd.showUScommercial">\showUScommercial</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.showUScommercial">336</a></li> -<li><a name="cmd.showenvelope"></a><a href="#cmd.showenvelope">\showenvelope</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.showenvelope">336</a></li> -<li><a name="cmd.showfields"></a><a href="#cmd.showfields">\showfields</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.showfields">335</a></li> -<li><a name="cmd.storearea"></a><a href="#cmd.storearea">\storearea</a> --> <a href="scrguide.pdf#typearea-experts.cmd.storearea">306</a></li> -<li><a name="cmd.subject"></a><a href="#cmd.subject">\subject</a> --> <a href="scrguide.pdf#maincls.cmd.subject">63</a></li> -<li><a name="cmd.subjectname"></a><a href="#cmd.subjectname">\subjectname</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.subjectname">340</a></li> -<li><a name="cmd.subparagraph*"></a><a href="#cmd.subparagraph*">\subparagraph*</a> --> <a href="scrguide.pdf#maincls.cmd.subparagraph*">99</a></li> -<li><a name="cmd.subparagraph"></a><a href="#cmd.subparagraph">\subparagraph</a> --> <a href="scrguide.pdf#maincls.cmd.subparagraph">94</a></li> -<li><a name="cmd.subsection*"></a><a href="#cmd.subsection*">\subsection*</a> --> <a href="scrguide.pdf#maincls.cmd.subsection*">99</a></li> -<li><a name="cmd.subsection"></a><a href="#cmd.subsection">\subsection</a> --> <a href="scrguide.pdf#maincls.cmd.subsection">94</a></li> -<li><a name="cmd.subsectionmark"></a><a href="#cmd.subsectionmark">\subsectionmark</a> --> <a href="scrguide.pdf#maincls.cmd.subsectionmark">105</a></li> -<li><a name="cmd.subsectionmarkformat"></a><a href="#cmd.subsectionmarkformat">\subsectionmarkformat</a> --> <a href="scrguide.pdf#maincls.cmd.subsectionmarkformat">105</a></li> -<li><a name="cmd.subsubsection*"></a><a href="#cmd.subsubsection*">\subsubsection*</a> --> <a href="scrguide.pdf#maincls.cmd.subsubsection*">99</a></li> -<li><a name="cmd.subsubsection"></a><a href="#cmd.subsubsection">\subsubsection</a> --> <a href="scrguide.pdf#maincls.cmd.subsubsection">94</a></li> -<li><a name="cmd.subtitle"></a><a href="#cmd.subtitle">\subtitle</a> --> <a href="scrguide.pdf#maincls.cmd.subtitle">63</a></li> -<li><a name="cmd.tableformat"></a><a href="#cmd.tableformat">\tableformat</a> --> <a href="scrguide.pdf#maincls.cmd.tableformat">132</a></li> -<li><a name="cmd.tableofcontents"></a><a href="#cmd.tableofcontents">\tableofcontents</a> --> <a href="scrguide.pdf#maincls.cmd.tableofcontents">69</a></li> -<li><a name="cmd.tb@@after@hook"></a><a href="#cmd.tb@@after@hook">\tb@@after@hook</a> --> <a href="scrguide.pdf#tocbasic.cmd.tb@@after@hook">297</a></li> -<li><a name="cmd.tb@@before@hook"></a><a href="#cmd.tb@@before@hook">\tb@@before@hook</a> --> <a href="scrguide.pdf#tocbasic.cmd.tb@@before@hook">297</a></li> -<li><a name="cmd.textsubscript"></a><a href="#cmd.textsubscript">\textsubscript</a> --> <a href="scrguide.pdf#scrextend.cmd.textsubscript">247</a>, <a href="scrguide.pdf#maincls.cmd.textsubscript">55</a></li> -<li><a name="cmd.textsuperscript"></a><a href="#cmd.textsuperscript">\textsuperscript</a> --> <a href="scrguide.pdf#scrextend.cmd.textsuperscript">247</a>, <a href="scrguide.pdf#maincls.cmd.textsuperscript">55</a></li> -<li><a name="cmd.thanks"></a><a href="#cmd.thanks">\thanks</a> --> <a href="scrguide.pdf#maincls.cmd.thanks">63</a></li> -<li><a name="cmd.theenumi"></a><a href="#cmd.theenumi">\theenumi</a> --> <a href="scrguide.pdf#maincls.cmd.theenumi">112</a></li> -<li><a name="cmd.theenumii"></a><a href="#cmd.theenumii">\theenumii</a> --> <a href="scrguide.pdf#maincls.cmd.theenumii">112</a></li> -<li><a name="cmd.theenumiii"></a><a href="#cmd.theenumiii">\theenumiii</a> --> <a href="scrguide.pdf#maincls.cmd.theenumiii">112</a></li> -<li><a name="cmd.theenumiv"></a><a href="#cmd.theenumiv">\theenumiv</a> --> <a href="scrguide.pdf#maincls.cmd.theenumiv">112</a></li> -<li><a name="cmd.thefootnotemark"></a><a href="#cmd.thefootnotemark">\thefootnotemark</a> --> <a href="scrguide.pdf#maincls.cmd.thefootnotemark">86</a></li> -<li><a name="cmd.thispagestyle"></a><a href="#cmd.thispagestyle">\thispagestyle</a> --> <a href="scrguide.pdf#scrlttr2.cmd.thispagestyle">197</a>, <a href="scrguide.pdf#maincls.cmd.thispagestyle">76</a></li> -<li><a name="cmd.title"></a><a href="#cmd.title">\title</a> --> <a href="scrguide.pdf#maincls.cmd.title">63</a></li> -<li><a name="cmd.titlehead"></a><a href="#cmd.titlehead">\titlehead</a> --> <a href="scrguide.pdf#maincls.cmd.titlehead">63</a></li> -<li><a name="cmd.titlepagestyle"></a><a href="#cmd.titlepagestyle">\titlepagestyle</a> --> <a href="scrguide.pdf#scrextend.cmd.titlepagestyle">249</a>, <a href="scrguide.pdf#maincls.cmd.titlepagestyle">79</a></li> -<li><a name="cmd.tocbasic@@after@hook"></a><a href="#cmd.tocbasic@@after@hook">\tocbasic@@after@hook</a> --> <a href="scrguide.pdf#tocbasic.cmd.tocbasic@@after@hook">297</a></li> -<li><a name="cmd.tocbasic@@before@hook"></a><a href="#cmd.tocbasic@@before@hook">\tocbasic@@before@hook</a> --> <a href="scrguide.pdf#tocbasic.cmd.tocbasic@@before@hook">297</a></li> -<li><a name="cmd.tocbasic@extend@babel"></a><a href="#cmd.tocbasic@extend@babel">\tocbasic@extend@babel</a> --> <a href="scrguide.pdf#tocbasic.cmd.tocbasic@extend@babel">296</a></li> -<li><a name="cmd.tocbasic@listhead"></a><a href="#cmd.tocbasic@listhead">\tocbasic@listhead</a> --> <a href="scrguide.pdf#tocbasic.cmd.tocbasic@listhead">297</a></li> -<li><a name="cmd.tocbasic@listhead@"></a><a href="#cmd.tocbasic@listhead@">\tocbasic@listhead@</a> --> <a href="scrguide.pdf#tocbasic.cmd.tocbasic@listhead@">297</a></li> -<li><a name="cmd.tocbasic@starttoc"></a><a href="#cmd.tocbasic@starttoc">\tocbasic@starttoc</a> --> <a href="scrguide.pdf#tocbasic.cmd.tocbasic@starttoc">296</a></li> -<li><a name="cmd.tocbasicautomode"></a><a href="#cmd.tocbasicautomode">\tocbasicautomode</a> --> <a href="scrguide.pdf#tocbasic.cmd.tocbasicautomode">289</a></li> -<li><a name="cmd.unitfactor"></a><a href="#cmd.unitfactor">\unitfactor</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.unitfactor">336</a></li> -<li><a name="cmd.unsettoc"></a><a href="#cmd.unsettoc">\unsettoc</a> --> <a href="scrguide.pdf#tocbasic.cmd.unsettoc">293</a></li> -<li><a name="cmd.uppertitleback"></a><a href="#cmd.uppertitleback">\uppertitleback</a> --> <a href="scrguide.pdf#maincls.cmd.uppertitleback">65</a></li> -<li><a name="cmd.usekomafont"></a><a href="#cmd.usekomafont">\usekomafont</a> --> <a href="scrguide.pdf#scrextend.cmd.usekomafont">248</a>, <a href="scrguide.pdf#maincls.cmd.usekomafont">56</a></li> -<li><a name="cmd.usekomavar*"></a><a href="#cmd.usekomavar*">\usekomavar*</a> --> <a href="scrguide.pdf#scrlttr2.cmd.usekomavar*">149</a>, <a href="scrguide.pdf#scrlttr2-experts.cmd.usekomavar*">333</a></li> -<li><a name="cmd.usekomavar"></a><a href="#cmd.usekomavar">\usekomavar</a> --> <a href="scrguide.pdf#scrlttr2.cmd.usekomavar">149</a>, <a href="scrguide.pdf#scrlttr2-experts.cmd.usekomavar">333</a></li> -<li><a name="cmd.usepackage"></a><a href="#cmd.usepackage">\usepackage</a> --> <a href="scrguide.pdf#typearea.cmd.usepackage">30</a></li> -<li><a name="cmd.useplength"></a><a href="#cmd.useplength">\useplength</a> --> <a href="scrguide.pdf#scrlttr2.cmd.useplength">150</a></li> -<li><a name="cmd.wwwname"></a><a href="#cmd.wwwname">\wwwname</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.wwwname">340</a></li> -<li><a name="cmd.yourmailname"></a><a href="#cmd.yourmailname">\yourmailname</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.yourmailname">340</a></li> -<li><a name="cmd.yourrefname"></a><a href="#cmd.yourrefname">\yourrefname</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.yourrefname">340</a></li> +<li><a name="cmd.@addtoplength"></a><a href="#cmd.@addtoplength">\@addtoplength</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.@addtoplength">410</a></li> +<li><a name="cmd.@fontsizefilebase"></a><a href="#cmd.@fontsizefilebase">\@fontsizefilebase</a> --> <a href="scrguide.pdf#maincls-experts.cmd.@fontsizefilebase">397</a></li> +<li><a name="cmd.@mkboth"></a><a href="#cmd.@mkboth">\@mkboth</a> --> <a href="scrguide.pdf#scrlayer.cmd.@mkboth">366</a>, <a href="scrguide.pdf#scrlayer-scrpage-experts.cmd.@mkboth">372</a></li> +<li><a name="cmd.@mkdouble"></a><a href="#cmd.@mkdouble">\@mkdouble</a> --> <a href="scrguide.pdf#scrlayer.cmd.@mkdouble">366</a>, <a href="scrguide.pdf#scrlayer-scrpage-experts.cmd.@mkdouble">372</a></li> +<li><a name="cmd.@mkleft"></a><a href="#cmd.@mkleft">\@mkleft</a> --> <a href="scrguide.pdf#scrlayer.cmd.@mkleft">366</a>, <a href="scrguide.pdf#scrlayer-scrpage-experts.cmd.@mkleft">372</a></li> +<li><a name="cmd.@mkright"></a><a href="#cmd.@mkright">\@mkright</a> --> <a href="scrguide.pdf#scrlayer.cmd.@mkright">366</a>, <a href="scrguide.pdf#scrlayer-scrpage-experts.cmd.@mkright">372</a></li> +<li><a name="cmd.@newplength"></a><a href="#cmd.@newplength">\@newplength</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.@newplength">408</a></li> +<li><a name="cmd.@openbib@code"></a><a href="#cmd.@openbib@code">\@openbib@code</a> --> <a href="scrguide.pdf#maincls-experts.cmd.@openbib@code">401</a></li> +<li><a name="cmd.@setplength"></a><a href="#cmd.@setplength">\@setplength</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.@setplength">410</a></li> +<li><a name="cmd.AddLayersAtBeginOfPageStyle"></a><a href="#cmd.AddLayersAtBeginOfPageStyle">\AddLayersAtBeginOfPageStyle</a> --> <a href="scrguide.pdf#scrlayer.cmd.AddLayersAtBeginOfPageStyle">361</a></li> +<li><a name="cmd.AddLayersAtEndOfPageStyle"></a><a href="#cmd.AddLayersAtEndOfPageStyle">\AddLayersAtEndOfPageStyle</a> --> <a href="scrguide.pdf#scrlayer.cmd.AddLayersAtEndOfPageStyle">361</a></li> +<li><a name="cmd.AddLayersToPageStyle"></a><a href="#cmd.AddLayersToPageStyle">\AddLayersToPageStyle</a> --> <a href="scrguide.pdf#scrlayer.cmd.AddLayersToPageStyle">361</a></li> +<li><a name="cmd.AddLayersToPageStyleAfterLayer"></a><a href="#cmd.AddLayersToPageStyleAfterLayer">\AddLayersToPageStyleAfterLayer</a> --> <a href="scrguide.pdf#scrlayer.cmd.AddLayersToPageStyleAfterLayer">361</a></li> +<li><a name="cmd.AddLayersToPageStyleBeforeLayer"></a><a href="#cmd.AddLayersToPageStyleBeforeLayer">\AddLayersToPageStyleBeforeLayer</a> --> <a href="scrguide.pdf#scrlayer.cmd.AddLayersToPageStyleBeforeLayer">361</a></li> +<li><a name="cmd.AddToLayerPageStyleOptions"></a><a href="#cmd.AddToLayerPageStyleOptions">\AddToLayerPageStyleOptions</a> --> <a href="scrguide.pdf#scrlayer.cmd.AddToLayerPageStyleOptions">362</a></li> +<li><a name="cmd.Address"></a><a href="#cmd.Address">\Address</a> --> <a href="scrguide.pdf#scraddr.cmd.Address">271</a></li> +<li><a name="cmd.AfterAtEndOfClass"></a><a href="#cmd.AfterAtEndOfClass">\AfterAtEndOfClass</a> --> <a href="scrguide.pdf#scrlfile.cmd.AfterAtEndOfClass">304</a></li> +<li><a name="cmd.AfterAtEndOfPackage"></a><a href="#cmd.AfterAtEndOfPackage">\AfterAtEndOfPackage</a> --> <a href="scrguide.pdf#scrlfile.cmd.AfterAtEndOfPackage">304</a></li> +<li><a name="cmd.AfterBibliographyPreamble"></a><a href="#cmd.AfterBibliographyPreamble">\AfterBibliographyPreamble</a> --> <a href="scrguide.pdf#maincls.cmd.AfterBibliographyPreamble">148</a></li> +<li><a name="cmd.AfterCalculatingTypearea"></a><a href="#cmd.AfterCalculatingTypearea">\AfterCalculatingTypearea</a> --> <a href="scrguide.pdf#typearea-experts.cmd.AfterCalculatingTypearea">393</a></li> +<li><a name="cmd.AfterClass!"></a><a href="#cmd.AfterClass!">\AfterClass!</a> --> <a href="scrguide.pdf#scrlfile.cmd.AfterClass!">304</a></li> +<li><a name="cmd.AfterClass*"></a><a href="#cmd.AfterClass*">\AfterClass*</a> --> <a href="scrguide.pdf#scrlfile.cmd.AfterClass*">304</a></li> +<li><a name="cmd.AfterClass+"></a><a href="#cmd.AfterClass+">\AfterClass+</a> --> <a href="scrguide.pdf#scrlfile.cmd.AfterClass+">304</a></li> +<li><a name="cmd.AfterClass"></a><a href="#cmd.AfterClass">\AfterClass</a> --> <a href="scrguide.pdf#scrlfile.cmd.AfterClass">304</a></li> +<li><a name="cmd.AfterFile"></a><a href="#cmd.AfterFile">\AfterFile</a> --> <a href="scrguide.pdf#scrlfile.cmd.AfterFile">304</a></li> +<li><a name="cmd.AfterPackage!"></a><a href="#cmd.AfterPackage!">\AfterPackage!</a> --> <a href="scrguide.pdf#scrlfile.cmd.AfterPackage!">304</a></li> +<li><a name="cmd.AfterPackage*"></a><a href="#cmd.AfterPackage*">\AfterPackage*</a> --> <a href="scrguide.pdf#scrlfile.cmd.AfterPackage*">304</a></li> +<li><a name="cmd.AfterPackage+"></a><a href="#cmd.AfterPackage+">\AfterPackage+</a> --> <a href="scrguide.pdf#scrlfile.cmd.AfterPackage+">304</a></li> +<li><a name="cmd.AfterPackage"></a><a href="#cmd.AfterPackage">\AfterPackage</a> --> <a href="scrguide.pdf#scrlfile.cmd.AfterPackage">304</a></li> +<li><a name="cmd.AfterReadingMainAux"></a><a href="#cmd.AfterReadingMainAux">\AfterReadingMainAux</a> --> <a href="scrguide.pdf#scrlfile.cmd.AfterReadingMainAux">307</a></li> +<li><a name="cmd.AfterSelectAnyPageStyle"></a><a href="#cmd.AfterSelectAnyPageStyle">\AfterSelectAnyPageStyle</a> --> <a href="scrguide.pdf#scrlayer.cmd.AfterSelectAnyPageStyle">355</a></li> +<li><a name="cmd.AfterStartingTOC"></a><a href="#cmd.AfterStartingTOC">\AfterStartingTOC</a> --> <a href="scrguide.pdf#tocbasic.cmd.AfterStartingTOC">326</a></li> +<li><a name="cmd.AfterTOCHead"></a><a href="#cmd.AfterTOCHead">\AfterTOCHead</a> --> <a href="scrguide.pdf#tocbasic.cmd.AfterTOCHead">327</a></li> +<li><a name="cmd.AtAddToTocList"></a><a href="#cmd.AtAddToTocList">\AtAddToTocList</a> --> <a href="scrguide.pdf#tocbasic.cmd.AtAddToTocList">321</a></li> +<li><a name="cmd.AtBeginLetter"></a><a href="#cmd.AtBeginLetter">\AtBeginLetter</a> --> <a href="scrguide.pdf#scrlttr2.cmd.AtBeginLetter">159</a></li> +<li><a name="cmd.AtEndBibliography"></a><a href="#cmd.AtEndBibliography">\AtEndBibliography</a> --> <a href="scrguide.pdf#maincls.cmd.AtEndBibliography">148</a></li> +<li><a name="cmd.AtEndLetter"></a><a href="#cmd.AtEndLetter">\AtEndLetter</a> --> <a href="scrguide.pdf#scrlttr2.cmd.AtEndLetter">159</a></li> +<li><a name="cmd.AtEndOfFamilyOptions"></a><a href="#cmd.AtEndOfFamilyOptions">\AtEndOfFamilyOptions</a> --> <a href="scrguide.pdf#scrbase.cmd.AtEndOfFamilyOptions">288</a></li> +<li><a name="cmd.BeforeClass"></a><a href="#cmd.BeforeClass">\BeforeClass</a> --> <a href="scrguide.pdf#scrlfile.cmd.BeforeClass">304</a></li> +<li><a name="cmd.BeforeClosingMainAux"></a><a href="#cmd.BeforeClosingMainAux">\BeforeClosingMainAux</a> --> <a href="scrguide.pdf#scrlfile.cmd.BeforeClosingMainAux">307</a></li> +<li><a name="cmd.BeforeFile"></a><a href="#cmd.BeforeFile">\BeforeFile</a> --> <a href="scrguide.pdf#scrlfile.cmd.BeforeFile">304</a></li> +<li><a name="cmd.BeforePackage"></a><a href="#cmd.BeforePackage">\BeforePackage</a> --> <a href="scrguide.pdf#scrlfile.cmd.BeforePackage">304</a></li> +<li><a name="cmd.BeforeSelectAnyPageStyle"></a><a href="#cmd.BeforeSelectAnyPageStyle">\BeforeSelectAnyPageStyle</a> --> <a href="scrguide.pdf#scrlayer.cmd.BeforeSelectAnyPageStyle">355</a></li> +<li><a name="cmd.BeforeStartingTOC"></a><a href="#cmd.BeforeStartingTOC">\BeforeStartingTOC</a> --> <a href="scrguide.pdf#tocbasic.cmd.BeforeStartingTOC">326</a></li> +<li><a name="cmd.BeforeTOCHead"></a><a href="#cmd.BeforeTOCHead">\BeforeTOCHead</a> --> <a href="scrguide.pdf#tocbasic.cmd.BeforeTOCHead">327</a></li> +<li><a name="cmd.BreakBibliography"></a><a href="#cmd.BreakBibliography">\BreakBibliography</a> --> <a href="scrguide.pdf#maincls.cmd.BreakBibliography">148</a></li> +<li><a name="cmd.ClassInfoNoLine"></a><a href="#cmd.ClassInfoNoLine">\ClassInfoNoLine</a> --> <a href="scrguide.pdf#scrbase.cmd.ClassInfoNoLine">301</a></li> +<li><a name="cmd.ClassName"></a><a href="#cmd.ClassName">\ClassName</a> --> <a href="scrguide.pdf#maincls-experts.cmd.ClassName">395</a></li> +<li><a name="cmd.Comment"></a><a href="#cmd.Comment">\Comment</a> --> <a href="scrguide.pdf#scraddr.cmd.Comment">271</a></li> +<li><a name="cmd.DeclareLayer"></a><a href="#cmd.DeclareLayer">\DeclareLayer</a> --> <a href="scrguide.pdf#scrlayer.cmd.DeclareLayer">346</a></li> +<li><a name="cmd.DeclareNewLayer"></a><a href="#cmd.DeclareNewLayer">\DeclareNewLayer</a> --> <a href="scrguide.pdf#scrlayer.cmd.DeclareNewLayer">346</a></li> +<li><a name="cmd.DeclareNewNoteColumn"></a><a href="#cmd.DeclareNewNoteColumn">\DeclareNewNoteColumn</a> --> <a href="scrguide.pdf#scrlayer-notecolumn.cmd.DeclareNewNoteColumn">381</a></li> +<li><a name="cmd.DeclareNewPageStyleAlias"></a><a href="#cmd.DeclareNewPageStyleAlias">\DeclareNewPageStyleAlias</a> --> <a href="scrguide.pdf#scrlayer.cmd.DeclareNewPageStyleAlias">356</a></li> +<li><a name="cmd.DeclareNewPageStyleByLayers"></a><a href="#cmd.DeclareNewPageStyleByLayers">\DeclareNewPageStyleByLayers</a> --> <a href="scrguide.pdf#scrlayer.cmd.DeclareNewPageStyleByLayers">357</a></li> +<li><a name="cmd.DeclareNewTOC"></a><a href="#cmd.DeclareNewTOC">\DeclareNewTOC</a> --> <a href="scrguide.pdf#tocbasic.cmd.DeclareNewTOC">335</a></li> +<li><a name="cmd.DeclareNoteColumn"></a><a href="#cmd.DeclareNoteColumn">\DeclareNoteColumn</a> --> <a href="scrguide.pdf#scrlayer-notecolumn.cmd.DeclareNoteColumn">381</a></li> +<li><a name="cmd.DeclarePageStyleAlias"></a><a href="#cmd.DeclarePageStyleAlias">\DeclarePageStyleAlias</a> --> <a href="scrguide.pdf#scrlayer.cmd.DeclarePageStyleAlias">356</a></li> +<li><a name="cmd.DeclarePageStyleByLayers"></a><a href="#cmd.DeclarePageStyleByLayers">\DeclarePageStyleByLayers</a> --> <a href="scrguide.pdf#scrlayer.cmd.DeclarePageStyleByLayers">357</a></li> +<li><a name="cmd.DeclareSectionNumberDepth"></a><a href="#cmd.DeclareSectionNumberDepth">\DeclareSectionNumberDepth</a> --> <a href="scrguide.pdf#scrlayer.cmd.DeclareSectionNumberDepth">345</a></li> +<li><a name="cmd.DefineFamily"></a><a href="#cmd.DefineFamily">\DefineFamily</a> --> <a href="scrguide.pdf#scrbase.cmd.DefineFamily">282</a></li> +<li><a name="cmd.DefineFamilyKey"></a><a href="#cmd.DefineFamilyKey">\DefineFamilyKey</a> --> <a href="scrguide.pdf#scrbase.cmd.DefineFamilyKey">283</a></li> +<li><a name="cmd.DefineFamilyMember"></a><a href="#cmd.DefineFamilyMember">\DefineFamilyMember</a> --> <a href="scrguide.pdf#scrbase.cmd.DefineFamilyMember">282</a></li> +<li><a name="cmd.DestroyLayer"></a><a href="#cmd.DestroyLayer">\DestroyLayer</a> --> <a href="scrguide.pdf#scrlayer.cmd.DestroyLayer">354</a></li> +<li><a name="cmd.DestroyPageStyleAlias"></a><a href="#cmd.DestroyPageStyleAlias">\DestroyPageStyleAlias</a> --> <a href="scrguide.pdf#scrlayer.cmd.DestroyPageStyleAlias">356</a></li> +<li><a name="cmd.DestroyRealLayerPageStyle"></a><a href="#cmd.DestroyRealLayerPageStyle">\DestroyRealLayerPageStyle</a> --> <a href="scrguide.pdf#scrlayer.cmd.DestroyRealLayerPageStyle">363</a></li> +<li><a name="cmd.FamilyBoolKey"></a><a href="#cmd.FamilyBoolKey">\FamilyBoolKey</a> --> <a href="scrguide.pdf#scrbase.cmd.FamilyBoolKey">288</a></li> +<li><a name="cmd.FamilyElseValues"></a><a href="#cmd.FamilyElseValues">\FamilyElseValues</a> --> <a href="scrguide.pdf#scrbase.cmd.FamilyElseValues">293</a></li> +<li><a name="cmd.FamilyExecuteOptions"></a><a href="#cmd.FamilyExecuteOptions">\FamilyExecuteOptions</a> --> <a href="scrguide.pdf#scrbase.cmd.FamilyExecuteOptions">285</a></li> +<li><a name="cmd.FamilyKeyState"></a><a href="#cmd.FamilyKeyState">\FamilyKeyState</a> --> <a href="scrguide.pdf#scrbase.cmd.FamilyKeyState">283</a></li> +<li><a name="cmd.FamilyKeyStateNeedValue"></a><a href="#cmd.FamilyKeyStateNeedValue">\FamilyKeyStateNeedValue</a> --> <a href="scrguide.pdf#scrbase.cmd.FamilyKeyStateNeedValue">283</a></li> +<li><a name="cmd.FamilyKeyStateProcessed"></a><a href="#cmd.FamilyKeyStateProcessed">\FamilyKeyStateProcessed</a> --> <a href="scrguide.pdf#scrbase.cmd.FamilyKeyStateProcessed">283</a></li> +<li><a name="cmd.FamilyKeyStateUnknown"></a><a href="#cmd.FamilyKeyStateUnknown">\FamilyKeyStateUnknown</a> --> <a href="scrguide.pdf#scrbase.cmd.FamilyKeyStateUnknown">283</a></li> +<li><a name="cmd.FamilyKeyStateUnknownValue"></a><a href="#cmd.FamilyKeyStateUnknownValue">\FamilyKeyStateUnknownValue</a> --> <a href="scrguide.pdf#scrbase.cmd.FamilyKeyStateUnknownValue">283</a></li> +<li><a name="cmd.FamilyNumericalKey"></a><a href="#cmd.FamilyNumericalKey">\FamilyNumericalKey</a> --> <a href="scrguide.pdf#scrbase.cmd.FamilyNumericalKey">289</a></li> +<li><a name="cmd.FamilyOption"></a><a href="#cmd.FamilyOption">\FamilyOption</a> --> <a href="scrguide.pdf#scrbase.cmd.FamilyOption">287</a></li> +<li><a name="cmd.FamilyOptions"></a><a href="#cmd.FamilyOptions">\FamilyOptions</a> --> <a href="scrguide.pdf#scrbase.cmd.FamilyOptions">286</a></li> +<li><a name="cmd.FamilyProcessOptions"></a><a href="#cmd.FamilyProcessOptions">\FamilyProcessOptions</a> --> <a href="scrguide.pdf#scrbase.cmd.FamilyProcessOptions">284</a></li> +<li><a name="cmd.FamilySetBool"></a><a href="#cmd.FamilySetBool">\FamilySetBool</a> --> <a href="scrguide.pdf#scrbase.cmd.FamilySetBool">288</a></li> +<li><a name="cmd.FamilySetNumerical"></a><a href="#cmd.FamilySetNumerical">\FamilySetNumerical</a> --> <a href="scrguide.pdf#scrbase.cmd.FamilySetNumerical">289</a></li> +<li><a name="cmd.FamilyStringKey"></a><a href="#cmd.FamilyStringKey">\FamilyStringKey</a> --> <a href="scrguide.pdf#scrbase.cmd.FamilyStringKey">291</a></li> +<li><a name="cmd.FamilyUnkownKeyValue"></a><a href="#cmd.FamilyUnkownKeyValue">\FamilyUnkownKeyValue</a> --> <a href="scrguide.pdf#scrbase.cmd.FamilyUnkownKeyValue">292</a></li> +<li><a name="cmd.FirstName"></a><a href="#cmd.FirstName">\FirstName</a> --> <a href="scrguide.pdf#scraddr.cmd.FirstName">271</a></li> +<li><a name="cmd.ForEachLayerOfPageStyle"></a><a href="#cmd.ForEachLayerOfPageStyle">\ForEachLayerOfPageStyle</a> --> <a href="scrguide.pdf#scrlayer.cmd.ForEachLayerOfPageStyle">360</a></li> +<li><a name="cmd.FreeI"></a><a href="#cmd.FreeI">\FreeI</a> --> <a href="scrguide.pdf#scraddr.cmd.FreeI">271</a></li> +<li><a name="cmd.FreeII"></a><a href="#cmd.FreeII">\FreeII</a> --> <a href="scrguide.pdf#scraddr.cmd.FreeII">271</a></li> +<li><a name="cmd.FreeIII"></a><a href="#cmd.FreeIII">\FreeIII</a> --> <a href="scrguide.pdf#scraddr.cmd.FreeIII">271</a></li> +<li><a name="cmd.FreeIV"></a><a href="#cmd.FreeIV">\FreeIV</a> --> <a href="scrguide.pdf#scraddr.cmd.FreeIV">271</a></li> +<li><a name="cmd.GenericMarkFormat"></a><a href="#cmd.GenericMarkFormat">\GenericMarkFormat</a> --> <a href="scrguide.pdf#scrlayer.cmd.GenericMarkFormat">364</a>, <a href="scrguide.pdf#scrlayer-scrpage-experts.cmd.GenericMarkFormat">370</a></li> +<li><a name="cmd.GetRealPageStyle"></a><a href="#cmd.GetRealPageStyle">\GetRealPageStyle</a> --> <a href="scrguide.pdf#scrlayer.cmd.GetRealPageStyle">356</a></li> +<li><a name="cmd.IfLayerAtPageStyle"></a><a href="#cmd.IfLayerAtPageStyle">\IfLayerAtPageStyle</a> --> <a href="scrguide.pdf#scrlayer.cmd.IfLayerAtPageStyle">363</a></li> +<li><a name="cmd.IfLayerExists"></a><a href="#cmd.IfLayerExists">\IfLayerExists</a> --> <a href="scrguide.pdf#scrlayer.cmd.IfLayerExists">353</a></li> +<li><a name="cmd.IfLayerPageStyleExists"></a><a href="#cmd.IfLayerPageStyleExists">\IfLayerPageStyleExists</a> --> <a href="scrguide.pdf#scrlayer.cmd.IfLayerPageStyleExists">362</a></li> +<li><a name="cmd.IfLayersAtPageStyle"></a><a href="#cmd.IfLayersAtPageStyle">\IfLayersAtPageStyle</a> --> <a href="scrguide.pdf#scrlayer.cmd.IfLayersAtPageStyle">363</a></li> +<li><a name="cmd.IfRealLayerPageStyleExists"></a><a href="#cmd.IfRealLayerPageStyleExists">\IfRealLayerPageStyleExists</a> --> <a href="scrguide.pdf#scrlayer.cmd.IfRealLayerPageStyleExists">362</a></li> +<li><a name="cmd.IfSomeLayersAtPageStyle"></a><a href="#cmd.IfSomeLayersAtPageStyle">\IfSomeLayersAtPageStyle</a> --> <a href="scrguide.pdf#scrlayer.cmd.IfSomeLayersAtPageStyle">363</a></li> +<li><a name="cmd.InputAddressFile"></a><a href="#cmd.InputAddressFile">\InputAddressFile</a> --> <a href="scrguide.pdf#scraddr.cmd.InputAddressFile">271</a></li> +<li><a name="cmd.KOMAClassName"></a><a href="#cmd.KOMAClassName">\KOMAClassName</a> --> <a href="scrguide.pdf#maincls-experts.cmd.KOMAClassName">395</a></li> +<li><a name="cmd.KOMAScript"></a><a href="#cmd.KOMAScript">\KOMAScript</a> --> <a href="scrguide.pdf#scrbase.cmd.KOMAScript">300</a></li> +<li><a name="cmd.KOMAScriptVersion"></a><a href="#cmd.KOMAScriptVersion">\KOMAScriptVersion</a> --> <a href="scrguide.pdf#scrbase.cmd.KOMAScriptVersion">300</a></li> +<li><a name="cmd.KOMAoption"></a><a href="#cmd.KOMAoption">\KOMAoption</a> --> <a href="scrguide.pdf#typearea.cmd.KOMAoption">32</a></li> +<li><a name="cmd.KOMAoptions"></a><a href="#cmd.KOMAoptions">\KOMAoptions</a> --> <a href="scrguide.pdf#typearea.cmd.KOMAoptions">32</a></li> +<li><a name="cmd.LastName"></a><a href="#cmd.LastName">\LastName</a> --> <a href="scrguide.pdf#scraddr.cmd.LastName">271</a></li> +<li><a name="cmd.LetterOptionNeedsPapersize"></a><a href="#cmd.LetterOptionNeedsPapersize">\LetterOptionNeedsPapersize</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.LetterOptionNeedsPapersize">421</a></li> +<li><a name="cmd.MakeMarkcase"></a><a href="#cmd.MakeMarkcase">\MakeMarkcase</a> --> <a href="scrguide.pdf#tocbasic.cmd.MakeMarkcase">327</a>, <a href="scrguide.pdf#scrlayer.cmd.MakeMarkcase">364</a></li> +<li><a name="cmd.ModifyLayer"></a><a href="#cmd.ModifyLayer">\ModifyLayer</a> --> <a href="scrguide.pdf#scrlayer.cmd.ModifyLayer">346</a></li> +<li><a name="cmd.ModifyLayerPageStyleOptions"></a><a href="#cmd.ModifyLayerPageStyleOptions">\ModifyLayerPageStyleOptions</a> --> <a href="scrguide.pdf#scrlayer.cmd.ModifyLayerPageStyleOptions">362</a></li> +<li><a name="cmd.Name"></a><a href="#cmd.Name">\Name</a> --> <a href="scrguide.pdf#scraddr.cmd.Name">271</a></li> +<li><a name="cmd.PackageInfoNoLine"></a><a href="#cmd.PackageInfoNoLine">\PackageInfoNoLine</a> --> <a href="scrguide.pdf#scrbase.cmd.PackageInfoNoLine">301</a></li> +<li><a name="cmd.PreventPackageFromLoading*"></a><a href="#cmd.PreventPackageFromLoading*">\PreventPackageFromLoading*</a> --> <a href="scrguide.pdf#scrlfile.cmd.PreventPackageFromLoading*">312</a></li> +<li><a name="cmd.PreventPackageFromLoading"></a><a href="#cmd.PreventPackageFromLoading">\PreventPackageFromLoading</a> --> <a href="scrguide.pdf#scrlfile.cmd.PreventPackageFromLoading">312</a></li> +<li><a name="cmd.ProvideLayer"></a><a href="#cmd.ProvideLayer">\ProvideLayer</a> --> <a href="scrguide.pdf#scrlayer.cmd.ProvideLayer">346</a></li> +<li><a name="cmd.ProvideNoteColumn"></a><a href="#cmd.ProvideNoteColumn">\ProvideNoteColumn</a> --> <a href="scrguide.pdf#scrlayer-notecolumn.cmd.ProvideNoteColumn">381</a></li> +<li><a name="cmd.ProvidePageStyleAlias"></a><a href="#cmd.ProvidePageStyleAlias">\ProvidePageStyleAlias</a> --> <a href="scrguide.pdf#scrlayer.cmd.ProvidePageStyleAlias">356</a></li> +<li><a name="cmd.ProvidePageStyleByLayers"></a><a href="#cmd.ProvidePageStyleByLayers">\ProvidePageStyleByLayers</a> --> <a href="scrguide.pdf#scrlayer.cmd.ProvidePageStyleByLayers">357</a></li> +<li><a name="cmd.RedeclareLayer"></a><a href="#cmd.RedeclareLayer">\RedeclareLayer</a> --> <a href="scrguide.pdf#scrlayer.cmd.RedeclareLayer">346</a></li> +<li><a name="cmd.RedeclareNoteColumn"></a><a href="#cmd.RedeclareNoteColumn">\RedeclareNoteColumn</a> --> <a href="scrguide.pdf#scrlayer-notecolumn.cmd.RedeclareNoteColumn">381</a></li> +<li><a name="cmd.RedeclarePageStyleAlias"></a><a href="#cmd.RedeclarePageStyleAlias">\RedeclarePageStyleAlias</a> --> <a href="scrguide.pdf#scrlayer.cmd.RedeclarePageStyleAlias">356</a></li> +<li><a name="cmd.RedeclarePageStyleByLayers"></a><a href="#cmd.RedeclarePageStyleByLayers">\RedeclarePageStyleByLayers</a> --> <a href="scrguide.pdf#scrlayer.cmd.RedeclarePageStyleByLayers">357</a></li> +<li><a name="cmd.RemoveLayersFromPageStyle"></a><a href="#cmd.RemoveLayersFromPageStyle">\RemoveLayersFromPageStyle</a> --> <a href="scrguide.pdf#scrlayer.cmd.RemoveLayersFromPageStyle">361</a></li> +<li><a name="cmd.ReplaceClass"></a><a href="#cmd.ReplaceClass">\ReplaceClass</a> --> <a href="scrguide.pdf#scrlfile.cmd.ReplaceClass">309</a></li> +<li><a name="cmd.ReplaceInput"></a><a href="#cmd.ReplaceInput">\ReplaceInput</a> --> <a href="scrguide.pdf#scrlfile.cmd.ReplaceInput">309</a></li> +<li><a name="cmd.ReplacePackage"></a><a href="#cmd.ReplacePackage">\ReplacePackage</a> --> <a href="scrguide.pdf#scrlfile.cmd.ReplacePackage">309</a></li> +<li><a name="cmd.ResetPreventPackageFromLoading"></a><a href="#cmd.ResetPreventPackageFromLoading">\ResetPreventPackageFromLoading</a> --> <a href="scrguide.pdf#scrlfile.cmd.ResetPreventPackageFromLoading">313</a></li> +<li><a name="cmd.StorePreventPackageFromLoading"></a><a href="#cmd.StorePreventPackageFromLoading">\StorePreventPackageFromLoading</a> --> <a href="scrguide.pdf#scrlfile.cmd.StorePreventPackageFromLoading">313</a></li> +<li><a name="cmd.TOCclone"></a><a href="#cmd.TOCclone">\TOCclone</a> --> <a href="scrguide.pdf#scrwfile.cmd.TOCclone">316</a></li> +<li><a name="cmd.Telephone"></a><a href="#cmd.Telephone">\Telephone</a> --> <a href="scrguide.pdf#scraddr.cmd.Telephone">271</a></li> +<li><a name="cmd.UnPreventPackageFromLoading*"></a><a href="#cmd.UnPreventPackageFromLoading*">\UnPreventPackageFromLoading*</a> --> <a href="scrguide.pdf#scrlfile.cmd.UnPreventPackageFromLoading*">313</a></li> +<li><a name="cmd.UnPreventPackageFromLoading"></a><a href="#cmd.UnPreventPackageFromLoading">\UnPreventPackageFromLoading</a> --> <a href="scrguide.pdf#scrlfile.cmd.UnPreventPackageFromLoading">313</a></li> +<li><a name="cmd.UnReplaceClass"></a><a href="#cmd.UnReplaceClass">\UnReplaceClass</a> --> <a href="scrguide.pdf#scrlfile.cmd.UnReplaceClass">311</a></li> +<li><a name="cmd.UnReplaceInput"></a><a href="#cmd.UnReplaceInput">\UnReplaceInput</a> --> <a href="scrguide.pdf#scrlfile.cmd.UnReplaceInput">311</a></li> +<li><a name="cmd.UnReplacePackage"></a><a href="#cmd.UnReplacePackage">\UnReplacePackage</a> --> <a href="scrguide.pdf#scrlfile.cmd.UnReplacePackage">311</a></li> +<li><a name="cmd.UnifyLayersAtPageStyle"></a><a href="#cmd.UnifyLayersAtPageStyle">\UnifyLayersAtPageStyle</a> --> <a href="scrguide.pdf#scrlayer.cmd.UnifyLayersAtPageStyle">362</a></li> +<li><a name="cmd.XdivY"></a><a href="#cmd.XdivY">\XdivY</a> --> <a href="scrguide.pdf#scrbase.cmd.XdivY">301</a></li> +<li><a name="cmd.XmodY"></a><a href="#cmd.XmodY">\XmodY</a> --> <a href="scrguide.pdf#scrbase.cmd.XmodY">301</a></li> +<li><a name="cmd.activateareas"></a><a href="#cmd.activateareas">\activateareas</a> --> <a href="scrguide.pdf#typearea-experts.cmd.activateareas">392</a></li> +<li><a name="cmd.addchap*"></a><a href="#cmd.addchap*">\addchap*</a> --> <a href="scrguide.pdf#maincls.cmd.addchap*">104</a></li> +<li><a name="cmd.addchap"></a><a href="#cmd.addchap">\addchap</a> --> <a href="scrguide.pdf#maincls.cmd.addchap">104</a></li> +<li><a name="cmd.addchapmark"></a><a href="#cmd.addchapmark">\addchapmark</a> --> <a href="scrguide.pdf#maincls.cmd.addchapmark">109</a></li> +<li><a name="cmd.addchaptertocentry"></a><a href="#cmd.addchaptertocentry">\addchaptertocentry</a> --> <a href="scrguide.pdf#maincls-experts.cmd.addchaptertocentry">397</a></li> +<li><a name="cmd.addcontentslinetoeachtocfile"></a><a href="#cmd.addcontentslinetoeachtocfile">\addcontentslinetoeachtocfile</a> --> <a href="scrguide.pdf#tocbasic.cmd.addcontentslinetoeachtocfile">324</a></li> +<li><a name="cmd.addparagraphtocentry"></a><a href="#cmd.addparagraphtocentry">\addparagraphtocentry</a> --> <a href="scrguide.pdf#maincls-experts.cmd.addparagraphtocentry">397</a></li> +<li><a name="cmd.addpart*"></a><a href="#cmd.addpart*">\addpart*</a> --> <a href="scrguide.pdf#maincls.cmd.addpart*">104</a></li> +<li><a name="cmd.addpart"></a><a href="#cmd.addpart">\addpart</a> --> <a href="scrguide.pdf#maincls.cmd.addpart">104</a></li> +<li><a name="cmd.addparttocentry"></a><a href="#cmd.addparttocentry">\addparttocentry</a> --> <a href="scrguide.pdf#maincls-experts.cmd.addparttocentry">397</a></li> +<li><a name="cmd.addrchar"></a><a href="#cmd.addrchar">\addrchar</a> --> <a href="scrguide.pdf#scrlttr2.cmd.addrchar">218</a></li> +<li><a name="cmd.addrentry"></a><a href="#cmd.addrentry">\addrentry</a> --> <a href="scrguide.pdf#scrlttr2.cmd.addrentry">216</a></li> +<li><a name="cmd.addsec*"></a><a href="#cmd.addsec*">\addsec*</a> --> <a href="scrguide.pdf#maincls.cmd.addsec*">104</a></li> +<li><a name="cmd.addsec"></a><a href="#cmd.addsec">\addsec</a> --> <a href="scrguide.pdf#maincls.cmd.addsec">104</a></li> +<li><a name="cmd.addsecmark"></a><a href="#cmd.addsecmark">\addsecmark</a> --> <a href="scrguide.pdf#maincls.cmd.addsecmark">109</a></li> +<li><a name="cmd.addsectiontocentry"></a><a href="#cmd.addsectiontocentry">\addsectiontocentry</a> --> <a href="scrguide.pdf#maincls-experts.cmd.addsectiontocentry">397</a></li> +<li><a name="cmd.addsubparagraphtocentry"></a><a href="#cmd.addsubparagraphtocentry">\addsubparagraphtocentry</a> --> <a href="scrguide.pdf#maincls-experts.cmd.addsubparagraphtocentry">397</a></li> +<li><a name="cmd.addsubsectiontocentry"></a><a href="#cmd.addsubsectiontocentry">\addsubsectiontocentry</a> --> <a href="scrguide.pdf#maincls-experts.cmd.addsubsectiontocentry">397</a></li> +<li><a name="cmd.addsubsubsectiontocentry"></a><a href="#cmd.addsubsubsectiontocentry">\addsubsubsectiontocentry</a> --> <a href="scrguide.pdf#maincls-experts.cmd.addsubsubsectiontocentry">397</a></li> +<li><a name="cmd.addtocentrydefault"></a><a href="#cmd.addtocentrydefault">\addtocentrydefault</a> --> <a href="scrguide.pdf#maincls-experts.cmd.addtocentrydefault">396</a></li> +<li><a name="cmd.addtoeachtocfile"></a><a href="#cmd.addtoeachtocfile">\addtoeachtocfile</a> --> <a href="scrguide.pdf#tocbasic.cmd.addtoeachtocfile">323</a></li> +<li><a name="cmd.addtokomafont"></a><a href="#cmd.addtokomafont">\addtokomafont</a> --> <a href="scrguide.pdf#maincls.cmd.addtokomafont">59</a></li> +<li><a name="cmd.addtolengthplength"></a><a href="#cmd.addtolengthplength">\addtolengthplength</a> --> <a href="scrguide.pdf#scrlttr2.cmd.addtolengthplength">156</a></li> +<li><a name="cmd.addtoreffields"></a><a href="#cmd.addtoreffields">\addtoreffields</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.addtoreffields">419</a></li> +<li><a name="cmd.addtotoclist"></a><a href="#cmd.addtotoclist">\addtotoclist</a> --> <a href="scrguide.pdf#tocbasic.cmd.addtotoclist">320</a></li> +<li><a name="cmd.addxcontentsline"></a><a href="#cmd.addxcontentsline">\addxcontentsline</a> --> <a href="scrguide.pdf#tocbasic.cmd.addxcontentsline">324</a></li> +<li><a name="cmd.adrchar"></a><a href="#cmd.adrchar">\adrchar</a> --> <a href="scrguide.pdf#scrlttr2.cmd.adrchar">218</a></li> +<li><a name="cmd.adrentry"></a><a href="#cmd.adrentry">\adrentry</a> --> <a href="scrguide.pdf#scrlttr2.cmd.adrentry">215</a></li> +<li><a name="cmd.aliaskomafont"></a><a href="#cmd.aliaskomafont">\aliaskomafont</a> --> <a href="scrguide.pdf#maincls-experts.cmd.aliaskomafont">397</a></li> +<li><a name="cmd.and"></a><a href="#cmd.and">\and</a> --> <a href="scrguide.pdf#maincls.cmd.and">67</a></li> +<li><a name="cmd.appendix"></a><a href="#cmd.appendix">\appendix</a> --> <a href="scrguide.pdf#maincls.cmd.appendix">145</a></li> +<li><a name="cmd.appendixmore"></a><a href="#cmd.appendixmore">\appendixmore</a> --> <a href="scrguide.pdf#maincls-experts.cmd.appendixmore">399</a></li> +<li><a name="cmd.author"></a><a href="#cmd.author">\author</a> --> <a href="scrguide.pdf#maincls.cmd.author">67</a></li> +<li><a name="cmd.autodot"></a><a href="#cmd.autodot">\autodot</a> --> <a href="scrguide.pdf#maincls.cmd.autodot">107</a></li> +<li><a name="cmd.automark"></a><a href="#cmd.automark">\automark</a> --> <a href="scrguide.pdf#scrpage.cmd.automark">225</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.automark">253</a></li> +<li><a name="cmd.backmatter"></a><a href="#cmd.backmatter">\backmatter</a> --> <a href="scrguide.pdf#maincls.cmd.backmatter">92</a></li> +<li><a name="cmd.bankname"></a><a href="#cmd.bankname">\bankname</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.bankname">427</a></li> +<li><a name="cmd.bib@beginhook"></a><a href="#cmd.bib@beginhook">\bib@beginhook</a> --> <a href="scrguide.pdf#maincls-experts.cmd.bib@beginhook">401</a></li> +<li><a name="cmd.bib@endhook"></a><a href="#cmd.bib@endhook">\bib@endhook</a> --> <a href="scrguide.pdf#maincls-experts.cmd.bib@endhook">401</a></li> +<li><a name="cmd.caption"></a><a href="#cmd.caption">\caption</a> --> <a href="scrguide.pdf#maincls.cmd.caption">129</a></li> +<li><a name="cmd.captionabove"></a><a href="#cmd.captionabove">\captionabove</a> --> <a href="scrguide.pdf#maincls.cmd.captionabove">129</a></li> +<li><a name="cmd.captionaboveof"></a><a href="#cmd.captionaboveof">\captionaboveof</a> --> <a href="scrguide.pdf#maincls.cmd.captionaboveof">131</a></li> +<li><a name="cmd.captionbelow"></a><a href="#cmd.captionbelow">\captionbelow</a> --> <a href="scrguide.pdf#maincls.cmd.captionbelow">129</a></li> +<li><a name="cmd.captionbelowof"></a><a href="#cmd.captionbelowof">\captionbelowof</a> --> <a href="scrguide.pdf#maincls.cmd.captionbelowof">131</a></li> +<li><a name="cmd.captionformat"></a><a href="#cmd.captionformat">\captionformat</a> --> <a href="scrguide.pdf#maincls.cmd.captionformat">137</a></li> +<li><a name="cmd.captionof"></a><a href="#cmd.captionof">\captionof</a> --> <a href="scrguide.pdf#maincls.cmd.captionof">131</a></li> +<li><a name="cmd.captionsUKenglish"></a><a href="#cmd.captionsUKenglish">\captionsUKenglish</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsUKenglish">426</a></li> +<li><a name="cmd.captionsUSenglish"></a><a href="#cmd.captionsUSenglish">\captionsUSenglish</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsUSenglish">426</a></li> +<li><a name="cmd.captionsamerican"></a><a href="#cmd.captionsamerican">\captionsamerican</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsamerican">426</a></li> +<li><a name="cmd.captionsaustrian"></a><a href="#cmd.captionsaustrian">\captionsaustrian</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsaustrian">426</a></li> +<li><a name="cmd.captionsbritish"></a><a href="#cmd.captionsbritish">\captionsbritish</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsbritish">426</a></li> +<li><a name="cmd.captionscroatian"></a><a href="#cmd.captionscroatian">\captionscroatian</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionscroatian">426</a></li> +<li><a name="cmd.captionsdutch"></a><a href="#cmd.captionsdutch">\captionsdutch</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsdutch">426</a></li> +<li><a name="cmd.captionsenglish"></a><a href="#cmd.captionsenglish">\captionsenglish</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsenglish">426</a></li> +<li><a name="cmd.captionsfinnish"></a><a href="#cmd.captionsfinnish">\captionsfinnish</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsfinnish">426</a></li> +<li><a name="cmd.captionsfrench"></a><a href="#cmd.captionsfrench">\captionsfrench</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsfrench">426</a></li> +<li><a name="cmd.captionsgerman"></a><a href="#cmd.captionsgerman">\captionsgerman</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsgerman">426</a></li> +<li><a name="cmd.captionsitalian"></a><a href="#cmd.captionsitalian">\captionsitalian</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsitalian">426</a></li> +<li><a name="cmd.captionsnaustrian"></a><a href="#cmd.captionsnaustrian">\captionsnaustrian</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsnaustrian">426</a></li> +<li><a name="cmd.captionsngerman"></a><a href="#cmd.captionsngerman">\captionsngerman</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsngerman">426</a></li> +<li><a name="cmd.captionsnorsk"></a><a href="#cmd.captionsnorsk">\captionsnorsk</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsnorsk">426</a></li> +<li><a name="cmd.captionsspanish"></a><a href="#cmd.captionsspanish">\captionsspanish</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsspanish">426</a></li> +<li><a name="cmd.captionsswedish"></a><a href="#cmd.captionsswedish">\captionsswedish</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.captionsswedish">426</a></li> +<li><a name="cmd.cc"></a><a href="#cmd.cc">\cc</a> --> <a href="scrguide.pdf#scrlttr2.cmd.cc">163</a></li> +<li><a name="cmd.ccname"></a><a href="#cmd.ccname">\ccname</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.ccname">427</a></li> +<li><a name="cmd.cefoot"></a><a href="#cmd.cefoot">\cefoot</a> --> <a href="scrguide.pdf#scrpage.cmd.cefoot">221</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.cefoot">248</a></li> +<li><a name="cmd.cehead"></a><a href="#cmd.cehead">\cehead</a> --> <a href="scrguide.pdf#scrpage.cmd.cehead">221</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.cehead">245</a></li> +<li><a name="cmd.cfoot"></a><a href="#cmd.cfoot">\cfoot</a> --> <a href="scrguide.pdf#scrpage.cmd.cfoot">221</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.cfoot">251</a></li> +<li><a name="cmd.chapapp"></a><a href="#cmd.chapapp">\chapapp</a> --> <a href="scrguide.pdf#maincls.cmd.chapapp">109</a></li> +<li><a name="cmd.chapappifchapterprefix"></a><a href="#cmd.chapappifchapterprefix">\chapappifchapterprefix</a> --> <a href="scrguide.pdf#maincls.cmd.chapappifchapterprefix">109</a></li> +<li><a name="cmd.chapter*"></a><a href="#cmd.chapter*">\chapter*</a> --> <a href="scrguide.pdf#maincls.cmd.chapter*">103</a></li> +<li><a name="cmd.chapter"></a><a href="#cmd.chapter">\chapter</a> --> <a href="scrguide.pdf#maincls.cmd.chapter">98</a></li> +<li><a name="cmd.chapterformat"></a><a href="#cmd.chapterformat">\chapterformat</a> --> <a href="scrguide.pdf#maincls.cmd.chapterformat">107</a></li> +<li><a name="cmd.chapterheadendvskip"></a><a href="#cmd.chapterheadendvskip">\chapterheadendvskip</a> --> <a href="scrguide.pdf#maincls-experts.cmd.chapterheadendvskip">398</a></li> +<li><a name="cmd.chapterheadstartvskip"></a><a href="#cmd.chapterheadstartvskip">\chapterheadstartvskip</a> --> <a href="scrguide.pdf#maincls-experts.cmd.chapterheadstartvskip">398</a></li> +<li><a name="cmd.chaptermark"></a><a href="#cmd.chaptermark">\chaptermark</a> --> <a href="scrguide.pdf#maincls.cmd.chaptermark">109</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.chaptermark">259</a></li> +<li><a name="cmd.chaptermarkformat"></a><a href="#cmd.chaptermarkformat">\chaptermarkformat</a> --> <a href="scrguide.pdf#maincls.cmd.chaptermarkformat">109</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.chaptermarkformat">258</a></li> +<li><a name="cmd.chapternumdepth"></a><a href="#cmd.chapternumdepth">\chapternumdepth</a> --> <a href="scrguide.pdf#maincls.cmd.chapternumdepth">111</a></li> +<li><a name="cmd.chapterpagestyle"></a><a href="#cmd.chapterpagestyle">\chapterpagestyle</a> --> <a href="scrguide.pdf#maincls.cmd.chapterpagestyle">83</a></li> +<li><a name="cmd.chead"></a><a href="#cmd.chead">\chead</a> --> <a href="scrguide.pdf#scrpage.cmd.chead">221</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.chead">251</a></li> +<li><a name="cmd.cleardoubleemptypage"></a><a href="#cmd.cleardoubleemptypage">\cleardoubleemptypage</a> --> <a href="scrguide.pdf#maincls.cmd.cleardoubleemptypage">86</a></li> +<li><a name="cmd.cleardoubleevenemptypage"></a><a href="#cmd.cleardoubleevenemptypage">\cleardoubleevenemptypage</a> --> <a href="scrguide.pdf#maincls.cmd.cleardoubleevenemptypage">86</a>, <a href="scrguide.pdf#maincls.cmd.cleardoubleevenemptypage">87</a></li> +<li><a name="cmd.cleardoubleevenplainpage"></a><a href="#cmd.cleardoubleevenplainpage">\cleardoubleevenplainpage</a> --> <a href="scrguide.pdf#maincls.cmd.cleardoubleevenplainpage">86</a></li> +<li><a name="cmd.cleardoubleevenstandardpage"></a><a href="#cmd.cleardoubleevenstandardpage">\cleardoubleevenstandardpage</a> --> <a href="scrguide.pdf#maincls.cmd.cleardoubleevenstandardpage">86</a></li> +<li><a name="cmd.cleardoubleevenusingstyle"></a><a href="#cmd.cleardoubleevenusingstyle">\cleardoubleevenusingstyle</a> --> <a href="scrguide.pdf#maincls.cmd.cleardoubleevenusingstyle">86</a></li> +<li><a name="cmd.cleardoubleoddemptypage"></a><a href="#cmd.cleardoubleoddemptypage">\cleardoubleoddemptypage</a> --> <a href="scrguide.pdf#maincls.cmd.cleardoubleoddemptypage">86</a></li> +<li><a name="cmd.cleardoubleoddplainpage"></a><a href="#cmd.cleardoubleoddplainpage">\cleardoubleoddplainpage</a> --> <a href="scrguide.pdf#maincls.cmd.cleardoubleoddplainpage">86</a></li> +<li><a name="cmd.cleardoubleoddstandardpage"></a><a href="#cmd.cleardoubleoddstandardpage">\cleardoubleoddstandardpage</a> --> <a href="scrguide.pdf#maincls.cmd.cleardoubleoddstandardpage">86</a></li> +<li><a name="cmd.cleardoubleoddusingstyle"></a><a href="#cmd.cleardoubleoddusingstyle">\cleardoubleoddusingstyle</a> --> <a href="scrguide.pdf#maincls.cmd.cleardoubleoddusingstyle">86</a></li> +<li><a name="cmd.cleardoublepage"></a><a href="#cmd.cleardoublepage">\cleardoublepage</a> --> <a href="scrguide.pdf#maincls.cmd.cleardoublepage">86</a></li> +<li><a name="cmd.cleardoublepageusingstyle"></a><a href="#cmd.cleardoublepageusingstyle">\cleardoublepageusingstyle</a> --> <a href="scrguide.pdf#maincls.cmd.cleardoublepageusingstyle">86</a></li> +<li><a name="cmd.cleardoubleplainpage"></a><a href="#cmd.cleardoubleplainpage">\cleardoubleplainpage</a> --> <a href="scrguide.pdf#maincls.cmd.cleardoubleplainpage">86</a></li> +<li><a name="cmd.cleardoublestandardpage"></a><a href="#cmd.cleardoublestandardpage">\cleardoublestandardpage</a> --> <a href="scrguide.pdf#maincls.cmd.cleardoublestandardpage">86</a></li> +<li><a name="cmd.clearmainofpairofpagestyles"></a><a href="#cmd.clearmainofpairofpagestyles">\clearmainofpairofpagestyles</a> --> <a href="scrguide.pdf#scrlayer-scrpage-experts.cmd.clearmainofpairofpagestyles">374</a></li> +<li><a name="cmd.clearnotecolumn"></a><a href="#cmd.clearnotecolumn">\clearnotecolumn</a> --> <a href="scrguide.pdf#scrlayer-notecolumn.cmd.clearnotecolumn">389</a></li> +<li><a name="cmd.clearnotecolumns"></a><a href="#cmd.clearnotecolumns">\clearnotecolumns</a> --> <a href="scrguide.pdf#scrlayer-notecolumn.cmd.clearnotecolumns">389</a></li> +<li><a name="cmd.clearpage"></a><a href="#cmd.clearpage">\clearpage</a> --> <a href="scrguide.pdf#maincls.cmd.clearpage">86</a></li> +<li><a name="cmd.clearpairofpagestyles"></a><a href="#cmd.clearpairofpagestyles">\clearpairofpagestyles</a> --> <a href="scrguide.pdf#scrlayer-scrpage-experts.cmd.clearpairofpagestyles">374</a></li> +<li><a name="cmd.clearplainofpairofpagestyles"></a><a href="#cmd.clearplainofpairofpagestyles">\clearplainofpairofpagestyles</a> --> <a href="scrguide.pdf#scrlayer-scrpage-experts.cmd.clearplainofpairofpagestyles">374</a></li> +<li><a name="cmd.clearscrheadfoot"></a><a href="#cmd.clearscrheadfoot">\clearscrheadfoot</a> --> <a href="scrguide.pdf#scrpage.cmd.clearscrheadfoot">223</a>, <a href="scrguide.pdf#scrlayer-scrpage-experts.cmd.clearscrheadfoot">374</a></li> +<li><a name="cmd.clearscrheadings"></a><a href="#cmd.clearscrheadings">\clearscrheadings</a> --> <a href="scrguide.pdf#scrpage.cmd.clearscrheadings">223</a>, <a href="scrguide.pdf#scrlayer-scrpage-experts.cmd.clearscrheadings">374</a></li> +<li><a name="cmd.clearscrplain"></a><a href="#cmd.clearscrplain">\clearscrplain</a> --> <a href="scrguide.pdf#scrpage.cmd.clearscrplain">223</a>, <a href="scrguide.pdf#scrlayer-scrpage-experts.cmd.clearscrplain">374</a></li> +<li><a name="cmd.closing"></a><a href="#cmd.closing">\closing</a> --> <a href="scrguide.pdf#scrlttr2.cmd.closing">161</a></li> +<li><a name="cmd.cofoot"></a><a href="#cmd.cofoot">\cofoot</a> --> <a href="scrguide.pdf#scrpage.cmd.cofoot">221</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.cofoot">248</a></li> +<li><a name="cmd.cohead"></a><a href="#cmd.cohead">\cohead</a> --> <a href="scrguide.pdf#scrpage.cmd.cohead">221</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.cohead">245</a></li> +<li><a name="cmd.currentpagestyle"></a><a href="#cmd.currentpagestyle">\currentpagestyle</a> --> <a href="scrguide.pdf#scrlayer.cmd.currentpagestyle">355</a></li> +<li><a name="cmd.customername"></a><a href="#cmd.customername">\customername</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.customername">427</a></li> +<li><a name="cmd.date"></a><a href="#cmd.date">\date</a> --> <a href="scrguide.pdf#maincls.cmd.date">67</a></li> +<li><a name="cmd.dateUKenglish"></a><a href="#cmd.dateUKenglish">\dateUKenglish</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.dateUKenglish">426</a></li> +<li><a name="cmd.dateUSenglish"></a><a href="#cmd.dateUSenglish">\dateUSenglish</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.dateUSenglish">426</a></li> +<li><a name="cmd.dateamerican"></a><a href="#cmd.dateamerican">\dateamerican</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.dateamerican">426</a></li> +<li><a name="cmd.dateaustrian"></a><a href="#cmd.dateaustrian">\dateaustrian</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.dateaustrian">426</a></li> +<li><a name="cmd.datebritish"></a><a href="#cmd.datebritish">\datebritish</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.datebritish">426</a></li> +<li><a name="cmd.datecroatian"></a><a href="#cmd.datecroatian">\datecroatian</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.datecroatian">426</a></li> +<li><a name="cmd.datedutch"></a><a href="#cmd.datedutch">\datedutch</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.datedutch">426</a></li> +<li><a name="cmd.dateenglish"></a><a href="#cmd.dateenglish">\dateenglish</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.dateenglish">426</a></li> +<li><a name="cmd.datefinnish"></a><a href="#cmd.datefinnish">\datefinnish</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.datefinnish">426</a></li> +<li><a name="cmd.datefrench"></a><a href="#cmd.datefrench">\datefrench</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.datefrench">426</a></li> +<li><a name="cmd.dategerman"></a><a href="#cmd.dategerman">\dategerman</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.dategerman">426</a></li> +<li><a name="cmd.dateitalian"></a><a href="#cmd.dateitalian">\dateitalian</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.dateitalian">426</a></li> +<li><a name="cmd.datename"></a><a href="#cmd.datename">\datename</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.datename">427</a></li> +<li><a name="cmd.datenaustrian"></a><a href="#cmd.datenaustrian">\datenaustrian</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.datenaustrian">426</a></li> +<li><a name="cmd.datengerman"></a><a href="#cmd.datengerman">\datengerman</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.datengerman">426</a></li> +<li><a name="cmd.datenorsk"></a><a href="#cmd.datenorsk">\datenorsk</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.datenorsk">426</a></li> +<li><a name="cmd.datespanish"></a><a href="#cmd.datespanish">\datespanish</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.datespanish">426</a></li> +<li><a name="cmd.dateswedish"></a><a href="#cmd.dateswedish">\dateswedish</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.dateswedish">426</a></li> +<li><a name="cmd.dedication"></a><a href="#cmd.dedication">\dedication</a> --> <a href="scrguide.pdf#maincls.cmd.dedication">70</a></li> +<li><a name="cmd.defaultreffields"></a><a href="#cmd.defaultreffields">\defaultreffields</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.defaultreffields">419</a></li> +<li><a name="cmd.defcaptionname"></a><a href="#cmd.defcaptionname">\defcaptionname</a> --> <a href="scrguide.pdf#scrbase.cmd.defcaptionname">297</a></li> +<li><a name="cmd.deffootnote"></a><a href="#cmd.deffootnote">\deffootnote</a> --> <a href="scrguide.pdf#maincls.cmd.deffootnote">90</a></li> +<li><a name="cmd.deffootnotemark"></a><a href="#cmd.deffootnotemark">\deffootnotemark</a> --> <a href="scrguide.pdf#maincls.cmd.deffootnotemark">90</a></li> +<li><a name="cmd.defpagestyle"></a><a href="#cmd.defpagestyle">\defpagestyle</a> --> <a href="scrguide.pdf#scrpage.cmd.defpagestyle">236</a>, <a href="scrguide.pdf#scrlayer-scrpage-experts.cmd.defpagestyle">377</a></li> +<li><a name="cmd.defpairofpagestyles"></a><a href="#cmd.defpairofpagestyles">\defpairofpagestyles</a> --> <a href="scrguide.pdf#scrlayer-scrpage-experts.cmd.defpairofpagestyles">373</a></li> +<li><a name="cmd.deftocheading"></a><a href="#cmd.deftocheading">\deftocheading</a> --> <a href="scrguide.pdf#tocbasic.cmd.deftocheading">327</a></li> +<li><a name="cmd.deftriplepagestyle"></a><a href="#cmd.deftriplepagestyle">\deftriplepagestyle</a> --> <a href="scrguide.pdf#scrlayer-scrpage-experts.cmd.deftriplepagestyle">375</a></li> +<li><a name="cmd.deftripstyle"></a><a href="#cmd.deftripstyle">\deftripstyle</a> --> <a href="scrguide.pdf#scrpage.cmd.deftripstyle">234</a>, <a href="scrguide.pdf#scrlayer-scrpage-experts.cmd.deftripstyle">376</a></li> +<li><a name="cmd.dictum"></a><a href="#cmd.dictum">\dictum</a> --> <a href="scrguide.pdf#maincls.cmd.dictum">113</a></li> +<li><a name="cmd.dictumauthorformat"></a><a href="#cmd.dictumauthorformat">\dictumauthorformat</a> --> <a href="scrguide.pdf#maincls.cmd.dictumauthorformat">113</a></li> +<li><a name="cmd.dictumrule"></a><a href="#cmd.dictumrule">\dictumrule</a> --> <a href="scrguide.pdf#maincls.cmd.dictumrule">113</a></li> +<li><a name="cmd.dictumwidth"></a><a href="#cmd.dictumwidth">\dictumwidth</a> --> <a href="scrguide.pdf#maincls.cmd.dictumwidth">113</a></li> +<li><a name="cmd.documentclass"></a><a href="#cmd.documentclass">\documentclass</a> --> <a href="scrguide.pdf#typearea.cmd.documentclass">32</a></li> +<li><a name="cmd.doforeachtocfile"></a><a href="#cmd.doforeachtocfile">\doforeachtocfile</a> --> <a href="scrguide.pdf#tocbasic.cmd.doforeachtocfile">322</a></li> +<li><a name="cmd.edgesize"></a><a href="#cmd.edgesize">\edgesize</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.edgesize">423</a></li> +<li><a name="cmd.emailname"></a><a href="#cmd.emailname">\emailname</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.emailname">427</a></li> +<li><a name="cmd.encl"></a><a href="#cmd.encl">\encl</a> --> <a href="scrguide.pdf#scrlttr2.cmd.encl">165</a></li> +<li><a name="cmd.enclname"></a><a href="#cmd.enclname">\enclname</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.enclname">427</a></li> +<li><a name="cmd.extratitle"></a><a href="#cmd.extratitle">\extratitle</a> --> <a href="scrguide.pdf#maincls.cmd.extratitle">66</a></li> +<li><a name="cmd.faxname"></a><a href="#cmd.faxname">\faxname</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.faxname">427</a></li> +<li><a name="cmd.figureformat"></a><a href="#cmd.figureformat">\figureformat</a> --> <a href="scrguide.pdf#maincls.cmd.figureformat">137</a></li> +<li><a name="cmd.footfont"></a><a href="#cmd.footfont">\footfont</a> --> <a href="scrguide.pdf#scrpage.cmd.footfont">225</a></li> +<li><a name="cmd.footnote"></a><a href="#cmd.footnote">\footnote</a> --> <a href="scrguide.pdf#maincls.cmd.footnote">88</a></li> +<li><a name="cmd.footnotemark"></a><a href="#cmd.footnotemark">\footnotemark</a> --> <a href="scrguide.pdf#maincls.cmd.footnotemark">88</a></li> +<li><a name="cmd.footnotetext"></a><a href="#cmd.footnotetext">\footnotetext</a> --> <a href="scrguide.pdf#maincls.cmd.footnotetext">88</a></li> +<li><a name="cmd.footref"></a><a href="#cmd.footref">\footref</a> --> <a href="scrguide.pdf#maincls.cmd.footref">89</a></li> +<li><a name="cmd.frontmatter"></a><a href="#cmd.frontmatter">\frontmatter</a> --> <a href="scrguide.pdf#maincls.cmd.frontmatter">92</a></li> +<li><a name="cmd.headfont"></a><a href="#cmd.headfont">\headfont</a> --> <a href="scrguide.pdf#scrpage.cmd.headfont">225</a></li> +<li><a name="cmd.headfromname"></a><a href="#cmd.headfromname">\headfromname</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.headfromname">427</a></li> +<li><a name="cmd.headmark"></a><a href="#cmd.headmark">\headmark</a> --> <a href="scrguide.pdf#scrpage.cmd.headmark">224</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.headmark">257</a></li> +<li><a name="cmd.headtoname"></a><a href="#cmd.headtoname">\headtoname</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.headtoname">427</a></li> +<li><a name="cmd.if@atdocument"></a><a href="#cmd.if@atdocument">\if@atdocument</a> --> <a href="scrguide.pdf#scrbase.cmd.if@atdocument">297</a></li> +<li><a name="cmd.if@chapter"></a><a href="#cmd.if@chapter">\if@chapter</a> --> <a href="scrguide.pdf#scrlayer.cmd.if@chapter">344</a></li> +<li><a name="cmd.if@mainmatter"></a><a href="#cmd.if@mainmatter">\if@mainmatter</a> --> <a href="scrguide.pdf#scrlayer.cmd.if@mainmatter">344</a></li> +<li><a name="cmd.ifVTeX"></a><a href="#cmd.ifVTeX">\ifVTeX</a> --> <a href="scrguide.pdf#scrbase.cmd.ifVTeX">294</a></li> +<li><a name="cmd.ifattoclist"></a><a href="#cmd.ifattoclist">\ifattoclist</a> --> <a href="scrguide.pdf#tocbasic.cmd.ifattoclist">319</a></li> +<li><a name="cmd.ifdimen"></a><a href="#cmd.ifdimen">\ifdimen</a> --> <a href="scrguide.pdf#scrbase.cmd.ifdimen">296</a></li> +<li><a name="cmd.ifdvioutput"></a><a href="#cmd.ifdvioutput">\ifdvioutput</a> --> <a href="scrguide.pdf#scrbase.cmd.ifdvioutput">294</a></li> +<li><a name="cmd.ifiscount"></a><a href="#cmd.ifiscount">\ifiscount</a> --> <a href="scrguide.pdf#scrbase.cmd.ifiscount">296</a></li> +<li><a name="cmd.ifiscounter"></a><a href="#cmd.ifiscounter">\ifiscounter</a> --> <a href="scrguide.pdf#scrbase.cmd.ifiscounter">296</a></li> +<li><a name="cmd.ifisdimen"></a><a href="#cmd.ifisdimen">\ifisdimen</a> --> <a href="scrguide.pdf#scrbase.cmd.ifisdimen">295</a></li> +<li><a name="cmd.ifisdimension"></a><a href="#cmd.ifisdimension">\ifisdimension</a> --> <a href="scrguide.pdf#scrbase.cmd.ifisdimension">295</a></li> +<li><a name="cmd.ifisdimexpr"></a><a href="#cmd.ifisdimexpr">\ifisdimexpr</a> --> <a href="scrguide.pdf#scrbase.cmd.ifisdimexpr">295</a></li> +<li><a name="cmd.ifisglue"></a><a href="#cmd.ifisglue">\ifisglue</a> --> <a href="scrguide.pdf#scrbase.cmd.ifisglue">295</a></li> +<li><a name="cmd.ifisglueexpr"></a><a href="#cmd.ifisglueexpr">\ifisglueexpr</a> --> <a href="scrguide.pdf#scrbase.cmd.ifisglueexpr">296</a></li> +<li><a name="cmd.ifisnumber"></a><a href="#cmd.ifisnumber">\ifisnumber</a> --> <a href="scrguide.pdf#scrbase.cmd.ifisnumber">296</a></li> +<li><a name="cmd.ifisnumexpr"></a><a href="#cmd.ifisnumexpr">\ifisnumexpr</a> --> <a href="scrguide.pdf#scrbase.cmd.ifisnumexpr">296</a></li> +<li><a name="cmd.ifisskip"></a><a href="#cmd.ifisskip">\ifisskip</a> --> <a href="scrguide.pdf#scrbase.cmd.ifisskip">295</a></li> +<li><a name="cmd.ifkomavar"></a><a href="#cmd.ifkomavar">\ifkomavar</a> --> <a href="scrguide.pdf#scrlttr2.cmd.ifkomavar">155</a></li> +<li><a name="cmd.ifkomavarempty*"></a><a href="#cmd.ifkomavarempty*">\ifkomavarempty*</a> --> <a href="scrguide.pdf#scrlttr2.cmd.ifkomavarempty*">155</a>, <a href="scrguide.pdf#scrlttr2-experts.cmd.ifkomavarempty*">421</a></li> +<li><a name="cmd.ifkomavarempty"></a><a href="#cmd.ifkomavarempty">\ifkomavarempty</a> --> <a href="scrguide.pdf#scrlttr2.cmd.ifkomavarempty">155</a>, <a href="scrguide.pdf#scrlttr2-experts.cmd.ifkomavarempty">421</a></li> +<li><a name="cmd.ifnotundefined"></a><a href="#cmd.ifnotundefined">\ifnotundefined</a> --> <a href="scrguide.pdf#scrbase.cmd.ifnotundefined">294</a></li> +<li><a name="cmd.ifnumber"></a><a href="#cmd.ifnumber">\ifnumber</a> --> <a href="scrguide.pdf#scrbase.cmd.ifnumber">296</a></li> +<li><a name="cmd.ifnumbered"></a><a href="#cmd.ifnumbered">\ifnumbered</a> --> <a href="scrguide.pdf#maincls.cmd.ifnumbered">111</a></li> +<li><a name="cmd.ifoot"></a><a href="#cmd.ifoot">\ifoot</a> --> <a href="scrguide.pdf#scrpage.cmd.ifoot">221</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.ifoot">251</a></li> +<li><a name="cmd.ifpdfoutput"></a><a href="#cmd.ifpdfoutput">\ifpdfoutput</a> --> <a href="scrguide.pdf#scrbase.cmd.ifpdfoutput">294</a></li> +<li><a name="cmd.ifpdftex"></a><a href="#cmd.ifpdftex">\ifpdftex</a> --> <a href="scrguide.pdf#scrbase.cmd.ifpdftex">294</a></li> +<li><a name="cmd.ifpsoutput"></a><a href="#cmd.ifpsoutput">\ifpsoutput</a> --> <a href="scrguide.pdf#scrbase.cmd.ifpsoutput">294</a></li> +<li><a name="cmd.ifstr"></a><a href="#cmd.ifstr">\ifstr</a> --> <a href="scrguide.pdf#scrbase.cmd.ifstr">295</a></li> +<li><a name="cmd.ifstrstart"></a><a href="#cmd.ifstrstart">\ifstrstart</a> --> <a href="scrguide.pdf#scrbase.cmd.ifstrstart">295</a></li> +<li><a name="cmd.ifthispageodd"></a><a href="#cmd.ifthispageodd">\ifthispageodd</a> --> <a href="scrguide.pdf#maincls.cmd.ifthispageodd">79</a></li> +<li><a name="cmd.iftocfeature"></a><a href="#cmd.iftocfeature">\iftocfeature</a> --> <a href="scrguide.pdf#tocbasic.cmd.iftocfeature">330</a></li> +<li><a name="cmd.ifundefinedorrelax"></a><a href="#cmd.ifundefinedorrelax">\ifundefinedorrelax</a> --> <a href="scrguide.pdf#scrbase.cmd.ifundefinedorrelax">293</a></li> +<li><a name="cmd.ifunnumbered"></a><a href="#cmd.ifunnumbered">\ifunnumbered</a> --> <a href="scrguide.pdf#maincls.cmd.ifunnumbered">111</a></li> +<li><a name="cmd.ihead"></a><a href="#cmd.ihead">\ihead</a> --> <a href="scrguide.pdf#scrpage.cmd.ihead">221</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.ihead">251</a></li> +<li><a name="cmd.indexpagestyle"></a><a href="#cmd.indexpagestyle">\indexpagestyle</a> --> <a href="scrguide.pdf#maincls.cmd.indexpagestyle">83</a></li> +<li><a name="cmd.invoicename"></a><a href="#cmd.invoicename">\invoicename</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.invoicename">427</a></li> +<li><a name="cmd.item"></a><a href="#cmd.item">\item</a> --> <a href="scrguide.pdf#maincls.cmd.item">116</a></li> +<li><a name="cmd.l@addto@macro"></a><a href="#cmd.l@addto@macro">\l@addto@macro</a> --> <a href="scrguide.pdf#scrbase.cmd.l@addto@macro">301</a></li> +<li><a name="cmd.labelenumi"></a><a href="#cmd.labelenumi">\labelenumi</a> --> <a href="scrguide.pdf#maincls.cmd.labelenumi">117</a></li> +<li><a name="cmd.labelenumii"></a><a href="#cmd.labelenumii">\labelenumii</a> --> <a href="scrguide.pdf#maincls.cmd.labelenumii">117</a></li> +<li><a name="cmd.labelenumiii"></a><a href="#cmd.labelenumiii">\labelenumiii</a> --> <a href="scrguide.pdf#maincls.cmd.labelenumiii">117</a></li> +<li><a name="cmd.labelenumiv"></a><a href="#cmd.labelenumiv">\labelenumiv</a> --> <a href="scrguide.pdf#maincls.cmd.labelenumiv">117</a></li> +<li><a name="cmd.labelitemi"></a><a href="#cmd.labelitemi">\labelitemi</a> --> <a href="scrguide.pdf#maincls.cmd.labelitemi">116</a></li> +<li><a name="cmd.labelitemii"></a><a href="#cmd.labelitemii">\labelitemii</a> --> <a href="scrguide.pdf#maincls.cmd.labelitemii">116</a></li> +<li><a name="cmd.labelitemiii"></a><a href="#cmd.labelitemiii">\labelitemiii</a> --> <a href="scrguide.pdf#maincls.cmd.labelitemiii">116</a></li> +<li><a name="cmd.labelitemiv"></a><a href="#cmd.labelitemiv">\labelitemiv</a> --> <a href="scrguide.pdf#maincls.cmd.labelitemiv">116</a></li> +<li><a name="cmd.layercontentsmeasure"></a><a href="#cmd.layercontentsmeasure">\layercontentsmeasure</a> --> <a href="scrguide.pdf#scrlayer.cmd.layercontentsmeasure">354</a></li> +<li><a name="cmd.layerheight"></a><a href="#cmd.layerheight">\layerheight</a> --> <a href="scrguide.pdf#scrlayer.cmd.layerheight">353</a></li> +<li><a name="cmd.layerwidth"></a><a href="#cmd.layerwidth">\layerwidth</a> --> <a href="scrguide.pdf#scrlayer.cmd.layerwidth">353</a></li> +<li><a name="cmd.layerxoffset"></a><a href="#cmd.layerxoffset">\layerxoffset</a> --> <a href="scrguide.pdf#scrlayer.cmd.layerxoffset">353</a></li> +<li><a name="cmd.layeryoffset"></a><a href="#cmd.layeryoffset">\layeryoffset</a> --> <a href="scrguide.pdf#scrlayer.cmd.layeryoffset">353</a></li> +<li><a name="cmd.lefoot"></a><a href="#cmd.lefoot">\lefoot</a> --> <a href="scrguide.pdf#scrpage.cmd.lefoot">221</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.lefoot">248</a></li> +<li><a name="cmd.leftmark"></a><a href="#cmd.leftmark">\leftmark</a> --> <a href="scrguide.pdf#scrpage.cmd.leftmark">224</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.leftmark">257</a></li> +<li><a name="cmd.lehead"></a><a href="#cmd.lehead">\lehead</a> --> <a href="scrguide.pdf#scrpage.cmd.lehead">221</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.lehead">245</a></li> +<li><a name="cmd.listofeachtoc"></a><a href="#cmd.listofeachtoc">\listofeachtoc</a> --> <a href="scrguide.pdf#tocbasic.cmd.listofeachtoc">325</a></li> +<li><a name="cmd.listoffigures"></a><a href="#cmd.listoffigures">\listoffigures</a> --> <a href="scrguide.pdf#maincls.cmd.listoffigures">144</a></li> +<li><a name="cmd.listofname"></a><a href="#cmd.listofname">\listofname</a> --> <a href="scrguide.pdf#tocbasic.cmd.listofname">325</a></li> +<li><a name="cmd.listoftables"></a><a href="#cmd.listoftables">\listoftables</a> --> <a href="scrguide.pdf#maincls.cmd.listoftables">144</a></li> +<li><a name="cmd.listoftoc*"></a><a href="#cmd.listoftoc*">\listoftoc*</a> --> <a href="scrguide.pdf#tocbasic.cmd.listoftoc*">325</a></li> +<li><a name="cmd.listoftoc"></a><a href="#cmd.listoftoc">\listoftoc</a> --> <a href="scrguide.pdf#tocbasic.cmd.listoftoc">325</a></li> +<li><a name="cmd.lofoot"></a><a href="#cmd.lofoot">\lofoot</a> --> <a href="scrguide.pdf#scrpage.cmd.lofoot">221</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.lofoot">248</a></li> +<li><a name="cmd.lohead"></a><a href="#cmd.lohead">\lohead</a> --> <a href="scrguide.pdf#scrpage.cmd.lohead">221</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.lohead">245</a></li> +<li><a name="cmd.lowertitleback"></a><a href="#cmd.lowertitleback">\lowertitleback</a> --> <a href="scrguide.pdf#maincls.cmd.lowertitleback">70</a></li> +<li><a name="cmd.mainmatter"></a><a href="#cmd.mainmatter">\mainmatter</a> --> <a href="scrguide.pdf#maincls.cmd.mainmatter">92</a></li> +<li><a name="cmd.makenote"></a><a href="#cmd.makenote">\makenote</a> --> <a href="scrguide.pdf#scrlayer-notecolumn.cmd.makenote">385</a></li> +<li><a name="cmd.maketitle"></a><a href="#cmd.maketitle">\maketitle</a> --> <a href="scrguide.pdf#maincls.cmd.maketitle">65</a></li> +<li><a name="cmd.manualmark"></a><a href="#cmd.manualmark">\manualmark</a> --> <a href="scrguide.pdf#scrpage.cmd.manualmark">224</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.manualmark">253</a></li> +<li><a name="cmd.marginline"></a><a href="#cmd.marginline">\marginline</a> --> <a href="scrguide.pdf#maincls.cmd.marginline">144</a></li> +<li><a name="cmd.marginpar"></a><a href="#cmd.marginpar">\marginpar</a> --> <a href="scrguide.pdf#maincls.cmd.marginpar">144</a></li> +<li><a name="cmd.markboth"></a><a href="#cmd.markboth">\markboth</a> --> <a href="scrguide.pdf#scrlttr2.cmd.markboth">205</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.markboth">259</a>, <a href="scrguide.pdf#maincls.cmd.markboth">82</a></li> +<li><a name="cmd.markleft"></a><a href="#cmd.markleft">\markleft</a> --> <a href="scrguide.pdf#scrlayer-scrpage.cmd.markleft">259</a></li> +<li><a name="cmd.markright"></a><a href="#cmd.markright">\markright</a> --> <a href="scrguide.pdf#scrlttr2.cmd.markright">205</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.markright">259</a>, <a href="scrguide.pdf#maincls.cmd.markright">82</a></li> +<li><a name="cmd.minisec"></a><a href="#cmd.minisec">\minisec</a> --> <a href="scrguide.pdf#maincls.cmd.minisec">104</a></li> +<li><a name="cmd.multfootsep"></a><a href="#cmd.multfootsep">\multfootsep</a> --> <a href="scrguide.pdf#maincls.cmd.multfootsep">88</a></li> +<li><a name="cmd.multiplefootnoteseparator"></a><a href="#cmd.multiplefootnoteseparator">\multiplefootnoteseparator</a> --> <a href="scrguide.pdf#maincls.cmd.multiplefootnoteseparator">88</a></li> +<li><a name="cmd.myrefname"></a><a href="#cmd.myrefname">\myrefname</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.myrefname">427</a></li> +<li><a name="cmd.newbibstyle"></a><a href="#cmd.newbibstyle">\newbibstyle</a> --> <a href="scrguide.pdf#maincls-experts.cmd.newbibstyle">401</a></li> +<li><a name="cmd.newblock"></a><a href="#cmd.newblock">\newblock</a> --> <a href="scrguide.pdf#maincls-experts.cmd.newblock">401</a></li> +<li><a name="cmd.newcaptionname"></a><a href="#cmd.newcaptionname">\newcaptionname</a> --> <a href="scrguide.pdf#scrbase.cmd.newcaptionname">297</a></li> +<li><a name="cmd.newkomafont"></a><a href="#cmd.newkomafont">\newkomafont</a> --> <a href="scrguide.pdf#maincls-experts.cmd.newkomafont">397</a></li> +<li><a name="cmd.newkomavar*"></a><a href="#cmd.newkomavar*">\newkomavar*</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.newkomavar*">419</a></li> +<li><a name="cmd.newkomavar"></a><a href="#cmd.newkomavar">\newkomavar</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.newkomavar">419</a></li> +<li><a name="cmd.newpagestyle"></a><a href="#cmd.newpagestyle">\newpagestyle</a> --> <a href="scrguide.pdf#scrpage.cmd.newpagestyle">236</a>, <a href="scrguide.pdf#scrlayer-scrpage-experts.cmd.newpagestyle">377</a></li> +<li><a name="cmd.newpairofpagestyles"></a><a href="#cmd.newpairofpagestyles">\newpairofpagestyles</a> --> <a href="scrguide.pdf#scrlayer-scrpage-experts.cmd.newpairofpagestyles">373</a></li> +<li><a name="cmd.newtriplepagestyle"></a><a href="#cmd.newtriplepagestyle">\newtriplepagestyle</a> --> <a href="scrguide.pdf#scrlayer-scrpage-experts.cmd.newtriplepagestyle">375</a></li> +<li><a name="cmd.nonumberline"></a><a href="#cmd.nonumberline">\nonumberline</a> --> <a href="scrguide.pdf#tocbasic.cmd.nonumberline">332</a></li> +<li><a name="cmd.ofoot"></a><a href="#cmd.ofoot">\ofoot</a> --> <a href="scrguide.pdf#scrlayer-scrpage.cmd.ofoot">251</a></li> +<li><a name="cmd.ohead"></a><a href="#cmd.ohead">\ohead</a> --> <a href="scrguide.pdf#scrpage.cmd.ohead">221</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.ohead">251</a></li> +<li><a name="cmd.opening"></a><a href="#cmd.opening">\opening</a> --> <a href="scrguide.pdf#scrlttr2.cmd.opening">160</a></li> +<li><a name="cmd.othersectionlevelsformat"></a><a href="#cmd.othersectionlevelsformat">\othersectionlevelsformat</a> --> <a href="scrguide.pdf#maincls.cmd.othersectionlevelsformat">107</a></li> +<li><a name="cmd.pagemark"></a><a href="#cmd.pagemark">\pagemark</a> --> <a href="scrguide.pdf#scrpage.cmd.pagemark">224</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.pagemark">257</a></li> +<li><a name="cmd.pagename"></a><a href="#cmd.pagename">\pagename</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.pagename">427</a></li> +<li><a name="cmd.pagenumbering"></a><a href="#cmd.pagenumbering">\pagenumbering</a> --> <a href="scrguide.pdf#maincls.cmd.pagenumbering">84</a></li> +<li><a name="cmd.pagestyle"></a><a href="#cmd.pagestyle">\pagestyle</a> --> <a href="scrguide.pdf#scrlttr2.cmd.pagestyle">203</a>, <a href="scrguide.pdf#maincls.cmd.pagestyle">80</a></li> +<li><a name="cmd.paragraph*"></a><a href="#cmd.paragraph*">\paragraph*</a> --> <a href="scrguide.pdf#maincls.cmd.paragraph*">103</a></li> +<li><a name="cmd.paragraph"></a><a href="#cmd.paragraph">\paragraph</a> --> <a href="scrguide.pdf#maincls.cmd.paragraph">98</a></li> +<li><a name="cmd.paragraphmark"></a><a href="#cmd.paragraphmark">\paragraphmark</a> --> <a href="scrguide.pdf#scrlayer-scrpage.cmd.paragraphmark">259</a></li> +<li><a name="cmd.paragraphmarkformat"></a><a href="#cmd.paragraphmarkformat">\paragraphmarkformat</a> --> <a href="scrguide.pdf#scrlayer-scrpage.cmd.paragraphmarkformat">258</a></li> +<li><a name="cmd.paragraphnumdepth"></a><a href="#cmd.paragraphnumdepth">\paragraphnumdepth</a> --> <a href="scrguide.pdf#maincls.cmd.paragraphnumdepth">111</a></li> +<li><a name="cmd.part*"></a><a href="#cmd.part*">\part*</a> --> <a href="scrguide.pdf#maincls.cmd.part*">103</a></li> +<li><a name="cmd.part"></a><a href="#cmd.part">\part</a> --> <a href="scrguide.pdf#maincls.cmd.part">98</a></li> +<li><a name="cmd.partformat"></a><a href="#cmd.partformat">\partformat</a> --> <a href="scrguide.pdf#maincls.cmd.partformat">107</a></li> +<li><a name="cmd.partheademptypage"></a><a href="#cmd.partheademptypage">\partheademptypage</a> --> <a href="scrguide.pdf#maincls-experts.cmd.partheademptypage">398</a></li> +<li><a name="cmd.partheadendvskip"></a><a href="#cmd.partheadendvskip">\partheadendvskip</a> --> <a href="scrguide.pdf#maincls-experts.cmd.partheadendvskip">398</a></li> +<li><a name="cmd.partheadmidvskip"></a><a href="#cmd.partheadmidvskip">\partheadmidvskip</a> --> <a href="scrguide.pdf#maincls-experts.cmd.partheadmidvskip">398</a></li> +<li><a name="cmd.partheadstartvskip"></a><a href="#cmd.partheadstartvskip">\partheadstartvskip</a> --> <a href="scrguide.pdf#maincls-experts.cmd.partheadstartvskip">398</a></li> +<li><a name="cmd.partmark"></a><a href="#cmd.partmark">\partmark</a> --> <a href="scrguide.pdf#scrlayer-scrpage.cmd.partmark">259</a></li> +<li><a name="cmd.partmarkformat"></a><a href="#cmd.partmarkformat">\partmarkformat</a> --> <a href="scrguide.pdf#scrlayer-scrpage.cmd.partmarkformat">258</a></li> +<li><a name="cmd.partnumdepth"></a><a href="#cmd.partnumdepth">\partnumdepth</a> --> <a href="scrguide.pdf#maincls.cmd.partnumdepth">111</a></li> +<li><a name="cmd.partpagestyle"></a><a href="#cmd.partpagestyle">\partpagestyle</a> --> <a href="scrguide.pdf#maincls.cmd.partpagestyle">83</a></li> +<li><a name="cmd.phonename"></a><a href="#cmd.phonename">\phonename</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.phonename">427</a></li> +<li><a name="cmd.pnumfont"></a><a href="#cmd.pnumfont">\pnumfont</a> --> <a href="scrguide.pdf#scrpage.cmd.pnumfont">225</a></li> +<li><a name="cmd.providecaptionname"></a><a href="#cmd.providecaptionname">\providecaptionname</a> --> <a href="scrguide.pdf#scrbase.cmd.providecaptionname">297</a></li> +<li><a name="cmd.providepagestyle"></a><a href="#cmd.providepagestyle">\providepagestyle</a> --> <a href="scrguide.pdf#scrpage.cmd.providepagestyle">236</a>, <a href="scrguide.pdf#scrlayer-scrpage-experts.cmd.providepagestyle">377</a></li> +<li><a name="cmd.providepairofpagestyles"></a><a href="#cmd.providepairofpagestyles">\providepairofpagestyles</a> --> <a href="scrguide.pdf#scrlayer-scrpage-experts.cmd.providepairofpagestyles">373</a></li> +<li><a name="cmd.providetriplepagestyle"></a><a href="#cmd.providetriplepagestyle">\providetriplepagestyle</a> --> <a href="scrguide.pdf#scrlayer-scrpage-experts.cmd.providetriplepagestyle">375</a></li> +<li><a name="cmd.ps"></a><a href="#cmd.ps">\ps</a> --> <a href="scrguide.pdf#scrlttr2.cmd.ps">162</a></li> +<li><a name="cmd.publishers"></a><a href="#cmd.publishers">\publishers</a> --> <a href="scrguide.pdf#maincls.cmd.publishers">67</a></li> +<li><a name="cmd.raggedchapterentry"></a><a href="#cmd.raggedchapterentry">\raggedchapterentry</a> --> <a href="scrguide.pdf#maincls-experts.cmd.raggedchapterentry">398</a></li> +<li><a name="cmd.raggeddictum"></a><a href="#cmd.raggeddictum">\raggeddictum</a> --> <a href="scrguide.pdf#maincls.cmd.raggeddictum">113</a></li> +<li><a name="cmd.raggeddictumauthor"></a><a href="#cmd.raggeddictumauthor">\raggeddictumauthor</a> --> <a href="scrguide.pdf#maincls.cmd.raggeddictumauthor">113</a></li> +<li><a name="cmd.raggeddictumtext"></a><a href="#cmd.raggeddictumtext">\raggeddictumtext</a> --> <a href="scrguide.pdf#maincls.cmd.raggeddictumtext">113</a></li> +<li><a name="cmd.raggedpart"></a><a href="#cmd.raggedpart">\raggedpart</a> --> <a href="scrguide.pdf#maincls.cmd.raggedpart">106</a></li> +<li><a name="cmd.raggedsection"></a><a href="#cmd.raggedsection">\raggedsection</a> --> <a href="scrguide.pdf#maincls.cmd.raggedsection">106</a></li> +<li><a name="cmd.raggedsignature"></a><a href="#cmd.raggedsignature">\raggedsignature</a> --> <a href="scrguide.pdf#scrlttr2.cmd.raggedsignature">207</a></li> +<li><a name="cmd.refoot"></a><a href="#cmd.refoot">\refoot</a> --> <a href="scrguide.pdf#scrpage.cmd.refoot">221</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.refoot">248</a></li> +<li><a name="cmd.rehead"></a><a href="#cmd.rehead">\rehead</a> --> <a href="scrguide.pdf#scrpage.cmd.rehead">221</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.rehead">245</a></li> +<li><a name="cmd.removefromtoclist"></a><a href="#cmd.removefromtoclist">\removefromtoclist</a> --> <a href="scrguide.pdf#tocbasic.cmd.removefromtoclist">322</a></li> +<li><a name="cmd.removereffields"></a><a href="#cmd.removereffields">\removereffields</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.removereffields">419</a></li> +<li><a name="cmd.renewcaptionname"></a><a href="#cmd.renewcaptionname">\renewcaptionname</a> --> <a href="scrguide.pdf#scrbase.cmd.renewcaptionname">297</a></li> +<li><a name="cmd.renewpagestyle"></a><a href="#cmd.renewpagestyle">\renewpagestyle</a> --> <a href="scrguide.pdf#scrpage.cmd.renewpagestyle">236</a>, <a href="scrguide.pdf#scrlayer-scrpage-experts.cmd.renewpagestyle">377</a></li> +<li><a name="cmd.renewpairofpagestyles"></a><a href="#cmd.renewpairofpagestyles">\renewpairofpagestyles</a> --> <a href="scrguide.pdf#scrlayer-scrpage-experts.cmd.renewpairofpagestyles">373</a></li> +<li><a name="cmd.renewtriplepagestyle"></a><a href="#cmd.renewtriplepagestyle">\renewtriplepagestyle</a> --> <a href="scrguide.pdf#scrlayer-scrpage-experts.cmd.renewtriplepagestyle">375</a></li> +<li><a name="cmd.rfoot"></a><a href="#cmd.rfoot">\rfoot</a> --> <a href="scrguide.pdf#scrpage.cmd.rfoot">221</a></li> +<li><a name="cmd.rightmark"></a><a href="#cmd.rightmark">\rightmark</a> --> <a href="scrguide.pdf#scrpage.cmd.rightmark">224</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.rightmark">257</a></li> +<li><a name="cmd.rofoot"></a><a href="#cmd.rofoot">\rofoot</a> --> <a href="scrguide.pdf#scrpage.cmd.rofoot">221</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.rofoot">248</a></li> +<li><a name="cmd.rohead"></a><a href="#cmd.rohead">\rohead</a> --> <a href="scrguide.pdf#scrpage.cmd.rohead">221</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.rohead">245</a></li> +<li><a name="cmd.scr@ifVTeX"></a><a href="#cmd.scr@ifVTeX">\scr@ifVTeX</a> --> <a href="scrguide.pdf#scrbase.cmd.scr@ifVTeX">294</a></li> +<li><a name="cmd.scr@ifdvioutput"></a><a href="#cmd.scr@ifdvioutput">\scr@ifdvioutput</a> --> <a href="scrguide.pdf#scrbase.cmd.scr@ifdvioutput">294</a></li> +<li><a name="cmd.scr@ifpdfoutput"></a><a href="#cmd.scr@ifpdfoutput">\scr@ifpdfoutput</a> --> <a href="scrguide.pdf#scrbase.cmd.scr@ifpdfoutput">294</a></li> +<li><a name="cmd.scr@ifpdftex"></a><a href="#cmd.scr@ifpdftex">\scr@ifpdftex</a> --> <a href="scrguide.pdf#scrbase.cmd.scr@ifpdftex">294</a></li> +<li><a name="cmd.scr@ifpsoutput"></a><a href="#cmd.scr@ifpsoutput">\scr@ifpsoutput</a> --> <a href="scrguide.pdf#scrbase.cmd.scr@ifpsoutput">294</a></li> +<li><a name="cmd.scr@ifundefinedorrelax"></a><a href="#cmd.scr@ifundefinedorrelax">\scr@ifundefinedorrelax</a> --> <a href="scrguide.pdf#scrbase.cmd.scr@ifundefinedorrelax">293</a></li> +<li><a name="cmd.scrlayerAddCsToInterface"></a><a href="#cmd.scrlayerAddCsToInterface">\scrlayerAddCsToInterface</a> --> <a href="scrguide.pdf#scrlayer.cmd.scrlayerAddCsToInterface">368</a></li> +<li><a name="cmd.scrlayerAddToInterface"></a><a href="#cmd.scrlayerAddToInterface">\scrlayerAddToInterface</a> --> <a href="scrguide.pdf#scrlayer.cmd.scrlayerAddToInterface">368</a></li> +<li><a name="cmd.scrlayerInitInterface"></a><a href="#cmd.scrlayerInitInterface">\scrlayerInitInterface</a> --> <a href="scrguide.pdf#scrlayer.cmd.scrlayerInitInterface">367</a></li> +<li><a name="cmd.scrlayerOnAutoRemoveInterface"></a><a href="#cmd.scrlayerOnAutoRemoveInterface">\scrlayerOnAutoRemoveInterface</a> --> <a href="scrguide.pdf#scrlayer.cmd.scrlayerOnAutoRemoveInterface">368</a></li> +<li><a name="cmd.section*"></a><a href="#cmd.section*">\section*</a> --> <a href="scrguide.pdf#maincls.cmd.section*">103</a></li> +<li><a name="cmd.section"></a><a href="#cmd.section">\section</a> --> <a href="scrguide.pdf#maincls.cmd.section">98</a></li> +<li><a name="cmd.sectionmark"></a><a href="#cmd.sectionmark">\sectionmark</a> --> <a href="scrguide.pdf#maincls.cmd.sectionmark">109</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.sectionmark">259</a></li> +<li><a name="cmd.sectionmarkformat"></a><a href="#cmd.sectionmarkformat">\sectionmarkformat</a> --> <a href="scrguide.pdf#maincls.cmd.sectionmarkformat">109</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.sectionmarkformat">258</a></li> +<li><a name="cmd.sectionnumdepth"></a><a href="#cmd.sectionnumdepth">\sectionnumdepth</a> --> <a href="scrguide.pdf#maincls.cmd.sectionnumdepth">111</a></li> +<li><a name="cmd.setbibpreamble"></a><a href="#cmd.setbibpreamble">\setbibpreamble</a> --> <a href="scrguide.pdf#maincls.cmd.setbibpreamble">146</a></li> +<li><a name="cmd.setcaphanging"></a><a href="#cmd.setcaphanging">\setcaphanging</a> --> <a href="scrguide.pdf#maincls.cmd.setcaphanging">138</a></li> +<li><a name="cmd.setcapindent*"></a><a href="#cmd.setcapindent*">\setcapindent*</a> --> <a href="scrguide.pdf#maincls.cmd.setcapindent*">138</a></li> +<li><a name="cmd.setcapindent"></a><a href="#cmd.setcapindent">\setcapindent</a> --> <a href="scrguide.pdf#maincls.cmd.setcapindent">138</a></li> +<li><a name="cmd.setcapmargin*"></a><a href="#cmd.setcapmargin*">\setcapmargin*</a> --> <a href="scrguide.pdf#maincls.cmd.setcapmargin*">139</a></li> +<li><a name="cmd.setcapmargin"></a><a href="#cmd.setcapmargin">\setcapmargin</a> --> <a href="scrguide.pdf#maincls.cmd.setcapmargin">139</a></li> +<li><a name="cmd.setcapwidth"></a><a href="#cmd.setcapwidth">\setcapwidth</a> --> <a href="scrguide.pdf#maincls.cmd.setcapwidth">139</a></li> +<li><a name="cmd.setchapterpreamble"></a><a href="#cmd.setchapterpreamble">\setchapterpreamble</a> --> <a href="scrguide.pdf#maincls.cmd.setchapterpreamble">112</a></li> +<li><a name="cmd.setfootbotline"></a><a href="#cmd.setfootbotline">\setfootbotline</a> --> <a href="scrguide.pdf#scrpage.cmd.setfootbotline">228</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.setfootbotline">263</a></li> +<li><a name="cmd.setfootnoterule"></a><a href="#cmd.setfootnoterule">\setfootnoterule</a> --> <a href="scrguide.pdf#maincls.cmd.setfootnoterule">91</a></li> +<li><a name="cmd.setfootsepline"></a><a href="#cmd.setfootsepline">\setfootsepline</a> --> <a href="scrguide.pdf#scrpage.cmd.setfootsepline">228</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.setfootsepline">263</a></li> +<li><a name="cmd.setfootwidth"></a><a href="#cmd.setfootwidth">\setfootwidth</a> --> <a href="scrguide.pdf#scrpage.cmd.setfootwidth">226</a></li> +<li><a name="cmd.setheadseoline"></a><a href="#cmd.setheadseoline">\setheadseoline</a> --> <a href="scrguide.pdf#scrlayer-scrpage.cmd.setheadseoline">263</a></li> +<li><a name="cmd.setheadsepline"></a><a href="#cmd.setheadsepline">\setheadsepline</a> --> <a href="scrguide.pdf#scrpage.cmd.setheadsepline">228</a></li> +<li><a name="cmd.setheadtopline"></a><a href="#cmd.setheadtopline">\setheadtopline</a> --> <a href="scrguide.pdf#scrpage.cmd.setheadtopline">228</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.setheadtopline">263</a></li> +<li><a name="cmd.setheadwidth"></a><a href="#cmd.setheadwidth">\setheadwidth</a> --> <a href="scrguide.pdf#scrpage.cmd.setheadwidth">226</a></li> +<li><a name="cmd.setindexpreamble"></a><a href="#cmd.setindexpreamble">\setindexpreamble</a> --> <a href="scrguide.pdf#maincls.cmd.setindexpreamble">149</a></li> +<li><a name="cmd.setkomafont"></a><a href="#cmd.setkomafont">\setkomafont</a> --> <a href="scrguide.pdf#maincls.cmd.setkomafont">59</a></li> +<li><a name="cmd.setkomavar*"></a><a href="#cmd.setkomavar*">\setkomavar*</a> --> <a href="scrguide.pdf#scrlttr2.cmd.setkomavar*">154</a></li> +<li><a name="cmd.setkomavar"></a><a href="#cmd.setkomavar">\setkomavar</a> --> <a href="scrguide.pdf#scrlttr2.cmd.setkomavar">154</a></li> +<li><a name="cmd.setlengthtoplength"></a><a href="#cmd.setlengthtoplength">\setlengthtoplength</a> --> <a href="scrguide.pdf#scrlttr2.cmd.setlengthtoplength">156</a></li> +<li><a name="cmd.setparsizes"></a><a href="#cmd.setparsizes">\setparsizes</a> --> <a href="scrguide.pdf#maincls-experts.cmd.setparsizes">398</a></li> +<li><a name="cmd.setpartpreamble"></a><a href="#cmd.setpartpreamble">\setpartpreamble</a> --> <a href="scrguide.pdf#maincls.cmd.setpartpreamble">112</a></li> +<li><a name="cmd.setshowstyle"></a><a href="#cmd.setshowstyle">\setshowstyle</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.setshowstyle">423</a></li> +<li><a name="cmd.setuptoc"></a><a href="#cmd.setuptoc">\setuptoc</a> --> <a href="scrguide.pdf#tocbasic.cmd.setuptoc">328</a></li> +<li><a name="cmd.showISOenvelope"></a><a href="#cmd.showISOenvelope">\showISOenvelope</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.showISOenvelope">423</a></li> +<li><a name="cmd.showUScheck"></a><a href="#cmd.showUScheck">\showUScheck</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.showUScheck">423</a></li> +<li><a name="cmd.showUScommercial"></a><a href="#cmd.showUScommercial">\showUScommercial</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.showUScommercial">423</a></li> +<li><a name="cmd.showenvelope"></a><a href="#cmd.showenvelope">\showenvelope</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.showenvelope">423</a></li> +<li><a name="cmd.showfields"></a><a href="#cmd.showfields">\showfields</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.showfields">422</a></li> +<li><a name="cmd.storearea"></a><a href="#cmd.storearea">\storearea</a> --> <a href="scrguide.pdf#typearea-experts.cmd.storearea">392</a></li> +<li><a name="cmd.subject"></a><a href="#cmd.subject">\subject</a> --> <a href="scrguide.pdf#maincls.cmd.subject">67</a></li> +<li><a name="cmd.subjectname"></a><a href="#cmd.subjectname">\subjectname</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.subjectname">427</a></li> +<li><a name="cmd.subparagraph*"></a><a href="#cmd.subparagraph*">\subparagraph*</a> --> <a href="scrguide.pdf#maincls.cmd.subparagraph*">103</a></li> +<li><a name="cmd.subparagraph"></a><a href="#cmd.subparagraph">\subparagraph</a> --> <a href="scrguide.pdf#maincls.cmd.subparagraph">98</a></li> +<li><a name="cmd.subparagraphmark"></a><a href="#cmd.subparagraphmark">\subparagraphmark</a> --> <a href="scrguide.pdf#scrlayer-scrpage.cmd.subparagraphmark">259</a></li> +<li><a name="cmd.subparagraphmarkformat"></a><a href="#cmd.subparagraphmarkformat">\subparagraphmarkformat</a> --> <a href="scrguide.pdf#scrlayer-scrpage.cmd.subparagraphmarkformat">258</a></li> +<li><a name="cmd.subparagraphnumdepth"></a><a href="#cmd.subparagraphnumdepth">\subparagraphnumdepth</a> --> <a href="scrguide.pdf#maincls.cmd.subparagraphnumdepth">111</a></li> +<li><a name="cmd.subsection*"></a><a href="#cmd.subsection*">\subsection*</a> --> <a href="scrguide.pdf#maincls.cmd.subsection*">103</a></li> +<li><a name="cmd.subsection"></a><a href="#cmd.subsection">\subsection</a> --> <a href="scrguide.pdf#maincls.cmd.subsection">98</a></li> +<li><a name="cmd.subsectionmark"></a><a href="#cmd.subsectionmark">\subsectionmark</a> --> <a href="scrguide.pdf#maincls.cmd.subsectionmark">109</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.subsectionmark">259</a></li> +<li><a name="cmd.subsectionmarkformat"></a><a href="#cmd.subsectionmarkformat">\subsectionmarkformat</a> --> <a href="scrguide.pdf#maincls.cmd.subsectionmarkformat">109</a>, <a href="scrguide.pdf#scrlayer-scrpage.cmd.subsectionmarkformat">258</a></li> +<li><a name="cmd.subsectionnumdepth"></a><a href="#cmd.subsectionnumdepth">\subsectionnumdepth</a> --> <a href="scrguide.pdf#maincls.cmd.subsectionnumdepth">111</a></li> +<li><a name="cmd.subsubsection*"></a><a href="#cmd.subsubsection*">\subsubsection*</a> --> <a href="scrguide.pdf#maincls.cmd.subsubsection*">103</a></li> +<li><a name="cmd.subsubsection"></a><a href="#cmd.subsubsection">\subsubsection</a> --> <a href="scrguide.pdf#maincls.cmd.subsubsection">98</a></li> +<li><a name="cmd.subsubsectionmark"></a><a href="#cmd.subsubsectionmark">\subsubsectionmark</a> --> <a href="scrguide.pdf#scrlayer-scrpage.cmd.subsubsectionmark">259</a></li> +<li><a name="cmd.subsubsectionmarkformat"></a><a href="#cmd.subsubsectionmarkformat">\subsubsectionmarkformat</a> --> <a href="scrguide.pdf#scrlayer-scrpage.cmd.subsubsectionmarkformat">258</a></li> +<li><a name="cmd.subsubsectionnumdepth"></a><a href="#cmd.subsubsectionnumdepth">\subsubsectionnumdepth</a> --> <a href="scrguide.pdf#maincls.cmd.subsubsectionnumdepth">111</a></li> +<li><a name="cmd.subtitle"></a><a href="#cmd.subtitle">\subtitle</a> --> <a href="scrguide.pdf#maincls.cmd.subtitle">67</a></li> +<li><a name="cmd.syncwithnotecolumn"></a><a href="#cmd.syncwithnotecolumn">\syncwithnotecolumn</a> --> <a href="scrguide.pdf#scrlayer-notecolumn.cmd.syncwithnotecolumn">386</a></li> +<li><a name="cmd.syncwithnotecolumns"></a><a href="#cmd.syncwithnotecolumns">\syncwithnotecolumns</a> --> <a href="scrguide.pdf#scrlayer-notecolumn.cmd.syncwithnotecolumns">388</a></li> +<li><a name="cmd.tableformat"></a><a href="#cmd.tableformat">\tableformat</a> --> <a href="scrguide.pdf#maincls.cmd.tableformat">137</a></li> +<li><a name="cmd.tableofcontents"></a><a href="#cmd.tableofcontents">\tableofcontents</a> --> <a href="scrguide.pdf#maincls.cmd.tableofcontents">75</a></li> +<li><a name="cmd.tb@@after@hook"></a><a href="#cmd.tb@@after@hook">\tb@@after@hook</a> --> <a href="scrguide.pdf#tocbasic.cmd.tb@@after@hook">332</a></li> +<li><a name="cmd.tb@@before@hook"></a><a href="#cmd.tb@@before@hook">\tb@@before@hook</a> --> <a href="scrguide.pdf#tocbasic.cmd.tb@@before@hook">332</a></li> +<li><a name="cmd.textsubscript"></a><a href="#cmd.textsubscript">\textsubscript</a> --> <a href="scrguide.pdf#maincls.cmd.textsubscript">58</a></li> +<li><a name="cmd.textsuperscript"></a><a href="#cmd.textsuperscript">\textsuperscript</a> --> <a href="scrguide.pdf#maincls.cmd.textsuperscript">58</a></li> +<li><a name="cmd.thanks"></a><a href="#cmd.thanks">\thanks</a> --> <a href="scrguide.pdf#maincls.cmd.thanks">67</a></li> +<li><a name="cmd.theenumi"></a><a href="#cmd.theenumi">\theenumi</a> --> <a href="scrguide.pdf#maincls.cmd.theenumi">117</a></li> +<li><a name="cmd.theenumii"></a><a href="#cmd.theenumii">\theenumii</a> --> <a href="scrguide.pdf#maincls.cmd.theenumii">117</a></li> +<li><a name="cmd.theenumiii"></a><a href="#cmd.theenumiii">\theenumiii</a> --> <a href="scrguide.pdf#maincls.cmd.theenumiii">117</a></li> +<li><a name="cmd.theenumiv"></a><a href="#cmd.theenumiv">\theenumiv</a> --> <a href="scrguide.pdf#maincls.cmd.theenumiv">117</a></li> +<li><a name="cmd.thefootnotemark"></a><a href="#cmd.thefootnotemark">\thefootnotemark</a> --> <a href="scrguide.pdf#maincls.cmd.thefootnotemark">90</a></li> +<li><a name="cmd.thispagestyle"></a><a href="#cmd.thispagestyle">\thispagestyle</a> --> <a href="scrguide.pdf#scrlttr2.cmd.thispagestyle">203</a>, <a href="scrguide.pdf#maincls.cmd.thispagestyle">80</a></li> +<li><a name="cmd.title"></a><a href="#cmd.title">\title</a> --> <a href="scrguide.pdf#maincls.cmd.title">67</a></li> +<li><a name="cmd.titlehead"></a><a href="#cmd.titlehead">\titlehead</a> --> <a href="scrguide.pdf#maincls.cmd.titlehead">67</a></li> +<li><a name="cmd.titlepagestyle"></a><a href="#cmd.titlepagestyle">\titlepagestyle</a> --> <a href="scrguide.pdf#scrextend.cmd.titlepagestyle">278</a>, <a href="scrguide.pdf#maincls.cmd.titlepagestyle">83</a></li> +<li><a name="cmd.tocbasic@@after@hook"></a><a href="#cmd.tocbasic@@after@hook">\tocbasic@@after@hook</a> --> <a href="scrguide.pdf#tocbasic.cmd.tocbasic@@after@hook">331</a></li> +<li><a name="cmd.tocbasic@@before@hook"></a><a href="#cmd.tocbasic@@before@hook">\tocbasic@@before@hook</a> --> <a href="scrguide.pdf#tocbasic.cmd.tocbasic@@before@hook">331</a></li> +<li><a name="cmd.tocbasic@addxcontentsline"></a><a href="#cmd.tocbasic@addxcontentsline">\tocbasic@addxcontentsline</a> --> <a href="scrguide.pdf#tocbasic.cmd.tocbasic@addxcontentsline">332</a></li> +<li><a name="cmd.tocbasic@extend@babel"></a><a href="#cmd.tocbasic@extend@babel">\tocbasic@extend@babel</a> --> <a href="scrguide.pdf#tocbasic.cmd.tocbasic@extend@babel">330</a></li> +<li><a name="cmd.tocbasic@listhead"></a><a href="#cmd.tocbasic@listhead">\tocbasic@listhead</a> --> <a href="scrguide.pdf#tocbasic.cmd.tocbasic@listhead">332</a></li> +<li><a name="cmd.tocbasic@listhead@"></a><a href="#cmd.tocbasic@listhead@">\tocbasic@listhead@</a> --> <a href="scrguide.pdf#tocbasic.cmd.tocbasic@listhead@">332</a></li> +<li><a name="cmd.tocbasic@starttoc"></a><a href="#cmd.tocbasic@starttoc">\tocbasic@starttoc</a> --> <a href="scrguide.pdf#tocbasic.cmd.tocbasic@starttoc">331</a></li> +<li><a name="cmd.tocbasicautomode"></a><a href="#cmd.tocbasicautomode">\tocbasicautomode</a> --> <a href="scrguide.pdf#tocbasic.cmd.tocbasicautomode">323</a></li> +<li><a name="cmd.unitfactor"></a><a href="#cmd.unitfactor">\unitfactor</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.unitfactor">423</a></li> +<li><a name="cmd.unsettoc"></a><a href="#cmd.unsettoc">\unsettoc</a> --> <a href="scrguide.pdf#tocbasic.cmd.unsettoc">328</a></li> +<li><a name="cmd.uppertitleback"></a><a href="#cmd.uppertitleback">\uppertitleback</a> --> <a href="scrguide.pdf#maincls.cmd.uppertitleback">70</a></li> +<li><a name="cmd.useencodingofkomafont"></a><a href="#cmd.useencodingofkomafont">\useencodingofkomafont</a> --> <a href="scrguide.pdf#maincls.cmd.useencodingofkomafont">64</a></li> +<li><a name="cmd.usefamilyofkomafont"></a><a href="#cmd.usefamilyofkomafont">\usefamilyofkomafont</a> --> <a href="scrguide.pdf#maincls.cmd.usefamilyofkomafont">64</a></li> +<li><a name="cmd.usefontofkomafont"></a><a href="#cmd.usefontofkomafont">\usefontofkomafont</a> --> <a href="scrguide.pdf#maincls.cmd.usefontofkomafont">64</a></li> +<li><a name="cmd.usekomafont"></a><a href="#cmd.usekomafont">\usekomafont</a> --> <a href="scrguide.pdf#maincls.cmd.usekomafont">59</a></li> +<li><a name="cmd.usekomavar*"></a><a href="#cmd.usekomavar*">\usekomavar*</a> --> <a href="scrguide.pdf#scrlttr2.cmd.usekomavar*">154</a>, <a href="scrguide.pdf#scrlttr2-experts.cmd.usekomavar*">420</a></li> +<li><a name="cmd.usekomavar"></a><a href="#cmd.usekomavar">\usekomavar</a> --> <a href="scrguide.pdf#scrlttr2.cmd.usekomavar">154</a>, <a href="scrguide.pdf#scrlttr2-experts.cmd.usekomavar">420</a></li> +<li><a name="cmd.usepackage"></a><a href="#cmd.usepackage">\usepackage</a> --> <a href="scrguide.pdf#typearea.cmd.usepackage">32</a></li> +<li><a name="cmd.useplength"></a><a href="#cmd.useplength">\useplength</a> --> <a href="scrguide.pdf#scrlttr2.cmd.useplength">156</a></li> +<li><a name="cmd.useseriesofkomafont"></a><a href="#cmd.useseriesofkomafont">\useseriesofkomafont</a> --> <a href="scrguide.pdf#maincls.cmd.useseriesofkomafont">64</a></li> +<li><a name="cmd.useshapeofkomafont"></a><a href="#cmd.useshapeofkomafont">\useshapeofkomafont</a> --> <a href="scrguide.pdf#maincls.cmd.useshapeofkomafont">64</a></li> +<li><a name="cmd.usesizeofkomafont"></a><a href="#cmd.usesizeofkomafont">\usesizeofkomafont</a> --> <a href="scrguide.pdf#maincls.cmd.usesizeofkomafont">64</a></li> +<li><a name="cmd.wwwname"></a><a href="#cmd.wwwname">\wwwname</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.wwwname">427</a></li> +<li><a name="cmd.yourmailname"></a><a href="#cmd.yourmailname">\yourmailname</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.yourmailname">427</a></li> +<li><a name="cmd.yourrefname"></a><a href="#cmd.yourrefname">\yourrefname</a> --> <a href="scrguide.pdf#scrlttr2-experts.cmd.yourrefname">427</a></li> </ul> <h2><a name="environment">Umgebungen</a></h2> <ul> -<li><a name="env.abstract"></a><a href="#env.abstract">abstract</a> --> <a href="scrguide.pdf#maincls.env.abstract">67</a></li> -<li><a name="env.addmargin*"></a><a href="#env.addmargin*">addmargin*</a> --> <a href="scrguide.pdf#maincls.env.addmargin*">118</a></li> -<li><a name="env.addmargin"></a><a href="#env.addmargin">addmargin</a> --> <a href="scrguide.pdf#maincls.env.addmargin">118</a></li> -<li><a name="env.captionbeside"></a><a href="#env.captionbeside">captionbeside</a> --> <a href="scrguide.pdf#maincls.env.captionbeside">128</a></li> -<li><a name="env.captionofbeside"></a><a href="#env.captionofbeside">captionofbeside</a> --> <a href="scrguide.pdf#maincls.env.captionofbeside">131</a></li> -<li><a name="env.description"></a><a href="#env.description">description</a> --> <a href="scrguide.pdf#maincls.env.description">113</a></li> -<li><a name="env.enumerate"></a><a href="#env.enumerate">enumerate</a> --> <a href="scrguide.pdf#maincls.env.enumerate">112</a></li> -<li><a name="env.itemize"></a><a href="#env.itemize">itemize</a> --> <a href="scrguide.pdf#maincls.env.itemize">110</a></li> -<li><a name="env.labeling"></a><a href="#env.labeling">labeling</a> --> <a href="scrguide.pdf#maincls.env.labeling">114</a></li> -<li><a name="env.letter"></a><a href="#env.letter">letter</a> --> <a href="scrguide.pdf#scrlttr2.env.letter">153</a></li> -<li><a name="env.quotation"></a><a href="#env.quotation">quotation</a> --> <a href="scrguide.pdf#maincls.env.quotation">117</a></li> -<li><a name="env.quote"></a><a href="#env.quote">quote</a> --> <a href="scrguide.pdf#maincls.env.quote">117</a></li> -<li><a name="env.titlepage"></a><a href="#env.titlepage">titlepage</a> --> <a href="scrguide.pdf#maincls.env.titlepage">61</a></li> -<li><a name="env.verse"></a><a href="#env.verse">verse</a> --> <a href="scrguide.pdf#maincls.env.verse">115</a></li> +<li><a name="env.abstract"></a><a href="#env.abstract">abstract</a> --> <a href="scrguide.pdf#maincls.env.abstract">71</a></li> +<li><a name="env.addmargin*"></a><a href="#env.addmargin*">addmargin*</a> --> <a href="scrguide.pdf#maincls.env.addmargin*">123</a></li> +<li><a name="env.addmargin"></a><a href="#env.addmargin">addmargin</a> --> <a href="scrguide.pdf#maincls.env.addmargin">123</a></li> +<li><a name="env.captionbeside"></a><a href="#env.captionbeside">captionbeside</a> --> <a href="scrguide.pdf#maincls.env.captionbeside">133</a></li> +<li><a name="env.captionofbeside"></a><a href="#env.captionofbeside">captionofbeside</a> --> <a href="scrguide.pdf#maincls.env.captionofbeside">136</a></li> +<li><a name="env.description"></a><a href="#env.description">description</a> --> <a href="scrguide.pdf#maincls.env.description">118</a></li> +<li><a name="env.enumerate"></a><a href="#env.enumerate">enumerate</a> --> <a href="scrguide.pdf#maincls.env.enumerate">117</a></li> +<li><a name="env.itemize"></a><a href="#env.itemize">itemize</a> --> <a href="scrguide.pdf#maincls.env.itemize">116</a></li> +<li><a name="env.labeling"></a><a href="#env.labeling">labeling</a> --> <a href="scrguide.pdf#maincls.env.labeling">119</a></li> +<li><a name="env.letter"></a><a href="#env.letter">letter</a> --> <a href="scrguide.pdf#scrlttr2.env.letter">159</a></li> +<li><a name="env.quotation"></a><a href="#env.quotation">quotation</a> --> <a href="scrguide.pdf#maincls.env.quotation">122</a></li> +<li><a name="env.quote"></a><a href="#env.quote">quote</a> --> <a href="scrguide.pdf#maincls.env.quote">122</a></li> +<li><a name="env.titlepage"></a><a href="#env.titlepage">titlepage</a> --> <a href="scrguide.pdf#maincls.env.titlepage">65</a></li> +<li><a name="env.verse"></a><a href="#env.verse">verse</a> --> <a href="scrguide.pdf#maincls.env.verse">120</a></li> +</ul> +<h2><a name="length">Längen</a></h2> +<ul> +<li><a name="length.footheight"></a><a href="#length.footheight">footheight</a> --> <a href="scrguide.pdf#scrlayer-scrpage.length.footheight">242</a></li> +<li><a name="length.headheight"></a><a href="#length.headheight">headheight</a> --> <a href="scrguide.pdf#scrlayer-scrpage.length.headheight">242</a></li> </ul> <h2><a name="plength">Pseudolängen</a></h2> <ul> -<li><a name="plength.PPdatamatrixvskip"></a><a href="#plength.PPdatamatrixvskip">PPdatamatrixvskip</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.PPdatamatrixvskip">328</a></li> -<li><a name="plength.PPheadheight"></a><a href="#plength.PPheadheight">PPheadheight</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.PPheadheight">328</a></li> -<li><a name="plength.PPheadwidth"></a><a href="#plength.PPheadwidth">PPheadwidth</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.PPheadwidth">328</a></li> -<li><a name="plength.backaddrheight"></a><a href="#plength.backaddrheight">backaddrheight</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.backaddrheight">327</a></li> -<li><a name="plength.bfoldmarklength"></a><a href="#plength.bfoldmarklength">bfoldmarklength</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.bfoldmarklength">324</a></li> -<li><a name="plength.bfoldmarkvpos"></a><a href="#plength.bfoldmarkvpos">bfoldmarkvpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.bfoldmarkvpos">323</a></li> -<li><a name="plength.firstfoothpos"></a><a href="#plength.firstfoothpos">firstfoothpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.firstfoothpos">332</a></li> -<li><a name="plength.firstfootvpos"></a><a href="#plength.firstfootvpos">firstfootvpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.firstfootvpos">331</a></li> -<li><a name="plength.firstfootwidth"></a><a href="#plength.firstfootwidth">firstfootwidth</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.firstfootwidth">332</a></li> -<li><a name="plength.firstheadhpos"></a><a href="#plength.firstheadhpos">firstheadhpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.firstheadhpos">325</a></li> -<li><a name="plength.firstheadvpos"></a><a href="#plength.firstheadvpos">firstheadvpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.firstheadvpos">325</a></li> -<li><a name="plength.firstheadwidth"></a><a href="#plength.firstheadwidth">firstheadwidth</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.firstheadwidth">325</a></li> -<li><a name="plength.foldmarkhpos"></a><a href="#plength.foldmarkhpos">foldmarkhpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.foldmarkhpos">324</a></li> -<li><a name="plength.foldmarkthickness"></a><a href="#plength.foldmarkthickness">foldmarkthickness</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.foldmarkthickness">325</a></li> -<li><a name="plength.foldmarkvpos"></a><a href="#plength.foldmarkvpos">foldmarkvpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.foldmarkvpos">324</a></li> -<li><a name="plength.fromrulethickness"></a><a href="#plength.fromrulethickness">fromrulethickness</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.fromrulethickness">326</a></li> -<li><a name="plength.fromrulewidth"></a><a href="#plength.fromrulewidth">fromrulewidth</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.fromrulewidth">326</a></li> -<li><a name="plength.lfoldmarkhpos"></a><a href="#plength.lfoldmarkhpos">lfoldmarkhpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.lfoldmarkhpos">324</a></li> -<li><a name="plength.lfoldmarklength"></a><a href="#plength.lfoldmarklength">lfoldmarklength</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.lfoldmarklength">324</a></li> -<li><a name="plength.locheight"></a><a href="#plength.locheight">locheight</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.locheight">328</a></li> -<li><a name="plength.lochpos"></a><a href="#plength.lochpos">lochpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.lochpos">328</a></li> -<li><a name="plength.locvpos"></a><a href="#plength.locvpos">locvpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.locvpos">328</a></li> -<li><a name="plength.locwidth"></a><a href="#plength.locwidth">locwidth</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.locwidth">328</a></li> -<li><a name="plength.mfoldmarklength"></a><a href="#plength.mfoldmarklength">mfoldmarklength</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.mfoldmarklength">324</a></li> -<li><a name="plength.mfoldmarkvpos"></a><a href="#plength.mfoldmarkvpos">mfoldmarkvpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.mfoldmarkvpos">323</a></li> -<li><a name="plength.pfoldmarklength"></a><a href="#plength.pfoldmarklength">pfoldmarklength</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.pfoldmarklength">324</a></li> -<li><a name="plength.refaftervskip"></a><a href="#plength.refaftervskip">refaftervskip</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.refaftervskip">330</a></li> -<li><a name="plength.refhpos"></a><a href="#plength.refhpos">refhpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.refhpos">329</a></li> -<li><a name="plength.refvpos"></a><a href="#plength.refvpos">refvpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.refvpos">329</a></li> -<li><a name="plength.refwidth"></a><a href="#plength.refwidth">refwidth</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.refwidth">329</a></li> -<li><a name="plength.sigbeforevskip"></a><a href="#plength.sigbeforevskip">sigbeforevskip</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.sigbeforevskip">331</a></li> -<li><a name="plength.sigindent"></a><a href="#plength.sigindent">sigindent</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.sigindent">331</a></li> -<li><a name="plength.specialmailindent"></a><a href="#plength.specialmailindent">specialmailindent</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.specialmailindent">328</a></li> -<li><a name="plength.specialmailrightindent"></a><a href="#plength.specialmailrightindent">specialmailrightindent</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.specialmailrightindent">328</a></li> -<li><a name="plength.subjectaftervskip"></a><a href="#plength.subjectaftervskip">subjectaftervskip</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.subjectaftervskip">330</a></li> -<li><a name="plength.subjectbeforevskip"></a><a href="#plength.subjectbeforevskip">subjectbeforevskip</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.subjectbeforevskip">330</a></li> -<li><a name="plength.subjectvpos"></a><a href="#plength.subjectvpos">subjectvpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.subjectvpos">330</a></li> -<li><a name="plength.tfoldmarklength"></a><a href="#plength.tfoldmarklength">tfoldmarklength</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.tfoldmarklength">324</a></li> -<li><a name="plength.tfoldmarkvpos"></a><a href="#plength.tfoldmarkvpos">tfoldmarkvpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.tfoldmarkvpos">323</a></li> -<li><a name="plength.toaddrheight"></a><a href="#plength.toaddrheight">toaddrheight</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.toaddrheight">326</a></li> -<li><a name="plength.toaddrhpos"></a><a href="#plength.toaddrhpos">toaddrhpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.toaddrhpos">326</a></li> -<li><a name="plength.toaddrindent"></a><a href="#plength.toaddrindent">toaddrindent</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.toaddrindent">327</a></li> -<li><a name="plength.toaddrvpos"></a><a href="#plength.toaddrvpos">toaddrvpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.toaddrvpos">326</a></li> -<li><a name="plength.toaddrwidth"></a><a href="#plength.toaddrwidth">toaddrwidth</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.toaddrwidth">326</a></li> +<li><a name="plength.PPdatamatrixvskip"></a><a href="#plength.PPdatamatrixvskip">PPdatamatrixvskip</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.PPdatamatrixvskip">415</a></li> +<li><a name="plength.PPheadheight"></a><a href="#plength.PPheadheight">PPheadheight</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.PPheadheight">415</a></li> +<li><a name="plength.PPheadwidth"></a><a href="#plength.PPheadwidth">PPheadwidth</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.PPheadwidth">415</a></li> +<li><a name="plength.backaddrheight"></a><a href="#plength.backaddrheight">backaddrheight</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.backaddrheight">414</a></li> +<li><a name="plength.bfoldmarklength"></a><a href="#plength.bfoldmarklength">bfoldmarklength</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.bfoldmarklength">411</a></li> +<li><a name="plength.bfoldmarkvpos"></a><a href="#plength.bfoldmarkvpos">bfoldmarkvpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.bfoldmarkvpos">410</a></li> +<li><a name="plength.firstfoothpos"></a><a href="#plength.firstfoothpos">firstfoothpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.firstfoothpos">419</a></li> +<li><a name="plength.firstfootvpos"></a><a href="#plength.firstfootvpos">firstfootvpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.firstfootvpos">418</a></li> +<li><a name="plength.firstfootwidth"></a><a href="#plength.firstfootwidth">firstfootwidth</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.firstfootwidth">419</a></li> +<li><a name="plength.firstheadhpos"></a><a href="#plength.firstheadhpos">firstheadhpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.firstheadhpos">412</a></li> +<li><a name="plength.firstheadvpos"></a><a href="#plength.firstheadvpos">firstheadvpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.firstheadvpos">412</a></li> +<li><a name="plength.firstheadwidth"></a><a href="#plength.firstheadwidth">firstheadwidth</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.firstheadwidth">412</a></li> +<li><a name="plength.foldmarkhpos"></a><a href="#plength.foldmarkhpos">foldmarkhpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.foldmarkhpos">411</a></li> +<li><a name="plength.foldmarkthickness"></a><a href="#plength.foldmarkthickness">foldmarkthickness</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.foldmarkthickness">412</a></li> +<li><a name="plength.foldmarkvpos"></a><a href="#plength.foldmarkvpos">foldmarkvpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.foldmarkvpos">411</a></li> +<li><a name="plength.fromrulethickness"></a><a href="#plength.fromrulethickness">fromrulethickness</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.fromrulethickness">413</a></li> +<li><a name="plength.fromrulewidth"></a><a href="#plength.fromrulewidth">fromrulewidth</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.fromrulewidth">413</a></li> +<li><a name="plength.lfoldmarkhpos"></a><a href="#plength.lfoldmarkhpos">lfoldmarkhpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.lfoldmarkhpos">411</a></li> +<li><a name="plength.lfoldmarklength"></a><a href="#plength.lfoldmarklength">lfoldmarklength</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.lfoldmarklength">411</a></li> +<li><a name="plength.locheight"></a><a href="#plength.locheight">locheight</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.locheight">415</a></li> +<li><a name="plength.lochpos"></a><a href="#plength.lochpos">lochpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.lochpos">415</a></li> +<li><a name="plength.locvpos"></a><a href="#plength.locvpos">locvpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.locvpos">415</a></li> +<li><a name="plength.locwidth"></a><a href="#plength.locwidth">locwidth</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.locwidth">415</a></li> +<li><a name="plength.mfoldmarklength"></a><a href="#plength.mfoldmarklength">mfoldmarklength</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.mfoldmarklength">411</a></li> +<li><a name="plength.mfoldmarkvpos"></a><a href="#plength.mfoldmarkvpos">mfoldmarkvpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.mfoldmarkvpos">410</a></li> +<li><a name="plength.pfoldmarklength"></a><a href="#plength.pfoldmarklength">pfoldmarklength</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.pfoldmarklength">411</a></li> +<li><a name="plength.refaftervskip"></a><a href="#plength.refaftervskip">refaftervskip</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.refaftervskip">417</a></li> +<li><a name="plength.refhpos"></a><a href="#plength.refhpos">refhpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.refhpos">416</a></li> +<li><a name="plength.refvpos"></a><a href="#plength.refvpos">refvpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.refvpos">416</a></li> +<li><a name="plength.refwidth"></a><a href="#plength.refwidth">refwidth</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.refwidth">416</a></li> +<li><a name="plength.sigbeforevskip"></a><a href="#plength.sigbeforevskip">sigbeforevskip</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.sigbeforevskip">418</a></li> +<li><a name="plength.sigindent"></a><a href="#plength.sigindent">sigindent</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.sigindent">418</a></li> +<li><a name="plength.specialmailindent"></a><a href="#plength.specialmailindent">specialmailindent</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.specialmailindent">415</a></li> +<li><a name="plength.specialmailrightindent"></a><a href="#plength.specialmailrightindent">specialmailrightindent</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.specialmailrightindent">415</a></li> +<li><a name="plength.subjectaftervskip"></a><a href="#plength.subjectaftervskip">subjectaftervskip</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.subjectaftervskip">417</a></li> +<li><a name="plength.subjectbeforevskip"></a><a href="#plength.subjectbeforevskip">subjectbeforevskip</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.subjectbeforevskip">417</a></li> +<li><a name="plength.subjectvpos"></a><a href="#plength.subjectvpos">subjectvpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.subjectvpos">417</a></li> +<li><a name="plength.tfoldmarklength"></a><a href="#plength.tfoldmarklength">tfoldmarklength</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.tfoldmarklength">411</a></li> +<li><a name="plength.tfoldmarkvpos"></a><a href="#plength.tfoldmarkvpos">tfoldmarkvpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.tfoldmarkvpos">410</a></li> +<li><a name="plength.toaddrheight"></a><a href="#plength.toaddrheight">toaddrheight</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.toaddrheight">413</a></li> +<li><a name="plength.toaddrhpos"></a><a href="#plength.toaddrhpos">toaddrhpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.toaddrhpos">413</a></li> +<li><a name="plength.toaddrindent"></a><a href="#plength.toaddrindent">toaddrindent</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.toaddrindent">414</a></li> +<li><a name="plength.toaddrvpos"></a><a href="#plength.toaddrvpos">toaddrvpos</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.toaddrvpos">413</a></li> +<li><a name="plength.toaddrwidth"></a><a href="#plength.toaddrwidth">toaddrwidth</a> --> <a href="scrguide.pdf#scrlttr2-experts.plength.toaddrwidth">413</a></li> </ul> <h2><a name="variable">Variablen</a></h2> <ul> -<li><a name="variable.PPcode"></a><a href="#variable.PPcode">PPcode</a> --> <a href="scrguide.pdf#scrlttr2.variable.PPcode">182</a></li> -<li><a name="variable.PPdatamatrix"></a><a href="#variable.PPdatamatrix">PPdatamatrix</a> --> <a href="scrguide.pdf#scrlttr2.variable.PPdatamatrix">182</a></li> -<li><a name="variable.addresseeimage"></a><a href="#variable.addresseeimage">addresseeimage</a> --> <a href="scrguide.pdf#scrlttr2.variable.addresseeimage">182</a></li> -<li><a name="variable.backaddress"></a><a href="#variable.backaddress">backaddress</a> --> <a href="scrguide.pdf#scrlttr2.variable.backaddress">182</a></li> -<li><a name="variable.backaddressseparator"></a><a href="#variable.backaddressseparator">backaddressseparator</a> --> <a href="scrguide.pdf#scrlttr2.variable.backaddressseparator">182</a></li> -<li><a name="variable.ccseparator"></a><a href="#variable.ccseparator">ccseparator</a> --> <a href="scrguide.pdf#scrlttr2.variable.ccseparator">158</a></li> -<li><a name="variable.customer"></a><a href="#variable.customer">customer</a> --> <a href="scrguide.pdf#scrlttr2.variable.customer">188</a></li> -<li><a name="variable.date"></a><a href="#variable.date">date</a> --> <a href="scrguide.pdf#scrlttr2.variable.date">187</a></li> -<li><a name="variable.emailseparator"></a><a href="#variable.emailseparator">emailseparator</a> --> <a href="scrguide.pdf#scrlttr2.variable.emailseparator">175</a></li> -<li><a name="variable.enclseparator"></a><a href="#variable.enclseparator">enclseparator</a> --> <a href="scrguide.pdf#scrlttr2.variable.enclseparator">159</a></li> -<li><a name="variable.faxseparator"></a><a href="#variable.faxseparator">faxseparator</a> --> <a href="scrguide.pdf#scrlttr2.variable.faxseparator">175</a></li> -<li><a name="variable.firstfoot"></a><a href="#variable.firstfoot">firstfoot</a> --> <a href="scrguide.pdf#scrlttr2.variable.firstfoot">193</a></li> -<li><a name="variable.firsthead"></a><a href="#variable.firsthead">firsthead</a> --> <a href="scrguide.pdf#scrlttr2.variable.firsthead">180</a></li> -<li><a name="variable.fromaddress"></a><a href="#variable.fromaddress">fromaddress</a> --> <a href="scrguide.pdf#scrlttr2.variable.fromaddress">170</a></li> -<li><a name="variable.frombank"></a><a href="#variable.frombank">frombank</a> --> <a href="scrguide.pdf#scrlttr2.variable.frombank">193</a></li> -<li><a name="variable.fromemail"></a><a href="#variable.fromemail">fromemail</a> --> <a href="scrguide.pdf#scrlttr2.variable.fromemail">175</a></li> -<li><a name="variable.fromfax"></a><a href="#variable.fromfax">fromfax</a> --> <a href="scrguide.pdf#scrlttr2.variable.fromfax">175</a></li> -<li><a name="variable.fromlogo"></a><a href="#variable.fromlogo">fromlogo</a> --> <a href="scrguide.pdf#scrlttr2.variable.fromlogo">179</a></li> -<li><a name="variable.fromname"></a><a href="#variable.fromname">fromname</a> --> <a href="scrguide.pdf#scrlttr2.variable.fromname">170</a></li> -<li><a name="variable.fromphone"></a><a href="#variable.fromphone">fromphone</a> --> <a href="scrguide.pdf#scrlttr2.variable.fromphone">175</a></li> -<li><a name="variable.fromurl"></a><a href="#variable.fromurl">fromurl</a> --> <a href="scrguide.pdf#scrlttr2.variable.fromurl">175</a></li> -<li><a name="variable.fromzipcode"></a><a href="#variable.fromzipcode">fromzipcode</a> --> <a href="scrguide.pdf#scrlttr2.variable.fromzipcode">182</a></li> -<li><a name="variable.invoice"></a><a href="#variable.invoice">invoice</a> --> <a href="scrguide.pdf#scrlttr2.variable.invoice">188</a></li> -<li><a name="variable.location"></a><a href="#variable.location">location</a> --> <a href="scrguide.pdf#scrlttr2.variable.location">186</a></li> -<li><a name="variable.myref"></a><a href="#variable.myref">myref</a> --> <a href="scrguide.pdf#scrlttr2.variable.myref">188</a></li> -<li><a name="variable.nextfoot"></a><a href="#variable.nextfoot">nextfoot</a> --> <a href="scrguide.pdf#scrlttr2.variable.nextfoot">199</a></li> -<li><a name="variable.nexthead"></a><a href="#variable.nexthead">nexthead</a> --> <a href="scrguide.pdf#scrlttr2.variable.nexthead">199</a></li> -<li><a name="variable.phoneseparator"></a><a href="#variable.phoneseparator">phoneseparator</a> --> <a href="scrguide.pdf#scrlttr2.variable.phoneseparator">175</a></li> -<li><a name="variable.place"></a><a href="#variable.place">place</a> --> <a href="scrguide.pdf#scrlttr2.variable.place">182</a></li> -<li><a name="variable.placeseparator"></a><a href="#variable.placeseparator">placeseparator</a> --> <a href="scrguide.pdf#scrlttr2.variable.placeseparator">189</a></li> -<li><a name="variable.signature"></a><a href="#variable.signature">signature</a> --> <a href="scrguide.pdf#scrlttr2.variable.signature">201</a></li> -<li><a name="variable.specialmail"></a><a href="#variable.specialmail">specialmail</a> --> <a href="scrguide.pdf#scrlttr2.variable.specialmail">182</a></li> -<li><a name="variable.subject"></a><a href="#variable.subject">subject</a> --> <a href="scrguide.pdf#scrlttr2.variable.subject">191</a></li> -<li><a name="variable.subjectseparator"></a><a href="#variable.subjectseparator">subjectseparator</a> --> <a href="scrguide.pdf#scrlttr2.variable.subjectseparator">191</a></li> -<li><a name="variable.title"></a><a href="#variable.title">title</a> --> <a href="scrguide.pdf#scrlttr2.variable.title">190</a></li> -<li><a name="variable.toaddress"></a><a href="#variable.toaddress">toaddress</a> --> <a href="scrguide.pdf#scrlttr2.variable.toaddress">182</a></li> -<li><a name="variable.toname"></a><a href="#variable.toname">toname</a> --> <a href="scrguide.pdf#scrlttr2.variable.toname">182</a></li> -<li><a name="variable.urlseparator"></a><a href="#variable.urlseparator">urlseparator</a> --> <a href="scrguide.pdf#scrlttr2.variable.urlseparator">175</a></li> -<li><a name="variable.yourmail"></a><a href="#variable.yourmail">yourmail</a> --> <a href="scrguide.pdf#scrlttr2.variable.yourmail">188</a></li> -<li><a name="variable.yourref"></a><a href="#variable.yourref">yourref</a> --> <a href="scrguide.pdf#scrlttr2.variable.yourref">188</a></li> -<li><a name="variable.zipcodeseparator"></a><a href="#variable.zipcodeseparator">zipcodeseparator</a> --> <a href="scrguide.pdf#scrlttr2.variable.zipcodeseparator">182</a></li> +<li><a name="variable.PPcode"></a><a href="#variable.PPcode">PPcode</a> --> <a href="scrguide.pdf#scrlttr2.variable.PPcode">188</a></li> +<li><a name="variable.PPdatamatrix"></a><a href="#variable.PPdatamatrix">PPdatamatrix</a> --> <a href="scrguide.pdf#scrlttr2.variable.PPdatamatrix">188</a></li> +<li><a name="variable.addresseeimage"></a><a href="#variable.addresseeimage">addresseeimage</a> --> <a href="scrguide.pdf#scrlttr2.variable.addresseeimage">188</a></li> +<li><a name="variable.backaddress"></a><a href="#variable.backaddress">backaddress</a> --> <a href="scrguide.pdf#scrlttr2.variable.backaddress">188</a></li> +<li><a name="variable.backaddressseparator"></a><a href="#variable.backaddressseparator">backaddressseparator</a> --> <a href="scrguide.pdf#scrlttr2.variable.backaddressseparator">188</a></li> +<li><a name="variable.ccseparator"></a><a href="#variable.ccseparator">ccseparator</a> --> <a href="scrguide.pdf#scrlttr2.variable.ccseparator">163</a></li> +<li><a name="variable.customer"></a><a href="#variable.customer">customer</a> --> <a href="scrguide.pdf#scrlttr2.variable.customer">194</a></li> +<li><a name="variable.date"></a><a href="#variable.date">date</a> --> <a href="scrguide.pdf#scrlttr2.variable.date">193</a></li> +<li><a name="variable.emailseparator"></a><a href="#variable.emailseparator">emailseparator</a> --> <a href="scrguide.pdf#scrlttr2.variable.emailseparator">181</a></li> +<li><a name="variable.enclseparator"></a><a href="#variable.enclseparator">enclseparator</a> --> <a href="scrguide.pdf#scrlttr2.variable.enclseparator">165</a></li> +<li><a name="variable.faxseparator"></a><a href="#variable.faxseparator">faxseparator</a> --> <a href="scrguide.pdf#scrlttr2.variable.faxseparator">181</a></li> +<li><a name="variable.firstfoot"></a><a href="#variable.firstfoot">firstfoot</a> --> <a href="scrguide.pdf#scrlttr2.variable.firstfoot">200</a></li> +<li><a name="variable.firsthead"></a><a href="#variable.firsthead">firsthead</a> --> <a href="scrguide.pdf#scrlttr2.variable.firsthead">186</a></li> +<li><a name="variable.fromaddress"></a><a href="#variable.fromaddress">fromaddress</a> --> <a href="scrguide.pdf#scrlttr2.variable.fromaddress">176</a></li> +<li><a name="variable.frombank"></a><a href="#variable.frombank">frombank</a> --> <a href="scrguide.pdf#scrlttr2.variable.frombank">200</a></li> +<li><a name="variable.fromemail"></a><a href="#variable.fromemail">fromemail</a> --> <a href="scrguide.pdf#scrlttr2.variable.fromemail">181</a></li> +<li><a name="variable.fromfax"></a><a href="#variable.fromfax">fromfax</a> --> <a href="scrguide.pdf#scrlttr2.variable.fromfax">181</a></li> +<li><a name="variable.fromlogo"></a><a href="#variable.fromlogo">fromlogo</a> --> <a href="scrguide.pdf#scrlttr2.variable.fromlogo">185</a></li> +<li><a name="variable.frommobilephone"></a><a href="#variable.frommobilephone">frommobilephone</a> --> <a href="scrguide.pdf#scrlttr2.variable.frommobilephone">181</a></li> +<li><a name="variable.fromname"></a><a href="#variable.fromname">fromname</a> --> <a href="scrguide.pdf#scrlttr2.variable.fromname">176</a></li> +<li><a name="variable.fromphone"></a><a href="#variable.fromphone">fromphone</a> --> <a href="scrguide.pdf#scrlttr2.variable.fromphone">181</a></li> +<li><a name="variable.fromurl"></a><a href="#variable.fromurl">fromurl</a> --> <a href="scrguide.pdf#scrlttr2.variable.fromurl">181</a></li> +<li><a name="variable.fromzipcode"></a><a href="#variable.fromzipcode">fromzipcode</a> --> <a href="scrguide.pdf#scrlttr2.variable.fromzipcode">188</a></li> +<li><a name="variable.invoice"></a><a href="#variable.invoice">invoice</a> --> <a href="scrguide.pdf#scrlttr2.variable.invoice">194</a></li> +<li><a name="variable.location"></a><a href="#variable.location">location</a> --> <a href="scrguide.pdf#scrlttr2.variable.location">192</a></li> +<li><a name="variable.mobilephoneseparator"></a><a href="#variable.mobilephoneseparator">mobilephoneseparator</a> --> <a href="scrguide.pdf#scrlttr2.variable.mobilephoneseparator">181</a></li> +<li><a name="variable.myref"></a><a href="#variable.myref">myref</a> --> <a href="scrguide.pdf#scrlttr2.variable.myref">194</a></li> +<li><a name="variable.nextfoot"></a><a href="#variable.nextfoot">nextfoot</a> --> <a href="scrguide.pdf#scrlttr2.variable.nextfoot">205</a></li> +<li><a name="variable.nexthead"></a><a href="#variable.nexthead">nexthead</a> --> <a href="scrguide.pdf#scrlttr2.variable.nexthead">205</a></li> +<li><a name="variable.phoneseparator"></a><a href="#variable.phoneseparator">phoneseparator</a> --> <a href="scrguide.pdf#scrlttr2.variable.phoneseparator">181</a></li> +<li><a name="variable.place"></a><a href="#variable.place">place</a> --> <a href="scrguide.pdf#scrlttr2.variable.place">188</a></li> +<li><a name="variable.placeseparator"></a><a href="#variable.placeseparator">placeseparator</a> --> <a href="scrguide.pdf#scrlttr2.variable.placeseparator">195</a></li> +<li><a name="variable.signature"></a><a href="#variable.signature">signature</a> --> <a href="scrguide.pdf#scrlttr2.variable.signature">207</a></li> +<li><a name="variable.specialmail"></a><a href="#variable.specialmail">specialmail</a> --> <a href="scrguide.pdf#scrlttr2.variable.specialmail">188</a></li> +<li><a name="variable.subject"></a><a href="#variable.subject">subject</a> --> <a href="scrguide.pdf#scrlttr2.variable.subject">197</a></li> +<li><a name="variable.subjectseparator"></a><a href="#variable.subjectseparator">subjectseparator</a> --> <a href="scrguide.pdf#scrlttr2.variable.subjectseparator">197</a></li> +<li><a name="variable.title"></a><a href="#variable.title">title</a> --> <a href="scrguide.pdf#scrlttr2.variable.title">196</a></li> +<li><a name="variable.toaddress"></a><a href="#variable.toaddress">toaddress</a> --> <a href="scrguide.pdf#scrlttr2.variable.toaddress">188</a></li> +<li><a name="variable.toname"></a><a href="#variable.toname">toname</a> --> <a href="scrguide.pdf#scrlttr2.variable.toname">188</a></li> +<li><a name="variable.urlseparator"></a><a href="#variable.urlseparator">urlseparator</a> --> <a href="scrguide.pdf#scrlttr2.variable.urlseparator">181</a></li> +<li><a name="variable.yourmail"></a><a href="#variable.yourmail">yourmail</a> --> <a href="scrguide.pdf#scrlttr2.variable.yourmail">194</a></li> +<li><a name="variable.yourref"></a><a href="#variable.yourref">yourref</a> --> <a href="scrguide.pdf#scrlttr2.variable.yourref">194</a></li> +<li><a name="variable.zipcodeseparator"></a><a href="#variable.zipcodeseparator">zipcodeseparator</a> --> <a href="scrguide.pdf#scrlttr2.variable.zipcodeseparator">188</a></li> </ul> <h2><a name="pagestyle">Seitenstile</a></h2> <ul> -<li><a name="pagestyle.empty"></a><a href="#pagestyle.empty">empty</a> --> <a href="scrguide.pdf#scrlttr2.pagestyle.empty">197</a></li> -<li><a name="pagestyle.headings"></a><a href="#pagestyle.headings">headings</a> --> <a href="scrguide.pdf#scrlttr2.pagestyle.headings">197</a></li> -<li><a name="pagestyle.myheadings"></a><a href="#pagestyle.myheadings">myheadings</a> --> <a href="scrguide.pdf#scrlttr2.pagestyle.myheadings">197</a></li> -<li><a name="pagestyle.plain"></a><a href="#pagestyle.plain">plain</a> --> <a href="scrguide.pdf#scrlttr2.pagestyle.plain">197</a></li> -<li><a name="pagestyle.scrheadings"></a><a href="#pagestyle.scrheadings">scrheadings</a> --> <a href="scrguide.pdf#scrpage.pagestyle.scrheadings">214</a></li> -<li><a name="pagestyle.scrplain"></a><a href="#pagestyle.scrplain">scrplain</a> --> <a href="scrguide.pdf#scrpage.pagestyle.scrplain">214</a></li> -<li><a name="pagestyle.useheadings"></a><a href="#pagestyle.useheadings">useheadings</a> --> <a href="scrguide.pdf#scrpage.pagestyle.useheadings">218</a></li> +<li><a name="pagestyle.@everysel@"></a><a href="#pagestyle.@everysel@">@everysel@</a> --> <a href="scrguide.pdf#scrlayer.pagestyle.@everysel@">359</a></li> +<li><a name="pagestyle.empty"></a><a href="#pagestyle.empty">empty</a> --> <a href="scrguide.pdf#scrlttr2.pagestyle.empty">203</a>, <a href="scrguide.pdf#scrlayer.pagestyle.empty">359</a></li> +<li><a name="pagestyle.headings"></a><a href="#pagestyle.headings">headings</a> --> <a href="scrguide.pdf#scrlttr2.pagestyle.headings">203</a></li> +<li><a name="pagestyle.myheadings"></a><a href="#pagestyle.myheadings">myheadings</a> --> <a href="scrguide.pdf#scrlttr2.pagestyle.myheadings">203</a></li> +<li><a name="pagestyle.plain"></a><a href="#pagestyle.plain">plain</a> --> <a href="scrguide.pdf#scrlttr2.pagestyle.plain">203</a></li> +<li><a name="pagestyle.scrheadings"></a><a href="#pagestyle.scrheadings">scrheadings</a> --> <a href="scrguide.pdf#scrpage.pagestyle.scrheadings">221</a>, <a href="scrguide.pdf#scrlayer-scrpage.pagestyle.scrheadings">244</a></li> +<li><a name="pagestyle.scrplain"></a><a href="#pagestyle.scrplain">scrplain</a> --> <a href="scrguide.pdf#scrpage.pagestyle.scrplain">221</a></li> +<li><a name="pagestyle.useheadings"></a><a href="#pagestyle.useheadings">useheadings</a> --> <a href="scrguide.pdf#scrpage.pagestyle.useheadings">224</a></li> </ul> <h2><a name="counter">Zähler</a></h2> <ul> -<li><a name="counter.secnumdepth"></a><a href="#counter.secnumdepth">secnumdepth</a> --> <a href="scrguide.pdf#maincls.counter.secnumdepth">106</a></li> -<li><a name="counter.tocdepth"></a><a href="#counter.tocdepth">tocdepth</a> --> <a href="scrguide.pdf#maincls.counter.tocdepth">70</a></li> +<li><a name="counter.secnumdepth"></a><a href="#counter.secnumdepth">secnumdepth</a> --> <a href="scrguide.pdf#maincls.counter.secnumdepth">111</a></li> +<li><a name="counter.tocdepth"></a><a href="#counter.tocdepth">tocdepth</a> --> <a href="scrguide.pdf#maincls.counter.tocdepth">75</a></li> </ul> <h2><a name="floatstyle">Stile für das float-Paket</a></h2> <ul> -<li><a name="floatstyle.komaabove"></a><a href="#floatstyle.komaabove">komaabove</a> --> <a href="scrguide.pdf#maincls.floatstyle.komaabove">131</a></li> -<li><a name="floatstyle.komabelow"></a><a href="#floatstyle.komabelow">komabelow</a> --> <a href="scrguide.pdf#maincls.floatstyle.komabelow">131</a></li> +<li><a name="floatstyle.komaabove"></a><a href="#floatstyle.komaabove">komaabove</a> --> <a href="scrguide.pdf#maincls.floatstyle.komaabove">136</a></li> +<li><a name="floatstyle.komabelow"></a><a href="#floatstyle.komabelow">komabelow</a> --> <a href="scrguide.pdf#maincls.floatstyle.komabelow">136</a></li> </ul> <p> <a href="http://validator.w3.org/check?uri=referer"><img diff --git a/Master/texmf-dist/doc/latex/koma-script/scrguide.pdf b/Master/texmf-dist/doc/latex/koma-script/scrguide.pdf Binary files differindex 901bfb87ca6..e6e65372366 100644 --- a/Master/texmf-dist/doc/latex/koma-script/scrguide.pdf +++ b/Master/texmf-dist/doc/latex/koma-script/scrguide.pdf diff --git a/Master/texmf-dist/doc/latex/koma-script/scrguien.html b/Master/texmf-dist/doc/latex/koma-script/scrguien.html index 0f17847a151..4bbc5300edf 100644 --- a/Master/texmf-dist/doc/latex/koma-script/scrguien.html +++ b/Master/texmf-dist/doc/latex/koma-script/scrguien.html @@ -7,637 +7,774 @@ <h1>Index of the KOMA-Script Guide</h1> <p>This is an index of the elements defined at KOMA-Script. This index is related to the <a href="scrguien.pdf">KOMA-Script guide</a>. To improve the survey this index has serveral functional sections:</p> <ul> -<li><a href="#option">Options</a></li><li><a href="#macro">Commands</a></li><li><a href="#environment">Environments</a></li><li><a href="#plength">Pseudolengths</a></li><li><a href="#variable">Variables</a></li><li><a href="#pagestyle">Page Styles</a></li><li><a href="#counter">Counter</a></li><li><a href="#floatstyle">Styles for the float Package</a></li></ul> +<li><a href="#option">Options</a></li><li><a href="#macro">Commands</a></li><li><a href="#environment">Environments</a></li><li><a href="#length">Lengths</a></li><li><a href="#plength">Pseudolengths</a></li><li><a href="#variable">Variables</a></li><li><a href="#pagestyle">Page Styles</a></li><li><a href="#counter">Counter</a></li><li><a href="#floatstyle">Styles for the float Package</a></li></ul> <h2><a name="option">Options</a></h2> <ul> -<li><a name="option.12h"></a><a href="#option.12h">12h</a> --> <a href="scrguien.pdf#datetime.option.12h">220</a></li> -<li><a name="option.24h"></a><a href="#option.24h">24h</a> --> <a href="scrguien.pdf#datetime.option.24h">220</a></li> -<li><a name="option.BCOR"></a><a href="#option.BCOR">BCOR</a> --> <a href="scrguien.pdf#typearea.option.BCOR">29</a></li> -<li><a name="option.DIV"></a><a href="#option.DIV">DIV</a> --> <a href="scrguien.pdf#typearea.option.DIV">30</a></li> -<li><a name="option.abstract"></a><a href="#option.abstract">abstract</a> --> <a href="scrguien.pdf#maincls.option.abstract">60</a></li> -<li><a name="option.addrfield"></a><a href="#option.addrfield">addrfield</a> --> <a href="scrguien.pdf#scrlttr2.option.addrfield">164</a></li> -<li><a name="option.adrFreeIVempty"></a><a href="#option.adrFreeIVempty">adrFreeIVempty</a> --> <a href="scrguien.pdf#scraddr.option.adrFreeIVempty">223</a></li> -<li><a name="option.adrFreeIVshow"></a><a href="#option.adrFreeIVshow">adrFreeIVshow</a> --> <a href="scrguien.pdf#scraddr.option.adrFreeIVshow">223</a></li> -<li><a name="option.adrFreeIVstop"></a><a href="#option.adrFreeIVstop">adrFreeIVstop</a> --> <a href="scrguien.pdf#scraddr.option.adrFreeIVstop">223</a></li> -<li><a name="option.adrFreeIVwarn"></a><a href="#option.adrFreeIVwarn">adrFreeIVwarn</a> --> <a href="scrguien.pdf#scraddr.option.adrFreeIVwarn">223</a></li> -<li><a name="option.appendixprefix"></a><a href="#option.appendixprefix">appendixprefix</a> --> <a href="scrguien.pdf#maincls.option.appendixprefix">80</a></li> -<li><a name="option.automark"></a><a href="#option.automark">automark</a> --> <a href="scrguien.pdf#scrpage.option.automark">207</a></li> -<li><a name="option.autooneside"></a><a href="#option.autooneside">autooneside</a> --> <a href="scrguien.pdf#scrpage.option.autooneside">208</a></li> -<li><a name="option.backaddress"></a><a href="#option.backaddress">backaddress</a> --> <a href="scrguien.pdf#scrlttr2.option.backaddress">164</a></li> -<li><a name="option.bibliography"></a><a href="#option.bibliography">bibliography</a> --> <a href="scrguien.pdf#maincls.option.bibliography">126</a></li> -<li><a name="option.captions"></a><a href="#option.captions">captions</a> --> <a href="scrguien.pdf#maincls.option.captions">108</a></li> -<li><a name="option.chapteratlists"></a><a href="#option.chapteratlists">chapteratlists</a> --> <a href="scrguien.pdf#maincls.option.chapteratlists">84</a></li> -<li><a name="option.chapterprefix"></a><a href="#option.chapterprefix">chapterprefix</a> --> <a href="scrguien.pdf#maincls.option.chapterprefix">80</a></li> -<li><a name="option.cleardoublepage"></a><a href="#option.cleardoublepage">cleardoublepage</a> --> <a href="scrguien.pdf#maincls.option.cleardoublepage">73</a></li> -<li><a name="option.clines"></a><a href="#option.clines">clines</a> --> <a href="scrguien.pdf#scrpage.option.clines">207</a></li> -<li><a name="option.draft"></a><a href="#option.draft">draft</a> --> <a href="scrguien.pdf#maincls.option.draft">48</a></li> -<li><a name="option.enlargefirstpage"></a><a href="#option.enlargefirstpage">enlargefirstpage</a> --> <a href="scrguien.pdf#scrlttr2.option.enlargefirstpage">154</a></li> -<li><a name="option.extendedfeature"></a><a href="#option.extendedfeature">extendedfeature</a> --> <a href="scrguien.pdf#scrextend.option.extendedfeature">226</a></li> -<li><a name="option.firstfoot"></a><a href="#option.firstfoot">firstfoot</a> --> <a href="scrguien.pdf#scrlttr2.option.firstfoot">176</a></li> -<li><a name="option.firsthead"></a><a href="#option.firsthead">firsthead</a> --> <a href="scrguien.pdf#scrlttr2.option.firsthead">154</a></li> -<li><a name="option.fleqn"></a><a href="#option.fleqn">fleqn</a> --> <a href="scrguien.pdf#maincls.option.fleqn">108</a></li> -<li><a name="option.foldmarks"></a><a href="#option.foldmarks">foldmarks</a> --> <a href="scrguien.pdf#scrlttr2.option.foldmarks">150</a></li> -<li><a name="option.fontsize"></a><a href="#option.fontsize">fontsize</a> --> <a href="scrguien.pdf#scrlttr2.option.fontsize">146</a>, <a href="scrguien.pdf#maincls.option.fontsize">49</a></li> -<li><a name="option.footbotline"></a><a href="#option.footbotline">footbotline</a> --> <a href="scrguien.pdf#scrpage.option.footbotline">206</a></li> -<li><a name="option.footexclude"></a><a href="#option.footexclude">footexclude</a> --> <a href="scrguien.pdf#scrpage.option.footexclude">206</a></li> -<li><a name="option.footinclude"></a><a href="#option.footinclude">footinclude</a> --> <a href="scrguien.pdf#scrpage.option.footinclude">206</a>, <a href="scrguien.pdf#typearea.option.footinclude">37</a></li> -<li><a name="option.footnotes"></a><a href="#option.footnotes">footnotes</a> --> <a href="scrguien.pdf#maincls.option.footnotes">75</a></li> -<li><a name="option.footsepline"></a><a href="#option.footsepline">footsepline</a> --> <a href="scrguien.pdf#scrlttr2.option.footsepline">179</a>, <a href="scrguien.pdf#scrpage.option.footsepline">206</a>, <a href="scrguien.pdf#maincls.option.footsepline">68</a></li> -<li><a name="option.fromalign"></a><a href="#option.fromalign">fromalign</a> --> <a href="scrguien.pdf#scrlttr2.option.fromalign">154</a></li> -<li><a name="option.fromemail"></a><a href="#option.fromemail">fromemail</a> --> <a href="scrguien.pdf#scrlttr2.option.fromemail">159</a></li> -<li><a name="option.fromfax"></a><a href="#option.fromfax">fromfax</a> --> <a href="scrguien.pdf#scrlttr2.option.fromfax">159</a></li> -<li><a name="option.fromlogo"></a><a href="#option.fromlogo">fromlogo</a> --> <a href="scrguien.pdf#scrlttr2.option.fromlogo">162</a></li> -<li><a name="option.fromphone"></a><a href="#option.fromphone">fromphone</a> --> <a href="scrguien.pdf#scrlttr2.option.fromphone">159</a></li> -<li><a name="option.fromrule"></a><a href="#option.fromrule">fromrule</a> --> <a href="scrguien.pdf#scrlttr2.option.fromrule">154</a></li> -<li><a name="option.fromurl"></a><a href="#option.fromurl">fromurl</a> --> <a href="scrguien.pdf#scrlttr2.option.fromurl">159</a></li> -<li><a name="option.headexclude"></a><a href="#option.headexclude">headexclude</a> --> <a href="scrguien.pdf#scrpage.option.headexclude">206</a></li> -<li><a name="option.headheight"></a><a href="#option.headheight">headheight</a> --> <a href="scrguien.pdf#typearea.option.headheight">39</a></li> -<li><a name="option.headinclude"></a><a href="#option.headinclude">headinclude</a> --> <a href="scrguien.pdf#scrpage.option.headinclude">206</a>, <a href="scrguien.pdf#typearea.option.headinclude">37</a></li> -<li><a name="option.headings"></a><a href="#option.headings">headings</a> --> <a href="scrguien.pdf#maincls.option.headings">81</a></li> -<li><a name="option.headlines"></a><a href="#option.headlines">headlines</a> --> <a href="scrguien.pdf#typearea.option.headlines">39</a></li> -<li><a name="option.headsepline"></a><a href="#option.headsepline">headsepline</a> --> <a href="scrguien.pdf#scrlttr2.option.headsepline">179</a>, <a href="scrguien.pdf#scrpage.option.headsepline">206</a>, <a href="scrguien.pdf#maincls.option.headsepline">68</a></li> -<li><a name="option.headtopline"></a><a href="#option.headtopline">headtopline</a> --> <a href="scrguien.pdf#scrpage.option.headtopline">206</a></li> -<li><a name="option.ilines"></a><a href="#option.ilines">ilines</a> --> <a href="scrguien.pdf#scrpage.option.ilines">207</a></li> -<li><a name="option.index"></a><a href="#option.index">index</a> --> <a href="scrguien.pdf#maincls.option.index">128</a></li> -<li><a name="option.internalonly"></a><a href="#option.internalonly">internalonly</a> --> <a href="scrguien.pdf#scrbase.option.internalonly">231</a></li> -<li><a name="option.komastyle"></a><a href="#option.komastyle">komastyle</a> --> <a href="scrguien.pdf#scrpage.option.komastyle">208</a></li> -<li><a name="option.leqno"></a><a href="#option.leqno">leqno</a> --> <a href="scrguien.pdf#maincls.option.leqno">107</a></li> -<li><a name="option.listof"></a><a href="#option.listof">listof</a> --> <a href="scrguien.pdf#maincls.option.listof">121</a></li> -<li><a name="option.locfield"></a><a href="#option.locfield">locfield</a> --> <a href="scrguien.pdf#scrlttr2.option.locfield">168</a></li> -<li><a name="option.manualmark"></a><a href="#option.manualmark">manualmark</a> --> <a href="scrguien.pdf#scrpage.option.manualmark">207</a></li> -<li><a name="option.markuppercase"></a><a href="#option.markuppercase">markuppercase</a> --> <a href="scrguien.pdf#scrpage.option.markuppercase">208</a></li> -<li><a name="option.markusedcase"></a><a href="#option.markusedcase">markusedcase</a> --> <a href="scrguien.pdf#scrpage.option.markusedcase">208</a></li> -<li><a name="option.mpinclude"></a><a href="#option.mpinclude">mpinclude</a> --> <a href="scrguien.pdf#typearea.option.mpinclude">39</a></li> -<li><a name="option.nouppercase"></a><a href="#option.nouppercase">nouppercase</a> --> <a href="scrguien.pdf#scrpage.option.nouppercase">209</a></li> -<li><a name="option.numbers"></a><a href="#option.numbers">numbers</a> --> <a href="scrguien.pdf#maincls.option.numbers">83</a></li> -<li><a name="option.numericaldate"></a><a href="#option.numericaldate">numericaldate</a> --> <a href="scrguien.pdf#scrlttr2.option.numericaldate">170</a></li> -<li><a name="option.olines"></a><a href="#option.olines">olines</a> --> <a href="scrguien.pdf#scrpage.option.olines">207</a></li> -<li><a name="option.open"></a><a href="#option.open">open</a> --> <a href="scrguien.pdf#maincls.option.open">80</a></li> -<li><a name="option.origlongtable"></a><a href="#option.origlongtable">origlongtable</a> --> <a href="scrguien.pdf#maincls.option.origlongtable">121</a></li> -<li><a name="option.pagenumber"></a><a href="#option.pagenumber">pagenumber</a> --> <a href="scrguien.pdf#scrlttr2.option.pagenumber">179</a></li> -<li><a name="option.pagesize"></a><a href="#option.pagesize">pagesize</a> --> <a href="scrguien.pdf#typearea.option.pagesize">43</a></li> -<li><a name="option.paper"></a><a href="#option.paper">paper</a> --> <a href="scrguien.pdf#typearea.option.paper">42</a></li> -<li><a name="option.parskip"></a><a href="#option.parskip">parskip</a> --> <a href="scrguien.pdf#maincls.option.parskip">65</a></li> -<li><a name="option.plainfootbotline"></a><a href="#option.plainfootbotline">plainfootbotline</a> --> <a href="scrguien.pdf#scrpage.option.plainfootbotline">206</a></li> -<li><a name="option.plainfootsepline"></a><a href="#option.plainfootsepline">plainfootsepline</a> --> <a href="scrguien.pdf#scrpage.option.plainfootsepline">206</a></li> -<li><a name="option.plainheadsepline"></a><a href="#option.plainheadsepline">plainheadsepline</a> --> <a href="scrguien.pdf#scrpage.option.plainheadsepline">206</a></li> -<li><a name="option.plainheadtopline"></a><a href="#option.plainheadtopline">plainheadtopline</a> --> <a href="scrguien.pdf#scrpage.option.plainheadtopline">206</a></li> -<li><a name="option.priority"></a><a href="#option.priority">priority</a> --> <a href="scrguien.pdf#scrlttr2.option.priority">164</a></li> -<li><a name="option.refline"></a><a href="#option.refline">refline</a> --> <a href="scrguien.pdf#scrlttr2.option.refline">171</a></li> -<li><a name="option.standardstyle"></a><a href="#option.standardstyle">standardstyle</a> --> <a href="scrguien.pdf#scrpage.option.standardstyle">208</a></li> -<li><a name="option.subject"></a><a href="#option.subject">subject</a> --> <a href="scrguien.pdf#scrlttr2.option.subject">174</a></li> -<li><a name="option.titlepage"></a><a href="#option.titlepage">titlepage</a> --> <a href="scrguien.pdf#maincls.option.titlepage">55</a></li> -<li><a name="option.toc"></a><a href="#option.toc">toc</a> --> <a href="scrguien.pdf#maincls.option.toc">61</a>, <a href="scrguien.pdf#maincls.option.toc">61</a>, <a href="scrguien.pdf#maincls.option.toc">61</a>, <a href="scrguien.pdf#maincls.option.toc">61</a></li> -<li><a name="option.twocolumn"></a><a href="#option.twocolumn">twocolumn</a> --> <a href="scrguien.pdf#typearea.option.twocolumn">37</a></li> -<li><a name="option.twoside"></a><a href="#option.twoside">twoside</a> --> <a href="scrguien.pdf#typearea.option.twoside">36</a></li> -<li><a name="option.version"></a><a href="#option.version">version</a> --> <a href="scrguien.pdf#typearea.option.version">28</a></li> -<li><a name="option.visualize"></a><a href="#option.visualize">visualize</a> --> <a href="scrguien.pdf#scrlttr2-experts.option.visualize">308</a></li> +<li><a name="option.12h"></a><a href="#option.12h">12h</a> --> <a href="scrguien.pdf#datetime.option.12h">247</a></li> +<li><a name="option.24h"></a><a href="#option.24h">24h</a> --> <a href="scrguien.pdf#datetime.option.24h">247</a></li> +<li><a name="option.BCOR"></a><a href="#option.BCOR">BCOR</a> --> <a href="scrguien.pdf#typearea.option.BCOR">30</a></li> +<li><a name="option.DIV"></a><a href="#option.DIV">DIV</a> --> <a href="scrguien.pdf#typearea.option.DIV">31</a></li> +<li><a name="option.abstract"></a><a href="#option.abstract">abstract</a> --> <a href="scrguien.pdf#maincls.option.abstract">65</a></li> +<li><a name="option.addrfield"></a><a href="#option.addrfield">addrfield</a> --> <a href="scrguien.pdf#scrlttr2.option.addrfield">170</a></li> +<li><a name="option.adrFreeIVempty"></a><a href="#option.adrFreeIVempty">adrFreeIVempty</a> --> <a href="scrguien.pdf#scraddr.option.adrFreeIVempty">250</a></li> +<li><a name="option.adrFreeIVshow"></a><a href="#option.adrFreeIVshow">adrFreeIVshow</a> --> <a href="scrguien.pdf#scraddr.option.adrFreeIVshow">250</a></li> +<li><a name="option.adrFreeIVstop"></a><a href="#option.adrFreeIVstop">adrFreeIVstop</a> --> <a href="scrguien.pdf#scraddr.option.adrFreeIVstop">250</a></li> +<li><a name="option.adrFreeIVwarn"></a><a href="#option.adrFreeIVwarn">adrFreeIVwarn</a> --> <a href="scrguien.pdf#scraddr.option.adrFreeIVwarn">250</a></li> +<li><a name="option.appendixprefix"></a><a href="#option.appendixprefix">appendixprefix</a> --> <a href="scrguien.pdf#maincls.option.appendixprefix">85</a></li> +<li><a name="option.automark"></a><a href="#option.automark">automark</a> --> <a href="scrguien.pdf#scrpage.option.automark">213</a>, <a href="scrguien.pdf#scrlayer-scrpage.option.automark">233</a></li> +<li><a name="option.autooneside"></a><a href="#option.autooneside">autooneside</a> --> <a href="scrguien.pdf#scrpage.option.autooneside">214</a>, <a href="scrguien.pdf#scrlayer-scrpage.option.autooneside">233</a></li> +<li><a name="option.autoremoveinterfaces"></a><a href="#option.autoremoveinterfaces">autoremoveinterfaces</a> --> <a href="scrguien.pdf#scrlayer.option.autoremoveinterfaces">332</a></li> +<li><a name="option.backaddress"></a><a href="#option.backaddress">backaddress</a> --> <a href="scrguien.pdf#scrlttr2.option.backaddress">170</a></li> +<li><a name="option.bibliography"></a><a href="#option.bibliography">bibliography</a> --> <a href="scrguien.pdf#maincls.option.bibliography">131</a></li> +<li><a name="option.captions"></a><a href="#option.captions">captions</a> --> <a href="scrguien.pdf#maincls.option.captions">113</a></li> +<li><a name="option.chapteratlists"></a><a href="#option.chapteratlists">chapteratlists</a> --> <a href="scrguien.pdf#maincls.option.chapteratlists">88</a></li> +<li><a name="option.chapterprefix"></a><a href="#option.chapterprefix">chapterprefix</a> --> <a href="scrguien.pdf#maincls.option.chapterprefix">85</a></li> +<li><a name="option.cleardoublepage"></a><a href="#option.cleardoublepage">cleardoublepage</a> --> <a href="scrguien.pdf#maincls.option.cleardoublepage">77</a></li> +<li><a name="option.clines"></a><a href="#option.clines">clines</a> --> <a href="scrguien.pdf#scrpage.option.clines">213</a>, <a href="scrguien.pdf#scrlayer-scrpage.option.clines">242</a></li> +<li><a name="option.draft"></a><a href="#option.draft">draft</a> --> <a href="scrguien.pdf#scrlayer.option.draft">329</a>, <a href="scrguien.pdf#maincls.option.draft">51</a></li> +<li><a name="option.enlargefirstpage"></a><a href="#option.enlargefirstpage">enlargefirstpage</a> --> <a href="scrguien.pdf#scrlttr2.option.enlargefirstpage">158</a></li> +<li><a name="option.extendedfeature"></a><a href="#option.extendedfeature">extendedfeature</a> --> <a href="scrguien.pdf#scrextend.option.extendedfeature">253</a></li> +<li><a name="option.firstfoot"></a><a href="#option.firstfoot">firstfoot</a> --> <a href="scrguien.pdf#scrlttr2.option.firstfoot">182</a></li> +<li><a name="option.firsthead"></a><a href="#option.firsthead">firsthead</a> --> <a href="scrguien.pdf#scrlttr2.option.firsthead">158</a></li> +<li><a name="option.fleqn"></a><a href="#option.fleqn">fleqn</a> --> <a href="scrguien.pdf#maincls.option.fleqn">113</a></li> +<li><a name="option.foldmarks"></a><a href="#option.foldmarks">foldmarks</a> --> <a href="scrguien.pdf#scrlttr2.option.foldmarks">157</a></li> +<li><a name="option.fontsize"></a><a href="#option.fontsize">fontsize</a> --> <a href="scrguien.pdf#scrlttr2.option.fontsize">151</a>, <a href="scrguien.pdf#maincls.option.fontsize">52</a></li> +<li><a name="option.footbotline"></a><a href="#option.footbotline">footbotline</a> --> <a href="scrguien.pdf#scrpage.option.footbotline">212</a>, <a href="scrguien.pdf#scrlayer-scrpage.option.footbotline">240</a></li> +<li><a name="option.footexclude"></a><a href="#option.footexclude">footexclude</a> --> <a href="scrguien.pdf#scrpage.option.footexclude">212</a></li> +<li><a name="option.footheight"></a><a href="#option.footheight">footheight</a> --> <a href="scrguien.pdf#typearea.option.footheight">42</a></li> +<li><a name="option.footinclude"></a><a href="#option.footinclude">footinclude</a> --> <a href="scrguien.pdf#scrpage.option.footinclude">212</a>, <a href="scrguien.pdf#typearea.option.footinclude">39</a></li> +<li><a name="option.footlines"></a><a href="#option.footlines">footlines</a> --> <a href="scrguien.pdf#typearea.option.footlines">42</a></li> +<li><a name="option.footnotes"></a><a href="#option.footnotes">footnotes</a> --> <a href="scrguien.pdf#maincls.option.footnotes">79</a></li> +<li><a name="option.footsepline"></a><a href="#option.footsepline">footsepline</a> --> <a href="scrguien.pdf#scrlttr2.option.footsepline">185</a>, <a href="scrguien.pdf#scrpage.option.footsepline">212</a>, <a href="scrguien.pdf#scrlayer-scrpage.option.footsepline">240</a>, <a href="scrguien.pdf#maincls.option.footsepline">72</a></li> +<li><a name="option.footwidth"></a><a href="#option.footwidth">footwidth</a> --> <a href="scrguien.pdf#scrlayer-scrpage.option.footwidth">240</a></li> +<li><a name="option.forceoverwrite"></a><a href="#option.forceoverwrite">forceoverwrite</a> --> <a href="scrguien.pdf#scrlayer.option.forceoverwrite">332</a></li> +<li><a name="option.fromalign"></a><a href="#option.fromalign">fromalign</a> --> <a href="scrguien.pdf#scrlttr2.option.fromalign">159</a></li> +<li><a name="option.fromemail"></a><a href="#option.fromemail">fromemail</a> --> <a href="scrguien.pdf#scrlttr2.option.fromemail">164</a></li> +<li><a name="option.fromfax"></a><a href="#option.fromfax">fromfax</a> --> <a href="scrguien.pdf#scrlttr2.option.fromfax">164</a></li> +<li><a name="option.fromlogo"></a><a href="#option.fromlogo">fromlogo</a> --> <a href="scrguien.pdf#scrlttr2.option.fromlogo">168</a></li> +<li><a name="option.frommobilephone"></a><a href="#option.frommobilephone">frommobilephone</a> --> <a href="scrguien.pdf#scrlttr2.option.frommobilephone">164</a></li> +<li><a name="option.fromphone"></a><a href="#option.fromphone">fromphone</a> --> <a href="scrguien.pdf#scrlttr2.option.fromphone">164</a></li> +<li><a name="option.fromrule"></a><a href="#option.fromrule">fromrule</a> --> <a href="scrguien.pdf#scrlttr2.option.fromrule">159</a></li> +<li><a name="option.fromurl"></a><a href="#option.fromurl">fromurl</a> --> <a href="scrguien.pdf#scrlttr2.option.fromurl">164</a></li> +<li><a name="option.headexclude"></a><a href="#option.headexclude">headexclude</a> --> <a href="scrguien.pdf#scrpage.option.headexclude">212</a></li> +<li><a name="option.headheight"></a><a href="#option.headheight">headheight</a> --> <a href="scrguien.pdf#typearea.option.headheight">41</a></li> +<li><a name="option.headinclude"></a><a href="#option.headinclude">headinclude</a> --> <a href="scrguien.pdf#scrpage.option.headinclude">212</a>, <a href="scrguien.pdf#typearea.option.headinclude">39</a></li> +<li><a name="option.headings"></a><a href="#option.headings">headings</a> --> <a href="scrguien.pdf#maincls.option.headings">86</a></li> +<li><a name="option.headlines"></a><a href="#option.headlines">headlines</a> --> <a href="scrguien.pdf#typearea.option.headlines">41</a></li> +<li><a name="option.headsepline"></a><a href="#option.headsepline">headsepline</a> --> <a href="scrguien.pdf#scrlttr2.option.headsepline">185</a>, <a href="scrguien.pdf#scrpage.option.headsepline">212</a>, <a href="scrguien.pdf#scrlayer-scrpage.option.headsepline">240</a>, <a href="scrguien.pdf#maincls.option.headsepline">72</a></li> +<li><a name="option.headtopline"></a><a href="#option.headtopline">headtopline</a> --> <a href="scrguien.pdf#scrpage.option.headtopline">212</a>, <a href="scrguien.pdf#scrlayer-scrpage.option.headtopline">240</a></li> +<li><a name="option.headwidth"></a><a href="#option.headwidth">headwidth</a> --> <a href="scrguien.pdf#scrlayer-scrpage.option.headwidth">240</a></li> +<li><a name="option.hmode"></a><a href="#option.hmode">hmode</a> --> <a href="scrguien.pdf#scrlayer-scrpage-experts.option.hmode">340</a></li> +<li><a name="option.ilines"></a><a href="#option.ilines">ilines</a> --> <a href="scrguien.pdf#scrpage.option.ilines">213</a>, <a href="scrguien.pdf#scrlayer-scrpage.option.ilines">242</a></li> +<li><a name="option.index"></a><a href="#option.index">index</a> --> <a href="scrguien.pdf#maincls.option.index">133</a></li> +<li><a name="option.internalonly"></a><a href="#option.internalonly">internalonly</a> --> <a href="scrguien.pdf#scrbase.option.internalonly">257</a></li> +<li><a name="option.komastyle"></a><a href="#option.komastyle">komastyle</a> --> <a href="scrguien.pdf#scrpage.option.komastyle">214</a>, <a href="scrguien.pdf#scrlayer-scrpage.option.komastyle">232</a></li> +<li><a name="option.leqno"></a><a href="#option.leqno">leqno</a> --> <a href="scrguien.pdf#maincls.option.leqno">112</a></li> +<li><a name="option.listof"></a><a href="#option.listof">listof</a> --> <a href="scrguien.pdf#maincls.option.listof">126</a></li> +<li><a name="option.locfield"></a><a href="#option.locfield">locfield</a> --> <a href="scrguien.pdf#scrlttr2.option.locfield">174</a></li> +<li><a name="option.manualmark"></a><a href="#option.manualmark">manualmark</a> --> <a href="scrguien.pdf#scrpage.option.manualmark">213</a>, <a href="scrguien.pdf#scrlayer-scrpage.option.manualmark">233</a></li> +<li><a name="option.markcase"></a><a href="#option.markcase">markcase</a> --> <a href="scrguien.pdf#scrlayer-scrpage.option.markcase">235</a></li> +<li><a name="option.markuppercase"></a><a href="#option.markuppercase">markuppercase</a> --> <a href="scrguien.pdf#scrpage.option.markuppercase">214</a></li> +<li><a name="option.markusedcase"></a><a href="#option.markusedcase">markusedcase</a> --> <a href="scrguien.pdf#scrpage.option.markusedcase">214</a></li> +<li><a name="option.mpinclude"></a><a href="#option.mpinclude">mpinclude</a> --> <a href="scrguien.pdf#typearea.option.mpinclude">40</a></li> +<li><a name="option.nouppercase"></a><a href="#option.nouppercase">nouppercase</a> --> <a href="scrguien.pdf#scrpage.option.nouppercase">215</a></li> +<li><a name="option.numbers"></a><a href="#option.numbers">numbers</a> --> <a href="scrguien.pdf#maincls.option.numbers">88</a></li> +<li><a name="option.numericaldate"></a><a href="#option.numericaldate">numericaldate</a> --> <a href="scrguien.pdf#scrlttr2.option.numericaldate">176</a></li> +<li><a name="option.olines"></a><a href="#option.olines">olines</a> --> <a href="scrguien.pdf#scrpage.option.olines">213</a>, <a href="scrguien.pdf#scrlayer-scrpage.option.olines">242</a></li> +<li><a name="option.onpsbackground"></a><a href="#option.onpsbackground">onpsbackground</a> --> <a href="scrguien.pdf#scrlayer.option.onpsbackground">326</a></li> +<li><a name="option.onpsevenpage"></a><a href="#option.onpsevenpage">onpsevenpage</a> --> <a href="scrguien.pdf#scrlayer.option.onpsevenpage">326</a></li> +<li><a name="option.onpsfloatpage"></a><a href="#option.onpsfloatpage">onpsfloatpage</a> --> <a href="scrguien.pdf#scrlayer.option.onpsfloatpage">326</a></li> +<li><a name="option.onpsforeground"></a><a href="#option.onpsforeground">onpsforeground</a> --> <a href="scrguien.pdf#scrlayer.option.onpsforeground">326</a></li> +<li><a name="option.onpsinit"></a><a href="#option.onpsinit">onpsinit</a> --> <a href="scrguien.pdf#scrlayer.option.onpsinit">326</a></li> +<li><a name="option.onpsnonfloatpage"></a><a href="#option.onpsnonfloatpage">onpsnonfloatpage</a> --> <a href="scrguien.pdf#scrlayer.option.onpsnonfloatpage">326</a></li> +<li><a name="option.onpsoddpage"></a><a href="#option.onpsoddpage">onpsoddpage</a> --> <a href="scrguien.pdf#scrlayer.option.onpsoddpage">326</a></li> +<li><a name="option.onpsoneside"></a><a href="#option.onpsoneside">onpsoneside</a> --> <a href="scrguien.pdf#scrlayer.option.onpsoneside">326</a></li> +<li><a name="option.onpsselect"></a><a href="#option.onpsselect">onpsselect</a> --> <a href="scrguien.pdf#scrlayer.option.onpsselect">326</a></li> +<li><a name="option.onpstwoside"></a><a href="#option.onpstwoside">onpstwoside</a> --> <a href="scrguien.pdf#scrlayer.option.onpstwoside">326</a></li> +<li><a name="option.open"></a><a href="#option.open">open</a> --> <a href="scrguien.pdf#maincls.option.open">84</a></li> +<li><a name="option.origlongtable"></a><a href="#option.origlongtable">origlongtable</a> --> <a href="scrguien.pdf#maincls.option.origlongtable">126</a></li> +<li><a name="option.pagenumber"></a><a href="#option.pagenumber">pagenumber</a> --> <a href="scrguien.pdf#scrlttr2.option.pagenumber">186</a></li> +<li><a name="option.pagesize"></a><a href="#option.pagesize">pagesize</a> --> <a href="scrguien.pdf#typearea.option.pagesize">45</a></li> +<li><a name="option.paper"></a><a href="#option.paper">paper</a> --> <a href="scrguien.pdf#typearea.option.paper">44</a></li> +<li><a name="option.parskip"></a><a href="#option.parskip">parskip</a> --> <a href="scrguien.pdf#maincls.option.parskip">69</a></li> +<li><a name="option.plainfootbotline"></a><a href="#option.plainfootbotline">plainfootbotline</a> --> <a href="scrguien.pdf#scrpage.option.plainfootbotline">212</a>, <a href="scrguien.pdf#scrlayer-scrpage.option.plainfootbotline">242</a></li> +<li><a name="option.plainfootsepline"></a><a href="#option.plainfootsepline">plainfootsepline</a> --> <a href="scrguien.pdf#scrpage.option.plainfootsepline">212</a>, <a href="scrguien.pdf#scrlayer-scrpage.option.plainfootsepline">242</a></li> +<li><a name="option.plainheadsepline"></a><a href="#option.plainheadsepline">plainheadsepline</a> --> <a href="scrguien.pdf#scrpage.option.plainheadsepline">212</a>, <a href="scrguien.pdf#scrlayer-scrpage.option.plainheadsepline">242</a></li> +<li><a name="option.plainheadtopline"></a><a href="#option.plainheadtopline">plainheadtopline</a> --> <a href="scrguien.pdf#scrpage.option.plainheadtopline">212</a>, <a href="scrguien.pdf#scrlayer-scrpage.option.plainheadtopline">242</a></li> +<li><a name="option.priority"></a><a href="#option.priority">priority</a> --> <a href="scrguien.pdf#scrlttr2.option.priority">170</a></li> +<li><a name="option.refline"></a><a href="#option.refline">refline</a> --> <a href="scrguien.pdf#scrlttr2.option.refline">177</a></li> +<li><a name="option.standardstyle"></a><a href="#option.standardstyle">standardstyle</a> --> <a href="scrguien.pdf#scrpage.option.standardstyle">214</a>, <a href="scrguien.pdf#scrlayer-scrpage.option.standardstyle">232</a></li> +<li><a name="option.subject"></a><a href="#option.subject">subject</a> --> <a href="scrguien.pdf#scrlttr2.option.subject">180</a></li> +<li><a name="option.symbolicnames"></a><a href="#option.symbolicnames">symbolicnames</a> --> <a href="scrguien.pdf#scrlttr2.option.symbolicnames">164</a></li> +<li><a name="option.titlepage"></a><a href="#option.titlepage">titlepage</a> --> <a href="scrguien.pdf#maincls.option.titlepage">59</a></li> +<li><a name="option.toc"></a><a href="#option.toc">toc</a> --> <a href="scrguien.pdf#maincls.option.toc">66</a>, <a href="scrguien.pdf#maincls.option.toc">66</a>, <a href="scrguien.pdf#maincls.option.toc">66</a>, <a href="scrguien.pdf#maincls.option.toc">66</a></li> +<li><a name="option.twocolumn"></a><a href="#option.twocolumn">twocolumn</a> --> <a href="scrguien.pdf#typearea.option.twocolumn">38</a></li> +<li><a name="option.twoside"></a><a href="#option.twoside">twoside</a> --> <a href="scrguien.pdf#typearea.option.twoside">37</a></li> +<li><a name="option.version"></a><a href="#option.version">version</a> --> <a href="scrguien.pdf#typearea.option.version">29</a></li> +<li><a name="option.visualize"></a><a href="#option.visualize">visualize</a> --> <a href="scrguien.pdf#scrlttr2-experts.option.visualize">374</a></li> </ul> <h2><a name="macro">Commands</a></h2> <ul> -<li><a name="cmd.@addtoplength"></a><a href="#cmd.@addtoplength">\@addtoplength</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.@addtoplength">295</a></li> -<li><a name="cmd.@fontsizefilebase"></a><a href="#cmd.@fontsizefilebase">\@fontsizefilebase</a> --> <a href="scrguien.pdf#maincls-experts.cmd.@fontsizefilebase">284</a></li> -<li><a name="cmd.@newplength"></a><a href="#cmd.@newplength">\@newplength</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.@newplength">295</a></li> -<li><a name="cmd.@openbib@code"></a><a href="#cmd.@openbib@code">\@openbib@code</a> --> <a href="scrguien.pdf#maincls-experts.cmd.@openbib@code">288</a></li> -<li><a name="cmd.@setplength"></a><a href="#cmd.@setplength">\@setplength</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.@setplength">295</a></li> -<li><a name="cmd.Address"></a><a href="#cmd.Address">\Address</a> --> <a href="scrguien.pdf#scraddr.cmd.Address">221</a></li> -<li><a name="cmd.AfterAtEndOfClass"></a><a href="#cmd.AfterAtEndOfClass">\AfterAtEndOfClass</a> --> <a href="scrguien.pdf#scrlfile.cmd.AfterAtEndOfClass">250</a></li> -<li><a name="cmd.AfterAtEndOfPackage"></a><a href="#cmd.AfterAtEndOfPackage">\AfterAtEndOfPackage</a> --> <a href="scrguien.pdf#scrlfile.cmd.AfterAtEndOfPackage">250</a></li> -<li><a name="cmd.AfterBibliographyPreamble"></a><a href="#cmd.AfterBibliographyPreamble">\AfterBibliographyPreamble</a> --> <a href="scrguien.pdf#maincls.cmd.AfterBibliographyPreamble">128</a></li> -<li><a name="cmd.AfterCalculatingTypearea"></a><a href="#cmd.AfterCalculatingTypearea">\AfterCalculatingTypearea</a> --> <a href="scrguien.pdf#typearea-experts.cmd.AfterCalculatingTypearea">281</a></li> -<li><a name="cmd.AfterClass!"></a><a href="#cmd.AfterClass!">\AfterClass!</a> --> <a href="scrguien.pdf#scrlfile.cmd.AfterClass!">250</a></li> -<li><a name="cmd.AfterClass*"></a><a href="#cmd.AfterClass*">\AfterClass*</a> --> <a href="scrguien.pdf#scrlfile.cmd.AfterClass*">250</a></li> -<li><a name="cmd.AfterClass+"></a><a href="#cmd.AfterClass+">\AfterClass+</a> --> <a href="scrguien.pdf#scrlfile.cmd.AfterClass+">250</a></li> -<li><a name="cmd.AfterClass"></a><a href="#cmd.AfterClass">\AfterClass</a> --> <a href="scrguien.pdf#scrlfile.cmd.AfterClass">250</a></li> -<li><a name="cmd.AfterFile"></a><a href="#cmd.AfterFile">\AfterFile</a> --> <a href="scrguien.pdf#scrlfile.cmd.AfterFile">249</a></li> -<li><a name="cmd.AfterPackage!"></a><a href="#cmd.AfterPackage!">\AfterPackage!</a> --> <a href="scrguien.pdf#scrlfile.cmd.AfterPackage!">250</a></li> -<li><a name="cmd.AfterPackage*"></a><a href="#cmd.AfterPackage*">\AfterPackage*</a> --> <a href="scrguien.pdf#scrlfile.cmd.AfterPackage*">250</a></li> -<li><a name="cmd.AfterPackage+"></a><a href="#cmd.AfterPackage+">\AfterPackage+</a> --> <a href="scrguien.pdf#scrlfile.cmd.AfterPackage+">250</a></li> -<li><a name="cmd.AfterPackage"></a><a href="#cmd.AfterPackage">\AfterPackage</a> --> <a href="scrguien.pdf#scrlfile.cmd.AfterPackage">250</a></li> -<li><a name="cmd.AfterReadingMainAux"></a><a href="#cmd.AfterReadingMainAux">\AfterReadingMainAux</a> --> <a href="scrguien.pdf#scrlfile.cmd.AfterReadingMainAux">252</a></li> -<li><a name="cmd.AfterStartingTOC"></a><a href="#cmd.AfterStartingTOC">\AfterStartingTOC</a> --> <a href="scrguien.pdf#tocbasic.cmd.AfterStartingTOC">267</a></li> -<li><a name="cmd.AfterTOCHead"></a><a href="#cmd.AfterTOCHead">\AfterTOCHead</a> --> <a href="scrguien.pdf#tocbasic.cmd.AfterTOCHead">267</a></li> -<li><a name="cmd.AtAddToTocList"></a><a href="#cmd.AtAddToTocList">\AtAddToTocList</a> --> <a href="scrguien.pdf#tocbasic.cmd.AtAddToTocList">263</a></li> -<li><a name="cmd.AtBeginLetter"></a><a href="#cmd.AtBeginLetter">\AtBeginLetter</a> --> <a href="scrguien.pdf#scrlttr2.cmd.AtBeginLetter">139</a></li> -<li><a name="cmd.AtEndBibliography"></a><a href="#cmd.AtEndBibliography">\AtEndBibliography</a> --> <a href="scrguien.pdf#maincls.cmd.AtEndBibliography">128</a></li> -<li><a name="cmd.AtEndLetter"></a><a href="#cmd.AtEndLetter">\AtEndLetter</a> --> <a href="scrguien.pdf#scrlttr2.cmd.AtEndLetter">139</a></li> -<li><a name="cmd.BeforeClass"></a><a href="#cmd.BeforeClass">\BeforeClass</a> --> <a href="scrguien.pdf#scrlfile.cmd.BeforeClass">249</a></li> -<li><a name="cmd.BeforeClosingMainAux"></a><a href="#cmd.BeforeClosingMainAux">\BeforeClosingMainAux</a> --> <a href="scrguien.pdf#scrlfile.cmd.BeforeClosingMainAux">252</a></li> -<li><a name="cmd.BeforeFile"></a><a href="#cmd.BeforeFile">\BeforeFile</a> --> <a href="scrguien.pdf#scrlfile.cmd.BeforeFile">249</a></li> -<li><a name="cmd.BeforePackage"></a><a href="#cmd.BeforePackage">\BeforePackage</a> --> <a href="scrguien.pdf#scrlfile.cmd.BeforePackage">249</a></li> -<li><a name="cmd.BeforeStartingTOC"></a><a href="#cmd.BeforeStartingTOC">\BeforeStartingTOC</a> --> <a href="scrguien.pdf#tocbasic.cmd.BeforeStartingTOC">267</a></li> -<li><a name="cmd.BeforeTOCHead"></a><a href="#cmd.BeforeTOCHead">\BeforeTOCHead</a> --> <a href="scrguien.pdf#tocbasic.cmd.BeforeTOCHead">267</a></li> -<li><a name="cmd.BreakBibliography"></a><a href="#cmd.BreakBibliography">\BreakBibliography</a> --> <a href="scrguien.pdf#maincls.cmd.BreakBibliography">127</a></li> -<li><a name="cmd.ClassName"></a><a href="#cmd.ClassName">\ClassName</a> --> <a href="scrguien.pdf#maincls-experts.cmd.ClassName">282</a></li> -<li><a name="cmd.Comment"></a><a href="#cmd.Comment">\Comment</a> --> <a href="scrguien.pdf#scraddr.cmd.Comment">221</a></li> -<li><a name="cmd.DeclareNewTOC"></a><a href="#cmd.DeclareNewTOC">\DeclareNewTOC</a> --> <a href="scrguien.pdf#tocbasic.cmd.DeclareNewTOC">274</a></li> -<li><a name="cmd.DefineFamily"></a><a href="#cmd.DefineFamily">\DefineFamily</a> --> <a href="scrguien.pdf#scrbase.cmd.DefineFamily">232</a></li> -<li><a name="cmd.DefineFamilyKey"></a><a href="#cmd.DefineFamilyKey">\DefineFamilyKey</a> --> <a href="scrguien.pdf#scrbase.cmd.DefineFamilyKey">233</a></li> -<li><a name="cmd.DefineFamilyMember"></a><a href="#cmd.DefineFamilyMember">\DefineFamilyMember</a> --> <a href="scrguien.pdf#scrbase.cmd.DefineFamilyMember">232</a></li> -<li><a name="cmd.Family@Option"></a><a href="#cmd.Family@Option">\Family@Option</a> --> <a href="scrguien.pdf#scrbase.cmd.Family@Option">235</a></li> -<li><a name="cmd.Family@Options"></a><a href="#cmd.Family@Options">\Family@Options</a> --> <a href="scrguien.pdf#scrbase.cmd.Family@Options">234</a></li> -<li><a name="cmd.FamilyBoolKey"></a><a href="#cmd.FamilyBoolKey">\FamilyBoolKey</a> --> <a href="scrguien.pdf#scrbase.cmd.FamilyBoolKey">236</a></li> -<li><a name="cmd.FamilyElseValues"></a><a href="#cmd.FamilyElseValues">\FamilyElseValues</a> --> <a href="scrguien.pdf#scrbase.cmd.FamilyElseValues">239</a></li> -<li><a name="cmd.FamilyExecuteOptions"></a><a href="#cmd.FamilyExecuteOptions">\FamilyExecuteOptions</a> --> <a href="scrguien.pdf#scrbase.cmd.FamilyExecuteOptions">234</a></li> -<li><a name="cmd.FamilyNumericalKey"></a><a href="#cmd.FamilyNumericalKey">\FamilyNumericalKey</a> --> <a href="scrguien.pdf#scrbase.cmd.FamilyNumericalKey">237</a></li> -<li><a name="cmd.FamilyOption"></a><a href="#cmd.FamilyOption">\FamilyOption</a> --> <a href="scrguien.pdf#scrbase.cmd.FamilyOption">235</a></li> -<li><a name="cmd.FamilyOptions"></a><a href="#cmd.FamilyOptions">\FamilyOptions</a> --> <a href="scrguien.pdf#scrbase.cmd.FamilyOptions">234</a></li> -<li><a name="cmd.FamilyProcessOptions"></a><a href="#cmd.FamilyProcessOptions">\FamilyProcessOptions</a> --> <a href="scrguien.pdf#scrbase.cmd.FamilyProcessOptions">233</a></li> -<li><a name="cmd.FamilySetBool"></a><a href="#cmd.FamilySetBool">\FamilySetBool</a> --> <a href="scrguien.pdf#scrbase.cmd.FamilySetBool">236</a></li> -<li><a name="cmd.FamilySetNumerical"></a><a href="#cmd.FamilySetNumerical">\FamilySetNumerical</a> --> <a href="scrguien.pdf#scrbase.cmd.FamilySetNumerical">237</a></li> -<li><a name="cmd.FamilyStringKey"></a><a href="#cmd.FamilyStringKey">\FamilyStringKey</a> --> <a href="scrguien.pdf#scrbase.cmd.FamilyStringKey">239</a></li> -<li><a name="cmd.FamilyUnkownKeyValue"></a><a href="#cmd.FamilyUnkownKeyValue">\FamilyUnkownKeyValue</a> --> <a href="scrguien.pdf#scrbase.cmd.FamilyUnkownKeyValue">239</a></li> -<li><a name="cmd.FirstName"></a><a href="#cmd.FirstName">\FirstName</a> --> <a href="scrguien.pdf#scraddr.cmd.FirstName">221</a></li> -<li><a name="cmd.FreeI"></a><a href="#cmd.FreeI">\FreeI</a> --> <a href="scrguien.pdf#scraddr.cmd.FreeI">221</a></li> -<li><a name="cmd.FreeII"></a><a href="#cmd.FreeII">\FreeII</a> --> <a href="scrguien.pdf#scraddr.cmd.FreeII">221</a></li> -<li><a name="cmd.FreeIII"></a><a href="#cmd.FreeIII">\FreeIII</a> --> <a href="scrguien.pdf#scraddr.cmd.FreeIII">221</a></li> -<li><a name="cmd.FreeIV"></a><a href="#cmd.FreeIV">\FreeIV</a> --> <a href="scrguien.pdf#scraddr.cmd.FreeIV">221</a></li> -<li><a name="cmd.InputAddressFile"></a><a href="#cmd.InputAddressFile">\InputAddressFile</a> --> <a href="scrguien.pdf#scraddr.cmd.InputAddressFile">221</a></li> -<li><a name="cmd.KOMAClassName"></a><a href="#cmd.KOMAClassName">\KOMAClassName</a> --> <a href="scrguien.pdf#maincls-experts.cmd.KOMAClassName">282</a></li> -<li><a name="cmd.KOMAScript"></a><a href="#cmd.KOMAScript">\KOMAScript</a> --> <a href="scrguien.pdf#scrbase.cmd.KOMAScript">245</a></li> -<li><a name="cmd.KOMAScriptVersion"></a><a href="#cmd.KOMAScriptVersion">\KOMAScriptVersion</a> --> <a href="scrguien.pdf#scrbase.cmd.KOMAScriptVersion">245</a></li> -<li><a name="cmd.KOMAoption"></a><a href="#cmd.KOMAoption">\KOMAoption</a> --> <a href="scrguien.pdf#typearea.cmd.KOMAoption">27</a></li> -<li><a name="cmd.KOMAoptions"></a><a href="#cmd.KOMAoptions">\KOMAoptions</a> --> <a href="scrguien.pdf#typearea.cmd.KOMAoptions">27</a></li> -<li><a name="cmd.LastName"></a><a href="#cmd.LastName">\LastName</a> --> <a href="scrguien.pdf#scraddr.cmd.LastName">221</a></li> -<li><a name="cmd.LetterOptionNeedsPapersize"></a><a href="#cmd.LetterOptionNeedsPapersize">\LetterOptionNeedsPapersize</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.LetterOptionNeedsPapersize">307</a></li> -<li><a name="cmd.LoadLetterOption"></a><a href="#cmd.LoadLetterOption">\LoadLetterOption</a> --> <a href="scrguien.pdf#scrlttr2.cmd.LoadLetterOption">186</a></li> -<li><a name="cmd.MakeMarkcase"></a><a href="#cmd.MakeMarkcase">\MakeMarkcase</a> --> <a href="scrguien.pdf#tocbasic.cmd.MakeMarkcase">267</a></li> -<li><a name="cmd.Name"></a><a href="#cmd.Name">\Name</a> --> <a href="scrguien.pdf#scraddr.cmd.Name">221</a></li> -<li><a name="cmd.PreventPackageFromLoading"></a><a href="#cmd.PreventPackageFromLoading">\PreventPackageFromLoading</a> --> <a href="scrguien.pdf#scrlfile.cmd.PreventPackageFromLoading">256</a></li> -<li><a name="cmd.ReplaceClass"></a><a href="#cmd.ReplaceClass">\ReplaceClass</a> --> <a href="scrguien.pdf#scrlfile.cmd.ReplaceClass">254</a></li> -<li><a name="cmd.ReplaceInput"></a><a href="#cmd.ReplaceInput">\ReplaceInput</a> --> <a href="scrguien.pdf#scrlfile.cmd.ReplaceInput">253</a></li> -<li><a name="cmd.ReplacePackage"></a><a href="#cmd.ReplacePackage">\ReplacePackage</a> --> <a href="scrguien.pdf#scrlfile.cmd.ReplacePackage">254</a></li> -<li><a name="cmd.ResetPreventPackageFromLoading"></a><a href="#cmd.ResetPreventPackageFromLoading">\ResetPreventPackageFromLoading</a> --> <a href="scrguien.pdf#scrlfile.cmd.ResetPreventPackageFromLoading">257</a></li> -<li><a name="cmd.StorePreventPackageFromLoading"></a><a href="#cmd.StorePreventPackageFromLoading">\StorePreventPackageFromLoading</a> --> <a href="scrguien.pdf#scrlfile.cmd.StorePreventPackageFromLoading">257</a></li> -<li><a name="cmd.TOCclone"></a><a href="#cmd.TOCclone">\TOCclone</a> --> <a href="scrguien.pdf#scrwfile.cmd.TOCclone">259</a></li> -<li><a name="cmd.Telephone"></a><a href="#cmd.Telephone">\Telephone</a> --> <a href="scrguien.pdf#scraddr.cmd.Telephone">221</a></li> -<li><a name="cmd.XdivY"></a><a href="#cmd.XdivY">\XdivY</a> --> <a href="scrguien.pdf#scrbase.cmd.XdivY">246</a></li> -<li><a name="cmd.XmodY"></a><a href="#cmd.XmodY">\XmodY</a> --> <a href="scrguien.pdf#scrbase.cmd.XmodY">246</a></li> -<li><a name="cmd.activateareas"></a><a href="#cmd.activateareas">\activateareas</a> --> <a href="scrguien.pdf#typearea-experts.cmd.activateareas">280</a></li> -<li><a name="cmd.addchap*"></a><a href="#cmd.addchap*">\addchap*</a> --> <a href="scrguien.pdf#maincls.cmd.addchap*">90</a></li> -<li><a name="cmd.addchap"></a><a href="#cmd.addchap">\addchap</a> --> <a href="scrguien.pdf#maincls.cmd.addchap">90</a></li> -<li><a name="cmd.addchaptertocentry"></a><a href="#cmd.addchaptertocentry">\addchaptertocentry</a> --> <a href="scrguien.pdf#maincls-experts.cmd.addchaptertocentry">284</a></li> -<li><a name="cmd.addcontentslinetoeachtocfile"></a><a href="#cmd.addcontentslinetoeachtocfile">\addcontentslinetoeachtocfile</a> --> <a href="scrguien.pdf#tocbasic.cmd.addcontentslinetoeachtocfile">265</a></li> -<li><a name="cmd.addparagraphtocentry"></a><a href="#cmd.addparagraphtocentry">\addparagraphtocentry</a> --> <a href="scrguien.pdf#maincls-experts.cmd.addparagraphtocentry">284</a></li> -<li><a name="cmd.addpart*"></a><a href="#cmd.addpart*">\addpart*</a> --> <a href="scrguien.pdf#maincls.cmd.addpart*">90</a></li> -<li><a name="cmd.addpart"></a><a href="#cmd.addpart">\addpart</a> --> <a href="scrguien.pdf#maincls.cmd.addpart">90</a></li> -<li><a name="cmd.addparttocentry"></a><a href="#cmd.addparttocentry">\addparttocentry</a> --> <a href="scrguien.pdf#maincls-experts.cmd.addparttocentry">284</a></li> -<li><a name="cmd.addrchar"></a><a href="#cmd.addrchar">\addrchar</a> --> <a href="scrguien.pdf#scrlttr2.cmd.addrchar">194</a></li> -<li><a name="cmd.addrentry"></a><a href="#cmd.addrentry">\addrentry</a> --> <a href="scrguien.pdf#scrlttr2.cmd.addrentry">192</a></li> -<li><a name="cmd.addsec*"></a><a href="#cmd.addsec*">\addsec*</a> --> <a href="scrguien.pdf#maincls.cmd.addsec*">90</a></li> -<li><a name="cmd.addsec"></a><a href="#cmd.addsec">\addsec</a> --> <a href="scrguien.pdf#maincls.cmd.addsec">90</a></li> -<li><a name="cmd.addsectiontocentry"></a><a href="#cmd.addsectiontocentry">\addsectiontocentry</a> --> <a href="scrguien.pdf#maincls-experts.cmd.addsectiontocentry">284</a></li> -<li><a name="cmd.addsubparagraphtocentry"></a><a href="#cmd.addsubparagraphtocentry">\addsubparagraphtocentry</a> --> <a href="scrguien.pdf#maincls-experts.cmd.addsubparagraphtocentry">284</a></li> -<li><a name="cmd.addsubsectiontocentry"></a><a href="#cmd.addsubsectiontocentry">\addsubsectiontocentry</a> --> <a href="scrguien.pdf#maincls-experts.cmd.addsubsectiontocentry">284</a></li> -<li><a name="cmd.addsubsubsectiontocentry"></a><a href="#cmd.addsubsubsectiontocentry">\addsubsubsectiontocentry</a> --> <a href="scrguien.pdf#maincls-experts.cmd.addsubsubsectiontocentry">284</a></li> -<li><a name="cmd.addtocentrydefault"></a><a href="#cmd.addtocentrydefault">\addtocentrydefault</a> --> <a href="scrguien.pdf#maincls-experts.cmd.addtocentrydefault">283</a></li> -<li><a name="cmd.addtoeachtocfile"></a><a href="#cmd.addtoeachtocfile">\addtoeachtocfile</a> --> <a href="scrguien.pdf#tocbasic.cmd.addtoeachtocfile">264</a></li> -<li><a name="cmd.addtokomafont"></a><a href="#cmd.addtokomafont">\addtokomafont</a> --> <a href="scrguien.pdf#scrextend.cmd.addtokomafont">226</a>, <a href="scrguien.pdf#maincls.cmd.addtokomafont">51</a></li> -<li><a name="cmd.addtolengthplength"></a><a href="#cmd.addtolengthplength">\addtolengthplength</a> --> <a href="scrguien.pdf#scrlttr2.cmd.addtolengthplength">135</a></li> -<li><a name="cmd.addtoreffields"></a><a href="#cmd.addtoreffields">\addtoreffields</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.addtoreffields">305</a></li> -<li><a name="cmd.addtotoclist"></a><a href="#cmd.addtotoclist">\addtotoclist</a> --> <a href="scrguien.pdf#tocbasic.cmd.addtotoclist">262</a></li> -<li><a name="cmd.adrchar"></a><a href="#cmd.adrchar">\adrchar</a> --> <a href="scrguien.pdf#scrlttr2.cmd.adrchar">194</a></li> -<li><a name="cmd.adrentry"></a><a href="#cmd.adrentry">\adrentry</a> --> <a href="scrguien.pdf#scrlttr2.cmd.adrentry">192</a></li> -<li><a name="cmd.aliaskomafont"></a><a href="#cmd.aliaskomafont">\aliaskomafont</a> --> <a href="scrguien.pdf#maincls-experts.cmd.aliaskomafont">284</a></li> -<li><a name="cmd.and"></a><a href="#cmd.and">\and</a> --> <a href="scrguien.pdf#maincls.cmd.and">57</a></li> -<li><a name="cmd.appendix"></a><a href="#cmd.appendix">\appendix</a> --> <a href="scrguien.pdf#maincls.cmd.appendix">125</a></li> -<li><a name="cmd.appendixmore"></a><a href="#cmd.appendixmore">\appendixmore</a> --> <a href="scrguien.pdf#maincls-experts.cmd.appendixmore">287</a></li> -<li><a name="cmd.areaset"></a><a href="#cmd.areaset">\areaset</a> --> <a href="scrguien.pdf#typearea.cmd.areaset">40</a></li> -<li><a name="cmd.author"></a><a href="#cmd.author">\author</a> --> <a href="scrguien.pdf#maincls.cmd.author">57</a></li> -<li><a name="cmd.autodot"></a><a href="#cmd.autodot">\autodot</a> --> <a href="scrguien.pdf#maincls.cmd.autodot">92</a></li> -<li><a name="cmd.automark"></a><a href="#cmd.automark">\automark</a> --> <a href="scrguien.pdf#scrpage.cmd.automark">200</a></li> -<li><a name="cmd.backmatter"></a><a href="#cmd.backmatter">\backmatter</a> --> <a href="scrguien.pdf#maincls.cmd.backmatter">79</a></li> -<li><a name="cmd.bankname"></a><a href="#cmd.bankname">\bankname</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.bankname">313</a></li> -<li><a name="cmd.bib@beginhook"></a><a href="#cmd.bib@beginhook">\bib@beginhook</a> --> <a href="scrguien.pdf#maincls-experts.cmd.bib@beginhook">288</a></li> -<li><a name="cmd.bib@endhook"></a><a href="#cmd.bib@endhook">\bib@endhook</a> --> <a href="scrguien.pdf#maincls-experts.cmd.bib@endhook">288</a></li> -<li><a name="cmd.caption"></a><a href="#cmd.caption">\caption</a> --> <a href="scrguien.pdf#maincls.cmd.caption">111</a></li> -<li><a name="cmd.captionabove"></a><a href="#cmd.captionabove">\captionabove</a> --> <a href="scrguien.pdf#maincls.cmd.captionabove">111</a></li> -<li><a name="cmd.captionaboveof"></a><a href="#cmd.captionaboveof">\captionaboveof</a> --> <a href="scrguien.pdf#maincls.cmd.captionaboveof">113</a></li> -<li><a name="cmd.captionbelow"></a><a href="#cmd.captionbelow">\captionbelow</a> --> <a href="scrguien.pdf#maincls.cmd.captionbelow">111</a></li> -<li><a name="cmd.captionbelowof"></a><a href="#cmd.captionbelowof">\captionbelowof</a> --> <a href="scrguien.pdf#maincls.cmd.captionbelowof">113</a></li> -<li><a name="cmd.captionformat"></a><a href="#cmd.captionformat">\captionformat</a> --> <a href="scrguien.pdf#maincls.cmd.captionformat">118</a></li> -<li><a name="cmd.captionof"></a><a href="#cmd.captionof">\captionof</a> --> <a href="scrguien.pdf#maincls.cmd.captionof">113</a></li> -<li><a name="cmd.captionsUKenglish"></a><a href="#cmd.captionsUKenglish">\captionsUKenglish</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsUKenglish">312</a></li> -<li><a name="cmd.captionsUSenglish"></a><a href="#cmd.captionsUSenglish">\captionsUSenglish</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsUSenglish">312</a></li> -<li><a name="cmd.captionsamerican"></a><a href="#cmd.captionsamerican">\captionsamerican</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsamerican">312</a></li> -<li><a name="cmd.captionsaustrian"></a><a href="#cmd.captionsaustrian">\captionsaustrian</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsaustrian">312</a></li> -<li><a name="cmd.captionsbritish"></a><a href="#cmd.captionsbritish">\captionsbritish</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsbritish">312</a></li> -<li><a name="cmd.captionscroatian"></a><a href="#cmd.captionscroatian">\captionscroatian</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionscroatian">312</a></li> -<li><a name="cmd.captionsdutch"></a><a href="#cmd.captionsdutch">\captionsdutch</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsdutch">312</a></li> -<li><a name="cmd.captionsenglish"></a><a href="#cmd.captionsenglish">\captionsenglish</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsenglish">312</a></li> -<li><a name="cmd.captionsfinnish"></a><a href="#cmd.captionsfinnish">\captionsfinnish</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsfinnish">312</a></li> -<li><a name="cmd.captionsfrench"></a><a href="#cmd.captionsfrench">\captionsfrench</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsfrench">312</a></li> -<li><a name="cmd.captionsgerman"></a><a href="#cmd.captionsgerman">\captionsgerman</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsgerman">312</a></li> -<li><a name="cmd.captionsitalian"></a><a href="#cmd.captionsitalian">\captionsitalian</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsitalian">312</a></li> -<li><a name="cmd.captionsnaustrian"></a><a href="#cmd.captionsnaustrian">\captionsnaustrian</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsnaustrian">312</a></li> -<li><a name="cmd.captionsngerman"></a><a href="#cmd.captionsngerman">\captionsngerman</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsngerman">312</a></li> -<li><a name="cmd.captionsnorsk"></a><a href="#cmd.captionsnorsk">\captionsnorsk</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsnorsk">312</a></li> -<li><a name="cmd.captionsspanish"></a><a href="#cmd.captionsspanish">\captionsspanish</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsspanish">312</a></li> -<li><a name="cmd.captionsswedish"></a><a href="#cmd.captionsswedish">\captionsswedish</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsswedish">312</a></li> -<li><a name="cmd.cc"></a><a href="#cmd.cc">\cc</a> --> <a href="scrguien.pdf#scrlttr2.cmd.cc">142</a></li> -<li><a name="cmd.ccname"></a><a href="#cmd.ccname">\ccname</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.ccname">313</a></li> -<li><a name="cmd.cefoot"></a><a href="#cmd.cefoot">\cefoot</a> --> <a href="scrguien.pdf#scrpage.cmd.cefoot">197</a></li> -<li><a name="cmd.cehead"></a><a href="#cmd.cehead">\cehead</a> --> <a href="scrguien.pdf#scrpage.cmd.cehead">197</a></li> -<li><a name="cmd.cfoot"></a><a href="#cmd.cfoot">\cfoot</a> --> <a href="scrguien.pdf#scrpage.cmd.cfoot">197</a></li> -<li><a name="cmd.chapapp"></a><a href="#cmd.chapapp">\chapapp</a> --> <a href="scrguien.pdf#maincls.cmd.chapapp">94</a></li> -<li><a name="cmd.chapappifchapterprefix"></a><a href="#cmd.chapappifchapterprefix">\chapappifchapterprefix</a> --> <a href="scrguien.pdf#maincls.cmd.chapappifchapterprefix">94</a></li> -<li><a name="cmd.chapter*"></a><a href="#cmd.chapter*">\chapter*</a> --> <a href="scrguien.pdf#maincls.cmd.chapter*">89</a></li> -<li><a name="cmd.chapter"></a><a href="#cmd.chapter">\chapter</a> --> <a href="scrguien.pdf#maincls.cmd.chapter">85</a></li> -<li><a name="cmd.chapterformat"></a><a href="#cmd.chapterformat">\chapterformat</a> --> <a href="scrguien.pdf#maincls.cmd.chapterformat">92</a></li> -<li><a name="cmd.chapterheadendvskip"></a><a href="#cmd.chapterheadendvskip">\chapterheadendvskip</a> --> <a href="scrguien.pdf#maincls-experts.cmd.chapterheadendvskip">285</a></li> -<li><a name="cmd.chapterheadstartvskip"></a><a href="#cmd.chapterheadstartvskip">\chapterheadstartvskip</a> --> <a href="scrguien.pdf#maincls-experts.cmd.chapterheadstartvskip">285</a></li> -<li><a name="cmd.chaptermark"></a><a href="#cmd.chaptermark">\chaptermark</a> --> <a href="scrguien.pdf#maincls.cmd.chaptermark">94</a></li> -<li><a name="cmd.chaptermarkformat"></a><a href="#cmd.chaptermarkformat">\chaptermarkformat</a> --> <a href="scrguien.pdf#maincls.cmd.chaptermarkformat">94</a></li> -<li><a name="cmd.chapterpagestyle"></a><a href="#cmd.chapterpagestyle">\chapterpagestyle</a> --> <a href="scrguien.pdf#maincls.cmd.chapterpagestyle">70</a></li> -<li><a name="cmd.chead"></a><a href="#cmd.chead">\chead</a> --> <a href="scrguien.pdf#scrpage.cmd.chead">197</a></li> -<li><a name="cmd.cleardoubleemptypage"></a><a href="#cmd.cleardoubleemptypage">\cleardoubleemptypage</a> --> <a href="scrguien.pdf#maincls.cmd.cleardoubleemptypage">73</a></li> -<li><a name="cmd.cleardoubleevenemptypage"></a><a href="#cmd.cleardoubleevenemptypage">\cleardoubleevenemptypage</a> --> <a href="scrguien.pdf#maincls.cmd.cleardoubleevenemptypage">73</a>, <a href="scrguien.pdf#maincls.cmd.cleardoubleevenemptypage">74</a></li> -<li><a name="cmd.cleardoubleevenplainpage"></a><a href="#cmd.cleardoubleevenplainpage">\cleardoubleevenplainpage</a> --> <a href="scrguien.pdf#maincls.cmd.cleardoubleevenplainpage">73</a></li> -<li><a name="cmd.cleardoubleevenstandardpage"></a><a href="#cmd.cleardoubleevenstandardpage">\cleardoubleevenstandardpage</a> --> <a href="scrguien.pdf#maincls.cmd.cleardoubleevenstandardpage">73</a></li> -<li><a name="cmd.cleardoubleevenusingstyle"></a><a href="#cmd.cleardoubleevenusingstyle">\cleardoubleevenusingstyle</a> --> <a href="scrguien.pdf#maincls.cmd.cleardoubleevenusingstyle">73</a></li> -<li><a name="cmd.cleardoubleoddemptypage"></a><a href="#cmd.cleardoubleoddemptypage">\cleardoubleoddemptypage</a> --> <a href="scrguien.pdf#maincls.cmd.cleardoubleoddemptypage">73</a></li> -<li><a name="cmd.cleardoubleoddplainpage"></a><a href="#cmd.cleardoubleoddplainpage">\cleardoubleoddplainpage</a> --> <a href="scrguien.pdf#maincls.cmd.cleardoubleoddplainpage">73</a></li> -<li><a name="cmd.cleardoubleoddstandardpage"></a><a href="#cmd.cleardoubleoddstandardpage">\cleardoubleoddstandardpage</a> --> <a href="scrguien.pdf#maincls.cmd.cleardoubleoddstandardpage">73</a></li> -<li><a name="cmd.cleardoubleoddusingstyle"></a><a href="#cmd.cleardoubleoddusingstyle">\cleardoubleoddusingstyle</a> --> <a href="scrguien.pdf#maincls.cmd.cleardoubleoddusingstyle">73</a></li> -<li><a name="cmd.cleardoublepage"></a><a href="#cmd.cleardoublepage">\cleardoublepage</a> --> <a href="scrguien.pdf#maincls.cmd.cleardoublepage">73</a></li> -<li><a name="cmd.cleardoublepageusingstyle"></a><a href="#cmd.cleardoublepageusingstyle">\cleardoublepageusingstyle</a> --> <a href="scrguien.pdf#maincls.cmd.cleardoublepageusingstyle">73</a></li> -<li><a name="cmd.cleardoubleplainpage"></a><a href="#cmd.cleardoubleplainpage">\cleardoubleplainpage</a> --> <a href="scrguien.pdf#maincls.cmd.cleardoubleplainpage">73</a></li> -<li><a name="cmd.cleardoublestandardpage"></a><a href="#cmd.cleardoublestandardpage">\cleardoublestandardpage</a> --> <a href="scrguien.pdf#maincls.cmd.cleardoublestandardpage">73</a></li> -<li><a name="cmd.clearpage"></a><a href="#cmd.clearpage">\clearpage</a> --> <a href="scrguien.pdf#maincls.cmd.clearpage">73</a></li> -<li><a name="cmd.clearscrheadfoot"></a><a href="#cmd.clearscrheadfoot">\clearscrheadfoot</a> --> <a href="scrguien.pdf#scrpage.cmd.clearscrheadfoot">199</a></li> -<li><a name="cmd.clearscrheadings"></a><a href="#cmd.clearscrheadings">\clearscrheadings</a> --> <a href="scrguien.pdf#scrpage.cmd.clearscrheadings">199</a></li> -<li><a name="cmd.clearscrplain"></a><a href="#cmd.clearscrplain">\clearscrplain</a> --> <a href="scrguien.pdf#scrpage.cmd.clearscrplain">199</a></li> -<li><a name="cmd.closing"></a><a href="#cmd.closing">\closing</a> --> <a href="scrguien.pdf#scrlttr2.cmd.closing">140</a></li> -<li><a name="cmd.cofoot"></a><a href="#cmd.cofoot">\cofoot</a> --> <a href="scrguien.pdf#scrpage.cmd.cofoot">197</a></li> -<li><a name="cmd.cohead"></a><a href="#cmd.cohead">\cohead</a> --> <a href="scrguien.pdf#scrpage.cmd.cohead">197</a></li> -<li><a name="cmd.customername"></a><a href="#cmd.customername">\customername</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.customername">313</a></li> -<li><a name="cmd.date"></a><a href="#cmd.date">\date</a> --> <a href="scrguien.pdf#maincls.cmd.date">57</a></li> -<li><a name="cmd.dateUKenglish"></a><a href="#cmd.dateUKenglish">\dateUKenglish</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.dateUKenglish">312</a></li> -<li><a name="cmd.dateUSenglish"></a><a href="#cmd.dateUSenglish">\dateUSenglish</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.dateUSenglish">312</a></li> -<li><a name="cmd.dateamerican"></a><a href="#cmd.dateamerican">\dateamerican</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.dateamerican">312</a></li> -<li><a name="cmd.dateaustrian"></a><a href="#cmd.dateaustrian">\dateaustrian</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.dateaustrian">312</a></li> -<li><a name="cmd.datebritish"></a><a href="#cmd.datebritish">\datebritish</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.datebritish">312</a></li> -<li><a name="cmd.datecroatian"></a><a href="#cmd.datecroatian">\datecroatian</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.datecroatian">312</a></li> -<li><a name="cmd.datedutch"></a><a href="#cmd.datedutch">\datedutch</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.datedutch">312</a></li> -<li><a name="cmd.dateenglish"></a><a href="#cmd.dateenglish">\dateenglish</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.dateenglish">312</a></li> -<li><a name="cmd.datefinnish"></a><a href="#cmd.datefinnish">\datefinnish</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.datefinnish">312</a></li> -<li><a name="cmd.datefrench"></a><a href="#cmd.datefrench">\datefrench</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.datefrench">312</a></li> -<li><a name="cmd.dategerman"></a><a href="#cmd.dategerman">\dategerman</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.dategerman">312</a></li> -<li><a name="cmd.dateitalian"></a><a href="#cmd.dateitalian">\dateitalian</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.dateitalian">312</a></li> -<li><a name="cmd.datename"></a><a href="#cmd.datename">\datename</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.datename">313</a></li> -<li><a name="cmd.datenaustrian"></a><a href="#cmd.datenaustrian">\datenaustrian</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.datenaustrian">312</a></li> -<li><a name="cmd.datengerman"></a><a href="#cmd.datengerman">\datengerman</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.datengerman">312</a></li> -<li><a name="cmd.datenorsk"></a><a href="#cmd.datenorsk">\datenorsk</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.datenorsk">312</a></li> -<li><a name="cmd.datespanish"></a><a href="#cmd.datespanish">\datespanish</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.datespanish">312</a></li> -<li><a name="cmd.dateswedish"></a><a href="#cmd.dateswedish">\dateswedish</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.dateswedish">312</a></li> -<li><a name="cmd.dedication"></a><a href="#cmd.dedication">\dedication</a> --> <a href="scrguien.pdf#maincls.cmd.dedication">60</a></li> -<li><a name="cmd.defaultreffields"></a><a href="#cmd.defaultreffields">\defaultreffields</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.defaultreffields">305</a></li> -<li><a name="cmd.deffootnote"></a><a href="#cmd.deffootnote">\deffootnote</a> --> <a href="scrguien.pdf#maincls.cmd.deffootnote">77</a></li> -<li><a name="cmd.deffootnotemark"></a><a href="#cmd.deffootnotemark">\deffootnotemark</a> --> <a href="scrguien.pdf#maincls.cmd.deffootnotemark">77</a></li> -<li><a name="cmd.defpagestyle"></a><a href="#cmd.defpagestyle">\defpagestyle</a> --> <a href="scrguien.pdf#scrpage.cmd.defpagestyle">211</a></li> -<li><a name="cmd.deftocheading"></a><a href="#cmd.deftocheading">\deftocheading</a> --> <a href="scrguien.pdf#tocbasic.cmd.deftocheading">268</a></li> -<li><a name="cmd.deftripstyle"></a><a href="#cmd.deftripstyle">\deftripstyle</a> --> <a href="scrguien.pdf#scrpage.cmd.deftripstyle">209</a></li> -<li><a name="cmd.dictum"></a><a href="#cmd.dictum">\dictum</a> --> <a href="scrguien.pdf#maincls.cmd.dictum">97</a></li> -<li><a name="cmd.dictumauthorformat"></a><a href="#cmd.dictumauthorformat">\dictumauthorformat</a> --> <a href="scrguien.pdf#maincls.cmd.dictumauthorformat">97</a></li> -<li><a name="cmd.dictumrule"></a><a href="#cmd.dictumrule">\dictumrule</a> --> <a href="scrguien.pdf#maincls.cmd.dictumrule">97</a></li> -<li><a name="cmd.dictumwidth"></a><a href="#cmd.dictumwidth">\dictumwidth</a> --> <a href="scrguien.pdf#maincls.cmd.dictumwidth">97</a></li> -<li><a name="cmd.documentclass"></a><a href="#cmd.documentclass">\documentclass</a> --> <a href="scrguien.pdf#typearea.cmd.documentclass">27</a></li> -<li><a name="cmd.doforeachtocfile"></a><a href="#cmd.doforeachtocfile">\doforeachtocfile</a> --> <a href="scrguien.pdf#tocbasic.cmd.doforeachtocfile">264</a></li> -<li><a name="cmd.edgesize"></a><a href="#cmd.edgesize">\edgesize</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.edgesize">309</a></li> -<li><a name="cmd.emailname"></a><a href="#cmd.emailname">\emailname</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.emailname">313</a></li> -<li><a name="cmd.encl"></a><a href="#cmd.encl">\encl</a> --> <a href="scrguien.pdf#scrlttr2.cmd.encl">144</a></li> -<li><a name="cmd.enclname"></a><a href="#cmd.enclname">\enclname</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.enclname">313</a></li> -<li><a name="cmd.extratitle"></a><a href="#cmd.extratitle">\extratitle</a> --> <a href="scrguien.pdf#maincls.cmd.extratitle">57</a></li> -<li><a name="cmd.faxname"></a><a href="#cmd.faxname">\faxname</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.faxname">313</a></li> -<li><a name="cmd.figureformat"></a><a href="#cmd.figureformat">\figureformat</a> --> <a href="scrguien.pdf#maincls.cmd.figureformat">119</a></li> -<li><a name="cmd.flushbottom"></a><a href="#cmd.flushbottom">\flushbottom</a> --> <a href="scrguien.pdf#maincls.cmd.flushbottom">48</a></li> -<li><a name="cmd.footfont"></a><a href="#cmd.footfont">\footfont</a> --> <a href="scrguien.pdf#scrpage.cmd.footfont">201</a></li> -<li><a name="cmd.footnote"></a><a href="#cmd.footnote">\footnote</a> --> <a href="scrguien.pdf#maincls.cmd.footnote">76</a></li> -<li><a name="cmd.footnotemark"></a><a href="#cmd.footnotemark">\footnotemark</a> --> <a href="scrguien.pdf#maincls.cmd.footnotemark">76</a></li> -<li><a name="cmd.footnotetext"></a><a href="#cmd.footnotetext">\footnotetext</a> --> <a href="scrguien.pdf#maincls.cmd.footnotetext">76</a></li> -<li><a name="cmd.footref"></a><a href="#cmd.footref">\footref</a> --> <a href="scrguien.pdf#maincls.cmd.footref">77</a></li> -<li><a name="cmd.frontmatter"></a><a href="#cmd.frontmatter">\frontmatter</a> --> <a href="scrguien.pdf#maincls.cmd.frontmatter">79</a></li> -<li><a name="cmd.headfont"></a><a href="#cmd.headfont">\headfont</a> --> <a href="scrguien.pdf#scrpage.cmd.headfont">201</a></li> -<li><a name="cmd.headfromname"></a><a href="#cmd.headfromname">\headfromname</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.headfromname">313</a></li> -<li><a name="cmd.headmark"></a><a href="#cmd.headmark">\headmark</a> --> <a href="scrguien.pdf#scrpage.cmd.headmark">199</a></li> -<li><a name="cmd.headtoname"></a><a href="#cmd.headtoname">\headtoname</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.headtoname">313</a></li> -<li><a name="cmd.if@atdocument"></a><a href="#cmd.if@atdocument">\if@atdocument</a> --> <a href="scrguien.pdf#scrbase.cmd.if@atdocument">242</a></li> -<li><a name="cmd.ifVTeX"></a><a href="#cmd.ifVTeX">\ifVTeX</a> --> <a href="scrguien.pdf#scrbase.cmd.ifVTeX">241</a></li> -<li><a name="cmd.ifattoclist"></a><a href="#cmd.ifattoclist">\ifattoclist</a> --> <a href="scrguien.pdf#tocbasic.cmd.ifattoclist">261</a></li> -<li><a name="cmd.ifdimen"></a><a href="#cmd.ifdimen">\ifdimen</a> --> <a href="scrguien.pdf#scrbase.cmd.ifdimen">242</a></li> -<li><a name="cmd.ifdvioutput"></a><a href="#cmd.ifdvioutput">\ifdvioutput</a> --> <a href="scrguien.pdf#scrbase.cmd.ifdvioutput">242</a></li> -<li><a name="cmd.ifkomavar"></a><a href="#cmd.ifkomavar">\ifkomavar</a> --> <a href="scrguien.pdf#scrlttr2.cmd.ifkomavar">134</a></li> -<li><a name="cmd.ifkomavarempty*"></a><a href="#cmd.ifkomavarempty*">\ifkomavarempty*</a> --> <a href="scrguien.pdf#scrlttr2.cmd.ifkomavarempty*">134</a>, <a href="scrguien.pdf#scrlttr2-experts.cmd.ifkomavarempty*">307</a></li> -<li><a name="cmd.ifkomavarempty"></a><a href="#cmd.ifkomavarempty">\ifkomavarempty</a> --> <a href="scrguien.pdf#scrlttr2.cmd.ifkomavarempty">134</a>, <a href="scrguien.pdf#scrlttr2-experts.cmd.ifkomavarempty">307</a></li> -<li><a name="cmd.ifnotundefined"></a><a href="#cmd.ifnotundefined">\ifnotundefined</a> --> <a href="scrguien.pdf#scrbase.cmd.ifnotundefined">242</a></li> -<li><a name="cmd.ifnumber"></a><a href="#cmd.ifnumber">\ifnumber</a> --> <a href="scrguien.pdf#scrbase.cmd.ifnumber">242</a></li> -<li><a name="cmd.ifoot"></a><a href="#cmd.ifoot">\ifoot</a> --> <a href="scrguien.pdf#scrpage.cmd.ifoot">197</a></li> -<li><a name="cmd.ifpdfoutput"></a><a href="#cmd.ifpdfoutput">\ifpdfoutput</a> --> <a href="scrguien.pdf#scrbase.cmd.ifpdfoutput">241</a></li> -<li><a name="cmd.ifpdftex"></a><a href="#cmd.ifpdftex">\ifpdftex</a> --> <a href="scrguien.pdf#scrbase.cmd.ifpdftex">241</a></li> -<li><a name="cmd.ifpsoutput"></a><a href="#cmd.ifpsoutput">\ifpsoutput</a> --> <a href="scrguien.pdf#scrbase.cmd.ifpsoutput">242</a></li> -<li><a name="cmd.ifstr"></a><a href="#cmd.ifstr">\ifstr</a> --> <a href="scrguien.pdf#scrbase.cmd.ifstr">242</a></li> -<li><a name="cmd.ifthispageodd"></a><a href="#cmd.ifthispageodd">\ifthispageodd</a> --> <a href="scrguien.pdf#maincls.cmd.ifthispageodd">67</a></li> -<li><a name="cmd.iftocfeature"></a><a href="#cmd.iftocfeature">\iftocfeature</a> --> <a href="scrguien.pdf#tocbasic.cmd.iftocfeature">270</a></li> -<li><a name="cmd.ifundefinedorrelax"></a><a href="#cmd.ifundefinedorrelax">\ifundefinedorrelax</a> --> <a href="scrguien.pdf#scrbase.cmd.ifundefinedorrelax">241</a></li> -<li><a name="cmd.ihead"></a><a href="#cmd.ihead">\ihead</a> --> <a href="scrguien.pdf#scrpage.cmd.ihead">197</a></li> -<li><a name="cmd.indexpagestyle"></a><a href="#cmd.indexpagestyle">\indexpagestyle</a> --> <a href="scrguien.pdf#maincls.cmd.indexpagestyle">70</a></li> -<li><a name="cmd.invoicename"></a><a href="#cmd.invoicename">\invoicename</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.invoicename">313</a></li> -<li><a name="cmd.item"></a><a href="#cmd.item">\item</a> --> <a href="scrguien.pdf#maincls.cmd.item">99</a></li> -<li><a name="cmd.labelenumi"></a><a href="#cmd.labelenumi">\labelenumi</a> --> <a href="scrguien.pdf#maincls.cmd.labelenumi">100</a></li> -<li><a name="cmd.labelenumii"></a><a href="#cmd.labelenumii">\labelenumii</a> --> <a href="scrguien.pdf#maincls.cmd.labelenumii">100</a></li> -<li><a name="cmd.labelenumiii"></a><a href="#cmd.labelenumiii">\labelenumiii</a> --> <a href="scrguien.pdf#maincls.cmd.labelenumiii">100</a></li> -<li><a name="cmd.labelenumiv"></a><a href="#cmd.labelenumiv">\labelenumiv</a> --> <a href="scrguien.pdf#maincls.cmd.labelenumiv">100</a></li> -<li><a name="cmd.labelitemi"></a><a href="#cmd.labelitemi">\labelitemi</a> --> <a href="scrguien.pdf#maincls.cmd.labelitemi">99</a></li> -<li><a name="cmd.labelitemii"></a><a href="#cmd.labelitemii">\labelitemii</a> --> <a href="scrguien.pdf#maincls.cmd.labelitemii">99</a></li> -<li><a name="cmd.labelitemiii"></a><a href="#cmd.labelitemiii">\labelitemiii</a> --> <a href="scrguien.pdf#maincls.cmd.labelitemiii">99</a></li> -<li><a name="cmd.labelitemiv"></a><a href="#cmd.labelitemiv">\labelitemiv</a> --> <a href="scrguien.pdf#maincls.cmd.labelitemiv">99</a></li> -<li><a name="cmd.lefoot"></a><a href="#cmd.lefoot">\lefoot</a> --> <a href="scrguien.pdf#scrpage.cmd.lefoot">197</a></li> -<li><a name="cmd.leftmark"></a><a href="#cmd.leftmark">\leftmark</a> --> <a href="scrguien.pdf#scrpage.cmd.leftmark">199</a></li> -<li><a name="cmd.lehead"></a><a href="#cmd.lehead">\lehead</a> --> <a href="scrguien.pdf#scrpage.cmd.lehead">197</a></li> -<li><a name="cmd.listofeachtoc"></a><a href="#cmd.listofeachtoc">\listofeachtoc</a> --> <a href="scrguien.pdf#tocbasic.cmd.listofeachtoc">265</a></li> -<li><a name="cmd.listoffigures"></a><a href="#cmd.listoffigures">\listoffigures</a> --> <a href="scrguien.pdf#maincls.cmd.listoffigures">124</a></li> -<li><a name="cmd.listofname"></a><a href="#cmd.listofname">\listofname</a> --> <a href="scrguien.pdf#tocbasic.cmd.listofname">265</a></li> -<li><a name="cmd.listoftables"></a><a href="#cmd.listoftables">\listoftables</a> --> <a href="scrguien.pdf#maincls.cmd.listoftables">124</a></li> -<li><a name="cmd.listoftoc*"></a><a href="#cmd.listoftoc*">\listoftoc*</a> --> <a href="scrguien.pdf#tocbasic.cmd.listoftoc*">265</a></li> -<li><a name="cmd.listoftoc"></a><a href="#cmd.listoftoc">\listoftoc</a> --> <a href="scrguien.pdf#tocbasic.cmd.listoftoc">265</a></li> -<li><a name="cmd.lofoot"></a><a href="#cmd.lofoot">\lofoot</a> --> <a href="scrguien.pdf#scrpage.cmd.lofoot">197</a></li> -<li><a name="cmd.lohead"></a><a href="#cmd.lohead">\lohead</a> --> <a href="scrguien.pdf#scrpage.cmd.lohead">197</a></li> -<li><a name="cmd.lowertitleback"></a><a href="#cmd.lowertitleback">\lowertitleback</a> --> <a href="scrguien.pdf#maincls.cmd.lowertitleback">60</a></li> -<li><a name="cmd.mainmatter"></a><a href="#cmd.mainmatter">\mainmatter</a> --> <a href="scrguien.pdf#maincls.cmd.mainmatter">79</a></li> -<li><a name="cmd.maketitle"></a><a href="#cmd.maketitle">\maketitle</a> --> <a href="scrguien.pdf#maincls.cmd.maketitle">56</a></li> -<li><a name="cmd.manualmark"></a><a href="#cmd.manualmark">\manualmark</a> --> <a href="scrguien.pdf#scrpage.cmd.manualmark">200</a></li> -<li><a name="cmd.marginline"></a><a href="#cmd.marginline">\marginline</a> --> <a href="scrguien.pdf#maincls.cmd.marginline">124</a></li> -<li><a name="cmd.marginpar"></a><a href="#cmd.marginpar">\marginpar</a> --> <a href="scrguien.pdf#maincls.cmd.marginpar">124</a></li> -<li><a name="cmd.markboth"></a><a href="#cmd.markboth">\markboth</a> --> <a href="scrguien.pdf#scrlttr2.cmd.markboth">182</a>, <a href="scrguien.pdf#maincls.cmd.markboth">70</a></li> -<li><a name="cmd.markright"></a><a href="#cmd.markright">\markright</a> --> <a href="scrguien.pdf#scrlttr2.cmd.markright">182</a>, <a href="scrguien.pdf#maincls.cmd.markright">70</a></li> -<li><a name="cmd.minisec"></a><a href="#cmd.minisec">\minisec</a> --> <a href="scrguien.pdf#maincls.cmd.minisec">90</a></li> -<li><a name="cmd.multfootsep"></a><a href="#cmd.multfootsep">\multfootsep</a> --> <a href="scrguien.pdf#maincls.cmd.multfootsep">76</a></li> -<li><a name="cmd.multiplefootnoteseparator"></a><a href="#cmd.multiplefootnoteseparator">\multiplefootnoteseparator</a> --> <a href="scrguien.pdf#maincls.cmd.multiplefootnoteseparator">76</a></li> -<li><a name="cmd.myrefname"></a><a href="#cmd.myrefname">\myrefname</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.myrefname">313</a></li> -<li><a name="cmd.newbibstyle"></a><a href="#cmd.newbibstyle">\newbibstyle</a> --> <a href="scrguien.pdf#maincls-experts.cmd.newbibstyle">288</a></li> -<li><a name="cmd.newblock"></a><a href="#cmd.newblock">\newblock</a> --> <a href="scrguien.pdf#maincls-experts.cmd.newblock">288</a></li> -<li><a name="cmd.newcaptionname"></a><a href="#cmd.newcaptionname">\newcaptionname</a> --> <a href="scrguien.pdf#scrbase.cmd.newcaptionname">243</a></li> -<li><a name="cmd.newkomafont"></a><a href="#cmd.newkomafont">\newkomafont</a> --> <a href="scrguien.pdf#maincls-experts.cmd.newkomafont">284</a></li> -<li><a name="cmd.newkomavar*"></a><a href="#cmd.newkomavar*">\newkomavar*</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.newkomavar*">305</a></li> -<li><a name="cmd.newkomavar"></a><a href="#cmd.newkomavar">\newkomavar</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.newkomavar">305</a></li> -<li><a name="cmd.newpagestyle"></a><a href="#cmd.newpagestyle">\newpagestyle</a> --> <a href="scrguien.pdf#scrpage.cmd.newpagestyle">211</a></li> -<li><a name="cmd.ohead"></a><a href="#cmd.ohead">\ohead</a> --> <a href="scrguien.pdf#scrpage.cmd.ohead">197</a></li> -<li><a name="cmd.opening"></a><a href="#cmd.opening">\opening</a> --> <a href="scrguien.pdf#scrlttr2.cmd.opening">139</a></li> -<li><a name="cmd.othersectionlevelsformat"></a><a href="#cmd.othersectionlevelsformat">\othersectionlevelsformat</a> --> <a href="scrguien.pdf#maincls.cmd.othersectionlevelsformat">92</a></li> -<li><a name="cmd.pagemark"></a><a href="#cmd.pagemark">\pagemark</a> --> <a href="scrguien.pdf#scrpage.cmd.pagemark">200</a></li> -<li><a name="cmd.pagename"></a><a href="#cmd.pagename">\pagename</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.pagename">313</a></li> -<li><a name="cmd.pagenumbering"></a><a href="#cmd.pagenumbering">\pagenumbering</a> --> <a href="scrguien.pdf#maincls.cmd.pagenumbering">72</a></li> -<li><a name="cmd.pagestyle"></a><a href="#cmd.pagestyle">\pagestyle</a> --> <a href="scrguien.pdf#scrlttr2.cmd.pagestyle">180</a>, <a href="scrguien.pdf#maincls.cmd.pagestyle">68</a></li> -<li><a name="cmd.paragraph*"></a><a href="#cmd.paragraph*">\paragraph*</a> --> <a href="scrguien.pdf#maincls.cmd.paragraph*">89</a></li> -<li><a name="cmd.paragraph"></a><a href="#cmd.paragraph">\paragraph</a> --> <a href="scrguien.pdf#maincls.cmd.paragraph">85</a></li> -<li><a name="cmd.part*"></a><a href="#cmd.part*">\part*</a> --> <a href="scrguien.pdf#maincls.cmd.part*">89</a></li> -<li><a name="cmd.part"></a><a href="#cmd.part">\part</a> --> <a href="scrguien.pdf#maincls.cmd.part">85</a></li> -<li><a name="cmd.partformat"></a><a href="#cmd.partformat">\partformat</a> --> <a href="scrguien.pdf#maincls.cmd.partformat">92</a></li> -<li><a name="cmd.partheademptypage"></a><a href="#cmd.partheademptypage">\partheademptypage</a> --> <a href="scrguien.pdf#maincls-experts.cmd.partheademptypage">285</a></li> -<li><a name="cmd.partheadendvskip"></a><a href="#cmd.partheadendvskip">\partheadendvskip</a> --> <a href="scrguien.pdf#maincls-experts.cmd.partheadendvskip">285</a></li> -<li><a name="cmd.partheadmidvskip"></a><a href="#cmd.partheadmidvskip">\partheadmidvskip</a> --> <a href="scrguien.pdf#maincls-experts.cmd.partheadmidvskip">285</a></li> -<li><a name="cmd.partheadstartvskip"></a><a href="#cmd.partheadstartvskip">\partheadstartvskip</a> --> <a href="scrguien.pdf#maincls-experts.cmd.partheadstartvskip">285</a></li> -<li><a name="cmd.partpagestyle"></a><a href="#cmd.partpagestyle">\partpagestyle</a> --> <a href="scrguien.pdf#maincls.cmd.partpagestyle">70</a></li> -<li><a name="cmd.phonename"></a><a href="#cmd.phonename">\phonename</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.phonename">313</a></li> -<li><a name="cmd.pnumfont"></a><a href="#cmd.pnumfont">\pnumfont</a> --> <a href="scrguien.pdf#scrpage.cmd.pnumfont">201</a></li> -<li><a name="cmd.providecaptionname"></a><a href="#cmd.providecaptionname">\providecaptionname</a> --> <a href="scrguien.pdf#scrbase.cmd.providecaptionname">243</a></li> -<li><a name="cmd.providepagestyle"></a><a href="#cmd.providepagestyle">\providepagestyle</a> --> <a href="scrguien.pdf#scrpage.cmd.providepagestyle">211</a></li> -<li><a name="cmd.ps"></a><a href="#cmd.ps">\ps</a> --> <a href="scrguien.pdf#scrlttr2.cmd.ps">142</a></li> -<li><a name="cmd.publishers"></a><a href="#cmd.publishers">\publishers</a> --> <a href="scrguien.pdf#maincls.cmd.publishers">57</a></li> -<li><a name="cmd.raggedbottom"></a><a href="#cmd.raggedbottom">\raggedbottom</a> --> <a href="scrguien.pdf#maincls.cmd.raggedbottom">48</a></li> -<li><a name="cmd.raggedchapterentry"></a><a href="#cmd.raggedchapterentry">\raggedchapterentry</a> --> <a href="scrguien.pdf#maincls-experts.cmd.raggedchapterentry">285</a></li> -<li><a name="cmd.raggeddictum"></a><a href="#cmd.raggeddictum">\raggeddictum</a> --> <a href="scrguien.pdf#maincls.cmd.raggeddictum">97</a></li> -<li><a name="cmd.raggeddictumauthor"></a><a href="#cmd.raggeddictumauthor">\raggeddictumauthor</a> --> <a href="scrguien.pdf#maincls.cmd.raggeddictumauthor">97</a></li> -<li><a name="cmd.raggeddictumtext"></a><a href="#cmd.raggeddictumtext">\raggeddictumtext</a> --> <a href="scrguien.pdf#maincls.cmd.raggeddictumtext">97</a></li> -<li><a name="cmd.raggedpart"></a><a href="#cmd.raggedpart">\raggedpart</a> --> <a href="scrguien.pdf#maincls.cmd.raggedpart">91</a></li> -<li><a name="cmd.raggedsection"></a><a href="#cmd.raggedsection">\raggedsection</a> --> <a href="scrguien.pdf#maincls.cmd.raggedsection">91</a></li> -<li><a name="cmd.raggedsignature"></a><a href="#cmd.raggedsignature">\raggedsignature</a> --> <a href="scrguien.pdf#scrlttr2.cmd.raggedsignature">184</a></li> -<li><a name="cmd.recalctypearea"></a><a href="#cmd.recalctypearea">\recalctypearea</a> --> <a href="scrguien.pdf#typearea.cmd.recalctypearea">35</a></li> -<li><a name="cmd.refoot"></a><a href="#cmd.refoot">\refoot</a> --> <a href="scrguien.pdf#scrpage.cmd.refoot">197</a></li> -<li><a name="cmd.rehead"></a><a href="#cmd.rehead">\rehead</a> --> <a href="scrguien.pdf#scrpage.cmd.rehead">197</a></li> -<li><a name="cmd.removefromtoclist"></a><a href="#cmd.removefromtoclist">\removefromtoclist</a> --> <a href="scrguien.pdf#tocbasic.cmd.removefromtoclist">263</a></li> -<li><a name="cmd.removereffields"></a><a href="#cmd.removereffields">\removereffields</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.removereffields">305</a></li> -<li><a name="cmd.renewcaptionname"></a><a href="#cmd.renewcaptionname">\renewcaptionname</a> --> <a href="scrguien.pdf#scrbase.cmd.renewcaptionname">243</a></li> -<li><a name="cmd.renewpagestyle"></a><a href="#cmd.renewpagestyle">\renewpagestyle</a> --> <a href="scrguien.pdf#scrpage.cmd.renewpagestyle">211</a></li> -<li><a name="cmd.rfoot"></a><a href="#cmd.rfoot">\rfoot</a> --> <a href="scrguien.pdf#scrpage.cmd.rfoot">197</a></li> -<li><a name="cmd.rightmark"></a><a href="#cmd.rightmark">\rightmark</a> --> <a href="scrguien.pdf#scrpage.cmd.rightmark">199</a></li> -<li><a name="cmd.rofoot"></a><a href="#cmd.rofoot">\rofoot</a> --> <a href="scrguien.pdf#scrpage.cmd.rofoot">197</a></li> -<li><a name="cmd.rohead"></a><a href="#cmd.rohead">\rohead</a> --> <a href="scrguien.pdf#scrpage.cmd.rohead">197</a></li> -<li><a name="cmd.scr@ifVTeX"></a><a href="#cmd.scr@ifVTeX">\scr@ifVTeX</a> --> <a href="scrguien.pdf#scrbase.cmd.scr@ifVTeX">241</a></li> -<li><a name="cmd.scr@ifdvioutput"></a><a href="#cmd.scr@ifdvioutput">\scr@ifdvioutput</a> --> <a href="scrguien.pdf#scrbase.cmd.scr@ifdvioutput">242</a></li> -<li><a name="cmd.scr@ifpdfoutput"></a><a href="#cmd.scr@ifpdfoutput">\scr@ifpdfoutput</a> --> <a href="scrguien.pdf#scrbase.cmd.scr@ifpdfoutput">241</a></li> -<li><a name="cmd.scr@ifpdftex"></a><a href="#cmd.scr@ifpdftex">\scr@ifpdftex</a> --> <a href="scrguien.pdf#scrbase.cmd.scr@ifpdftex">241</a></li> -<li><a name="cmd.scr@ifpsoutput"></a><a href="#cmd.scr@ifpsoutput">\scr@ifpsoutput</a> --> <a href="scrguien.pdf#scrbase.cmd.scr@ifpsoutput">242</a></li> -<li><a name="cmd.scr@ifundefinedorrelax"></a><a href="#cmd.scr@ifundefinedorrelax">\scr@ifundefinedorrelax</a> --> <a href="scrguien.pdf#scrbase.cmd.scr@ifundefinedorrelax">241</a></li> -<li><a name="cmd.section*"></a><a href="#cmd.section*">\section*</a> --> <a href="scrguien.pdf#maincls.cmd.section*">89</a></li> -<li><a name="cmd.section"></a><a href="#cmd.section">\section</a> --> <a href="scrguien.pdf#maincls.cmd.section">85</a></li> -<li><a name="cmd.sectionmark"></a><a href="#cmd.sectionmark">\sectionmark</a> --> <a href="scrguien.pdf#maincls.cmd.sectionmark">94</a></li> -<li><a name="cmd.sectionmarkformat"></a><a href="#cmd.sectionmarkformat">\sectionmarkformat</a> --> <a href="scrguien.pdf#maincls.cmd.sectionmarkformat">94</a></li> -<li><a name="cmd.setbibpreamble"></a><a href="#cmd.setbibpreamble">\setbibpreamble</a> --> <a href="scrguien.pdf#maincls.cmd.setbibpreamble">126</a></li> -<li><a name="cmd.setcaphanging"></a><a href="#cmd.setcaphanging">\setcaphanging</a> --> <a href="scrguien.pdf#maincls.cmd.setcaphanging">119</a></li> -<li><a name="cmd.setcapindent*"></a><a href="#cmd.setcapindent*">\setcapindent*</a> --> <a href="scrguien.pdf#maincls.cmd.setcapindent*">119</a></li> -<li><a name="cmd.setcapindent"></a><a href="#cmd.setcapindent">\setcapindent</a> --> <a href="scrguien.pdf#maincls.cmd.setcapindent">119</a></li> -<li><a name="cmd.setcapmargin*"></a><a href="#cmd.setcapmargin*">\setcapmargin*</a> --> <a href="scrguien.pdf#maincls.cmd.setcapmargin*">120</a></li> -<li><a name="cmd.setcapmargin"></a><a href="#cmd.setcapmargin">\setcapmargin</a> --> <a href="scrguien.pdf#maincls.cmd.setcapmargin">120</a></li> -<li><a name="cmd.setcapwidth"></a><a href="#cmd.setcapwidth">\setcapwidth</a> --> <a href="scrguien.pdf#maincls.cmd.setcapwidth">120</a></li> -<li><a name="cmd.setchapterpreamble"></a><a href="#cmd.setchapterpreamble">\setchapterpreamble</a> --> <a href="scrguien.pdf#maincls.cmd.setchapterpreamble">95</a></li> -<li><a name="cmd.setfootbotline"></a><a href="#cmd.setfootbotline">\setfootbotline</a> --> <a href="scrguien.pdf#scrpage.cmd.setfootbotline">203</a></li> -<li><a name="cmd.setfootnoterule"></a><a href="#cmd.setfootnoterule">\setfootnoterule</a> --> <a href="scrguien.pdf#maincls.cmd.setfootnoterule">79</a></li> -<li><a name="cmd.setfootseptline"></a><a href="#cmd.setfootseptline">\setfootseptline</a> --> <a href="scrguien.pdf#scrpage.cmd.setfootseptline">203</a></li> -<li><a name="cmd.setfootwidth"></a><a href="#cmd.setfootwidth">\setfootwidth</a> --> <a href="scrguien.pdf#scrpage.cmd.setfootwidth">202</a></li> -<li><a name="cmd.setheadsepline"></a><a href="#cmd.setheadsepline">\setheadsepline</a> --> <a href="scrguien.pdf#scrpage.cmd.setheadsepline">203</a></li> -<li><a name="cmd.setheadtopline"></a><a href="#cmd.setheadtopline">\setheadtopline</a> --> <a href="scrguien.pdf#scrpage.cmd.setheadtopline">203</a></li> -<li><a name="cmd.setheadwidth"></a><a href="#cmd.setheadwidth">\setheadwidth</a> --> <a href="scrguien.pdf#scrpage.cmd.setheadwidth">202</a></li> -<li><a name="cmd.setindexpreamble"></a><a href="#cmd.setindexpreamble">\setindexpreamble</a> --> <a href="scrguien.pdf#maincls.cmd.setindexpreamble">129</a></li> -<li><a name="cmd.setkomafont"></a><a href="#cmd.setkomafont">\setkomafont</a> --> <a href="scrguien.pdf#scrextend.cmd.setkomafont">226</a>, <a href="scrguien.pdf#maincls.cmd.setkomafont">51</a></li> -<li><a name="cmd.setkomavar*"></a><a href="#cmd.setkomavar*">\setkomavar*</a> --> <a href="scrguien.pdf#scrlttr2.cmd.setkomavar*">133</a></li> -<li><a name="cmd.setkomavar"></a><a href="#cmd.setkomavar">\setkomavar</a> --> <a href="scrguien.pdf#scrlttr2.cmd.setkomavar">133</a></li> -<li><a name="cmd.setlengthtoplength"></a><a href="#cmd.setlengthtoplength">\setlengthtoplength</a> --> <a href="scrguien.pdf#scrlttr2.cmd.setlengthtoplength">135</a></li> -<li><a name="cmd.setparsizes"></a><a href="#cmd.setparsizes">\setparsizes</a> --> <a href="scrguien.pdf#maincls-experts.cmd.setparsizes">284</a></li> -<li><a name="cmd.setpartpreamble"></a><a href="#cmd.setpartpreamble">\setpartpreamble</a> --> <a href="scrguien.pdf#maincls.cmd.setpartpreamble">95</a></li> -<li><a name="cmd.setshowstyle"></a><a href="#cmd.setshowstyle">\setshowstyle</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.setshowstyle">309</a></li> -<li><a name="cmd.settime"></a><a href="#cmd.settime">\settime</a> --> <a href="scrguien.pdf#datetime.cmd.settime">220</a></li> -<li><a name="cmd.setuptoc"></a><a href="#cmd.setuptoc">\setuptoc</a> --> <a href="scrguien.pdf#tocbasic.cmd.setuptoc">268</a></li> -<li><a name="cmd.showISOenvelope"></a><a href="#cmd.showISOenvelope">\showISOenvelope</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.showISOenvelope">309</a></li> -<li><a name="cmd.showUScheck"></a><a href="#cmd.showUScheck">\showUScheck</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.showUScheck">309</a></li> -<li><a name="cmd.showUScommercial"></a><a href="#cmd.showUScommercial">\showUScommercial</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.showUScommercial">309</a></li> -<li><a name="cmd.showenvelope"></a><a href="#cmd.showenvelope">\showenvelope</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.showenvelope">309</a></li> -<li><a name="cmd.showfields"></a><a href="#cmd.showfields">\showfields</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.showfields">308</a></li> -<li><a name="cmd.storearea"></a><a href="#cmd.storearea">\storearea</a> --> <a href="scrguien.pdf#typearea-experts.cmd.storearea">280</a></li> -<li><a name="cmd.subject"></a><a href="#cmd.subject">\subject</a> --> <a href="scrguien.pdf#maincls.cmd.subject">57</a></li> -<li><a name="cmd.subjectname"></a><a href="#cmd.subjectname">\subjectname</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.subjectname">313</a></li> -<li><a name="cmd.subparagraph*"></a><a href="#cmd.subparagraph*">\subparagraph*</a> --> <a href="scrguien.pdf#maincls.cmd.subparagraph*">89</a></li> -<li><a name="cmd.subparagraph"></a><a href="#cmd.subparagraph">\subparagraph</a> --> <a href="scrguien.pdf#maincls.cmd.subparagraph">85</a></li> -<li><a name="cmd.subsection*"></a><a href="#cmd.subsection*">\subsection*</a> --> <a href="scrguien.pdf#maincls.cmd.subsection*">89</a></li> -<li><a name="cmd.subsection"></a><a href="#cmd.subsection">\subsection</a> --> <a href="scrguien.pdf#maincls.cmd.subsection">85</a></li> -<li><a name="cmd.subsectionmark"></a><a href="#cmd.subsectionmark">\subsectionmark</a> --> <a href="scrguien.pdf#maincls.cmd.subsectionmark">94</a></li> -<li><a name="cmd.subsectionmarkformat"></a><a href="#cmd.subsectionmarkformat">\subsectionmarkformat</a> --> <a href="scrguien.pdf#maincls.cmd.subsectionmarkformat">94</a></li> -<li><a name="cmd.subsubsection*"></a><a href="#cmd.subsubsection*">\subsubsection*</a> --> <a href="scrguien.pdf#maincls.cmd.subsubsection*">89</a></li> -<li><a name="cmd.subsubsection"></a><a href="#cmd.subsubsection">\subsubsection</a> --> <a href="scrguien.pdf#maincls.cmd.subsubsection">85</a></li> -<li><a name="cmd.subtitle"></a><a href="#cmd.subtitle">\subtitle</a> --> <a href="scrguien.pdf#maincls.cmd.subtitle">57</a></li> -<li><a name="cmd.tableformat"></a><a href="#cmd.tableformat">\tableformat</a> --> <a href="scrguien.pdf#maincls.cmd.tableformat">119</a></li> -<li><a name="cmd.tableofcontents"></a><a href="#cmd.tableofcontents">\tableofcontents</a> --> <a href="scrguien.pdf#maincls.cmd.tableofcontents">63</a></li> -<li><a name="cmd.textsubscript"></a><a href="#cmd.textsubscript">\textsubscript</a> --> <a href="scrguien.pdf#scrextend.cmd.textsubscript">226</a>, <a href="scrguien.pdf#maincls.cmd.textsubscript">50</a></li> -<li><a name="cmd.textsuperscript"></a><a href="#cmd.textsuperscript">\textsuperscript</a> --> <a href="scrguien.pdf#scrextend.cmd.textsuperscript">226</a>, <a href="scrguien.pdf#maincls.cmd.textsuperscript">50</a></li> -<li><a name="cmd.thanks"></a><a href="#cmd.thanks">\thanks</a> --> <a href="scrguien.pdf#maincls.cmd.thanks">57</a></li> -<li><a name="cmd.theenumi"></a><a href="#cmd.theenumi">\theenumi</a> --> <a href="scrguien.pdf#maincls.cmd.theenumi">100</a></li> -<li><a name="cmd.theenumii"></a><a href="#cmd.theenumii">\theenumii</a> --> <a href="scrguien.pdf#maincls.cmd.theenumii">100</a></li> -<li><a name="cmd.theenumiii"></a><a href="#cmd.theenumiii">\theenumiii</a> --> <a href="scrguien.pdf#maincls.cmd.theenumiii">100</a></li> -<li><a name="cmd.theenumiv"></a><a href="#cmd.theenumiv">\theenumiv</a> --> <a href="scrguien.pdf#maincls.cmd.theenumiv">100</a></li> -<li><a name="cmd.thefootnotemark"></a><a href="#cmd.thefootnotemark">\thefootnotemark</a> --> <a href="scrguien.pdf#maincls.cmd.thefootnotemark">77</a></li> -<li><a name="cmd.thispagestyle"></a><a href="#cmd.thispagestyle">\thispagestyle</a> --> <a href="scrguien.pdf#scrlttr2.cmd.thispagestyle">180</a>, <a href="scrguien.pdf#maincls.cmd.thispagestyle">68</a></li> -<li><a name="cmd.thistime*"></a><a href="#cmd.thistime*">\thistime*</a> --> <a href="scrguien.pdf#datetime.cmd.thistime*">220</a></li> -<li><a name="cmd.thistime"></a><a href="#cmd.thistime">\thistime</a> --> <a href="scrguien.pdf#datetime.cmd.thistime">220</a></li> -<li><a name="cmd.title"></a><a href="#cmd.title">\title</a> --> <a href="scrguien.pdf#maincls.cmd.title">57</a></li> -<li><a name="cmd.titlehead"></a><a href="#cmd.titlehead">\titlehead</a> --> <a href="scrguien.pdf#maincls.cmd.titlehead">57</a></li> -<li><a name="cmd.titlepagestyle"></a><a href="#cmd.titlepagestyle">\titlepagestyle</a> --> <a href="scrguien.pdf#scrextend.cmd.titlepagestyle">228</a>, <a href="scrguien.pdf#maincls.cmd.titlepagestyle">70</a></li> -<li><a name="cmd.tocbasic@@after@hook"></a><a href="#cmd.tocbasic@@after@hook">\tocbasic@@after@hook</a> --> <a href="scrguien.pdf#tocbasic.cmd.tocbasic@@after@hook">271</a></li> -<li><a name="cmd.tocbasic@@before@hook"></a><a href="#cmd.tocbasic@@before@hook">\tocbasic@@before@hook</a> --> <a href="scrguien.pdf#tocbasic.cmd.tocbasic@@before@hook">271</a></li> -<li><a name="cmd.tocbasic@extend@babel"></a><a href="#cmd.tocbasic@extend@babel">\tocbasic@extend@babel</a> --> <a href="scrguien.pdf#tocbasic.cmd.tocbasic@extend@babel">270</a></li> -<li><a name="cmd.tocbasic@listhead"></a><a href="#cmd.tocbasic@listhead">\tocbasic@listhead</a> --> <a href="scrguien.pdf#tocbasic.cmd.tocbasic@listhead">272</a></li> -<li><a name="cmd.tocbasic@listhead@"></a><a href="#cmd.tocbasic@listhead@">\tocbasic@listhead@</a> --> <a href="scrguien.pdf#tocbasic.cmd.tocbasic@listhead@">272</a></li> -<li><a name="cmd.tocbasic@starttoc"></a><a href="#cmd.tocbasic@starttoc">\tocbasic@starttoc</a> --> <a href="scrguien.pdf#tocbasic.cmd.tocbasic@starttoc">271</a></li> -<li><a name="cmd.tocbasicautomode"></a><a href="#cmd.tocbasicautomode">\tocbasicautomode</a> --> <a href="scrguien.pdf#tocbasic.cmd.tocbasicautomode">264</a></li> -<li><a name="cmd.typearea"></a><a href="#cmd.typearea">\typearea</a> --> <a href="scrguien.pdf#typearea.cmd.typearea">35</a></li> -<li><a name="cmd.unitfactor"></a><a href="#cmd.unitfactor">\unitfactor</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.unitfactor">309</a></li> -<li><a name="cmd.unsettoc"></a><a href="#cmd.unsettoc">\unsettoc</a> --> <a href="scrguien.pdf#tocbasic.cmd.unsettoc">268</a></li> -<li><a name="cmd.uppertitleback"></a><a href="#cmd.uppertitleback">\uppertitleback</a> --> <a href="scrguien.pdf#maincls.cmd.uppertitleback">60</a></li> -<li><a name="cmd.usekomafont"></a><a href="#cmd.usekomafont">\usekomafont</a> --> <a href="scrguien.pdf#scrextend.cmd.usekomafont">226</a>, <a href="scrguien.pdf#maincls.cmd.usekomafont">51</a></li> -<li><a name="cmd.usekomavar*"></a><a href="#cmd.usekomavar*">\usekomavar*</a> --> <a href="scrguien.pdf#scrlttr2.cmd.usekomavar*">134</a>, <a href="scrguien.pdf#scrlttr2-experts.cmd.usekomavar*">306</a></li> -<li><a name="cmd.usekomavar"></a><a href="#cmd.usekomavar">\usekomavar</a> --> <a href="scrguien.pdf#scrlttr2.cmd.usekomavar">134</a>, <a href="scrguien.pdf#scrlttr2-experts.cmd.usekomavar">306</a></li> -<li><a name="cmd.usepackage"></a><a href="#cmd.usepackage">\usepackage</a> --> <a href="scrguien.pdf#typearea.cmd.usepackage">27</a></li> -<li><a name="cmd.useplength"></a><a href="#cmd.useplength">\useplength</a> --> <a href="scrguien.pdf#scrlttr2.cmd.useplength">135</a></li> -<li><a name="cmd.wwwname"></a><a href="#cmd.wwwname">\wwwname</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.wwwname">313</a></li> -<li><a name="cmd.yourmailname"></a><a href="#cmd.yourmailname">\yourmailname</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.yourmailname">313</a></li> -<li><a name="cmd.yourrefname"></a><a href="#cmd.yourrefname">\yourrefname</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.yourrefname">313</a></li> +<li><a name="cmd.@addtoplength"></a><a href="#cmd.@addtoplength">\@addtoplength</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.@addtoplength">361</a></li> +<li><a name="cmd.@fontsizefilebase"></a><a href="#cmd.@fontsizefilebase">\@fontsizefilebase</a> --> <a href="scrguien.pdf#maincls-experts.cmd.@fontsizefilebase">350</a></li> +<li><a name="cmd.@mkboth"></a><a href="#cmd.@mkboth">\@mkboth</a> --> <a href="scrguien.pdf#scrlayer.cmd.@mkboth">331</a></li> +<li><a name="cmd.@mkdouble"></a><a href="#cmd.@mkdouble">\@mkdouble</a> --> <a href="scrguien.pdf#scrlayer.cmd.@mkdouble">331</a></li> +<li><a name="cmd.@mkleft"></a><a href="#cmd.@mkleft">\@mkleft</a> --> <a href="scrguien.pdf#scrlayer.cmd.@mkleft">331</a></li> +<li><a name="cmd.@mkright"></a><a href="#cmd.@mkright">\@mkright</a> --> <a href="scrguien.pdf#scrlayer.cmd.@mkright">331</a></li> +<li><a name="cmd.@newplength"></a><a href="#cmd.@newplength">\@newplength</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.@newplength">361</a></li> +<li><a name="cmd.@openbib@code"></a><a href="#cmd.@openbib@code">\@openbib@code</a> --> <a href="scrguien.pdf#maincls-experts.cmd.@openbib@code">354</a></li> +<li><a name="cmd.@setplength"></a><a href="#cmd.@setplength">\@setplength</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.@setplength">361</a></li> +<li><a name="cmd.AddLayersAtBeginOfPageStyle"></a><a href="#cmd.AddLayersAtBeginOfPageStyle">\AddLayersAtBeginOfPageStyle</a> --> <a href="scrguien.pdf#scrlayer.cmd.AddLayersAtBeginOfPageStyle">326</a></li> +<li><a name="cmd.AddLayersAtEndOfPageStyle"></a><a href="#cmd.AddLayersAtEndOfPageStyle">\AddLayersAtEndOfPageStyle</a> --> <a href="scrguien.pdf#scrlayer.cmd.AddLayersAtEndOfPageStyle">326</a></li> +<li><a name="cmd.AddLayersToPageStyle"></a><a href="#cmd.AddLayersToPageStyle">\AddLayersToPageStyle</a> --> <a href="scrguien.pdf#scrlayer.cmd.AddLayersToPageStyle">326</a></li> +<li><a name="cmd.AddLayersToPageStyleAfterLayer"></a><a href="#cmd.AddLayersToPageStyleAfterLayer">\AddLayersToPageStyleAfterLayer</a> --> <a href="scrguien.pdf#scrlayer.cmd.AddLayersToPageStyleAfterLayer">327</a></li> +<li><a name="cmd.AddLayersToPageStyleBeforeLayer"></a><a href="#cmd.AddLayersToPageStyleBeforeLayer">\AddLayersToPageStyleBeforeLayer</a> --> <a href="scrguien.pdf#scrlayer.cmd.AddLayersToPageStyleBeforeLayer">327</a></li> +<li><a name="cmd.AddToLayerPageStyleOptions"></a><a href="#cmd.AddToLayerPageStyleOptions">\AddToLayerPageStyleOptions</a> --> <a href="scrguien.pdf#scrlayer.cmd.AddToLayerPageStyleOptions">327</a></li> +<li><a name="cmd.Address"></a><a href="#cmd.Address">\Address</a> --> <a href="scrguien.pdf#scraddr.cmd.Address">248</a></li> +<li><a name="cmd.AfterAtEndOfClass"></a><a href="#cmd.AfterAtEndOfClass">\AfterAtEndOfClass</a> --> <a href="scrguien.pdf#scrlfile.cmd.AfterAtEndOfClass">279</a></li> +<li><a name="cmd.AfterAtEndOfPackage"></a><a href="#cmd.AfterAtEndOfPackage">\AfterAtEndOfPackage</a> --> <a href="scrguien.pdf#scrlfile.cmd.AfterAtEndOfPackage">279</a></li> +<li><a name="cmd.AfterBibliographyPreamble"></a><a href="#cmd.AfterBibliographyPreamble">\AfterBibliographyPreamble</a> --> <a href="scrguien.pdf#maincls.cmd.AfterBibliographyPreamble">133</a></li> +<li><a name="cmd.AfterCalculatingTypearea"></a><a href="#cmd.AfterCalculatingTypearea">\AfterCalculatingTypearea</a> --> <a href="scrguien.pdf#typearea-experts.cmd.AfterCalculatingTypearea">347</a></li> +<li><a name="cmd.AfterClass!"></a><a href="#cmd.AfterClass!">\AfterClass!</a> --> <a href="scrguien.pdf#scrlfile.cmd.AfterClass!">279</a></li> +<li><a name="cmd.AfterClass*"></a><a href="#cmd.AfterClass*">\AfterClass*</a> --> <a href="scrguien.pdf#scrlfile.cmd.AfterClass*">279</a></li> +<li><a name="cmd.AfterClass+"></a><a href="#cmd.AfterClass+">\AfterClass+</a> --> <a href="scrguien.pdf#scrlfile.cmd.AfterClass+">279</a></li> +<li><a name="cmd.AfterClass"></a><a href="#cmd.AfterClass">\AfterClass</a> --> <a href="scrguien.pdf#scrlfile.cmd.AfterClass">279</a></li> +<li><a name="cmd.AfterFile"></a><a href="#cmd.AfterFile">\AfterFile</a> --> <a href="scrguien.pdf#scrlfile.cmd.AfterFile">278</a></li> +<li><a name="cmd.AfterPackage!"></a><a href="#cmd.AfterPackage!">\AfterPackage!</a> --> <a href="scrguien.pdf#scrlfile.cmd.AfterPackage!">279</a></li> +<li><a name="cmd.AfterPackage*"></a><a href="#cmd.AfterPackage*">\AfterPackage*</a> --> <a href="scrguien.pdf#scrlfile.cmd.AfterPackage*">279</a></li> +<li><a name="cmd.AfterPackage+"></a><a href="#cmd.AfterPackage+">\AfterPackage+</a> --> <a href="scrguien.pdf#scrlfile.cmd.AfterPackage+">279</a></li> +<li><a name="cmd.AfterPackage"></a><a href="#cmd.AfterPackage">\AfterPackage</a> --> <a href="scrguien.pdf#scrlfile.cmd.AfterPackage">279</a></li> +<li><a name="cmd.AfterReadingMainAux"></a><a href="#cmd.AfterReadingMainAux">\AfterReadingMainAux</a> --> <a href="scrguien.pdf#scrlfile.cmd.AfterReadingMainAux">281</a></li> +<li><a name="cmd.AfterSelectAnyPageStyle"></a><a href="#cmd.AfterSelectAnyPageStyle">\AfterSelectAnyPageStyle</a> --> <a href="scrguien.pdf#scrlayer.cmd.AfterSelectAnyPageStyle">322</a></li> +<li><a name="cmd.AfterStartingTOC"></a><a href="#cmd.AfterStartingTOC">\AfterStartingTOC</a> --> <a href="scrguien.pdf#tocbasic.cmd.AfterStartingTOC">297</a></li> +<li><a name="cmd.AfterTOCHead"></a><a href="#cmd.AfterTOCHead">\AfterTOCHead</a> --> <a href="scrguien.pdf#tocbasic.cmd.AfterTOCHead">298</a></li> +<li><a name="cmd.AtAddToTocList"></a><a href="#cmd.AtAddToTocList">\AtAddToTocList</a> --> <a href="scrguien.pdf#tocbasic.cmd.AtAddToTocList">293</a></li> +<li><a name="cmd.AtBeginLetter"></a><a href="#cmd.AtBeginLetter">\AtBeginLetter</a> --> <a href="scrguien.pdf#scrlttr2.cmd.AtBeginLetter">144</a></li> +<li><a name="cmd.AtEndBibliography"></a><a href="#cmd.AtEndBibliography">\AtEndBibliography</a> --> <a href="scrguien.pdf#maincls.cmd.AtEndBibliography">133</a></li> +<li><a name="cmd.AtEndLetter"></a><a href="#cmd.AtEndLetter">\AtEndLetter</a> --> <a href="scrguien.pdf#scrlttr2.cmd.AtEndLetter">144</a></li> +<li><a name="cmd.AtEndOfFamilyOptions"></a><a href="#cmd.AtEndOfFamilyOptions">\AtEndOfFamilyOptions</a> --> <a href="scrguien.pdf#scrbase.cmd.AtEndOfFamilyOptions">263</a></li> +<li><a name="cmd.BeforeClass"></a><a href="#cmd.BeforeClass">\BeforeClass</a> --> <a href="scrguien.pdf#scrlfile.cmd.BeforeClass">278</a></li> +<li><a name="cmd.BeforeClosingMainAux"></a><a href="#cmd.BeforeClosingMainAux">\BeforeClosingMainAux</a> --> <a href="scrguien.pdf#scrlfile.cmd.BeforeClosingMainAux">281</a></li> +<li><a name="cmd.BeforeFile"></a><a href="#cmd.BeforeFile">\BeforeFile</a> --> <a href="scrguien.pdf#scrlfile.cmd.BeforeFile">278</a></li> +<li><a name="cmd.BeforePackage"></a><a href="#cmd.BeforePackage">\BeforePackage</a> --> <a href="scrguien.pdf#scrlfile.cmd.BeforePackage">278</a></li> +<li><a name="cmd.BeforeSelectAnyPageStyle"></a><a href="#cmd.BeforeSelectAnyPageStyle">\BeforeSelectAnyPageStyle</a> --> <a href="scrguien.pdf#scrlayer.cmd.BeforeSelectAnyPageStyle">322</a></li> +<li><a name="cmd.BeforeStartingTOC"></a><a href="#cmd.BeforeStartingTOC">\BeforeStartingTOC</a> --> <a href="scrguien.pdf#tocbasic.cmd.BeforeStartingTOC">297</a></li> +<li><a name="cmd.BeforeTOCHead"></a><a href="#cmd.BeforeTOCHead">\BeforeTOCHead</a> --> <a href="scrguien.pdf#tocbasic.cmd.BeforeTOCHead">298</a></li> +<li><a name="cmd.BreakBibliography"></a><a href="#cmd.BreakBibliography">\BreakBibliography</a> --> <a href="scrguien.pdf#maincls.cmd.BreakBibliography">133</a></li> +<li><a name="cmd.ClassName"></a><a href="#cmd.ClassName">\ClassName</a> --> <a href="scrguien.pdf#maincls-experts.cmd.ClassName">348</a></li> +<li><a name="cmd.Comment"></a><a href="#cmd.Comment">\Comment</a> --> <a href="scrguien.pdf#scraddr.cmd.Comment">248</a></li> +<li><a name="cmd.DeclareLayer"></a><a href="#cmd.DeclareLayer">\DeclareLayer</a> --> <a href="scrguien.pdf#scrlayer.cmd.DeclareLayer">315</a></li> +<li><a name="cmd.DeclareNewLayer"></a><a href="#cmd.DeclareNewLayer">\DeclareNewLayer</a> --> <a href="scrguien.pdf#scrlayer.cmd.DeclareNewLayer">315</a></li> +<li><a name="cmd.DeclareNewPageStyleAlias"></a><a href="#cmd.DeclareNewPageStyleAlias">\DeclareNewPageStyleAlias</a> --> <a href="scrguien.pdf#scrlayer.cmd.DeclareNewPageStyleAlias">322</a></li> +<li><a name="cmd.DeclareNewPageStyleByLayers"></a><a href="#cmd.DeclareNewPageStyleByLayers">\DeclareNewPageStyleByLayers</a> --> <a href="scrguien.pdf#scrlayer.cmd.DeclareNewPageStyleByLayers">323</a></li> +<li><a name="cmd.DeclareNewTOC"></a><a href="#cmd.DeclareNewTOC">\DeclareNewTOC</a> --> <a href="scrguien.pdf#tocbasic.cmd.DeclareNewTOC">305</a></li> +<li><a name="cmd.DeclarePageStyleAlias"></a><a href="#cmd.DeclarePageStyleAlias">\DeclarePageStyleAlias</a> --> <a href="scrguien.pdf#scrlayer.cmd.DeclarePageStyleAlias">322</a></li> +<li><a name="cmd.DeclarePageStyleByLayers"></a><a href="#cmd.DeclarePageStyleByLayers">\DeclarePageStyleByLayers</a> --> <a href="scrguien.pdf#scrlayer.cmd.DeclarePageStyleByLayers">323</a></li> +<li><a name="cmd.DeclareSectionNumberDepth"></a><a href="#cmd.DeclareSectionNumberDepth">\DeclareSectionNumberDepth</a> --> <a href="scrguien.pdf#scrlayer.cmd.DeclareSectionNumberDepth">313</a></li> +<li><a name="cmd.DefineFamily"></a><a href="#cmd.DefineFamily">\DefineFamily</a> --> <a href="scrguien.pdf#scrbase.cmd.DefineFamily">258</a></li> +<li><a name="cmd.DefineFamilyKey"></a><a href="#cmd.DefineFamilyKey">\DefineFamilyKey</a> --> <a href="scrguien.pdf#scrbase.cmd.DefineFamilyKey">259</a></li> +<li><a name="cmd.DefineFamilyMember"></a><a href="#cmd.DefineFamilyMember">\DefineFamilyMember</a> --> <a href="scrguien.pdf#scrbase.cmd.DefineFamilyMember">258</a></li> +<li><a name="cmd.DestroyLayer"></a><a href="#cmd.DestroyLayer">\DestroyLayer</a> --> <a href="scrguien.pdf#scrlayer.cmd.DestroyLayer">320</a></li> +<li><a name="cmd.DestroyPageStyleAlias"></a><a href="#cmd.DestroyPageStyleAlias">\DestroyPageStyleAlias</a> --> <a href="scrguien.pdf#scrlayer.cmd.DestroyPageStyleAlias">323</a></li> +<li><a name="cmd.DestroyRealLayerPageStyle"></a><a href="#cmd.DestroyRealLayerPageStyle">\DestroyRealLayerPageStyle</a> --> <a href="scrguien.pdf#scrlayer.cmd.DestroyRealLayerPageStyle">328</a></li> +<li><a name="cmd.FamilyBoolKey"></a><a href="#cmd.FamilyBoolKey">\FamilyBoolKey</a> --> <a href="scrguien.pdf#scrbase.cmd.FamilyBoolKey">263</a></li> +<li><a name="cmd.FamilyElseValues"></a><a href="#cmd.FamilyElseValues">\FamilyElseValues</a> --> <a href="scrguien.pdf#scrbase.cmd.FamilyElseValues">266</a></li> +<li><a name="cmd.FamilyExecuteOptions"></a><a href="#cmd.FamilyExecuteOptions">\FamilyExecuteOptions</a> --> <a href="scrguien.pdf#scrbase.cmd.FamilyExecuteOptions">261</a></li> +<li><a name="cmd.FamilyKeyState"></a><a href="#cmd.FamilyKeyState">\FamilyKeyState</a> --> <a href="scrguien.pdf#scrbase.cmd.FamilyKeyState">259</a></li> +<li><a name="cmd.FamilyKeyStateNeedValue"></a><a href="#cmd.FamilyKeyStateNeedValue">\FamilyKeyStateNeedValue</a> --> <a href="scrguien.pdf#scrbase.cmd.FamilyKeyStateNeedValue">259</a></li> +<li><a name="cmd.FamilyKeyStateProcessed"></a><a href="#cmd.FamilyKeyStateProcessed">\FamilyKeyStateProcessed</a> --> <a href="scrguien.pdf#scrbase.cmd.FamilyKeyStateProcessed">259</a></li> +<li><a name="cmd.FamilyKeyStateUnknown"></a><a href="#cmd.FamilyKeyStateUnknown">\FamilyKeyStateUnknown</a> --> <a href="scrguien.pdf#scrbase.cmd.FamilyKeyStateUnknown">259</a></li> +<li><a name="cmd.FamilyKeyStateUnknownValue"></a><a href="#cmd.FamilyKeyStateUnknownValue">\FamilyKeyStateUnknownValue</a> --> <a href="scrguien.pdf#scrbase.cmd.FamilyKeyStateUnknownValue">259</a></li> +<li><a name="cmd.FamilyNumericalKey"></a><a href="#cmd.FamilyNumericalKey">\FamilyNumericalKey</a> --> <a href="scrguien.pdf#scrbase.cmd.FamilyNumericalKey">264</a></li> +<li><a name="cmd.FamilyOption"></a><a href="#cmd.FamilyOption">\FamilyOption</a> --> <a href="scrguien.pdf#scrbase.cmd.FamilyOption">262</a></li> +<li><a name="cmd.FamilyOptions"></a><a href="#cmd.FamilyOptions">\FamilyOptions</a> --> <a href="scrguien.pdf#scrbase.cmd.FamilyOptions">261</a></li> +<li><a name="cmd.FamilyProcessOptions"></a><a href="#cmd.FamilyProcessOptions">\FamilyProcessOptions</a> --> <a href="scrguien.pdf#scrbase.cmd.FamilyProcessOptions">260</a></li> +<li><a name="cmd.FamilySetBool"></a><a href="#cmd.FamilySetBool">\FamilySetBool</a> --> <a href="scrguien.pdf#scrbase.cmd.FamilySetBool">263</a></li> +<li><a name="cmd.FamilySetNumerical"></a><a href="#cmd.FamilySetNumerical">\FamilySetNumerical</a> --> <a href="scrguien.pdf#scrbase.cmd.FamilySetNumerical">264</a></li> +<li><a name="cmd.FamilyStringKey"></a><a href="#cmd.FamilyStringKey">\FamilyStringKey</a> --> <a href="scrguien.pdf#scrbase.cmd.FamilyStringKey">266</a></li> +<li><a name="cmd.FamilyUnkownKeyValue"></a><a href="#cmd.FamilyUnkownKeyValue">\FamilyUnkownKeyValue</a> --> <a href="scrguien.pdf#scrbase.cmd.FamilyUnkownKeyValue">266</a></li> +<li><a name="cmd.FirstName"></a><a href="#cmd.FirstName">\FirstName</a> --> <a href="scrguien.pdf#scraddr.cmd.FirstName">248</a></li> +<li><a name="cmd.ForEachLayerOfPageStyle"></a><a href="#cmd.ForEachLayerOfPageStyle">\ForEachLayerOfPageStyle</a> --> <a href="scrguien.pdf#scrlayer.cmd.ForEachLayerOfPageStyle">326</a></li> +<li><a name="cmd.FreeI"></a><a href="#cmd.FreeI">\FreeI</a> --> <a href="scrguien.pdf#scraddr.cmd.FreeI">248</a></li> +<li><a name="cmd.FreeII"></a><a href="#cmd.FreeII">\FreeII</a> --> <a href="scrguien.pdf#scraddr.cmd.FreeII">248</a></li> +<li><a name="cmd.FreeIII"></a><a href="#cmd.FreeIII">\FreeIII</a> --> <a href="scrguien.pdf#scraddr.cmd.FreeIII">248</a></li> +<li><a name="cmd.FreeIV"></a><a href="#cmd.FreeIV">\FreeIV</a> --> <a href="scrguien.pdf#scraddr.cmd.FreeIV">248</a></li> +<li><a name="cmd.GenericMarkFormat"></a><a href="#cmd.GenericMarkFormat">\GenericMarkFormat</a> --> <a href="scrguien.pdf#scrlayer.cmd.GenericMarkFormat">329</a></li> +<li><a name="cmd.GetRealPageStyle"></a><a href="#cmd.GetRealPageStyle">\GetRealPageStyle</a> --> <a href="scrguien.pdf#scrlayer.cmd.GetRealPageStyle">323</a></li> +<li><a name="cmd.IfLayerAtPageStyle"></a><a href="#cmd.IfLayerAtPageStyle">\IfLayerAtPageStyle</a> --> <a href="scrguien.pdf#scrlayer.cmd.IfLayerAtPageStyle">328</a></li> +<li><a name="cmd.IfLayerExists"></a><a href="#cmd.IfLayerExists">\IfLayerExists</a> --> <a href="scrguien.pdf#scrlayer.cmd.IfLayerExists">320</a></li> +<li><a name="cmd.IfLayerPageStyleExists"></a><a href="#cmd.IfLayerPageStyleExists">\IfLayerPageStyleExists</a> --> <a href="scrguien.pdf#scrlayer.cmd.IfLayerPageStyleExists">328</a></li> +<li><a name="cmd.IfLayersAtPageStyle"></a><a href="#cmd.IfLayersAtPageStyle">\IfLayersAtPageStyle</a> --> <a href="scrguien.pdf#scrlayer.cmd.IfLayersAtPageStyle">328</a></li> +<li><a name="cmd.IfRealLayerPageStyleExists"></a><a href="#cmd.IfRealLayerPageStyleExists">\IfRealLayerPageStyleExists</a> --> <a href="scrguien.pdf#scrlayer.cmd.IfRealLayerPageStyleExists">328</a></li> +<li><a name="cmd.IfSomeLayersAtPageStyle"></a><a href="#cmd.IfSomeLayersAtPageStyle">\IfSomeLayersAtPageStyle</a> --> <a href="scrguien.pdf#scrlayer.cmd.IfSomeLayersAtPageStyle">328</a></li> +<li><a name="cmd.InputAddressFile"></a><a href="#cmd.InputAddressFile">\InputAddressFile</a> --> <a href="scrguien.pdf#scraddr.cmd.InputAddressFile">248</a></li> +<li><a name="cmd.KOMAClassName"></a><a href="#cmd.KOMAClassName">\KOMAClassName</a> --> <a href="scrguien.pdf#maincls-experts.cmd.KOMAClassName">348</a></li> +<li><a name="cmd.KOMAScript"></a><a href="#cmd.KOMAScript">\KOMAScript</a> --> <a href="scrguien.pdf#scrbase.cmd.KOMAScript">275</a></li> +<li><a name="cmd.KOMAScriptVersion"></a><a href="#cmd.KOMAScriptVersion">\KOMAScriptVersion</a> --> <a href="scrguien.pdf#scrbase.cmd.KOMAScriptVersion">275</a></li> +<li><a name="cmd.KOMAoption"></a><a href="#cmd.KOMAoption">\KOMAoption</a> --> <a href="scrguien.pdf#typearea.cmd.KOMAoption">29</a></li> +<li><a name="cmd.KOMAoptions"></a><a href="#cmd.KOMAoptions">\KOMAoptions</a> --> <a href="scrguien.pdf#typearea.cmd.KOMAoptions">29</a></li> +<li><a name="cmd.LastName"></a><a href="#cmd.LastName">\LastName</a> --> <a href="scrguien.pdf#scraddr.cmd.LastName">248</a></li> +<li><a name="cmd.LetterOptionNeedsPapersize"></a><a href="#cmd.LetterOptionNeedsPapersize">\LetterOptionNeedsPapersize</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.LetterOptionNeedsPapersize">373</a></li> +<li><a name="cmd.LoadLetterOption"></a><a href="#cmd.LoadLetterOption">\LoadLetterOption</a> --> <a href="scrguien.pdf#scrlttr2.cmd.LoadLetterOption">192</a></li> +<li><a name="cmd.MakeMarkcase"></a><a href="#cmd.MakeMarkcase">\MakeMarkcase</a> --> <a href="scrguien.pdf#tocbasic.cmd.MakeMarkcase">298</a>, <a href="scrguien.pdf#scrlayer.cmd.MakeMarkcase">329</a></li> +<li><a name="cmd.ModifyLayer"></a><a href="#cmd.ModifyLayer">\ModifyLayer</a> --> <a href="scrguien.pdf#scrlayer.cmd.ModifyLayer">315</a></li> +<li><a name="cmd.ModifyLayerPageStyleOptions"></a><a href="#cmd.ModifyLayerPageStyleOptions">\ModifyLayerPageStyleOptions</a> --> <a href="scrguien.pdf#scrlayer.cmd.ModifyLayerPageStyleOptions">327</a></li> +<li><a name="cmd.Name"></a><a href="#cmd.Name">\Name</a> --> <a href="scrguien.pdf#scraddr.cmd.Name">248</a></li> +<li><a name="cmd.PreventPackageFromLoading*"></a><a href="#cmd.PreventPackageFromLoading*">\PreventPackageFromLoading*</a> --> <a href="scrguien.pdf#scrlfile.cmd.PreventPackageFromLoading*">285</a></li> +<li><a name="cmd.PreventPackageFromLoading"></a><a href="#cmd.PreventPackageFromLoading">\PreventPackageFromLoading</a> --> <a href="scrguien.pdf#scrlfile.cmd.PreventPackageFromLoading">285</a></li> +<li><a name="cmd.ProvideLayer"></a><a href="#cmd.ProvideLayer">\ProvideLayer</a> --> <a href="scrguien.pdf#scrlayer.cmd.ProvideLayer">315</a></li> +<li><a name="cmd.ProvidePageStyleAlias"></a><a href="#cmd.ProvidePageStyleAlias">\ProvidePageStyleAlias</a> --> <a href="scrguien.pdf#scrlayer.cmd.ProvidePageStyleAlias">322</a></li> +<li><a name="cmd.ProvidePageStyleByLayers"></a><a href="#cmd.ProvidePageStyleByLayers">\ProvidePageStyleByLayers</a> --> <a href="scrguien.pdf#scrlayer.cmd.ProvidePageStyleByLayers">323</a></li> +<li><a name="cmd.RedeclareLayer"></a><a href="#cmd.RedeclareLayer">\RedeclareLayer</a> --> <a href="scrguien.pdf#scrlayer.cmd.RedeclareLayer">315</a></li> +<li><a name="cmd.RedeclarePageStyleAlias"></a><a href="#cmd.RedeclarePageStyleAlias">\RedeclarePageStyleAlias</a> --> <a href="scrguien.pdf#scrlayer.cmd.RedeclarePageStyleAlias">322</a></li> +<li><a name="cmd.RedeclarePageStyleByLayers"></a><a href="#cmd.RedeclarePageStyleByLayers">\RedeclarePageStyleByLayers</a> --> <a href="scrguien.pdf#scrlayer.cmd.RedeclarePageStyleByLayers">323</a></li> +<li><a name="cmd.RemoveLayersFromPageStyle"></a><a href="#cmd.RemoveLayersFromPageStyle">\RemoveLayersFromPageStyle</a> --> <a href="scrguien.pdf#scrlayer.cmd.RemoveLayersFromPageStyle">326</a></li> +<li><a name="cmd.ReplaceClass"></a><a href="#cmd.ReplaceClass">\ReplaceClass</a> --> <a href="scrguien.pdf#scrlfile.cmd.ReplaceClass">283</a></li> +<li><a name="cmd.ReplaceInput"></a><a href="#cmd.ReplaceInput">\ReplaceInput</a> --> <a href="scrguien.pdf#scrlfile.cmd.ReplaceInput">282</a></li> +<li><a name="cmd.ReplacePackage"></a><a href="#cmd.ReplacePackage">\ReplacePackage</a> --> <a href="scrguien.pdf#scrlfile.cmd.ReplacePackage">283</a></li> +<li><a name="cmd.ResetPreventPackageFromLoading"></a><a href="#cmd.ResetPreventPackageFromLoading">\ResetPreventPackageFromLoading</a> --> <a href="scrguien.pdf#scrlfile.cmd.ResetPreventPackageFromLoading">286</a></li> +<li><a name="cmd.StorePreventPackageFromLoading"></a><a href="#cmd.StorePreventPackageFromLoading">\StorePreventPackageFromLoading</a> --> <a href="scrguien.pdf#scrlfile.cmd.StorePreventPackageFromLoading">286</a></li> +<li><a name="cmd.TOCclone"></a><a href="#cmd.TOCclone">\TOCclone</a> --> <a href="scrguien.pdf#scrwfile.cmd.TOCclone">289</a></li> +<li><a name="cmd.Telephone"></a><a href="#cmd.Telephone">\Telephone</a> --> <a href="scrguien.pdf#scraddr.cmd.Telephone">248</a></li> +<li><a name="cmd.UnPreventPackageFromLoading*"></a><a href="#cmd.UnPreventPackageFromLoading*">\UnPreventPackageFromLoading*</a> --> <a href="scrguien.pdf#scrlfile.cmd.UnPreventPackageFromLoading*">287</a></li> +<li><a name="cmd.UnPreventPackageFromLoading"></a><a href="#cmd.UnPreventPackageFromLoading">\UnPreventPackageFromLoading</a> --> <a href="scrguien.pdf#scrlfile.cmd.UnPreventPackageFromLoading">287</a></li> +<li><a name="cmd.UnReplaceClass"></a><a href="#cmd.UnReplaceClass">\UnReplaceClass</a> --> <a href="scrguien.pdf#scrlfile.cmd.UnReplaceClass">285</a></li> +<li><a name="cmd.UnReplaceInput"></a><a href="#cmd.UnReplaceInput">\UnReplaceInput</a> --> <a href="scrguien.pdf#scrlfile.cmd.UnReplaceInput">285</a></li> +<li><a name="cmd.UnReplacePackage"></a><a href="#cmd.UnReplacePackage">\UnReplacePackage</a> --> <a href="scrguien.pdf#scrlfile.cmd.UnReplacePackage">285</a></li> +<li><a name="cmd.UnifyLayersAtPageStyle"></a><a href="#cmd.UnifyLayersAtPageStyle">\UnifyLayersAtPageStyle</a> --> <a href="scrguien.pdf#scrlayer.cmd.UnifyLayersAtPageStyle">327</a></li> +<li><a name="cmd.XdivY"></a><a href="#cmd.XdivY">\XdivY</a> --> <a href="scrguien.pdf#scrbase.cmd.XdivY">276</a></li> +<li><a name="cmd.XmodY"></a><a href="#cmd.XmodY">\XmodY</a> --> <a href="scrguien.pdf#scrbase.cmd.XmodY">276</a></li> +<li><a name="cmd.activateareas"></a><a href="#cmd.activateareas">\activateareas</a> --> <a href="scrguien.pdf#typearea-experts.cmd.activateareas">346</a></li> +<li><a name="cmd.addchap*"></a><a href="#cmd.addchap*">\addchap*</a> --> <a href="scrguien.pdf#maincls.cmd.addchap*">94</a></li> +<li><a name="cmd.addchap"></a><a href="#cmd.addchap">\addchap</a> --> <a href="scrguien.pdf#maincls.cmd.addchap">94</a></li> +<li><a name="cmd.addchapmark"></a><a href="#cmd.addchapmark">\addchapmark</a> --> <a href="scrguien.pdf#maincls.cmd.addchapmark">99</a></li> +<li><a name="cmd.addchaptertocentry"></a><a href="#cmd.addchaptertocentry">\addchaptertocentry</a> --> <a href="scrguien.pdf#maincls-experts.cmd.addchaptertocentry">350</a></li> +<li><a name="cmd.addcontentslinetoeachtocfile"></a><a href="#cmd.addcontentslinetoeachtocfile">\addcontentslinetoeachtocfile</a> --> <a href="scrguien.pdf#tocbasic.cmd.addcontentslinetoeachtocfile">295</a></li> +<li><a name="cmd.addparagraphtocentry"></a><a href="#cmd.addparagraphtocentry">\addparagraphtocentry</a> --> <a href="scrguien.pdf#maincls-experts.cmd.addparagraphtocentry">350</a></li> +<li><a name="cmd.addpart*"></a><a href="#cmd.addpart*">\addpart*</a> --> <a href="scrguien.pdf#maincls.cmd.addpart*">94</a></li> +<li><a name="cmd.addpart"></a><a href="#cmd.addpart">\addpart</a> --> <a href="scrguien.pdf#maincls.cmd.addpart">94</a></li> +<li><a name="cmd.addparttocentry"></a><a href="#cmd.addparttocentry">\addparttocentry</a> --> <a href="scrguien.pdf#maincls-experts.cmd.addparttocentry">350</a></li> +<li><a name="cmd.addrchar"></a><a href="#cmd.addrchar">\addrchar</a> --> <a href="scrguien.pdf#scrlttr2.cmd.addrchar">200</a></li> +<li><a name="cmd.addrentry"></a><a href="#cmd.addrentry">\addrentry</a> --> <a href="scrguien.pdf#scrlttr2.cmd.addrentry">198</a></li> +<li><a name="cmd.addsec*"></a><a href="#cmd.addsec*">\addsec*</a> --> <a href="scrguien.pdf#maincls.cmd.addsec*">94</a></li> +<li><a name="cmd.addsec"></a><a href="#cmd.addsec">\addsec</a> --> <a href="scrguien.pdf#maincls.cmd.addsec">94</a></li> +<li><a name="cmd.addsecmark"></a><a href="#cmd.addsecmark">\addsecmark</a> --> <a href="scrguien.pdf#maincls.cmd.addsecmark">99</a></li> +<li><a name="cmd.addsectiontocentry"></a><a href="#cmd.addsectiontocentry">\addsectiontocentry</a> --> <a href="scrguien.pdf#maincls-experts.cmd.addsectiontocentry">350</a></li> +<li><a name="cmd.addsubparagraphtocentry"></a><a href="#cmd.addsubparagraphtocentry">\addsubparagraphtocentry</a> --> <a href="scrguien.pdf#maincls-experts.cmd.addsubparagraphtocentry">350</a></li> +<li><a name="cmd.addsubsectiontocentry"></a><a href="#cmd.addsubsectiontocentry">\addsubsectiontocentry</a> --> <a href="scrguien.pdf#maincls-experts.cmd.addsubsectiontocentry">350</a></li> +<li><a name="cmd.addsubsubsectiontocentry"></a><a href="#cmd.addsubsubsectiontocentry">\addsubsubsectiontocentry</a> --> <a href="scrguien.pdf#maincls-experts.cmd.addsubsubsectiontocentry">350</a></li> +<li><a name="cmd.addtocentrydefault"></a><a href="#cmd.addtocentrydefault">\addtocentrydefault</a> --> <a href="scrguien.pdf#maincls-experts.cmd.addtocentrydefault">349</a></li> +<li><a name="cmd.addtoeachtocfile"></a><a href="#cmd.addtoeachtocfile">\addtoeachtocfile</a> --> <a href="scrguien.pdf#tocbasic.cmd.addtoeachtocfile">294</a></li> +<li><a name="cmd.addtokomafont"></a><a href="#cmd.addtokomafont">\addtokomafont</a> --> <a href="scrguien.pdf#maincls.cmd.addtokomafont">54</a></li> +<li><a name="cmd.addtolengthplength"></a><a href="#cmd.addtolengthplength">\addtolengthplength</a> --> <a href="scrguien.pdf#scrlttr2.cmd.addtolengthplength">140</a></li> +<li><a name="cmd.addtoreffields"></a><a href="#cmd.addtoreffields">\addtoreffields</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.addtoreffields">371</a></li> +<li><a name="cmd.addtotoclist"></a><a href="#cmd.addtotoclist">\addtotoclist</a> --> <a href="scrguien.pdf#tocbasic.cmd.addtotoclist">292</a></li> +<li><a name="cmd.addxcontentsline"></a><a href="#cmd.addxcontentsline">\addxcontentsline</a> --> <a href="scrguien.pdf#tocbasic.cmd.addxcontentsline">295</a></li> +<li><a name="cmd.addxcontentslinetoeachtocfile"></a><a href="#cmd.addxcontentslinetoeachtocfile">\addxcontentslinetoeachtocfile</a> --> <a href="scrguien.pdf#tocbasic.cmd.addxcontentslinetoeachtocfile">295</a></li> +<li><a name="cmd.adrchar"></a><a href="#cmd.adrchar">\adrchar</a> --> <a href="scrguien.pdf#scrlttr2.cmd.adrchar">200</a></li> +<li><a name="cmd.adrentry"></a><a href="#cmd.adrentry">\adrentry</a> --> <a href="scrguien.pdf#scrlttr2.cmd.adrentry">198</a></li> +<li><a name="cmd.aliaskomafont"></a><a href="#cmd.aliaskomafont">\aliaskomafont</a> --> <a href="scrguien.pdf#maincls-experts.cmd.aliaskomafont">350</a></li> +<li><a name="cmd.and"></a><a href="#cmd.and">\and</a> --> <a href="scrguien.pdf#maincls.cmd.and">61</a></li> +<li><a name="cmd.appendix"></a><a href="#cmd.appendix">\appendix</a> --> <a href="scrguien.pdf#maincls.cmd.appendix">130</a></li> +<li><a name="cmd.appendixmore"></a><a href="#cmd.appendixmore">\appendixmore</a> --> <a href="scrguien.pdf#maincls-experts.cmd.appendixmore">353</a></li> +<li><a name="cmd.areaset"></a><a href="#cmd.areaset">\areaset</a> --> <a href="scrguien.pdf#typearea.cmd.areaset">43</a></li> +<li><a name="cmd.author"></a><a href="#cmd.author">\author</a> --> <a href="scrguien.pdf#maincls.cmd.author">61</a></li> +<li><a name="cmd.autodot"></a><a href="#cmd.autodot">\autodot</a> --> <a href="scrguien.pdf#maincls.cmd.autodot">97</a></li> +<li><a name="cmd.automark"></a><a href="#cmd.automark">\automark</a> --> <a href="scrguien.pdf#scrpage.cmd.automark">206</a>, <a href="scrguien.pdf#scrlayer-scrpage.cmd.automark">233</a></li> +<li><a name="cmd.backmatter"></a><a href="#cmd.backmatter">\backmatter</a> --> <a href="scrguien.pdf#maincls.cmd.backmatter">83</a></li> +<li><a name="cmd.bankname"></a><a href="#cmd.bankname">\bankname</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.bankname">379</a></li> +<li><a name="cmd.bib@beginhook"></a><a href="#cmd.bib@beginhook">\bib@beginhook</a> --> <a href="scrguien.pdf#maincls-experts.cmd.bib@beginhook">354</a></li> +<li><a name="cmd.bib@endhook"></a><a href="#cmd.bib@endhook">\bib@endhook</a> --> <a href="scrguien.pdf#maincls-experts.cmd.bib@endhook">354</a></li> +<li><a name="cmd.caption"></a><a href="#cmd.caption">\caption</a> --> <a href="scrguien.pdf#maincls.cmd.caption">116</a></li> +<li><a name="cmd.captionabove"></a><a href="#cmd.captionabove">\captionabove</a> --> <a href="scrguien.pdf#maincls.cmd.captionabove">116</a></li> +<li><a name="cmd.captionaboveof"></a><a href="#cmd.captionaboveof">\captionaboveof</a> --> <a href="scrguien.pdf#maincls.cmd.captionaboveof">118</a></li> +<li><a name="cmd.captionbelow"></a><a href="#cmd.captionbelow">\captionbelow</a> --> <a href="scrguien.pdf#maincls.cmd.captionbelow">116</a></li> +<li><a name="cmd.captionbelowof"></a><a href="#cmd.captionbelowof">\captionbelowof</a> --> <a href="scrguien.pdf#maincls.cmd.captionbelowof">118</a></li> +<li><a name="cmd.captionformat"></a><a href="#cmd.captionformat">\captionformat</a> --> <a href="scrguien.pdf#maincls.cmd.captionformat">123</a></li> +<li><a name="cmd.captionof"></a><a href="#cmd.captionof">\captionof</a> --> <a href="scrguien.pdf#maincls.cmd.captionof">118</a></li> +<li><a name="cmd.captionsUKenglish"></a><a href="#cmd.captionsUKenglish">\captionsUKenglish</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsUKenglish">378</a></li> +<li><a name="cmd.captionsUSenglish"></a><a href="#cmd.captionsUSenglish">\captionsUSenglish</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsUSenglish">378</a></li> +<li><a name="cmd.captionsamerican"></a><a href="#cmd.captionsamerican">\captionsamerican</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsamerican">378</a></li> +<li><a name="cmd.captionsaustrian"></a><a href="#cmd.captionsaustrian">\captionsaustrian</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsaustrian">378</a></li> +<li><a name="cmd.captionsbritish"></a><a href="#cmd.captionsbritish">\captionsbritish</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsbritish">378</a></li> +<li><a name="cmd.captionscroatian"></a><a href="#cmd.captionscroatian">\captionscroatian</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionscroatian">378</a></li> +<li><a name="cmd.captionsdutch"></a><a href="#cmd.captionsdutch">\captionsdutch</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsdutch">378</a></li> +<li><a name="cmd.captionsenglish"></a><a href="#cmd.captionsenglish">\captionsenglish</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsenglish">378</a></li> +<li><a name="cmd.captionsfinnish"></a><a href="#cmd.captionsfinnish">\captionsfinnish</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsfinnish">378</a></li> +<li><a name="cmd.captionsfrench"></a><a href="#cmd.captionsfrench">\captionsfrench</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsfrench">378</a></li> +<li><a name="cmd.captionsgerman"></a><a href="#cmd.captionsgerman">\captionsgerman</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsgerman">378</a></li> +<li><a name="cmd.captionsitalian"></a><a href="#cmd.captionsitalian">\captionsitalian</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsitalian">378</a></li> +<li><a name="cmd.captionsnaustrian"></a><a href="#cmd.captionsnaustrian">\captionsnaustrian</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsnaustrian">378</a></li> +<li><a name="cmd.captionsngerman"></a><a href="#cmd.captionsngerman">\captionsngerman</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsngerman">378</a></li> +<li><a name="cmd.captionsnorsk"></a><a href="#cmd.captionsnorsk">\captionsnorsk</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsnorsk">378</a></li> +<li><a name="cmd.captionsspanish"></a><a href="#cmd.captionsspanish">\captionsspanish</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsspanish">378</a></li> +<li><a name="cmd.captionsswedish"></a><a href="#cmd.captionsswedish">\captionsswedish</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.captionsswedish">378</a></li> +<li><a name="cmd.cc"></a><a href="#cmd.cc">\cc</a> --> <a href="scrguien.pdf#scrlttr2.cmd.cc">147</a></li> +<li><a name="cmd.ccname"></a><a href="#cmd.ccname">\ccname</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.ccname">379</a></li> +<li><a name="cmd.cefoot"></a><a href="#cmd.cefoot">\cefoot</a> --> <a href="scrguien.pdf#scrpage.cmd.cefoot">203</a>, <a href="scrguien.pdf#scrlayer-scrpage.cmd.cefoot">228</a></li> +<li><a name="cmd.cehead"></a><a href="#cmd.cehead">\cehead</a> --> <a href="scrguien.pdf#scrpage.cmd.cehead">203</a>, <a href="scrguien.pdf#scrlayer-scrpage.cmd.cehead">224</a></li> +<li><a name="cmd.cfoot"></a><a href="#cmd.cfoot">\cfoot</a> --> <a href="scrguien.pdf#scrpage.cmd.cfoot">203</a>, <a href="scrguien.pdf#scrlayer-scrpage.cmd.cfoot">230</a></li> +<li><a name="cmd.chapapp"></a><a href="#cmd.chapapp">\chapapp</a> --> <a href="scrguien.pdf#maincls.cmd.chapapp">98</a></li> +<li><a name="cmd.chapappifchapterprefix"></a><a href="#cmd.chapappifchapterprefix">\chapappifchapterprefix</a> --> <a href="scrguien.pdf#maincls.cmd.chapappifchapterprefix">98</a></li> +<li><a name="cmd.chapter*"></a><a href="#cmd.chapter*">\chapter*</a> --> <a href="scrguien.pdf#maincls.cmd.chapter*">93</a></li> +<li><a name="cmd.chapter"></a><a href="#cmd.chapter">\chapter</a> --> <a href="scrguien.pdf#maincls.cmd.chapter">89</a></li> +<li><a name="cmd.chapterformat"></a><a href="#cmd.chapterformat">\chapterformat</a> --> <a href="scrguien.pdf#maincls.cmd.chapterformat">97</a></li> +<li><a name="cmd.chapterheadendvskip"></a><a href="#cmd.chapterheadendvskip">\chapterheadendvskip</a> --> <a href="scrguien.pdf#maincls-experts.cmd.chapterheadendvskip">351</a></li> +<li><a name="cmd.chapterheadstartvskip"></a><a href="#cmd.chapterheadstartvskip">\chapterheadstartvskip</a> --> <a href="scrguien.pdf#maincls-experts.cmd.chapterheadstartvskip">351</a></li> +<li><a name="cmd.chaptermark"></a><a href="#cmd.chaptermark">\chaptermark</a> --> <a href="scrguien.pdf#scrlayer-scrpage.cmd.chaptermark">238</a>, <a href="scrguien.pdf#maincls.cmd.chaptermark">99</a></li> +<li><a name="cmd.chaptermarkformat"></a><a href="#cmd.chaptermarkformat">\chaptermarkformat</a> --> <a href="scrguien.pdf#scrlayer-scrpage.cmd.chaptermarkformat">237</a>, <a href="scrguien.pdf#maincls.cmd.chaptermarkformat">99</a></li> +<li><a name="cmd.chapterpagestyle"></a><a href="#cmd.chapterpagestyle">\chapterpagestyle</a> --> <a href="scrguien.pdf#maincls.cmd.chapterpagestyle">75</a></li> +<li><a name="cmd.chead"></a><a href="#cmd.chead">\chead</a> --> <a href="scrguien.pdf#scrpage.cmd.chead">203</a>, <a href="scrguien.pdf#scrlayer-scrpage.cmd.chead">230</a></li> +<li><a name="cmd.cleardoubleemptypage"></a><a href="#cmd.cleardoubleemptypage">\cleardoubleemptypage</a> --> <a href="scrguien.pdf#maincls.cmd.cleardoubleemptypage">78</a></li> +<li><a name="cmd.cleardoubleevenemptypage"></a><a href="#cmd.cleardoubleevenemptypage">\cleardoubleevenemptypage</a> --> <a href="scrguien.pdf#maincls.cmd.cleardoubleevenemptypage">78</a>, <a href="scrguien.pdf#maincls.cmd.cleardoubleevenemptypage">78</a></li> +<li><a name="cmd.cleardoubleevenplainpage"></a><a href="#cmd.cleardoubleevenplainpage">\cleardoubleevenplainpage</a> --> <a href="scrguien.pdf#maincls.cmd.cleardoubleevenplainpage">78</a></li> +<li><a name="cmd.cleardoubleevenstandardpage"></a><a href="#cmd.cleardoubleevenstandardpage">\cleardoubleevenstandardpage</a> --> <a href="scrguien.pdf#maincls.cmd.cleardoubleevenstandardpage">78</a></li> +<li><a name="cmd.cleardoubleevenusingstyle"></a><a href="#cmd.cleardoubleevenusingstyle">\cleardoubleevenusingstyle</a> --> <a href="scrguien.pdf#maincls.cmd.cleardoubleevenusingstyle">78</a></li> +<li><a name="cmd.cleardoubleoddemptypage"></a><a href="#cmd.cleardoubleoddemptypage">\cleardoubleoddemptypage</a> --> <a href="scrguien.pdf#maincls.cmd.cleardoubleoddemptypage">78</a></li> +<li><a name="cmd.cleardoubleoddplainpage"></a><a href="#cmd.cleardoubleoddplainpage">\cleardoubleoddplainpage</a> --> <a href="scrguien.pdf#maincls.cmd.cleardoubleoddplainpage">78</a></li> +<li><a name="cmd.cleardoubleoddstandardpage"></a><a href="#cmd.cleardoubleoddstandardpage">\cleardoubleoddstandardpage</a> --> <a href="scrguien.pdf#maincls.cmd.cleardoubleoddstandardpage">78</a></li> +<li><a name="cmd.cleardoubleoddusingstyle"></a><a href="#cmd.cleardoubleoddusingstyle">\cleardoubleoddusingstyle</a> --> <a href="scrguien.pdf#maincls.cmd.cleardoubleoddusingstyle">78</a></li> +<li><a name="cmd.cleardoublepage"></a><a href="#cmd.cleardoublepage">\cleardoublepage</a> --> <a href="scrguien.pdf#maincls.cmd.cleardoublepage">78</a></li> +<li><a name="cmd.cleardoublepageusingstyle"></a><a href="#cmd.cleardoublepageusingstyle">\cleardoublepageusingstyle</a> --> <a href="scrguien.pdf#maincls.cmd.cleardoublepageusingstyle">78</a></li> +<li><a name="cmd.cleardoubleplainpage"></a><a href="#cmd.cleardoubleplainpage">\cleardoubleplainpage</a> --> <a href="scrguien.pdf#maincls.cmd.cleardoubleplainpage">78</a></li> +<li><a name="cmd.cleardoublestandardpage"></a><a href="#cmd.cleardoublestandardpage">\cleardoublestandardpage</a> --> <a href="scrguien.pdf#maincls.cmd.cleardoublestandardpage">78</a></li> +<li><a name="cmd.clearmainofpairofpagestyles"></a><a href="#cmd.clearmainofpairofpagestyles">\clearmainofpairofpagestyles</a> --> <a href="scrguien.pdf#scrlayer-scrpage-experts.cmd.clearmainofpairofpagestyles">335</a></li> +<li><a name="cmd.clearpage"></a><a href="#cmd.clearpage">\clearpage</a> --> <a href="scrguien.pdf#maincls.cmd.clearpage">78</a></li> +<li><a name="cmd.clearpairofpagestyles"></a><a href="#cmd.clearpairofpagestyles">\clearpairofpagestyles</a> --> <a href="scrguien.pdf#scrlayer-scrpage-experts.cmd.clearpairofpagestyles">335</a></li> +<li><a name="cmd.clearplainofpairofpagestyles"></a><a href="#cmd.clearplainofpairofpagestyles">\clearplainofpairofpagestyles</a> --> <a href="scrguien.pdf#scrlayer-scrpage-experts.cmd.clearplainofpairofpagestyles">335</a></li> +<li><a name="cmd.clearscrheadfoot"></a><a href="#cmd.clearscrheadfoot">\clearscrheadfoot</a> --> <a href="scrguien.pdf#scrpage.cmd.clearscrheadfoot">205</a>, <a href="scrguien.pdf#scrlayer-scrpage-experts.cmd.clearscrheadfoot">335</a></li> +<li><a name="cmd.clearscrheadings"></a><a href="#cmd.clearscrheadings">\clearscrheadings</a> --> <a href="scrguien.pdf#scrpage.cmd.clearscrheadings">205</a>, <a href="scrguien.pdf#scrlayer-scrpage-experts.cmd.clearscrheadings">335</a></li> +<li><a name="cmd.clearscrplain"></a><a href="#cmd.clearscrplain">\clearscrplain</a> --> <a href="scrguien.pdf#scrpage.cmd.clearscrplain">205</a>, <a href="scrguien.pdf#scrlayer-scrpage-experts.cmd.clearscrplain">335</a></li> +<li><a name="cmd.closing"></a><a href="#cmd.closing">\closing</a> --> <a href="scrguien.pdf#scrlttr2.cmd.closing">145</a></li> +<li><a name="cmd.cofoot"></a><a href="#cmd.cofoot">\cofoot</a> --> <a href="scrguien.pdf#scrpage.cmd.cofoot">203</a>, <a href="scrguien.pdf#scrlayer-scrpage.cmd.cofoot">228</a></li> +<li><a name="cmd.cohead"></a><a href="#cmd.cohead">\cohead</a> --> <a href="scrguien.pdf#scrpage.cmd.cohead">203</a>, <a href="scrguien.pdf#scrlayer-scrpage.cmd.cohead">224</a></li> +<li><a name="cmd.currentpagestyle"></a><a href="#cmd.currentpagestyle">\currentpagestyle</a> --> <a href="scrguien.pdf#scrlayer.cmd.currentpagestyle">321</a></li> +<li><a name="cmd.customername"></a><a href="#cmd.customername">\customername</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.customername">379</a></li> +<li><a name="cmd.date"></a><a href="#cmd.date">\date</a> --> <a href="scrguien.pdf#maincls.cmd.date">61</a></li> +<li><a name="cmd.dateUKenglish"></a><a href="#cmd.dateUKenglish">\dateUKenglish</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.dateUKenglish">378</a></li> +<li><a name="cmd.dateUSenglish"></a><a href="#cmd.dateUSenglish">\dateUSenglish</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.dateUSenglish">378</a></li> +<li><a name="cmd.dateamerican"></a><a href="#cmd.dateamerican">\dateamerican</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.dateamerican">378</a></li> +<li><a name="cmd.dateaustrian"></a><a href="#cmd.dateaustrian">\dateaustrian</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.dateaustrian">378</a></li> +<li><a name="cmd.datebritish"></a><a href="#cmd.datebritish">\datebritish</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.datebritish">378</a></li> +<li><a name="cmd.datecroatian"></a><a href="#cmd.datecroatian">\datecroatian</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.datecroatian">378</a></li> +<li><a name="cmd.datedutch"></a><a href="#cmd.datedutch">\datedutch</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.datedutch">378</a></li> +<li><a name="cmd.dateenglish"></a><a href="#cmd.dateenglish">\dateenglish</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.dateenglish">378</a></li> +<li><a name="cmd.datefinnish"></a><a href="#cmd.datefinnish">\datefinnish</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.datefinnish">378</a></li> +<li><a name="cmd.datefrench"></a><a href="#cmd.datefrench">\datefrench</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.datefrench">378</a></li> +<li><a name="cmd.dategerman"></a><a href="#cmd.dategerman">\dategerman</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.dategerman">378</a></li> +<li><a name="cmd.dateitalian"></a><a href="#cmd.dateitalian">\dateitalian</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.dateitalian">378</a></li> +<li><a name="cmd.datename"></a><a href="#cmd.datename">\datename</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.datename">379</a></li> +<li><a name="cmd.datenaustrian"></a><a href="#cmd.datenaustrian">\datenaustrian</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.datenaustrian">378</a></li> +<li><a name="cmd.datengerman"></a><a href="#cmd.datengerman">\datengerman</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.datengerman">378</a></li> +<li><a name="cmd.datenorsk"></a><a href="#cmd.datenorsk">\datenorsk</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.datenorsk">378</a></li> +<li><a name="cmd.datespanish"></a><a href="#cmd.datespanish">\datespanish</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.datespanish">378</a></li> +<li><a name="cmd.dateswedish"></a><a href="#cmd.dateswedish">\dateswedish</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.dateswedish">378</a></li> +<li><a name="cmd.dedication"></a><a href="#cmd.dedication">\dedication</a> --> <a href="scrguien.pdf#maincls.cmd.dedication">64</a></li> +<li><a name="cmd.defaultreffields"></a><a href="#cmd.defaultreffields">\defaultreffields</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.defaultreffields">371</a></li> +<li><a name="cmd.defcaptionname"></a><a href="#cmd.defcaptionname">\defcaptionname</a> --> <a href="scrguien.pdf#scrbase.cmd.defcaptionname">272</a></li> +<li><a name="cmd.deffootnote"></a><a href="#cmd.deffootnote">\deffootnote</a> --> <a href="scrguien.pdf#maincls.cmd.deffootnote">82</a></li> +<li><a name="cmd.deffootnotemark"></a><a href="#cmd.deffootnotemark">\deffootnotemark</a> --> <a href="scrguien.pdf#maincls.cmd.deffootnotemark">82</a></li> +<li><a name="cmd.defpagestyle"></a><a href="#cmd.defpagestyle">\defpagestyle</a> --> <a href="scrguien.pdf#scrpage.cmd.defpagestyle">217</a>, <a href="scrguien.pdf#scrlayer-scrpage-experts.cmd.defpagestyle">338</a></li> +<li><a name="cmd.defpairofpagestyles"></a><a href="#cmd.defpairofpagestyles">\defpairofpagestyles</a> --> <a href="scrguien.pdf#scrlayer-scrpage-experts.cmd.defpairofpagestyles">334</a></li> +<li><a name="cmd.deftocheading"></a><a href="#cmd.deftocheading">\deftocheading</a> --> <a href="scrguien.pdf#tocbasic.cmd.deftocheading">298</a></li> +<li><a name="cmd.deftriplepagestyle"></a><a href="#cmd.deftriplepagestyle">\deftriplepagestyle</a> --> <a href="scrguien.pdf#scrlayer-scrpage-experts.cmd.deftriplepagestyle">336</a></li> +<li><a name="cmd.deftripstyle"></a><a href="#cmd.deftripstyle">\deftripstyle</a> --> <a href="scrguien.pdf#scrpage.cmd.deftripstyle">215</a>, <a href="scrguien.pdf#scrlayer-scrpage-experts.cmd.deftripstyle">338</a></li> +<li><a name="cmd.dictum"></a><a href="#cmd.dictum">\dictum</a> --> <a href="scrguien.pdf#maincls.cmd.dictum">102</a></li> +<li><a name="cmd.dictumauthorformat"></a><a href="#cmd.dictumauthorformat">\dictumauthorformat</a> --> <a href="scrguien.pdf#maincls.cmd.dictumauthorformat">102</a></li> +<li><a name="cmd.dictumrule"></a><a href="#cmd.dictumrule">\dictumrule</a> --> <a href="scrguien.pdf#maincls.cmd.dictumrule">102</a></li> +<li><a name="cmd.dictumwidth"></a><a href="#cmd.dictumwidth">\dictumwidth</a> --> <a href="scrguien.pdf#maincls.cmd.dictumwidth">102</a></li> +<li><a name="cmd.documentclass"></a><a href="#cmd.documentclass">\documentclass</a> --> <a href="scrguien.pdf#typearea.cmd.documentclass">28</a></li> +<li><a name="cmd.doforeachtocfile"></a><a href="#cmd.doforeachtocfile">\doforeachtocfile</a> --> <a href="scrguien.pdf#tocbasic.cmd.doforeachtocfile">294</a></li> +<li><a name="cmd.edgesize"></a><a href="#cmd.edgesize">\edgesize</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.edgesize">375</a></li> +<li><a name="cmd.emailname"></a><a href="#cmd.emailname">\emailname</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.emailname">379</a></li> +<li><a name="cmd.encl"></a><a href="#cmd.encl">\encl</a> --> <a href="scrguien.pdf#scrlttr2.cmd.encl">149</a></li> +<li><a name="cmd.enclname"></a><a href="#cmd.enclname">\enclname</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.enclname">379</a></li> +<li><a name="cmd.extratitle"></a><a href="#cmd.extratitle">\extratitle</a> --> <a href="scrguien.pdf#maincls.cmd.extratitle">61</a></li> +<li><a name="cmd.faxname"></a><a href="#cmd.faxname">\faxname</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.faxname">379</a></li> +<li><a name="cmd.figureformat"></a><a href="#cmd.figureformat">\figureformat</a> --> <a href="scrguien.pdf#maincls.cmd.figureformat">124</a></li> +<li><a name="cmd.flushbottom"></a><a href="#cmd.flushbottom">\flushbottom</a> --> <a href="scrguien.pdf#maincls.cmd.flushbottom">51</a></li> +<li><a name="cmd.footfont"></a><a href="#cmd.footfont">\footfont</a> --> <a href="scrguien.pdf#scrpage.cmd.footfont">207</a></li> +<li><a name="cmd.footnote"></a><a href="#cmd.footnote">\footnote</a> --> <a href="scrguien.pdf#maincls.cmd.footnote">80</a></li> +<li><a name="cmd.footnotemark"></a><a href="#cmd.footnotemark">\footnotemark</a> --> <a href="scrguien.pdf#maincls.cmd.footnotemark">80</a></li> +<li><a name="cmd.footnotetext"></a><a href="#cmd.footnotetext">\footnotetext</a> --> <a href="scrguien.pdf#maincls.cmd.footnotetext">80</a></li> +<li><a name="cmd.footref"></a><a href="#cmd.footref">\footref</a> --> <a href="scrguien.pdf#maincls.cmd.footref">81</a></li> +<li><a name="cmd.frontmatter"></a><a href="#cmd.frontmatter">\frontmatter</a> --> <a href="scrguien.pdf#maincls.cmd.frontmatter">83</a></li> +<li><a name="cmd.headfont"></a><a href="#cmd.headfont">\headfont</a> --> <a href="scrguien.pdf#scrpage.cmd.headfont">207</a></li> +<li><a name="cmd.headfromname"></a><a href="#cmd.headfromname">\headfromname</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.headfromname">379</a></li> +<li><a name="cmd.headmark"></a><a href="#cmd.headmark">\headmark</a> --> <a href="scrguien.pdf#scrpage.cmd.headmark">205</a>, <a href="scrguien.pdf#scrlayer-scrpage.cmd.headmark">236</a></li> +<li><a name="cmd.headtoname"></a><a href="#cmd.headtoname">\headtoname</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.headtoname">379</a></li> +<li><a name="cmd.if@atdocument"></a><a href="#cmd.if@atdocument">\if@atdocument</a> --> <a href="scrguien.pdf#scrbase.cmd.if@atdocument">271</a></li> +<li><a name="cmd.if@chapter"></a><a href="#cmd.if@chapter">\if@chapter</a> --> <a href="scrguien.pdf#scrlayer.cmd.if@chapter">313</a></li> +<li><a name="cmd.if@mainmatter"></a><a href="#cmd.if@mainmatter">\if@mainmatter</a> --> <a href="scrguien.pdf#scrlayer.cmd.if@mainmatter">313</a></li> +<li><a name="cmd.ifVTeX"></a><a href="#cmd.ifVTeX">\ifVTeX</a> --> <a href="scrguien.pdf#scrbase.cmd.ifVTeX">268</a></li> +<li><a name="cmd.ifattoclist"></a><a href="#cmd.ifattoclist">\ifattoclist</a> --> <a href="scrguien.pdf#tocbasic.cmd.ifattoclist">291</a></li> +<li><a name="cmd.ifdimen"></a><a href="#cmd.ifdimen">\ifdimen</a> --> <a href="scrguien.pdf#scrbase.cmd.ifdimen">271</a></li> +<li><a name="cmd.ifdvioutput"></a><a href="#cmd.ifdvioutput">\ifdvioutput</a> --> <a href="scrguien.pdf#scrbase.cmd.ifdvioutput">269</a></li> +<li><a name="cmd.ifiscount"></a><a href="#cmd.ifiscount">\ifiscount</a> --> <a href="scrguien.pdf#scrbase.cmd.ifiscount">270</a></li> +<li><a name="cmd.ifiscounter"></a><a href="#cmd.ifiscounter">\ifiscounter</a> --> <a href="scrguien.pdf#scrbase.cmd.ifiscounter">271</a></li> +<li><a name="cmd.ifisdimen"></a><a href="#cmd.ifisdimen">\ifisdimen</a> --> <a href="scrguien.pdf#scrbase.cmd.ifisdimen">269</a></li> +<li><a name="cmd.ifisdimension"></a><a href="#cmd.ifisdimension">\ifisdimension</a> --> <a href="scrguien.pdf#scrbase.cmd.ifisdimension">270</a></li> +<li><a name="cmd.ifisdimexpr"></a><a href="#cmd.ifisdimexpr">\ifisdimexpr</a> --> <a href="scrguien.pdf#scrbase.cmd.ifisdimexpr">270</a></li> +<li><a name="cmd.ifisglue"></a><a href="#cmd.ifisglue">\ifisglue</a> --> <a href="scrguien.pdf#scrbase.cmd.ifisglue">270</a></li> +<li><a name="cmd.ifisglueexpr"></a><a href="#cmd.ifisglueexpr">\ifisglueexpr</a> --> <a href="scrguien.pdf#scrbase.cmd.ifisglueexpr">270</a></li> +<li><a name="cmd.ifisnumber"></a><a href="#cmd.ifisnumber">\ifisnumber</a> --> <a href="scrguien.pdf#scrbase.cmd.ifisnumber">270</a></li> +<li><a name="cmd.ifisnumexpr"></a><a href="#cmd.ifisnumexpr">\ifisnumexpr</a> --> <a href="scrguien.pdf#scrbase.cmd.ifisnumexpr">271</a></li> +<li><a name="cmd.ifisskip"></a><a href="#cmd.ifisskip">\ifisskip</a> --> <a href="scrguien.pdf#scrbase.cmd.ifisskip">270</a></li> +<li><a name="cmd.ifkomavar"></a><a href="#cmd.ifkomavar">\ifkomavar</a> --> <a href="scrguien.pdf#scrlttr2.cmd.ifkomavar">139</a></li> +<li><a name="cmd.ifkomavarempty*"></a><a href="#cmd.ifkomavarempty*">\ifkomavarempty*</a> --> <a href="scrguien.pdf#scrlttr2.cmd.ifkomavarempty*">139</a>, <a href="scrguien.pdf#scrlttr2-experts.cmd.ifkomavarempty*">373</a></li> +<li><a name="cmd.ifkomavarempty"></a><a href="#cmd.ifkomavarempty">\ifkomavarempty</a> --> <a href="scrguien.pdf#scrlttr2.cmd.ifkomavarempty">139</a>, <a href="scrguien.pdf#scrlttr2-experts.cmd.ifkomavarempty">373</a></li> +<li><a name="cmd.ifnotundefined"></a><a href="#cmd.ifnotundefined">\ifnotundefined</a> --> <a href="scrguien.pdf#scrbase.cmd.ifnotundefined">269</a></li> +<li><a name="cmd.ifnumber"></a><a href="#cmd.ifnumber">\ifnumber</a> --> <a href="scrguien.pdf#scrbase.cmd.ifnumber">271</a></li> +<li><a name="cmd.ifoot"></a><a href="#cmd.ifoot">\ifoot</a> --> <a href="scrguien.pdf#scrpage.cmd.ifoot">203</a>, <a href="scrguien.pdf#scrlayer-scrpage.cmd.ifoot">230</a></li> +<li><a name="cmd.ifpdfoutput"></a><a href="#cmd.ifpdfoutput">\ifpdfoutput</a> --> <a href="scrguien.pdf#scrbase.cmd.ifpdfoutput">269</a></li> +<li><a name="cmd.ifpdftex"></a><a href="#cmd.ifpdftex">\ifpdftex</a> --> <a href="scrguien.pdf#scrbase.cmd.ifpdftex">268</a></li> +<li><a name="cmd.ifpsoutput"></a><a href="#cmd.ifpsoutput">\ifpsoutput</a> --> <a href="scrguien.pdf#scrbase.cmd.ifpsoutput">269</a></li> +<li><a name="cmd.ifstr"></a><a href="#cmd.ifstr">\ifstr</a> --> <a href="scrguien.pdf#scrbase.cmd.ifstr">269</a></li> +<li><a name="cmd.ifstrstart"></a><a href="#cmd.ifstrstart">\ifstrstart</a> --> <a href="scrguien.pdf#scrbase.cmd.ifstrstart">269</a></li> +<li><a name="cmd.ifthispageodd"></a><a href="#cmd.ifthispageodd">\ifthispageodd</a> --> <a href="scrguien.pdf#maincls.cmd.ifthispageodd">71</a></li> +<li><a name="cmd.iftocfeature"></a><a href="#cmd.iftocfeature">\iftocfeature</a> --> <a href="scrguien.pdf#tocbasic.cmd.iftocfeature">301</a></li> +<li><a name="cmd.ifundefinedorrelax"></a><a href="#cmd.ifundefinedorrelax">\ifundefinedorrelax</a> --> <a href="scrguien.pdf#scrbase.cmd.ifundefinedorrelax">268</a></li> +<li><a name="cmd.ihead"></a><a href="#cmd.ihead">\ihead</a> --> <a href="scrguien.pdf#scrpage.cmd.ihead">203</a>, <a href="scrguien.pdf#scrlayer-scrpage.cmd.ihead">230</a></li> +<li><a name="cmd.indexpagestyle"></a><a href="#cmd.indexpagestyle">\indexpagestyle</a> --> <a href="scrguien.pdf#maincls.cmd.indexpagestyle">75</a></li> +<li><a name="cmd.invoicename"></a><a href="#cmd.invoicename">\invoicename</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.invoicename">379</a></li> +<li><a name="cmd.item"></a><a href="#cmd.item">\item</a> --> <a href="scrguien.pdf#maincls.cmd.item">104</a></li> +<li><a name="cmd.labelenumi"></a><a href="#cmd.labelenumi">\labelenumi</a> --> <a href="scrguien.pdf#maincls.cmd.labelenumi">105</a></li> +<li><a name="cmd.labelenumii"></a><a href="#cmd.labelenumii">\labelenumii</a> --> <a href="scrguien.pdf#maincls.cmd.labelenumii">105</a></li> +<li><a name="cmd.labelenumiii"></a><a href="#cmd.labelenumiii">\labelenumiii</a> --> <a href="scrguien.pdf#maincls.cmd.labelenumiii">105</a></li> +<li><a name="cmd.labelenumiv"></a><a href="#cmd.labelenumiv">\labelenumiv</a> --> <a href="scrguien.pdf#maincls.cmd.labelenumiv">105</a></li> +<li><a name="cmd.labelitemi"></a><a href="#cmd.labelitemi">\labelitemi</a> --> <a href="scrguien.pdf#maincls.cmd.labelitemi">104</a></li> +<li><a name="cmd.labelitemii"></a><a href="#cmd.labelitemii">\labelitemii</a> --> <a href="scrguien.pdf#maincls.cmd.labelitemii">104</a></li> +<li><a name="cmd.labelitemiii"></a><a href="#cmd.labelitemiii">\labelitemiii</a> --> <a href="scrguien.pdf#maincls.cmd.labelitemiii">104</a></li> +<li><a name="cmd.labelitemiv"></a><a href="#cmd.labelitemiv">\labelitemiv</a> --> <a href="scrguien.pdf#maincls.cmd.labelitemiv">104</a></li> +<li><a name="cmd.layercontentsmeasure"></a><a href="#cmd.layercontentsmeasure">\layercontentsmeasure</a> --> <a href="scrguien.pdf#scrlayer.cmd.layercontentsmeasure">321</a></li> +<li><a name="cmd.layerheight"></a><a href="#cmd.layerheight">\layerheight</a> --> <a href="scrguien.pdf#scrlayer.cmd.layerheight">320</a></li> +<li><a name="cmd.layerwidth"></a><a href="#cmd.layerwidth">\layerwidth</a> --> <a href="scrguien.pdf#scrlayer.cmd.layerwidth">320</a></li> +<li><a name="cmd.layerxoffset"></a><a href="#cmd.layerxoffset">\layerxoffset</a> --> <a href="scrguien.pdf#scrlayer.cmd.layerxoffset">320</a></li> +<li><a name="cmd.layeryoffset"></a><a href="#cmd.layeryoffset">\layeryoffset</a> --> <a href="scrguien.pdf#scrlayer.cmd.layeryoffset">320</a></li> +<li><a name="cmd.lefoot"></a><a href="#cmd.lefoot">\lefoot</a> --> <a href="scrguien.pdf#scrpage.cmd.lefoot">203</a>, <a href="scrguien.pdf#scrlayer-scrpage.cmd.lefoot">228</a></li> +<li><a name="cmd.leftmark"></a><a href="#cmd.leftmark">\leftmark</a> --> <a href="scrguien.pdf#scrpage.cmd.leftmark">205</a>, <a href="scrguien.pdf#scrlayer-scrpage.cmd.leftmark">236</a></li> +<li><a name="cmd.lehead"></a><a href="#cmd.lehead">\lehead</a> --> <a href="scrguien.pdf#scrpage.cmd.lehead">203</a>, <a href="scrguien.pdf#scrlayer-scrpage.cmd.lehead">224</a></li> +<li><a name="cmd.listofeachtoc"></a><a href="#cmd.listofeachtoc">\listofeachtoc</a> --> <a href="scrguien.pdf#tocbasic.cmd.listofeachtoc">296</a></li> +<li><a name="cmd.listoffigures"></a><a href="#cmd.listoffigures">\listoffigures</a> --> <a href="scrguien.pdf#maincls.cmd.listoffigures">129</a></li> +<li><a name="cmd.listofname"></a><a href="#cmd.listofname">\listofname</a> --> <a href="scrguien.pdf#tocbasic.cmd.listofname">296</a></li> +<li><a name="cmd.listoftables"></a><a href="#cmd.listoftables">\listoftables</a> --> <a href="scrguien.pdf#maincls.cmd.listoftables">129</a></li> +<li><a name="cmd.listoftoc*"></a><a href="#cmd.listoftoc*">\listoftoc*</a> --> <a href="scrguien.pdf#tocbasic.cmd.listoftoc*">296</a></li> +<li><a name="cmd.listoftoc"></a><a href="#cmd.listoftoc">\listoftoc</a> --> <a href="scrguien.pdf#tocbasic.cmd.listoftoc">296</a></li> +<li><a name="cmd.lofoot"></a><a href="#cmd.lofoot">\lofoot</a> --> <a href="scrguien.pdf#scrpage.cmd.lofoot">203</a>, <a href="scrguien.pdf#scrlayer-scrpage.cmd.lofoot">228</a></li> +<li><a name="cmd.lohead"></a><a href="#cmd.lohead">\lohead</a> --> <a href="scrguien.pdf#scrpage.cmd.lohead">203</a>, <a href="scrguien.pdf#scrlayer-scrpage.cmd.lohead">224</a></li> +<li><a name="cmd.lowertitleback"></a><a href="#cmd.lowertitleback">\lowertitleback</a> --> <a href="scrguien.pdf#maincls.cmd.lowertitleback">64</a></li> +<li><a name="cmd.mainmatter"></a><a href="#cmd.mainmatter">\mainmatter</a> --> <a href="scrguien.pdf#maincls.cmd.mainmatter">83</a></li> +<li><a name="cmd.maketitle"></a><a href="#cmd.maketitle">\maketitle</a> --> <a href="scrguien.pdf#maincls.cmd.maketitle">60</a></li> +<li><a name="cmd.manualmark"></a><a href="#cmd.manualmark">\manualmark</a> --> <a href="scrguien.pdf#scrpage.cmd.manualmark">206</a>, <a href="scrguien.pdf#scrlayer-scrpage.cmd.manualmark">233</a></li> +<li><a name="cmd.marginline"></a><a href="#cmd.marginline">\marginline</a> --> <a href="scrguien.pdf#maincls.cmd.marginline">129</a></li> +<li><a name="cmd.marginpar"></a><a href="#cmd.marginpar">\marginpar</a> --> <a href="scrguien.pdf#maincls.cmd.marginpar">129</a></li> +<li><a name="cmd.markboth"></a><a href="#cmd.markboth">\markboth</a> --> <a href="scrguien.pdf#scrlttr2.cmd.markboth">188</a>, <a href="scrguien.pdf#scrlayer-scrpage.cmd.markboth">238</a>, <a href="scrguien.pdf#maincls.cmd.markboth">74</a></li> +<li><a name="cmd.markleft"></a><a href="#cmd.markleft">\markleft</a> --> <a href="scrguien.pdf#scrlayer-scrpage.cmd.markleft">238</a></li> +<li><a name="cmd.markright"></a><a href="#cmd.markright">\markright</a> --> <a href="scrguien.pdf#scrlttr2.cmd.markright">188</a>, <a href="scrguien.pdf#scrlayer-scrpage.cmd.markright">238</a>, <a href="scrguien.pdf#maincls.cmd.markright">74</a></li> +<li><a name="cmd.minisec"></a><a href="#cmd.minisec">\minisec</a> --> <a href="scrguien.pdf#maincls.cmd.minisec">95</a></li> +<li><a name="cmd.multfootsep"></a><a href="#cmd.multfootsep">\multfootsep</a> --> <a href="scrguien.pdf#maincls.cmd.multfootsep">80</a></li> +<li><a name="cmd.multiplefootnoteseparator"></a><a href="#cmd.multiplefootnoteseparator">\multiplefootnoteseparator</a> --> <a href="scrguien.pdf#maincls.cmd.multiplefootnoteseparator">80</a></li> +<li><a name="cmd.myrefname"></a><a href="#cmd.myrefname">\myrefname</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.myrefname">379</a></li> +<li><a name="cmd.newbibstyle"></a><a href="#cmd.newbibstyle">\newbibstyle</a> --> <a href="scrguien.pdf#maincls-experts.cmd.newbibstyle">354</a></li> +<li><a name="cmd.newblock"></a><a href="#cmd.newblock">\newblock</a> --> <a href="scrguien.pdf#maincls-experts.cmd.newblock">354</a></li> +<li><a name="cmd.newcaptionname"></a><a href="#cmd.newcaptionname">\newcaptionname</a> --> <a href="scrguien.pdf#scrbase.cmd.newcaptionname">272</a></li> +<li><a name="cmd.newkomafont"></a><a href="#cmd.newkomafont">\newkomafont</a> --> <a href="scrguien.pdf#maincls-experts.cmd.newkomafont">350</a></li> +<li><a name="cmd.newkomavar*"></a><a href="#cmd.newkomavar*">\newkomavar*</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.newkomavar*">371</a></li> +<li><a name="cmd.newkomavar"></a><a href="#cmd.newkomavar">\newkomavar</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.newkomavar">371</a></li> +<li><a name="cmd.newpagestyle"></a><a href="#cmd.newpagestyle">\newpagestyle</a> --> <a href="scrguien.pdf#scrpage.cmd.newpagestyle">217</a>, <a href="scrguien.pdf#scrlayer-scrpage-experts.cmd.newpagestyle">338</a></li> +<li><a name="cmd.newpairofpagestyles"></a><a href="#cmd.newpairofpagestyles">\newpairofpagestyles</a> --> <a href="scrguien.pdf#scrlayer-scrpage-experts.cmd.newpairofpagestyles">334</a></li> +<li><a name="cmd.newtriplepagestyle"></a><a href="#cmd.newtriplepagestyle">\newtriplepagestyle</a> --> <a href="scrguien.pdf#scrlayer-scrpage-experts.cmd.newtriplepagestyle">336</a></li> +<li><a name="cmd.ofoot"></a><a href="#cmd.ofoot">\ofoot</a> --> <a href="scrguien.pdf#scrlayer-scrpage.cmd.ofoot">230</a></li> +<li><a name="cmd.ohead"></a><a href="#cmd.ohead">\ohead</a> --> <a href="scrguien.pdf#scrpage.cmd.ohead">203</a>, <a href="scrguien.pdf#scrlayer-scrpage.cmd.ohead">230</a></li> +<li><a name="cmd.opening"></a><a href="#cmd.opening">\opening</a> --> <a href="scrguien.pdf#scrlttr2.cmd.opening">144</a></li> +<li><a name="cmd.othersectionlevelsformat"></a><a href="#cmd.othersectionlevelsformat">\othersectionlevelsformat</a> --> <a href="scrguien.pdf#maincls.cmd.othersectionlevelsformat">97</a></li> +<li><a name="cmd.pagemark"></a><a href="#cmd.pagemark">\pagemark</a> --> <a href="scrguien.pdf#scrpage.cmd.pagemark">206</a>, <a href="scrguien.pdf#scrlayer-scrpage.cmd.pagemark">236</a></li> +<li><a name="cmd.pagename"></a><a href="#cmd.pagename">\pagename</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.pagename">379</a></li> +<li><a name="cmd.pagenumbering"></a><a href="#cmd.pagenumbering">\pagenumbering</a> --> <a href="scrguien.pdf#maincls.cmd.pagenumbering">76</a></li> +<li><a name="cmd.pagestyle"></a><a href="#cmd.pagestyle">\pagestyle</a> --> <a href="scrguien.pdf#scrlttr2.cmd.pagestyle">186</a>, <a href="scrguien.pdf#maincls.cmd.pagestyle">72</a></li> +<li><a name="cmd.paragraph*"></a><a href="#cmd.paragraph*">\paragraph*</a> --> <a href="scrguien.pdf#maincls.cmd.paragraph*">93</a></li> +<li><a name="cmd.paragraph"></a><a href="#cmd.paragraph">\paragraph</a> --> <a href="scrguien.pdf#maincls.cmd.paragraph">89</a></li> +<li><a name="cmd.paragraphmark"></a><a href="#cmd.paragraphmark">\paragraphmark</a> --> <a href="scrguien.pdf#scrlayer-scrpage.cmd.paragraphmark">238</a></li> +<li><a name="cmd.paragraphmarkformat"></a><a href="#cmd.paragraphmarkformat">\paragraphmarkformat</a> --> <a href="scrguien.pdf#scrlayer-scrpage.cmd.paragraphmarkformat">237</a></li> +<li><a name="cmd.part*"></a><a href="#cmd.part*">\part*</a> --> <a href="scrguien.pdf#maincls.cmd.part*">93</a></li> +<li><a name="cmd.part"></a><a href="#cmd.part">\part</a> --> <a href="scrguien.pdf#maincls.cmd.part">89</a></li> +<li><a name="cmd.partformat"></a><a href="#cmd.partformat">\partformat</a> --> <a href="scrguien.pdf#maincls.cmd.partformat">97</a></li> +<li><a name="cmd.partheademptypage"></a><a href="#cmd.partheademptypage">\partheademptypage</a> --> <a href="scrguien.pdf#maincls-experts.cmd.partheademptypage">351</a></li> +<li><a name="cmd.partheadendvskip"></a><a href="#cmd.partheadendvskip">\partheadendvskip</a> --> <a href="scrguien.pdf#maincls-experts.cmd.partheadendvskip">351</a></li> +<li><a name="cmd.partheadmidvskip"></a><a href="#cmd.partheadmidvskip">\partheadmidvskip</a> --> <a href="scrguien.pdf#maincls-experts.cmd.partheadmidvskip">351</a></li> +<li><a name="cmd.partheadstartvskip"></a><a href="#cmd.partheadstartvskip">\partheadstartvskip</a> --> <a href="scrguien.pdf#maincls-experts.cmd.partheadstartvskip">351</a></li> +<li><a name="cmd.partmark"></a><a href="#cmd.partmark">\partmark</a> --> <a href="scrguien.pdf#scrlayer-scrpage.cmd.partmark">238</a></li> +<li><a name="cmd.partmarkformat"></a><a href="#cmd.partmarkformat">\partmarkformat</a> --> <a href="scrguien.pdf#scrlayer-scrpage.cmd.partmarkformat">237</a></li> +<li><a name="cmd.partpagestyle"></a><a href="#cmd.partpagestyle">\partpagestyle</a> --> <a href="scrguien.pdf#maincls.cmd.partpagestyle">75</a></li> +<li><a name="cmd.phonename"></a><a href="#cmd.phonename">\phonename</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.phonename">379</a></li> +<li><a name="cmd.pnumfont"></a><a href="#cmd.pnumfont">\pnumfont</a> --> <a href="scrguien.pdf#scrpage.cmd.pnumfont">207</a></li> +<li><a name="cmd.providecaptionname"></a><a href="#cmd.providecaptionname">\providecaptionname</a> --> <a href="scrguien.pdf#scrbase.cmd.providecaptionname">272</a></li> +<li><a name="cmd.providepagestyle"></a><a href="#cmd.providepagestyle">\providepagestyle</a> --> <a href="scrguien.pdf#scrpage.cmd.providepagestyle">217</a>, <a href="scrguien.pdf#scrlayer-scrpage-experts.cmd.providepagestyle">338</a></li> +<li><a name="cmd.providepairofpagestyles"></a><a href="#cmd.providepairofpagestyles">\providepairofpagestyles</a> --> <a href="scrguien.pdf#scrlayer-scrpage-experts.cmd.providepairofpagestyles">334</a></li> +<li><a name="cmd.providetriplepagestyle"></a><a href="#cmd.providetriplepagestyle">\providetriplepagestyle</a> --> <a href="scrguien.pdf#scrlayer-scrpage-experts.cmd.providetriplepagestyle">336</a></li> +<li><a name="cmd.ps"></a><a href="#cmd.ps">\ps</a> --> <a href="scrguien.pdf#scrlttr2.cmd.ps">147</a></li> +<li><a name="cmd.publishers"></a><a href="#cmd.publishers">\publishers</a> --> <a href="scrguien.pdf#maincls.cmd.publishers">61</a></li> +<li><a name="cmd.raggedbottom"></a><a href="#cmd.raggedbottom">\raggedbottom</a> --> <a href="scrguien.pdf#maincls.cmd.raggedbottom">51</a></li> +<li><a name="cmd.raggedchapterentry"></a><a href="#cmd.raggedchapterentry">\raggedchapterentry</a> --> <a href="scrguien.pdf#maincls-experts.cmd.raggedchapterentry">351</a></li> +<li><a name="cmd.raggeddictum"></a><a href="#cmd.raggeddictum">\raggeddictum</a> --> <a href="scrguien.pdf#maincls.cmd.raggeddictum">102</a></li> +<li><a name="cmd.raggeddictumauthor"></a><a href="#cmd.raggeddictumauthor">\raggeddictumauthor</a> --> <a href="scrguien.pdf#maincls.cmd.raggeddictumauthor">102</a></li> +<li><a name="cmd.raggeddictumtext"></a><a href="#cmd.raggeddictumtext">\raggeddictumtext</a> --> <a href="scrguien.pdf#maincls.cmd.raggeddictumtext">102</a></li> +<li><a name="cmd.raggedpart"></a><a href="#cmd.raggedpart">\raggedpart</a> --> <a href="scrguien.pdf#maincls.cmd.raggedpart">96</a></li> +<li><a name="cmd.raggedsection"></a><a href="#cmd.raggedsection">\raggedsection</a> --> <a href="scrguien.pdf#maincls.cmd.raggedsection">96</a></li> +<li><a name="cmd.raggedsignature"></a><a href="#cmd.raggedsignature">\raggedsignature</a> --> <a href="scrguien.pdf#scrlttr2.cmd.raggedsignature">190</a></li> +<li><a name="cmd.recalctypearea"></a><a href="#cmd.recalctypearea">\recalctypearea</a> --> <a href="scrguien.pdf#typearea.cmd.recalctypearea">36</a></li> +<li><a name="cmd.refoot"></a><a href="#cmd.refoot">\refoot</a> --> <a href="scrguien.pdf#scrpage.cmd.refoot">203</a>, <a href="scrguien.pdf#scrlayer-scrpage.cmd.refoot">228</a></li> +<li><a name="cmd.rehead"></a><a href="#cmd.rehead">\rehead</a> --> <a href="scrguien.pdf#scrpage.cmd.rehead">203</a>, <a href="scrguien.pdf#scrlayer-scrpage.cmd.rehead">224</a></li> +<li><a name="cmd.removefromtoclist"></a><a href="#cmd.removefromtoclist">\removefromtoclist</a> --> <a href="scrguien.pdf#tocbasic.cmd.removefromtoclist">293</a></li> +<li><a name="cmd.removereffields"></a><a href="#cmd.removereffields">\removereffields</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.removereffields">371</a></li> +<li><a name="cmd.renewcaptionname"></a><a href="#cmd.renewcaptionname">\renewcaptionname</a> --> <a href="scrguien.pdf#scrbase.cmd.renewcaptionname">272</a></li> +<li><a name="cmd.renewpagestyle"></a><a href="#cmd.renewpagestyle">\renewpagestyle</a> --> <a href="scrguien.pdf#scrpage.cmd.renewpagestyle">217</a>, <a href="scrguien.pdf#scrlayer-scrpage-experts.cmd.renewpagestyle">338</a></li> +<li><a name="cmd.renewpairofpagestyle"></a><a href="#cmd.renewpairofpagestyle">\renewpairofpagestyle</a> --> <a href="scrguien.pdf#scrlayer-scrpage-experts.cmd.renewpairofpagestyle">334</a></li> +<li><a name="cmd.renewtriplepagestyle"></a><a href="#cmd.renewtriplepagestyle">\renewtriplepagestyle</a> --> <a href="scrguien.pdf#scrlayer-scrpage-experts.cmd.renewtriplepagestyle">336</a></li> +<li><a name="cmd.rfoot"></a><a href="#cmd.rfoot">\rfoot</a> --> <a href="scrguien.pdf#scrpage.cmd.rfoot">203</a></li> +<li><a name="cmd.rightmark"></a><a href="#cmd.rightmark">\rightmark</a> --> <a href="scrguien.pdf#scrpage.cmd.rightmark">205</a>, <a href="scrguien.pdf#scrlayer-scrpage.cmd.rightmark">236</a></li> +<li><a name="cmd.rofoot"></a><a href="#cmd.rofoot">\rofoot</a> --> <a href="scrguien.pdf#scrpage.cmd.rofoot">203</a>, <a href="scrguien.pdf#scrlayer-scrpage.cmd.rofoot">228</a></li> +<li><a name="cmd.rohead"></a><a href="#cmd.rohead">\rohead</a> --> <a href="scrguien.pdf#scrpage.cmd.rohead">203</a>, <a href="scrguien.pdf#scrlayer-scrpage.cmd.rohead">224</a></li> +<li><a name="cmd.scr@ifVTeX"></a><a href="#cmd.scr@ifVTeX">\scr@ifVTeX</a> --> <a href="scrguien.pdf#scrbase.cmd.scr@ifVTeX">268</a></li> +<li><a name="cmd.scr@ifdvioutput"></a><a href="#cmd.scr@ifdvioutput">\scr@ifdvioutput</a> --> <a href="scrguien.pdf#scrbase.cmd.scr@ifdvioutput">269</a></li> +<li><a name="cmd.scr@ifpdfoutput"></a><a href="#cmd.scr@ifpdfoutput">\scr@ifpdfoutput</a> --> <a href="scrguien.pdf#scrbase.cmd.scr@ifpdfoutput">269</a></li> +<li><a name="cmd.scr@ifpdftex"></a><a href="#cmd.scr@ifpdftex">\scr@ifpdftex</a> --> <a href="scrguien.pdf#scrbase.cmd.scr@ifpdftex">268</a></li> +<li><a name="cmd.scr@ifpsoutput"></a><a href="#cmd.scr@ifpsoutput">\scr@ifpsoutput</a> --> <a href="scrguien.pdf#scrbase.cmd.scr@ifpsoutput">269</a></li> +<li><a name="cmd.scr@ifundefinedorrelax"></a><a href="#cmd.scr@ifundefinedorrelax">\scr@ifundefinedorrelax</a> --> <a href="scrguien.pdf#scrbase.cmd.scr@ifundefinedorrelax">268</a></li> +<li><a name="cmd.scrlayerAddCsToInterface"></a><a href="#cmd.scrlayerAddCsToInterface">\scrlayerAddCsToInterface</a> --> <a href="scrguien.pdf#scrlayer.cmd.scrlayerAddCsToInterface">332</a></li> +<li><a name="cmd.scrlayerAddToInterface"></a><a href="#cmd.scrlayerAddToInterface">\scrlayerAddToInterface</a> --> <a href="scrguien.pdf#scrlayer.cmd.scrlayerAddToInterface">332</a></li> +<li><a name="cmd.scrlayerInitInterface"></a><a href="#cmd.scrlayerInitInterface">\scrlayerInitInterface</a> --> <a href="scrguien.pdf#scrlayer.cmd.scrlayerInitInterface">332</a></li> +<li><a name="cmd.scrlayerOnAutoRemoveInterface"></a><a href="#cmd.scrlayerOnAutoRemoveInterface">\scrlayerOnAutoRemoveInterface</a> --> <a href="scrguien.pdf#scrlayer.cmd.scrlayerOnAutoRemoveInterface">333</a></li> +<li><a name="cmd.section*"></a><a href="#cmd.section*">\section*</a> --> <a href="scrguien.pdf#maincls.cmd.section*">93</a></li> +<li><a name="cmd.section"></a><a href="#cmd.section">\section</a> --> <a href="scrguien.pdf#maincls.cmd.section">89</a></li> +<li><a name="cmd.sectionmark"></a><a href="#cmd.sectionmark">\sectionmark</a> --> <a href="scrguien.pdf#scrlayer-scrpage.cmd.sectionmark">238</a>, <a href="scrguien.pdf#maincls.cmd.sectionmark">99</a></li> +<li><a name="cmd.sectionmarkformat"></a><a href="#cmd.sectionmarkformat">\sectionmarkformat</a> --> <a href="scrguien.pdf#scrlayer-scrpage.cmd.sectionmarkformat">237</a>, <a href="scrguien.pdf#maincls.cmd.sectionmarkformat">99</a></li> +<li><a name="cmd.setbibpreamble"></a><a href="#cmd.setbibpreamble">\setbibpreamble</a> --> <a href="scrguien.pdf#maincls.cmd.setbibpreamble">132</a></li> +<li><a name="cmd.setcaphanging"></a><a href="#cmd.setcaphanging">\setcaphanging</a> --> <a href="scrguien.pdf#maincls.cmd.setcaphanging">124</a></li> +<li><a name="cmd.setcapindent*"></a><a href="#cmd.setcapindent*">\setcapindent*</a> --> <a href="scrguien.pdf#maincls.cmd.setcapindent*">124</a></li> +<li><a name="cmd.setcapindent"></a><a href="#cmd.setcapindent">\setcapindent</a> --> <a href="scrguien.pdf#maincls.cmd.setcapindent">124</a></li> +<li><a name="cmd.setcapmargin*"></a><a href="#cmd.setcapmargin*">\setcapmargin*</a> --> <a href="scrguien.pdf#maincls.cmd.setcapmargin*">125</a></li> +<li><a name="cmd.setcapmargin"></a><a href="#cmd.setcapmargin">\setcapmargin</a> --> <a href="scrguien.pdf#maincls.cmd.setcapmargin">125</a></li> +<li><a name="cmd.setcapwidth"></a><a href="#cmd.setcapwidth">\setcapwidth</a> --> <a href="scrguien.pdf#maincls.cmd.setcapwidth">125</a></li> +<li><a name="cmd.setchapterpreamble"></a><a href="#cmd.setchapterpreamble">\setchapterpreamble</a> --> <a href="scrguien.pdf#maincls.cmd.setchapterpreamble">100</a></li> +<li><a name="cmd.setfootbotline"></a><a href="#cmd.setfootbotline">\setfootbotline</a> --> <a href="scrguien.pdf#scrpage.cmd.setfootbotline">209</a>, <a href="scrguien.pdf#scrlayer-scrpage.cmd.setfootbotline">242</a></li> +<li><a name="cmd.setfootnoterule"></a><a href="#cmd.setfootnoterule">\setfootnoterule</a> --> <a href="scrguien.pdf#maincls.cmd.setfootnoterule">83</a></li> +<li><a name="cmd.setfootsepline"></a><a href="#cmd.setfootsepline">\setfootsepline</a> --> <a href="scrguien.pdf#scrlayer-scrpage.cmd.setfootsepline">242</a></li> +<li><a name="cmd.setfootseptline"></a><a href="#cmd.setfootseptline">\setfootseptline</a> --> <a href="scrguien.pdf#scrpage.cmd.setfootseptline">209</a></li> +<li><a name="cmd.setfootwidth"></a><a href="#cmd.setfootwidth">\setfootwidth</a> --> <a href="scrguien.pdf#scrpage.cmd.setfootwidth">208</a></li> +<li><a name="cmd.setheadseoline"></a><a href="#cmd.setheadseoline">\setheadseoline</a> --> <a href="scrguien.pdf#scrlayer-scrpage.cmd.setheadseoline">242</a></li> +<li><a name="cmd.setheadsepline"></a><a href="#cmd.setheadsepline">\setheadsepline</a> --> <a href="scrguien.pdf#scrpage.cmd.setheadsepline">209</a></li> +<li><a name="cmd.setheadtopline"></a><a href="#cmd.setheadtopline">\setheadtopline</a> --> <a href="scrguien.pdf#scrpage.cmd.setheadtopline">209</a>, <a href="scrguien.pdf#scrlayer-scrpage.cmd.setheadtopline">242</a></li> +<li><a name="cmd.setheadwidth"></a><a href="#cmd.setheadwidth">\setheadwidth</a> --> <a href="scrguien.pdf#scrpage.cmd.setheadwidth">208</a></li> +<li><a name="cmd.setindexpreamble"></a><a href="#cmd.setindexpreamble">\setindexpreamble</a> --> <a href="scrguien.pdf#maincls.cmd.setindexpreamble">133</a></li> +<li><a name="cmd.setkomafont"></a><a href="#cmd.setkomafont">\setkomafont</a> --> <a href="scrguien.pdf#maincls.cmd.setkomafont">54</a></li> +<li><a name="cmd.setkomavar*"></a><a href="#cmd.setkomavar*">\setkomavar*</a> --> <a href="scrguien.pdf#scrlttr2.cmd.setkomavar*">138</a></li> +<li><a name="cmd.setkomavar"></a><a href="#cmd.setkomavar">\setkomavar</a> --> <a href="scrguien.pdf#scrlttr2.cmd.setkomavar">138</a></li> +<li><a name="cmd.setlengthtoplength"></a><a href="#cmd.setlengthtoplength">\setlengthtoplength</a> --> <a href="scrguien.pdf#scrlttr2.cmd.setlengthtoplength">140</a></li> +<li><a name="cmd.setparsizes"></a><a href="#cmd.setparsizes">\setparsizes</a> --> <a href="scrguien.pdf#maincls-experts.cmd.setparsizes">350</a></li> +<li><a name="cmd.setpartpreamble"></a><a href="#cmd.setpartpreamble">\setpartpreamble</a> --> <a href="scrguien.pdf#maincls.cmd.setpartpreamble">100</a></li> +<li><a name="cmd.setshowstyle"></a><a href="#cmd.setshowstyle">\setshowstyle</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.setshowstyle">375</a></li> +<li><a name="cmd.settime"></a><a href="#cmd.settime">\settime</a> --> <a href="scrguien.pdf#datetime.cmd.settime">247</a></li> +<li><a name="cmd.setuptoc"></a><a href="#cmd.setuptoc">\setuptoc</a> --> <a href="scrguien.pdf#tocbasic.cmd.setuptoc">299</a></li> +<li><a name="cmd.showISOenvelope"></a><a href="#cmd.showISOenvelope">\showISOenvelope</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.showISOenvelope">375</a></li> +<li><a name="cmd.showUScheck"></a><a href="#cmd.showUScheck">\showUScheck</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.showUScheck">375</a></li> +<li><a name="cmd.showUScommercial"></a><a href="#cmd.showUScommercial">\showUScommercial</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.showUScommercial">375</a></li> +<li><a name="cmd.showenvelope"></a><a href="#cmd.showenvelope">\showenvelope</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.showenvelope">375</a></li> +<li><a name="cmd.showfields"></a><a href="#cmd.showfields">\showfields</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.showfields">374</a></li> +<li><a name="cmd.storearea"></a><a href="#cmd.storearea">\storearea</a> --> <a href="scrguien.pdf#typearea-experts.cmd.storearea">346</a></li> +<li><a name="cmd.subject"></a><a href="#cmd.subject">\subject</a> --> <a href="scrguien.pdf#maincls.cmd.subject">61</a></li> +<li><a name="cmd.subjectname"></a><a href="#cmd.subjectname">\subjectname</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.subjectname">379</a></li> +<li><a name="cmd.subparagraph*"></a><a href="#cmd.subparagraph*">\subparagraph*</a> --> <a href="scrguien.pdf#maincls.cmd.subparagraph*">93</a></li> +<li><a name="cmd.subparagraph"></a><a href="#cmd.subparagraph">\subparagraph</a> --> <a href="scrguien.pdf#maincls.cmd.subparagraph">89</a></li> +<li><a name="cmd.subparagraphmark"></a><a href="#cmd.subparagraphmark">\subparagraphmark</a> --> <a href="scrguien.pdf#scrlayer-scrpage.cmd.subparagraphmark">238</a></li> +<li><a name="cmd.subparagraphmarkformat"></a><a href="#cmd.subparagraphmarkformat">\subparagraphmarkformat</a> --> <a href="scrguien.pdf#scrlayer-scrpage.cmd.subparagraphmarkformat">237</a></li> +<li><a name="cmd.subsection*"></a><a href="#cmd.subsection*">\subsection*</a> --> <a href="scrguien.pdf#maincls.cmd.subsection*">93</a></li> +<li><a name="cmd.subsection"></a><a href="#cmd.subsection">\subsection</a> --> <a href="scrguien.pdf#maincls.cmd.subsection">89</a></li> +<li><a name="cmd.subsectionmark"></a><a href="#cmd.subsectionmark">\subsectionmark</a> --> <a href="scrguien.pdf#scrlayer-scrpage.cmd.subsectionmark">238</a>, <a href="scrguien.pdf#maincls.cmd.subsectionmark">99</a></li> +<li><a name="cmd.subsectionmarkformat"></a><a href="#cmd.subsectionmarkformat">\subsectionmarkformat</a> --> <a href="scrguien.pdf#scrlayer-scrpage.cmd.subsectionmarkformat">237</a>, <a href="scrguien.pdf#maincls.cmd.subsectionmarkformat">99</a></li> +<li><a name="cmd.subsubsection*"></a><a href="#cmd.subsubsection*">\subsubsection*</a> --> <a href="scrguien.pdf#maincls.cmd.subsubsection*">93</a></li> +<li><a name="cmd.subsubsection"></a><a href="#cmd.subsubsection">\subsubsection</a> --> <a href="scrguien.pdf#maincls.cmd.subsubsection">89</a></li> +<li><a name="cmd.subsubsectionmark"></a><a href="#cmd.subsubsectionmark">\subsubsectionmark</a> --> <a href="scrguien.pdf#scrlayer-scrpage.cmd.subsubsectionmark">238</a></li> +<li><a name="cmd.subsubsectionmarkformat"></a><a href="#cmd.subsubsectionmarkformat">\subsubsectionmarkformat</a> --> <a href="scrguien.pdf#scrlayer-scrpage.cmd.subsubsectionmarkformat">237</a></li> +<li><a name="cmd.subtitle"></a><a href="#cmd.subtitle">\subtitle</a> --> <a href="scrguien.pdf#maincls.cmd.subtitle">61</a></li> +<li><a name="cmd.tableformat"></a><a href="#cmd.tableformat">\tableformat</a> --> <a href="scrguien.pdf#maincls.cmd.tableformat">124</a></li> +<li><a name="cmd.tableofcontents"></a><a href="#cmd.tableofcontents">\tableofcontents</a> --> <a href="scrguien.pdf#maincls.cmd.tableofcontents">68</a></li> +<li><a name="cmd.textsubscript"></a><a href="#cmd.textsubscript">\textsubscript</a> --> <a href="scrguien.pdf#maincls.cmd.textsubscript">53</a></li> +<li><a name="cmd.textsuperscript"></a><a href="#cmd.textsuperscript">\textsuperscript</a> --> <a href="scrguien.pdf#maincls.cmd.textsuperscript">53</a></li> +<li><a name="cmd.thanks"></a><a href="#cmd.thanks">\thanks</a> --> <a href="scrguien.pdf#maincls.cmd.thanks">61</a></li> +<li><a name="cmd.theenumi"></a><a href="#cmd.theenumi">\theenumi</a> --> <a href="scrguien.pdf#maincls.cmd.theenumi">105</a></li> +<li><a name="cmd.theenumii"></a><a href="#cmd.theenumii">\theenumii</a> --> <a href="scrguien.pdf#maincls.cmd.theenumii">105</a></li> +<li><a name="cmd.theenumiii"></a><a href="#cmd.theenumiii">\theenumiii</a> --> <a href="scrguien.pdf#maincls.cmd.theenumiii">105</a></li> +<li><a name="cmd.theenumiv"></a><a href="#cmd.theenumiv">\theenumiv</a> --> <a href="scrguien.pdf#maincls.cmd.theenumiv">105</a></li> +<li><a name="cmd.thefootnotemark"></a><a href="#cmd.thefootnotemark">\thefootnotemark</a> --> <a href="scrguien.pdf#maincls.cmd.thefootnotemark">82</a></li> +<li><a name="cmd.thispagestyle"></a><a href="#cmd.thispagestyle">\thispagestyle</a> --> <a href="scrguien.pdf#scrlttr2.cmd.thispagestyle">186</a>, <a href="scrguien.pdf#maincls.cmd.thispagestyle">72</a></li> +<li><a name="cmd.thistime*"></a><a href="#cmd.thistime*">\thistime*</a> --> <a href="scrguien.pdf#datetime.cmd.thistime*">247</a></li> +<li><a name="cmd.thistime"></a><a href="#cmd.thistime">\thistime</a> --> <a href="scrguien.pdf#datetime.cmd.thistime">247</a></li> +<li><a name="cmd.title"></a><a href="#cmd.title">\title</a> --> <a href="scrguien.pdf#maincls.cmd.title">61</a></li> +<li><a name="cmd.titlehead"></a><a href="#cmd.titlehead">\titlehead</a> --> <a href="scrguien.pdf#maincls.cmd.titlehead">61</a></li> +<li><a name="cmd.titlepagestyle"></a><a href="#cmd.titlepagestyle">\titlepagestyle</a> --> <a href="scrguien.pdf#scrextend.cmd.titlepagestyle">254</a>, <a href="scrguien.pdf#maincls.cmd.titlepagestyle">75</a></li> +<li><a name="cmd.tocbasic@@after@hook"></a><a href="#cmd.tocbasic@@after@hook">\tocbasic@@after@hook</a> --> <a href="scrguien.pdf#tocbasic.cmd.tocbasic@@after@hook">302</a></li> +<li><a name="cmd.tocbasic@@before@hook"></a><a href="#cmd.tocbasic@@before@hook">\tocbasic@@before@hook</a> --> <a href="scrguien.pdf#tocbasic.cmd.tocbasic@@before@hook">302</a></li> +<li><a name="cmd.tocbasic@addxcontentsline"></a><a href="#cmd.tocbasic@addxcontentsline">\tocbasic@addxcontentsline</a> --> <a href="scrguien.pdf#tocbasic.cmd.tocbasic@addxcontentsline">303</a></li> +<li><a name="cmd.tocbasic@extend@babel"></a><a href="#cmd.tocbasic@extend@babel">\tocbasic@extend@babel</a> --> <a href="scrguien.pdf#tocbasic.cmd.tocbasic@extend@babel">301</a></li> +<li><a name="cmd.tocbasic@listhead"></a><a href="#cmd.tocbasic@listhead">\tocbasic@listhead</a> --> <a href="scrguien.pdf#tocbasic.cmd.tocbasic@listhead">302</a></li> +<li><a name="cmd.tocbasic@listhead@"></a><a href="#cmd.tocbasic@listhead@">\tocbasic@listhead@</a> --> <a href="scrguien.pdf#tocbasic.cmd.tocbasic@listhead@">303</a></li> +<li><a name="cmd.tocbasic@starttoc"></a><a href="#cmd.tocbasic@starttoc">\tocbasic@starttoc</a> --> <a href="scrguien.pdf#tocbasic.cmd.tocbasic@starttoc">301</a></li> +<li><a name="cmd.tocbasicautomode"></a><a href="#cmd.tocbasicautomode">\tocbasicautomode</a> --> <a href="scrguien.pdf#tocbasic.cmd.tocbasicautomode">294</a></li> +<li><a name="cmd.typearea"></a><a href="#cmd.typearea">\typearea</a> --> <a href="scrguien.pdf#typearea.cmd.typearea">36</a></li> +<li><a name="cmd.unitfactor"></a><a href="#cmd.unitfactor">\unitfactor</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.unitfactor">375</a></li> +<li><a name="cmd.unsettoc"></a><a href="#cmd.unsettoc">\unsettoc</a> --> <a href="scrguien.pdf#tocbasic.cmd.unsettoc">299</a></li> +<li><a name="cmd.uppertitleback"></a><a href="#cmd.uppertitleback">\uppertitleback</a> --> <a href="scrguien.pdf#maincls.cmd.uppertitleback">64</a></li> +<li><a name="cmd.useencodingofkomafont"></a><a href="#cmd.useencodingofkomafont">\useencodingofkomafont</a> --> <a href="scrguien.pdf#maincls.cmd.useencodingofkomafont">58</a></li> +<li><a name="cmd.usefamilyofkomafont"></a><a href="#cmd.usefamilyofkomafont">\usefamilyofkomafont</a> --> <a href="scrguien.pdf#maincls.cmd.usefamilyofkomafont">58</a></li> +<li><a name="cmd.usefontofkomafont"></a><a href="#cmd.usefontofkomafont">\usefontofkomafont</a> --> <a href="scrguien.pdf#maincls.cmd.usefontofkomafont">58</a></li> +<li><a name="cmd.usekomafont"></a><a href="#cmd.usekomafont">\usekomafont</a> --> <a href="scrguien.pdf#maincls.cmd.usekomafont">54</a></li> +<li><a name="cmd.usekomavar*"></a><a href="#cmd.usekomavar*">\usekomavar*</a> --> <a href="scrguien.pdf#scrlttr2.cmd.usekomavar*">139</a>, <a href="scrguien.pdf#scrlttr2-experts.cmd.usekomavar*">372</a></li> +<li><a name="cmd.usekomavar"></a><a href="#cmd.usekomavar">\usekomavar</a> --> <a href="scrguien.pdf#scrlttr2.cmd.usekomavar">139</a>, <a href="scrguien.pdf#scrlttr2-experts.cmd.usekomavar">372</a></li> +<li><a name="cmd.usepackage"></a><a href="#cmd.usepackage">\usepackage</a> --> <a href="scrguien.pdf#typearea.cmd.usepackage">28</a></li> +<li><a name="cmd.useplength"></a><a href="#cmd.useplength">\useplength</a> --> <a href="scrguien.pdf#scrlttr2.cmd.useplength">140</a></li> +<li><a name="cmd.useseriesofkomafont"></a><a href="#cmd.useseriesofkomafont">\useseriesofkomafont</a> --> <a href="scrguien.pdf#maincls.cmd.useseriesofkomafont">58</a></li> +<li><a name="cmd.useshapeofkomafont"></a><a href="#cmd.useshapeofkomafont">\useshapeofkomafont</a> --> <a href="scrguien.pdf#maincls.cmd.useshapeofkomafont">58</a></li> +<li><a name="cmd.usesizeofkomafont"></a><a href="#cmd.usesizeofkomafont">\usesizeofkomafont</a> --> <a href="scrguien.pdf#maincls.cmd.usesizeofkomafont">58</a></li> +<li><a name="cmd.wwwname"></a><a href="#cmd.wwwname">\wwwname</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.wwwname">379</a></li> +<li><a name="cmd.yourmailname"></a><a href="#cmd.yourmailname">\yourmailname</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.yourmailname">379</a></li> +<li><a name="cmd.yourrefname"></a><a href="#cmd.yourrefname">\yourrefname</a> --> <a href="scrguien.pdf#scrlttr2-experts.cmd.yourrefname">379</a></li> </ul> <h2><a name="environment">Environments</a></h2> <ul> -<li><a name="env.abstract"></a><a href="#env.abstract">abstract</a> --> <a href="scrguien.pdf#maincls.env.abstract">61</a></li> -<li><a name="env.addmargin*"></a><a href="#env.addmargin*">addmargin*</a> --> <a href="scrguien.pdf#maincls.env.addmargin*">106</a></li> -<li><a name="env.addmargin"></a><a href="#env.addmargin">addmargin</a> --> <a href="scrguien.pdf#maincls.env.addmargin">106</a></li> -<li><a name="env.captionbeside"></a><a href="#env.captionbeside">captionbeside</a> --> <a href="scrguien.pdf#maincls.env.captionbeside">115</a></li> -<li><a name="env.captionofbeside"></a><a href="#env.captionofbeside">captionofbeside</a> --> <a href="scrguien.pdf#maincls.env.captionofbeside">118</a></li> -<li><a name="env.description"></a><a href="#env.description">description</a> --> <a href="scrguien.pdf#maincls.env.description">101</a></li> -<li><a name="env.enumerate"></a><a href="#env.enumerate">enumerate</a> --> <a href="scrguien.pdf#maincls.env.enumerate">100</a></li> -<li><a name="env.itemize"></a><a href="#env.itemize">itemize</a> --> <a href="scrguien.pdf#maincls.env.itemize">99</a></li> -<li><a name="env.labeling"></a><a href="#env.labeling">labeling</a> --> <a href="scrguien.pdf#maincls.env.labeling">102</a></li> -<li><a name="env.letter"></a><a href="#env.letter">letter</a> --> <a href="scrguien.pdf#scrlttr2.env.letter">138</a></li> -<li><a name="env.quotation"></a><a href="#env.quotation">quotation</a> --> <a href="scrguien.pdf#maincls.env.quotation">104</a></li> -<li><a name="env.quote"></a><a href="#env.quote">quote</a> --> <a href="scrguien.pdf#maincls.env.quote">104</a></li> -<li><a name="env.titlepage"></a><a href="#env.titlepage">titlepage</a> --> <a href="scrguien.pdf#maincls.env.titlepage">55</a></li> -<li><a name="env.verse"></a><a href="#env.verse">verse</a> --> <a href="scrguien.pdf#maincls.env.verse">103</a></li> +<li><a name="env.abstract"></a><a href="#env.abstract">abstract</a> --> <a href="scrguien.pdf#maincls.env.abstract">65</a></li> +<li><a name="env.addmargin*"></a><a href="#env.addmargin*">addmargin*</a> --> <a href="scrguien.pdf#maincls.env.addmargin*">111</a></li> +<li><a name="env.addmargin"></a><a href="#env.addmargin">addmargin</a> --> <a href="scrguien.pdf#maincls.env.addmargin">111</a></li> +<li><a name="env.captionbeside"></a><a href="#env.captionbeside">captionbeside</a> --> <a href="scrguien.pdf#maincls.env.captionbeside">120</a></li> +<li><a name="env.captionofbeside"></a><a href="#env.captionofbeside">captionofbeside</a> --> <a href="scrguien.pdf#maincls.env.captionofbeside">123</a></li> +<li><a name="env.description"></a><a href="#env.description">description</a> --> <a href="scrguien.pdf#maincls.env.description">106</a></li> +<li><a name="env.enumerate"></a><a href="#env.enumerate">enumerate</a> --> <a href="scrguien.pdf#maincls.env.enumerate">105</a></li> +<li><a name="env.itemize"></a><a href="#env.itemize">itemize</a> --> <a href="scrguien.pdf#maincls.env.itemize">104</a></li> +<li><a name="env.labeling"></a><a href="#env.labeling">labeling</a> --> <a href="scrguien.pdf#maincls.env.labeling">107</a></li> +<li><a name="env.letter"></a><a href="#env.letter">letter</a> --> <a href="scrguien.pdf#scrlttr2.env.letter">143</a></li> +<li><a name="env.quotation"></a><a href="#env.quotation">quotation</a> --> <a href="scrguien.pdf#maincls.env.quotation">109</a></li> +<li><a name="env.quote"></a><a href="#env.quote">quote</a> --> <a href="scrguien.pdf#maincls.env.quote">109</a></li> +<li><a name="env.titlepage"></a><a href="#env.titlepage">titlepage</a> --> <a href="scrguien.pdf#maincls.env.titlepage">59</a></li> +<li><a name="env.verse"></a><a href="#env.verse">verse</a> --> <a href="scrguien.pdf#maincls.env.verse">108</a></li> +</ul> +<h2><a name="length">Lengths</a></h2> +<ul> +<li><a name="length.footheight"></a><a href="#length.footheight">footheight</a> --> <a href="scrguien.pdf#scrlayer-scrpage.length.footheight">223</a></li> +<li><a name="length.headheight"></a><a href="#length.headheight">headheight</a> --> <a href="scrguien.pdf#scrlayer-scrpage.length.headheight">223</a></li> </ul> <h2><a name="plength">Pseudolengths</a></h2> <ul> -<li><a name="plength.PPdatamatrixvskip"></a><a href="#plength.PPdatamatrixvskip">PPdatamatrixvskip</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.PPdatamatrixvskip">302</a></li> -<li><a name="plength.PPheadheight"></a><a href="#plength.PPheadheight">PPheadheight</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.PPheadheight">301</a></li> -<li><a name="plength.PPheadwidth"></a><a href="#plength.PPheadwidth">PPheadwidth</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.PPheadwidth">301</a></li> -<li><a name="plength.backaddrheight"></a><a href="#plength.backaddrheight">backaddrheight</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.backaddrheight">301</a></li> -<li><a name="plength.bfoldmarklength"></a><a href="#plength.bfoldmarklength">bfoldmarklength</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.bfoldmarklength">298</a></li> -<li><a name="plength.bfoldmarkvpos"></a><a href="#plength.bfoldmarkvpos">bfoldmarkvpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.bfoldmarkvpos">297</a></li> -<li><a name="plength.firstfoothpos"></a><a href="#plength.firstfoothpos">firstfoothpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.firstfoothpos">305</a></li> -<li><a name="plength.firstfootvpos"></a><a href="#plength.firstfootvpos">firstfootvpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.firstfootvpos">305</a></li> -<li><a name="plength.firstfootwidth"></a><a href="#plength.firstfootwidth">firstfootwidth</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.firstfootwidth">305</a></li> -<li><a name="plength.firstheadhpos"></a><a href="#plength.firstheadhpos">firstheadhpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.firstheadhpos">299</a></li> -<li><a name="plength.firstheadvpos"></a><a href="#plength.firstheadvpos">firstheadvpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.firstheadvpos">299</a></li> -<li><a name="plength.firstheadwidth"></a><a href="#plength.firstheadwidth">firstheadwidth</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.firstheadwidth">299</a></li> -<li><a name="plength.foldmarkhpos"></a><a href="#plength.foldmarkhpos">foldmarkhpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.foldmarkhpos">298</a></li> -<li><a name="plength.foldmarkthickness"></a><a href="#plength.foldmarkthickness">foldmarkthickness</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.foldmarkthickness">298</a></li> -<li><a name="plength.foldmarkvpos"></a><a href="#plength.foldmarkvpos">foldmarkvpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.foldmarkvpos">298</a></li> -<li><a name="plength.fromrulethickness"></a><a href="#plength.fromrulethickness">fromrulethickness</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.fromrulethickness">299</a></li> -<li><a name="plength.fromrulewidth"></a><a href="#plength.fromrulewidth">fromrulewidth</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.fromrulewidth">299</a></li> -<li><a name="plength.lfoldmarkhpos"></a><a href="#plength.lfoldmarkhpos">lfoldmarkhpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.lfoldmarkhpos">298</a></li> -<li><a name="plength.lfoldmarklength"></a><a href="#plength.lfoldmarklength">lfoldmarklength</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.lfoldmarklength">298</a></li> -<li><a name="plength.locheight"></a><a href="#plength.locheight">locheight</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.locheight">302</a></li> -<li><a name="plength.lochpos"></a><a href="#plength.lochpos">lochpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.lochpos">302</a></li> -<li><a name="plength.locvpos"></a><a href="#plength.locvpos">locvpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.locvpos">302</a></li> -<li><a name="plength.locwidth"></a><a href="#plength.locwidth">locwidth</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.locwidth">302</a></li> -<li><a name="plength.mfoldmarklength"></a><a href="#plength.mfoldmarklength">mfoldmarklength</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.mfoldmarklength">298</a></li> -<li><a name="plength.mfoldmarkvpos"></a><a href="#plength.mfoldmarkvpos">mfoldmarkvpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.mfoldmarkvpos">297</a></li> -<li><a name="plength.pfoldmarklength"></a><a href="#plength.pfoldmarklength">pfoldmarklength</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.pfoldmarklength">298</a></li> -<li><a name="plength.refaftervskip"></a><a href="#plength.refaftervskip">refaftervskip</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.refaftervskip">303</a></li> -<li><a name="plength.refhpos"></a><a href="#plength.refhpos">refhpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.refhpos">303</a></li> -<li><a name="plength.refvpos"></a><a href="#plength.refvpos">refvpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.refvpos">303</a></li> -<li><a name="plength.refwidth"></a><a href="#plength.refwidth">refwidth</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.refwidth">303</a></li> -<li><a name="plength.sigbeforevskip"></a><a href="#plength.sigbeforevskip">sigbeforevskip</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.sigbeforevskip">304</a></li> -<li><a name="plength.sigindent"></a><a href="#plength.sigindent">sigindent</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.sigindent">304</a></li> -<li><a name="plength.specialmailindent"></a><a href="#plength.specialmailindent">specialmailindent</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.specialmailindent">301</a></li> -<li><a name="plength.specialmailrightindent"></a><a href="#plength.specialmailrightindent">specialmailrightindent</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.specialmailrightindent">301</a></li> -<li><a name="plength.subjectaftervskip"></a><a href="#plength.subjectaftervskip">subjectaftervskip</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.subjectaftervskip">304</a></li> -<li><a name="plength.subjectbeforevskip"></a><a href="#plength.subjectbeforevskip">subjectbeforevskip</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.subjectbeforevskip">304</a></li> -<li><a name="plength.subjectvpos"></a><a href="#plength.subjectvpos">subjectvpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.subjectvpos">303</a></li> -<li><a name="plength.tfoldmarklength"></a><a href="#plength.tfoldmarklength">tfoldmarklength</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.tfoldmarklength">298</a></li> -<li><a name="plength.tfoldmarkvpos"></a><a href="#plength.tfoldmarkvpos">tfoldmarkvpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.tfoldmarkvpos">297</a></li> -<li><a name="plength.toaddrheight"></a><a href="#plength.toaddrheight">toaddrheight</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.toaddrheight">300</a></li> -<li><a name="plength.toaddrhpos"></a><a href="#plength.toaddrhpos">toaddrhpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.toaddrhpos">300</a></li> -<li><a name="plength.toaddrindent"></a><a href="#plength.toaddrindent">toaddrindent</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.toaddrindent">301</a></li> -<li><a name="plength.toaddrvpos"></a><a href="#plength.toaddrvpos">toaddrvpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.toaddrvpos">300</a></li> -<li><a name="plength.toaddrwidth"></a><a href="#plength.toaddrwidth">toaddrwidth</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.toaddrwidth">300</a></li> +<li><a name="plength.PPdatamatrixvskip"></a><a href="#plength.PPdatamatrixvskip">PPdatamatrixvskip</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.PPdatamatrixvskip">368</a></li> +<li><a name="plength.PPheadheight"></a><a href="#plength.PPheadheight">PPheadheight</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.PPheadheight">367</a></li> +<li><a name="plength.PPheadwidth"></a><a href="#plength.PPheadwidth">PPheadwidth</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.PPheadwidth">367</a></li> +<li><a name="plength.backaddrheight"></a><a href="#plength.backaddrheight">backaddrheight</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.backaddrheight">367</a></li> +<li><a name="plength.bfoldmarklength"></a><a href="#plength.bfoldmarklength">bfoldmarklength</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.bfoldmarklength">364</a></li> +<li><a name="plength.bfoldmarkvpos"></a><a href="#plength.bfoldmarkvpos">bfoldmarkvpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.bfoldmarkvpos">363</a></li> +<li><a name="plength.firstfoothpos"></a><a href="#plength.firstfoothpos">firstfoothpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.firstfoothpos">371</a></li> +<li><a name="plength.firstfootvpos"></a><a href="#plength.firstfootvpos">firstfootvpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.firstfootvpos">371</a></li> +<li><a name="plength.firstfootwidth"></a><a href="#plength.firstfootwidth">firstfootwidth</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.firstfootwidth">371</a></li> +<li><a name="plength.firstheadhpos"></a><a href="#plength.firstheadhpos">firstheadhpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.firstheadhpos">365</a></li> +<li><a name="plength.firstheadvpos"></a><a href="#plength.firstheadvpos">firstheadvpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.firstheadvpos">365</a></li> +<li><a name="plength.firstheadwidth"></a><a href="#plength.firstheadwidth">firstheadwidth</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.firstheadwidth">365</a></li> +<li><a name="plength.foldmarkhpos"></a><a href="#plength.foldmarkhpos">foldmarkhpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.foldmarkhpos">364</a></li> +<li><a name="plength.foldmarkthickness"></a><a href="#plength.foldmarkthickness">foldmarkthickness</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.foldmarkthickness">364</a></li> +<li><a name="plength.foldmarkvpos"></a><a href="#plength.foldmarkvpos">foldmarkvpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.foldmarkvpos">364</a></li> +<li><a name="plength.fromrulethickness"></a><a href="#plength.fromrulethickness">fromrulethickness</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.fromrulethickness">365</a></li> +<li><a name="plength.fromrulewidth"></a><a href="#plength.fromrulewidth">fromrulewidth</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.fromrulewidth">365</a></li> +<li><a name="plength.lfoldmarkhpos"></a><a href="#plength.lfoldmarkhpos">lfoldmarkhpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.lfoldmarkhpos">364</a></li> +<li><a name="plength.lfoldmarklength"></a><a href="#plength.lfoldmarklength">lfoldmarklength</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.lfoldmarklength">364</a></li> +<li><a name="plength.locheight"></a><a href="#plength.locheight">locheight</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.locheight">368</a></li> +<li><a name="plength.lochpos"></a><a href="#plength.lochpos">lochpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.lochpos">368</a></li> +<li><a name="plength.locvpos"></a><a href="#plength.locvpos">locvpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.locvpos">368</a></li> +<li><a name="plength.locwidth"></a><a href="#plength.locwidth">locwidth</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.locwidth">368</a></li> +<li><a name="plength.mfoldmarklength"></a><a href="#plength.mfoldmarklength">mfoldmarklength</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.mfoldmarklength">364</a></li> +<li><a name="plength.mfoldmarkvpos"></a><a href="#plength.mfoldmarkvpos">mfoldmarkvpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.mfoldmarkvpos">363</a></li> +<li><a name="plength.pfoldmarklength"></a><a href="#plength.pfoldmarklength">pfoldmarklength</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.pfoldmarklength">364</a></li> +<li><a name="plength.refaftervskip"></a><a href="#plength.refaftervskip">refaftervskip</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.refaftervskip">369</a></li> +<li><a name="plength.refhpos"></a><a href="#plength.refhpos">refhpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.refhpos">369</a></li> +<li><a name="plength.refvpos"></a><a href="#plength.refvpos">refvpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.refvpos">369</a></li> +<li><a name="plength.refwidth"></a><a href="#plength.refwidth">refwidth</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.refwidth">369</a></li> +<li><a name="plength.sigbeforevskip"></a><a href="#plength.sigbeforevskip">sigbeforevskip</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.sigbeforevskip">370</a></li> +<li><a name="plength.sigindent"></a><a href="#plength.sigindent">sigindent</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.sigindent">370</a></li> +<li><a name="plength.specialmailindent"></a><a href="#plength.specialmailindent">specialmailindent</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.specialmailindent">367</a></li> +<li><a name="plength.specialmailrightindent"></a><a href="#plength.specialmailrightindent">specialmailrightindent</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.specialmailrightindent">367</a></li> +<li><a name="plength.subjectaftervskip"></a><a href="#plength.subjectaftervskip">subjectaftervskip</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.subjectaftervskip">370</a></li> +<li><a name="plength.subjectbeforevskip"></a><a href="#plength.subjectbeforevskip">subjectbeforevskip</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.subjectbeforevskip">370</a></li> +<li><a name="plength.subjectvpos"></a><a href="#plength.subjectvpos">subjectvpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.subjectvpos">369</a></li> +<li><a name="plength.tfoldmarklength"></a><a href="#plength.tfoldmarklength">tfoldmarklength</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.tfoldmarklength">364</a></li> +<li><a name="plength.tfoldmarkvpos"></a><a href="#plength.tfoldmarkvpos">tfoldmarkvpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.tfoldmarkvpos">363</a></li> +<li><a name="plength.toaddrheight"></a><a href="#plength.toaddrheight">toaddrheight</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.toaddrheight">366</a></li> +<li><a name="plength.toaddrhpos"></a><a href="#plength.toaddrhpos">toaddrhpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.toaddrhpos">366</a></li> +<li><a name="plength.toaddrindent"></a><a href="#plength.toaddrindent">toaddrindent</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.toaddrindent">367</a></li> +<li><a name="plength.toaddrvpos"></a><a href="#plength.toaddrvpos">toaddrvpos</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.toaddrvpos">366</a></li> +<li><a name="plength.toaddrwidth"></a><a href="#plength.toaddrwidth">toaddrwidth</a> --> <a href="scrguien.pdf#scrlttr2-experts.plength.toaddrwidth">366</a></li> </ul> <h2><a name="variable">Variables</a></h2> <ul> -<li><a name="variable.PPcode"></a><a href="#variable.PPcode">PPcode</a> --> <a href="scrguien.pdf#scrlttr2.variable.PPcode">164</a></li> -<li><a name="variable.PPdatamatrix"></a><a href="#variable.PPdatamatrix">PPdatamatrix</a> --> <a href="scrguien.pdf#scrlttr2.variable.PPdatamatrix">164</a></li> -<li><a name="variable.addresseeimage"></a><a href="#variable.addresseeimage">addresseeimage</a> --> <a href="scrguien.pdf#scrlttr2.variable.addresseeimage">164</a></li> -<li><a name="variable.backaddress"></a><a href="#variable.backaddress">backaddress</a> --> <a href="scrguien.pdf#scrlttr2.variable.backaddress">164</a></li> -<li><a name="variable.backaddressseparator"></a><a href="#variable.backaddressseparator">backaddressseparator</a> --> <a href="scrguien.pdf#scrlttr2.variable.backaddressseparator">164</a></li> -<li><a name="variable.ccseparator"></a><a href="#variable.ccseparator">ccseparator</a> --> <a href="scrguien.pdf#scrlttr2.variable.ccseparator">142</a></li> -<li><a name="variable.customer"></a><a href="#variable.customer">customer</a> --> <a href="scrguien.pdf#scrlttr2.variable.customer">171</a></li> -<li><a name="variable.date"></a><a href="#variable.date">date</a> --> <a href="scrguien.pdf#scrlttr2.variable.date">170</a></li> -<li><a name="variable.emailseparator"></a><a href="#variable.emailseparator">emailseparator</a> --> <a href="scrguien.pdf#scrlttr2.variable.emailseparator">159</a></li> -<li><a name="variable.enclseparator"></a><a href="#variable.enclseparator">enclseparator</a> --> <a href="scrguien.pdf#scrlttr2.variable.enclseparator">144</a></li> -<li><a name="variable.faxseparator"></a><a href="#variable.faxseparator">faxseparator</a> --> <a href="scrguien.pdf#scrlttr2.variable.faxseparator">159</a></li> -<li><a name="variable.firstfoot"></a><a href="#variable.firstfoot">firstfoot</a> --> <a href="scrguien.pdf#scrlttr2.variable.firstfoot">176</a></li> -<li><a name="variable.firsthead"></a><a href="#variable.firsthead">firsthead</a> --> <a href="scrguien.pdf#scrlttr2.variable.firsthead">164</a></li> -<li><a name="variable.fromaddress"></a><a href="#variable.fromaddress">fromaddress</a> --> <a href="scrguien.pdf#scrlttr2.variable.fromaddress">154</a></li> -<li><a name="variable.frombank"></a><a href="#variable.frombank">frombank</a> --> <a href="scrguien.pdf#scrlttr2.variable.frombank">177</a></li> -<li><a name="variable.fromemail"></a><a href="#variable.fromemail">fromemail</a> --> <a href="scrguien.pdf#scrlttr2.variable.fromemail">159</a></li> -<li><a name="variable.fromfax"></a><a href="#variable.fromfax">fromfax</a> --> <a href="scrguien.pdf#scrlttr2.variable.fromfax">159</a></li> -<li><a name="variable.fromlogo"></a><a href="#variable.fromlogo">fromlogo</a> --> <a href="scrguien.pdf#scrlttr2.variable.fromlogo">162</a></li> -<li><a name="variable.fromname"></a><a href="#variable.fromname">fromname</a> --> <a href="scrguien.pdf#scrlttr2.variable.fromname">154</a></li> -<li><a name="variable.fromphone"></a><a href="#variable.fromphone">fromphone</a> --> <a href="scrguien.pdf#scrlttr2.variable.fromphone">159</a></li> -<li><a name="variable.fromurl"></a><a href="#variable.fromurl">fromurl</a> --> <a href="scrguien.pdf#scrlttr2.variable.fromurl">159</a></li> -<li><a name="variable.fromzipcode"></a><a href="#variable.fromzipcode">fromzipcode</a> --> <a href="scrguien.pdf#scrlttr2.variable.fromzipcode">164</a></li> -<li><a name="variable.invoice"></a><a href="#variable.invoice">invoice</a> --> <a href="scrguien.pdf#scrlttr2.variable.invoice">171</a></li> -<li><a name="variable.location"></a><a href="#variable.location">location</a> --> <a href="scrguien.pdf#scrlttr2.variable.location">169</a></li> -<li><a name="variable.myref"></a><a href="#variable.myref">myref</a> --> <a href="scrguien.pdf#scrlttr2.variable.myref">171</a></li> -<li><a name="variable.nextfoot"></a><a href="#variable.nextfoot">nextfoot</a> --> <a href="scrguien.pdf#scrlttr2.variable.nextfoot">182</a></li> -<li><a name="variable.nexthead"></a><a href="#variable.nexthead">nexthead</a> --> <a href="scrguien.pdf#scrlttr2.variable.nexthead">182</a></li> -<li><a name="variable.phoneseparator"></a><a href="#variable.phoneseparator">phoneseparator</a> --> <a href="scrguien.pdf#scrlttr2.variable.phoneseparator">159</a></li> -<li><a name="variable.place"></a><a href="#variable.place">place</a> --> <a href="scrguien.pdf#scrlttr2.variable.place">164</a></li> -<li><a name="variable.placeseparator"></a><a href="#variable.placeseparator">placeseparator</a> --> <a href="scrguien.pdf#scrlttr2.variable.placeseparator">172</a></li> -<li><a name="variable.signature"></a><a href="#variable.signature">signature</a> --> <a href="scrguien.pdf#scrlttr2.variable.signature">183</a></li> -<li><a name="variable.specialmail"></a><a href="#variable.specialmail">specialmail</a> --> <a href="scrguien.pdf#scrlttr2.variable.specialmail">164</a></li> -<li><a name="variable.subject"></a><a href="#variable.subject">subject</a> --> <a href="scrguien.pdf#scrlttr2.variable.subject">174</a></li> -<li><a name="variable.subjectseparator"></a><a href="#variable.subjectseparator">subjectseparator</a> --> <a href="scrguien.pdf#scrlttr2.variable.subjectseparator">174</a></li> -<li><a name="variable.title"></a><a href="#variable.title">title</a> --> <a href="scrguien.pdf#scrlttr2.variable.title">173</a></li> -<li><a name="variable.toaddress"></a><a href="#variable.toaddress">toaddress</a> --> <a href="scrguien.pdf#scrlttr2.variable.toaddress">164</a></li> -<li><a name="variable.toname"></a><a href="#variable.toname">toname</a> --> <a href="scrguien.pdf#scrlttr2.variable.toname">164</a></li> -<li><a name="variable.urlseparator"></a><a href="#variable.urlseparator">urlseparator</a> --> <a href="scrguien.pdf#scrlttr2.variable.urlseparator">159</a></li> -<li><a name="variable.yourmail"></a><a href="#variable.yourmail">yourmail</a> --> <a href="scrguien.pdf#scrlttr2.variable.yourmail">171</a></li> -<li><a name="variable.yourref"></a><a href="#variable.yourref">yourref</a> --> <a href="scrguien.pdf#scrlttr2.variable.yourref">171</a></li> -<li><a name="variable.zipcodeseparator"></a><a href="#variable.zipcodeseparator">zipcodeseparator</a> --> <a href="scrguien.pdf#scrlttr2.variable.zipcodeseparator">164</a></li> +<li><a name="variable.PPcode"></a><a href="#variable.PPcode">PPcode</a> --> <a href="scrguien.pdf#scrlttr2.variable.PPcode">170</a></li> +<li><a name="variable.PPdatamatrix"></a><a href="#variable.PPdatamatrix">PPdatamatrix</a> --> <a href="scrguien.pdf#scrlttr2.variable.PPdatamatrix">170</a></li> +<li><a name="variable.addresseeimage"></a><a href="#variable.addresseeimage">addresseeimage</a> --> <a href="scrguien.pdf#scrlttr2.variable.addresseeimage">170</a></li> +<li><a name="variable.backaddress"></a><a href="#variable.backaddress">backaddress</a> --> <a href="scrguien.pdf#scrlttr2.variable.backaddress">170</a></li> +<li><a name="variable.backaddressseparator"></a><a href="#variable.backaddressseparator">backaddressseparator</a> --> <a href="scrguien.pdf#scrlttr2.variable.backaddressseparator">170</a></li> +<li><a name="variable.ccseparator"></a><a href="#variable.ccseparator">ccseparator</a> --> <a href="scrguien.pdf#scrlttr2.variable.ccseparator">147</a></li> +<li><a name="variable.customer"></a><a href="#variable.customer">customer</a> --> <a href="scrguien.pdf#scrlttr2.variable.customer">177</a></li> +<li><a name="variable.date"></a><a href="#variable.date">date</a> --> <a href="scrguien.pdf#scrlttr2.variable.date">176</a></li> +<li><a name="variable.emailseparator"></a><a href="#variable.emailseparator">emailseparator</a> --> <a href="scrguien.pdf#scrlttr2.variable.emailseparator">164</a></li> +<li><a name="variable.enclseparator"></a><a href="#variable.enclseparator">enclseparator</a> --> <a href="scrguien.pdf#scrlttr2.variable.enclseparator">149</a></li> +<li><a name="variable.faxseparator"></a><a href="#variable.faxseparator">faxseparator</a> --> <a href="scrguien.pdf#scrlttr2.variable.faxseparator">164</a></li> +<li><a name="variable.firstfoot"></a><a href="#variable.firstfoot">firstfoot</a> --> <a href="scrguien.pdf#scrlttr2.variable.firstfoot">183</a></li> +<li><a name="variable.firsthead"></a><a href="#variable.firsthead">firsthead</a> --> <a href="scrguien.pdf#scrlttr2.variable.firsthead">170</a></li> +<li><a name="variable.fromaddress"></a><a href="#variable.fromaddress">fromaddress</a> --> <a href="scrguien.pdf#scrlttr2.variable.fromaddress">159</a></li> +<li><a name="variable.frombank"></a><a href="#variable.frombank">frombank</a> --> <a href="scrguien.pdf#scrlttr2.variable.frombank">183</a></li> +<li><a name="variable.fromemail"></a><a href="#variable.fromemail">fromemail</a> --> <a href="scrguien.pdf#scrlttr2.variable.fromemail">164</a></li> +<li><a name="variable.fromfax"></a><a href="#variable.fromfax">fromfax</a> --> <a href="scrguien.pdf#scrlttr2.variable.fromfax">164</a></li> +<li><a name="variable.fromlogo"></a><a href="#variable.fromlogo">fromlogo</a> --> <a href="scrguien.pdf#scrlttr2.variable.fromlogo">168</a></li> +<li><a name="variable.frommobilephone"></a><a href="#variable.frommobilephone">frommobilephone</a> --> <a href="scrguien.pdf#scrlttr2.variable.frommobilephone">164</a></li> +<li><a name="variable.fromname"></a><a href="#variable.fromname">fromname</a> --> <a href="scrguien.pdf#scrlttr2.variable.fromname">159</a></li> +<li><a name="variable.fromphone"></a><a href="#variable.fromphone">fromphone</a> --> <a href="scrguien.pdf#scrlttr2.variable.fromphone">164</a></li> +<li><a name="variable.fromurl"></a><a href="#variable.fromurl">fromurl</a> --> <a href="scrguien.pdf#scrlttr2.variable.fromurl">164</a></li> +<li><a name="variable.fromzipcode"></a><a href="#variable.fromzipcode">fromzipcode</a> --> <a href="scrguien.pdf#scrlttr2.variable.fromzipcode">170</a></li> +<li><a name="variable.invoice"></a><a href="#variable.invoice">invoice</a> --> <a href="scrguien.pdf#scrlttr2.variable.invoice">177</a></li> +<li><a name="variable.location"></a><a href="#variable.location">location</a> --> <a href="scrguien.pdf#scrlttr2.variable.location">175</a></li> +<li><a name="variable.mobilephoneseparator"></a><a href="#variable.mobilephoneseparator">mobilephoneseparator</a> --> <a href="scrguien.pdf#scrlttr2.variable.mobilephoneseparator">164</a></li> +<li><a name="variable.myref"></a><a href="#variable.myref">myref</a> --> <a href="scrguien.pdf#scrlttr2.variable.myref">177</a></li> +<li><a name="variable.nextfoot"></a><a href="#variable.nextfoot">nextfoot</a> --> <a href="scrguien.pdf#scrlttr2.variable.nextfoot">188</a></li> +<li><a name="variable.nexthead"></a><a href="#variable.nexthead">nexthead</a> --> <a href="scrguien.pdf#scrlttr2.variable.nexthead">188</a></li> +<li><a name="variable.phoneseparator"></a><a href="#variable.phoneseparator">phoneseparator</a> --> <a href="scrguien.pdf#scrlttr2.variable.phoneseparator">164</a></li> +<li><a name="variable.place"></a><a href="#variable.place">place</a> --> <a href="scrguien.pdf#scrlttr2.variable.place">170</a></li> +<li><a name="variable.placeseparator"></a><a href="#variable.placeseparator">placeseparator</a> --> <a href="scrguien.pdf#scrlttr2.variable.placeseparator">178</a></li> +<li><a name="variable.signature"></a><a href="#variable.signature">signature</a> --> <a href="scrguien.pdf#scrlttr2.variable.signature">190</a></li> +<li><a name="variable.specialmail"></a><a href="#variable.specialmail">specialmail</a> --> <a href="scrguien.pdf#scrlttr2.variable.specialmail">170</a></li> +<li><a name="variable.subject"></a><a href="#variable.subject">subject</a> --> <a href="scrguien.pdf#scrlttr2.variable.subject">180</a></li> +<li><a name="variable.subjectseparator"></a><a href="#variable.subjectseparator">subjectseparator</a> --> <a href="scrguien.pdf#scrlttr2.variable.subjectseparator">180</a></li> +<li><a name="variable.title"></a><a href="#variable.title">title</a> --> <a href="scrguien.pdf#scrlttr2.variable.title">179</a></li> +<li><a name="variable.toaddress"></a><a href="#variable.toaddress">toaddress</a> --> <a href="scrguien.pdf#scrlttr2.variable.toaddress">170</a></li> +<li><a name="variable.toname"></a><a href="#variable.toname">toname</a> --> <a href="scrguien.pdf#scrlttr2.variable.toname">170</a></li> +<li><a name="variable.urlseparator"></a><a href="#variable.urlseparator">urlseparator</a> --> <a href="scrguien.pdf#scrlttr2.variable.urlseparator">164</a></li> +<li><a name="variable.yourmail"></a><a href="#variable.yourmail">yourmail</a> --> <a href="scrguien.pdf#scrlttr2.variable.yourmail">177</a></li> +<li><a name="variable.yourref"></a><a href="#variable.yourref">yourref</a> --> <a href="scrguien.pdf#scrlttr2.variable.yourref">177</a></li> +<li><a name="variable.zipcodeseparator"></a><a href="#variable.zipcodeseparator">zipcodeseparator</a> --> <a href="scrguien.pdf#scrlttr2.variable.zipcodeseparator">170</a></li> </ul> <h2><a name="pagestyle">Page Styles</a></h2> <ul> -<li><a name="pagestyle.empty"></a><a href="#pagestyle.empty">empty</a> --> <a href="scrguien.pdf#scrlttr2.pagestyle.empty">180</a></li> -<li><a name="pagestyle.headings"></a><a href="#pagestyle.headings">headings</a> --> <a href="scrguien.pdf#scrlttr2.pagestyle.headings">180</a></li> -<li><a name="pagestyle.myheadings"></a><a href="#pagestyle.myheadings">myheadings</a> --> <a href="scrguien.pdf#scrlttr2.pagestyle.myheadings">180</a></li> -<li><a name="pagestyle.plain"></a><a href="#pagestyle.plain">plain</a> --> <a href="scrguien.pdf#scrlttr2.pagestyle.plain">180</a></li> -<li><a name="pagestyle.scrheadings"></a><a href="#pagestyle.scrheadings">scrheadings</a> --> <a href="scrguien.pdf#scrpage.pagestyle.scrheadings">196</a></li> -<li><a name="pagestyle.scrplain"></a><a href="#pagestyle.scrplain">scrplain</a> --> <a href="scrguien.pdf#scrpage.pagestyle.scrplain">196</a></li> -<li><a name="pagestyle.useheadings"></a><a href="#pagestyle.useheadings">useheadings</a> --> <a href="scrguien.pdf#scrpage.pagestyle.useheadings">200</a></li> +<li><a name="pagestyle.@everysel@"></a><a href="#pagestyle.@everysel@">@everysel@</a> --> <a href="scrguien.pdf#scrlayer.pagestyle.@everysel@">325</a></li> +<li><a name="pagestyle.empty"></a><a href="#pagestyle.empty">empty</a> --> <a href="scrguien.pdf#scrlttr2.pagestyle.empty">186</a>, <a href="scrguien.pdf#scrlayer.pagestyle.empty">325</a></li> +<li><a name="pagestyle.headings"></a><a href="#pagestyle.headings">headings</a> --> <a href="scrguien.pdf#scrlttr2.pagestyle.headings">186</a></li> +<li><a name="pagestyle.myheadings"></a><a href="#pagestyle.myheadings">myheadings</a> --> <a href="scrguien.pdf#scrlttr2.pagestyle.myheadings">186</a></li> +<li><a name="pagestyle.plain"></a><a href="#pagestyle.plain">plain</a> --> <a href="scrguien.pdf#scrlttr2.pagestyle.plain">186</a></li> +<li><a name="pagestyle.scrheadings"></a><a href="#pagestyle.scrheadings">scrheadings</a> --> <a href="scrguien.pdf#scrpage.pagestyle.scrheadings">202</a>, <a href="scrguien.pdf#scrlayer-scrpage.pagestyle.scrheadings">223</a></li> +<li><a name="pagestyle.scrplain"></a><a href="#pagestyle.scrplain">scrplain</a> --> <a href="scrguien.pdf#scrpage.pagestyle.scrplain">202</a></li> +<li><a name="pagestyle.useheadings"></a><a href="#pagestyle.useheadings">useheadings</a> --> <a href="scrguien.pdf#scrpage.pagestyle.useheadings">206</a></li> </ul> <h2><a name="counter">Counter</a></h2> <ul> -<li><a name="counter.secnumdepth"></a><a href="#counter.secnumdepth">secnumdepth</a> --> <a href="scrguien.pdf#maincls.counter.secnumdepth">95</a></li> -<li><a name="counter.tocdepth"></a><a href="#counter.tocdepth">tocdepth</a> --> <a href="scrguien.pdf#maincls.counter.tocdepth">64</a></li> +<li><a name="counter.secnumdepth"></a><a href="#counter.secnumdepth">secnumdepth</a> --> <a href="scrguien.pdf#maincls.counter.secnumdepth">100</a></li> +<li><a name="counter.tocdepth"></a><a href="#counter.tocdepth">tocdepth</a> --> <a href="scrguien.pdf#maincls.counter.tocdepth">68</a></li> </ul> <h2><a name="floatstyle">Styles for the float Package</a></h2> <ul> -<li><a name="floatstyle.komaabove"></a><a href="#floatstyle.komaabove">komaabove</a> --> <a href="scrguien.pdf#maincls.floatstyle.komaabove">118</a></li> -<li><a name="floatstyle.komabelow"></a><a href="#floatstyle.komabelow">komabelow</a> --> <a href="scrguien.pdf#maincls.floatstyle.komabelow">118</a></li> +<li><a name="floatstyle.komaabove"></a><a href="#floatstyle.komaabove">komaabove</a> --> <a href="scrguien.pdf#maincls.floatstyle.komaabove">123</a></li> +<li><a name="floatstyle.komabelow"></a><a href="#floatstyle.komabelow">komabelow</a> --> <a href="scrguien.pdf#maincls.floatstyle.komabelow">123</a></li> </ul> <p> <a href="http://validator.w3.org/check?uri=referer"><img diff --git a/Master/texmf-dist/doc/latex/koma-script/scrguien.pdf b/Master/texmf-dist/doc/latex/koma-script/scrguien.pdf Binary files differindex b1f428b4775..a761c09e472 100644 --- a/Master/texmf-dist/doc/latex/koma-script/scrguien.pdf +++ b/Master/texmf-dist/doc/latex/koma-script/scrguien.pdf diff --git a/Master/texmf-dist/doc/latex/koma-script/scrhack.html b/Master/texmf-dist/doc/latex/koma-script/scrhack.html new file mode 100644 index 00000000000..9d04e9416ef --- /dev/null +++ b/Master/texmf-dist/doc/latex/koma-script/scrhack.html @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> + <head> + <meta name="keywords" content="KOMA-Script, scrbook, scrreprt, scrartcl, + scrlttr2, typearea, scrpage2, scrtime, + scrdate, scraddr, scrlfile" /> + <meta name="DC.Title" content="The KOMA-Script Documentation Wrapper" /> + <meta name="DC.Creator" content="Markus Kohm" /> + <meta name="DC.Subject" content="KOMA-Script Documentation" /> + <meta name="DC.Description" content="Where to find the KOMA-Script + documentation" /> + <meta name="DC.Publisher" content="KOMA" /> + <meta name="DC.Date" content="2010-01-31" /> + <meta name="DC.Type" content="Text" /> + <meta name="DC.Format" content="text/html" /> + <meta name="DC.Identifier" content="koma-script.html" /> + <meta name="DC.Language" content="en,de" /> + <meta name="DC.Relation" content="Link to documentation" /> + <meta name="DC.Coverage" content="Version since 3.00" /> + <meta name="DC.Rights" content="LaTeX Public Private License 1.3c" /> + <title>The KOMA-Script Documentation Wrapper</title> + <style type="text/css"> + <!-- + body {} + #en { position:absolute; left:10px; width:45%; } + #de { position:absolute; right:10px; width:45%; } + #fn { position:absolute; bottom:0px; width:50%; + border-top-width:1px; border-top-style:solid; + font-size:x-small; } + h1.right { text-align:right; } + --> + </style> + </head> + <body> + <h1>The KOMA-Script Documentation Wrapper</h1> + <h1 class="right">Der Weg zur KOMAScript-Anleitung</h1> + <div id="en"> + I think you are searching for the KOMA-Script documentation. You + may find the englisch documentation + at <a href="scrguien.pdf">scrguien.pdf</a> and an index of it + at <a href="scrguien.html">scrguien.html</a>. + </div> + <div id="de"> + Ich nehme an, Sie suchen nach der KOMA-Script-Anleitung. Die deutsche + Anleitung können Sie in <a href="scrguide.pdf">scrguide.pdf</a> + finden. Einen Index dazu gibt es + in <a href="scrguide.html">scrguide.html</a>. + </div> + <div id="fn"> + Markus Kohm, 2007-09-21 + <p><a + href="http://validator.w3.org/check?uri=referer"><img + src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0 + Strict" height="31" width="88" /></a></p> + </div> + </body> +</html> diff --git a/Master/texmf-dist/doc/latex/koma-script/scrhack.pdf b/Master/texmf-dist/doc/latex/koma-script/scrhack.pdf Binary files differindex 97911213dcc..a709e251662 100644 --- a/Master/texmf-dist/doc/latex/koma-script/scrhack.pdf +++ b/Master/texmf-dist/doc/latex/koma-script/scrhack.pdf diff --git a/Master/texmf-dist/doc/latex/koma-script/scrjura.pdf b/Master/texmf-dist/doc/latex/koma-script/scrjura.pdf Binary files differindex 3cb2c597c5a..12c5f308d54 100644 --- a/Master/texmf-dist/doc/latex/koma-script/scrjura.pdf +++ b/Master/texmf-dist/doc/latex/koma-script/scrjura.pdf diff --git a/Master/texmf-dist/doc/latex/koma-script/scrlayer-notecolumn.html b/Master/texmf-dist/doc/latex/koma-script/scrlayer-notecolumn.html new file mode 100644 index 00000000000..9d04e9416ef --- /dev/null +++ b/Master/texmf-dist/doc/latex/koma-script/scrlayer-notecolumn.html @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> + <head> + <meta name="keywords" content="KOMA-Script, scrbook, scrreprt, scrartcl, + scrlttr2, typearea, scrpage2, scrtime, + scrdate, scraddr, scrlfile" /> + <meta name="DC.Title" content="The KOMA-Script Documentation Wrapper" /> + <meta name="DC.Creator" content="Markus Kohm" /> + <meta name="DC.Subject" content="KOMA-Script Documentation" /> + <meta name="DC.Description" content="Where to find the KOMA-Script + documentation" /> + <meta name="DC.Publisher" content="KOMA" /> + <meta name="DC.Date" content="2010-01-31" /> + <meta name="DC.Type" content="Text" /> + <meta name="DC.Format" content="text/html" /> + <meta name="DC.Identifier" content="koma-script.html" /> + <meta name="DC.Language" content="en,de" /> + <meta name="DC.Relation" content="Link to documentation" /> + <meta name="DC.Coverage" content="Version since 3.00" /> + <meta name="DC.Rights" content="LaTeX Public Private License 1.3c" /> + <title>The KOMA-Script Documentation Wrapper</title> + <style type="text/css"> + <!-- + body {} + #en { position:absolute; left:10px; width:45%; } + #de { position:absolute; right:10px; width:45%; } + #fn { position:absolute; bottom:0px; width:50%; + border-top-width:1px; border-top-style:solid; + font-size:x-small; } + h1.right { text-align:right; } + --> + </style> + </head> + <body> + <h1>The KOMA-Script Documentation Wrapper</h1> + <h1 class="right">Der Weg zur KOMAScript-Anleitung</h1> + <div id="en"> + I think you are searching for the KOMA-Script documentation. You + may find the englisch documentation + at <a href="scrguien.pdf">scrguien.pdf</a> and an index of it + at <a href="scrguien.html">scrguien.html</a>. + </div> + <div id="de"> + Ich nehme an, Sie suchen nach der KOMA-Script-Anleitung. Die deutsche + Anleitung können Sie in <a href="scrguide.pdf">scrguide.pdf</a> + finden. Einen Index dazu gibt es + in <a href="scrguide.html">scrguide.html</a>. + </div> + <div id="fn"> + Markus Kohm, 2007-09-21 + <p><a + href="http://validator.w3.org/check?uri=referer"><img + src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0 + Strict" height="31" width="88" /></a></p> + </div> + </body> +</html> diff --git a/Master/texmf-dist/doc/latex/koma-script/scrlayer-scrpage.html b/Master/texmf-dist/doc/latex/koma-script/scrlayer-scrpage.html new file mode 100644 index 00000000000..9d04e9416ef --- /dev/null +++ b/Master/texmf-dist/doc/latex/koma-script/scrlayer-scrpage.html @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> + <head> + <meta name="keywords" content="KOMA-Script, scrbook, scrreprt, scrartcl, + scrlttr2, typearea, scrpage2, scrtime, + scrdate, scraddr, scrlfile" /> + <meta name="DC.Title" content="The KOMA-Script Documentation Wrapper" /> + <meta name="DC.Creator" content="Markus Kohm" /> + <meta name="DC.Subject" content="KOMA-Script Documentation" /> + <meta name="DC.Description" content="Where to find the KOMA-Script + documentation" /> + <meta name="DC.Publisher" content="KOMA" /> + <meta name="DC.Date" content="2010-01-31" /> + <meta name="DC.Type" content="Text" /> + <meta name="DC.Format" content="text/html" /> + <meta name="DC.Identifier" content="koma-script.html" /> + <meta name="DC.Language" content="en,de" /> + <meta name="DC.Relation" content="Link to documentation" /> + <meta name="DC.Coverage" content="Version since 3.00" /> + <meta name="DC.Rights" content="LaTeX Public Private License 1.3c" /> + <title>The KOMA-Script Documentation Wrapper</title> + <style type="text/css"> + <!-- + body {} + #en { position:absolute; left:10px; width:45%; } + #de { position:absolute; right:10px; width:45%; } + #fn { position:absolute; bottom:0px; width:50%; + border-top-width:1px; border-top-style:solid; + font-size:x-small; } + h1.right { text-align:right; } + --> + </style> + </head> + <body> + <h1>The KOMA-Script Documentation Wrapper</h1> + <h1 class="right">Der Weg zur KOMAScript-Anleitung</h1> + <div id="en"> + I think you are searching for the KOMA-Script documentation. You + may find the englisch documentation + at <a href="scrguien.pdf">scrguien.pdf</a> and an index of it + at <a href="scrguien.html">scrguien.html</a>. + </div> + <div id="de"> + Ich nehme an, Sie suchen nach der KOMA-Script-Anleitung. Die deutsche + Anleitung können Sie in <a href="scrguide.pdf">scrguide.pdf</a> + finden. Einen Index dazu gibt es + in <a href="scrguide.html">scrguide.html</a>. + </div> + <div id="fn"> + Markus Kohm, 2007-09-21 + <p><a + href="http://validator.w3.org/check?uri=referer"><img + src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0 + Strict" height="31" width="88" /></a></p> + </div> + </body> +</html> diff --git a/Master/texmf-dist/doc/latex/koma-script/scrlayer.html b/Master/texmf-dist/doc/latex/koma-script/scrlayer.html new file mode 100644 index 00000000000..9d04e9416ef --- /dev/null +++ b/Master/texmf-dist/doc/latex/koma-script/scrlayer.html @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> + <head> + <meta name="keywords" content="KOMA-Script, scrbook, scrreprt, scrartcl, + scrlttr2, typearea, scrpage2, scrtime, + scrdate, scraddr, scrlfile" /> + <meta name="DC.Title" content="The KOMA-Script Documentation Wrapper" /> + <meta name="DC.Creator" content="Markus Kohm" /> + <meta name="DC.Subject" content="KOMA-Script Documentation" /> + <meta name="DC.Description" content="Where to find the KOMA-Script + documentation" /> + <meta name="DC.Publisher" content="KOMA" /> + <meta name="DC.Date" content="2010-01-31" /> + <meta name="DC.Type" content="Text" /> + <meta name="DC.Format" content="text/html" /> + <meta name="DC.Identifier" content="koma-script.html" /> + <meta name="DC.Language" content="en,de" /> + <meta name="DC.Relation" content="Link to documentation" /> + <meta name="DC.Coverage" content="Version since 3.00" /> + <meta name="DC.Rights" content="LaTeX Public Private License 1.3c" /> + <title>The KOMA-Script Documentation Wrapper</title> + <style type="text/css"> + <!-- + body {} + #en { position:absolute; left:10px; width:45%; } + #de { position:absolute; right:10px; width:45%; } + #fn { position:absolute; bottom:0px; width:50%; + border-top-width:1px; border-top-style:solid; + font-size:x-small; } + h1.right { text-align:right; } + --> + </style> + </head> + <body> + <h1>The KOMA-Script Documentation Wrapper</h1> + <h1 class="right">Der Weg zur KOMAScript-Anleitung</h1> + <div id="en"> + I think you are searching for the KOMA-Script documentation. You + may find the englisch documentation + at <a href="scrguien.pdf">scrguien.pdf</a> and an index of it + at <a href="scrguien.html">scrguien.html</a>. + </div> + <div id="de"> + Ich nehme an, Sie suchen nach der KOMA-Script-Anleitung. Die deutsche + Anleitung können Sie in <a href="scrguide.pdf">scrguide.pdf</a> + finden. Einen Index dazu gibt es + in <a href="scrguide.html">scrguide.html</a>. + </div> + <div id="fn"> + Markus Kohm, 2007-09-21 + <p><a + href="http://validator.w3.org/check?uri=referer"><img + src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0 + Strict" height="31" width="88" /></a></p> + </div> + </body> +</html> diff --git a/Master/texmf-dist/doc/latex/koma-script/tocstyle.pdf b/Master/texmf-dist/doc/latex/koma-script/tocstyle.pdf Binary files differindex affd008f109..8daa68f261a 100644 --- a/Master/texmf-dist/doc/latex/koma-script/tocstyle.pdf +++ b/Master/texmf-dist/doc/latex/koma-script/tocstyle.pdf diff --git a/Master/texmf-dist/source/latex/koma-script/ChangeLog b/Master/texmf-dist/source/latex/koma-script/ChangeLog index 5765029f990..f413f9ae912 100644 --- a/Master/texmf-dist/source/latex/koma-script/ChangeLog +++ b/Master/texmf-dist/source/latex/koma-script/ChangeLog @@ -1,11 +1,1622 @@ +r1562 2013-12-19 08:51:16 +0100 mjk: + + * tocstyle.dtx, scrjura.dtx, scrstrip.inc, Makefile, scrcounter.dtx, + scrwfile.dtx: prepared for 3.12 + +r1560 2013-12-19 08:13:30 +0100 mjk: + + * scrkernel-version.dtx: prepared for 3.12 + +r1559 2013-12-18 07:42:31 +0100 mjk: + + * doc/ngerman/common-21.tex, doc/ngerman/scrlayer-scrpage.tex: einige + Korrekturen von Elke + +r1558 2013-12-17 14:46:13 +0100 mjk: + + * doc/ngerman/scrlayer-scrpage-experts.tex, + doc/ngerman/common-21.tex, doc/ngerman/scrlayer-scrpage.tex: einige + Verbesserungen für die nächste Buchauflage + +r1557 2013-12-17 12:05:35 +0100 mjk: + + * doc/scrguide.cls: fix: of last commit + +r1556 2013-12-17 12:05:13 +0100 mjk: + + * doc/scrguide.cls: markup for some additional KOMA-Script commands + +r1555 2013-12-17 09:01:58 +0100 mjk: + + * doc/ngerman/scrlayer-scrpage-experts.tex: fix: label-Fehler + +r1554 2013-12-17 08:45:48 +0100 mjk: + + * doc/ngerman/common-20.tex: einige Formulierungen verbessert und + Teile der Einleitung als ergänzende Informationen formatiert + +r1553 2013-12-16 18:08:48 +0100 mjk: + + * TODO, doc/ngerman/scrbookreportarticle.tex: \partnumdepth, + \chapternumdepth … \subparagraphnumdepth, \ifnumbered, + \ifunnumbered auf Deutsch dokumentiert + +r1552 2013-12-16 17:51:32 +0100 mjk: + + * scrkernel-sections.dtx: don't define \chapternumdepth in + scrartcl.cls + +r1551 2013-12-16 15:02:13 +0100 mjk: + + * scrkernel-sections.dtx, scrkernel-pagestyles.dtx, TODO: new: + \partnumdepth, \chapternumdepth … \subparagraphnumdepth, + \ifnumbered, \ifunnumbered + +r1550 2013-12-16 09:10:28 +0100 mjk: + + * doc/ngerman/typearea.tex: einen scrpage2-Verweis ergänzt + +r1549 2013-12-14 18:44:34 +0100 mjk: + + * TODO: \@pageat bei Verwendung von scrlayer-scrpage mit scrlttr2 + berücksichtigen + +r1548 2013-12-14 18:36:23 +0100 mjk: + + * scrlayer-scrpage.dtx: support for scrlttr2 added + +r1547 2013-12-14 18:23:38 +0100 mjk: + + * scrpage.dtx: fix for \rohead if page number left at head and + scrlttr2 + +r1546 2013-12-13 17:39:21 +0100 mjk: + + * doc/english/scrlayer.tex: several changes by Jana and some by myself + +r1545 2013-12-13 16:32:18 +0100 mjk: + + * doc/english/scrbase.tex: "There is not a …" --> "There is no …" + +r1544 2013-12-13 12:13:03 +0100 mjk: + + * doc/english/scrdatetime.tex: brace fix + +r1543 2013-12-13 12:11:01 +0100 mjk: + + * doc/english/common-9.tex, doc/english/scrlayer-scrpage-experts.tex, + doc/english/scrlfile.tex, doc/english/common-21.tex, + doc/english/common-0.tex, doc/english/scrlttr2.tex, + doc/english/scrextend.tex, doc/english/common-2.tex, + doc/english/common-10.tex, doc/english/scrbookreportarticle.tex, + doc/english/scrlayer-scrpage.tex, doc/english/common-15.tex, + doc/english/common-12.tex, doc/english/scrdatetime.tex, + doc/english/common-1.tex, doc/english/introduction.tex, + doc/english/scrlayer.tex, doc/english/common-8.tex, + doc/english/common-13.tex, doc/english/common-11.tex, + doc/english/typearea-experts.tex, doc/english/typearea.tex, + doc/english/scrlttr2-experts.tex, doc/english/common-20.tex, + doc/english/scrbase.tex, doc/english/common-6.tex, + doc/english/common-3.tex, doc/english/common-7.tex, + doc/english/japanlco.tex, doc/english/common-4.tex, + doc/english/scraddr.tex, doc/english/scrhack.tex, + doc/english/expertpart.tex, + doc/english/scrbookreportarticle-experts.tex, + doc/english/preface.tex, doc/english/common-5.tex, + doc/english/scrpage2.tex: uniformation of serveral terms + +r1542 2013-12-13 10:31:29 +0100 mjk: + + * doc/english/scrbase.tex: line break + +r1541 2013-12-13 10:18:28 +0100 mjk: + + * doc/english/scrbase.tex: a lot of improvements by Melvin + +r1540 2013-12-12 19:57:43 +0100 mjk: + + * doc/english/scrbase.tex: some of Melvin's improvements + +r1539 2013-12-12 16:57:36 +0100 mjk: + + * doc/ngerman/common-14.tex: Tippfehler [Elke] + +r1538 2013-12-12 12:01:33 +0100 mjk: + + * TODO, doc/ngerman/common-0.tex, doc/ngerman/scrlttr2.tex, + doc/ngerman/common-1.tex, doc/ngerman/common-5.tex: noch ein paar + Änderungen für das nächste Buch + +r1537 2013-12-11 20:21:09 +0100 mjk: + + * doc/scrguide.cls, doc/ngerman/common-0.tex, + doc/ngerman/scrbookreportarticle.tex, doc/ngerman/common-12.tex, + doc/ngerman/common-1.tex, doc/ngerman/common-8.tex, + doc/ngerman/common-11.tex, doc/ngerman/typearea.tex, + doc/ngerman/common-14.tex, doc/ngerman/common-5.tex: diverse + Änderungen für die nächste Auflage + +r1536 2013-12-11 10:18:01 +0100 mjk: + + * doc/scrguide.cls, doc/ngerman/common-0.tex, + doc/ngerman/introduction.tex, doc/ngerman/typearea.tex: einige + Anpassungen für die nächste Buchauflage + +r1535 2013-12-11 08:22:22 +0100 mjk: + + * doc/ngerman/guide-ngerman.tex: Künftig wird die Anleitung nur noch + einen Autor haben (sobald das Kapitel über scrpage2 ausgelagert + ist) + +r1534 2013-12-10 19:50:34 +0100 mjk: + + * doc/scrguide.cls, doc/english/htmlsetup, doc/ngerman/common-21.tex, + doc/ngerman/common-0.tex, doc/ngerman/htmlsetup, + doc/ngerman/scrbookreportarticle.tex, + doc/ngerman/scrlayer-scrpage.tex, doc/ngerman/scrlayer.tex, + doc/ngerman/common-20.tex, doc/ngerman/common-5.tex, + doc/bin/genhtmlidx.pl: some tiny steps towards a new book + +r1533 2013-12-10 19:06:14 +0100 mjk: + + * tocbasic.dtx: usage of default placement (option floatpos of + \DeclareNewTOC) fixed + +r1532 2013-12-10 11:28:56 +0100 mjk: + + * doc/ngerman/common-0.tex: einige Dinge sind für scrlayer etc. + unerheblich + +r1531 2013-12-10 10:57:42 +0100 mjk: + + * doc/Makefile.guide: notecolumn example source added to DIST_SRC + +r1530 2013-12-09 09:13:47 +0100 mjk: + + * doc/english/scrbase.tex: language + +r1529 2013-12-03 08:36:57 +0100 mjk: + + * scrkernel-miscellaneous.dtx: titlesec breaks some KOMA-Script + features + +r1528 2013-11-25 09:39:27 +0100 mjk: + + * doc/english/scrlayer-scrpage.tex, doc/english/common-20.tex: more + fixes by Jens + +r1527 2013-11-24 11:40:41 +0100 mjk: + + * doc/english/scrlayer.tex: improvement by Jana + +r1526 2013-11-24 10:49:38 +0100 mjk: + + * doc/english/scrlfile.tex, doc/ngerman/scrlfile.tex: kleinere + Tippfehler [Elke] + +r1525 2013-11-22 13:57:29 +0100 mjk: + + * scrlfile.dtx, doc/english/scrlfile.tex, doc/ngerman/scrlfile.tex: + new: \UnPreventPackageFromLoading + +r1524 2013-11-22 12:04:59 +0100 mjk: + + * doc/ngerman/scrlfile.tex: fix: docu loop + +r1523 2013-11-22 11:52:58 +0100 mjk: + + * scrlfile.dtx, doc/english/scrlfile.tex, doc/ngerman/scrlfile.tex: + new: optional argument for \PreventPackageFromLoading fix: spaces in + package lists destroyed + +r1522 2013-11-22 09:11:42 +0100 mjk: + + * scrkernel-listsof.dtx: \numberline uses \numberline@numberformat + only if the argument expands to a non-empty string and #1 else + +r1521 2013-11-22 09:06:08 +0100 mjk: + + * scrkernel-listsof.dtx: \numberline@format doesn't output anything if + #1 is empty + +r1520 2013-11-21 16:22:43 +0100 mjk: + + * doc/english/typearea.tex, doc/ngerman/typearea.tex: onehalfspacing + example improved + +r1519 2013-11-21 16:13:48 +0100 mjk: + + * doc/english/common-14.tex: date of translated file + +r1518 2013-11-21 15:54:26 +0100 mjk: + + * doc/english/common-14.tex, doc/ngerman/common-14.tex: fix: cover + page margin macros [Falk] + +r1517 2013-11-21 14:02:39 +0100 mjk: + + * scrkernel-title.dtx, doc/english/common-14.tex, + doc/ngerman/common-14.tex: new option titlepage=firstiscover + +r1516 2013-11-19 09:06:20 +0100 mjk: + + * tocbasic.dtx: fix: \@addxcontentsline had wrong logic and used + optional instead of mandatory second argument at add#2#1entry case + +r1515 2013-11-15 11:26:00 +0100 mjk: + + * scrlfile.dtx, doc/english/scrlfile.tex, doc/ngerman/scrlfile.tex: - + renamed \ReplaceFile into \ReplaceInput - new commands: + \UnReplaceInput, \UnReplacePackage, \UnReplaceClass + +r1514 2013-11-15 09:23:09 +0100 mjk: + + * scrlayer-notecolumn.dtx, doc/english/scrlayer-scrpage-experts.tex, + doc/english/common-21.tex, doc/english/scrlayer-scrpage.tex, + doc/english/scrlayer.tex, doc/ngerman/scrlayer-scrpage.tex, + doc/ngerman/scrlayer.tex: more fixes by several translators + +r1513 2013-11-11 11:36:34 +0100 mjk: + + * TODO: emulatestandardclasses + +r1512 2013-11-11 11:35:04 +0100 mjk: + + * scrkernel-compatibility.dtx, scrkernel-typearea.dtx: + emulatestandardclasses not for scrlttr2 + +r1511 2013-11-11 11:21:33 +0100 mjk: + + * scrkernel-sections.dtx, scrkernel-compatibility.dtx, + scrkernel-typearea.dtx: new option emulatestandardclasses + +r1510 2013-11-11 07:46:10 +0100 mjk: + + * doc/english/scrlayer.tex, doc/ngerman/common-21.tex, + doc/ngerman/scrlayer.tex: minor fixes, e.g., references + +r1509 2013-11-11 07:34:23 +0100 mjk: + + * doc/english/scrlayer-scrpage.tex: Umlaut + +r1508 2013-11-09 15:33:06 +0100 mjk: + + * doc/english/scrlayer-scrpage.tex: first corrections by Jens + +r1507 2013-11-07 18:44:10 +0100 mjk: + + * doc/english/common-21.tex, doc/english/scrlayer.tex: additional typo + and grammer fixes by Elke + +r1506 2013-11-07 17:41:36 +0100 mjk: + + * doc/english/scrlttr2.tex, doc/english/common-8.tex, + doc/ngerman/scrlttr2.tex, doc/ngerman/common-8.tex: fix: \KOMAoption + --> \KOMAoptions + +r1505 2013-11-07 12:23:38 +0100 mjk: + + * doc/english/common-21.tex, doc/english/scrlayer-scrpage.tex, + doc/english/common-20.tex: peinliche Fehler korrigiert + +r1504 2013-11-07 08:26:20 +0100 mjk: + + * doc/english/common-21.tex, doc/english/scrlayer-scrpage.tex: some + more suggestions by Jana + +r1503 2013-11-06 12:44:59 +0100 mjk: + + * scrkernel-language.dtx, doc/english/scrbase.tex, + doc/ngerman/scrbase.tex: doc of changes of \defcaptionname, + \providecaptionname, \newcaptionname, and \renewcaptionname + +r1502 2013-11-06 12:00:12 +0100 mjk: + + * scrkernel-sections.dtx, scrpage.dtx, tocstyle.dtx, scrjura.dtx, + scrkernel-listsandtabulars.dtx, scrlayer-notecolumn.dtx, + scrkernel-miscellaneous.dtx, scrkernel-floats.dtx, + scrkernel-typearea.dtx, scrkernel-basics.dtx: implementation doc + fixed: missing backslash at argument of macro environmant + +r1501 2013-11-06 11:48:33 +0100 mjk: + + * scrkernel-language.dtx: change: allow spaces in the language lists + +r1500 2013-11-06 10:22:28 +0100 mjk: + + * scrkernel-basics.dtx: better usage of \FamilyUnknownKeyValue + +r1499 2013-11-05 18:22:29 +0100 mjk: + + * scrkernel-letterclassoptions.dtx: change: test for correct paper + size with tolerance of ± 0.1 mm + +r1498 2013-11-05 17:00:39 +0100 mjk: + + * scrkernel-compatibility.dtx: option version sets + \FamilyKeyStateProcessed + +r1497 2013-11-05 16:39:50 +0100 mjk: + + * TODO: new: \FamilyCounterKey, \FamilySetCounter, + \FamilyCounterMacroKey, \FamilySetCounterMacro, \FamilyLengthKey, + \FamilySetLength, \FamilyLengthMacroKey, \FamilySetLengthMacro + +r1496 2013-11-05 16:20:41 +0100 mjk: + + * scrkernel-basics.dtx: new: \FamilyCounterKey, \FamilySetCounter, + \FamilyCounterMacroKey, \FamilySetCounterMacro, \FamilyLengthKey, + \FamilySetLength, \FamilyLengthMacroKey, \FamilySetLengthMacro + +r1495 2013-11-05 15:51:50 +0100 mjk: + + * Makefile: scrdocstrip.tex isn't a CLS_FILE + +r1494 2013-11-05 12:31:16 +0100 mjk: + + * scrkernel-basics.dtx, doc/, doc/english/, doc/english/scrbase.tex, + doc/ngerman/, doc/ngerman/scrbase.tex: new: \ifisdimension, \ifisglue, + \ifisnumber + +r1493 2013-11-05 12:04:57 +0100 mjk: + + * scrkernel-basics.dtx: two new internal macros renamed + +r1492 2013-11-05 10:22:47 +0100 mjk: + + * scrkernel-basics.dtx, doc/, doc/english/, doc/english/scrbase.tex, + doc/ngerman/, doc/ngerman/scrbase.tex: new commands \ifstrstart, + \ifisdimen, \ifisskip, \ifiscount, \ifiscounter, \ifisdimexpr, + \ifisglueexpr, \ifisnumexpr + +r1491 2013-11-05 08:11:30 +0100 mjk: + + * TODO: one item removed + +r1490 2013-11-04 16:42:23 +0100 mjk: + + * doc/, doc/english/, doc/english/scrlayer-scrpage.tex: Elke told me, + that only Jana does translation suggestions + +r1489 2013-11-04 16:38:30 +0100 mjk: + + * scrjura.dtx: angepasst an Signalisierung mit \FamilyKeyState in + scrbase.sty + +r1488 2013-11-04 11:44:34 +0100 mjk: + + * doc/, doc/english/, doc/english/typearea.tex: missing footlines and + footheight + +r1487 2013-11-04 11:44:15 +0100 mjk: + + * doc/, doc/english/, doc/english/scrlayer-scrpage-experts.tex, + doc/english/common-21.tex, doc/english/common-20.tex: Korrekturen von + Fam. Schuster + +r1486 2013-11-04 11:38:49 +0100 mjk: + + * doc/, doc/ngerman/, doc/ngerman/typearea.tex: footlines korrigiert + (Bezüge zur Kopfzeile) + +r1485 2013-11-04 11:37:58 +0100 mjk: + + * doc/, doc/english/, doc/english/scrlayer-scrpage.tex: Usage of + automatic date + +r1484 2013-11-04 11:35:45 +0100 mjk: + + * doc/, doc/english/, doc/english/typearea.tex: - type-area --> type + area - description of footheight and footlines + +r1483 2013-10-31 16:12:30 +0100 mjk: + + * scrkernel-fonts.dtx: change: usage of old font commands is + deprecated + +r1482 2013-10-31 11:08:48 +0100 mjk: + + * doc/, doc/english/, doc/english/scrlayer.tex: fix: two references + +r1481 2013-10-31 11:00:19 +0100 mjk: + + * doc/, doc/ngerman/, doc/ngerman/scrlayer.tex: do not generate or use + generated user manual + +r1480 2013-10-31 11:00:02 +0100 mjk: + + * scrlayer.dtx, doc/, doc/english/, doc/english/scrlayer.tex: do not + generate or use generated user manual + +r1479 2013-10-31 08:55:56 +0100 mjk: + + * scrkernel-title.dtx: file date + +r1478 2013-10-31 08:52:14 +0100 mjk: + + * scrkernel-title.dtx, doc/, doc/english/, doc/english/scrlayer.tex: + start with English translation of scrlayer.tex + +r1477 2013-10-31 08:48:26 +0100 mjk: + + * scrdocstrip.tex: fix: Line break in error message + +r1476 2013-10-31 08:34:11 +0100 mjk: + + * scrdocstrip.tex: fix: error message for missing files + +r1475 2013-10-30 19:00:11 +0100 mjk: + + * scrkernel-letterclassoptions.dtx: revert last check in + +r1474 2013-10-30 18:17:43 +0100 mjk: + + * scrkernel-letterclassoptions.dtx: classes do not longer support + parsed options like BCOR<value> (instead of BCOR=<value>), but + typearea does still provide them, so most users should not see any + difference + +r1473 2013-10-30 12:29:25 +0100 mjk: + + * scrkernel-basics.dtx: new: \ifintnumber{string}{if string is an + integer}{if string isn't an integer} + +r1472 2013-10-29 13:34:04 +0100 mjk: + + * README.in/: more README sourced + +r1471 2013-10-29 10:20:28 +0100 mjk: + + * TODO, doc/, doc/english/, doc/english/preface.tex: the drafts of + several translations have been finished + +r1470 2013-10-29 10:15:06 +0100 mjk: + + * scrlayer-notecolumn.dtx: initial label fixed + +r1469 2013-10-29 10:06:32 +0100 mjk: + + * manifest.txt, doc/, doc/english/, doc/english/common-21.tex, + doc/english/Makefile, doc/ngerman/, doc/ngerman/scrlayer.tex: draft + translation of scrlayer.tex + +r1468 2013-10-28 18:05:25 +0100 mjk: + + * doc/, doc/english/, doc/english/scrlayer-scrpage-experts.tex: draft + translation of all sections + +r1467 2013-10-28 17:01:06 +0100 mjk: + + * doc/, doc/english/, doc/english/scrlayer-scrpage-experts.tex: draft + translation of one more section + +r1466 2013-10-28 10:55:12 +0100 mjk: + + * doc/, doc/english/, doc/english/scrlayer-scrpage-experts.tex, + doc/ngerman/, doc/ngerman/scrlayer-scrpage-experts.tex: draft + translation of one more section + +r1465 2013-10-28 10:40:23 +0100 mjk: + + * scrlayer-scrpage.dtx: fix: typo \providepairofpagestyle --> + \providepairofpagestyles + +r1464 2013-10-28 07:37:21 +0100 mjk: + + * TODO: addmargin issue + +r1463 2013-10-26 17:53:02 +0200 mjk: + + * scrkernel-listsandtabulars.dtx: New: warning, if a "addmargin*" + environment's begin and end are not on the same page + +r1462 2013-10-24 11:10:06 +0200 mjk: + + * manifest.txt, doc/, doc/guide.tex, doc/Makefile.guide, + doc/english/, doc/english/scrlayer-scrpage-experts.tex, + doc/english/scrlayer-scrpage.tex, doc/ngerman/, + doc/ngerman/scrlayer-scrpage-experts.tex, + doc/ngerman/scrlayer-scrpage.tex: chapter about scrlayer splitted into + an author and an expert chapter + +r1461 2013-10-24 09:17:58 +0200 mjk: + + * doc/, doc/english/, doc/english/scrlayer-scrpage.tex, doc/ngerman/, + doc/ngerman/scrlayer-scrpage.tex: draft translation of section 6.4 + finished + +r1460 2013-10-23 18:57:19 +0200 mjk: + + * doc/, doc/ngerman/, doc/ngerman/common-21.tex: ein paar Korrekturen + von Elke + +r1459 2013-10-23 18:51:46 +0200 mjk: + + * TODO: Paket/Paketes + +r1458 2013-10-23 11:35:31 +0200 mjk: + + * doc/, doc/english/, doc/english/common-21.tex, + doc/english/scrlayer-scrpage.tex: a kind of translation + +r1457 2013-10-23 11:34:02 +0200 mjk: + + * doc/, doc/ngerman/, doc/ngerman/common-21.tex: Umbruch + +r1456 2013-10-23 11:16:09 +0200 mjk: + + * doc/, doc/ngerman/, doc/ngerman/common-21.tex: fehlendes Beispiel + für \GenericMarkFormat + +r1455 2013-10-23 09:58:56 +0200 mjk: + + * doc/, doc/ngerman/, doc/ngerman/common-21.tex: einige zustätzliche + Index-Einträge + +r1454 2013-10-23 09:21:29 +0200 mjk: + + * doc/, doc/scrguide.cls: \nentry fixed + +r1453 2013-10-23 09:19:07 +0200 mjk: + + * doc/, doc/ngerman/, doc/ngerman/common-21.tex: string --> Text + +r1452 2013-10-22 18:42:26 +0200 mjk: + + * doc/, doc/english/, doc/english/scrlayer-scrpage.tex: only a comment + +r1451 2013-10-22 18:41:02 +0200 mjk: + + * doc/, doc/english/, doc/english/scrlayer-scrpage.tex: a kind of + translation of some parts + +r1450 2013-10-22 18:40:01 +0200 mjk: + + * doc/, doc/english/, doc/english/common-21.tex: a kind of translation + of some parts + +r1449 2013-10-22 11:23:23 +0200 mjk: + + * doc/, doc/english/, doc/english/common-21.tex: only note about + untranslated state + +r1448 2013-10-22 11:17:09 +0200 mjk: + + * doc/, doc/ngerman/, doc/ngerman/common-21.tex: \ProvidesFile --> + \KOMAProvidesFile + +r1447 2013-10-22 10:39:40 +0200 mjk: + + * doc/, doc/ngerman/, doc/ngerman/scrlayer-scrpage.tex: ein paar + kleine Fehlerkorrekturen + +r1446 2013-10-22 10:38:47 +0200 mjk: + + * doc/, doc/english/, doc/english/scrlayer-scrpage.tex: some + translations of German scrlayer-scrpage.tex + +r1445 2013-10-18 15:18:41 +0200 mjk: + + * scrlayer-scrpage.dtx, doc/, doc/english/, doc/english/Makefile, + doc/english/common-20.tex, doc/ngerman/, + doc/ngerman/scrlayer-scrpage.tex: start of translation of + scrlayer-scrpage chapter + +r1444 2013-10-18 12:21:16 +0200 mjk: + + * doc/, doc/scrguide.cls: forgotte \newcommand + +r1443 2013-10-18 12:20:49 +0200 mjk: + + * doc/, doc/scrguide.cls: \KOMAProvidesFile fixed + +r1442 2013-10-18 11:02:10 +0200 mjk: + + * doc/, doc/ngerman/, doc/ngerman/scrlayer-scrpage.tex: Dieses Kapitel + stammt von Markus Kohm und wird auch von ihm verwaltet. + +r1441 2013-10-18 10:56:55 +0200 mjk: + + * doc/, doc/ngerman/, doc/ngerman/common-20.tex: some more index + entries + +r1440 2013-10-18 09:03:54 +0200 mjk: + + * Makefile: typo fix + +r1439 2013-10-18 09:03:09 +0200 mjk: + + * doc/, doc/Makefile: file date + +r1438 2013-10-18 09:02:49 +0200 mjk: + + * doc/, doc/Makefile: new html links for new packages + +r1437 2013-10-18 08:57:59 +0200 mjk: + + * Makefile: installation installs also scrdocstrip.tex + +r1436 2013-10-18 08:55:34 +0200 mjk: + + * Makefile.baseinit: INSTALLTEXDIR added (currently unused) + +r1435 2013-10-17 11:09:09 +0200 mjk: + + * doc/, doc/ngerman/, doc/ngerman/typearea.tex: zwei Tippfehler (Elke) + +r1434 2013-10-16 16:25:26 +0200 mjk: + + * TODO: german manual of scrlayer-notecolumn add + +r1433 2013-10-16 16:24:20 +0200 mjk: + + * scrlayer-notecolumn.dtx, manifest.txt, doc/, doc/guide.tex, + doc/Makefile.guide, doc/english/, doc/english/Makefile, doc/ngerman/, + doc/ngerman/scrlayer-notecolumn-example.tex, + doc/ngerman/scrlayer-notecolumn.tex: user manual of + scrlayer-notecolumn added + +r1432 2013-10-16 13:10:21 +0200 mjk: + + * doc/, doc/ngerman/, doc/ngerman/typearea.tex: Erklärung, die + bereits in Abschnitt 2.4 zu finden ist, wieder entfernt + +r1431 2013-10-16 13:05:21 +0200 mjk: + + * doc/, doc/ngerman/, doc/ngerman/typearea.tex: fix: mainindex --> + indexmain + +r1430 2013-10-16 13:01:50 +0200 mjk: + + * doc/, doc/ngerman/, doc/ngerman/scrlayer-scrpage.tex, + doc/ngerman/scrlayer.tex, doc/ngerman/typearea.tex, + doc/ngerman/scrpage2.tex: Berücksichtigung von scrlayer-scrpage bei + typearea + +r1429 2013-10-16 12:10:43 +0200 mjk: + + * TODO, manifest.txt, doc/, doc/guide.tex, doc/Makefile.guide, + doc/english/, doc/english/Makefile, doc/ngerman/, + doc/ngerman/scrlayer.tex: user manual for scrlayer added to part II of + the KOMA-Script guide + +r1428 2013-10-16 11:48:56 +0200 mjk: + + * doc/, doc/ngerman/, doc/ngerman/scrlayer-scrpage.tex: line break + change + +r1427 2013-10-16 11:47:53 +0200 mjk: + + * doc/, doc/scrguide.cls, doc/ngerman/, + doc/ngerman/scrlayer-scrpage.tex: new \KOMAProvidesFile to avoid + forgotten file date changes + +r1426 2013-10-16 11:45:39 +0200 mjk: + + * scrlayer.dtx: doc generation fixed + +r1425 2013-10-16 11:19:06 +0200 mjk: + + * manifest.txt: scrlayer-scrpage.tex added + +r1424 2013-10-16 08:56:53 +0200 mjk: + + * manifest.txt, doc/, doc/Makefile.guide, doc/english/, + doc/english/common-21.tex, doc/english/common-20.tex, doc/ngerman/, + doc/ngerman/common-21.tex, doc/ngerman/scrlayer-scrpage.tex, + doc/ngerman/common-20.tex: Anleitung für scrlayer-scrpage + +r1423 2013-10-15 10:17:36 +0200 mjk: + + * doc/, doc/english/, doc/english/typearea.tex, doc/ngerman/, + doc/ngerman/typearea.tex: documentation of changed BCOR interpreataion + with "twoside=semi" + +r1422 2013-10-15 09:11:07 +0200 mjk: + + * Makefile.baseinit, Makefile, Makefile.baserules: generate + scrsource.pdf instead of scrsource.dvi to check source integrity + +r1421 2013-10-15 09:00:17 +0200 mjk: + + * scrkernel-typearea.dtx: without compatibility < 3.12 binding + correction will alternate using twoside=semi + +r1420 2013-10-14 18:03:55 +0200 mjk: + + * scrlayer-scrpage.dtx, doc/, doc/guide.tex, doc/Makefile.guide, + doc/english/, doc/english/Makefile, doc/ngerman/, + doc/ngerman/scrlayer-scrpage.tex: preparations for adding the user + manual of scrlayer-scrpage + +r1419 2013-10-14 11:07:52 +0200 mjk: + + * scrlayer-notecolumn.dtx, scrlayer-scrpage.dtx, scrlayer.dtx: package + generation issues fixed (Elke) + +r1418 2013-10-08 18:14:06 +0200 mjk: + + * TODO: missing docu + +r1417 2013-10-08 18:12:40 +0200 mjk: + + * Makefile, scrmain.ins, scrlayer-notecolumn.dtx, + scrlayer-scrpage.dtx, scrlayer.dtx, manifest.txt: scrlayer, + scrlayer-scrpage, and scrlayer-notecolumn have been added to + KOMA-Script + +r1416 2013-10-08 17:43:26 +0200 mjk: + + * scrlayer-notecolumn.dtx, scrlayer-scrpage.dtx, scrlayer.dtx: first + integrated version of scrlayer-notecolumn + +r1415 2013-10-08 17:33:01 +0200 mjk: + + * scrlayer-scrpage.dtx, scrlayer.dtx: first integrated version of + scrlayer-scrpage + +r1414 2013-10-08 17:18:47 +0200 mjk: + + * scrlayer.dtx: initial integrated version of new package scrlayer + +r1413 2013-10-08 17:06:47 +0200 mjk: + + * tocbasic.dtx: use scrdocstrip instead of docstrip + +r1412 2013-10-08 12:50:05 +0200 mjk: + + * TODO: calculation of \intextsep fixed + +r1411 2013-10-08 12:45:17 +0200 mjk: + + * doc/, doc/ngerman/, doc/ngerman/scrbookreportarticle.tex: fehlendes + Leerzeichen ergänzt (zweiter Absatz open=Methode) + +r1410 2013-10-08 12:30:47 +0200 mjk: + + * scrkernel-fonts.dtx: if compytibility >= 3.12 the calculations of + the callback solution of option fontsize have been changed + +r1409 2013-10-08 10:28:00 +0200 mjk: + + * scrkernel-compatibility.dtx: version 3.12 is a new compatibility + level + +r1408 2013-10-08 09:19:41 +0200 mjk: + + * scrkernel-fonts.dtx: double defined \partopsep removed one time + +r1407 2013-10-08 08:34:19 +0200 mjk: + + * TODO: is \intextsep correct? + +r1406 2013-10-05 13:05:50 +0200 mjk: + + * README.in/: more README sources + +r1405 2013-10-05 12:56:56 +0200 mjk: + + * tocbasic.dtx: fix: spacing in the abstract of the user manual + +r1404 2013-10-05 12:31:12 +0200 mjk: + + * doc/, doc/ngerman/, doc/ngerman/scrbookreportarticle.tex, + doc/ngerman/common-5.tex: Kopier- bzw. Tippfehler [Elke] + +r1403 2013-10-04 19:33:44 +0200 mjk: + + * README.in/: more README sources + +r1402 2013-10-04 18:51:05 +0200 mjk: + + * scrkernel-fonts.dtx: improved package version generation + +r1401 2013-10-04 13:14:32 +0200 mjk: + + * scrkernel-letterclassoptions.dtx, doc/, doc/english/, + doc/english/scrlttr2-experts.tex, doc/ngerman/, + doc/ngerman/scrlttr2-experts.tex: the third visualization style is + "edges" not "edge" + +r1400 2013-10-02 20:45:58 +0200 mjk: + + * Makefile: improved README generation while release build + +r1399 2013-10-02 20:45:51 +0200 mjk: + + * README.in/, README.in/README.scrlttr2.cls, + README.in/README.scrreprt.cls, README.in/README.scrbook.cls: typo + fixed + +r1398 2013-10-02 20:35:25 +0200 mjk: + + * README.in/, README.in/README.scrdoc.cls, + README.in/README.scrbook.cls, README.in/README.scrartcl.cls: more + basic READMEs + +r1397 2013-10-02 19:01:51 +0200 mjk: + + * README.in/, README.in/README.scrlttr2.cls, + README.in/README.scrreprt.cls, README.in/README.scrdoc.cls, + README.in/README.scrbook.cls, README.in/README.scrartcl.cls: some + files with basic package and class descriptions + +r1396 2013-10-02 19:01:06 +0200 mjk: + + * Makefile: fix of missing files for docstrip + +r1395 2013-10-02 18:37:13 +0200 mjk: + + * manifest.txt: scrdocstrip.tex added + +r1394 2013-10-02 11:12:48 +0200 mjk: + + * TODO, doc/, doc/ngerman/, doc/ngerman/scrbookreportarticle.tex, + doc/ngerman/tocbasic.tex: \addxcontentsline…, + \tocbasic@addxcontentsline, \nonumberline, Eigenschaft "numberline" + und die Klassenoptionen in diesem Zusammenhang dokumentiert + +r1393 2013-10-02 08:40:56 +0200 mjk: + + * scrjura.dtx, TODO: additional languages for scrjura + +r1392 2013-10-02 07:57:31 +0200 mjk: + + * README.SVN: some information for users without make + +r1391 2013-10-01 19:27:20 +0200 mjk: + + * scrdocstrip.tex: usage of \getlastextension fixed + +r1390 2013-10-01 18:16:36 +0200 mjk: + + * manifest.txt: wrong # replaced by % + +r1389 2013-10-01 18:06:04 +0200 mjk: + + * scrsource.tex, Makefile, scrmain.ins, scrkernel-variables.dtx, + manifest.txt: renamed scrkvars.dtx into scrkernel-variables.dtx + +r1388 2013-10-01 18:03:42 +0200 mjk: + + * scrsource.tex, scrkernel-pseudolengths.dtx, Makefile, scrmain.ins, + manifest.txt: renamed scrkplen.dtx into scrkernel-pseudolengths.dtx + +r1387 2013-10-01 18:00:49 +0200 mjk: + + * scrkernel-listsandtabulars.dtx: renamed scrklist.dtx into + scrkernel-listsandtabulars.dtx + +r1386 2013-10-01 18:00:20 +0200 mjk: + + * scrsource.tex, scrkernel-listsandtabulars.dtx, Makefile, + scrmain.ins, manifest.txt: renamed scrklists.dtx into + scrkernel-listsandtabulars.dtx + +r1385 2013-10-01 17:56:01 +0200 mjk: + + * scrkernel-letterclassoptions.dtx, Makefile, scrmain.ins, + manifest.txt: renamed scrklco.dtx into + scrkernel-letterclassoptions.dtx + +r1384 2013-10-01 17:51:14 +0200 mjk: + + * scrkernel-circularletters.dtx, Makefile, scrmain.ins, manifest.txt: + renamed scrkcile.dtx into scrkernel-circularletters.dtx + +r1383 2013-10-01 17:44:28 +0200 mjk: + + * scrpage.dtx, scrsource.tex, scrtime.dtx, scrhack.dtx, + scrkernel-version.dtx, Makefile, scrmain.ins, scrlfile.dtx, + komabug.tex, manifest.txt, scrkernel-typearea.dtx, + scrkernel-basics.dtx, tocbasic.dtx: renamed scrkvers.dtx into + scrkernel-version.dtx + +r1382 2013-10-01 17:37:45 +0200 mjk: + + * scrdocstrip.tex: new extension of docstrip.tex + +r1381 2013-10-01 17:33:08 +0200 mjk: + + * scrpage.dtx, scrtime.dtx, tocstyle.dtx, scrwfile.dtx, tocbasic.dtx: + usage of keyword substitution + +r1380 2013-10-01 17:31:55 +0200 mjk: + + * scrkernel-sections.dtx, scrpage.dtx, scrkernel-index.dtx, + scrtime.dtx, scrhack.dtx, scrkernel-bibliography.dtx, tocstyle.dtx, + scrkernel-version.dtx, scrjura.dtx, scrextend.dtx, scrlogo.dtx, + scrkernel-compatibility.dtx, scraddr.dtx, + scrkernel-pseudolengths.dtx, scrkernel-pagestyles.dtx, + scrkernel-letterclassoptions.dtx, scrkernel-circularletters.dtx, + scrkernel-fonts.dtx, scrbeta.dtx, scrkernel-listsandtabulars.dtx, + scrkernel-footnotes.dtx, scrkernel-listsof.dtx, scrlfile.dtx, + scrkernel-paragraphs.dtx, scrkernel-language.dtx, scrwfile.dtx, + scrkernel-notepaper.dtx, scrkernel-miscellaneous.dtx, + scrkernel-variables.dtx, scrkernel-floats.dtx, + scrkernel-typearea.dtx, scrkernel-basics.dtx, japanlco.dtx, + scrkernel-title.dtx, tocbasic.dtx: usage of keyword substitution + +r1379 2013-10-01 17:02:47 +0200 mjk: + + * scrpage.dtx, scrtime.dtx, scrhack.dtx, scrkernel-version.dtx, + scrstrip.inc, scraddr.dtx, Makefile, scrmain.ins, scrlfile.dtx, + manifest.txt, scrstrop.inc, scrkernel-typearea.dtx, + scrkernel-basics.dtx, tocbasic.dtx: using ins=dtx for package + generation + +r1378 2013-09-30 17:42:35 +0200 mjk: + + * scrkernel-sections.dtx, scrkernel-index.dtx, scrhack.dtx, + missing.dtx, scrdoc.dtx, scrkernel-bibliography.dtx, + scrkernel-version.dtx, scrjura.dtx, scrextend.dtx, scrlogo.dtx, + scrkernel-compatibility.dtx, scraddr.dtx, + scrkernel-pseudolengths.dtx, scrkernel-pagestyles.dtx, + scrkernel-letterclassoptions.dtx, scrkernel-circularletters.dtx, + scrkernel-fonts.dtx, scrbeta.dtx, scrkernel-listsandtabulars.dtx, + scrkernel-footnotes.dtx, scrkernel-listsof.dtx, scrlfile.dtx, + scrkernel-paragraphs.dtx, scrkxflo.dtx, scrkernel-language.dtx, + scrcounter.dtx, scrkernel-notepaper.dtx, scrkernel-miscellaneous.dtx, + scrkernel-variables.dtx, scrkernel-floats.dtx, + scrkernel-typearea.dtx, scrkernel-basics.dtx, japanlco.dtx, + scrkernel-title.dtx: svn keyword substitution activated + +r1377 2013-09-25 09:17:02 +0200 mjk: + + * scrkernel-listsof.dtx: changed warnings about \float@addlist and + \float@listhead + +r1376 2013-09-24 19:08:23 +0200 mjk: + + * scrkernel-sections.dtx, scrkernel-index.dtx, + scrkernel-bibliography.dtx, scrjura.dtx, TODO, scrkernel-listsof.dtx, + scrwfile.dtx, tocbasic.dtx: new tocbasic feature "numberline" to + indent text entries without number; new options "toc=numberline", + "toc=nonumberline", "listof=numberline", "listof=nonumberline" + +r1375 2013-09-24 17:22:51 +0200 mjk: + + * scrjura.dtx: usage of tocbasic and \addcontentslinedefault + +r1374 2013-09-19 11:16:26 +0200 mjk: + + * scrjura.dtx: Replacement of \PackageErrorNoLine by \PackageError + +r1373 2013-09-19 11:13:14 +0200 mjk: + + * scrkernel-basics.dtx: new command \PackageErrorNoLine + +r1372 2013-09-12 09:09:12 +0200 mjk: + + * scrkernel-miscellaneous.dtx: fix: new \scr@package@not@recommended + +r1371 2013-08-28 14:03:11 +0200 mjk: + + * doc/, doc/scrguide.cls: tabularx added + +r1370 2013-08-28 13:46:00 +0200 mjk: + + * doc/, doc/ngerman/, doc/ngerman/tocbasic.tex: Copyright Datum + +r1369 2013-08-28 13:45:40 +0200 mjk: + + * doc/, doc/ngerman/, doc/ngerman/tocbasic.tex: Gegenüberstellung von + remarkbox und figure und ein Beispiel für die Verwendung von + remarkbox + +r1368 2013-08-28 13:44:19 +0200 mjk: + + * tocbasic.dtx: improvement of example + +r1367 2013-08-28 13:38:33 +0200 mjk: + + * tocbasic.dtx: Improvement of manual part: - comparision of example + environment remarkbox with figure - example of usage of example + environment remarkbox + +r1366 2013-08-26 18:26:25 +0200 mjk: + + * scrkernel-typearea.dtx: missing \FamilyKeyStateProcessed + +r1365 2013-08-26 18:25:41 +0200 mjk: + + * scrkernel-sections.dtx, scrkernel-pagestyles.dtx, TODO, + scrkernel-listsof.dtx: \KOMA@options replaced either by + \KOMAExecuteOptions or \KOMAoptions + +r1364 2013-08-26 17:50:23 +0200 mjk: + + * TODO: one more note about the renewed option interface + +r1363 2013-08-25 12:55:07 +0200 mjk: + + * README.SVN: spezial note for developers using MiKTeX + +r1362 2013-08-11 14:05:03 +0200 mjk: + + * tocstyle.dtx: usage of new font elements of KOMA-Script at style + KOMAlike + +r1361 2013-08-08 18:11:24 +0200 mjk: + + * TODO, doc/, doc/english/, doc/english/common-0.tex, doc/ngerman/, + doc/ngerman/common-0.tex: Note about problems using lengths as option + value with \documentclass or \usepackage + +r1360 2013-08-05 18:42:32 +0200 mjk: + + * scrwfile.dtx, doc/, doc/guide.bib, doc/english/, + doc/english/common-0.tex, doc/english/scrbookreportarticle.tex, + doc/english/scrlttr2-experts.tex, doc/english/guide-english.tex, + doc/english/preface.tex: improvements of the English guide (by Hendrik + M. and KOMA) + +r1359 2013-07-31 13:06:37 +0200 mjk: + + * scrkernel-notepaper.dtx, doc/, doc/english/, + doc/english/scrlttr2.tex, doc/english/common-5.tex, doc/ngerman/, + doc/ngerman/scrlttr2.tex, doc/ngerman/common-5.tex: new font element + placeanddate + +r1358 2013-07-30 12:34:32 +0200 mjk: + + * scrkernel-language.dtx: \defcaptionname etc. can handle empty + language arguments + +r1357 2013-07-30 12:15:12 +0200 mjk: + + * scrkernel-language.dtx: new: \defcaptionname reimplemented: + \newcaptionname, \renewcaptionname, \providecaptionname + +r1356 2013-07-24 17:35:15 +0200 mjk: + + * TODO, tocbasic.dtx: no more need for a patch of tocbasic, because if + hyperref + +r1355 2013-07-24 12:38:18 +0200 mjk: + + * scrwfile.dtx: fix hyperref workaround + +r1354 2013-07-24 12:16:00 +0200 mjk: + + * scrwfile.dtx: work around for unfriendly redefinition of \@starttoc + by hyperref + +r1353 2013-07-22 18:38:26 +0200 mjk: + + * doc/, doc/english/, doc/english/scrlttr2.tex, + doc/english/scrlttr2-experts.tex, doc/english/scrpage2.tex, + doc/ngerman/, doc/ngerman/scrlttr2.tex, + doc/ngerman/scrbookreportarticle.tex, + doc/ngerman/scrlttr2-experts.tex, doc/ngerman/scrpage2.tex: Kleinere + Ergänzungen und Korrekturen + +r1352 2013-07-09 15:01:26 +0200 mjk: + + * scrkernel-miscellaneous.dtx: empty test with wrong argumnent in new + \scr@package@not@recommended + +r1351 2013-07-09 08:22:42 +0200 mjk: + + * doc/, doc/ngerman/, doc/ngerman/scrbookreportarticle.tex: + Angezeigter Code stimmt mit Abbildung überein [Epllus] + +r1350 2013-07-08 12:48:52 +0200 mjk: + + * scrkernel-miscellaneous.dtx: several package warnings + +r1349 2013-06-23 18:01:33 +0200 mjk: + + * TODO: problems with hyperref's \AtBeginDocument-redefinition of + \@starttoc + +r1348 2013-06-12 08:23:25 +0200 mjk: + + * scrkernel-floats.dtx: replaced \capfont by \usekomafont{caption} and + \caplabelfont by \usekomafont{captionlabel} + +r1347 2013-06-12 08:21:59 +0200 mjk: + + * scrkernel-fonts.dtx: \use…ofkomafont internally doesn't set the + color + +r1346 2013-06-09 10:33:26 +0200 mjk: + + * scrjura.dtx: new: definition of \toclevel@cpar for usage with + hyperref + +r1345 2013-06-07 18:50:20 +0200 mjk: + + * scrjura.dtx: new: font element parnumber + +r1344 2013-06-06 18:27:36 +0200 mjk: + + * scrjura.dtx: fix: if \thepar is not only an arabic number, output + the par numbers always + +r1343 2013-06-04 14:27:25 +0200 mjk: + + * TODO, doc/, doc/english/, doc/english/scrlttr2.tex, doc/ngerman/, + doc/ngerman/scrlttr2.tex: frommobilephone (option and variable) and + symbolicnames (option) described + +r1342 2013-05-31 15:53:50 +0200 mjk: + + * TODO, doc/, doc/english/, doc/english/scrlttr2.tex, + doc/english/scrextend.tex, doc/english/scrbookreportarticle.tex, + doc/english/common-5.tex, doc/ngerman/, doc/ngerman/scrlttr2.tex, + doc/ngerman/scrextend.tex, doc/ngerman/scrbookreportarticle.tex, + doc/ngerman/common-5.tex: user manual of \usefontofkomafont etc. added + +r1341 2013-05-31 12:02:05 +0200 mjk: + + * doc/, doc/english/, doc/english/typearea-experts.tex: fix: \indent + before \rule{…}{…} to show the typing area correctly + +r1340 2013-05-31 11:59:06 +0200 mjk: + + * doc/, doc/ngerman/, doc/ngerman/typearea-experts.tex: fix: Einzug + vor den Satzspiegelboxen im \storeareas-Beispiel + +r1339 2013-05-29 17:55:00 +0200 mjk: + + * scrkernel-notepaper.dtx: fix of symbolicnames + +r1338 2013-05-29 17:54:43 +0200 mjk: + + * scrkernel-basics.dtx: Fix of \AtEndOfFamilyOptions + +r1337 2013-05-29 14:15:48 +0200 mjk: + + * TODO, scrkernel-language.dtx, scrkernel-notepaper.dtx: new option + and variable "frommobilephone" new option "symbolicnames" + +r1336 2013-05-29 14:14:03 +0200 mjk: + + * scrsource.tex, Makefile, scrmain.ins, manifest.txt: renamed + scrklang.dtx into scrkernel-language.dtx + +r1335 2013-05-29 12:30:52 +0200 mjk: + + * scrkernel-title.dtx, doc/, doc/english/, + doc/english/scrbookreportarticle.tex, doc/english/common-14.tex, + doc/ngerman/, doc/ngerman/scrbookreportarticle.tex, + doc/ngerman/common-14.tex: new font elements "titlehead", "author", + "date", "publishers", "dedication" + +r1334 2013-05-23 18:16:45 +0200 mjk: + + * scrjura.dtx: new: \thisparnumber{<manuelle Nummer>} + +r1333 2013-05-23 17:43:10 +0200 mjk: + + * scrjura.dtx: fix: sentence number with \parnumberfalse + +r1332 2013-05-10 19:51:12 +0200 mjk: + + * scrkernel-typearea.dtx: deactivate the dvips hack, if \XeTeXversion + is defined + +r1331 2013-05-03 10:49:14 +0200 mjk: + + * doc/, doc/scrguide.cls: new: requires picture package + +r1330 2013-05-03 09:24:27 +0200 mjk: + + * tocbasic.dtx: fix: \DeclareNewTOC also defines + \listof<extension>entryname + +r1329 2013-05-02 11:44:08 +0200 mjk: + + * scrjura.dtx: new: \ellipsispar and \parellipsis + +r1328 2013-05-02 10:32:23 +0200 mjk: + + * doc/, doc/ngerman/, doc/ngerman/common-0.tex: scrlayer und + scrlayer-scrpage mit aufgenommen + +r1327 2013-04-28 11:04:44 +0200 mjk: + + * scrjura.dtx: fix: hanging indent with indent after the space after + the number + +r1326 2013-04-20 19:02:04 +0200 mjk: + + * scrkernel-basics.dtx: date + +r1325 2013-04-20 18:36:17 +0200 mjk: + + * scrkernel-basics.dtx: When I've decided to name a macro + \l@addto@macro in 2001, I've tested, whether or not the macro name + is unused. Unforunatly in the meantime other package authors also + defined macro name \l@addto@macro potentially incompatible. If I + detect such an incompatibility while loading scrbase, the package + throws a warning message. + +r1324 2013-04-19 07:45:44 +0200 mjk: + + * scrjura.dtx: experimental support for several paragraphs with same + number + +r1323 2013-04-16 16:12:57 +0200 mjk: + + * scrjura.dtx: - \newmaxpar sets #1@Paragraphformat to \@firstofone - + \contract@paragraph with option number also uses + \contract@Paragraphformat + +r1322 2013-04-16 11:37:01 +0200 mjk: + + * doc/, doc/Makefile.guide: $(DOCDIR) at TEX_MISC replaced by relative + directory + +r1321 2013-04-16 11:34:30 +0200 mjk: + + * doc/, doc/ngerman/, doc/ngerman/scrbookreportarticle.tex: fix: one + \OptionValue + +r1320 2013-04-16 11:13:52 +0200 mjk: + + * scrjura.dtx: \paragraphformat renamed into \Paragraphformat + +r1319 2013-04-10 15:32:01 +0200 mjk: + + * doc/, doc/scrguide.cls: changed CTAN: prefix from ftp: to http: + +r1318 2013-04-10 15:28:24 +0200 mjk: + + * scrkernel-fonts.dtx: missing brace added + +r1317 2013-04-10 15:10:59 +0200 mjk: + + * doc/, doc/ngerman/, doc/ngerman/guide-ngerman.tex: Codierungsmurks + beseitigt + +r1316 2013-04-10 08:53:55 +0200 mjk: + + * doc/, doc/scrguide.cls: \NTS added + +r1315 2013-03-30 16:15:12 +0100 mjk: + + * TODO, scrkernel-fonts.dtx: new: \usesizeofkomafont, + \useencodingofkomafont, \usefamilyofkomafont, \useshapeofkomafont, + \useseriesofkomafont, \usefontofkomafont + +r1314 2013-03-28 09:47:28 +0100 mjk: + + * TODO: Die KOMA-Script-Klassen müssen bezüglich \footheight nichts + beachten, da sie die Linie ohnehin immer über dem Fuß einfügen. + +r1313 2013-03-26 12:15:09 +0100 mjk: + + * TODO: classes and \footheight + +r1312 2013-03-26 12:11:24 +0100 mjk: + + * scrkernel-version.dtx: new version date + +r1311 2013-03-26 12:09:18 +0100 mjk: + + * scrkernel-typearea.dtx: support for \footheight + +r1310 2013-03-07 10:47:24 +0100 mjk: + + * doc/, doc/guide.bib: entry manual:eTeX added + +r1309 2013-03-05 16:35:54 +0100 mjk: + + * scrkernel-pagestyles.dtx: delegate options headinclude and + footinclude to package typearea, if the package hasn't been loaded + yet + +r1308 2013-03-05 16:22:40 +0100 mjk: + + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + 3.12 BETA + +r1307 2013-03-05 15:08:12 +0100 mjk: + + * scrextend.dtx: usage of option execution state signals + +r1306 2013-03-05 15:02:53 +0100 mjk: + + * scrhack.dtx: usage of option execution state signals + +r1305 2013-03-05 14:57:18 +0100 mjk: + + * scrsource.tex, Makefile, scrmain.ins, scrkernel-notepaper.dtx, + manifest.txt: scrkpap.dtx renamed into scrkernel-notepaper.dtx + +r1304 2013-03-05 14:54:08 +0100 mjk: + + * scrkernel-notepaper.dtx: usage of option execution state signals + +r1303 2013-03-05 14:29:56 +0100 mjk: + + * scrsource.tex, scrkernel-compatibility.dtx, Makefile, scrmain.ins, + manifest.txt: scrkcomp.dtx renamed into scrkernel-compatibility.dtx + +r1302 2013-03-05 14:13:43 +0100 mjk: + + * scrkernel-typearea.dtx: usage of option execution state signals + +r1301 2013-03-05 13:59:25 +0100 mjk: + + * scrkernel-sections.dtx: usage of option execution state signals + +r1300 2013-03-05 13:02:49 +0100 mjk: + + * scrsource.tex, Makefile, scrmain.ins, scrkernel-paragraphs.dtx, + manifest.txt: scrkpar.dtx renamed into scrkernel-paragraphs.dtx + +r1299 2013-03-05 12:58:41 +0100 mjk: + + * scrkernel-paragraphs.dtx: usage of option execution state signals + +r1298 2013-03-05 12:22:46 +0100 mjk: + + * scrsource.tex, scrkernel-pagestyles.dtx, Makefile, scrmain.ins, + scrkernel-miscellaneous.dtx, manifest.txt: scrkpage.dtx renamed into + scrkernel-pagestyles.dtx + +r1297 2013-03-05 12:19:32 +0100 mjk: + + * scrkernel-pagestyles.dtx: usage of option execution state signals + +r1296 2013-03-05 12:07:01 +0100 mjk: + + * scrkernel-miscellaneous.dtx: usage of option execution state signals + +r1295 2013-03-05 12:02:49 +0100 mjk: + + * scrsource.tex, Makefile, scrmain.ins, scrkernel-listsof.dtx, + manifest.txt: scrkliof.dtx renamed into scrkernel-listsof.dtx + +r1294 2013-03-05 11:57:40 +0100 mjk: + + * scrkernel-listsof.dtx: usage of options execution states + +r1293 2013-03-05 11:47:13 +0100 mjk: + + * scrsource.tex, scrkernel-index.dtx, Makefile, scrmain.ins, + manifest.txt: scrkidx.dtx renamed into scrkernel-index.dtx + +r1292 2013-03-05 11:44:45 +0100 mjk: + + * scrkernel-index.dtx: usage of \FamilyKeyState + +r1291 2013-03-05 11:41:18 +0100 mjk: + + * scrsource.tex, scrkernel-footnotes.dtx, Makefile, scrmain.ins, + manifest.txt: scrkftn.dtx renamed into scrkernel-footnotes.dtx + +r1290 2013-03-05 11:37:39 +0100 mjk: + + * scrkernel-footnotes.dtx: usage of \FamilyKeyStateProcessed + +r1289 2013-03-05 11:33:44 +0100 mjk: + + * scrkernel-fonts.dtx: usage of \FamilyKeyStateProcessed + +r1288 2013-03-05 11:22:09 +0100 mjk: + + * scrkernel-bibliography.dtx: options use \FamilyKeyStateProcessed + +r1287 2013-03-05 11:05:55 +0100 mjk: + + * scrsource.tex, scrkernel-fonts.dtx, Makefile, scrmain.ins, + manifest.txt: scrkfont.dtx renamed into scrkernel-fonts.dtx + +r1286 2013-03-05 11:01:05 +0100 mjk: + + * scrkernel-fonts.dtx: double 11pt test with missing 12pt test fixed + [Falk] + +r1285 2013-03-05 10:48:08 +0100 mjk: + + * doc/, doc/english/, doc/english/scrbase.tex, doc/ngerman/, + doc/ngerman/scrbase.tex: description of new state signals with + \FammilyKeyState and of the new command \AtEndOfFamilyOptions + +r1284 2013-03-05 08:27:48 +0100 mjk: + + * scrsource.tex, TODO, scrkernel-fonts.dtx, Makefile, scrmain.ins, + scrkernel-miscellaneous.dtx, manifest.txt, scrkernel-floats.dtx, + scrkernel-basics.dtx: - reimplementation of the key=value interface - + scrkfloa.dtx renamed into scrkernel-floats.dtx - scrkbase.dtx + renamed into scrkernel-basics.dtx - several \@tempa, \@tempb, + \@tempc replaced by \reserved@a, \reserved@b, and \reserved@c + +r1283 2013-03-01 09:48:48 +0100 mjk: + + * scrkernel-floats.dtx: fix of option captions=figureheading + +r1282 2013-02-26 12:01:00 +0100 mjk: + + * doc/, doc/english/, doc/english/scrbookreportarticle.tex, + doc/ngerman/, doc/ngerman/scrbookreportarticle.tex: description of + \addchapmark and \addsecmark added + +r1281 2013-02-26 11:33:30 +0100 mjk: + + * scrkernel-sections.dtx: new commands \addchapmark and \addsecmark + using \chaptermark and \sectionmark + +r1280 2013-02-18 13:28:30 +0100 mjk: + + * scrkernel-fonts.dtx: fix: \newkomafont should define the optional + warning as an macro with one argument + +r1279 2013-02-14 16:23:59 +0100 mjk: + + * scrsource.tex, Makefile, scrmain.ins, manifest.txt, + scrkernel-title.dtx: renamed scrktitl.dtx to scrkernel-title.dtx + +r1278 2013-02-14 16:18:04 +0100 mjk: + + * scrkernel-title.dtx: several bugs with \thanks and twocolumn mode at + \maketitle fixed + +r1277 2013-02-13 18:40:31 +0100 mjk: + + * doc/, doc/english/, doc/english/scrbookreportarticle.tex, + doc/ngerman/, doc/ngerman/scrbookreportarticle.tex: description of + "bibliography=leveldown" + +r1276 2013-02-13 17:52:06 +0100 mjk: + + * scrkernel-sections.dtx, scrsource.tex, Makefile, scrmain.ins, + manifest.txt: scrksect.dtx renamed to scrkernel-sections.dtx + +r1275 2013-02-13 17:23:42 +0100 mjk: + + * scrkernel-sections.dtx: unused \chapterheadstartvskip and + \chapterheadenedvskip should not be in scrartcl + +r1274 2013-02-12 14:22:49 +0100 mjk: + + * tocbasic.dtx: copyright date changed + +r1273 2013-02-12 14:14:52 +0100 mjk: + + * tocbasic.dtx: arguments of optional argument `atbegin' and `atend' + may be empty at \DeclareNewTOC + +r1272 2013-02-06 11:00:20 +0100 mjk: + + * scrsource.tex, scrkernel-bibliography.dtx, Makefile, scrmain.ins, + manifest.txt: scrkbib.dtx renamed to scrkernel-bibliography.dtx + support for bibliography=leveldown and bibliography=standardlevel + +r1271 2013-02-06 10:59:02 +0100 mjk: + + * scrkernel-typearea.dtx: fix of \let\if@tempswa\if@dvips when + \if@dvips may be undefined + +r1270 2013-02-06 08:35:07 +0100 mjk: + + * scrkernel-typearea.dtx: line break at \ProvidesFile added + +r1269 2012-12-28 15:40:07 +0100 mjk: + + * scrkernel-language.dtx: made language selection more robust for + newer versions of babel's hyphen.cfg + +r1268 2012-11-23 09:39:15 +0100 mjk: + + * TODO, scrkernel-typearea.dtx: changed dvi/ps paper size update code + to avoid pdfTeX messages about unsupported specials + +r1267 2012-11-23 09:16:49 +0100 mjk: + + * scrsource.tex, Makefile, scrmain.ins, manifest.txt, + scrkernel-typearea.dtx: renamed 8+3 file scrktare.dtx into + scrkernel-typearea.dtx + +r1266 2012-11-23 08:16:07 +0100 mjk: + + * TODO: special-Problem + +r1265 2012-11-07 09:41:48 +0100 mjk: + + * scrmain.ins: scrlettr moved to obsolete + +r1264 2012-11-07 09:40:27 +0100 mjk: + + * scrpage.dtx: only documentation changes + +r1263 2012-11-07 08:43:22 +0100 mjk: + + * Makefile, manifest.txt, obsolete/, obsolete/scrlettr.dtx, + obsolete/README, obsolete/scrlettr.ins: scrlettr moved to obsolete + +r1262 2012-11-07 08:33:00 +0100 mjk: + + * obsolete/, obsolete/scrpage-obsolete.dtx: message fixed + +r1261 2012-11-07 08:26:41 +0100 mjk: + + * obsolete/, obsolete/scrpage-obsolete.dtx: The Work definition fixed + +r1260 2012-11-07 08:20:44 +0100 mjk: + + * obsolete/, obsolete/README: new README for KOMA-Script obsolete + +r1259 2012-11-06 18:45:47 +0100 mjk: + + * scrpage.dtx, Makefile: Obsolete package scrpage has been removed + from KOMA-Script. + +r1258 2012-11-06 18:27:26 +0100 mjk: + + * obsolete/, obsolete/scrpage-obsolete.dtx: new subdirectory for + obsolete sources + +r1257 2012-11-02 10:55:29 +0100 mjk: + + * scrpage.dtx: Heuristic to detect manual or automatic runnig head + improved + +r1256 2012-10-16 18:09:55 +0200 mjk: + + * scrkernel-sections.dtx: vertical heading preamble position may also + be `t' (instead of `o') or `b' (instead of `u') + +r1255 2012-10-16 09:25:56 +0200 mjk: + + * doc/, doc/english/, doc/english/scrlttr2.tex: fix: one \Option + instead of \OptionValue + +r1254 2012-10-15 09:14:20 +0200 mjk: + + * scrjura.dtx: error message fixed + +r1253 2012-10-13 17:09:33 +0200 mjk: + + * doc/, doc/guide.bib: 4th edition of the KOMA-Script book + +r1252 2012-10-08 09:27:49 +0200 mjk: + + * scrjura.dtx: Fix: \Paragraph und \SubParagraph funktionierten nur im + vertikalen Modus erzeugten aber fälschlich keinen Absatz am Anfang + [Timon Geppert] + +r1251 2012-09-22 09:04:00 +0200 mjk: + + * doc/, doc/ngerman/, doc/ngerman/scrbookreportarticle.tex: drei + identische Grammatikfehler korrigiert + +r1250 2012-09-19 08:59:20 +0200 mjk: + + * TODO: documentation of \PreventPackageFromLoading* + +r1249 2012-09-19 08:59:08 +0200 mjk: + + * doc/, doc/ngerman/, doc/ngerman/typearea-experts.tex: change entry + added + +r1248 2012-09-19 08:54:20 +0200 mjk: + + * doc/, doc/english/, doc/english/scrlfile.tex, doc/ngerman/, + doc/ngerman/scrlfile.tex: documentation of \PreventPackageFromLoading* + +r1247 2012-09-19 08:53:22 +0200 mjk: + + * doc/, doc/english/, doc/english/typearea-experts.tex: change entry + added + +r1246 2012-07-29 11:24:02 +0200 mjk: + + * releaselist.txt: release 2012/07/29 v3.11b + r1245 2012-07-29 11:12:46 +0200 mjk: - * scrksect.dtx: checksum fixed + * scrkernel-sections.dtx: checksum fixed r1244 2012-07-29 10:50:47 +0200 mjk: - * scrkvers.dtx, scrksect.dtx, scrkcomp.dtx: Fix: vertical alignment of - \addpart differed from \part [mrpiggi] + * scrkernel-sections.dtx, scrkernel-version.dtx, + scrkernel-compatibility.dtx: Fix: vertical alignment of \addpart + differed from \part [mrpiggi] r1243 2012-07-22 12:12:56 +0200 mjk: @@ -34,7 +1645,8 @@ r1239 2012-07-07 13:32:45 +0200 mjk: r1238 2012-07-05 10:29:01 +0200 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for 3.12 BETA + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + 3.12 BETA r1237 2012-07-05 10:28:17 +0200 mjk: @@ -42,7 +1654,7 @@ r1237 2012-07-05 10:28:17 +0200 mjk: r1235 2012-07-05 09:32:36 +0200 mjk: - * scrkvers.dtx: prepared for 3.11a + * scrkernel-version.dtx: prepared for 3.11a r1234 2012-06-29 17:54:11 +0200 mjk: @@ -68,26 +1680,27 @@ r1230 2012-06-12 12:03:42 +0200 mjk: r1229 2012-06-11 10:43:49 +0200 mjk: - * scrkbase.dtx: \FamilyProcessOptions inside of classes do not longer - report unknown values to known keys a error, but as info only and - maybe as unused global option. + * scrkernel-basics.dtx: \FamilyProcessOptions inside of classes do not + longer report unknown values to known keys a error, but as info only + and maybe as unused global option. r1228 2012-05-28 14:35:47 +0200 mjk: - * scrkbase.dtx: make last fix more robust + * scrkernel-basics.dtx: make last fix more robust r1227 2012-05-28 13:46:29 +0200 mjk: - * scrkbase.dtx: \FamilySetNumerical does not longer consume known - global options with unknown values + * scrkernel-basics.dtx: \FamilySetNumerical does not longer consume + known global options with unknown values r1226 2012-05-25 11:34:01 +0200 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for 3.11a BETA + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + 3.11a BETA r1225 2012-05-25 11:31:55 +0200 mjk: - * scrkbase.dtx: Error/Info Message for unkown bool values at + * scrkernel-basics.dtx: Error/Info Message for unkown bool values at \FamilySetBool fixed. r1224 2012-05-15 15:21:01 +0200 mjk: @@ -106,7 +1719,8 @@ r1222 2012-05-15 14:23:23 +0200 mjk: r1221 2012-05-15 14:23:06 +0200 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for 3.11 + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + 3.11 r1220 2012-05-15 14:17:51 +0200 mjk: @@ -145,15 +1759,15 @@ r1216 2012-05-11 10:08:07 +0200 mjk: r1215 2012-04-24 14:38:51 +0200 mjk: - * scrksect.dtx: \addpart fixed [reported by Ulrike Fischer] + * scrkernel-sections.dtx: \addpart fixed [reported by Ulrike Fischer] r1214 2012-04-20 09:57:19 +0200 mjk: - * scrksect.dtx: docu fix + * scrkernel-sections.dtx: docu fix r1213 2012-04-17 10:13:15 +0200 mjk: - * TODO, scrktare.dtx, doc/, doc/english/, + * TODO, scrkernel-typearea.dtx, doc/, doc/english/, doc/english/typearea-experts.tex, doc/ngerman/, doc/ngerman/typearea-experts.tex: new \AfterSettingArea similar to \AfterCalculatingArea but for \areaset @@ -247,11 +1861,13 @@ r1192 2012-03-13 11:10:03 +0100 mjk: r1191 2012-03-13 08:21:18 +0100 mjk: - * scrkpar.dtx: fix for loading everysel while \begin{document} + * scrkernel-paragraphs.dtx: fix for loading everysel while + \begin{document} r1190 2012-03-13 08:20:24 +0100 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for 3.10b BETA + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + 3.10b BETA r1189 2012-03-12 10:43:56 +0100 mjk: @@ -290,8 +1906,9 @@ r1183 2012-03-09 08:33:38 +0100 mjk: r1182 2012-03-08 12:40:30 +0100 mjk: - * scrkvers.dtx, scrkcomp.dtx, scrkidx.dtx: brackets at \idx@heading - fixed [Jürgen Spitzmüller] + * scrkernel-index.dtx, scrkernel-version.dtx, + scrkernel-compatibility.dtx: brackets at \idx@heading fixed [Jürgen + Spitzmüller] r1181 2012-03-06 18:08:46 +0100 mjk: @@ -641,22 +2258,27 @@ r1123 2012-01-12 11:09:49 +0100 mjk: r1122 2012-01-10 15:48:18 +0100 mjk: - * scrkvers.dtx: prepared for KOMA-Script 3.10 + * scrkernel-version.dtx: prepared for KOMA-Script 3.10 r1121 2012-01-10 09:37:54 +0100 mjk: - * scrpage.dtx, scrklang.dtx, scrktitl.dtx, scrtime.dtx, scrhack.dtx, - scrklist.dtx, scrdoc.dtx, tocstyle.dtx, scrjura.dtx, scrextend.dtx, - scrlogo.dtx, scrkbase.dtx, scrkmisc.dtx, scrpage.ins, scrstrip.inc, - scraddr.dtx, scrklco.dtx, scrkpar.dtx, scrkfont.dtx, scrlettr.dtx, - scrbeta.dtx, Makefile.baseinit, Makefile, scrmain.ins, - Makefile.baserules, scrkplen.dtx, scrkvars.dtx, scrlfile.ins, - scrlfile.dtx, scrkftn.dtx, scrkxflo.dtx, scrkvers.dtx, scrksect.dtx, - scrkcile.dtx, scrwfile.dtx, scrkliof.dtx, scrkcomp.dtx, scrknpap.dtx, - scrkbib.dtx, scrktare.dtx, manifest.txt, scrstrop.inc, japanlco.dtx, - scrkpage.dtx, scrkfloa.dtx, tocbasic.dtx, scraddr.ins, scrlettr.ins, - scrkidx.dtx, doc/, doc/plength.dtx, doc/Makefile.latexinit, - doc/guide.tex, doc/Makefile, doc/scrguide.cls, doc/Makefile.guide, + * scrkernel-sections.dtx, scrpage.dtx, scrkernel-index.dtx, + scrtime.dtx, scrhack.dtx, scrdoc.dtx, scrkernel-bibliography.dtx, + tocstyle.dtx, scrkernel-version.dtx, scrjura.dtx, scrextend.dtx, + scrlogo.dtx, scrstrip.inc, scrkernel-compatibility.dtx, scraddr.dtx, + scrkernel-pseudolengths.dtx, scrkernel-pagestyles.dtx, + scrkernel-letterclassoptions.dtx, scrkernel-circularletters.dtx, + scrkernel-fonts.dtx, scrbeta.dtx, scrkernel-listsandtabulars.dtx, + Makefile.baseinit, scrkernel-footnotes.dtx, Makefile, scrmain.ins, + Makefile.baserules, scrkernel-listsof.dtx, scrlfile.dtx, + scrkernel-paragraphs.dtx, scrkxflo.dtx, scrkernel-language.dtx, + scrwfile.dtx, scrkernel-notepaper.dtx, scrkernel-miscellaneous.dtx, + scrkernel-variables.dtx, manifest.txt, scrstrop.inc, + scrkernel-floats.dtx, scrkernel-typearea.dtx, scrkernel-basics.dtx, + japanlco.dtx, scrkernel-title.dtx, tocbasic.dtx, + obsolete/scrlettr.dtx, obsolete/scrlettr.ins, doc/, doc/plength.dtx, + doc/Makefile.latexinit, doc/guide.tex, doc/Makefile, + doc/scrguide.cls, doc/Makefile.guide, doc/linkalias.tex, doc/guide.bib, doc/scrguide.ist, doc/scrguide.gst, doc/english/, doc/english/common-9.tex, doc/english/scrlfile.tex, doc/english/common-0.tex, doc/english/scrlttr2.tex, @@ -673,13 +2295,12 @@ r1121 2012-01-10 09:37:54 +0100 mjk: doc/english/guide-english.tex, doc/english/common-5.tex, doc/english/scrpage2.tex, doc/ngerman/, doc/ngerman/common-0.tex, doc/ngerman/scrextend.tex, doc/ngerman/common-2.tex, - doc/ngerman/common-15.tex, doc/ngerman/guide.tex, - doc/ngerman/common-12.tex, doc/ngerman/adrconvnote.tex, - doc/ngerman/scrdatetime.tex, doc/ngerman/common-1.tex, - doc/ngerman/introduction.tex, doc/ngerman/common-8.tex, - doc/ngerman/common-13.tex, doc/ngerman/guide-ngerman.tex, - doc/ngerman/typearea-experts.tex, doc/ngerman/typearea.tex, - doc/ngerman/scrbase.tex, doc/ngerman/linkalias.tex, + doc/ngerman/common-15.tex, doc/ngerman/common-12.tex, + doc/ngerman/adrconvnote.tex, doc/ngerman/scrdatetime.tex, + doc/ngerman/common-1.tex, doc/ngerman/introduction.tex, + doc/ngerman/common-8.tex, doc/ngerman/common-13.tex, + doc/ngerman/guide-ngerman.tex, doc/ngerman/typearea-experts.tex, + doc/ngerman/typearea.tex, doc/ngerman/scrbase.tex, doc/ngerman/common-3.tex, doc/ngerman/common-7.tex, doc/ngerman/common-4.tex, doc/ngerman/scraddr.tex, doc/ngerman/scrhack.tex, doc/ngerman/expertpart.tex, @@ -693,14 +2314,13 @@ r1120 2012-01-10 09:07:15 +0100 mjk: doc/ngerman/common-0.tex, doc/ngerman/scrlttr2.tex, doc/ngerman/scrextend.tex, doc/ngerman/common-2.tex, doc/ngerman/common-10.tex, doc/ngerman/scrbookreportarticle.tex, - doc/ngerman/common-15.tex, doc/ngerman/guide.tex, - doc/ngerman/common-12.tex, doc/ngerman/scrdatetime.tex, - doc/ngerman/common-1.tex, doc/ngerman/introduction.tex, - doc/ngerman/common-8.tex, doc/ngerman/common-13.tex, - doc/ngerman/common-11.tex, doc/ngerman/guide-ngerman.tex, - doc/ngerman/typearea-experts.tex, doc/ngerman/typearea.tex, - doc/ngerman/common-14.tex, doc/ngerman/scrlttr2-experts.tex, - doc/ngerman/scrbase.tex, doc/ngerman/Makefile.guide, + doc/ngerman/common-15.tex, doc/ngerman/common-12.tex, + doc/ngerman/scrdatetime.tex, doc/ngerman/common-1.tex, + doc/ngerman/introduction.tex, doc/ngerman/common-8.tex, + doc/ngerman/common-13.tex, doc/ngerman/common-11.tex, + doc/ngerman/guide-ngerman.tex, doc/ngerman/typearea-experts.tex, + doc/ngerman/typearea.tex, doc/ngerman/common-14.tex, + doc/ngerman/scrlttr2-experts.tex, doc/ngerman/scrbase.tex, doc/ngerman/common-6.tex, doc/ngerman/common-3.tex, doc/ngerman/common-7.tex, doc/ngerman/common-4.tex, doc/ngerman/scrlttr2examples.dtx, doc/ngerman/scraddr.tex, @@ -711,7 +2331,7 @@ r1120 2012-01-10 09:07:15 +0100 mjk: r1119 2011-10-26 14:55:03 +0200 mjk: - * scrkbase.dtx: \ignorespaces at end of \begin{document} + * scrkernel-basics.dtx: \ignorespaces at end of \begin{document} r1118 2011-09-30 10:34:57 +0200 mjk: @@ -748,17 +2368,18 @@ r1112 2011-09-28 10:56:37 +0200 mjk: r1111 2011-09-28 08:53:11 +0200 mjk: - * scrkpar.dtx: fix: options parskip if package everysel or tracefnt - was loaded + * scrkernel-paragraphs.dtx: fix: options parskip if package everysel + or tracefnt was loaded r1110 2011-09-27 08:56:10 +0200 mjk: - * scrksect.dtx: changed toc entry creation fixed + * scrkernel-sections.dtx: changed toc entry creation fixed r1109 2011-09-27 08:54:42 +0200 mjk: - * scrkftn.dtx: fix: footnotes=multiple may be a class or package - option fix: footnotes=multiple with scrextend and standard classes + * scrkernel-footnotes.dtx: fix: footnotes=multiple may be a class or + package option fix: footnotes=multiple with scrextend and standard + classes r1108 2011-09-22 11:02:23 +0200 mjk: @@ -767,12 +2388,12 @@ r1108 2011-09-22 11:02:23 +0200 mjk: r1107 2011-09-20 10:52:29 +0200 mjk: - * scrktare.dtx: \storeareas stores \marginparwidth and \marginparsep - too + * scrkernel-typearea.dtx: \storeareas stores \marginparwidth and + \marginparsep too r1106 2011-09-16 13:34:41 +0200 mjk: - * scrlettr.dtx: \cite (war nur noch einer) beseitigt + * obsolete/scrlettr.dtx: \cite (war nur noch einer) beseitigt r1105 2011-09-16 12:54:46 +0200 mjk: @@ -780,18 +2401,20 @@ r1105 2011-09-16 12:54:46 +0200 mjk: r1104 2011-09-13 16:57:43 +0200 mjk: - * scrktare.dtx: new command \storeareas to store and restore the - current type area and margins + * scrkernel-typearea.dtx: new command \storeareas to store and restore + the current type area and margins r1103 2011-09-13 08:19:42 +0200 mjk: - * scrkftn.dtx: fix: Option footnotes=multiple may be used as class - option workaround: Package setspace destroys footnote=multiple + * scrkernel-footnotes.dtx: fix: Option footnotes=multiple may be used + as class option workaround: Package setspace destroys + footnote=multiple r1102 2011-09-12 11:05:56 +0200 mjk: - * scrkbase.dtx: unknown values for global options are not longer - errors and not longer removed from list of unknown global options + * scrkernel-basics.dtx: unknown values for global options are not + longer errors and not longer removed from list of unknown global + options r1101 2011-09-11 18:14:15 +0200 mjk: @@ -799,20 +2422,20 @@ r1101 2011-09-11 18:14:15 +0200 mjk: r1100 2011-09-09 11:53:12 +0200 mjk: - * scrksect.dtx: missing \par added + * scrkernel-sections.dtx: missing \par added r1099 2011-09-05 10:16:07 +0200 mjk: - * scrkmisc.dtx: using \providecommand instead of \newcommand at - definition of \@textsubscript + * scrkernel-miscellaneous.dtx: using \providecommand instead of + \newcommand at definition of \@textsubscript r1098 2011-09-02 13:46:49 +0200 mjk: - * scrkfloa.dtx: new environment: captionofbeside + * scrkernel-floats.dtx: new environment: captionofbeside r1097 2011-09-02 10:26:53 +0200 mjk: - * scrkmisc.dtx: new \dictumrule + * scrkernel-miscellaneous.dtx: new \dictumrule r1096 2011-09-01 12:07:38 +0200 mjk: @@ -820,8 +2443,9 @@ r1096 2011-09-01 12:07:38 +0200 mjk: r1095 2011-08-31 11:25:04 +0200 mjk: - * scrjura.dtx, scrksect.dtx, scrkliof.dtx, scrkbib.dtx, scrkpage.dtx, - scrkidx.dtx: Using \MakeMarkcase + * scrkernel-sections.dtx, scrkernel-index.dtx, + scrkernel-bibliography.dtx, scrjura.dtx, scrkernel-pagestyles.dtx, + scrkernel-listsof.dtx: Using \MakeMarkcase r1094 2011-08-30 12:55:46 +0200 mjk: @@ -829,8 +2453,8 @@ r1094 2011-08-30 12:55:46 +0200 mjk: r1093 2011-08-30 12:54:45 +0200 mjk: - * scrksect.dtx: Extension of optional argument of \part, \chapter etc. - activated by option headings=optiontotocandhead, + * scrkernel-sections.dtx: Extension of optional argument of \part, + \chapter etc. activated by option headings=optiontotocandhead, headings=optiontoheadandtoc, headings=optiontohead or headings=optiontotoc. If the extension is activated and no = is at the optional argument of \part, \chapter etc. the optional argument @@ -853,7 +2477,7 @@ r1093 2011-08-30 12:54:45 +0200 mjk: r1092 2011-08-30 12:47:27 +0200 mjk: - * scrkvers.dtx, scrkcomp.dtx: start 3.10 BETA + * scrkernel-version.dtx, scrkernel-compatibility.dtx: start 3.10 BETA r1091 2011-06-16 09:26:43 +0200 mjk: @@ -861,15 +2485,15 @@ r1091 2011-06-16 09:26:43 +0200 mjk: r1090 2011-06-16 09:26:10 +0200 mjk: - * scrkvers.dtx: prepared for 3.09a + * scrkernel-version.dtx: prepared for 3.09a r1089 2011-06-16 09:24:50 +0200 mjk: * doc/, doc/ngerman/, doc/ngerman/common-2.tex, - doc/ngerman/scrbookreportarticle.tex, doc/ngerman/guide.tex, - doc/ngerman/common-1.tex, doc/ngerman/introduction.tex, - doc/ngerman/typearea.tex, doc/ngerman/common-14.tex, - doc/ngerman/common-5.tex: some minor steps to the next book release + doc/ngerman/scrbookreportarticle.tex, doc/ngerman/common-1.tex, + doc/ngerman/introduction.tex, doc/ngerman/typearea.tex, + doc/ngerman/common-14.tex, doc/ngerman/common-5.tex: some minor steps + to the next book release r1088 2011-06-16 09:10:09 +0200 mjk: @@ -877,12 +2501,12 @@ r1088 2011-06-16 09:10:09 +0200 mjk: r1087 2011-06-16 09:06:56 +0200 mjk: - * scrkbase.dtx: new usage of \unexpanded fixed + * scrkernel-basics.dtx: new usage of \unexpanded fixed r1086 2011-06-07 08:33:40 +0200 mjk: - * scrkbase.dtx: \FamilyOptions uses e-TeX command \unexpanded to be - more robust + * scrkernel-basics.dtx: \FamilyOptions uses e-TeX command \unexpanded + to be more robust r1085 2011-05-30 15:29:06 +0200 mjk: @@ -895,12 +2519,12 @@ r1084 2011-04-13 10:13:57 +0200 mjk: r1083 2011-04-13 09:20:52 +0200 mjk: - * scrkfloa.dtx: fix: new \captionof feature + * scrkernel-floats.dtx: fix: new \captionof feature r1082 2011-04-13 09:15:33 +0200 mjk: - * scrkfloa.dtx: \captionof sets \@captionabovetrue depending on - \csname if@\@captype captionabove\endcsname + * scrkernel-floats.dtx: \captionof sets \@captionabovetrue depending + on \csname if@\@captype captionabove\endcsname r1081 2011-04-12 10:40:47 +0200 mjk: @@ -908,7 +2532,8 @@ r1081 2011-04-12 10:40:47 +0200 mjk: r1080 2011-04-12 10:40:09 +0200 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for 3.09a BETA + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + 3.09a BETA r1079 2011-04-05 09:05:02 +0200 mjk: @@ -916,7 +2541,8 @@ r1079 2011-04-05 09:05:02 +0200 mjk: r1077 2011-04-05 08:58:11 +0200 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for 3.09 + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + 3.09 r1076 2011-04-05 08:52:55 +0200 mjk: @@ -926,11 +2552,12 @@ r1076 2011-04-05 08:52:55 +0200 mjk: r1075 2011-04-02 07:54:03 +0200 mjk: - * scrkfloa.dtx: new values for option "captions" + * scrkernel-floats.dtx: new values for option "captions" r1074 2011-04-01 10:27:22 +0200 mjk: - * scrkbase.dtx: fix: \Family@@Numical@@Key --> \Family@@String@@Key + * scrkernel-basics.dtx: fix: \Family@@Numical@@Key --> + \Family@@String@@Key r1073 2011-03-31 10:27:18 +0200 mjk: @@ -942,16 +2569,16 @@ r1072 2011-03-31 10:24:16 +0200 mjk: r1071 2011-03-31 10:21:23 +0200 mjk: - * scrkvars.dtx: only indents changed + * scrkernel-variables.dtx: only indents changed r1070 2011-03-31 10:19:27 +0200 mjk: - * scrkplen.dtx: only one indent changed + * scrkernel-pseudolengths.dtx: only one indent changed r1069 2011-03-31 10:08:05 +0200 mjk: - * scrkbase.dtx: \FamilyStringKey and \FamilyNumericalKey fixed (thanks - to Michael Pock) + * scrkernel-basics.dtx: \FamilyStringKey and \FamilyNumericalKey fixed + (thanks to Michael Pock) r1068 2011-03-23 19:10:35 +0100 mjk: @@ -963,7 +2590,7 @@ r1067 2011-03-23 19:03:00 +0100 mjk: r1066 2011-03-23 18:51:49 +0100 mjk: - * scrkfloa.dtx: new options `captions=top', `captions=bot', + * scrkernel-floats.dtx: new options `captions=top', `captions=bot', `captions=figureabove', `captions=figurebelow' new commands `\captionaboveof' and `\captionsbelowof' @@ -986,7 +2613,7 @@ r1062 2011-03-10 09:37:34 +0100 mjk: r1061 2011-03-10 09:28:23 +0100 mjk: - * scrklang.dtx: scrlttr2 supports language naustrian + * scrkernel-language.dtx: scrlttr2 supports language naustrian r1060 2011-03-09 12:46:48 +0100 mjk: @@ -1017,8 +2644,8 @@ r1056 2011-03-07 10:50:55 +0100 mjk: r1055 2011-03-07 09:38:43 +0100 mjk: - * TODO, scrknpap.dtx: new values dateleft, dateright, and nodate for - option refline + * TODO, scrkernel-notepaper.dtx: new values dateleft, dateright, and + nodate for option refline r1054 2011-03-06 11:14:05 +0100 mjk: @@ -1030,7 +2657,7 @@ r1053 2011-03-01 13:45:55 +0100 mjk: r1051 2011-02-23 18:48:29 +0100 mjk: - * scrkfont.dtx, scrbeta.dtx, Makefile, scrmain.ins: new package + * scrkernel-fonts.dtx, scrbeta.dtx, Makefile, scrmain.ins: new package scrfontsizes.sty for generation of KOMA-Script compatible font sizefiles @@ -1047,12 +2674,13 @@ r1049 2011-02-22 11:39:28 +0100 mjk: r1048 2011-02-22 10:15:41 +0100 mjk: - * scrkfont.dtx: \@listiv, \@listv, and \listvi fixed at + * scrkernel-fonts.dtx: \@listiv, \@listv, and \listvi fixed at \changefontsizes r1046 2011-02-22 09:40:35 +0100 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for 3.08b BETA + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + 3.08b BETA r1045 2011-02-19 10:50:59 +0100 mjk: @@ -1060,7 +2688,7 @@ r1045 2011-02-19 10:50:59 +0100 mjk: r1044 2011-02-19 10:49:40 +0100 mjk: - * scrkvers.dtx: prepared for 3.08a + * scrkernel-version.dtx: prepared for 3.08a r1043 2011-02-11 08:59:34 +0100 mjk: @@ -1081,15 +2709,16 @@ r1041 2011-02-09 18:37:55 +0100 mjk: r1040 2011-01-25 18:10:52 +0100 mjk: - * scrktare.dtx: file date changed + * scrkernel-typearea.dtx: file date changed r1039 2011-01-25 18:05:51 +0100 mjk: - * scrktare.dtx: missing % at one \AtBeginDocument added + * scrkernel-typearea.dtx: missing % at one \AtBeginDocument added r1038 2011-01-25 18:04:26 +0100 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for 3.08a BETA + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + 3.08a BETA r1037 2011-01-25 09:02:16 +0100 mjk: @@ -1097,11 +2726,11 @@ r1037 2011-01-25 09:02:16 +0100 mjk: r1036 2011-01-25 09:00:57 +0100 mjk: - * scrkvers.dtx: prepared for 3.08 + * scrkernel-version.dtx: prepared for 3.08 r1035 2011-01-25 08:58:29 +0100 mjk: - * scrknpap.dtx: last change of \nexthead fixed + * scrkernel-notepaper.dtx: last change of \nexthead fixed r1034 2011-01-22 12:56:13 +0100 mjk: @@ -1110,19 +2739,25 @@ r1034 2011-01-22 12:56:13 +0100 mjk: r1033 2011-01-20 11:37:25 +0100 mjk: - * scrpage.dtx, scrklang.dtx, scrktitl.dtx, scrsource.tex, - scrhack.dtx, scrklist.dtx, scrdoc.dtx, tocstyle.dtx, scrjura.dtx, - scrextend.dtx, scrlogo.dtx, scrkbase.dtx, scrkmisc.dtx, scrpage.ins, - scrstrip.inc, scraddr.dtx, scrkpar.dtx, scrkfont.dtx, scrlettr.dtx, - scrbeta.dtx, Makefile.baseinit, Makefile, scrmain.ins, - Makefile.baserules, scrkplen.dtx, scrkvars.dtx, scrlfile.ins, - scrlfile.dtx, scrkftn.dtx, scrkxflo.dtx, scrkvers.dtx, scrksect.dtx, - scrkcile.dtx, scrwfile.dtx, scrkliof.dtx, scrkcomp.dtx, scrknpap.dtx, - scrkbib.dtx, scrktare.dtx, scrstrop.inc, japanlco.dtx, scrkpage.dtx, - scrkfloa.dtx, tocbasic.dtx, scraddr.ins, scrlettr.ins, scrkidx.dtx, - doc/, doc/plength.dtx, doc/Makefile.latexinit, doc/guide.tex, - doc/Makefile, doc/scrguide.cls, doc/Makefile.guide, doc/scrguide.ist, - doc/english/, doc/english/common-9.tex, doc/english/scrlfile.tex, + * scrkernel-sections.dtx, scrpage.dtx, scrsource.tex, + scrkernel-index.dtx, scrhack.dtx, scrdoc.dtx, + scrkernel-bibliography.dtx, tocstyle.dtx, scrkernel-version.dtx, + scrjura.dtx, scrextend.dtx, scrlogo.dtx, scrstrip.inc, + scrkernel-compatibility.dtx, scraddr.dtx, + scrkernel-pseudolengths.dtx, scrkernel-pagestyles.dtx, + scrkernel-circularletters.dtx, scrkernel-fonts.dtx, scrbeta.dtx, + scrkernel-listsandtabulars.dtx, Makefile.baseinit, + scrkernel-footnotes.dtx, Makefile, scrmain.ins, Makefile.baserules, + scrkernel-listsof.dtx, scrlfile.dtx, scrkernel-paragraphs.dtx, + scrkxflo.dtx, scrkernel-language.dtx, scrwfile.dtx, + scrkernel-notepaper.dtx, scrkernel-miscellaneous.dtx, + scrkernel-variables.dtx, scrstrop.inc, scrkernel-floats.dtx, + scrkernel-typearea.dtx, scrkernel-basics.dtx, japanlco.dtx, + scrkernel-title.dtx, tocbasic.dtx, obsolete/scrlettr.dtx, + obsolete/scrlettr.ins, doc/, doc/plength.dtx, doc/Makefile.latexinit, + doc/guide.tex, doc/Makefile, doc/scrguide.cls, doc/Makefile.guide, + doc/linkalias.tex, doc/scrguide.ist, doc/english/, + doc/english/common-9.tex, doc/english/scrlfile.tex, doc/english/common-0.tex, doc/english/common-2.tex, doc/english/common-10.tex, doc/english/scrbookreportarticle.tex, doc/english/common-15.tex, doc/english/common-12.tex, @@ -1139,19 +2774,17 @@ r1033 2011-01-20 11:37:25 +0100 mjk: doc/ngerman/scrlfile.tex, doc/ngerman/common-0.tex, doc/ngerman/scrlttr2.tex, doc/ngerman/scrextend.tex, doc/ngerman/common-2.tex, doc/ngerman/common-10.tex, - doc/ngerman/common-15.tex, doc/ngerman/guide.tex, - doc/ngerman/common-12.tex, doc/ngerman/adrconvnote.tex, - doc/ngerman/common-1.tex, doc/ngerman/introduction.tex, - doc/ngerman/common-8.tex, doc/ngerman/common-13.tex, - doc/ngerman/common-11.tex, doc/ngerman/guide-ngerman.tex, - doc/ngerman/typearea-experts.tex, doc/ngerman/Makefile, - doc/ngerman/typearea.tex, doc/ngerman/common-14.tex, - doc/ngerman/scrbase.tex, doc/ngerman/Makefile.guide, - doc/ngerman/linkalias.tex, doc/ngerman/common-6.tex, - doc/ngerman/common-3.tex, doc/ngerman/common-7.tex, - doc/ngerman/common-4.tex, doc/ngerman/scrlttr2examples.dtx, - doc/ngerman/scraddr.tex, doc/ngerman/tocbasic.tex, - doc/ngerman/expertpart.tex, + doc/ngerman/common-15.tex, doc/ngerman/common-12.tex, + doc/ngerman/adrconvnote.tex, doc/ngerman/common-1.tex, + doc/ngerman/introduction.tex, doc/ngerman/common-8.tex, + doc/ngerman/common-13.tex, doc/ngerman/common-11.tex, + doc/ngerman/guide-ngerman.tex, doc/ngerman/typearea-experts.tex, + doc/ngerman/Makefile, doc/ngerman/typearea.tex, + doc/ngerman/common-14.tex, doc/ngerman/scrbase.tex, + doc/ngerman/common-6.tex, doc/ngerman/common-3.tex, + doc/ngerman/common-7.tex, doc/ngerman/common-4.tex, + doc/ngerman/scrlttr2examples.dtx, doc/ngerman/scraddr.tex, + doc/ngerman/tocbasic.tex, doc/ngerman/expertpart.tex, doc/ngerman/scrbookreportarticle-experts.tex, doc/ngerman/preface.tex, doc/ngerman/common-5.tex, doc/ngerman/scrpage2.tex, doc/ngerman/authorpart.tex: Update of @@ -1181,8 +2814,9 @@ r1029 2011-01-20 09:00:32 +0100 mjk: r1028 2011-01-20 08:56:03 +0100 mjk: - * scrklang.dtx, doc/, doc/ngerman/, doc/ngerman/scrlttr2-experts.tex: - scrlttr2 supports swedish (Benjamin Hell) + * scrkernel-language.dtx, doc/, doc/ngerman/, + doc/ngerman/scrlttr2-experts.tex: scrlttr2 supports swedish (Benjamin + Hell) r1027 2011-01-18 12:50:07 +0100 mjk: @@ -1195,8 +2829,8 @@ r1026 2011-01-18 12:43:01 +0100 mjk: r1025 2011-01-10 15:06:24 +0100 mjk: - * scrklco.dtx: output of fields address and location fixed at - visualize.lco + * scrkernel-letterclassoptions.dtx: output of fields address and + location fixed at visualize.lco r1024 2010-12-14 11:20:44 +0100 mjk: @@ -1204,18 +2838,18 @@ r1024 2010-12-14 11:20:44 +0100 mjk: r1023 2010-12-14 10:51:53 +0100 mjk: - * scrkpar.dtx, doc/, doc/ngerman/, doc/ngerman/common-6.tex: new - option parskip=never to avoid vertical stretching of paragraphs with - \flushbottom + * scrkernel-paragraphs.dtx, doc/, doc/ngerman/, + doc/ngerman/common-6.tex: new option parskip=never to avoid vertical + stretching of paragraphs with \flushbottom r1022 2010-12-14 10:38:13 +0100 mjk: - * scrkbase.dtx: checksum fixed + * scrkernel-basics.dtx: checksum fixed r1021 2010-12-14 10:37:40 +0100 mjk: - * scrkbase.dtx: - empty element at options list fixed - warning for - unexpected usage of \AfterKOMAoptions fixed + * scrkernel-basics.dtx: - empty element at options list fixed - + warning for unexpected usage of \AfterKOMAoptions fixed r1020 2010-11-22 17:50:57 +0100 mjk: @@ -1233,17 +2867,17 @@ r1018 2010-11-05 16:11:17 +0100 mjk: r1017 2010-11-05 15:37:31 +0100 mjk: - * scrkbase.dtx: fix for \Family@@String@@Key + * scrkernel-basics.dtx: fix for \Family@@String@@Key r1016 2010-11-05 15:24:59 +0100 mjk: - * scrkbase.dtx: new: \FamilyStringKey + * scrkernel-basics.dtx: new: \FamilyStringKey r1015 2010-11-05 12:22:30 +0100 mjk: - * scrkbase.dtx: Allow empty elements at option list of \KOMAoptions - and \FamilyOptions and value list of \KOMAoption and \FamilyOption. - CAVEAT: BREAKS SPECIFICATION! + * scrkernel-basics.dtx: Allow empty elements at option list of + \KOMAoptions and \FamilyOptions and value list of \KOMAoption and + \FamilyOption. CAVEAT: BREAKS SPECIFICATION! r1014 2010-11-05 11:52:31 +0100 mjk: @@ -1266,30 +2900,31 @@ r1011 2010-11-04 13:23:17 +0100 mjk: r1010 2010-11-04 10:46:27 +0100 mjk: - * scrkfloa.dtx: space needed for captionbeside should be independent - of vertical alignment + * scrkernel-floats.dtx: space needed for captionbeside should be + independent of vertical alignment r1009 2010-11-04 10:40:11 +0100 mjk: - * scrkfloa.dtx: vertical alignment of captionbeside in case of t- or - b-placement fixed + * scrkernel-floats.dtx: vertical alignment of captionbeside in case of + t- or b-placement fixed r1008 2010-11-01 21:13:17 +0100 mjk: - * scrksect.dtx, scrkliof.dtx: new: \addchaptertocentry, - \addparttocentry + * scrkernel-sections.dtx, scrkernel-listsof.dtx: new: + \addchaptertocentry, \addparttocentry r1007 2010-10-28 11:55:30 +0200 mjk: - * scrkcomp.dtx: checksum fixed + * scrkernel-compatibility.dtx: checksum fixed r1006 2010-10-28 11:55:02 +0200 mjk: - * scrkcomp.dtx: 3.07a removed because never existed + * scrkernel-compatibility.dtx: 3.07a removed because never existed r1005 2010-10-28 11:54:00 +0200 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for 3.08 BETA + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + 3.08 BETA r1004 2010-10-28 11:51:40 +0200 mjk: @@ -1298,8 +2933,9 @@ r1004 2010-10-28 11:51:40 +0200 mjk: r1003 2010-10-28 11:49:47 +0200 mjk: - * scrkvars.dtx, scrknpap.dtx, scrkpage.dtx: \firsthead, \nexthead, - \firtfoot, \nextfoot are deprecated and replaced by variables + * scrkernel-pagestyles.dtx, scrkernel-notepaper.dtx, + scrkernel-variables.dtx: \firsthead, \nexthead, \firtfoot, \nextfoot + are deprecated and replaced by variables r1002 2010-10-20 10:49:11 +0200 mjk: @@ -1340,7 +2976,8 @@ r994 2010-09-30 10:57:24 +0200 mjk: r993 2010-09-30 10:56:40 +0200 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for KOMA-Script 3.07a BETA + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + KOMA-Script 3.07a BETA r992 2010-09-17 18:10:51 +0200 mjk: @@ -1352,28 +2989,29 @@ r991 2010-09-17 11:11:10 +0200 mjk: r990 2010-09-17 10:55:45 +0200 mjk: - * scrkvers.dtx: prepared for 3.07 + * scrkernel-version.dtx: prepared for 3.07 r989 2010-09-17 10:20:13 +0200 mjk: - * scrkpage.dtx: pagestyle bug fixed at \cleardoubleoddpageusingstyle, - \cleardoubleevenpageusingstyle, \cleardoublepageusingstyle + * scrkernel-pagestyles.dtx: pagestyle bug fixed at + \cleardoubleoddpageusingstyle, \cleardoubleevenpageusingstyle, + \cleardoublepageusingstyle r988 2010-09-14 12:41:11 +0200 mjk: - * doc/, doc/ngerman/, doc/ngerman/scrbookreportarticle.tex, - doc/ngerman/linkalias.tex, doc/ngerman/common-11.tex, - doc/ngerman/scrlttr2.tex: neues Font-Element "footnoterule" - dokumentiert + * doc/, doc/linkalias.tex, doc/ngerman/, doc/ngerman/scrlttr2.tex, + doc/ngerman/scrbookreportarticle.tex, doc/ngerman/common-11.tex: neues + Font-Element "footnoterule" dokumentiert r987 2010-09-14 11:55:32 +0200 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for KOMA-Script 3.07 BETA + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + KOMA-Script 3.07 BETA r986 2010-09-14 11:51:44 +0200 mjk: - * scrkftn.dtx: new font element footnoterule to allow color changes of - the foot note separation rule + * scrkernel-footnotes.dtx: new font element footnoterule to allow + color changes of the foot note separation rule r985 2010-09-14 11:30:57 +0200 mjk: @@ -1382,8 +3020,8 @@ r985 2010-09-14 11:30:57 +0200 mjk: r984 2010-09-02 17:15:55 +0200 mjk: - * scrextend.dtx, scrmain.ins, scrkvers.dtx: scrextend identification - added + * scrkernel-version.dtx, scrextend.dtx, scrmain.ins: scrextend + identification added r983 2010-08-24 15:17:25 +0200 mjk: @@ -1392,8 +3030,8 @@ r983 2010-08-24 15:17:25 +0200 mjk: r982 2010-07-29 20:29:14 +0200 mjk: - * scrknpap.dtx: vertical alignment of addresse with parskip setting - different from false fixed + * scrkernel-notepaper.dtx: vertical alignment of addresse with parskip + setting different from false fixed r981 2010-06-30 10:51:52 +0200 mjk: @@ -1418,7 +3056,8 @@ r975 2010-06-17 09:54:01 +0200 mjk: r974 2010-06-17 09:53:42 +0200 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for 3.06 + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + 3.06 r973 2010-06-17 09:52:53 +0200 mjk: @@ -1430,8 +3069,8 @@ r972 2010-06-09 10:52:24 +0200 mjk: r971 2010-06-09 10:33:04 +0200 mjk: - * scrksect.dtx: usage of font element "sectioning" replaced by usage - of font element "disposition" + * scrkernel-sections.dtx: usage of font element "sectioning" replaced + by usage of font element "disposition" r970 2010-06-09 10:32:03 +0200 mjk: @@ -1456,7 +3095,8 @@ r967 2010-06-02 17:31:34 +0200 mjk: r966 2010-06-02 17:30:45 +0200 mjk: - * scrksect.dtx: setting of feature chapteratlist moved to scrkliof.dtx + * scrkernel-sections.dtx: setting of feature chapteratlist moved to + scrkliof.dtx r965 2010-06-02 17:28:54 +0200 mjk: @@ -1470,9 +3110,9 @@ r964 2010-06-02 17:21:21 +0200 mjk: r963 2010-06-02 15:20:55 +0200 mjk: - * scrkliof.dtx: settings of option "listof" (also indirekt via toc) - are valid for all "list of"s of tocbasic owner float, even if they - are not yet defined + * scrkernel-listsof.dtx: settings of option "listof" (also indirekt + via toc) are valid for all "list of"s of tocbasic owner float, even + if they are not yet defined r962 2010-06-02 12:07:57 +0200 mjk: @@ -1485,15 +3125,15 @@ r961 2010-06-02 12:05:46 +0200 mjk: r960 2010-06-02 11:43:45 +0200 mjk: - * scrkliof.dtx: new option "listof=entryprefix"; new internal macros - \numberline@prefix, \numberline@postfix, \numberline@numberformat, - \numberline@box, that may be used to change the behaviour of - \numberline + * scrkernel-listsof.dtx: new option "listof=entryprefix"; new internal + macros \numberline@prefix, \numberline@postfix, + \numberline@numberformat, \numberline@box, that may be used to + change the behaviour of \numberline r959 2010-04-29 12:55:13 +0200 mjk: - * scrklist.dtx: vertical alignment of addmargin after \par with - \parskip>0 fixed + * scrkernel-listsandtabulars.dtx: vertical alignment of addmargin + after \par with \parskip>0 fixed r958 2010-04-28 10:56:17 +0200 mjk: @@ -1518,9 +3158,8 @@ r954 2010-04-26 11:13:43 +0200 mjk: r953 2010-04-23 10:51:25 +0200 mjk: - * doc/, doc/scrguide.cls, doc/Makefile.guide, doc/guide.tex, - doc/ngerman/, doc/ngerman/Makefile.guide, doc/ngerman/guide.tex: link - to other language using package bookmark + * doc/, doc/guide.tex, doc/scrguide.cls, doc/Makefile.guide, + doc/ngerman/: link to other language using package bookmark r952 2010-04-05 19:31:04 +0200 mjk: @@ -1532,8 +3171,8 @@ r951 2010-04-05 19:30:07 +0200 mjk: r950 2010-04-03 19:40:32 +0200 mjk: - * scrkftn.dtx: new command \setfootnoterule and some helper macros for - the new command + * scrkernel-footnotes.dtx: new command \setfootnoterule and some + helper macros for the new command r949 2010-03-24 09:25:03 +0100 mjk: @@ -1541,13 +3180,14 @@ r949 2010-03-24 09:25:03 +0100 mjk: r948 2010-03-24 09:22:20 +0100 mjk: - * scrkfont.dtx, scrmain.ins: \setkomafont, \addtokomafont, + * scrkernel-fonts.dtx, scrmain.ins: \setkomafont, \addtokomafont, \usekomafton, \newkomafont, \aliaskomafont moved to package scrkbase r947 2010-03-18 16:01:23 +0100 mjk: - * scrktare.dtx, doc/, doc/ngerman/, doc/ngerman/typearea.tex: option - pagesize supports new output driver dvipdfmx + * scrkernel-typearea.dtx, doc/, doc/ngerman/, + doc/ngerman/typearea.tex: option pagesize supports new output driver + dvipdfmx r946 2010-03-18 15:40:08 +0100 mjk: @@ -1556,21 +3196,21 @@ r946 2010-03-18 15:40:08 +0100 mjk: r945 2010-03-18 12:33:32 +0100 mjk: - * scrkcomp.dtx: 3.05a is not a new compatibility level + * scrkernel-compatibility.dtx: 3.05a is not a new compatibility level r944 2010-03-18 12:32:36 +0100 mjk: - * scrktare.dtx: remove not correct working geometry change + * scrkernel-typearea.dtx: remove not correct working geometry change r943 2010-03-18 11:54:38 +0100 mjk: - * scrktare.dtx: file date an version fixed + * scrkernel-typearea.dtx: file date an version fixed r942 2010-03-18 11:54:00 +0100 mjk: - * scrktare.dtx, scrkcomp.dtx: if compatibility is at least 3.05a - typearea shares binding correction with binding offset of package - geometry + * scrkernel-compatibility.dtx, scrkernel-typearea.dtx: if + compatibility is at least 3.05a typearea shares binding correction + with binding offset of package geometry r941 2010-03-14 10:08:21 +0100 mjk: @@ -1621,13 +3261,14 @@ r933 2010-03-10 18:27:23 +0100 mjk: r932 2010-03-10 15:33:59 +0100 mjk: - * scrkbase.dtx, scrmain.ins, scrtime.dtx: scrtime and new written - scrdate handled by scrmain.ins, \XdivY and \XmodY added to scrbase - (used by scrdate) + * scrtime.dtx, scrmain.ins, scrkernel-basics.dtx: scrtime and new + written scrdate handled by scrmain.ins, \XdivY and \XmodY added to + scrbase (used by scrdate) r931 2010-03-10 13:03:30 +0100 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for 3.05a BETA + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + 3.05a BETA r930 2010-02-15 11:49:41 +0100 mjk: @@ -1635,7 +3276,7 @@ r930 2010-02-15 11:49:41 +0100 mjk: r929 2010-02-15 11:48:37 +0100 mjk: - * scrkvers.dtx: prepared for 3.05 + * scrkernel-version.dtx: prepared for 3.05 r928 2010-02-15 11:38:37 +0100 mjk: @@ -1648,70 +3289,72 @@ r927 2010-02-09 10:41:50 +0100 mjk: r926 2010-02-09 10:38:52 +0100 mjk: - * scrkfont.dtx, scrktare.dtx, scrstrop.inc, scrstrip.inc, - scrklang.dtx, scrktitl.dtx, scrlettr.ins, scrkbib.dtx, scrpage.ins, - scrkplen.dtx, scrlogo.dtx, scrkliof.dtx, scrklist.dtx, - Makefile.baseinit, scrextend.dtx, scrkfloa.dtx, scrtime.ins, - tocbasic.dtx, Makefile.baserules, scrkcile.dtx, scraddr.ins, - scrlfile.ins, scrmain.ins, scrkvars.dtx, scrkmisc.dtx, scrdoc.dtx, - Makefile, scrkpar.dtx, scrsource.tex, tocstyle.dtx, scrtime.dtx, - scrkvers.dtx, scrkcomp.dtx, scrknpap.dtx, scrksect.dtx, scraddr.dtx, - scrjura.dtx, scrkftn.dtx, scrkidx.dtx, scrlfile.dtx, scrlettr.dtx, - scrklco.dtx, scrkxflo.dtx, japanlco.dtx, scrbeta.dtx, scrpage.dtx, - doc/, doc/scrguide.cls, doc/Makefile.latexinit, doc/Makefile.guide, - doc/Makefile, doc/guide.bib, doc/koma-script.html, doc/guide.tex, - doc/plength.dtx, doc/scrguide.ist, doc/english/, - doc/english/scrbookreportarticle.tex, doc/english/common-2.tex, - doc/english/common-1.tex, doc/english/common-7.tex, - doc/english/common-13.tex, doc/english/common-4.tex, - doc/english/common-0.tex, doc/english/scrlfile.tex, - doc/english/scrdatetime.tex, doc/english/scrpage2.tex, - doc/english/introduction.tex, doc/english/common-9.tex, - doc/english/common-10.tex, doc/english/Makefile, - doc/english/guide-english.tex, doc/english/common-8.tex, - doc/english/common-15.tex, doc/english/common-11.tex, - doc/english/scrlttr2.tex, doc/english/adrconvnote.tex, - doc/english/typearea.tex, doc/english/common-5.tex, - doc/english/scraddr.tex, doc/english/common-3.tex, - doc/english/japanlco.tex, doc/english/common-14.tex, - doc/english/common-6.tex, doc/english/common-12.tex, doc/ngerman/, - doc/ngerman/scrbookreportarticle.tex, doc/ngerman/common-2.tex, - doc/ngerman/common-1.tex, doc/ngerman/common-7.tex, - doc/ngerman/preface.tex, doc/ngerman/scrbase.tex, - doc/ngerman/expertpart.tex, doc/ngerman/common-13.tex, - doc/ngerman/common-4.tex, doc/ngerman/scrextend.tex, - doc/ngerman/tocbasic.tex, doc/ngerman/common-0.tex, - doc/ngerman/linkalias.tex, doc/ngerman/scrlfile.tex, - doc/ngerman/authorpart.tex, doc/ngerman/Makefile.guide, - doc/ngerman/scrdatetime.tex, doc/ngerman/scrpage2.tex, - doc/ngerman/typearea-experts.tex, doc/ngerman/introduction.tex, - doc/ngerman/common-9.tex, doc/ngerman/common-10.tex, - doc/ngerman/Makefile, doc/ngerman/scrlttr2-experts.tex, - doc/ngerman/common-8.tex, doc/ngerman/common-15.tex, - doc/ngerman/common-11.tex, doc/ngerman/scrlttr2examples.dtx, - doc/ngerman/scrlttr2.tex, doc/ngerman/adrconvnote.tex, - doc/ngerman/typearea.tex, doc/ngerman/common-5.tex, - doc/ngerman/guide.tex, doc/ngerman/scrbookreportarticle-experts.tex, - doc/ngerman/scraddr.tex, doc/ngerman/common-3.tex, - doc/ngerman/common-14.tex, doc/ngerman/guide-ngerman.tex, - doc/ngerman/common-12.tex: - - it's 2010 - - user documentation of pseudo - lengths "firstheadhpos" and "firstheadvpos" added + * scrkernel-sections.dtx, scrpage.dtx, scrsource.tex, + scrkernel-index.dtx, scrtime.dtx, scrdoc.dtx, + scrkernel-bibliography.dtx, tocstyle.dtx, scrkernel-version.dtx, + scrjura.dtx, scrextend.dtx, scrlogo.dtx, scrstrip.inc, + scrkernel-compatibility.dtx, scraddr.dtx, + scrkernel-pseudolengths.dtx, scrkernel-letterclassoptions.dtx, + scrkernel-circularletters.dtx, scrkernel-fonts.dtx, scrbeta.dtx, + scrkernel-listsandtabulars.dtx, Makefile.baseinit, + scrkernel-footnotes.dtx, Makefile, scrmain.ins, Makefile.baserules, + scrkernel-listsof.dtx, scrlfile.dtx, scrkernel-paragraphs.dtx, + scrkxflo.dtx, scrkernel-language.dtx, scrkernel-notepaper.dtx, + scrkernel-miscellaneous.dtx, scrkernel-variables.dtx, scrstrop.inc, + scrkernel-floats.dtx, scrkernel-typearea.dtx, japanlco.dtx, + scrkernel-title.dtx, tocbasic.dtx, obsolete/scrlettr.dtx, + obsolete/scrlettr.ins, doc/, doc/plength.dtx, doc/Makefile.latexinit, + doc/guide.tex, doc/Makefile, doc/scrguide.cls, doc/Makefile.guide, + doc/linkalias.tex, doc/guide.bib, doc/scrguide.ist, + doc/koma-script.html, doc/english/, doc/english/common-9.tex, + doc/english/scrlfile.tex, doc/english/common-0.tex, + doc/english/scrlttr2.tex, doc/english/common-2.tex, + doc/english/common-10.tex, doc/english/scrbookreportarticle.tex, + doc/english/common-15.tex, doc/english/common-12.tex, + doc/english/adrconvnote.tex, doc/english/scrdatetime.tex, + doc/english/common-1.tex, doc/english/introduction.tex, + doc/english/common-8.tex, doc/english/common-13.tex, + doc/english/common-11.tex, doc/english/Makefile, + doc/english/typearea.tex, doc/english/common-14.tex, + doc/english/common-6.tex, doc/english/common-3.tex, + doc/english/common-7.tex, doc/english/japanlco.tex, + doc/english/common-4.tex, doc/english/scraddr.tex, + doc/english/guide-english.tex, doc/english/common-5.tex, + doc/english/scrpage2.tex, doc/ngerman/, doc/ngerman/common-9.tex, + doc/ngerman/scrlfile.tex, doc/ngerman/common-0.tex, + doc/ngerman/scrlttr2.tex, doc/ngerman/scrextend.tex, + doc/ngerman/common-2.tex, doc/ngerman/common-10.tex, + doc/ngerman/scrbookreportarticle.tex, doc/ngerman/common-15.tex, + doc/ngerman/common-12.tex, doc/ngerman/adrconvnote.tex, + doc/ngerman/scrdatetime.tex, doc/ngerman/common-1.tex, + doc/ngerman/introduction.tex, doc/ngerman/common-8.tex, + doc/ngerman/common-13.tex, doc/ngerman/common-11.tex, + doc/ngerman/guide-ngerman.tex, doc/ngerman/typearea-experts.tex, + doc/ngerman/Makefile, doc/ngerman/typearea.tex, + doc/ngerman/common-14.tex, doc/ngerman/scrlttr2-experts.tex, + doc/ngerman/scrbase.tex, doc/ngerman/common-3.tex, + doc/ngerman/common-7.tex, doc/ngerman/common-4.tex, + doc/ngerman/scrlttr2examples.dtx, doc/ngerman/scraddr.tex, + doc/ngerman/tocbasic.tex, doc/ngerman/expertpart.tex, + doc/ngerman/scrbookreportarticle-experts.tex, + doc/ngerman/preface.tex, doc/ngerman/common-5.tex, + doc/ngerman/scrpage2.tex, doc/ngerman/authorpart.tex: * it's 2010 * + user documentation of pseudo lengths "firstheadhpos" and + "firstheadvpos" added r925 2010-02-05 09:20:36 +0100 mjk: - * scrkpage.dtx: \pagemark changed to allow last element of pagenumber - may expect an argument + * scrkernel-pagestyles.dtx: \pagemark changed to allow last element of + pagenumber may expect an argument r924 2010-02-02 09:18:46 +0100 mjk: - * scrkbase.dtx: improved stability of \FamilyExecuteOptions + * scrkernel-basics.dtx: improved stability of \FamilyExecuteOptions r923 2010-01-29 15:25:24 +0100 mjk: - * scrkbase.dtx: some \edef replaced by \protected@edef to fix e.g. - \ifstr and \FamilyOptions + * scrkernel-basics.dtx: some \edef replaced by \protected@edef to fix + e.g. \ifstr and \FamilyOptions r922 2010-01-26 10:13:44 +0100 mjk: @@ -1740,36 +3383,35 @@ r917 2009-11-28 12:00:45 +0100 mjk: * doc/, doc/ngerman/, doc/ngerman/scrbookreportarticle.tex, doc/ngerman/common-3.tex: - r916 2009-11-28 11:57:23 +0100 mjk: - * doc/, doc/ngerman/, doc/ngerman/scrbookreportarticle.tex, - doc/ngerman/scrlttr2.tex: Ligaturverhinderung im Index wegen neuer - hyperref-Version geändert + * doc/, doc/ngerman/, doc/ngerman/scrlttr2.tex, + doc/ngerman/scrbookreportarticle.tex: Ligaturverhinderung im Index + wegen neuer hyperref-Version geändert r915 2009-11-28 11:53:56 +0100 mjk: - * doc/, doc/english/, doc/english/common-2.tex, - doc/english/common-1.tex, doc/english/common-7.tex, - doc/english/common-13.tex, doc/english/common-4.tex, - doc/english/common-0.tex, doc/english/common-9.tex, - doc/english/common-10.tex, doc/english/common-8.tex, - doc/english/common-15.tex, doc/english/common-11.tex, - doc/english/common-5.tex, doc/english/common-3.tex, - doc/english/common-14.tex, doc/english/common-6.tex, - doc/english/common-12.tex: common.tex splitted + * doc/, doc/english/, doc/english/common-9.tex, + doc/english/common-0.tex, doc/english/common-2.tex, + doc/english/common-10.tex, doc/english/common-15.tex, + doc/english/common-12.tex, doc/english/common-1.tex, + doc/english/common-8.tex, doc/english/common-13.tex, + doc/english/common-11.tex, doc/english/common-14.tex, + doc/english/common-6.tex, doc/english/common-3.tex, + doc/english/common-7.tex, doc/english/common-4.tex, + doc/english/common-5.tex: common.tex splitted r914 2009-11-28 11:53:21 +0100 mjk: - * doc/, doc/ngerman/, doc/ngerman/common-2.tex, - doc/ngerman/common-1.tex, doc/ngerman/common-7.tex, - doc/ngerman/common-13.tex, doc/ngerman/common-4.tex, - doc/ngerman/common-0.tex, doc/ngerman/common-9.tex, - doc/ngerman/common-10.tex, doc/ngerman/common-8.tex, - doc/ngerman/common-15.tex, doc/ngerman/common-11.tex, - doc/ngerman/common-5.tex, doc/ngerman/common-3.tex, - doc/ngerman/common-14.tex, doc/ngerman/common-6.tex, - doc/ngerman/common-12.tex: common.tex splitted + * doc/, doc/ngerman/, doc/ngerman/common-9.tex, + doc/ngerman/common-0.tex, doc/ngerman/common-2.tex, + doc/ngerman/common-10.tex, doc/ngerman/common-15.tex, + doc/ngerman/common-12.tex, doc/ngerman/common-1.tex, + doc/ngerman/common-8.tex, doc/ngerman/common-13.tex, + doc/ngerman/common-11.tex, doc/ngerman/common-14.tex, + doc/ngerman/common-6.tex, doc/ngerman/common-3.tex, + doc/ngerman/common-7.tex, doc/ngerman/common-4.tex, + doc/ngerman/common-5.tex: common.tex splitted r913 2009-11-28 11:35:29 +0100 mjk: @@ -1778,7 +3420,7 @@ r913 2009-11-28 11:35:29 +0100 mjk: r912 2009-11-28 11:16:05 +0100 mjk: - * scrkbase.dtx: spellfix: internally + * scrkernel-basics.dtx: spellfix: internally r911 2009-11-11 16:44:30 +0100 mjk: @@ -1786,11 +3428,12 @@ r911 2009-11-11 16:44:30 +0100 mjk: r910 2009-11-11 11:33:18 +0100 mjk: - * tocstyle.dtx, scrksect.dtx, scrpage.dtx: part is always level -1 + * scrkernel-sections.dtx, scrpage.dtx, tocstyle.dtx: part is always + level -1 r909 2009-11-11 10:35:40 +0100 mjk: - * scrklco.dtx: checksum fixed + * scrkernel-letterclassoptions.dtx: checksum fixed r908 2009-11-11 09:38:32 +0100 mjk: @@ -1798,11 +3441,12 @@ r908 2009-11-11 09:38:32 +0100 mjk: r907 2009-11-09 16:28:43 +0100 mjk: - * scrknpap.dtx, scrklco.dtx: new pseudo lengths supported + * scrkernel-letterclassoptions.dtx, scrkernel-notepaper.dtx: new + pseudo lengths supported r906 2009-11-09 16:04:39 +0100 mjk: - * scrknpap.dtx: New pseudo-lengths "firstheadhpos" and + * scrkernel-notepaper.dtx: New pseudo-lengths "firstheadhpos" and "firstfoothpos". r905 2009-11-09 11:48:51 +0100 mjk: @@ -1826,19 +3470,19 @@ r902 2009-08-05 11:43:27 +0200 mjk: r901 2009-08-05 11:41:44 +0200 mjk: - * scrkbase.dtx: version number at \changes fixed + * scrkernel-basics.dtx: version number at \changes fixed r900 2009-08-05 11:40:51 +0200 mjk: - * scrkfloa.dtx: version number at \changed fixed + * scrkernel-floats.dtx: version number at \changed fixed r899 2009-08-05 11:40:00 +0200 mjk: - * scrkliof.dtx: version number at \changed fixed + * scrkernel-listsof.dtx: version number at \changed fixed r898 2009-07-24 19:54:31 +0200 mjk: - * scrkvers.dtx: prepared for 3.05 BETA + * scrkernel-version.dtx: prepared for 3.05 BETA r897 2009-07-24 19:32:25 +0200 mjk: @@ -1846,11 +3490,12 @@ r897 2009-07-24 19:32:25 +0200 mjk: r896 2009-07-24 17:48:46 +0200 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for 3.04a + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + 3.04a r895 2009-07-24 15:53:30 +0200 mjk: - * scrklco.dtx: generation of KOMAold fixed + * scrkernel-letterclassoptions.dtx: generation of KOMAold fixed r894 2009-07-24 11:59:07 +0200 mjk: @@ -1869,13 +3514,12 @@ r892 2009-07-15 11:22:44 +0200 mjk: r891 2009-07-15 11:21:06 +0200 mjk: * doc/, doc/scrguide.cls, doc/Makefile.guide, doc/english/, - doc/ngerman/, doc/ngerman/Makefile.guide: common.tex splitted into - single common-<nr>.tex files + doc/ngerman/: common.tex splitted into single common-<nr>.tex files r890 2009-07-14 10:01:30 +0200 mjk: - * scrktitl.dtx: Option titlepage may be changed after loading using - \KOMAoptions. + * scrkernel-title.dtx: Option titlepage may be changed after loading + using \KOMAoptions. r889 2009-07-10 15:41:10 +0200 mjk: @@ -1888,11 +3532,12 @@ r888 2009-07-08 10:30:58 +0200 mjk: r887 2009-07-08 10:25:15 +0200 mjk: - * scrkfloa.dtx: \captionof added + * scrkernel-floats.dtx: \captionof added r886 2009-07-08 09:16:19 +0200 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for 3.05 BETA + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + 3.05 BETA r885 2009-07-07 18:23:22 +0200 mjk: @@ -1912,8 +3557,9 @@ r882 2009-07-07 11:49:12 +0200 mjk: r881 2009-07-07 11:48:32 +0200 mjk: - * scrmain.ins, scrkvers.dtx, scrkcomp.dtx, scrbeta.dtx: some files may - be beta but nevertheless may be distributed since KOMA-Script 3.04 + * scrkernel-version.dtx, scrkernel-compatibility.dtx, scrbeta.dtx, + scrmain.ins: some files may be beta but nevertheless may be + distributed since KOMA-Script 3.04 r880 2009-07-07 11:00:10 +0200 mjk: @@ -1927,51 +3573,55 @@ r879 2009-07-07 10:15:05 +0200 mjk: r878 2009-07-07 10:14:10 +0200 mjk: - * scrkcomp.dtx: version number of 3.03, 3.03a, and 3.03b fixed + * scrkernel-compatibility.dtx: version number of 3.03, 3.03a, and + 3.03b fixed r876 2009-06-30 16:08:16 +0200 mjk: - * doc/, doc/ngerman/, doc/ngerman/scrlttr2-experts.tex, - doc/ngerman/scrlttr2.tex: deutsche Dokumentation von UScommercial9.lco - UScommercial9DW.lco und visualize.lco + * doc/, doc/ngerman/, doc/ngerman/scrlttr2.tex, + doc/ngerman/scrlttr2-experts.tex: deutsche Dokumentation von + UScommercial9.lco UScommercial9DW.lco und visualize.lco r875 2009-06-30 13:06:19 +0200 mjk: - * scrklco.dtx: CheckSum fixed + * scrkernel-letterclassoptions.dtx: CheckSum fixed r874 2009-06-30 12:31:53 +0200 mjk: - * scrklco.dtx: \showfieldcolor replaced by font element field + * scrkernel-letterclassoptions.dtx: \showfieldcolor replaced by font + element field r873 2009-06-30 12:24:02 +0200 mjk: - * scrmain.ins, Makefile, scrklco.dtx, scrbeta.dtx: Do not longer - create USletter2w.lco; renamed USletterC9DW.lco into - UScommercial9DW.lco; new LCO UScommercial9.lco. + * scrkernel-letterclassoptions.dtx, scrbeta.dtx, Makefile, + scrmain.ins: Do not longer create USletter2w.lco; renamed + USletterC9DW.lco into UScommercial9DW.lco; new LCO + UScommercial9.lco. r872 2009-06-30 08:33:44 +0200 mjk: - * scrknpap.dtx: spelling of ``addressee'' fixed + * scrkernel-notepaper.dtx: spelling of ``addressee'' fixed r871 2009-06-29 18:59:41 +0200 mjk: - * scrmain.ins, scrklco.dtx, scrbeta.dtx: new LCO USletterC9DW + * scrkernel-letterclassoptions.dtx, scrbeta.dtx, scrmain.ins: new LCO + USletterC9DW r870 2009-06-26 14:01:27 +0200 mjk: - * scrmain.ins, Makefile, scrklco.dtx, scrbeta.dtx: new lco files - visualize.lco and USletter2w.lco startet + * scrkernel-letterclassoptions.dtx, scrbeta.dtx, Makefile, + scrmain.ins: new lco files visualize.lco and USletter2w.lco startet r869 2009-06-25 11:09:46 +0200 mjk: - * scrknpap.dtx, scrklco.dtx: implementation of sender and addressee - field fits documentation (sender does not longer increase height of - addresse) + * scrkernel-letterclassoptions.dtx, scrkernel-notepaper.dtx: + implementation of sender and addressee field fits documentation + (sender does not longer increase height of addresse) r868 2009-06-25 10:21:40 +0200 mjk: - * scrknpap.dtx: vertical alignment of addressee and usage of - \@savevbox fixed + * scrkernel-notepaper.dtx: vertical alignment of addressee and usage + of \@savevbox fixed r867 2009-06-12 12:20:48 +0200 mjk: @@ -1984,8 +3634,8 @@ r866 2009-06-12 11:13:49 +0200 mjk: r865 2009-06-09 11:46:44 +0200 mjk: - * scrksect.dtx: workaround for undocumented problem of hyperref with - \relax at \the<Counter> + * scrkernel-sections.dtx: workaround for undocumented problem of + hyperref with \relax at \the<Counter> r864 2009-06-08 09:24:37 +0200 mjk: @@ -1993,8 +3643,8 @@ r864 2009-06-08 09:24:37 +0200 mjk: r863 2009-05-11 12:09:06 +0200 mjk: - * scrklist.dtx: scrextend has font elements labelinglabel and - labelingseparator + * scrkernel-listsandtabulars.dtx: scrextend has font elements + labelinglabel and labelingseparator r862 2009-04-21 10:48:00 +0200 mjk: @@ -2002,9 +3652,9 @@ r862 2009-04-21 10:48:00 +0200 mjk: r861 2009-04-21 10:45:52 +0200 mjk: - * scrmain.ins, scrklco.dtx, scrbeta.dtx, doc/, doc/guide.bib, - doc/english/, doc/english/scrlttr2.tex, doc/ngerman/, - doc/ngerman/scrlttr2-experts.tex, doc/ngerman/scrlttr2.tex: new Letter + * scrkernel-letterclassoptions.dtx, scrbeta.dtx, scrmain.ins, doc/, + doc/guide.bib, doc/english/, doc/english/scrlttr2.tex, doc/ngerman/, + doc/ngerman/scrlttr2.tex, doc/ngerman/scrlttr2-experts.tex: new Letter Class Option NF.lco r860 2009-04-21 09:06:07 +0200 mjk: @@ -2013,12 +3663,12 @@ r860 2009-04-21 09:06:07 +0200 mjk: r859 2009-04-21 08:56:43 +0200 mjk: - * scrksect.dtx: One »~« replaced by »\nobreakspace« to improve - compatibility with Spanish (babel). + * scrkernel-sections.dtx: One »~« replaced by »\nobreakspace« to + improve compatibility with Spanish (babel). r858 2009-04-21 08:55:07 +0200 mjk: - * scrksect.dtx: one »~« replaced by »\nobreakspace« + * scrkernel-sections.dtx: one »~« replaced by »\nobreakspace« r857 2009-04-12 19:55:30 +0200 mjk: @@ -2026,7 +3676,8 @@ r857 2009-04-12 19:55:30 +0200 mjk: r856 2009-04-12 19:55:05 +0200 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for 3.03b BETA + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + 3.03b BETA r855 2009-04-06 09:07:57 +0200 mjk: @@ -2042,27 +3693,26 @@ r853 2009-04-03 16:17:23 +0200 mjk: r852 2009-04-03 09:40:47 +0200 mjk: - * scrkvers.dtx: prepared for 3.03a + * scrkernel-version.dtx: prepared for 3.03a r851 2009-04-02 11:31:08 +0200 mjk: - * scrklist.dtx: Bug at calculation of width of labeling label fixed + * scrkernel-listsandtabulars.dtx: Bug at calculation of width of + labeling label fixed r850 2009-04-02 11:30:28 +0200 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for 3.03a BETA + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + 3.03a BETA r849 2009-03-30 10:29:16 +0200 mjk: - * releaselist.txt: release 2009/04/01 v3.03 + * releaselist.txt: release 2009/04/01 v3.03 r848 2009-03-30 09:49:35 +0200 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for 3.03 - -r847 2009-03-25 10:48:11 +0100 mjk: - - * scrlfile.ins: german comment changed + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + 3.03 r846 2009-03-25 10:47:43 +0100 mjk: @@ -2070,7 +3720,7 @@ r846 2009-03-25 10:47:43 +0100 mjk: r845 2009-03-25 10:46:36 +0100 mjk: - * scrlfile.ins, scrlfile.dtx: new command \AfterReadingMainAux + * scrlfile.dtx: new command \AfterReadingMainAux r844 2009-03-24 10:22:26 +0100 mjk: @@ -2078,43 +3728,45 @@ r844 2009-03-24 10:22:26 +0100 mjk: r843 2009-03-19 11:01:11 +0100 mjk: - * scrkfont.dtx, komabug.tex, scrktare.dtx, scrstrop.inc, - scrstrip.inc, scrkbase.dtx, scrklang.dtx, scrktitl.dtx, scrhack.dtx, - scrlettr.ins, scrkbib.dtx, scrpage.ins, scrkplen.dtx, scrlogo.dtx, - scrkliof.dtx, lppl-de.txt, scrklist.dtx, Makefile.baseinit, - scrextend.dtx, scrkfloa.dtx, scrtime.ins, tocbasic.dtx, - Makefile.baserules, scrkcile.dtx, scraddr.ins, scrlfile.ins, - scrmain.ins, scrkvars.dtx, scrkmisc.dtx, scrdoc.dtx, Makefile, - scrkpar.dtx, scrsource.tex, tocstyle.dtx, scrtime.dtx, scrkpage.dtx, - scrkvers.dtx, scrkcomp.dtx, scrknpap.dtx, scrksect.dtx, scraddr.dtx, - scrjura.dtx, scrkftn.dtx, scrkidx.dtx, scrlfile.dtx, scrlettr.dtx, - manifest.txt, scrklco.dtx, scrkxflo.dtx, japanlco.dtx, scrbeta.dtx, - lppl.txt, scrpage.dtx, doc/, doc/scrguide.gst, doc/scrguide.cls, - doc/Makefile.latexinit, doc/Makefile.guide, doc/Makefile, - doc/koma-script.html, doc/guide.tex, doc/plength.dtx, - doc/scrguide.ist, doc/english/, doc/english/scrbookreportarticle.tex, - doc/english/common.tex, doc/english/scrlfile.tex, - doc/english/scrdatetime.tex, doc/english/scrpage2.tex, - doc/english/introduction.tex, doc/english/htmlsetup, - doc/english/Makefile, doc/english/guide-english.tex, - doc/english/scrlttr2.tex, doc/english/adrconvnote.tex, - doc/english/typearea.tex, doc/english/scraddr.tex, - doc/english/japanlco.tex, doc/bin/, doc/bin/genhtmlidx.pl, - doc/bin/genindex.pl, doc/ngerman/, - doc/ngerman/scrbookreportarticle.tex, doc/ngerman/preface.tex, - doc/ngerman/scrbase.tex, doc/ngerman/expertpart.tex, - doc/ngerman/scrextend.tex, doc/ngerman/tocbasic.tex, - doc/ngerman/linkalias.tex, doc/ngerman/common.tex, - doc/ngerman/scrlfile.tex, doc/ngerman/authorpart.tex, - doc/ngerman/Makefile.guide, doc/ngerman/scrdatetime.tex, - doc/ngerman/scrpage2.tex, doc/ngerman/typearea-experts.tex, - doc/ngerman/introduction.tex, doc/ngerman/htmlsetup, - doc/ngerman/Makefile, doc/ngerman/scrlttr2-experts.tex, - doc/ngerman/scrlttr2examples.dtx, doc/ngerman/scrlttr2.tex, - doc/ngerman/adrconvnote.tex, doc/ngerman/typearea.tex, - doc/ngerman/guide.tex, doc/ngerman/scrbookreportarticle-experts.tex, - doc/ngerman/scraddr.tex, doc/ngerman/guide-ngerman.tex: switched from - LPPL 1.3b to LPPL 1.3c + * scrkernel-sections.dtx, scrpage.dtx, scrsource.tex, + scrkernel-index.dtx, scrtime.dtx, scrhack.dtx, scrdoc.dtx, + scrkernel-bibliography.dtx, tocstyle.dtx, scrkernel-version.dtx, + scrjura.dtx, scrextend.dtx, scrlogo.dtx, scrstrip.inc, + scrkernel-compatibility.dtx, scraddr.dtx, + scrkernel-pseudolengths.dtx, lppl.txt, scrkernel-pagestyles.dtx, + scrkernel-letterclassoptions.dtx, scrkernel-circularletters.dtx, + scrkernel-fonts.dtx, scrbeta.dtx, scrkernel-listsandtabulars.dtx, + Makefile.baseinit, scrkernel-footnotes.dtx, Makefile, scrmain.ins, + Makefile.baserules, scrkernel-listsof.dtx, scrlfile.dtx, komabug.tex, + scrkernel-paragraphs.dtx, scrkxflo.dtx, scrkernel-language.dtx, + scrkernel-notepaper.dtx, scrkernel-miscellaneous.dtx, + scrkernel-variables.dtx, manifest.txt, scrstrop.inc, + scrkernel-floats.dtx, scrkernel-typearea.dtx, lppl-de.txt, + scrkernel-basics.dtx, japanlco.dtx, scrkernel-title.dtx, + tocbasic.dtx, obsolete/scrlettr.dtx, obsolete/scrlettr.ins, doc/, + doc/plength.dtx, doc/Makefile.latexinit, doc/guide.tex, doc/Makefile, + doc/scrguide.cls, doc/Makefile.guide, doc/linkalias.tex, + doc/scrguide.ist, doc/koma-script.html, doc/scrguide.gst, + doc/english/, doc/english/scrlfile.tex, doc/english/scrlttr2.tex, + doc/english/htmlsetup, doc/english/scrbookreportarticle.tex, + doc/english/adrconvnote.tex, doc/english/scrdatetime.tex, + doc/english/introduction.tex, doc/english/Makefile, + doc/english/typearea.tex, doc/english/japanlco.tex, + doc/english/scraddr.tex, doc/english/guide-english.tex, + doc/english/scrpage2.tex, doc/ngerman/, doc/ngerman/scrlfile.tex, + doc/ngerman/scrlttr2.tex, doc/ngerman/htmlsetup, + doc/ngerman/scrextend.tex, doc/ngerman/scrbookreportarticle.tex, + doc/ngerman/adrconvnote.tex, doc/ngerman/scrdatetime.tex, + doc/ngerman/introduction.tex, doc/ngerman/guide-ngerman.tex, + doc/ngerman/typearea-experts.tex, doc/ngerman/Makefile, + doc/ngerman/typearea.tex, doc/ngerman/scrlttr2-experts.tex, + doc/ngerman/scrbase.tex, doc/ngerman/scrlttr2examples.dtx, + doc/ngerman/scraddr.tex, doc/ngerman/tocbasic.tex, + doc/ngerman/expertpart.tex, + doc/ngerman/scrbookreportarticle-experts.tex, + doc/ngerman/preface.tex, doc/ngerman/scrpage2.tex, + doc/ngerman/authorpart.tex, doc/bin/, doc/bin/genhtmlidx.pl, + doc/bin/genindex.pl: switched from LPPL 1.3b to LPPL 1.3c r842 2009-03-18 11:32:48 +0100 mjk: @@ -2134,8 +3786,8 @@ r839 2009-03-17 10:21:01 +0100 mjk: r838 2009-03-16 17:54:36 +0100 mjk: - * tocbasic.dtx, scrmain.ins, Makefile, scrsource.tex, manifest.txt, - scrbeta.dtx: new packages + * scrsource.tex, scrbeta.dtx, Makefile, scrmain.ins, manifest.txt, + tocbasic.dtx: new packages r837 2009-03-16 17:51:50 +0100 mjk: @@ -2166,71 +3818,73 @@ r832 2009-03-12 08:55:06 +0100 mjk: r831 2009-03-04 19:19:04 +0100 mjk: - * doc/, doc/ngerman/, doc/ngerman/scrlttr2-experts.tex, - doc/ngerman/scrlttr2.tex: Erlärung der neuen Möglichkeiten von - scrlttr2 3.03 bis 2009/03/04 + * doc/, doc/ngerman/, doc/ngerman/scrlttr2.tex, + doc/ngerman/scrlttr2-experts.tex: Erlärung der neuen Möglichkeiten + von scrlttr2 3.03 bis 2009/03/04 r830 2009-03-04 19:17:55 +0100 mjk: - * scrklco.dtx, japanlco.dtx: set term for "fromzipcode" + * scrkernel-letterclassoptions.dtx, japanlco.dtx: set term for + "fromzipcode" r829 2009-03-04 18:41:27 +0100 mjk: - * scrknpap.dtx: "ECONOMAY" --> "ECONOMY" + * scrkernel-notepaper.dtx: "ECONOMAY" --> "ECONOMY" r828 2009-03-04 11:43:37 +0100 mjk: - * scrkvars.dtx: new command \ifkomavar and reimplementation of - \ifkomavarempty + * scrkernel-variables.dtx: new command \ifkomavar and reimplementation + of \ifkomavarempty r827 2009-03-04 11:25:28 +0100 mjk: - * scrknpap.dtx: new addresse modes "PP", "backgroundimage", "image" - with several new font elements and pseudo-lengths + * scrkernel-notepaper.dtx: new addresse modes "PP", "backgroundimage", + "image" with several new font elements and pseudo-lengths r826 2009-03-02 17:24:10 +0100 mjk: - * doc/, doc/ngerman/, doc/ngerman/linkalias.tex: Option "version" wird + * doc/, doc/linkalias.tex, doc/ngerman/: Option "version" wird neuerdings bereits im Kapitel über typearea eingeführt, also müssen die Links in den freien Versionen darauf zeigen. r825 2009-02-27 09:45:52 +0100 mjk: - * doc/, doc/ngerman/, doc/ngerman/common.tex: "Abstandsart" --> - "Methode" vereinheitlicht + * doc/, doc/ngerman/: "Abstandsart" --> "Methode" vereinheitlicht r824 2009-02-19 10:03:05 +0100 mjk: - * scrkbase.dtx: Error if not e-TeX, at least version 2, is used + * scrkernel-basics.dtx: Error if not e-TeX, at least version 2, is + used r823 2009-02-17 11:15:39 +0100 mjk: - * scrklang.dtx: made the already-defined test more robust + * scrkernel-language.dtx: made the already-defined test more robust r822 2009-02-17 10:13:46 +0100 mjk: - * scrkmisc.dtx: Information to `final' fixed at scrextend + * scrkernel-miscellaneous.dtx: Information to `final' fixed at + scrextend r821 2009-02-14 11:03:08 +0100 mjk: - * scrkcomp.dtx: 3.02c ist not the same like 3.02b + * scrkernel-compatibility.dtx: 3.02c ist not the same like 3.02b r820 2009-02-14 10:47:50 +0100 mjk: - * scrktare.dtx: some implementation docu added + * scrkernel-typearea.dtx: some implementation docu added r819 2009-02-14 10:22:53 +0100 mjk: - * scrktare.dtx: PostScript code added to change page size at the - document + * scrkernel-typearea.dtx: PostScript code added to change page size at + the document r818 2009-02-13 18:45:23 +0100 mjk: - * scrktare.dtx: paper=seascape implemented + * scrkernel-typearea.dtx: paper=seascape implemented r817 2009-02-11 12:35:36 +0100 mjk: - * scrknpap.dtx: one comment changed + * scrkernel-notepaper.dtx: one comment changed r816 2009-02-04 15:19:47 +0100 mjk: @@ -2243,8 +3897,8 @@ r815 2009-02-04 13:02:45 +0100 mjk: r814 2009-02-04 12:31:06 +0100 mjk: - * scrkbase.dtx: \KOMA@ifkey and \KOMA@ncmdkey does also define the - family member + * scrkernel-basics.dtx: \KOMA@ifkey and \KOMA@ncmdkey does also define + the family member r813 2009-01-30 17:08:24 +0100 mjk: @@ -2256,8 +3910,9 @@ r812 2009-01-30 17:07:40 +0100 mjk: r811 2009-01-28 08:41:40 +0100 mjk: - * scrklist.dtx, scrkvers.dtx, scrkcomp.dtx: bug at new labeling - feature from version 3.02 fixed (reported by Werner Lemberg) + * scrkernel-version.dtx, scrkernel-compatibility.dtx, + scrkernel-listsandtabulars.dtx: bug at new labeling feature from + version 3.02 fixed (reported by Werner Lemberg) r810 2009-01-26 10:39:25 +0100 mjk: @@ -2270,25 +3925,26 @@ r809 2009-01-24 11:51:36 +0100 mjk: r808 2009-01-24 11:49:14 +0100 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for 3.02b + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + 3.02b r807 2009-01-24 11:34:08 +0100 mjk: - * scrkfloa.dtx: One more fix of vertical alignment of one line + * scrkernel-floats.dtx: One more fix of vertical alignment of one line captions r806 2009-01-23 15:44:17 +0100 mjk: - * scrkbase.dtx: version number fixed + * scrkernel-basics.dtx: version number fixed r805 2009-01-23 15:39:38 +0100 mjk: - * scrkbase.dtx: problem using amsmath fixed + * scrkernel-basics.dtx: problem using amsmath fixed r804 2009-01-20 18:46:00 +0100 mjk: - * doc/, doc/ngerman/, doc/ngerman/common.tex: {} hinter \nopagebreak - eingefügt (Danke an Torsten Krüger) + * doc/, doc/ngerman/: {} hinter \nopagebreak eingefügt (Danke an + Torsten Krüger) r803 2009-01-20 12:12:55 +0100 mjk: @@ -2305,9 +3961,8 @@ r801 2009-01-06 18:32:15 +0100 mjk: r800 2009-01-06 18:25:58 +0100 mjk: - * doc/, doc/english/, doc/english/common.tex, - doc/english/typearea.tex, doc/ngerman/, doc/ngerman/typearea.tex: Many - changes by GH + * doc/, doc/english/, doc/english/typearea.tex, doc/ngerman/, + doc/ngerman/typearea.tex: Many changes by GH r799 2009-01-02 16:00:25 +0100 mjk: @@ -2319,73 +3974,78 @@ r798 2009-01-02 10:03:38 +0100 mjk: r797 2009-01-02 10:02:45 +0100 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for 3.02 + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + 3.02 r796 2009-01-02 09:41:42 +0100 mjk: - * scrkfont.dtx, komabug.tex, scrktare.dtx, scrstrop.inc, - scrstrip.inc, scrkbase.dtx, scrktitl.dtx, scrlettr.ins, scrkbib.dtx, - scrpage.ins, scrkplen.dtx, scrlogo.dtx, scrkliof.dtx, - Makefile.baseinit, scrextend.dtx, scrkfloa.dtx, scrtime.ins, - tocbasic.dtx, Makefile.baserules, scrkcile.dtx, scraddr.ins, - scrlfile.ins, scrmain.ins, scrkvars.dtx, scrkmisc.dtx, scrdoc.dtx, - Makefile, scrkpar.dtx, scrsource.tex, tocstyle.dtx, scrkpage.dtx, - scrkvers.dtx, scrkcomp.dtx, scrknpap.dtx, scraddr.dtx, scrjura.dtx, - scrkftn.dtx, scrkidx.dtx, scrlfile.dtx, scrlettr.dtx, manifest.txt, - scrklco.dtx, scrkxflo.dtx, japanlco.dtx, scrbeta.dtx, scrpage.dtx, - doc/, doc/scrguide.gst, doc/scrguide.cls, doc/Makefile.latexinit, - doc/Makefile.guide, doc/Makefile, doc/guide.tex, doc/plength.dtx, - doc/scrguide.ist, doc/english/, doc/english/scrlfile.tex, - doc/english/scrdatetime.tex, doc/english/scrpage2.tex, - doc/english/introduction.tex, doc/english/htmlsetup, - doc/english/Makefile, doc/english/guide-english.tex, - doc/english/scrlttr2.tex, doc/english/adrconvnote.tex, - doc/english/typearea.tex, doc/english/scraddr.tex, - doc/english/japanlco.tex, doc/german/, - doc/german/scrbookreportarticle.tex, doc/german/scrlfile.tex, - doc/german/scrdatetime.tex, doc/german/scrpage2.tex, - doc/german/introduction.tex, doc/german/htmlsetup, - doc/german/Makefile, doc/german/scrlttr2.tex, - doc/german/adrconvnote.tex, doc/german/typearea.tex, - doc/german/scraddr.tex, doc/german/guide-ngerman.tex, doc/ngerman/, - doc/ngerman/preface.tex, doc/ngerman/scrbase.tex, - doc/ngerman/expertpart.tex, doc/ngerman/scrextend.tex, - doc/ngerman/tocbasic.tex, doc/ngerman/linkalias.tex, - doc/ngerman/scrlfile.tex, doc/ngerman/authorpart.tex, - doc/ngerman/Makefile.guide, doc/ngerman/scrdatetime.tex, - doc/ngerman/scrpage2.tex, doc/ngerman/typearea-experts.tex, - doc/ngerman/introduction.tex, doc/ngerman/htmlsetup, - doc/ngerman/Makefile, doc/ngerman/scrlttr2-experts.tex, - doc/ngerman/scrlttr2examples.dtx, doc/ngerman/scrlttr2.tex, - doc/ngerman/adrconvnote.tex, doc/ngerman/typearea.tex, - doc/ngerman/guide.tex, doc/ngerman/scraddr.tex, - doc/ngerman/guide-ngerman.tex: prepared for 2009 + * scrpage.dtx, scrsource.tex, scrkernel-index.dtx, scrdoc.dtx, + scrkernel-bibliography.dtx, tocstyle.dtx, scrkernel-version.dtx, + scrjura.dtx, scrextend.dtx, scrlogo.dtx, scrstrip.inc, + scrkernel-compatibility.dtx, scraddr.dtx, + scrkernel-pseudolengths.dtx, scrkernel-pagestyles.dtx, + scrkernel-letterclassoptions.dtx, scrkernel-circularletters.dtx, + scrkernel-fonts.dtx, scrbeta.dtx, Makefile.baseinit, + scrkernel-footnotes.dtx, Makefile, scrmain.ins, Makefile.baserules, + scrkernel-listsof.dtx, scrlfile.dtx, komabug.tex, + scrkernel-paragraphs.dtx, scrkxflo.dtx, scrkernel-notepaper.dtx, + scrkernel-miscellaneous.dtx, scrkernel-variables.dtx, manifest.txt, + scrstrop.inc, scrkernel-floats.dtx, scrkernel-typearea.dtx, + scrkernel-basics.dtx, japanlco.dtx, scrkernel-title.dtx, + tocbasic.dtx, obsolete/scrlettr.dtx, obsolete/scrlettr.ins, doc/, + doc/plength.dtx, doc/Makefile.latexinit, doc/guide.tex, doc/Makefile, + doc/scrguide.cls, doc/Makefile.guide, doc/linkalias.tex, + doc/scrguide.ist, doc/scrguide.gst, doc/english/, + doc/english/scrlfile.tex, doc/english/scrlttr2.tex, + doc/english/htmlsetup, doc/english/adrconvnote.tex, + doc/english/scrdatetime.tex, doc/english/introduction.tex, + doc/english/Makefile, doc/english/typearea.tex, + doc/english/japanlco.tex, doc/english/scraddr.tex, + doc/english/guide-english.tex, doc/english/scrpage2.tex, + doc/ngerman/, doc/ngerman/scrlfile.tex, doc/ngerman/scrlttr2.tex, + doc/ngerman/htmlsetup, doc/ngerman/scrextend.tex, + doc/ngerman/adrconvnote.tex, doc/ngerman/scrdatetime.tex, + doc/ngerman/introduction.tex, doc/ngerman/guide-ngerman.tex, + doc/ngerman/typearea-experts.tex, doc/ngerman/Makefile, + doc/ngerman/typearea.tex, doc/ngerman/scrlttr2-experts.tex, + doc/ngerman/scrbase.tex, doc/ngerman/scrlttr2examples.dtx, + doc/ngerman/scraddr.tex, doc/ngerman/tocbasic.tex, + doc/ngerman/expertpart.tex, doc/ngerman/preface.tex, + doc/ngerman/scrpage2.tex, doc/ngerman/authorpart.tex, doc/german/, + doc/german/scrlfile.tex, doc/german/scrlttr2.tex, + doc/german/htmlsetup, doc/german/scrbookreportarticle.tex, + doc/german/adrconvnote.tex, doc/german/scrdatetime.tex, + doc/german/introduction.tex, doc/german/guide-ngerman.tex, + doc/german/Makefile, doc/german/typearea.tex, doc/german/scraddr.tex, + doc/german/scrpage2.tex: prepared for 2009 r795 2009-01-02 08:59:35 +0100 mjk: - * doc/, doc/english/, doc/english/scrbookreportarticle.tex, - doc/english/scrdatetime.tex, doc/english/scrlttr2.tex, doc/ngerman/, - doc/ngerman/scrbookreportarticle.tex, doc/ngerman/common.tex, + * doc/, doc/english/, doc/english/scrlttr2.tex, + doc/english/scrbookreportarticle.tex, doc/english/scrdatetime.tex, + doc/ngerman/, doc/ngerman/scrbookreportarticle.tex, doc/ngerman/scrdatetime.tex, doc/ngerman/scrlttr2-experts.tex, doc/ngerman/scrbookreportarticle-experts.tex: documentation of the new features of rev. 792-794 r794 2009-01-02 08:57:34 +0100 mjk: - * scrklist.dtx: new font elements "labelinglabel" and - "labelingseparator" + * scrkernel-listsandtabulars.dtx: new font elements "labelinglabel" + and "labelingseparator" r793 2009-01-02 08:56:28 +0100 mjk: - * scrklang.dtx, scrtime.dtx: new language norsk (by Sveinung Heggen) + * scrtime.dtx, scrkernel-language.dtx: new language norsk (by Sveinung + Heggen) r792 2009-01-02 08:54:37 +0100 mjk: - * scrksect.dtx: new macro \partheademptypage + * scrkernel-sections.dtx: new macro \partheademptypage r791 2008-12-09 12:33:28 +0100 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for 3.01c BETA + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + 3.01c BETA r790 2008-12-09 11:11:14 +0100 mjk: @@ -2393,17 +4053,17 @@ r790 2008-12-09 11:11:14 +0100 mjk: r789 2008-12-09 11:09:51 +0100 mjk: - * scrkvers.dtx: prepared for 3.01b + * scrkernel-version.dtx: prepared for 3.01b r788 2008-12-09 11:07:02 +0100 mjk: - * scrktitl.dtx, scrextend.dtx: scrextend does work without enabled - extended title feature + * scrextend.dtx, scrkernel-title.dtx: scrextend does work without + enabled extended title feature r787 2008-12-09 11:06:16 +0100 mjk: - * scrktare.dtx, scrmain.ins, scrkcomp.dtx, doc/, doc/ngerman/, - doc/ngerman/common.tex, doc/ngerman/typearea.tex: option version at + * scrkernel-compatibility.dtx, scrmain.ins, scrkernel-typearea.dtx, + doc/, doc/ngerman/, doc/ngerman/typearea.tex: option version at typearea avaible to improve option "paper"; warning messages improved; option "paper" improved @@ -2428,8 +4088,7 @@ r783 2008-12-08 11:34:24 +0100 mjk: r782 2008-12-08 11:18:24 +0100 mjk: - * doc/, doc/ngerman/, doc/ngerman/common.tex: \ChangedAt-Einträge - korrigiert + * doc/, doc/ngerman/: \ChangedAt-Einträge korrigiert r781 2008-12-07 13:54:17 +0100 mjk: @@ -2442,7 +4101,7 @@ r780 2008-12-07 13:53:42 +0100 mjk: r779 2008-12-07 13:51:55 +0100 mjk: - * scrklang.dtx: missing \let #2\undefined\relax added at + * scrkernel-language.dtx: missing \let #2\undefined\relax added at \(new|renew|provide)captionname r778 2008-11-28 08:09:13 +0100 mjk: @@ -2456,7 +4115,8 @@ r777 2008-11-25 14:50:13 +0100 mjk: r776 2008-11-24 09:20:03 +0100 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for 3.01b BETA + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + 3.01b BETA r775 2008-11-23 15:50:26 +0100 mjk: @@ -2464,24 +4124,27 @@ r775 2008-11-23 15:50:26 +0100 mjk: r774 2008-11-23 15:08:06 +0100 mjk: - * scrkvers.dtx: prepared for 3.01a + * scrkernel-version.dtx: prepared for 3.01a r770 2008-11-22 08:06:54 +0100 mjk: - * scrkftn.dtx: fix: \@footenotetext must be long! + * scrkernel-footnotes.dtx: fix: \@footenotetext must be long! r769 2008-11-21 09:24:20 +0100 mjk: - * doc/, doc/ngerman/, doc/ngerman/common.tex: geänderte - Voreinstellung für »version« dokumentiert + * doc/, doc/ngerman/: geänderte Voreinstellung für »version« + dokumentiert r768 2008-11-21 09:03:06 +0100 mjk: - * scrktare.dtx, scrkbase.dtx, scrklang.dtx, scrktitl.dtx, - scrkbib.dtx, scrkliof.dtx, scrkfloa.dtx, scrkmisc.dtx, scrkpar.dtx, - scrkpage.dtx, scrkcomp.dtx, scrknpap.dtx, scrksect.dtx, scrkidx.dtx, - doc/, doc/scrguide.cls: - improved messages at usage of standard - options or usage of deprecated + * scrkernel-sections.dtx, scrkernel-index.dtx, + scrkernel-bibliography.dtx, scrkernel-compatibility.dtx, + scrkernel-pagestyles.dtx, scrkernel-listsof.dtx, + scrkernel-paragraphs.dtx, scrkernel-language.dtx, + scrkernel-notepaper.dtx, scrkernel-miscellaneous.dtx, + scrkernel-floats.dtx, scrkernel-typearea.dtx, scrkernel-basics.dtx, + scrkernel-title.dtx, doc/, doc/scrguide.cls: - improved messages at + usage of standard options or usage of deprecated KOMA-Script-specific options - some options became deprecated instead of simply obsolete - pre-setting of version is last - usage of any @@ -2489,7 +4152,8 @@ r768 2008-11-21 09:03:06 +0100 mjk: r767 2008-11-20 11:56:43 +0100 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for 3.01a BETA + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + 3.01a BETA r766 2008-11-19 15:20:19 +0100 mjk: @@ -2502,13 +4166,14 @@ r765 2008-11-14 10:04:59 +0100 mjk: r764 2008-11-14 09:04:09 +0100 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for 3.01 + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + 3.01 r763 2008-11-13 12:51:55 +0100 mjk: - * scrkliof.dtx, tocbasic.dtx, scrmain.ins, scrksect.dtx, doc/, - doc/ngerman/, doc/ngerman/tocbasic.tex: fixes and extensions at - tocbasic + * scrkernel-sections.dtx, scrmain.ins, scrkernel-listsof.dtx, + tocbasic.dtx, doc/, doc/ngerman/, doc/ngerman/tocbasic.tex: fixes and + extensions at tocbasic r762 2008-11-13 12:51:19 +0100 mjk: @@ -2516,8 +4181,8 @@ r762 2008-11-13 12:51:19 +0100 mjk: r761 2008-11-13 12:49:56 +0100 mjk: - * scrkpar.dtx: missing usage of \@listi at scrsizeXXpt.clo added - (reported by Alexander Niske) + * scrkernel-paragraphs.dtx: missing usage of \@listi at + scrsizeXXpt.clo added (reported by Alexander Niske) r760 2008-11-13 09:48:02 +0100 mjk: @@ -2526,8 +4191,8 @@ r760 2008-11-13 09:48:02 +0100 mjk: r759 2008-11-12 16:21:03 +0100 mjk: - * doc/, doc/ngerman/, doc/ngerman/scrbookreportarticle.tex, - doc/ngerman/common.tex: von Thomas Jerge gemeldete Fehler beseitigt + * doc/, doc/ngerman/, doc/ngerman/scrbookreportarticle.tex: von Thomas + Jerge gemeldete Fehler beseitigt r758 2008-11-12 16:18:27 +0100 mjk: @@ -2540,17 +4205,17 @@ r757 2008-11-11 14:48:50 +0100 mjk: r756 2008-11-03 17:37:07 +0100 mjk: - * scrknpap.dtx, doc/, doc/plength.dtx, doc/ngerman/, + * scrkernel-notepaper.dtx, doc/, doc/plength.dtx, doc/ngerman/, doc/ngerman/scrlttr2-experts.tex: new pseudo-lengths: subjectvpos, subjectbeforevskip, subjectaftervskip r755 2008-11-03 15:48:41 +0100 mjk: - * scrknpap.dtx: nix geändert + * scrkernel-notepaper.dtx: nix geändert r754 2008-11-03 15:06:03 +0100 mjk: - * scrkvers.dtx: Ready for 3.01 BETA + * scrkernel-version.dtx: Ready for 3.01 BETA r753 2008-11-03 11:10:19 +0100 mjk: @@ -2570,13 +4235,12 @@ r748 2008-11-03 07:52:55 +0100 mjk: r747 2008-11-03 07:51:55 +0100 mjk: - * scrkvers.dtx: prepared for 3.00 + * scrkernel-version.dtx: prepared for 3.00 r746 2008-10-31 09:02:21 +0100 mjk: - * doc/, doc/ngerman/, doc/ngerman/preface.tex, - doc/ngerman/common.tex, doc/ngerman/typearea.tex: Ligaturen in den - Bookmarks drin lassen + * doc/, doc/ngerman/, doc/ngerman/typearea.tex, + doc/ngerman/preface.tex: Ligaturen in den Bookmarks drin lassen r745 2008-10-20 10:29:35 +0200 mjk: @@ -2588,7 +4252,8 @@ r744 2008-10-20 09:50:04 +0200 mjk: r743 2008-10-16 09:59:20 +0200 mjk: - * scrkbib.dtx, scrkliof.dtx, scrkidx.dtx, doc/, doc/ngerman/, + * scrkernel-index.dtx, scrkernel-bibliography.dtx, + scrkernel-listsof.dtx, doc/, doc/ngerman/, doc/ngerman/scrbookreportarticle.tex: toc and notoc values of options listof, index and bibliography equalized @@ -2598,8 +4263,8 @@ r740 2008-10-14 16:52:03 +0200 mjk: r739 2008-10-08 09:17:21 +0200 mjk: - * scrktare.dtx: layout information not only with \typearea but also - \areaset + * scrkernel-typearea.dtx: layout information not only with \typearea + but also \areaset r738 2008-10-07 17:45:50 +0200 mjk: @@ -2607,77 +4272,75 @@ r738 2008-10-07 17:45:50 +0200 mjk: r737 2008-10-07 17:02:01 +0200 mjk: - * scrkvers.dtx: Prepared for 3.00RC2 + * scrkernel-version.dtx: Prepared for 3.00RC2 r736 2008-10-07 16:58:36 +0200 mjk: - * scrksect.dtx: \@autodottrue and \@autodotfalse work global to make - autodot feature group level independant + * scrkernel-sections.dtx: \@autodottrue and \@autodotfalse work global + to make autodot feature group level independant r735 2008-10-07 12:17:42 +0200 mjk: - * scrkvers.dtx: Ready for 2008/10/07 3.00 RC1 + * scrkernel-version.dtx: Ready for 2008/10/07 3.00 RC1 r734 2008-10-07 12:11:13 +0200 mjk: - * doc/, doc/guide.tex, doc/english/, - doc/english/scrbookreportarticle.tex, doc/english/scrpage2.tex, - doc/english/scrlttr2.tex, doc/english/typearea.tex, - doc/english/scraddr.tex: minor changes for KOMA-Script 3 + * doc/, doc/guide.tex, doc/english/, doc/english/scrlttr2.tex, + doc/english/scrbookreportarticle.tex, doc/english/typearea.tex, + doc/english/scraddr.tex, doc/english/scrpage2.tex: minor changes for + KOMA-Script 3 r733 2008-10-06 12:07:42 +0200 mjk: - * tocbasic.dtx, doc/, doc/Makefile.guide, doc/guide.tex, + * tocbasic.dtx, doc/, doc/guide.tex, doc/Makefile.guide, doc/english/, doc/english/scrbookreportarticle.tex, - doc/english/guide-english.tex, doc/english/typearea.tex: minor changes + doc/english/typearea.tex, doc/english/guide-english.tex: minor changes for english documentation r732 2008-09-27 10:51:05 +0200 mjk: - * scrkpage.dtx, scrksect.dtx: \frontmatter, \mainmatter and - \backmatter use \cleardoubleoddpage + * scrkernel-sections.dtx, scrkernel-pagestyles.dtx: \frontmatter, + \mainmatter and \backmatter use \cleardoubleoddpage r731 2008-09-24 14:35:34 +0200 mjk: - * doc/, doc/ngerman/, doc/ngerman/Makefile.guide, - doc/ngerman/Makefile: Vorbereitungen fuer das Buch + * doc/, doc/ngerman/, doc/ngerman/Makefile: Vorbereitungen fuer das + Buch r730 2008-09-23 17:00:45 +0200 mjk: - * manifest.txt, doc/, doc/Makefile, doc/ngerman/, - doc/ngerman/Makefile.guide: usage of new german guide + * manifest.txt, doc/, doc/Makefile, doc/ngerman/: usage of new german + guide r729 2008-09-23 14:23:54 +0200 mjk: - * doc/, doc/scrguide.cls, doc/Makefile.latexinit, doc/Makefile.guide, - doc/Makefile, doc/bin/, doc/bin/genhtmlidx.pl, doc/ngerman/, - doc/ngerman/scrbookreportarticle.tex, doc/ngerman/preface.tex, - doc/ngerman/scrbase.tex, doc/ngerman/expertpart.tex, - doc/ngerman/scrextend.tex, doc/ngerman/tocbasic.tex, - doc/ngerman/linkalias.tex, doc/ngerman/common.tex, - doc/ngerman/scrlfile.tex, doc/ngerman/authorpart.tex, - doc/ngerman/Makefile.guide, doc/ngerman/scrdatetime.tex, - doc/ngerman/scrpage2.tex, doc/ngerman/typearea-experts.tex, - doc/ngerman/introduction.tex, doc/ngerman/settleford600label.lco, - doc/ngerman/htmlsetup, doc/ngerman/Makefile, - doc/ngerman/scrlttr2-experts.tex, doc/ngerman/scrlttr2examples.dtx, - doc/ngerman/scrlttr2.tex, doc/ngerman/adrconvnote.tex, - doc/ngerman/typearea.tex, doc/ngerman/labelbasic.lco, - doc/ngerman/guide.tex, doc/ngerman/scrbookreportarticle-experts.tex, - doc/ngerman/scraddr.tex, doc/ngerman/guide-ngerman.tex: Modifications - for new german guide (KOMA-Script-Buch 3. Auflage) + * doc/, doc/Makefile.latexinit, doc/Makefile, doc/scrguide.cls, + doc/Makefile.guide, doc/linkalias.tex, doc/ngerman/, + doc/ngerman/scrlfile.tex, doc/ngerman/scrlttr2.tex, + doc/ngerman/htmlsetup, doc/ngerman/scrextend.tex, + doc/ngerman/scrbookreportarticle.tex, doc/ngerman/adrconvnote.tex, + doc/ngerman/scrdatetime.tex, doc/ngerman/introduction.tex, + doc/ngerman/guide-ngerman.tex, doc/ngerman/typearea-experts.tex, + doc/ngerman/Makefile, doc/ngerman/typearea.tex, + doc/ngerman/scrlttr2-experts.tex, doc/ngerman/scrbase.tex, + doc/ngerman/scrlttr2examples.dtx, doc/ngerman/scraddr.tex, + doc/ngerman/tocbasic.tex, doc/ngerman/expertpart.tex, + doc/ngerman/scrbookreportarticle-experts.tex, + doc/ngerman/preface.tex, doc/ngerman/scrpage2.tex, + doc/ngerman/authorpart.tex, doc/bin/, doc/bin/genhtmlidx.pl: + Modifications for new german guide (KOMA-Script-Buch 3. Auflage) r728 2008-09-19 11:04:34 +0200 mjk: - * doc/, doc/scrguide.cls, doc/guide.bib, doc/guide.tex, - doc/plength.dtx, doc/english/, doc/english/htmlsetup, + * doc/, doc/plength.dtx, doc/guide.tex, doc/scrguide.cls, + doc/guide.bib, doc/english/, doc/english/htmlsetup, doc/english/guide-english.tex, doc/german/, doc/german/htmlsetup, doc/german/guide-ngerman.tex, doc/bin/, doc/bin/genhtmlidx.pl: preparation to add the new german guide r727 2008-09-09 09:45:40 +0200 mjk: - * scrkvers.dtx: prepared for 3.00 BETA + * scrkernel-version.dtx: prepared for 3.00 BETA r726 2008-09-09 09:42:06 +0200 mjk: @@ -2685,8 +4348,8 @@ r726 2008-09-09 09:42:06 +0200 mjk: r725 2008-08-05 11:14:56 +0200 mjk: - * scrkpage.dtx: \partpagestyle not defined at scrartcl any longer, - because not used + * scrkernel-pagestyles.dtx: \partpagestyle not defined at scrartcl any + longer, because not used r724 2008-07-11 12:56:15 +0200 mjk: @@ -2699,8 +4362,8 @@ r723 2008-07-09 20:05:52 +0200 mjk: r722 2008-07-09 12:44:12 +0200 mjk: - * scrktare.dtx, doc/, doc/german/, doc/german/typearea.tex: new value - "semi" for option "twoside" + * scrkernel-typearea.dtx, doc/, doc/german/, doc/german/typearea.tex: + new value "semi" for option "twoside" r721 2008-07-05 13:36:49 +0200 mjk: @@ -2716,41 +4379,42 @@ r719 2008-07-04 16:19:04 +0200 mjk: r718 2008-07-04 16:01:21 +0200 mjk: - * scrkliof.dtx, tocbasic.dtx, scrksect.dtx: vertical space or chapter - entry for chapters to list of ... using tocbasic + * scrkernel-sections.dtx, scrkernel-listsof.dtx, tocbasic.dtx: + vertical space or chapter entry for chapters to list of ... using + tocbasic r717 2008-07-04 13:26:14 +0200 mjk: - * scrkliof.dtx, tocbasic.dtx, scrmain.ins: toc, lof and lot created - using tocbasic (code at scrksect.dtx still has to be changed + * scrmain.ins, scrkernel-listsof.dtx, tocbasic.dtx: toc, lof and lot + created using tocbasic (code at scrksect.dtx still has to be changed r716 2008-07-01 10:53:35 +0200 mjk: - * scrksect.dtx: some ugly hyperref hacks lack of an interface for - class and package authors + * scrkernel-sections.dtx: some ugly hyperref hacks lack of an + interface for class and package authors r715 2008-07-01 09:59:19 +0200 mjk: - * scrkpage.dtx, scrkcomp.dtx, scrksect.dtx: \relax added at - compatibility tests + * scrkernel-sections.dtx, scrkernel-compatibility.dtx, + scrkernel-pagestyles.dtx: \relax added at compatibility tests r714 2008-06-19 11:47:45 +0200 mjk: - * scrktitl.dtx, scrextend.dtx, scrmain.ins, scrkmisc.dtx: scrextend - activates features with option "extendedfeature" not longer with - e.g. option "titlepage=KOMA" + * scrextend.dtx, scrmain.ins, scrkernel-miscellaneous.dtx, + scrkernel-title.dtx: scrextend activates features with option + "extendedfeature" not longer with e.g. option "titlepage=KOMA" r713 2008-06-06 11:50:57 +0200 mjk: - * scrknpap.dtx: option `foldmarks' fixed + * scrkernel-notepaper.dtx: option `foldmarks' fixed r712 2008-05-28 09:23:26 +0200 mjk: - * scrkbase.dtx: FamilyNumericalKey fixed + * scrkernel-basics.dtx: FamilyNumericalKey fixed r711 2008-05-14 11:47:38 +0200 mjk: - * scrkmisc.dtx: option "draft" also at scrextend + * scrkernel-miscellaneous.dtx: option "draft" also at scrextend r710 2008-05-06 14:26:43 +0200 mjk: @@ -2758,8 +4422,8 @@ r710 2008-05-06 14:26:43 +0200 mjk: r709 2008-05-06 09:28:23 +0200 mjk: - * scrkbase.dtx: Most \Family... commands have an optional argument for - the member + * scrkernel-basics.dtx: Most \Family... commands have an optional + argument for the member r708 2008-05-02 16:46:18 +0200 mjk: @@ -2767,17 +4431,20 @@ r708 2008-05-02 16:46:18 +0200 mjk: r707 2008-05-02 16:43:26 +0200 mjk: - * scrkfont.dtx, scrkbase.dtx, scrklang.dtx, scrktitl.dtx, - scrklist.dtx, scrextend.dtx, scrkfloa.dtx, scrmain.ins, scrkmisc.dtx, - Makefile, scrkpar.dtx, scrsource.tex, scrkpage.dtx, scrkcomp.dtx, - scrksect.dtx, scrkftn.dtx, scrbeta.dtx: new packages scrbase and + * scrkernel-sections.dtx, scrsource.tex, scrextend.dtx, + scrkernel-compatibility.dtx, scrkernel-pagestyles.dtx, + scrkernel-fonts.dtx, scrbeta.dtx, scrkernel-listsandtabulars.dtx, + scrkernel-footnotes.dtx, Makefile, scrmain.ins, + scrkernel-paragraphs.dtx, scrkernel-language.dtx, + scrkernel-miscellaneous.dtx, scrkernel-floats.dtx, + scrkernel-basics.dtx, scrkernel-title.dtx: new packages scrbase and scrextend r706 2008-04-30 09:52:59 +0200 mjk: - * doc/, doc/german/, doc/german/scrbookreportarticle.tex, - doc/german/scrpage2.tex, doc/german/introduction.tex, - doc/german/scrlttr2.tex, doc/german/typearea.tex: diverse Neuerungen + * doc/, doc/german/, doc/german/scrlttr2.tex, + doc/german/scrbookreportarticle.tex, doc/german/introduction.tex, + doc/german/typearea.tex, doc/german/scrpage2.tex: diverse Neuerungen inbesondere bezüglich der Optionen dokumentiert r705 2008-04-30 09:52:22 +0200 mjk: @@ -2790,11 +4457,11 @@ r704 2008-04-30 09:15:14 +0200 mjk: r703 2008-04-30 09:13:50 +0200 mjk: - * scrksect.dtx: more aliases for option numbers + * scrkernel-sections.dtx: more aliases for option numbers r702 2008-04-17 11:51:49 +0200 mjk: - * README.SVN, LIESMICH.SVN: README.SVN and LIESMICH.SVN for tester of + * LIESMICH.SVN, README.SVN: README.SVN and LIESMICH.SVN for tester of the svn version. r701 2008-04-17 11:35:20 +0200 mjk: @@ -2807,12 +4474,13 @@ r700 2008-04-17 11:25:02 +0200 mjk: r699 2008-04-17 11:23:44 +0200 mjk: - * Makefile.baserules, Makefile, doc/, doc/Makefile.guide, - doc/Makefile: new rules: prepare, prepare_recursive, prepare_local + * Makefile, Makefile.baserules, doc/, doc/Makefile, + doc/Makefile.guide: new rules: prepare, prepare_recursive, + prepare_local r698 2008-04-16 11:45:23 +0200 mjk: - * scrkliof.dtx: bib-values for option `toc' + * scrkernel-listsof.dtx: bib-values for option `toc' r697 2008-04-11 12:08:52 +0200 mjk: @@ -2821,8 +4489,8 @@ r697 2008-04-11 12:08:52 +0200 mjk: r696 2008-04-11 10:15:46 +0200 mjk: - * scrkpage.dtx, scrkcomp.dtx: default for \cleardoublepage changed - depeding on "version" + * scrkernel-compatibility.dtx, scrkernel-pagestyles.dtx: default for + \cleardoublepage changed depeding on "version" r695 2008-04-10 11:43:54 +0200 mjk: @@ -2840,11 +4508,11 @@ r693 2008-04-09 16:39:33 +0200 mjk: r692 2008-04-09 16:18:30 +0200 mjk: - * scrktare.dtx: Replacement for option `dvips' changed + * scrkernel-typearea.dtx: Replacement for option `dvips' changed r691 2008-04-09 08:57:00 +0200 mjk: - * scrktare.dtx: new option `headheight' + * scrkernel-typearea.dtx: new option `headheight' r690 2008-04-08 12:11:07 +0200 mjk: @@ -2862,7 +4530,7 @@ r688 2008-04-04 09:55:09 +0200 mjk: r687 2008-04-04 09:37:50 +0200 mjk: - * scrkvers.dtx: prepared for 2.98c BETA + * scrkernel-version.dtx: prepared for 2.98c BETA r686 2008-04-03 12:01:09 +0200 mjk: @@ -2891,23 +4559,22 @@ r681 2008-03-27 10:16:07 +0100 mjk: r680 2008-03-27 09:13:23 +0100 mjk: - * scrkvers.dtx: date changed + * scrkernel-version.dtx: date changed r679 2008-03-27 09:10:54 +0100 mjk: - * doc/, doc/german/, doc/german/scrbookreportarticle.tex, - doc/german/introduction.tex, doc/german/scrpage2.tex, - doc/german/scrdatetime.tex, doc/german/typearea.tex, - doc/german/scraddr.tex, doc/german/htmlsetup, - doc/german/scrlfile.tex, doc/german/adrconvnote.tex, - doc/german/Makefile, doc/german/guide-ngerman.tex, doc/english/, - doc/english/scrbookreportarticle.tex, doc/english/introduction.tex, - doc/english/scrpage2.tex, doc/english/scrdatetime.tex, - doc/english/typearea.tex, doc/english/scraddr.tex, - doc/english/htmlsetup, doc/english/scrlfile.tex, - doc/english/adrconvnote.tex, doc/english/Makefile, - doc/english/japanlco.tex, doc/english/guide-english.tex: unknown - change + * doc/, doc/english/, doc/english/scrlfile.tex, + doc/english/htmlsetup, doc/english/scrbookreportarticle.tex, + doc/english/adrconvnote.tex, doc/english/scrdatetime.tex, + doc/english/introduction.tex, doc/english/Makefile, + doc/english/typearea.tex, doc/english/japanlco.tex, + doc/english/scraddr.tex, doc/english/guide-english.tex, + doc/english/scrpage2.tex, doc/german/, doc/german/scrlfile.tex, + doc/german/htmlsetup, doc/german/scrbookreportarticle.tex, + doc/german/adrconvnote.tex, doc/german/scrdatetime.tex, + doc/german/introduction.tex, doc/german/guide-ngerman.tex, + doc/german/Makefile, doc/german/typearea.tex, doc/german/scraddr.tex, + doc/german/scrpage2.tex: unknown change r678 2008-03-27 09:09:02 +0100 mjk: @@ -2925,12 +4592,14 @@ r676 2008-03-27 08:41:40 +0100 mjk: r675 2008-03-27 08:40:45 +0100 mjk: - * scrbeta.dtx, scrkpar.dtx, scrmain.ins, scrkfont.dtx, Makefile: new - font size files scrsize10pt.clo, scrsize11pt.clo, scrsize12pt.clo + * scrkernel-fonts.dtx, scrbeta.dtx, Makefile, scrmain.ins, + scrkernel-paragraphs.dtx: new font size files scrsize10pt.clo, + scrsize11pt.clo, scrsize12pt.clo r674 2008-03-27 08:40:38 +0100 mjk: - * scrkpage.dtx: options "headsepline" and "footsepline" improved + * scrkernel-pagestyles.dtx: options "headsepline" and "footsepline" + improved r673 2008-03-26 15:30:52 +0100 mjk: @@ -2950,7 +4619,7 @@ r670 2008-03-24 11:30:01 +0100 mjk: r669 2008-03-24 11:12:19 +0100 mjk: - * scrkvers.dtx: prepared for 2.98c BETA + * scrkernel-version.dtx: prepared for 2.98c BETA r668 2008-03-24 11:10:35 +0100 mjk: @@ -2971,7 +4640,7 @@ r665 2008-03-22 16:58:33 +0100 mjk: r664 2008-03-22 16:56:04 +0100 mjk: - * scrkfont.dtx: option `Xpt' does work again + * scrkernel-fonts.dtx: option `Xpt' does work again r663 2008-03-20 19:01:44 +0100 mjk: @@ -3010,63 +4679,68 @@ r656 2008-03-13 13:29:28 +0100 mjk: r655 2008-03-12 09:50:59 +0100 mjk: - * scrkbase.dtx: new command \KOMAoption{<key>}{<valuelist>} + * scrkernel-basics.dtx: new command \KOMAoption{<key>}{<valuelist>} r654 2008-03-12 09:50:24 +0100 mjk: - * scrkfloa.dtx: vertical alignment at captionsbeside fixed + * scrkernel-floats.dtx: vertical alignment at captionsbeside fixed r653 2008-03-10 10:06:41 +0100 mjk: - * scrksect.dtx: new values for option `headings' to set options - `chapterprefix' and `appendixprefix' + * scrkernel-sections.dtx: new values for option `headings' to set + options `chapterprefix' and `appendixprefix' r652 2008-03-10 09:52:26 +0100 mjk: - * scrkmisc.dtx, scrksect.dtx: new option `headings' with values `big', - `normal', `small', `openany', `openright', and `openleft'; option - `bigheadings', `normalheadings', and `smallheadings' are obsolete; - `headings=big' is default + * scrkernel-sections.dtx, scrkernel-miscellaneous.dtx: new option + `headings' with values `big', `normal', `small', `openany', + `openright', and `openleft'; option `bigheadings', `normalheadings', + and `smallheadings' are obsolete; `headings=big' is default r651 2008-03-10 09:27:32 +0100 mjk: - * scrknpap.dtx: missing `v' at version argument of changes entry added + * scrkernel-notepaper.dtx: missing `v' at version argument of changes + entry added r650 2008-03-10 09:25:02 +0100 mjk: - * scrlettr.dtx: missing `v' at version argument of changes entry added + * obsolete/scrlettr.dtx: missing `v' at version argument of changes + entry added r649 2008-03-10 09:23:43 +0100 mjk: - * scrkidx.dtx: missing `v' at version argument of changes entry added + * scrkernel-index.dtx: missing `v' at version argument of changes + entry added r648 2008-03-10 09:23:16 +0100 mjk: - * scrkfloa.dtx: missing `v' at version argument of changes entry added + * scrkernel-floats.dtx: missing `v' at version argument of changes + entry added r647 2008-03-10 09:22:50 +0100 mjk: - * scrkbase.dtx: missing `v' at version argument of changes entry added + * scrkernel-basics.dtx: missing `v' at version argument of changes + entry added r646 2008-03-07 10:25:13 +0100 mjk: - * scrksect.dtx: new option `number' with values `auto', `enddot', - `noenddot' instead of obsolete options `pointednumbers' and - `pointlessnumbers'; options `pointednumber' and `pointlessnumber' - removed + * scrkernel-sections.dtx: new option `number' with values `auto', + `enddot', `noenddot' instead of obsolete options `pointednumbers' + and `pointlessnumbers'; options `pointednumber' and + `pointlessnumber' removed r645 2008-03-06 11:42:46 +0100 mjk: - * scrkpage.dtx: \def\cleardoublepage to make option `open=left' work - even without usage of option `cleardoublepage' + * scrkernel-pagestyles.dtx: \def\cleardoublepage to make option + `open=left' work even without usage of option `cleardoublepage' r644 2008-03-06 11:28:25 +0100 mjk: - * scrksect.dtx: new value 'left' for option `open' + * scrkernel-sections.dtx: new value 'left' for option `open' r643 2008-03-06 11:22:57 +0100 mjk: - * scrkpage.dtx: new macros `\cleardoubeoddstandardpage', + * scrkernel-pagestyles.dtx: new macros `\cleardoubeoddstandardpage', `\cleardoubleevenstandardpage', `\cleardoubleoddusingstyle', `\cleardoubleevenusingstyle', `\cleardoubleoddemptypage', `\cleardoubleevenemptypage', `\cleardoubleoddplainpage', @@ -3074,22 +4748,23 @@ r643 2008-03-06 11:22:57 +0100 mjk: r642 2008-03-06 11:09:25 +0100 mjk: - * scrksect.dtx: new option `open' with values `any' and `right' + * scrkernel-sections.dtx: new option `open' with values `any' and + `right' r641 2008-03-06 10:55:11 +0100 mjk: - * scrknpap.dtx: `wlocfield' and `slocfield' are simple obsolete - options + * scrkernel-notepaper.dtx: `wlocfield' and `slocfield' are simple + obsolete options r640 2008-03-05 09:56:41 +0100 mjk: - * scrkliof.dtx: new values `nolistof', 'listof', and 'listofnumbered' - to option 'toc' + * scrkernel-listsof.dtx: new values `nolistof', 'listof', and + 'listofnumbered' to option 'toc' r639 2008-03-05 09:38:36 +0100 mjk: - * scrkliof.dtx: new `toc=flat', `toc=graduated' instead of obsolete - `tocleft', `tocindent'; new `listof=notoc', `listof=totoc', + * scrkernel-listsof.dtx: new `toc=flat', `toc=graduated' instead of + obsolete `tocleft', `tocindent'; new `listof=notoc', `listof=totoc', `listof=numbered', `listof=flat', `listof=graduated' instead of obsolete `liststotoc', `liststotocnumbered', `listsleft', `listsindent'; new `listof=chapterentry', `listof=nochaptergap', @@ -3097,21 +4772,22 @@ r639 2008-03-05 09:38:36 +0100 mjk: r638 2008-03-04 17:31:23 +0100 mjk: - * scrkliof.dtx: new option `toc=index' and `toc=noindex' uses + * scrkernel-listsof.dtx: new option `toc=index' and `toc=noindex' uses `index=totoc' and `index=notoc' internally r637 2008-03-04 17:30:28 +0100 mjk: - * scrkidx.dtx: options `index=notoc' and `index=totoc' replaces - obsolete `idxtotoc' + * scrkernel-index.dtx: options `index=notoc' and `index=totoc' + replaces obsolete `idxtotoc' r636 2008-03-03 14:41:39 +0100 mjk: - * scrkfloa.dtx: deprecated handling for caption package removed + * scrkernel-floats.dtx: deprecated handling for caption package + removed r635 2008-03-03 11:56:07 +0100 mjk: - * scrkfloa.dtx: Option `captions=oneline' instead of obsolete + * scrkernel-floats.dtx: Option `captions=oneline' instead of obsolete `onelinecaptions', option `captions=nooneline' instead if obsolete `noonelinecaptions'; values `topbeside', `bottombeside', `centeredbeside', `rightbeside', `leftbeside', `innerbeside', @@ -3120,11 +4796,11 @@ r635 2008-03-03 11:56:07 +0100 mjk: r634 2008-03-03 10:49:58 +0100 mjk: - * scrkfloa.dtx: date fixed + * scrkernel-floats.dtx: date fixed r633 2008-03-03 10:24:13 +0100 mjk: - * scrkfloa.dtx: works with caption 3.1g + * scrkernel-floats.dtx: works with caption 3.1g r632 2008-02-29 16:19:13 +0100 mjk: @@ -3133,22 +4809,22 @@ r632 2008-02-29 16:19:13 +0100 mjk: r631 2008-02-29 13:13:13 +0100 mjk: - * scrkfloa.dtx: use \captionsetup* instead of \captionsetup + * scrkernel-floats.dtx: use \captionsetup* instead of \captionsetup r630 2008-02-18 11:13:30 +0100 mjk: - * scrkfloa.dtx: new option "captions"; "captions=tableheading" + * scrkernel-floats.dtx: new option "captions"; "captions=tableheading" replaces "tablecaptionabove"; "captions=tablesignature" replaces "tablecaptionbelow" r629 2008-02-18 10:45:12 +0100 mjk: - * scrkbase.dtx: Obsolete option messages are messages of the classes - or packages that declare the option not of scrkbase. + * scrkernel-basics.dtx: Obsolete option messages are messages of the + classes or packages that declare the option not of scrkbase. r628 2008-02-18 09:13:04 +0100 mjk: - * scrkbib.dtx: \AtBeginBibliography renamed to + * scrkernel-bibliography.dtx: \AtBeginBibliography renamed to \AfterBibliographyPreamble because of biblatex r627 2008-02-16 11:42:17 +0100 mjk: @@ -3157,32 +4833,34 @@ r627 2008-02-16 11:42:17 +0100 mjk: r626 2008-02-15 15:25:26 +0100 mjk: - * scrkvers.dtx: date changed + * scrkernel-version.dtx: date changed r625 2008-02-15 12:51:39 +0100 mjk: - * scrkbib.dtx: options "bibtotoc" and "bibtotocnumbered" replaced by - "bibliography=totoc" and "bibliography=totocnumbered"; option - "bibliography=nottotoc" added; new commands \AtBeginBibliography, - \AtEndBibliography and \BreakBibliography + * scrkernel-bibliography.dtx: options "bibtotoc" and + "bibtotocnumbered" replaced by "bibliography=totoc" and + "bibliography=totocnumbered"; option "bibliography=nottotoc" added; + new commands \AtBeginBibliography, \AtEndBibliography and + \BreakBibliography r624 2008-02-15 10:15:38 +0100 mjk: - * scrkbib.dtx: Option "openbib" replaced by "bibliography=openstyle"; - option "bibliography=oldstyle" added; new command \newbibstyle + * scrkernel-bibliography.dtx: Option "openbib" replaced by + "bibliography=openstyle"; option "bibliography=oldstyle" added; new + command \newbibstyle r623 2008-02-15 10:12:30 +0100 mjk: - * scrksect.dtx, scrktitl.dtx: \ClassInfo replaced by \ClassInfoNoLine - at usage of \KOMA@DeclareObsoleteOption + * scrkernel-sections.dtx, scrkernel-title.dtx: \ClassInfo replaced by + \ClassInfoNoLine at usage of \KOMA@DeclareObsoleteOption r622 2008-02-15 10:09:07 +0100 mjk: - * scrkbase.dtx: \ClassInfoNoLine defined + * scrkernel-basics.dtx: \ClassInfoNoLine defined r621 2008-02-15 08:32:25 +0100 mjk: - * scrkbase.dtx: missing \end{macrocode} added + * scrkernel-basics.dtx: missing \end{macrocode} added r620 2008-02-14 16:17:47 +0100 mjk: @@ -3191,13 +4869,13 @@ r620 2008-02-14 16:17:47 +0100 mjk: r619 2008-02-14 16:17:34 +0100 mjk: - * scrkpage.dtx: some changes about font elements `pagehead' and - `pagefoot' + * scrkernel-pagestyles.dtx: some changes about font elements + `pagehead' and `pagefoot' r618 2008-02-14 15:40:51 +0100 mjk: - * scrkpage.dtx: new font element `pageheadfoot'; font element - `pagehead' is only an alias for `pageheadfoot' + * scrkernel-pagestyles.dtx: new font element `pageheadfoot'; font + element `pagehead' is only an alias for `pageheadfoot' r617 2008-02-14 15:39:43 +0100 mjk: @@ -3214,29 +4892,31 @@ r615 2008-02-14 15:07:31 +0100 mjk: r614 2008-02-14 12:53:27 +0100 mjk: - * scrkftn.dtx: no unwanted warnings of footmisc package + * scrkernel-footnotes.dtx: no unwanted warnings of footmisc package r613 2008-02-14 12:22:35 +0100 mjk: - * scrkftn.dtx: footnote solution is compatible to footmisc + * scrkernel-footnotes.dtx: footnote solution is compatible to footmisc r612 2008-02-14 11:22:39 +0100 mjk: - * scrkftn.dtx: multifootnote does work unless using bigfoot, manyfoot - etc. Special handling for footmisc does not longer produce a warning - message. + * scrkernel-footnotes.dtx: multifootnote does work unless using + bigfoot, manyfoot etc. Special handling for footmisc does not longer + produce a warning message. r611 2008-02-14 10:51:58 +0100 mjk: - * scrkftn.dtx: docu fix + * scrkernel-footnotes.dtx: docu fix r610 2008-02-01 12:13:17 +0100 mjk: - * scrkftn.dtx: new option "multifootnotes" and new command "\footref" + * scrkernel-footnotes.dtx: new option "multifootnotes" and new command + "\footref" r609 2008-02-01 09:07:06 +0100 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for 2.98c BETA + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + 2.98c BETA r608 2008-01-30 11:10:16 +0100 mjk: @@ -3244,11 +4924,12 @@ r608 2008-01-30 11:10:16 +0100 mjk: r607 2008-01-30 10:26:17 +0100 mjk: - * scrkvers.dtx: prepared for 2008/01/30 2.98b + * scrkernel-version.dtx: prepared for 2008/01/30 2.98b r606 2008-01-30 10:01:30 +0100 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for 2.98b BETA + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + 2.98b BETA r605 2008-01-30 10:00:17 +0100 mjk: @@ -3256,7 +4937,8 @@ r605 2008-01-30 10:00:17 +0100 mjk: r604 2008-01-30 09:51:41 +0100 mjk: - * scrknpap.dtx: fix: \firsthead does not longer deactivate "location" + * scrkernel-notepaper.dtx: fix: \firsthead does not longer deactivate + "location" r603 2008-01-26 16:05:53 +0100 mjk: @@ -3273,32 +4955,38 @@ r601 2008-01-11 11:24:01 +0100 mjk: r600 2008-01-11 11:21:50 +0100 mjk: - * scrkmisc.dtx, scrkcile.dtx, scrsource.tex, scrpage.dtx, - tocstyle.dtx, scrkliof.dtx, scrkvers.dtx, scrlettr.ins, scrstrop.inc, - scrksect.dtx, scrbeta.dtx, scrlogo.dtx, scrstrip.inc, scrkfloa.dtx, - scrkpar.dtx, scrmain.ins, scrkidx.dtx, scrlfile.ins, scrkbase.dtx, - scrkplen.dtx, scrpage.ins, scrkbib.dtx, scrklist.dtx, scrtime.dtx, - scrkxflo.dtx, scraddr.ins, README, scrtime.ins, scrlettr.dtx, - scrkcomp.dtx, Makefile.baserules, japanlco.dtx, scrkftn.dtx, - scrkpage.dtx, scrklco.dtx, scrkfont.dtx, scrdoc.dtx, scrklang.dtx, - Makefile, scrlfile.dtx, scrktitl.dtx, scrknpap.dtx, manifest.txt, - scraddr.dtx, scrktare.dtx, Makefile.baseinit, scrkvars.dtx, - komabug.tex, doc/, doc/Makefile.latexinit, doc/plength.dtx, - doc/scrguide.gst, doc/scrguide.ist, doc/Makefile, doc/guide.tex, - doc/scrguide.cls, doc/Makefile.guide: prepared for 2008/01/11 2.98a + * scrkernel-sections.dtx, scrpage.dtx, scrsource.tex, + scrkernel-index.dtx, scrtime.dtx, scrdoc.dtx, + scrkernel-bibliography.dtx, tocstyle.dtx, scrkernel-version.dtx, + scrlogo.dtx, scrstrip.inc, scrkernel-compatibility.dtx, scraddr.dtx, + scrkernel-pseudolengths.dtx, scrkernel-pagestyles.dtx, + scrkernel-letterclassoptions.dtx, scrkernel-circularletters.dtx, + scrkernel-fonts.dtx, README, scrbeta.dtx, + scrkernel-listsandtabulars.dtx, Makefile.baseinit, + scrkernel-footnotes.dtx, Makefile, scrmain.ins, Makefile.baserules, + scrkernel-listsof.dtx, scrlfile.dtx, komabug.tex, + scrkernel-paragraphs.dtx, scrkxflo.dtx, scrkernel-language.dtx, + scrkernel-notepaper.dtx, scrkernel-miscellaneous.dtx, + scrkernel-variables.dtx, manifest.txt, scrstrop.inc, + scrkernel-floats.dtx, scrkernel-typearea.dtx, scrkernel-basics.dtx, + japanlco.dtx, scrkernel-title.dtx, obsolete/scrlettr.dtx, + obsolete/scrlettr.ins, doc/, doc/plength.dtx, doc/Makefile.latexinit, + doc/guide.tex, doc/Makefile, doc/scrguide.cls, doc/Makefile.guide, + doc/scrguide.ist, doc/scrguide.gst: prepared for 2008/01/11 2.98a r598 2008-01-11 09:14:15 +0100 mjk: - * scrknpap.dtx: behaviour of location field with "fromalign=center" - changed to the one before 2.98 + * scrkernel-notepaper.dtx: behaviour of location field with + "fromalign=center" changed to the one before 2.98 r597 2008-01-08 11:41:53 +0100 mjk: - * scrkcomp.dtx: prepared for 2.98a BETA + * scrkernel-compatibility.dtx: prepared for 2.98a BETA r596 2008-01-08 11:39:47 +0100 mjk: - * scrkvers.dtx, scrktare.dtx: twocolumn option fixed at classes + * scrkernel-version.dtx, scrkernel-typearea.dtx: twocolumn option + fixed at classes r595 2008-01-08 11:37:35 +0100 mjk: @@ -3306,7 +4994,7 @@ r595 2008-01-08 11:37:35 +0100 mjk: r594 2007-12-21 11:15:13 +0100 mjk: - * scrkvers.dtx: version bug fixed + * scrkernel-version.dtx: version bug fixed r593 2007-12-21 11:03:40 +0100 mjk: @@ -3314,7 +5002,8 @@ r593 2007-12-21 11:03:40 +0100 mjk: r592 2007-12-21 11:03:07 +0100 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for 2.98 + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + 2.98 r591 2007-12-21 10:59:43 +0100 mjk: @@ -3441,9 +5130,9 @@ r566 2007-12-04 11:36:59 +0100 mjk: r565 2007-11-30 13:06:11 +0100 mjk: - * TODO, doc/, doc/german/, doc/german/scrbookreportarticle.tex, - doc/german/scrlttr2.tex: environment documentation changed; font - elements for address field + * TODO, doc/, doc/german/, doc/german/scrlttr2.tex, + doc/german/scrbookreportarticle.tex: environment documentation + changed; font elements for address field r564 2007-11-29 12:35:39 +0100 mjk: @@ -3504,7 +5193,7 @@ r554 2007-11-27 12:27:16 +0100 mjk: r553 2007-11-27 10:00:28 +0100 mjk: - * scrkcomp.dtx: 2.97e is not compatible to 2.97d + * scrkernel-compatibility.dtx: 2.97e is not compatible to 2.97d r552 2007-11-27 09:50:51 +0100 mjk: @@ -3528,13 +5217,14 @@ r549 2007-11-26 11:56:12 +0100 mjk: r548 2007-11-26 11:53:02 +0100 mjk: - * scrkmisc.dtx, scrksect.dtx, scrkfloa.dtx: scrbook uses \thechapter - at \thesection, \thefigure, \thetable, and \theequation only at main - matter (depends on option "version") + * scrkernel-sections.dtx, scrkernel-miscellaneous.dtx, + scrkernel-floats.dtx: scrbook uses \thechapter at \thesection, + \thefigure, \thetable, and \theequation only at main matter (depends + on option "version") r547 2007-11-26 11:31:42 +0100 mjk: - * scrktare.dtx: You can set "paper=<height>:<width>" + * scrkernel-typearea.dtx: You can set "paper=<height>:<width>" r546 2007-11-23 13:03:03 +0100 mjk: @@ -3542,8 +5232,8 @@ r546 2007-11-23 13:03:03 +0100 mjk: r545 2007-11-23 10:52:01 +0100 mjk: - * scrktare.dtx: Some users asked for twoside-handling by the class - additional to the typearea package. So I've changed this for + * scrkernel-typearea.dtx: Some users asked for twoside-handling by the + class additional to the typearea package. So I've changed this for twoside, oneside, twocolumn, and onecolumn. Disadvantage of the change is, that type area recalculation will be done twice after \begin{document}. @@ -3554,7 +5244,7 @@ r544 2007-11-23 09:59:51 +0100 mjk: r543 2007-11-23 09:50:56 +0100 mjk: - * scrmain.ins, japanlco.dtx, Makefile: new lco file "NipponRL.lco" for + * Makefile, scrmain.ins, japanlco.dtx: new lco file "NipponRL.lco" for Japanese envelopes with window on the right side r542 2007-11-22 18:04:33 +0100 stephan-hennig: @@ -3570,13 +5260,14 @@ r541 2007-11-22 12:00:36 +0100 mjk: r540 2007-11-22 11:58:07 +0100 mjk: - * scrknpap.dtx: new option "firstfoot=(yes|on|true|no|off|false)" and - fix of "fromalign=(locationright|locationleft)" + * scrkernel-notepaper.dtx: new option + "firstfoot=(yes|on|true|no|off|false)" and fix of + "fromalign=(locationright|locationleft)" r539 2007-11-22 11:36:53 +0100 mjk: - * scrmain.ins, japanlco.dtx, Makefile, scrknpap.dtx, manifest.txt: new - Japanese lco files and new option + * Makefile, scrmain.ins, scrkernel-notepaper.dtx, manifest.txt, + japanlco.dtx: new Japanese lco files and new option "firsthead=(yes|on|true|no|off|false)" r538 2007-11-20 17:42:55 +0100 mjk: @@ -3589,8 +5280,9 @@ r537 2007-11-20 17:38:03 +0100 mjk: r536 2007-11-20 17:35:20 +0100 mjk: - * scrsource.tex, scrmain.ins, japanlco.dtx, scrklco.dtx, Makefile, - scrknpap.dtx: new lco files for Japanese letters + * scrsource.tex, scrkernel-letterclassoptions.dtx, Makefile, + scrmain.ins, scrkernel-notepaper.dtx, japanlco.dtx: new lco files for + Japanese letters r535 2007-11-13 10:55:46 +0100 mjk: @@ -3599,14 +5291,16 @@ r535 2007-11-13 10:55:46 +0100 mjk: r534 2007-11-13 09:44:02 +0100 mjk: - * scrknpap.dtx: two new values for option "fromalign": "locationleft" - aligns the from ragged right at the location; "locationright" aligns - the from ragged left at the location. No logos are set in these - cases, no user defined location is set in these cases. + * scrkernel-notepaper.dtx: two new values for option "fromalign": + "locationleft" aligns the from ragged right at the location; + "locationright" aligns the from ragged left at the location. No + logos are set in these cases, no user defined location is set in + these cases. r533 2007-11-12 15:15:16 +0100 mjk: - * scrknpap.dtx: default of locheight fixed (backaddrtoheight added) + * scrkernel-notepaper.dtx: default of locheight fixed + (backaddrtoheight added) r532 2007-11-10 11:25:07 +0100 mjk: @@ -3614,7 +5308,7 @@ r532 2007-11-10 11:25:07 +0100 mjk: r531 2007-11-10 11:22:39 +0100 mjk: - * scrknpap.dtx: - new pseudo length "tfoldmarklength", + * scrkernel-notepaper.dtx: - new pseudo length "tfoldmarklength", "mfoldmarklength", "bfoldmarklength" - new optional vertical fold marks with pseudo length "foldmarkvpos", @@ -3622,8 +5316,8 @@ r531 2007-11-10 11:22:39 +0100 mjk: r530 2007-11-10 08:53:30 +0100 mjk: - * scrkbase.dtx: spaces before and after keys and values are ignored at - \KOMAoptions + * scrkernel-basics.dtx: spaces before and after keys and values are + ignored at \KOMAoptions r529 2007-11-08 11:29:28 +0100 mjk: @@ -3631,8 +5325,9 @@ r529 2007-11-08 11:29:28 +0100 mjk: r528 2007-11-08 11:27:59 +0100 mjk: - * scrknpap.dtx: - new pseudo length mfoldmarkvpos (0pt = middle!) - - single fold marks may be (de)activated by option "foldmarks" + * scrkernel-notepaper.dtx: - new pseudo length mfoldmarkvpos (0pt = + middle!) - single fold marks may be (de)activated by option + "foldmarks" r527 2007-11-07 10:43:25 +0100 mjk: @@ -3640,8 +5335,8 @@ r527 2007-11-07 10:43:25 +0100 mjk: r526 2007-11-07 10:42:24 +0100 mjk: - * scrknpap.dtx, doc/, doc/plength.dtx: new pseudo-length "lochpos", - "locvpos", "locheight" + * scrkernel-notepaper.dtx, doc/, doc/plength.dtx: new pseudo-length + "lochpos", "locvpos", "locheight" r525 2007-11-07 10:16:07 +0100 mjk: @@ -3650,15 +5345,15 @@ r525 2007-11-07 10:16:07 +0100 mjk: r524 2007-10-23 08:53:48 +0200 mjk: - * scrktare.dtx: fix: \isopaper pays attention to landscape + * scrkernel-typearea.dtx: fix: \isopaper pays attention to landscape r523 2007-10-23 07:25:38 +0200 mjk: - * scrkpage.dtx: Typofix + * scrkernel-pagestyles.dtx: Typofix r522 2007-10-12 11:58:49 +0200 mjk: - * scrkvers.dtx: prepared for v2.97e BETA + * scrkernel-version.dtx: prepared for v2.97e BETA r521 2007-10-12 11:58:09 +0200 mjk: @@ -3666,7 +5361,7 @@ r521 2007-10-12 11:58:09 +0200 mjk: r520 2007-10-12 11:37:39 +0200 mjk: - * scrkvers.dtx: prepared for 2007/10/12 v2.97d + * scrkernel-version.dtx: prepared for 2007/10/12 v2.97d r519 2007-10-12 11:36:16 +0200 mjk: @@ -3679,16 +5374,16 @@ r518 2007-10-12 11:35:19 +0200 mjk: r517 2007-10-12 11:11:26 +0200 mjk: - * scrknpap.dtx: forgotten \show removed [Stephan Hennig] + * scrkernel-notepaper.dtx: forgotten \show removed [Stephan Hennig] r516 2007-10-09 15:46:27 +0200 mjk: - * scrknpap.dtx: vertical spacing of date field fixed + * scrkernel-notepaper.dtx: vertical spacing of date field fixed r515 2007-10-09 14:56:29 +0200 mjk: - * scrkcomp.dtx, scrknpap.dtx: setting for font element `refvalue' - fixed + * scrkernel-compatibility.dtx, scrkernel-notepaper.dtx: setting for + font element `refvalue' fixed r514 2007-10-04 14:51:20 +0200 mjk: @@ -3696,12 +5391,15 @@ r514 2007-10-04 14:51:20 +0200 mjk: r513 2007-10-03 11:02:36 +0200 mjk: - * scrkfont.dtx, scrkbase.dtx, scrkpage.dtx, scrkpar.dtx, - scrklang.dtx, scrktare.dtx, scrkmisc.dtx: New \PackageInfoNoLine + * scrkernel-pagestyles.dtx, scrkernel-fonts.dtx, + scrkernel-paragraphs.dtx, scrkernel-language.dtx, + scrkernel-miscellaneous.dtx, scrkernel-typearea.dtx, + scrkernel-basics.dtx: New \PackageInfoNoLine r512 2007-10-03 10:43:06 +0200 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for 2.97d BETA + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + 2.97d BETA r511 2007-10-01 11:52:58 +0200 mjk: @@ -3709,41 +5407,41 @@ r511 2007-10-01 11:52:58 +0200 mjk: r510 2007-10-01 09:18:44 +0200 mjk: - * scrkvers.dtx: version number fixed + * scrkernel-version.dtx: version number fixed r509 2007-09-28 10:01:05 +0200 mjk: - * scrkvers.dtx, scrkcomp.dtx: version fixed + * scrkernel-version.dtx, scrkernel-compatibility.dtx: version fixed r508 2007-09-28 09:45:33 +0200 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for v2.97c + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + v2.97c r507 2007-09-27 09:42:11 +0200 mjk: - * doc/, doc/english/, doc/english/scrpage2.tex, - doc/english/guide-english.tex, doc/english/typearea.tex, - doc/english/scrlttr2.tex, doc/english/scraddr.tex, - doc/english/scrbookreportarticle.tex, doc/english/adrconvnote.tex: - index fixed + * doc/, doc/english/, doc/english/scrlttr2.tex, + doc/english/scrbookreportarticle.tex, doc/english/adrconvnote.tex, + doc/english/typearea.tex, doc/english/scraddr.tex, + doc/english/guide-english.tex, doc/english/scrpage2.tex: index fixed r506 2007-09-26 16:44:56 +0200 mjk: - * doc/, doc/english/, doc/english/scrdatetime.tex, - doc/english/scrpage2.tex, doc/english/guide-english.tex, - doc/english/introduction.tex, doc/english/typearea.tex, - doc/english/scrlttr2.tex, doc/english/scrlfile.tex, - doc/english/scraddr.tex, doc/english/scrbookreportarticle.tex: - improved by GH + * doc/, doc/english/, doc/english/scrlfile.tex, + doc/english/scrlttr2.tex, doc/english/scrbookreportarticle.tex, + doc/english/scrdatetime.tex, doc/english/introduction.tex, + doc/english/typearea.tex, doc/english/scraddr.tex, + doc/english/guide-english.tex, doc/english/scrpage2.tex: improved by + GH r505 2007-09-26 09:23:54 +0200 mjk: - * doc/, doc/english/, doc/english/scrdatetime.tex, - doc/english/scrpage2.tex, doc/english/guide-english.tex, - doc/english/introduction.tex, doc/english/typearea.tex, - doc/english/scrlttr2.tex, doc/english/scrlfile.tex, - doc/english/scraddr.tex, doc/english/scrbookreportarticle.tex: - improved by GH + * doc/, doc/english/, doc/english/scrlfile.tex, + doc/english/scrlttr2.tex, doc/english/scrbookreportarticle.tex, + doc/english/scrdatetime.tex, doc/english/introduction.tex, + doc/english/typearea.tex, doc/english/scraddr.tex, + doc/english/guide-english.tex, doc/english/scrpage2.tex: improved by + GH r504 2007-09-25 09:07:38 +0200 mjk: @@ -3759,11 +5457,11 @@ r502 2007-09-25 08:34:49 +0200 mjk: r501 2007-09-25 08:32:57 +0200 mjk: - * scrkpage.dtx: date fixed + * scrkernel-pagestyles.dtx: date fixed r500 2007-09-25 08:32:30 +0200 mjk: - * scrkpage.dtx: warning \scr@fnt@wrn@pagehead changed + * scrkernel-pagestyles.dtx: warning \scr@fnt@wrn@pagehead changed r499 2007-09-21 09:06:57 +0200 mjk: @@ -3777,13 +5475,13 @@ r498 2007-09-20 15:08:33 +0200 mjk: r497 2007-09-18 12:04:55 +0200 mjk: - * doc/, doc/scrguide.cls, doc/guide.tex, doc/german/, - doc/german/guide-ngerman.tex, doc/english/, - doc/english/scrdatetime.tex, doc/english/scrpage2.tex, - doc/english/guide-english.tex, doc/english/introduction.tex, - doc/english/scrlttr2.tex, doc/english/scrlfile.tex, - doc/english/scraddr.tex, doc/english/scrbookreportarticle.tex, - doc/english/adrconvnote.tex: new command \translator at the guide + * doc/, doc/guide.tex, doc/scrguide.cls, doc/english/, + doc/english/scrlfile.tex, doc/english/scrlttr2.tex, + doc/english/scrbookreportarticle.tex, doc/english/adrconvnote.tex, + doc/english/scrdatetime.tex, doc/english/introduction.tex, + doc/english/scraddr.tex, doc/english/guide-english.tex, + doc/english/scrpage2.tex, doc/german/, doc/german/guide-ngerman.tex: + new command \translator at the guide r496 2007-09-18 11:52:41 +0200 mjk: @@ -3795,23 +5493,24 @@ r495 2007-09-18 10:37:10 +0200 mjk: r494 2007-09-17 12:46:21 +0200 mjk: - * scrkplen.dtx: it's save but not compatible not to use e-TeX + * scrkernel-pseudolengths.dtx: it's save but not compatible not to use + e-TeX r493 2007-09-17 12:45:25 +0200 mjk: - * scrkfont.dtx: test for needed e-TeX feature + * scrkernel-fonts.dtx: test for needed e-TeX feature r492 2007-09-17 12:31:34 +0200 mjk: - * scrkplen.dtx: less functionality, if eTeX not used + * scrkernel-pseudolengths.dtx: less functionality, if eTeX not used r491 2007-09-17 11:57:42 +0200 mjk: - * scrkfloa.dtx: there where to many \scr@smashdp + * scrkernel-floats.dtx: there where to many \scr@smashdp r490 2007-09-17 11:48:43 +0200 mjk: - * scrkfloa.dtx: use of \scr@smashdp fixed + * scrkernel-floats.dtx: use of \scr@smashdp fixed r489 2007-09-17 11:48:28 +0200 mjk: @@ -3819,19 +5518,19 @@ r489 2007-09-17 11:48:28 +0200 mjk: r488 2007-09-17 11:46:47 +0200 mjk: - * scrkbase.dtx: Warning message break changed + * scrkernel-basics.dtx: Warning message break changed r487 2007-09-17 11:35:22 +0200 mjk: - * scrkfloa.dtx: \@@makecaption uses \scr@smashdp + * scrkernel-floats.dtx: \@@makecaption uses \scr@smashdp r486 2007-09-17 11:34:48 +0200 mjk: - * scrkbase.dtx: date fixed + * scrkernel-basics.dtx: date fixed r485 2007-09-17 11:34:33 +0200 mjk: - * scrkbase.dtx: new: scr@smashdp + * scrkernel-basics.dtx: new: scr@smashdp r484 2007-09-17 10:13:55 +0200 mjk: @@ -3851,8 +5550,8 @@ r481 2007-09-12 17:05:12 +0200 mjk: r480 2007-09-12 17:03:04 +0200 mjk: - * scrktare.dtx, scrklco.dtx: loading of lco file via \documentclass - option fixed + * scrkernel-letterclassoptions.dtx, scrkernel-typearea.dtx: loading of + lco file via \documentclass option fixed r479 2007-09-12 12:47:27 +0200 mjk: @@ -3902,7 +5601,8 @@ r470 2007-09-02 11:16:22 +0200 mjk: r469 2007-08-31 11:41:50 +0200 mjk: - * scrktitl.dtx: back side of title pages should use page style empty + * scrkernel-title.dtx: back side of title pages should use page style + empty r468 2007-08-31 09:29:35 +0200 mjk: @@ -3953,7 +5653,8 @@ r459 2007-08-19 12:15:31 +0200 mjk: r458 2007-08-10 18:55:58 +0200 mjk: - * scrklang.dtx: text of \languagename warning changed [Stephan Hennig] + * scrkernel-language.dtx: text of \languagename warning changed + [Stephan Hennig] r457 2007-08-09 17:30:26 +0200 mjk: @@ -3978,8 +5679,8 @@ r453 2007-08-09 17:08:00 +0200 mjk: r452 2007-08-07 13:22:59 +0200 mjk: - * doc/, doc/german/, doc/german/scrlfile.tex, doc/english/, - doc/english/scrlfile.tex: german version extended to english version + * doc/, doc/english/, doc/english/scrlfile.tex, doc/german/, + doc/german/scrlfile.tex: german version extended to english version r451 2007-08-07 13:14:42 +0200 mjk: @@ -4024,7 +5725,7 @@ r443 2007-07-26 11:22:41 +0200 mjk: r442 2007-07-25 09:41:22 +0200 mjk: - * scrkvers.dtx: prepared for 2.97c BETA + * scrkernel-version.dtx: prepared for 2.97c BETA r441 2007-07-24 11:37:42 +0200 mjk: @@ -4032,8 +5733,8 @@ r441 2007-07-24 11:37:42 +0200 mjk: r440 2007-07-24 10:53:54 +0200 mjk: - * doc/, doc/german/, doc/german/scrbookreportarticle.tex, - doc/english/, doc/english/scrbookreportarticle.tex: mib GH and MK + * doc/, doc/english/, doc/english/scrbookreportarticle.tex, + doc/german/, doc/german/scrbookreportarticle.tex: mib GH and MK r439 2007-07-23 11:12:39 +0200 mjk: @@ -4046,8 +5747,8 @@ r438 2007-07-23 09:33:21 +0200 mjk: r437 2007-07-23 09:27:58 +0200 mjk: - * scrksect.dtx: revert to: \partlevel is -1 at chapter classes and 0 - at no chapter classes + * scrkernel-sections.dtx: revert to: \partlevel is -1 at chapter + classes and 0 at no chapter classes r436 2007-07-23 09:21:31 +0200 mjk: @@ -4075,19 +5776,19 @@ r432 2007-07-21 09:48:15 +0200 mjk: r431 2007-07-19 15:27:54 +0200 mjk: - * scrkplen.dtx: \useplength may be used with factor prefix (e.g. - .5\useplength{firstheadwidth}) + * scrkernel-pseudolengths.dtx: \useplength may be used with factor + prefix (e.g. .5\useplength{firstheadwidth}) r430 2007-07-18 09:44:04 +0200 mjk: - * scrkpage.dtx, scrktare.dtx, scrkmisc.dtx: The classes and - typearea.sty allow to set option twoside to a new value at the - document's body. + * scrkernel-pagestyles.dtx, scrkernel-miscellaneous.dtx, + scrkernel-typearea.dtx: The classes and typearea.sty allow to set + option twoside to a new value at the document's body. r429 2007-07-18 09:12:39 +0200 mjk: - * scrkpage.dtx: change: the classes should tolerate late changes of - option twoside + * scrkernel-pagestyles.dtx: change: the classes should tolerate late + changes of option twoside r428 2007-07-17 18:59:20 +0200 mjk: @@ -4096,7 +5797,7 @@ r428 2007-07-17 18:59:20 +0200 mjk: r427 2007-07-16 14:44:41 +0200 mjk: - * scrksect.dtx: several \nobreak after \sectfont added + * scrkernel-sections.dtx: several \nobreak after \sectfont added r426 2007-07-14 07:52:26 +0200 mjk: @@ -4104,7 +5805,8 @@ r426 2007-07-14 07:52:26 +0200 mjk: r425 2007-07-10 17:20:29 +0200 mjk: - * scrkfont.dtx, scrkbase.dtx: \l@addto@macro moved to scrkbase + * scrkernel-fonts.dtx, scrkernel-basics.dtx: \l@addto@macro moved to + scrkbase r424 2007-07-10 10:29:58 +0200 mjk: @@ -4118,8 +5820,8 @@ r423 2007-07-10 10:15:02 +0200 mjk: r422 2007-07-06 16:09:52 +0200 mjk: - * TODO, scrknpap.dtx: new values for option subject: underlined, - left, right, centered + * TODO, scrkernel-notepaper.dtx: new values for option subject: + underlined, left, right, centered r421 2007-07-06 15:33:02 +0200 mjk: @@ -4127,8 +5829,8 @@ r421 2007-07-06 15:33:02 +0200 mjk: r420 2007-07-06 15:04:14 +0200 mjk: - * scrknpap.dtx: new font elements: specialmail, addressee, toname, - toaddress, and internal use of \specialmail@format. + * scrkernel-notepaper.dtx: new font elements: specialmail, addressee, + toname, toaddress, and internal use of \specialmail@format. r419 2007-07-06 12:24:58 +0200 mjk: @@ -4154,8 +5856,8 @@ r415 2007-07-06 10:03:31 +0200 mjk: r414 2007-07-06 09:57:57 +0200 mjk: - * doc/, doc/german/, doc/german/scrbookreportarticle.tex, - doc/english/, doc/english/scrbookreportarticle.tex: secnumdepth fixed + * doc/, doc/english/, doc/english/scrbookreportarticle.tex, + doc/german/, doc/german/scrbookreportarticle.tex: secnumdepth fixed r413 2007-07-06 09:56:01 +0200 mjk: @@ -4180,8 +5882,8 @@ r410 2007-07-05 18:56:09 +0200 mjk: r409 2007-07-04 17:16:12 +0200 mjk: - * scrkfont.dtx, scrktare.dtx: initialize more font size dependent - lengths + * scrkernel-fonts.dtx, scrkernel-typearea.dtx: initialize more font + size dependent lengths r408 2007-07-02 18:15:54 +0200 mjk: @@ -4202,8 +5904,8 @@ r404 2007-06-27 08:28:01 +0200 mjk: r399 2007-06-21 13:20:21 +0200 mjk: - * scrksect.dtx: \l@chapter and \l@section reimplemented to make - \raggedchapterentry and \raggedsectionentry work + * scrkernel-sections.dtx: \l@chapter and \l@section reimplemented to + make \raggedchapterentry and \raggedsectionentry work r398 2007-06-21 11:07:34 +0200 mjk: @@ -4211,7 +5913,7 @@ r398 2007-06-21 11:07:34 +0200 mjk: r397 2007-06-21 11:06:08 +0200 mjk: - * scrksect.dtx, TODO: new font elements: partentry, + * scrkernel-sections.dtx, TODO: new font elements: partentry, partentrypagenumber, chapterentry, chapterentrypagenumber, sectionentry, sectionentrypagenumber @@ -4230,19 +5932,20 @@ r394 2007-06-20 11:10:25 +0200 mjk: r393 2007-06-20 10:53:58 +0200 mjk: - * scrkbase.dtx: renamed \scr@ifvtex to \scr@ifVTeX and \ifvtex to - \ifVTeX + * scrkernel-basics.dtx: renamed \scr@ifvtex to \scr@ifVTeX and \ifvtex + to \ifVTeX r392 2007-06-20 10:21:09 +0200 mjk: - * scrkfont.dtx, scrkbase.dtx, scrktare.dtx, scrkcomp.dtx: - \scr@ifundefined renamed to \scr@ifundefinedorrelax, \ifundefined - renamed to \ifundefinedorrelax + * scrkernel-compatibility.dtx, scrkernel-fonts.dtx, + scrkernel-typearea.dtx, scrkernel-basics.dtx: \scr@ifundefined renamed + to \scr@ifundefinedorrelax, \ifundefined renamed to + \ifundefinedorrelax r391 2007-06-20 09:28:05 +0200 mjk: - * scrktitl.dtx, TODO: new title command \subtitle with font element - subtitle + * TODO, scrkernel-title.dtx: new title command \subtitle with font + element subtitle r390 2007-06-14 09:56:35 +0200 mjk: @@ -4257,7 +5960,7 @@ r389 2007-06-06 09:32:40 +0200 mjk: r388 2007-06-06 09:28:51 +0200 mjk: - * scrkfloa.dtx: vertical alignment of captions fixed by adding + * scrkernel-floats.dtx: vertical alignment of captions fixed by adding \unskip\strut r387 2007-06-06 08:40:10 +0200 mjk: @@ -4306,11 +6009,11 @@ r379 2007-05-28 14:53:53 +0200 mjk: r378 2007-05-28 12:13:28 +0200 mjk: - * scrkvers.dtx: prepared for new 2.97c BETA + * scrkernel-version.dtx: prepared for new 2.97c BETA r377 2007-05-28 12:11:20 +0200 mjk: - * scrkfont.dtx: fix: use of \KOMA@UseObsolete replaced + * scrkernel-fonts.dtx: fix: use of \KOMA@UseObsolete replaced r376 2007-05-25 12:19:59 +0200 mjk: @@ -4324,24 +6027,25 @@ r375 2007-05-22 17:39:37 +0200 mjk: r374 2007-05-17 10:30:34 +0200 mjk: - * scrknpap.dtx: file date fixed + * scrkernel-notepaper.dtx: file date fixed r373 2007-05-17 10:30:11 +0200 mjk: - * scrknpap.dtx: new: \flushbottom uses \stopletter to deactivate - itself at the last page + * scrkernel-notepaper.dtx: new: \flushbottom uses \stopletter to + deactivate itself at the last page r372 2007-05-14 18:30:12 +0200 mjk: - * scrknpap.dtx: new: font elements "refname" and "refvalue" + * scrkernel-notepaper.dtx: new: font elements "refname" and "refvalue" r371 2007-05-12 18:20:38 +0200 mjk: - * scrkcomp.dtx: checksum fixed + * scrkernel-compatibility.dtx: checksum fixed r370 2007-05-12 18:04:15 +0200 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for 2.97c BETA + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + 2.97c BETA r369 2007-05-08 11:56:13 +0200 mjk: @@ -4349,26 +6053,28 @@ r369 2007-05-08 11:56:13 +0200 mjk: r368 2007-05-08 11:18:59 +0200 mjk: - * scrknpap.dtx: font (color) and thickness of foldmarks and fromrule - configurable using font elements "foldmark" and "fromrule" and - pseudo lengths "foldmarkthickness" and "fromrulethickness" + * scrkernel-notepaper.dtx: font (color) and thickness of foldmarks and + fromrule configurable using font elements "foldmark" and "fromrule" + and pseudo lengths "foldmarkthickness" and "fromrulethickness" r367 2007-04-19 17:15:07 +0200 mjk: - * scrkbase.dtx, scrkpage.dtx, scrktare.dtx, scrkmisc.dtx: New - implementation of option execution + * scrkernel-pagestyles.dtx, scrkernel-miscellaneous.dtx, + scrkernel-typearea.dtx, scrkernel-basics.dtx: New implementation of + option execution r366 2007-04-17 09:33:44 +0200 mjk: - * scrkbase.dtx: - changed: message text about obsolete options etc. + * scrkernel-basics.dtx: - changed: message text about obsolete options + etc. r365 2007-03-30 12:56:32 +0200 mjk: - * scrknpap.dtx: `locfield=narrow' and `locfield=wide' fixed + * scrkernel-notepaper.dtx: `locfield=narrow' and `locfield=wide' fixed r364 2007-03-25 11:13:12 +0200 mjk: - * scrkvers.dtx: Pepared for new BETA + * scrkernel-version.dtx: Pepared for new BETA r363 2007-03-25 11:12:55 +0200 mjk: @@ -4376,20 +6082,22 @@ r363 2007-03-25 11:12:55 +0200 mjk: r362 2007-03-25 10:48:11 +0200 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for release 2.97b + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + release 2.97b r361 2007-03-09 15:22:09 +0100 mjk: - * scrksect.dtx: bug at \@@makechapterhead using chapterprefix fixed + * scrkernel-sections.dtx: bug at \@@makechapterhead using + chapterprefix fixed r360 2007-03-08 11:49:23 +0100 mjk: - * scrkbase.dtx: use of \ifcsname for definition of \scr@ifundefined - fixed + * scrkernel-basics.dtx: use of \ifcsname for definition of + \scr@ifundefined fixed r359 2007-03-07 11:07:50 +0100 mjk: - * scrkvers.dtx: prepared for new BETA + * scrkernel-version.dtx: prepared for new BETA r358 2007-03-07 11:07:29 +0100 mjk: @@ -4401,7 +6109,8 @@ r357 2007-03-07 10:47:26 +0100 mjk: r356 2007-03-07 10:40:27 +0100 mjk: - * scrkvers.dtx, scrkcomp.dtx: prepared for version 2.97a + * scrkernel-version.dtx, scrkernel-compatibility.dtx: prepared for + version 2.97a r355 2007-03-07 10:39:55 +0100 mjk: @@ -4422,11 +6131,11 @@ r351 2007-03-02 11:50:10 +0100 mjk: r350 2007-03-02 11:47:35 +0100 mjk: - * scrkcomp.dtx: v2.97 added + * scrkernel-compatibility.dtx: v2.97 added r349 2007-03-02 11:33:19 +0100 mjk: - * scrkvers.dtx: new beta + * scrkernel-version.dtx: new beta r348 2007-03-02 11:32:35 +0100 mjk: @@ -4434,7 +6143,7 @@ r348 2007-03-02 11:32:35 +0100 mjk: r347 2007-03-02 09:39:10 +0100 mjk: - * scrkvers.dtx: prepared for release 2.97 + * scrkernel-version.dtx: prepared for release 2.97 r346 2007-03-02 09:37:06 +0100 mjk: @@ -4442,14 +6151,15 @@ r346 2007-03-02 09:37:06 +0100 mjk: r345 2007-02-27 13:01:29 +0100 mjk: - * scrkfloa.dtx: fix: min. caption width is 0pt + * scrkernel-floats.dtx: fix: min. caption width is 0pt r344 2007-01-24 17:49:13 +0100 mjk: - * scrksect.dtx: fix: \@seccntformat gives \othersectionlevelsformat - \csname the#1\endcsname, that will be used by the default - \othersectionlevelformat with 3 (instead of 1) arguments. With this - \automark{subsubsection} will give correct numbers at head. + * scrkernel-sections.dtx: fix: \@seccntformat gives + \othersectionlevelsformat \csname the#1\endcsname, that will be used + by the default \othersectionlevelformat with 3 (instead of 1) + arguments. With this \automark{subsubsection} will give correct + numbers at head. r343 2007-01-12 09:57:36 +0100 mjk: @@ -4458,42 +6168,46 @@ r343 2007-01-12 09:57:36 +0100 mjk: r341 2007-01-09 19:07:25 +0100 mjk: - * scrsource.tex, scrksect.dtx, scrbeta.dtx, scrmain.ins, - scrkfont.dtx, scrkxflo.dtx, scrkbase.dtx, scrktitl.dtx, scrkpage.dtx, - scrkvers.dtx, scrkfloa.dtx, Makefile.baserules, scrkpar.dtx, - scrkliof.dtx, Makefile, scrstrip.inc, manifest.txt, scrstrop.inc, - scrlfile.ins, scrklist.dtx, scrlfile.dtx, scrklang.dtx, scrkidx.dtx, - scrlogo.dtx, scrkftn.dtx, Makefile.baseinit, scrdoc.dtx, - scrktare.dtx, scrkmisc.dtx, scrkbib.dtx, scraddr.dtx, scrtime.dtx, - komabug.tex, scrkplen.dtx, scrpage.dtx, scraddr.ins, scrtime.ins, - scrpage.ins, scrklco.dtx, scrkcomp.dtx, scrlettr.dtx, scrknpap.dtx, - scrlettr.ins, scrkvars.dtx, scrkcile.dtx, doc/, doc/Makefile.guide, - doc/plength.dtx, doc/scrguide.ist, doc/scrguide.cls, doc/guide.tex, - doc/scrguide.gst, doc/Makefile, doc/Makefile.latexinit, doc/german/, - doc/german/guide-ngerman.tex, doc/german/introduction.tex, - doc/german/scrdatetime.tex, doc/german/scraddr.tex, - doc/german/scrlfile.tex, doc/german/Makefile, - doc/german/scrbookreportarticle.tex, doc/german/scrpage2.tex, - doc/german/typearea.tex, doc/german/scrlttr2.tex, - doc/german/adrconvnote.tex, doc/german/htmlsetup, doc/english/, - doc/english/Makefile, doc/english/htmlsetup, - doc/english/guide-english.tex, doc/english/introduction.tex, - doc/english/typearea.tex, doc/english/scrdatetime.tex, - doc/english/scrpage2.tex, doc/english/scrlfile.tex, - doc/english/scraddr.tex, doc/english/scrlttr2.tex, - doc/english/adrconvnote.tex, doc/english/scrbookreportarticle.tex: - copyright end date changed to 2007 + * scrkernel-sections.dtx, scrpage.dtx, scrsource.tex, + scrkernel-index.dtx, scrtime.dtx, scrdoc.dtx, + scrkernel-bibliography.dtx, scrkernel-version.dtx, scrlogo.dtx, + scrstrip.inc, scrkernel-compatibility.dtx, scraddr.dtx, + scrkernel-pseudolengths.dtx, scrkernel-pagestyles.dtx, + scrkernel-letterclassoptions.dtx, scrkernel-circularletters.dtx, + scrkernel-fonts.dtx, scrbeta.dtx, scrkernel-listsandtabulars.dtx, + Makefile.baseinit, scrkernel-footnotes.dtx, Makefile, scrmain.ins, + Makefile.baserules, scrkernel-listsof.dtx, scrlfile.dtx, komabug.tex, + scrkernel-paragraphs.dtx, scrkxflo.dtx, scrkernel-language.dtx, + scrkernel-notepaper.dtx, scrkernel-miscellaneous.dtx, + scrkernel-variables.dtx, manifest.txt, scrstrop.inc, + scrkernel-floats.dtx, scrkernel-typearea.dtx, scrkernel-basics.dtx, + scrkernel-title.dtx, obsolete/scrlettr.dtx, obsolete/scrlettr.ins, + doc/, doc/plength.dtx, doc/Makefile.latexinit, doc/guide.tex, + doc/Makefile, doc/scrguide.cls, doc/Makefile.guide, doc/scrguide.ist, + doc/scrguide.gst, doc/english/, doc/english/scrlfile.tex, + doc/english/scrlttr2.tex, doc/english/htmlsetup, + doc/english/scrbookreportarticle.tex, doc/english/adrconvnote.tex, + doc/english/scrdatetime.tex, doc/english/introduction.tex, + doc/english/Makefile, doc/english/typearea.tex, + doc/english/scraddr.tex, doc/english/guide-english.tex, + doc/english/scrpage2.tex, doc/german/, doc/german/scrlfile.tex, + doc/german/scrlttr2.tex, doc/german/htmlsetup, + doc/german/scrbookreportarticle.tex, doc/german/adrconvnote.tex, + doc/german/scrdatetime.tex, doc/german/introduction.tex, + doc/german/guide-ngerman.tex, doc/german/Makefile, + doc/german/typearea.tex, doc/german/scraddr.tex, + doc/german/scrpage2.tex: copyright end date changed to 2007 r340 2007-01-09 11:41:16 +0100 mjk: - * TODO, doc/, doc/german/, doc/german/scrbookreportarticle.tex, - doc/english/, doc/english/scrbookreportarticle.tex: documentation of + * TODO, doc/, doc/english/, doc/english/scrbookreportarticle.tex, + doc/german/, doc/german/scrbookreportarticle.tex: documentation of page break changes at toc r339 2007-01-09 11:39:44 +0100 mjk: - * scrksect.dtx: fix: element "minisec" may not be an alias element and - a real element + * scrkernel-sections.dtx: fix: element "minisec" may not be an alias + element and a real element r338 2007-01-08 10:44:47 +0100 mjk: @@ -4535,11 +6249,13 @@ r331 2007-01-04 11:53:49 +0100 mjk: r330 2007-01-03 12:46:55 +0100 mjk: - * scrkpage.dtx: fix for option cleardoublepage, value current + * scrkernel-pagestyles.dtx: fix for option cleardoublepage, value + current r329 2007-01-02 11:06:17 +0100 mjk: - * scrkpage.dtx: replacement for option cleardoublestandard fixed + * scrkernel-pagestyles.dtx: replacement for option cleardoublestandard + fixed r328 2006-12-12 10:30:56 +0100 mjk: @@ -4553,8 +6269,8 @@ r327 2006-12-12 10:30:21 +0100 mjk: r326 2006-12-07 11:50:19 +0100 mjk: - * scrksect.dtx, TODO: bug with automatic set dot at end of numbers - fixed + * scrkernel-sections.dtx, TODO: bug with automatic set dot at end of + numbers fixed r325 2006-12-07 10:56:31 +0100 mjk: @@ -4566,12 +6282,12 @@ r324 2006-12-07 10:54:29 +0100 mjk: r323 2006-12-07 09:58:16 +0100 mjk: - * scrknpap.dtx: bugfix: refline=wide was narrow and refline=narrow was - wide + * scrkernel-notepaper.dtx: bugfix: refline=wide was narrow and + refline=narrow was wide r322 2006-12-07 09:53:17 +0100 mjk: - * scrksect.dtx: typo fix at use of command \scr@v@2.96 + * scrkernel-sections.dtx: typo fix at use of command \scr@v@2.96 r321 2006-12-03 12:00:28 +0100 mjk: @@ -4579,23 +6295,23 @@ r321 2006-12-03 12:00:28 +0100 mjk: r320 2006-12-03 11:58:12 +0100 mjk: - * scrksect.dtx, scrkliof.dtx: new option "chapteratlists" with values - entry or amount of vertical space + * scrkernel-sections.dtx, scrkernel-listsof.dtx: new option + "chapteratlists" with values entry or amount of vertical space r319 2006-12-03 09:24:15 +0100 mjk: - * scrksect.dtx: New font element "minisec" and not needed \nobreak at - font selection of headings removed with the result that the last - entry of an font element may need an argument. \caps from soul may - not be used because of implementation of \@sect and \@ssect at the - LaTeX kernel. + * scrkernel-sections.dtx: New font element "minisec" and not needed + \nobreak at font selection of headings removed with the result that + the last entry of an font element may need an argument. \caps from + soul may not be used because of implementation of \@sect and \@ssect + at the LaTeX kernel. r318 2006-12-02 11:41:37 +0100 mjk: - * scrksect.dtx: last command of font elements part, partnumber, - chapter and chapterprefix (new) may need an argument that does not - effect \baselineskip. To make command \caps of package soul work - also default of \chapterformat was changed (\mbox added). + * scrkernel-sections.dtx: last command of font elements part, + partnumber, chapter and chapterprefix (new) may need an argument + that does not effect \baselineskip. To make command \caps of package + soul work also default of \chapterformat was changed (\mbox added). r317 2006-12-02 11:38:22 +0100 mjk: @@ -4604,8 +6320,8 @@ r317 2006-12-02 11:38:22 +0100 mjk: r316 2006-12-02 11:37:12 +0100 mjk: - * scrktare.dtx: - new hook at end of \typearea and new command - \AfterCalculatingTypearea to + * scrkernel-typearea.dtx: - new hook at end of \typearea and new + command \AfterCalculatingTypearea to handle the hook - mew command \activateareas to activate changes of layout parameters even @@ -4618,8 +6334,8 @@ r315 2006-12-02 11:33:29 +0100 mjk: r314 2006-11-30 19:57:36 +0100 mjk: - * scrksect.dtx: extended the page break algorithm at toc from part - down to chapter or section down to subparagraph + * scrkernel-sections.dtx: extended the page break algorithm at toc + from part down to chapter or section down to subparagraph r313 2006-11-29 16:38:15 +0100 mjk: @@ -4633,23 +6349,23 @@ r312 2006-11-29 16:29:25 +0100 mjk: r311 2006-11-28 11:50:17 +0100 mjk: - * scrksect.dtx: Mit Option version (ohne Wert oder mit Wert ab 2.96a) - erfolgt im Inhaltsverzeichnis kein Seitenumbruch mehr zwischen part- - und chapter-, bzw. part- und section-, bzw. chapter- und section-, - bzw. section- und subsection-Eintrag. Das genau Verhalten ist von - der Klasse abhängig. + * scrkernel-sections.dtx: Mit Option version (ohne Wert oder mit Wert + ab 2.96a) erfolgt im Inhaltsverzeichnis kein Seitenumbruch mehr + zwischen part- und chapter-, bzw. part- und section-, bzw. chapter- + und section-, bzw. section- und subsection-Eintrag. Das genau + Verhalten ist von der Klasse abhängig. r310 2006-11-28 09:26:08 +0100 mjk: - * scrksect.dtx, scrkcomp.dtx: New version will behave different in - section etc. headings with parskip options used. -- Dssss und die - folgenden Zeilen werden ignoriert -- + * scrkernel-sections.dtx, scrkernel-compatibility.dtx: New version + will behave different in section etc. headings with parskip options + used. -- Dssss und die folgenden Zeilen werden ignoriert -- M scrksect.dtx M scrkcomp.dtx r309 2006-11-26 11:38:02 +0100 mjk: - * scrkvers.dtx: new BETA + * scrkernel-version.dtx: new BETA r308 2006-11-26 11:37:27 +0100 mjk: @@ -4657,7 +6373,7 @@ r308 2006-11-26 11:37:27 +0100 mjk: r307 2006-11-26 11:30:55 +0100 mjk: - * scrkvers.dtx: Release: 2006/11/26 v2.96 + * scrkernel-version.dtx: Release: 2006/11/26 v2.96 r306 2006-11-26 11:29:27 +0100 mjk: @@ -4665,11 +6381,11 @@ r306 2006-11-26 11:29:27 +0100 mjk: r305 2006-11-26 11:27:07 +0100 mjk: - * scrkbase.dtx: Commands, that have an internal and an external name - (defined using \let@as@internal@defined) may optional be defined - only internal (using option internalonly). The backslash of the - macro name has to be replaced by a slash at the option argument (e. - g. "internalonly=/ifvtex/ifundefined"). + * scrkernel-basics.dtx: Commands, that have an internal and an + external name (defined using \let@as@internal@defined) may optional + be defined only internal (using option internalonly). The backslash + of the macro name has to be replaced by a slash at the option + argument (e. g. "internalonly=/ifvtex/ifundefined"). r304 2006-09-12 09:57:55 +0200 mjk: @@ -4677,12 +6393,12 @@ r304 2006-09-12 09:57:55 +0200 mjk: r303 2006-09-12 09:57:18 +0200 mjk: - * doc/, doc/german/, doc/german/typearea.tex, doc/english/, - doc/english/typearea.tex: fix: line number at \areaset example + * doc/, doc/english/, doc/english/typearea.tex, doc/german/, + doc/german/typearea.tex: fix: line number at \areaset example r302 2006-09-12 09:55:01 +0200 mjk: - * scrktare.dtx: fix: set \topskip + * scrkernel-typearea.dtx: fix: set \topskip r301 2006-09-10 08:42:55 +0200 mjk: @@ -4690,7 +6406,7 @@ r301 2006-09-10 08:42:55 +0200 mjk: r300 2006-08-30 10:09:32 +0200 mjk: - * scrkvers.dtx: ready for release of 2.96 BETA + * scrkernel-version.dtx: ready for release of 2.96 BETA r299 2006-08-27 09:20:08 +0200 mjk: @@ -4699,50 +6415,51 @@ r299 2006-08-27 09:20:08 +0200 mjk: r298 2006-08-21 12:51:18 +0200 mjk: - * scrktare.dtx: new: warn if \typearea is used at any group + * scrkernel-typearea.dtx: new: warn if \typearea is used at any group r297 2006-08-21 12:17:06 +0200 mjk: - * scrksect.dtx, scrkmisc.dtx: change: some more options changed to use - keyval + * scrkernel-sections.dtx, scrkernel-miscellaneous.dtx: change: some + more options changed to use keyval r296 2006-08-21 12:16:03 +0200 mjk: - * scrktitl.dtx: fix: \maketitle sets \parskip etc. + * scrkernel-title.dtx: fix: \maketitle sets \parskip etc. r295 2006-08-20 12:10:53 +0200 mjk: - * scrkbase.dtx: fix: \ProcessOptions added + * scrkernel-basics.dtx: fix: \ProcessOptions added r294 2006-08-20 12:05:29 +0200 mjk: - * scrkbase.dtx: new: \AfterKOMAoptions + * scrkernel-basics.dtx: new: \AfterKOMAoptions r293 2006-08-20 12:03:59 +0200 mjk: - * scrkfont.dtx: fix: change entries + * scrkernel-fonts.dtx: fix: change entries r292 2006-08-20 12:03:01 +0200 mjk: - * scrktare.dtx: fix: typos at change entries + * scrkernel-typearea.dtx: fix: typos at change entries r291 2006-08-20 10:27:41 +0200 mjk: - * scrkbase.dtx: fix: preserve \CurrentOption from being destroyed by - xkeyval`s \setkeys + * scrkernel-basics.dtx: fix: preserve \CurrentOption from being + destroyed by xkeyval`s \setkeys r290 2006-08-18 17:05:25 +0200 mjk: - * scrktare.dtx: changed: \ProcessOptions* instead of \ProcessOptions + * scrkernel-typearea.dtx: changed: \ProcessOptions* instead of + \ProcessOptions r289 2006-08-18 17:03:14 +0200 mjk: - * scrkbase.dtx: fix: \DeclareKeyValOption works if xkeyval was loaded; - unused macros removed + * scrkernel-basics.dtx: fix: \DeclareKeyValOption works if xkeyval was + loaded; unused macros removed r288 2006-08-18 10:46:42 +0200 mjk: - * scrkfont.dtx: Fix: \usekomafont of an alias element + * scrkernel-fonts.dtx: Fix: \usekomafont of an alias element r287 2006-08-12 09:34:36 +0200 mjk: @@ -4750,21 +6467,22 @@ r287 2006-08-12 09:34:36 +0200 mjk: r286 2006-08-12 09:33:28 +0200 mjk: - * scrkvers.dtx: Version with new features not only bug fixes + * scrkernel-version.dtx: Version with new features not only bug fixes r285 2006-08-12 09:31:59 +0200 mjk: - * scrkfont.dtx, scrktare.dtx: every font size may be set up + * scrkernel-fonts.dtx, scrkernel-typearea.dtx: every font size may be + set up r284 2006-08-12 09:25:46 +0200 mjk: - * scrkbase.dtx, scrkcomp.dtx: internal use of \scr@ifundefined instead - of \ifundefined + * scrkernel-compatibility.dtx, scrkernel-basics.dtx: internal use of + \scr@ifundefined instead of \ifundefined r283 2006-08-11 12:37:15 +0200 mjk: - * scrkpage.dtx: Fix: arguments of \PassOptionsToPackage exchanged at - headinclude and footinclude + * scrkernel-pagestyles.dtx: Fix: arguments of \PassOptionsToPackage + exchanged at headinclude and footinclude r274 2006-08-09 08:50:14 +0200 mjk: @@ -4772,7 +6490,8 @@ r274 2006-08-09 08:50:14 +0200 mjk: r272 2006-08-03 12:16:01 +0200 mjk: - * scrkpar.dtx: fix: set \parsep at \@list@extra instead of \parskip + * scrkernel-paragraphs.dtx: fix: set \parsep at \@list@extra instead + of \parskip r271 2006-08-02 09:44:51 +0200 mjk: @@ -4780,9 +6499,9 @@ r271 2006-08-02 09:44:51 +0200 mjk: r270 2006-08-02 09:43:15 +0200 mjk: - * scrknpap.dtx: new: option backaddress has two new values: underlines - (default) to underline the back sending address, plain to set the - back sending address plain + * scrkernel-notepaper.dtx: new: option backaddress has two new values: + underlines (default) to underline the back sending address, plain to + set the back sending address plain r269 2006-08-02 09:36:18 +0200 mjk: @@ -4794,7 +6513,7 @@ r268 2006-08-02 09:35:29 +0200 mjk: r267 2006-07-30 11:39:17 +0200 mjk: - * scrkvers.dtx: 2.95c BETA + * scrkernel-version.dtx: 2.95c BETA r266 2006-07-30 11:38:37 +0200 mjk: @@ -4802,26 +6521,26 @@ r266 2006-07-30 11:38:37 +0200 mjk: r265 2006-07-30 11:19:37 +0200 mjk: - * scrkvers.dtx: prepared for new release v2.95b + * scrkernel-version.dtx: prepared for new release v2.95b r264 2006-07-30 11:17:26 +0200 mjk: - * scrksect.dtx: replaces sectioning by new term disposition; + * scrkernel-sections.dtx: replaces sectioning by new term disposition; sectioning is a font alias for disposition, now r263 2006-07-30 11:15:44 +0200 mjk: - * scrkfont.dtx: Breaking of some messages improved + * scrkernel-fonts.dtx: Breaking of some messages improved r262 2006-07-28 18:10:07 +0200 mjk: - * scrkmisc.dtx: \ifthispageodd fixed, it uses basics of the LaTeX - label mechanism now, so ``run again'' detection of several TeX - shells should work + * scrkernel-miscellaneous.dtx: \ifthispageodd fixed, it uses basics of + the LaTeX label mechanism now, so ``run again'' detection of several + TeX shells should work r261 2006-07-22 07:53:58 +0200 mjk: - * scrkvers.dtx: new BETA + * scrkernel-version.dtx: new BETA r260 2006-07-22 07:53:28 +0200 mjk: @@ -4829,31 +6548,32 @@ r260 2006-07-22 07:53:28 +0200 mjk: r259 2006-07-22 07:46:10 +0200 mjk: - * scrkvers.dtx: v2.95a + * scrkernel-version.dtx: v2.95a r258 2006-07-22 07:42:14 +0200 mjk: - * scrkliof.dtx: switching off options tocleft or listsleft will not - longer result in an error + * scrkernel-listsof.dtx: switching off options tocleft or listsleft + will not longer result in an error r257 2006-07-22 07:41:17 +0200 mjk: - * scrksect.dtx: new: \partheadstartvskip, \partheadmidvskip, + * scrkernel-sections.dtx: new: \partheadstartvskip, \partheadmidvskip, \partheadendvskip, \raggedpart r256 2006-07-20 09:46:55 +0200 mjk: - * scrklist.dtx: \@listdepth at addmargin fixed + * scrkernel-listsandtabulars.dtx: \@listdepth at addmargin fixed r255 2006-07-20 09:46:11 +0200 mjk: - * scrktare.dtx: \normalsize to \typearea added; expressions for big - font sizes improved + * scrkernel-typearea.dtx: \normalsize to \typearea added; expressions + for big font sizes improved r254 2006-07-13 10:36:46 +0200 mjk: - * scrkfloa.dtx: fix: vertical alignment of multi line captions same - like single line caption does not longer depend on (x)color package + * scrkernel-floats.dtx: fix: vertical alignment of multi line captions + same like single line caption does not longer depend on (x)color + package r253 2006-07-13 10:35:15 +0200 mjk: @@ -4870,7 +6590,7 @@ r251 2006-07-06 15:14:55 +0200 mjk: r248 2006-07-05 10:16:16 +0200 mjk: - * scrkvers.dtx: next beta + * scrkernel-version.dtx: next beta r247 2006-07-05 10:15:02 +0200 mjk: @@ -4886,7 +6606,7 @@ r243 2006-07-05 09:39:06 +0200 mjk: r241 2006-07-05 09:08:45 +0200 mjk: - * scrkvers.dtx: Release: 2006/07/05 v2.95 KOMA-Script + * scrkernel-version.dtx: Release: 2006/07/05 v2.95 KOMA-Script r240 2006-07-05 09:07:03 +0200 mjk: @@ -4894,7 +6614,8 @@ r240 2006-07-05 09:07:03 +0200 mjk: r239 2006-07-04 18:15:00 +0200 mjk: - * scrksect.dtx: at \appendix replaced \newcommand* by \cs{gdef} + * scrkernel-sections.dtx: at \appendix replaced \newcommand* by + \cs{gdef} r238 2006-07-04 09:43:32 +0200 mjk: @@ -4903,7 +6624,8 @@ r238 2006-07-04 09:43:32 +0200 mjk: r237 2006-07-03 10:05:49 +0200 mjk: - * scrkfloa.dtx: unused assignment at \@@makecaption removed [Moss] + * scrkernel-floats.dtx: unused assignment at \@@makecaption removed + [Moss] r236 2006-07-01 09:21:32 +0200 mjk: @@ -4977,7 +6699,7 @@ r221 2006-06-27 09:42:10 +0200 mjk: r220 2006-06-20 09:19:08 +0200 mjk: - * scrkvers.dtx: ready for 2.95 RC3 + * scrkernel-version.dtx: ready for 2.95 RC3 r219 2006-06-14 10:34:22 +0200 mjk: @@ -5005,23 +6727,24 @@ r212 2006-06-07 13:04:01 +0200 mjk: r211 2006-06-07 12:57:14 +0200 mjk: - * scrkvers.dtx: Ready for release 2.95 RC2 + * scrkernel-version.dtx: Ready for release 2.95 RC2 r210 2006-06-06 10:39:42 +0200 mjk: - * scrknpap.dtx: fix: foldmarks should not depenand on type area + * scrkernel-notepaper.dtx: fix: foldmarks should not depenand on type + area r209 2006-06-02 12:10:07 +0200 mjk: - * scrkfont.dtx: \l@addto@macro improved + * scrkernel-fonts.dtx: \l@addto@macro improved r208 2006-06-01 13:32:57 +0200 mjk: - * scrklang.dtx: fix: Define \today default at all classes + * scrkernel-language.dtx: fix: Define \today default at all classes r207 2006-06-01 10:54:36 +0200 mjk: - * scrkvers.dtx: Beta on the way to RC2 + * scrkernel-version.dtx: Beta on the way to RC2 r206 2006-06-01 10:52:07 +0200 mjk: @@ -5037,16 +6760,17 @@ r203 2006-05-31 09:32:40 +0200 mjk: r202 2006-05-31 09:30:52 +0200 mjk: - * scrkvers.dtx, Makefile, README: Almost ready for release 2.95 RC1 + * scrkernel-version.dtx, README, Makefile: Almost ready for release + 2.95 RC1 r200 2006-05-27 08:22:36 +0200 mjk: - * Makefile, README, INSTALLD.txt, INSTALL.txt: release candidate 1 + * INSTALLD.txt, README, Makefile, INSTALL.txt: release candidate 1 r199 2006-05-10 14:13:39 +0200 mjk: - * doc/, doc/german/, doc/german/guide-ngerman.tex, doc/english/, - doc/english/guide-english.tex: Licence note fixed + * doc/, doc/english/, doc/english/guide-english.tex, doc/german/, + doc/german/guide-ngerman.tex: Licence note fixed r198 2006-05-10 12:56:11 +0200 mjk: @@ -5059,11 +6783,11 @@ r197 2006-05-10 12:42:44 +0200 mjk: r196 2006-05-04 09:25:36 +0200 mjk: - * scrknpap.dtx: KOMA key pagenumber fixed [Henk Jongbloets] + * scrkernel-notepaper.dtx: KOMA key pagenumber fixed [Henk Jongbloets] r195 2006-05-03 16:11:07 +0200 mjk: - * Makefile, manifest.txt, komabug.tex: komabug.tex added + * Makefile, komabug.tex, manifest.txt: komabug.tex added r194 2006-05-02 10:19:59 +0200 mjk: @@ -5098,37 +6822,39 @@ r188 2006-04-24 11:04:42 +0200 mjk: r187 2006-04-21 10:13:43 +0200 mjk: - * scrkfont.dtx: \newkomafont fixed (define \scr@fnt@<element> not - longer as \csname @<element>font\endcsname but at \@<element>font) + * scrkernel-fonts.dtx: \newkomafont fixed (define \scr@fnt@<element> + not longer as \csname @<element>font\endcsname but at + \@<element>font) r186 2006-04-20 14:09:24 +0200 mjk: - * scrkfont.dtx: \setkomafont fixed + * scrkernel-fonts.dtx: \setkomafont fixed r185 2006-04-20 10:41:12 +0200 mjk: - * scrkvers.dtx: new date of beta release + * scrkernel-version.dtx: new date of beta release r184 2006-04-20 08:09:46 +0200 mjk: - * scrksect.dtx: \@@makechapterhead fixed: brace moved + * scrkernel-sections.dtx: \@@makechapterhead fixed: brace moved r183 2006-04-14 15:40:32 +0200 mjk: - * scrkpar.dtx: work around for everysel added + * scrkernel-paragraphs.dtx: work around for everysel added r182 2006-04-14 12:36:58 +0200 mjk: - * scrknpap.dtx: option "subject" fixed: old garbage code removed + * scrkernel-notepaper.dtx: option "subject" fixed: old garbage code + removed r181 2006-04-11 11:18:24 +0200 mjk: - * Makefile.baseinit, doc/, doc/Makefile.guide, doc/Makefile: + * Makefile.baseinit, doc/, doc/Makefile, doc/Makefile.guide: installation using links r180 2006-04-10 12:04:55 +0200 mjk: - * README, TODO: README changed + * TODO, README: README changed r179 2006-04-08 12:01:51 +0200 mjk: @@ -5140,7 +6866,7 @@ r178 2006-04-08 12:01:25 +0200 mjk: r177 2006-04-08 11:44:09 +0200 mjk: - * scrstrip.inc, manifest.txt, TODO: manifest test added + * scrstrip.inc, TODO, manifest.txt: manifest test added r176 2006-03-31 14:09:18 +0200 mjk: @@ -5153,8 +6879,8 @@ r175 2006-03-31 13:56:27 +0200 mjk: r174 2006-03-31 11:06:56 +0200 mjk: - * TODO, scrkcomp.dtx: \@setif implemented iff option version was set - to a value less than 2.95 + * scrkernel-compatibility.dtx, TODO: \@setif implemented iff option + version was set to a value less than 2.95 r173 2006-03-30 18:51:43 +0200 mjk: @@ -5164,17 +6890,13 @@ r172 2006-03-30 18:35:59 +0200 mjk: * INSTALLD.txt: Deutsche Installationsanleitung -r171 2006-03-30 16:38:07 +0200 mjk: - - * scrtime.ins: preamble fixed - r170 2006-03-30 16:25:37 +0200 mjk: * manifest.txt: scrtime added r169 2006-03-30 16:24:27 +0200 mjk: - * scrmain.ins, Makefile, scrtime.dtx, scrtime.ins: scrtime added + * scrtime.dtx, Makefile, scrmain.ins: scrtime added r168 2006-03-30 13:04:36 +0200 mjk: @@ -5190,14 +6912,14 @@ r166 2006-03-30 12:08:16 +0200 mjk: r165 2006-03-30 12:04:05 +0200 mjk: - * Makefile, Makefile.baseinit: rules dist-, install-, uninstall-, and + * Makefile.baseinit, Makefile: rules dist-, install-, uninstall-, and bindist-rules updated r164 2006-03-30 12:02:08 +0200 mjk: - * Makefile, Makefile.baseinit, doc/, doc/Makefile.guide, - doc/Makefile: rules dist-, install-, uninstall-, and bindist-rules - updated + * Makefile.baseinit, Makefile, doc/, doc/Makefile, + doc/Makefile.guide: rules dist-, install-, uninstall-, and + bindist-rules updated r163 2006-03-30 10:19:06 +0200 mjk: @@ -5209,7 +6931,7 @@ r162 2006-03-29 11:12:47 +0200 mjk: r161 2006-03-29 11:10:52 +0200 mjk: - * scrkbase.dtx: undefine \ifpdftex before loading pdfcprot and + * scrkernel-basics.dtx: undefine \ifpdftex before loading pdfcprot and redefine after loading pdfcprot r160 2006-03-29 11:09:45 +0200 mjk: @@ -5218,36 +6940,40 @@ r160 2006-03-29 11:09:45 +0200 mjk: r159 2006-03-29 10:26:53 +0200 mjk: - * scrsource.tex, scrksect.dtx, scrbeta.dtx, scrmain.ins, - scrkfont.dtx, scrkxflo.dtx, scrkbase.dtx, scrktitl.dtx, scrkpage.dtx, - scrkvers.dtx, scrkfloa.dtx, Makefile.baserules, scrkpar.dtx, - scrkliof.dtx, Makefile, scrstrip.inc, manifest.txt, scrstrop.inc, - scrlfile.ins, scrklist.dtx, scrlfile.dtx, scrklang.dtx, scrkidx.dtx, - scrlogo.dtx, scrkftn.dtx, Makefile.baseinit, scrdoc.dtx, - scrktare.dtx, scrkmisc.dtx, scrkbib.dtx, scraddr.dtx, scrkplen.dtx, - scrpage.dtx, scraddr.ins, scrpage.ins, scrklco.dtx, scrkcomp.dtx, - scrlettr.dtx, scrknpap.dtx, scrlettr.ins, scrkvars.dtx, scrkcile.dtx, - doc/, doc/Makefile.guide, doc/plength.dtx, doc/scrguide.cls, - doc/guide.tex, doc/scrguide.gst, doc/Makefile, doc/bin/, - doc/bin/genindex.pl, doc/bin/genhtmlidx.pl, doc/german/, - doc/german/guide-ngerman.tex, doc/german/introduction.tex, - doc/german/scrdatetime.tex, doc/german/scraddr.tex, - doc/german/scrlfile.tex, doc/german/Makefile, - doc/german/scrbookreportarticle.tex, doc/german/scrpage2.tex, - doc/german/typearea.tex, doc/german/scrlttr2.tex, - doc/german/adrconvnote.tex, doc/german/htmlsetup, doc/english/, - doc/english/Makefile, doc/english/htmlsetup, - doc/english/guide-english.tex, doc/english/introduction.tex, - doc/english/typearea.tex, doc/english/scrdatetime.tex, - doc/english/scrpage2.tex, doc/english/scrlfile.tex, - doc/english/scraddr.tex, doc/english/scrlttr2.tex, - doc/english/adrconvnote.tex, doc/english/scrbookreportarticle.tex: fix - of initial comment + * scrkernel-sections.dtx, scrpage.dtx, scrsource.tex, + scrkernel-index.dtx, scrdoc.dtx, scrkernel-bibliography.dtx, + scrkernel-version.dtx, scrlogo.dtx, scrstrip.inc, + scrkernel-compatibility.dtx, scraddr.dtx, + scrkernel-pseudolengths.dtx, scrkernel-pagestyles.dtx, + scrkernel-letterclassoptions.dtx, scrkernel-circularletters.dtx, + scrkernel-fonts.dtx, scrbeta.dtx, scrkernel-listsandtabulars.dtx, + Makefile.baseinit, scrkernel-footnotes.dtx, Makefile, scrmain.ins, + Makefile.baserules, scrkernel-listsof.dtx, scrlfile.dtx, + scrkernel-paragraphs.dtx, scrkxflo.dtx, scrkernel-language.dtx, + scrkernel-notepaper.dtx, scrkernel-miscellaneous.dtx, + scrkernel-variables.dtx, manifest.txt, scrstrop.inc, + scrkernel-floats.dtx, scrkernel-typearea.dtx, scrkernel-basics.dtx, + scrkernel-title.dtx, obsolete/scrlettr.dtx, obsolete/scrlettr.ins, + doc/, doc/plength.dtx, doc/guide.tex, doc/Makefile, doc/scrguide.cls, + doc/Makefile.guide, doc/scrguide.gst, doc/english/, + doc/english/scrlfile.tex, doc/english/scrlttr2.tex, + doc/english/htmlsetup, doc/english/scrbookreportarticle.tex, + doc/english/adrconvnote.tex, doc/english/scrdatetime.tex, + doc/english/introduction.tex, doc/english/Makefile, + doc/english/typearea.tex, doc/english/scraddr.tex, + doc/english/guide-english.tex, doc/english/scrpage2.tex, doc/german/, + doc/german/scrlfile.tex, doc/german/scrlttr2.tex, + doc/german/htmlsetup, doc/german/scrbookreportarticle.tex, + doc/german/adrconvnote.tex, doc/german/scrdatetime.tex, + doc/german/introduction.tex, doc/german/guide-ngerman.tex, + doc/german/Makefile, doc/german/typearea.tex, doc/german/scraddr.tex, + doc/german/scrpage2.tex, doc/bin/, doc/bin/genhtmlidx.pl, + doc/bin/genindex.pl: fix of initial comment r158 2006-03-29 10:12:51 +0200 mjk: - * scrmain.ins, Makefile, scrlettr.dtx, scrlettr.ins: obsolete scrlettr - added + * Makefile, scrmain.ins, obsolete/scrlettr.dtx, + obsolete/scrlettr.ins: obsolete scrlettr added r157 2006-03-29 09:42:59 +0200 mjk: @@ -5255,25 +6981,26 @@ r157 2006-03-29 09:42:59 +0200 mjk: r156 2006-03-29 09:41:30 +0200 mjk: - * scrmain.ins, scrpage.dtx, scrpage.ins: scrpage/scrpage2 added + * scrpage.dtx, scrmain.ins: scrpage/scrpage2 added r155 2006-03-29 09:39:57 +0200 mjk: * scrbeta.dtx: distringuish scrpage and scrpage2 -r154 2006-03-29 09:14:56 +0200 mjk: - - * scraddr.ins: \idocfiles fixed - r153 2006-03-28 09:30:06 +0200 mjk: - * scrksect.dtx, scrbeta.dtx, scrkfont.dtx, scrkxflo.dtx, - scrkbase.dtx, scrktitl.dtx, scrkpage.dtx, scrkvers.dtx, scrkfloa.dtx, - scrkpar.dtx, scrkliof.dtx, scrklist.dtx, scrlfile.dtx, scrklang.dtx, - scrkidx.dtx, scrlogo.dtx, scrkftn.dtx, scrktare.dtx, scrkmisc.dtx, - scrkbib.dtx, scraddr.dtx, scrkplen.dtx, scrklco.dtx, scrkcomp.dtx, - scrknpap.dtx, scrkvars.dtx, scrkcile.dtx: character table test - activated + * scrkernel-sections.dtx, scrkernel-index.dtx, + scrkernel-bibliography.dtx, scrkernel-version.dtx, scrlogo.dtx, + scrkernel-compatibility.dtx, scraddr.dtx, + scrkernel-pseudolengths.dtx, scrkernel-pagestyles.dtx, + scrkernel-letterclassoptions.dtx, scrkernel-circularletters.dtx, + scrkernel-fonts.dtx, scrbeta.dtx, scrkernel-listsandtabulars.dtx, + scrkernel-footnotes.dtx, scrkernel-listsof.dtx, scrlfile.dtx, + scrkernel-paragraphs.dtx, scrkxflo.dtx, scrkernel-language.dtx, + scrkernel-notepaper.dtx, scrkernel-miscellaneous.dtx, + scrkernel-variables.dtx, scrkernel-floats.dtx, + scrkernel-typearea.dtx, scrkernel-basics.dtx, scrkernel-title.dtx: + character table test activated r152 2006-03-28 09:13:39 +0200 mjk: @@ -5285,12 +7012,12 @@ r151 2006-03-28 08:59:06 +0200 mjk: r150 2006-03-27 12:17:35 +0200 mjk: - * scrkbase.dtx, scrktare.dtx: some commands moved from scrktare to - scrkbase and fixed + * scrkernel-typearea.dtx, scrkernel-basics.dtx: some commands moved + from scrktare to scrkbase and fixed r149 2006-03-27 09:57:45 +0200 mjk: - * scrmain.ins, Makefile, scraddr.dtx, scraddr.ins: scraddr added + * scraddr.dtx, Makefile, scrmain.ins: scraddr added r148 2006-03-25 10:42:41 +0100 mjk: @@ -5298,24 +7025,30 @@ r148 2006-03-25 10:42:41 +0100 mjk: r147 2006-03-25 10:32:59 +0100 mjk: - * scrksect.dtx, scrkfont.dtx, scrkxflo.dtx, scrkbase.dtx, - scrktitl.dtx, scrkpage.dtx, scrkvers.dtx, scrkfloa.dtx, scrkpar.dtx, - scrkliof.dtx, scrklist.dtx, scrlfile.dtx, scrklang.dtx, scrkidx.dtx, - scrlogo.dtx, scrkftn.dtx, scrktare.dtx, scrkmisc.dtx, scrkbib.dtx, - scrkplen.dtx, scrklco.dtx, scrkcomp.dtx, scrknpap.dtx, scrkvars.dtx, - scrkcile.dtx: Version number set to 2.95 + * scrkernel-sections.dtx, scrkernel-index.dtx, + scrkernel-bibliography.dtx, scrkernel-version.dtx, scrlogo.dtx, + scrkernel-compatibility.dtx, scrkernel-pseudolengths.dtx, + scrkernel-pagestyles.dtx, scrkernel-letterclassoptions.dtx, + scrkernel-circularletters.dtx, scrkernel-fonts.dtx, + scrkernel-listsandtabulars.dtx, scrkernel-footnotes.dtx, + scrkernel-listsof.dtx, scrlfile.dtx, scrkernel-paragraphs.dtx, + scrkxflo.dtx, scrkernel-language.dtx, scrkernel-notepaper.dtx, + scrkernel-miscellaneous.dtx, scrkernel-variables.dtx, + scrkernel-floats.dtx, scrkernel-typearea.dtx, scrkernel-basics.dtx, + scrkernel-title.dtx: Version number set to 2.95 r146 2006-03-25 08:49:38 +0100 mjk: - * scrklco.dtx: fix: Define \LCOWarning(NoLine) using \providecommand + * scrkernel-letterclassoptions.dtx: fix: Define \LCOWarning(NoLine) + using \providecommand r145 2006-03-25 08:48:42 +0100 mjk: - * scrklang.dtx: \dateenglish defined if undefined + * scrkernel-language.dtx: \dateenglish defined if undefined r144 2006-03-24 13:00:38 +0100 mjk: - * scrkvers.dtx: version date changed + * scrkernel-version.dtx: version date changed r143 2006-03-24 12:59:55 +0100 mjk: @@ -5323,11 +7056,11 @@ r143 2006-03-24 12:59:55 +0100 mjk: r142 2006-03-24 12:58:50 +0100 mjk: - * scrknpap.dtx: lco part with lco and KOMAold switch + * scrkernel-notepaper.dtx: lco part with lco and KOMAold switch r141 2006-03-24 12:58:16 +0100 mjk: - * scrklco.dtx: \LCOWarningNoLine and \LCOWarning + * scrkernel-letterclassoptions.dtx: \LCOWarningNoLine and \LCOWarning r140 2006-03-24 12:57:44 +0100 mjk: @@ -5335,7 +7068,7 @@ r140 2006-03-24 12:57:44 +0100 mjk: r138 2006-03-24 11:23:38 +0100 mjk: - * scrkfont.dtx: fixed: too many \expandafters at \setkomafont + * scrkernel-fonts.dtx: fixed: too many \expandafters at \setkomafont r137 2006-03-24 11:14:23 +0100 mjk: @@ -5343,7 +7076,7 @@ r137 2006-03-24 11:14:23 +0100 mjk: r135 2006-03-23 12:11:28 +0100 mjk: - * scrkcomp.dtx: version 2.95 added + * scrkernel-compatibility.dtx: version 2.95 added r134 2006-03-23 12:07:59 +0100 mjk: @@ -5359,35 +7092,35 @@ r132 2006-03-23 12:03:58 +0100 mjk: r131 2006-03-23 12:03:05 +0100 mjk: - * scrkvars.dtx: koma variables + * scrkernel-variables.dtx: koma variables r130 2006-03-23 12:02:34 +0100 mjk: - * scrkplen.dtx: pseudo length + * scrkernel-pseudolengths.dtx: pseudo length r129 2006-03-23 12:02:03 +0100 mjk: - * scrklco.dtx: lco part of scrlltr2 + * scrkernel-letterclassoptions.dtx: lco part of scrlltr2 r128 2006-03-23 12:01:39 +0100 mjk: - * scrkcile.dtx: circular letter part + * scrkernel-circularletters.dtx: circular letter part r127 2006-03-23 12:01:14 +0100 mjk: - * scrkvers.dtx: scrlttr2 name fixed + * scrkernel-version.dtx: scrlttr2 name fixed r126 2006-03-23 12:00:49 +0100 mjk: - * scrkpar.dtx: trace log fixed + * scrkernel-paragraphs.dtx: trace log fixed r125 2006-03-23 12:00:21 +0100 mjk: - * scrkmisc.dtx: Default parskip=false added + * scrkernel-miscellaneous.dtx: Default parskip=false added r124 2006-03-23 11:59:08 +0100 mjk: - * scrknpap.dtx: note paper and letter environment + * scrkernel-notepaper.dtx: note paper and letter environment r123 2006-03-23 11:58:00 +0100 mjk: @@ -5395,38 +7128,44 @@ r123 2006-03-23 11:58:00 +0100 mjk: r122 2006-03-23 10:17:35 +0100 mjk: - * scrkfont.dtx: letter class uses default font size of 12 pt + * scrkernel-fonts.dtx: letter class uses default font size of 12 pt r121 2006-03-22 15:16:40 +0100 mjk: - * scrkpage.dtx: Use of \aliaskomafont + * scrkernel-pagestyles.dtx: Use of \aliaskomafont r120 2006-03-22 15:11:54 +0100 mjk: - * scrkfont.dtx: font aliases will produce infos not warnings or errors + * scrkernel-fonts.dtx: font aliases will produce infos not warnings or + errors r119 2006-03-22 14:47:25 +0100 mjk: - * scrkfont.dtx: Fix: \aliadkomafont --> \aliaskomafont + * scrkernel-fonts.dtx: Fix: \aliadkomafont --> \aliaskomafont r118 2006-03-22 14:35:11 +0100 mjk: - * scrksect.dtx: Use of \aliaskomafont + * scrkernel-sections.dtx: Use of \aliaskomafont r117 2006-03-22 14:31:50 +0100 mjk: - * scrkmisc.dtx: Use of \newkomafont + * scrkernel-miscellaneous.dtx: Use of \newkomafont r116 2006-03-22 11:00:30 +0100 mjk: - * scrkmisc.dtx: Call of \DeclareKeyValOption extended for scrlttr2 + * scrkernel-miscellaneous.dtx: Call of \DeclareKeyValOption extended + for scrlttr2 r115 2006-03-22 09:27:23 +0100 mjk: - * scrksect.dtx, scrkfont.dtx, scrkxflo.dtx, scrkbase.dtx, - scrktitl.dtx, scrkpage.dtx, scrkvers.dtx, scrkfloa.dtx, scrkpar.dtx, - scrkliof.dtx, scrklist.dtx, scrklang.dtx, scrkidx.dtx, scrlogo.dtx, - scrkftn.dtx, scrktare.dtx, scrkmisc.dtx, scrkbib.dtx, scrkcomp.dtx: + * scrkernel-sections.dtx, scrkernel-index.dtx, + scrkernel-bibliography.dtx, scrkernel-version.dtx, scrlogo.dtx, + scrkernel-compatibility.dtx, scrkernel-pagestyles.dtx, + scrkernel-fonts.dtx, scrkernel-listsandtabulars.dtx, + scrkernel-footnotes.dtx, scrkernel-listsof.dtx, + scrkernel-paragraphs.dtx, scrkxflo.dtx, scrkernel-language.dtx, + scrkernel-miscellaneous.dtx, scrkernel-floats.dtx, + scrkernel-typearea.dtx, scrkernel-basics.dtx, scrkernel-title.dtx: german --> ngerman r113 2006-03-22 09:24:57 +0100 mjk: @@ -5439,16 +7178,16 @@ r112 2006-03-22 09:22:13 +0100 mjk: r111 2006-03-20 10:59:13 +0100 mjk: - * scrklang.dtx: numerical date and language definitions for letters - added + * scrkernel-language.dtx: numerical date and language definitions for + letters added r110 2006-03-16 15:37:57 +0100 mjk: - * scrkcomp.dtx: New part to set up compatibility + * scrkernel-compatibility.dtx: New part to set up compatibility r109 2006-03-16 15:27:24 +0100 mjk: - * scrkpage.dtx: brace error at pagestyle plain fixed + * scrkernel-pagestyles.dtx: brace error at pagestyle plain fixed r107 2006-03-15 17:12:10 +0100 mjk: @@ -5472,95 +7211,96 @@ r103 2006-03-15 15:14:13 +0100 mjk: r102 2006-03-15 14:32:28 +0100 mjk: - * scrklist.dtx: scrlttr2 integration + * scrkernel-listsandtabulars.dtx: scrlttr2 integration r101 2006-03-15 14:29:11 +0100 mjk: - * scrkidx.dtx: scrlttr2 integration + * scrkernel-index.dtx: scrlttr2 integration r100 2006-03-15 14:27:49 +0100 mjk: - * scrkbib.dtx: scrlttr2 integration + * scrkernel-bibliography.dtx: scrlttr2 integration r99 2006-03-15 14:25:35 +0100 mjk: - * scrkliof.dtx: scrlttr2 integrated + * scrkernel-listsof.dtx: scrlttr2 integrated r98 2006-03-15 14:23:58 +0100 mjk: - * scrksect.dtx: scrlttr2 integration + * scrkernel-sections.dtx: scrlttr2 integration r97 2006-03-15 14:21:07 +0100 mjk: - * scrktitl.dtx: scrlttr2 integration + * scrkernel-title.dtx: scrlttr2 integration r96 2006-03-15 14:17:34 +0100 mjk: - * scrkpar.dtx: scrlttr2 integration + * scrkernel-paragraphs.dtx: scrlttr2 integration r95 2006-03-15 12:51:02 +0100 mjk: - * scrkpage.dtx: scrlttr2 integration + * scrkernel-pagestyles.dtx: scrlttr2 integration r94 2006-03-15 12:14:00 +0100 mjk: - * scrkftn.dtx: auctex mode doctex + * scrkernel-footnotes.dtx: auctex mode doctex r93 2006-03-15 12:10:49 +0100 mjk: - * scrkfloa.dtx: scrlttr2 integration + * scrkernel-floats.dtx: scrlttr2 integration r92 2006-03-15 11:22:48 +0100 mjk: - * scrktare.dtx: Option paper has no default value + * scrkernel-typearea.dtx: Option paper has no default value r91 2006-03-15 10:59:11 +0100 mjk: - * scrkmisc.dtx: scrlttr2 integration + * scrkernel-miscellaneous.dtx: scrlttr2 integration r90 2006-03-14 14:34:28 +0100 mjk: - * scrkbase.dtx: AucTeX mode: doctex + * scrkernel-basics.dtx: AucTeX mode: doctex r89 2006-03-14 14:33:10 +0100 mjk: - * scrkvers.dtx: scrlttr2 added + * scrkernel-version.dtx: scrlttr2 added r88 2006-03-13 14:16:37 +0100 mjk: - * scrkfont.dtx: file date fixed + * scrkernel-fonts.dtx: file date fixed r87 2006-03-13 14:14:32 +0100 mjk: - * scrkfont.dtx: Option fontsize=<value> implemented + * scrkernel-fonts.dtx: Option fontsize=<value> implemented r86 2006-03-13 13:52:01 +0100 mjk: - * scrkfont.dtx, scrktare.dtx: \@pt@scan moved from scrktare.dtx to - scrkfont.dtx + * scrkernel-fonts.dtx, scrkernel-typearea.dtx: \@pt@scan moved from + scrktare.dtx to scrkfont.dtx r84 2006-03-12 12:26:33 +0100 mjk: - * scrkpar.dtx: parskip=relative and parskip=absolute fixed + * scrkernel-paragraphs.dtx: parskip=relative and parskip=absolute + fixed r81 2006-03-11 09:10:40 +0100 mjk: - * scrkpar.dtx: parskip Optionen auf keyval umgestellt, neue Werte - "relative" und "absolute" + * scrkernel-paragraphs.dtx: parskip Optionen auf keyval umgestellt, + neue Werte "relative" und "absolute" r80 2006-03-10 13:07:47 +0100 mjk: - * scrktitl.dtx: Halbenglischen Ausdruck "in-page Titel" durch + * scrkernel-title.dtx: Halbenglischen Ausdruck "in-page Titel" durch "Titelkopf" ersetzt. r79 2006-03-10 13:01:07 +0100 mjk: - * scrkpar.dtx: Planung angegeben + * scrkernel-paragraphs.dtx: Planung angegeben r78 2006-03-10 12:35:26 +0100 mjk: - * scrklang.dtx: catcodes at definition ot \languagename should not - longer matter + * scrkernel-language.dtx: catcodes at definition ot \languagename + should not longer matter r74 2006-03-08 15:03:23 +0100 mjk: @@ -5568,29 +7308,31 @@ r74 2006-03-08 15:03:23 +0100 mjk: r72 2006-03-08 10:59:49 +0100 mjk: - * scrsource.tex, scrksect.dtx, scrbeta.dtx, scrmain.ins, - scrkfont.dtx, scrkxflo.dtx, scrkbase.dtx, scrktitl.dtx, scrkpage.dtx, - scrkvers.dtx, scrkfloa.dtx, Makefile.baserules, scrkpar.dtx, - scrkliof.dtx, Makefile, scrstrip.inc, scrstrop.inc, scrlfile.ins, - scrklist.dtx, scrlfile.dtx, scrklang.dtx, scrkidx.dtx, scrlogo.dtx, - scrkftn.dtx, Makefile.baseinit, scrdoc.dtx, scrktare.dtx, - scrkmisc.dtx, scrkbib.dtx, doc/, doc/Makefile.guide, doc/plength.dtx, - doc/scrguide.cls, doc/guide.tex, doc/scrguide.gst, doc/Makefile, - doc/bin/, doc/bin/genindex.pl, doc/bin/genhtmlidx.pl, doc/german/, - doc/german/guide-ngerman.tex, doc/german/introduction.tex, - doc/german/scrdatetime.tex, doc/german/scraddr.tex, - doc/german/scrlfile.tex, doc/german/Makefile, - doc/german/scrbookreportarticle.tex, doc/german/scrpage2.tex, - doc/german/typearea.tex, doc/german/scrlttr2.tex, - doc/german/adrconvnote.tex, doc/german/htmlsetup, doc/english/, - doc/english/Makefile, doc/english/htmlsetup, - doc/english/guide-english.tex, doc/english/introduction.tex, - doc/english/typearea.tex, doc/english/scrdatetime.tex, - doc/english/scrpage2.tex, doc/english/scrlfile.tex, - doc/english/scraddr.tex, doc/english/scrlttr2.tex, - doc/english/adrconvnote.tex, doc/english/scrbookreportarticle.tex: - scrksect.dtx scrbeta.dtx scrmain.ins scrkfont.dtx scrkxflo.dtx - scrkbase.dtx scrktitl.dtx scrkpage.dtx scrkvers.dtx + * scrkernel-sections.dtx, scrsource.tex, scrkernel-index.dtx, + scrdoc.dtx, scrkernel-bibliography.dtx, scrkernel-version.dtx, + scrlogo.dtx, scrstrip.inc, scrkernel-pagestyles.dtx, + scrkernel-fonts.dtx, scrbeta.dtx, scrkernel-listsandtabulars.dtx, + Makefile.baseinit, scrkernel-footnotes.dtx, Makefile, scrmain.ins, + Makefile.baserules, scrkernel-listsof.dtx, scrlfile.dtx, + scrkernel-paragraphs.dtx, scrkxflo.dtx, scrkernel-language.dtx, + scrkernel-miscellaneous.dtx, scrstrop.inc, scrkernel-floats.dtx, + scrkernel-typearea.dtx, scrkernel-basics.dtx, scrkernel-title.dtx, + doc/, doc/plength.dtx, doc/guide.tex, doc/Makefile, doc/scrguide.cls, + doc/Makefile.guide, doc/scrguide.gst, doc/english/, + doc/english/scrlfile.tex, doc/english/scrlttr2.tex, + doc/english/htmlsetup, doc/english/scrbookreportarticle.tex, + doc/english/adrconvnote.tex, doc/english/scrdatetime.tex, + doc/english/introduction.tex, doc/english/Makefile, + doc/english/typearea.tex, doc/english/scraddr.tex, + doc/english/guide-english.tex, doc/english/scrpage2.tex, doc/german/, + doc/german/scrlfile.tex, doc/german/scrlttr2.tex, + doc/german/htmlsetup, doc/german/scrbookreportarticle.tex, + doc/german/adrconvnote.tex, doc/german/scrdatetime.tex, + doc/german/introduction.tex, doc/german/guide-ngerman.tex, + doc/german/Makefile, doc/german/typearea.tex, doc/german/scraddr.tex, + doc/german/scrpage2.tex, doc/bin/, doc/bin/genhtmlidx.pl, + doc/bin/genindex.pl: scrksect.dtx scrbeta.dtx scrmain.ins scrkfont.dtx + scrkxflo.dtx scrkbase.dtx scrktitl.dtx scrkpage.dtx scrkvers.dtx Makefile.baserules scrkfloa.dtx scrkpar.dtx doc/plength.dtx doc/scrguide.gst doc/scrguide.cls doc/bin/genindex.pl doc/bin/genchangelog.pl doc/bin/genhtmlidx.pl @@ -5620,7 +7362,7 @@ r71 2006-03-08 10:39:05 +0100 mjk: r70 2006-03-08 10:27:23 +0100 mjk: - * scrkpar.dtx: - parskip error fixed (testet by + * scrkernel-paragraphs.dtx: - parskip error fixed (testet by testsuite/parskipindent) r68 2006-03-08 08:52:54 +0100 mjk: @@ -5638,8 +7380,8 @@ r60 2006-01-25 12:56:38 +0100 mjk: r59 2006-01-25 12:41:27 +0100 mjk: - * Makefile, doc/, doc/Makefile, doc/german/, doc/german/Makefile, - doc/english/, doc/english/Makefile: Get BASEDIR from parent + * Makefile, doc/, doc/Makefile, doc/english/, doc/english/Makefile, + doc/german/, doc/german/Makefile: Get BASEDIR from parent r50 2006-01-20 14:48:57 +0100 mjk: @@ -5661,14 +7403,13 @@ r46 2005-12-13 08:52:03 +0100 mjk: r45 2005-11-27 15:32:22 +0100 mjk: - * doc/, doc/Makefile, doc/english/, doc/english/Makefile, - doc/english/htmlsetup, doc/english/guide-english.tex, - doc/english/introduction.tex, doc/english/typearea.tex, - doc/english/scrdatetime.tex, doc/english/scrpage2.tex, - doc/english/scrlfile.tex, doc/english/scraddr.tex, - doc/english/scrlttr2.tex, doc/english/adrconvnote.tex, - doc/english/scrbookreportarticle.tex: Initial import of the englisch - guide + * doc/, doc/Makefile, doc/english/, doc/english/scrlfile.tex, + doc/english/scrlttr2.tex, doc/english/htmlsetup, + doc/english/scrbookreportarticle.tex, doc/english/adrconvnote.tex, + doc/english/scrdatetime.tex, doc/english/introduction.tex, + doc/english/Makefile, doc/english/typearea.tex, + doc/english/scraddr.tex, doc/english/guide-english.tex, + doc/english/scrpage2.tex: Initial import of the englisch guide r44 2005-11-27 12:14:29 +0100 mjk: @@ -5755,110 +7496,115 @@ r26 2005-08-15 10:49:52 +0200 mjk: r25 2005-08-13 07:47:02 +0200 mjk: - * doc/Makefile.guide, doc/scrguide.gst, doc/Makefile.latexinit: change - log generation + * doc/, doc/Makefile.latexinit, doc/Makefile.guide, doc/scrguide.gst: + change log generation r24 2005-08-12 17:04:01 +0200 mjk: - * doc/german/scrlttr2.tex: Explain before Declaration not after + * doc/, doc/german/, doc/german/scrlttr2.tex: Explain before + Declaration not after r23 2005-08-12 16:58:46 +0200 mjk: - * doc/german/scrbookreportarticle.tex: Explain before Declaration not - after + * doc/, doc/german/, doc/german/scrbookreportarticle.tex: Explain + before Declaration not after r22 2005-08-12 16:47:14 +0200 mjk: - * doc/german/typearea.tex: Explain should not start after Declaration - but before + * doc/, doc/german/, doc/german/typearea.tex: Explain should not start + after Declaration but before r21 2005-08-12 16:42:22 +0200 mjk: - * doc/scrguide.cls: \lstset-fix for buggy version of LM fonts + * doc/, doc/scrguide.cls: \lstset-fix for buggy version of LM fonts r20 2005-08-12 15:48:59 +0200 mjk: - * doc/Makefile.guide, doc/Makefile.latexinit: Generation of a html - index file supported + * doc/, doc/Makefile.latexinit, doc/Makefile.guide: Generation of a + html index file supported r19 2005-08-12 13:17:59 +0200 mjk: - * doc/bin/genhtmlidx.pl, doc/german/htmlsetup: Generation of a html - index file supported + * doc/, doc/german/, doc/german/htmlsetup, doc/bin/, + doc/bin/genhtmlidx.pl: Generation of a html index file supported r18 2005-08-12 09:53:52 +0200 mjk: - * doc/Makefile: new rule "edit" + * doc/, doc/Makefile: new rule "edit" r17 2005-08-12 09:52:44 +0200 mjk: - * doc/Makefile.guide: $(TEX_SRC) added to rule "guide.idx guide.aux" + * doc/, doc/Makefile.guide: $(TEX_SRC) added to rule "guide.idx + guide.aux" r16 2005-08-11 10:47:22 +0200 mjk: - * doc/scrguide.cls: The free version of the guide will be optimized to - be used on the screen instead to be printed. + * doc/, doc/scrguide.cls: The free version of the guide will be + optimized to be used on the screen instead to be printed. r15 2005-08-11 10:45:33 +0200 mjk: - * doc/german/guide-ngerman.tex: \GuideCopyright changed - ("Bildschirm-Version") + * doc/, doc/german/, doc/german/guide-ngerman.tex: \GuideCopyright + changed ("Bildschirm-Version") r14 2005-08-10 16:31:33 +0200 mjk: - * doc/scrguide.cls, doc/german/introduction.tex, - doc/german/scrdatetime.tex, doc/german/scraddr.tex, - doc/german/scrlfile.tex, doc/german/scrbookreportarticle.tex, - doc/german/scrpage2.tex, doc/german/typearea.tex, - doc/german/scrlttr2.tex, doc/german/adrconvnote.tex: \phantomsection - at Declaration environment not longer needed and used. Anchors are - more descriptive. + * doc/, doc/scrguide.cls, doc/german/, doc/german/scrlfile.tex, + doc/german/scrlttr2.tex, doc/german/scrbookreportarticle.tex, + doc/german/adrconvnote.tex, doc/german/scrdatetime.tex, + doc/german/introduction.tex, doc/german/typearea.tex, + doc/german/scraddr.tex, doc/german/scrpage2.tex: \phantomsection at + Declaration environment not longer needed and used. Anchors are more + descriptive. r13 2005-08-09 17:18:30 +0200 mjk: - * doc/Makefile.latexinit: - scrguide.bst removed + * doc/, doc/Makefile.latexinit: scrguide.bst removed r12 2005-08-09 17:16:59 +0200 mjk: - * doc/Makefile: - scrguide.bst removed + * doc/, doc/Makefile: scrguide.bst removed + +r11 2005-08-09 16:54:35 +0200 mjk: + + * doc/: not longer needed since babelbib supports the same thing r10 2005-08-09 16:50:42 +0200 mjk: - * doc/scrguide.cls: tablecaptionsabove; use of babalpha-fl + * doc/, doc/scrguide.cls: tablecaptionsabove; use of babalpha-fl r9 2005-08-09 14:51:14 +0200 mjk: - * doc/Makefile.latexinit: INDEXPOSTOP added + * doc/, doc/Makefile.latexinit: INDEXPOSTOP added r8 2005-08-09 14:50:53 +0200 mjk: - * doc/Makefile.guide: $(INDEXPOSTOP) added to latex function + * doc/, doc/Makefile.guide: $(INDEXPOSTOP) added to latex function r7 2005-08-09 14:50:08 +0200 mjk: - * doc/german/scrbookreportarticle.tex: \AddSeeIndex entries fixed + * doc/, doc/german/, doc/german/scrbookreportarticle.tex: \AddSeeIndex + entries fixed r6 2005-08-09 14:49:44 +0200 mjk: - * doc/scrguide.ist: - start of comment line fixed + * doc/, doc/scrguide.ist: start of comment line fixed r5 2005-08-09 14:49:12 +0200 mjk: - * doc/scrguide.cls: macros of multiindex fixed + * doc/, doc/scrguide.cls: macros of multiindex fixed r4 2005-07-27 09:43:44 +0200 mjk: - * doc/german/adrconvnote.tex: Initial subversion import of KOMA-Script - 3; see ChangeLog for version information prior to 2005-07-25 12:14 - and ChangeLog.2 for version information of KOMA-Script < 2.91 + * doc/, doc/german/, doc/german/adrconvnote.tex: Initial subversion + import of KOMA-Script 3; see ChangeLog for version information prior + to 2005-07-25 12:14 and ChangeLog.2 for version information of + KOMA-Script < 2.91 r3 2005-07-27 09:41:23 +0200 mjk: - * doc/Makefile.latexinit: While not all TeX-Distributions have BibTeX8 - use BibTeX by default. This may be changed some day. + * doc/, doc/Makefile.latexinit: While not all TeX-Distributions have + BibTeX8 use BibTeX by default. This may be changed some day. r2 2005-07-27 09:31:50 +0200 mjk: @@ -5867,25 +7613,28 @@ r2 2005-07-27 09:31:50 +0200 mjk: r1 2005-07-25 12:19:51 +0200 mjk: - * ./, scrsource.tex, scrksect.dtx, scrbeta.dtx, scrmain.ins, - ChangeLog.2, scrkfont.dtx, scrkxflo.dtx, scrkbase.dtx, scrktitl.dtx, - scrkpage.dtx, scrkvers.dtx, scrkfloa.dtx, Makefile.baserules, - scrkpar.dtx, scrkliof.dtx, .cvsignore, Makefile, scrstrip.inc, - template.sh, ChangeLog, scrstrop.inc, scrlfile.ins, scrklist.dtx, - README, scrlfile.dtx, scrklang.dtx, scrkidx.dtx, scrlogo.dtx, - missing.dtx, scrkftn.dtx, Makefile.cfg, Makefile.baseinit, - scrdoc.dtx, scrktare.dtx, scrkmisc.dtx, scrkbib.dtx, doc, - doc/Makefile.guide, doc/plength.dtx, doc/scrguide.ist, - doc/scrguide.cls, doc/guide.bib, doc/guide.tex, doc/Makefile, - doc/Makefile.latexinit, doc/bin, doc/bin/genindex.pl, doc/german, - doc/german/guide-ngerman.tex, doc/german/introduction.tex, - doc/german/scrdatetime.tex, doc/german/scraddr.tex, - doc/german/scrlfile.tex, doc/german/Makefile, - doc/german/scrbookreportarticle.tex, doc/german/scrpage2.tex, - doc/german/typearea.tex, doc/german/scrlttr2.tex: Initial subversion - import of KOMA-Script 3; see ChangeLog for version information prior - to 2005-07-25 12:14 and ChangeLog.2 for version information of - KOMA-Script < 2.91 + * scrkernel-sections.dtx, ChangeLog.2, scrsource.tex, + scrkernel-index.dtx, missing.dtx, scrdoc.dtx, + scrkernel-bibliography.dtx, scrkernel-version.dtx, scrlogo.dtx, + scrstrip.inc, scrkernel-pagestyles.dtx, scrkernel-fonts.dtx, README, + scrbeta.dtx, Makefile.cfg, scrkernel-listsandtabulars.dtx, + Makefile.baseinit, .cvsignore, ChangeLog.cvs, + scrkernel-footnotes.dtx, Makefile, scrmain.ins, Makefile.baserules, + scrkernel-listsof.dtx, scrlfile.dtx, scrkernel-paragraphs.dtx, + scrkxflo.dtx, scrkernel-language.dtx, scrkernel-miscellaneous.dtx, + scrstrop.inc, scrkernel-floats.dtx, scrkernel-typearea.dtx, + scrkernel-basics.dtx, scrkernel-title.dtx, doc/, doc/plength.dtx, + doc/Makefile.latexinit, doc/guide.tex, doc/Makefile, + doc/scrguide.cls, doc/Makefile.guide, doc/guide.bib, + doc/scrguide.ist, doc/german/, doc/german/scrlfile.tex, + doc/german/scrlttr2.tex, doc/german/scrbookreportarticle.tex, + doc/german/scrdatetime.tex, doc/german/introduction.tex, + doc/german/guide-ngerman.tex, doc/german/Makefile, + doc/german/typearea.tex, doc/german/scraddr.tex, + doc/german/scrpage2.tex, doc/bin/, doc/bin/genindex.pl: Initial + subversion import of KOMA-Script 3; see ChangeLog for version + information prior to 2005-07-25 12:14 and ChangeLog.2 for version + information of KOMA-Script < 2.91 ------- Switch from CVS to subversion ---------------------------------------- diff --git a/Master/texmf-dist/source/latex/koma-script/Makefile b/Master/texmf-dist/source/latex/koma-script/Makefile index bef6476017d..32da8d12b2d 100644 --- a/Master/texmf-dist/source/latex/koma-script/Makefile +++ b/Master/texmf-dist/source/latex/koma-script/Makefile @@ -1,6 +1,6 @@ # ====================================================================== # Makefile -# Copyright (c) Markus Kohm, 2002-2012 +# Copyright (c) Markus Kohm, 2002-2013 # # This file is part of the LaTeX2e KOMA-Script bundle. # @@ -18,7 +18,7 @@ # This work consists of all files listed in manifest.txt. # ---------------------------------------------------------------------- # Makefile -# Copyright (c) Markus Kohm, 2002-2012 +# Copyright (c) Markus Kohm, 2002-2013 # # Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, # Version 1.3c, verteilt und/oder veraendert werden. @@ -55,8 +55,8 @@ export MAINTAINDIR := $(DISTDIR)-maintain # ---------------------------------------------------------------------- # More than once used: # Make implementation documentation -define makedvifromdtx - if ! $(LATEX) $(NONSTOPMODE) $(DVIOUTPUT) $<; then \ +define makepdffromdtx + if ! $(LATEX) $(NONSTOPMODE) $(PDFOUTPUT) $<; then \ $(RM) -v $@; \ exit 1; \ fi @@ -65,7 +65,7 @@ define makedvifromdtx while $$oncemore; \ do \ if ! $(MKINDEX) $(basename $<) \ - || ! $(LATEX) $(NONSTOPMODE) $(DVIOUTPUT) $<; then \ + || ! $(LATEX) $(NONSTOPMODE) $(PDFOUTPUT) $<; then \ $(RM) -v $@; \ exit 1; \ fi; \ @@ -82,14 +82,10 @@ endef MAKE_FILES = Makefile Makefile.baserules Makefile.baseinit # ---------------------------------------------------------------------- # make classes, packages, etc. -INS_TEMPLATES = scrstrip.inc \ - scrstrop.inc - CLS_MAIN = scrbook.cls \ scrreprt.cls \ scrartcl.cls \ scrlttr2.cls \ - scrlettr.cls \ typearea.sty \ scrsize10pt.clo \ scrsize11pt.clo \ @@ -99,7 +95,6 @@ CLS_MAIN = scrbook.cls \ scrbase.sty \ scrkbase.sty \ scraddr.sty \ - scrpage.sty \ scrpage2.sty \ scrtime.sty \ scrdate.sty \ @@ -127,44 +122,49 @@ CLS_MAIN = scrbook.cls \ NipponLH.lco \ NipponLL.lco \ NipponRL.lco \ - KakuLL.lco + KakuLL.lco \ + scrlayer.sty \ + scrlayer-scrpage.sty \ + scrlayer-notecolumn.sty CLS_MAIN_DTX = scrbeta.dtx \ - scrkbase.dtx \ - scrkbib.dtx \ - scrkcile.dtx \ - scrkcomp.dtx \ - scrkfloa.dtx \ - scrkfont.dtx \ - scrkftn.dtx \ - scrkidx.dtx \ - scrklang.dtx \ - scrklco.dtx \ + scrkernel-basics.dtx \ + scrkernel-bibliography.dtx \ + scrkernel-circularletters.dtx \ + scrkernel-compatibility.dtx \ + scrkernel-floats.dtx \ + scrkernel-fonts.dtx \ + scrkernel-footnotes.dtx \ + scrkernel-index.dtx \ + scrkernel-language.dtx \ + scrkernel-letterclassoptions.dtx \ japanlco.dtx \ - scrkliof.dtx \ - scrklist.dtx \ - scrkmisc.dtx \ - scrknpap.dtx \ - scrkpage.dtx \ - scrkpar.dtx \ - scrkplen.dtx \ - scrksect.dtx \ - scrktare.dtx \ - scrktitl.dtx \ - scrkvars.dtx \ - scrkvers.dtx \ + scrkernel-listsof.dtx \ + scrkernel-listsandtabulars.dtx \ + scrkernel-miscellaneous.dtx \ + scrkernel-notepaper.dtx \ + scrkernel-pagestyles.dtx \ + scrkernel-paragraphs.dtx \ + scrkernel-pseudolengths.dtx \ + scrkernel-sections.dtx \ + scrkernel-typearea.dtx \ + scrkernel-title.dtx \ + scrkernel-variables.dtx \ + scrkernel-version.dtx \ scrlfile.dtx \ scrwfile.dtx \ scraddr.dtx \ scrpage.dtx \ scrtime.dtx \ - scrlettr.dtx \ scrlogo.dtx \ scrextend.dtx \ scrhack.dtx \ scrjura.dtx \ tocbasic.dtx \ - tocstyle.dtx + tocstyle.dtx \ + scrlayer.dtx \ + scrlayer-scrpage.dtx \ + scrlayer-notecolumn.dtx STATIC_DOC = README \ INSTALL.txt \ @@ -174,20 +174,18 @@ STATIC_DOC = README \ manifest.txt \ komabug.tex -CLS_MAIN_DVI = scrsource.dvi +CLS_MAIN_DVI = scrsource.pdf CLS_MAIN_INS = scrmain.ins -CLS_MAIN_SUBINS = scrlfile.ins scraddr.ins scrlettr.ins scrpage.ins +CLS_MAIN_SUBINS = scrstrip.inc scrstrop.inc scrdocstrip.tex -ALPHA_INS = tocstyle.dtx tocbasic.dtx scrjura.dtx scrwfile.dtx +ALPHA_INS = tocstyle.dtx scrjura.dtx scrwfile.dtx ALPHA_DOC = tocstyle.pdf scrjura.pdf scrhack.pdf ALPHA_DTX = $(subst .pdf,.dtx,$(ALPHA_DOC)) -DTX_IS_INS = tocstyle.dtx tocbasic.dtx scrjura.dtx scrwfile.dtx - CLS_MAIN_SRC = $(CLS_MAIN_DTX) $(CLS_MAIN_INS) $(CLS_MAIN_SUBINS) \ scrsource.tex @@ -198,12 +196,12 @@ $(ALPHA_DOC): $(ALPHA_DTX) $(MKINDEX) $(subst .pdf,,$@) $(LATEX) $(BATCHMODE) $(PDFOUTPUT) $(subst .pdf,.dtx,$@) -$(CLS_MAIN): $(CLS_MAIN_DVI) $(CLS_MAIN_INS) $(INS_TEMPLATES) $(MAKE_FILES) +$(CLS_MAIN): $(CLS_MAIN_DVI) $(CLS_MAIN_INS) $(MAKE_FILES) $(TEXUNPACK) $(CLS_MAIN_INS) $(foreach alphains,$(ALPHA_INS),$(TEXUNPACK) $(alphains);) -scrsource.dvi: scrsource.tex $(CLS_MAIN_DTX) $(MAKE_FILES) scrdoc.cls - $(makedvifromdtx) +scrsource.pdf: scrsource.tex $(CLS_MAIN_DTX) $(MAKE_FILES) scrdoc.cls + $(makepdffromdtx) scrdoc.cls: scrdoc.dtx $(SSYMLINK) scrdoc.dtx scrdoc.cls @@ -219,12 +217,12 @@ NODIST_GENERATED = $(CLS_DVIS) $(CLS_FILES) $(ALPHA_DOC) GENERATED = $(NODIST_GENERATED) ChangeLog \ scrjura.ins \ - scrlettr.drv \ scrwfile.ins scrwfile.tex scrwfile.drv \ tocbasic.ins tocbasic.tex \ - tocstyle.ins tocstyle.tex tocstyle.dvi tocstyle.drv + tocstyle.ins tocstyle.tex tocstyle.dvi tocstyle.drv \ + scrlayer.tex scrlayer-scrpage.tex scrlayer-notecolumn.tex -MISC_SRC = $(INS_TEMPLATES) $(MAKE_FILES) \ +MISC_SRC = $(MAKE_FILES) \ scrdoc.dtx ChangeLog ChangeLog.2 DIST_SRC = $(MISC_SRC) $(CLS_SRC) @@ -237,22 +235,29 @@ MAINTAIN_FILES = $(MAINTAIN_SRC) # ---------------------------------------------------------------------- # ---------------------------------------------------------------------- -# additional ruls +# additional rules tdsdist:dist # extract dist and make all $(UNTARGZ) $(DISTDIR).tar.gz chmod -R a+w $(DISTDIR) ifdef PREPARERELEASE - $(foreach dtxins,$(DTX_IS_INS),\ - sed -i -e 's/{trace,/{/g;s/\(\\let\\ifbeta=\\if\)true/\1false/;s/\(\\expandafter\\let\\expandafter\\ifbeta\\csname if\)true/\1false/' $(DISTDIR)/$(dtxins) && ) : developer/scripts/preparerelease.sh 2 $(notdir $(DISTDIR)) endif $(CD) $(notdir $(DISTDIR)) && \ $(MAKE) +ifdef PREPARERELEASE + $(MKDIR) $(notdir $(DISTDIR))/README.in + $(INSTALL) README.in/README.*.sty README.in/README.*.cls $(notdir $(DISTDIR))/README.in + developer/scripts/preparerelease.sh 3 $(notdir $(DISTDIR)) + $(RMDIR) $(notdir $(DISTDIR))/README.in +endif # install to temporary directory $(MKDIR) $(notdir $(DISTDIR))-bin/komascript-texmf $(CD) $(notdir $(DISTDIR)) && \ $(MAKE) INSTALLTEXMF=$(PWD)/$(notdir $(DISTDIR))-bin/komascript-texmf install +ifdef PREPARERELEASE + developer/scripts/preparerelease.sh final $(notdir $(DISTDIR)) +endif $(RMDIR) $(notdir $(DISTDIR)) $(SRM) $(notdir $(DISTDIR))-bin/komascript-texmf/ls-R # build the tds.zip @@ -276,7 +281,7 @@ bindist:tdsdist $(INSTALL) $(notdir $(DISTDIR))-bin/komascript-texmf/doc/latex/koma-script/*.txt $(notdir $(DISTDIR))-bin $(INSTALL) $(notdir $(DISTDIR))-bin/komascript-texmf/doc/latex/koma-script/README $(notdir $(DISTDIR))-bin $(INSTALL) $(notdir $(DISTDIR))-bin/komascript-texmf/doc/latex/koma-script/koma*.html $(notdir $(DISTDIR))-bin - $(GREP) 'CheckKOMAScriptVersion{' $(notdir $(DISTDIR))-bin/komascript-texmf/source/latex/koma-script/scrkvers.dtx | grep -o '2.*t' > $(notdir $(DISTDIR))-bin/VERSION + $(GREP) 'CheckKOMAScriptVersion{' $(notdir $(DISTDIR))-bin/komascript-texmf/source/latex/koma-script/scrkernel-version.dtx | grep -o '2.*t' > $(notdir $(DISTDIR))-bin/VERSION # build the bin.zip $(RMDIR) $(notdir $(DISTDIR))-bin/komascript-texmf $(SRM) $(notdir $(DISTDIR))-bin.zip @@ -302,7 +307,7 @@ ctandist:tdsdist $(notdir $(DISTDIR))-ctan/texmf/doc/latex/koma-script/README \ $(notdir $(DISTDIR))-ctan/texmf/source/latex/koma-script/ # generate VERSION at main source - $(GREP) 'CheckKOMAScriptVersion{' $(notdir $(DISTDIR))-ctan/texmf/source/latex/koma-script/scrkvers.dtx | grep -o '2.*t' \ + $(GREP) 'CheckKOMAScriptVersion{' $(notdir $(DISTDIR))-ctan/texmf/source/latex/koma-script/scrkernel-version.dtx | grep -o '2.*t' \ > $(notdir $(DISTDIR))-ctan/texmf/source/latex/koma-script/VERSION # generate README.distributors at upmost $(HEAD) 18 $(notdir $(DISTDIR))-ctan/texmf/source/latex/koma-script/README > $(notdir $(DISTDIR))-ctan/README.distributors diff --git a/Master/texmf-dist/source/latex/koma-script/Makefile.baseinit b/Master/texmf-dist/source/latex/koma-script/Makefile.baseinit index b6ff0e8f966..abeaa01b3a8 100644 --- a/Master/texmf-dist/source/latex/koma-script/Makefile.baseinit +++ b/Master/texmf-dist/source/latex/koma-script/Makefile.baseinit @@ -1,6 +1,6 @@ # ====================================================================== # Makefile.baseinit -# Copyright (c) Markus Kohm, 2002-2012 +# Copyright (c) Markus Kohm, 2002-2013 # # This file is part of the LaTeX2e KOMA-Script bundle. # @@ -18,7 +18,7 @@ # This work consists of all files listed in manifest.txt. # ---------------------------------------------------------------------- # Makefile.baseinit -# Copyright (c) Markus Kohm, 2002-2012 +# Copyright (c) Markus Kohm, 2002-2013 # # Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, # Version 1.3c, verteilt und/oder veraendert werden. @@ -48,7 +48,7 @@ # ---------------------------------------------------------------------- # KOMA-Script subfolder -KOMASCRIPTSUBDIR=/latex/koma-script +KOMASCRIPTSUBDIR=/koma-script # ---------------------------------------------------------------------- # The texmf-directory, where to install new stuff (see texmf.cnf) # If you don't know what to do, search for directory texmf at /usr. @@ -95,13 +95,16 @@ endif endif # ---------------------------------------------------------------------- # The directory, where to install *.cls, *.sty etc. -INSTALLCLSDIR ?= $(INSTALLTEXMF)/tex$(KOMASCRIPTSUBDIR) +INSTALLCLSDIR ?= $(INSTALLTEXMF)/tex/latex$(KOMASCRIPTSUBDIR) +# ---------------------------------------------------------------------- +# The directory, where to install generic *.tex files +INSTALLTEXDIR ?= $(INSTALLTEXMF)/tex/generic$(KOMASCRIPTSUBDIR) # ---------------------------------------------------------------------- # The directory, where to install documentation -INSTALLDOCDIR ?= $(INSTALLTEXMF)/doc$(KOMASCRIPTSUBDIR) +INSTALLDOCDIR ?= $(INSTALLTEXMF)/doc/latex$(KOMASCRIPTSUBDIR) # ---------------------------------------------------------------------- # The directory, where to install the sources -INSTALLSRCDIR ?= $(INSTALLTEXMF)/source$(KOMASCRIPTSUBDIR) +INSTALLSRCDIR ?= $(INSTALLTEXMF)/source/latex$(KOMASCRIPTSUBDIR) # ---------------------------------------------------------------------- # The directory, where to install demos INSTALLDEMODIR ?= $(INSTALLDOCDIR)/demo @@ -209,6 +212,7 @@ ifdef VERBOSE $(SECHO) Makefile.baseinit: variables and their values: $(SECHO) " INSTALLTEXMF =$(INSTALLTEXMF)" $(SECHO) " INSTALLSRCDIR =$(INSTALLSRCDIR)" + $(ECHO) " INSTALLTEXDIR =$(INSTALLTEXDIR)" $(SECHO) " INSTALLDOCDIR =$(INSTALLDOCDIR)" $(SECHO) " INSTALLDEMODIR=$(INSTALLDEMODIR)" $(SECHO) " INSTALLCLSDIR =$(INSTALLCLSDIR)" diff --git a/Master/texmf-dist/source/latex/koma-script/Makefile.baserules b/Master/texmf-dist/source/latex/koma-script/Makefile.baserules index 7858c965ac2..66c4d77590b 100644 --- a/Master/texmf-dist/source/latex/koma-script/Makefile.baserules +++ b/Master/texmf-dist/source/latex/koma-script/Makefile.baserules @@ -1,6 +1,6 @@ # ====================================================================== # Makefile.baserules -# Copyright (c) Markus Kohm, 2002-2012 +# Copyright (c) Markus Kohm, 2002-2013 # # This file is part of the LaTeX2e KOMA-Script bundle. # @@ -18,7 +18,7 @@ # This work consists of all files listed in manifest.txt. # ---------------------------------------------------------------------- # Makefile.baserules -# Copyright (c) Markus Kohm, 2002-2012 +# Copyright (c) Markus Kohm, 2002-2013 # # Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, # Version 1.3c, verteilt und/oder veraendert werden. diff --git a/Master/texmf-dist/source/latex/koma-script/doc/Makefile b/Master/texmf-dist/source/latex/koma-script/doc/Makefile index 9092d885d86..05097a7c297 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/Makefile +++ b/Master/texmf-dist/source/latex/koma-script/doc/Makefile @@ -1,6 +1,6 @@ # ====================================================================== # Makefile -# Copyright (c) Markus Kohm, 2002-2012 +# Copyright (c) Markus Kohm, 2002-2013 # # This file is part of the LaTeX2e KOMA-Script bundle. # @@ -18,7 +18,7 @@ # This work consists of all files listed in manifest.txt. # ---------------------------------------------------------------------- # Makefile -# Copyright (c) Markus Kohm, 2002-2012 +# Copyright (c) Markus Kohm, 2002-2013 # # Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, # Version 1.3c, verteilt und/oder veraendert werden. @@ -97,9 +97,13 @@ STATIC_DOC_SRC = koma-script.html STATIC_DOC_LINKS= komascript.html komascr.html \ scrbook.html scrreprt.html scrartcl.html scrlttr2.html \ + scrextend.html \ typearea.html scrpage2.html scraddr.html scrlfile.html \ scrwfile.html \ - scrtime.html scrdate.html tocbasic.html scrbase.html + scrtime.html scrdate.html tocbasic.html \ + scrlayer.html scrlayer-scrpage.html \ + scrlayer-notecolumn.html \ + scrbase.html scrhack.html DOC_SRC = scrguide.cls scrguide.ist scrguide.gst \ guide.tex guide.bib plength.dtx \ 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 8f76ea692dd..432d427419d 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/Makefile.guide +++ b/Master/texmf-dist/source/latex/koma-script/doc/Makefile.guide @@ -1,6 +1,6 @@ # ====================================================================== # Makefile.guide -# Copyright (c) Markus Kohm, 2002-2012 +# Copyright (c) Markus Kohm, 2002-2013 # # This file is part of the LaTeX2e KOMA-Script bundle. # @@ -18,7 +18,7 @@ # This work consists of all files listed in manifest.txt. # ---------------------------------------------------------------------- # Makefile.guide -# Copyright (c) Markus Kohm, 2002-2012 +# Copyright (c) Markus Kohm, 2002-2013 # # Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, # Version 1.3c, verteilt und/oder veraendert werden. @@ -70,19 +70,23 @@ endif TEX_CHAPTERS = preface.tex introduction.tex \ authorpart.tex typearea.tex scrbookreportarticle.tex \ - scrlttr2.tex scrpage2.tex scrdatetime.tex scraddr.tex \ + scrlttr2.tex scrlayer-scrpage.tex scrpage2.tex \ + scrdatetime.tex scraddr.tex \ adrconvnote.tex scrextend.tex \ expertpart.tex scrbase.tex scrlfile.tex scrwfile.tex \ tocbasic.tex scrhack.tex \ + scrlayer.tex \ + scrlayer-scrpage-experts.tex scrlayer-notecolumn.tex \ typearea-experts.tex scrbookreportarticle-experts.tex \ scrlttr2-experts.tex \ $(TEX_APPENDICES) -TEX_MISC = $(DOCDIR)guide.tex $(DOCDIR)linkalias.tex \ +TEX_MISC = ../guide.tex ../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 + common-12.tex common-13.tex common-14.tex common-15.tex \ + common-20.tex common-21.tex EXAMPLE_LETTER_DTX = scrlttr2examples.dtx @@ -93,6 +97,11 @@ EXAMPLE_LETTER_LETTERS = $(foreach num,\ EXAMPLE_LETTER_DTX_RESULT = $(EXAMPLE_LETTER_LETTERS) musterlogo.eps ich.lco +ifeq ($(LANGUAGE),ngerman) +EXAMPLE_NOTECOLUMN_SRC = scrlayer-notecolumn-example.tex +EXAMPLE_NOTECOLUMN_PDF = $(addsuffix .pdf,$(basename $(EXAMPLE_NOTECOLUMN_SRC))) +endif + PLENGTH_DTX = $(DOCDIR)plength.dtx PLENGTH_DTX_RESULT = plength.drv plenDIN.mp varDIN.mp plinc.mp \ @@ -108,18 +117,20 @@ 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_SRC = $(EXAMPLE_LETTER_PDF) $(PLENGTH_PDF) \ + $(EXAMPLE_NOTECOLUMN_PDF) GENERATED_CLEAN = $(GENERATED_SRC) \ $(EXAMPLE_LETTER_DTX_RESULT) letter-label.tex \ - $(PDF_EPS) \ + $(EXAMPLE_NOTECOLUMN_PDF) $(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) $(EXAMPLE_LETTER_DTX) +DIST_SRC = $(MISC_SRC) $(TEX_SRC) $(EXAMPLE_LETTER_DTX) \ + $(EXAMPLE_NOTECOLUMN_SRC) GUIDE_FILES = $(GUIDENAME).pdf $(GUIDENAME).html @@ -277,6 +288,11 @@ $(EXAMPLE_LETTER_PDF): $(EXAMPLE_LETTER_SRC) $(EXAMPLE_LETTER_DTX_RESULT): $(EXAMPLE_LETTER_DTX) $(PDFLATEX) $< +ifdef EXAMPLE_NOTECOLUMN_SRC +$(EXAMPLE_NOTECOLUMN_PDF): $(EXAMPLE_NOTECOLUMN_SRC) + $(PDFLATEX) $< +endif + guide.ind: guide.idx $(MAKEINDEX) $@ $< $(INDEXPOSTOP) guide diff --git a/Master/texmf-dist/source/latex/koma-script/doc/bin/genhtmlidx.pl b/Master/texmf-dist/source/latex/koma-script/doc/bin/genhtmlidx.pl index 65ec7e5b444..a49935fd8df 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/bin/genhtmlidx.pl +++ b/Master/texmf-dist/source/latex/koma-script/doc/bin/genhtmlidx.pl @@ -4,7 +4,7 @@ eval 'exec perl -S $0 ${1+"$@"}' # ====================================================================== # genhtmlidx.pl -# Copyright (c) Markus Kohm, 2002-2006 +# Copyright (c) Markus Kohm, 2002-2013 # # This file is part of the LaTeX2e KOMA-Script bundle. # @@ -22,7 +22,7 @@ eval 'exec perl -S $0 ${1+"$@"}' # This work consists of all files listed in manifest.txt. # ---------------------------------------------------------------------- # genhtmlidx.pl -# Copyright (c) Markus Kohm, 2002-2006 +# Copyright (c) Markus Kohm, 2002-2013 # # Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, # Version 1.3c, verteilt und/oder veraendert werden. @@ -62,6 +62,7 @@ my @counter; my @floatstyle; my @fontelement; my @file; +my @length; my $baselink; my $htmlhead; @@ -106,6 +107,8 @@ while ( $auxfile=shift ) { push @fontelement,$entry; } elsif ( "$2" eq "package" ) { push @file,$entry; + } elsif ( "$2" eq "length" ) { + push @length,$entry; } else { print STDERR "Unknown type $2!\n"; } @@ -146,6 +149,7 @@ print "<ul>\n"; print "<li><a href=\"#option\">$titles{option}</a></li>" if ( @option ); print "<li><a href=\"#macro\">$titles{macro}</a></li>" if ( @macro ); print "<li><a href=\"#environment\">$titles{environment}</a></li>" if ( @environment ); +print "<li><a href=\"#length\">$titles{length}</a></li>" if ( @length ); print "<li><a href=\"#plength\">$titles{plength}</a></li>" if ( @plength ); print "<li><a href=\"#variable\">$titles{variable}</a></li>" if ( @variable ); print "<li><a href=\"#pagestyle\">$titles{pagestyle}</a></li>" if ( @pagestyle ); @@ -158,6 +162,7 @@ print "</ul>\n"; process "option","",\@option; process "macro","\\",\@macro; process "environment","",\@environment; +process "length","",\@length; process "plength","",\@plength; process "variable","",\@variable; process "pagestyle","",\@pagestyle; diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/Makefile b/Master/texmf-dist/source/latex/koma-script/doc/english/Makefile index e9c2b0cd026..9ac3413dfaf 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/Makefile +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/Makefile @@ -53,7 +53,7 @@ tocbasic.tex: ../../tocbasic.tex if [ -L $@ ] || ! [ -f $@ ]; then $(SYMLINK) $< .; else touch $@; fi ../../tocbasic.tex: ../../tocbasic.dtx - cd ../.. && tex \\nonstopmode\\input tocbasic.dtx + cd ../.. && tex \\nonstopmode\\input $(basename $<) # ---------------------------------------------------------------------- # ---------------------------------------------------------------------- @@ -63,7 +63,17 @@ scrwfile.tex: ../../scrwfile.tex if [ -L $@ ] || ! [ -f $@ ]; then $(SYMLINK) $< .; else touch $@; fi ../../scrwfile.tex: ../../scrwfile.dtx - cd ../.. && tex \\nonstopmode\\input scrwfile.dtx + cd ../.. && tex \\nonstopmode\\input $(basename $<) +# ---------------------------------------------------------------------- + +# ---------------------------------------------------------------------- +# NOTE: Remove these rules after real translation of scrlayer-notecolumn.tex +# is available. +scrlayer-notecolumn.tex: ../../scrlayer-notecolumn.tex + if [ -L $@ ] || ! [ -f $@ ]; then $(SYMLINK) $< .; else touch $@; fi + +../../scrlayer-notecolumn.tex: ../../scrlayer-notecolumn.dtx + cd ../.. && tex \\nonstopmode\\input $(basename $<) # ---------------------------------------------------------------------- # 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 f950ed11530..deced1e00ca 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 @@ -1,6 +1,6 @@ % ====================================================================== % common-0.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % common-0.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,10 +45,12 @@ % % ====================================================================== -\ProvidesFile{common-0.tex}[2012/04/02 KOMA-Script guide (common paragraphs)] +\KOMAProvidesFile{common-0.tex} + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + KOMA-Script guide (common paragraphs)] \translator{Gernot Hassenpflug\and Krickette Murabayashi} -% Date of the translated German file: 2011/08/26 +% Date of the translated German file: 2013/08/08 \makeatletter \@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}% @@ -109,7 +111,7 @@ 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} or any introduction to \LaTeX, for example -\cite{l2short}.% +\cite{lshort}.% % \IfNotCommon{scrextend}{\par% When using a {\KOMAScript} class, no options should be passed on @@ -124,7 +126,17 @@ function the same in {\KOMAScript} as described in packages.}% \IfCommon{scrlttr2}{\ Actually, it is no longer necessary when using any {\KOMAScript} class to explicity load either one of these - packages.}}% + packages.}} + +You should note\textnote{Attention!}, that in opposite to the interface +described below the options interface of \Macro{documentclass} and +\Macro{usepackage} is not robust. So commands, lengths, counters and such +constructs may break inside the optional argument of these commands. Because +of this, the usage of a \LaTeX{} length inside the value of an option would +cause an error before \KOMAScript{} can get the control over the option +execution. So, if you want to use a \LaTeX{} length, counter or command a part +of the value of an option, you have to use \Macro{KOMAoptions} or +\Macro{KOMAoption}. These commands will be described next.% % \EndIndex{Cmd}{usepackage}% \EndIndex{Cmd}{documentclass}% 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 3dbcdad259b..69e02610745 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 @@ -1,6 +1,6 @@ % ====================================================================== % common-1.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % common-1.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,9 @@ % % ====================================================================== -\ProvidesFile{common-1.tex}[2012/04/08 KOMA-Script guide (common paragraphs)] +\KOMAProvidesFile{common-1.tex} + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + KOMA-Script guide (common paragraphs)] \translator{Markus Kohm\and Krickette Murabayashi} % Date of the translated German file: 2011/09/20 @@ -127,7 +129,7 @@ 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. +default behaviour as long as you do not 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 @@ -137,7 +139,7 @@ switching. Alternatively you may select another adjustment using 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 +before first implementation of the feature. Option \Option{version} does not 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. @@ -151,8 +153,8 @@ together with your document. latest version.% \end{Example}} -Please note\textnote{Attention!} that you can't change option \Option{version} -anymore after loading the % +Please note\textnote{Attention!} that you cannot change option +\Option{version} anymore after loading the % \IfCommon{maincls}{class}% \IfCommon{scrlttr2}{class}% \IfCommon{typearea}{package \Package{typearea}}% 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 2b10f4ae9c9..a3c209f6806 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 @@ -1,6 +1,6 @@ % ====================================================================== % common-10.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % common-10.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,9 @@ % % ====================================================================== -\ProvidesFile{common-10.tex}[2012/05/15 KOMA-Script guide (common paragraphs)] +\KOMAProvidesFile{common-10.tex} + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + KOMA-Script guide (common paragraphs)] \translator{Markus Kohm\and Krickette Murabayashi} % Date of the translated German file: 2012/01/01 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 55f9aeb02a8..e4f3ebb325b 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 @@ -1,6 +1,6 @@ % ====================================================================== % common-11.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % common-11.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,9 @@ % % ====================================================================== -\ProvidesFile{common-11.tex}[2012/02/07 KOMA-Script guide (common paragraphs)] +\KOMAProvidesFile{common-11.tex} + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + KOMA-Script guide (common paragraphs)] \translator{Gernot Hassenpflug\and Markus Kohm} % Date of the translated German file: 2012/01/01 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 a57b75f9624..a567512ef83 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 @@ -1,6 +1,6 @@ % ====================================================================== % common-12.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % common-12.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,9 @@ % % ====================================================================== -\ProvidesFile{common-12.tex}[2012/05/15 KOMA-Script guide (common paragraphs)] +\KOMAProvidesFile{common-12.tex} + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + KOMA-Script guide (common paragraphs)] \translator{Gernot Hassenpflug\and Markus Kohm\and Krickette Murabayashi} % Date of the translated German file: 2011/09/21 @@ -415,7 +417,7 @@ with the commands \Macro{setkomafont} and \Macro{addtokomafont} (see \autoref{se \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 to + in the usual way. But if you do not 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} 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 62a79e01ef9..e4f69fb2f48 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 @@ -1,6 +1,6 @@ % ====================================================================== % common-13.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % common-13.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,9 @@ % % ====================================================================== -\ProvidesFile{common-13.tex}[2012/02/14 KOMA-Script guide (common paragraphs)] +\KOMAProvidesFile{common-13.tex} + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + KOMA-Script guide (common paragraphs)] \translator{Gernot Hassenpflug\and Markus Kohm} % Date of the translated German file: 2011/09/03 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 afbd0583800..15f222f283b 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 @@ -1,6 +1,6 @@ % ====================================================================== % common-14.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % common-14.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,10 +45,12 @@ % % ====================================================================== -\ProvidesFile{common-14.tex}[2012/05/15 KOMA-Script guide (common paragraphs)] +\KOMAProvidesFile{common-14.tex} + [$Date: 2013-11-21 16:13:48 +0100 (Do, 21. Nov 2013) $ + KOMA-Script guide (common paragraphs)] \translator{Gernot Hassenpflug\and Markus Kohm\and Krickette Murabayashi} -% Date of the translated German file: 2012/01/01 +% Date of the translated German file: 2013/11/21 \makeatletter \@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}% @@ -103,9 +105,11 @@ should be used. \else %------------------------------------------------------- nur maincls - \begin{Declaration} - \KOption{titlepage}\PName{simple switch} + \KOption{titlepage}\PName{simple switch}\\ + \OptionValue{titlepage}{firstiscover} \end{Declaration}% \BeginIndex{Option}{titlepage~=\PName{simple switch}}% +\BeginIndex{Option}{titlepage~=\PValue{firstiscover}}% 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} @@ -127,6 +131,27 @@ 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}}% +The third choice,\ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Package{scrextend}} +\OptionValue{titlepage}{firstiscover}% +\important{\OptionValue{titlepage}{firstiscover}} does not only select title +pages. It additionally prints the first title page of +\Macro{maketitle}\IndexCmd{maketitle}, this is either the extra title or the +main title, as a cover\Index{cover} page. Every other setting of option +\Option{titlepage} would cancel this setting. The margins\important{% + \Macro{coverpagetopmargin}\\ + \Macro{coverpagebottommargin}\\ + \Macro{coverpageleftmargin}\\ + \Macro{coverpagerightmargin}} of the cover page are given by +\Macro{coverpagetopmargin}\IndexCmd[indexmain]{coverpagetopmargin}, +\Macro{coverpagebottommargin}\IndexCmd[indexmain]{coverpagebottommargin}, +\Macro{coverpageleftmargin}\IndexCmd[indexmain]{coverpageleftmargin} und +\Macro{coverpagerightmargin}\IndexCmd[indexmain]{coverpagerightmargin}. The +defaults of these depend on the lengths +\Length{topmargin}\IndexLength{topmargin} and +\Length{evensidemargin}\IndexLength{evensidemargin} and can be changed using +\Macro{renewcommand}. + \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.}% @@ -335,69 +360,16 @@ 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}). 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}). 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}). The font -size\textnote{Attention!} is, however, not affected (see +size. Beside all other element the font size\textnote{Attention!} is, +however, not affected by the font switching element \FontElement{title} (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}}, % -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}). - -\IfCommon{maincls}{% -\begin{table} -% \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 & 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} - \end{captionbeside} -\end{table}} + \Class{scrartcl}} is set just below the title. Below\important{\Macro{author}} the \PName{subtitle} appears the \PName{author}\Index[indexmain]{author}. Several authors can be @@ -424,6 +396,44 @@ 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}. +While\ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Package{scrextend}} printing the title elements the +equal named font switching elements will be used for all them. The defaults, +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}). \IfCommon{maincls}{% +\begin{table} +% \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 & Default \\ + \midrule + \FontElement{author} & \Macro{Large} \\ + \FontElement{date} & \Macro{Large} \\ + \FontElement{dedication} & \Macro{Large} \\ + \FontElement{publishers} & \Macro{Large} \\ + \FontElement{subject} & + \Macro{normalfont}\Macro{normalcolor}\Macro{bfseries}\Macro{Large} \\ + \FontElement{subtitle} & + \Macro{usekomafont}\PParameter{title}\Macro{large} \\ + \FontElement{title} & \Macro{usekomafont}\PParameter{disposition} \\ + \FontElement{titlehead} & \\ + \bottomrule + \end{tabular} + \end{captionbeside} +\end{table}} + With the exception of \PName{titlehead} and possible footnotes, all the items are centered horizontally. The information is summarised in \autoref{tab:maincls.mainTitle}% @@ -436,7 +446,7 @@ the items are centered horizontally. The information is summarised in \setcapindent{0pt}% % \caption \begin{captionbeside}[Main title]{% - Font size and horizontal positioning of the + Font 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] @@ -445,19 +455,21 @@ the items are centered horizontally. The information is summarised in \toprule Element & Command & Font & Orientation \\ \midrule - Title head & \Macro{titlehead} & \Macro{normalsize} & justified \\ + Title head & \Macro{titlehead} & \Macro{usekomafont}\PParameter{titlehead} & justified \\ Subject & \Macro{subject} & \Macro{usekomafont}\PParameter{subject} & centered \\ - Title & \Macro{title} & \Macro{huge}\Macro{usekomafont}\PParameter{title} & centered \\ + Title & \Macro{title} & \Macro{usekomafont}\PParameter{title}\Macro{huge} & 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 \\ + Authors & \Macro{author} & \Macro{usekomafont}\PParameter{author} & centered \\ + Date & \Macro{date} & \Macro{usekomafont}\PParameter{date} & centered \\ + Publishers & \Macro{publishers} & \Macro{usekomafont}\PParameter{publishers} & centered \\ \bottomrule \end{tabular} \end{captionbeside} \label{tab:maincls.mainTitle} -\end{table}} - + \end{table}} +Please note\textnote{Attention!}, that for the main title \Macro{huge} will be +used after the font switching element \Macro{title}. So you cannot change the +size of the main title using \Macro{setkomafont} or \Macro{addtokomafont}. \begin{Example} Assume you are writing a dissertation. The title page should have @@ -510,9 +522,9 @@ the items are centered horizontally. The information is summarised in \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. + often erroneously assumed that the cover\Index{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 @@ -525,6 +537,13 @@ the items are centered horizontally. The information is summarised in 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. + + Nevertheless, since \KOMAScript~3.12 the first title page of + \Macro{maketitle} can be printed as a cover page with different margins. For + more information about this see the description of option + \OptionValue{titlepage}{firstiscover}% + \IndexOption{titlepage~=\PValue{firstiscover}} on \autopageref{desc:\csname + label@base\endcsname.option.titlepage}. \end{Explain} % \EndIndex{Cmd}{titlehead}% 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 2f8f870f71d..ff61582d756 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 @@ -1,6 +1,6 @@ % ====================================================================== % common-15.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % common-15.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,9 @@ % % ====================================================================== -\ProvidesFile{common-15.tex}[2012/05/15 KOMA-Script guide (common paragraphs)] +\KOMAProvidesFile{common-15.tex} + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + KOMA-Script guide (common paragraphs)] \translator{Gernot Hassenpflug\and Markus Kohm\and Krickette Murabayashi} % Date of the translated German file: 2011/09/21 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 81a5e22d550..8ac590a8100 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 @@ -1,6 +1,6 @@ % ====================================================================== % common-2.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % common-2.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,9 @@ % % ====================================================================== -\ProvidesFile{common-2.tex}[2012/05/15 KOMA-Script guide (common paragraphs)] +\KOMAProvidesFile{common-2.tex} + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + KOMA-Script guide (common paragraphs)] \translator{Markus Kohm\and Gernot Hassenpflug\and Krickette Murabayashi} % Date of the translated German file: 2011/09/20 @@ -71,7 +73,7 @@ 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 +\Package{graphicx}\IndexPackage{graphicx} packages do not 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}).% diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/common-20.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/common-20.tex new file mode 100644 index 00000000000..85fdea3b1a8 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/common-20.tex @@ -0,0 +1,127 @@ +% ====================================================================== +% common-20.tex +% Copyright (c) Markus Kohm, 2013 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ---------------------------------------------------------------------- +% common-20.tex +% Copyright (c) Markus Kohm, 2013 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% +% Text that is common for several chapters of the KOMA-Script guide +% Maintained by Markus Kohm +% +% ---------------------------------------------------------------------- +% +% Absaetze, die mehreren Kapitels in der KOMA-Script-Anleitung gemeinsam sind +% Verwaltet von Markus Kohm +% +% ============================================================================ + +\KOMAProvidesFile{common-20.tex} + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + KOMA-Script guide (common paragraph: Head and Foot Height)] +\translator{Markus Kohm\and Jana Schubert\and Jens H\"uhne} + +% Date of the translated German file: 2013-10-18 + +\makeatletter +\@ifundefined{ifCommonscrlayer}{\newif\ifCommonscrlayer}{}% +\@ifundefined{ifCommoonscrlayer-scrpage}{\expandafter\newif\csname ifCommonscrlayer-scrpage\endcsname}{}% +\@ifundefined{ifIgnoreThis}{\newif\ifIgnoreThis}{}% +\makeatother + +\section{Head and Foot Height} +\label{sec:\csname label@base\endcsname.height} + +\IfCommon{scrlayer-scrpage}{% + The \LaTeX{} standard classes do not use the page footer a lot and if they do + use it, they put the contents into a \Macro{mbox} which results in the + footer being a single text line. This is probably the reason that \LaTeX{} itself + does not have a well-defined foot height. Actually there is + \Length{footskip}\IndexLength{footskip} giving the distance between the last base + line of the text area and the base line of the footer. However, if the footer + consists of more than one text line, there is no definite statement whether this + length should be the distance to the first or the last base line of the footer. + + Despite the fact that the page header of the standard classes will also be + put into a horizontal box and therefore is a single text line too, \LaTeX{} + indeed has a length to setup the height of the page header. The reason for + this may be that the height will be needed to determine the start of the + text area. } + +\ifshortversion\IgnoreThisfalse\IfNotCommon{scrlayer-scrpage}{\IgnoreThistrue}\fi +\ifIgnoreThis %++++++++++++++++++++++++++++++++++++++++ not scrlayer-scrpage + +You may find basic information about the height of the page header and footer +in \autoref{sec:scrlayer-scrpage.height}, +\autopageref{sec:scrlayer-scrpage.height}. +\else % ---------------------------------------------- only scrlayer-scrpage - + +\begin{Declaration} + \Length{footheight}\\ + \Length{headheight} +\end{Declaration} +\BeginIndex{Length}{footheight}% +\BeginIndex{Length}{headheight}% +The package \Package{scrlayer} introduces \Length{footheight} as a new length +similar to \Length{headheight} of the \LaTeX{} kernel. Additionally +\Package{scrlayer-scrpage} interprets \Length{footskip} to be the distance +from the last possible base line of the text area to the first normal base +line of the footer. Package \Package{typearea}\IndexPackage{typearea} +interprets \Package{footheight} in the same way. So \Package{typearea}'s foot +height options may also be used to setup the values for packages +\Package{scrlayer} and \Package{scrlayer-scrpage}. See option +\Option{footheight} and \Option{footlines} in \autoref{sec:typearea.typearea}, +\autopageref{desc:typearea.option.footheight}) and option \Option{footinclude} +at \autopageref{desc:typearea.option.footinclude} of the same section. + +If you do not use package \Package{typearea}, you should setup the head and +foot height using the lengths directly where necessary. At least for the head +package \Package{geometry} provides similar settings. If you setup a head or +foot height that is too small for the effective content, +\Package{scrlayer-scrpage} will try to adjust the corresponding lengths +properly. Furthermore, it will warn you and give you additional information +about the changes and proper settings you may use yourself. The automatic +changes will become valid immediately after the need for them has been +detected. They will never be removed automatically, however, even if content +with a lower height requirement should be detected at a later point in time.% +\EndIndex{Length}{headheight}% +\EndIndex{Length}{footheight}% + +\fi % ********************************************* Ende nur scrlayer-scrpage * + +%%% Local Variables: +%%% mode: latex +%%% mode: flyspell +%%% coding: us-ascii +%%% ispell-local-dictionary: "en_GB" +%%% TeX-master: "../guide.tex" +%%% TeX-PDF-mode: t +%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/common-21.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/common-21.tex new file mode 100644 index 00000000000..92397fe2f17 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/common-21.tex @@ -0,0 +1,765 @@ +% ====================================================================== +% common-21.tex +% Copyright (c) Markus Kohm, 2013 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ---------------------------------------------------------------------- +% common-21.tex +% Copyright (c) Markus Kohm, 2013 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% +% Text that is common for several chapters of the KOMA-Script guide +% Maintained by Markus Kohm +% +% ---------------------------------------------------------------------- +% +% Absaetze, die mehreren Kapitels in der KOMA-Script-Anleitung gemeinsam sind +% Verwaltet von Markus Kohm +% +% ============================================================================ + +\KOMAProvidesFile{common-21.tex} + [$Date: 2013-10-22 11:17:09 +0200 (Di, 22 Okt 2013) $ + KOMA-Script guide (common paragraph: + Manipulation of defined page styles)] +\translator{Markus Kohm\and Jana Schubert} + +% Date version of the translated file: 2013-10-23 + +\makeatletter +\@ifundefined{ifCommonscrlayer}{\newif\ifCommonscrlayer}{}% +\@ifundefined{ifCommoonscrlayer-scrpage}{\expandafter\newif\csname ifCommonscrlayer-scrpage\endcsname}{}% +\@ifundefined{ifIgnoreThis}{\newif\ifIgnoreThis}{}% +\makeatother + +\section{Manipulation of Defined Page Styles} +\label{sec:\csname label@base\endcsname.pagestyle.content} + +\IfCommon{scrlayer}{% + Even though \Package{scrlayer} itself does not define a concrete page style + with content\,---\,the already mentioned page styles \Pagestyle{@everystyle@} + and \Pagestyle{empty} are initially defined without any level and so empty + and without content\,---\,, it provides some options and commands for the + manipulation of the contents.% +} + +\IfCommon{scrlayer-scrpage}{% + \hyperref[sec:scrlayer-scrpage.predefined.pagestyles]% + {Section~\ref*{sec:scrlayer-scrpage.predefined.pagestyles}} + states the predefined defaults for the page style \Pagestyle{scrheadings} + and \Pagestyle{plain.scrheadings} and how they can be adapted. But + information about the generation of, i.\,e., the running heads, the + manipulation of the widths of page head and footer, and how you can get + horizontal lines printed above or below the page head or footer are still + missing. Even though all these are features of package \Package{scrlayer}, + they will be described consecutively, because these basic features of + \Package{scrlayer} are also a fundamental part of the features of + \Package{scrlayer-scrpage}.% +} + +\ifshortversion\IgnoreThistrue\IfCommon{scrlayer-scrpage}{\IgnoreThisfalse}\fi +\ifIgnoreThis %++++++++++++++++++++++++++++++++++++++++ not scrlayer-scrpage + +\else %----------------------------------------------- only scrlayer-scrpage - + +\begin{Declaration} + \Macro{automark}\OParameter{section level of the right mark}% + \Parameter{section level of the left mark}\\ + \Macro{automark*}\OParameter{section level of the right mark}% + \Parameter{section level of the left mark}\\ + \Macro{manualmark}\\ + \Option{automark}\\ + \KOption{autooneside}\PName{simple switch}\\ + \Option{manualmark} +\end{Declaration} +\BeginIndex{Cmd}{automark}% +\BeginIndex{Cmd}{manualmark}% +\BeginIndex{Option}{automark}% +\BeginIndex{Option}{manualmark}% +\BeginIndex{Option}{autooneside~=\PName{simple switch}}% +With the \LaTeX{} standard classes or the \KOMAScript{} classes the decision +whether using automatic running heads\Index{running heads>automatic}, or +static or manual running heads\Index{running heads>static}\Index{running + heads>manual} would be done using either page style \Pagestyle{headings} or +\Pagestyle{myheadings}. Automatic running heads are replications of a +significant, characterizing text snippet of the page mostly inside the page +head, sometimes in the page footer. + +The article classes\OnlyAt{\Class{article}\and \Class{scrartcl}} +\Class{article} or \Class{scrartcl} with page style +\Pagestyle{headings}\IndexPagestyle{headings} use the section heading, which +is either the mandatory or the optional argument of \Macro{section}, for the +automatic running head of single side documents. Double side documents use +this section heading as the \emph{left mark} and at once use the subsection +heading as the \emph{right mark}. The left mark will be printed on left pages, +which founds the name \emph{left mark}. The right mark will be printed on +right\,---\,in single side mode this means every\,---\,page. The classes by +default also remove the right mark whenever they put the section heading into +the left mark. + +The report and book classes \OnlyAt{\Class{report}\and + \Class{scrreprt}\and \Class{book}\and \Class{scrbook}} start one level +higher. So they use the chapter heading to be the right mark in single side +layout. In double side layout they use the chapter heading to be the left mark +and the section heading to be the right mark. + +If you are using \Pagestyle{myheadings} instead of +\Pagestyle{headings}\IndexPagestyle{myheadings}, the marks in the page header +still exists and would be printed same like using \Pagestyle{headings}. But +section commands will not automatically set the marks any longer. So you can +fill them only using the commands \Macro{markright}, \Macro{markleft}, and +\Macro{markboth}, which will be described later in this section. + +This difference between two page styles has been abolished by +\Package{scrpage2} and also by \Package{scrlayer}. Instead of distinguishing +between automatic and manual running head by the selection of a page style, +two new commands, \Macro{automark} and \Macro{manualmark}, are provided. The +command \Macro{manualmark} switches to manual marks and deactivates the +automatic filling of the marks. In contrast to this \Macro{automark} and +\Macro{automark*} can be used to define, which section levels should be used +for the automatic mark filling. The optional argument is the \PName{section + level of the right mark}, the mandatory argument the \PName{section level of + the left mark}. The arguments always should be the name of a section level +like \PValue{part}, \PValue{chapter}, \PValue{section}, \PValue{subsection}, +\PValue{subsubsection}, \PValue{paragraph}, or \PValue{subparagraph}. + +Generally the higher level should be used for the left mark and the lower +level for the right mark. This is only a convention and not a need, but it +makes sense. + +The difference in \Macro{automark} and \Macro{automark*} is, that +\Macro{automark} deletes all prior usages of \Macro{automark} or +\Macro{automark*}, while \Macro{automark*} changes only the behaviour of the +section levels of its arguments. So you can even build more complex cases. + +\begin{Example} + Assume you want the chapter heading to be the running head of even pages + and the section heading to be the running head of odd pages like this is + usual for books. But on odd pages you also want the chapter headings as a + running head as long as the first section appears. To do so, you first have + to load \Package{scrlayer-scrpage} and select page style + \Pagestyle{scrheadings}. So you're document starts with: +\begin{lstcode} + \documentclass{scrbook} + \usepackage{scrlayer-scrpage} + \pagestyle{scrheadings} +\end{lstcode} + Next you will setup the chapter heading to be not only the left but also the + right mark: +\begin{lstcode} + \automark[chapter]{chapter} +\end{lstcode} + Then the section heading should also become a right mark: +\begin{lstcode} + \automark*[section]{} +\end{lstcode} + Here the star version is used, because the prior \Macro{automark} command + should be still valid. Additionally the mandatory argument for the + \PName{section level of the left mark} is empty, because this mark should be + unchanged. + + Now you just need some document contents to see a result: +\begin{lstcode} + \usepackage{lipsum} + \begin{document} + \chapter{Chapter Heading} + \lipsum[1-20] + \section{Section Heading} + \lipsum[21-40] + \end{document} +\end{lstcode} + We once again use package \Package{lipsum}\IndexPackage{lipsum} to generate + some dummy text with command \Macro{lipsum}\IndexCmd{lipsum}. The package is + really useful. + + If you'd test the example, you'd see, that the chapter start page does not + have a running head as usual. This is, because it automatically uses the + \Pagestyle{plain} page style \Pagestyle{plain.scrheadings}. Pages~2--4 have + the chapter headings in the running head. After the section heading on + page~4 the running head of page~5 changes into this section heading. From + this page to the end the running head alternates between chapter and section + heading from page to page. +\end{Example} + +Instead of the commands you may also use the options \Option{manualmark} and +\Option{automark} to switch between manual and automatic running +heads. Thereby \Option{automark} always uses the default +\begin{lstcode}[belowskip=\dp\strutbox] + \automark[section]{chapter} +\end{lstcode} +for classes with \Macro{chapter} and +\begin{lstcode}[belowskip=\dp\strutbox] + \automark[subsection]{section} +\end{lstcode} +for classes without \Macro{chapter}. + +But normally in single side mode you do not want that the lower level +influences the right mark, you want the higher level, that +will fill only the left mark in double side layout, to be the running head of +all pages. The default option \Option{autooneside} corresponds to this +behaviour. The option understands the values for simple switches, that can be +found in \autoref{tab:truefalseswitch} on +\autopageref{tab:truefalseswitch}. If you'd deactivate the option, in single +side layout the optional and the obligatory arguments of \Macro{automark} and +\Macro{automark*} will influence the running head again.% +% +\begin{Example} + Assume you have a single sided report but want similar running heads as in + the book example before. The chapter headings should be used as a running + head as long as the first section appears. From the first section on, the + section heading should be used. So we modify the previous example a little + bit: +\begin{lstcode} + \documentclass{scrreprt} + \usepackage[autooneside=false]{scrlayer-scrpage} + \pagestyle{scrheadings} + \automark[section]{chapter} + \usepackage{lipsum} + \begin{document} + \chapter{Chapter Heading} + \lipsum[1-20] + \section{Section Heading} + \lipsum[21-40] + \end{document} +\end{lstcode} + You can see, that we do not need a \Macro{automark*} command in this + case. Please try the example also with \Option{autooneside} set to + \PValue{true} or remove the option and its value. You should find a + difference at the running head in the pages' head from page~4 on. +\end{Example} + +Please note\textnote{Attention!}, only loading the package does not have +any effect on the fact whether automatic or manual running heads are used or +what kind of section headings do fill up the marks. Only using an explicit +option \Option{automark} or \Option{manualmark} or one of the commands +\Macro{automark} or \Macro{manualmark} can reach a well defined state.% +\EndIndex{Option}{autooneside~=\PName{simple switch}}% +\EndIndex{Option}{manualmark}% +\EndIndex{Option}{automark}% +\EndIndex{Cmd}{manualmark}% +\EndIndex{Cmd}{automark}% +\fi % ******************************************** End only scrlayer-scrpage * + +\ifshortversion\IgnoreThistrue\IfCommon{scrlayer}{\IgnoreThisfalse}\fi +\ifIgnoreThis %++++++++++++++++++++++++++++++++++++++++++++++++ not scrlayer + +\else %------------------------------------------------------- only scrlayer - + +\begin{Declaration} + \KOption{draft}\PName{simple switch} +\end{Declaration} +\BeginIndex{Option}{draft~=\PName{simple switch}}% +This \KOMAScript{} option understands the values for simple switches, that are +shown in \autoref{tab:truefalseswitch} on \autopageref{tab:truefalseswitch}. If +the option is active, all elements of the page styles will also show dimension +lines. This might be useful while draft editing. If the option has been set as +a global option (see the optional argument of \Macro{documentclass}), but you +do not want the dimension lines, you can deactivate them for the package only +using \OptionValue{draft}{false} as an optional argument of \Macro{usepackage} +while loading the package.% +\EndIndex{Option}{draft~=\PName{Ein-Aus-Wert}}% + +\begin{Declaration} + \Macro{MakeMarkcase}\Parameter{string} +\end{Declaration} +\BeginIndex{Cmd}{MakeMarkcase}% +The automatic running head and only this uses \Macro{MakeMarkcase} for its +output. If the command has not been defined, e.\,g., by the class, while +loading \Package{scrlayer}, it would be defined with the default of outputting +the argument \PName{string} without changes. But the default can be change +either redefining \Macro{MakeMarkcase} or using option \Option{markcase}, that +\ifshortversion has been described in +\autoref{sec:scrlayer-scrpage.pagestyle.content}% +\else will be described next% +\fi% +. Depending on the setting the argument could, e.\,g., be converted into upper +or lower cases. +% +\EndIndex{Cmd}{MakeMarkcase}% +\fi %***************************************************** End only scrlayer * + +\ifshortversion\IgnoreThistrue\IfCommon{scrlayer-scrpage}{\IgnoreThisfalse}\fi +\ifIgnoreThis %++++++++++++++++++++++++++++++++++++++++ not scrlayer-scrpage + +\else %----------------------------------------------- only scrlayer-scrpage - +\begin{Declaration} + \KOption{markcase}\PName{Wert} +\end{Declaration} +\BeginIndex{Option}{markcase~=\PName{Wert}}% +As already mentioned with \Package{scrlayer} you may switch between manual and +automatic running heads. Using automatic running heads the corresponding marks +will be filled by the section heading commands. Some culture areas do convert +the running heads into upper case letters in opposite to the German +typographic habit. The \LaTeX{} standard classes do so by default. Package +\Package{scrlayer} optionally provides this too. Therefor you'd use option +\OptionValue{markcase}{upper} which results in a redefinition of +\Macro{MakeMarkcase}\IndexCmd[indexmain]{MakeMarkcase}, a command, that is +used by \Package{scrlayer} for automatic running heads. + +Unfortunately \LaTeX's command for upper case letter typesetting, +\Macro{MakeUppercase}\IndexCmd{MakeUppercase} results in an very inadequate +typesetting, because it neither uses letter spacing nor does it space +balancing. One reason for this behaviour might be, that a glyph analyzing +would be needed, to incorporate the letter shapes and their combination while +space balancing. Because of this \KOMAScript{} author suggests to abstain from +upper case letter typesetting for running heads. This could be achieved using +\OptionValue{markcase}{used}. Nevertheless, some classes would add +\Macro{MarkUppercase} or even \TeX{} command \Macro{uppercase} into the +running heads. For such cases option \OptionValue{markcase}{noupper} can be +used. This will also deactivate \Macro{MakeUppercase} and \Macro{uppercase} +inside the running heads. + +You can find all valid values for \Option{markcase} in +\autoref{tab:scrlayer-scrpage.markcase}.% +% +\begin{table} + \centering + \caption[Possible values for option \Option{markcase}]{Possible values for + option \Option{markcase} to select upper/lower case letter typesetting in + automatic running heads}% + \label{tab:scrlayer-scrpage.markcase}% + \begin{desctabular} + \pventry{lower}{\IndexOption{markcase~=\PValue{lower}}% + redefines \Macro{MakeMarkcase} to convert the automatic running heads + into lower case letters using \Macro{MakeLowercase} + (lower case typesetting).% + }% + \pventry{upper}{\IndexOption{markcase~=\PValue{upper}}% + redefines \Macro{MakeMarkcase} to convert the automatic running heads + into upper case letters using \Macro{MakeUppercase} + (upper case typesetting).% + }% + \pventry{used}{\IndexOption{markcase~=\PValue{used}}% + redefines \Macro{MakeMarkcase} to use automatic running heads without + any case changes.% + }% + \entry{\PValue{ignoreuppercase}, \PValue{nouppercase}, + \PValue{ignoreupper}, + \PValue{noupper}}{\IndexOption{markcase~=\PValue{noupper}}% + redefines not only \Macro{MakeMarkcase} but also locally to the running + heads \Macro{MakeUppercase} and \Macro{uppercase} to leave the automatic + running heads unchanged.% + }% + \end{desctabular} +\end{table} +% +\EndIndex{Option}{markcase~=\PName{Wert}}% + +\begin{Declaration} + \Macro{leftmark}\\ + \Macro{rightmark}\\ + \Macro{headmark}\\ + \Macro{pagemark} +\end{Declaration} +\BeginIndex{Cmd}{leftmark}% +\BeginIndex{Cmd}{rightmark}% +\BeginIndex{Cmd}{headmark}% +\BeginIndex{Cmd}{pagemark}% +If you want to differ from the predefined page styles, usually you need to +decide, where to place the marks' contents. With \Macro{leftmark} you can state +the contents of the left mark. + +Similar you can use \Macro{rightmark} to state the contents of the right +mark. For more information about some intricacies of this see the further +description of \Macro{rightmark} in \autoref{sec:maincls-experts.addInfos}, +\autopageref{desc:maincls-experts.cmd.rightmark}. + +Somehow easier would be usage of \Macro{headmark}. This extension of +\Package{scrlayer} aliases either \Macro{leftmark} or \Macro{rightmark} +depending on whether the current page is even or odd. + +Strictly thought command \Macro{pagemark} is not involved by \TeX's mark +mechanism. It is only used to output a formatted page number. +\BeginIndex{FontElement}{pagenumber}% +The font of element +\FontElement{pagenumber}\important{\FontElement{pagenumber}} will be used for +the output. This can be changed using command \Macro{setkomafont} or +\Macro{addtokomafont} (see also \autoref{sec:maincls.textmarkup}, +\autopageref{desc:maincls.cmd.setkomafont}).% +\EndIndex{FontElement}{pagenumber}% +% +\begin{Example} + Assume you want to use a left aligned running head and right aligned page + number in the head of the pages of a document in single side layout. The + following minimal but working examples would do so: +\begin{lstcode} + \documentclass{scrreprt} + \usepackage{blindtext} + \usepackage[automark]{scrlayer-scrpage} + \pagestyle{scrheadings} + \ihead{\headmark} + \ohead[\pagemark]{\pagemark} + \chead{} + \cfoot[]{} + \begin{document} + \blinddocument + \end{document} +\end{lstcode} + Here package \Package{blindtext}\IndexPackage{blindtext} with its command + \Macro{blinddocument}\IndexCmd{blinddocument} has been used to easily + generate content for an example document. + + Commands \Macro{ihead} and \Macro{ohead} have been used to place the wanted + marks. Although the page mark will be place not only to pages in page style + \Pagestyle{scrheadings} but using the optional argument also to pages in + page style \Pagestyle{plain.scrheadings}. + + Because of both page styles already have marks in the middle of the page + head and page foot, those elements will be cleared using \Macro{chead} and + \Macro{cfoot} with empty arguments. Alternatively you'd use + \Macro{clearpairofpagestyles} \emph{before} \Macro{ihead}. You will find a + description of this command in + \autoref{sec:scrlayer-scrpage.pagestyle.pairs}. +\end{Example} + +Please note\textnote{Attention!}, that the empty optional argument of +\Macro{cfoot} in the example above is not the same like omitting the optional +argument. Please try it out and have a look at the difference in the footer of +the first page.% +% +\EndIndex{Cmd}{pagemark}% +\EndIndex{Cmd}{headmark}% +\EndIndex{Cmd}{rightmark}% +\EndIndex{Cmd}{leftmark}% + +\begin{Declaration} + \Macro{partmarkformat}\\ + \Macro{chaptermarkformat}\\ + \Macro{sectionmarkformat}\\ + \Macro{subsectionmarkformat}\\ + \Macro{subsubsectionmarkformat}\\ + \Macro{paragraphmarkformat}\\ + \Macro{subparagraphmarkformat} +\end{Declaration} +\BeginIndex{Cmd}{partmarkformat}% +\BeginIndex{Cmd}{chaptermarkformat}% +\BeginIndex{Cmd}{sectionmarkformat}% +\BeginIndex{Cmd}{subsectionmarkformat}% +\BeginIndex{Cmd}{subsubsectionmarkformat}% +\BeginIndex{Cmd}{paragraphmarkformat}% +\BeginIndex{Cmd}{subparagraphmarkformat}% +Usually the \KOMAScript{} classes and package \Package{scrlayer} use these +commands internally to bring the section numbers into wanted form and +additionally they support the \Macro{autodot} mechanism of the \KOMAScript{} +classes. If wanted these commands may be redefined to get another form of +section numbers.% +% +\begin{Example} + Assume you do not want section numbers but section heading text only in the + running head. So: +\begin{lstcode} + \renewcommand*{\sectionmarkformat}{} +\end{lstcode} + would be a simple solution for this. +\end{Example} +% +\EndIndex{Cmd}{subparagraphmarkformat}% +\EndIndex{Cmd}{paragraphmarkformat}% +\EndIndex{Cmd}{subsubsectionmarkformat}% +\EndIndex{Cmd}{subsectionmarkformat}% +\EndIndex{Cmd}{sectionmarkformat}% +\EndIndex{Cmd}{chaptermarkformat}% +\EndIndex{Cmd}{partmarkformat}% + +\begin{Declaration} + \Macro{partmark}\Parameter{Text}\\ + \Macro{chaptermark}\Parameter{Text}\\ + \Macro{sectionmark}\Parameter{Text}\\ + \Macro{subsectionmark}\Parameter{Text}\\ + \Macro{subsubsectionmark}\Parameter{Text}\\ + \Macro{paragraphmark}\Parameter{Text}\\ + \Macro{subparagraphmark}\Parameter{Text} +\end{Declaration} +\BeginIndex{Cmd}{partmark}% +\BeginIndex{Cmd}{chaptermark}% +\BeginIndex{Cmd}{sectionmark}% +\BeginIndex{Cmd}{subsectionmark}% +\BeginIndex{Cmd}{subsubsectionmark}% +\BeginIndex{Cmd}{paragraphmark}% +\BeginIndex{Cmd}{subparagraphmark}% +Most classes use these commands to setup marks corresponding to the +section commands. Thereby the only argument is the text without the number of +the section heading, that should be used for the running head. For the number +simply the number of the current section level will be used, if the current +level uses numbers. + +If users redefine these commands, they should\textnote{Attention!} take care +to also use the counter \Counter{secnumdepth} for the test whether or not the +section level should output a number, even in the case the user +does not change counter \Counter{secnumdepth} himself, because packages and +classes may do so locally and rely on correct handling of +\Counter{secnumdepth}. + +However, package \Package{scrlayer} redefines these commands whenever you use +\Macro{automark} or \Macro{manualmark} or the corresponding options, to +activate or deactivate the wanted running heads.% +% +\EndIndex{Cmd}{subparagraphmark}% +\EndIndex{Cmd}{paragraphmark}% +\EndIndex{Cmd}{subsubsectionmark}% +\EndIndex{Cmd}{subsectionmark}% +\EndIndex{Cmd}{sectionmark}% +\EndIndex{Cmd}{chaptermark}% +\EndIndex{Cmd}{partmark}% + +\begin{Declaration} + \Macro{markleft}\Parameter{left mark}\\ + \Macro{markright}\Parameter{right mark}\\ + \Macro{markboth}\Parameter{left mark}\Parameter{right mark} +\end{Declaration} +\BeginIndex{Cmd}{markleft}% +\BeginIndex{Cmd}{markright}% +\BeginIndex{Cmd}{markboth}% +Independent of whether currently manual or automatic running heads are active, +you may change the contents of the \PName{left mark} or the \PName{right mark} +at any time using these commands. You should note, that the resulting contents +of \Macro{leftmark}\IndexCmd{leftmark} is the \PName{left + mark} of the last \Macro{markleft} or \Macro{markboth} command of the +current page. In opposite to this the resulting contents of +\Macro{rightmark}\IndexCmd{rightmark} is the \PName{right mark} of the first +\Macro{rightmark} or \Macro{markboth} command of the current page. + +If you are using manual running heads, the marks will stay valid until one of +the corresponding commands will be used again. If you are using automatic +running heads the marks can loose their validity with the next section heading +depending on the configuration of the automatism. + +You may also use these commands together with the star versions of the section +commands.% +% +\begin{Example} + Assume you are using a preface with several pages just before the table of + contents, that should not have an entry at the table of contents + itself. Because of using a separation line at the page head, you want also a + running head for this preface: +\begin{lstcode} + \documentclass[headsepline]{book} + \usepackage{scrlayer-scrpage} + \pagestyle{scrheadings} + \usepackage{blindtext} + \begin{document} + \chapter*{Preface} + \markboth{Preface}{Preface} + \blindtext[20] + \tableofcontents + \blinddocument + \end{document} +\end{lstcode} + First of all this seems to produce the wanted result. But have a closer + look: In difference to the other running heads ``\texttt{Preface}'' is not in + upper case letters. But you can fix this easily: +\begin{lstcode} + \documentclass[headsepline]{book} + \usepackage{scrlayer-scrpage} + \pagestyle{scrheadings} + \usepackage{blindtext} + \begin{document} + \chapter*{Preface} + \markboth{\MakeMarkcase{Preface}}{\MakeMarkcase{Preface}} + \blindtext[20] + \tableofcontents + \blinddocument + \end{document} +\end{lstcode} + Using command \Macro{MakeMarkcase} results in getting the same letter case + as for automatic running heads. + + Now, let's move command \Macro{tableofcontents} in front of the + preface. Let's remove the \Macro{markboth} command too. You'll realise, that + the preface now has the running head ``\texttt{CONTENTS}''. This is because + of a quirk of \Macro{chapter*} (see also \autoref{sec:maincls.structure} on + \autopageref{desc:maincls.cmd.chapter*}). If in such cases the running head + should be removed, \Macro{markboth} with two empty arguments would be + useful: +\begin{lstcode} + \documentclass[headsepline]{book} + \usepackage{scrlayer-scrpage} + \pagestyle{scrheadings} + \usepackage{blindtext} + \begin{document} + \tableofcontents + \chapter*{Preface} + \markboth{}{} + \blindtext[20] + \blinddocument + \end{document} +\end{lstcode} +\end{Example} +% +\EndIndex{Cmd}{markboth}% +\EndIndex{Cmd}{markright}% +\EndIndex{Cmd}{markleft}% + +\fi %********************************************* End only scrlayer-scrpage * + + +\ifshortversion\IgnoreThistrue\IfCommon{scrlayer}{\IgnoreThisfalse}\fi +\ifIgnoreThis %++++++++++++++++++++++++++++++++++++++++++++++++ not scrlayer + +\else %------------------------------------------------------- only scrlayer - + +\begin{Declaration} + \Macro{GenericMarkFormat}\Parameter{name of the section level} +\end{Declaration} +\BeginIndex{Cmd}{GenericMarkFormat}% +At the running head this command will be used by default for the formatting of +all section numbers below the subsection and with classes without +\Macro{chapter} also for the section level and the subsection level, if the +mark commands for those numbers have not been defined before loading +\Package{scrlayer}. Thereby the package uses \Macro{@seccntmarkformat} if such +a command has been defined, like the \KOMAScript{} classes do. Otherwise +\Macro{@seccntformat} will be used, which is provided by the \LaTeX{} +kernel. The expected, mandatory argument of the command is the \PName{name of + a section level}, i.\,e., \PValue{chapter} or \PValue{section} +\emph{without} the backslash prefix. + +You can change the default formatting of the numbers, that use this command, +by redefining only this single command. Classes can change the default +formatting also by defining this command.% +% +\begin{Example} + Assume you want the section numbers of all levels at the running head of + an article to be printed in white colour inside a black coloured box. Using + standard \LaTeX{} \Class{article} class, package \Package{scrlayer} defines + the number mark commands \Macro{sectionmarkformat} and + \Macro{subsectionmarkformat} using \Macro{GenericMarkFormat}. So you need to + redefine only this single command: +\begin{lstcode} + \documentclass{article} + \usepackage{blindtext} + \usepackage[automark]{scrlayer-scrpage} + \pagestyle{scrheadings} + \usepackage{xcolor} + \newcommand*{\numberbox}[1]{% + \colorbox{black}{\strut~\textcolor{white}{#1}~}} + \renewcommand*{\GenericMarkFormat}[1]{% + \protect\numberbox{\csname the#1\endcsname}\enskip} + \begin{document} + \blinddocument + \end{document} +\end{lstcode} + The colour has been done using package + \Package{xcolor}\IndexPackage{xcolor}. See the package manual for more + information about this. Additionally a not visible strut has been + used. Every complete \LaTeX{} introduction should explain the related + command \Macro{strut}. A helper macro \Macro{numberbox} has been defined for + the formatting of the number within a box. In the redefinition of + \Macro{GenericMarkFormat} this has been prefixed by + \Macro{protect} to protect it from expansion. This is necessary because + otherwise the upper case letter conversion of \Macro{MakeUppercase} that + will be used for the running head, would result in an ask for colours + ``\texttt{BLACK}'' and ``\texttt{WHITE}'' instead of ``\texttt{black}'' and + ``\texttt{white}'' and those colours are undefined. Alternatively you may + define \Macro{numberbox} using \Macro{DeclareRobustCommand*} instead of + \Macro{newcommand*} and then omit \Macro{protect} (see + \cite{latex:clsguide}). + + If you'd do the same with a \KOMAScript{} class or with one of the \LaTeX{} + standard classes \Class{book} or \Class{report}, you'd additionally have to + redefine \Macro{sectionmarkformat} and \Macro{subsectionmarkformat} + respectively \Macro{chaptermarkformat} and \Macro{sectionmarkformat} too, + because then these would not have been defined using + \Macro{GenericMarkFormat}: +\begin{lstcode} + \documentclass{scrbook} + \usepackage{blindtext} + \usepackage[automark]{scrlayer-scrpage} + \pagestyle{scrheadings} + \usepackage{xcolor} + \newcommand*{\numberbox}[1]{% + \colorbox{black}{\strut~\textcolor{white}{#1}~}} + \renewcommand*{\GenericMarkFormat}[1]{% + \protect\numberbox{\csname the#1\endcsname}\enskip} + \renewcommand*{\chaptermarkformat}{\GenericMarkFormat{chapter}} + \renewcommand*{\sectionmarkformat}{\GenericMarkFormat{section}} + \begin{document} + \blinddocument + \end{document} +\end{lstcode} +\end{Example} +% +\EndIndex{Cmd}{GenericMarkFormat}% + +\begin{Declaration} + \Macro{@mkleft}\Parameter{left mark}\\ + \Macro{@mkright}\Parameter{right mark}\\ + \Macro{@mkdouble}\Parameter{mark}\\ + \Macro{@mkboth}\Parameter{left mark}\Parameter{right mark} +\end{Declaration} +\BeginIndex{Cmd}{@mkleft}% +\BeginIndex{Cmd}{@mkright}% +\BeginIndex{Cmd}{@mkdouble}% +\BeginIndex{Cmd}{@mkboth}% +Sometimes inside classes and packages the marks for running heads should be +filled up only if automatic running heads are active (see option +\Option{automark} and command \Macro{automark} on +\autopageref{desc:scrlayer-scrpage.cmd.automark}). In the \LaTeX{} standard +classes only \Macro{@mkboth} has been used for this. This command is either +\Macro{@gobbletwo}, that simply destroys both mandatory arguments, or +\Macro{markboth}, a command that fills up the left and \PValue{left mark} and +the \PValue{right mark}. Packages like \Package{babel} also change +\Macro{\@mkboth}, i.\,e., to add language switching to the running head. + +But if a class or package author only wants to change either the \PName{left + mark} or the \PName{right mark} without the other one, a proper command is +missing. Package \Package{scrlayer} itself needs such commands for the +implementation of all cases of automatic running heads. So if command +\Macro{@mkleft} to fill up only the left mark or \Macro{@mkright} to fill up +only the right mark or \Macro{@mkdouble} to fill up both marks with the same +content is undefined while loading \Package{scrlayer}, the package will define +them. Thereby the actual definition of \Macro{@mkboth} will be used as an +indicator whether or not automatic running heads should be used. The new +commands will full up the marks only in the case of automatic running heads. + +Class and package authors can use these commands too, if they want to fill up +only one of the marks or both marks with the same content but only if +automatic running heads are activated. This condition is also the difference +to the commands \Macro{markleft}, \Macro{markright}, and \Macro{markboth}.% +\EndIndex{Cmd}{@mkboth}% +\EndIndex{Cmd}{@mkdouble}% +\EndIndex{Cmd}{@mkright}% +\EndIndex{Cmd}{@mkleft}% + + +\fi %***************************************************** End only scrlayer * + + +\ifshortversion% +\IfCommon{scrlayer}{% + For more information about manipulation of the contents of page styles see + also \autoref{sec:scrlayer-scrpage.pagestyle.content} from + \autopageref{sec:scrlayer-scrpage.pagestyle.content}.% +}% +\fi + +%%% Local Variables: +%%% mode: latex +%%% mode: flyspell +%%% coding: iso-latin-1 +%%% ispell-local-dictionary: "en_GB" +%%% TeX-master: "scrlayer-de.tex" +%%% TeX-PDF-mode: t +%%% 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 4ab9ce77ef9..a747b1f68e2 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 @@ -1,6 +1,6 @@ % ====================================================================== % common-3.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % common-3.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,9 @@ % % ====================================================================== -\ProvidesFile{common-3.tex}[2012/05/15 KOMA-Script guide (common paragraphs)] +\KOMAProvidesFile{common-3.tex} + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + KOMA-Script guide (common paragraphs)] \translator{Markus Kohm\and Krickette Murabayashi} % Date of the translated german file: 2009/11/28 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 38c0e9e2730..8388bc8a938 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 @@ -1,6 +1,6 @@ % ====================================================================== % common-4.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % common-4.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,9 @@ % % ====================================================================== -\ProvidesFile{common-4.tex}[2012/05/15 KOMA-Script guide (common paragraphs)] +\KOMAProvidesFile{common-4.tex} + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + KOMA-Script guide (common paragraphs)] \translator{Markus Kohm\and Krickette Murabayashi} % Date of the translated German file: 2011/09/05 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 dfbf6fd9aff..fea58a3a5ee 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 @@ -1,6 +1,6 @@ % ====================================================================== % common-5.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % common-5.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,10 +45,12 @@ % % ====================================================================== -\ProvidesFile{common-5.tex}[2012/05/15 KOMA-Script guide (common paragraphs)] +\KOMAProvidesFile{common-5.tex} + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + KOMA-Script guide (common paragraphs)] \translator{Gernot Hassenpflug\and Markus Kohm\and Krickette Murabayashi} -% Date of the translated German file: 2012/01/01 +% Date of the translated German file: 2013/07/31 \makeatletter \@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}% @@ -60,11 +62,12 @@ \section{Text Markup} \label{sec:\csname label@base\endcsname.textmarkup}% -\ifshortversion\IgnoreThisfalse\IfCommon{scrlttr2}{\IgnoreThistrue}\fi% -\ifIgnoreThis %++++++++++++++++++++++++++++++++++++++++++++++ nur scrlttr2 + +\IgnoreThisfalse +\ifshortversion\IgnoreThistrue\ifCommonmaincls\IgnoreThisfalse\fi\fi% +\ifIgnoreThis %++++++++++++++++++++++++++++++++++++ short version (maincls) + What is described in \autoref{sec:maincls.textmarkup} applies, mutatis mutandis. -\else %---------------------------------------------------- nicht scrlttr2 - +\else %----------------------------------------- long version (not maincls) - \BeginIndex{}{text>markup}% \BeginIndex{}{font}% @@ -177,8 +180,8 @@ 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}, and \Macro{scshape}, as well as the font size -commands \Macro{Huge}, \Macro{huge}, \Macro{LARGE}, \Macro{Large}, +\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 @@ -192,7 +195,7 @@ 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 * +\fi %**************************************** End long version (not maincls) * Names and meanings of the individual items are listed in % \IfNotCommon{scrextend}{\autoref{tab:\csname label@base\endcsname.elementsWithoutText}}% @@ -206,6 +209,362 @@ Names and meanings of the individual items are listed in % the \KOMAScript{} classes. }% The default values are shown in the corresponding paragraphs. +\ifIgnoreThis %++++++++++++++++++++++++++++++++++++ short version (maincls) + +\else %----------------------------------------- long version (not maincls) - +With command \Macro{usekomafont} the current font style may be changed into +the font style of the selected \PName{element}. +% +\ifCommonmaincls %++++++++++++++++++++++++++++++++++++++++++++ maincls only + +% +\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{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{author}{% + \ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Package{scrextend}}% + author of the document on the main title, i.\,e., the argument of + \Macro{author} when \Macro{maketitle} will be used (see + \autoref{sec:maincls.titlepage}, \autopageref{desc:maincls.cmd.author})}% + \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{date}{% + \ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Package{scrextend}}% + date of the document on the main title, i.\,e., the argument of + \Macro{date} when \Macro{maketitle} will be used (see + \autoref{sec:maincls.titlepage}, \autopageref{desc:maincls.cmd.date})}% + \feentry{dedication}{% + \ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Package{scrextend}}% + dedication page after the main title, i.\,e., the argument of + \Macro{dedication} when \Macro{maketitle} will be used (see + \autoref{sec:maincls.titlepage}, + \autopageref{desc:maincls.cmd.dedication})}% + \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{publishers}{% + \ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Package{scrextend}}% + publishers of the document on the main title, i.\,e., the argument of + \Macro{publishers} when \Macro{maketitle} will be used (see + \autoref{sec:maincls.titlepage}, + \autopageref{desc:maincls.cmd.publishers})}% + \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})}% + \feentry{titlehead}{% + \ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Package{scrextend}}% + head above the main title of the document, i.\,e., the argument of + \Macro{titlehead} when \Macro{maketitle} will be used (see + \autoref{sec:maincls.titlepage}, + \autopageref{desc:maincls.cmd.titlehead})}% +\end{desclist} +\fi %************************************************** end of maincls only * +\ifCommonscrextend %++++++++++++++++++++++++++++++++++++++++ scrextend only + +\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} +\fi %************************************************ end of scrextend only * +\ifCommonscrlttr %+++++++++++++++++++++++++++++++++++++++++++ scrlttr2 only + +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}. +% +\fi %************************************************* End of scrlttr2 only * +\fi %*************************************** End long version (not maincls) * +\ifCommonscrlttr % ++++++++++++++++++++++++++++++++++++++++++ scrlttr2 only + +\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{placeanddate}{% + \ChangedAt{v3.12}{\Class{scrlttr2}}% + place and date, if a date line will be used instead of a normal reference + line (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.placeseparator})}% + \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} +\fi %************************************************* End of scrlttr2 only * +\ifIgnoreThis %++++++++++++++++++++++++++++++++++++ short version (maincls) + +\else %----------------------------------------- long version (not maincls) - +% +\EndIndex{Cmd}{setkomafont}% +\EndIndex{Cmd}{addtokomafont}% +\EndIndex{Cmd}{usekomafont}% + +\begin{Declaration} + \Macro{usefontofkomafont}\Parameter{element}\\ + \Macro{useencodingofkomafont}\Parameter{element}\\ + \Macro{usesizeofkomafont}\Parameter{element}\\ + \Macro{usefamilyofkomafont}\Parameter{element}\\ + \Macro{useseriesofkomafont}\Parameter{element}\\ + \Macro{useshapeofkomafont}\Parameter{element} +\end{Declaration} +\BeginIndex{Cmd}{usefontofkomafont}% +\BeginIndex{Cmd}{useencodingofkomafont}% +\BeginIndex{Cmd}{usesizeofkomafont}% +\BeginIndex{Cmd}{usefamilyofkomafont}% +\BeginIndex{Cmd}{useseriesofkomafont}% +\BeginIndex{Cmd}{useshapeofkomafont}% +Sometimes\ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Package{scrextend}} and despite the recommendation +users use the font setting feature of elements not only for font settings but +for other settings too. In this case it may be useful to switch only to the +font setting of an element but not to those other settings. You may use +\Macro{usefontofkomafont} in such cases. This will activate the font size and +baseline skip, the font encoding, the font family, the font series, and the +font shape of an element, but no further settings as long as those further +settings are local. + +You may also switch to one of those attributes only using one of the other +commands. Note, that \Macro{usesizeofkomafont} will activate both, the font +size and the baseline skip.% +\EndIndex{Cmd}{useshapeofkomafont}% +\EndIndex{Cmd}{useseriesofkomafont}% +\EndIndex{Cmd}{usefamilyofkomafont}% +\EndIndex{Cmd}{usesizeofkomafont}% +\EndIndex{Cmd}{useencodingofkomafont}% +\EndIndex{Cmd}{usefontofkomafont}% +% +\EndIndex{}{font}% +\EndIndex{}{text>markup} +\fi %*************************************** End long version (not maincls) * + %%% Local Variables: %%% mode: latex %%% coding: us-ascii 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 06051e8a95a..9636b3eb4c1 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 @@ -1,6 +1,6 @@ % ====================================================================== % common-6.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % common-6.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,9 @@ % % ====================================================================== -\ProvidesFile{common-6.tex}[2012/05/15 KOMA-Script guide (common paragraphs)] +\KOMAProvidesFile{common-6.tex} + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + KOMA-Script guide (common paragraph: Paragraph Markup)] \translator{Gernot Hassenpflug\and Markus Kohm\and Krickette Murabayashi} % Date of the translated German file: 2012/01/01 @@ -91,8 +93,8 @@ \IfCommon{scrlttr2}{% 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, + 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 @@ -100,7 +102,7 @@ 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.}% + be that the \emph{corporate identity} need not 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{} @@ -126,11 +128,12 @@ 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 +``\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 asterisk a fourth, of the width of a normal line. The minus variant does +not 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}% 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 aeef2455ac2..3648bf1abb6 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 @@ -1,6 +1,6 @@ % ====================================================================== % common-7.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % common-7.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,10 @@ % % ====================================================================== -\ProvidesFile{common-7.tex}[2012/05/15 KOMA-Script guide (common paragraphs)] +\KOMAProvidesFile{common-7.tex} + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + KOMA-Script guide (common paragraph: Detection of Odd and + Even Pages)] \translator{Markus Kohm\and Krickette Murabayashi} % Date of translated German file: 2011/08/26 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 784129a0fa8..29eb6a19a78 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 @@ -1,6 +1,6 @@ % ====================================================================== % common-8.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % common-8.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,10 +45,12 @@ % % ====================================================================== -\ProvidesFile{common-8.tex}[2012/05/15 KOMA-Script guide (common paragraphs)] +\KOMAProvidesFile{common-8.tex}% + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + KOMA-Script guide (common paragraphs: Interleaf Pages)] \translator{Markus Kohm\and Gernot Hassenpflug\and Krickette Murabayashi} -% Date of the translated German file: 2011/09/21 +% Date of the translated German file: 2013/11/07 \makeatletter \@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}% @@ -78,7 +80,7 @@ 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, + sides of the one-sided printings are not interleaf pages, really, although % . Nevertheless at the printing paper they may seem to be such pages.} \fi %**************************************************** Ende nur maincls * @@ -88,7 +90,7 @@ \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 + letters is not 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 @@ -126,7 +128,7 @@ compatibility to an earlier version (see option \Option{version}, means you want to use page style \Pagestyle{plain}. You may use following to achieve this: \begin{lstcode} - \KOMAoption{cleardoublepage=plain} + \KOMAoptions{cleardoublepage=plain} \end{lstcode} More information about page style \Pagestyle{plain} may be found at \autoref{sec:maincls.pagestyle}, \autopageref{desc:maincls.pagestyle.plain}. @@ -139,7 +141,7 @@ compatibility to an earlier version (see option \Option{version}, means you want to use page style \Pagestyle{plain}. You may use following to achieve this: \begin{lstcode} - \KOMAoption{cleardoublepage=plain} + \KOMAoptions{cleardoublepage=plain} \end{lstcode} More information about page style \Pagestyle{plain} may be found at \autoref{sec:maincls.pagestyle}, \autopageref{desc:maincls.pagestyle.plain}. @@ -288,6 +290,8 @@ the standard command \Macro{cleardoublepage}, that may be either %%% Local Variables: %%% mode: latex +%%% mode: flyspell %%% coding: us-ascii +%%% ispell-local-dictionary: "en_GB" %%% 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 150e563f87d..408de83c117 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 @@ -1,6 +1,6 @@ % ====================================================================== % common-9.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % common-9.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,9 @@ % % ====================================================================== -\ProvidesFile{common-9.tex}[2012/05/15 KOMA-Script guide (common paragraphs)] +\KOMAProvidesFile{common-9.tex} + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + KOMA-Script guide (common paragraphs: Footnotes)] \translator{Markus Kohm\and Krickette Murabayashi} % Date of the translated German file: 2012/01/01 @@ -83,7 +85,7 @@ Package \Package{scrextend} supports all the footnote features of \KOMAScript \ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + - , that are described at \autoref{sec:maincls.footnotes}% + \ that are described in \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 @@ -168,7 +170,7 @@ 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 +\Macro{multiplefootnoteseparator}. Note that this command should not 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 @@ -200,7 +202,7 @@ and may be changed by redefining the command. \footnote{2nd footnote} \end{lstcode} This should give you the wanted result even if the automatic solution would - fail or couldn't be used. + fail or could not 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 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 index 4556bf6a940..b8ba50618ee 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/expertpart.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/expertpart.tex @@ -1,6 +1,6 @@ % ====================================================================== % expertpart.tex -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % expertpart.tex -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,9 @@ % % ====================================================================== -\ProvidesFile{expertpart.tex}[2012/01/13 Part KOMA-Script for Experts] +\KOMAProvidesFile{expertpart.tex} + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + Part KOMA-Script for Experts] \translator{Markus Kohm} \setpartpreamble{% 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 9137bd523ab..947254a3ce5 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 @@ -1,6 +1,6 @@ % ====================================================================== % guide-english.tex -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % guide-english.tex -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,7 @@ % % ====================================================================== % -\ProvidesFile{guide-english.tex}[{2012/03/14 +\ProvidesFile{guide-english.tex}[{2013/08/05 KOMA-Script guide language dependencies}] % % \section{Extra Packages} @@ -71,9 +71,9 @@ % Ugly note \vfill \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!% + manual. Several authors have been involved to this translation. Some of them + are native English speakers, others like me are not. Improvements of the + translation by native speakers or experts are welcome at all times!% }% \newcommand*{\GuideAuthorHeadline}{Authors of the {\KOMAScript} Bundle}% \newcommand*{\GuideTranslatorHeadline}{English translation of this manual by: 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 index 6fc6a8c55dd..41ba9402133 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/guide.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/guide.tex @@ -45,7 +45,7 @@ % % ====================================================================== -\ProvidesFile{guide.tex}[2012/02/22 KOMA-Script guide main file] +\ProvidesFile{guide.tex}[2013/10/14 KOMA-Script guide main file] \documentclass[\languagename]{scrguide} @@ -95,6 +95,7 @@ \include{scrbookreportarticle} \include{scrlttr2} \include{scrpage2} +\include{scrlayer-scrpage} \include{scrdatetime} \include{scraddr} \include{adrconvnote} @@ -106,6 +107,9 @@ \include{scrwfile} \include{tocbasic} \include{scrhack} +\include{scrlayer} +\include{scrlayer-scrpage-experts} +\include{scrlayer-notecolumn} \include{typearea-experts} \include{scrbookreportarticle-experts} \include{scrlttr2-experts} diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/htmlsetup b/Master/texmf-dist/source/latex/koma-script/doc/english/htmlsetup index fd90a64e075..8c30c6ed561 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/htmlsetup +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/htmlsetup @@ -1,6 +1,6 @@ # ====================================================================== # htmlsetup -# Copyright (c) Markus Kohm, 2002-2009 +# Copyright (c) Markus Kohm, 2002-2013 # # This file is part of the LaTeX2e KOMA-Script bundle. # @@ -18,7 +18,7 @@ # This work consists of all files listed in manifest.txt. # ---------------------------------------------------------------------- # htmlsetup -# Copyright (c) Markus Kohm, 2002-2009 +# Copyright (c) Markus Kohm, 2002-2013 # # Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, # Version 1.3c, verteilt und/oder veraendert werden. @@ -54,6 +54,7 @@ alt=\"Valid HTML 4.0 Strict\" height=\"31\" width=\"88\"></a> %titles=( "option" => "Options", "macro" => "Commands", "environment" => "Environments", + "length" => "Lengths", "plength" => "Pseudolengths", "variable" => "Variables", "pagestyle" => "Page Styles", 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 fe43c56e545..28569628ad8 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 @@ -1,6 +1,6 @@ % ====================================================================== % introduction.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % introduction.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,9 @@ % % ====================================================================== -\ProvidesFile{introduction.tex}[2012/03/14 KOMA-Script guide introduction] +\KOMAProvidesFile{introduction.tex} + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + KOMA-Script guide introduction] \translator{Kevin Pfeiffer\and Gernot Hassenpflug\and Krickette Murabayashi\and Markus Kohm} diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/japanlco.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/japanlco.tex index 1ceb9bbe6cc..54a6d3f0782 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/japanlco.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/japanlco.tex @@ -1,6 +1,6 @@ % ====================================================================== % japanlco.tex -% Copyright (c) Gernot Hassenpflug and Markus Kohm, 2001-2012 +% Copyright (c) Gernot Hassenpflug and Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % japanlco.tex -% Copyright (c) Gernot Hassenpflug und Markus Kohm, 2001-2012 +% Copyright (c) Gernot Hassenpflug und Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -49,7 +49,9 @@ % KOMA-Script bundle. % -\ProvidesFile{japanlco.tex}[2007/12/17 KOMA-Script guide (appendix: japanlco)] +\KOMAProvidesFile{japanlco.tex} + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + KOMA-Script guide (appendix: japanlco)] \appendix 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 index 17ed62fca68..f98815f546b 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/preface.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/preface.tex @@ -1,6 +1,6 @@ % ====================================================================== % preface.tex -% Copyright (c) Markus Kohm, 2008-2012 +% Copyright (c) Markus Kohm, 2008-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % preface.tex -% Copyright (c) Markus Kohm, 2008-2012 +% Copyright (c) Markus Kohm, 2008-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -35,7 +35,9 @@ % Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -\ProvidesFile{preface.tex}[2012/05/15 Preface to the KOMA-Script book] +\KOMAProvidesFile{preface.tex} + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + Preface to the KOMA-Script book] %\translator{Markus Kohm} % Date of the translated German file: 0000/00/00 @@ -46,15 +48,24 @@ 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:scrlayer}, \autoref{cha:scrlayer-scrpage-experts}, \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. +\autoref{cha:scrlttr2-experts} are up-to-date. -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. +Nevertheless, for \autoref{cha:scrlayer}, \autoref{cha:scrlayer-scrpage}, +\autoref{cha:scrlayer-scrpage-experts} a native speaker or someone with +advanced knowledge of the English language would be needed to improve it. +% AFAIK currently there are not any dead links or broken references, otherwise +% I would use the following: +% There may still be dead links and broken references in these chapters, +% because the referenced information in chapters of other parts could be +% missing. + +The descriptions in \autoref{cha:scrwfile}, \autoref{cha:tocbasic}, +\autoref{cha:scrlayer-notecolumn} are not 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 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 beec72d274b..3c383597324 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 @@ -1,6 +1,6 @@ % ====================================================================== % scraddr.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scraddr.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,9 @@ % % ====================================================================== -\ProvidesFile{scraddr.tex}[2012/02/23 KOMA-Script guide (chapter: scraddr)] +\KOMAProvidesFile{scraddr.tex} + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + KOMA-Script guide (chapter: scraddr)] \translator{Jens-Uwe Morawski\and Gernot Hassenpflug\and Markus Kohm} % Date of translated german file: 2011/09/30 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 index ce472d81292..376319b4d06 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/scrbase.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/scrbase.tex @@ -1,6 +1,6 @@ % ====================================================================== % scrbase.tex -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrbase.tex -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,21 +45,23 @@ % % ====================================================================== -\ProvidesFile{scrbase.tex}[2012/03/04 KOMA-Script package scrbase] -\translator{Markus Kohm} +\KOMAProvidesFile{scrbase.tex} + [$Date: 2013-12-13 16:32:18 +0100 (Fr, 13 Dez 2013) $ + KOMA-Script package scrbase] +\translator{Markus Kohm\and Melvin Hendrix} -% Date of the translated German file: 2012/03/04 +% Date of the translated German file: 2013/11/06 -\chapter{Basic Functions at Package \Package{scrbase}} +\chapter{Basic Functions of 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}. +The package \Package{scrbase} provides basic features designed and implemented +for use by authors of packages and classes. However, \Package{scrbase} cannot +only by used for wrapper classes related to \KOMAScript{} class. Authors of +classes that have nothing to do with \KOMAScript{} can benefit from +\Package{scrbase} functionality. \section{Loading the Package} \label{sec:scrbase.loadit} @@ -68,10 +70,10 @@ 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. +\Macro{usepackage}. In contrast, \Macro{RequirePackageWithOptions} does not +have an optional argument but passes all options given when 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 @@ -79,7 +81,7 @@ 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 +values to these keys. The options provided by \Package{scrbase} also use \Package{keyval} syntax: \PName{key}\texttt{=}\PName{value}. \begin{Declaration} @@ -87,35 +89,37 @@ values to this keys. The options provided by \Package{scrbase} also use \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{/}''. +execution. The primary names for these are builds like +\Macro{scr@\PName{name}}, which are internal commands. \KOMAScript{} only uses +these internal commands internally. Authors of packages and classes may use +these internal commands, too, but should not redefine them. Because some of +these commands are useful for users, too, they are provided as +\Macro{\PName{name}} normally. But eventually, other packages may provide +commands with the same name but different syntax or different +functionality. As this would result in an conflict, \Package{scrbase} can +suppress the definition of the user commands \Macro{\PName{name}}. 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 +should not 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: + The user does not want \Package{scrbase} to define commands \Macro{ifVTeX} + and \Macro{ifundefinedorrelax}. Because of this, to load the class, the user + writes: \begin{lstcode} \documentclass% [internalonly=/ifVTeX/ifundefinedorrelax]% {foo} \end{lstcode} - to load the class. Class name \Class{foo} has been used as an placeholder + Class name \Class{foo} is, therefore, 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}. + is located in \autoref{sec:scrbase.if}. \end{Example} % \EndIndex{Option}{internalonly~=\PName{value}}% @@ -127,54 +131,55 @@ use it with or without \PName{value} either as a global option with 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. +one family owns all keys of \Package{keyval}, \Package{scrbase} recognises +also family members. Therefore, 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, to the key of a family, or to the keys of all family members. \begin{Declaration} \Macro{DefineFamily}\Parameter{family}\\ - \Macro{DefineFamilyMember}\OParameter{family member}\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 +reasons. First, you have to define a new family using +\Macro{DefineFamily}, which produces an empty member list. If the family +has already been defined nothing would happen. Nothing also means 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}. +Next, a new member can be added to the family using +\Macro{DefineFamilyMember}. If the family does not exist, this would result in +an error message. If the member already exists, nothing happens. If the +optional \PName{family member} is omitted, the default value +``\texttt{.}\Macro{@currname}\texttt{.}\Macro{@currext}'' is used. During +class or package loading \Macro{@currname} and \Macro{@currext} together +represent the file name of the class or package. + +Theoretically, it is possible, to define a member without a name using an +empty optional \PName{family member} argument. But this is the same as the +family itself. It is recommended that only letters and digits be used for +\PName{family} and the first character of \PName{family member} should not be +a letter or digit. Otherwise, it could happen that members of one family are +the same as members of another family. + +\Package{scrbase} assigns family ``\PValue{KOMA}'' to itself and adds member +``\PValue{.scrbase.sty}'' to it. Family ``\PValue{KOMA}'' is reserved to +\KOMAScript{}. For your own packages, 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 + Assume you are writing a bundle called ``master butcher''. Within that + bundle you have packages \File{salami.sty}, \File{liversausage.sty}, and + \File{kielbasa.sty}. Therefore, you decide to use family name + ``\PValue{butcher}'' and,to each of the package file, you 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}'', + When loading the three packages, this will + add 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} @@ -186,18 +191,29 @@ name of the bundle as \PName{family} and the name of the package as \begin{Declaration} \Macro{DefineFamilyKey}\OParameter{family member}\Parameter{family}% \Parameter{key}\OParameter{default}\\ - \hphantom{\Macro{DefineFamilyKey}}\Parameter{action} + \hphantom{\Macro{DefineFamilyKey}}\Parameter{action}\\ + \Macro{FamilyKeyState}\\ + \Macro{FamilyKeyStateUnknown}\\ + \Macro{FamilyKeyStateProcessed}\\ + \Macro{FamilyKeyStateUnknownValue}\\ + \Macro{FamilyKeyStateNeedValue} \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. +\BeginIndex{Cmd}{FamilyKeyState}% +\BeginIndex{Cmd}{FamilyKeyStateUnknown}% +\BeginIndex{Cmd}{FamilyKeyStateProcessed}% +\BeginIndex{Cmd}{FamilyKeyStateUnknownValue}% +\BeginIndex{Cmd}{FamilyKeyStateNeedValue}% +The command \Macro{DefineFamilyKey} defines a \PName{key}. If a \PName{family + member} is given, the \PName{key} becomes an attribute of that member in the +given \PName{family}. If a \PName{family member} is not given, the member +``\texttt{.}\Macro{@currname}\texttt{.}\Macro{@currext}'' is assumed. If, +later, a value is assigned to the \PName{key}, the \PName{action} will be +executed and the value made an argument of \PName{action}. So inside +\PName{action} ``\lstinline{#1}'' would be that value. If the value is +omitted, the \PName{default} is used instead. If there is no \PName{default}, +the \PName{key} can be used only with a value being defined. + \begin{Explain} \phantomsection\label{explain:scrbase.macro.DefineFamilyKey}% At least @@ -208,33 +224,73 @@ omitted, the \PName{default} will be used instead. If there's no will result in a call of \begin{lstcode}[moretexcs={define@key},escapeinside=`'] \define@key{`\PName{family\,member}'}{`\PName{key}'} - [`\PName{default}']{`\PName{action}'} + [`\PName{default}']{`\PName{extended action}'} \end{lstcode} - with \Macro{define@key} is provided by package - \Package{keyval}\IndexPackage{keyval} (see \cite{package:keyval}). + with \Macro{define@key} provided by package + \Package{keyval}\IndexPackage{keyval} (see \cite{package:keyval}). However, + the call of \Macro{define@key} and the \PName{action} is, in fact, + extended by additional arrangements. \end{Explain} + +Success\ChangedAt{v3.12}{\Package{scrbase}} or failure of the execution of the +\PName{action} should be reported back to \Package{scrbase} by +\Macro{FamilyKeyState}. The package itself will take care of additional +procedures if needed. You should not report errors by yourself! The default +state before execution of \PName{action} is +\Macro{FamilyKeyStateUnknown}. This signals that it is not known whether or +not the execution is successful. If this state does not change until end of +execution of the \PName{action}, \Package{scrbase} will write a message into +the \File{log} file and assumes state \Macro{FamilyKeyStateProcessed} during +the further procedure. + +State \Macro{FamilyKeyStateProcessed} signals that the option and the value +assignment to the option are completely and successfully finished. You may +switch to this state by using \Macro{FamilyKeyStateProcessed} itself. + +State \Macro{FamilyKeyStateUnknownValue} indicates that the option was +handled, but the value, that should be assigned to the key, was unknown or not +allowed. You should use \Macro{FamilyKeyStateUnknownValue} to switch to +this state. + +State \Macro{FamilyKeyStateNeedValue} signals that the option could not be +set because it needs a value, but no value was assigned to the +key. This state is used automatically, whenever an option has been +defined without \PName{default} value and is used without value +assignment. You should not set the state using \Macro{FamilyKeyStateNeedValue} +yourself. + +Last but not least you may switch to additional failure states, simply +re-defining \Macro{FamilyKeyState} with a very short text message. +Generally, the four predefined states should be sufficient. + \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., + Assume each of the three packages from the previous example should get a + key named \PValue{coldcuts}. When used, a switch is set at each of + the packages. For package \Package{salami} this may be: \begin{lstcode} \newif\if@Salami@Aufschnitt \DefineFamilyKey{butcher}% {coldcut}[true]{% \expandafter\let\expandafter\if@salami@coldcut \csname if#1\endcsname + \FamilyKeyStateProcessed } \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. + case. Instead of testing on inappropriate values, success will be signalled + for any case in this example. If the key is used later, it is executed 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}{FamilyKeyStateNeedValue}% +\EndIndex{Cmd}{FamilyKeyStateUnknownValue}% +\EndIndex{Cmd}{FamilyKeyStateProcessed}% +\EndIndex{Cmd}{FamilyKeyStateUnknown}% +\EndIndex{Cmd}{FamilyKeyState}% \EndIndex{Cmd}{DefineFamilyKey}% @@ -243,38 +299,37 @@ omitted, the \PName{default} will be used instead. If there's no \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 +members, as mentioned earlier, uses keys or key-value settings as class or +package options. The command \Macro{FamilyProcessOptions} is an extension of +\Macro{ProcessOption*} from \LaTeX{} kernel (see \cite{latex:clsguide}, which +processes not only options that has been declared using \Macro{DeclareOption}, +it processes 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. +``\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. +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 are set 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 + then the user may select the option \Option{coldcut} when loading the + package. If the option is 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 + automatically to all three packages, if all three packages are 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. +Please note\textnote{Attention!} that packages always process global options +before local options. When processing unknown options initiate an entry in the +\File{log}-file and the option is otherwise ignored. By contrast, unknown +options assigned to the package locally leads to an error message. \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}.% +of \Package{keyval}. Ultimately, with the help of +\Macro{FamilyProcessOptions}, \PName{key=value} pairs become options.% % \EndIndex{Cmd}{FamilyProcessOptions}% @@ -285,17 +340,17 @@ of \Macro{FamilyProcessOptions}.% \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 +kernel (see \cite{latex:clsguide}). The command processes not only options +that are defined using \Macro{DeclareOption}, but also processes all keys of +the given \PName{family member}. 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. +Somehow special are keys of empty family members, which are not attached to a +family member, but to a family. Such keys are set before the keys of family +members. \begin{Example} - Assumed, option \Option{coldcut} should be set by default already in the + Assume option \Option{coldcut} should be set by default in the previous example. In this case only line \begin{lstcode} \FamilyExecuteOptions{butcher}{coldcut} @@ -307,31 +362,27 @@ and before the keys of the family members. \begin{Declaration} - \Macro{FamilyOptions}\Parameter{family}\Parameter{options list}\\ - \Macro{Family@Options}\Parameter{family}\Parameter{options list}% - \Parameter{error action} + \Macro{FamilyOptions}\Parameter{family}\Parameter{options list}% \end{Declaration} \BeginIndex{Cmd}{FamilyOptions}% -\BeginIndex{Cmd}{Family@Options}% -Thereby \PName{options list} is like: +Hence \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 +after which 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. +In contrast to average options that are defined using \Macro{DeclareOption}, +the \PName{key}s also may be set after loading a class or package. For this, +the user calls \Macro{FamilyOptions}. Thereafter, the \PName{key}s of all +members of the specified family are set. If a \PName{key} also exists as a +family attribute, then the family key is set first. After this, the member +keys follow in the order in which the members have been defined. If a given +\PName{key} does not exist, either for the family or for any member of the +family, then \Macro{FamilyOptions} will result in an error. Package +\Package{scrbase} reports an error also if there are members with key +\PName{key}, but all those members signal failure via \Macro{FamilyKeyState}. \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: @@ -343,15 +394,15 @@ authors of classes and packages. \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: + If currently none of the sausage packages are loaded, then an error + message results because of undefined option ``\Option{coldcut}''. This is + avoided by changing the last line of the code to: \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: + Despite this, sausage packages loaded after + \Package{sausagesalad} still do not produce cold cut. This may be corrected + by editing the last line of the code again to: \begin{lstcode}[moretexcs={Family@Options}] \AtBeginDocument{% \Family@Options{butcher}{coldcut}{% @@ -361,40 +412,34 @@ authors of classes and packages. }% }% \end{lstcode} - This will also throw a warning message, if non of the sausage packages will - be loaded. + This may throw a warning message if none of the sausage packages are 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} + \Parameter{option}\Parameter{values list}% \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 +Besides options that have concurrently excluding values, there may be options +that produce several values at the same time. Using \Macro{FamilyOptions} for +that type of option 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: +\PName{values list} is a comma separated list of values, also known as +\emph{csv}: \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}. +By the way, please note that usage of a comma inside a value may be done only +if the value is put inside braces. The general functionality of this command +is the same as that of the previous command \Macro{FamilyOptions}. \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. + additional ingredients. Each of the ingredients sets a switch as was done + previously for the cold cut. \begin{lstcode} \newif\if@saladwith@onions \newif\if@saladwith@gherkins @@ -403,8 +448,9 @@ is the same like that of the previous commands \Macro{FamilyOptions} and \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. + Here the three ingredients ``onions'', ``gherkins'', and ``chillies'' have + been defined. An error message for ``not defined'' ingredients does not + exist. For a salad with onions and gherkins the user may use \begin{lstcode} @@ -418,11 +464,26 @@ is the same like that of the previous commands \Macro{FamilyOptions} and \end{lstcode} \end{Example} % -\EndIndex{Cmd}{Family@Option}% \EndIndex{Cmd}{FamilyOption}% \begin{Declaration} + \Macro{AtEndOfFamilyOptions}\Parameter{action}% +\end{Declaration} +\BeginIndex{Cmd}{AtEndOfFamilyOptions}% +Sometimes\ChangedAt{v3.12}{\Package{scrbase}} it is useful to delay the +execution of an \PName{action} that is part of a value assignment to a key +until all assignments inside one \Macro{FamilyProcessOptions}, +\Macro{FamilyExecuteOptions}, \Macro{FamilyOptions}, or \Macro{FamilyOption} +is finished. This may be done using \Macro{AtEndOfFamilyOptions} inside +an option definition. Reporting failure states of \PName{action} is not +possible in this case. Furthermore, the command should not be used outside an +option definition. +% +\EndIndex{Cmd}{AtEndOfFamilyOptions}% + + +\begin{Declaration} \Macro{FamilyBoolKey}\OParameter{family member}\Parameter{family}% \Parameter{key}\Parameter{switch name}\\ \Macro{FamilySetBool}\Parameter{family}% @@ -430,31 +491,33 @@ is the same like that of the previous commands \Macro{FamilyOptions} and \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 +In the previous examples, boolean switches often have been used. In the example +with option \Option{coldcut}, it is necessary that the user assigns either +value \PValue{true} or value \PValue{false}. There is no error message for +wrong value assignment. Because of this, boolean switches are a necessary +feature. Package \Package{scrbase} provides \Macro{FamilyBoolKey} for definition of +such options. Therefore, the arguments \PName{family member}, \PName{family}, and +\PName{key} are the same as that 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 +name does not 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} +On the other hand, \Macro{FamilySetBool} 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}). +\PName{key}, and \PName{value}, which results in setting of +\Macro{FamilyKeyState}. Depending on the command used and other family +members, this may result in an error message about unknown value assignment +(see also \autopageref{desc:scrbase.cmd.FamilyUnkownKeyValue} and +\autopageref{desc:scrbase.cmd.FamilyKeyState}). \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. + 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} @@ -467,13 +530,13 @@ about unknown value assignment (see also ... \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: + This would be the same in each of the three sausage packages, thereby + defining the attribute ``coldcut'' as a family option: \begin{lstcode}[moretexcs={define@key}] \@ifundefined{if@coldcut}{% \expandafter\newif\csname if@coldcut\endcsname }{}% - \define@key{butcher}{coldcut}[true]{% + \DefineFamilyKey[]{butcher}{coldcut}[true]{% \FamilySetBool{butcher}{coldcut}% {@coldcut}% {#1}% @@ -485,7 +548,7 @@ about unknown value assignment (see also {@coldcut} \end{lstcode} using the additional information at - \autopageref{explain:scrbase.macro.DefineFamilyKey}, that's not only valid + \autopageref{explain:scrbase.macro.DefineFamilyKey}, this is not only valid for \Macro{DefineFamilyKey} but for \Macro{FamilyBoolKey} too. \end{Example} % @@ -506,10 +569,10 @@ about unknown value assignment (see also \end{Declaration} \BeginIndex{Cmd}{FamilyNumericalKey}% \BeginIndex{Cmd}{FamilySetNumerical}% -In opposite to switches that may be either true or false, also key exists, +In contrast to switches that may be either true or false, a 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 +not left, but left, centered, or right. Internally such +differentiation often is 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: @@ -518,16 +581,16 @@ a \PName{key} has been named \Macro{FamilyNumericalKey} in \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 +Therefore, the \PName{values list} does not solely define the supported values to the +\PName{key}. For each of the \PName{value}s, the +\PName{definition} of macro \Macro{\PName{command}} also is given. 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 during 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 + will be cut roughly or may be cut thinly. This information should be stored in command \Macro{cuthow}. \begin{lstcode} \FamilyNumericalKey{butcher}% @@ -551,10 +614,10 @@ assignment. \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. + result as 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 + should be evaluated later. In this case a textual definition would not be useful. If the key is defined like this: \begin{lstcode} \FamilyNumericalKey{butcher}% @@ -564,7 +627,7 @@ assignment. {thin}{2}% } \end{lstcode} - then a condition like this: + then a condition like the following may be used: \begin{lstcode} \ifcase\cuthow % no cut @@ -574,9 +637,8 @@ assignment. % thin cut \fi \end{lstcode} - may be used. \end{Example} -Internally \Macro{FamilyNumericalKey} uses \Macro{FamilySetNumerical} as +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 @@ -593,18 +655,19 @@ normally result in an error message about assigning an unknown value. \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 +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 there is no optional argument for the \PName{default}, \Macro{FamilyStringKey} is -the same like +the same as: \begin{quote} \Macro{DefineFamilyKey}\OParameter{family member}\Parameter{family}% \Parameter{key}\\ \hphantom{\Macro{DefineFamilyKey}}% -\PParameter{\Macro{def}\PName{command}\string{\#1\string}}. +\PParameter{\Macro{def}\PName{command}\string{\#1\string}% +\Macro{FamilyKeyStateProcessed}}. \end{quote} -If an optional argument \PName{default} has been used, \Macro{FamilyStringKey} -is the same like +If an optional argument \PName{default} is used, \Macro{FamilyStringKey} +is the same as: \begin{quote} \Macro{DefineFamilyKey}\OParameter{family member}\Parameter{family}% \Parameter{key}\\ @@ -612,13 +675,12 @@ is the same like \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. +If \PName{command} is not been defined, 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: + \PValue{saladweight}, too: \begin{lstcode} \newcommand*{\saladweight}{250g} \FamilyStringKey{butcher}% @@ -629,11 +691,11 @@ defined. \begin{lstcode} \FamilyOptions{butcher}{saladweight} \end{lstcode} - That may be done, because the default weight has been set as default at the + This 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 +In this case there are not 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}% @@ -641,8 +703,7 @@ at the value assignment to the key are not allowed. \begin{Declaration} \Macro{FamilyUnkownKeyValue}\Parameter{family}\Parameter{key}% - \Parameter{value}\Parameter{values list}\\ - \Macro{FamilyElseValues} + \Parameter{value}\Parameter{values list}% \end{Declaration} \BeginIndex{Cmd}{FamilyUnkownKeyValue}% \BeginIndex{Cmd}{FamilyElseValues}% @@ -652,17 +713,10 @@ 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. +Currently\ChangedAt{v3.12}{\Package{scrbase}}, \PName{values list} is +not used by \Package{scrbase}. \begin{Example} - Now, for the cold cut the choices should be cut or no cut and in case of cut + 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}{% @@ -673,31 +727,62 @@ thrown. \newif\csname if@coldcut\endcsname}{} \DefineFamilyKey{butcher}% {coldcut}[true]{% - \ifstr{#1}{thin}{% - \@coldcuttrue - \@thincuttrue - }{% + \FamilySetBool{butcher}{coldcut}% + {@coldcut}% + {#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed \@thincutfalse - \def\FamilyElseValue{, `thin'}% - \FamilySetBool{butcher}{coldcut}% - {@coldcut}% - {#1}% - }% + \else + \ifstr{#1}{thin}{% + \@coldcuttrue + \@thincuttrue + \FamilyKeyStateProcessed + }{}% + \fi }% \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}. + Let's have a look at the definition of \Option{butcher}: + First of all, we try to set the boolean switch of cold cut using + \Macro{FamilySetBool}. After this command, we test whether or not + \Macro{FamilyKeyState} signals the success of the command with state + \Macro{FamilyKeyStateProcessed}. If so, only the thin cut has to be + deactivated. + + In the other case, the value will be tested to be equal to \PValue{thin}. In + that case, cold cut and thin cut are activated and the state will be + switched to \Macro{FamilyKeyStateProcessed}. If the last test failed also, + the failure state of \Macro{FamilySetBool} is still valid at the end of the + execution. + + Command \Macro{ifstr} is used for the thin test. It is + described on \autopageref{desc:scrbase.cmd.ifstr} in + \autoref{sec:scrbase.if}. \end{Example} % -\EndIndex{Cmd}{FamilyElseValues}% \EndIndex{Cmd}{FamilyUnkownKeyValue}% +\begin{Declaration} + \Macro{FamilyElseValues} +\end{Declaration} +\BeginIndex{Cmd}{FamilyElseValues}% +With former releases\ChangedAt{v3.12}{\Package{scrbase}} of \Package{scrbase}, +additional allowed values reported by \Macro{FamilyUnknownKeyValue} can be +set re-defining \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} +Since release~3.12 \Macro{FamilyUnknownValue} does not report errors itself, +but signals them using \Macro{FamilyKeyState}. Therefore, +\Macro{FamilyElseValues} became deprecated. Nevertheless, its former usage is +recognised by \Package{scrbase} and results in a code change demand message.% +\EndIndex{Cmd}{FamilyElseValues}% + \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., +execution. other than the \TeX{} syntax of conditionals, e.\,g., % Umbruchkorrektur \begin{lstcode}[belowskip=\dp\strutbox] \iftrue @@ -706,21 +791,21 @@ execution. Thereby not the \TeX{} syntax of conditionals, e.\,g., ... \fi \end{lstcode} -but the \LaTeX{} syntax also known from \LaTeX{} commands like +yet 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 +others, is used. Nevertheless, some package authors prefer to use the \TeX{} +syntax even for users at the \LaTeX{} interface level that could inevitably +lead to naming conflicts with the \Package{scrbase} conditionals. In fact, the +conditionals of \Package{scrbase} are very basic. Because of this +\Package{scrbase} firstly defines these conditionals as internal commands with +prefix \Macro{scr@}. Additional user commands without this prefix are +subsequently 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 +Authors of packages and classes should use the internal commands as \KOMAScript{} itself does. Nevertheless, for completeness the user commands -are described additionally. +are described separately. \begin{Declaration} @@ -733,12 +818,12 @@ are described additionally. \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.% + 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 contrast to +\Macro{@ifundefined}, \Macro{\PName{name}} is not defined to be \Macro{relax} +in the event it was not defined before. Moreover, using \eTeX{} this case will +not consume any hash memory.% % \EndIndex{Cmd}{ifundefinedorrelax}% \EndIndex{Cmd}{scr@ifundefinedorrelax}% @@ -753,11 +838,10 @@ consume any hash memory.% \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}). +otherwise the \PName{else instructions}. Whether or not a PDF-file is +generated does not matter, and the pdf\TeX{} test is rarely useful. In +general, test for the desired command instead (see previous +\Macro{scr@ifundefinedorrelax} and \Macro{ifundefinedorrelax}). % \EndIndex{Cmd}{ifpdftex}% \EndIndex{Cmd}{scr@ifpdftex}% @@ -772,9 +856,9 @@ instead (see previous \Macro{scr@ifundefinedorrelax} and \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}). +otherwise the \PName{else instructions}. This test is seldom useful. Test for +the desired command instead (see previous \Macro{scr@ifundefinedorrelax} and +\Macro{ifundefinedorrelax}). % \EndIndex{Cmd}{ifVTeX}% \EndIndex{Cmd}{scr@ifVTeX}% @@ -788,9 +872,9 @@ seldom only. Generally it's recommended to test for the wanted commands instead \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. +When generating a PDF-file the \PName{then instructions} will be executed, +otherwise the \PName{else instructions}. Whether pdf\TeX{} or V\TeX{} or +another \TeX{} engine is used to generate the PDF-file does not matter. % \EndIndex{Cmd}{ifpdfoutput}% \EndIndex{Cmd}{scr@ifpdfoutput}% @@ -804,12 +888,11 @@ is used to generate the PDF-file doesn't matter. \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}. +When generating a PostScript-file the \PName{then instructions} will be +executed, otherwise the \PName{else instructions}. V\TeX{} provides direct +PostScript generation that will be recognised here. If V\TeX{} is not used, +but a switch \Macro{if@dvips} has been defined, the decision depends on that +switch. \KOMAScript{} provides \Macro{if@dvips} in \Package{typearea}. % \EndIndex{Cmd}{ifpsoutput}% \EndIndex{Cmd}{scr@ifpsoutput}% @@ -823,7 +906,7 @@ switch. \KOMAScript{}, e.\,g., provides \Macro{if@dvips} in \end{Declaration} \BeginIndex{Cmd}{scr@ifdvioutput}% \BeginIndex{Cmd}{ifdvioutput}% -While DVI-file generation the \PName{then instructions} will be executed, +When generating a DVI-file 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. @@ -839,8 +922,8 @@ generation is assumed. \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. +executed if the command is defined, otherwise the \PName{else + instructions}. There is no corresponding internal command. % \EndIndex{Cmd}{ifnotundefined}% @@ -850,23 +933,159 @@ otherwise. There's no corresponding internal command for this. \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. +Both \PName{string} arguments are expanded and afterwards compared. If the +expansions are the same, the \PName{then instructions} will be executed, +otherwise the \PName{else instructions}. There is no corresponding internal +command. % \EndIndex{Cmd}{ifstr}% +\begin{Declaration} + \Macro{ifstrstart}\Parameter{string}\Parameter{string}% + \Parameter{then instructions}\Parameter{else instructions} +\end{Declaration} +\BeginIndex{Cmd}{ifstrstart}% +Both\ChangedAt{v3.12}{\Package{scrbase}} \PName{string} arguments are +expanded and afterwards compared. If aside from white spaces the first string +starts with the second one, the \PName{then instructions} will be executed, +otherwise the \PName{else instructions}. The command is not completely +expandable and there is no corresponding internal command.% +\EndIndex{Cmd}{ifstrstart}% + +\begin{Declaration} + \Macro{ifisdimen}\Parameter{code}% + \Parameter{then instructions}\Parameter{else instructions} +\end{Declaration} +\BeginIndex{Cmd}{ifisdimen}% +If\ChangedAt{v3.12}{\Package{scrbase}} the expansion of\PName{code} results in +a \Macro{dimen}, which is also known as \TeX{} length register, the +\PName{then instructions} will be executed, otherwise the \PName{else + instructions}. The command is not completely expandable and there is no +corresponding internal command.% +\EndIndex{Cmd}{ifisdimen}% + +\begin{Declaration} + \Macro{ifisdimension}\Parameter{code}% + \Parameter{then instructions}\Parameter{else instructions} +\end{Declaration} +\BeginIndex{Cmd}{ifisdimension}% +If\ChangedAt{v3.12}{\Package{scrbase}} \PName{code} expands to something with +the syntax of the value of a length, the \PName{then instructions} will be +executed, otherwise the \PName{else instructions}. Please +note\textnote{Attention!} that currently an invalid unit will result in an +error message. The command is not completely expandable and there is no +corresponding internal command.% +\EndIndex{Cmd}{ifisdimension}% + +\begin{Declaration} + \Macro{ifisdimexpr}\Parameter{code}% + \Parameter{then instructions}\Parameter{else instructions} +\end{Declaration} +\BeginIndex{Cmd}{ifisdimexpr}% +If\ChangedAt{v3.12}{\Package{scrbase}} the expansion of\PName{code} results in +a \Macro{dimexpr}, which is also known as \TeX{} length expression, the +\PName{then instructions} will be executed, otherwise the \PName{else + instructions}. Note\textnote{Attention!} that illegal expressions will +result in error messages. The command is not completely expandable and there +is no corresponding internal command.% +\EndIndex{Cmd}{ifisdimexpr}% + +\begin{Declaration} + \Macro{ifisskip}\Parameter{code}% + \Parameter{then instructions}\Parameter{else instructions} +\end{Declaration} +\BeginIndex{Cmd}{ifisskip}% +If\ChangedAt{v3.12}{\Package{scrbase}} the expansion of\PName{code} results in +a \Macro{skip}, which is also known as \TeX{} distance register, the +\PName{then instructions} will be executed, otherwise the \PName{else + instructions}. The command is not completely expandable and there is no +corresponding internal command.% +\EndIndex{Cmd}{ifisskip}% + +\begin{Declaration} + \Macro{ifisglue}\Parameter{code}% + \Parameter{then instructions}\Parameter{else instructions} +\end{Declaration} +\BeginIndex{Cmd}{ifisglue}% +If\ChangedAt{v3.12}{\Package{scrbase}} \PName{code} expands to something with +the syntax of the value of a skip, the \PName{then instructions} will be +executed, otherwise the \PName{else instructions}. Please +note\textnote{Attention!} that currently an invalid unit will result in an +error message. The command is not completely expandable and there is no +corresponding internal command.% +\EndIndex{Cmd}{ifisglue}% + +\begin{Declaration} + \Macro{ifisglueexpr}\Parameter{code}% + \Parameter{then instructions}\Parameter{else instructions} +\end{Declaration} +\BeginIndex{Cmd}{ifisglueexpr}% +If\ChangedAt{v3.12}{\Package{scrbase}} the expansion of\PName{code} results in +a \Macro{glueexpr}, which is also known as \TeX{} distance expression, the +\PName{then instructions} will be executed, otherwise the \PName{else + instructions}. Note,\textnote{Attention!} that illegal expressions will +result in error messages. The command is not completely expandable and there +is no corresponding internal command.% +\EndIndex{Cmd}{ifisglueexpr}% + +\begin{Declaration} + \Macro{ifiscount}\Parameter{code}% + \Parameter{then instructions}\Parameter{else instructions} +\end{Declaration} +\BeginIndex{Cmd}{ifiscount}% +If\ChangedAt{v3.12}{\Package{scrbase}} the expansion of\PName{code} results in +a \Macro{count}, which is also known as \TeX{} counter register, the +\PName{then instructions} will be executed, otherwise the \PName{else + instructions}. The command is not completely expandable and there is no +corresponding internal command. For test with \LaTeX{} counters, see +\Macro{ifiscounter}.% +\EndIndex{Cmd}{ifiscount}% + +\begin{Declaration} + \Macro{ifisnumber}\Parameter{code}% + \Parameter{then instructions}\Parameter{else instructions} +\end{Declaration} +\BeginIndex{Cmd}{ifisnumber}% +If\ChangedAt{v3.12}{\Package{scrbase}} \PName{code} expands to something with +the syntax of the value of a counter, which would be a negative or positive +integer, the \PName{then instructions} will be executed, otherwise the +\PName{else instructions}. The command is not completely expandable and there +is no corresponding internal command.% +\EndIndex{Cmd}{ifisnumber}% + +\begin{Declaration} + \Macro{ifisnumexpr}\Parameter{code}% + \Parameter{then instructions}\Parameter{else instructions} +\end{Declaration} +\BeginIndex{Cmd}{ifisnumexpr}% +If\ChangedAt{v3.12}{\Package{scrbase}} the expansion of\PName{code} results in +a \Macro{numexpr}, which is also known as \TeX{} number expression, the +\PName{then instructions} will be executed, otherwise the \PName{else + instructions}. Note\textnote{Attention!} that illegal expressions will +result in error messages. The command is not completely expandable and there +is no corresponding internal command.% +\EndIndex{Cmd}{ifisnumexpr}% + +\begin{Declaration} + \Macro{ifiscounter}\Parameter{counter}% + \Parameter{then instructions}\Parameter{else instructions} +\end{Declaration} +\BeginIndex{Cmd}{ifiscounter}% +If\ChangedAt{v3.12}{\Package{scrbase}} \PName{counter} is an already defined +\LaTeX{} counter, the \PName{then instructions} will be executed, otherwise +the \PName{else instructions}. The command is not completely expandable and +there is no corresponding internal command.% +\EndIndex{Cmd}{ifiscounter}% \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. +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 is no +corresponding internal command. % \EndIndex{Cmd}{ifnumber}% @@ -876,10 +1095,10 @@ corresponding internal command for this. \Parameter{then instructions}\Parameter{else instructions} \end{Declaration} \BeginIndex{Cmd}{ifdimen}% -Note, that this does not compare dimensions. The \PName{then instructions} will +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. +unit of length. Otherwise, the \PName{else instructions} will be used. There +is no corresponding internal command. % \EndIndex{Cmd}{ifdimen}% @@ -890,11 +1109,11 @@ corresponding internal command for this. \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{} +preamble \Macro{if@atdocument} is same as \Macro{iffalse}. After +\Macro{begin}\PParameter{document} it's the same as \Macro{iftrue}. Authors of +classes and packages may use this if a command should work somehow different +depending on 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}% @@ -906,77 +1125,106 @@ syntax not in \LaTeX{} syntax! \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 +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 +packages are loaded. These definitions unfortunately occur 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, +sense to delay 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{defcaptionname}% + \Parameter{language list}\Parameter{term}\Parameter{definition}\\ \Macro{providecaptionname}% - \Parameter{language}\Parameter{term}\Parameter{definition}\\ + \Parameter{language list}\Parameter{term}\Parameter{definition}\\ \Macro{newcaptionname}% - \Parameter{language}\Parameter{term}\Parameter{definition}\\ + \Parameter{language list}\Parameter{term}\Parameter{definition}\\ \Macro{renewcaptionname}% - \Parameter{language}\Parameter{term}\Parameter{definition} + \Parameter{language list}\Parameter{term}\Parameter{definition}\\ + \Macro{defcaptionname*}% + \Parameter{language list}\Parameter{term}\Parameter{definition}\\ + \Macro{providecaptionname*}% + \Parameter{language list}\Parameter{term}\Parameter{definition}\\ + \Macro{newcaptionname*}% + \Parameter{language list}\Parameter{term}\Parameter{definition}\\ + \Macro{renewcaptionname*}% + \Parameter{language list}\Parameter{term}\Parameter{definition} \end{Declaration} +\BeginIndex{Cmd}{defcaptionname}% \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 +particular language to a \PName{term}. Several languages can be concatenated +with comma to a \PName{language list}. The \PName{term} is always a +macro. The commands differ depending on whether a given language or a +\PName{term} within a given 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 +If a language is not defined, then \Macro{providecaptionname} does +nothing other than write a message in the log file. This happens only once +for each language. If a 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 +\PName{term} will not be redefined if the 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 +The command \Macro{newcaptionname} has a slightly different behaviour. If a +language is not yet defined, then a new language command will be +created and a message written to the log file. For language +\PValue{USenglish}, for example, this would be the language command +\Macro{captionsUSenglish}. If \PName{term} is not yet defined in a +language, then it will be defined using \PName{definition}. If +\PName{term} already exists in a 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 +existing definition of \PName{term} in the languages. If neither +a language nor \PName{term} exist or \PName{term} is unknown in a +defined language, then an error message is given. Otherwise, the +\PName{term} for the language will be redefined according to \PName{definition}. -\KOMAScript{} itself employs \Macro{providecaptionname} in order to define the +\KOMAScript{} 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: + If you prefer ``fig.'' instead of ``figure'' in \PValue{USenglish}, you may + achieve this using: \begin{lstcode} \renewcaptionname{USenglish}{\figurename}{fig.} \end{lstcode} + If you want the same change not only in \PValue{USenglish} but also in + \PValue{UKenglish}, you do not need an additional: +\begin{lstcode} + \renewcaptionname{UKenglish}{\figurename}{fig.} +\end{lstcode} + but can simply extend the \PName{language list}: +\begin{lstcode} + \renewcaptionname{USenglish,UKenglish}{\figurename}{fig.} +\end{lstcode} + You can extend the \PName{language list} in the same manner by + \PValue{american}, \PValue{australian}, \PValue{british}, \PValue{canadian}, + and \PValue{newzealand}. \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. +Since \KOMAScript~3.12\ChangedAt{v3.12}{\Package{scrbase}} you do not need to +delay the definition or redefinition until \Macro{begin}\PParameter{document} +using \Macro{AtBeginDocument} any longer because \Package{scrbase} does the +delay automatically for (re)definitions in the document's +preamble. Additionally, \Package{scrbase} tests if a redefinition should be +made in \Macro{extras\PName{language}} instead of +\Macro{captions\PName{language}} and does so automatically. The new star +variants of the commands always use \Macro{extras\PName{language}}. So +redefinition of language dependent terms for packages like \Package{hyperref} +that use \Macro{extras\PName{language}} should work as expected by the user. Language dependent terms usually defined by classes and language packages are listed and described in \autoref{tab:scrbase.commonNames}. @@ -1081,6 +1329,7 @@ packages are listed and described in \autoref{tab:scrbase.commonNames}. \EndIndex{Cmd}{providecaptionname}% \EndIndex{Cmd}{newcaptionname}% \EndIndex{Cmd}{renewcaptionname}% +\EndIndex{Cmd}{defcaptionname}% % \EndIndex{}{language>definition} @@ -1088,18 +1337,18 @@ packages are listed and described in \autoref{tab:scrbase.commonNames}. \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. +Package \Package{scrbase} may be used independent of \KOMAScript{} with +other packages and classes. Nevertheless, it is a \KOMAScript{} package. For +this, \Package{scrbase} also provides commands to identify \KOMAScript{} and +to identify 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 +a little bit tracking for the capitals. By the way: All \KOMAScript{} classes +and packages define this command, if it has not been defined already. The definition is robust using \Macro{DeclareRobustCommand}. % \EndIndex{Cmd}{KOMAScript} @@ -1111,9 +1360,9 @@ definition is robust using \Macro{DeclareRobustCommand}. \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, +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 +loading \Package{scrbase}, too. For example, this document has been made using \KOMAScript{} version ``\KOMAScriptVersion''. % \EndIndex{Cmd}{KOMAScriptVersion}% @@ -1122,8 +1371,8 @@ loading \Package{scrbase} too. This document has been made, e.\,g., using \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 +Sometimes the \LaTeX{} kernel itself provides commands, but lacks 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} @@ -1133,14 +1382,14 @@ authors of packages and classes are provided by \Package{scrbase}. \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 +commands like \Macro{ClassInfo} and \Macro{PackageInfo} to write information. +together with the current line number, into the log-file. Besides \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. +\Macro{PackageInfoNoLine} for writing information without line numbers into the +log-file are missing. Package \Package{scrbase} provides them. % \EndIndex{Cmd}{ClassInfoNoLine}% \EndIndex{Cmd}{PackageInfoNoLine} @@ -1156,8 +1405,8 @@ 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}). +usage of package \Package{etoolbox}\IndexPackage{etoolbox}, which provides +several of such commands for different purposes (see \cite{package:etoolbox}). % \EndIndex{Cmd}{l@addto@macro} @@ -1166,7 +1415,7 @@ several of such commands for different purpose (see \cite{package:etoolbox}). \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 +provided 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 @@ -1178,9 +1427,10 @@ operators would be useful. \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: +Having a division with remainder command\ChangedAt{v3.05a}{\Package{scrbase}} +\Macro{XdivY} gives the value of the integer quotient, with command +\Macro{XmodY} giving the value of the remainder. This kind of division is +defined: \[ \textit{dividend} = \textit{divisor} \cdot \textit{integer quotient} + \textit{remainder} @@ -1190,7 +1440,7 @@ 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 +expression of \Macro{numexpr}. For output the value as an Arabic number has to be prefixed by \Macro{the}.% % \EndIndex{Cmd}{XmodY}% @@ -1203,7 +1453,7 @@ to be prefixed by \Macro{the}.% %%% Local Variables: %%% mode: latex %%% mode: flyspell -%%% ispell-local-dictionary: "english" +%%% ispell-local-dictionary: "en_GB" %%% 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 index b718bccf6f8..9fc393d423e 100644 --- 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 @@ -1,6 +1,6 @@ % ====================================================================== % scrbookreportarticle-experts.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrbookreportarticle-experts.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -47,8 +47,10 @@ % % ============================================================================ -\ProvidesFile{scrbookreportarticle-experts.tex}[2012/02/28 KOMA-Script guide -(chapter: scrbook, scrreprt, scrartcl for experts)] +\KOMAProvidesFile{scrbookreportarticle-experts.tex} + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + KOMA-Script guide (chapter: scrbook, scrreprt, scrartcl for + experts)] \translator{Gernot Hassenpflug\and Markus Kohm} @@ -64,14 +66,14 @@ 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 + only. This should not be a problem, because the}{The} average user, who only +want to use the package, will not 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. +with a sans serif font. You should not use them any longer. \LoadNonFree{scrbookreportarticle-experts}{0} @@ -108,7 +110,7 @@ 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 +\Macro{KOMAScript}\IndexCmd{KOMAScript} is not 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.% @@ -122,7 +124,7 @@ may also define the \KOMAScript{} word mark with this name.% \end{Declaration} \BeginIndex{Cmd}{addtocentrydefault}% The\ChangedAt{v3.08}{\Class{scrbook}\and \Class{scrreprt}\and - \Class{scrartcl}} \KOMAScript{} classes don't use + \Class{scrartcl}} \KOMAScript{} classes do not use \Macro{addcontentsline}\IndexCmd{addcontentsline}% \important{\Macro{addcontentsline}} directly. Instead they call \Macro{addtocentrydefault} with similar arguments. The command may be used @@ -168,7 +170,7 @@ manipulate the entries. For example\textnote{Example} one could suggest }% }% \end{lstcode} -to omit entries with empty \PName{heading}. In real live this wouldn't be +to omit entries with empty \PName{heading}. In real live this would not 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} @@ -218,7 +220,7 @@ 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 +default is used only, if the macro has not 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 @@ -569,7 +571,7 @@ 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 +The \KOMAScript{} classes do something similar. Nevertheless, they do not 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 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 08633a351a6..2d9a75f5718 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 @@ -1,6 +1,6 @@ % ====================================================================== % scrbookreportarticle.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrbookreportarticle.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,11 +45,13 @@ % % ============================================================================ -\ProvidesFile{scrbookreportarticle.tex}[2012/05/15 KOMA-Script guide (chapter: -scrbook, scrreprt, scrartcl)] +\KOMAProvidesFile{scrbookreportarticle.tex} + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + KOMA-Script guide (chapter: scrbook, scrreprt, scrartcl)] + \translator{Jens-Uwe Morawski\and Gernot Hassenpflug\and Markus Kohm\and Krickette Murabayashi} -% Date of translated german file: 2012-02-15 +% Date of translated german file: 2013-05-31 \chapter{The Main Classes: \Class{scrbook}, \Class{scrreprt}, and \Class{scrartcl}} @@ -188,160 +190,8 @@ class.% \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{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{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{Cmd}{setkomafont}% -\EndIndex{Cmd}{addtokomafont}% -\EndIndex{Cmd}{usekomafont}% -% -\EndIndex{}{font}% -\EndIndex{}{text>markup}% - \LoadCommon{14} %\section{Document Titles} - \section{Abstract} \label{sec:maincls.abstract} \BeginIndex{}{summary}% @@ -408,8 +258,8 @@ When using an in-page title\Index{title>in-page} (see option \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 +be set with indentation of the first line. If that first paragraph of the +abstract should not be indented, 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}.% % @@ -662,7 +512,7 @@ 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 \Macro{subsubsection}. However, you do not want this sectional unit to appear in the table of contents. The preamble of your document might contain the following: \begin{lstcode} @@ -723,7 +573,7 @@ rule. 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 +does not 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 @@ -1002,7 +852,7 @@ The page styles can be redefined with the \Macro{renewcommand} macro. \renewcommand*{\chapterpagestyle}{plain} \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 + advantage will be that you do not need to know the current page style before the change to switch back at the end. \begin{lstcode} \clearpage @@ -1238,12 +1088,12 @@ starts, the option influences also the explicit usage of the commands \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 +about these. Since \LaTeX{} does not differentiate between left-hand +and right-hand pages in single-sided printing, the option does not 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. +the part. Because of this, \Class{scrartcl} does not support this option. % \EndIndex{Option}{open~=\PName{method}}% @@ -1414,7 +1264,7 @@ description of the structural commands. 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}% + \IndexOption{headings~=\PValue{optiontohead}}% }% \entry{\PValue{optiontoheadandtoc}, \PValue{optiontotocandhead}% \IndexOption{headings~=\PValue{optiontoheadandtoc}}}{% @@ -1430,7 +1280,7 @@ description of the structural commands. 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}% + \IndexOption{headings~=\PValue{optiontohead}}% }% \pventry{small}{% Use small headings with small distances above and below.% @@ -1578,13 +1428,13 @@ In addition to this, with\ChangedAt{v3.10}{\Class{scrbook}\and classes} option \important{\Option{headings}} \OptionValue{headings}{optiontohead}% \IndexOption[indexmain]{headings~=\PValue{optiontohead}}, \KOMAScript{} -doesn't use +does not 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 +\IndexOption[indexmain]{headings~=\PValue{optiontotoc}}, \KOMAScript{} does not 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 @@ -1594,7 +1444,7 @@ counter \Counter{tocdepth} (see \autoref{sec:maincls.toc}, \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 +interpretation of the optional argument \PName{short version}, which is not active by default. The \ChangedAt{v3.10}{\Class{scrbook}\and \Class{scrreprt}\and @@ -2121,7 +1971,7 @@ horizontally centered instead of set ragged right. This is because command \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 + You do not want different alignment at headings of \Macro{part}. So you put \begin{lstcode} \renewcommand*{\raggedpart}{\raggedsection} @@ -2270,12 +2120,16 @@ Since chapters only exist in the classes \Class{scrbook} and \begin{Declaration} \Macro{chaptermark}\Parameter{running head}\\ + \Macro{addchapmark}\Parameter{running head}\\ \Macro{sectionmark}\Parameter{running head}\\ + \Macro{addsecmark}\Parameter{running head}\\ \Macro{subsectionmark}\Parameter{running head}\\ \Macro{chaptermarkformat}\\ \Macro{sectionmarkformat}\\ \Macro{subsectionmarkformat} \end{Declaration}% +\BeginIndex{Cmd}{addchapmark}% +\BeginIndex{Cmd}{addsecmark}% \BeginIndex{Cmd}{chaptermark}% \BeginIndex{Cmd}{sectionmark}% \BeginIndex{Cmd}{subsectionmark}% @@ -2297,6 +2151,18 @@ Since chapters only exist in the classes \Class{scrbook} and \Macro{chaptermarkformat}, \Macro{sectionmarkformat}, or \Macro{subsectionmarkformat}. + Because\ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} \KOMAScript{} provides additional commands + \Macro{addchap} and \Macro{addsec} to make headings without numbers, there + also exist corresponding commands for making the running heads of those. + Please note\textnote{Attention!}, that the predefined \Macro{addchapmark} + and \Macro{addsecmark} use \Macro{chaptermark} and + \Macro{sectionmark} while they set counter + \Counter{secnumdepth} to -1 locally. You should pay attention for this + exspecially if you redefine \Macro{chaptermark} or + \Macro{sectionmark}, e.\,g., you should also redefine \Macro{addchapmark} + and \Macro{addsecmark} suitable. + \OnlyAt{\Class{scrbook}\and\Class{scrreprt}}Of course there is no command \Macro{chaptermark} or \Macro{chaptermarkformat} in \Class{scrartcl}. \OnlyAt{\Class{scrartcl}}Accordingly, @@ -2336,6 +2202,8 @@ As you can see, both the commands \Macro{chapappifchapterprefix} and \EndIndex{Cmd}{chaptermarkformat}% \EndIndex{Cmd}{sectionmarkformat}% \EndIndex{Cmd}{subsectionmarkformat}% +\EndIndex{Cmd}{addsecmark}% +\EndIndex{Cmd}{addchapmark}% \begin{Declaration} @@ -2476,7 +2344,7 @@ 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 +You will not 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 @@ -2493,7 +2361,7 @@ 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 +\Macro{KOMAoption} is not supported. This would not 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. % @@ -2508,7 +2376,7 @@ 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 +\Macro{KOMAoption}. The latter would not 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. % @@ -2600,7 +2468,7 @@ Of course similar features exist\ChangedAt{v3.09}{\Class{scrbook}\and \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 +general, signatures should be used and it would not be useful to change the caption format from signatures to headings. Nevertheless sometimes all floating environments shall use headings. For this @@ -2630,7 +2498,7 @@ 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 +captions should not 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 @@ -3156,7 +3024,7 @@ e.\,g., using \Macro{raisebox}\IndexCmd{raisebox}. 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 + With \Macro{dimexp} a \eTeX{} command has been used. This should not be a problem at all, because \KOMAScript{} itself needs \eTeX{} and every almost up-to-date \LaTeX{} distribution uses \eTeX already. @@ -3606,13 +3474,13 @@ 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 +too. Normally\important{\OptionValue{listof}{entryprefix}} it would not 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 +tables. So this prefixes would not give any additional information and for this +would not 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 @@ -3640,7 +3508,7 @@ with \OptionValue{listof}{nochaptergap}% \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 +would also happen, if the chapter does not 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}, @@ -3693,11 +3561,11 @@ An overview about all settings to option \Option{listof} may be found at 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.% + Chapter starts are not 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.% + tables do not generate an entry at the table of contents.% \IndexOption{listof~=\PValue{notoc}}}% \entry{\PValue{numbered}, \PValue{totocnumbered}, \PValue{tocnumbered}, \PValue{numberedtotoc}}{% @@ -3708,7 +3576,7 @@ An overview about all settings to option \Option{listof} may be found at \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.% + headings are not numbered.% \IndexOption{listof~=\PValue{totoc}}}% \end{desclist} % @@ -3863,6 +3731,17 @@ neither a number nor an entry to the table of contents and corresponds to \PValue{nobibliography} to this option at \autopageref{desc:maincls.option.toc.bibliography}. +Sometimes\ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} it is not usefull to have one bibliography for the whole +document but a bibliography at every chapter of a document made using +\Class{scrbook} or \Class{scrreprt}. In that case +you'd\important{\OptionValue{bibliography=leveldown}} need the bibliography +itself not to be a chapter but one level below, a section. You may achieve +this using Option \OptionValue{bibliography}{leveldown}% +\IndexOption{bibliography~=\PValue{leveldown}}. You may use this also if you'd +combine several lists and the bibliography together below one heading. So this +option is also available with \Class{scrartcl}. + 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 @@ -3874,6 +3753,12 @@ that additional values may be generated using of the bibliography} \label{tab:maincls.bibliography} \begin{desctabular} + \pventry{leveldown}{% + \ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}}% + The bibliography will use a heading of one step lower section level than + default.% + \IndexOption{bibliography~=\PValue{leveldown}}}% \pventry{nottotoc}{% The bibliography will neither have an entry at the table of contents nor a number,% @@ -3907,7 +3792,7 @@ that additional values may be generated using \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 needn't be +before the command for issuing the bibliography. However, it need not 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 @@ -4001,10 +3886,10 @@ index hardly. This would be valid, e.\,g., for usage of package 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}{default}\IndexOption{index~=\PValue{default}}. +The\important{\OptionValue{index}{totoc}} index does not 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. 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 39be1185e0f..82ec269a6aa 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 @@ -1,6 +1,6 @@ % ====================================================================== % scrdatetime.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrdatetime.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,8 +45,9 @@ % % ============================================================================ -\ProvidesFile{scrdatetime.tex}[{2012/02/23 KOMA-Script guide (chapter: - scrdate, scrtime)}] +\KOMAProvidesFile{scrdatetime.tex} + [$Date: 2013-12-13 12:13:03 +0100 (Fr, 13 Dez 2013) $ + KOMA-Script guide (chapter: scrdate, scrtime)] \translator{Markus Kohm\and Gernot Hassenpflug} % Date of translated German file: 2012/02/23 @@ -88,7 +89,7 @@ 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 +does not 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}. @@ -125,7 +126,7 @@ 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 +\PName{year}\texttt{-}\PName{month}\texttt{-}\PName{day}. It does not 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 @@ -179,7 +180,7 @@ Wednesday\,=\,3, Thursday\,=\,4, Friday\,=\,5, and Saturday\,=\,6.% \BeginIndex{Cmd}{DayNameByNumber}% \BeginIndex{Cmd}{DayName}% \BeginIndex{Cmd}{ISODayName}% -Usually\ChangedAt{v3.05a}{\Package{scrdate}} you don't want to know the number +Usually\ChangedAt{v3.05a}{\Package{scrdate}} you do not 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} 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 index 05e7dea5eb5..5baf6701c96 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/scrextend.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/scrextend.tex @@ -1,6 +1,6 @@ % ====================================================================== % scrextend.tex -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrextend.tex -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,10 +45,12 @@ % % ====================================================================== -\ProvidesFile{scrextend.tex}[2012/02/16 KOMA-Script package scrextend] +\KOMAProvidesFile{scrextend.tex} + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + KOMA-Script package scrextend] \translator{Markus Kohm} -% Date of the translated German file: 2008/09/12 +% Date of the translated German file: 2013/05/31 \chapter{Making Basic Feature of the \KOMAScript{} Classes Available with Package \Package{scrextend} while Using Other Classes} @@ -62,7 +64,7 @@ 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 +\Package{scrextend} since \KOMAScript{} release~3.00. This package should not 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 @@ -86,7 +88,7 @@ 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 +\Package{scrextend} does not provide the features of this package. Nevertheless you may use \Package{tocbasic} together with \Package{scrextend}.% \fi @@ -157,31 +159,6 @@ argument of \Macro{usepackage}\OParameter{optional \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} @@ -191,7 +168,7 @@ the font style, that has been defined for the given \PName{element}. 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 +and footer of the page. Package \Package{scrextend} does not define any page style, but it uses and expects the definition some page styles. 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 index fce50ee9fda..901ae104649 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/scrhack.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/scrhack.tex @@ -1,6 +1,6 @@ % ====================================================================== % scrhack.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrhack.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,9 @@ % % ============================================================================ -\ProvidesFile{scrhack.tex}[2012/03/06 KOMA-Script guide (chapter: scrhack)] +\KOMAProvidesFile{scrhack.tex} + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + KOMA-Script guide (chapter: scrhack)] \translator{Markus Kohm} % Date of the translated German file: 2011/10/07 @@ -71,13 +73,13 @@ 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 +\Package{scrhack} eventually could not 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. +benefit, the correct function could not be guaranteed forever. \LoadCommon{0} @@ -105,7 +107,7 @@ 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 +To clear all this disadvantages and problems, \KOMAScript{} officially does not 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 @@ -115,7 +117,7 @@ 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 +packages, that are using the old interface, have not done so currently. Because of this \Package{scrhack} contains appropriate modifications of packages \Package{float}\IndexPackage{float}\important{\Package{float}, \Package{floatrow}, \Package{listings}}, @@ -144,7 +146,7 @@ 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 +was not 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 diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/scrlayer-notecolumn.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/scrlayer-notecolumn.tex new file mode 100644 index 00000000000..63606d0b3a6 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/scrlayer-notecolumn.tex @@ -0,0 +1,317 @@ +\immediate\write17{^^J% ++----------------------------------------------------------------------^^J% +| WARNING (`scrlayer-notecolumn.tex'):^^J% ++----------------------------------------------------------------------^^J% +| YOU SHOULD NOTE, THAT THIS IS NOT AN OFFICIAL RELEASE!^^J% +| THIS VERSION IS INTENDED TO BE USED FOR TESTING ONLY!^^J% +| USAGE FOR PURPOSES OTHER THAN INTENDED IS DANGEROUS!^^J% +| DON'T EXPECT ANY SUPPORT FOR THIS VERSION!^^J% ++----------------------------------------------------------------------^^J% +} +%% +%% This is file `scrlayer-notecolumn.tex', +%% generated with the docstrip utility, extended by scrdocstrip. +%% +%% The original source files were: +%% +%% scrlayer-notecolumn.dtx (with options: `doc') +%% +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] +%% +%% This file was generated from file(s) of the KOMA-Script bundle. +%% --------------------------------------------------------------- +%% +%% It may be distributed under the conditions of the +%% LaTeX Project Public License in the version distributed together +%% with KOMA-Script, see file `lppl.txt' or `lppl-de.txt'. +%% +%% This file may only be distributed together with a copy of the +%% KOMA-Script bundle. You may however distribute the +%% KOMA-Script bundle without all such generated files. See also +%% `lppl.txt' or `lppl-de.txt' for additional information. +%% +%% The list of files belonging to KOMA-Script distribution is given in +%% the file `manifest.txt'. See also `lppl.txt' or `lppl-de.txt' for +%% additional information. +%% +%% If this file is a beta version, you may not be allowed to distribute +%% it. Look at the comments below to see if this is the case. +%% +%% English and German manuals are part of KOMA-Script bundle. +%% ---------------------------------------------------------- +%% +%% See `README'. +%% +%% The KOMA-Script bundle (but maybe not this file) was based upon the +%% LaTeX 2.09 Script family created by Frank Neukam 1993 and the LaTeX2e +%% standard classes created by The LaTeX3 Project 1994-1996. You may +%% find a complete unmodified copy of LaTeX2e at +%% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. +%% +\ProvidesFile{scrlayer-notecolumn.tex}[% + 15/11/2013 v0.1.1514 + (end user interface for scrlayer)] + +\chapter[{End User Interface \Package{scrlayer-notecolumn}}]{End User + Interface \Package{scrlayer-notecolumn}\footnote{This is not a translation + of the corresponding chapter of the German \KOMAScript{} manual but the + tentative and primary implementation manual of package + \Package{scrlayer-notecolumn}. As long as \Package{scrlayer-notecolumn} is + primary a proof of concept this doesn't matter. But nevertheless, a + German to English translator would still be welcome.}} +\label{sec:scrlayer.notecolumn} +\labelbase{scrlayer-notecolumn} + +Sometimes documents need an additional notes column beside the main text +column and maybe beside the marginal note column. Problematicly may be +having page breaks inside the notes column. This package provides a +solution based on the layer interface of \Package{scrlayer}. You may +define several notes columns, each of them with page breaks +inside. It supports automatic page break inside of notes and recognises +note collisions and solve them by moving notes. + +The idea of this package raised while an e-mail contact with Heiner +Richter from FH~Stralsund, who told me of a book project, and asked +whether or not such a functionality may be added to another package of +mine easily. It couldn't, but design and implementation of a first test +alpha of \Package{scrlayer-notecolumn} has been done in about three +hours. So maybe it was a really good idea to ask me the question. + +\begin{Declaration} + \Macro{DeclareNoteColumn}% + \OParameter{option list}\Parameter{note column name}% + \\ + \Macro{DeclareNewNoteColumn}% + \OParameter{option list}\Parameter{note column name}\\%^^A + \Macro{ProvideNoteColumn}% + \OParameter{option list}\Parameter{note column name}\\%^^A + \Macro{RedeclareNoteColumn}% + \OParameter{option list}\Parameter{note column name}% +\end{Declaration} +\BeginIndex{Cmd}{DeclareNoteColumn}% +\BeginIndex{Cmd}{DeclareNewNoteColumn}% +\BeginIndex{Cmd}{ProvideNoteColumn}% +\BeginIndex{Cmd}{RedeclareNoteColumn}% +Command \Macro{DeclareNoteColumn} +may be used to declare a note column. Each note column is referenced by its +name, defined by the obligatory argument \PName{note column name}. A note +column vertically span the text area. + +By default its horizontal position is the current position of the marginal +note column. It also regards \Macro{reversemarginpar} and +\Macro{normalmarginpar}, while output of a note. Note that this is not the +same like making a margin note. The default width is +\Length{marginparwidth}. But you may use the optional argument \PName{option + list} to change this behaviour. + +The \PName{option list} is a comma-separated list of +\texttt{\PName{key}=\PName{value}} options. Currently the following +\PName{key}s are supported: +\begin{labeling}[\ --]{\KOption{position}\PName{horizontal offset}} +\item [\KOption{font}\PName{font declaration}] set the initial font attributes + to be used for the note column. Everything, that is allowed to be set by + \Macro{setkomafont} or \Macro{addtokomafont} can be used as + \PName{font declaration}. Note, that + \Macro{normalfont}\Macro{normalsize} will be used + before. So you don't need one of them at your own initialisation. +\item [\Option{marginpar}] set up \Option{position} and \Option{width} to use + the marginal note column of \Macro{marginpar}. +\item [\Option{normalmarginpar}] set up \Option{position} and \Option{width} + to use the normal marginal note column and ignore \Macro{reversemarginpar} + and \Macro{normalmarginpar}. +\item [\KOption{position}\PName{horizontal offset}] set up the horizontal + offset of the note column from the left edge of the paper. The + \PName{horizontal offset} can be either a \LaTeX{} length, a \TeX{} + dimension, a \TeX{} skip, a length value, or a dimensional expression using + \texttt{+}, \texttt{-}, \texttt{*}, \texttt{/} and parenthesis (see + \cite[section~3.5]{manual:eTeX} for more information about dimensional + expressions). The value will be calculated at usage time not at definition + time. So you may even use more complex constructs like: +\begin{lstcode} + \ifodd\value{page} + \oddsidemargin+1in + +\textwidth+\marginparsep + \else + \evensidemargin+1in + -\marginparsep + -\marginparwidth + \fi +\end{lstcode} +\item [\Option{reversemarginpar}] set up \Option{position} and \Option{width} + to use the reverse marginal note column and ignore \Macro{reversemarginpar} + and \Macro{normalmarginpar}. +\item [\KOption{width}\PName{size}] set up the horizontal size of the note + column. You can use the same values for \PName{size} like for + \PName{horizontal offset} of option \Option{position}. +\end{labeling} + +You may use as much note columns as \LaTeX{} provides free box registers, +because every note column needs one box register. You may use package +\Package{etex} to increase the normal amount of box registers from 256 to +32768. This should be enough to avoid the ``\texttt{no room for + \Macro{newbox}}'' error. + +The implementation of note columns uses foreground layers from package +\Package{scrlayer}. Every \Macro{DeclareNoteColumn} generates a layer and adds +this layer to the pseudo page style \Pagestyle{@everystyle@}. Theoretically +you may modify the generated layer, but it is recommended not to modify them. + +Overlapping of different note columns is allowed. There's one predefined note +column named ``\texttt{marginpar}''. + +\BeginIndex{FontElement}{notecolumn.\PName{note column name}}% +Note, that if you change the initial font using +\begin{quote} + \Macro{setkomafont}\linebreak[1]\PParameter{marginnote.\PName{note column + name}}\Parameter{font declaration} +\end{quote} +or +\begin{quote} + \Macro{addtokomafont}\linebreak[1]\PParameter{marginnote.\PName{note column + name}}\Parameter{font declaration} +\end{quote} +the font of all succeeding note column outputs would change. This could make it +hard to find out, which notes will be affected by the change. +See \autoref{sec:maincls.textmarkup}, +\autopageref{desc:maincls.cmd.setkomafont} for more information about +\Macro{setkomafont} and \Macro{addtokomafont}.% +\EndIndex{FontElement}{notecolumn.\PName{note column name}}% + +The difference between \Macro{DeclareNoteColumn} and the other commands is, +that \Macro{DeclareNoteColumn} defines the note column independent whether a +note column with the same name has already been defined or +not. \Macro{DeclareNewNoteColumn} defined only note columns which names are +not yet used for another note column. It's an error to use it with an already +used \PName{note column name}. \Macro{ProvideNoteColumn} is like +\Macro{DeclareNewNoteColumn}, but if the \PName{note column name} is already +used for a note column nothing happens. \Macro{RedeclareNoteColumn} may be +used to declare a note column with a name, that is already used. Using it with +a new name is an error. +\EndIndex{Cmd}{RedeclareNoteColumn}%^^A +\EndIndex{Cmd}{ProvideNoteColumn}%^^A +\EndIndex{Cmd}{DeclareNewNoteColumn}%^^A +\EndIndex{Cmd}{DeclareNoteColumn}%^^A + +\begin{Declaration} + \Macro{makenote}% + \OParameter{note column name}\Parameter{note text} +\end{Declaration} +\BeginIndex{Cmd}{makenote}% +This command +may be used to make a new note. The note will be written to a helper file with +extension \File{.slnc} in this run. In the next run, it will be +typeset. Normally it will be typeset with the same vertical position, that +would be used for a \Macro{parbox[t]}, but horizontally moved to the note +column. Collisions at this position of this note column (but not of other note +columns) will be recognised. In such a case the note may be moved down and +even to another page. Automatic page breaks at the note columns are +supported. This is something different to \Macro{marginpar}, +\Macro{marginline} (\KOMAScript{} classes), or \Macro{marginnote} (package +\Package{marginnote}). + +Note, that after changing the document, at least two \LaTeX{} runs are needed +to move the note to its final position. + +Note, that fragile commands should be protected to avoid error messages while +writing or reading the helper file. + +Note, that \Package{scrlayer-notecolumn} needs only one helper file for all +note columns together. You should not edit or change that helper file, because +the syntax is fragile. It won't be read using \Macro{input} but +\Macro{read}. Because of this, line breaks, empty lines and \Macro{par} should +be avoided. + +Currently it is unknown where you may use \Macro{makenote} and where not. But +you must not use \Macro{makenote} inside of \Macro{makenote}! + +The default for the optional argument \PName{makenote} is \PValue{marginpar}, +that is the \PName{note column name} of the pre-defined note column. +\EndIndex{Cmd}{makenote} + +\begin{Declaration} + \KOption{autoclearnotecolumns}\PName{simple switch}\\ + \Macro{clearnotecolumn}\OParameter{name of a note column}% + \\ + \Macro{clearnotecolumns}\OParameter{list of note column names} +\end{Declaration} +\BeginIndex{Cmd}{clearnotcolumn}% +\BeginIndex{Cmd}{clearnotcolumns}% +The commands +may be used to output all hanging notes for either one or several note +columns. With \Macro{clearnotecolumn} only the notes of the note column with +the given \PName{name of a note column} will be output. If you omit the +optional argument (this is not the same like using an empty value!) note +column \PValue{marginnote} will be used. + +With \Macro{clearnotecolumns} the notes of all note columns of the comma +separated \PName{list of note column names} will be output. If you omit the +optional Argument or if the optional Argument is empty (or start with +\Macro{relax}) the notes of all note columns will be output. + +Macro \Macro{clearpage} will be used to output hanging notes and several +\LaTeX{} runs may be needed to terminate with the correct number of +\Macro{clearpage} for the whole document. You will get the message ``\LaTeX{} +Warning: Label(s) may have changed. Rerun to get cross-references right.'' as +long as the process hasn't been terminated. + +But normally you don't need to us \Macro{clearnotecolum} or +\Macro{clearnotecolumns} yourself. Because by default option +\Option{autoclearnotecolumns} is switched on, which means, that +\Macro{clearnotecolumns} will be done at every \Macro{clearpage}. You may +change this, switching off \Macro{autoclearnotecolumns} using one of the +values for simple switches. + +Note, that it is not allowed to use \Macro{clearnotecolumn} or +\Macro{clearnotecolumns} inside a note. You can use these commands only inside +the main text of the document.% +\EndIndex{Cmd}{clearnotcolumns}% +\EndIndex{Cmd}{clearnotcolumn}% + +\begin{Declaration} + \Macro{syncwithnotecolumn}\OParameter{name of a note column}% + \\ + \Macro{syncwithnotecolumns}\OParameter{list of note column names}% +\end{Declaration} +\BeginIndex{Cmd}{syncwithnotecolumn}% +\BeginIndex{Cmd}{syncwithnotecolumns}% +These commands +may be used to synchronise the vertical position of the main text with one or +several note columns. If you use the optional argument of +\Macro{syncwithnotecolumn} it should be one \PName{name of a note column}. If +you omit it, \PValue{marginpar} will be used as the \PName{name of a note + column}. Usage of \Macro{syncwithnotecolumn} is exactly the same like usage +of \Macro{syncwithnotecolumns} with exactly one \PName{name of a note column}. + +The optional argument of \Macro{syncwithnotecolumns} is a comma-separated list +of names of note columns. If you omit this optional argument or if you use an +empty argument or if the argument starts with \Macro{relax} synchronisation +will be done with all declared note columns. + +Synchronisation with a note column means, that the current position of the +main text will be changed to be the current vertical position of the note +column after cleaning the note column. This differs in several point from +cleaning a note column: +\begin{itemize} +\item After cleaning a note column the text position would change to be at a + new page, even if the note column doesn't fill the whole page + before. Synchronisation will change the vertical position just after the + last vertical position of the note column. +\item Cleaning a note column needs less \LaTeX{} runs than synchronising a + note column. +\end{itemize} +Both, cleaning an synchronising a note column, uses the label mechanism of +\LaTeX{} without using \Macro{label}, \Macro{ref}, or \Macro{pageref} itself +(but \Macro{newlabel}). So you should have a look at \LaTeX{} rerun messages, +because of undefined or changed labels. + +Note, that it is not allowed to use \Macro{syncwithnotecolumn} or +\Macro{syncwithnotecolumns} inside a note. If you do so, you need endless +\LaTeX{} runs without reaching a final state. But synchronisation of several +note columns in the main text of a document will also synchronise the notes +columns with each others.% +\EndIndex{Cmd}{syncwithnotecolumns} +\EndIndex{Cmd}{syncwithnotecolumn} + +\endinput +%% +%% End of file `scrlayer-notecolumn.tex'. diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/scrlayer-scrpage-experts.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/scrlayer-scrpage-experts.tex new file mode 100644 index 00000000000..ba5a99e60b3 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/scrlayer-scrpage-experts.tex @@ -0,0 +1,660 @@ +% ====================================================================== +% scrlayer-scrpage-experts.tex +% Copyright (c) Markus Kohm, 2013 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ---------------------------------------------------------------------- +% scrlayer-scrpage-experts.tex +% Copyright (c) Markus Kohm, 2013 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% +% Expert chapter about scrlayer-scrpage of the KOMA-Script guide +% +% ---------------------------------------------------------------------- +% +% Expertenkapitel ueber scrlayer-scrpage in der KOMA-Script-Anleitung +% +% ============================================================================ + +\KOMAProvidesFile{scrlayer-scrpage-experts.tex}% + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + KOMA-Script guide (chapter: scrlayer-scrpage-experts)] +\translator{Markus Kohm} + +% Date version of the translated file: 2013-10-28 + +\chapter[{Additional Features of \Package{scrlayer-scrpage}}] + {Additional Features\ChangedAt{v3.12}{\Package{scrlayer-scrpage}} with + package \Package{scrlayer-scrpage}} +\labelbase{scrlayer-scrpage-experts} +% +\BeginIndex{Package}{scrlayer-scrpage}% +Package \Package{scrlayer-scrpage} provides features that have not been +described in \autoref{cha:scrlayer-scrpage} of \autoref{part:forAuthors} of this +\iffree{user guide}{book}. But the most average user will not need those +extensions and some of them are only implemented for compatibility with +\Package{scrpage2}. So most users do not need to know them. Therefore all those +things are described here in \autoref{part:forExperts} only. + +\section{Definition of new Pairs of Page Styles} +\label{sec:scrlayer-scrpage.pagestyle.pairs} + +In \autoref{sec:scrlayer-scrpage.predefined.pagestyles} the page styles +\Pagestyle{scrheadings} and \Pagestyle{plain.scrheadings} have been +described. Those build quasi a pair of page styles, with +\Pagestyle{scrheadings} as the main page style with running head and +\Pagestyle{plain.scrheadings} as the corresponding \Pagestyle{plain} page +style without running head but generally with pagination. Beside the +configuration of these page styles, \Package{scrlayer-scrpage} provides also +the feature of defining new such pairs of page styles. Thereby the name of the +main page style, e.\,g., \Pagestyle{scrheadings}, is quasi the name of the +pair of page styles. + +Most users will not need more than the predefined pair +\Pagestyle{scrheadings}. So the commands of this section may be understood as +an addition for special cases. And because each such case is very special, +this section also lacks of handsome examples. Nevertheless, if the support +will show me a real nice example in future, I perhaps could use it in +future. Nevertheless, I'm almost sure that all such cases could also be +solved using the predefined pair only. + +\begin{Declaration} + \Macro{defpairofpagestyles}% + \OParameter{parent pair}\Parameter{name}\Parameter{definition}\\ + \Macro{newpairofpagestyles}% + \OParameter{parent pair}\Parameter{name}\Parameter{definition}\\ + \Macro{renewpairofpagestyles}% + \OParameter{parent pair}\Parameter{name}\Parameter{definition}\\ + \Macro{providepairofpagestyles}% + \OParameter{parent pair}\Parameter{name}\Parameter{definition} +\end{Declaration} +\BeginIndex{Cmd}{defpairofpagestyles}% +\BeginIndex{Cmd}{newpairofpagestyles}% +\BeginIndex{Cmd}{renewpairofpagestyle}% +\BeginIndex{Cmd}{providepairofpagestyles}% +With these commands you may define pairs of page styles similar to +\Pagestyle{scrheadings} and \Pagestyle{plain.scrheadings}. Thereby +\PName{name} is the name of the main page style that is similar to +\Pagestyle{scrheadings}. The name of the corresponding \Pagestyle{plain} page +style will be prefixed by \PValue{plain.} automatically. So \PName{name} is +not only the name of the pair of page styles, but also the name of the main +page style of that pair, while \PValue{plain.}\PName{name} is the name of the +\Pagestyle{plain} page style of this pair. + +If the optional argument \PName{parent pair} is given, the settings of the +pair of page styles with that name are the initial settings of the new pair of +page styles. So the new pair inherits the configuration of the \PName{parent + pair}. + +While reading \autoref{sec:scrlayer-scrpage.predefined.pagestyles} you might +have the impression that the commands of this section were related to +\Pagestyle{scrheadings} and \Pagestyle{plain.scrheadings} only. Nevertheless, +this is only as long true, as this is the only existing pair of page +styles. As soon as there exist more pairs of page styles, they are related to +the pair that has been activated last. In fact, this is the case for \Macro{lehead}, \Macro{cehead}, \Macro{rehead}, \Macro{lohead}, +\Macro{cohead}, \Macro{rohead}, \Macro{lefoot}, \Macro{cefoot}, +\Macro{refoot}, \Macro{lofoot}, \Macro{cofoot}, \Macro{rofoot}, \Macro{ihead}, +\Macro{chead}, \Macro{ohead}, \Macro{ifoot}, \Macro{cfoot}, and \Macro{ofoot} +from \autoref{sec:scrlayer-scrpage.predefined.pagestyles}. + +All those commands and the below described commands \Macro{clearmainofpairofpagestyles}, \Macro{clearplainofpairofpagestyles}, and +\Macro{clearpairofpagestyles} are also mentioned to be used inside the +argument \PName{definition}. In that case, they are a kind of default +configuration of the pair of page styles that will be executed each time the +pair will be activated. A pair of page styles will be activated, if one of the +page styles of the pair will be activated. This will be done mostly using +\Macro{pagestyle}\IndexCmd{pagestyle}. + +Please note that the commands of +\autoref{sec:scrlayer-scrpage.pagestyle.content} are for general purpose, +anyway. So they are related to every page style that has been defined using +\Package{scrlayer-scrpage}. + +Whereas \Macro{defpairofpagestyles} will define a pair independent whether or +not the corresponding page styles are already defined, will +\Macro{newpairofpagestyles} and \Macro{providepairofpagestyles} define the pair +only, if the page styles are currently undefined. If at least one of the page +styles is already defined, the new definition of +\Macro{providepairofpagestyles} will be ignored, but usage of +\Macro{newpairofpagestyles} would result in an error message. To redefine +already existing pairs of page styles you may use +\Macro{renewpairofpagestyles}. With this an error would be thrown, if at least +one of the page styles of the pair does not already exist.% +\EndIndex{Cmd}{providepairofpagestyles}% +\EndIndex{Cmd}{renewpairofpagestyles}% +\EndIndex{Cmd}{newpairofpagestyles}% +\EndIndex{Cmd}{defpairofpagestyles}% + +\begin{Declaration} + \Macro{clearmainofpairofpagestyles}\\ + \Macro{clearplainofpairofpagestyles}\\ + \Macro{clearpairofpagestyles} +\end{Declaration} +\BeginIndex{Cmd}{clearmainofpairofpagestyles}% +\BeginIndex{Cmd}{clearplainofpairofpagestyles}% +\BeginIndex{Cmd}{clearpairofpagestyles}% +Command \Macro{clearmainofpairofpagestyles} will configure the main page style +of the lastly activated pair of page styles to be empty. In contrast to this +\Macro{clearplainofpairofpagestyles} will configure the \Pagestyle{plain} page +style of the lastly activated pair of page styles to be empty. Last but not +least \Macro{clearpairofpagestyle} will configure both page styles of the +lastly activated pair of page styles to be empty. + +But please note\textnote{Attention!} that none of these commands will remove +the definitions of argument \PName{definition} that has been used when +defining the pair of page styles (see above). So if you activate the pair of +page styles again, those definitions will be used again! + +These commands may be used inside of \PName{definition} themselves. But you +may use them outside the definition of a pair of page styles too. In this case +they are related to the lastly activated pair of page styles. + +\BeginIndex{Cmd}{clearscrheadings}% +\BeginIndex{Cmd}{clearscrplain}% +\BeginIndex{Cmd}{clearscrheadfoot}% +The commands \Macro{clearscrheadings}, \Macro{clearscrplain}, and +\Macro{clearscrheadfoot} are aliases for these commands that have been +implemented for compatibility with \Package{scrpage2} only. Nevertheless, they +are deprecated and should not be used any longer.% +\EndIndex{Cmd}{clearscrheadfoot}% +\EndIndex{Cmd}{clearscrplain}% +\EndIndex{Cmd}{clearscrheadings}% +% +\EndIndex{Cmd}{clearpairofpagestyles}% +\EndIndex{Cmd}{clearplainofpairofpagestyles}% +\EndIndex{Cmd}{clearmainofpairofpagestyles}% + + +\section{Definition of Simple Page Styles with Three Parts in Head and Foot } +\label{sec:scrlayer-scrpage.pagestyle.triple} + +Beside predefined page styles and beside the definition of new pairs of page +styles, package \Package{scrlayer-scrpage} also provides the Definition of +page styles with three parts in head and foot. But this user interface exists +for compatibility with \Package{scrpage2} only. Nevertheless, it has been +extended to have a more consistent set of commands in difference to +\Package{scrpage2}. However, for new documents it is recommended to use the +advanced features that have been described in the previous section, instead +of the commands of this section. + +\begin{Declaration} + \Macro{deftriplepagestyle}% + \Parameter{name of the page style}\\ + \hphantom{\XMacro{deftriplepagestyle}}% + \OParameter{thickness of the outer line}% + \OParameter{thickness of the inner line}\\ + \hphantom{\XMacro{deftriplepagestyle}}% + \Parameter{inner head element}% + \Parameter{centre head element}% + \Parameter{outer head element}\\ + \hphantom{\XMacro{deftriplepagestyle}}% + \Parameter{inner foot element}% + \Parameter{centre foot element}% + \Parameter{outer foot element}\\ + \Macro{newtriplepagestyle}% + \Parameter{name of the page style}\\ + \hphantom{\XMacro{newtriplepagestyle}}% + \OParameter{thickness of the outer linen}% + \OParameter{thickness of the inner linen}\\ + \hphantom{\XMacro{newtriplepagestyle}}% + \Parameter{inner head element}% + \Parameter{centre head element}% + \Parameter{outer head element}\\ + \hphantom{\XMacro{newtriplepagestyle}}% + \Parameter{inner foot element}% + \Parameter{centre foot element}% + \Parameter{outer foot element}\\ + \Macro{renewtriplepagestyle}% + \Parameter{name of the page style}\\ + \hphantom{\XMacro{renewtriplepagestyle}}% + \OParameter{thickness of the outer line}% + \OParameter{thickness of the inner line}\\ + \hphantom{\XMacro{renewtriplepagestyle}}% + \Parameter{inner head element}% + \Parameter{centre head element}% + \Parameter{outer head element}\\ + \hphantom{\XMacro{renewtriplepagestyle}}% + \Parameter{inner foot element}% + \Parameter{centre foot element}% + \Parameter{outer foot element}\\ + \Macro{providetriplepagestyle}% + \Parameter{name of the page style}\\ + \hphantom{\XMacro{providetriplepagestyle}}% + \OParameter{thickness of the outer line}% + \OParameter{thickness of the inner line}\\ + \hphantom{\XMacro{providetriplepagestyle}}% + \Parameter{inner head element}% + \Parameter{centre head element}% + \Parameter{outer head element}\\ + \hphantom{\XMacro{providetriplepagestyle}}% + \Parameter{inner foot element}% + \Parameter{centre foot element}% + \Parameter{outer foot element} +\end{Declaration} +\BeginIndex{Cmd}{deftriplepagestyle}% +\BeginIndex{Cmd}{newtriplepagestyle}% +\BeginIndex{Cmd}{renewtriplepagestyle}% +\BeginIndex{Cmd}{providetriplepagestyle}% +With these commands you can define a single page style, whose head and foot are +parted into three elements: an inner element, a centre element, and an outer +element. The contents of the elements are given three mandatory arguments for +the head and three mandatory arguments for the foot. + +Each of the two inner elements will be printed right aligned on left pages and +left aligned on right pages. The centre elements will be printed centred in +the head respectively foot of left and right pages. Each of the two outer +elements will be printed left aligned on left pages and right aligned on right +pages. + +Please remember once again:\textnote{Attention!} There are only right pages in +single side layout! + +The two optional arguments can be used to activate horizontal lines in the +head and foot of the page style. To do so, you put the wanted thickness of the +line as an optional argument. The first optional argument is the +\PName{thickness of the outer line} in both, the page head and footer. In the +page head it will be printed above the head contents. In the page footer it +will be printed below the foot contents. The second optional argument is the +\PName{thickness of the inner line}. This will be printed below the page head +and additionally above the page footer. If you have only one optional +argument, this is the \PName{thickness of the inner line}. In this case no +outer line will be printed. And if you omit both optional arguments, both +lines will be omitted. + +Please note\textnote{Attention!} that an empty optional argument is not the +same like omitting the optional argument! Empty optional arguments are not +allowed in this case. But you may use simple dimension expressions for the +optional arguments, like they have been explained for \KOMAScript{} option +\Option{headwidth} (see \autoref{sec:scrlayer-scrpage.pagestyle.content}, +\autopageref{desc:scrlayer-scrpage.option.headwidth}). + +The meaning of the arguments is also shown in +\autoref{fig:scrlayer-scrpage.triplepagestyle} for an schematic double +page. Thereby ``\texttt{outer}'', ``\texttt{inner}'', and ``\texttt{centre}'' +are example contents. The corresponding arrows illustrate the expansion of +those contents. The \iffree{coloured }{}texts inside the pages are only the +names of the arguments of these commands. The related arrows \iffree{in + the same colour }{} point to the corresponding elements of the page. + +\begin{figure} + \centering + \begin{picture}(\textwidth,80mm) + \put(0,50mm){% + %\ + \begin{picture}(\textwidth,30mm)(0,-10mm) + \thinlines + \small + % linke Seite + \put(0,20mm){\line(1,0){.49\textwidth}}% + \put(0,0){\line(0,1){20mm}}% + \multiput(0,0)(0,-1mm){10}{\line(0,-1){.5mm}}% + \put(.49\textwidth,5mm){\line(0,1){15mm}}% + \put(.05\textwidth,15mm){\thicklines\line(1,0){.415\textwidth}}% + \put(.05\textwidth,10mm){\makebox(0em,5mm)[l]{\slshape outer\strut$\longrightarrow$}}% + \put(.465\textwidth,10mm){\makebox(0em,5mm)[r]{\slshape $\longleftarrow$inner\strut}}% + \put(.2575\textwidth,10mm){\makebox(0em,5mm)[c]{\slshape $\longleftarrow$centre\strut$\longrightarrow$}}% + \put(.05\textwidth,10mm){\thicklines\line(1,0){.415\textwidth}}% + % rechte Seite + \put(0.51\textwidth,20mm){\line(1,0){.49\textwidth}}% + \put(0.51\textwidth,5mm){\line(0,1){15mm}}% + \multiput(\textwidth,0)(0,-1mm){10}{\line(0,-1){.5mm}}% + \put(\textwidth,0mm){\line(0,1){20mm}}% + \put(.535\textwidth,15mm){\thicklines\line(1,0){.415\textwidth}}% + \put(.535\textwidth,10mm){\makebox(0em,5mm)[l]{\slshape inner\strut$\longrightarrow$}}% + \put(.95\textwidth,10mm){\makebox(0em,5mm)[r]{\slshape $\longleftarrow$outer\strut}}% + \put(.7425\textwidth,10mm){\makebox(0em,5mm)[c]{\slshape $\longleftarrow$centre\strut$\longrightarrow$}}% + \put(.535\textwidth,10mm){\thicklines\line(1,0){.415\textwidth}}% + % commands for both pages + \iffree{\color{red}}{}% + \put(.5\textwidth,0){\makebox(0,\baselineskip)[c]{\PName{inner head element}}}% + \put(.5\textwidth,-5mm){\makebox(0,\baselineskip)[c]{\PName{centre + head element}}}% + \put(.5\textwidth,-10mm){\makebox(0,\baselineskip)[c]{\PName{outer + head element}}}% + \put(\dimexpr.5\textwidth-2em,.5\baselineskip){% + \put(-1.5em,.5\baselineskip){\vector(0,1){7mm}}% + \put(-3.5em,-1\baselineskip){\line(-1,0){\dimexpr .25\textwidth-6.5em\relax}}% + \put(-\dimexpr + .25\textwidth-3em\relax,-1\baselineskip){\vector(0,1){\dimexpr + 7mm+1.5\baselineskip\relax}} + \put(-3.25em,-2.25\baselineskip){\line(-1,0){\dimexpr .45\textwidth-8em\relax}}% + \put(-\dimexpr + .45\textwidth-4.75em\relax,-2.25\baselineskip){\vector(0,1){\dimexpr + 7mm+2.75\baselineskip\relax}} + }% + \put(\dimexpr.5\textwidth+2em,.5\baselineskip){% + \put(1.5em,.5\baselineskip){\vector(0,1){7mm}}% + \put(3.5em,-1\baselineskip){\line(1,0){\dimexpr .25\textwidth-6.5em\relax}} + \put(\dimexpr + .25\textwidth-3em\relax,-1\baselineskip){\vector(0,1){\dimexpr + 7mm+1.5\baselineskip\relax}} + \put(3.25em,-2.25\baselineskip){\line(1,0){\dimexpr .45\textwidth-8em\relax}} + \put(\dimexpr + .45\textwidth-4.75em\relax,-2.25\baselineskip){\vector(0,1){\dimexpr + 7mm+2.75\baselineskip\relax}} + }% + \end{picture} + % + }% + \put(0,0){% + \begin{picture}(\textwidth,30mm) + \thinlines + \small + % linke Seite + \put(0,0){\line(1,0){.49\textwidth}}% + \put(0,0){\line(0,1){20mm}}% + \multiput(0,20mm)(0,1mm){10}{\line(0,1){.5mm}}% + \put(.49\textwidth,0){\line(0,1){15mm}}% + \put(.05\textwidth,15mm){\thicklines\line(1,0){.415\textwidth}}% + \put(.05\textwidth,10mm){\makebox(0em,5mm)[l]{\slshape outer\strut$\longrightarrow$}}% + \put(.465\textwidth,10mm){\makebox(0em,5mm)[r]{\slshape $\longleftarrow$inner\strut}}% + \put(.2575\textwidth,10mm){\makebox(0em,5mm)[c]{\slshape $\longleftarrow$centre\strut$\longrightarrow$}}% + \put(.05\textwidth,10mm){\thicklines\line(1,0){.415\textwidth}}% + % rechte Seite + \put(.51\textwidth,0){\line(1,0){.49\textwidth}}% + \put(.51\textwidth,0){\line(0,1){15mm}}% + \put(\textwidth,0){\line(0,1){20mm}}% + \multiput(\textwidth,20mm)(0,1mm){10}{\line(0,1){.5mm}}% + \put(.535\textwidth,15mm){\thicklines\line(1,0){.415\textwidth}}% + \put(.535\textwidth,10mm){\makebox(0em,5mm)[l]{\slshape inner\strut$\longrightarrow$}}% + \put(.95\textwidth,10mm){\makebox(0em,5mm)[r]{\slshape $\longleftarrow$outer\strut}}% + \put(.7425\textwidth,10mm){\makebox(0em,5mm)[c]{\slshape $\longleftarrow$centre\strut$\longrightarrow$}}% + \put(.535\textwidth,10mm){\thicklines\line(1,0){.415\textwidth}}% + % commands for both pages + \iffree{\color{red}}{}% + \put(.5\textwidth,20mm){\makebox(0,\baselineskip)[c]{\PName{inner foot + element}}}% + \put(.5\textwidth,25mm){\makebox(0,\baselineskip)[c]{\PName{centre + foot element}}}% + \put(.5\textwidth,30mm){\makebox(0,\baselineskip)[c]{\PName{outer foot + element}}}% + \put(\dimexpr.5\textwidth-2em,.5\baselineskip){% + \put(-1.5em,\dimexpr 20mm-.5\baselineskip\relax){\vector(0,-1){6mm}}% + \put(-3.5em,25mm){\line(-1,0){\dimexpr .25\textwidth-6.5em\relax}}% + \put(-\dimexpr .25\textwidth-3em\relax,25mm){\vector(0,-1){\dimexpr + .5\baselineskip + 11mm\relax}}% + \put(-3em,30mm){\line(-1,0){\dimexpr .45\textwidth-7.5em\relax}}% + \put(-\dimexpr .45\textwidth-4.5em\relax,30mm){\vector(0,-1){\dimexpr + .5\baselineskip + 16mm\relax}}% + }% + \put(\dimexpr.5\textwidth+2em,.5\baselineskip){% + \put(1.5em,\dimexpr 20mm-.5\baselineskip\relax){\vector(0,-1){6mm}}% + \put(3.5em,25mm){\line(1,0){\dimexpr .25\textwidth-6.5em\relax}}% + \put(\dimexpr .25\textwidth-3em\relax,25mm){\vector(0,-1){\dimexpr + .5\baselineskip + 11mm\relax}}% + \put(3em,30mm){\line(1,0){\dimexpr .45\textwidth-7.5em\relax}}% + \put(\dimexpr .45\textwidth-4.5em\relax,30mm){\vector(0,-1){\dimexpr + .5\baselineskip + 16mm\relax}}% + }% + \end{picture} + }% + \thinlines\small\iffree{\color{blue}}{}% + \put(0.055\textwidth,45mm){\vector(0,1){25mm}}% + \put(0.945\textwidth,45mm){\vector(0,1){25mm}}% + \put(0.055\textwidth,45mm){\vector(0,-1){30mm}}% + \put(0.945\textwidth,45mm){\vector(0,-1){30mm}}% + \put(0.055\textwidth,45mm){\line(1,0){\dimexpr + .445\textwidth-7.5em\relax}}% + \put(0.945\textwidth,45mm){\line(-1,0){\dimexpr + .445\textwidth-7.5em\relax}}% + \put(0.5\textwidth,45mm){\makebox(0,0)[c]{\PName{thickness of the inner lines}}}% + \iffree{\color{green}}{}% + \put(0.025\textwidth,40mm){\line(0,1){35mm}}% + \put(0.025\textwidth,75mm){\vector(1,0){3.75mm}}% + \put(0.975\textwidth,40mm){\line(0,1){35mm}}% + \put(0.975\textwidth,40mm){\line(0,1){35mm}}% + \put(0.975\textwidth,75mm){\vector(-1,0){3.75mm}}% + \put(0.025\textwidth,40mm){\line(0,-1){30mm}}% + \put(0.025\textwidth,10mm){\vector(1,0){3.75mm}}% + \put(0.975\textwidth,40mm){\line(0,-1){30mm}}% + \put(0.975\textwidth,40mm){\line(0,-1){30mm}}% + \put(0.975\textwidth,10mm){\vector(-1,0){3.75mm}}% + \put(0.025\textwidth,40mm){\line(1,0){\dimexpr + .475\textwidth-7.5em\relax}}% + \put(0.975\textwidth,40mm){\line(-1,0){\dimexpr + .475\textwidth-7.5em\relax}}% + \put(0.5\textwidth,40mm){\makebox(0,0)[c]{\PName{thickness of the outer lines}}}% + \end{picture} + \caption[{Elements of a three parts page style}]{Schematic double page with + the elements of a tripartite page style of commands + \Macro{deftriplepagestyle}, \Macro{newtriplepagestyle}, + \Macro{providetriplepagestyle}, and \Macro{renewtriplepagestyle}} + \label{fig:scrlayer-scrpage.triplepagestyle} +\end{figure} + +With the commands that are described here, it is not possible to activate only +a single line, e.\,g., only below the page head but not above the page +footer. If you need so, you should either use the commands of the previous or +the following section. + +The length of a single element\textnote{Attention!} is not limited by the +existence of a neighbour element. So in inappropriate circumstances it can +happen that one elements overwrites a neighbour element or even both of +them. The user himself is responsible to avoid such inappropriate cases. With +automatic running heads this could, e.\,g., be done using the optional +argument of the section commands. See the manual of the document class for +more information about those commands. + +Command \Macro{deftriplepagestyle} defines a page style independent from +whether or not a page style with the same \PName{name of the page style} +already exists. In difference to this \Macro{newtriplepagestyle} and +\Macro{providetriplepagestyle} define the page style only, if the \PName{name + of the page style} is not the name of an already defined page +style. Otherwise \Macro{providepagestyle} will simply do nothing, but +\Macro{newtriplepagestyle} would throw an error. Command +\Macro{renewtriplepagestyle} is something like the opposite of +\Macro{newtriplepagestyle}. It would throw an error, if there has not been +a page style with the \PName{name of the page style} before, and defines the +page style only, if there has been already a page style with the given name. + +\BeginIndex{Cmd}{deftripstyle}% +The command \Macro{deftriplestyle} of \Package{scrpage2} conforms to +\Macro{deftriplepagestyle}. Because of unification reasons it has been renamed +and should not be used with it's old name any longer. Using the old name would +result in a warning message. Nevertheless, the result would be the expected +one.% +\EndIndex{Cmd}{deftripstyle}% +\EndIndex{Cmd}{providetriplepagestyle}% +\EndIndex{Cmd}{renewtriplepagestyle}% +\EndIndex{Cmd}{newtriplepagestyle}% +\EndIndex{Cmd}{deftriplepagestyle}% + + +\section{Definition of Complex Page Styles} +\label{sec:scrlayer-scrpage.pagestyle.experts} + +Beside predefined page styles and the definition of new pairs of page styles, +and beside the definition of page styles with tripartite head and foot that +are not recommended any longer, package \Package{scrlayer-scrpage} provides +also a more basic features to define new page styles. All already described +page style definitions of \Package{scrlayer-scrpage} use internally these basic +features. Because of the complexity of this user interface it is recommended +for advanced users only. Less advanced users should be able to reach almost all +using one of the previously described features. So less advanced users do not +need to read this section. + +\begin{Declaration} + \Macro{defpagestyle}% + \Parameter{name}\Parameter{head definition}\Parameter{foot definition}\\ + \Macro{newpagestyle}% + \Parameter{name}\Parameter{head definition}\Parameter{foot definition}\\ + \Macro{providepagestyle}% + \Parameter{name}\Parameter{head definition}\Parameter{foot definition}\\ + \Macro{renewpagestyle}% + \Parameter{name}\Parameter{head definition}\Parameter{foot definition}% +\end{Declaration} +\BeginIndex{Cmd}{defpagestyle}% +\BeginIndex{Cmd}{newpagestyle}% +\BeginIndex{Cmd}{providepagestyle}% +\BeginIndex{Cmd}{renewpagestyle}% +These commands can be used to define a single page style with maximum +flexibility. Thereby \PName{name} is the name of the page style that should +be defined. + +The arguments \PName{head definition} and \PName{foot definition} have +identical structure: +\begin{quote}\raggedright + \texttt{% + (\PName{length of the line above},\PName{thickness of the line above})\%\\ + \Parameter{definition for the left page in two-side layout}\%\\ + \Parameter{definition for the right page in two-side layout}\%\\ + \Parameter{definition for all pages in one-side laypout}\%\\ + (\PName{length of the line below},\PName{thickness of the line below})% + } +\end{quote} +Thereby the arguments in the round brackets are options, this means, you may +omit them together with the brackets. In that case, the length and thickness +of the corresponding horizontal line would be given by the \KOMAScript{} +options \Option{headtopline}, \Option{headsepline}, \Option{footsepline} or +\Option{footbotline} (see \autoref{sec:scrlayer-scrpage.pagestyle.content}, +\autopageref{desc:scrlayer-scrpage.option.headtopline}). + +All three definition arguments are mandatory and will be used depending on the +page and the layout settings. The contents of the definitions are +arbitrary. But for page styles with running heads usage of \Macro{headmark}, +\Macro{leftmark}, or \Macro{rightmark} is recommended inside the +definition. In no case section numbers or section headings should be used in +the definition. Ignoring this could result in wrong numbers or texts in the +page head or footer, because of the asynchronous page building of \LaTeX{}. + +Command \Macro{defpagestyle} will define the page style independent from +whether or not a page style with the same \PName{name} already exists. Command +\Macro{newpagestyle} would throw an error, if such a page style already +exists. In difference to this, \Macro{providepagestyle} will simple do nothing +in such a case. In opposite to \Macro{newpagestyle} command +\Macro{renewpagestyle} would throw the error, if a page style with the +\PName{name} does not already exist, and therefore may be used to redefine an +existing page style. + +All these commands base on command \Macro{DeclareLayerPageStyle} of package +\Package{scrlayer} internally. Thereby for a page style \PName{Name} the +layer \PName{Name}\PValue{.head.above.line} will be defined for the horizontal +line above the page head, the layer \PName{Name}\PValue{.head.odd} will be +defined for the page head of odd pages in two-side layout, +\PName{Name}\PValue{.head.even} will be defined for the page head of even pages +in two-side layout, \PName{Name}\PValue{.head.oneside} will be defined for the +page head of all pages in one-side layout, \PName{Name}\PValue{.head.below} +will be defined for the horizontal line below the page head, +\PName{Name}\PValue{.foot.above.line} will be defined for the horizontal line +above the page foot, \PName{Name}\PValue{.foot.odd} will be defined for the +page foot of odd pages in two-side layout, \PName{Name}\PValue{.foot.even} for +the page foot of even pages in two-side layout, +\PName{Name}\PValue{.foot.oneside} for the page foot of all pages in one-side +layout, and last but not least \PName{Name}\PValue{.foot.below} for the +horizontal line below the page foot. More information about layers and layer +page styles can be found from \autopageref{cha:scrlayer} in +\autoref{cha:scrlayer} also in \autoref{part:forExperts}.% +% +\begin{Example} + Assume you want to background the whole head of page style + \Pagestyle{scrheadings} with a colour. Because you read the introduction to + this chapter, you know, that \Pagestyle{scrheadings} last but not least is a + layer page style with, e.\,g., layers \PValue{scrheadings.head.even}, + \PValue{scrheadings.head.odd}, and \PValue{scrheadings.head.oneside}. So you + define three more layers for the backgrounds and add them at the very + beginning of the page style: +\begin{lstcode} + \documentclass{scrartcl} + \usepackage[automark]{scrlayer-scrpage} + \usepackage{xcolor} + \usepackage{blindtext} + \DeclareLayer[clone=scrheadings.head.oneside, + contents={% + \color{yellow}\rule[-\dp\strutbox]{\layerwidth}{\layerheight}% + }% + ]{scrheadings.head.oneside.background} + \DeclareLayer[clone=scrheadings.head.odd, + contents={% + \color{yellow}\rule[-\dp\strutbox]{\layerwidth}{\layerheight}% + }% + ]{scrheadings.head.odd.background} + \DeclareLayer[clone=scrheadings.head.even, + contents={% + \color{yellow}\rule[-\dp\strutbox]{\layerwidth}{\layerheight}% + }% + ]{scrheadings.head.even.background} + \AddLayersAtBeginOfPageStyle{scrheadings}{% + scrheadings.head.oneside.background,% + scrheadings.head.odd.background,% + scrheadings.head.even.background% + } + \pagestyle{scrheadings} + \begin{document} + \blinddocument + \end{document} +\end{lstcode} + As you can see, the example uses three layers, so the position and size of + that background layers may simply be copied from the corresponding head + layer using option \Option{clone}. This is much easier than using only one + background layer and dynamically calculate the position time by time. + + The coloured background have been printed using a \Macro{rule} command in + this example. The size arguments of this \Macro{rule} are given by + \Macro{layerwidth} and \Macro{layerheight} which contain the current width + and height of the layer itself. The optional argument of \Macro{rule} has + been used to move the rule down by the height of a descender. +\end{Example} +% +Instead of using new layers for the background colours like in the example +above, \Macro{colorbox} and \Macro{chead} could have been used. It is +recommended to build such a solution as an exercise. Another change could be +to add the background layers one by one and just before the contents +layers. You may do this as an exercise too.% +\EndIndex{Cmd}{renewpagestyle}% +\EndIndex{Cmd}{providepagestyle}% +\EndIndex{Cmd}{newpagestyle}% +\EndIndex{Cmd}{defpagestyle}% + +\begin{Declaration} + \KOption{hmode}\PValue{simple switch} +\end{Declaration} +\BeginIndex{Option}{hmode}% +Package \Package{scrpage2} outputs page heads and page foots in horizontal +mode always. In opposite to this \Package{scrlayer-scrpage} does not switch +into horizontal mode itself, but the output of horizontal material will do +so. Nevertheless, you can activate option \Option{hmode} to make +\Package{scrlayer-scrpage} more compatible with \Package{scrpage2} in this +aspect. But this would have implications to, i.\,e., white +spaces at the start of the output or the vertical alignment of the output. + +The options knows the standard values for simple switches that are given at +\autoref{tab:truefalseswitch} on \autopageref{tab:truefalseswitch}. The option +is deactivated by default.% +\EndIndex{Option}{hmode}% +% +\EndIndex{Package}{scrlayer-scrpage}% + +%%% Local Variables: +%%% mode: latex +%%% mode: flyspell +%%% coding: us-ascii +%%% ispell-local-dictionary: "en_GB" +%%% TeX-master: "../guide" +%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/scrlayer-scrpage.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/scrlayer-scrpage.tex new file mode 100644 index 00000000000..34d3a727741 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/scrlayer-scrpage.tex @@ -0,0 +1,1128 @@ +% ====================================================================== +% scrlayer-scrpage.tex +% Copyright (c) Markus Kohm, 2013 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ---------------------------------------------------------------------- +% scrlayer-scrpage.tex +% Copyright (c) Markus Kohm, 2013 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% +% Chapter about scrlayer-scrpage of the KOMA-Script guide +% +% ---------------------------------------------------------------------- +% +% Kapitel ueber scrlayer-scrpage in der KOMA-Script-Anleitung +% +% ============================================================================ + +\KOMAProvidesFile{scrlayer-scrpage.tex}% + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + KOMA-Script guide (chapter: scrlayer-scrpage)] +\translator{Markus Kohm\and Jana Schubert\and Jens H\"uhne} + +% Date version of the translated file: 2013-11-15 + +\chapter[{Adapting Page Headers and Footers with \Package{scrlayer-scrpage}}] + {Adapting\ChangedAt{v3.12}{\Package{scrlayer-scrpage}} Page Headers and + Footers with \Package{scrlayer-scrpage}} +\labelbase{scrlayer-scrpage} +% +\BeginIndex{Package}{scrlayer-scrpage}% + +Until version 3.11b of \KOMAScript, package \Package{scrpage2} has been the +recommended way to customise page headers and footers beyond the options +provided by the page styles \Pagestyle{headings}, \Pagestyle{myheadings}, +\Pagestyle{plain}, and \Pagestyle{empty} of the standard \KOMAScript{} +classes. Until 2001 there was also package \Package{scrpage} as a supported +solution for the same purpose. It was then made obsolete and in 2013, more +than ten years later, it was finally removed from the regular +\KOMAScript~distribution. + +In 2013 package \Package{scrlayer}\IndexPackage{scrlayer} became a basic +module of \KOMAScript. That package provides a layer scheme and a new page +style scheme based upon the layer scheme. Nevertheless, the flexibility it +provides and the resulting complexity may be too demanding for the average +user to handle. More about \Package{scrlayer} may be found in +\autoref{cha:scrlayer} of \autoref{part:forExperts}. Potential problems with +the controllability of \Package{scrlayer} apart, there are lots of users who +are already familiar with the user interface of package \Package{scrpage2}. + +As a consequence the additional package \Package{scrlayer-scrpage} provides a +user interface, which is largely compatible with \Package{scrpage2} and based +on \Package{scrlayer}. Thus, if you are already familiar with \Package{scrpage2} +and refrain from using dirty tricks, like calling internal commands of +\Package{scrpage2} directly, it should be easy for you to use +\Package{scrlayer-scrpage} as a drop-in replacement. Most examples covering +\Package{scrpage2} in \LaTeX{} books or online resources should also work +with \Package{scrlayer-scrpage} either directly or with only minor +code changes provided that they stick to the standard interfaces. + +Apart from the aforementioned \KOMAScript{} packages, you could in principle +also use \Package{fancyhdr}\IndexPackage{fancyhdr} (see +\cite{package:fancyhdr}) in conjunction with a \KOMAScript{} class. However, +\Package{fancyhdr}\ has no support for several \KOMAScript{} features, e.\,g., +the element scheme (see \Macro{setkomafont}, \Macro{addtokomafont}, and +\Macro{usekomafont} in \autoref{sec:maincls.textmarkup}, from +\autopageref{desc:maincls.cmd.setkomafont}) or the configurable numbering +format for dynamic headers (see option \Option{numbers} and, e.\,g., +\Macro{chaptermarkformat} in \autoref{sec:maincls.structure}, +\autopageref{desc:maincls.option.numbers} and +\autopageref{desc:maincls.cmd.chaptermarkformat}). Hence, if you are using a +\KOMAScript{} class, the usage of package \Package{scrlayer-scrpage} is +recommended. Of course you can use \Package{scrlayer-scrpage} with other +classes, namely the \LaTeX{} standard classes, too. + +Besides the features described in this chapter, \Package{scrlayer-scrpage} +provides several more that are likely only of minor interest to the average +user and for this reason are described from +\autopageref{cha:scrlayer-scrpage-experts} onwards in +\autoref{cha:scrlayer-scrpage-experts} of \autoref{part:forExperts}. +Nevertheless, should the options described in \autoref{part:forAuthors} be +insufficient for your purposes you are encouraged to examine +\autoref{cha:scrlayer-scrpage-experts}. + +\LoadCommon{0} % \section{Early or late Selection of Options} + +\LoadCommon{20} % \section{Head and Foot Width} + +\section{Usage of Predefined Page Styles} +\label{sec:scrlayer-scrpage.predefined.pagestyles} + +The easiest way to get a requested design of page head and foot with +\Package{scrlayer-scrpage} is the usage of a predefined page style. + +\begin{Declaration} + \Pagestyle{scrheadings}\\ + \Pagestyle{plain.scrheadings} +\end{Declaration} +\BeginIndex{Pagestyle}{scrheadings}% +\BeginIndex{Pagestyle}{plain.scrheadings}% +Package \Package{scrlayer-scrpage} provides two page styles that may be +reconfigured depending on your own requests. Let's first of all talk about +page style \Pagestyle{scrheadings} which has been designed to be used with +running heads. Its defaults are similar to the page style +\Pagestyle{headings}\IndexPagestyle{headings} of \LaTeX's standard classes or +the \KOMAScript{} classes. The commands and options that may be used to +configure the exact contents of the header and footer will be described +consecutively. + +Second there's page style \Pagestyle{plain.scrheadings} which has been +designed to be used without any running head. Its defaults are very similar to +page style \Pagestyle{plain}\IndexPagestyle{plain} of \LaTeX's standard +classes or the \KOMAScript{} classes. Once more the commands and options that +may be used to configure the exact contents of the header and footer will be +described consecutively. + +Fore sure, you could configure \Pagestyle{scrheadings} to be a page style +without a running head and \Pagestyle{plain.scrheadings} to be a page style +with running heads. Nevertheless, it is more useful to fit the conventions +declared above, mainly, because both page styles influence each other. If you +select one of these page styles, \Pagestyle{scrheadings} will become +accessible as \Pagestyle{headings} and the page style +\Pagestyle{plain.scrheadings} will become accessible as \Pagestyle{plain}. So, +if you have a class or package that automatically switches between +\Pagestyle{headings} and \Pagestyle{plain}, you need to select +\Pagestyle{scrheadings} or \Pagestyle{plain.scrheadings} only once and then +the class or package will switch between \Pagestyle{scrheadings} and +\Pagestyle{plain.scrheadings} without even knowing these page styles. Patches +or other adaptions of classes (or packages) will not be necessary. So these page +styles are something like a pair that may be used as a drop-in replacement +for \Pagestyle{headings} and \Pagestyle{plain}. + +At this point I'd like to mention that for compatibility with +\Package{scrpage2} page style \Pagestyle{plain.scrheadings} can also be used +with the alias name \Pagestyle{scrplain}\IndexPagestyle[indexmain]{scrplain}. +% +\EndIndex{Pagestyle}{plain.scrheadings}% +\EndIndex{Pagestyle}{scrheadings}% + +\begin{Declaration} + \Macro{lehead}\OParameter{plain.scrheadings's content}% + \Parameter{scrheadings's content}\\ + \Macro{cehead}\OParameter{plain.scrheadings's content}% + \Parameter{scrheadings's content}\\ + \Macro{rehead}\OParameter{plain.scrheadings's content}% + \Parameter{scrheadings's content}\\ + \Macro{lohead}\OParameter{plain.scrheadings's content}% + \Parameter{scrheadings's content}\\ + \Macro{cohead}\OParameter{plain.scrheadings's content}% + \Parameter{scrheadings's content}\\ + \Macro{rohead}\OParameter{plain.scrheadings's content}% + \Parameter{scrheadings's content} +\end{Declaration} +\BeginIndex{Cmd}{lehead}% +\BeginIndex{Cmd}{cehead}% +\BeginIndex{Cmd}{rehead}% +\BeginIndex{Cmd}{lohead}% +\BeginIndex{Cmd}{cohead}% +\BeginIndex{Cmd}{rohead}% +The contents of the header of page style \Pagestyle{plain.scrheadings} and +\Pagestyle{scrheadings} can be defined using these commands. Thereby the +optional argument defines the content of an element of page style +\Pagestyle{plain.scrheadings}, while the mandatory argument sets the content +of the corresponding element of page style \Pagestyle{scrheadings}. + +Contents of left\,---\,so called even\,---\,pages can be set with +\Macro{lehead}, \Macro{cehead}, and \Macro{rohead}. Remark: The ``\texttt{e}'' +at the second position of the commands' names means ``\emph{even}''. + +Contents of right\,---\,so called odd\,---\,pages can be set with +\Macro{lohead}, \Macro{cohead}, and \Macro{rohead}. Remark: The ``\texttt{o}'' +at the second position of the commands' names means ``\emph{odd}''. + +Please note\textnote{Attention!} that there are only odd pages within single +side layouts independent of whether or not they have an odd page number. + +Each header consists of a left aligned element that will be defined by +\Macro{lehead} respectively \Macro{lohead}. Remark: The ``\texttt{l}'' at the +first position of the commands' names means ``\emph{left aligned}''. + +Similarly each header has a centred element that will be defined by +\Macro{cehead} respectively \Macro{cohead}. Remark: The ``\texttt{c}'' at the +first position of the command' names means ``\emph{centred}''. + +Similarly each header has a right aligned element that will be defined by +\Macro{rehead} respectively \Macro{rohead}. Remark: The ``\texttt{r}'' at the +first position of the commands' names means ``\emph{right aligned}''. + +\BeginIndex{FontElement}{pagehead}% +\BeginIndex{FontElement}{pageheadfoot}% +However, these elements do not have their own font attributes that may be +changed using commands \Macro{setkomafont} and \Macro{addtokomafont} (see +\autoref{sec:maincls.textmarkup}, \autopageref{desc:maincls.cmd.setkomafont}), +but are grouped in an element named \FontElement{pagehead}. And before the +font of that element additionally the font of element +\FontElement{pageheadfoot} will be used. See +\autoref{tab:scrlayer-scrpage.fontelements} for the font default of these +elements.% +\EndIndex{FontElement}{pageheadfoot}% +\EndIndex{FontElement}{pagehead}% + +\begin{desclist} + \desccaption[{Elements of \Package{scrlayer-scrpage} whose type style can be + changed with \KOMAScript{} command \Macro{setkomafont} or + \Macro{addtokomafont}}]% + {Elements of \Package{scrlayer-scrpage} whose type style can be changed with + \KOMAScript{} command \Macro{setkomafont} or \Macro{addtokomafont} and the + default of those, if they have not been defined before loading + \Package{scrlayer-scrpage}% + \label{tab:scrlayer-scrpage.fontelements}% + }% + {Elements whose type style can be changed (\emph{continuation})}% + \feentry{footbotline}{% + Horizontal line below the footer of a page style defined using + \Package{scrlayer-scrpage}. The font will be used after + \Macro{normalfont}\IndexCmd{normalfont} and the fonts of elements + \FontElement{pageheadfoot}\IndexFontElement{pageheadfoot} and + \FontElement{pagefoot}\FontElement{pagefoot}. It is recommended to use + this element for colour changes only.\par + Default: \emph{empty}% + }% + \feentry{footsepline}{% + Horizontal line above the footer of a page style defined using + \Package{scrlayer-scrpage}. The font will be used after + \Macro{normalfont}\IndexCmd{normalfont} and the fonts of elements + \FontElement{pageheadfoot}\IndexFontElement{pageheadfoot} and + \FontElement{pagefoot}\FontElement{pagefoot}. It is recommended to use + this element for colour changes only.\par + Default: \emph{empty}% + }% + \feentry{headsepline}{% + Horizontal line below the header of a page style defined using + \Package{scrlayer-scrpage}. The font will be used after + \Macro{normalfont}\IndexCmd{normalfont} and the fonts of elements + \FontElement{pageheadfoot}\IndexFontElement{pageheadfoot} and + \FontElement{pagehead}\FontElement{pagehead}. It is recommended to use + this element for colour changes only.\par + Default: \emph{empty}% + }% + \feentry{headtopline}{% + Horizontal line above the header of a page style defined using + \Package{scrlayer-scrpage}. The font will be used after + \Macro{normalfont}\IndexCmd{normalfont} and the fonts of elements + \FontElement{pageheadfoot}\IndexFontElement{pageheadfoot} and + \FontElement{pagehead}\FontElement{pagehead}. It is recommended to use + this element for colour changes only.\par + Default: \emph{empty}% + }% + \feentry{pagefoot}{% + Contents of the page footer of a page style defined using + \Package{scrlayer-scrpage}. The font will be used after + \Macro{normalfont}\IndexCmd{normalfont} and the font of element + \FontElement{pageheadfoot}\IndexFontElement{pageheadfoot}.\par + Default: \emph{empty}% + }% + \feentry{pagehead}{% + Contents of the page header of a page style defined using + \Package{scrlayer-scrpage}. The font will be used after + \Macro{normalfont}\IndexCmd{normalfont} and the font of element + \FontElement{pageheadfoot}\IndexFontElement{pageheadfoot}.\par + Default: \emph{empty}% + }% + \feentry{pageheadfoot}{% + Contents of the page header or footer of a page style defined using + \Package{scrlayer-scrpage}. The font will be used after + \Macro{normalfont}\IndexCmd{normalfont}.\par + Default: \Macro{normalcolor}\Macro{slshape}% + }% + \feentry{pagenumber}{% + Pagination set with \Macro{pagemark}. If you redefine \Macro{pagemark}, + you have to take care that your redefinition also uses + \Macro{usekomafont}\PParameter{pagenumber}!\par + Default: \Macro{normalfont}% + }% +\end{desclist} +% +The semantics of the described commands within two-sided layouts are also +sketched in \autoref{fig:scrlayer-scrpage.head}.% +% +\begin{figure}[tp] + \centering + \begin{picture}(\textwidth,30mm)(0,-10mm) + \thinlines + \small\ttfamily + % left/even page + \put(0,20mm){\line(1,0){.49\textwidth}}% + \put(0,0){\line(0,1){20mm}}% + \multiput(0,0)(0,-1mm){10}{\line(0,-1){.5mm}}% + \put(.49\textwidth,5mm){\line(0,1){15mm}}% + \put(.05\textwidth,10mm){% + \iffree{\color{red}}{}% + \put(-.5em,0){\line(1,0){4em}}% + \multiput(3.5em,0)(.25em,0){5}{\line(1,0){.125em}}% + \put(-.5em,0){\line(0,1){\baselineskip}}% + \put(-.5em,\baselineskip){\line(1,0){4em}}% + \multiput(3.5em,\baselineskip)(.25em,0){5}{\line(1,0){.125em}}% + \makebox(4em,5mm)[l]{\Macro{lehead}}% + }% + \put(.465\textwidth,10mm){% + \iffree{\color{blue}}{}% + \put(-4em,0){\line(1,0){4em}}% + \multiput(-4em,0)(-.25em,0){5}{\line(1,0){.125em}}% + \put(0,0){\line(0,1){\baselineskip}}% + \put(-4em,\baselineskip){\line(1,0){4em}}% + \multiput(-4em,\baselineskip)(-.25em,0){5}{\line(1,0){.125em}}% + \put(-4.5em,0){\makebox(4em,5mm)[r]{\Macro{rehead}}}% + }% + \put(.2525\textwidth,10mm){% + \iffree{\color{green}}{}% + \put(-2em,0){\line(1,0){4em}}% + \multiput(2em,0)(.25em,0){5}{\line(1,0){.125em}}% + \multiput(-2em,0)(-.25em,0){5}{\line(1,0){.125em}}% + \put(-2em,\baselineskip){\line(1,0){4em}}% + \multiput(2em,\baselineskip)(.25em,0){5}{\line(1,0){.125em}}% + \multiput(-2em,\baselineskip)(-.25em,0){5}{\line(1,0){.125em}}% + \put(-2em,0){\makebox(4em,5mm)[c]{\Macro{cehead}}}% + }% + % right/odd page + \put(.51\textwidth,20mm){\line(1,0){.49\textwidth}}% + \put(.51\textwidth,5mm){\line(0,1){15mm}}% + \put(\textwidth,0){\line(0,1){20mm}}% + \multiput(\textwidth,0)(0,-1mm){10}{\line(0,-1){.5mm}}% + \put(.5325\textwidth,10mm){% + \iffree{\color{blue}}{}% + \put(0,0){\line(1,0){4em}}% + \multiput(4em,0)(.25em,0){5}{\line(1,0){.125em}}% + \put(0,0){\line(0,1){\baselineskip}}% + \put(0em,\baselineskip){\line(1,0){4em}}% + \multiput(4em,\baselineskip)(.25em,0){5}{\line(1,0){.125em}}% + \put(.5em,0){\makebox(4em,5mm)[l]{\Macro{lohead}}}% + }% + \put(.965\textwidth,10mm){% + \iffree{\color{red}}{}% + \put(-4em,0){\line(1,0){4em}}% + \multiput(-4em,0)(-.25em,0){5}{\line(1,0){.125em}}% + \put(0,0){\line(0,1){\baselineskip}}% + \put(-4em,\baselineskip){\line(1,0){4em}}% + \multiput(-4em,\baselineskip)(-.25em,0){5}{\line(1,0){.125em}}% + \put(-4.5em,0){\makebox(4em,5mm)[r]{\Macro{rohead}}}% + }% + \put(.75\textwidth,10mm){% + \iffree{\color{green}}{}% + \put(-2em,0){\line(1,0){4em}}% + \multiput(2em,0)(.25em,0){5}{\line(1,0){.125em}}% + \multiput(-2em,0)(-.25em,0){5}{\line(1,0){.125em}}% + \put(-2em,\baselineskip){\line(1,0){4em}}% + \multiput(2em,\baselineskip)(.25em,0){5}{\line(1,0){.125em}}% + \multiput(-2em,\baselineskip)(-.25em,0){5}{\line(1,0){.125em}}% + \put(-2em,0){\makebox(4em,5mm)[c]{\Macro{cohead}}}% + }% + % commands for both pages + \iffree{\color{blue}}{}% + \put(.5\textwidth,0){\makebox(0,\baselineskip)[c]{\Macro{ihead}}}% + \iffree{\color{green}}{}% + \put(.5\textwidth,-5mm){\makebox(0,\baselineskip)[c]{\Macro{chead}}} + \iffree{\color{red}}{}% + \put(.5\textwidth,-10mm){\makebox(0,\baselineskip)[c]{\Macro{ohead}}} + \put(\dimexpr.5\textwidth-2em,.5\baselineskip){% + \iffree{\color{blue}}{}% + \put(0,0){\line(-1,0){1.5em}}% + \put(-1.5em,0){\vector(0,1){5mm}}% + \iffree{\color{green}}{}% + \put(0,-1.25\baselineskip){\line(-1,0){\dimexpr .25\textwidth-2em\relax}}% + \put(-\dimexpr + .25\textwidth-2em\relax,-1.25\baselineskip){\vector(0,1){\dimexpr + 5mm+1.25\baselineskip\relax}} + \iffree{\color{red}}{}% + \put(0,-2.5\baselineskip){\line(-1,0){\dimexpr .45\textwidth-4em\relax}}% + \put(-\dimexpr + .45\textwidth-4em\relax,-2.5\baselineskip){\vector(0,1){\dimexpr + 5mm+2.5\baselineskip\relax}} + }% + \put(\dimexpr.5\textwidth+2em,.5\baselineskip){% + \iffree{\color{blue}}{}% + \put(0,0){\line(1,0){1.5em}}% + \put(1.5em,0){\vector(0,1){5mm}}% + \iffree{\color{green}}{}% + \put(0,-1.25\baselineskip){\line(1,0){\dimexpr .25\textwidth-2em\relax}} + \put(\dimexpr + .25\textwidth-2em\relax,-1.25\baselineskip){\vector(0,1){\dimexpr + 5mm+1.25\baselineskip\relax}} + \iffree{\color{red}}{}% + \put(0,-2.5\baselineskip){\line(1,0){\dimexpr .45\textwidth-4em\relax}} + \put(\dimexpr + .45\textwidth-4em\relax,-2.5\baselineskip){\vector(0,1){\dimexpr + 5mm+2.5\baselineskip\relax}} + }% + \end{picture} + \caption[Commands to define the page head]% + {The meaning of the commands to define the contents of the page head + of the page styles sketched on a schematic double page} + \label{fig:scrlayer-scrpage.head} +\end{figure} +% +\begin{Example} + Assume you're writing a short article and you want the title of that + article to be shown left aligned and the author's name to be + shown right aligned at the page head. You may for example use: +\begin{lstcode} + \documentclass{scrartcl} + \usepackage{scrlayer-scrpage} + \lohead{John Doe} + \rohead{Page style with \KOMAScript} + \pagestyle{scrheadings} + \begin{document} + \title{Page styles with \KOMAScript} + \author{John Doe} + \maketitle + \end{document} +\end{lstcode} + But what happens: On the first page there's only a page number at the page + foot, but the header is empty! + + The explanation is very easy. Document class \Class{scrartcl} switches to + page style \Pagestyle{plain} for the page with the title head. After command + \Macro{pagestyle}\PParameter{scrheadings} in the preamble of the short + document this will actually result in page style + \Pagestyle{plain.scrheadings}. Using a \KOMAScript{} class the default of + this page style is an empty page header and a page number in the footer. In + the example code the optional arguments of \Macro{lohead} and \Macro{rohead} + are omitted. So page style \Pagestyle{plain.scrheadings} remains + unchanged as default and the result for the first page is indeed correct. + + Please add some text below \Macro{maketitle} until a second page will be + printed. Alternatively you may just add + \Macro{usepackage}\PParameter{lipsum}\IndexPackage{lipsum} into the document + preamble and \Macro{lipsum}\IndexCmd{lipsum} below \Macro{maketitle}. You + will see that the head of the second page will show the author and the + document title as we wanted. + + To see the difference you should also add an optional argument to + \Macro{lohead} and \Macro{rohead} containing some content. To do so, change + the example above: + \begin{lstcode} + \documentclass{scrartcl} + \usepackage{scrlayer-scrpage} + \lohead[John Doe] + {John Doe} + \rohead[Page style with \KOMAScript] + {Page style with \KOMAScript} + \pagestyle{scrheadings} + \begin{document} + \title{Page styles with \KOMAScript} + \author{John Doe} + \maketitle + \end{document} +\end{lstcode} + Now, you also get a page header above the title head of the first + page. That is because you have reconfigured page style + \Pagestyle{plain.scrheadings} with the two optional arguments. Most of you + will also recognise that it would be better to leave this page style + unchanged, because the running head above the document title is certainly + annoying. +\end{Example} + +Allow me an important note:\textnote{Attention!} You should never put a +section heading or section number directly into the page head using a new +declaration by one of these commands. This could result in a wrong number or +heading text in the running head, because of the asynchronous page generation +and output of \TeX. Instead you should use the mark mechanism and ideally you +should use it together with the automatism described in the following +section.% +\EndIndex{Cmd}{rohead}% +\EndIndex{Cmd}{cohead}% +\EndIndex{Cmd}{lohead}% +\EndIndex{Cmd}{rehead}% +\EndIndex{Cmd}{cehead}% +\EndIndex{Cmd}{lehead}% + +\begin{Declaration} + \Macro{lefoot}\OParameter{plain.scrheadings's content}% + \Parameter{scrheadings's content}\\ + \Macro{cefoot}\OParameter{plain.scrheadings's content}% + \Parameter{scrheadings's content}\\ + \Macro{refoot}\OParameter{plain.scrheadings's content}% + \Parameter{scrheadings's content}\\ + \Macro{lofoot}\OParameter{plain.scrheadings's content}% + \Parameter{scrheadings's content}\\ + \Macro{cofoot}\OParameter{plain.scrheadings's content}% + \Parameter{scrheadings's content}\\ + \Macro{rofoot}\OParameter{plain.scrheadings's content}% + \Parameter{scrheadings's content} +\end{Declaration} +\BeginIndex{Cmd}{lefoot}% +\BeginIndex{Cmd}{cefoot}% +\BeginIndex{Cmd}{refoot}% +\BeginIndex{Cmd}{lofoot}% +\BeginIndex{Cmd}{cofoot}% +\BeginIndex{Cmd}{rofoot}% +The contents of the footer of page style \Pagestyle{plain.scrheadings} and +\Pagestyle{scrheadings} can be defined using these commands. Thereby the +optional argument defines the content of an element of page style +\Pagestyle{plain.scrheadings}, while the mandatory argument sets the content +of the corresponding element of page style \Pagestyle{scrheadings}. + +Contents of left\,---\,so called even\,---\,pages can be set with +\Macro{lefoot}, \Macro{cefoot}, and \Macro{rohead}. Remark: The ``\texttt{e}'' +at the second position of the commands' names means ``\emph{even}''. + +Contents of odd pages can be set with \Macro{lofoot}, \Macro{cofoot}, and +\Macro{rofoot}. Remark: The ``\texttt{o}'' at the second position of the +commands' names means ``\emph{odd}''. + +Please note\textnote{Attention!} that there are only odd pages within single +side layouts independent of whether or not they have an odd page number. + +Each footer consists of a left aligned element that will be defined by +\Macro{lefoot} respectively \Macro{lofoot}. Remark: The ``\texttt{l}'' at the +first position of the commands' names means ``\emph{left aligned}''. + +Similarly each footer has a centred element that will be defined by +\Macro{cefoot} respectively \Macro{cofoot}. Remark: The ``\texttt{c}'' at the +first position of the command' names means ``\emph{centred}''. + +Similarly each footer has a right aligned element that will be defined by +\Macro{refoot} respectively \Macro{rofoot}. Remark: The ``\texttt{r}'' at the +first position of the commands' names means ``\emph{right aligned}''. + +\BeginIndex{FontElement}{pagefoot}% +\BeginIndex{FontElement}{pageheadfoot}% +However, these elements do not have their own font attributes that may be +changed using commands \Macro{setkomafont} and \Macro{addtokomafont} (see +\autoref{sec:maincls.textmarkup}, \autopageref{desc:maincls.cmd.setkomafont}), +but are grouped in an element named \FontElement{pagefoot}. And before the +font of that element additionally the font of element +\FontElement{pageheadfoot} will be used. See +\autoref{tab:scrlayer-scrpage.fontelements} for the defaults of the fonts of +these elements.% +\EndIndex{FontElement}{pageheadfoot}% +\EndIndex{FontElement}{pagefoot}% + +The semantics of the described commands within two-sided layouts are also +sketched in \autoref{fig:scrlayer-scrpage.foot}.% +% +\begin{figure}[bp] + \centering + \begin{picture}(\textwidth,30mm) + \thinlines + \small\ttfamily + % left page + \put(0,0){\line(1,0){.49\textwidth}}% + \put(0,0){\line(0,1){20mm}}% + \multiput(0,20mm)(0,1mm){10}{\line(0,1){.5mm}}% + \put(.49\textwidth,0){\line(0,1){15mm}}% + \put(.05\textwidth,5mm){% + \iffree{\color{red}}{}% + \put(-.5em,0){\line(1,0){4em}}% + \multiput(3.5em,0)(.25em,0){5}{\line(1,0){.125em}}% + \put(-.5em,0){\line(0,1){\baselineskip}}% + \put(-.5em,\baselineskip){\line(1,0){4em}}% + \multiput(3.5em,\baselineskip)(.25em,0){5}{\line(1,0){.125em}}% + \makebox(4em,5mm)[l]{\Macro{lefoot}}% + }% + \put(.465\textwidth,5mm){% + \iffree{\color{blue}}{}% + \put(-4em,0){\line(1,0){4em}}% + \multiput(-4em,0)(-.25em,0){5}{\line(1,0){.125em}}% + \put(0,0){\line(0,1){\baselineskip}}% + \put(-4em,\baselineskip){\line(1,0){4em}}% + \multiput(-4em,\baselineskip)(-.25em,0){5}{\line(1,0){.125em}}% + \put(-4.5em,0){\makebox(4em,5mm)[r]{\Macro{refoot}}}% + }% + \put(.2525\textwidth,5mm){% + \iffree{\color{green}}{}% + \put(-2em,0){\line(1,0){4em}}% + \multiput(2em,0)(.25em,0){5}{\line(1,0){.125em}}% + \multiput(-2em,0)(-.25em,0){5}{\line(1,0){.125em}}% + \put(-2em,\baselineskip){\line(1,0){4em}}% + \multiput(2em,\baselineskip)(.25em,0){5}{\line(1,0){.125em}}% + \multiput(-2em,\baselineskip)(-.25em,0){5}{\line(1,0){.125em}}% + \put(-2em,0){\makebox(4em,5mm)[c]{\Macro{cefoot}}}% + }% + % right page + \put(.51\textwidth,0){\line(1,0){.49\textwidth}}% + \put(.51\textwidth,0){\line(0,1){15mm}}% + \put(\textwidth,0){\line(0,1){20mm}}% + \multiput(\textwidth,20mm)(0,1mm){10}{\line(0,1){.5mm}}% + \put(.5325\textwidth,5mm){% + \iffree{\color{blue}}{}% + \put(0,0){\line(1,0){4em}}% + \multiput(4em,0)(.25em,0){5}{\line(1,0){.125em}}% + \put(0,0){\line(0,1){\baselineskip}}% + \put(0em,\baselineskip){\line(1,0){4em}}% + \multiput(4em,\baselineskip)(.25em,0){5}{\line(1,0){.125em}}% + \put(.5em,0){\makebox(4em,5mm)[l]{\Macro{lofoot}}}% + }% + \put(.965\textwidth,5mm){% + \iffree{\color{red}}{}% + \put(-4em,0){\line(1,0){4em}}% + \multiput(-4em,0)(-.25em,0){5}{\line(1,0){.125em}}% + \put(0,0){\line(0,1){\baselineskip}}% + \put(-4em,\baselineskip){\line(1,0){4em}}% + \multiput(-4em,\baselineskip)(-.25em,0){5}{\line(1,0){.125em}}% + \put(-4.5em,0){\makebox(4em,5mm)[r]{\Macro{rofoot}}}% + }% + \put(.75\textwidth,5mm){% + \iffree{\color{green}}{}% + \put(-2em,0){\line(1,0){4em}}% + \multiput(2em,0)(.25em,0){5}{\line(1,0){.125em}}% + \multiput(-2em,0)(-.25em,0){5}{\line(1,0){.125em}}% + \put(-2em,\baselineskip){\line(1,0){4em}}% + \multiput(2em,\baselineskip)(.25em,0){5}{\line(1,0){.125em}}% + \multiput(-2em,\baselineskip)(-.25em,0){5}{\line(1,0){.125em}}% + \put(-2em,0){\makebox(4em,5mm)[c]{\Macro{cofoot}}}% + }% + % both pages + \iffree{\color{blue}}{}% + \put(.5\textwidth,15mm){\makebox(0,\baselineskip)[c]{\Macro{ifoot}}}% + \iffree{\color{green}}{}% + \put(.5\textwidth,20mm){\makebox(0,\baselineskip)[c]{\Macro{cfoot}}} + \iffree{\color{red}}{}% + \put(.5\textwidth,25mm){\makebox(0,\baselineskip)[c]{\Macro{ofoot}}} + \put(\dimexpr.5\textwidth-2em,.5\baselineskip){% + \iffree{\color{blue}}{}% + \put(0,15mm){\line(-1,0){1.5em}}% + \put(-1.5em,15mm){\vector(0,-1){5mm}}% + \iffree{\color{green}}{}% + \put(0,20mm){\line(-1,0){\dimexpr .25\textwidth-2em\relax}}% + \put(-\dimexpr .25\textwidth-2em\relax,20mm){\vector(0,-1){10mm}}% + \iffree{\color{red}}{}% + \put(0,25mm){\line(-1,0){\dimexpr .45\textwidth-4em\relax}}% + \put(-\dimexpr .45\textwidth-4em\relax,25mm){\vector(0,-1){15mm}}% + }% + \put(\dimexpr.5\textwidth+2em,.5\baselineskip){% + \iffree{\color{blue}}{}% + \put(0,15mm){\line(1,0){1.5em}}% + \put(1.5em,15mm){\vector(0,-1){5mm}}% + \iffree{\color{green}}{}% + \put(0,20mm){\line(1,0){\dimexpr .25\textwidth-2em\relax}}% + \put(\dimexpr .25\textwidth-2em\relax,20mm){\vector(0,-1){10mm}}% + \iffree{\color{red}}{}% + \put(0,25mm){\line(1,0){\dimexpr .45\textwidth-4em\relax}}% + \put(\dimexpr .45\textwidth-4em\relax,25mm){\vector(0,-1){15mm}}% + }% + \end{picture} + \caption[Commands to define the page footer]% + {The meaning of the commands to define the contents of the page + footer of the page styles sketched on a schematic double page}% + \label{fig:scrlayer-scrpage.foot} +\end{figure} +% +\begin{Example} + Let's return to the example of the short article. Assuming you want to print + the publisher at the left side of the page footer, you would change the + example above into: +\begin{lstcode} + \documentclass{scrartcl} + \usepackage{scrlayer-scrpage} + \lohead{John Doe} + \rohead{Page style with \KOMAScript} + \lofoot{Smart Alec Publishing} + \pagestyle{scrheadings} + \usepackage{lipsum} + \begin{document} + \title{Page styles with \KOMAScript} + \author{John Doe} + \maketitle + \lipsum + \end{document} +\end{lstcode} + Once again the publisher is not printed on the first page with the title + head. For the reason see the explanation about \Macro{lohead} in the example + above. And again the solution to print the publisher on the first page would + be similar: +\begin{lstcode} + \lofoot[Smart Alec Publishing] + {Smart Alec Publishing} +\end{lstcode} + But now you also want to replace the slanted font used in page head and + footer by a upright smaller font. This may be done using: +\begin{lstcode} + \setkomafont{pageheadfoot}{\small} +\end{lstcode} + Furthermore, the head but not the footer should be bold: +\begin{lstcode} + \setkomafont{pagehead}{\bfseries} +\end{lstcode} + For the last command it is important to have it just after + \Package{scrpage-scrlayer} has been loaded, because + the \KOMAScript{} class already defines \FontElement{pagehead} and + \FontElement{pageheadfoot} but with the same meaning. Only loading + \Package{scrpage-scrlayer} changes the meaning of \FontElement{pagehead} and + makes it an element independent of \FontElement{pageheadfoot}. + + Now, please add one more \Macro{lipsum} and add option \Option{twoside} to + the loading of \Class{scrartcl}. First of all, you will see the page number + moving from the middle of the page footer to the outer margin, due to the + changed defaults of \Pagestyle{scrheadings} and + \Pagestyle{plain.scrheadings} using double-sided layout and a \KOMAScript{} + class. + + Simultaneously the author, document title and publisher will vanish from + page~2. It only appears on page~3. This is a consequence of using only + commands for odd pages. You can recognise this by the ``\texttt{o}'' on the + second position of the commands' names. + + Now, we could simply copy those commands and replace the ``\texttt{o}'' by + an ``\texttt{e}'' to define the contents of \emph{even} pages. But with + double sided layout it makes more sense to use mirror-inverted elements. So + the left element of an odd page should become the right element of the even + page and visa versa. To achieve this, we also replace the first letter + ``\texttt{l}'' by ``\texttt{r}'': +\begin{lstcode} + \documentclass[twoside]{scrartcl} + \usepackage{scrlayer-scrpage} + \lohead{John Doe} + \rohead{Page style with \KOMAScript} + \lofoot[Smart Alec Publishing] + {Smart Alec Publishing} + \rehead{John Doe} + \lohead{Page style with \KOMAScript} + \refoot[Smart Alec Publishing] + {Smart Alec Publishing} + \pagestyle{scrheadings} + \usepackage{lipsum} + \begin{document} + \title{Page styles with \KOMAScript} + \author{John Doe} + \maketitle + \lipsum\lipsum + \end{document} +\end{lstcode} +\end{Example} +% +After reading the example it may appear to you that it is somehow +uncomfortable to duplicate commands to have the same contents on mirror +positions of the page header or footer of a double page. Therefore you will +learn to know an easier solution for this standard case next. + +Before allow me an important note:\textnote{Attention!} You should never put a +section heading or section number directly into the page's footer using a new +declaration by one of these commands. This could result in a wrong number or +heading text in the running footer, because of the asynchronous page +generation and output of \TeX. Instead you should use the mark mechanism +ideally together with the automatism described in the following section.% +\EndIndex{Cmd}{rofoot}% +\EndIndex{Cmd}{cofoot}% +\EndIndex{Cmd}{lofoot}% +\EndIndex{Cmd}{refoot}% +\EndIndex{Cmd}{cefoot}% +\EndIndex{Cmd}{lefoot}% + +\begin{Declaration} + \Macro{ohead}\OParameter{plain.scrheadings's content}% + \Parameter{scrheadings's content}\\ + \Macro{chead}\OParameter{plain.scrheadings's content}% + \Parameter{scrheadings's content}\\ + \Macro{ihead}\OParameter{plain.scrheadings's content}% + \Parameter{scrheadings's content}\\ + \Macro{ofoot}\OParameter{plain.scrheadings's content}% + \Parameter{scrheadings's content}\\ + \Macro{cfoot}\OParameter{plain.scrheadings's content}% + \Parameter{scrheadings's content}\\ + \Macro{ifoot}\OParameter{plain.scrheadings's content}% + \Parameter{scrheadings's content} +\end{Declaration} +\BeginIndex{Cmd}{ohead}% +\BeginIndex{Cmd}{chead}% +\BeginIndex{Cmd}{ihead}% +\BeginIndex{Cmd}{ofoot}% +\BeginIndex{Cmd}{cfoot}% +\BeginIndex{Cmd}{ifoot}% +To define the contents of page headers and footers of odd and the even pages +of a double-sided layout using the commands described before, you would have to +define the contents of the even page different from the contents of the odd +page. But in general the pages should be symmetric. An element, that should be +printed left aligned on an even page, should be right aligned on an odd page +and vise versa. Elements, that are centred on odd pages, should be centred on +even pages too. + +To simplify the definition of such symmetric page styles, +\Package{scrlayer-scrpage} provides a kind of abbreviation. Command +\Macro{ohead} is same like usage of both \Macro{lehead} and +\Macro{rohead}. Command \Macro{chead} is same like \Macro{cehead} and +\Macro{cohead}. And command \Macro{ihead} is same like \Macro{rehead} and +\Macro{lohead}. The corresponding commands for the page footer are defined +accordingly. A sketch of these commands can be found also in +\autoref{fig:scrlayer-scrpage.head} on \autopageref{fig:scrlayer-scrpage.head} +and \autoref{fig:scrlayer-scrpage.foot} on +\autopageref{fig:scrlayer-scrpage.foot} together with the relationships of all +the page header and footer commands. +% +\begin{Example} + You can simplify the example before using the new commands: +\begin{lstcode} + \documentclass[twoside]{scrartcl} + \usepackage{scrlayer-scrpage} + \ihead{John Doe} + \ohead{Page style with \KOMAScript} + \ifoot[Smart Alec Publishing] + {Smart Alec Publishing} + \pagestyle{scrheadings} + \usepackage{lipsum} + \begin{document} + \title{Page styles with \KOMAScript} + \author{John Doe} + \maketitle + \lipsum\lipsum + \end{document} +\end{lstcode} + As you can see, you can spare half of the commands but get the same result. +\end{Example} +% +In single-sided layouts all pages are odd pages. So in LaTeX's single-sided +mode these commands are synonymous for the odd page commands. Therefore in +most cases you will only need these six commands instead of the twelve +described before. + +Once again, allow me an important note:\textnote{Attention!} You should never +put a section heading or section number directly into the page head or +page foot using a new declaration by one of these commands. This could result in +a wrong number or heading text in the running header or footer, because of the +asynchronous page generation and output of \TeX. Instead you should use the +mark mechanism ideally together with the automatism described in the following +section.% +\EndIndex{Cmd}{ihead}% +\EndIndex{Cmd}{chead}% +\EndIndex{Cmd}{ohead}% +\EndIndex{Cmd}{ifoot}% +\EndIndex{Cmd}{cfoot}% +\EndIndex{Cmd}{ofoot}% + + +\begin{Declaration} + \KOption{pagestyleset}\PName{setting} +\end{Declaration} +\BeginIndex{Option}{pagestyleset~=KOMA-Script}% +\BeginIndex{Option}{pagestyleset~=standard}% +In the examples above you can already find some information about the defaults +of \Pagestyle{scrheadings}\IndexPagestyle{scrheadings} and +\Pagestyle{plain.scrheadings}\IndexPagestyle{plain.scrheadings}. Indeed +\Package{scrlayer-scrpage} provides two different defaults yet. You may select +one of those defaults manually using option \Option{pagestyleset}. + +If \PName{setting} is \PValue{KOMA-Script} the defaults will be used that +would also be activated automatically if a \KOMAScript{} class has been +detected. In this case and within double-sided layout \Pagestyle{scrheadings} +uses running heads outer aligned in the page head. The page number will be +printed outer aligned in the page footer. Within single-sided layout the +running head will be printed in the middle of the page head and the page +number in the middle of the page footer. Upper and lower case will be used for +the automatic running head as given by the words you have typed. This would be +same like using Option +\OptionValue{markcase}{used}\IndexOption{markcase~=used}. Pagestyle +\Pagestyle{plain.scrheadings} has not got running heads, but the page numbers +will be printed in the same manner. + +If \PName{setting} is \PValue{standard} the defaults will be used that are +similar to page style \Pagestyle{headings} and \Pagestyle{plain} of the +standard classes. This \PName{setting} will also be activated automatically +if the option has not been used and \KOMAScript{} class cannot be +detected. Within double-sided layout thereby \Pagestyle{scrheadings} uses +running heads aligned inner in the page head and the page numbers will be +printed\,---\,also in the page head\,---\,aligned outer. Within single-sided +layout \Pagestyle{scrheadings} is the same. But because of single side layout +knows only odd pages, the running head will be aligned left always and the +page number will be aligned right. In spite of typographic objection, the +automatic running head will be converted into upper cases like they would +using \OptionValue{markcase}{upper}\IndexOption{markcase~=upper}. Within +single side layout page style \Pagestyle{plain.scrheadings} differs a lot from +\Pagestyle{scrheading}, because the page number will be printed in the middle +of the page footer. Using double side layout page style +\Pagestyle{plain.scrheadings} differs from standard classes' +\Pagestyle{plain}. The standard classes would print the page number in the +middle of the page footer. But this would not harmonise with the +\Pagestyle{scrheadings}, so \Pagestyle{plain.scrheadings} does not print a page +number. But like \Pagestyle{plain} it does not print a running head. + +Please note\textnote{Attention!} that together with this option page style +\Pagestyle{scrheadings} will be activated. This will be also the case, if you +use the option inside the document. + +\BeginIndex{Option}{komastyle}% +\BeginIndex{Option}{standardstyle}% +Options \Option{komastyle} and \Option{standardstyle}, provided by +\Package{scrpage}, are defined only for compatibility reasons in +\Package{scrlayer-scrpage}. But they are implemented using option +\Option{pagestyleset}. They are deprecated and you should not use them.% +% +\EndIndex{Option}{standardstyle}% +\EndIndex{Option}{komastyle}% +\EndIndex{Option}{pagestyleset~=standard}% +\EndIndex{Option}{pagestyleset~=KOMA-Script}% + +\LoadCommon{21} % \section{Manipulation of Defined Page Styles} + +\begin{Declaration} + \KOption{headwidth}\PName{width\textup{:}offset}\\ + \KOption{footwidth}\PName{width\textup{:}offset} +\end{Declaration} +\BeginIndex{Option}{headwidth~=\PName{offset\textup{:}width}}% +\BeginIndex{Option}{footwidth~=\PName{offset\textup{:}width}}% +By default the page head\Index{head>width} and foot\Index{foot>width} are as +wide as the type area. This can be changed using these \KOMAScript{} +options. The value \PName{width} is the wanted width of the head respective +foot. The \PName{offset} defines how much the head or foot should be moved +towards the outer\,---\,in single side layout to the right\,---\,margin. Both +values are optional and can be omitted. If you omit both values, you can also +omit the colon. If you only use one value without colon, this will be the +\PName{width}. + +For the \PName{width} as well as the \PName{offset} you can use any valid +length value, \LaTeX{} length, \TeX{} dimension or \TeX{} skip. In addition +you may use an \eTeX{} dimension expression with basic arithmetic operations +\texttt{+}, \texttt{-}, \texttt{*}, \texttt{/}, and parenthesis. See +\cite[section~3.5]{manual:eTeX} for more information on such expressions. See +\autoref{sec:scrlayer-scrpage.options} for more information on using, +e.\,g., a \LaTeX{} length as an option value. The \PName{width} can +alternatively be one of the symbolic values shown in +\autoref{tab:scrlayer-scrpage.symbolic.values}. + +By default the head and the foot are as wide as the text area. The default +\PName{offset} depends on the used \PName{width}. In single side layout +generally the half of the difference of \PName{width} and the width of the +text area will be used. This results in horizontal centring the page head +above or the page footer below the text area. In difference to this, in double +side layout generally a third of the difference of \PName{offset} and the +width of the text area will be used. But if \PName{width} is the width of the +whole text area plus the marginal note column, default \PName{offset} will be +zero. If you think, this is complicated, you should simply use an explicit +\PName{offset}. +% +\begin{table} + \centering + \caption[Symbolic values for options \Option{headwidth} and + \Option{footwidth}]{Possible symbolic values for the \PName{width} value of + options \Option{headwidth} and \Option{footwidth}} + \label{tab:scrlayer-scrpage.symbolic.values} + \begin{desctabular} + \ventry{foot}{% + the current width of the page foot% + }% + \ventry{footbotline}{% + the current length of the horizontal line below the page foot% + }% + \ventry{footsepline}{% + the current length of the horizontal line above the page foot% + } \ventry{head}{% + the current width of the page head% + }% + \ventry{headsepline}{% + the current length of the horizontal line below the page head% + }% + \ventry{headtopline}{% + the current lenght of the horizontal line above the page head% + }% + \ventry{marginpar}{% + the current width of the marginal note column including the distance + between the text area and the marginal note column% + }% + \ventry{page}{% + the current width of the page considering a binding correction of + package \Package{typearea} (see option \Option{BCOR} in + \autoref{sec:typearea.typearea}, + \autopageref{desc:typearea.option.BCOR})% + }% + \ventry{paper}{% + the current width of the paper without considering a binding correction% + }% + \ventry{text}{% + the current width of the text area% + }% + \ventry{textwithmarginpar}{% + the current width of the text area plus the marginal note column + including the distance between them (note: in this case and only in this + case the default of \PName{offset} would be zero)% + }% + \end{desctabular} +\end{table} +% +\EndIndex{Option}{footwidth~=\PName{offset\textup{:}width}}% +\EndIndex{Option}{headwidth~=\PName{offset\textup{:}width}}% + +\begin{Declaration} + \KOption{headtopline}\PName{thickness\textup{:}length}\\ + \KOption{headsepline}\PName{thickness\textup{:}length}\\ + \KOption{footsepline}\PName{thickness\textup{:}length}\\ + \KOption{footbotline}\PName{thickness\textup{:}length} +\end{Declaration} +\BeginIndex{Option}{headtopline~=\PName{thickness\textup{:}length}}% +\BeginIndex{Option}{headsepline~=\PName{thickness\textup{:}length}}% +\BeginIndex{Option}{footsepline~=\PName{thickness\textup{:}length}}% +\BeginIndex{Option}{footbotline~=\PName{thickness\textup{:}length}}% +The \KOMAScript{} classes provide only a separation line below the page head +and above the page head, and you may only switch each of these lines on or +off. But package \Package{scrlayer-scrpage} provides four such horizontal +lines: one above the head, one below the head, one above the foot, and one +below the foot. And you can not only switch them on an off, but also configure +the \PName{length} and \PName{thickness} of each of these lines. + +Both values are optional. If you omit the \PName{thickness}, a default value +of 0.4\Unit{pt} will be used, a so called \emph{hairline}. If you omit the +\PName{length}, the width of the head respective the foot will be used. If you +omit both, you can also omit the colon. If you use only one value without +colon, this will be the \PName{thickness}. + +For sure, the \PName{length} can be not only shorter than the current width of +the page head respectively the page foot, but also longer. See additionally +options \Option{ilines}\IndexOption{ilines}, +\Option{clines}\IndexOption{clines}, and \Option{olines}\IndexOption{olines} +later in this section. + +\BeginIndex{FontElement}{headtopline}% +\BeginIndex{FontElement}{headsepline}% +\BeginIndex{FontElement}{footsepline}% +\BeginIndex{FontElement}{footbotline}% +Beside the length and thickness also the colour of the lines can be +changed. First of all the colour depends on the colour of the head or +foot. But independent from those or additional to them the settings of the +corresponding elements \FontElement{headtopline}, \FontElement{headsepline}, +\FontElement{footsepline}, and \FontElement{footbotline} will be used. You may +change these using command \Macro{setkomafont} or \Macro{addtokomafont} (see +\autoref{sec:maincls.textmarkup} from +\autopageref{desc:maincls.cmd.setkomafont}). By default those settings are +empty, which means no change of the current font or colour. Change of font in +opposite to colour would not make sense and is not recommended for these +elements.% +\EndIndex{FontElement}{footbotline}% +\EndIndex{FontElement}{footsepline}% +\EndIndex{FontElement}{headsepline}% +\EndIndex{FontElement}{headtopline}% + +\BeginIndex{Cmd}{setheadtopline}% +\BeginIndex{Cmd}{setheadseoline}% +\BeginIndex{Cmd}{setfootsepline}% +\BeginIndex{Cmd}{setfootbotline}% +Package \Package{scrpage2} has additionally to the options that do not take +any values, also four commands +\Macro{setheadtopline}\IndexCmd[indexmain]{setheadtopline}, +\Macro{setheadsepline}\IndexCmd[indexmain]{setheadsepline}, +\Macro{setfootsepline}\IndexCmd[indexmain]{setfootsepline}, and +\Macro{setfootbotline}\IndexCmd[indexmain]{setfootbotline}. These have a first +optional argument for the \PName{length}, a second mandatory argument for the +\PName{thickness}, and a third optional argument for the setting of font or +colour. Package \Package{scrlayer-scrpage} does also provide those +commands. Nevertheless, these commands are deprecated and should not be used +any longer. To get it clear: These commands have never been made to +switch the lines on or off. They have been made to configure already switched +on lines. Users often ignored this!% +\EndIndex{Cmd}{setfootbotline}% +\EndIndex{Cmd}{setfootsepline}% +\EndIndex{Cmd}{setheadseoline}% +\EndIndex{Cmd}{setheadtopline}% +% +\EndIndex{Option}{footbotline~=\PName{thickness\textup{:}length}}% +\EndIndex{Option}{footsepline~=\PName{thickness\textup{:}length}}% +\EndIndex{Option}{headsepline~=\PName{thickness\textup{:}length}}% +\EndIndex{Option}{headtopline~=\PName{thickness\textup{:}length}}% + + +\begin{Declaration} + \KOption{plainheadtopline}\PName{simple switch}\\ + \KOption{plainheadsepline}\PName{simple switch}\\ + \KOption{plainfootsepline}\PName{simple switch}\\ + \KOption{plainfootbotline}\PName{simple switch} +\end{Declaration} +\BeginIndex{Option}{plainheadtopline~=\PName{simple switch}}% +\BeginIndex{Option}{plainheadsepline~=\PName{simple switch}}% +\BeginIndex{Option}{plainfootsepline~=\PName{simple switch}}% +\BeginIndex{Option}{plainfootbotline~=\PName{simple switch}}% +These options can be used to inherit the settings of the lines also for the +\Pagestyle{plain} page style. Possible values for \PName{simple switch} can be +found in \autoref{tab:truefalseswitch} on +\autopageref{tab:truefalseswitch}. If a option is activated, the +\Pagestyle{plain} page style will use the line settings given by the options +and commands described above. If the option is deactivated, the +\Pagestyle{plain} will not show the corresponding line.% +\EndIndex{Option}{plainfootbotline~=\PName{simple switch}}% +\EndIndex{Option}{plainfootsepline~=\PName{simple switch}}% +\EndIndex{Option}{plainheadsepline~=\PName{simple switch}}% +\EndIndex{Option}{plainheadtopline~=\PName{simple switch}}% + +\begin{Declaration} + \Option{ilines}\\ + \Option{clines}\\ + \Option{olines} +\end{Declaration} +\BeginIndex{Option}{ilines}% +\BeginIndex{Option}{clines}% +\BeginIndex{Option}{olines}% +You have already been told that the horizontal lines above or below the page +head or foot can be shorter or longer than the page head or page foot +itself. Only the answer to the question about the alignment of those lines is +still missing. By default all lines are left aligned at single side layout and +aligned to the inner margin of the head or foot at double side layout. This +is same like using option \Option{ilines}. Alternatively, you can use option +\Option{clines} to centre the lines in the head or foot, or option +\Option{olines} to align them right respectively to the outer margin.% +\EndIndex{Option}{olines}% +\EndIndex{Option}{clines}% +\EndIndex{Option}{ilines}% +% +\EndIndex{Package}{scrlayer-scrpage}% + +%%% Local Variables: +%%% mode: latex +%%% mode: flyspell +%%% coding: us-ascii +%%% ispell-local-dictionary: "en_GB" +%%% TeX-master: "../guide" +%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/scrlayer.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/scrlayer.tex new file mode 100644 index 00000000000..2e413bf8d7d --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/scrlayer.tex @@ -0,0 +1,1242 @@ +% ====================================================================== +% scrlayer.tex +% Copyright (c) Markus Kohm, 2013 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ---------------------------------------------------------------------- +% scrlayer.tex +% Copyright (c) Markus Kohm, 2013 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% +% Chapter about scrlayer of the KOMA-Script guide +% Maintained by Markus Kohm +% +% ---------------------------------------------------------------------- +% +% Kapitel ueber scrlayer in der KOMA-Script-Anleitung +% Verwaltet von Markus Kohm +% +% ============================================================================ + +\KOMAProvidesFile{scrlayer.tex} + [$Date: 2013-12-13 17:39:21 +0100 (Fr, 13 Dez 2013) $ + KOMA-Script guide (chapter:scrlayer)] + +\translator{Markus Kohm} + +% Date of the translated file: 2013-10-31 + +\chapter[{Defining Layers and Page Styles Using \Package{scrlayer}}]% +{Defining Layers and Page Styles Using \Package{scrlayer}% +} +\labelbase{scrlayer} + +\BeginIndex{Package}{scrlayer} + +Most users of graphics software already know layer models for pages or working +sheets. \LaTeX{} itself does not know layers, but there are already packages +like \Package{eso-pic} or \Package{textpos}, that provide a kind of +background or foreground layer. \Package{scrlayer} is another package, +that provides such background and foreground layers, but in difference +to the other packages mentioned above these layers are part of the +page style definition. With this you may simply switch between usage +of layers by switching the page style. + +To do so, the package also supports a low level interface to define page +styles using a layer stack, to put layers onto a page style's layer stack, to +put layers at the lowest position of a page style's layer stack, to put layers +before or after a layer of a page style's layer stack, to remove a layer from +a page style's layer stack and to remove doublets of layers of a page style's +layer stack. In short words: The page style interface of \Package{scrlayer} +provides commands to define layer-stack-based page styles and to manage those +layer stacks. + +Nevertheless, using the layers directly is recommended for advanced users only. +End user interfaces for beginners or average users are provided by additional +packages, that load \Package{scrlayer} on their own. See +\autoref{cha:scrlayer-scrpage} in \autoref{part:forAuthors} of this +\iffree{manual}{book}. + +\section{State of Development Note} +\label{sec:scrlayer.draft} + +Development of this package has not been finished yet. Parts of the package +are even still experimental. Because of this, especially internal +functionality may be changed in future. Most likely the package will be +extended. And because of the early state of development, you should not expect +a complete and finished user manual. Nevertheless, this manual, which is +recommended for advanced users and developers, describes the current state of +development and the released parts of \Package{scrlayer}. Everything, not +documented here, should not be used for anything else but testing. + +\LoadCommon{0} % \section{Early or Late Selection of Options} + +\section{Some Generic Information} +\label{sec:scrlayer.generic} + +The package needs some generic information about the class. Class authors may +help \Package{scrlayer} by setting this information. Otherwise the package tries +to detect the information itself. This works, e.g., for the standard classes +and the \KOMAScript{} classes. But it may or may not fail with other classes. + +This section describes some of the information, that class authors may +provide. Generally users need not to care about this. + +\begin{Declaration} + \Macro{if@chapter}\ \PName{then code} \Macro{else}\ \PName{else code} + \Macro{fi}% +\end{Declaration} +\BeginIndex{Cmd}{if@chapter}% +If \Macro{if@chapter} is \Macro{iftrue}, \Package{scrlayer} will additionally +consider the chapter level, e.g., processing option \Option{automark}. If it +is defined, but differs from \Macro{iftrue}, only part, section, subsection, +sub\dots subsection, paragraph, subparagraph, sub\dots subparagraph will be +considered. If the macro is not defined, \Package{scrlayer} searches for +\Macro{chapter}. If \Macro{chapter} is defined and not \Macro{relax}, +\Package{scrlayer} will define \Macro{if@chapter} to \Macro{iftrue}, otherwise +\Macro{if@chapter} will become \Macro{iffalse}.% +\EndIndex{Cmd}{if@chapter} + +\begin{Declaration} + \Macro{if@mainmatter}\ \PName{then code} \Macro{else}\ \PName{else code} + \Macro{fi}% +\end{Declaration} +\BeginIndex{Cmd}{if@mainmatter}% +Classes like \Class{book} define \Macro{frontmatter}, \Macro{mainmatter}, and +\Macro{backmatter}. They also use \Macro{if@mainmatter} to distinguish whether +or not the current matter is the main matter. Classes like \Class{report} and +\Class{article} do not have \Macro{frontmatter}, \Macro{mainmatter}, or +\Macro{backmatter} and therefore also do not have \Macro{if@mainmatter}. + +For \Package{scrlayer} it's easier not to test always for the existence of the +matter commands, but to use \Macro{if@mainmatter} even with classes like +\Class{report} and \Class{article}, simply set to \Macro{iftrue}. So if +\Macro{if@mainmatter} is not defined, it will be defined to \Macro{iftrue}. + +Some classes have \Macro{frontmatter}, \Macro{mainmatter}, or +\Macro{backmatter} but not \Macro{if@mainmatter}. In this case +\Package{scrlayer} also defines \Macro{if@mainmatter} to be \Macro{iftrue} +and it extends definition of \Macro{frontmatter}, \Macro{mainmatter}, and +\Macro{backmatter} to set \Macro{if@mainmatter} properly. Other matter +commands are not known, not tested, and not extended. So if there are other +matter commands \Package{scrlayer} needs help of the class author to set +\Macro{if@mainmatter} correctly.% +\EndIndex{Cmd}{if@mainmatter} + +\begin{Declaration} + \Macro{DeclareSectionNumberDepth}%^^A + \Parameter{level name}\Parameter{level depth} +\end{Declaration} +\BeginIndex{Cmd}{DeclareSectionNumberDepth}% +Generally each section level is related to an integer number indicating its +depth in the document structure. \LaTeX{} needs this to manage hierarchic +section levels. But normally only the document class, that defines the section +commands, itself knows that \PName{level depth} of a section level and uses +these numerical values inside the corresponding commands, when needed. + +But \Package{scrlayer} also needs information about the section hierarchy. +With command \Macro{DeclareSectionNumberDepth} you can map +the name of a heading level to a \PName{level depth}. With standard class +book, e.g., the \PName{level name} could be \PValue{part}, \PValue{chapter}, +\PValue{section}, \PValue{subsection}, \PValue{subsubsection}, +\PValue{paragraph}, or \PValue{subparagraph} and the corresponding +\PName{level depth}s would be -1, 0, 1, 2, 3, 4, and 5. + +Package \Package{scrlayer} tries to determine the \PName{level depth}s on its +own while loading and again while \Macro{begin}\PParameter{document}. But, if +it fails, i.\,e., if completely different section commands are used, it would +be useful, to be able to define the relationship explicitly. For such cases +\Macro{DeclareSectionNumberDepth} gives the class author the opportunity to +define the relationship explicitly.% +\EndIndex{Cmd}{DeclareSectionNumberDepth} + +\section{Declaration of Layers} +\label{sec:scrlayer.layers} + +A layer is a kind of virtual sheet of transparent paper (in opposite to a +physical sheet of paper). One layer is stacked onto another layer and opaque +material on one layer may hide material on the layers below. The stack of all +layers together makes the physical page. Package \Package{scrlayer} +provides two such layer stacks for each page: a background layer stack and a +foreground layer stack. The background layer stack is behind the normal page +contents, the foreground layer stack is above the normal page contents. So the +normal contents is a kind of a separating layer between the background layer +stack and the foreground layer stack. + +A layer has several attributes. The first attribute states, whether or not the +layer is part of the foreground or the background. During page building +background layers will be printed first, followed by the main contents and the +foreground layers. Therefore, in the output the background layers show up +behind the main contents and the foreground layers in front of the main +contents. By default, a layer is both, a background layer \emph{and} a +foreground layer and therefore will be printed twice. + +The horizontal position of the layer is set by the second attribute, the +vertical position by the third. The forth and fifth attributes determine the +horizontal and vertical size of the layer. As you can see, a layer may be +smaller or larger than the paper. + +But having two numerical values of the second and third attribute does not +directly give us the position of the layer on the page. For each dimension we +need two reference points, one on the page and one on the layer. The +numerical value than states the distance between these reference. +Reference points in layouts are also known as alignment and are set by the +sixth attribute. + +The seventh attribute states, whether or not a layer should be +printed onto left or right pages. By default a layer will be printed on both, +left and right pages. Note, that \LaTeX{} names left pages as even pages and +right pages as odd pages and that there are no left or even pages in +single-sided mode. + +The eighth attribute states, whether or not a layer should be printed in +single-side mode or in two-side mode. By default a layer will be printed in +both, single-side mode and two-side mode. Nevertheless, an even page layer will +never be printed in single-side mode and therefore is not really a two-side +mode layer. + +The ninth attribute is, whether or not a layer should be printed onto float +pages or non-float pages. \LaTeX{} produces float pages for float environments +like tables or figures, if they are allowed to be printed on a page without +normal page contents (see option \PValue{p} for \Environment{figure} or +\Environment{table}). So from some point of view a float page is a page, that +may itself flow. Non-float pages are not pages without floats, but pages, that +are not float pages. They may contain floats inside the text, on the top of +the page, or on the bottom of the page. Very large floats may seem to be page +floats, while in reality they are top floats. + +The tenth and last attribute is the contents of the layer. This is simply, +what should be printed, whenever the layer will be printed. + +So we have ten attributes yet. Below in this manual we will describe +additional attributes. However, they are just defined for convenience and can +be expressed by a combination of the ten attributes stated above. We call +these ten attributes the primary attributes. + +\begin{Declaration} + \Macro{DeclareLayer}\OParameter{option list}\Parameter{layer name}\\ + \Macro{DeclareNewLayer}\OParameter{option list}\Parameter{layer name}\\ + \Macro{ProvideLayer}\OParameter{option list}\Parameter{layer name}\\ + \Macro{RedeclareLayer}\OParameter{option list}\Parameter{layer name}\\ + \Macro{ModifyLayer}\OParameter{option list}\Parameter{layer name} +\end{Declaration} +\BeginIndex{Cmd}{DeclareLayer}% +\BeginIndex{Cmd}{DeclareNewLayer}% +\BeginIndex{Cmd}{ProvideLayer}% +\BeginIndex{Cmd}{RedeclareLayer}% +\BeginIndex{Cmd}{ModifyLayer}% +These commands can be used to define a layer. The \PName{layer name} has to be +fully expandable and should expand to letters only. Some additional characters +are tolerated, but are not recommended. + +Command \Macro{DeclareLayer} does not care whether or not a layer with the +given \PName{layer name} already exists. It will under all circumstances +define the layer with the attribute defined by the \PName{option list}. +An +\PName{option} can be either a key or a key followed by an +equal sign followed by a value. Several options may be concatenated to +a \PName{option list} and have to be separated by comma. If you'd like to have +a comma or a white space inside the value of an option, you should put the +value inside curly brackets. See \autoref{tab:scrlayer.layerkeys} for +more information on keys, values, and the corresponding +attributes. + +In contrast to \Macro{DeclareLayer} using \Macro{DeclareNewLayer} results in +an error, if a layer with the same \PName{layer name} already exists. So you +may prevent yourself using the same \PName{layer name} more than once by +mistake. This would be useful, e.\,g., if a class or package also defines +layers internally. + +If you use \Macro{ProvideLayer} instead of \Macro{DeclareLayer}, the +declaration will be ignored in case a layer with the same layer name already +exists. It could be paraphrased by: \emph{declare the layer only, if it has not + been declared already.} + +If an existing layer should be redefined, \Macro{RedeclareLayer} or +\Macro{ModifyLayer} can be used. \Macro{RedeclareLayer} would simply define +the layer as if it would be defined newly. In difference to this, +\Macro{ModifyLayer} would change only those attributes, that are represented +by an option of the \PName{option list}. All other attributes will stay +unchanged and will not be reset to the initial default value. Using either +\Macro{RedeclareLayer} or \Macro{ModifyLayer} will result in an error, in case +there has not been a layer with \PName{layer name} defined before. + +\begin{desclist} + \desccaption{% + Options for the definition of page layers with description of the + corresponding layer attribute\label{tab:scrlayer.layerkeys}% + }{% + Options for the definition of layers (\emph{Continuation})% + }% + \nentry{\KOption{align}{\PName{alignment characters}}}{% + The \PName{alignment characters} define the desired alignment of the + layer. Each \PName{alignment character} influences either, how argument + \PName{length} of option \Option{hoffset} or \Option{voffset} will be + used. Several \PName{alignment characters} may be used together (without + comma or space) and will be interpreted in the order of occurrence. No + macros should be used here! Valid \PName{alignment character}s are: + \begin{description} + \item[\PValue{b} --] align the layer at its bottom edge; the + value of + \Option{voffset} is interpreted as the distance from the top edge of the + paper to the bottom edge of the layer. + \item[\PValue{c} --] align the layer at its centre; the values of + \Option{voffset} and \Option{hoffset} are interpreted as the distance + from the top left corner of the paper to the centre of the layer. + \item[\PValue{l} --] align the layer at its left edge: the value of + \Option{hoffset} is interpreted as the distance from the left edge of + the paper to the left edge of the layer. + \item[\PValue{r} --] align the layer at its right edge; the value of + \Option{hoffset} is interpreted as the distance from the left edge of + the paper to the right edge of the layer. + \item[\PValue{t} --] align the layer at its top edge; the value of + \Option{voffset} is interpreted as the distance from the top edge of the + paper to the top edge of the layer. + \end{description}% + }% + \nentry{\KOption{area}{%^^A + \Parameter{hoffset}\Parameter{voffset}%^^A + \Parameter{width}\Parameter{height}}}{% + The composed option results in \OptionValue{hoffset}{\PName{hoffset}}, + \OptionValue{voffset}{\PName{voffset}}, + \OptionValue{width}{\PName{width}}, \OptionValue{height}{\PName{height}}.% + }% + \entry{\Option{background}}{% + Print the layer only in the background, but not in the foreground. This + makes a background-only layer in opposite to the default of layers which + are both, background and foreground layers and therefore would be printed + twice. The option does not expect any value. By the default the attribute + is not set.% + }% + \entry{\Option{bottommargin}}{% + The composed option sets \Option{hoffset}, \Option{voffset}, + \Option{width}, \Option{height}, and \Option{align} to horizontally span + the paper from the left edge to the right and vertically span the area + below the footer down to the bottom edge of the paper.% + }% + \nentry{\KOption{clone}{\PName{layer name}}}{% + The composed option sets all primary attributes of the layer to the same + values as the primary attributes of the layer with the given \PName{layer + name}. Note, that \PName{layer name} has to be fully expandable and + should expand to letters only. Some additional characters are tolerated, + but are not recommended!% + }% + \nentry{\KOption{contents}{\PName{code}}}{% + The \PName{code} will be expanded whenever the layer is printed. So the + \PName{code} is what you will see. Code validity is not checked. So errors + in \PName{code} may result in several failures on each page, that prints + the layer.% + }% + \entry{\Option{evenpage}}{% + Print the layer on even pages only, but not on odd pages. The option does + not expect any value. By the default the option is not set and therefore + layers would be printed on odd pages and on even pages. Note, that this + attribute subsumes \Option{twoside}.% + }% + \entry{\Option{floatpage}}{% + Print the layer on float pages only, but not on other pages. The option + does not expect any value. By the default the attribute is not set and + therefore layers would be printed on float pages and on non-float pages.% + }% + \entry{\Option{foot}}{% + The composed option sets \Option{hoffset}, \Option{voffset}, + \Option{width}, \Option{height}, and \Option{align} to horizontally span + the text area and vertically span the page footer defined by the new + \LaTeX{} length \Length{footheight}.% + }% + \entry{\Option{footskip}}{% + The composed option sets \Option{hoffset}, \Option{voffset}, + \Option{width}, \Option{height}, and \Option{align} to horizontally span + the text area and vertically span the distance between the text area and + the page footer (note, that this is not the same like \Length{footskip}).% + }% + \entry{\Option{foreground}}{% + Print the layer only in the foreground, but not in the background. This + makes a foreground-only layer in opposite to the default of layers which + are both, background and foreground layers and therefore would be printed + twice. The option does not expect any value. By the default the attribute + is not set.% + }% + \entry{\Option{head}}{% + The composed option sets \Option{hoffset}, \Option{voffset}, + \Option{width}, \Option{height}, and \Option{align} to horizontally span + the text area and vertically span the page head defined by usual \LaTeX{} + length \Length{headheight}.% + }% + \entry{\Option{headsep}}{% + The composed option sets \Option{hoffset}, \Option{voffset}, + \Option{width}, \Option{height}, and \Option{align} to horizontally span + the text area and vertically span the distance between the page head and + the text area.% + }% + \nentry{\KOption{height}{\PName{length}}}{% + Sets the height of the layer. Note, that \PName{length} can either be a + \LaTeX{} length, declared using \Macro{newlength}, or a \TeX{} length, + declared using \Macro{newdimen} or \Macro{newskip}, a length value like + 10\,pt, or a dimensional expression using +, -, /, *, (, and ). For more + information about valid dimensional expressions see + \cite[section~3.5]{manual:eTeX}.% + }% + \nentry{\KOption{hoffset}{\PName{length}}}{% + Sets the offset of the layer (depending on \Option{align} either left edge + of the layer, middle of the layer or right edge of the layer) from the + left edge of the paper. See \Option{height} for more information about + valid content of \PName{length}.% + }% + \entry{\Option{innermargin}}{% + The composed option sets \Option{hoffset}, \Option{voffset}, + \Option{width}, \Option{height}, and \Option{align} to horizontally span + the distance between the right edge of text area and the right edge of the + paper on even pages or the distance between the left edge of the paper and + the left edge of the text area on odd pages and vertically span the whole + paper from the top edge to the bottom edge.% + }% + \entry{\Option{leftmargin}}{% + The composed option sets \Option{hoffset}, \Option{voffset}, + \Option{width}, \Option{height}, and \Option{align} to horizontally span + the distance between the left edge of the paper and the left edge of the + text area and vertically span the whole paper from the top edge to the + bottom edge.% + }% + \entry{\Option{nonfloatpage}}{% + Restricts the layer to pages, that are not float pages. The option does + not expect any value. By the default the attribute is not set and + therefore layers would be printed on float pages and on non-float pages.% + }% + \entry{\Option{oddpage}}{% + Print the layer on odd pages only, but not on even pages. The option does + not expect any value. By the default the option is not set and therefore + layers would be printed on odd pages and on even pages.% + }% + \entry{\Option{oneside}}{% + Print the layer in single-side mode only, but not in two-side mode. The + option does not expect any value. By the default the attribute is not set + and therefore layers would be printed in single-side and two-side mode.% + }% + \entry{\Option{outermargin}}{% + The composed option sets \Option{hoffset}, \Option{voffset}, + \Option{width}, \Option{height}, and \Option{align} to horizontally span + the distance between the left edge of the paper and the left edge of the + text area on even pages or the distance between the right edge of the text + area and the right edge of the paper on odd pages and vertically span the + whole paper from the top edge to the bottom edge.% + }% + \entry{\Option{page}}{% + The composed option sets \Option{hoffset}, \Option{voffset}, + \Option{width}, \Option{height}, and \Option{align} to horizontally and + vertically span the whole paper from the left edge to the right edge and + the top edge to the bottom edge.% + }% + \entry{\Option{rightmargin}}{% + The composed option sets \Option{hoffset}, \Option{voffset}, + \Option{width}, \Option{height}, and \Option{align} to horizontally span + the distance between the right edge of text area and the right edge of the + paper and vertically span the whole paper from the top edge to the bottom + edge.% + }% + \entry{\Option{textarea}}{% + The composed option sets \Option{hoffset}, \Option{voffset}, + \Option{width}, \Option{height}, and \Option{align} to horizontally and + vertically span the whole text area from the left edge to the right edge + and the top edge to the bottom edge.% + }% + \entry{\Option{topmargin}}{% + The composed option sets \Option{hoffset}, \Option{voffset}, + \Option{width}, \Option{height}, and \Option{align} to horizontally span + the whole page from the left edge to the right edge and vertically span + the distance between the top edge of the paper and the page head.% + }% + \entry{\Option{twoside}}{% + Print the layer in two-side mode only, but not in single-side mode. The + option does not expect any value. By the default the attribute is not set + and therefore layers would be printed in single-side and two-side mode.% + }% + \nentry{\KOption{voffset}{\PName{length}}}{% + Sets the offset of the layer (depending on \Option{align} either top edge + of the layer, middle of the layer or bottom edge of the layer) from the + top edge of the paper. See \Option{height} for more information about + valid content of \PName{length}.% + }% + \nentry{\KOption{width}{\PName{length}}}{% + Sets the width of the layer. See \Option{height} for more information + about valid content of \PName{length}.% + }% +\end{desclist} +% +\EndIndex{Cmd}{ModifyLayer}% +\EndIndex{Cmd}{RedeclareLayer}% +\EndIndex{Cmd}{ProvideLayer}% +\EndIndex{Cmd}{DeclareNewLayer}% +\EndIndex{Cmd}{DeclareLayer}% + +\begin{Declaration} + \Macro{layerxoffset}\\ + \Macro{layeryoffset}\\ + \Macro{layerwidth}\\ + \Macro{layerheight}% +\end{Declaration} +\BeginIndex{Cmd}{layerxoffset}% +\BeginIndex{Cmd}{layeryoffset}% +\BeginIndex{Cmd}{layerwidth}% +\BeginIndex{Cmd}{layerheight}% +These commands are valid during output of the layer's contents only. So they +can only be used inside the \PName{code} of option \Option{contents} of the +previously described commands. In this case they give the effective position +and dimension of the layer, that will be used for the output. However, the +effective dimension of the layer's contents may differ, i.\,e., if the +contents are oversized or do not fill the layer completely. Redefinition of +the commands to change the stored values is strictly forbidden and would +result in unpredictable issues.% +\EndIndex{Cmd}{layerheight}% +\EndIndex{Cmd}{layerwidth}% +\EndIndex{Cmd}{layeryoffset}% +\EndIndex{Cmd}{layerxoffset}% + +\begin{Declaration} + \Macro{IfLayerExists}% + \Parameter{string}\Parameter{then-code}\Parameter{else-code} +\end{Declaration} +\BeginIndex{Cmd}{IfLayerExists}% +This command may be used to execute code depending on whether or not a layer +has been defined already. If the layer exists \PName{then-code} will be +executed, otherwise \PName{else-code}. Note, the command cannot really +test whether a layer exists. It uses a heuristic, that will never be false +negative, but may be false positive. Nevertheless, if it is false positive +something went wrong, either an incompatible package has been used or the user +made something he should not do.% +\EndIndex{Cmd}{IfLayerExists} + +\begin{Declaration} + \Macro{DestroyLayer}\Parameter{layer name} +\end{Declaration} +\BeginIndex{Cmd}{DestroyLayer}% +This command sets all macros corresponding with the layer with given +\PName{layer name} to \Macro{relax}, if a layer with that name exists. As a result the layer cannot be used any longer. It does not matter, if the layer +is still part of the layer list of a page style, because such destroyed layers +will be ignored. Nevertheless, destroyed layers may be defined again using +\Macro{DeclareNewLayer} or \Macro{ProvideLayer}, but cannot be changed using +\Macro{RedeclareLayer} or \Macro{ModifyLayer} any longer. + +The command is intended to be used inside +\Macro{scrlayerOnAutoRemoveInterface} to remove layers, which have been +defined using removable macros of an interface, whenever the interface would +be removed.% +\EndIndex{Cmd}{DestroyLayer} + +\begin{Declaration} + \Macro{layercontentsmeasure}% +\end{Declaration} +\BeginIndex{Cmd}{layercontentsmeasure}% +The command \Macro{layercontentsmeasure} is internally used, if option +\Option{draft} has been set, so visualise the layers. The visualisation will +be done with a centimetre ruler at the top and left edge of the layer and an +inch ruler at the bottom and right edge of the layer. The rulers will be drawn +behind the content of the layer. If you would, you could also use it as +exclusive content of a layer.% +\EndIndex{Cmd}{layercontentsmeasure} + + +\section{Declaration and Management of Page Styles} +\label{sec:scrlayer.pagestyles} + +Until now we know layers, but we do not know how to use them. The +perhaps astonishing answer is: with page styles. In \LaTeX{}, page +styles usually define heads and foots of odd and even pages. + +The head and foot of odd pages will be printed on pages with odd +page number in two-side mode or on all pages in single-side mode. This is +something like the layer attributes \Option{oddpage} and \Option{evenpage}. + +The page head will be printed before the main contents of a page. The page +footer will be printed after the main contents of a page. So this is something +like the layer attributes \Option{background} and \Option{foreground}. + +So it's obvious to declare page styles to be a list of layers. But instead of +having only four attributes \Option{oddpage}, \Option{evenpage}, +\Option{background}, and \Option{foreground} all the attributes of layers +shown in \autoref{sec:scrlayer.layers} may be used. + +The outcome of this is that layer page styles are one type of page styles +\Package{scrlayer} provides. A layer page style consists of layers and +several \emph{hooks}. For description of layers see +\autoref{sec:scrlayer.layers}. The \emph{hooks} are points in the expansion +or execution of page styles and you may add additional code that will be +expanded there. Advanced users know this already from commands like +\Macro{AtBeginDocument} (see \cite{latex:usrguide}) or +\Macro{BeforeClosingMainAux} (see +\autopageref{desc:scrlfile.cmd.BeforeClosingMainAux}). + +Alias page styles are another type of page styles, provided by +\Package{scrlayer}. An alias page style simply consists of another page +style. In other words, the name of an alias page style is an alias name of +another page style, the aliased or original page style. Because of this, the +manipulation of an alias page style results in the manipulation of the +original page style. If the original page style is an alias page style too, +the manipulation will result in the manipulation of the aliased page style of +that original page style and so on until a real page style will be +manipulated. You may not only alias layer page styles made with +\Package{scrlayer}, but all kind of page styles. + +\begin{Declaration} + \Macro{currentpagestyle} +\end{Declaration} +\BeginIndex{Cmd}{currentpagestyle}% +Package scrlayer patches \Macro{pagestyle} to set \Macro{currentpagestyle} to +the currently active page style. Note, \Macro{thispagestyle} does not +change \Macro{currentpagestyle}. But if you use \Macro{thispagestyle} the +result of \Macro{currentpagestyle} may be changed while execution of the +\LaTeX{} output routine. This may be relevant only, if +\Macro{currentpagestyle} has been used protected until execution of the output +routine. + +Note, the layer page styles described later in this section, will not need +the patch of \Macro{pagestyle} to set \Macro{currentpagestyle}. The patch has +been made for usage with other page styles. Note also, +\Macro{currentpagestyle} is empty before the first \Macro{pagestyle} after +loading \Package{scrlayer}. So if you define an end user page style interface, +it may be useful to use an implicit \Macro{pagestyle} to set the current page +style to a default page style.% +\EndIndex{Cmd}{currentpagestyle} + +\begin{Declaration} + \Macro{BeforeSelectAnyPageStyle}\Parameter{code}\\ + \Macro{AfterSelectAnyPageStyle}\Parameter{code}%^^A +\end{Declaration} +\BeginIndex{Cmd}{BeforeSelectAnyPageStyle}% +\BeginIndex{Cmd}{AfterSelectAnyPageStyle}% +The command \Macro{BeforeSelectAnyPageStyle} adds \PName{code} to the hook +that will be executed inside of \Macro{pagestyle} just before the page style +will be selected. You may use \texttt{\#1} as a placeholder for the argument +of \Macro{pagestyle}. + +The command \Macro{AfterSelectAnyPageStyle} is similar, but the \PName{code} +will be executed just after the page style has been selected and after +\Macro{currentpagestyle} has been set to the name of real page style. + +Note\textnote{Attention!}, \PName{code} of both commands will be executed +only, if a page style will be selected using \Macro{pagestyle}, but not, +e.\,g., if a page style will be selected using \Macro{thispagestyle}. Note +also, you cannot remove \PName{code} from the hook after adding it. But +the \PName{code} will be added locally, so you may use a group to limit the +scope of \PName{code}.%^^A +\EndIndex{Cmd}{AfterSelectAnyPageStyle} +\EndIndex{Cmd}{BeforeSelectAnyPageStyle} + +\begin{Declaration} + \Macro{DeclarePageStyleAlias}% + \Parameter{alias page style name}\Parameter{original page style name}\\ + \Macro{DeclareNewPageStyleAlias}% + \Parameter{alias page style name}\Parameter{original page style name}\\ + \Macro{ProvidePageStyleAlias}% + \Parameter{alias page style name}\Parameter{original page style name}\\ + \Macro{RedeclarePageStyleAlias}% + \Parameter{alias page style name}\Parameter{original page style name} +\end{Declaration} +\BeginIndex{Cmd}{DeclarePageStyleAlias}% +\BeginIndex{Cmd}{DeclareNewPageStyleAlias}% +\BeginIndex{Cmd}{ProvidePageStyleAlias}% +\BeginIndex{Cmd}{RedeclarePageStyleAlias}% +These commands may be used to define a page style with name \PName{alias page + style name} that is simply an alias for an already existing page style with +name \PName{original page style name}. If there's already a page style +\PName{alias page style name} it will be destroyed before creating the alias +using \Macro{DeclarePageStyleAlias} or \Macro{RedeclarePageStyleAlias}. + +\Macro{DeclareNewPageStyleAlias} will throw an error message, if a page style +\PName{alias page style name} has already been defined before. It does not +matter if the already defined page style is a layer page style, an alias page +style or another page style. + +\Macro{ProvidePageStyleAlias} will define the alias only, if a page style +\PName{alias page style name} has not been defined before. If a page style +\PName{alias page style name} already exists nothing will be done. + +\Macro{RedeclarePageStyleAlias} expects an already existing page style +\PName{alias page style name}. It will destroy that page style and afterwards +define the alias. If the page style \PName{alias page style name} does not +exist, then you will get an error.% +\EndIndex{Cmd}{RedeclarePageStyleAlias}% +\EndIndex{Cmd}{ProvidePageStyleAlias}% +\EndIndex{Cmd}{DeclareNewPageStyleAlias}% +\EndIndex{Cmd}{DeclarePageStyleAlias} + +\begin{Declaration} + \Macro{DestroyPageStyleAlias}\Parameter{page style name}% +\end{Declaration} +\BeginIndex{Cmd}{DestroyPageStyleAlias}% +This command makes the page style with given \PName{page style name} +\LaTeX-undefined, if it is an alias for another page style. After this, the +page style may be defined newly with, e.g., \Macro{DeclareNewAliasPageStyle} +or \Macro{ProvideAliasPageStyle}. + +The command is intended to be used inside of +\Macro{scrlayerOnAutoRemoveInterface} to remove page styles that have been +declared by an interface and uses removable macros of that interface.% +\EndIndex{Cmd}{DestroyPageStyleAlias} + +\begin{Declaration} + \Macro{GetRealPageStyle}\Parameter{page style name}% +\end{Declaration} +\BeginIndex{Cmd}{GetRealPageStyle}% +The command will result in the (recursive) real page name of the page style, +if the page style with given name \PName{page style name} is an alias of +another page style. In all other cases, even if there's no alias and no page +style named \PName{page style name}, the result would be simply \PName{page + style name}. The command is fully expandable and may be used, e.g., in the +second argument of \Macro{edef}.% +\EndIndex{Cmd}{GetRealPageStyle} + +\begin{Declaration} + \Macro{DeclarePageStyleByLayers}% + \OParameter{option list}\Parameter{page style name}\Parameter{layer list}\\ + \Macro{DeclareNewPageStyleByLayers}% + \OParameter{option list}\Parameter{page style name}\Parameter{layer list}\\ + \Macro{ProvidePageStyleByLayers}% + \OParameter{option list}\Parameter{page style name}\Parameter{layer list}\\ + \Macro{RedeclarePageStyleByLayers}%^ + \OParameter{option list}\Parameter{page style name}\Parameter{layer list}% +\end{Declaration} +\BeginIndex{Cmd}{DeclarePageStyleByLayers}% +\BeginIndex{Cmd}{DeclareNewPageStyleByLayers}% +\BeginIndex{Cmd}{ProvidePageStyleByLayers}% +\BeginIndex{Cmd}{RedeclarePageStyleByLayers}% +These commands declare a page style with \PName{page style name}. The page +style will consist of the layers given in \PName{layer list}, a comma +separated list of layer names. Note, the \PName{page style name} and the +layer names at the \PName{layer list} must be fully expandable and should +expand to letters. Several other characters are tolerated, but, +nevertheless, are not recommended. + +The \PName{option list} is a comma separated list of +\OptionValue{\PName{key}}{\PName{value}} options. These options may be used to +set additional features. Currently they are used to set the code that should +be expanded or executed at several \emph{hooks}. See the introduction to this +section for more general information about \emph{hooks}. See +\autoref{tab:scrlayer.pagestyle.hooks} for more information about the hooks +and their purpose. + +\begin{desclist} + \desccaption{% + The \emph{hook} options for page styles (in order of + execution)\label{tab:scrlayer.pagestyle.hooks}% + }{% + The \emph{hook} options for page styles (\emph{Continuation})% + }% + \entry{\KOption{onselect}\PName{code}}{% + Execute \PName{code} whenever the page style will be selected using, e.g., + \Macro{pagestyle}. Note\textnote{Attention!}, \Macro{thispagestyle} + does not select the page style immediately, but asynchronously inside + \LaTeX's output routine.% + }% + \entry{\KOption{oninit}\PName{code}}{% + Execute \PName{code} whenever the output of the layers of a page style + will be initialised. Note\textnote{Attention!}, this will be done + twice for every page: once for background layers and once for foreground + layers.% + }% + \entry{\KOption{ononeside}\PName{code}}{% + Execute \PName{code} whenever the output of the layers of a page style in + single-side mode will initialised. Note\textnote{Attention!}, this + will be done twice for every page: once for background layers and once for + foreground layers.% + }% + \entry{\KOption{ontwoside}\PName{code}}{% + Execute \PName{code} whenever the output of the layers of a page style in + two-side mode will initialised. Note\textnote{Attention!}, this will + be done twice for every page: once for background layers and once for + foreground layers.% + }% + \entry{\KOption{onoddpage}\PName{code}}{% + Execute \PName{code} whenever the output of the layers of a page style on + an odd page will initialised. Note\textnote{Attention!}, this will be + done twice for every page: once for background layers and once for + foreground layers. Note\textnote{Attention!} also, in single-side + mode all pages are odd pages, not only pages with odd page numbers.% + }% + \entry{\KOption{onevenpage}\PName{code}}{% + Execute \PName{code} whenever the output of the layers of a page style on + an even page will initialised. Note\textnote{Attention!}, this will + be done twice for every page: once for background layers and once for + foreground layers. Note\textnote{Attention!} also, there are not even + pages in single-side mode, but all pages are odd pages, not only pages + with odd page numbers.% + }% + \entry{\KOption{onfloatpage}\PName{code}}{% + Execute \PName{code} whenever the output of the layers of a page style on + a float page will initialised. Note\textnote{Attention!}, this will + be done twice for every page: once for background layers and once for + foreground layers. Note\textnote{Attention!} also, float pages are + only those pages with p-placed floating objects.% + }% + \entry{\KOption{onnonfloatpage}\PName{code}}{% + Execute \PName{code} whenever the output of the layers of a page style on + a non-float page will initialised. Note\textnote{Attention!}, this + will be done twice for every page: once for background layers and once for + foreground layers. Note\textnote{Attention!} also, non-float pages + are all pages that are not float-pages. Those pages may have t-placed, + h-placed, b-placed, or no floating objects.% + }% + \entry{\KOption{onbackground}\PName{code}}{% + Execute \PName{code} whenever the output of the layers of a page style in + the background of a page will initialised. Note\textnote{Attention!}, + this will be done once for every page.% + }% + \entry{\KOption{onforeground}\PName{code}}{% + Execute \PName{code} whenever the output of the layers of a page style in + the foreground of a page will initialised. Note\textnote{Attention!}, + this will be done once for every page.% + }% +\end{desclist} + +The difference of \Macro{DeclarePageStyleByLayers} and +\Macro{DeclareNewPageStyleByLayers} is that \Macro{DeclareNewPageStyleByLayers} +will result in an error, if a page style with name \PName{page style name} +already exists. Note, declaring a page style, which is an alias of another +page style (see \Macro{DeclareAliasPageStyle} prior in this section), will not +re-declare the page style itself, but it's real page style (see +\Macro{GetRealPageStyle} prior in this section). + +The difference of \Macro{DeclarePageStyleByLayers} and +\Macro{ProvidePageStyleByLayers} is that \Macro{ProvidePageStyleByLayers} +will simply do nothing, if there's already a page style with name \PName{page + style name}. In difference to \Macro{DeclareNewPageStyleByLayers} it will not +raise an error in this case. + +The difference of \Macro{DeclarePageStyleByLayers} and +\Macro{RedeclarePageStyleByLayers} is, that \Macro{RedeclarePageStyleByLayers} +may be used only, if the real page style of \PName{page style name} already +exists. Otherwise an error would occur. + +Please have also a look at the notes to following pseudo page style +\Pagestyle{@everystyle@}.% +\EndIndex{Cmd}{RedeclarePageStyleByLayers}% +\EndIndex{Cmd}{ProvidePageStyleByLayers}% +\EndIndex{Cmd}{DeclareNewPageStyleByLayers}% +\EndIndex{Cmd}{DeclarePageStyleByLayers}% + +\begin{Declaration} + \Pagestyle{@everystyle@}\\ + \Pagestyle{empty} +\end{Declaration} +\BeginIndex{Pagestyle}{@everysel@}% +\BeginIndex{Pagestyle}{empty}% +There are two somehow special, default layer page styles. The first one is +\Pagestyle{@everystyle@}. This page style should not be used normally, but the +layers of this page style will be used by all the other layer page styles. So +adding a layer to this page style would be similar to adding this layer to all +other layer page styles even the empty one. There's one difference: Layer +referencing commands of the page style interface like +\Macro{ForEachLayerOfPageStyle}, \Macro{AddLayerToPageStyleBeforeLayer}, or +\Macro{AddLayerToPageStyleAfterLayer} ignore the layers of +\Pagestyle{@everystyle@} if they are used for another layer page style. + +The other somehow special page style is \Pagestyle{empty}. Normally page style +\Pagestyle{empty} is defined by the \LaTeX{} kernel, to be a page style +without page head or page foot. Package \Package{scrlayer} re-defines it to be +a layer page style without any layer. Nevertheless, you may use it like every +other layer page style too. The main advantage above the \LaTeX{} kernel's +empty page style is that it also executes the layers of special layer page +style \Pagestyle{@everysel@}.% +\EndIndex{Pagestyle}{empty}% +\EndIndex{Pagestyle}{@everysel@}% + +\begin{Declaration} + \KOption{onpsselect}\PValue{code}\\ + \KOption{onpsinit}\PValue{code}\\ + \KOption{onpsoneside}\PValue{code}\\ + \KOption{onpstwoside}\PValue{code}\\ + \KOption{onpsoddpage}\PValue{code}\\ + \KOption{onpsevenpage}\PValue{code}\\ + \KOption{onpsfloatpage}\PValue{code}\\ + \KOption{onpsnonfloatpage}\PValue{code}\\ + \KOption{onpsbackground}\PValue{code}\\ + \KOption{onpsforeground}\PValue{code} +\end{Declaration} +\BeginIndex{Option}{onpsselect~=\PName{code}}% +\BeginIndex{Option}{onpsinit~=\PName{code}}% +\BeginIndex{Option}{onpsoneside~=\PName{code}}% +\BeginIndex{Option}{onpstwoside~=\PName{code}}% +\BeginIndex{Option}{onpsoddpage~=\PName{code}}% +\BeginIndex{Option}{onpsevenpage~=\PName{code}}% +\BeginIndex{Option}{onpsfloatpage~=\PName{code}}% +\BeginIndex{Option}{onpsnonfloatpage~=\PName{code}}% +\BeginIndex{Option}{onpsbackground~=\PName{code}}% +\BeginIndex{Option}{onpsforeground~=\PName{code}}% +There's also a \KOMAScript{} option for each of those \texttt{hooks}. The +names of the \KOMAScript{} options are similar to the names of the page style +options, but with ``\texttt{ps}'' inserted behind ``\texttt{on}''. The value of +the \KOMAScript{} options are the initial defaults of the corresponding +\texttt{hooks}. This default will be extended by every usage of the page style +options at the \PName{option list}. You may remove the default, using +\Macro{ModifyLayerPageStyleOptions} described later in this section.% +\EndIndex{Option}{onpsforeground~=\PName{code}}% +\EndIndex{Option}{onpsbackground~=\PName{code}}% +\EndIndex{Option}{onpsnonfloatpage~=\PName{code}}% +\EndIndex{Option}{onpsfloatpage~=\PName{code}}% +\EndIndex{Option}{onpsevenpage~=\PName{code}}% +\EndIndex{Option}{onpsoddpage~=\PName{code}}% +\EndIndex{Option}{onpstwoside~=\PName{code}}% +\EndIndex{Option}{onpsoneside~=\PName{code}}% +\EndIndex{Option}{onpsinit~=\PName{code}}% +\EndIndex{Option}{onpsselect~=\PName{code}}% + +\begin{Declaration} + \KOption{deactivatepagestylelayers}\PName{simple switch}\\ + \Macro{ForEachLayerOfPageStyle}\Parameter{page style name}\Parameter{code} +\end{Declaration} +\BeginIndex{Cmd}{ForEachLayerOfPageStyle}% +As long as \KOMAScript{} option \Option{deactivatepagestylelayers} has not been +activated command \Macro{ForEachLayerOfPageStyle} can be used to process +\PName{code} for every layer that is a member of the layers list of a page +style with given \PName{page style name}. Inside of \PName{code} the place +holder \PValue{\#1} may be used for the name of the current layer. +\begin{Example} + If you want to output the names of all layers of page style + \PValue{scrheadings}, you may us: +\begin{lstcode} + \let\commaatlist\empty + \ForEachLayerOfPageStyle{scrheadings}{% + \commaatlist#1\gdef\commaatlist{, }} +\end{lstcode} +\end{Example} +Usage of \Macro{gdef} instead of \Macro{def} is necessary in the example +above, because \Macro{ForEachLayerOfPageStyle} executes the \PName{code} +inside of a group to minimise side effects. Here \Macro{gdef} redefines +\Macro{commaatlist} globally, so it would be still valid at the execution of +\PName{code} for the next layer. + +Several other commands of \Package{scrlayer} also +use \Macro{ForEachLayerOfPageStyle} internally. So these also do not process +any layer if \KOMAScript{} option \Option{deactivatepagestylelayers} would be +activated. So you may use this options, e.g., to hide all layers of all layer +page styles.% +\EndIndex{Cmd}{ForEachLayerOfPageStyle}% + +\begin{Declaration} + \Macro{AddLayersToPageStyle}% + \Parameter{page style name}\Parameter{layer list}\\ + \Macro{AddLayersAtBeginOfPageStyle}% + \Parameter{page style name}\Parameter{layer list}\\ + \Macro{AddLayersAtEndOfPageStyle}% + \Parameter{page style name}\Parameter{layer list}\\ + \Macro{RemoveLayersFromPageStyle}% + \Parameter{page style name}\Parameter{layer list}% +\end{Declaration} +\BeginIndex{Cmd}{AddLayersToPageStyle}% +\BeginIndex{Cmd}{AddLayersAtBeginOfPageStyle}% +\BeginIndex{Cmd}{AddLayersAtEndOfPageStyle}% +\BeginIndex{Cmd}{RemoveLayersFromPageStyle}% +You can use these commands to add layers to a layer page style or to remove +layers from a layer page style. The page style will be referenced by it +\PName{page style name}. The layers are given by a comma separated +\PName{layer list}. + +The commands \Macro{AddLayersToPageStyle} and \Macro{AddLayersAtEndOfPageStyle} +add all layers of the comma separated list of layers \PName{layer list} at +the end of the layer list of layer page style \PName{page style + name}. Logically the added layers would be above or in front of the old +layers of the page style. Nevertheless, new background layers would be behind +the text layer and therefore behind all foreground layers. + +Command \Macro{AddLayersAtBeginOfPageStyle} adds the new layers at the begin +of the layer list of the page style. Note, the layers +will be added in the order of the \PName{layer list}. The first layer at +\PName{layer list} will be added first, the second layer will be added second +and so on. So with \Macro{AddLayersAtBeginOfPageStyle} the last layer at +\PName{layer list} will become the new first layer of the layer list of layer +page style \PName{page style name}. + +Command \Macro{RemoveLayersFromPageStyle} may be used to remove layers from +the layer list of layer page style \PName{page style name} instead of adding +them. Note, layers, which are part of \PName{layer list}, but not part of +the page style's layer list, will be ignored. But adding or removing layers +from a page style, which is not a layer page style or an alias of a layer page +style, would be a mistake and result in an error message.% +\EndIndex{Cmd}{RemoveLayersFromPageStyle}% +\EndIndex{Cmd}{AddLayersAtEndOfPageStyle}% +\EndIndex{Cmd}{AddLayersAtBeginOfPageStyle}% +\EndIndex{Cmd}{AddLayersToPageStyle} + +\begin{Declaration} + \Macro{AddLayersToPageStyleBeforeLayer}% + \Parameter{page style name}\Parameter{layer list}% + \Parameter{reference layer name}\\ + \Macro{AddLayersToPageStyleAfterLayer}% + \Parameter{page style name}\Parameter{layer list}% + \Parameter{reference layer name} +\end{Declaration} +\BeginIndex{Cmd}{AddLayersToPageStyleBeforeLayer}% +\BeginIndex{Cmd}{AddLayersToPageStyleAfterLayer}% +These commands are similar to the commands described before, but they do not +add the layers at the begin or end of the layer list of a layer page style, +but just before or after a reference layer at the layer list of a layer page +style. Note, in this case the order of the \PName{layer list} will be +same in the layer list of \PName{page style name} after adding. If the +reference layer named \PName{reference layer name} is not part of the layer +list of the layer page style, nothing happens.% +\EndIndex{Cmd}{AddLayersToPageStyleAfterLayer}% +\EndIndex{Cmd}{AddLayersToPageStyleBeforeLayer} + +\begin{Declaration} + \Macro{UnifyLayersAtPageStyle}\Parameter{page style name} +\end{Declaration} +\BeginIndex{Cmd}{UnifyLayersAtPageStyle}% +With the commands described before in this section you may not only add +different layers to a page style, but even add the same layer several times to +a page style. In most cases it does not make sense to have one layer several +times at the layer list of a layer page style. So you may use +\Macro{UnifyLayersAtPageStyle} to remove all dupes of layers from the layer +list of a layer page style. + +Note\textnote{Attention!}, the order of layers may change! So if +you want a special order, you should remove all layers and add the layers in +the order you want instead of using \Macro{UnifyLayersAtPageStyle}.% +\EndIndex{Cmd}{UnifyLayersAtPageStyle} + +\begin{Declaration} + \Macro{ModifyLayerPageStyleOptions}% + \Parameter{page style name}\Parameter{option list}\\ + \Macro{AddToLayerPageStyleOptions}% + \Parameter{page style name}\Parameter{option list} +\end{Declaration} +\BeginIndex{Cmd}{ModifyLayerPageStyleOptions}% +\BeginIndex{Cmd}{AddToLayerPageStyleOptions}% +Command \Macro{ModifyLayerPageStyleOptions} may be used to modify the page +style options of a layer page style. Only options at the comma separated +\PName{option list} will be set to the new values given in \PName{option list} +if the new value is not empty. Options, which are not at \PName{option list}, +will stay unchanged. If you want to set an option to \emph{do nothing} you may +use value \Macro{relax}. Note, setting an option to a new value using +\Macro{ModifyLayerPageStyleOptions} will remove the previous value including +the global default value. + +\Macro{AddToLayerPageStyleOptions} differs from +\Macro{ModifyLayerPageStyleOptions} in that point. It will not overwrite the +previous values, but adds\,---\,or more precisely: concatenates\,---\, the new +values to the previous values of the options at \PName{option list}.% +\EndIndex{Cmd}{AddToLayerPageStyleOptions}% +\EndIndex{Cmd}{ModifyLayerPageStyleOptions}% + +\begin{Declaration} + \Macro{IfLayerPageStyleExists}% + \Parameter{page style name}\Parameter{then code}\Parameter{else code}\\ + \Macro{IfRealLayerPageStyleExists}%^ + \Parameter{page style name}\Parameter{then code}\Parameter{else code}% +\end{Declaration} +\BeginIndex{Cmd}{IfLayerPageStyleExists}% +\BeginIndex{Cmd}{IfRealLayerPageStyleExists}% +Command \Macro{IfLayerPageStyleExists} tests, whether or not the real page +style of \PName{page style name} is a layer page style. If the test is true, +\PName{then code} will be executed. If \PName{page style name} is neither a +layer page style, nor an alias of a layer page style, nor an alias of an alias +of \dots\ a layer page style, \PName{else code} will be executed. Internally +this command is often used to throw an error message if you use one of the +layer page style commands with an \PName{page style name} that does not +correspond with a layer page style. + +Command \Macro{IfRealLayerPageStyleExists} is similar, but \PName{then code} +will only be executed, if \PName{page style name} itself is the name of a +layer page style. So \PName{else code} will even be executed, if \PName{page + style name} is an alias name of a layer page style or the alias name of an +alias name of \dots\ a layer page style.% +\EndIndex{Cmd}{IfRealLayerPageStyleExists}% +\EndIndex{Cmd}{IfLayerPageStyleExists}% + +\begin{Declaration} + \Macro{IfLayerAtPageStyle}% + \Parameter{page style name}\Parameter{layer name}% + \Parameter{then code}\Parameter{else code}\\ + \Macro{IfSomeLayerAtPageStyle}% + \Parameter{page style name}\Parameter{layer list}%^ + \Parameter{then code}\Parameter{else code}\\ + \Macro{IfLayerAtPageStyle}% + \Parameter{page style name}\Parameter{layer list}% + \Parameter{then code}\Parameter{else code}% +\end{Declaration} +\BeginIndex{Cmd}{IfLayerAtPageStyle}% +\BeginIndex{Cmd}{IfSomeLayersAtPageStyle}% +\BeginIndex{Cmd}{IfLayersAtPageStyle}% +Command \Macro{IfLayerAtPageStyle} may be used to test, whether or not a layer +named \PName{layer name} is a member of the layer list of a given page +style. If the test is true, the \PName{then code} will be executed. If the +layer is not a member of the layer list of \PName{page style name}, the +\PName{else code} will be executed. + +Commands \Macro{IfSomeLayerAtPageStyle} and \Macro{IfLayersAtPageStyle} do not +only test one layer but several layers at a given, comma separated +\PName{layer list}. \Macro{IfSomeLayerAtPageStyle} will execute the +\PName{then code} if \emph{at least one} of the layers at \PName{layer list} +is a member of the layer list of \PName{page style name}. In difference +\Macro{IfLayersAtPageStyle} executes the \PName{then code} only, if \emph{all} +of the layers at \PName{layer list} are members of the layer list of +\PName{page style name}.% +\EndIndex{Cmd}{IfLayersAtPageStyle}% +\EndIndex{Cmd}{IfSomeLayersAtPageStyle}% +\EndIndex{Cmd}{IfLayerAtPageStyle} + +\begin{Declaration} + \Macro{DestroyRealLayerPageStyle}\Parameter{page style name} +\end{Declaration} +\BeginIndex{Cmd}{DestroyRealLayerPageStyle}% +Command \Macro{DestroyRealLayerPageStyle} makes the page style named +\PName{page style name} undefined, if and only if it is a layer page +style. Nothing will be happen if it is an alias name of a layer page style, if +it is another page style, or if it is not a page style. + +If \PName{page style name} is the name of the current page style the current +page style will become a kind of empty page style. If the special page +style\,---\,this may be set using \Macro{thispagestyle}\,---\,is \PName{page + style name}, this will be simply reset. So the previous +\Macro{thispagestyle} will become invalid. + +Note, the layers of the page style will not be destroyed +automatically. If you want to destroy the layers too, you may use +\begin{lstcode} + \ForEachLayerOfPageStyle{...}{\DestroyLayer{#1}} +\end{lstcode} +\emph{before} destroying the layer page style. + +The command is intended to be used inside the auto-remove code of an interface +See \autoref{sec:scrlayer.enduserinterfaces} below for more information about +auto-remove code.% +\EndIndex{Cmd}{DestroyRealLayerPageStyle} + +\LoadCommon{20} % \section{Height of Page Head and Foot} + +\LoadCommon{21} % \section{Manipulation of Defined Page Styles} + +\section{End User Interfaces} +\label{sec:scrlayer.enduserinterfaces} + +Package \Package{scrlayer} provides an interface to define and manage +(concurrent) end user interfaces. Maybe future releases of \KOMAScript{} will +provide parts of this by package \Package{scrbase} and remove those commands +from \Package{scrlayer}. But currently this part if \Package{scrlayer} is very +experimental, so package \Package{scrlayer} provides its own interface +definition commands. Currently you should not depend on correct working of +auto-removing a concurrent end user interface. Instead you should avoid using +concurrent end user interfaces. + +This section only describes the interface commands for defining end user +interfaces. This is not interesting for end users, but only for authors of end +user interfaces. End users will find information about the end user interfaces +in the sections about the particular end user interface, e.g., +\autoref{cha:scrlayer-scrpage}, \autoref{cha:scrlayer-scrpage-experts}, and +\autoref{cha:scrlayer-notecolumn}. + +\begin{Declaration} + \Macro{scrlayerInitInterface}\OParameter{interface name} +\end{Declaration} +\BeginIndex{Cmd}{scrlayerInitInterface}% +Command \Macro{scrlayerInitInterface} +registers a new interface. The \PName{interface name} must be unique. If you +try to initialise an already initialised interface an error will occur. This +command is obligatory and mandatory for interfaces. It should be the first +interface command and therefore has been described first. If the optional +argument is omitted, \PValue{\Macro{@currname}.\Macro{@currext}} will be +used instead. For classes and packages this will be the file name of the class +or package while loading the class or package. But you may use any sequence of +characters with category letter or other.% +\EndIndex{Cmd}{scrlayerInitInterface} + +\begin{Declaration} + \KOption{forceoverwrite}\PName{simple switch}\\ + \KOption{autoremoveinterfaces}\PName{simple switch}\\ + \Macro{scrlayerAddToInterface}% + \OParameter{interface name}\Parameter{command}\Parameter{code}\\ + \Macro{scrlayerAddCsToInterface}% + \OParameter{interface name}\Parameter{command sequence}\Parameter{code} +\end{Declaration} +\BeginIndex{Option}{forceoverwrite}% +\BeginIndex{Option}{autoremoveinterfaces}% +\BeginIndex{Cmd}{scrlayerAddToInterface}% +\BeginIndex{Cmd}{scrlayerAddCsToInterface}% +One of the special features of end user interfaces is that they should +register all interface dependent commands (also known as \emph{macros}). You +may do this using \Macro{scrlayerAddToInterface}%^^A +. If your interface generates macros not only at load time but also at run +time or if the interface name should not be the class's or package's name, you +have to use the optional argument to add the command to a dedicated +interface. An error will occur, if the interface has not been initialised +before. + +The first mandatory argument is the \PName{command}\footnote{The + \PName{command} consists of the backslash followed by a \PName{command + sequence} consisting of characters with category code letter or one other + character, or \PName{command} consists of one active character (without + backslash).} that should be added to the interface. If the command can be +added to the interface, it will be added to the interface, will be set to +\Macro{relax} and \PName{code} will be executed. You can use, e.g., +\Macro{newcommand}\PName{command} inside of \PName{code} to define +\PName{command}. + +But when can a command be defined? If a command is undefined or \Macro{relax} +it can be defined. If a command has already been defined and registered for +another interface \emph{and} if \KOMAScript{} option +\Option{autoremoveinterface} has been switched on, the other interface will be +removed automatically and the new command will be set to \Macro{relax} and +will be registered for the given interface. If a command +has already been defined but is not part of another interface \emph{and} if +\KOMAScript{} option \Option{forceoverwrite} has been switched on, the command +will be set to \Macro{relax} and will be registered for the given interface. + +Command \Macro{scrlayerAddCsToInterface} is similar to +\Macro{scrlayerAddToInterface} but does not expect a command as first, +mandatory argument, but a command sequence\footnote{A command sequence may + consist of any characters with category code letter or other.}.% +\EndIndex{Cmd}{scrlayerAddCsToInterface}% +\EndIndex{Cmd}{scrlayerAddToInterface} +\EndIndex{Option}{autoremoveinterfaces}% +\EndIndex{Option}{forceoverwrite}% + +\begin{Declaration} + \Macro{scrlayerOnAutoRemoveInterface}%^^A + \OParameter{interface name}\Parameter{code} +\end{Declaration} +\BeginIndex{Cmd}{scrlayerOnAutoRemoveInterface}% +Command \Macro{scrlayerOnAutoRemoveInterface} +registers \PName{code} to be executed, if the interface will be automatically +removed (see \Option{autoremoveinterfaces} prior in this section). This may be +used, e.g., to automatically destroy layers or page styles (see +\Macro{DestroyLayer}, \Macro{DestroyAliasPageStyle}, and +\Macro{DestroyRealLayerPageStyle}).% +\EndIndex{Cmd}{scrlayerOnAutoRemoveInterface}% +% +\EndIndex{Package}{scrlayer} + +%%% Local Variables: +%%% mode: latex +%%% mode: flyspell +%%% coding: us-ascii +%%% ispell-local-dictionary: "en_GB" +%%% 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 a3bfa1aab2e..a01d445a1cf 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 @@ -1,6 +1,6 @@ % ====================================================================== % scrlfile.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrlfile.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,10 +45,12 @@ % % ============================================================================ -\ProvidesFile{scrlfile.tex}[2012/02/24 KOMA-Script guide (chapter: scrlfile)] +\KOMAProvidesFile{scrlfile.tex} + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + KOMA-Script guide (chapter: scrlfile)] \translator{Gernot Hassenpflug\and Markus Kohm} -% Date of translated german file: 2012/02/25 +% Date of translated german file: 2013/11/24 \chapter{Control Package Dependencies with \Package{scrlfile}} \labelbase{scrlfile} @@ -210,10 +212,10 @@ 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 +the class or package already started but has not 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. +the class or package has not been finished already. If\important[i]{\Macro{AfterClass!}\\\Macro{AfterPackage!}} a class uses \Macro{AtEndOfClass} or a package uses \Macro{AtEndOfPackage} to execute @@ -355,7 +357,7 @@ 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 +occur: If the last page was not 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: @@ -377,7 +379,7 @@ been enforced by the \Macro{clearpage}. After that, instructions like 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 +would not 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. @@ -395,7 +397,7 @@ immediately after the final \Macro{clearpage}, that is part of } \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 +\Macro{end}\PParameter{document} would not really ship-out any page or if someone have had used \Macro{clearpage} in the argument of \Macro{AtEndDocument}. @@ -517,7 +519,7 @@ 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 +does not 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}. @@ -528,7 +530,7 @@ message. But you may declare such missing options using \Macro{BeforeClass} or \ReplacePackage{oldfoo}{newfoo} \end{lstcode} Assumed the old package provides an option \Option{oldopt}, but the new - package doesn't. Using + package does not. Using \begin{lstcode} \BeforePackage{newfoo}{% \DeclareOption{oldopt}{% @@ -578,6 +580,23 @@ class using \Macro{RequirePackage} instead of \Macro{usepackage}. \EndIndex{Cmd}{ReplacePackage}% \EndIndex{Cmd}{ReplaceClass}% +\begin{Declaration} + \Macro{UnReplaceInput}\Parameter{file name}\\ + \Macro{UnReplacePackage}\Parameter{package}\\ + \Macro{UnReplaceClass}\Parameter{class}% +\end{Declaration} +\BeginIndex{Cmd}{UnReplaceInput}% +\BeginIndex{Cmd}{UnReplacePackage}% +\BeginIndex{Cmd}{UnReplaceClass}% +A\ChangedAt{v3.12}{\Package{scrlfile}} replacement definition can be removed +using one of these commands. The replacement definition of a input file should +be removed using \Macro{UnReplaceInput}, the replacement definition of a +package should be removed using \Macro{UnReplacePackage}, and the replacement +definition of a class should be removed using \Macro{UnReplaceClass}.% +\EndIndex{Cmd}{UnReplaceClass}% +\EndIndex{Cmd}{UnReplacePackage}% +\EndIndex{Cmd}{UnReplaceInput}% + \section{Prevent File Loading} \label{sec:scrlfile.prevent} @@ -590,9 +609,13 @@ of that package has to prevented. For this purpose \Package{scrlfile} again provides a solution. \begin{Declaration} - \Macro{PreventPackageFromLoading}\Parameter{package list} + \Macro{PreventPackageFromLoading}\OParameter{instead code}% + \Parameter{package list}\\ + \Macro{PreventPackageFromLoading*}\OParameter{instead code}% + \Parameter{package list} \end{Declaration} \BeginIndex{Cmd}{PreventPackageFromLoading}% +\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 @@ -610,7 +633,7 @@ the \PName{package list}. \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 + first time. In this case loading of \Package{fontenc} would not 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: @@ -623,8 +646,21 @@ the \PName{package list}. 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.% -% +permitted. + +If \PName{package list} is empty or contains a package, that already has been +loaded, \Macro{PreventPackageFromLoading} will warn. If you'd prefer an +info\ChangedAt{v3.12}{\Package{scrlfile}} at the log-file only, you may use +\Macro{PreventPackageFromLoading*} instead. + +The optional argument\ChangedAt{v3.12}{\Package{scrlfile}} may be used to +execute code instead of loading the package. But you must not load another +packages or files inside \PName{instead code}. See \Macro{ReplacePackage} in +\autoref{sec:scrlfile.macros} on +\autopageref{desc:scrlfile.cmd.ReplacePackage} for information about replacing +a package by another one. Note also, that the \PName{instead code} will be +executed several times, if you try to load the package more than once!% +\EndIndex{Cmd}{PreventPackageFromLoading*}% \EndIndex{Cmd}{PreventPackageFromLoading} \begin{Declaration} @@ -670,9 +706,51 @@ 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. -% + +Please note\textnote{Attention!}, that \Macro{ResetPreventPackageFromLoading} +does not clean the \PName{instead code} of a package. Only the execution is not +done as long as the prevention is not reactivated.% \EndIndex{Cmd}{ResetPreventPackageFromLoading}% \EndIndex{Cmd}{StorePreventPackageFromLoading}% + +\begin{Declaration} + \Macro{UnPreventPackageFromLoading}\Parameter{package list}\\ + \Macro{UnPreventPackageFromLoading*}\Parameter{package list} +\end{Declaration} +\BeginIndex{Cmd}{UnPreventPackageFromLoading}% +\BeginIndex{Cmd}{UnPreventPackageFromLoading*}% +Instead\ChangedAt{v3.12}{\Package{scrlfile}} of resetting the whole list of +packages, that should prevented from being loaded, you may also remove some +packages from that list. The star version of the command does also clean the +\PName{instead code}. So reactivation of the prevent package list, e.\,g., +from a stored one, will not reactivate the \PName{instead code} of the +packages.% +% +\begin{Example} + Assuming, you want to prevent a package \Package{foo} from being loaded, but + you do not want an already stored \PName{instead code} to be + executed. Instead of that code, you're own \PName{instead code} should be + executed. You can do this: +\begin{lstcode} + \UnPreventPackageFromLoading*{foo} + \PreventPackageFromLoading[\typeout{Stattdessencode}]{foo} +\end{lstcode} + For \Macro{UnPreventPackageFromLoading} it does not matter whether or not + the package has been prevented from being loaded before. + + Surely you can use the command also to remove only the \PName{instead code} + of all packages: +\begin{lstcode} + \StorePreventPackageFromLoading\TheWholePreventList + \UnPreventPackageFromLoading*{\TheWholePreventList} + \PreventPackageFromLoading{\TheWholePreventList} +\end{lstcode} + In this case the packages, that has been prevented from being loaded, are + still prevented from being loaded, but their \PName{instead code} has been + cleaned and will not be executed any longer.% +\end{Example}% +\EndIndex{Cmd}{UnPreventPackageFromLoading*}% +\EndIndex{Cmd}{UnPreventPackageFromLoading}% % \EndIndex{Package}{scrlfile} 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 index c2d08cc4fe0..9ed1ae7f361 100644 --- 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 @@ -1,6 +1,6 @@ % ====================================================================== % scrlttr2-experts.tex -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrlttr2-experts.tex -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,13 +45,14 @@ % % ============================================================================ -\ProvidesFile{scrlttr2-experts.tex}[2012/03/01 KOMA-Script guide (chapter: -scrlttr2 for experts)] +\KOMAProvidesFile{scrlttr2-experts.tex} + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + 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 +% Date of the translated German file: 2013/10/04 \chapter{Additional Information about the Letter Class \Class{scrlttr2}} @@ -59,14 +60,14 @@ scrlttr2 for 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 + \KOMAScript{} book \cite{book:komascript} only. This should not be a + problem, because the}{The} average user, who only want to use the package, +does not 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. @@ -84,9 +85,16 @@ 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. +are internally defined with macros instead of lengths. The drawback of this +approach is that computations with macros is somewhat more complicated than +with real lengths. + +Please note\textnote{Attention!}: Even though these pseudo-lengths are +internally implemented as macros, the commands for pseudo-length management +expect only the names of the pseudo-lengths not the macros representing the +pseudo-lengths. The names of pseudo-lengths are without backslash at the very +beginning similar to the names of \LaTeX{} counters and in opposite to macros +or \LaTeX{} lengths. It can be pointed out that the now recommended {\LaTeX} installation with {\eTeX} no longer suffers from the above-mentioned limitation. However, that @@ -100,8 +108,8 @@ 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 +pseudo-lengths for the modifiable distances, also some lengths, which 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} @@ -425,21 +433,18 @@ shifted in the vertical direction. \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. +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}; the position of the middle foldmark by pseudo-length +\PLength{mfoldmarkvpos}\ChangedAt{v2.97e}{\Class{scrlttr2}}; the position 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 +There's no pseudo-length for this last mark, because it vertical position is +not 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 @@ -777,8 +782,8 @@ 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. +letter (back) to the sender. In this return address only that 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 @@ -832,7 +837,7 @@ the height, that will be reserved for the Port-Pay\'e head using the options \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 +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. @@ -966,7 +971,7 @@ 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 +If \PLength{refwidth} is not 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 @@ -1206,7 +1211,7 @@ variables in the business line\Index{business line}. 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 +the \PName{description} is not 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. @@ -1243,7 +1248,7 @@ 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 +The\textnote{Attention!} date should not 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}}% @@ -1310,7 +1315,7 @@ to be used as the argument of, e.\,g., \Macro{markboth} or \Macro{footnote}.% \section{\File{lco}-Files for Experienced Users} -\label{sec:scrlttr2-experts.variables} +\label{sec:scrlttr2-experts.lcoFile} \BeginIndex{File}{lco}% \BeginIndex{}{lco-file=\File{lco}-file}% @@ -1319,7 +1324,7 @@ 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 +parameter sets for ISO~A4 paper. Unfortunately their are not 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.% @@ -1361,7 +1366,7 @@ forget about this option and skip the example.% 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 + the topmost and bottommost folding marks. If their would not be options for this, the easiest way to achieve this would be to place the marks outside of the paper area. \begin{lstcode} @@ -1444,13 +1449,13 @@ commands\Macro{setkomafont} und \Macro{addtokomafont} (see \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 +bottom are not 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 +background color will be used to visualize the areas. This does not 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 +third\important{\PValue{edges}} available \PName{visualization style} is +\PValue{edges}. 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}% @@ -1830,7 +1835,7 @@ How\important[i]{% }]{% Default settings for language-dependent terms using languages \Option{english} and \Option{ngerman}, as long as language selection - packages haven't been used% + packages have not been used% \label{tab:scrlttr2-experts.languageTerms}% }[l] \begin{tabular}[t]{lll} 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 cabf94914ce..ab944d13090 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 @@ -1,6 +1,6 @@ % ====================================================================== % scrlttr2.tex -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrlttr2.tex -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,12 +45,14 @@ % % ============================================================================ -\ProvidesFile{scrlttr2.tex}[2012/05/15 KOMA-Script guide (chapter: scrlttr2)] +\KOMAProvidesFile{scrlttr2.tex}% + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + 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 +% Date of translated german file: 2013/11/07 \chapter{The New Letter Class \Class{scrlttr2}} \labelbase{scrlttr2} @@ -175,6 +177,11 @@ of all variables is given in \autoref{tab:scrlttr2.variables}. commands for inserting the sender's logo % (\autoref{sec:scrlttr2.firstpage}, \autopageref{desc:scrlttr2.variable.fromlogo})}% + \ventry{frommobilephone}{% + \ChangedAt{v3.12}{\Class{scrlttr2}}% + sender's mobile telephone number % + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.frommobilephone})}% \ventry{fromname}{% complete name of sender % (\autoref{sec:scrlttr2.firstpage}, @@ -414,6 +421,12 @@ of this, definition of pseudo-lengths will be described in the expert part at 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}. +Please note\textnote{Attention!}: Even though these pseudo-lengths are +internally implemented as macros, the commands for pseudo-length management +expect only the names of the pseudo-lengths not the macros representing the +pseudo-lengths. The names of pseudo-lengths are without backslash at the very +beginning similar to the names of \LaTeX{} counters and in opposite to macros +or \LaTeX{} lengths. \begin{Declaration} \Macro{useplength}\Parameter{name} @@ -471,7 +484,7 @@ of a \PName{pseudo-length} to the \PName{length}. \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 +letters with double-side layout. Mostly letters are not 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 @@ -642,7 +655,7 @@ the standard letter class. \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 + would not 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} @@ -922,125 +935,8 @@ and content of the variable % \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}% @@ -1136,7 +1032,7 @@ chosen for a letter. Default values are \PValue{true} and \PValue{TBMPL}. 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} + \KOMAoptions{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 @@ -1372,7 +1268,7 @@ information about colors.% \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. + standard letter head, that does not react on the additional option. \end{Example} An\textnote{Attention!} important note concerns the sender's address: within @@ -1394,12 +1290,16 @@ signature (see variable \Variable{signature}, \begin{Declaration} + \KOption{symbolicnames}\PName{simple switch}\\ \KOption{fromphone}\PName{simple switch}\\ + \KOption{frommobilephone}\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{frommobilephone}}% + \OParameter{description}\Parameter{content}\\ \Macro{setkomavar}\PParameter{\Variable{fromfax}}% \OParameter{description}\Parameter{content}\\ \Macro{setkomavar}\PParameter{\Variable{fromemail}}% @@ -1408,6 +1308,8 @@ signature (see variable \Variable{signature}, \OParameter{description}\Parameter{content}\\ \Macro{setkomavar}\PParameter{\Variable{phoneseparator}}% \OParameter{description}\Parameter{content}\\ + \Macro{setkomavar}\PParameter{\Variable{mobilephoneseparator}}% + \OParameter{description}\Parameter{content}\\ \Macro{setkomavar}\PParameter{\Variable{faxseparator}}% \OParameter{description}\Parameter{content}\\ \Macro{setkomavar}\PParameter{\Variable{emailseparator}}% @@ -1415,30 +1317,49 @@ signature (see variable \Variable{signature}, \Macro{setkomavar}\PParameter{\Variable{urlseparator}}% \OParameter{description}\Parameter{content}% \end{Declaration}% +\BeginIndex{Option}{symbolicnames~=\PName{simple switch}}% \BeginIndex{Option}{fromphone~=\PName{simple switch}}% +\BeginIndex{Option}{frommobilephone~=\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}{frommobilephone}% \BeginIndex{Variable}{fromfax}% \BeginIndex{Variable}{fromemail}% \BeginIndex{Variable}{fromurl}% \BeginIndex{Variable}{emailseparator}% \BeginIndex{Variable}{faxseparator}% \BeginIndex{Variable}{phoneseparator}% +\BeginIndex{Variable}{mobilephoneseparator}% \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}. +Whether or not a telephone number\Index{telephone}\Index{phone}, a +mobile\ChangedAt{v3.12}{\Class{scrlttr2}} telephone number\Index{mobile + phone}\Index{cell phone}\Index{cellphone}, 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}. + +You may\ChangedAt{v3.12}{\Class{scrlttr2}}\important{\Option{symbolicnames}} +change the defaults for the description of the separator variables at once +using option \Option{symbolicnames}. The option understands the values for +simple switches from \autoref{tab:truefalseswitch}, +\autopageref{tab:truefalseswitch}. Switching on the option replaces the +descriptions from the language depending terms \Macro{emailname}, +\Macro{faxname}, \Macro{mobilephonename}, and \Macro{phonename} into symbols +of the package \Package{marvosym}\IndexPackage{marvosym}. Also the colon will +be removed from the content of the separator variables. And in this case the +description and the content of the URL separator will be +empty. Note\textnote{Attention!}, that you have to load package +\Package{marvosym} on your own, if you switch on \Option{symbolicnames} +first time after \Macro{begin}\PParameter{document}. \begin{table} \centering @@ -1451,6 +1372,10 @@ assigned to these options. Default is \PValue{false} for all of them. The \Macro{usekomavar}\PParameter{emailseparator}}% \ventry{fromfax}{\Macro{usekomavar*}\PParameter{faxseparator}% \Macro{usekomavar}\PParameter{faxseparator}}% + \ventry{frommobilephone}{% + \ChangedAt{v3.12}{\Class{scrlttr2}}% + \Macro{usekomavar*}\PParameter{mobilephoneseparator}% + \Macro{usekomavar}\PParameter{mobilephoneseparator}}% \ventry{fromname}{\Macro{headfromname}}% \ventry{fromphone}{\Macro{usekomavar*}\PParameter{phoneseparator}% \Macro{usekomavar}\PParameter{phoneseparator}}% @@ -1466,7 +1391,7 @@ assigned to these options. Default is \PValue{false} for all of them. The \setcapindent{0pt}% % \caption \begin{captionbeside}{Predefined description and content of the separators - at the letterhead} + at the letterhead without option \Option{symbolicnames}} [l] \begin{tabular}[t]{lll} \toprule @@ -1474,6 +1399,7 @@ assigned to these options. Default is \PValue{false} for all of them. The \midrule \Variable{emailseparator} & \Macro{emailname} & \texttt{:\~} \\ \Variable{faxseparator} & \Macro{faxname} & \texttt{:\~} \\ + \Variable{mobilephoneseparator} & \Macro{mobilephonename} & \Macro{usekomavaer}\PParameter{phoneseparator} \\ \Variable{phoneseparator} & \Macro{phonename} & \texttt{:\~} \\ \Variable{urlseparator} & \Macro{wwwname} & \texttt{:\~} \\ \bottomrule @@ -1533,17 +1459,21 @@ assigned to these options. Default is \PValue{false} for all of them. The \end{Example} % \EndIndex{Variable}{urlseparator}% +\EndIndex{Variable}{mobilephoneseparator}% \EndIndex{Variable}{phoneseparator}% \EndIndex{Variable}{faxseparator}% \EndIndex{Variable}{emailseparator}% \EndIndex{Variable}{fromurl} \EndIndex{Variable}{fromemail} \EndIndex{Variable}{fromfax} +\EndIndex{Variable}{frommobilephone}% \EndIndex{Variable}{fromphone}% \EndIndex{Option}{fromurl~=\PName{simple switch}}% \EndIndex{Option}{fromemail~=\PName{simple switch}}% \EndIndex{Option}{fromfax~=\PName{simple switch}}% +\EndIndex{Option}{frommobilephone~=\PName{simple switch}}% \EndIndex{Option}{fromphone~=\PName{simple switch}}% +\EndIndex{Option}{symbolicnames~=\PName{simple switch}}% \begin{Declaration} \KOption{fromlogo}\PName{simple switch}\\ @@ -1558,7 +1488,7 @@ logo\Index{Logo} at the letterhead. The option value may be any \PName{simple \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 +and \KOMAScript{} does not 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 @@ -1610,7 +1540,7 @@ construction as content of variable \Variable{firsthead}. Within 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 +\Macro{usekomavar}. \KOMAScript{} does not 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}.} @@ -1733,7 +1663,7 @@ 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 +\autopageref{tab:truefalseswitch}. These values do not 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 @@ -1748,7 +1678,7 @@ The return address itself is defined by the \PName{content} of variable 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 +space. The \PName{description} of variable \Variable{backaddress} is not used by \KOMAScript. The font style of the return address is configurable via element \FontElement{backaddress}\important{\FontElement{backaddress}}. Default for @@ -1813,7 +1743,7 @@ 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 +selected, which is also the default. Class \Class{scrlttr2} itself does not use the \PName{description} of variable \Variable{specialmail}. The alignment is defined by the pseudo-lengths PLength{specialmailindent} and \PLength{specialmailrightindent} (siehe @@ -1910,7 +1840,7 @@ With\important[i]{\begin{tabular}[t]{@{}l@{}} \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 +for this. \KOMAScript{} does not 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 @@ -1994,7 +1924,7 @@ option are shown in \autoref{tab:scrlttr2.locfield}. Default is The contents of the sender's extension field is determined by the 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. +does not use the \PName{description} of the variable. \begin{Example} Mr Public likes to show some additional information about his @@ -2048,12 +1978,14 @@ standard date presentation. \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 +does not 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}.% +line. If all other elements of the reference line will be empty and therefore +unused a date line instead of a reference line will be printed. See the +description of variable \Variable{place} on +\autopageref{desc:scrlttr2.variable.placeseparator} for more information about +the date line. You should note, that you can change the automatic printing of +the date using option \Option{refline}, that will be described next. % \EndIndex{Variable}{date}% \EndIndex{Option}{numericaldate~=\PName{switch}}% @@ -2072,7 +2004,7 @@ 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 +right. Option \OptionValue{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} @@ -2092,7 +2024,7 @@ and \PValue{dateright}\ChangedAt{v3.09}{\Class{scrlttr2}}.% \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.}% + The date is not placed automatically into the reference line.}% \pventry{wide}{The with of the reference line corresponds to address and sender's additional information.}% \end{desctabular} @@ -2202,6 +2134,21 @@ 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}). +Since version~3.09\ChangedAt{v3.09}{\Class{scrlttr2}} place and date the +alignment of place and date is given by option \Option{refline}. The available +alignment values for this option are listed in \autoref{tab:scrlttr2.refline}. + +\BeginIndex{FontElement}{placeanddate}% +The\ChangedAt{v3.12}{\Class{scrlttr2}} font setting of place and date in the +date line are given by font +element\FontElement{placeanddate}\important[i]{\FontElement{placeanddate}} +instead of element \FontElement{refvalue}, which would be used for general +reference lines. You can change the empty default of the font element using +commands \Macro{setkomafont} and \Macro{addtokomafont} (see +\autoref{sec:scrlttr2.textmarkup}, +\autopageref{desc:scrlttr2.cmd.setkomafont}).% +\EndIndex{FontElement}{placeanddate}% + \begin{Example} Now Mr Public also sets the place:% \lstinputcode[xleftmargin=1em]{letter-20.tex}% @@ -2419,10 +2366,10 @@ the setting of the letter foot. 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 +does not 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 +\Class{scrlttr2} before release~3.08 still exists. Nevertheless it should not be used any longer. \begin{Declaration} @@ -2545,14 +2492,14 @@ 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 +Obviously option \Option{headsepline} does not 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. +section). These page styles explicitly do not 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 +or foot and the text area. This would not 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 @@ -2761,12 +2708,12 @@ 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 +\Macro{usekomavar}. \KOMAScript{} does not 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 +releases before 3.08 are also implemented. Nevertheless, you should not use those.% % \EndIndex{Variable}{nextfoot}% @@ -2798,12 +2745,12 @@ 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 +\Class{scrlttr2} does not 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 +You will not 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 @@ -2819,7 +2766,7 @@ recommended (see \cite{package:amsmath}).% \label{sec:scrlttr2.floats} Floating environments for tables or figures are very unusual in -letters. Therefore\textnote{Attention!} \Class{scrlttr2} doesn't provide +letters. Therefore\textnote{Attention!} \Class{scrlttr2} does not 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 @@ -3000,13 +2947,13 @@ If\ChangedAt{v2.97}{\Class{scrlttr2}} an \File{lco}-file is loaded via \begin{Example} 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 + he does not 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. + does not change. \begin{figure} \setcapindent{0pt}% \begin{captionbeside}[{Example: letter with extended sender, logo, @@ -3397,7 +3344,9 @@ current version of \Package{adrconv} supports the \Macro{addrentry} and %%% Local Variables: %%% mode: latex +%%% mode: flyspell %%% coding: us-ascii +%%% ispell-local-dictionary: "en_GB" %%% TeX-master: "../guide" %%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/scrpage2.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/scrpage2.tex index 603adeb934d..937acdec0b0 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/scrpage2.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/scrpage2.tex @@ -1,6 +1,6 @@ % ====================================================================== % scrpage2.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrpage2.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,12 +45,14 @@ % % ============================================================================ -\ProvidesFile{scrpage2.tex}[2012/02/22 KOMA-Script guide (chapter:scrpage2)] +\KOMAProvidesFile{scrpage2.tex} + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + KOMA-Script guide (chapter:scrpage2)] \translator{Jens-Uwe Morawski\and Karl-Heinz Zimmer\and Christoph Bier\and Gernot Hassenpflug\and Markus Kohm} -% date of translated german file: 2012/02/22 +% date of translated german file: 2013/07/22 \chapter{Adapting Page Headers and Footers with \Package{scrpage2}} \labelbase{scrpage} @@ -97,7 +99,7 @@ documentation describes only \Package{scrpage2}. The package \end{Explain} -Package \Package{scrpage2} doesn't distinguish between page styles with +Package \Package{scrpage2} does not distinguish between page styles with automatic, running headings and page styles with manual headings. The way to deal with automatic and manual headings is independent from the page style and so the page style is independent from the choice of automatic or manual @@ -745,7 +747,7 @@ elements \FontElement{headtopline}\important[i]{\FontElement{headtopline}\\ \FontElement{footbotline}. These can then be extended via \Macro{addtokomafont}\IndexCmd{addtokomafont}. See \autoref{sec:maincls.textmarkup}, \autopageref{desc:maincls.cmd.setkomafont} -for details on the \Macro{setkomafont} and \Macro{addkomafont} commands. +for details on the \Macro{setkomafont} and \Macro{addtokomafont} commands. \EndIndex{FontElement}{footbottomline}% \EndIndex{FontElement}{footbotline}% \EndIndex{FontElement}{footsepline}% @@ -853,7 +855,7 @@ together with other package options in the next In opposite to the \KOMAScript{} classes, where the most options may be changed using \Macro{KOMAoptions} or \Macro{KOMAoption} also after loading the -class, package \Package{scrpage2} doesn't provide this feature\iffree{ +class, package \Package{scrpage2} does not provide this feature\iffree{ currently}{}. All options to \Package{scrpage2} have to be global options, i.\,e. be part of the optional argument of \Macro{documentclass}, or package option, i.\,e. be part of the optional argument of \Macro{usepackage}. @@ -867,7 +869,7 @@ package option, i.\,e. be part of the optional argument of \Macro{usepackage}. \BeginIndex{Option}{headinclude}\BeginIndex{Option}{footinclude}% \BeginIndex{Option}{headexclude}\BeginIndex{Option}{footexclude}% Since\textnote{Attention!} \KOMAScript~3\ChangedAt{v2.3}{\Package{scrpage2}} -this options shouldn't be passed to \Package{scrpage2} any longer using +this options should not be passed to \Package{scrpage2} any longer using \Macro{PassOptionsToPackage} or the optional argument of \Macro{usepackage}. Only for compatibility reason \Package{scrpage2} still declares them and pass them as \Option{headinclude}, diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/scrwfile.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/scrwfile.tex index baf1d38f565..9d69c9d2fc7 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/scrwfile.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/scrwfile.tex @@ -6,7 +6,7 @@ %% %% scrwfile.dtx (with options: `doc') %% -%% Copyright (c) 2010-2012 by Markus Kohm <komascript(at)gmx.info> +%% Copyright (c) 2010-2013 by Markus Kohm <komascript(at)gmx.info> %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -43,9 +43,9 @@ %% EVERYTHING MAY CHANGE IN FUTURE! %% THERE IS NO SUPPORT, IF YOU USE THIS PACKAGE! %% -%%% From File: scrwfile.dtx +%%% From File: $Id: scrwfile.dtx 1562 2013-12-19 07:51:16Z mjk $ \ProvidesFile{scrwfile.tex} - [2012/03/05 v0.1d-alpha LaTeX2e KOMA-Script package (write and clone files)] + [2013/08/05 v0.1f-alpha LaTeX2e KOMA-Script package (write and clone files)] \chapter[{Spare and Replace Files Using \Package{scrwfile}}] {Spare and Replace Files Using \Package{scrwfile}% } @@ -143,7 +143,7 @@ limited any longer. Sometimes it is useful to input a file not only once but several times. As \Macro{@starttoc} does not open files for writing any longer, this may be -done by simply using \Macro{\@starttoc} several times with the same +done by simply using \Macro{@starttoc} several times with the same extension. But sometimes you may have additional entries in only some of the content directories. Because of this, \Package{scrwfile} allows to copy all entries of a file to another file, too. We call this cloning. @@ -178,23 +178,53 @@ contents: \begin{lstcode} \usepackage{scrwfile} \TOCclone[Short \contentsname]{toc}{stoc} - \AtBeginDocument{% - % aux first opened at \begin{document}. So wait until this: - \addtocontents{toc}{% first toc entry: - \proctect\addcontentsline{stoc}{% write to Short Contents - \protect\tableofcontents% Contents - }% - }% +\end{lstcode} +This would create a new table of contents with the heading ^^c2^^bbShort +Contents^^c2^^ab. The new table of contents uses a helper file with extension +\File{stoc}. All entries to the helper file with extension \File{toc} will +also be copied to this new helper file. + +The new short table of contents should only have the chapter entries. This may +be done using: +\begin{lstcode} + \addtocontents{stoc}{\protect\value{tocdepth}=0} +\end{lstcode} +Normally you cannot write into a helper file before +\Macro{begin}\PParameter{document}. But using \Package{scrwfile} changes +this. So the code above will be successful after loading \Package{scrwfile}. + +To show the new short contents of helper file extension \File{stoc} we will +use +\begin{lstcode}[moretexcs={listofsttoc}] + \listofstoc +\end{lstcode} +somewhere after \Macro{begin}\PParameter{document}. + +If we also want an entry for the table of contents at the short contents, we +cannot use +\begin{lstcode} + \addtocontents{toc}{% write to the Contents + \protect\addcontentslinedefault{stoc}% write to Short Contents + {chapter}% a chapter entry with + {\contentsname}% the Contents' name + } +\end{lstcode} +because the \Macro{addcontentsline} command would be copied to \File{stoc} +too. So we cannot add the command to the \File{toc}-file. Package +\Package{tocbasic}\important{\Package{tocbasic}} may be used to solve this: +\csname phantomsection\endcsname\label{example:scrwfile.AfterStartingTOC} +\begin{lstcode} + \AfterStartingTOC[toc]{% + \addcontentslinedefault{stoc}{chapter} + {\protect\contentsname}% } - \begin{document} - \setcounter{tocdepth}{1}% show chapters only - \listofstoc% Write short table of contents - \setcounter{tocdepth}{6}% show all levels - \tableofcontents% Write table of contents \end{lstcode} -You need at least three \LaTeX{} runs to get a short table of contents and a -detailed table of contents. The detailed one produces an entry at the short -one but this entry will not be part of the detailed table of contents. +But this needs, that the file with extension \File{toc} is under control of +package \Package{tocbasic}, which is indeed the case within all \KOMAScript{} +classes. +See \autoref{sec:tocbasic.toc} on +\autopageref{desc:tocbasic.cmd.AfterStartingTOC} for more information about +\Macro{AfterStartingTOC}.% \end{Example} \EndIndex{Cmd}{TOCclone} diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/tocbasic.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/tocbasic.tex index 0e84fc54c33..3e240f8f973 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/tocbasic.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/tocbasic.tex @@ -1,48 +1,59 @@ +\immediate\write17{^^J% ++----------------------------------------------------------------------^^J% +| WARNING (`tocbasic.tex'):^^J% ++----------------------------------------------------------------------^^J% +| YOU SHOULD NOTE, THAT THIS IS NOT AN OFFICIAL RELEASE!^^J% +| THIS VERSION IS INTENDED TO BE USED FOR TESTING ONLY!^^J% +| USAGE FOR PURPOSES OTHER THAN INTENDED IS DANGEROUS!^^J% +| DON'T EXPECT ANY SUPPORT FOR THIS VERSION!^^J% ++----------------------------------------------------------------------^^J% +} %% %% This is file `tocbasic.tex', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% %% tocbasic.dtx (with options: `doc') %% -%% Copyright (c) 2007-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 2008-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the 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. +%% It may be distributed under the conditions of the +%% LaTeX Project Public License in the version distributed together +%% with KOMA-Script, see file `lppl.txt' or `lppl-de.txt'. %% -%% This work has the LPPL maintenance status "author-maintained". +%% This file may only be distributed together with a copy of the +%% KOMA-Script bundle. You may however distribute the +%% KOMA-Script bundle without all such generated files. See also +%% `lppl.txt' or `lppl-de.txt' for additional information. %% -%% The Current Maintainer and author of this work is Markus Kohm. +%% The list of files belonging to KOMA-Script distribution is given in +%% the file `manifest.txt'. See also `lppl.txt' or `lppl-de.txt' for +%% additional information. %% -%% This file may only be distributed together with the files -%% `scrlogo.dtx' and `tocbasic.dtx'. You may however distribute the files -%% `scrlogo.dtx' and `tocbasic.dtx' without this file. -%% See also `tocbasic.dtx' for additional information. +%% If this file is a beta version, you may not be allowed to distribute +%% it. Look at the comments below to see if this is the case. %% -%% If this file is a beta version, you are not allowed to distribute it. +%% English and German manuals are part of KOMA-Script bundle. +%% ---------------------------------------------------------- %% -%% Currently there is only a short english manual at `tocbasic.dtx', that -%% should also be found as `tocbasic.pdf'. +%% See `README'. %% %% The KOMA-Script bundle (but maybe not this file) was based upon the -%% LaTeX2.09 Script family created by Frank Neukam 1993 and the LaTeX2e -%% standard classes created by The LaTeX3 Project 1994-1996. +%% LaTeX 2.09 Script family created by Frank Neukam 1993 and the LaTeX2e +%% standard classes created by The LaTeX3 Project 1994-1996. You may +%% find a complete unmodified copy of LaTeX2e at +%% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: tocbasic.dtx -\def\tocbasicversion{2012/04/04 v3.10b} -\ProvidesFile{tocbasic.tex} - [\tocbasicversion\space KOMA-Script package - (manual)% - ] +%%% From File: $Id: tocbasic.dtx 1533 2013-12-10 18:06:14Z mjk $ +\ProvidesFile{tocbasic.tex}[% + 2013/12/19 v3.12 KOMA-Script + package + (handling toc-files)% +] \translator{Markus Kohm} @@ -65,7 +76,7 @@ the list of figures and the list of tables and thereby allow other classes or packages some types of controll about these. For examples package \Package{tocbasic} delegates language control of all these tables and lists of contents to package \Package{babel}\IndexPackage{babel}%^^A -(see \cite{package:babel})%^^A +\ (see \cite{package:babel})%^^A . So automatic change of language will be provides inside all these tables and lists of contents. Using \Package{tocbasic} will exculpate authors of classes and packages from implementation of such @@ -333,37 +344,89 @@ Commands, that shouldn't be expanded while writing, should be prefixed by \EndIndex{Cmd}{addtoeachtocfile}% \begin{Declaration} - \Macro{addcontentslinetoeachtocfile}\OParameter{owner}\Parameter{level}% - \Parameter{contentsline} + \Macro{addxcontentsline}% + \Parameter{extension}\Parameter{level}\OParameter{number}%^^A + \Parameter{text} +\end{Declaration} +\BeginIndex{Cmd}{addxcontentsline}% +The command \Macro{addxcontentsline} +adds an entry of given \PName{level} to toc-file with \PName{extension}. If +the \Parameter{number} is empty or omitted the entry won't have a number for +the entry with the given \PName{text}. Entries without number may be left +aligned to the number of the numbered entries of the same \PName{level} or +indented like the text of the numbered entries of the same \PName{level}, +depending on the \PValue{numberline} feature. + +\begin{Example} + Maybe you are not using a \KOMAScript{} class but need a not numbered + chapter with entry to the table of contents. This may be done using +\begin{lstcode} + \cleardoublepage + \csname phantomsection\endcsname + \addxcontentsline{toc}{chapter} + {Chapters without Numbers} + \chapter*{Chapters without Numbers} + \markboth{Chapters without Numbers}{} +\end{lstcode} + As you can see, you simply have to replace usual \Macro{addcontentsline} by + \Macro{addxcontentsline} to support the \Package{tocbasic} feature + \PValue{numberline}. +\end{Example} + +Note, that \Macro{addxcontentsline} uses +\Macro{add\PName{level}\PName{extension}entry} if such a macro exists and +\Macro{tocbasic@addxcontentsline} otherwise. Therefore you cannot define +a macro \Macro{add\PName{level}\PName{extension}entry} using +\Macro{addxcontentsline} but \Macro{tocbasic@addxcontentsline}. + +It is recommended to use \Macro{addxcontentsline} instead of +\Macro{addcontentsline} whenever possible.% +\EndIndex{Cmd}{addxcontentsline} + +\begin{Declaration} + \Macro{addcontentslinetoeachtocfile}\OParameter{owner}\Parameter{level}%^^A + \Parameter{contentsline}\\ + \Macro{addxcontentslinetoeachtocfile}\OParameter{owner}%^^A + \Parameter{level}\OParameter{number}\Parameter{text} \end{Declaration} \BeginIndex{Cmd}{addcontentslinetoeachtocfile}% -This command +\BeginIndex{Cmd}{addxcontentslinetoeachtocfile}% +The first command is something like \Macro{addcontentsline} from \LaTeX{} kernel. In difference to that it writes the \PName{contentsline} not only into one file, but into all files of all known file extensions or of all known file extensions of a given owner. + +The Command \Macro{addxcontentslinetoeachtocfile}%^^A +\ is similar but uses +\Macro{addxcontentsline} instead of \Macro{addcontentsline} and +therefore supports \Package{tocbasic} feature \PValue{numberline}. \begin{Example} You are a class author and want to write the chapter entry not only to the table of contents toc-file but to all toc-files, while \texttt{\#1} is the title, that should be written to the files. \begin{lstcode} - \addcontentslinetoeachtocfile{chapter}{% - \protect\numberline{\thechapter}#1} + \addxcontentslinetoeachtocfile + {chapter}[\thechapter]{#1}% \end{lstcode} In this case the current chapter number should be expanded while writing into the file. So it isn't protected from expansion using \Macro{protect}. \end{Example} -While writing -\Macro{@currext}\IndexCmd{@currext}\important{\Macro{@currext}} is the file -extension of the file into which \PName{contentsline} will be written. +While writing \Macro{@currext}\IndexCmd{@currext}\important{\Macro{@currext}} +is the file extension of the file into which \PName{contentsline} will be +written. + +It is recommended to use \Macro{addxcontentslinetoeachtocfile} instead +of \Macro{addcontentslinetoeachtocfile} whenever possible. +\EndIndex{Cmd}{addxcontentslinetoeachtocfile}% \EndIndex{Cmd}{addcontentslinetoeachtocfile}% \begin{Declaration} - \Macro{listoftoc}\OParameter{list of title}\Parameter{extension} + \Macro{listoftoc}\OParameter{list of title}\Parameter{extension}%^^A \\ - \Macro{listoftoc*}\Parameter{extension} + \Macro{listoftoc*}\Parameter{extension}%^^A \\ - \Macro{listofeachtoc}\OParameter{owner} + \Macro{listofeachtoc}\OParameter{owner}%^^A \\ \Macro{listof\PName{file-extension}name} \end{Declaration} @@ -603,6 +666,11 @@ features. \Package{tocbasic} does know following features: \OptionValue{listof}{numbered}\important{\OptionValue{listof}{numbered}}% \IndexOption{listof~=\PValue{numbered}} for all file extensions of the owner \PValue{float}. +\item[\texttt{numberline}] \leavevmode\ChangedAt{v3.12}{\Package{tocbasic}}% + redefines \Macro{nonumberline} to use \Macro{numberline}. With this the not + numbered entries generated by \KOMAScript{} or using \Macro{nonumberline} at + the very beginning of the last argument of \Macro{addcontentline} will also + be indented like numbered entries of the same type. \item[\texttt{onecolumn}] \leavevmode\ChangedAt{v3.01}{\Package{tocbasic}}% typesets the corresponding table of contents or list of something with internal one column mode of @@ -843,6 +911,18 @@ toc-entry, and running head, if it was defined. If it was not defined it will be defined and used in \Macro{tocbasic@listhead} automatically. \EndIndex{Cmd}{tocbasic@listhead@\PName{extension}}% +\begin{Declaration} + \Macro{tocbasic@addxcontentsline}% + \Parameter{extension}\Parameter{level}\Parameter{number}\Parameter{text} +\end{Declaration} +\BeginIndex{Cmd}{tocbasic@addxcontentsline}% +This command +uses \Macro{addcontentsline} to either create a numbered or not numbered text +entry to toc-file with given \PName{extension}. Note, that all parameters of +\Macro{tocbasic@addxcontentsline} are mandatory. But you may use an +empty \PName{number} argument, if you don't want a number. +\EndIndex{Cmd}{tocbasic@addxcontentsline} + \section{A Complete Example} \label{sec:tocbasic.example} @@ -1137,6 +1217,79 @@ may be found in \autoref{tab:tocbasic.DeclareNewTOC-options}. additionally, then a non-floating environment \Environment{remarkbox-} will be also defined. You may use \Macro{caption}\IndexCmd{caption} inside of that non-floating environment as usual for floating environments. + \hyperref[tab:tocbasic.comparison]{Figure~\ref*{tab:tocbasic.comparison}} + showes a comparison of the commands, counters and environments of the + example environment \Environment{remarkbox} and of the commands, counters + and environments for figures.% + \begin{table} + \centering + \caption{Comparison of example environment \Environment{remarkbox} + and environment \Environment{figure}} + \label{tab:tocbasic.comparison} + \begin{tabularx}{\textwidth}{ll>{\raggedright}p{6em}X} + \toprule + \Environment{remarkbox} & \Environment{figure} + & options of \Macro{DeclareNewTOC} & short description \\[1ex] + \midrule + \Environment{remarkbox} & \Environment{figure} + & \Option{type}, \Option{float} + & floating environments of the respective types\\[1ex] + \Environment{remarkbox*} & \Environment{figure*} + & \Option{type}, \Option{float} + & columns spanning floating environments of the respective types\\[1ex] + \Counter{remarkbox} & \Counter{figure} + & \Option{type}, \Option{float} + & counter used by \Macro{caption}\\[1ex] + \Macro{theremarkbox} & \Macro{thefigure} + & \Option{type}, \Option{float} + & output command to the respective counters\\[1ex] + \Macro{remarkboxformat} & \Macro{figureformat} + & \Option{type}, \Option{float} + & formating command to the respective counters used by + \Macro{caption}\\[1ex] + \Macro{remarkboxname} & \Macro{figurename} + & \Option{type}, \Option{float}, \Option{name} + & names used in the label of \Macro{caption}\\[1ex] + \Macro{listofremarkboxes} & \Macro{listoffigures} + & \Option{types}, \Option{float} + & command to show the list of the respective environments\\[1ex] + \Macro{listremarboxname} & \Macro{listfigurename} + & \Option{type}, \Option{float}, \Option{listname} + & heading text of the respective list \\[1ex] + \Macro{fps@remarkbox} & \Macro{fps@figure} + & \Option{type}, \Option{float}, \Option{floattype} + & numeric float type for order perputation\\[1ex] + \File{lor} & \File{lof} + & + & file extension of the helper file of the respective list \\ + \bottomrule + \end{tabularx} + \end{table} + + And now a possible usage of the example environment: +\begin{lstcode} + \begin{remarkbox} + \centering + Equal should be typeset equally + and with equal formatting. + \caption{First theorem of typography} + \label{rem:typo1} + \end{remarkbox} +\end{lstcode} + A segment of an example page with this environment could be: + \begin{center}\footnotesize + \begin{tabular} + {|!{\hspace{.1\linewidth}}p{.55\linewidth}!{\hspace{.1\linewidth}}|} + \\ + \centering + Equal should be typeset equally + and with equal formatting.\\[\abovecaptionskip] + {% + \usekomafont{caption}\footnotesize{\usekomafont{captionlabel}% + Remark 1: }First theorem of typography + }\\ + \end{tabular}% + \end{center}% \end{Example} \EndIndex{Cmd}{DeclareNewTOC}% \EndIndex{Package}{tocbasic}% diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/typearea-experts.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/typearea-experts.tex index 15bfc38d8dd..7a2d45bc612 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/typearea-experts.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/typearea-experts.tex @@ -1,6 +1,6 @@ % ====================================================================== -% typearea.tex -% Copyright (c) Markus Kohm, 2001-2012 +% typearea-experts.tex +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -17,8 +17,8 @@ % % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- -% typearea.tex -% Copyright (c) Markus Kohm, 2001-2012 +% typearea-experts.tex +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,31 +45,33 @@ % % ====================================================================== -\ProvidesFile{typearea-experts.tex}[2012/04/17 KOMA-Script guide (chapter: typearea)] +\KOMAProvidesFile{typearea-experts.tex} + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + KOMA-Script guide (chapter: typearea)] \translator{Markus Kohm\and Gernot Hassenpflug} -% Date of the translated German file: 2012/04/17 +% Date of the translated German file: 2013/05/31 \chapter{Additional Information about package \Package{typearea}} \labelbase{typearea-experts} This chapter gives additional information about package \Package{typearea}. \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 packages using \Package{typearea}. Another part of -the information describes features of \Package{typearea} 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. + \KOMAScript{} book \cite{book:komascript} only. This should not be a + problem, because the}{The} average user, who only want to use the package, +does not need the information that is addressed to users with non-standard +requirements or who want to write their own packages using +\Package{typearea}. Another part of the information describes features of +\Package{typearea} 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 should not use them any longer. \section{Expert Commands} \label{sec:typearea-experts.experts} -This section describes commands, that aren't of interest for average +This section describes commands that are not of interest for average users. Nevertheless these commands provide additional features for experts. Because the information is addressed to experts it's condensed. @@ -96,7 +98,7 @@ after usage of \Macro{activateareas}. Moreover all changes of \Macro{storeareas}\Parameter{\Macro{command}} \end{Declaration} \BeginIndex{Cmd}{storearea}% -With \Macro{storeareas} a \PName{\Macro{command}} will be defined, that may be +With \Macro{storeareas} a \PName{\Macro{command}} will be defined that may be used to restore all current settings of typing area and margins. This provides to store the current settings, change them, do anything with valid changed settings and restore the previous settings afterwards. @@ -108,21 +110,25 @@ settings and restore the previous settings afterwards. \documentclass[pagesize]{scrartcl} \begin{document} - \rule{\textwidth}{\textheight} + \noindent\rule{\textwidth}{\textheight} \storeareas\MySavedValues \KOMAoptions{paper=landscape,DIV=current} - \rule{\textwidth}{\textheight} + \noindent\rule{\textwidth}{\textheight} \clearpage \MySavedValues - \rule{\textwidth}{\textheight} + \noindent\rule{\textwidth}{\textheight} \end{document} \end{lstcode} Command \Macro{clearpage}\textnote{Attention} before calling \Macro{MySavedValues} is important to restore the saved values at the next page. \end{Example} +In the example \Macro{noindent} has been used to avoid the paragraph indent of +the black boxes. Without these commands the boxes would not show the +typing area correctly. + Please note\textnote{Attention!} that neither \Macro{storeareas} nor the defined \PName{\Macro{command}} should be used inside a group. Internally \Macro{newcommand}\IndexCmd{newcommand*}\important{\Macro{newcommand*}} is @@ -143,13 +149,14 @@ These commands manage \emph{hooks}. \Macro{AfterCalculatingTypearea} and it's star version provide experts to execute \PName{instructions} every time \Package{typearea} has recalculated the typing area and margins either implicitly or because of an explicit usage of \Macro{typearea}. Similar -\Macro{AfterSettingArea} and it's star version provide execution of -\PName{instructions} every time \Macro{areaset} has been used. While normal -versions work globally the influence of the star versions is only -local. The \PName{instructions} will be executed instantly before execution of -\Macro{activateareas}.\iffree{}{ In \autoref{cha:modernletters} - \Macro{AfterCalculatingTypearea} will be used in letter class option - \File{asymTypB.lco} to change the division of the margins.}% +\Macro{AfterSettingArea}\ChangedAt{v3.11}{\Package{typearea}} and it's star +version provide execution of \PName{instructions} every time \Macro{areaset} +has been used. While normal versions work globally the influence of the star +versions is only local. The \PName{instructions} will be executed instantly +before execution of \Macro{activateareas}.\iffree{}{ In + \autoref{cha:modernletters} \Macro{AfterCalculatingTypearea} will be used in + letter class option \File{asymTypB.lco} to change the division of the + margins.}% % \EndIndex{Cmd}{AfterCalculatingTypearea} diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/typearea.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/typearea.tex index db2bce403f2..a752145682b 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/typearea.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/typearea.tex @@ -1,6 +1,6 @@ % ====================================================================== % typearea.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % typearea.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,10 +45,12 @@ % % ====================================================================== -\ProvidesFile{typearea.tex}[2012/07/22 KOMA-Script guide (chapter: typearea)] +\KOMAProvidesFile{typearea.tex}% + [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $ + KOMA-Script guide (chapter: typearea)] \translator{Markus Kohm\and Gernot Hassenpflug\and Krickette Murabayashi} -% Date of translated german file: 2012/07/22 +% Date of translated german file: 2013/11/21 \chapter{Construction of the Page Layout with \Package{typearea}} \labelbase{typearea} @@ -355,7 +357,7 @@ user, but rather at authors of classes and packages. \cite{JTsch87}. A disadvantage of this late Middle Age method is that the width of - the text area is no longer dependent on the font. Thus, one doesn't + the text area is no longer dependent on the font. Thus, one does not choose the text area to match the font, but the author or typesetter has to choose the font according to the text area. This can be considered a ``must''. @@ -465,24 +467,24 @@ construction method is found in larger the \PName{Factor}, the larger the text block and the smaller the margins. Any integer value greater than 4 is valid for \PName{Factor}. Please note that large values can lead to -unfulfillment of various minor conditions in the type-area, depending +unfulfillment of various minor conditions in the type area, depending on further options chosen. Thus, in an extreme case, the header may fall outside of the page. Users applying the option \KOption{DIV}\PName{Factor} are themselves responsible for fulfillment of the marginal conditions and setting of a typographically aesthetic line length. -In \autoref{tab:typearea.typearea} are found the type-area sizes for +In \autoref{tab:typearea.typearea} are found the type area sizes for several \Var{DIV} factors for an A4 page without binding correction. Here the minor conditions dependent on font size are not considered. \begin{table} \centering - \caption{Type-area dimensions dependent on \Var{DIV} for A4} + \caption{Type area dimensions dependent on \Var{DIV} for A4} \begin{tabular}{ccccc} \toprule & - \multicolumn{2}{c}{Type-area} & \multicolumn{2}{c}{Margins}\\ + \multicolumn{2}{c}{Type area} & \multicolumn{2}{c}{Margins}\\ %\raisebox{1.5ex}[0pt]{ \Var{DIV} %} @@ -658,7 +660,7 @@ class is used together with a font package. With \KOption{DIV}\PName{current}\ChangedAt{v3.00}{\Package{typearea}} a renewed calculation of text block and margin is requested, in which the currently set \Var{DIV} will be used. This is less of interest for -renewed type-area calculations after loading a different font; it is +renewed type area calculations after loading a different font; it is rather more useful for determining, for example, after changing the leading, while keeping \Var{DIV} the same, that the marginal condition is fulfilled that \Length{textheight} less @@ -670,7 +672,7 @@ exactly the same setting is used as in the last calculation. \begin{Example} Let us take up the previous example again, in which a good line - length is required for a type-area using the Bookman font. At the + length is required for a type area using the Bookman font. At the same time, a {\KOMAScript} class is to be used. This is easily possible using the symbolic value \PValue{last} and the command \Macro{KOMAoptions}: @@ -697,25 +699,25 @@ can also lead to \LaTeX{} loading a different font. \begin{desctabular} \pventry{areaset}{Recalculate page layout.\IndexOption{DIV~=areaset}}% - \pventry{calc}{Recalculate type-area including choice of + \pventry{calc}{Recalculate type area including choice of appropriate \Var{DIV} value.\IndexOption{DIV~=calc}}% - \pventry{classic}{Recalculate type-area using Middle Age book + \pventry{classic}{Recalculate type area using Middle Age book design canon (circle-based calculation).\IndexOption{DIV~=classic}}% - \pventry{current}{Recalculate type-area using current \Var{DIV} + \pventry{current}{Recalculate type area using current \Var{DIV} value.\IndexOption{DIV~=current}}% - \pventry{default}{Recalculate type-area using the standard value + \pventry{default}{Recalculate type area using the standard value for the current page format and current font size. If no standard value exists, \PValue{calc} is used.\IndexOption{DIV~=default}}% - \pventry{last}{Recalculate type-area using the same \PName{DIV} + \pventry{last}{Recalculate type area using the same \PName{DIV} argument as was used in the last call.\IndexOption{DIV~=last}}% \end{desctabular} \end{table} -Often the renewed type-area calculation is required in combination +Often the renewed type area calculation is required in combination with a change in the line spacing -(\emph{leading})\Index{leading}. Since the type-area should be +(\emph{leading})\Index{leading}. Since the type area should be calculated such that an integer number of lines fit in the text block, a change in the leading normally requires a recalculation of the page layout. @@ -733,7 +735,7 @@ layout. \KOMAoptions{DIV=last} \end{lstcode}\IndexCmd{linespread} Since \Package{typearea} always executes the command -\Macro{normalsize} itself upon calculation of a new type-area, it is +\Macro{normalsize} itself upon calculation of a new type area, it is not necessary to activate the chosen leading with \Macro{selectfont} after \Macro{linespread}, since this will be used already in the recalculation. @@ -755,21 +757,26 @@ page should be reset to the normal value. A complete example would be: \fi \begin{lstcode} - \documentclass[10pt,twoside,BCOR=12mm,DIV=calc]{scrreprt} + \documentclass[10pt,twoside,BCOR=12mm,DIV=calc] + {scrreprt} \usepackage{setspace} \onehalfspacing + \AfterTOCHead{\singlespacing} \KOMAoptions{DIV=last} \begin{document} \title{Title} \author{Markus Kohm} \begin{spacing}{1} \maketitle - \tableofcontents \end{spacing} + \tableofcontents \chapter{Ok} \end{document} \end{lstcode} - See further also the notes in \autoref{sec:typearea.tips}. + See further also the notes in \autoref{sec:typearea.tips}. The command + \Macro{AfterTOCHead}\IndexCmd{AfterTOCHead} will be described in + \autoref{cha:tocbasic} of \autoref{part:forExoerts} on + \autopageref{desc:tocbasic.cmd.AfterTOCHead}. \end{Example} Please note that when using this option with one of the {\KOMAScript} @@ -813,7 +820,7 @@ margins are automatically recalculated anew.% \Macro{typearea}\OParameter{BCOR}\Parameter{DIV}} \label{tab:symbolicBCOR} \begin{desctabular} - \pventry{current}{Recalculate type-area with the currently valid + \pventry{current}{Recalculate type area with the currently valid \Var{BCOR} value.\IndexOption{BCOR~=current}} \end{desctabular} \end{table} @@ -828,7 +835,7 @@ change to \PName{BCOR}. \begin{Explain} The command \Macro{typearea} is currently defined so as to make it - possible to change the type-area anywhere within a + possible to change the type area anywhere within a document. Several assumptions about the structure of the {\LaTeX} kernel are however made and internal definitions and sizes of the kernel changed. There is a definite possibility, but no guarantee, @@ -838,7 +845,7 @@ change to \PName{BCOR}. Since \Macro{typearea}\POParameter{current}\PParameter{last} or \Macro{KOMAoptions}\PParameter{DIV=last} are often needed for -recalculation of the type-area, there exists specially the +recalculation of the type area, there exists specially the abbreviated command \Macro{recalctypearea}\ChangedAt{v3.00}{\Package{typearea}}. @@ -882,38 +889,42 @@ typesetting is carried out. Deactivation of the option leads to single-sided typesetting. \begin{table} - \begin{minipage}{\textwidth} \centering \caption{Standard values for simple switches in \KOMAScript} \begin{tabular}{ll} \toprule Value & Description \\ \midrule - \PValue{true}\footnote{This value will be used also, if you use the option - without assigning any value.} & activates the option \\ + \PValue{true} & activates the option \\ \PValue{on} & activates the option \\ - \PValue{yes} & activates the option \\ + \PValue{yes} & activates the option \\ \PValue{false}& deactivates the option \\ \PValue{off} & deactivates the option \\ - \PValue{no} & deactivates the option \\ + \PValue{no} & deactivates the option \\ \bottomrule \end{tabular} \label{tab:truefalseswitch} - \end{minipage} \end{table} Apart from the values in \autoref{tab:truefalseswitch} the value -\PValue{semi}\ChangedAt{v3.00}{\Package{typearea}} can also be -given. The value \PValue{semi} results in a double-sided typesetting -with single-sided margins and single-sided, i.\ e., not alternating, -margin notes. +\PValue{semi}\ChangedAt{v3.00}{\Package{typearea}} can also be given. The +value \PValue{semi} results in a double-sided typesetting with single-sided +margins and single-sided, i.\ e., not alternating, margin +notes. Nevertheless\ChangedAt{v3.12}{\Package{typearea}}, since \KOMAScript{} +version 3.12 binding corrections (see \Option{BCOR}, +\autopageref{desc:typearea.option.BCOR}) will be part of the left margin on +odd pages but part of the right margin on even pages. But if you use +compatibility with prior versions of \KOMAScript (see +\autoref{sec:typearea.compatibilityOptions}, +\autopageref{sec:typearea.compatibilityOptions}), binding correction will be +part of the left margin on both pages while using \OptionValue{twoside}{semi}. The option can also be passed as class option in \Macro{documentclass}, as package option to \Macro{usepackage}, or even after loading of the \Package{typearea} package with the use of \Macro{KOMAoptions} or \Macro{KOMAoption}. Use of the option after loading the \Package{typearea} package results automatically in -recalculation of the type-area using \Macro{recalctypearea} (see +recalculation of the type area using \Macro{recalctypearea} (see \autopageref{desc:typearea.cmd.recalctypearea}). If double-sided typesetting was active before the option was set, then before the recalculation a page break is made to the next odd page.% @@ -925,11 +936,11 @@ recalculation a page break is made to the next odd page.% \begin{Declaration} \KOption{twocolumn}\PName{simple switch} \end{Declaration} -For the calculation of a good type-area with the help of +For the calculation of a good type area with the help of \OptionValue{DIV}{calc} it is useful to know in advance if the document is to be typeset one-column or two-column. Since the observations about line length in \autoref{sec:typearea.basics} then -apply to each column, the width of a type-area in a two-column +apply to each column, the width of a type area in a two-column document can be up to double that in a one-column document. To implement this difference, the \Package{typearea} package must be @@ -945,7 +956,7 @@ The option can also be passed as class option in even after loading of the \Package{typearea} package with the use of \Macro{KOMAoptions} or \Macro{KOMAoption}. Use of the option after loading the \Package{typearea} package results automatically in -recalculation of the type-area using \Macro{recalctypearea} (see +recalculation of the type area using \Macro{recalctypearea} (see \autopageref{desc:typearea.cmd.recalctypearea}).% % \EndIndex{Option}{twocolumn~=\PName{simple switch}} @@ -958,8 +969,8 @@ recalculation of the type-area using \Macro{recalctypearea} (see \KOption{footinclude}\PName{simple switch} \end{Declaration}% \begin{Explain}% - So far we have discussed how the type-area is - calculated\Index{type-area} and the relationship of the + So far we have discussed how the type area is + calculated\Index{type area} and the relationship of the margins\Index{margins} to one another and between margins and text block. However, one important question has not been answered: What constitutes the margins? @@ -1039,9 +1050,9 @@ Please note that when using these options with one of the either as a class option, or passed via \Macro{KOMAoptions} or \Macro{KOMAoption} after loading the class. Changing of these options after loading the \Package{typearea} package does not result in an -automatic recalculation of the type-area. Instead, the changes only -take effect at the next recalculation of the type-area. For -recalculation of the type-area, refer to the \Option{DIV} option with +automatic recalculation of the type area. Instead, the changes only +take effect at the next recalculation of the type area. For +recalculation of the type area, refer to the \Option{DIV} option with the values \PValue{last} or \PValue{current} (see \autopageref{desc:typearea.option.DIV.last}) or the \Macro{recalctypearea} command (see @@ -1083,7 +1094,7 @@ double-sided page layout has been chosen. The option ragged text gives no homogeneous optical impression, the long lines can reach right into the normal margin. This can be done using option \Option{mpinclude} and by an enlargement of length - \Length{marginparwidth} after the type-area has been set up. The + \Length{marginparwidth} after the type area has been set up. The length can be easily enlarged with the command \Macro{addtolength}. How much the length has to be enlarged depends on the special situation and it requires some flair. This is another reason the @@ -1098,7 +1109,7 @@ double-sided page layout has been chosen. The option Currently there is no option to enlarge the margin by a given amount. The only solution is to either not use the option \Option{mpinclude} or to set \Option{mpinclude} to \PValue{false}, - and after the type-area has been calculated, one reduces the + and after the type area has been calculated, one reduces the width of the text body \Length{textwidth} and enlarges the margin width \Length{marginparwidth} by the same amount. Unfortunately, this cannot be combined with automatic calculation of the @@ -1113,9 +1124,9 @@ classes as in the example above, it must be used either as a class option, or passed via \Macro{KOMAoptions} or \Macro{KOMAoption} after loading the class. Changing of this option after loading the \Package{typearea} package does not result in an automatic -recalculation of the type-area. Instead, the changes only take effect -at the next recalculation of the type-area. For recalculation of the -type-area, refer to the \Option{DIV} option with the values +recalculation of the type area. Instead, the changes only take effect +at the next recalculation of the type area. For recalculation of the +type area, refer to the \Option{DIV} option with the values \PValue{last} or \PValue{current} (see \autopageref{desc:typearea.option.DIV.last}) or the \Macro{recalctypearea} command (see @@ -1130,7 +1141,7 @@ type-area, refer to the \Option{DIV} option with the values \KOption{headlines}\PName{number of lines}\\ \KOption{headheight}\PName{height} \end{Declaration}% -We have seen how to calculate the type-area using the +We have seen how to calculate the type area using the \Package{typearea} package and how to specify whether header and footer are part of the text or the margins. However, in particular for the header, we still have to specify the height. This is achieved with @@ -1149,7 +1160,7 @@ its default value and adapt it only in special cases. Assume that you want to use a header with two lines. Normally this would result in an ``\texttt{overfull} \Macro{vbox}'' warning for each page. To prevent this from happening, the \Package{typearea} package is told to - calculate an appropriate type-area: + calculate an appropriate type area: \begin{lstcode} \documentclass[a4paper]{article} \usepackage[headlines=2.1]{typearea} @@ -1159,8 +1170,8 @@ directly as a class option: \begin{lstcode} \documentclass[a4paper,headlines=2.1]{scrartcl} \end{lstcode} -Commands that can be used to define the contents of a header with two -lines are described in \autoref{cha:scrpage}. +Commands that can be used to define the contents of a header with two lines +are described in \autoref{cha:scrpage} and \autoref{cha:scrlayer-scrpage}. \end{Example} In some cases it is useful to be able to specify the header height not @@ -1169,7 +1180,7 @@ with the aid of the alternative option \Option{headheight}. For \PName{height} any lengths and sizes that \LaTeX{} understands are valid. It should be noted though that when using a \LaTeX{} length such as \Length{baselineskip} its value at the time of the calculation -of the type-area and margins, not at the time of setting of the +of the type area and margins, not at the time of setting of the option, is decisive. Please note that when using these options with one of the @@ -1177,9 +1188,9 @@ Please note that when using these options with one of the either as a class option, or passed via \Macro{KOMAoptions} or \Macro{KOMAoption} after loading the class. Changing of these options after loading the \Package{typearea} package does not result in an -automatic recalculation of the type-area. Instead, the changes only -take effect at the next recalculation of the type-area. For -recalculation of the type-area, refer to the \Option{DIV} option with +automatic recalculation of the type area. Instead, the changes only +take effect at the next recalculation of the type area. For +recalculation of the type area, refer to the \Option{DIV} option with the values \PValue{last} or \PValue{current} (see \autopageref{desc:typearea.option.DIV.last}) or the \Macro{recalctypearea} command (see @@ -1188,13 +1199,87 @@ the values \PValue{last} or \PValue{current} (see \EndIndex{Option}{headheight~=\PName{height}}% \EndIndex{Option}{headlines~=\PName{number}} +\begin{Declaration} + \KOption{footlines}\PName{number}\\ + \KOption{footheight}\PName{height} +\end{Declaration} +\BeginIndex{Option}{footlines~=\PName{number}}% +\BeginIndex{Option}{footheight~=\PName{height}}% +As\ChangedAt{v3.12}{\Package{typearea}} well as we needed a height value for +the head, we need a height value for the page footer. But in difference to the +height of the head, \LaTeX itself do not provide a length for the height of +the page footer. So \Package{typearea} defines the new length +\Length{footheight}\IndexLength[indexmain]{footheight}, if it does not +exist. Wether or not this length will be used by classes or packages depends +on the classes and packages, that will be used. The \KOMAScript{} package +\Package{scrlayer-scrpage} incorporates \Length{footheight} and actively +cooperates with \Package{typearea}. The \KOMAScript{} classes do not recognize +\Length{footheight}, because without any package assistance they provide only +page styles with single-line page footers. + +You can use \Option{footlines} to setup the \PName{number} of lines in the +page footer, similar to \Option{headlines} for the number of lines in the page +header. By default \Package{typearea} uses 1.25 footlines. This is a +compromise, large enough for overlining or underlining footers and small +enough that the relative weight of the bottom margin is not affected too mich +when the footer is neither over- nor underlined. Thus in most cases you may +leave \PName{footlines} at its default value and adapt it only in special +cases. + +\begin{Example} + Assume a two-lined copyright note should be placed in the page + footer. Indeed, \LaTeX{} itself does not test, whether or not the footer has + room enough for that, exceeding of the available height would probably could + result in unbalanced margins. Moreover, for example package + \Package{scrlayer-scrpage}, that may be used to define such a page footer, + would definitely do such a test and would notify a recognised oversize. So + it makes sense, to declare the needed footheight already for the calculation + of the text area and the margins: +\begin{lstcode} + \documentclass[a4paper]{article} + \usepackage[footlines=2.1]{typearea} +\end{lstcode} + Again, if you use a \KOMAScript{} class, it is recommended to pass this + option directly a a class option: +\begin{lstcode} + \documentclass[footlines=2.1]{scrartcl} +\end{lstcode} + Commands that can be used to define the contents of a footer with two lines + are described in \autoref{cha:scrlayer-scrpage}. +\end{Example} + +In some cases it is useful to be able to specify the footer height not +in lines but directly as a length measurement. This is accomplished +with the aid of the alternative option \Option{footheight}. For +\PName{height} any lengths and sizes that \LaTeX{} understands are +valid. It should be noted though that when using a \LaTeX{} length +such as \Length{baselineskip} its value at the time of the calculation +of the type area and margins, not at the time of setting of the +option, is decisive. + +Please note that when using these options with one of the +{\KOMAScript} classes as in the example above, they must be used +either as a class option, or passed via \Macro{KOMAoptions} or +\Macro{KOMAoption} after loading the class. Changing of these options +after loading the \Package{typearea} package does not result in an +automatic recalculation of the type area. Instead, the changes only +take effect at the next recalculation of the type area. For +recalculation of the type area, refer to the \Option{DIV} option with +the values \PValue{last} or \PValue{current} (see +\autopageref{desc:typearea.option.DIV.last}) or the +\Macro{recalctypearea} command (see +\autopageref{desc:typearea.cmd.recalctypearea}).% +\EndIndex{Option}{footheight~=\PName{height}}% +\EndIndex{Option}{footlines~=\PName{number}}% + + \BeginIndex{Cmd}{areaset}% \begin{Declaration} \Macro{areaset}\OParameter{BCOR}\Parameter{Width}\Parameter{Height} \end{Declaration}% So far we have seen how a good or even very good -type-area\Index{type-area} is calculated and how the +type area\Index{type area} is calculated and how the \Package{typearea} package can support these calculations, giving you at the same time the freedom to adapt the layout to your needs. However, there are cases where the text body has to fit exactly some @@ -1230,7 +1315,7 @@ text line is \Macro{topskip} below the top margin of the type area, as long as the height of the topmost line is less than \Macro{topskip}. Thus, the uppermost line does not require any height. The descenders of characters on the lowermost line, on the -other hand, hang below the dimensions of the type-area. +other hand, hang below the dimensions of the type area. \item A poetry book with a square text body with a page length of 15\Unit{cm} and a binding correction of 1\Unit{cm} could be @@ -1248,7 +1333,7 @@ other hand, hang below the dimensions of the type-area. \OptionValue{DIV}{areaset} \end{Declaration}% In\ChangedAt{v3.00}{\Package{typearea}} rare cases it is useful to be -able to reconstruct the current type-area anew. This is possible via +able to reconstruct the current type area anew. This is possible via the option \OptionValue{DIV}{areaset}, where \Macro{KOMAoptions}\PParameter{DIV=areaset} corresponds to the \begin{lstcode}[belowskip=\dp\strutbox] @@ -1356,8 +1441,8 @@ classes, it must be used either as a class option, or passed via \Macro{KOMAoptions} or \Macro{KOMAoption} after loading the class. Changing of this option after loading the \Package{typearea} package does not result in an automatic recalculation of the -type-area. Instead, the changes only take effect at the next -recalculation of the type-area. For recalculation of the type-area, +type area. Instead, the changes only take effect at the next +recalculation of the type area. For recalculation of the type area, refer to the \Option{DIV} option with the values \PValue{last} or \PValue{current} (see \autopageref{desc:typearea.option.DIV.last}) or the \Macro{recalctypearea} command (see @@ -1375,7 +1460,7 @@ the \Macro{recalctypearea} command (see The above-mentioned mechanisms for choice of paper format only affect the output insofar as internal {\LaTeX} lengths are set. The \Package{typearea} package then uses them in the division of the - page into type-area and margins. + page into type area and margins. The specification of the DVI formats\Index{DVI}, however, does not include any indications of paper format. If printing is done directly from DVI format to a low-level @@ -1421,7 +1506,7 @@ at \autoref{tab:typearea.outputdriver}. The default is \Macro{mediaheight}\IndexLength{mediaheight} are defined, they will be set additionally.\IndexOption{pagesize~=\PValue{automedia}}}% \entry{\PValue{false}, \PValue{no}, \PValue{off}}{% - Doesn't set any output driver and doesn't send page size information to + Does not set any output driver and does not send page size information to the output driver.\IndexOption{pagesize~=\PValue{false}}}% \pventry{dvipdfmx}{\ChangedAt{v3.05a}{\Package{typearea}}Writes paper size into DVI files using @@ -1516,7 +1601,7 @@ not as a fixed, but as an average or maximal value.% As executed, record regulations are usually intended to obtain a usable result even if the author does not know what needs to be considered. \emph{Usable} frequently means readable and correctable. In -the author's opinion the type-area of a text set with {\LaTeX} and the +the author's opinion the type area of a text set with {\LaTeX} and the \Package{typearea} package meets these criteria well right from the start. Thus if one is confronted with regulations which deviate obviously substantially from it, then the author recommends submitting @@ -1527,7 +1612,7 @@ modification of option \Option{DIV}. The author advises against the use of \Macro{areaset} for this purpose however. In the worst case one may make use of the geometry package (see \cite{package:geometry}), which is not part of \KOMAScript, or change -the type-area parameters of \LaTeX. One may find the values +the type area parameters of \LaTeX. One may find the values determined by \Package{typearea} in the \File{log} file of one's document. Thus moderate adjustments should be possible. However, one should make absolutely sure that the proportions of the text area @@ -1542,7 +1627,7 @@ too frequently, it has been obsolete since the introduction of \Macro{linespread}. The author recommends the package \Package{setspace}\IndexPackage{setspace} (see \cite{package:setspace}), which is not part of \KOMAScript. Also one -should let \Package{typearea} recalculate a new type-area after the +should let \Package{typearea} recalculate a new type area after the conversion of the line spacing. However, one should switch back to the normal line spacing for the title, preferably also for the table contents and various listings\,---\,as well as the bibliography and @@ -1557,7 +1642,7 @@ respective document. Thus one can select a smaller value easily after the first {\LaTeX} run. The question is not infrequently put to the author, why he spends an -entire chapter discussing type-area calculations, when it would be +entire chapter discussing type area calculations, when it would be very much simpler to merely give the world a package with which anyone can adjust the margins like in a word processor. Often it is added that such a package would in any case be the better solution, since diff --git a/Master/texmf-dist/source/latex/koma-script/doc/guide.bib b/Master/texmf-dist/source/latex/koma-script/doc/guide.bib index 8bc465fd7b7..1a9b3ea8bd1 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/guide.bib +++ b/Master/texmf-dist/source/latex/koma-script/doc/guide.bib @@ -1,6 +1,6 @@ % ====================================================================== % guide.bib -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % guide.bib -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -80,12 +80,12 @@ author = {Kohm, Markus and Morawski, Jens-Uwe}, title = {{\KOMAScript}}, subtitle= {Eine Sammlung von Klassen und Paketen für {\LaTeXe}}, - year = 2008, - edition = 3, + year = 2012, + edition = 4, publisher={Lehmanns Media}, address = {Berlin}, series = {Edition DANTE}, - isbn = {978-3-86541-291-1} + isbn = {978-3-86541-459-5} } @Book{ DUDEN, @@ -172,6 +172,15 @@ address = {Berlin} } +@Manual{ manual:eTeX, + language = {english}, + author = {The {\NTS} Team}, + title = {The {\eTeX} manual}, + year = {1998}, + month = feb, + url = {CTAN://systems/e-tex/v2/doc/etex_man.pdf} +} + @Manual{ latex:source2e, language = {english}, author = {Johannes Braams and David Carlisle and Alan Jeffrey and Leslie Lamport and Frank Mittelbach and Chris Rowley and Rainer Schöpf}, @@ -201,11 +210,11 @@ @Manual{ l2kurz, language = {ngerman}, - author = {Walter Schmidt and Jörg Knappen and Hubert Partl and Irene -Hyna}, + author = {Marco Daniel and Patrick Gundlach and Walter Schmidt and Jörg Knappen and Hubert Partl and Irene Hyna}, title = {{\LaTeXe}-Kurzbeschreibung}, - year = 1999, - month = apr, + year = 2012, + month = jul, + version = {3.0}, url = {CTAN://info/lshort/german/} } @@ -214,10 +223,10 @@ Hyna}, author = {Tobias Oetker and Hubert Partl and Irene Hyna and Elisabeth Schlegl}, title = {The Not So Short Introduction to {\LaTeXe}}, - year = 1999, + year = 2011, month = apr, - version = {3.7}, - url = {CTAN://info/lshort/} + version = {5.01}, + url = {CTAN://info/lshort/english} } @Book{ latexbook, diff --git a/Master/texmf-dist/source/latex/koma-script/doc/guide.tex b/Master/texmf-dist/source/latex/koma-script/doc/guide.tex index 6fc6a8c55dd..41ba9402133 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/guide.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/guide.tex @@ -45,7 +45,7 @@ % % ====================================================================== -\ProvidesFile{guide.tex}[2012/02/22 KOMA-Script guide main file] +\ProvidesFile{guide.tex}[2013/10/14 KOMA-Script guide main file] \documentclass[\languagename]{scrguide} @@ -95,6 +95,7 @@ \include{scrbookreportarticle} \include{scrlttr2} \include{scrpage2} +\include{scrlayer-scrpage} \include{scrdatetime} \include{scraddr} \include{adrconvnote} @@ -106,6 +107,9 @@ \include{scrwfile} \include{tocbasic} \include{scrhack} +\include{scrlayer} +\include{scrlayer-scrpage-experts} +\include{scrlayer-notecolumn} \include{typearea-experts} \include{scrbookreportarticle-experts} \include{scrlttr2-experts} diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-0.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-0.tex index 8954468a96f..1838631a98a 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-0.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-0.tex @@ -1,6 +1,6 @@ % ====================================================================== % common-0.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % common-0.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,9 @@ % % ====================================================================== -\ProvidesFile{common-0.tex}[2011/08/26 KOMA-Script guide (common paragraphs)] +\KOMAProvidesFile{common-0.tex} + [$Date: 2013-12-12 12:01:33 +0100 (Do, 12. Dez 2013) $ + KOMA-Script guide (common paragraphs)] \makeatletter \@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}% @@ -78,13 +80,26 @@ neben % "~Klassen }% \IfCommon{scrjura}{\Package{scrjura} auch andere \KOMAScript-Pakete und "~Klassen }% -betrifft. Damit die Anwender alle Informationen zu einem Paket oder einer -Klasse im jeweiligen Kapitel finden, ist dieser Abschnitt nahezu gleichlautend -in mehreren Kapiteln zu finden. Anwender, die nicht nur an der Anleitung zu -einem Paket oder einer Klasse interessiert sind, sondern sich einen -Gesamtüberblick über \KOMAScript{} verschaffen wollen, brauchen diesen -Abschnitt nur in einem der Kapitel zu lesen und können ihn beim weiteren -Studium der Anleitung dann überspringen. +\IfCommon{scrlayer}{\Package{scrlayer} auch andere \KOMAScript-Pakete und + "-Klassen }% +\IfCommon{scrlayer-scrpage}{\Package{scrlayer} auch andere \KOMAScript-Pakete + und "-Klassen }% +betrifft. % +% Umbruchvarianten: +\IfNotCommon{scrlttr2}{Damit die Anwender alle Informationen zu einem Paket + oder einer Klasse im jeweiligen Kapitel finden, ist dieser Abschnitt nahezu + gleichlautend in mehreren Kapiteln zu finden. Anwender, die nicht nur an + der Anleitung zu einem Paket oder einer Klasse interessiert sind, sondern + sich einen Gesamtüberblick über \KOMAScript{} verschaffen wollen, brauchen + diesen Abschnitt nur in einem der Kapitel zu lesen und können ihn + \IfCommon{maincls}{bei den weiteren Kapitel überspringen.}% + \IfNotCommon{maincls}{beim weiteren Studium der Anleitung dann + überspringen.}% +} % +\IfCommon{scrlttr2}{Im Sinne der Abgeschlossenheit der Kapitel ist dieser + Abschnitt nahezu identisch in mehreren Kapiteln zu finden, braucht aber beim + Studium des gesamten von \KOMAScript{} natürlich nur in einem gelesen + werden.} \begin{Declaration} \Macro{documentclass}\OParameter{Optionenliste}% @@ -111,19 +126,44 @@ arbeiten \Macro{documentclass} und \Macro{usepackage} bei \KOMAScript{} wie in \cite{latex:usrguide} oder jeder \LaTeX-Einführung, beispielsweise \cite{l2kurz}, beschrieben.% % -\IfNotCommon{scrjura}{\IfNotCommon{scrhack}{\IfNotCommon{scrextend}{\par% - Bei Verwendung einer \KOMAScript-Klasse\textnote{Achtung!} sollten im - Übrigen beim +\iffree{}{\IfCommon{scrlayer-scrpage}{\par + Das als veraltet zu betrachtende Paket + \Package{scrpage2}\IndexPackage{scrpage2}\important{\Package{scrpage2}} + besitzt diese Erweiterung übrigens nicht. Es versteht daher nur einfache + Optionen ohne Wertzuweisung.\par}}% +% +\IfNotCommon{scrjura}{% + \IfNotCommon{scrhack}{% + \IfNotCommon{scrlayer}{% + \IfNotCommon{scrlayer-scrpage}{% + \IfNotCommon{scrlayer-notecolumn}{% + \IfNotCommon{scrextend}{\par% + Bei Verwendung einer \KOMAScript-Klasse\textnote{Achtung!} sollten + im Übrigen beim % Die Alternativen an dieser Stelle dienen der Verbesserung des Umbruchs -\IfCommon{typearea}{überflüssigen, expliziten }% -Laden des Pakets \Package{typearea} oder \Package{scrbase} keine Optionen -angegeben werden. Das ist darin begründet, dass die Klasse diese Pakete -bereits ohne Optionen lädt und \LaTeX{} das mehrmalige Laden eines Pakets mit -unterschiedlicher Angabe von Optionen verweigert.% -\IfCommon{maincls}{\ Überhaupt ist es bei Verwendung einer \KOMAScript-Klasse - nicht notwendig, eines dieser Pakete auch noch explizit zu laden.}% -\IfCommon{scrlttr2}{\ Überhaupt ist es bei Verwendung einer \KOMAScript-Klasse - nicht notwendig, eines dieser Pakete auch noch explizit zu laden.}}}}% + \IfCommon{typearea}{überflüssigen, expliziten }% + Laden des Pakets \Package{typearea} oder \Package{scrbase} keine + Optionen angegeben werden. Das ist darin begründet, dass die + Klasse diese Pakete bereits ohne Optionen lädt und \LaTeX{} das + mehrmalige Laden eines Pakets mit unterschiedlicher Angabe von + Optionen verweigert.% +% \IfCommon{maincls}{\ Überhaupt ist es bei Verwendung einer +% \KOMAScript-Klasse nicht notwendig, eines dieser Pakete auch +% noch explizit zu laden.}% + \IfCommon{scrlttr2}{\ Überhaupt ist es bei Verwendung einer + \KOMAScript-Klasse nicht notwendig, eines dieser Pakete auch + noch explizit zu laden.}}}}}}} + +Gegenüber der nachfolgend vorgestellten Schnittstelle zu Einstellungen von +Optionen haben \Macro{documentclass} und \Macro{usepackage} einen Nachteil, +der unbedingt zu beachten\textnote{Achtung!} ist: Anweisungen, Längen, Zähler +und ähnliches können darin leicht zerbrechen. So führt die Verwendung einer +\LaTeX-Länge im Wert einer Option bei diesen Anweisungen zu einer +Fehlermeldung, noch bevor der Wert an \KOMAScript{} übergeben wird, es also +die Kontrolle darüber übernehmen könnte. Wertzuweisungen mit \LaTeX-Längen +oder \LaTeX-Zählern sollten daher nie per \Macro{documentclass} oder +\Macro{usepackage}, sondern immer mit den nachfolgend dokumentierten +Anweisungen \Macro{KOMAoptions} oder \Macro{KOMAoption} vorgenommen werden.% % \EndIndex{Cmd}{usepackage}% \EndIndex{Cmd}{documentclass}% @@ -149,34 +189,40 @@ einfach in der Form \PName{Option}, so wird automatisch dieser Säumniswert angenommen. Manche Optionen können % -\IfCommon{maincls}{auch }% Umbruchkorrektur -\IfCommon{scrlttr2}{auch }% Umbruchkorrektur +%\IfCommon{maincls}{auch }% Umbruchkorrektur +%\IfCommon{scrlttr2}{auch }% Umbruchkorrektur gleichzeitig mehrere Werte besitzen. Für solche Optionen besteht die -Möglichkeit, mit Hilfe von \Macro{KOMAoption} der einen \PName{Option} +Möglichkeit, mit \Macro{KOMAoption} der einen \PName{Option} nacheinander eine Reihe von Werten zuzuweisen. Die einzelnen Werte sind dabei in der \PName{Werteliste} durch Komma voneinander getrennt. -\begin{Explain} - \looseness=-1 - Falls man in der \PName{Optionenliste} eine Option auf einen unzulässigen - Wert setzt oder die \PName{Werteliste} einen unzulässigen Wert enthält, so - wird ein Fehler gemeldet. Wird \LaTeX{} in einem Modus verwendet, in dem im - Fehlerfall Interaktionen möglich sind, so stoppt \LaTeX{} in diesem - Fall. Durch Eingabe von »\texttt{h}« erhält man dann eine Hilfe, in der - auch die möglichen Werte für die entsprechende Option angegeben sind. - - Soll\textnote{Achtung!} in einem \PName{Wert} ein Gleichheitszeichen oder - ein Komma vorkommen, so ist der \PName{Wert} in geschweifte Klammern zu - setzen. +Soll\textnote{Achtung!} ein \PName{Wert} ein Gleichheitszeichen oder ein Komma +enthalten, so ist der \PName{Wert} in geschweifte Klammern zu setzen. +\begin{Explain} \KOMAScript{} bedient sich für die Realisierung dieser Möglichkeit der Anweisungen \Macro{FamilyOptions} und \Macro{FamilyOption} mit der Familie - »\PValue{KOMA}«. Näheres zu diesen Anweisungen ist % + »\PValue{KOMA}«. +\iffalse % Umbruchkorrektur + Näheres zu diesen Anweisungen ist % \IfCommon{maincls}{für Experten }% \IfCommon{scrlttr2}{für Experten }% in \autoref{sec:scrbase.keyvalue}, \autopageref{desc:scrbase.cmd.FamilyOptions} zu finden. -\end{Explain} +\else + % + Siehe dazu \autoref{part:forExperts}, \autoref{sec:scrbase.keyvalue}, + \autopageref{desc:scrbase.cmd.FamilyOptions}. + % +\fi + +\end{Explain}% +\iffree{}{\IfCommon{scrlayer-scrpage}{\par + Das als veraltet zu betrachtende Paket + \Package{scrpage2}\IndexPackage{scrpage2}\important{\Package{scrpage2}} + besitzt diese Erweiterung übrigens nicht. Optionen können daher nur über + die zuvor erklärte Möglichkeit während des Ladens des Pakets gesetzt + werden.}}% % \EndIndex{Cmd}{KOMAoption}% \EndIndex{Cmd}{KOMAoptions}% diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-1.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-1.tex index c02527550df..60ded49b399 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-1.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-1.tex @@ -1,6 +1,6 @@ % ====================================================================== % common-1.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % common-1.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,9 @@ % % ====================================================================== -\ProvidesFile{common-1.tex}[2011/09/20 KOMA-Script guide (common paragraphs)] +\KOMAProvidesFile{common-1.tex} + [$Date: 2013-12-12 12:01:33 +0100 (Do, 12. Dez 2013) $ + KOMA-Script guide (common paragraphs)] \makeatletter \@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}% @@ -67,15 +69,14 @@ geschrieben wurde. \IfCommon{scrlttr2}{Allerdings existiert diese Möglichkeit \IfCommon{typearea}{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 am Paket zu Änderungen im - Verhalten, inbesondere beim Umbruch, führen. Dies ist in einigen Fällen - jedoch eher unerwünscht.}% + wieder exakt dasselbe Ergebnis erzielt wird. In einigen Fällen führen aber + Verbesserungen und Korrekturen am Paket zu Änderungen im Verhalten, + inbesondere beim Umbruch. Dies ist jedoch manchmal eher unerwünscht.}% \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.}% + wieder exakt dasselbe Ergebnis erzielt wird. In einigen Fällen führen aber + Verbesserungen und Korrekturen am Paket zu unerwünschten Änderungen im + Verhalten und insbesondere bezüglich des Umbruchs.}% \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 @@ -167,8 +168,12 @@ dem Laden % \IfCommon{scrlttr2}{der Klasse }% \IfCommon{typearea}{des Pakets \Package{typearea} }% \IfCommon{scrextend}{des Pakets \Package{scrextend} }% -nicht mehr verändert werden kann. Das Setzen mit \Macro{KOMAoptions} oder -\Macro{KOMAoption} ist für diese Option daher nicht vorgesehen.% +nicht mehr verändert werden kann. +Das Setzen mit \Macro{KOMAoptions} oder +\Macro{KOMAoption} ist +% Umbruchkorrektur +\IfNotCommon{scrlttr2}{für diese Option }% +daher nicht vorgesehen.% % \EndIndex{Option}{version~=\PName{Wert}}% \EndIndex{Option}{version~=\PValue{first}}% diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-11.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-11.tex index 66e4e0d0976..7cc374f52f8 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-11.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-11.tex @@ -1,6 +1,6 @@ % ====================================================================== % common-11.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % common-11.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,9 @@ % % ====================================================================== -\ProvidesFile{common-11.tex}[2012/01/01 KOMA-Script guide (common paragraphs)] +\KOMAProvidesFile{common-11.tex} + [$Date: 2013-12-11 20:21:09 +0100 (Mi, 11. Dez 2013) $ + KOMA-Script guide (common paragraphs)] \makeatletter \@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}% @@ -90,7 +92,8 @@ Definition: % Umbruchkorrektur: listings korrigieren! \begin{lstcode}[belowskip=\dp\strutbox] \deffootnote[1em]{1.5em}{1em}{% - \textsuperscript{\thefootnotemark}} + \textsuperscript{\thefootnotemark}% + } \end{lstcode} Dabei wird mit Hilfe von \Macro{textsuperscript} sowohl die Hochstellung als auch die Wahl einer kleineren Schrift erreicht. Die Anweisung @@ -231,7 +234,8 @@ Schriftart kann mit den Anweisungen \Macro{setkomafont} und erhalten werden: \begin{lstcode} \deffootnote{1.5em}{1em}{% - \makebox[1.5em][l]{\thefootnotemark}} + \makebox[1.5em][l]{\thefootnotemark}% + } \end{lstcode} Sollen jedoch die Fußnoten insgesamt lediglich in einer anderen Schriftart, diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-12.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-12.tex index 492368c9c8d..26dd4e78e3e 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-12.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-12.tex @@ -45,7 +45,9 @@ % % ====================================================================== -\ProvidesFile{common-12.tex}[2011/09/21 KOMA-Script guide (common paragraphs)] +\KOMAProvidesFile{common-12.tex} + [$Date: 2013-12-11 20:21:09 +0100 (Mi, 11. Dez 2013) $ + KOMA-Script guide (common paragraphs)] \makeatletter \@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}% @@ -125,7 +127,6 @@ einzelnen Stichpunkte werden mit \Macro{item} eingeleitet.% \item Flugzeuge \begin{itemize} \item Doppeldecker - \item Jets \item Transportmaschinen \begin{itemize} \item einmotorig @@ -142,10 +143,6 @@ einzelnen Stichpunkte werden mit \Macro{item} eingeleitet.% \item Drehflügler \end{itemize} \item Motorräder - \begin{itemize} - \item historisch korrekt - \item futurisch nicht real - \end{itemize} \item Automobile \begin{itemize} \item Rennwagen @@ -163,7 +160,7 @@ einzelnen Stichpunkte werden mit \Macro{item} eingeleitet.% \item Flugzeuge \begin{itemize} \item Doppeldecker - \item Jets +% \item Jets \item Transportmaschinen \begin{itemize} \item einmotorig @@ -180,10 +177,10 @@ einzelnen Stichpunkte werden mit \Macro{item} eingeleitet.% \item Drehflügler \end{itemize} \item Motorräder - \begin{itemize} - \item historisch korrekt - \item futurisch nicht real - \end{itemize} +% \begin{itemize} +% \item historisch korrekt +% \item futurisch nicht real +% \end{itemize} \item Automobile \begin{itemize} \item Rennwagen @@ -634,9 +631,14 @@ ersten Absatz einer \Environment{quotation}-Umgebung% Umbruchkorrektur \begin{Example} \phantomsection\label{desc:maincls.env.quote.example}% Sie wollen eine kleine Anekdote hervorheben. Also schreiben Sie - folgende \Environment{quotation}-Umgebung: + unter Verwendung der Umgebung \Environment{quotation}: % \begin{lstcode} + \documentclass[paper=a5,pagesize]{scrartcl} + \usepackage{selinput} + \SelectInputMappings{adieresis={ä},germandbls={ß}} + \usepackage[ngerman]{babel} + \begin{document} Ein kleines Beispiel für eine Anekdote, die sich einst in Schwaben zugetragen haben soll: \begin{quotation} @@ -656,8 +658,9 @@ ersten Absatz einer \Environment{quotation}-Umgebung% Umbruchkorrektur "`Guda Moh, Sie missat sich halt zwinga!"' \end{quotation} + \end{document} \end{lstcode} - Das Ergebnis ist dann: + Das Ergebnis könnte dann so aussehen: \begin{ShowOutput} \iftrue% Umbruchkorrekturtext Ein kleines Beispiel für eine Anekdote, die sich einst diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-14.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-14.tex index b70c6537975..2f9983066c7 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-14.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-14.tex @@ -1,6 +1,6 @@ % ====================================================================== % common-14.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % common-14.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,9 @@ % % ====================================================================== -\ProvidesFile{common-14.tex}[2012/01/01 KOMA-Script guide (common paragraphs)] +\KOMAProvidesFile{common-14.tex} + [$Date: 2013-12-12 16:57:36 +0100 (Do, 12 Dez 2013) $ + KOMA-Script guide (common paragraphs)] \makeatletter \@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}% @@ -100,17 +102,20 @@ ersetzt werden. \else %------------------------------------------------------- nur maincls - \begin{Declaration} - \KOption{titlepage}\PName{Ein-Aus-Wert} + \KOption{titlepage}\PName{Ein-Aus-Wert}\\ + \OptionValue{titlepage}{firstiscover} \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 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. +\BeginIndex{Option}{titlepage~=\PValue{firstiscover}}% +Mit dieser Option\IfCommon{maincls}{\ChangedAt{v3.00}{\Class{scrbook}\and + \Class{scrreprt}\and \Class{scrartcl}}} wird ausgewählt, ob für die 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}\important{\OptionValue{titlepage}{true}} \IfNotCommon{scrextend}{oder \Option{titlepage} }wird die Titelei in Form von @@ -127,6 +132,30 @@ 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. +Mit\ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Package{scrextend}} der dritten Möglichkeit, +\OptionValue{titlepage}{firstiscover}% +\important{\OptionValue{titlepage}{firstiscover}}, werden nicht nur +Titelseiten aktiviert. Es wird auch dafür gesorgt, dass die erste von +\Macro{maketitle}\IndexCmd{maketitle} ausgegebene Titelseite, also entweder +der Schmutztitel oder der Haupttitel, als Umschlagseite\Index{Umschlag} +ausgegeben wird. Jede andere Einstellung für Option \Option{titlepage} hebt +diese Einstellung wieder auf. Die Ränder\important{% + \Macro{coverpagetopmargin}\\ + \Macro{coverpageleftmargin}\\ + \Macro{coverpagerightmargin}\\ + \Macro{coverpagebottommargin}} dieser Umschlagseite werden über +\Macro{coverpagetopmargin}\IndexCmd[indexmain]{coverpagetopmargin} (oberer +Rand), \Macro{coverpageleftmargin}\IndexCmd[indexmain]{coverpageleftmargin} +(linker Rand), +\Macro{coverpagerightmargin}\IndexCmd[indexmain]{coverpagerightmargin} +(rechter Rand) und natürlich +\Macro{coverpagebottommargin}\IndexCmd[indexmain]{coverpagebottommargin} +(unterer Rand) bestimmt. Die Voreinstellungen sind von den Längen +\Length{topmargin}\IndexLength{topmargin} und +\Length{evensidemargin}\IndexLength{evensidemargin} abhängig und können mit +\Macro{renewcommand} geändert werden. + \IfCommon{maincls}{Bei den Klassen \Class{scrbook} und \Class{scrreprt} sind Titelseiten voreingestellt. Demgegenüber verwendet \Class{scrartcl} in der Voreinstellung einen Titelkopf.}% @@ -135,7 +164,8 @@ Zusammenfassung oder ein Abschnitt gesetzt werden. erkannt. Setzt eine Klasse keine entsprechende Voreinstellung, so ist der Titelkopf voreingestellt.}% % -\EndIndex{Option}{titlepage~=\PName{Ein-Aus-Wert}} +\EndIndex{Option}{titlepage~=\PValue{firstiscover}}% +\EndIndex{Option}{titlepage~=\PName{Ein-Aus-Wert}}% \begin{Declaration} @@ -340,16 +370,24 @@ Der\important{\Macro{titlehead}} \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. +gestaltet werden. Seine\IndexFontElement[indexmain]{titlehead} +Schrift\ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Package{scrextend}} wird über das Element +\FontElement{titlehead}\important{\FontElement{titlehead}} 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}) +gesteuert. Die Voreinstellung ist \autoref{tab:maincls.titlefonts}% +\IfNotCommon{maincls}{, \autopageref{tab:maincls.titlefonts}} zu entnehmen. Die\important{\Macro{subject}} \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}\important{\FontElement{subject}} -Anwendung. Die Voreinstellung, die in \autoref{tab:maincls.titlefonts}% -\IfNotCommon{maincls}{, \autopageref{tab:maincls.titlefonts} }% +Element \FontElement{subject}\IndexFontElement[indexmain]{subject}% +\important{\FontElement{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 label@base\endcsname.textmarkup}, \autopageref{desc:\csname @@ -358,9 +396,9 @@ Anwendung. Die Voreinstellung, die in \autoref{tab:maincls.titlefonts}% Der\important{\Macro{title}} \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}\important{\FontElement{title}} -Anwendung. Voreingestellt ist die gleiche Schrift, die für das Element +für das Element \FontElement{title}\IndexFontElement[indexmain]{title}% +\important{\FontElement{title}} Anwendung. Voreingestellt ist die gleiche +Schrift, die für das Element \FontElement{disposition}\IndexFontElement{disposition} verwendet wird (siehe \autoref{tab:maincls.elementsWithoutText}, \autopageref{tab:maincls.elementsWithoutText}). Die Voreinstellungen können @@ -373,7 +411,7 @@ werden. Die Größe\textnote{Achtung!} ist jedoch davon unabhängig (siehe Der\important{\Macro{subtitle}} \PName{Untertitel}\ChangedAt{v2.97c}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}} wird in der über das Element -\FontElement{subtitle}\IndexFontElement{subtitle}% +\FontElement{subtitle}\IndexFontElement[indexmain]{subtitle}% \important{\FontElement{subtitle}} eingestellten Schrift knapp unter dem Titel ausgegeben. Die Voreinstellung, die \autoref{tab:maincls.titlefonts}% \IfNotCommon{maincls}{, \autopageref{tab:maincls.titlefonts}}% @@ -398,36 +436,71 @@ ausgegeben. Die Voreinstellung, die \autoref{tab:maincls.titlefonts}% \toprule Element-Name & Voreinstellung \\ \midrule + \FontElement{author} & \Macro{Large} \\ + \FontElement{date} & \Macro{Large} \\ + \FontElement{dedication} & \Macro{Large} \\ + \FontElement{publishers} & \Macro{Large} \\ \FontElement{subject} & \Macro{normalfont}\Macro{normalcolor}\Macro{bfseries}\Macro{Large} \\ - \FontElement{title} & \Macro{usekomafont}\PParameter{disposition} \\ \FontElement{subtitle} & \Macro{usekomafont}\PParameter{title}\Macro{large} \\ + \FontElement{title} & \Macro{usekomafont}\PParameter{disposition} \\ + \FontElement{titlehead} & \\ \bottomrule \end{tabular} \end{captionbeside} \end{table}} Unter\important{\Macro{author}} dem \PName{Untertitel} folgt der -\PName{Autor}\Index[indexmain]{Autor}. Es kann auch durchaus mehr als ein +\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. +sind dann mit \Macro{and} voneinander zu +trennen. Auch\ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Package{scrextend}} für die +Autoren\important{\FontElement{author}} kann die Schrift über das gleichnamige +Element \FontElement{author}\IndexFontElement[indexmain]{author}, dessen +Voreinstellung \autoref{tab:maincls.titlefonts}% +\IfNotCommon{maincls}{, \autopageref{tab:maincls.titlefonts}}% +\ zu entnehmen 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}) verändert werden. Unter\important{\Macro{date}} 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. +eine beliebige Angabe -- auch ein leere -- erreicht werden. Die +Schrift\ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Package{scrextend}}\important{\FontElement{date}} wird +über das Element \FontElement{date}\IndexFontElement[indexmain]{date} 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}) +gesteuert. Die Voreinstellung ist \autoref{tab:maincls.titlefonts}% +\IfNotCommon{maincls}{, \autopageref{tab:maincls.titlefonts}}% +\ zu entnehmen. Als\important{\Macro{publishers}} Letztes folgt schließlich der -\PName{Verlag}\Index[indexmain]{Verlag}. 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. - -\looseness=-1 % Umbruchoptimierung! +\PName{Verlag}\Index[indexmain]{Verlag}. 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. Die\ChangedAt{v3.12}{\Class{scrbook}\and + \Class{scrreprt}\and \Class{scrartcl}\and + \Package{scrextend}} Schrift\important{\FontElement{publishers}} der +Verlagsangaben ist über das Element +\FontElement{publishers}\IndexFontElement[indexmain]{publishers} 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}) +veränderbar. Die Voreinstellung ist wiederum in +\autoref{tab:maincls.titlefonts}% +\IfNotCommon{maincls}{, \autopageref{tab:maincls.titlefonts}}% +\ angegeben. + +%\looseness=-1 % Umbruchoptimierung! Fußnoten\important{\Macro{thanks}}\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 @@ -459,16 +532,16 @@ horizontal zentriert. Diese Angaben sind noch einmal kurz zusammengefasst in \toprule Element & Anweisung & Schrift & Satz \\ \midrule - Seitenkopf & \Macro{titlehead} & \Macro{normalsize} & Block- \\ + Seitenkopf & \Macro{titlehead} & \Macro{usekomafont}\PParameter{titlehead} & Block- \\ Typisierung & \Macro{subject} & \Macro{usekomafont}\PParameter{subject} & zentriert \\ Titel & \Macro{title} & - \Macro{huge}\Macro{usekomafont}\PParameter{title} & zentriert \\ + \Macro{usekomafont}\PParameter{title}\Macro{huge} & zentriert \\ Untertitel & \Macro{subtitle} & \Macro{usekomafont}\PParameter{subtitle} & zentriert \\ - Autoren & \Macro{author} & \Macro{Large} & zentriert \\ - Datum & \Macro{date} & \Macro{Large} & zentriert \\ - Verlag & \Macro{publishers} & \Macro{Large} & zentriert \\ + Autoren & \Macro{author} & \Macro{usekomafont}\PParameter{author} & zentriert \\ + Datum & \Macro{date} & \Macro{usekomafont}\PParameter{date} & zentriert \\ + Verlag & \Macro{publishers} & \Macro{usekomafont}\PParameter{publishers} & zentriert \\ \bottomrule \end{tabular} \end{captionbeside} @@ -483,7 +556,7 @@ horizontal zentriert. Diese Angaben sind noch einmal kurz zusammengefasst in Außerdem soll der Betreuer angegeben und zu erkennen sein, dass es sich um eine Diplomarbeit handelt. Sie könnten das wie folgt erreichen: -\ifCommonmaincls +\ifCommonmaincls % Umbruchvarianten \begin{lstcode} \documentclass{scrbook} \usepackage[ngerman]{babel} @@ -531,24 +604,30 @@ horizontal zentriert. Diese Angaben sind noch einmal kurz zusammengefasst in \begin{Explain} Ein häufiges Missverständnis betrifft die Bedeutung der Haupttitelseite. Irrtümlich wird oft angenommen, es handle sich dabei um den - Buchumschlag\textnote{Umschlag} 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\textnote{Titelseiten} unter dem - Buchdeckel innerhalb des so genannten Buchblocks. Genau diese Titelseiten - werden mit \Macro{maketitle} gesetzt. + Buchumschlag\textnote{Umschlag}\Index{Umschlag} 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\textnote{Titelseiten} + 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 + etwas, das 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. + + Seit \KOMAScript~3.12 kann man die erste von \Macro{maketitle} ausgegebene + Titelseite alternativ aber auch als Umschlagseite formatieren lassen. Dabei + ändern sich nur die für diese Seite verwendeten Ränder (siehe Option + \OptionValue{titlepage}{firstiscover}% + \IndexOption{titlepage~=\PValue{firstiscover}} auf \autopageref{desc:\csname + label@base\endcsname.option.titlepage}). \end{Explain} % \EndIndex{Cmd}{titlehead}% @@ -588,17 +667,28 @@ umgekehrt. \iffree{Nimmt man diese Anleitung als Beispiel, so wurde der \Macro{dedication}\Parameter{Widmung} \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} bietet eine eigene Widmungsseite. Diese Widmung\Index{Widmung} +wird zentriert und in der Voreinstellung mit etwas größerer Schrift +gesetzt. Die\ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and + \Package{scrextend}}\important{\FontElement{dedication}} genaue +Schrifteinstellung für das Element +\FontElement{dedication}\IndexFontElement[indexmain]{dedication}, die +\autoref{tab:maincls.titlefonts}, \autopageref{tab:maincls.titlefonts} +zu entnehmen ist, kann über die Anweisungen \Macro{setkomafont} und +\Macro{addtokomafont} (siehe \autoref{sec:\csname + label@base\endcsname.textmarkup}, \autopageref{desc:\csname + label@base\endcsname.cmd.setkomafont}) verändert werden. + +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. \begin{Example} Nehmen wir dieses Mal an, dass Sie einen Gedichtband schreiben, den Sie Ihrer Frau widmen wollen. Das könnte wie folgt aussehen: -\ifCommonmaincls +\ifCommonmaincls% Umbruchkorrekturvariante \begin{lstcode} \documentclass{scrbook} \usepackage[ngerman]{babel} @@ -610,9 +700,11 @@ Anweisung definiert sein. \lowertitleback{% Dieser Gedichtband wurde mit Hilfe von {\KOMAScript} und {\LaTeX} gesetzt.} - \uppertitleback{Selbstverlach\par + \uppertitleback{% + Selbstverlach\par Auf"|lage: 1 Exemplar} - \dedication{Meinem Schnuckelchen\\ + \dedication{% + Meinem Schnuckelchen\\ in ewiger Liebe\\ von Deinem Hasenboppelchen.} \maketitle diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-20.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-20.tex new file mode 100644 index 00000000000..90f0862c5ad --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-20.tex @@ -0,0 +1,136 @@ +% ====================================================================== +% common-20.tex +% Copyright (c) Markus Kohm, 2013 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ---------------------------------------------------------------------- +% common-20.tex +% Copyright (c) Markus Kohm, 2013 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% +% Text that is common for several chapters of the KOMA-Script guide +% Maintained by Markus Kohm +% +% ---------------------------------------------------------------------- +% +% Absätze, die mehreren Kapitels in der KOMA-Script-Anleitung gemeinsam sind +% Verwaltet von Markus Kohm +% +% ============================================================================ + +\KOMAProvidesFile{common-20.tex} + [$Date: 2013-12-17 08:45:48 +0100 (Di, 17 Dez 2013) $ + KOMA-Script guide (common paragraph: Head and Foot Height)] + +\makeatletter +\@ifundefined{ifCommonscrlayer}{\newif\ifCommonscrlayer}{}% +\@ifundefined{ifCommoonscrlayer-scrpage}{\expandafter\newif\csname ifCommonscrlayer-scrpage\endcsname}{}% +\@ifundefined{ifIgnoreThis}{\newif\ifIgnoreThis}{}% +\makeatother + +\section{Höhe von Kopf und Fuß} +\label{sec:\csname label@base\endcsname.height} + +\begin{Explain}% + \IfCommon{scrlayer-scrpage}{% + Vermutlich, weil der Fuß bei den Standardklassen kaum besetzt ist und + zudem als \Macro{mbox} immer einzeilig ist, gibt es bei \LaTeX{} keine + definierte Höhe des Fußes. Zwar ist der Abstand von der letzten Grundlinie + des Textblocks zur Grundlinie des Fußes mit + \Length{footskip}\IndexLength[indexmain]{footskip} durchaus + definiert. Wenn allerdings der Fuß höher als eine Zeile wird, dann ist + nicht hinreichend festgelegt, wie sich diese Höhe niederschlägt bzw. ob + \Length{footskip} den Abstand zur obersten oder untersten Grundlinie des + Fußes darstellt. + + Obwohl auch der Kopf bei den Seitenstilen der Standardklassen in einer + horizontalen Box ausgegeben wird und damit immer einzeilig ist, hat + \LaTeX{} für die Kopfhöhe tatsächlich selbst eine Länge zur Einstellung + ihrer Höhe vorgesehen. Dies erklärt sich vermutlich daraus, dass diese + Höhe zur Bestimmung des Anfangs des Textbereichs benötigt wird.% + }% +\end{Explain} + +\ifshortversion\IgnoreThisfalse\IfNotCommon{scrlayer-scrpage}{\IgnoreThistrue}\fi +\ifIgnoreThis %++++++++++++++++++++++++++++++++++++++ nicht scrlayer-scrpage + +Für grundlegende Informationen zur Höhe von Kopf und Fuß siehe +\autoref{sec:scrlayer-scrpage.height}, +\autopageref{sec:scrlayer-scrpage.height}. +\else % ----------------------------------------------- nur scrlayer-scrpage - + +\begin{Declaration} + \Length{footheight}\\ + \Length{headheight} +\end{Declaration} +\BeginIndex{Length}{footheight}% +\BeginIndex{Length}{headheight}% +Das Paket \Package{scrlayer} führt als neue Länge \Length{footheight} analog +zur Höhe \Length{headheight} ein. Gleichzeitig interpretiert +\Package{scrlayer-scrpage} \Length{footskip} so, dass es den Abstand der +letzten Grundlinie des Textbereichs von der ersten Standard-Grundlinie des +Fußes darstellt. Das Paket \Package{typearea}\IndexPackage{typearea} +betrachtet dies in gleicher Weise, so dass die dortigen Optionen zum Setzen +der Höhe des Fußes (siehe die Optionen \Option{footheight} und +\Option{footlines} in \autoref{sec:typearea.typearea}, +\autopageref{desc:typearea.option.footheight}) und zur Berücksichtigung des +Fußes bei der Berechnung des Satzspiegels (siehe Option \Option{footinclude} +in demselben Abschnitt, \autopageref{desc:typearea.option.footinclude}) sehr +gut zum Setzen der Werte für \Package{scrlayer} verwendet werden können und +auch das gewünschte Ergebnis liefern. + +Wird das Paket \Package{typearea} nicht verwendet, so sollte man +gegebenenfalls die Höhe von Kopf und Fuß über entsprechende Werte für die +Längen einstellen. Zumindest für den Kopf bietet aber beispielsweise auch das +Paket \Package{geometry} entsprechende Einstellmöglichkeiten. Wurde der Kopf +oder der Fuß für den tatsächlich verwendeten Inhalt zu klein gewählt, so +versucht \Package{scrlayer-scrpage} die Längen selbst entsprechend +anzupassen. Gleichzeitig wird eine entsprechende Warnung ausgegeben, die auch +Ratschläge für passende Einstellungen enthält. Die automatischen Änderungen +haben dann ab dem Zeitpunkt, an dem ihre Notwendigkeit erkannt wurde, +Gültigkeit und werden nicht automatisch aufgehoben, wenn beispielsweise der +Inhalt von Kopf oder Fuß wieder kleiner wird.% +\EndIndex{Length}{headheight}% +\EndIndex{Length}{footheight}% + +\fi % ********************************************* Ende nur scrlayer-scrpage * + +%%% Local Variables: +%%% mode: latex +%%% mode: flyspell +%%% coding: iso-latin-1 +%%% ispell-local-dictionary: "de_DE" +%%% TeX-master: "scrlayer-de.tex" +%%% TeX-PDF-mode: t +%%% End: + +% LocalWords: Seitenstilen Ebenenmodell scrpage headings myheadings plain +% LocalWords: empty scrlayer Seitenstil Rückgriffe Gliederungsnummern +% LocalWords: Standardklassen Seitenstile konsistenteren Befehlssatzes +% LocalWords: Einstellmöglichkeiten Seiteninhalts Gliederungsüberschrift diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-21.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-21.tex new file mode 100644 index 00000000000..649d22299f6 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-21.tex @@ -0,0 +1,873 @@ +% ====================================================================== +% common-21.tex +% Copyright (c) Markus Kohm, 2013 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ---------------------------------------------------------------------- +% common-21.tex +% Copyright (c) Markus Kohm, 2013 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% +% Text that is common for several chapters of the KOMA-Script guide +% Maintained by Markus Kohm +% +% ---------------------------------------------------------------------- +% +% Absätze, die mehreren Kapitels in der KOMA-Script-Anleitung gemeinsam sind +% Verwaltet von Markus Kohm +% +% ============================================================================ + +\KOMAProvidesFile{common-21.tex} + [$Date: 2013-12-18 07:42:31 +0100 (Mi, 18. Dez 2013) $ + KOMA-Script guide (common paragraph: + Setting up defined page styles)] + +\makeatletter +\@ifundefined{ifCommonscrlayer}{\newif\ifCommonscrlayer}{}% +\@ifundefined{ifCommonscrlayerscrpage}{\newif\ifCommonscrlayerscrpage}{}% +\@ifundefined{ifCommonscrlayerscrpageexperts}{\newif\ifCommonscrlayerscrpageexperts}{} +\@ifundefined{ifIgnoreThis}{\newif\ifIgnoreThis}{}% +\makeatother + +\section{Beeinflussung von definierten Seitenstilen} +\label{sec:\csname label@base\endcsname.pagestyle.content} + +\IfCommon{scrlayer}{% + Obwohl \Package{scrlayer} selbst keine konkreten Seitenstile mit Inhalt + definiert -- die erwähnten Seitenstile \Pagestyle{@everystyle@} und + \Pagestyle{empty} werden ja zunächst ohne Ebenen, also leer definiert --, + stellt es einige Optionen und Befehle zur Beeinflussung von Inhalten zur + Verfügung.% +} + +\IfCommon{scrlayer-scrpage}{% + In \autoref{sec:scrlayer-scrpage.predefined.pagestyles} wurde erklärt, wie + die Seitenstile \Pagestyle{scrheadings} und \Pagestyle{plain.scrheadings} + grundlegend vordefiniert sind und wie diese Vorbelegung grundsätzlich + geändert werden kann. Es fehlen jedoch noch Informationen, wie + beispielsweise die Kolumnentitel zustande kommen, wie man die Breite des + Kopfes und Fußes verändern kann und wie man Linien über oder unter Kopf oder + Fuß setzen kann. Obwohl dies eigentlich Fähigkeiten des Pakets + \Package{scrlayer} sind, werden sie nachfolgend erläutert, da diese + grundlegenden Eigenschaften von \Package{scrlayer} einen wichtigen Teil der + Möglichkeiten von \Package{scrlayer-scrpage} ausmachen.% +} + +\IfCommon{scrlayer-scrpage-experts}{% + Dieser Abschnitt ist als Ergänzung zu + \autoref{sec:scrlayer.pagestyle.content} zu verstehen und beschreibt Dinge, + die sich dem Anfänger nicht unbedingt sofort erschließen.% +} + +\ifCommonscrlayerscrpageexperts\else % ------- nicht scrlayer-scrpage-experts - +\ifshortversion\IgnoreThistrue\IfCommon{scrlayer-scrpage}{\IgnoreThisfalse}\fi +\ifIgnoreThis %++++++++++++++++++++++++++++++++++++++ nicht scrlayer-scrpage + +\else %------------------------------------------------ nur scrlayer-scrpage - + +\begin{Declaration} + \Macro{automark}\OParameter{Gliederungsebene der rechten Marke}\\ + \phantom{\XMacro{automark}}\Parameter{Gliederungsebene der linken Marke}\\ + \Macro{automark*}\OParameter{Gliederungsebene der rechten Marke}\\ + \phantom{\XMacro{automark*}}\Parameter{Gliederungsebene der linken Marke}\\ + \Macro{manualmark}\\ + \Option{automark}\\ + \KOption{autooneside}\PName{Ein-Aus-Wert}\\ + \Option{manualmark} +\end{Declaration} +\BeginIndex{Cmd}{automark}% +\BeginIndex{Cmd}{manualmark}% +\BeginIndex{Option}{automark}% +\BeginIndex{Option}{manualmark}% +\BeginIndex{Option}{autooneside~=\PName{Ein-Aus-Wert}}% +\begin{Explain} + Bei den Standardklassen und auch bei den \KOMAScript-Klassen fällt die + Entscheidung, ob mit lebenden oder statischen + Kolumnentiteln\Index{Kolumnentitel>lebend}\Index{Kolumnentitel>statisch} + gearbeitet werden soll über die Wahl des entsprechenden Seitenstils. Wie + bereits in \autoref{sec:maincls.pagestyle} erklärt, erhält man bei Wahl von + \Pagestyle{headings}\IndexPagestyle{headings}\important{\Pagestyle{headings}} + lebende Kolumnentitel. Unter lebenden Kolumnentiteln versteht man die + Wiederholung eines für die Seite oder die \emph{Kolumne} markanten Textes + meist im Kopf, seltener im Fuß der Seite. + + Bei den Artikel-Klassen\OnlyAt{\Class{article}\and \Class{scrartcl}} + \Class{article} oder \Class{scrartcl} wird für den lebenden + Kolumnentitel\textnote{lebende Kolumnentitel} im einseitigen Modus die + Abschnittsüberschrift, also das obligatorische oder das optionale Argument + von \Macro{section} verwendet. Diese wird als \emph{rechte Marke} + behandelt. Im doppelseitigen Satz wird dieselbe Überschrift als \emph{linke + Marke} verwendet und gleichzeitig die Unterabschnittsüberschrift als + \emph{rechte Marke}. Ausgegeben wird die linke Marke wie der Name schon sagt + auf der linken Seite, während die rechte Marke auf rechten Seiten -- im + einseitigen Modus also auf allen Seiten -- ausgegeben wird. Beim Setzen der + linken Marke für den Abschnitt werden von den Klassen in der Voreinstellung + außerdem auch immer die rechten Marken gelöscht. + + Bei den Bericht- und Buch-Klassen\OnlyAt{\Class{report}\and + \Class{scrreprt}\and \Class{book}\and \Class{scrbook}} wird eine Ebene + höher begonnen. Im einseitigen Modus wird also die Kapitelüberschrift als + rechte Marke gesetzt. Im doppelseitigen Satz wird die Kapitelüberschrift als + linke Marke und die Abschnittsüberschrift als rechte Marke gesetzt. + + Verwendet man hingegen als Seitenstil + \Pagestyle{myheadings}\IndexPagestyle{myheadings}% + \important{\Pagestyle{myheadings}}\textnote{manuelle Kolumnentitel}, so + existieren zwar die Marken im Kopf genauso und auch die Seitenzahlen werden + gleich platziert, allerdings werden die Marken nicht automatisch durch die + Überschriften gesetzt. Man kann sie dann nur + manuell\important{\Macro{markright}\\\Macro{markboth}} über die später in + diesem Abschnitt dokumentierten Anweisungen \Macro{markright} und + \Macro{markboth} befüllen. +\end{Explain} + +Genau diese Unterscheidung wurde bei \Package{scrpage2} und nun auch bei +\Package{scrlayer} aufgehoben. Statt die Unterscheidung zwischen +automatischen\textnote{lebende und manuelle Kolumnentitel} und manuellen +Kolumnentiteln über den Seitenstil vorzunehmen, gibt es die beiden Anweisungen +\Macro{automark} und \Macro{manualmark}. + +Mit \Macro{manualmark}\important{\Macro{manualmark}} wird dabei auf manuelle +Marken umgeschaltet. Es deaktiviert also das automatische Setzen der +Marken. Demgegenüber kann mit \Macro{automark}\important{\Macro{automark}} und +\Macro{automark*} festgelegt werden, welche Gliederungsebenen für das +automatische Setzen der Marke verwendet werden sollen. Das optionale Argument +gibt dabei die \PName{Gliederungsebene der rechten Marke} an, während das +obligatorische Argument die \PName{Gliederungsebene der linken Marke} ist. Als +Argument werden jeweils die Namen der Gliederungsebenen angegeben, also +\PValue{part}, \PValue{chapter}, \PValue{section}, \PValue{subsection}, +\PValue{subsubsection}, \PValue{paragraph} oder \PValue{subparagraph}. + +Normalerweise sollte die höhere Ebene die linke Marke setzen, während die +tiefere Ebene für die rechte Marke zu verwenden ist. Diese übliche Konvention +ist jedoch keine Pflicht, sondern lediglich sinnvoll. + +Der Unterschied zwischen \Macro{automark} und +\Macro{automark*}\important{\Macro{automark*}} liegt darin, dass +\Macro{automark} alle vorherigen Befehle zum automatischen Setzen der Marken +aufhebt, während die Stern-Version \Macro{automark*} lediglich die Aktionen +für die angegebenen Gliederungsebenen ändert. Man kann so auch relativ +komplexe Fälle abdecken.% +\iffree{}{\par + Das veraltete Paket + \Package{scrpage2}\IndexPackage{scrpage2}\important{\Package{scrpage2}} + kennt sowohl \Macro{manualmark} als auch \Macro{automark}, jedoch nicht + \Macro{automark*}. Daher sind die nachfolgenden Beispielen nicht vollständig + auf die Verwendung von \Package{scrpage2} übertragbar.}% +% +\begin{Example} + Angenommen Sie wollen, dass wie üblich auf den linken Seiten eines + Buches die Kapitelüberschriften als automatische Kolumnentitel verwendet + werden und auf den rechten Seiten die Abschnittsüberschriften. Allerdings + soll auf rechte Seiten so lange ebenfalls die Kapitelüberschrift verwendet + werden, bis der erste Abschnitt auftaucht. Dazu wird + zuerst \Package{scrlayer-scrpage} geladen und der Seitenstil + \Pagestyle{scrheadings} aktiviert. Das Dokument beginnt also mit: +\begin{lstcode} + \documentclass{scrbook} + \usepackage{scrlayer-scrpage} + \pagestyle{scrheadings} +\end{lstcode} + Als nächstes wird dafür gesorgt, dass die Kapitelüberschriften sowohl die + linke als auch die rechte Marke setzen: +\begin{lstcode} + \automark[chapter]{chapter} +\end{lstcode} + Dann sollen die Abschnittsüberschriften zusätzlich die rechten Marken + setzen: +\begin{lstcode} + \automark*[section]{} +\end{lstcode} + Hier findet die Stern-Version Anwendung, da die vorherige + \Macro{automark}-Anweisung weiterhin wirksam bleiben soll. Außerdem bleibt + das Argument für die \PName{Gliederungsebene der linken Marke} leer, weil + diese Marke unverändert bleiben soll. + + Alles, was jetzt noch fehlt, ist ein wenig Dokumentinhalt: +\begin{lstcode} + \usepackage{lipsum} + \begin{document} + \chapter{Kapitel} + \lipsum[1-20] + \section{Abschnitt} + \lipsum[21-40] + \end{document} +\end{lstcode} + Dabei ist das Paket \Package{lipsum}\IndexPackage{lipsum} mit seiner + Anweisung \Macro{lipsum}\IndexCmd{lipsum} sehr nützlich. + + Wenn Sie dieses Beispiel einmal testen, werden Sie sehen, dass die + Kapitelanfangsseite wie üblich ohne Kolumnentitel ist, da sie automatisch im + \Pagestyle{plain}-Seitenstil \Pagestyle{plain.scrheadings} gesetzt + wird. Seite~2 bis 4 tragen als Kolumnentitel die Kapitelüberschrift. Nachdem + auf Seite~4 eine Abschnittsüberschrift ausgegeben wurde, ändert sich der + Kolumnentitel auf Seite~5 in die Abschnittsüberschrift. Ab dann werden die + beiden Überschriften im Kopf wechselweise ausgegeben, auf linken Seiten die + Kapitelüberschrift, auf rechten Seiten die Abschnittsüberschrift. +\end{Example} + +Außer mit den Befehlen kann auch direkt mit den beiden Optionen +\Option{manualmark}\important{\Option{manualmark}\\\Option{automark}} und +\Option{automark} zwischen automatischen und manuellen Kolumnentiteln hin- und +hergeschaltet werden. Dabei verwendet \Option{automark} bei Klassen mit +\Macro{chapter}-Anweisung immer die Voreinstellung +\begin{lstcode}[belowskip=\dp\strutbox] + \automark[section]{chapter} +\end{lstcode} +und bei anderen Klassen +\begin{lstcode}[belowskip=\dp\strutbox] + \automark[subsection]{section} +\end{lstcode} + +Im einseitigen Modus\textnote{einseitiger Satz} will man in der Regel nicht, +dass die untergeordnete Ebene die rechte Marke beeinflusst. Stattdessen soll +auch mit der Voreinstellung nur die höhere Ebene, die beispielsweise im +doppelseitigen Modus in der Voreinstellung alleine die linke Marke +beeinflusst, den Kolumnentitel aller Seiten vorgeben. Diese Voreinstellung +entspricht einer aktiven Option +\Option{autooneside}\important{\Option{autooneside}}. Die Option versteht die +Werte für einfache Schalter, die in \autoref{tab:truefalseswitch} auf +\autopageref{tab:truefalseswitch} angegeben sind. Wird die Option deaktiviert, +so wirken sich im einseitigen Satz sowohl das optionale als auch das +obligatorische Argument auf den Kolumnentitel aus.% +% +\begin{Example} + Angenommen, Sie wollen im einseitigen Modus eines Berichts eine ganz + ähnliche Verwendung des Kolumnentitels erreichen, wie im vorherigen + Beispiel. Konkret soll so lange die Kapitelüberschrift verwendet werden, bis + ein Abschnitt gesetzt wird. Ab dann soll nur noch die Abschnittsüberschrift + verwendet werden. Dazu wird das Beispiel wie folgt abgewandelt: +\begin{lstcode} + \documentclass{scrreprt} + \usepackage[autooneside=false]{scrlayer-scrpage} + \pagestyle{scrheadings} + \automark[section]{chapter} + \usepackage{lipsum} + \begin{document} + \chapter{Kapitel} + \lipsum[1-20] + \section{Abschnitt} + \lipsum[21-40] + \end{document} +\end{lstcode} + Wie zu sehen ist, wird in diesem Fall keine ergänzende + \Macro{automark*}-Anweisung benötigt. Sie sollten zum Vergleich die Option + \Option{autooneside} auch einmal auf \PValue{true} setzen oder sie + entfernen. Ein Unterschied ist dann ab Seite~4 im Kolumnentitel im Kopf der + Seiten zu sehen. +\end{Example} + +Das\textnote{Achtung!} Laden des Pakets selbst hat übrigens noch keine +Auswirkung darauf, ob mit automatischen Kolumnentiteln gearbeitet wird oder +nicht. Erst die explizite Verwendung einer der Optionen \Option{automark} oder +\Option{manualmark} oder einer der beiden Anweisungen \Macro{automark} oder +\Macro{manualmark} schafft hier klare Verhältnisse.% +\EndIndex{Option}{autooneside~=\PName{Ein-Aus-Wert}}% +\EndIndex{Option}{manualmark}% +\EndIndex{Option}{automark}% +\EndIndex{Cmd}{manualmark}% +\EndIndex{Cmd}{automark}% +\fi % ******************************************** Ende nur scrlayer-scrpage * + +\ifshortversion\IgnoreThistrue\IfCommon{scrlayer}{\IgnoreThisfalse}\fi +\ifIgnoreThis %++++++++++++++++++++++++++++++++++++++++++++++ nicht scrlayer + +\else %-------------------------------------------------------- nur scrlayer - +\begin{Declaration} + \KOption{draft}\PName{Ein-Aus-Wert} +\end{Declaration} +\BeginIndex{Option}{draft~=\PName{Ein-Aus-Wert}}% +Die \KOMAScript-Option versteht die Standardwerte für einfache Schalter, die +in \autoref{tab:truefalseswitch} auf \autopageref{tab:truefalseswitch} +angegeben sind. Ist die Option aktiviert, so werden alle Elemente der +Seitenstile zusätzlich mit Maßlinien versehen. Dies kann während der +Entwurfsphase manchmal nützlich sein. Falls diese Option global gesetzt wurde, +die Maßlinien aber nicht gewünscht sind, kann die Option auch nur für das +Paket deaktiviert werden, indem man \OptionValue{draft}{false} als optionales +Argument von \Macro{usepackage} beim Laden des Pakets angibt.% +\EndIndex{Option}{draft~=\PName{Ein-Aus-Wert}}% + +\begin{Declaration} + \Macro{MakeMarkcase}\Parameter{Text} +\end{Declaration} +\BeginIndex{Cmd}{MakeMarkcase}% +Die automatischen, nicht jedoch die manuellen Kolumnentitel verwenden +\Macro{MakeMarkcase} für ihre Ausgabe. Ist die Anweisung beim Laden von +\Package{scrlayer} nicht definiert, so wird sie in der Voreinstellung derart +definiert, dass sie ihr Argument \PName{Text} unverändert ausgibt. Diese +Voreinstellung kann jedoch entweder durch Umdefinierung von +\Macro{MakeMarkcase} oder durch die % +\ifshortversion in \autoref{sec:scrlayer-scrpage.pagestyle.content} % +\else später in diesem Abschnitt % +\fi% +dokumentierte Option +\Option{markcase}\IndexOption{markcase}\important{\Option{markcase}} geändert +werden. Je nach Einstellung wird das Argument dann beispielsweise in Groß- +oder Kleinbuchstaben umgewandelt. +% +\EndIndex{Cmd}{MakeMarkcase}% +\fi %***************************************************** Ende nur scrlayer * + +\ifshortversion\IgnoreThistrue\IfCommon{scrlayer-scrpage}{\IgnoreThisfalse}\fi +\ifIgnoreThis %++++++++++++++++++++++++++++++++++++++ nicht scrlayer-scrpage + +\else %------------------------------------------------ nur scrlayer-scrpage - +\begin{Declaration} + \KOption{markcase}\PName{Wert} +\end{Declaration} +\BeginIndex{Option}{markcase~=\PName{Wert}}% +Wie bereits früher erläutert kann man bei \Package{scrlayer} zwischen +manuellen und automatischen Kolumnentiteln wählen. Bei den automatischen +Kolumnentiteln werden dabei die entsprechenden Marken über die +Gliederungsbefehle gesetzt. In manchen Kulturkreisen ist es im Gegensatz zur +Typografie des deutschsprachigen Raums üblich, die Kolumnentitel in +Großbuchstaben zu setzen. Die Standardklassen machen genau dies in der +Voreinstellung. Das Paket \Package{scrlayer} unterstützt das optional +ebenfalls. Hierzu gibt man als Option +\OptionValue{markcase}{upper}\important{\OptionValue{markcase}{upper}}% +\IndexOption[indexmain]{markcase~=upper} an. Im Endeffekt führt das zu einer +Umdefinierung von \Macro{MakeMarkcase}\IndexCmd[indexmain]{MakeMarkcase}, +einer Anweisung, die von \Package{scrlayer} beim Setzen von automatischen +Kolumnentiteln verwendet wird. + +Leider führt die von \LaTeX{} für derartigen +Versalsatz\Index{Versalsatz} vorgesehene Anweisung +\Macro{MakeUppercase}\IndexCmd{MakeUppercase} zu einem sehr unzureichenden +Satz, da weder gesperrt noch ausgeglichen wird. Dies liegt teilweise sicher +daran, dass für typografisch korrekten Versalsatz eine Glyphenanalyse +notwendig ist, um die konkrete Form der Buchstaben und ihrer Kombinationen in +den Ausgleich der Sperrung einfließen zu lassen. Der \KOMAScript-Autor +empfiehlt daher, auf Versalsatz für die Kolumnentitel zu verzichten. Dies ist +normalerweise mit +\OptionValue{markcase}{used}\important{\OptionValue{markcase}{used}}% +\IndexOption[indexmain]{markcase~=used} möglich. Allerdings fügen einige +Klassen selbst beispielsweise bei den Kolumnentitel für Verzeichnisse ein +\Macro{MakeUppercase} oder sogar die \TeX-Anweisung \Macro{uppercase} ein. Für +diese Fälle gibt es auch noch die Einstellung +\OptionValue{markcase}{noupper}\important{\OptionValue{markcase}{noupper}}% +\IndexOption[indexmain]{markcase~=noupper}, mit deren Hilfe +\Macro{MakeUppercase} und \Macro{uppercase} für die Kolumnentitel lokal +deaktiviert werden können. + +Alle für \Option{markcase} möglichen Werte sind noch einmal in +\autoref{tab:\csname label@base\endcsname.markcase} zusammengefasst. +% +\begin{table} + \centering + \caption[Mögliche Werte für Option \Option{markcase}]{Mögliche Werte für + Option \Option{markcase} zur Wahl von Groß-/Kleinschreibung in + automatischen Kolumnentiteln}% + \label{tab:\csname label@base\endcsname.markcase}% + \begin{desctabular} + \pventry{lower}{\IndexOption{markcase~=\PValue{lower}}% + definiert \Macro{MakeMarkcase} so um, dass automatische Kolumnentitel + mit Hilfe von \Macro{MakeLowercase} in Kleinbuchstaben gewandelt werden + (Minuskelsatz).% + }% + \pventry{upper}{\IndexOption{markcase~=\PValue{upper}}% + definiert \Macro{MakeMarkcase} so um, dass automatische Kolumnentitel + mit Hilfe von \Macro{MakeUppercase} in Großbuchstaben gewandelt werden + (Versalsatz).% + }% + \pventry{used}{\IndexOption{markcase~=\PValue{used}}% + definiert \Macro{MakeMarkcase} so um, dass für automatische + Kolumnentitel keine automatische Veränderung der Groß-/Kleinschreibung + durchgeführt wird.% + }% + \entry{\PValue{ignoreuppercase}, \PValue{nouppercase}, + \PValue{ignoreupper}, + \PValue{noupper}}{\IndexOption{markcase~=\PValue{noupper}}% + definiert nicht nur \Macro{MakeMarkcase} so um, dass für automatische + Kolumnentitel keine automatische Veränderung der Groß-/Kleinschreibung + durchgeführt wird, sondern deaktiviert zusätzlich lokal für alle Ebenen + aller Seitenstile \Macro{MakeUppercase} und \Macro{uppercase}.% + }% + \end{desctabular} +\end{table} +% +\EndIndex{Option}{markcase~=\PName{Wert}}% + +\begin{Declaration} + \Macro{leftmark}\\ + \Macro{rightmark}\\ + \Macro{headmark}\\ + \Macro{pagemark} +\end{Declaration} +\BeginIndex{Cmd}{leftmark}% +\BeginIndex{Cmd}{rightmark}% +\BeginIndex{Cmd}{headmark}% +\BeginIndex{Cmd}{pagemark}% +Will man von den vordefinierten Seitenstilen abweichen, so muss man in der +Regel auch selbst entscheiden können, wo die Marken gesetzt werden sollen. Mit +\Macro{leftmark}\important{\Macro{leftmark}} platziert man die linke +Marke. Diese wird dann bei der Ausgabe der Seite durch den entsprechenden +Inhalt ersetzt. + +Dementsprechend kann man mit \Macro{rightmark}\important{\Macro{rightmark}} +die rechte Marke platzieren, die dann bei der Ausgabe der Seite durch den +entsprechenden Inhalt ersetzt wird. Für einige Feinheiten dabei, sei auch auf +die weiterführenden Erklärungen zu \Macro{rightmark} in +\autoref{sec:maincls-experts.addInfos}, +\autopageref{desc:maincls-experts.cmd.rightmark} verwiesen. + +Mit \Macro{headmark}\important{\Macro{headmark}} kann man sich das Leben +erleichtern. Diese Erweiterung von \Package{scrlayer} entspricht je nachdem, +ob die aktuelle Seite eine linke oder rechte ist, \Macro{leftmark} oder +\Macro{rightmark}. + +Die Anweisung \Macro{pagemark}\important{\Macro{pagemark}} hat genau genommen +nichts mit den Marken von \TeX{} zu tun. Sie dient dazu eine formatierte +Seitenzahl zu platzieren. +\BeginIndex{FontElement}{pagenumber}% +Bei ihrer Ausgabe wird dann auch die Schrifteinstellung für das Element +\FontElement{pagenumber}\important{\FontElement{pagenumber}} verwendet. Diese +kann mit Hilfe der Anweisungen \Macro{setkomafont} und \Macro{addtokomafont} +verändert werden (siehe auch \autoref{sec:maincls.textmarkup}, +\autopageref{desc:maincls.cmd.setkomafont}).% +\EndIndex{FontElement}{pagenumber}% +% +\begin{Example} + Angenommen, Sie wollen, dass auch im einseitigen Modus der Kolumnentitel + immer am linken Rand und die Seitenzahl immer am rechten Rand ausgerichtet + wird. Beide sollen im Kopf platziert werden. Das folgende, vollständige + Minimalbeispiel liefert genau dies: +\begin{lstcode} + \documentclass{scrreprt} + \usepackage{blindtext} + \usepackage[automark]{scrlayer-scrpage} + \pagestyle{scrheadings} + \ihead{\headmark} + \ohead[\pagemark]{\pagemark} + \chead{} + \cfoot[]{} + \begin{document} + \blinddocument + \end{document} +\end{lstcode} + Das Paket \Package{blindtext}\IndexPackage{blindtext} mit seiner Anweisung + \Macro{blinddocument}\IndexCmd{blinddocument} wird hier für die komfortable + Erzeugung eines Beispieldokumentinhalts verwendet. + + Mit den Anweisungen \Macro{ihead}\IndexCmd{ihead} und + \Macro{ohead}\IndexCmd{ohead} werden die gewünschten Marken platziert. Dabei + wird die Seitenzahl-Marke mit Hilfe des optionalen Argument von + \Macro{ohead} nicht nur auf den mit + \Pagestyle{scrheadings}\IndexPagestyle{scrheadings} gesetzten Seiten, + sondern auch für den auf der ersten Seite automatisch verwendeten + \Pagestyle{plain}-Seitenstil + \Pagestyle{plain.scrheadings}\IndexPagestyle{plain.scrheadings} + konfiguriert. + + Da die beiden Seitenstile bereits mit Marken in der Mitte von Kopf und Fuß + vordefiniert sind, werden diese beiden Elemente mit \Macro{chead} und + \Macro{cfoot} gelöscht. Hierzu werden leere Argumente verwendet. Alternativ + dazu hätte man auch + \Macro{clearpairofpagestyles}\IndexCmd{clearpairofpagestyles} \emph{vor} + \Macro{ihead} verwenden können. Diese Anweisung wird jedoch erst in + \autoref{sec:scrlayer-scrpage-experts.pagestyle.pairs} auf + \autopageref{desc:scrlayer-scrpage-experts.cmd.clearpairofpagestyles} erklärt + werden. +\end{Example} + +Bitte beachten Sie, dass das leere optionale Argument bei \Macro{cfoot} im +Beispiel nicht gleichbedeutend mit dem Weglassen dieses optionalen Arguments +ist. Sie sollten das einmal selbst ausprobieren und dabei den Fuß der ersten +Seite beobachten.% +\EndIndex{Cmd}{pagemark}% +\EndIndex{Cmd}{headmark}% +\EndIndex{Cmd}{rightmark}% +\EndIndex{Cmd}{leftmark}% + +\begin{Declaration} + \Macro{partmarkformat}\\ + \Macro{chaptermarkformat}\\ + \Macro{sectionmarkformat}\\ + \Macro{subsectionmarkformat}\\ + \Macro{subsubsectionmarkformat}\\ + \Macro{paragraphmarkformat}\\ + \Macro{subparagraphmarkformat} +\end{Declaration} +\BeginIndex{Cmd}{partmarkformat}% +\BeginIndex{Cmd}{chaptermarkformat}% +\BeginIndex{Cmd}{sectionmarkformat}% +\BeginIndex{Cmd}{subsectionmarkformat}% +\BeginIndex{Cmd}{subsubsectionmarkformat}% +\BeginIndex{Cmd}{paragraphmarkformat}% +\BeginIndex{Cmd}{subparagraphmarkformat}% +Diese Anweisungen werden von den \KOMAScript-Klassen und auch von +\Package{scrlayer} intern üblicherweise verwendet, um die Gliederungsnummern +der automatischen Kolumnentitel zu formatieren. Dabei wird auch der +\Macro{autodot}-Mechanismus der \KOMAScript-Klassen unterstützt. Bei Bedarf +können diese Anweisungen umdefiniert werden, um eine andere Formatierung der +Nummern zu erreichen. +% +\begin{Example} + Angenommen, Sie wollen, dass Abschnittsüberschriften im Kolumnentitel ohne + Gliederungsnummer gesetzt werden, so ist das ganz einfach mit: +\begin{lstcode} + \renewcommand*{\sectionmarkformat}{} +\end{lstcode} + zu erreichen. +\end{Example}% +% +\EndIndex{Cmd}{subparagraphmarkformat}% +\EndIndex{Cmd}{paragraphmarkformat}% +\EndIndex{Cmd}{subsubsectionmarkformat}% +\EndIndex{Cmd}{subsectionmarkformat}% +\EndIndex{Cmd}{sectionmarkformat}% +\EndIndex{Cmd}{chaptermarkformat}% +\EndIndex{Cmd}{partmarkformat}% + +\begin{Declaration} + \Macro{partmark}\Parameter{Text}\\ + \Macro{chaptermark}\Parameter{Text}\\ + \Macro{sectionmark}\Parameter{Text}\\ + \Macro{subsectionmark}\Parameter{Text}\\ + \Macro{subsubsectionmark}\Parameter{Text}\\ + \Macro{paragraphmark}\Parameter{Text}\\ + \Macro{subparagraphmark}\Parameter{Text} +\end{Declaration} +\BeginIndex{Cmd}{partmark}% +\BeginIndex{Cmd}{chaptermark}% +\BeginIndex{Cmd}{sectionmark}% +\BeginIndex{Cmd}{subsectionmark}% +\BeginIndex{Cmd}{subsubsectionmark}% +\BeginIndex{Cmd}{paragraphmark}% +\BeginIndex{Cmd}{subparagraphmark}% +Diese Anweisungen werden intern von den meisten Klassen verwendet, um die +Marken entsprechend der Gliederungsbefehle zu setzen. Dabei wird als Argument +lediglich der Text, nicht jedoch die Nummer erwartet. Die Nummer wird +stattdessen automatisch über den aktuellen Zählerstand ermittelt, falls mit +nummerierten Überschriften gearbeitet wird. + +Falls diese Anweisungen vom Anwender umdefiniert werden, sollte +er\textnote{Achtung!} unbedingt darauf achten, vor dem Setzen der Nummer +ebenfalls über \Counter{secnumdepth} zu prüfen, ob die Nummern auszugeben +sind. Dies gilt auch, wenn der Anwender \Counter{secnumdepth} selbst nicht +verändert, weil Pakete und Klassen sich eventuell auf die Wirkung von +\Counter{secnumdepth} verlassen! + +Das Paket \Package{scrlayer} definiert diese Anweisungen außerdem bei jedem +Aufruf von \Macro{automark} oder \Macro{manualmark} oder den entsprechenden +Optionen teilweise neu, um so die gewünschten automatischen oder manuellen +Kolumnentitel zu erreichen.% +\EndIndex{Cmd}{subparagraphmark}% +\EndIndex{Cmd}{paragraphmark}% +\EndIndex{Cmd}{subsubsectionmark}% +\EndIndex{Cmd}{subsectionmark}% +\EndIndex{Cmd}{sectionmark}% +\EndIndex{Cmd}{chaptermark}% +\EndIndex{Cmd}{partmark}% + +\begin{Declaration} + \Macro{markleft}\Parameter{linke Marke}\\ + \Macro{markright}\Parameter{rechte Marke}\\ + \Macro{markboth}\Parameter{linke Marke}\Parameter{rechte Marke} +\end{Declaration} +\BeginIndex{Cmd}{markleft}% +\BeginIndex{Cmd}{markright}% +\BeginIndex{Cmd}{markboth}% +Unabhängig davon, ob gerade mit manuellen oder automatischen Kolumnentiteln +gearbeitet wird, kann man jederzeit die \PName{linke Marke} oder \PName{rechte + Marke} mit einer dieser Anweisungen setzen. Dabei ist zu beachten, dass die +resultierende linke Marke in +\Macro{leftmark}\IndexCmd{leftmark}\important{\Macro{leftmark}} die letzte auf +der entsprechenden Seite gesetzte Marke ist, während die resultierende rechte +Marke in \Macro{rightmark}\IndexCmd{rightmark}\important{\Macro{rightmark}} +die erste auf der entsprechenden Seite gesetzte Marke ausgibt. Näheres dazu +ist den weiterführenden Erklärungen zu \Macro{rightmark} in +\autoref{sec:maincls-experts.addInfos}, +\autopageref{desc:maincls-experts.cmd.rightmark} zu entnehmen. + +Wird mit manuellen Kolumnentiteln\Index{Kolumnentitel>manuell} gearbeitet, so +bleiben die Marken gültig, bis sie durch erneute Verwendung der entsprechenden +Anweisung explizit ersetzt werden. Bei automatischen Kolumnentiteln können +Marken hingegen je nach Konfigurierung des Automatismus ihre Gültigkeit mit +einer der nächsten Gliederungsüberschriften verlieren. + +Auch im Zusammenhang mit den Sternvarianten der Gliederungsbefehle können +diese Anweisungen nützlich sein.% +% +\begin{Example} + Angenommen Sie schreiben noch vor dem Inhaltsverzeichnis ein Vorwort über + mehrere Seiten, das jedoch im Inhaltsverzeichnis nicht auftauchen + soll. Da Sie aber Trennlinien im Kopf verwenden, soll der Kolumnentitel das + Vorwort dennoch zeigen: +\begin{lstcode} + \documentclass[headsepline]{book} + \usepackage{scrlayer-scrpage} + \pagestyle{scrheadings} + \usepackage{blindtext} + \begin{document} + \chapter*{Vorwort} + \markboth{Vorwort}{Vorwort} + \blindtext[20] + \tableofcontents + \blinddocument + \end{document} +\end{lstcode} + Zunächst erscheint das Ergebnis wunschgemäß. Beim zweiten Blick fällt aber + auf, dass der Kolumnentitel »\texttt{Vorwort}« im Gegensatz zu den übrigen + Kolumnentiteln nicht im Versalsatz erscheint. Das ist jedoch leicht zu + ändern: +\begin{lstcode} + \documentclass[headsepline]{book} + \usepackage{scrlayer-scrpage} + \pagestyle{scrheadings} + \usepackage{blindtext} + \begin{document} + \chapter*{Vorwort} + \markboth{\MakeMarkcase{Vorwort}} + {\MakeMarkcase{Vorwort}} + \blindtext[20] + \tableofcontents + \blinddocument + \end{document} +\end{lstcode} + Wie zu sehen ist, wurde + \Macro{MakeMarkcase}\IndexCmd{MakeMarkcase}\important{\Macro{MakeMarkcase}} + verwendet, um auch den manuell korrigierten Kolumnentitel des Vorworts + entsprechend der automatischen Kolumnentitel des restlichen Dokuments + anzupassen. + + Verschieben Sie nun einmal \Macro{tableofcontents}% + \Index{Inhaltsverzeichnis}\IndexCmd{tableofcontents}% + \important{\Macro{tableofcontents}} vor das Vorwort und entfernen Sie die + \Macro{markboth}-Anweisung. Sie werden entdecken, dass das Vorwort als + Kolumnentitel nun »\texttt{CONTENTS}« trägt. Das liegt an einer Eigenart von + \Macro{chapter*}\IndexCmd{chapter*}\important{\Macro{chapter*}} (siehe auch + in \autoref{sec:maincls.structure} auf + \autopageref{desc:maincls.cmd.chapter*}). Soll hier stattdessen kein + Kolumnentitel erscheinen, so ist dies sehr einfach mit \Macro{markboth} mit + zwei leeren Argumenten zu erreichen: +\begin{lstcode} + \documentclass[headsepline]{book} + \usepackage{scrlayer-scrpage} + \pagestyle{scrheadings} + \usepackage{blindtext} + \begin{document} + \tableofcontents + \chapter*{Vorwort} + \markboth{}{} + \blindtext[20] + \blinddocument + \end{document} +\end{lstcode} +\end{Example} +% +\EndIndex{Cmd}{markboth}% +\EndIndex{Cmd}{markright}% +\EndIndex{Cmd}{markleft}% + +\fi %********************************************* Ende nur scrlayer-scrpage * +\fi %*********************************** Ende nicht scrlayer-scrpage-experts * + + +\ifshortversion\IgnoreThisfalse\IfCommon{scrlayer-scrpage}{\IgnoreThistrue}\fi +\ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++ auch scrlayer-scrpage + +\else %---------------------------------------------- nicht scrlayer-scrpage - +\ifCommonscrlayerscrpage\else %---------------------- nicht scrlayer-scrpage - +\begin{Declaration} + \Macro{GenericMarkFormat}\Parameter{Gliederungsname} +\end{Declaration} +\BeginIndex{Cmd}{GenericMarkFormat}% +Diese Anweisung wird in der Voreinstellung zur Formatierung aller +Gliederungsnummern in automatischen Kolumnentiteln unterhalb der +Unterabschnitte und bei Klassen ohne \Macro{chapter} zusätzlich auch für die +Ebene der Abschnitte und Unterabschnitte verwendet, soweit die entsprechenden +Mark-Anweisungen nicht bereits anderweitig definiert sind. Dabei verwendet die +Anweisung in der Voreinstellung +\Macro{@seccntmarkformat}\IndexCmd{@seccntmarkformat}% +\important{\Macro{@seccntmarkformat}}, wenn eine solche interne Anweisung wie +bei den \KOMAScript-Klassen definiert ist. Anderenfalls wird mit +\Macro{@seccntformat}\IndexCmd{@seccntformat}\important{\Macro{@seccntformat}} +eine Anweisung verwendet, die bereits vom \LaTeX-Kern für Klassen und Pakete +bereitgestellt wird. Als Argument erwartet \Macro{GenericMarkFormat} den Namen +der Gliederung, also beispielsweise \PValue{chapter} oder \PValue{section} +\emph{ohne} vorangestellten umgekehrten Schrägstrich (engl. \emph{backslash}). + +Durch Umdefinierung dieser Anweisung kann damit die Standardformatierung aller +Gliederungsnummern im Kolumnentitel geändert werden, die darauf +zurückgreifen. Ebenso kann eine Klasse darüber eine andere +Standardformatierung vorgeben, ohne alle Befehle einzeln ändern zu müssen.% +% +\begin{Example} + Angenommen, Sie wollen, dass bei allen Gliederungsnummern im Kolumnentitel + eines Artikels die Nummer als weiße Schrift auf einem schwarzen Kasten + ausgegeben wird. Da bei Artikeln mit \Class{article} die Anweisungen + \Macro{sectionmarkformat}\IndexCmd{sectionmarkformat}% + \important{\Macro{sectionmarkformat}\\\Macro{subsectionmarkformat}} und + \Macro{subsectionmarkformat}\IndexCmd{subsectionmarkformat} von + \Package{scrlayer} mit Hilfe von \Macro{GenericMarkFormat} definiert werden, + genügt dafür die entsprechende Umdefinierung dieser einen Anweisung: +\begin{lstcode}[moretexcs={colorbox,textcolor}] + \documentclass{article} + \usepackage{blindtext} + \usepackage[automark]{scrlayer-scrpage} + \pagestyle{scrheadings} + \usepackage{xcolor} + \newcommand*{\numberbox}[1]{% + \colorbox{black}{% + \strut~\textcolor{white}{#1}~% + }% + } + \renewcommand*{\GenericMarkFormat}[1]{% + \protect\numberbox{\csname the#1\endcsname}% + \enskip + } + \begin{document} + \blinddocument + \end{document} +\end{lstcode} + Für die Farbumschaltungen werden Anweisungen des Pakets + \Package{xcolor}\IndexPackage{xcolor} verwendet. Näheres dazu ist der + Anleitung zum Paket zu entnehmen (siehe \cite{package:xcolor}). + + Außerdem wird eine unsichtbare Stütze mit \Macro{strut} eingefügt. Diese + Anweisung sollte in keiner ausführlichen \LaTeX-Einführung fehlen. + + Für den Kasten mit der Nummer wird eine eigene Hilfsanweisung + \Macro{numberbox} definiert. Diese wird in der Umdefinierung von + \Macro{GenericMarkFormat} mit + \Macro{protect}\IndexCmd{protect}\important{\Macro{protect}} vor der + Expansion geschützt. Dies ist notwendig, weil sonst durch das + \Macro{MakeUppercase}\IndexCmd{MakeUppercase}\important{\Macro{MakeUppercase}} + für den Versalsatz der Kolumnentitel nicht mehr die Farben »\texttt{black}« + und »\texttt{white}«, sondern die Farben »\texttt{BLACK}« und + »\texttt{WHITE}« verlangt werden, die gar nicht definiert sind. Alternativ + könnte man \Macro{numberbox} auch mit Hilfe von + \Macro{DeclareRobustCommand*} statt mit \Macro{newcommand*} definieren + (siehe \cite{latex:clsguide}). + + Wollte man dasselbe mit einer \KOMAScript-Klasse oder mit den + Standardklassen \Class{book} oder \Class{report} erreichen, so müsste man + übrigens zusätzlich \Macro{sectionmarkformat}\IndexCmd{sectionmarkformat}% + \important{\Macro{sectionmarkformat}} und -- je nach Klasse -- + \Macro{subsectionmarkformat}\IndexCmd{subsectionmarkformat}% + \important{\Macro{subsectionmarkformat}} beziehungsweise + \Macro{chaptermarkformat}\IndexCmd{chaptermarkformat}% + \important{\Macro{chaptermarkformat}} umdefinieren, da diese bei Verwendung + der genannten Klassen \Macro{GenericMarkFormat} nicht verwenden: +\begin{lstcode}[moretexcs={colorbox,textcolor}] + \documentclass{scrbook} + \usepackage{blindtext} + \usepackage[automark]{scrlayer-scrpage} + \pagestyle{scrheadings} + \usepackage{xcolor} + \newcommand*{\numberbox}[1]{% + \colorbox{black}{% + \strut~\textcolor{white}{#1}~% + }% + } + \renewcommand*{\GenericMarkFormat}[1]{% + \protect\numberbox{\csname the#1\endcsname}% + \enskip + } + \renewcommand*{\chaptermarkformat}{% + \GenericMarkFormat{chapter}% + } + \renewcommand*{\sectionmarkformat}{% + \GenericMarkFormat{section}% + } + \begin{document} + \blinddocument + \end{document} +\end{lstcode} +\end{Example} +\EndIndex{Cmd}{GenericMarkFormat}% + +\begin{Declaration} + \Macro{@mkleft}\Parameter{linke Marke}\\ + \Macro{@mkright}\Parameter{rechte Marke}\\ + \Macro{@mkdouble}\Parameter{Marke}\\ + \Macro{@mkboth}\Parameter{linke Marke}\Parameter{rechte Marke} +\end{Declaration} +\BeginIndex{Cmd}{@mkleft}% +\BeginIndex{Cmd}{@mkright}% +\BeginIndex{Cmd}{@mkdouble}% +\BeginIndex{Cmd}{@mkboth}% +Innerhalb der Klassen und Pakete kommt es vor, dass Kolumnentitel nur dann +gesetzt werden sollen, wenn automatische Kolumnentitel (siehe Option +\Option{automark} und Anweisung \Macro{automark} auf +\autopageref{desc:scrlayer-scrpage.cmd.automark}) aktiviert sind. Bei den +Standardklassen geht dies ausschließlich über \Macro{@mkboth}. Diese Anweisung +entspricht entweder \Macro{\@gobbletwo}, einer Anweisung, die ihre beiden +Argumente vernichtet, oder \Macro{markboth}, einer Anweisung, mit der sowohl +eine \PName{linke Marke} als auch eine \PName{rechte Marke} gesetzt +wird. Pakete wie \Package{babel} hängen sich ebenfalls in \Macro{\@mkboth} +ein, um beispielsweise noch eine Sprachumschaltung im Kolumnentitel +vorzunehmen. + +Will man nun jedoch nur eine \PName{linke Marke} oder nur eine \PName{rechte + Marke} setzen, ohne die jeweils andere Marke zu verändern, so fehlen +entsprechende Anweisungen. Das Paket \Package{scrlayer} selbst benötigt +entsprechende Anweisungen beispielsweise im Rahmen der automatischen +Kolumnentitel. Sind \Macro{@mkleft} zum Setzen nur der \PName{linken Marke}, +\Macro{@mkright} zum Setzen nur der \PName{rechten Marke} oder +\Macro{@mkdouble} zum Setzen sowohl der rechten als auch der linken +\PName{Marke} mit demselben Inhalt beim Laden von \Package{scrlayer} nicht +definiert, so werden sie vom Paket selbst definiert. Dabei wird eine +Definition gewählt, die am Zustand von \Macro{@mkboth} erkennt, ob mit +automatischen Kolumnentiteln gearbeitet wird. Nur in diesem Fall setzen die +Befehle auch eine entsprechende Marke.% + +Klassen- und Paketautoren können ebenfalls auf diese Anweisungen +zurückgreifen, wenn sie nur linke oder nur rechte Marken setzen wollen und +auch diese nur, wenn mit automatischen Kolumnentiteln gearbeitet wird.% +\EndIndex{Cmd}{@mkboth}% +\EndIndex{Cmd}{@mkdouble}% +\EndIndex{Cmd}{@mkright}% +\EndIndex{Cmd}{@mkleft}% + +\fi %******************************************* Ende nicht scrlayer-scrpage * +\fi %******************************************* Ende nicht scrlayer-scrpage * + +\ifshortversion% +\IfCommon{scrlayer}{% + Zu weiteren Möglichkeiten zur Beeinflussung der Inhalte von Seitenstilen + siehe auch \autoref{sec:scrlayer-scrpage.pagestyle.content}, + \autopageref{sec:scrlayer-scrpage.pagestyle.content}.% +}% +\fi + +%%% Local Variables: +%%% mode: latex +%%% mode: flyspell +%%% coding: iso-latin-1 +%%% ispell-local-dictionary: "de_DE" +%%% TeX-master: "scrlayer-de.tex" +%%% TeX-PDF-mode: t +%%% End: + +% LocalWords: Seitenstilen Ebenenmodell scrpage headings myheadings plain +% LocalWords: empty scrlayer Seitenstil Rückgriffe Gliederungsnummern +% LocalWords: Standardklassen Seitenstile konsistenteren Befehlssatzes +% LocalWords: Einstellmöglichkeiten Seiteninhalts Gliederungsüberschrift +% LocalWords: Maßlinien Entwurfsphase Unterabschnittsüberschrift Versalsatz +% LocalWords: Abschnittsüberschrift Kapitelüberschrift Glyphenanalyse +% LocalWords: Hilfsanweisung diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-5.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-5.tex index 849dd14f962..e820a04c572 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-5.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-5.tex @@ -1,6 +1,6 @@ % ====================================================================== % common-5.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % common-5.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,33 +45,41 @@ % % ====================================================================== -\ProvidesFile{common-5.tex}[2012/01/01 KOMA-Script guide (common paragraphs)] +\KOMAProvidesFile{common-5.tex} + [$Date: 2013-12-12 12:01:33 +0100 (Do, 12. Dez 2013) $ + KOMA-Script guide (common paragraphs)] \makeatletter \@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}% \@ifundefined{ifCommonscrextend}{\newif\ifCommonscrextend}{}% \@ifundefined{ifCommonscrlttr}{\newif\ifCommonscrlttr}{}% \@ifundefined{ifIgnoreThis}{\newif\ifIgnoreThis}{}% +\@ifundefined{ifCommonscrlayer-scrpage}{% + \expandafter\newif\csname ifCommonscrlayer-scrpage\endcsname +}{} +\expandafter\let\expandafter\ifCommonscrlayerscrpage +\csname ifCommonscrlayer-scrpage\endcsname \makeatother - \section{Textauszeichnungen} \label{sec:\csname label@base\endcsname.textmarkup}% -\ifshortversion\IgnoreThisfalse\IfCommon{scrlttr2}{\IgnoreThistrue}\fi% -\ifIgnoreThis %++++++++++++++++++++++++++++++++++++++++++++++ nur scrlttr2 + +\IgnoreThisfalse +\ifshortversion\IgnoreThistrue\ifCommonmaincls\IgnoreThisfalse\fi\fi% +\ifIgnoreThis %+++++++++++++++++++++++++++++++ Kurzfassung (nicht maincls) + Es gilt sinngemäß, was in \autoref{sec:maincls.textmarkup} geschrieben wurde. Dabei sind Namen und Bedeutung der einzelnen Elemente in -\else %---------------------------------------------------- nicht scrlttr2 - +\else %----------------------------------------- Langfassung (nur maincls) - \BeginIndex{}{Text>Auszeichnung}% \BeginIndex{}{Schrift>Art}% -\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{} verfügt über eine ganze Reihe von Anweisungen zur Textauszeichnung. % +% Umbruchkorrektur +\IfNotCommon{scrlttr2}{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. +\ifCommonscrlayerscrpage\else \begin{Declaration} \Macro{textsuperscript}\Parameter{Text}\\ \Macro{textsubscript}\Parameter{Text} @@ -151,6 +159,7 @@ geschweifte Klammern gesetzt wurden.% % \EndIndex{Cmd}{textsuperscript}% \EndIndex{Cmd}{textsubscript}% +\fi% \ifCommonscrlayerscrpage \begin{Declaration} @@ -179,34 +188,516 @@ 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 + 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 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 +zu den jeweiligen Elementen. Namen und Bedeutung der einzelnen Elemente +\IfCommon{scrlayer-scrpage}{und deren Voreinstellungen }sind in % -\fi %************************************************* Ende nicht scrlttr2 * -\IfNotCommon{scrextend}{\autoref{tab:\csname - label@base\endcsname.elementsWithoutText} }% +\fi %******************************************* Ende Langform (nur maincls) * +\IfNotCommon{scrextend}{\IfNotCommon{scrlayer-scrpage}{\autoref{tab:\csname + label@base\endcsname.elementsWithoutText} }}% \IfCommon{scrextend}{\autoref{tab:maincls.elementsWithoutText}, \autopageref{tab:maincls.elementsWithoutText} }% +\IfCommon{scrlayer-scrpage}{\autoref{tab:scrlayer-scrpage.fontelements}, + \autopageref{tab:scrlayer-scrpage.fontelements} }% aufgelistet. % \IfCommon{scrextend}{Allerdings werden davon in \Package{scrextend} nur die Elemente für den Dokumenttitel, den schlauen Spruch, die Fußnoten und die - \Environment{labeling}-Umgebung - 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. + \Environment{labeling}-Umgebung behandelt. Das Element + \FontElement{disposition} ist zwar auch verfügbar, wird jedoch von + \Package{scrextend} ebenfalls nur für den Dokumenttitel verwendet.% +}% +\IfNotCommon{scrlayer-scrpage}{Die Voreinstellungen sind den jeweiligen + Abschnitten zu entnehmen.}% + +\ifIgnoreThis %+++++++++++++++++++++++++++++++ Kurzfassung (nicht maincls) + +\else %----------------------------------------- Langfassung (nur maincls) - + +Mit der Anweisung \Macro{usekomafont} kann die aktuelle Schriftart auf +diejenige umgeschaltet werden, die für das angegebene \PName{Element} +definiert ist. +\ifCommonmaincls % +++++++++++++++++++++++++++++++++++++++++++ nur maincls + +\begin{Example} + \phantomsection\label{desc:maincls.setkomafont.example}% + Angenommen, für das Element + \FontElement{captionlabel} soll dieselbe Schriftart wie + für \FontElement{descriptionlabel} verwenden. Das + erreichen Sie einfach mit: +\begin{lstcode} + \setkomafont{captionlabel}{% + \usekomafont{descriptionlabel}% + } +\end{lstcode} + Weitere Beispiele finden Sie in den Abschnitten zu den jeweiligen + Elementen. +\end{Example} +\begin{desclist} + \desccaption{% + Elemente, deren Schrift bei \Class{scrbook}, \Class{scrreprt} oder + \Class{scrartcl} mit \Macro{setkomafont} und \Macro{addtokomafont} + verändert werden kann\label{tab:maincls.elementsWithoutText}% + }{% + Elemente, deren Schrift verändert werden kann (\emph{Fortsetzung})% + }% + \feentry{author}{% + \ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Package{scrextend}}% + Autorangaben im Haupttitel des Dokuments mit \Macro{maketitle}, also das + Argument von \Macro{author} (siehe \autoref{sec:maincls.titlepage}, + \autopageref{desc:maincls.cmd.author})}% + \feentry{caption}{Text einer Abbildungs- oder Tabellenunter- oder + "~überschrift (siehe \autoref{sec:maincls.floats}, + \autopageref{desc:maincls.cmd.caption})}% + \feentry{captionlabel}{% + Label einer Abbildungs- oder Tabellenunter- oder "~überschrift; Anwendung + erfolgt nach dem Element \FontElement{caption} (siehe + \autoref{sec:maincls.floats}, \autopageref{desc:maincls.cmd.caption})}% + \feentry{chapter}{% + Überschrift der Ebene \Macro{chapter} (siehe + \autoref{sec:maincls.structure}, \autopageref{desc:maincls.cmd.chapter})}% + \feentry{chapterentry}{% + Inhaltsverzeichniseintrag der Ebene \Macro{chapter} (siehe + \autoref{sec:maincls.toc}, + \autopageref{desc:maincls.cmd.tableofcontents})}% + \feentry{chapterentrypagenumber}{% + Seitenzahl des Inhaltsverzeichniseintrags der Ebene \Macro{chapter} + abweichend vom Element \FontElement{chapterentry} (siehe + \autoref{sec:maincls.toc}, + \autopageref{desc:maincls.cmd.tableofcontents})}% + \feentry{chapterprefix}{% + Kapitelnummernzeile bei Einstellung \OptionValue{chapterprefix}{true} oder + \OptionValue{appendixprefix}{true} (siehe \autoref{sec:maincls.structure}, + \autopageref{desc:maincls.option.chapterprefix})}% + \feentry{date}{% + \ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Package{scrextend}}% + Datum im Haupttitel des Dokuments mit \Macro{maketitle}, also das Argument + von \Macro{date} (siehe \autoref{sec:maincls.titlepage}, + \autopageref{desc:maincls.cmd.date})}% + \feentry{dedication}{% + \ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Package{scrextend}}% + Widmung nach dem Haupttitel des Dokuments mit \Macro{maketitle}, also das + Argument von \Macro{dedication} (siehe \autoref{sec:maincls.titlepage}, + \autopageref{desc:maincls.cmd.dedication})}% + \feentry{descriptionlabel}{% + Label, also das optionale Argument der \Macro{item}-Anweisung, in einer + \Environment{description}-Umgebung (siehe \autoref{sec:maincls.lists}, + \autopageref{desc:maincls.env.description})}% + \feentry{dictum}{% + mit \Macro{dictum} gesetzter schlauer Spruch (siehe + \autoref{sec:maincls.dictum}, \autopageref{desc:maincls.cmd.dictum})}% + \feentry{dictumauthor}{% + Urheber eines schlauen Spruchs; Anwendung erfolgt nach dem Element + \FontElement{dictum} (siehe \autoref{sec:maincls.dictum}, + \autopageref{desc:maincls.cmd.dictum})}% + \feentry{dictumtext}{% + alternative Bezeichnung für \FontElement{dictum}}% + \feentry{disposition}{% + alle Gliederungsüberschriften, also die Argumente von \Macro{part} bis + \Macro{subparagraph} und \Macro{minisec} sowie die Überschrift der + Zusammenfassung; die Anwendung erfolgt vor dem Element der jeweiligen + Gliederungsebene (siehe \autoref{sec:maincls.structure} ab + \autopageref{sec:maincls.structure})}% + \feentry{footnote}{% + Marke und Text einer Fußnote (siehe \autoref{sec:maincls.footnotes}, + \autopageref{desc:maincls.cmd.footnote})}% + \feentry{footnotelabel}{% + Marke einer Fußnote; Anwendung erfolgt nach dem Element + \FontElement{footnote} (siehe \autoref{sec:maincls.footnotes}, + \autopageref{desc:maincls.cmd.footnote})}% + \feentry{footnotereference}{% + Referenzierung der Fußnotenmarke im Text (siehe + \autoref{sec:maincls.footnotes}, + \autopageref{desc:maincls.cmd.footnote})}% + \feentry{footnoterule}{% + Linie\ChangedAt{v3.07}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} über dem Fußnotenapparat (siehe + \autoref{sec:maincls.footnotes}, + \autopageref{desc:maincls.cmd.setfootnoterule})}% + \feentry{labelinglabel}{% + Label, also das optionale Argument der \Macro{item}-Anweisung, und + Trennzeichen, also das optionale Argument der + \Environment{labeling}-Umgebung, in einer \Environment{labeling}-Umgebung + (siehe \autoref{sec:maincls.lists}, + \autopageref{desc:maincls.env.labeling})}% + \feentry{labelingseparator}{% + Trennzeichen, also das optionale Argument der + \Environment{labeling}-Umgebung, in einer \Environment{labeling}-Umgebung; + Anwendung erfolgt nach dem Element \FontElement{labelinglabel} (siehe + \autoref{sec:maincls.lists}, \autopageref{desc:maincls.env.labeling})}% + \feentry{minisec}{% + mit \Macro{minisec} gesetzte Überschrift (siehe + \autoref{sec:maincls.structure} ab + \autopageref{desc:maincls.cmd.minisec})}% + \feentry{pagefoot}{% + wird nur verwendet, wenn das Paket \Package{scrlayer-scrpage}\iffree{ oder + \Package{scrpage2}}{} geladen ist (siehe + \autoref{cha:scrlayer-scrpage}, + \autopageref{desc:scrlayer-scrpage.fontelement.pagefoot}\iffree{ + beziehungsweise \autoref{cha:scrpage}, + \autopageref{desc:scrpage.fontelement.pagefoot}}{})}% + \feentry{pagehead}{% + alternative Bezeichnung für \FontElement{pageheadfoot}}% + \feentry{pageheadfoot}{% + Seitenkopf und Seitenfuß bei allen von \KOMAScript{} definierten + Seitenstilen (siehe \autoref{sec:maincls.pagestyle} ab + \autopageref{sec:maincls.pagestyle})}% + \feentry{pagenumber}{% + Seitenzahl im Kopf oder Fuß der Seite (siehe + \autoref{sec:maincls.pagestyle})}% + \feentry{pagination}{% + alternative Bezeichnung für \FontElement{pagenumber}}% + \feentry{paragraph}{% + Überschrift der Ebene \Macro{paragraph} (siehe + \autoref{sec:maincls.structure}, + \autopageref{desc:maincls.cmd.paragraph})}% + \feentry{part}{% + Überschrift der Ebene \Macro{part}, jedoch ohne die Zeile mit der Nummer + des Teils (siehe \autoref{sec:maincls.structure}, + \autopageref{desc:maincls.cmd.part})}% + \feentry{partentry}{% + Inhaltsverzeichniseintrag der Ebene \Macro{part} (siehe + \autoref{sec:maincls.toc}, + \autopageref{desc:maincls.cmd.tableofcontents})}% + \feentry{partentrypagenumber}{% + Seitenzahl des Inhaltsverzeichniseintrags der Ebene \Macro{part} + abweichend vom Element \FontElement{partentry} (siehe + \autoref{sec:maincls.toc}, + \autopageref{desc:maincls.cmd.tableofcontents})}% + \feentry{partnumber}{% + Zeile mit der Nummer des Teils in Überschrift der Ebene \Macro{part} + (siehe \autoref{sec:maincls.structure}, + \autopageref{desc:maincls.cmd.part})}% + \feentry{publishers}{% + \ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Package{scrextend}}% + Verlagsangabe im Haupttitel des Dokuments mit \Macro{maketitle}, also das + Argument von \Macro{publishers} (siehe \autoref{sec:maincls.titlepage}, + \autopageref{desc:maincls.cmd.publishers})}% + \feentry{section}{% + Überschrift der Ebene \Macro{section} (siehe + \autoref{sec:maincls.structure}, \autopageref{desc:maincls.cmd.section})}% + \feentry{sectionentry}{% + Inhaltsverzeichniseintrag der Ebene \Macro{section} (nur bei + \Class{scrartcl} verfügbar, siehe \autoref{sec:maincls.toc}, + \autopageref{desc:maincls.cmd.tableofcontents})}% + \feentry{sectionentrypagenumber}{% + Seitenzahl des Inhaltsverzeichniseintrags der Ebene \Macro{section} + abweichend vom Element \FontElement{sectionentry} (nur bei + \Class{scrartcl} verfügbar, siehe \autoref{sec:maincls.toc}, + \autopageref{desc:maincls.cmd.tableofcontents})}% + \feentry{sectioning}{% + alternative Bezeichnung für \FontElement{disposition}}% + \feentry{subject}{% + Typisierung des Dokuments, also das Argument von \Macro{subject} auf der + Haupttitelseite mit \Macro{maketitle} (siehe + \autoref{sec:maincls.titlepage}, \autopageref{desc:maincls.cmd.subject})}% + \feentry{subparagraph}{% + Überschrift der Ebene \Macro{subparagraph} (siehe + \autoref{sec:maincls.structure}, + \autopageref{desc:maincls.cmd.subparagraph})}% + \feentry{subsection}{% + Überschrift der Ebene \Macro{subsection} (siehe + \autoref{sec:maincls.structure}, + \autopageref{desc:maincls.cmd.subsection})}% + \feentry{subsubsection}{% + Überschrift der Ebene \Macro{subsubsection} (siehe + \autoref{sec:maincls.structure}, + \autopageref{desc:maincls.cmd.subsubsection})}% + \feentry{subtitle}{% + Untertitel des Dokuments, also das Argument von \Macro{subtitle} auf der + Haupttitelseite mit \Macro{maketitle} (siehe + \autoref{sec:maincls.titlepage}, \autopageref{desc:maincls.cmd.title})}% + \feentry{title}{% + Haupttitel des Dokuments, also das Argument von \Macro{title} bei + Verwendung von \Macro{maketitle} (bezüglich der Größe des Haupttitels + siehe die ergänzenden Bemerkungen im Text von + \autoref{sec:maincls.titlepage} ab \autopageref{desc:maincls.cmd.title})}% + \feentry{titlehead}{% + \ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Package{scrextend}}% + Kopf über dem Haupttitel des Dokuments, also das Argument von + \Macro{titlehead} mit \Macro{maketitle} (siehe + \autoref{sec:maincls.titlepage}, + \autopageref{desc:maincls.cmd.titlehead})}% +\end{desclist} +% +\fi % *************************************************** Ende nur maincls * +\ifCommonscrextend % +++++++++++++++++++++++++++++++++++++++ nur scrextend + +\begin{Example} + Angenommen, Sie wollen, dass der Titel in Serifenschrift und rot gesetzt + wird. Das erreichen Sie einfach mit: +\begin{lstcode} + \setkomafont{title}{\color{red}} +\end{lstcode} + Für die Anweisung \lstinline|\color{red}| wird das Paket \Package{color} + oder \Package{xcolor} benötigt. Die zusätzliche Angabe von + \Macro{normalfont} ist in diesem Beispiel deshalb nicht notwendig, weil + diese Anweisung bereits in der Definition des Titels enthalten + ist. Das\textnote{Achtung!} Beispiel setzt voraus, dass + \OptionValue{extendedfeature}{title} gesetzt ist (siehe + \autoref{sec:scrextend.optionalFeatures}, + \autopageref{desc:scrextend.option.extendedfeature}). +\end{Example} +\fi % ************************************************* Ende nur scrextend * +\ifCommonscrlttr % ++++++++++++++++++++++++++++++++++++++++++ nur scrlttr2 + +\par +Ein allgemeines Beispiel für die Anwendung von \Macro{setkomafont} und +\Macro{usekomafont} finden Sie in \autoref{sec:maincls.textmarkup}, +\autopageref{desc:maincls.setkomafont.example}. +\fi % ************************************************** Ende nur scrlttr2 * +\fi %***************************************** Ende Langform (nur maincls) * +\ifCommonscrlttr % ++++++++++++++++++++++++++++++++++++++++++ nur scrlttr2 + +\begin{desclist} + \desccaption{% + Elemente, deren Schrift bei der Klasse \Class{scrlttr2} mit + \Macro{setkomafont} und \Macro{addtokomafont} verändert werden + kann\label{tab:scrlttr2.elementsWithoutText}% + }{% + Elemente, deren Schrift verändert werden kann (\emph{Fortsetzung})% + }% + \feentry{addressee}{Name und Anschrift im Anschriftfenster + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.option.addrfield})}% + \feentry{backaddress}{Rücksendeadresse für einen Fensterbriefumschlag + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.option.backaddress})}% + \feentry{descriptionlabel}{Label, also das optionale Argument von + \Macro{item}, in einer \Environment{description}-Umgebung + (\autoref{sec:scrlttr2.lists}, + \autopageref{desc:scrlttr2.env.description})}% + \feentry{foldmark}{Faltmarke auf dem Briefpapier; ermöglicht Änderung der + Linienfarbe (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.option.foldmarks})}% + \feentry{footnote}{% + Marke und Text einer Fußnote (\autoref{sec:scrlttr2.footnotes}, + \autopageref{desc:scrlttr2.cmd.footnote})}% + \feentry{footnotelabel}{% + Marke einer Fußnote; Anwendung erfolgt nach dem Element + \FontElement{footnote} (\autoref{sec:scrlttr2.footnotes}, + \autopageref{desc:scrlttr2.cmd.footnote})}% + \feentry{footnotereference}{% + Referenzierung der Fußnotenmarke im Text + (\autoref{sec:scrlttr2.footnotes}, + \autopageref{desc:scrlttr2.cmd.footnote})}% + \feentry{footnoterule}{% + Linie\ChangedAt{v3.07}{\Class{scrlttr2}} über dem Fußnotenapparat + (\autoref{sec:scrlttr2.footnotes}, + \autopageref{desc:scrlttr2.cmd.setfootnoterule})}% + \feentry{fromaddress}{Absenderadresse im Briefkopf + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.fromaddress})}% + \feentry{fromname}{Name des Absenders im Briefkopf abweichend von + \PValue{fromaddress} (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.fromname})}% + \feentry{fromrule}{Linie im Absender im Briefkopf; gedacht für + Farbänderungen (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.option.fromrule})}% + \feentry{labelinglabel}{% + Label, also das optionale Argument der \Macro{item}-Anweisung, und + Trennzeichen, also das optionale Argument der + \Environment{labeling}-Umgebung, in einer \Environment{labeling}-Umgebung + (siehe \autoref{sec:scrlttr2.lists}, + \autopageref{desc:scrlttr2.env.labeling})}% + \feentry{labelingseparator}{% + Trennzeichen, also das optionale Argument der + \Environment{labeling}-Umgebung, in einer \Environment{labeling}-Umgebung; + Anwendung erfolgt nach dem Element \FontElement{labelinglabel} (siehe + \autoref{sec:scrlttr2.lists}, \autopageref{desc:scrlttr2.env.labeling})}% + \feentry{pagefoot}{% + wird nach dem Element \FontElement{pageheadfoot} für den mit Variable + \Variable{nextfoot}\IndexVariable{nextfoot} definieren Seitenfuß verwendet + oder wenn das Paket \Package{scrpage2} geladen ist + (\autoref{cha:scrlayer-scrpage}, + \autopageref{desc:scrlayer-scrpage.fontelement.pagefoot}\iffree{ oder + \autoref{cha:scrpage}, + \autopageref{desc:scrpage.fontelement.pagefoot}}{})}% + \feentry{pagehead}{% + alternative Bezeichnung für \FontElement{pageheadfoot}}% + \feentry{pageheadfoot}{% + Seitenkopf und Seitenfuß bei allen von \KOMAScript{} definierten + Seitenstilen (\autoref{sec:scrlttr2.pagestyle}, + \autopageref{desc:scrlttr2.fontelement.pageheadfoot})}% + \feentry{pagenumber}{% + Seitenzahl im Kopf oder Fuß der Seite (\autoref{sec:scrlttr2.pagestyle}, + \autopageref{desc:scrlttr2.fontelement.pagenumber})}% + \feentry{pagination}{% + alternative Bezeichnung für \FontElement{pagenumber}}% + \feentry{placeanddate}{% + \ChangedAt{v3.12}{\Class{scrlttr2}}% + Ort und Datum, falls statt einer Geschäftszeile nur eine Datumszeile + verwendet wird (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.placeseparator})}% + \feentry{refname}{% + Bezeichnung der Felder in der Geschäftszeile + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.yourref})}% + \feentry{refvalue}{% + Werte der Felder in der Geschäftszeile (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.yourref})}% + \feentry{specialmail}{Versandart im Anschriftfenster + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.specialmail})}% + \feentry{subject}{Betreff in der Brieferöffnung + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.subject})}% + \feentry{title}{Titel in der Brieferöffnung + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.title})}% + \feentry{toaddress}{Abweichung vom Element \FontElement{addressee} für die + Anschrift (ohne Name) des Empfängers im Anschriftfeld + (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.toaddress})}% + \feentry{toname}{Abweichung vom Element \FontElement{addressee} für den + Namen des Empfängers im Anschriftfeld (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.toname})}% +\end{desclist} +\fi % ************************************************** Ende nur scrlttr2 * +\ifCommonscrlayerscrpage % ++++++++++++++++++++++++++ nur scrlayer-scrpage + +\begin{desclist} + \desccaption[{Elemente, deren Schrift bei \Package{scrlayer-scrpage} mit + \Macro{setkomafont} und \Macro{addtokomafont} verändert werden kann, sowie + deren Voreinstellung}]% + {Elemente, deren Schrift bei \Package{scrlayer-scrpage} mit + \Macro{setkomafont} und \Macro{addtokomafont} verändert werden kann, sowie + deren Voreinstellung, falls die Elemente beim Laden von + \Package{scrlayer-scrpage} nicht bereits definiert sind% + \label{tab:scrlayer-scrpage.fontelements}% + }% + {Elemente, deren Schrift verändert werden kann (\emph{Fortsetzung})}% + \feentry{footbotline}{% + Linie unter dem Fuß eines mit \Package{scrlayer-scrpage} definierten + Seitenstils (siehe \autoref{sec:scrlayer-scrpage.pagestyle.content}, + \autopageref{desc:scrlayer-scrpage.fontelement.footbotline}). Das Element + wird nach \Macro{normalfont}\IndexCmd{normalfont} und nach den Elementen + \FontElement{pageheadfoot}\IndexFontElement{pageheadfoot} und + \FontElement{pagefoot}\IndexFontElement{pagefoot} angewandt. Es wird + empfohlen dieses Element lediglich für Farbänderungen zu verwenden.\par + Voreinstellung: \emph{leer} }% + \feentry{footsepline}{% + Linie über dem Fuß eines mit \Package{scrlayer-scrpage} definierten + Seitenstils (siehe \autoref{sec:scrlayer-scrpage.pagestyle.content}, + \autopageref{desc:scrlayer-scrpage.fontelement.footsepline}). Das Element + wird nach \Macro{normalfont}\IndexCmd{normalfont} und nach den Elementen + \FontElement{pageheadfoot}\IndexFontElement{pageheadfoot} und + \FontElement{pagefoot}\IndexFontElement{pagefoot} angewandt. Es wird + empfohlen dieses Element lediglich für Farbänderungen zu verwenden.\par + Voreinstellung: \emph{leer}% + }% + \feentry{headsepline}{% + Linie unter dem Kopf eines mit \Package{scrlayer-scrpage} definierten + Seitenstils (siehe \autoref{sec:scrlayer-scrpage.pagestyle.content}, + \autopageref{desc:scrlayer-scrpage.fontelement.headsepline}). Das Element + wird nach \Macro{normalfont}\IndexCmd{normalfont} und nach den Elementen + \FontElement{pageheadfoot}\IndexFontElement{pageheadfoot} und + \FontElement{pagehead}\IndexFontElement{pagehead} angewandt. Es wird + empfohlen dieses Element lediglich für Farbänderungen zu verwenden.\par + Voreinstellung: \emph{leer}% + }% + \feentry{headtopline}{% + Linie über dem Kopf eines mit \Package{scrlayer-scrpage} definierten + Seitenstils (siehe \autoref{sec:scrlayer-scrpage.pagestyle.content}, + \autopageref{desc:scrlayer-scrpage.fontelement.headtopline}). Das Element + wird nach \Macro{normalfont}\IndexCmd{normalfont} und nach den Elementen + \FontElement{pageheadfoot}\IndexFontElement{pageheadfoot} und + \FontElement{pagehead}\IndexFontElement{pagehead} angewandt. Es wird + empfohlen dieses Element lediglich für Farbänderungen zu verwenden.\par + Voreinstellung: \emph{leer}% + }% + \feentry{pagefoot}{% + Inhalt eines Fußes eines mit \Package{scrlayer-scrpage} definierten + Seitenstils (siehe \autoref{sec:scrlayer-scrpage.predefined.pagestyles}, + \autopageref{desc:scrlayer-scrpage.fontelement.pagefoot}). Das Element + wird nach \Macro{normalfont}\IndexCmd{normalfont} und nach dem Element + \FontElement{pageheadfoot}\IndexFontElement{pageheadfoot} angewandt.\par + Voreinstellung: \emph{leer}% + }% + \feentry{pagehead}{% + Inhalt eines Kopfes eines mit \Package{scrlayer-scrpage} definierten + Seitenstils (siehe \autoref{sec:scrlayer-scrpage.predefined.pagestyles}, + \autopageref{desc:scrlayer-scrpage.fontelement.pagehead}). Das Element + wird nach \Macro{normalfont}\IndexCmd{normalfont} und nach Element + \FontElement{pageheadfoot}\IndexFontElement{pageheadfoot} angewandt.\par + Voreinstellung: \emph{leer}% + }% + \feentry{pageheadfoot}{% + Inhalt eines Kopfes oder Fußes eines mit \Package{scrlayer-scrpage} + definierten Seitenstils (siehe + \autoref{sec:scrlayer-scrpage.predefined.pagestyles}, + \autopageref{desc:scrlayer-scrpage.fontelement.pageheadfoot}). Das Element + wird nach \Macro{normalfont}\IndexCmd{normalfont} angewandt.\par + Voreinstellung: \Macro{normalcolor}\Macro{slshape}% + }% + \feentry{pagenumber}{% + Die mit \Macro{pagemark} gesetzte Paginierung (siehe + \autoref{sec:scrlayer-scrpage.predefined.pagestyles}, + \autopageref{desc:scrlayer-scrpage.fontelement.pagenumber}). Bei einer + etwaigen Umdefinierung von \Macro{pagemark} ist dafür zu sorgen, dass die + Umdefinierung auch ein \Macro{usekomafont}\PParameter{pagenumber} + enthält!\par + Voreinstellung: \Macro{normalfont}% + }% +\end{desclist} +\fi % ****************************************** Ende nur scrlayer-scrpage * +\ifIgnoreThis %+++++++++++++++++++++++++++++++ Kurzfassung (nicht maincls) + +\else %----------------------------------------- Langfassung (nur maincls) - +\EndIndex{Cmd}{setkomafont}% +\EndIndex{Cmd}{addtokomafont}% +\EndIndex{Cmd}{usekomafont}% + +\begin{Declaration} + \Macro{usefontofkomafont}\Parameter{Element}\\ + \Macro{useencodingofkomafont}\Parameter{Element}\\ + \Macro{usesizeofkomafont}\Parameter{Element}\\ + \Macro{usefamilyofkomafont}\Parameter{Element}\\ + \Macro{useseriesofkomafont}\Parameter{Element}\\ + \Macro{useshapeofkomafont}\Parameter{Element} +\end{Declaration} +\BeginIndex{Cmd}{usefontofkomafont}% +\BeginIndex{Cmd}{useencodingofkomafont}% +\BeginIndex{Cmd}{usesizeofkomafont}% +\BeginIndex{Cmd}{usefamilyofkomafont}% +\BeginIndex{Cmd}{useseriesofkomafont}% +\BeginIndex{Cmd}{useshapeofkomafont}% +Manchmal\ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Package{scrextend}} werden in der Schrifteinstellung +eines Elements auch Dinge vorgenommen, die mit der Schrift eigentlich gar +nichts zu tun haben, obwohl dies ausdrücklich nicht empfohlen wird. Soll dann +nur die Schrifteinstellung aber keine dieser zusätzlichen Einstellungen +ausgeführt werden, so kann statt \Macro{usekomafont} die Anweisung +\Macro{usefontofkomafont} verwendet werden. Diese Anweisung übernimmt nur die +Schriftgröße und den Grundlinienabstand, die Codierung +(engl. \emph{encoding}), die Familie (engl. \emph{family}), die Strichstärke +oder Ausprägung (engl. \emph{font series}) und die Form oder Ausrichtung +(engl. \emph{font shape}). + +Mit den übrigen Anweisungen können auch einzelne Schriftattribute +übernommen werden. Dabei übernimmt \Macro{usesizeofkomafont} sowohl die +Schriftgröße als auch den Grundlinienabstand. +\EndIndex{Cmd}{useshapeofkomafont}% +\EndIndex{Cmd}{useseriesofkomafont}% +\EndIndex{Cmd}{usefamilyofkomafont}% +\EndIndex{Cmd}{usesizeofkomafont}% +\EndIndex{Cmd}{useencodingofkomafont}% +\EndIndex{Cmd}{usefontofkomafont}% +% +\EndIndex{}{Schrift>Art}% +\EndIndex{}{Text>Auszeichnung} +\fi %***************************************** Ende Langform (nur maincls) * %%% Local Variables: %%% mode: latex diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-8.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-8.tex index b2507a244b1..11360076599 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-8.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-8.tex @@ -1,6 +1,6 @@ % ====================================================================== % common-8.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % common-8.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,9 @@ % % ====================================================================== -\ProvidesFile{common-8.tex}[2011/09/21 KOMA-Script guide (common paragraphs)] +\KOMAProvidesFile{common-8.tex}% + [$Date: 2013-12-11 20:21:09 +0100 (Mi, 11. Dez 2013) $ + KOMA-Script guide (common paragraphs)] \makeatletter \@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}% @@ -66,18 +68,22 @@ wurde. \BeginIndex{}{Seiten>Stil}% \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. + absichtlich leer bleiben. Bei \LaTeX{} werden sie jedoch in der + Voreinstellung mit dem aktuell gültigen Seitenstil gesetzt. \KOMAScript{} + bietet hier diverse Erweiterungen. 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 + Vakatseiten normalerweise nur im doppelseitigen Satz existieren. +% +\iffalse % Umbruchkorrektur + Die leeren Rückseiten im einseitigen Druck werden eher nicht als Vakatseiten - bezeichnet, obwohl sie auf Druckbögen im Ergebnis als solche erscheinen.}% + bezeichnet, obwohl sie auf Druckbögen im Ergebnis als solche erscheinen. +% +\fi}% \fi %**************************************************** Ende nur maincls * \ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls + \IfCommon{scrlttr2}{Aber} @@ -106,25 +112,27 @@ Mit Hilfe dieser Option\ChangedAt{v3.00}{\Class{scrbook}\and umbrechen. Als \PName{Seitenstil} sind dabei 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}, +\autoref{cha:scrlayer-scrpage} ab \autopageref{cha:scrlayer-scrpage}\iffree{ + beziehungsweise \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}, \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 + sind\iffree{, also mit Seitenstil \Pagestyle{plain} erzeugt werden}{}. Dies + erreichen Sie \iffree{beispielsweise }{}mit: \begin{lstcode} - \KOMAoption{cleardoublepage=plain} + \KOMAoptions{cleardoublepage=plain} \end{lstcode} Näheres zum Seitenstil \Pagestyle{plain} ist in \autoref{sec:maincls.pagestyle}, \autopageref{desc:maincls.pagestyle.plain} @@ -138,7 +146,7 @@ früheren \KOMAScript-Versionen eingestellt hat (siehe Option \Option{version}, sind, also mit Seitenstil \Pagestyle{plain} erzeugt werden. Dies erreichen Sie beispielsweise mit \begin{lstcode} - \KOMAoption{cleardoublepage=plain} + \KOMAoptions{cleardoublepage=plain} \end{lstcode} Näheres zum Seitenstil \Pagestyle{plain} ist in \autoref{sec:maincls.pagestyle}, \autopageref{desc:maincls.pagestyle.plain} @@ -206,7 +214,8 @@ linken Seite zusätzlich auf \Pagestyle{plain}\IndexPagestyle{plain}, um den % 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. +\autoref{cha:scrlayer-scrpage}\iffree{ oder \autoref{cha:scrpage}}{}) +verwendet werden. \IfNotCommon{scrlttr2}{% Manchmal möchte man nicht, dass Kapitel mit neuen @@ -302,6 +311,8 @@ erläuterten Anweisungen. %%% Local Variables: %%% mode: latex +%%% mode: flyspell %%% coding: iso-latin-1 +%%% ispell-local-dictionary: "de_DE" %%% TeX-master: "../guide" %%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/guide-ngerman.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/guide-ngerman.tex index 840c58d3ee3..bc5cf702c80 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/guide-ngerman.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/guide-ngerman.tex @@ -1,6 +1,6 @@ % ====================================================================== % guide-ngerman.tex -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % guide-ngerman.tex -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -40,13 +40,14 @@ % % ---------------------------------------------------------------------- % -% Sprachabhängigkeiten (ngerman) der KOMA-Script-Anleitung +% Sprachabhaengigkeiten (ngerman) der KOMA-Script-Anleitung % Verwaltet von Markus Kohm % % ====================================================================== % -\ProvidesFile{guide-ngerman.tex}[{2012/02/26 - KOMA-Script guide language dependencies}] +\KOMAProvidesFile{guide-ngerman.tex} + [$Date: 2013-12-11 08:22:22 +0100 (Mi, 11 Dez 2013) $ + KOMA-Script guide language dependencies] % % \section{Title} % @@ -65,33 +66,33 @@ \newcommand*{\GuideTitle}{\KOMAScript}% \newcommand*{\GuideSubTitle}{ein wandelbares \LaTeXe-Paket}% \newcommand*{\GuideAuthorHeadline}{Autoren des \KOMAScript-Pakets}% -\newcommand*{\GuideTranslatorHeadline}{An der deutschen Übersetzung dieser +\newcommand*{\GuideTranslatorHeadline}{An der deutschen \"Ubersetzung dieser Anleitung haben mitgewirkt: } \newcommand*{\GuideWarrantyHeadline}{Rechtliche Hinweise:}% -\newcommand*{\GuideWarranty}{Die Autoren dieser Anleitung sind in ihrer - Eigenschaft als Autoren dieser Anleitung nicht verantwortlich für die +\newcommand*{\GuideWarranty}{Der Autor dieser Anleitung ist in dieser + Eigenschaft nicht verantwortlich f\"ur die Funktion oder Fehler der in dieser Anleitung beschriebenen Software. Bei der - Erstellung von Texten und Abbildungen wurde mit größter Sorgfalt - vorgegangen. Trotzdem können Fehler nicht vollständig ausgeschlossen + Erstellung von Texten und Abbildungen wurde mit gro\ss er Sorgfalt + vorgegangen. Trotzdem k\"onnen Fehler nicht vollst\"andig ausgeschlossen werden.\par\medskip% - Die Autoren können jedoch für fehlerhafte Angaben und deren Folgen weder - eine juristische Verantwortung noch irgendeine Haftung übernehmen. Für - Verbesserungsvorschläge und Hinweise auf Fehler sind die Autoren + Der Autor kann jedoch f\"ur fehlerhafte Angaben und deren Folgen weder + eine juristische Verantwortung noch irgendeine Haftung \"ubernehmen. F\"ur + Verbesserungsvorschl\"age und Hinweise auf Fehler ist der Autor dankbar.\par\medskip% - In dieser Anleitung werden Warennamen ohne der Gewährleistung der freien + In dieser Anleitung werden Warennamen ohne der Gew\"ahrleistung der freien Verwendbarkeit und ohne besondere Kennzeichnung benutzt. Es ist jedoch davon auszugehen, dass viele der Warennamen gleichzeitig eingetragene Warenzeichnen oder als solche zu betrachten sind.}% \newcommand*{\GuideCopyright}{Freie Bildschirm-Version ohne Optimierung des Umbruchs\par\medskip% Diese Anleitung ist als Bestandteil von \KOMAScript{} frei im Sinne der - \LaTeX{} Project Public License Version 1.3c. Eine für \KOMAScript{} gültige - deutsche Übersetzung liegt \KOMAScript{} in der Datei »\texttt{lppl-de.txt}« + \LaTeX{} Project Public License Version 1.3c. Eine f\"ur \KOMAScript{} g\"ultige + deutsche \"Ubersetzung liegt \KOMAScript{} in der Datei »\texttt{lppl-de.txt}« bei. Diese Anleitung --~auch in gedruckter Form~-- darf nur zusammen mit den - übrigen Bestandteilen von \KOMAScript{} weitergegeben und verteilt werden. - Eine Verteilung der Anleitung unabhängig von den übrigen Bestandteilen von - \KOMAScript{} bedarf der ausdrücklichen Genehmigung der - Autoren.\par\medskip% + \"ubrigen Bestandteilen von \KOMAScript{} weitergegeben und verteilt werden. + Eine Verteilung der Anleitung unabh\"angig von den \"ubrigen Bestandteilen von + \KOMAScript{} bedarf der ausdr\"ucklichen Genehmigung des + Autors.\par\medskip% Eine umbruchoptimierte und erweiterte Ausgabe der \KOMAScript-Anleitung ist in der dante-Edition von Lehmanns Media erschienen (siehe \cite{book:komascript}).}% @@ -112,7 +113,7 @@ % % \begin{macro}{\GuideCTANserver} % \begin{macrocode} -\newcommand*{\GuideCTANserver}{ftp.dante.de} +\newcommand*{\GuideCTANserver}{mirror.ctan.org} % \end{macrocode} % \end{macro} % @@ -124,7 +125,7 @@ % \begin{macro}{\GuideClass} % \begin{macro}{\GuideClassIndexCategory} % \begin{macro}{\GuideClassIndexCategoryExpanded} -% The term »class«. +% The term ``class''. % \begin{macrocode} \newcommand*{\GuideClass}{Klasse} \newcommand*{\GuideClassIndexCategory}{Klassen} @@ -137,10 +138,10 @@ % \begin{macro}{\GuideCounter} % \begin{macro}{\GuideCounterIndexCategory} % \begin{macro}{\GuideCounterIndexCategoryExpanded} -% The term »counter«. +% The term ``counter''. % \begin{macrocode} -\newcommand*{\GuideCounter}{Zähler} -\newcommand*{\GuideCounterIndexCategory}{Zähler} +\newcommand*{\GuideCounter}{Z\"ahler} +\newcommand*{\GuideCounterIndexCategory}{Z\"ahler} \let\GuideCounterIndexCategoryExpanded\GuideCounterIndexCategory % \end{macrocode} % \end{macro} @@ -150,7 +151,7 @@ % \begin{macro}{\GuideEnvironment} % \begin{macro}{\GuideEnvIndexCategory} % \begin{macro}{\GuideEnvIndexCategoryExpanded} -% The term »environment«. +% The term ``environment''. % \begin{macrocode} \newcommand*{\GuideEnvironment}{Umgebung} \newcommand*{\GuideEnvIndexCategory}{Umgebungen} @@ -161,7 +162,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}{Beispiel} % \end{macrocode} @@ -170,7 +171,7 @@ % \begin{macro}{\GuideFile} % \begin{macro}{\GuideFileIndexCategory} % \begin{macro}{\GuideFileIndexCategoryExpanded} -% The term »file«. +% The term ``file''. % \begin{macrocode} \newcommand*{\GuideFile}{Datei} \newcommand*{\GuideFileIndexCategory}{Dateien} @@ -183,7 +184,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}-Stil} \newcommand*{\GuideFloatstyleIndexCategory}{\Package{float}-Stile} @@ -196,7 +197,7 @@ % \begin{macro}{\GuideFontElement} % \begin{macro}{\GuideFontElementIndexCategory} % \begin{macro}{\GuideFontElementIndexCategoryExpanded} -% The term »element«. +% The term ``element''. % \begin{macrocode} \newcommand*{\GuideFontElement}{Element} \newcommand*{\GuideFontElementIndexCategory}{Elemente} @@ -209,10 +210,10 @@ % \begin{macro}{\GuideLength} % \begin{macro}{\GuideLengthIndexCategory} % \begin{macro}{\GuideLengthIndexCategoryExpanded} -% The term »length«. +% The term ``length''. % \begin{macrocode} -\newcommand*{\GuideLength}{Länge} -\newcommand*{\GuideLengthIndexCategory}{Längen} +\newcommand*{\GuideLength}{L\"ange} +\newcommand*{\GuideLengthIndexCategory}{L\"angen} \let\GuideLengthIndexCategoryExpanded\GuideLengthIndexCategory % \end{macrocode} % \end{macro} @@ -225,7 +226,7 @@ % \begin{macro}{\GuideCommand} % \begin{macro}{\GuideCommandIndexCategory} % \begin{macro}{\GuideCommandIndexCategoryExpanded} -% The term »command«. +% The term ``command''. % \begin{macrocode} \newcommand*{\GuideMacro}{Befehl} \let\GuideCommand\GuideMacro @@ -244,7 +245,7 @@ % \begin{macro}{\GuideOption} % \begin{macro}{\GuideOptionIndexCategory} % \begin{macro}{\GuideOptionIndexCategoryExpanded} -% The term »option«. +% The term ``option''. % \begin{macrocode} \newcommand*{\GuideOption}{Option} \newcommand*{\GuideOptionIndexCategory}{Optionen} @@ -257,7 +258,7 @@ % \begin{macro}{\GuidePackage} % \begin{macro}{\GuidePackageIndexCategory} % \begin{macro}{\GuidePackageIndexCategoryExpanded} -% The term »package«. +% The term ``package''. % \begin{macrocode} \newcommand*{\GuidePackage}{Paket} \newcommand*{\GuidePackageIndexCategory}{Pakete} @@ -270,7 +271,7 @@ % \begin{macro}{\GuidePagestyle} % \begin{macro}{\GuidePagestyleIndexCategory} % \begin{macro}{\GuidePagestyleIndexCategoryExpanded} -% The term »page style«. +% The term ``page style''. % \begin{macrocode} \newcommand*{\GuidePagestyle}{Seitenstil} \newcommand*{\GuidePagestyleIndexCategory}{Seitenstile} @@ -284,11 +285,11 @@ % \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}{Pseudolänge} -\newcommand*{\GuidePLengthIndexCategory}{Pseudolängen} +\newcommand*{\GuidePLength}{Pseudol\"ange} +\newcommand*{\GuidePLengthIndexCategory}{Pseudol\"angen} \let\GuidePLengthIndexCategoryExpanded\GuidePLengthIndexCategory % \end{macrocode} % \end{macro} @@ -299,7 +300,7 @@ % \begin{macro}{\GuideVariable} % \begin{macro}{\GuideVariableIndexCategory} % \begin{macro}{\GuideVariableIndexCategoryExpanded} -% The term »variable«. +% The term ``variable''. % \begin{macrocode} \newcommand*{\GuideVariable}{Variable} \newcommand*{\GuideVariableIndexCategory}{Variablen} @@ -419,7 +420,7 @@ Der Pr\"afix \glqq \url{CTAN://}\grqq{} steht dabei f\"ur das \TeX-Archiv eines jeden CTAN-Servers oder -Spiegels. Sie k\"onnen den Pr\"afix beispielsweise durch - \url{ftp://\GuideCTANserver/tex-archive/} ersetzen. Bei + \url{http://\GuideCTANserver/tex-archive/} ersetzen. Bei \LaTeX-Paketen ist au\ss erdem zu beachten, dass versucht wurde, die Version anzugeben, auf die im Text Bezug genommen wurde. Bei einigen Paketen war es mehr ein Ratespiel, eine einheitliche @@ -519,7 +520,7 @@ \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} \let\pageautorefname\pagename @@ -529,7 +530,7 @@ % \begin{macro}{\subsubsectionautorefname} % \begin{macro}{\paragraphautorefname} % \begin{macro}{\subparagraphautorefname} -% I'll call them all »section«. +% I'll call them all ``section''. % \begin{macrocode} \let\subsectionautorefname=\sectionautorefname \let\subsubsectionautorefname=\sectionautorefname @@ -576,5 +577,6 @@ \endinput %%% Local Variables: %%% mode: doctex +%%% coding: iso-latin-1 %%% TeX-master: "../guide.tex" %%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/guide.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/guide.tex index 6fc6a8c55dd..41ba9402133 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/guide.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/guide.tex @@ -45,7 +45,7 @@ % % ====================================================================== -\ProvidesFile{guide.tex}[2012/02/22 KOMA-Script guide main file] +\ProvidesFile{guide.tex}[2013/10/14 KOMA-Script guide main file] \documentclass[\languagename]{scrguide} @@ -95,6 +95,7 @@ \include{scrbookreportarticle} \include{scrlttr2} \include{scrpage2} +\include{scrlayer-scrpage} \include{scrdatetime} \include{scraddr} \include{adrconvnote} @@ -106,6 +107,9 @@ \include{scrwfile} \include{tocbasic} \include{scrhack} +\include{scrlayer} +\include{scrlayer-scrpage-experts} +\include{scrlayer-notecolumn} \include{typearea-experts} \include{scrbookreportarticle-experts} \include{scrlttr2-experts} diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/htmlsetup b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/htmlsetup index e0ccde385ea..92dd812ff4e 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/htmlsetup +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/htmlsetup @@ -1,6 +1,6 @@ # ====================================================================== # htmlsetup -# Copyright (c) Markus Kohm, 2002-2009 +# Copyright (c) Markus Kohm, 2002-2013 # # This file is part of the LaTeX2e KOMA-Script bundle. # @@ -18,7 +18,7 @@ # This work consists of all files listed in manifest.txt. # ---------------------------------------------------------------------- # htmlsetup -# Copyright (c) Markus Kohm, 2002-2009 +# Copyright (c) Markus Kohm, 2002-2013 # # Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, # Version 1.3c, verteilt und/oder veraendert werden. @@ -54,6 +54,7 @@ alt=\"Valid HTML 4.0 Strict\" height=\"31\" width=\"88\"></a> %titles=( "option" => "Optionen", "macro" => "Anweisungen", "environment" => "Umgebungen", + "length" => "Längen", "plength" => "Pseudolängen", "variable" => "Variablen", "pagestyle" => "Seitenstile", diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/introduction.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/introduction.tex index c17cd67d45d..5b0a0cc633e 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/introduction.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/introduction.tex @@ -1,6 +1,6 @@ % ====================================================================== % introduction.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % introduction.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,9 @@ % % ====================================================================== -\ProvidesFile{introduction.tex}[2012/07/17 KOMA-Script guide introduction] +\KOMAProvidesFile{introduction.tex} + [$Date: 2013-12-11 10:18:01 +0100 (Mi, 11. Dez 2013) $ + KOMA-Script guide introduction] \chapter{Einleitung} \labelbase{introduction} @@ -53,8 +55,11 @@ Dieses Kapitel enthält \iffree{unter anderem }{}wichtige Informationen über den Aufbau \iffree{der Anleitung}{des Buches} und die Geschichte von \KOMAScript, die Jahre vor der ersten Version beginnt. Darüber hinaus finden -Sie Informationen für den Fall, dass Sie \KOMAScript{} noch nicht installiert -haben, oder auf Fehler stoßen. +Sie Informationen für den Fall, dass Sie % +\iffalse % Umbruchkorreturauslassung + \KOMAScript{} noch nicht installiert haben, oder % +\fi% +auf Fehler stoßen. \iffree{% \section{Vorwort} @@ -80,17 +85,17 @@ dass {\KOMAScript} in der Regel nicht gelehrt wird. Das heißt, es gibt keinen Lehrer, der seine Schüler kennt und damit den Unterricht und das Unterrichtsmaterial entsprechend wählen und anpassen kann. Es wäre ein Leichtes, die Dokumentation für irgendeine Zielgruppe zu -verfassen. Die Schwierigkeit, der sich die Autoren gegenüber sehen, +verfassen. Die Schwierigkeit, der sich der Autor gegenüber sieht, besteht jedoch darin, dass eine Anleitung für alle möglichen -Zielgruppen benötigt wird. Wir haben uns bemüht, eine Anleitung zu +Zielgruppen benötigt wird. Ich habe mich bemüht, eine Anleitung zu erstellen, die für den Informatiker gleichermaßen geeignet ist wie für -die Sekretärin des Fischhändlers. Wir haben uns bemüht, obwohl es sich +die Sekretärin des Fischhändlers. Ich habe mich bemüht, obwohl es sich dabei eigentlich um ein unmögliches Unterfangen handelt. Ergebnis sind -zahlreiche Kompromisse. Wir bitten jedoch, die Problematik bei +zahlreiche Kompromisse. Ich bitte jedoch, die Problematik bei eventuellen Beschwerden zu berücksichtigen und bei der Verbesserung -unserer derzeitigen Lösung zu helfen. +der derzeitigen Lösung zu helfen. -Trotz des Umfangs der Anleitung bitten wir außerdem darum, im Falle von +Trotz des Umfangs der Anleitung bitte ich außerdem darum, im Falle von Problemen zunächst die Dokumentation zu konsultieren. Als erste Anlaufstelle sei auf den mehrteiligen Index am Ende des \iffree{Dokuments}{Buches} hingewiesen. \iffree{Zur Dokumentation gehören neben dieser Anleitung auch @@ -167,10 +172,10 @@ anders angezeigt als \File{Dateinamen}. \Option{Optionen}, \Macro{Anweisungen}, \PLength{Pseudolängen} werden einheitlich hervorgehoben. Der \PName{Platzhalter} für einen Parameter wird jedoch anders dargestellt als ein konkreter \PValue{Wert} eines Parameters. So zeigt etwa -\Macro{begin}\Parameter{Umgebungsname}, wie eine Umgebung ganz allgemein +\Macro{begin}\Parameter{Umgebung}, wie eine Umgebung ganz allgemein eingeleitet wird, wohingegen \Macro{begin}\PParameter{document} angibt, wie die konkrete Umgebung \Environment{document} beginnt. Dabei ist dann -\PValue{document} ein konkreter Wert für den Parameter \PName{Umgebungsname} +\PValue{document} ein konkreter Wert für den Parameter \PName{Umgebung} der Anweisung \Macro{begin}. \iffalse% Umbruchkorrekturtext @@ -237,30 +242,27 @@ auch zu lesen. \section{Danksagung} \label{sec:introduction.thanks} -Eine Danksagung in der Einleitung? Gehört sie nicht vielmehr an den Schluss? -Richtig! Eigentlich gehört die an das Ende. Mein Dank gilt hier jedoch nicht -primär denjenigen, die diese Anleitung möglich gemacht haben. Für den Dank an -die Guide-Autoren mache ich den Leser zuständig! Mein persönlicher Dank gilt -Frank Neukam, ohne dessen \Script-Familie es vermutlich {\KOMAScript} nie -gegeben hätte. Mein Dank gilt denjenigen, die an der Entstehung von -{\KOMAScript} und den Anleitungen mitgewirkt haben. Stellvertretend für andere -möchte ich hier Jens-Uwe Morawski, Torsten Krüger und Gernot Hassenpflug -nennen. Jens' unermüdlichem Einsatz ist neben vielem Anderen die englische -Übersetzung der Anleitung zu verdanken, die Gernot in wesentlichen Teilen -mitgestaltet hat. Torsten ist der beste Betatester, den ich je hatte. Er hat -damit insbesondere an der Verwendbarkeit von \Class{scrlttr2} und -\Class{scrpage2} einen erheblichen Anteil. Mein Dank gilt auch allen, die mich -immer wieder aufgemuntert haben, weiter zu machen und dieses oder jenes noch -besser, weniger fehlerhaft oder schlicht zusätzlich zu implementieren. - -Ganz besonderen Dank bin ich den Gründern von DANTE, Deutschsprachige -Anwendervereinigung \TeX~e.V\kern-.18em., schuldig, durch die letztlich die -Verbreitung von \TeX{} und \LaTeX{} und allen Paketen einschließlich -{\KOMAScript} an einer zentralen Stelle überhaupt ermöglicht wird. In gleicher -Weise bedanke ich mich bei den aktiven Helfern auf der Mailingliste -\texttt{\TeX-D-L} (siehe \cite{DANTE:FAQ}) und in der Usenet-Gruppe -\texttt{de.comp.text.tex}, die mir so manche Antwort auf Fragen zu -{\KOMAScript} abnehmen. +Mein persönlicher Dank gilt Frank Neukam, ohne dessen \Script-Familie es +vermutlich {\KOMAScript} nie gegeben hätte. Mein Dank gilt denjenigen, die an +der Entstehung von {\KOMAScript} und den Anleitungen mitgewirkt +haben. Dieses Mal danke ich Elke, Jana, Ben und Edoardo stellvertretend für +Beta-Test und Kritik. Ich hoffe, ihr macht damit noch weiter. + +Ganz besonderen Dank bin ich den Gründern und den Mitgliedern von DANTE, +Deutschsprachige Anwendervereinigung \TeX~e.V\kern-.18em., schuldig, durch die +letztlich die Verbreitung von \TeX{} und \LaTeX{} und allen Paketen +einschließlich {\KOMAScript} an einer zentralen Stelle überhaupt ermöglicht +wird. In gleicher Weise bedanke ich mich bei den aktiven Helfern auf der +Mailingliste \texttt{\TeX-D-L} (siehe \cite{DANTE:FAQ})m in der Usenet-Gruppe +\texttt{de.comp.text.tex} und den vielen \LaTeX-Foren im Internet, die mir so +manche Antwort auf Fragen zu {\KOMAScript} abnehmen. + +Mein Dank gilt aber auch allen, die mich immer wieder aufgemuntert haben, +weiter zu machen und dieses oder jenes noch besser, weniger fehlerhaft oder +schlicht zusätzlich zu implementieren. Ganz besonders bedanke ich mich noch +einmal bei dem äußerst großzügigen Spender, der mich mit dem bisher und +vermutlich für alle Zeiten größten Einzelbetrag für die bisher geleistete +Arbeit an \KOMAScript{} bedacht hat. \section{Rechtliches} @@ -296,102 +298,101 @@ auch die jeweilige Dokumentation zur installierten \TeX-Distribution. \label{sec:introduction.errors} \iffree{% -Sollten Sie der Meinung sein, dass Sie einen Fehler in der Anleitung, -einer der \KOMAScript-Klassen, einem der \KOMAScript-Pakete oder einem -anderen Bestandteil von \KOMAScript{} gefunden haben, so sollten Sie -wie folgt vorgehen. Prüfen Sie zunächst, ob inzwischen eine neue -Version von \KOMAScript{} erschienen ist. Installieren Sie diese neue -Version und kontrollieren Sie, ob der Fehler oder das -Problem auch dann noch vorhanden ist. - -Wenn es sich nicht um einen Fehler in der Dokumentation handelt und -der Fehler oder das Problem nach einem Update noch immer auf"|tritt, -erstellen Sie bitte wie in \cite{DANTE:FAQ} angegeben ein minimales -Beispiel. Gehen Sie dazu wie unten beschrieben vor. -%Ein solches Beispiel sollte nur einen minimalen Text und -%nur die Pakete und Definitionen enthalten, die für die Verdeutlichung -%des Fehlers unbedingt notwendig sind. Auf exotische Pakete sollte -%möglichst ganz verzichtet werden. -Oft lässt sich ein Problem durch ein minimales Beispiel so weit -eingrenzen, dass bereits vom Anwender selbst festgestellt werden kann, -ob es sich um einen Anwendungsfehler handelt oder nicht. Auch ist so -sehr häufig zu erkennen, welche Pakete oder Klassen konkret das -Problem verursachen und ob es sich überhaupt um ein -\KOMAScript-Problem handelt. Dies können Sie gegebenenfalls -zusätzlich überprüfen, indem Sie statt einer \KOMAScript-Klasse einen -Test mit der entsprechenden Standardklasse vornehmen. Danach ist dann -auch klar, ob der Fehlerbericht an den Autor von \KOMAScript{} oder an -den Autor eines anderen Pakets zu richten ist. Sie sollten spätestens -jetzt noch einmal gründlich die Anleitungen der entsprechenden Paket, -Klassen und \KOMAScript-Bestandteile studieren sowie \cite{DANTE:FAQ} -konsultieren. Möglicherweise existiert ja bereits eine Lösung für Ihr -Problem, so dass sich eine Fehlermeldung erübrigt. - -Wenn Sie denken, dass Sie einen noch unbekannten Fehler gefunden haben, oder -es aus anderem Grund für sinnvoll oder notwendig erachten, den -\KOMAScript-Autor zu kontaktieren, so sollten Sie dabei folgende Angaben -keinesfalls vergessen: -\begin{itemize} -\item Tritt das Problem auch auf, wenn statt einer \KOMAScript-Klasse eine - Standardklasse verwendet wird? In dem Fall liegt der Fehler höchst - wahrscheinlich nicht bei \KOMAScript. Es ist dann sinnvoller, die Frage in - einem öffentlichen Forum, einer Mailingliste oder im Usenet zu stellen. -\item Welche \KOMAScript-Version verwenden Sie? Entsprechende Informationen - finden Sie in der \File{log}-Datei des \LaTeX-Laufs jedes Dokuments, das - eine \KOMAScript-Klasse verwendet. -\item Welches Betriebssystem und welche \TeX-Distribution wird verwendet? - Diese Angaben erscheinen bei einem bestriebssystemunabhängigen Paket wie - \KOMAScript{} oder \LaTeX{} eher überflüssig. Es zeigt sich aber immer - wieder, dass sie durchaus eine Rolle spielen können. -\item Was genau ist das Problem oder der Fehler? Beschreiben Sie das Problem - oder den Fehler lieber zu ausführlich als zu knapp. Oftmals ist es sinnvoll - auch die Hintergründe zu erläutern. -\item Wie sieht ein vollständiges Minimalbeispiel aus? Ein solches - vollständiges Minimalbeispiel kann jeder leicht selbst erstellen, indem - Schritt für Schritt Inhalte und Pakete aus dem Problemdokument - auskommentiert werden. Am Ende bleibt ein Dokument, das nur die Pakete lädt - und nur die Teile enthält, die für das Problem notwendig sind. Außerdem - sollten alle geladenen Abbildungen durch \Macro{rule}-Anweisungen - entsprechender Größe ersetzt werden. Vor dem Verschicken entfernt man nun - die auskommentierten Teile, fügt als erste Zeile die Anweisung - \Macro{listfiles} ein und führt einen weiteren \LaTeX-Lauf durch. Man erhält - dann am Ende der \File{log}-Datei eine Übersicht über die verwendeten - Pakete. Das vollständige Minimalbeispiel und die \File{log}-Datei fügen Sie - ihrer Beschreibung hinzu. -\end{itemize} -Schicken Sie keine Pakete, PDF- oder PS- oder DVI-Dateien mit. Falls die -gesamte Problem- oder Fehlerbeschreibung einschließlich Minimalbeispiel und -\File{log}-Datei größer als ein paar Dutzend KByte ist, haben Sie mit größter -Wahrscheinlichkeit etwas falsch gemacht. Anderenfalls schicken Sie Ihre -Mitteilung an \href{mailto:komascript@gmx.info}{komascript@gmx.info}. - -Häufig werden Sie eine Frage zu \KOMAScript{} oder im Zusammenhang mit -\KOMAScript{} lieber öffentlich, beispielsweise in \texttt{de.comp.text.tex} -oder dem Forum auf \cite{homepage}, stellen wollen. Auch in diesem Fall -sollten Sie obige Punkte beachten, in der Regel jedoch auf die -\File{log}-Datei verzichten. Fügen Sie stattdessen nur die Liste der Pakete -und Paketversionen aus der \File{log}-Datei an. Im Falle einer Fehlermeldung -zitieren Sie diese ebenfalls aus der \File{log}-Datei.% + Sollten Sie der Meinung sein, dass Sie einen Fehler in der Anleitung, einer + der \KOMAScript-Klassen, einem der \KOMAScript-Pakete oder einem anderen + Bestandteil von \KOMAScript{} gefunden haben, so sollten Sie wie folgt + vorgehen. Prüfen Sie zunächst, ob inzwischen eine neue Version von + \KOMAScript{} erschienen ist. Installieren Sie diese neue Version und + kontrollieren Sie, ob der Fehler oder das Problem auch dann noch vorhanden + ist. + + Wenn es sich nicht um einen Fehler in der Dokumentation handelt und der + Fehler oder das Problem nach einem Update noch immer auf"|tritt, erstellen + Sie bitte wie in \cite{DANTE:FAQ} angegeben ein minimales Beispiel. Gehen + Sie dazu wie unten beschrieben vor. + % Ein solches Beispiel sollte nur einen minimalen Text und nur die Pakete + % und Definitionen enthalten, die für die Verdeutlichung des Fehlers + % unbedingt notwendig sind. Auf exotische Pakete sollte möglichst ganz + % verzichtet werden. + Oft lässt sich ein Problem durch ein minimales Beispiel so weit eingrenzen, + dass bereits vom Anwender selbst festgestellt werden kann, ob es sich um + einen Anwendungsfehler handelt oder nicht. Auch ist so sehr häufig zu + erkennen, welche Pakete oder Klassen konkret das Problem verursachen und ob + es sich überhaupt um ein \KOMAScript-Problem handelt. Dies können Sie + gegebenenfalls zusätzlich überprüfen, indem Sie statt einer + \KOMAScript-Klasse einen Test mit der entsprechenden Standardklasse + vornehmen. Danach ist dann auch klar, ob der Fehlerbericht an den Autor von + \KOMAScript{} oder an den Autor eines anderen Pakets zu richten ist. Sie + sollten spätestens jetzt noch einmal gründlich die Anleitungen der + entsprechenden Paket, Klassen und \KOMAScript-Bestandteile studieren sowie + \cite{DANTE:FAQ} konsultieren. Möglicherweise existiert ja bereits eine + Lösung für Ihr Problem, so dass sich eine Fehlermeldung erübrigt. + + Wenn Sie denken, dass Sie einen noch unbekannten Fehler gefunden haben, oder + es aus anderem Grund für sinnvoll oder notwendig erachten, den + \KOMAScript-Autor zu kontaktieren, so sollten Sie dabei folgende Angaben + keinesfalls vergessen: + \begin{itemize} + \item Tritt das Problem auch auf, wenn statt einer \KOMAScript-Klasse eine + Standardklasse verwendet wird? In dem Fall liegt der Fehler höchst + wahrscheinlich nicht bei \KOMAScript. Es ist dann sinnvoller, die Frage in + einem öffentlichen Forum, einer Mailingliste oder im Usenet zu stellen. + \item Welche \KOMAScript-Version verwenden Sie? Entsprechende Informationen + finden Sie in der \File{log}-Datei des \LaTeX-Laufs jedes Dokuments, das + eine \KOMAScript-Klasse verwendet. + \item Welches Betriebssystem und welche \TeX-Distribution wird verwendet? + Diese Angaben erscheinen bei einem bestriebssystemunabhängigen Paket wie + \KOMAScript{} oder \LaTeX{} eher überflüssig. Es zeigt sich aber immer + wieder, dass sie durchaus eine Rolle spielen können. + \item Was genau ist das Problem oder der Fehler? Beschreiben Sie das Problem + oder den Fehler lieber zu ausführlich als zu knapp. Oftmals ist es + sinnvoll auch die Hintergründe zu erläutern. + \item Wie sieht ein vollständiges Minimalbeispiel aus? Ein solches + vollständiges Minimalbeispiel kann jeder leicht selbst erstellen, indem + Schritt für Schritt Inhalte und Pakete aus dem Problemdokument + auskommentiert werden. Am Ende bleibt ein Dokument, das nur die Pakete + lädt und nur die Teile enthält, die für das Problem notwendig + sind. Außerdem sollten alle geladenen Abbildungen durch + \Macro{rule}-Anweisungen entsprechender Größe ersetzt werden. Vor dem + Verschicken entfernt man nun die auskommentierten Teile, fügt als erste + Zeile die Anweisung \Macro{listfiles} ein und führt einen weiteren + \LaTeX-Lauf durch. Man erhält dann am Ende der \File{log}-Datei eine + Übersicht über die verwendeten Pakete. Das vollständige Minimalbeispiel + und die \File{log}-Datei fügen Sie ihrer Beschreibung hinzu. + \end{itemize} + Schicken Sie keine Pakete, PDF- oder PS- oder DVI-Dateien mit. Falls die + gesamte Problem- oder Fehlerbeschreibung einschließlich Minimalbeispiel und + \File{log}-Datei größer als ein paar Dutzend KByte ist, haben Sie mit + größter Wahrscheinlichkeit etwas falsch gemacht. Anderenfalls schicken Sie + Ihre Mitteilung an \href{mailto:komascript@gmx.info}{komascript@gmx.info}. + + Häufig werden Sie eine Frage zu \KOMAScript{} oder im Zusammenhang mit + \KOMAScript{} lieber öffentlich, beispielsweise in \texttt{de.comp.text.tex} + oder dem Forum auf \cite{homepage}, stellen wollen. Auch in diesem Fall + sollten Sie obige Punkte beachten, in der Regel jedoch auf die + \File{log}-Datei verzichten. Fügen Sie stattdessen nur die Liste der Pakete + und Paketversionen aus der \File{log}-Datei an. Im Falle einer Fehlermeldung + zitieren Sie diese ebenfalls aus der \File{log}-Datei.% }{% -Die Autoren haben sich größte Mühe gegeben, Fehler in diesem Buch zu -vermeiden. Die Beispiele, die in diesem Buch abgedruckt sind, wurden -größtenteils während ihrer Entstehung getestet. Leider sind trotzdem weder -orthografische noch inhaltliche Fehler komplett auszuschließen. Sollten Sie -Fehler in diesem Buch finden, so wenden Sie sich bitte an die Autoren. Sie -können diese per E-Mail über die \KOMAScript-Support-Adresse, -\mbox{komascript@gmx.info}, oder über \cite{homepage} erreichen. - -Wenn Sie hingegen Fehler in \KOMAScript{} selbst melden wollen, so verwenden -Sie bitte die dafür vorgesehene Prozedur. Diese ist in der Einleitung der -freien \KOMAScript-Anleitung, die jeder korrekten Verteilung von \KOMAScript{} -beiliegt, ausführlich erklärt.} + Der Autor hat sich große Mühe gegeben, Fehler in diesem Buch zu + vermeiden. Die Beispiele, die in diesem Buch abgedruckt sind, wurden + größtenteils während ihrer Entstehung getestet. Leider sind trotzdem weder + orthografische noch inhaltliche Fehler komplett auszuschließen. Sollten Sie + Fehler in diesem Buch finden, so melden Sie diese bitte über die + \KOMAScript-Support-Adresse, \mbox{komascript@gmx.info}, oder über + \cite{homepage} an den Autor. + + Bei Fehlern an \KOMAScript{} selbst beachten Sie bitte die Prozedur, die in + der Einleitung der freien \KOMAScript-Anleitung erklärt ist. Nur so ist + sichergestellt, dass das Problem auch reproduziert werden kann. Dies ist + für die Beseitigung eventueller Fehler eine Grundvoraussetzung.% +} Bitte beachten Sie, dass typografisch nicht optimale Voreinstellungen keine -Fehler darstellen. Aus Gründen der Langzeit-Kompatibilität werden -Voreinstellungen nach Möglichkeit auch in neuen \KOMAScript-Versionen -beibehalten. Darüber hinaus ist Typografie auch eine Frage der Sprache und -Kultur. Die Voreinstellungen von \KOMAScript{} stellen daher zwangsläufig -einen Kompromiss dar. +Fehler darstellen. Aus Gründen der Kompatibilität werden Voreinstellungen nach +Möglichkeit auch in neuen \KOMAScript-Versionen beibehalten. Darüber hinaus +ist Typografie auch eine Frage der Sprache und Kultur. Die Voreinstellungen +von \KOMAScript{} stellen daher zwangsläufig einen Kompromiss dar. \iffree{% \section{Weitere Informationen} @@ -409,6 +410,8 @@ konzipiert. Für Anfänger sind sie wenig oder nicht geeignet. \endinput %%% Local Variables: %%% mode: latex +%%% mode: flyspell %%% coding: iso-latin-1 +%%% ispell-local-dictionary: "de_DE" %%% TeX-master: "../guide.tex" %%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrbase.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrbase.tex index 12b94fb89c6..0f84bda93e0 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrbase.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrbase.tex @@ -1,6 +1,6 @@ % ====================================================================== % scrbase.tex -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrbase.tex -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,9 @@ % % ====================================================================== -\ProvidesFile{scrbase.tex}[2012/03/04 KOMA-Script package scrbase] +\KOMAProvidesFile{scrbase.tex} + [$Date: 2013-11-06 12:44:59 +0100 (Mi, 06. Nov 2013) $ + KOMA-Script package scrbase] \chapter{Grundlegende Funktionen im Paket \Package{scrbase}} \labelbase{scrbase} @@ -186,10 +188,20 @@ Pakete im Gesamtpaket als Mitglied zu verwenden. \EndIndex{Cmd}{DefineFamily}% \BeginIndex{Cmd}{DefineFamilyKey}% +\BeginIndex{Cmd}{FamilyKeyState}% +\BeginIndex{Cmd}{FamilyKeyStateUnknown}% +\BeginIndex{Cmd}{FamilyKeyStateProcessed}% +\BeginIndex{Cmd}{FamilyKeyStateUnknownValue}% +\BeginIndex{Cmd}{FamilyKeyStateNeedValue}% \begin{Declaration} \Macro{DefineFamilyKey}\OParameter{Mitglied}\Parameter{Familie}% \Parameter{Schlüssel}\OParameter{Säumniswert}\\ - \hphantom{\Macro{DefineFamilyKey}}\Parameter{Aktion} + \hphantom{\Macro{DefineFamilyKey}}\Parameter{Aktion}\\ + \Macro{FamilyKeyState}\\ + \Macro{FamilyKeyStateUnknown}\\ + \Macro{FamilyKeyStateProcessed}\\ + \Macro{FamilyKeyStateUnknownValue}\\ + \Macro{FamilyKeyStateNeedValue} \end{Declaration} Mit dieser Anweisung wird ein \PName{Schlüssel} definiert. Ist ein \PName{Mitglied} angegeben, so ist der \PName{Schlüssel} eine Eigenschaft @@ -202,6 +214,7 @@ ausgeführt, wobei der Wert als Parameter übergeben wird. Innerhalb von kein Wert übergeben, so wird stattdessen der \PName{Säumniswert} eingesetzt. Falls kein \PName{Säumniswert} angegeben wird, kann später der \PName{Schlüssel} nur mit Wertübergabe verwendet werden. + \begin{Explain} \phantomsection\label{explain:scrbase.macro.DefineFamilyKey}% Letztlich führt @@ -209,41 +222,50 @@ eingesetzt. Falls kein \PName{Säumniswert} angegeben wird, kann später der \DefineFamilyKey[»\PName{Mitglied}«]{»\PName{Familie}«}{»\PName{Schlüssel}«} [»\PName{Säumniswert}«]{»\PName{Aktion}«} \end{lstcode} -\iffalse% oder so - \begin{flushleft}\begin{tabular}{l@{}l} - \Macro{DefineFamilyKey}&\OParameter{Mitglied}\Parameter{Familie}% - \Parameter{Schlüssel}\\ - &\OParameter{Säumniswert}\Parameter{Aktion} - \end{tabular}\end{flushleft} -\fi zu dem Aufruf \begin{lstcode}[moretexcs={define@key},escapeinside=»«] \define@key{»\PName{Familie\,Mitglied}«}{»\PName{Schlüssel}«} - [»\PName{Säumniswert}«]{»\PName{Aktion}«} + [»\PName{Säumniswert}«]{»\PName{erweiterte Aktion}«} \end{lstcode} -\iffalse% oder so - \begin{flushleft}\begin{tabular}{l@{}l} - \Macro{define@key}&\Parameter{Familie\,Mitglied}% - \Parameter{Schlüssel}\\ - &\OParameter{Säumniswert}\Parameter{Aktion} - \end{tabular}\end{flushleft} -\fi wobei \Macro{define@key} im \Package{keyval}-Paket\IndexPackage{keyval} - definiert ist (siehe \cite{package:keyval}). -\iffalse% Umbruchkorrektur - Prinzipiell könnte daher dem - Schlüssel eines Familienmitglieds per -\begin{lstcode}[moretexcs={setkeys},escapeinside=»«] - \setkeys{»\PName{Familie\,Mitglied}«}{»\PName{Schlüssel}«=»\PName{Wert}«} -\end{lstcode} -\iffalse% oder so - \begin{flushleft}\begin{tabular}{l@{}l} - \Macro{setkeys}&\Parameter{Familie\,Mitglied}\Parameter{Schlüssel=Wert} - \end{tabular}\end{flushleft} -\fi - ein Wert zugewiesen werden. -\fi + definiert ist (siehe \cite{package:keyval}). Allerdings kommen zu dem Aufruf + von \Macro{define@key} noch einige zusätzliche Vorkehrungen und auch die + \PName{Aktion} wird um zusätzliche Vorkehrungen erweitert. \end{Explain} + +Erfolg\ChangedAt{v3.12}{\Package{scrbase}} oder Misserfolg der Ausführung der +\PName{Aktion} werden über \Macro{FamilyKeyState} an \Package{scrbase} zurück +gemeldet, damit dieses je nach Bedarf und Verwendung der Option weitere +Maßnahmen ergreifen kann. In der Voreinstellung ist \Macro{FamilyKeyState} +identisch mit \Macro{FamilyKeyStateUnknown}. Das bedeutet, dass es nicht +sicher ist, ob die Option korrekt verarbeitet werden konnte. Findet +\Package{scrbase} nach Ausführung der \PName{Aktion} noch immer diesen Zustand +vor, so wird ein Hinweis in die \File{log}-Datei geschrieben und im weiteren +der Zustand \Macro{FamilyKeyStateProcessed} angenommen. + +Der Zustand \Macro{FamilyKeyStateProcessed} signalisiert, dass die Option und +die Wertzuweisung an die Option vollständig abgeschlossen wurde und alles in +Ordnung ist. Auf den Zustand kann einfach durch Aufruf von +\Macro{FamilyKeyStateProcessed} selbst umgeschaltet werden. + +Der Zustand \Macro{FamilyKeyStateUnknownValue} signalisiert, dass die Option +zwar verarbeitet wurde, ihr jedoch ein Wert zugewiesen werden sollte, der +nicht erlaubt ist. Diesen Zustand meldet beispielsweise \Package{typearea}, +wenn versucht wird, an Option \Option{twoside} den Wert \PValue{unbekannt} +zuzuweisen. Die Umschaltung auf den Zustand erfolgt einfach durch Aufruf von +\Macro{FamilyKeyStateUnknownValue} selbst. + +Der Zustand \Macro{FamilyKeyStateNeedValue} signalisiert, dass die Option nicht +verarbeitet werden konnte, weil sie zwingend einen Wert erwartet, sie aber +ohne Wertzuweisung aufgerufen wurde. Dieser Zustand wird automatisch gesetzt, +wenn eine Option, die keinen \PName{Säumniswert} besitzt, ohne Wertzuweisung +verwendet wird. Theoretisch wäre aber auch eine explizite Umschaltung darauf +durch Aufruf von \Macro{FamilyKeyStateNeedValue} selbst möglich. + +Desweiteren können zusätzliche Fehlerzustände definiert werden, indem man +\Macro{FamilyKeyState} auf eine kurze Meldung umdefiniert. In der Regel +sollten jedoch die vier vordefinierten Zustände verwendet werden. + \begin{Example} Nehmen wir an, jedes der drei Pakete aus dem letzten Beispiel soll einen Schlüssel \PValue{Aufschnitt} erhalten. Wird dieser aufgerufen, so soll in @@ -256,19 +278,27 @@ eingesetzt. Falls kein \PName{Säumniswert} angegeben wird, kann später der {Aufschnitt}[true]{% \expandafter\let\expandafter\if@Salami@Aufschnitt \csname if#1\endcsname + \FamilyKeyStateProcessed } \end{lstcode} Als Wert sind daher beim Aufruf \PValue{true} oder \PValue{false} erlaubt. Ein Test auf unerlaubte Werte existiert in diesem Beispiel - nicht. Wird der Schlüssel später verwendet, so muss entweder einer der - erlaubten Werte zugewiesen oder ein Aufruf ohne Wertzuweisung verwendet - werden. In letzterem Fall wird der Säumniswert \PName{true} zugewiesen. + nicht. Stattdessen wird immer zurück gemeldet, dass die Option vollständig + und korrekt verarbeitet wwurde. Wird der Schlüssel später verwendet, so muss + entweder einer der erlaubten Werte zugewiesen oder ein Aufruf ohne + Wertzuweisung verwendet werden. In letzterem Fall wird der Säumniswert + \PName{true} zugewiesen. Für die anderen beiden Pakete kann das fast identisch definiert werden. Lediglich die Zeichenfolge »\texttt{Salami}« ist jeweils zu ersetzen. \end{Example} % +\EndIndex{Cmd}{FamilyKeyStateNeedValue}% +\EndIndex{Cmd}{FamilyKeyStateUnknownValue}% +\EndIndex{Cmd}{FamilyKeyStateProcessed}% +\EndIndex{Cmd}{FamilyKeyStateUnknown}% +\EndIndex{Cmd}{FamilyKeyState}% \EndIndex{Cmd}{DefineFamilyKey}% @@ -313,6 +343,11 @@ Man kann \Macro{FamilyProcessOptions} wahlweise als Erweiterung von \PName{Schlüssel=Wert}-Mechanismus von \Package{keyval} verstehen. Letztlich werden mit Hilfe von \Macro{FamilyProcessOptions} aus \PName{Schlüssel=Wert}-Paaren Optionen. + +Während der Ausführung von Optionen darf \Macro{FamilyProcessOptions} nicht +verwendet werden. Es ist also insbesondere nicht erlaubt, innerhalb der +Ausführung von Optionen Pakete zu laden, die selbst +\Macro{FamilyProcessOptions} verwenden.% % \EndIndex{Cmd}{FamilyProcessOptions}% @@ -343,16 +378,16 @@ Mitglieds gesetzt wird. \end{lstcode} ergänzt werden. \end{Example} + +Diese Anweisung darf auch innerhalb dere Ausführung von Optionen verwendet +werden.% % \EndIndex{Cmd}{FamilyExecuteOptions}% \BeginIndex{Cmd}{FamilyOptions}% -\BeginIndex{Cmd}{Family@Options}% \begin{Declaration} - \Macro{FamilyOptions}\Parameter{Familie}\Parameter{Optionenliste}\\ - \Macro{Family@Options}\Parameter{Familie}\Parameter{Optionenliste}% - \Parameter{Fehleraktion} + \Macro{FamilyOptions}\Parameter{Familie}\Parameter{Optionenliste}% \end{Declaration} Die \PName{Optionenliste} hat dabei die Form: \begin{flushleft}\vskip\dp\strutbox\begin{tabular}{l} @@ -371,9 +406,9 @@ Eigenschaft der Familie selbst, so wird dieser Familien-Schlüssel zuerst gesetzt. Danach folgen die Mitglieder-Schlüssel in der Reihenfolge, in der die Mitglieder definiert wurden. Existiert ein angegebener \PName{Schlüssel} weder für die Familie noch für ein Mitglied der Familie, so wird von -\Macro{FamilyOptions} ein Fehler ausgegeben. Bei \Macro{Family@Options} kann -man hingegen die Fehleraktion selbst wählen. Diese interne Anweisung ist -Klassen- und Paketautoren vorbehalten. +\Macro{FamilyOptions} ein Fehler ausgegeben. Dies geschieht ebenfalls, wenn +zwar für einige Mitglieder ein Schlüssel existiert, jedoch jedes dieser +Mitglieder über \Macro{FamilyKeyState} einen Fehler zurückmeldet. \begin{Example} Sie ergänzen das Fleischermeister-Projekt um ein weiteres Paket \Package{Wurstsalat}. Wird dieses Paket verwendet, so sollen alle @@ -408,16 +443,12 @@ Klassen- und Paketautoren vorbehalten. ist, wird nun auch gleich noch eine Warnung ausgegeben. \end{Example} % -\EndIndex{Cmd}{Family@Options}% \EndIndex{Cmd}{FamilyOptions}% \BeginIndex{Cmd}{FamilyOption}% -\BeginIndex{Cmd}{Family@Option}% \begin{Declaration} \Macro{FamilyOption}\Parameter{Familie}% - \Parameter{Option}\Parameter{Werteliste}\\ - \Macro{Family@Option}\Parameter{Familie}% - \Parameter{Option}\Parameter{Werteliste}\Parameter{Fehleraktion} + \Parameter{Option}\Parameter{Werteliste}% \end{Declaration} Neben Optionen, die sich gegenseitig ausschließende Werte besitzen, kann es auch Optionen geben, die gleichzeitig mehrere Werte annehmen können. Für diese @@ -432,7 +463,7 @@ einzigen \PName{Option} eine ganze \PName{Werteliste} zuweisen. Die In diesem Zusammenhang sei darauf hingewiesen, dass die Verwendung eines Kommas in einem Wert möglich ist, wenn man den Wert in geschweifte Klammern setzt. Die weiteren Funktionsweise ist der vorhergehenden Erklärung zu -\Macro{FamilyOptions} und \Macro{Family@Options} zu entnehmen. +\Macro{FamilyOptions} zu entnehmen. \begin{Example} Das Paket \Package{Wurstsalat} soll eine Option bekommen, über die man weitere Zutaten bestimmen kann. Für jede Zutat wird dabei wieder ein @@ -462,9 +493,25 @@ setzt. Die weiteren Funktionsweise ist der vorhergehenden Erklärung zu verwenden. \end{Example} % -\EndIndex{Cmd}{Family@Option}% \EndIndex{Cmd}{FamilyOption}% + +\begin{Declaration} + \Macro{AtEndOfFamilyOptions}\Parameter{Aktion}% +\end{Declaration} +\BeginIndex{Cmd}{AtEndOfFamilyOptions}% +Manchmal\ChangedAt{v3.12}{\Package{scrbase}} ist es vorteilhafter, wenn nicht +jede Wertzuweisung an eine Option eine \PName{Aktion} auslöst, sondern dies +erst geschieht, wenn alle Wertzuweisungen innerhalb eines Aufrufs von +\Macro{FamilyProcessOptions}, \Macro{FamilyExecuteOptions}, +\Macro{FamilyOptions} oder \Macro{FamilyOption} abgeschlossen sind. Genau dies +ist mit Hilfe von \Macro{AtEndOfFamilyOptions} möglich. Die Rückmeldung von +Fehlerzuständen ist über diese Anweisung jedoch ebenso wenig möglich, wie die +Verwendung dieser Anweisung außerhalb der Ausführung von Optionen. +% +\EndIndex{Cmd}{AtEndOfFamilyOptions}% + + \BeginIndex{Cmd}{FamilyBoolKey}% \BeginIndex{Cmd}{FamilySetBool}% \begin{Declaration} @@ -489,14 +536,16 @@ definiert und mit \PName{false} voreingestellt. Intern verwendet \Macro{DefineFamilyKey}. Der Säumniswert für eine solche Option ist immer \PValue{true}. -\Macro{FamilySetBool} wiederum versteht als \PName{Wert} neben -\PValue{true} auch die Werte \PValue{on} und \PValue{yes} zum Einschalten und -neben \PValue{false} auch die Werte \PValue{off} und \PValue{no} zum +\Macro{FamilySetBool} wiederum versteht als \PName{Wert} neben \PValue{true} +auch die Werte \PValue{on} und \PValue{yes} zum Einschalten und neben +\PValue{false} auch die Werte \PValue{off} und \PValue{no} zum Ausschalten. Wird ein unbekannter Wert übergeben, so wird die Anweisung \Macro{FamilyUnkownKeyValue} mit den Argumenten \PName{Familie}, -\PName{Schlüssel} und \PName{Wert} aufgerufen. Dadurch wird dann eine -Fehlermeldung über unbekannte Wertzuweisung ausgegeben (siehe auch -\autopageref{desc:scrbase.cmd.FamilyUnkownKeyValue}). +\PName{Schlüssel} und \PName{Wert} aufgerufen und so \Macro{FamilyKeyState} +entsprechend gesetzt. Dadurch wird dann gegebenenfalls eine Meldung über +unbekannte Wertzuweisung ausgegeben (siehe auch +\autopageref{desc:scrbase.cmd.FamilyUnkownKeyValue} und +\autopageref{desc:scrbase.cmd.FamilyKeyState}). \begin{Example} Der Schlüssel \Option{Aufschnitt} soll in den Wurstpaketen etwas robuster definiert werden. Außerdem sollen alle Wurstpakete denselben Schalter @@ -521,7 +570,7 @@ Fehlermeldung über unbekannte Wertzuweisung ausgegeben (siehe auch \@ifundefined{if@Aufschnitt}{% \expandafter\newif\csname if@Aufschnitt\endcsname }{}% - \define@key{Fleischermeister}{Aufschnitt}[true]{% + \DefineFamilyKey[]{Fleischermeister}{Aufschnitt}[true]{% \FamilySetBool{Fleischermeister}{Aufschnitt}% {@Aufschnitt}% {#1}% @@ -536,11 +585,29 @@ Fehlermeldung über unbekannte Wertzuweisung ausgegeben (siehe auch \autopageref{explain:scrbase.macro.DefineFamilyKey}, der nicht nur für \Macro{DefineFamilyKey}, sondern entsprechend auch für \Macro{FamilyBoolKey} gilt. + + Da \Macro{FamilyKeyState} bereits von \Macro{FamilySetBool} gesetzt wird, + kann innerhalb der Definition der Option mit Hilfe von + \Macro{DefineFamilyKey} der Status gegebenenfalls auch abgefragt werden. So + könnte man im ersten Fall beispielsweise nach \Macro{FamilySetBool} einen + Test der Art: +\begin{lstcode} + \ifx\FamilyKeyState\FamilyKeyStateProcessed + ... + \else + ... + \fi +\end{lstcode} + zusätzliche Aktionen in Abhängigkeit davon, ob \Macro{FamilySetBool} + erfolgreich war oder nicht, ausführen. Es ist zu beachten, dass an dieser + Stelle unbedingt ein Test mit Hilfe von \Macro{ifx} vorzunehmen + ist. Expandierende Tests wie \Macro{ifstr} sind hier zu vermeiden. \end{Example} % \EndIndex{Cmd}{FamilySetBool}% \EndIndex{Cmd}{FamilyBoolKey} + \BeginIndex{Cmd}{FamilyNumericalKey}% \BeginIndex{Cmd}{FamilySetNumerical}% \begin{Declaration} @@ -632,6 +699,9 @@ Schlüssel ein unbekannter Wert übergeben, so wird von Argumenten \PName{Familie}, \PName{Schlüssel} und \PName{Wert} aufgerufen. Dadurch wird dann eine Fehlermeldung über unbekannte Wertzuweisung ausgegeben. + +Beim Aufruf von \Macro{FamilySetNumerical} wird wiederum auch der Erfolg oder +Misserfolg automatisch via \Macro{FamilyKeyState} signalisiert. % \EndIndex{Cmd}{FamilySetNumerical}% \EndIndex{Cmd}{FamilyNumericalKey}% @@ -660,7 +730,8 @@ das optionale Argument für den \PName{Säumniswert} so entspricht der Aufruf \Parameter{Schlüssel}\\ \hphantom{\Macro{DefineFamilyKey}}% \OParameter{Säumniswert}% -\PParameter{\Macro{def}\PName{Makro}\string{\#1\string}}. +\PParameter{\Macro{def}\PName{Makro}\string{\#1\string}% +\Macro{FamilyKeyStateProcessed}}. \end{quote} Ist \PName{Makro} noch nicht definiert, so wird es als leeres Makro definiert. @@ -691,27 +762,19 @@ Wertzuweisung an den Schlüssel keine Absätze enthalten sein dürfen. \EndIndex{Cmd}{FamilyStringKey}% \BeginIndex{Cmd}{FamilyUnkownKeyValue}% -\BeginIndex{Cmd}{FamilyElseValues}% \begin{Declaration} \Macro{FamilyUnkownKeyValue}\Parameter{Familie}\Parameter{Schlüssel}% - \Parameter{Wert}\Parameter{Werteliste}\\ - \Macro{FamilyElseValues} + \Parameter{Wert}\Parameter{Werteliste} \end{Declaration} -Die Anweisung \Macro{FamilyUnkownKeyValue} gibt eine Fehlermeldung über einen -unbekannten Wert für einen bekannten Schlüssel aus. Als \PName{Werteliste} +Die Anweisung \Macro{FamilyUnkownKeyValue} signalisiert über +\Macro{FamilyKeyState} einen Fehler aufgrund eines unbekannten oder +unerlaubten Werts. Als \PName{Werteliste} wird dabei eine durch Komma separierte Liste von erlaubten Werten der Form \begin{flushleft}\vskip\dp\strutbox\begin{tabular}{l} `\PName{Wert}'\texttt{,} `\PName{Wert}' \dots \end{tabular}\vskip\dp\strutbox\end{flushleft} -erwartet. Darüber hinaus kann die Anweisung \Macro{FamilyElseValues} weitere -erlaubte Werte in der Form -\begin{flushleft}\vskip\dp\strutbox\begin{tabular}{l} - \texttt{,} `\PName{Wert}'\texttt{,} `\PName{Wert}' \dots -\end{tabular}\vskip\dp\strutbox\end{flushleft} -enthalten, die dann ebenfalls in der Fehlermeldung mit ausgegeben werden. Sowohl -\Macro{FamilySetBool} als auch \Macro{FamilySetNumerical} leeren das -Makro \Macro{FamilyElseValues} am Ende automatisch -- unabhängig davon, ob ein -Fehler zu melden war oder nicht. +erwartet. Allerdings\ChangedAt{v3.12}{\Package{scrbase}} wird die +\PName{Werteliste} derzeit nicht ausgewertet. \begin{Example} Für den Aufschnitt soll nun zusätzlich wählbar sein, ob er grob oder fein geschnitten werden soll. Dabei ist grob die Voreinstellung, die auch @@ -726,26 +789,56 @@ Fehler zu melden war oder nicht. \newif\csname if@Aufschnitt\endcsname}{} \DefineFamilyKey{Fleischermeister}% {Aufschnitt}[true]{% - \ifstr{#1}{fein}{% - \@Aufschnitttrue - \@Feinschnittrue - }{% + \FamilySetBool{Fleischermeister}{Aufschnitt}% + {@Aufschnitt}% + {#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed \@Feinschnittfalse - \def\FamilyElseValue{, `fein'}% - \FamilySetBool{Fleischermeister}{Aufschnitt}% - {@Aufschnitt}% - {#1}% - }% + \else + \ifstr{#1}{fein}{% + \@Aufschnitttrue + \@Feinschnittrue + \FamilyKeyStateProcessed + }{}% + \fi }% \end{lstcode} - Die hierbei verwendete Anweisung \Macro{ifstr} ist auf + Hier wird zunächst versucht, den boolschen Schalter für Aufschnitt über + \Macro{FamilySetBool} zu setzen. Wenn dies über \Macro{FamilyKeyState} den + Erfolgs-Status \Macro{FamilyKeyStateProcessed} zurück liefert, wird nur noch + der Feinschnitt abgeschaltet. Anderenfalls wird überprüft, ob als Wert + keiner für den boolschen Schalter, sondern \PValue{fein} übergeben wurde. In + diesem Fall wird sowohl der Feinschnitt, als auch Aufschnitt aktiviert und + mit Hilfe von \Macro{FamilyKeyStateProcessed} der Erfolgs-Status + gesetzt. Ist auch das nicht der Fall, bleibt der von \Macro{FamilySetBool} + signalisierte Fehler-Zustand bestehen. + + Die bei den Tests verwendete Anweisung \Macro{ifstr} ist auf \autopageref{desc:scrbase.cmd.ifstr} in \autoref{sec:scrbase.if} erklärt. \end{Example} % -\EndIndex{Cmd}{FamilyElseValues}% \EndIndex{Cmd}{FamilyUnkownKeyValue}% +\BeginIndex{Cmd}{FamilyElseValues}% +\begin{Declaration} + \Macro{FamilyElseValues} +\end{Declaration} +In\ChangedAt{v3.12}{\Package{scrbase}} früheren Versionen von +\Package{scrbase} konnte man über die Anweisung \Macro{FamilyElseValues} weitere +erlaubte Werte für die Bearbeitung durch \Macro{FamilyUnknownValue} in der Form +\begin{flushleft}\vskip\dp\strutbox\begin{tabular}{l} + \texttt{,} `\PName{Wert}'\texttt{,} `\PName{Wert}' \dots +\end{tabular}\vskip\dp\strutbox\end{flushleft} +ablegen, die dann ebenfalls in einer Fehlermeldung mit ausgegeben wurden. Seit +Version~3.12 gibt \Macro{FamilyUnknownValue} selbst keine Fehlermeldungen mehr +aus, sondern setzt nur noch \Macro{FamilyKeyState} entsprechend. Damit ist die +Verwendung von \Macro{FamilyElseValue} ebenfalls überholt. Ihre Verwendung +wird jedoch erkannt und führt dann zu einer Aufforderung, den Code +entsprechend anzupassen. +% +\EndIndex{Cmd}{FamilyElseValues}% + \section{Verzweigungen} \label{sec:scrbase.if} @@ -905,6 +998,139 @@ interne Variante. % \EndIndex{Cmd}{ifstr} +\begin{Declaration} + \Macro{ifstrstart}\Parameter{Zeichenfolge}\Parameter{Zeichenfolge}% + \Parameter{Dann-Teil}\Parameter{Sonst-Teil} +\end{Declaration} +\BeginIndex{Cmd}{ifstrstart}% +Die\ChangedAt{v3.12}{\Package{scrbase}} beiden Argumente \PName{Zeichenfolge} +werden expandiert und dann verglichen. Beginnt die erste Zeichenfolge von +Leerzeichen abgesehen mit der zweiten Zeichenfolge, so wird der +\PName{Dann-Teil} ausgeführt, anderenfalls der \PName{Sonst-Teil}. Von dieser +Anweisung gibt es keine interne Variante.% +\EndIndex{Cmd}{ifstrstart}% + +\begin{Declaration} + \Macro{ifisdimen}\Parameter{Code}\Parameter{Dann-Teil}\Parameter{Sonst-Teil} +\end{Declaration} +\BeginIndex{Cmd}{ifisdimen}% +Wenn\ChangedAt{v3.12}{\Package{scrbase}} die Expansion von \PName{Code} in +einem \Macro{dimen}, also einem \TeX-Längenregister, resultiert, wird der +\PName{Dann-Teil} ausgeführt, anderenfalls der \PName{Sonst-Teil}. Die +Anweisung ist nicht voll expandierbar. Von dieser +Anweisung gibt es keine interne Variante.% +\EndIndex{Cmd}{ifisdimen}% + +\begin{Declaration} + \Macro{ifisdimension}\Parameter{Code}% + \Parameter{Dann-Teil}\Parameter{Sonst-Teil} +\end{Declaration} +\BeginIndex{Cmd}{ifisdimension}% +Wenn\ChangedAt{v3.12}{\Package{scrbase}} die Expansion von \PName{Code} in +etwas resultiert, das syntaktisch dem Wert einer Länge entspricht, wird der +\PName{Dann-Teil} ausgeführt, anderenfalls der \PName{Sonst-Teil}. Es ist zu +beachten,\textnote{Achtung!} dass derzeit unbekannte Einheiten zu einer +Fehlermeldung führen. Die Anweisung ist nicht voll expandierbar. Von dieser +Anweisung gibt es keine interne Variante.% +\EndIndex{Cmd}{ifisdimension}% + +\begin{Declaration} + \Macro{ifisdimexpr}\Parameter{Code}\Parameter{Dann-Teil}\Parameter{Sonst-Teil} +\end{Declaration} +\BeginIndex{Cmd}{ifisdimexpr}% +Wenn\ChangedAt{v3.12}{\Package{scrbase}} die Expansion von \PName{Code} in +einer \Macro{dimexpr}, also einem \TeX-Längenausdruck resultiert, wird der +\PName{Dann-Teil} ausgeführt, anderenfalls der \PName{Sonst-Teil}. Es ist zu +beachten,\textnote{Achtung!} dass fehlerhafte Ausdrücke zu Fehlermeldungen +führen! Die Anweisung ist nicht voll expandierbar. Von dieser +Anweisung gibt es keine interne Variante.% +\EndIndex{Cmd}{ifisdimexpr}% + +\begin{Declaration} + \Macro{ifisskip}\Parameter{Code}\Parameter{Dann-Teil}\Parameter{Sonst-Teil} +\end{Declaration} +\BeginIndex{Cmd}{ifisskip}% +Wenn\ChangedAt{v3.12}{\Package{scrbase}} die Expansion von \PName{Code} in +einem \Macro{skip}, also einem \TeX-Abstand, resultiert, wird der +\PName{Dann-Teil} ausgeführt, anderenfalls der \PName{Sonst-Teil}. Die +Anweisung ist nicht voll expandierbar. Von dieser +Anweisung gibt es keine interne Variante.% +\EndIndex{Cmd}{ifisskip}% + +\begin{Declaration} + \Macro{ifisglue}\Parameter{Code}% + \Parameter{Dann-Teil}\Parameter{Sonst-Teil} +\end{Declaration} +\BeginIndex{Cmd}{ifisglue}% +Wenn\ChangedAt{v3.12}{\Package{scrbase}} die Expansion von \PName{Code} in +etwas resultiert, das syntaktisch dem Wert eines Abstandes entspricht, wird der +\PName{Dann-Teil} ausgeführt, anderenfalls der \PName{Sonst-Teil}. Es ist zu +beachten,\textnote{Achtung!} dass derzeit unbekannte Einheiten zu einer +Fehlermeldung führen. Die Anweisung ist nicht voll expandierbar. Von dieser +Anweisung gibt es keine interne Variante.% +\EndIndex{Cmd}{ifisglue}% + +\begin{Declaration} + \Macro{ifisglueexpr}\Parameter{Code}% + \Parameter{Dann-Teil}\Parameter{Sonst-Teil} +\end{Declaration} +\BeginIndex{Cmd}{ifisglueexpr}% +Wenn\ChangedAt{v3.12}{\Package{scrbase}} die Expansion von \PName{Code} in +einer \Macro{glueexpr}, also einem \TeX-Abstandsausdruck resultiert, wird der +\PName{Dann-Teil} ausgeführt, anderenfalls der \PName{Sonst-Teil}. Es ist zu +beachten,\textnote{Achtung!} dass fehlerhafte Ausdrücke zu Fehlermeldungen +führen! Die Anweisung ist nicht voll expandierbar. Von dieser +Anweisung gibt es keine interne Variante.% +\EndIndex{Cmd}{ifisglueexpr}% + +\begin{Declaration} + \Macro{ifiscount}\Parameter{Code}\Parameter{Dann-Teil}\Parameter{Sonst-Teil} +\end{Declaration} +\BeginIndex{Cmd}{ifiscount}% +Wenn\ChangedAt{v3.12}{\Package{scrbase}} die Expansion von \PName{Code} in +einem \Macro{count}, also einem \TeX-Zähler, resultiert, wird der +\PName{Dann-Teil} ausgeführt, anderenfalls der \PName{Sonst-Teil}. Die +Anweisung ist nicht voll expandierbar. Für einen Test auf einen \LaTeX-Zähler +siehe \Macro{ifiscounter}. Von dieser +Anweisung gibt es keine interne Variante.% +\EndIndex{Cmd}{ifiscount}% + +\begin{Declaration} + \Macro{ifisnumber}\Parameter{Code}% + \Parameter{Dann-Teil}\Parameter{Sonst-Teil} +\end{Declaration} +\BeginIndex{Cmd}{ifisnumber}% +Wenn\ChangedAt{v3.12}{\Package{scrbase}} die Expansion von \PName{Code} in +etwas resultiert, das syntaktisch dem Wert eines Zählers entspricht, also eine +negative oder positive ganze Zahl ist, wird der \PName{Dann-Teil} ausgeführt, +anderenfalls der \PName{Sonst-Teil}. Die Anweisung ist nicht voll +expandierbar. Von dieser Anweisung gibt es keine interne Variante.% +\EndIndex{Cmd}{ifisnumber}% + +\begin{Declaration} + \Macro{ifisnumexpr}\Parameter{Code}% + \Parameter{Dann-Teil}\Parameter{Sonst-Teil} +\end{Declaration} +\BeginIndex{Cmd}{ifisnumexpr}% +Wenn\ChangedAt{v3.12}{\Package{scrbase}} die Expansion von \PName{Code} in +einer \Macro{numexpr}, also einem \TeX-Zahlenausdruck resultiert, wird der +\PName{Dann-Teil} ausgeführt, anderenfalls der \PName{Sonst-Teil}. Es ist zu +beachten,\textnote{Achtung!} dass fehlerhafte Ausdrücke zu Fehlermeldungen +führen! Die Anweisung ist nicht voll expandierbar. Von dieser +Anweisung gibt es keine interne Variante.% +\EndIndex{Cmd}{ifisnumexpr}% + +\begin{Declaration} + \Macro{ifiscounter}\Parameter{Zähler}% + \Parameter{Dann-Teil}\Parameter{Sonst-Teil} +\end{Declaration} +\BeginIndex{Cmd}{ifiscounter}% +Wenn\ChangedAt{v3.12}{\Package{scrbase}} \PName{Zähler} ein definierter +\LaTeX-Zähler ist, wird der \PName{Dann-Teil} ausgeführt, anderenfalls der +\PName{Sonst-Teil}. Die Anweisung ist nicht voll expandierbar. Von dieser +Anweisung gibt es keine interne Variante.% +\EndIndex{Cmd}{ifiscounter}% + \BeginIndex{Cmd}{ifnumber} \begin{Declaration} \Macro{ifnumber}\Parameter{Zeichenfolge}% @@ -913,8 +1139,7 @@ interne Variante. Hier werden keine Zahlen verglichen. Der \PName{Dann-Teil} wird vielmehr ausgeführt, wenn die Expansion der \PName{Zeichenfolge} nur aus Ziffern besteht. Anderenfalls wird der \PName{Sonst-Teil} verwendet. Von dieser -Anweisung gibt es keine interne Variante. -% +Anweisung gibt es keine interne Variante.% \EndIndex{Cmd}{ifnumber} \BeginIndex{Cmd}{ifdimen} @@ -966,48 +1191,61 @@ sondern hinter \Macro{begin}\PParameter{document} einfügen. Das Paket \Package{scrbase} bietet ihm für die Definition selbst einige zusätzliche Anweisungen. +\BeginIndex{Cmd}{defcaptionname}% \BeginIndex{Cmd}{providecaptionname}% \BeginIndex{Cmd}{newcaptionname}% \BeginIndex{Cmd}{renewcaptionname}% \begin{Declaration} + \Macro{defcaptionname}% + \Parameter{Sprachliste}\Parameter{Begriff}\Parameter{Inhalt}\\ \Macro{providecaptionname}% - \Parameter{Sprache}\Parameter{Begriff}\Parameter{Inhalt}\\ + \Parameter{Sprachliste}\Parameter{Begriff}\Parameter{Inhalt}\\ \Macro{newcaptionname}% - \Parameter{Sprache}\Parameter{Begriff}\Parameter{Inhalt}\\ + \Parameter{Sprachliste}\Parameter{Begriff}\Parameter{Inhalt}\\ \Macro{renewcaptionname}% - \Parameter{Sprache}\Parameter{Begriff}\Parameter{Inhalt} + \Parameter{Sprachliste}\Parameter{Begriff}\Parameter{Inhalt}\\ + \Macro{defcaptionname*}% + \Parameter{Sprachliste}\Parameter{Begriff}\Parameter{Inhalt}\\ + \Macro{providecaptionname*}% + \Parameter{Sprachliste}\Parameter{Begriff}\Parameter{Inhalt}\\ + \Macro{newcaptionname*}% + \Parameter{Sprachliste}\Parameter{Begriff}\Parameter{Inhalt}\\ + \Macro{renewcaptionname*}% + \Parameter{Sprachliste}\Parameter{Begriff}\Parameter{Inhalt} \end{Declaration} Mit Hilfe dieser drei Anweisungen ist es möglich, einem \PName{Begriff} in -Abhängigkeit der \PName{Sprache} einen \PName{Inhalt} zuzuweisen. Der -\PName{Begriff} ist dabei immer ein Makro. Die Arbeitsweise der drei -Anweisungen unterscheidet sich je nachdem, ob eine \PName{Sprache} und ein -\PName{Begriff} innerhalb dieser \PName{Sprache} zum Zeitpunkt des Aufrufs -bereits definiert ist. +Abhängigkeit der Sprache einen \PName{Inhalt} zuzuweisen. Mehrere Sprachen +können durch Komma voneinander getrennt als +\PName{Sprachliste}\ChangedAt{v3.12}{\Package{scrbase}} angegeben werden. -Ist eine \PName{Sprache} nicht definiert, so tut \Macro{providecaptionname} +Der \PName{Begriff} ist immer ein Makro. Die Arbeitsweise der drei Anweisungen +unterscheidet sich je nachdem, ob eine Sprache und ein \PName{Begriff} +innerhalb dieser Sprache zum Zeitpunkt des Aufrufs bereits definiert ist. + +Ist eine Sprache nicht definiert, so tut \Macro{providecaptionname} nichts weiter, als dies in der \File{log}-Datei zu vermerken. Dabei wird für jede Sprache nur einmal eine entsprechende Information in die \File{log}-Datei geschrieben. Ist die Sprache definiert, enthält aber bisher keinen entsprechenden \PName{Begriff}, so wird er mit dem angegebenen \PName{Inhalt} -definiert. Ist der \PName{Begriff} hingegen in der \PName{Sprache} bereits +definiert. Ist der \PName{Begriff} hingegen in der Sprache bereits definiert, so wird er nicht umdefiniert, sondern ein entsprechender Hinweis in die \File{log}-Datei geschrieben. Die Anweisung \Macro{newcaptionname} verhält sich etwas anders. Ist bei ihr -die \PName{Sprache} nicht definiert, dann wird diese neu definiert, indem eine -entsprechende Anweisung definiert wird. Für die \PName{Sprache} +eine Sprache nicht definiert, dann wird diese neu definiert, indem eine +entsprechende Anweisung definiert wird. Für die Sprache \PValue{ngerman} wäre das beispielsweise \Macro{captionsngerman}. Außerdem -wird darüber auch in der \File{log}-Datei informiert. Ist die \PName{Sprache} -definiert, der \PName{Begriff} in dieser \PName{Sprache} aber noch nicht +wird darüber auch in der \File{log}-Datei informiert. Ist die Sprache +definiert, der \PName{Begriff} in dieser Sprache aber noch nicht vorhanden, so wird er mit dem gewünschten \PName{Inhalt} definiert. Ist der -\PName{Begriff} in der \PName{Sprache} bereits vorhanden, so wird eine +\PName{Begriff} in der Sprache bereits vorhanden, so wird eine Fehlermeldung ausgegeben. Die Anweisung \Macro{renewcaptionname} verhält sich noch einmal anders. Ist -die \PName{Sprache} nicht definiert, so wird eine Fehlermeldung -ausgegeben. Ist die \PName{Sprache} definiert, der \PName{Begriff} in dieser -\PName{Sprache} jedoch nicht, so wird ebenfalls eine Fehlermeldung -ausgegeben. Ist der \PName{Begriff} in der \PName{Sprache} definiert, so wird +eine Sprache nicht definiert, so wird eine Fehlermeldung +ausgegeben. Ist die Sprache definiert, der \PName{Begriff} in dieser +Sprache jedoch nicht, so wird ebenfalls eine Fehlermeldung +ausgegeben. Ist der \PName{Begriff} in der Sprache definiert, so wird er auf den gewünschten \PName{Inhalt} umdefiniert. \KOMAScript{} selbst verwendet \Macro{providecaptionname} um die Begriffe aus @@ -1015,18 +1253,37 @@ er auf den gewünschten \PName{Inhalt} umdefiniert. \begin{Example} Möchten Sie statt »Abbildung« in den Abbildungsunterschriften lieber »Abb.« - stehen haben, so erreichen Sie dies mit + stehen haben, so erreichen Sie dies mit: \begin{lstcode} \renewcaptionname{ngerman}{\figurename}{Abb.} \end{lstcode} + Soll dieselbe Änderung nicht nur für die Sprache \PValue{ngerman}, sondern + auch für Sprache \PValue{naustrian}, also für Österreichisch gelten, so ist + es nicht notwendig eine zweite Anweisung: +\begin{lstcode} + \renewcaptionname{naustrian}{\figurename}{Abb.} +\end{lstcode} + hinzuzufügen. Stattdessen kann einfach, die \PName{Sprachliste} erweitert + werden: +\begin{lstcode} + \renewcaptionname{ngerman,naustrian{\figurename}{Abb.} +\end{lstcode} + In gleicher Weise können auch \PValue{german} und \PValue{austrian}, also + Deutsch und Österreichisch nach der veralteten Rechtschreibung, hinzugefügt + werden. \end{Example} -Da\important{Achtung!} mit \Macro{renewcaptionname} nur bereits vorhandene -Begriffe in vorhandenen Sprachen umdefiniert werden können, müssen Sie diese -Anweisung nach \Macro{begin}\PParameter{document} setzen oder mit Hilfe von -\Macro{AtBeginDocument} verzögern. Außerdem werden Sie eine Fehlermeldung -erhalten, wenn Sie kein Paket zur Sprachumschaltung auf \PValue{ngerman} -verwenden. +Seit \KOMAScript~3.12\ChangedAt{v3.12}{\Package{scrbase}} ist es auch nicht +mehr erforderlich, die Definierung oder Umdefinierung mit Hilfe von +\Macro{AtBeginDocument} bis \Macro{begin}\PParameter{document} zu +verzögern. Stattdessen erledigt \Package{scrbase} dies selbst, falls die +Anweisungen in der Dokumentpräambel aufgerufen werden. Außerdem prüft +\Package{scrbase} nun auch, ob ein umzudefinierender Begriff statt in +\Macro{captions\PName{Sprache}} in \Macro{extras\PName{Sprache}} zu definieren +ist. Die neuen Sternvarianten der Befehle verwenden grundsätzlich +\Macro{captions\PName{Sprache}}. Damit funktioniert nun in der Regel auch das +Umdefinieren von sprachabhängigen Bezeichnern von Paketen wie +\Package{hyperref}, die dafür \Macro{extras\PName{Sprache}} verwenden. In \autoref{tab:scrbase.commonNames} ist ein Überblick über die üblicherweise von Klassen und Sprachpaketen definierten Begriffe und deren Verwendung zu @@ -1132,7 +1389,8 @@ finden. \EndIndex{Cmd}{renewcaptionname}% \EndIndex{Cmd}{newcaptionname}% \EndIndex{Cmd}{providecaptionname}% - +\EndIndex{Cmd}{defcaptionname}% +% \EndIndex{}{Sprachdefinition}% diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrbookreportarticle.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrbookreportarticle.tex index 8c0d120142d..bda0be62839 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrbookreportarticle.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrbookreportarticle.tex @@ -1,6 +1,6 @@ % ====================================================================== % scrbookreportarticle.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrbookreportarticle.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,8 +45,9 @@ % % ============================================================================ -\ProvidesFile{scrbookreportarticle.tex}[2012/02/15 KOMA-Script guide (chapter: -scrbook, scrreprt, scrartcl)] +\KOMAProvidesFile{scrbookreportarticle.tex} + [$Date: 2013-12-16 18:08:48 +0100 (Mo, 16. Dez 2013) $ + KOMA-Script guide (chapter: scrbook, scrreprt, scrartcl)] \chapter{Die Hauptklassen \Class{scrbook}, \Class{scrreprt}, \Class{scrartcl}} \labelbase{maincls}% @@ -117,7 +118,7 @@ Tabellen. \LoadCommon{0} % \section{Frühe oder späte Optionenwahl} -\iffree{}{\clearpage}% Umbruchkorrektur!!! +%\iffree{}{\clearpage}% Umbruchkorrektur!!! \LoadCommon{1} % \section{Kompatibilität zu früheren Versionen von \KOMAScript} @@ -136,7 +137,8 @@ Tabellen. nur alle ersten Zeilen eines Satzspiegels mit ihrer Grundlinie auf der gleichen Höhe liegen, sondern auch die letzten Zeilen einer Doppelseite. Enthält eine Seite nur Text ohne Absätze und Überschriften, so - hat man das automatisch. Aber bereits dann, wenn Absätze mit einem halben + hat man das automatisch, wenn bei der Konstruktion des Satzspiegels einige + Grundregeln befolgt wurden. Aber bereits dann, wenn Absätze mit einem halben Grundlinienabstand markiert werden, genügt es, wenn die Anzahl der Absätze auf der einen Seite um eine ungerade Zahl von der auf der anderen Seite abweicht, damit dieses Ziel nicht mehr erreicht werden kann. Es ist dann @@ -178,193 +180,10 @@ voreingestellt. Dies ist bei einem Wechsel von den Standardklassen zu den % \EndIndex{}{Schrift>Groesse=Größe} - \LoadCommon{5} % \section{Textauszeichnungen} -Mit der Anweisung \Macro{usekomafont} kann die aktuelle Schriftart auf -diejenige umgeschaltet werden, die für das angegebene \PName{Element} -definiert ist. - -\begin{Example} - \phantomsection\label{desc:maincls.setkomafont.example}% - Angenommen, für das Element - \FontElement{captionlabel} soll dieselbe Schriftart wie - für \FontElement{descriptionlabel} verwenden. Das - erreichen Sie einfach mit: -\begin{lstcode} - \setkomafont{captionlabel}{% - \usekomafont{descriptionlabel}% - } -\end{lstcode} - Weitere Beispiele finden Sie in den Abschnitten zu den jeweiligen - Elementen. -\end{Example} - -\begin{desclist} - \desccaption{% - Elemente, deren Schrift bei \Class{scrbook}, \Class{scrreprt} oder - \Class{scrartcl} mit \Macro{setkomafont} und \Macro{addtokomafont} - verändert werden kann\label{tab:maincls.elementsWithoutText}% - }{% - Elemente, deren Schrift verändert werden kann (\emph{Fortsetzung})% - }% - \feentry{caption}{Text einer Abbildungs- oder Tabellenunter- oder - "~überschrift (siehe \autoref{sec:maincls.floats}, - \autopageref{desc:maincls.cmd.caption})}% - \feentry{captionlabel}{% - Label einer Abbildungs- oder Tabellenunter- oder "~überschrift; Anwendung - erfolgt nach dem Element \FontElement{caption} (siehe - \autoref{sec:maincls.floats}, \autopageref{desc:maincls.cmd.caption})}% - \feentry{chapter}{% - Überschrift der Ebene \Macro{chapter} (siehe - \autoref{sec:maincls.structure}, \autopageref{desc:maincls.cmd.chapter})}% - \feentry{chapterentry}{% - Inhaltsverzeichniseintrag der Ebene \Macro{chapter} (siehe - \autoref{sec:maincls.toc}, - \autopageref{desc:maincls.cmd.tableofcontents})}% - \feentry{chapterentrypagenumber}{% - Seitenzahl des Inhaltsverzeichniseintrags der Ebene \Macro{chapter} - abweichend vom Element \FontElement{chapterentry} (siehe - \autoref{sec:maincls.toc}, - \autopageref{desc:maincls.cmd.tableofcontents})}% - \feentry{chapterprefix}{% - Kapitelnummernzeile bei Einstellung \OptionValue{chapterprefix}{true} oder - \OptionValue{appendixprefix}{true} (siehe \autoref{sec:maincls.structure}, - \autopageref{desc:maincls.option.chapterprefix})}% - \feentry{descriptionlabel}{% - Label, also das optionale Argument der \Macro{item}-Anweisung, in einer - \Environment{description}-Umgebung (siehe \autoref{sec:maincls.lists}, - \autopageref{desc:maincls.env.description})}% - \feentry{dictum}{% - mit \Macro{dictum} gesetzter schlauer Spruch (siehe - \autoref{sec:maincls.dictum}, \autopageref{desc:maincls.cmd.dictum})}% - \feentry{dictumauthor}{% - Urheber eines schlauen Spruchs; Anwendung erfolgt nach dem Element - \FontElement{dictum} (siehe \autoref{sec:maincls.dictum}, - \autopageref{desc:maincls.cmd.dictum})}% - \feentry{dictumtext}{% - alternative Bezeichnung für \FontElement{dictum}}% - \feentry{disposition}{% - alle Gliederungsüberschriften, also die Argumente von \Macro{part} bis - \Macro{subparagraph} und \Macro{minisec} sowie die Überschrift der - Zusammenfassung; die Anwendung erfolgt vor dem Element der jeweiligen - Gliederungsebene (siehe \autoref{sec:maincls.structure} ab - \autopageref{sec:maincls.structure})}% - \feentry{footnote}{% - Marke und Text einer Fußnote (siehe \autoref{sec:maincls.footnotes}, - \autopageref{desc:maincls.cmd.footnote})}% - \feentry{footnotelabel}{% - Marke einer Fußnote; Anwendung erfolgt nach dem Element - \FontElement{footnote} (siehe \autoref{sec:maincls.footnotes}, - \autopageref{desc:maincls.cmd.footnote})}% - \feentry{footnotereference}{% - Referenzierung der Fußnotenmarke im Text (siehe - \autoref{sec:maincls.footnotes}, - \autopageref{desc:maincls.cmd.footnote})}% - \feentry{footnoterule}{% - Linie\ChangedAt{v3.07}{\Class{scrbook}\and \Class{scrreprt}\and - \Class{scrartcl}} - über dem Fußnotenapparat (siehe \autoref{sec:maincls.footnotes}, - \autopageref{desc:maincls.cmd.setfootnoterule})}% - \feentry{labelinglabel}{% - Label, also das optionale Argument der \Macro{item}-Anweisung, und - Trennzeichen, also das optionale Argument der - \Environment{labeling}-Umgebung, in einer \Environment{labeling}-Umgebung - (siehe \autoref{sec:maincls.lists}, \autopageref{desc:maincls.env.labeling})}% - \feentry{labelingseparator}{% - Trennzeichen, also das optionale Argument der - \Environment{labeling}-Umgebung, in einer \Environment{labeling}-Umgebung; - Anwendung erfolgt nach dem Element \FontElement{labelinglabel} - (siehe \autoref{sec:maincls.lists}, \autopageref{desc:maincls.env.labeling})}% - \feentry{minisec}{% - mit \Macro{minisec} gesetzte Überschrift (siehe - \autoref{sec:maincls.structure} ab - \autopageref{desc:maincls.cmd.minisec})}% - \feentry{pagefoot}{% - wird nur verwendet, wenn das Paket \Package{scrpage2} geladen ist (siehe - \autoref{cha:scrpage}, \autopageref{desc:scrpage.fontelement.pagefoot})}% - \feentry{pagehead}{% - alternative Bezeichnung für \FontElement{pageheadfoot}}% - \feentry{pageheadfoot}{% - Seitenkopf und Seitenfuß bei allen von \KOMAScript{} definierten - Seitenstilen (siehe \autoref{sec:maincls.pagestyle} ab - \autopageref{sec:maincls.pagestyle})}% - \feentry{pagenumber}{% - Seitenzahl im Kopf oder Fuß der Seite (siehe - \autoref{sec:maincls.pagestyle})}% - \feentry{pagination}{% - alternative Bezeichnung für \FontElement{pagenumber}}% - \feentry{paragraph}{% - Überschrift der Ebene \Macro{paragraph} (siehe - \autoref{sec:maincls.structure}, - \autopageref{desc:maincls.cmd.paragraph})}% - \feentry{part}{% - Überschrift der Ebene \Macro{part}, jedoch ohne die Zeile mit der Nummer - des Teils (siehe \autoref{sec:maincls.structure}, - \autopageref{desc:maincls.cmd.part})}% - \feentry{partentry}{% - Inhaltsverzeichniseintrag der Ebene \Macro{part} (siehe - \autoref{sec:maincls.toc}, - \autopageref{desc:maincls.cmd.tableofcontents})}% - \feentry{partentrypagenumber}{% - Seitenzahl des Inhaltsverzeichniseintrags der Ebene \Macro{part} - abweichend vom Element \FontElement{partentry} (siehe - \autoref{sec:maincls.toc}, - \autopageref{desc:maincls.cmd.tableofcontents})}% - \feentry{partnumber}{% - Zeile mit der Nummer des Teils in Überschrift der Ebene \Macro{part} - (siehe \autoref{sec:maincls.structure}, - \autopageref{desc:maincls.cmd.part})}% - \feentry{section}{% - Überschrift der Ebene \Macro{section} (siehe - \autoref{sec:maincls.structure}, \autopageref{desc:maincls.cmd.section})}% - \feentry{sectionentry}{% - Inhaltsverzeichniseintrag der Ebene \Macro{section} (nur bei - \Class{scrartcl} verfügbar, siehe \autoref{sec:maincls.toc}, - \autopageref{desc:maincls.cmd.tableofcontents})}% - \feentry{sectionentrypagenumber}{% - Seitenzahl des Inhaltsverzeichniseintrags der Ebene \Macro{section} - abweichend vom Element \FontElement{sectionentry} (nur bei - \Class{scrartcl} verfügbar, siehe \autoref{sec:maincls.toc}, - \autopageref{desc:maincls.cmd.tableofcontents})}% - \feentry{sectioning}{% - alternative Bezeichnung für \FontElement{disposition}}% - \feentry{subject}{% - Typisierung des Dokuments, also das Argument von \Macro{subject} auf der - Haupttitelseite (siehe \autoref{sec:maincls.titlepage}, - \autopageref{desc:maincls.cmd.subject})}% - \feentry{subparagraph}{% - Überschrift der Ebene \Macro{subparagraph} (siehe - \autoref{sec:maincls.structure}, - \autopageref{desc:maincls.cmd.subparagraph})}% - \feentry{subsection}{% - Überschrift der Ebene \Macro{subsection} (siehe - \autoref{sec:maincls.structure}, - \autopageref{desc:maincls.cmd.subsection})}% - \feentry{subsubsection}{% - Überschrift der Ebene \Macro{subsubsection} (siehe - \autoref{sec:maincls.structure}, - \autopageref{desc:maincls.cmd.subsubsection})}% - \feentry{subtitle}{% - Untertitel des Dokuments, also das Argument von \Macro{subtitle} auf der - Haupttitelseite (siehe \autoref{sec:maincls.titlepage}, - \autopageref{desc:maincls.cmd.title})}% - \feentry{title}{% - Haupttitel des Dokuments, also das Argument von \Macro{title} (bezüglich - der Größe des Haupttitels siehe die ergänzenden Bemerkungen im Text von - \autoref{sec:maincls.titlepage} ab \autopageref{desc:maincls.cmd.title})}% -\end{desclist} -% -\EndIndex{Cmd}{setkomafont}% -\EndIndex{Cmd}{addtokomafont}% -\EndIndex{Cmd}{usekomafont}% -% -\EndIndex{}{Schrift>Art}% -\EndIndex{}{Text>Auszeichnung} - \LoadCommon{14}% \section{Dokumenttitel} - \section{Zusammenfassung} \label{sec:maincls.abstract} \BeginIndex{}{Zusammenfassung}% @@ -535,8 +354,8 @@ aus. In \cite{DANTE:FAQ} wird für solche Fälle vorgeschlagen, die Erzeugung des Inhaltsverzeichnisses umzudefinieren. \KOMAScript{}\important{\OptionValue{toc}{flat}} bietet jedoch eine alternative Formatierung an, bei der das Problem nicht auf"|tritt. Bei -Verwendung der Option \OptionValue{toc}{flat}\IndexOption{toc~=\PValue{flat}} werden -die unterschiedlichen Gliederungsebenen nicht unterschiedlich weit +Verwendung der Option \OptionValue{toc}{flat}\IndexOption{toc~=\PValue{flat}} +werden die unterschiedlichen Gliederungsebenen nicht unterschiedlich weit eingezogen. Stattdessen wird eine tabellenartige Form gewählt, in der alle Gliederungsnummern und alle Gliederungstexte jeweils in einer Spalte linksbündig untereinander stehen. Der für die Gliederungsnummern benötigte @@ -572,10 +391,29 @@ Einen Überblick über alle möglichen Werte für die \PName{Einstellung} von Das Inhaltsverzeichnis erhält eine hierarchische Form. Es steht nur ein begrenzter Platz für die Gliederungsnummern zur Verfügung.% \IndexOption{toc~=\PValue{graduated}}}% + \entry{\PValue{indenttextentries}, \PValue{indentunnumbered}, + \PValue{numberline}}{% + \ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}}% + Die Eigenschaft \PValue{numberline} (siehe \autoref{sec:tocbasic.toc}, + \autopageref{desc:tocbasic.cmd.setuptoc}) wird für das Inhaltsverzeichnis + gesetzt. Dadurch werden nicht nummerierte Einträge linksbündig mit dem + Text von nummerierten Einträgen gleicher Ebene gesetzt.% + \IndexOption{toc~=\PValue{numberline}}}% \entry{\PValue{index}, \PValue{idx}}{% Das Stichwortverzeichnis erhält einen Eintrag im Inhaltsverzeichnis, ohne dass es nummeriert wird.% \IndexOption{toc~=\PValue{index}}}% + \entry{\PValue{leftaligntextentries}, \PValue{leftalignunnumbered}, + \PValue{nonumberline}}{% + \ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}}% + Die Eigenschaft \PValue{numberline} (siehe \autoref{sec:tocbasic.toc}, + \autopageref{desc:tocbasic.cmd.setuptoc}) wird für das Inhaltsverzeichnis + gelöscht. Dadurch werden nicht nummerierte Einträge linksbündig mit dem + Nummer von nummerierten Einträgen gleicher Ebene gesetzt. Dies entspricht + der Voreinstellung.% + \IndexOption{toc~=\PValue{numberline}}}% \pventry{listof}{% Die Verzeichnisse der Gleitumgebungen, beispielsweise das Abbildungs"~ und das Tabellenverzeichnis, erhalten einen Eintrag im Inhaltsverzeichnis, @@ -583,8 +421,8 @@ Einen Überblick über alle möglichen Werte für die \PName{Einstellung} von \IndexOption{toc~=\PValue{listof}}}% \entry{\PValue{listofnumbered}, \PValue{numberedlistof}}{% Die Verzeichnisse der Gleitumgebungen, beispielsweise das Abbildungs"~ und - das Tabellenverzeichnis, erhalten einen Eintrag im Inhaltsverzeichnis - und werden nummeriert.% + das Tabellenverzeichnis, erhalten einen Eintrag im Inhaltsverzeichnis und + werden nummeriert.% \IndexOption{toc~=\PValue{listofnumbered}}}% \entry{\PValue{nobibliography}, \PValue{nobib}}{% Das Literaturverzeichnis erhält keinen Eintrag im Inhaltsverzeichnis.% @@ -630,19 +468,20 @@ Inhaltsverzeichniseinträge ist außerdem über die Elemente und \Class{scrreprt} über \FontElement{chapterentry}\IndexFontElement{chapterentry} beziehungsweise \FontElement{sectionentry}\IndexFontElement{sectionentry} für \Class{scrartcl} -einstellbar. Die Schrift der -Seitenzahlen kann jeweils davon abweichend über die Elemente +einstellbar. Die Schrift der Seitenzahlen kann jeweils davon abweichend über +die Elemente \FontElement{partentrypagenumber}\IndexFontElement{partentrypagenumber}% \important{\FontElement{partentrypagenumber}} und \FontElement{chapterentrypagenumber}\IndexFontElement{chapterentrypagenumber}% \important[i]{\FontElement{chapterentrypagenumber}\\ - \FontElement{sectionentrypagenumber}} respektive + \FontElement{sectionentrypagenumber}} (\Class{scrbook} und \Class{scrreprt}) +beziehungsweise \FontElement{sectionentrypagenumber}\IndexFontElement{sectionentrypagenumber} -eingestellt werden (siehe auch \autoref{sec:maincls.textmarkup}, -\autopageref{desc:maincls.cmd.setkomafont}, sowie -\autoref{tab:maincls.elementsWithoutText}, +(\Class{scrartcl}) eingestellt werden (siehe auch +\autoref{sec:maincls.textmarkup}, \autopageref{desc:maincls.cmd.setkomafont}, +sowie \autoref{tab:maincls.elementsWithoutText}, \autopageref{tab:maincls.elementsWithoutText}). Die Voreinstellungen der -Elemente ist \autoref{tab:maincls.tocelements} zu entnehmen. +Elemente sind \autoref{tab:maincls.tocelements} zu entnehmen. \begin{table} % \centering % \caption @@ -691,11 +530,14 @@ Zählers kann bestimmt werden, bis zu welcher Gliederungsebene Einträge in das Inhaltsverzeichnis erfolgen sollen. Dies ist übrigens bei den Standardklassen ganz genauso. -Bei Verwendung des \Package{scrpage2}-Pakets\IndexPackage{scrpage2} (siehe -\autoref{cha:scrpage}) muss man sich nicht die nummerischen Werte der -einzelnen Gliederungsebenen merken. Dann stehen dafür die Makros -\Macro{partlevel}, \Macro{chapterlevel}, \Macro{sectionlevel} und so weiter -bis hinunter zu \Macro{subparagraphlevel} zur Verfügung. +Bitten beachten Sie\textnote{Achtung!}, dass die Werte für \Counter{tocdepth} +und \Counter{secnumdepth}\IndexCounter{secnumdepth} (siehe +\autoref{sec:maincls.structure}, +\autopageref{desc:maincls.counter.secnumdepth}) bei \Class{scrartcl} für +\Macro{part} nicht übereinstimmen. Dies wurde aus Gründen der Kompatibilität +von der Standardklasse \Class{article} übernommen. Daher sollte die Anweisung +\Macro{partnumdepth}\IndexCmd{partnumdepth} nicht zum Setzen von +\Counter{tocdepth} verwendet werden.% \begin{Example} Angenommen, Sie setzen einen Artikel, bei dem die Gliederungsebene \Macro{subsubsection} verwendet wird. Gehen wir weiter davon aus, @@ -716,9 +558,9 @@ bis hinunter zu \Macro{subparagraphlevel} zur Verfügung. \documentclass{scrartcl} \addtocounter{tocdepth}{-1} \end{lstcode} - Wie\textnote{Tipp!} viel Sie von \Counter{tocdepth} subtrahieren oder dazu - addieren müssen, können Sie natürlich auch einfach nach einem ersten - \LaTeX-Lauf im Inhaltsverzeichnis abzählen. + Den\textnote{Tipp!} Wert, den Sie zu \Counter{tocdepth} addieren oder davon + subtrahieren müssen, können Sie nach mindestens zwei \LaTeX-Läufen einfach im + Inhaltsverzeichnis abzählen. \end{Example} \iffalse % Umbruchausgleichstext Falls\textnote{Tipp!} Sie sich nicht merken wollen, welche Nummer zu welcher @@ -788,9 +630,12 @@ wird. Entsprechendes gilt bei \Option{footsepline} für \Option{footinclude}\IndexOption{footinclude}\important{\Option{footinclude}}. Im Gegensatz zu \Option{headsepline} wirkt sich die Option \Option{footsepline} auch beim Seitenstil \PValue{plain} aus, da -\PValue{plain} eine Seitenzahl im Fuß ausgibt. Das Paket -\Package{scrpage2}\IndexPackage{scrpage2} (siehe \autoref{cha:scrpage}) bietet -weitere Einflussmöglichkeiten für Linien im Kopf und Fuß.% +\PValue{plain} eine Seitenzahl im Fuß ausgibt. \iffree{Die Pakete + \Package{scrpage2} und}{Das Paket} +\Package{scrlayer-scrpage}\IndexPackage{scrlayer-scrpage} (siehe +\iffree{\autoref{cha:scrpage} beziehungsweise}{\ignorespaces} +\autoref{cha:scrlayer-scrpage}) bietet weitere Einflussmöglichkeiten für +Linien im Kopf und Fuß.% % \EndIndex{Option}{headsepline~=\PName{Ein-Aus-Wert}}% \EndIndex{Option}{footsepline~=\PName{Ein-Aus-Wert}}% @@ -863,8 +708,13 @@ weitere Einflussmöglichkeiten für Linien im Kopf und Fuß.% jederzeit} gesetzt werden. Verwendet\textnote{Tipp!} man \Macro{pagestyle} vor Anweisungen, die einen Seitenumbruch herbeiführen, und soll die Änderung erst ab der neuen Seite gelten, so ist ein \Macro{cleardoublepage} davor -nützlich. Üblicherweise verwendet man \Macro{pagestyle} aber nur einmal zu +nützlich. +% +\iffalse % Umbruchkorrektur +Üblicherweise verwendet man \Macro{pagestyle} aber nur einmal zu Beginn des Dokuments oder in der Präambel. +% +\fi Für\important{\Macro{thispagestyle}} eine Änderung des Seitenstils nur der aktuellen Seite verwendet man stattdessen die Anweisung @@ -873,13 +723,15 @@ automatisch. Beispielsweise wird bei allen Kapitelanfangsseiten implizit die Anweisung \Macro{thispagestyle}\PParameter{\Macro{chapterpagestyle}} ausgeführt. -Bitte\textnote{Achtung!} beachten Sie auch, dass die Umschaltung zwischen -automatischen und manuellen Kolumnentiteln bei Verwendung des Pakets -\Package{scrpage2}\important{\Package{scrpage2}} nicht mehr über den -Seitenstil, sondern mit speziellen Anweisungen erfolgt. Die beiden Seitenstile -\Pagestyle{headings} und \Pagestyle{myheadings} sollten nicht zusammen mit -diesem Paket verwendet werden (siehe \autoref{cha:scrpage}, -\autopageref{desc:scrpage.pagestyle.useheadings}). +Bitte\textnote{Achtung!} beachten Sie, dass die Umschaltung zwischen +automatischen und manuellen Kolumnentiteln bei Verwendung \iffree{des Pakets + \Package{scrpage2}\important{\Package{scrpage2}} oder }{}von +\Package{scrlayer-scrpage}\important{\Package{scrlayer-scrpage}} nicht mehr +über den Seitenstil, sondern mit speziellen Anweisungen erfolgt. Die beiden +Seitenstile \Pagestyle{headings} und \Pagestyle{myheadings} sollten nicht +zusammen mit \iffree{diesen Paketen}{diesem Paket} verwendet werden\iffree{ + (siehe auch \autoref{cha:scrpage}, + \autopageref{desc:scrpage.pagestyle.useheadings})}{}. \BeginIndex[indexother]{}{Schrift>Art}% \BeginIndex{FontElement}{pageheadfoot}% @@ -898,9 +750,13 @@ heißt \FontElement{pagenumber}\IndexFontElement{pagenumber}\important{\FontElement{pagenumber}}. Das ebenfalls in den \KOMAScript-Klassen bereitgestellte Element \FontElement{pagefoot}\IndexFontElement{pagefoot} wird nur verwendet, wenn man -mit dem Paket \Package{scrpage2}\IndexPackage{scrpage2} (siehe -\autoref{cha:scrpage}, \autopageref{desc:scrpage.fontelement.pagefoot}) einen -Seitenstil definiert, bei dem auch der Fuß Text enthält. +mit dem Paket \Package{scrlayer-scrpage}\IndexPackage{scrlayer-scrpage} +\iffree{oder \Package{scrpage2}\IndexPackage{scrpage2}}{\ignorespaces} (siehe +\autoref{cha:scrlayer-scrpage}, +\autopageref{desc:scrlayer-scrpage.fontelement.pagefoot} +\iffree{beziehungsweise \autoref{cha:scrpage}, + \autopageref{desc:scrpage.fontelement.pagefoot}}{\unskip}) einen Seitenstil +definiert, bei dem auch der Fuß Text enthält. Die Voreinstellungen sind in \autoref{tab:maincls.defaultFontsHeadFoot} zu finden. @@ -940,8 +796,7 @@ finden. Sie dies wie folgt erreichen: \begin{lstcode} \setkomafont{pageheadfoot}{% - \normalfont\normalcolor\itshape\small - } + \normalfont\normalcolor\itshape\small} \setkomafont{pagenumber}{\normalfont\bfseries} \end{lstcode} Wollen Sie hingegen lediglich, dass zusätzlich zur bereits voreingestellten @@ -957,23 +812,28 @@ finden. \autopageref{tab:maincls.elementsWithoutText}). \end{Example} Es ist an dieser Stelle nicht möglich, Versalien für die automatischen -Kolumnentitel zu erzwingen. Wenn Sie dies wünschen, verwenden Sie bitte das -\Package{scrpage2}-Paket (siehe \autoref{cha:scrpage}, -\autopageref{desc:scrpage.option.markuppercase}). +Kolumnentitel zu erzwingen. Wenn Sie dies wünschen, müssen Sie entweder +\Macro{MakeMarkcase}\IndexCmd{MakeMarkcase} entsprechend umdefinieren. Es wird +jedoch empfohlen, in solchen Fällen das Paket \Package{scrlayer-scrpage} zu +verwenden (siehe \autoref{cha:scrlayer-scrpage}, +\autopageref{desc:scrlayer-scrpage.option.markcase}). Werden\textnote{Tipp!} eigene Seitenstile definiert, sind eventuell die Befehle \Macro{usekomafont}\PParameter{pageheadfoot}, \Macro{usekomafont}\PParameter{pagenumber} sowie \Macro{usekomafont}\PParameter{pagefoot} nützlich. Insbesondere falls Sie -dafür nicht das \KOMAScript-Paket \Package{scrpage2} (siehe -\autoref{cha:scrpage}), sondern beispielsweise das Paket +dafür nicht das \KOMAScript-Paket \Package{scrlayer-scrpage}\iffree{ oder + \Package{scrpage2}}{} (siehe \autoref{cha:scrlayer-scrpage}\iffree{ + beziehungsweise \autoref{cha:scrpage}}{}), sondern beispielsweise das Paket \Package{fancyhdr}\IndexPackage{fancyhdr}\important{\Package{fancyhdr}} (siehe \cite{package:fancyhdr}) einsetzen, können Sie diese Befehle in Ihren Definitionen verwenden. Dadurch bleiben Sie zu \KOMAScript{} möglichst kompatibel. Verwenden Sie diese Befehle in Ihren eigenen Definitionen nicht, so bleiben Schriftänderungen wie in den vorangehenden Beispielen -unbeachtet. Das Paket \Package{scrpage2}\IndexPackage{scrpage2} sorgt selbst -für maximale Kompatibilität.% +unbeachtet. \iffree{Die Pakete}{Das Paket} +\Package{scrlayer-scrpage}\IndexPackage{scrlayer-scrpage} \iffree{und + Package{scrpage2}\IndexPackage{scrpage2} sorgen}{sorgt} selbst für maximale +Kompatibilität.% \EndIndex{FontElement}{pagenumber}% \EndIndex{FontElement}{pagefoot}% \EndIndex{FontElement}{pageheadfoot}% @@ -999,8 +859,10 @@ und \Macro{markright}. Dabei wird die \PName{linke Marke} normalerweise im Kopf linker Seiten und die \PName{rechte Marke} im Kopf rechter Seiten verwendet. Im einseitigen Satz existiert nur die rechte Marke. Bei Verwendung des Paketes -\Package{scrpage2}\IndexPackage{scrpage2}\important{\Package{scrpage2}} steht -außerdem die Anweisung +\Package{scrlayer-scrpage}\IndexPackage{scrlayer-scrpage}\important{\Package{scrlayer-scrpage}}\iffree{ + oder + \Package{scrpage2}\IndexPackage{scrpage2}\important{\Package{scrpage2}}}{} +steht außerdem die Anweisung \Macro{markleft}\IndexCmd{markleft}\important{\Macro{markleft}} zur Verfügung. Die Anweisungen können auch zusammen mit anderen Seitenstilen verwendet @@ -1064,12 +926,12 @@ werden. wird. Natürlich können Sie auch einen selbst definierten Seitenstil verwenden. - Angenommen, Sie haben mit dem Paket \Package{scrpage2} (siehe - \autoref{cha:scrpage}) einen eigenen Seitenstil für + Angenommen, Sie haben mit dem Paket \Package{scrlayer-scrpage} (siehe + \autoref{cha:scrlayer-scrpage}) einen eigenen Seitenstil für Kapitelanfangsseiten\Index{Kapitel>Seitenstil}% \textnote{Kapitel\-anfangs\-seiten} definiert. Diesem Seitenstil haben Sie den passenden Namen \PValue{chapter} - gegeben. Um diesen nun auch tatsächlich zu verwenden, definieren Sie + gegeben. Um diesen auch tatsächlich zu verwenden, definieren Sie \Macro{chapterpagestyle} entsprechend um: \begin{lstcode} \renewcommand*{\chapterpagestyle}{chapter} @@ -1111,8 +973,7 @@ werden. \begin{Explain} Wer nun glaubt, er könne auf Kapitelanfangsseiten ebenfalls mit - lebenden Kolumnentiteln arbeiten, indem er einfach eine Definition - wie + lebenden Kolumnentiteln arbeiten, indem er einfach \begin{lstcode} \renewcommand*{\chapterpagestyle}{headings} \end{lstcode} @@ -1304,7 +1165,8 @@ Zusammenfassung der möglichen Werte findet sich noch einmal in \Macro{cleardoublepage} erzeugen einen Seitenumbruch und fügen ggf. eine Vakatseite\Index{Vakatseite} ein, um im doppelseitigen - Satz auf die nächste linke Seite zu gelangen.\IndexOption{open~=\PValue{left}}}% + Satz auf die nächste linke Seite zu gelangen.% + \IndexOption{open~=\PValue{left}}}% \pventry{right}{Die Anweisungen \Macro{cleardoublepageusingstyle}, \Macro{cleardoublestandardpage}, @@ -1321,7 +1183,7 @@ Zusammenfassung der möglichen Werte findet sich noch einmal in \begin{sloppypar}% Umbruchoptimierung Neben den Kapitelanfängen wirkt sich die Option auch auf die explizite -Verwendung der Anweisung\Macro{cleardoublepage} ebenso wie auf +Verwendung der Anweisung \Macro{cleardoublepage} ebenso wie auf \Macro{cleardoublepageusingstyle}, \Macro{cleardoublestandardpage}, \Macro{cleardoubleplainpage} und \Macro{cleardoubleemptypage} aus. Siehe dazu \autoref{sec:maincls.pagestyle}, @@ -1473,7 +1335,6 @@ Eine Zusammenfassung der möglichen Einstellungen für Option \Option{headings} finden Sie in \autoref{tab:maincls.headings}. Beispiele zu Verwendung einiger der möglichen Einstellungen sind in den nachfolgenden Beschreibungen der Gliederungsbefehle enthalten. -\iffree{}{\vskip-\ht\strutbox\enlargethispage*{\ht\strutbox}}% Umbruchkorrektur \begin{desclist} \renewcommand*{\abovecaptionskipcorrection}{-\normalbaselineskip}% \desccaption[{Mögliche Werte für Option \Option{headings}}]{% @@ -1522,26 +1383,26 @@ der Gliederungsbefehle enthalten. \IndexOption{headings~=\PValue{openright}}}% \pventry{optiontohead}{% Die\ChangedAt{v3.10}{\Class{scrbook}\and \Class{scrreprt}\and - \Class{scrartcl}} erweiterte Funktion des optionalen Argument der + \Class{scrartcl}} erweiterte Funktion des optionalen Arguments der Gliederungsbefehle wird aktiviert. In der Voreinstellung wird das optionale Argument ausschließlich für den Kolumnentitel verwendet.% - \IndexOption{headings=~optiontohead}% + \IndexOption{headings~=\PValue{optiontohead}}% }% \entry{\PValue{optiontoheadandtoc}, \PValue{optiontotocandhead}% \IndexOption{headings~=\PValue{optiontoheadandtoc}}}{% Die\ChangedAt{v3.10}{\Class{scrbook}\and \Class{scrreprt}\and - \Class{scrartcl}} erweiterte Funktion des optionalen Argument der + \Class{scrartcl}} erweiterte Funktion des optionalen Arguments der Gliederungsbefehle wird aktiviert. In der Voreinstellung wird das optionale Argument sowohl für den Kolumnentitel als auch den Eintrag ins Inhaltsverzeichnis verwendet.% }% \pventry{optiontotoc}{% Die\ChangedAt{v3.10}{\Class{scrbook}\and \Class{scrreprt}\and - \Class{scrartcl}} erweiterte Funktion des optionalen Argument der + \Class{scrartcl}} erweiterte Funktion des optionalen Arguments der Gliederungsbefehle wird aktiviert. In der Voreinstellung wird das optionale Argument ausschließlich für den Eintrag ins Inhaltsverzeichnis verwendet.% - \IndexOption{headings=~optiontohead}% + \IndexOption{headings~=\PValue{optiontohead}}% }% \pventry{small}{% Verwende kleine Überschriften mit kleinen Abständen darüber und darunter.% @@ -1697,10 +1558,11 @@ Einstellung\important{\Option{headings}} \OptionValue{headings}{optiontohead}\IndexOption[indexmain]{headings~=\PValue{optiontohead}} wird das optionale Argument bei \KOMAScript{} hingegen nur noch für den Kolumnentitel verwendet. Ein konkreter Eintrag in den Kolumnentitel erfolgt -natürlich nur, wenn ein Seitenstil\Index{Seiten>Stil} gewählt wird, bei dem die -entsprechende Gliederungsebene überhaupt für den Kolumnentitel verwendet +natürlich nur, wenn ein Seitenstil\Index{Seiten>Stil} gewählt wird, bei dem +die entsprechende Gliederungsebene überhaupt für den Kolumnentitel verwendet wird. Siehe hierzu \autoref{sec:maincls.pagestyle} sowie -\autoref{cha:scrpage}. Mit der Einstellung +\autoref{cha:scrlayer-scrpage}\iffree{ beziehungsweise + \autoref{cha:scrpage}}{}. Mit der Einstellung \OptionValue{headings}{optiontotoc}\IndexOption[indexmain]{headings~=\PValue{optiontotoc}} wird das optionale Argument hingegen ausschließlich für den Eintrag ins Inhaltsverzeichnis verwendet. Auch dies selbstverständlich nur, wenn die @@ -1720,10 +1582,10 @@ dies der Fall, so wird das optionale Argument der Gliederungsbefehle selbst statt als \PName{Kurzform} als \PName{Optionenliste} interpretiert. Dabei werden die beiden Optionen \Option{head=}\PName{Kolumnentitel}\important{\Option{head}} und -\Option{tocentry=}\PName{Inhaltsverzeichniseintrag} akzeptiert. Um ein -Gleichheitszeichen oder ein Komma in einem der beiden Werte dieser Optionen -unter zu bringen, muss dieses in zusätzliche geschweifte Klammern gesetzt -werden. +\Option{tocentry=}\PName{Inhaltsverzeichniseintrag}\important{\Option{tocentry}} +akzeptiert. Um ein Gleichheitszeichen oder ein Komma in einem der beiden Werte +dieser Optionen unter zu bringen, muss dieses in zusätzliche geschweifte +Klammern gesetzt werden. Bitte\textnote{Achtung!} beachten Sie, dass dieser Mechanismus nur funktioniert, solange \KOMAScript{} die Kontrolle über die Gliederungsbefehle @@ -2258,8 +2120,12 @@ das Element \FontElement{disposition} wirkt.% % »Mauseschnappfalle«, das dem Tierschutz zum Opfer gefallen ist. \end{ShowOutput} Zum Verständnis der Verwendung des Pakets - \Package{selinput}\IndexPackage{selinput} und der darin definierten - Anweisung \Macro{SelectInputMappings} sei auf \cite{package:selinput} + \Package{selinput}\IndexPackage{selinput} und + % + \iffalse % Umbruchkorrektur + der darin definierten Anweisung % + \fi % + \Macro{SelectInputMappings} sei auf \cite{package:selinput} verwiesen. \end{Example} % @@ -2471,12 +2337,16 @@ gibt, existieren die beiden Anweisungen auch nur bei diesen Klassen.% \begin{Declaration} \Macro{chaptermark}\Parameter{Kolumnentitel}\\ + \Macro{addchapmark}\Parameter{Kolumnentitel}\\ \Macro{sectionmark}\Parameter{Kolumnentitel}\\ + \Macro{addsecmark}\Parameter{Kolumnentitel}\\ \Macro{subsectionmark}\Parameter{Kolumnentitel}\\ \Macro{chaptermarkformat}\\ \Macro{sectionmarkformat}\\ \Macro{subsectionmarkformat} \end{Declaration}% +\BeginIndex{Cmd}{addchapmark}% +\BeginIndex{Cmd}{addsecmark}% \BeginIndex{Cmd}{chaptermark}\Index{Kapitel}% \BeginIndex{Cmd}{sectionmark}\Index{Abschnitt}% \BeginIndex{Cmd}{subsectionmark}% @@ -2498,13 +2368,29 @@ gibt, existieren die beiden Anweisungen auch nur bei diesen Klassen.% einer der drei Anweisungen \Macro{chaptermarkformat}, \Macro{sectionmarkformat} und \Macro{subsectionmarkformat}. - \OnlyAt{\Class{scrbook}\and \Class{scrreprt}}Während bei \Class{scrartcl} - \Macro{chaptermark} und \Macro{chaptermarkformat} nicht existieren, gibt es - die Anweisungen + Da\ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} \KOMAScript{} zusätzlich die Gliederungsanweisungen + \Macro{addchap} und \Macro{addsec} bereitstellt, die nicht nummerierte + Überschriften erzeugen, existieren für diese auch korrespondierende + Anweisungen für den Kolumnentitel. Es ist zu beachten\textnote{Achtung!}, + dass diese in der Voreinstellung ebenfalls auf \Macro{chaptermark} und + \Macro{sectionmark} zurück greifen, dabei aber lokal den Zähler + \Counter{secnumdepth} auf -1 setzen, um die Nummerierung von Kapiteln und + Abschnitten abzuschalten. Dies sollte man beispielsweise bei der + Umdefinierung von \Macro{chaptermark} und \Macro{sectionmark} + berücksichtigen (siehe \Macro{ifnumbered} auf + \autopageref{desc:maincls.cmd.ifnumbered}) oder \Macro{addchapmark} und + \Macro{addsecmark} ebenfalls dazu passend umdefinieren. + + Während\OnlyAt{\Class{scrbook}\and \Class{scrreprt}} bei \Class{scrartcl} + weder \Macro{chaptermark} noch \Macro{addchapmark} oder + \Macro{chaptermarkformat} existieren, gibt es die beiden Anweisungen \OnlyAt{\Class{scrartcl}}\Macro{subsectionmark} und - \Macro{subsectionmarkformat} nur bei \Class{scrartcl}. Dies ändert sich - allerdings bei Verwendung des \Package{scrpage2}-Pakets (siehe - \autoref{cha:scrpage}). + \Macro{subsectionmarkformat} nur bei \Class{scrartcl}. Bei Verwendung des + Pakets \Package{scrlayer-scrpage}\IndexPackage{scrlayer-scrpage}\iffree{ + oder \Package{scrpage2}\IndexPackage{scrpage2}}{} ändert sich dies jedoch + (siehe \autoref{cha:scrlayer-scrpage}\iffree{ beziehungsweise + \autoref{cha:scrpage}}). \end{Explain} So wie mit \Macro{chapterformat} und \Macro{othersectionlevelsformat} die Nummern der Gliederungsüberschriften formatiert ausgegeben werden, werden mit @@ -2516,7 +2402,8 @@ Originaldefinitionen aus den {\KOMAScript}-Klassen sind: \begin{lstcode} \newcommand*{\chaptermarkformat}{% \chapappifchapterprefix{\ }\thechapter\autodot\enskip} - \newcommand*{\sectionmarkformat}{\thesection\autodot\enskip} + \newcommand*{\sectionmarkformat}{% + \thesection\autodot\enskip} \newcommand*{\subsectionmarkformat}{% \thesubsection\autodot\enskip} \end{lstcode} @@ -2529,38 +2416,108 @@ Originaldefinitionen aus den {\KOMAScript}-Klassen sind: \chapapp~\thechapter\autodot\enskip} \end{lstcode} \end{Example} -Wie Sie sehen, finden hier bei der Umdefinierung die Anweisungen -\Macro{chapappifchapterprefix} und \Macro{chapapp} Verwendung, die weiter oben -erklärt wurden.% -% +Wie Sie sehen, finden hier die beiden Anweisungen \Macro{chapapp} und +\Macro{chapappifchapterprefix} Verwendung, die weiter oben erklärt wurden.% \EndIndex{Cmd}{chaptermark}% \EndIndex{Cmd}{sectionmark}% \EndIndex{Cmd}{subsectionmark}% \EndIndex{Cmd}{chaptermarkformat}% \EndIndex{Cmd}{sectionmarkformat}% \EndIndex{Cmd}{subsectionmarkformat}% +\EndIndex{Cmd}{addsecmark}% +\EndIndex{Cmd}{addchapmark}% \begin{Declaration} - \Counter{secnumdepth} + \Counter{secnumdepth}\\ + \Macro{partnumdepth}\\ + \Macro{chapternumdepth}\\ + \Macro{sectionnumdepth}\\ + \Macro{subsectionnumdepth}\\ + \Macro{subsubsectionnumdepth}\\ + \Macro{paragraphnumdepth}\\ + \Macro{subparagraphnumdepth} \end{Declaration}% \BeginIndex{Counter}{secnumdepth}\BeginIndex{}{Nummerierung}% +\BeginIndex{Cmd}{partnumdepth}% +\BeginIndex{Cmd}{chapternumdepth}% +\BeginIndex{Cmd}{sectionnumdepth}% +\BeginIndex{Cmd}{subsectionnumdepth}% +\BeginIndex{Cmd}{subsubsectionnumdepth}% +\BeginIndex{Cmd}{paragraphnumdepth}% +\BeginIndex{Cmd}{subparagraphnumdepth}% Normalerweise werden bei den Klassen \Class{scrbook}\IndexClass{scrbook} und \Class{scrreprt}\IndexClass{scrreprt} die Gliederungsebenen \Macro{part}\IndexCmd{part}\IndexCmd{chapter}\IndexCmd{section} bis \Macro{subsection}\IndexCmd{subsection} und bei der Klasse \Class{scrartcl}\IndexClass{scrartcl} die Ebenen \Macro{part} bis \Macro{subsubsection}\IndexCmd{subsubsection} nummeriert. Gesteuert wird dies -über den \LaTeX-Zähler \Counter{secnumdepth}. Dabei steht der Wert \(-\)1 für -\Macro{part}, 0 für \Macro{chapter} und so weiter. Durch Setzen oder Erhöhen -oder Verringern des Zählers kann bestimmt werden, bis zu welcher -Gliederungsebene eine Nummerierung erfolgen soll. Dies ist übrigens bei den -Standardklassen ganz genauso. Vergleichen Sie hierzu auch die Erklärung zum -Zähler \Counter{tocdepth} in \autoref{sec:maincls.toc}, -\autopageref{desc:maincls.counter.tocdepth}.% +über den \LaTeX-Zähler \Counter{secnumdepth}. + +Damit\ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} sich der Anwender keine abstrakten Nummern merken muss, um +einstellen zu können, bis zu welcher Gliederungsebene die Überschriften +nummeriert werden sollen, gibt es die Anweisungen \Macro{partnumdepth} bis +\Macro{subparagraphnumdepth}. Diese liefern die entsprechende Nummer zur +jeweiligen Gliederungsebene. +\begin{Example} + Sie wollen, dass in einem Buchprojekt nur die Gliederungsebenen vom Teil + (engl. \emph{part}) über das Kapitel (engl. \emph{chapter}) bis zum + Abschnitt (engl. \emph{section}) nummeriert werden. Dazu müssen Sie + in der Dokumentpräambel den Zähler \Counter{secnumdepth} auf den Wert + setzen, den die Anweisung \Macro{sectionnumdepth} liefert: +\begin{lstcode} + \setcounter{secnumdepth}{\sectionnumdepth} +\end{lstcode} +\end{Example} +Eine Umdefinierung der Anweisungen ist nicht vorgesehen und wird ausdrücklich +nicht empfohlen, da dies zu unvorhergesehenen Ergebnissen sowohl mit +\KOMAScript{} als auch bei Verwendung von Drittpaketen führen kann. + +Der Zähler \Counter{secnumdepth} ist nicht zu verwechseln mit dem Zähler +\Counter{tocdepth} (siehe \autoref{sec:maincls.toc}, +\autopageref{desc:maincls.counter.tocdepth}). Auch sind die Werte je nach +Klasse nicht eins zu eins übertragbar.% % +\EndIndex{Cmd}{subparagraphnumdepth}% +\EndIndex{Cmd}{paragraphnumdepth}% +\EndIndex{Cmd}{subsubsectionnumdepth}% +\EndIndex{Cmd}{subsectionnumdepth}% +\EndIndex{Cmd}{sectionnumdepth}% +\EndIndex{Cmd}{chapternumdepth}% +\EndIndex{Cmd}{partnumdepth}% \EndIndex{Counter}{secnumdepth}\EndIndex{}{Nummerierung} +\begin{Declaration} + \Macro{ifnumbered}\Parameter{Gliederungsebene}% + \Parameter{Dann-Teil}\Parameter{Else-Teil}\\ + \Macro{ifunnumbered}\Parameter{Gliederungsebene}% + \Parameter{Dann-Teil}\Parameter{Else-Teil} +\end{Declaration} +\BeginIndex{Cmd}{ifnumbered}% +\BeginIndex{Cmd}{ifunnumbered}% +Nachdem\ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} zuvor erklärt wurde, wie man bestimmen kann, welche +Gliederungsebenen nummeriert werden sollen, kann mit diesen Anweisungen nun +Code abhängig davon, ob eine \PName{Gliederungsebene} nummeriert wird oder +nicht, ausgeführt werden. Wird mit den aktuellen Einstellungen eine +\PName{Gliederungsebene} nummeriert, so führt \Macro{ifnumbered} den +\PName{Dann-Teil} aus, während \Macro{ifunnumbered} den \PName{Else-Teil} +ausführt. Wird mit den aktuellen Einstellungen eine \PName{Gliederungsebene} +nicht nummeriert, dann führt \Macro{ifnumbered} den \PName{Else-Teil} aus, +wohingegen \Macro{ifunnumbered} den \PName{Dann-Teil} ausführt. Als +\PName{Gliederungsebene} wird der englische Name der Ebene angegeben, also +\PValue{part}, \PValue{chapter}, \PValue{section}, \PValue{subsection}, +\PValue{subsubsection}, \PValue{paragraph} oder \PValue{subparagraph}. + +\KOMAScript{} selbst verwendet diesen Test beispielsweise in der Definition +von \Macro{chaptermark}\IndexCmd{chaptermark} beim Seitenstil +\Pagestyle{headings}\IndexPagestyle{headings}. Dadurch wird indirekt auch +sichergestellt, dass Überschriften mit \Macro{addchap} den Kolumnentitel nicht +mit einer Nummer versehen (siehe auch \Macro{addchapmark}, +\autopageref{desc:maincls.cmd.addchapmark}).% +\EndIndex{Cmd}{ifnumbered}% +\EndIndex{Cmd}{ifunnumbered}% \begin{Declaration} \Macro{setpartpreamble}% @@ -2590,8 +2547,7 @@ Anweisung zum Setzen der \PName{Präambel} muss vor der jeweiligen \setpartpreamble{% \begin{abstract} Dies ist ein Blindtext zur Demonstration. - \end{abstract} - } + \end{abstract}} \part{Abteilung Grünschnitt} \end{lstcode} Je nach Einstellung der Optionen für die @@ -2624,16 +2580,13 @@ optionale Argument \PName{Position} bestimmt über ein bis zwei Buchstaben die Position, an der die Präambel ausgegeben wird. Für die vertikale Position existieren derzeit zwei Möglichkeiten: %\iffree{}{\pagebreak}% Umbruchoptimierung -\begin{labeling}[~--]{\quad\PValue{o}}\itemsep=0pt +\begin{labeling}[~--]{\quad\PValue{o}}\itemsep=-\parsep \item [\quad\PValue{o}] über der Überschrift \item [\quad\PValue{u}] unter der Überschrift -\end{labeling} -\iffree{Es kann jeweils eine Präambel unter und eine Präambel über der - Überschrift gesetzt werden.}{Beide Möglichkeiten können nacheinander genutzt - werden.} - -Für die horizontale Position existieren derzeit drei Möglichkeiten: -\begin{labeling}[~--]{\quad\PValue{o}}\itemsep=0pt +\end{labeling}\pagebreak[3]% Umbruchkorrektur +Es kann so jeweils eine Präambel unter und über der Überschrift gesetzt werden, +mit drei Möglichkeiten für die horizontale Position: +\begin{labeling}[~--]{\quad\PValue{o}}\itemsep=-\parsep \item [\quad\PValue{l}] linksbündig \item [\quad\PValue{r}] rechtsbündig \item [\quad\PValue{c}] zentriert @@ -2781,8 +2734,8 @@ Unterschrift formatiert. Darüber hinaus wird zwischen ein"~ und mehrzeiligen Unterschriften unterschieden, wobei einzeilige Unterschriften horizontal zentriert werden. -\leavevmode\phantomsection\nobreak -\label{desc:maincls.option.captions.tableheading}\nobreak +\leavevmode\phantomsection\nobreak% +\label{desc:maincls.option.captions.tableheading}\nobreak% Tabellen werden jedoch häufig mit Überschriften statt mit Unterschriften versehen. Das liegt daran, dass es auch Tabellen geben kann, die sich über mehrere Seiten erstrecken. Bei solchen Tabellen möchte man natürlich bereits @@ -2790,9 +2743,9 @@ auf der ersten Seite wissen, worum es sich handelt. Darüber hinaus werden Tabellen zeilenweise von oben nach unten gelesen. Damit gibt es mindestens zwei gute Gründe, in der Regel alle Tabellen mit Überschriften zu versehen. \KOMAScript{}\important{\OptionValue{captions}{tableheading}} bietet -daher mit der Einstellung -\OptionValue{captions}{tableheading}\IndexOption{captions~=\PValue{tableheading}} die -Möglichkeit, bei Tabellen die Formatierung auf Überschriften zu ändern. +daher mit der Einstellung \OptionValue{captions}{tableheading}% +\IndexOption{captions~=\PValue{tableheading}} die Möglichkeit, bei Tabellen +die Formatierung auf Überschriften zu ändern. Es\textnote{Achtung!} sei an dieser Stelle darauf hingewiesen, dass mehrseitige Tabellen nicht als Gleitumgebungen gesetzt werden können. Für den @@ -2804,7 +2757,8 @@ Mit\important[i]{\begin{tabular}[t]{@{}l@{}} \Option{captions=}\\ \quad\PValue{tablesignature} \end{tabular}} der Einstellung -\OptionValue{captions}{tablesignature}\IndexOption{captions~=\PValue{tablesignature}} +\OptionValue{captions}{tablesignature}% +\IndexOption{captions~=\PValue{tablesignature}} wird wieder die Voreinstellung der Formatierung als Tabellenunterschrift gewählt. Es\textnote{Achtung!} sei an dieser Stelle darauf hingewiesen, dass die beiden Werte lediglich die Formatierung ändern. Der Ort, an dem die Über"~ @@ -2816,8 +2770,10 @@ verwendet wird. Dies ändert sich jedoch bei Verwendung des Pakets Natürlich existiert\ChangedAt{v3.09}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}} mit den Optionen -\OptionValue{captions}{figureheading}\IndexOption{captions~=\PValue{figureheading}} und -\OptionValue{captions}{figuresignature}\IndexOption{captions~=\PValue{figuresignature}} +\OptionValue{captions}{figureheading}% +\IndexOption{captions~=\PValue{figureheading}} und +\OptionValue{captions}{figuresignature}% +\IndexOption{captions~=\PValue{figuresignature}} auch die entsprechende Funktion für Abbildungen. Allerdings werden Abbildungen in der Regel wie im Falle von Fotos eher als Ganzes und im Falle von Diagrammen oder Graphen eher von unten links her betrachtet. In den wenigsten @@ -2828,12 +2784,13 @@ Manchmal wird jedoch gewünscht, alle Gleitumgebungen mit Überschriften zu versehen. Daher gibt es bei \KOMAScript{} die Einstellung \important[i]{\OptionValue{captions}{heading}\\ \OptionValue{captions}{signature}} Optionen -\OptionValue{captions}{heading}\IndexOption{captions~=\PValue{heading}} und die +\OptionValue{captions}{heading}% +\IndexOption{captions~=\PValue{heading}} und die umgekehrte Einstellung -\OptionValue{captions}{signature}\IndexOption{captions~=\PValue{signature}}, mit der -man die Formatierungen aller Gleitumgebungen entsprechend ändern kann. Diese -entfalten ihre Wirkung auch noch, wenn sie innerhalb einer Gleitumgebung -verwendet werden. +\OptionValue{captions}{signature}\IndexOption{captions~=\PValue{signature}}, +mit der man die Formatierungen aller Gleitumgebungen entsprechend ändern +kann. Diese entfalten ihre Wirkung auch noch, wenn sie innerhalb einer +Gleitumgebung verwendet werden. Bitte\textnote{Achtung!}\OnlyAt{\Package{float}}\IndexPackage{float} beachten Sie, dass bei Verwendung des \Package{float}-Pakets die Einstellungen von @@ -3117,7 +3074,7 @@ entnehmen. \begin{lstcode} \setkomafont{captionlabel}{\sffamily\bfseries} \end{lstcode} - Das Ergebnis wäre bei Verwendung von \Macro{addkomafont} in diesem Fall + Das Ergebnis wäre bei Verwendung von \Macro{addtokomafont} in diesem Fall übrigens gleich. \end{Example}% \EndIndex[indexother]{}{Schrift>Art}% @@ -3174,7 +3131,7 @@ Paket zu beachten!% \captionaboveof{table} [Maße des Rechtecks aus Abbildung~\ref{fig:rechteck}]% - {Maße des Rechtecks} + {Rechtecksmaße} \label{tab:rechteck} \begin{tabular}{ll} Breite: & 4\,cm\\ @@ -3285,7 +3242,8 @@ der Gleitumgebungen verwendet werden. Der erste optionale Parameter Ob der \PName{Titel} rechts oder links daneben gesetzt wird, kann mit dem optionalen Parameter \PName{Anordnung} bestimmt werden. Es darf genau einer der folgenden Buchstaben angegeben werden: -\begin{labeling}[~--]{\quad\PValue{o}}\setlength{\itemsep}{0pt}% +\iffree{}{\enlargethispage*{\dp\strutbox}}% Umbruchkorrektur +\begin{labeling}[~--]{\quad\PValue{o}}\setlength{\itemsep}{-\parsep}% \item[\quad\PValue{l}] links \item[\quad\PValue{r}] rechts \item[\quad\PValue{i}] innen: auf rechten Seiten links, auf @@ -3300,10 +3258,11 @@ Voreinstellung\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and \autopageref{desc:maincls.option.captions}) und deren Werte \PValue{innerbeside}\IndexOption[indexmain]{captions~=\PValue{innerbeside}}, \PValue{leftbeside}\IndexOption[indexmain]{captions~=\PValue{leftbeside}}, -\PValue{outerbeside}\IndexOption[indexmain]{captions~=\PValue{outerbeside}} und -\PValue{rightbeside}\IndexOption[indexmain]{captions~=\PValue{rightbeside}} verändert -werden. Bei Verwendung der Anordnung außen oder innen werden unter Umständen -zwei \LaTeX-Läufe benötigt, um die korrekte Anordnung zu erreichen. +\PValue{outerbeside}\IndexOption[indexmain]{captions~=\PValue{outerbeside}} +und +\PValue{rightbeside}\IndexOption[indexmain]{captions~=\PValue{rightbeside}} +verändert werden. Bei Verwendung der Anordnung außen oder innen werden unter +Umständen zwei \LaTeX-Läufe benötigt, um die korrekte Anordnung zu erreichen. Normalerweise nehmen der Inhalt der Umgebung und der \PName{Titel} die gesamte verfügbare Breite ein. Es besteht jedoch die Möglichkeit, mit @@ -3336,14 +3295,15 @@ Einstellung\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and \Option{captions}\IndexOption{captions} (siehe \autopageref{desc:maincls.option.captions}) und deren Werte \PValue{topbeside}\IndexOption[indexmain]{captions~=\PValue{topbeside}}, -\PValue{centeredbeside}\IndexOption[indexmain]{captions~=\PValue{centeredbeside}} und -\PValue{bottombeside}\IndexOption[indexmain]{captions~=\PValue{bottombeside}} verändert -werden. Bei der Einstellung \PValue{topbeside} werden die oberen Grundlinien -von Gleitobjektinhalt und \PName{Titel} auf einer Höhe ausgerichtet, während -bei \PValue{centeredbeside} eine Zentrierung stattfindet. In diesem -Zusammenhang sei erwähnt, dass Abbildungen normalerweise die Grundlinie unten -haben. Dies kann beispielsweise mit der Anweisung -\Macro{raisebox}\IndexCmd{raisebox} verändert werden. +\PValue{centeredbeside}\IndexOption[indexmain]{captions~=\PValue{centeredbeside}} +und +\PValue{bottombeside}\IndexOption[indexmain]{captions~=\PValue{bottombeside}} +verändert werden. Bei der Einstellung \PValue{topbeside} werden die oberen +Grundlinien von Gleitobjektinhalt und \PName{Titel} auf einer Höhe +ausgerichtet, während bei \PValue{centeredbeside} eine Zentrierung +stattfindet. In diesem Zusammenhang sei erwähnt, dass Abbildungen +normalerweise die Grundlinie unten haben. Dies kann beispielsweise mit der +Anweisung \Macro{raisebox}\IndexCmd{raisebox} verändert werden. \begin{Example} Ein Beispiel für die Verwendung der @@ -3379,22 +3339,29 @@ haben. Dies kann beispielsweise mit der Anweisung \label{fig:maincls.captionbeside} \end{figure} Die Gesamtbreite ist also die aktuell verfügbare Breite - \PValue{\Macro{linewidth}}. Diese wird jedoch mit \PValue{2em} nach + \PValue{\Macro{linewidth}}. Diese wird jedoch mit um $\Length{marginparwidth} + + \Length{marginparsep}$ nach außen verschoben. Der Titel oder die Beschreibung steht innen neben - der Abbildung. Damit erscheint die Abbildung selbst um 2\Unit{em} in - den Rand gerückt. + der Abbildung. Damit erscheint die Abbildung selbst bis in die + Marginalienspalte in den Rand gerückt. +\iffalse% Umbruchkorrekturtext Mit \Macro{dimexpr} wird hier eine \eTeX-Anweisung verwendet, da \KOMAScript{} dessen Verwendung voraussetzt und bei jeder halbwegs aktuellen - \LaTeX-Distribution ohnehin \eTeX{} verwendet wird. + \LaTeX-Distribution ohnehin \eTeX{} verwendet wird.% +\fi Die Zentrierung der Bildbeschreibung mit \begin{lstcode} \KOMAoption{captions}{centeredbeside} \end{lstcode} - zeigt \autoref{fig:maincls.captionbesidecentered}. Auch der typografisch - weniger bewanderte Anfänger wird sofort - erkennen, dass von dieser Ausrichtung normalerweise abzusehen ist. + zeigt \autoref{fig:maincls.captionbesidecentered}. % +\iffalse % Umbruchalternativen + Auch der typografisch weniger bewanderte Anfänger wird sofort + erkennen, dass von dieser Ausrichtung normalerweise abzusehen ist.% +\else + Das ist jedoch sicher keine empfehlswerte Lösung.% +\fi \begin{figure} \KOMAoption{captions}{centeredbeside} @@ -3877,14 +3844,16 @@ auch bei den Standardklassen gibt, dient dazu, diese Verzeichnisse nach Kapiteln zu gruppieren. Es entspricht bei \KOMAScript{} der Einstellung\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}} -\OptionValue{listof}{chaptergapsmall}\IndexOption{listof~=\PValue{chaptergapsmall}}. +\OptionValue{listof}{chaptergapsmall}% +\IndexOption{listof~=\PValue{chaptergapsmall}}. Dabei wird ein fester vertikaler Abstand von 10\Unit{pt} verwendet. Mit\important{\OptionValue{listof}{chaptergapline}} der Einstellung -\OptionValue{listof}{chaptergapline}\IndexOption{listof~=\PValue{chaptergapline}} kann +\OptionValue{listof}{chaptergapline}% +\IndexOption{listof~=\PValue{chaptergapline}} kann man stattdessen einen vertikalen Abstand von einer Zeile erreichen. Mit\important{\OptionValue{listof}{nochaptergap}} -\OptionValue{listof}{nochaptergap}\IndexOption{listof~=\PValue{nochaptergap}} kann man -den vertikalen Abstand komplett +\OptionValue{listof}{nochaptergap}\IndexOption{listof~=\PValue{nochaptergap}} +kann man den vertikalen Abstand komplett abschalten. Eine\important{\OptionValue{listof}{chapterentry}} Besonderheit stellt die Einstellung \OptionValue{listof}{chapterentry}\IndexOption{listof~=\PValue{chapterentry}} @@ -3902,9 +3871,8 @@ Einen Überblick über alle möglichen Werte für die \PName{Einstellung} von \begin{desclist} \desccaption[{Mögliche Werte für Option \Option{listof}}]{% - Mögliche Werte für - Option \Option{listof} zur Einstellung von Form und Inhalt der - Verzeichnisse der Gleitumgebungen\label{tab:maincls.listof}% + Mögliche Werte für Option \Option{listof} zur Einstellung von Form und + Inhalt der Verzeichnisse der Gleitumgebungen\label{tab:maincls.listof}% }{% Mögliche Werte für Option \Option{listof} (\emph{Fortsetzung})% }% @@ -3941,6 +3909,38 @@ Einen Überblick über alle möglichen Werte für die \PName{Einstellung} von steht nur ein begrenzter Platz für die Gleitumgebungsnummern zur Verfügung.% \IndexOption{listof~=\PValue{graduated}}}% + \entry{\PValue{indenttextentries}, \PValue{indentunnumbered}, + \PValue{numberline}}{% + \ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}}% + Die Eigenschaft \PValue{numberline} (siehe \autoref{sec:tocbasic.toc}, + \autopageref{desc:tocbasic.cmd.setuptoc}) wird für die Verzeichnisse der + Gleitumgebungen, beispielsweise das Abbildungs"~ und das + Tabellenverzeichnis, gesetzt. Dadurch werden nicht nummerierte Einträge + linksbündig mit dem Text von nummerierten Einträgen gleicher Ebene + gesetzt. Allerdings bieten die \KOMAScript-Klassen selbst keine nicht + nummerierten Einträge in diese Verzeichnisse. Dies hat daher nur + Auswirkungen auf entsprechende Einträge, die nicht von den Klassen selbst, + aber dennoch mit Hilfe von \Macro{addxcontentsline} (siehe + \autoref{sec:tocbasic.toc}, + \autopageref{desc:tocbasic.cmd.addxcontentsline}) erzeugt werden.% + \IndexOption{toc~=\PValue{numberline}}}% + \entry{\PValue{leftaligntextentries}, \PValue{leftalignunnumbered}, + \PValue{nonumberline}}{% + \ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}}% + Die Eigenschaft \PValue{numberline} (siehe \autoref{sec:tocbasic.toc}, + \autopageref{desc:tocbasic.cmd.setuptoc}) wird für die Verzeichnisse der + Gleitumgebungen, beispielsweise das Abbildungs"~ und das + Tabellenverzeichnis, gesetzt. Dadurch werden nicht nummerierte Einträge + linksbündig mit der Nummer von nummerierten Einträgen gleicher Ebene + gesetzt. Allerdings bieten die \KOMAScript-Klassen selbst keine nicht + nummerierten Einträge in diese Verzeichnisse. Dies hat daher nur + Auswirkungen auf entsprechende Einträge, die nicht von den Klassen selbst, + aber dennoch mit Hilfe von \Macro{addxcontentsline} (siehe + \autoref{sec:tocbasic.toc}, + \autopageref{desc:tocbasic.cmd.addxcontentsline}) erzeugt werden.% + \IndexOption{toc~=\PValue{numberline}}}% \entry{\PValue{leveldown}}{% Die Verzeichnisse werden um eine Gliederungsebene nach unten verschoben.% \IndexOption{listof~=\PValue{leveldown}}}% @@ -4078,7 +4078,8 @@ Literaturverzeichnisses bestimmt, können über die Einstellungen von einige wenige Eigenschaften der Formatierung der Einträge beeinflusst werden. Mit\important{\OptionValue{bibliography}{oldstyle}} -\OptionValue{bibliography}{oldstyle}\IndexOption{bibliography~=\PValue{oldstyle}} wird +\OptionValue{bibliography}{oldstyle}% +\IndexOption{bibliography~=\PValue{oldstyle}} wird die kompakte Formatierung gewählt. Dabei führt die Anweisung \Macro{newblock}\IndexCmd{newblock} in den einzelnen Einträgen lediglich zu einem dehnbaren horizontalen Abstand. Der Name kommt daher, dass dies die @@ -4087,7 +4088,8 @@ ist. Demgegenüber\important[i]{\begin{tabular}[t]{@{}l@{}} \Option{bibliography=}\\ \quad\PValue{openstyle}\end{tabular}} erreicht man die etwas modernere, offene Form mit der Einstellung -\OptionValue{bibliography}{openstyle}\IndexOption{bibliography~=\PValue{openstyle}}. Der +\OptionValue{bibliography}{openstyle}% +\IndexOption{bibliography~=\PValue{openstyle}}. Der Name kommt daher, dass hier die Anweisung \Macro{newblock} einen Absatz einfügt. Die Einträge im Literaturverzeichnis werden so stärker gegliedert. Sie sind weniger kompakt und deutlich aufgelockerter oder @@ -4102,33 +4104,46 @@ aufgelistet, sondern auf externe Inhalte verwiesen wird. Mit dieser Begründung könnte man argumentieren, dass das Literaturverzeichnis ein eigenes Kapitel bzw. einen eigenen Abschnitt darstellt und somit eine -Nummer\important[i]{\begin{tabular}[t]{@{}l@{}} +Nummer verdiene. Die +Einstellung \OptionValue{bibliography}{totocnumbered}% +\important[i]{\begin{tabular}[t]{@{}l@{}} \Option{bibliography=}\\ \quad\PValue{totocnumbered} - \end{tabular}} verdiene. Die -Einstellung \OptionValue{bibliography}{totocnumbered}% -\IndexOption{bibliography~=\PValue{totocnumbered}} führt genau dazu, einschließlich des -dann fälligen Eintrags im Inhaltsverzeichnis. Ich selbst bin der Meinung, -dass bei dieser Argumentation auch ein klassisches, kommentiertes -Quellenverzeichnis ein eigenes Kapitel wäre. Außerdem ist das + \end{tabular}}\IndexOption{bibliography~=\PValue{totocnumbered}} führt genau +dazu, einschließlich des dann fälligen Eintrags im Inhaltsverzeichnis. Ich +selbst bin der Meinung, dass bei dieser Argumentation auch ein klassisches, +kommentiertes Quellenverzeichnis ein eigenes Kapitel wäre. Außerdem ist das Literaturverzeichnis letztlich nichts, was man selbst geschrieben hat. Deshalb\important{\OptionValue{bibliography}{totoc}} verdient es allenfalls einen nicht nummerierten Eintrag im Inhaltsverzeichnis, was mit der Einstellung -\OptionValue{bibliography}{totoc}\IndexOption{bibliography~=\PValue{totoc}} erreicht -wird. Die Voreinstellung, bei der das Literaturverzeichnis als nicht +\OptionValue{bibliography}{totoc}\IndexOption{bibliography~=\PValue{totoc}} +erreicht wird. Die Voreinstellung, bei der das Literaturverzeichnis als nicht nummeriertes Kapitel ohne eigenen Inhaltsverzeichniseintrag gesetzt wird, -entspricht -\OptionValue{bibliography}{nottotoc}\IndexOption{bibliography~=\PValue{nottotoc}}. Siehe +entspricht \OptionValue{bibliography}{nottotoc}% +\IndexOption{bibliography~=\PValue{nottotoc}}. Siehe hierzu auch Option \Option{toc} in \autoref{sec:maincls.toc}, insbesondere die Werte \PValue{bibliographynumbered}, \PValue{bibliography} und \PValue{nobibliography} ab \autopageref{desc:maincls.option.toc.bibliography}. -Eine Zusammenfassung der möglichen Werte für die \PName{Einstellung} von -\Option{bibliography} ist in \autoref{tab:maincls.bibliography} zu finden. Es -ist jedoch zu beachten, dass mit \Macro{newbibstyle}\IndexCmd{newbibstyle} -weitere Werte definiert werden können. +In\ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}} +einigen Fällen wird nicht das gesamte Dokumente mit einem einzigen +Literaturverzeichnis versehen, sondern jedes Kapitel eines mit \Class{scrbook} +oder \Class{scrreprt} gesetzten Dokuments erhält sein eigenes +Literaturverzeichnis. In diesem Fall ist es sinnvoll, +wenn\important{\OptionValue{bibliography}{leveldown}} das Literaturverzeichnis +selbst nicht auf Kapitel, sondern etwas tiefer auf Abschnittsebene angesiedelt +wird. Dies ist mit Option \OptionValue{bibliography}{leveldown}% +\IndexOption{bibliography~=\PValue{leveldown}} zu erreichen. Diese kann +beispielsweise auch verwendet werden, wenn das Literaturverzeichnis zusammen +mit anderen Verzeichnissen unter einer gemeinsamen Überschrift erscheinen +soll. Daher ist diese Option auch in \Class{scrartcl} verfügbar. + +Eine Zusammenfassung möglicher Werte für \PName{Einstellung} ist +\autoref{tab:maincls.bibliography} zu entnehmen. Es ist jedoch zu beachten, +dass mit \Macro{newbibstyle}\IndexCmd{newbibstyle} weitere Werte definiert +werden können. \begin{table} \caption[{Mögliche Werte für Option \Option{bibliography}}]{Vordefinierte @@ -4136,6 +4151,12 @@ weitere Werte definiert werden können. Literatur\-verzeichnisses} \label{tab:maincls.bibliography} \begin{desctabular} + \pventry{leveldown}{% + \ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}}% + Das Literaturverzeichnis wird um eine Gliederungsebene nach unten + verschoben.% + \IndexOption{bibliography~=\PValue{leveldown}}}% \pventry{nottotoc}{% Das Literaturverzeichnis erhält keinen Eintrag im Inhaltsverzeichnis und wird auch nicht nummeriert.% @@ -4171,8 +4192,8 @@ Mit der Anweisung \Macro{setbibpreamble} kann eine Präambel für das Literaturverzeichnis gesetzt werden. Bedingung dafür ist, dass die Präambel vor der Anweisung zum Setzen des Literaturverzeichnisses gesetzt wird. Dies muss nicht unmittelbar davor sein. Es kann also beispielsweise am Anfang des -Dokuments erfolgen. Ebenso\textnote{Achtung!} wie die Optionen -\OptionValue{bibliography}{totoc} und +Dokuments erfolgen. Ebenso\textnote{Achtung!} wie Option +\OptionValue{bibliography}{totoc} oder \OptionValue{bibliography}{totocnumbered} kann die Anweisung aber nur erfolgreich sein, wenn nicht ein Paket geladen wird, das dies durch Umdefinierung der \Environment{thebibliography}-Umgebung verhindert. Obwohl @@ -4272,7 +4293,8 @@ nicht jedoch bei Verwendung von \end{Declaration} \BeginIndex{Option}{index~=\PName{Einstellung}}% \ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}}% -In der Voreinstellung \OptionValue{index}{default}\IndexOption{index~=\PValue{default}} +In der Voreinstellung +\OptionValue{index}{default}\IndexOption{index~=\PValue{default}} ist das Stichwortverzeichnis ein nicht nummeriertes Kapitel ohne Eintrag im Inhaltsverzeichnis. Da\important{\OptionValue{index}{totoc}} das Stichwortverzeichnis normalerweise in einem Buch oder ähnlichen Dokument @@ -4280,8 +4302,8 @@ zuletzt steht, benötigt es eigentlich auch keinen Inhaltsverzeichniseintrag. Wird dieser dennoch gewünscht, beispielsweise weil wie in \iffree{dieser Anleitung}{diesem Buch} mit einem mehrgliedrigen Stichwortverzeichnis gearbeitet wird, so kann dies mit der Einstellung -\OptionValue{index}{totoc}\IndexOption{index~=\PValue{totoc}} erreicht werden. Siehe -hierzu auch Option \Option{toc} mit dem Wert \PValue{index} in +\OptionValue{index}{totoc}\IndexOption{index~=\PValue{totoc}} erreicht +werden. Siehe hierzu auch Option \Option{toc} mit dem Wert \PValue{index} in \autoref{sec:maincls.toc} ab \autopageref{desc:maincls.option.toc.index}. Eine Zusammenfassung der möglichen Werte für die \PName{Einstellung} von @@ -4338,9 +4360,12 @@ ist im Makro \Macro{indexpagestyle} abgelegt (siehe Für die Erstellung, Sortierung und Ausgabe des Stichwortverzeichnisses sind die üblichen Standard-\LaTeX-Pakete und Zusatzprogramme -zuständig. Von {\KOMAScript} werden genau wie von den Standardklassen -lediglich die grundlegenden Makros und Umgebungen dafür zur Verfügung -gestellt.% +zuständig.% +\iffalse % Umbruchoptimierung + \ Von {\KOMAScript} werden genau wie von den Standardklassen + lediglich die grundlegenden Makros und Umgebungen dafür zur Verfügung + gestellt.% +\fi % \EndIndex{Cmd}{setindexpreamble}% % @@ -4354,6 +4379,8 @@ gestellt.% %%% Local Variables: %%% mode: latex +%%% mode: flyspell %%% coding: iso-latin-1 -%%% TeX-master: "guide.tex" +%%% ispell-local-dictionary: "de_DE" +%%% TeX-master: "../guide.tex" %%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrextend.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrextend.tex index 361d712f99e..c68e770ce5d 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrextend.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrextend.tex @@ -1,6 +1,6 @@ % ====================================================================== % scrextend.tex -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrextend.tex -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,7 @@ % % ====================================================================== -\ProvidesFile{scrextend.tex}[2008/09/12 KOMA-Script package scrextend] +\ProvidesFile{scrextend.tex}[2013/05/31 KOMA-Script package scrextend] \chapter[tocentry={Grundlegende Fähigkeiten der \KOMAScript-Klassen\protect\linebreak @@ -162,35 +162,6 @@ optionales Argument von \Macro{usepackage}\PParameter{scrextend} an. \LoadCommon{5}% \section{Textauszeichnungen} -Mit der Anweisung \Macro{usekomafont} kann die aktuelle Schriftart auf -diejenige umgeschaltet werden, die für das angegebene \PName{Element} -definiert ist. - -\begin{Example} - Angenommen, Sie wollen, dass der Titel in Serifenschrift und rot gesetzt - wird. Das erreichen Sie einfach mit: -\begin{lstcode} - \setkomafont{title}{\color{red}} -\end{lstcode} - Für die Anweisung \lstinline|\color{red}| wird das Paket \Package{color} - oder \Package{xcolor} benötigt. Die zusätzliche Angabe von - \Macro{normalfont} ist in diesem Beispiel deshalb nicht notwendig, weil - diese Anweisung bereits in der Definition des Titels enthalten - ist. Das\textnote{Achtung!} Beispiel setzt voraus, dass - \OptionValue{extendedfeature}{title} gesetzt ist (siehe - \autoref{sec:scrextend.optionalFeatures}, - \autopageref{desc:scrextend.option.extendedfeature}). -\end{Example} -% -\EndIndex{Cmd}{setkomafont}% -\EndIndex{Cmd}{addtokomafont}% -\EndIndex{Cmd}{usekomafont}% -% -\EndIndex{}{Schrift>Art}% -\EndIndex{}{Text>Auszeichnung} - -\newpage% Umbruchoptimierung! - \LoadCommon{14}% \section{Dokumenttitel} \LoadCommon{7}% \section{Erkennung von rechten und linken Seiten} diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlayer-notecolumn-example.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlayer-notecolumn-example.tex new file mode 100644 index 00000000000..92d2ca4fd28 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlayer-notecolumn-example.tex @@ -0,0 +1,131 @@ +% ====================================================================== +% scrlayer-notecolumn-example.tex +% Copyright (c) Markus Kohm, 2013 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ---------------------------------------------------------------------- +% scrlayer-notecolumn-example.tex +% Copyright (c) Markus Kohm, 2013 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% +% Example file for the chapter about scrlayer-notecolumn +% of the KOMA-Script guide +% Maintained by Markus Kohm +% +% ---------------------------------------------------------------------- +% +% Beispieldatei für das Kapitel über scrlayer-notecolumn +% in der KOMA-Script-Anleitung +% Verwaltet von Markus Kohm +% +% ============================================================================ +\documentclass{scrartcl} +\usepackage[ngerman]{babel} +\usepackage{selinput} +\SelectInputMappings{ + adieresis={ä}, + germandbls={ß}, +} +\usepackage[T1]{fontenc} +\usepackage{lmodern} +\usepackage{xcolor} + +\usepackage{scrjura} +\setkomafont{contract.Paragraph}{\bfseries} +\setkeys{contract}{preskip=-\dp\strutbox} + +\usepackage{scrlayer-scrpage} +\usepackage{scrlayer-notecolumn} + +\newlength{\paragraphscolwidth} +\AfterCalculatingTypearea{% + \setlength{\paragraphscolwidth}{.333\textwidth}% + \addtolength{\paragraphscolwidth}{-\marginparsep}% +} +\recalctypearea +\DeclareNewNoteColumn[% + position=\oddsidemargin+1in + +.667\textwidth + +\marginparsep, + width=\paragraphscolwidth, + font=\raggedright\footnotesize + \color{blue} +]{paragraphs} + +\begin{document} + +\title{Kommentar zum GüdaVaS} +\author{Professor R. O. Tenase} +\date{11.\,11.\,2011} +\maketitle +\tableofcontents + +\section{Vormerkung} +Das GüdaVaS ist ohne jeden Zweifel das wichtigste Gesetz, das in +Spaßmaniern in den letzten eintausend Jahren verabschiedet wurde. +Die erste Lesung fand bereits am 11.\,11\,1111 im obersten +spaßmanischen Kongress statt, wurde aber vom damalige Spaßvesier +abgelehnt. Erst nach Umwandlung der spaßmanischen, aberwitzigen Monarchie +in eine repräsentative, witzige Monarchie durch W. Itzbold, den +urkomischen, am 9.\,9.\,1999 war der Weg für dieses Gesetz endlich frei. + +\section{Analyse} + +\begin{addmargin}[0pt]{.333\textwidth} + \makenote[paragraphs]{% + \protect\begin{contract} + \protect\Paragraph{title={Kein Witz ohne Publikum}} + Ein Witz kann nur dort witzig sein, wo er auf ein Publikum trifft. + \protect\end{contract} + } + Dies ist eine der zentralsten Aussagen des Gesetzes. Sie ist derart + elementar, dass es durchaus angebracht ist, sich vor der Weisheit der + Verfasser zu verbeugen. + + \syncwithnotecolumn[paragraphs]\bigskip + \makenote[paragraphs]{% + \protect\begin{contract} + \protect\Paragraph{title={Komik der Kultur}} + \setcounter{par}{0}Die Komik eines Witzes kann durch das kulturelle + Umfeld, in dem er erzählt wird, bestimmt sein. + + Die Komik eines Witzes kann durch das kulturelle Umfeld, in dem er + spielt, bestimmt sein. + \protect\end{contract} + } + Die kulturelle Komponente eines Witzes ist tatsächlich nicht zu + vernachlässigen. Ãœber die politische Korrektheit der Nutzung des kulturellen + Umfeldes kann zwar trefflich gestritten werden, nichtsdestotrotz ist die + Treffsicherheit einer solchen Komik in entsprechendem Umfeld frapierend. Auf + der anderen Seite kann ein vermeintlicher Witz im falschen kulturellen + Umfeld auch zu einer echten Gefahr für den Witzeerzähler werden. +\end{addmargin} + +\end{document} diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlayer-notecolumn.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlayer-notecolumn.tex new file mode 100644 index 00000000000..53918019fc7 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlayer-notecolumn.tex @@ -0,0 +1,679 @@ +% ====================================================================== +% scrlayer-notecolumn.tex +% Copyright (c) Markus Kohm, 2013 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ---------------------------------------------------------------------- +% scrlayer-notecolumn.tex +% Copyright (c) Markus Kohm, 2013 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% +% Chapter about scrlayer-notecolumn of the KOMA-Script guide +% Maintained by Markus Kohm +% +% ---------------------------------------------------------------------- +% +% Kapitel über scrlayer-notecolumn in der KOMA-Script-Anleitung +% Verwaltet von Markus Kohm +% +% ============================================================================ + +\KOMAProvidesFile{scrlayer-notecolumn.tex}% + [$Date: 2013-10-16 16:24:20 +0200 (Mi, 16. Okt 2013) $ + KOMA-Script guide (chapter:scrlayer-notecolumn)] + +\chapter{Notizspalten mit \Package{scrlayer-notecolumn}} +\labelbase{scrlayer-notecolumn} + +\BeginIndex{Package}{scrlayer-notecolumn}% +Bis einschließlich Version~3.11b unterstützte \KOMAScript{} Notizspalten nur +in Form der Marginalienspalte, die mit \Macro{marginpar} und +\Macro{marginline} (siehe \autoref{sec:maincls.marginNotes}, +\autopageref{desc:maincls.cmd.marginline}) mit Inhalt versehen werden +können. Jene Art der Randnotizen hat allerdings einige Nachteile: +\begin{itemize} +\item Randnotizen können nur vollständig auf einer einzelnen Seite gesetzt + werden. Seitenumbrüche innerhalb von Randnotizen sind nicht möglich. Dies + führt teilweise dazu, dass die Randnotizen bis in den unteren Rand hinein + ragen. +\item Randnotizen in der Nähe des Seitenumbruchs können auf die nächste Seiten + rutschen und dort im Falle des doppelseitigen Layouts mit alternierenden + Marginalienspalten im falschen Rand ausgegeben werden. Dieses Problem ist + mit dem Zusatzpaket \Package{mparhack}\IndexPackage{mparhack} oder durch + Verwendung von \Macro{marginnote} aus dem Paket + \Package{marginnote}\IndexPackage{marginnote} lösbar. +\item Randnotizen innerhalb von Gleitumgebungen oder Fußnoten sind nicht + möglich. Auch dieses Problem ist mit \Package{marginnote} lösbar. +\item Es gibt nur eine Marginalienspalte oder, wenn mit + \Macro{reversemarginpar} und \Macro{normalmarginpar} gearbeitet wird, auch + zwei. +\end{itemize} +Die Verwendung von \Package{marginnote}\IndexPackage{marginnote} führt zu +einem weiteren Problem. Da das Paket keine Kollisionserkennung besitzt, können +sich Randnotizen, die in unmittelbarer Nähe veranlasst wurden, gegenseitig +ganz oder teilweise überdecken. Darüber hinaus führt \Macro{marginnote} je +nach den gewählten Einstellungen von \Package{marginnote} manchmal zu +Veränderungen beim Zeilenabstand des normalen Textes. + +Das Paket \Package{scrlayer-notecolumn} tritt an, all diese Probleme zu +lösen. Dazu stützt es sich auf die Grundfunktionalität von +\Package{scrlayer}\IndexPackage{scrlayer}. Damit einher geht jedoch auch ein +Nachteil:\textnote{Achtung!} Notizen können nur auf den Seiten ausgegeben +werden, die einen auf \Package{scrlayer} basierenden Seitenstil +besitzen. Dieser Nachteil lässt sich mit Hilfe von +\Package{scrlayer-scrpage}\IndexPackage{scrlayer-scrpage} jedoch leicht +auflösen oder sogar in einen Vorteil verwandeln. + + +\section{Hinweise zum Entwicklungsstand} +\label{sec:scrlayer-notecolumn.draft} + +Obwohl sich das Paket derzeit noch in einem recht frühen Entwicklungsstadium +befindet, ist die Stabilität von weiten Teilen weniger eine Frage von +\Package{scrlayer-notecolumn} als von \Package{scrlayer}. Dennoch ist davon +auszugehen, dass sich auch in \Package{scrlayer-notecolumn} noch Fehler +befinden. Es wird darum gebeten, diese bei Auffinden zu melden. Einige +\emph{Unzulänglichkeiten} des Pakets sind jedoch auch der Minimierung des +Aufwands geschuldet. So können Notizspalten zwar über Seiten hinweg umbrochen +werden, allerdings findet dabei kein neuerlicher Absatzumbruch statt. Dies ist +bei \TeX{} schlicht nicht vorgesehen. + +Da das Paket derzeit noch als experimentell gilt, findet sich die Anleitung +hier im zweiten Teil der \KOMAScript-Anleitung. Dementsprechend richtet sie +sich auch in erster Linie an erfahrene Anwender. Für Anfänger oder Anwender, +die sich bereits deutlich auf dem Weg zum \LaTeX-Experten befinden, mag +einiges in den nachfolgenden Erklärungen unklar oder gar unverständlich +sein. Ich bitte um Nachsicht, dass ich bei experimentellen Paketen den Aufwand +für die Anleitung halbwegs erträglich halten will. + +\section{Deklaration neuer Notizspalten} +\label{sec:scrlayer-notecolumn.declaration} + +Beim Laden des Pakets wird bereits automatisch eine Notizspalte namens +\PName{marginpar} deklariert. Wie der Name andeutet, liegt diese Notizspalte +auf der Marginalienspalte von \Macro{marginpar} und \Macro{marginline}. Dabei +werden auch \Macro{reversemarginpar} und \Macro{normalmarginpar} beachtet, +allerdings nicht für die einzelnen Notizen, sondern nur für die gesamten +Notizen einer Seite. Maßgeblich ist dabei die Einstellung, die am Ende der +Seite, nämlich bei der Ausgabe der Notizspalte gilt. Dies sind im Übrigen auch +die Voreinstellungen für alle neue deklarierten Notizspalten, soweit bei der +Deklaration nichts anderes angegeben wurde. + +Es ist zu beachten\textnote{Achtung!}, dass Notizspalten nur auf Seiten +ausgegeben werden, deren Seitenstil auf dem Paket +\Package{scrlayer}\IndexPackage{scrlayer} basiert. Das Paket +\Package{scrlayer} wird von \Package{scrlayer-notecolumn} automatisch geladen +und stellt in der Voreinstellung lediglich den Seitenstil +\Pagestyle{empty}\IndexPagestyle{empty} bereit. Werden weitere Seitenstile +benötigt, wird zusätzlich das Paket +\Package{scrlayer-scrpage}\IndexPackage{scrlayer-scrpage} empfohlen. + +\begin{Declaration} + \Macro{DeclareNoteColumn}% + \OParameter{Liste der Einstellungen}\Parameter{Name der Notizspalte}\\ + \Macro{DeclareNewNoteColumn}% + \OParameter{Liste der Einstellungen}\Parameter{Name der Notizspalte}\\ + \Macro{ProvideNoteColumn}% + \OParameter{Liste der Einstellungen}\Parameter{Name der Notizspalte}\\ + \Macro{RedeclareNoteColumn}% + \OParameter{Liste der Einstellungen}\Parameter{Name der Notizspalte}% +\end{Declaration} +\BeginIndex{Cmd}{DeclareNoteColumn}% +\BeginIndex{Cmd}{DeclareNewNoteColumn}% +\BeginIndex{Cmd}{ProvideNoteColumn}% +\BeginIndex{Cmd}{RedeclareNoteColumn}% +Mit Hilfe dieser Anweisungen können Notizspalten angelegt werden. Dabei +erzeugt \Macro{DeclareNoteColumn} die Notizspalte ungeachtet der Tatsache, ob +sie bereits existiert oder nicht, während \Macro{DeclareNewNoteColumn} einen +Fehler ausgibt, falls der \PName{Name der Notizspalte} bereits für eine andere +Notizspalte vergeben ist, und \Macro{ProvideNoteColumn} in eben diesem Fall +schlicht nichts tut. Mit \Macro{RedeclareNoteColumn} wiederum kann nur eine +bereits existierende Notiz-Spalte neu konfiguriert werden. + +Bei der Neukonfigurierung bereits existierender Notizspalten mit +\Macro{DeclareNoteColumn} oder \Macro{RedeclareNoteColumn} gehen im übrigen +die bereits erzeugten Notizen für diese Spalte nicht verloren, sondern bleiben +erhalten. + +\BeginIndex{FontElement}{notecolumn.\PName{Name der Notizspalte}}% +\BeginIndex{FontElement}{notecolumn.marginpar}% +Für neue Notizspalten wird immer ein Element zur Änderung der +Schriftattribute mit \Macro{setkomafont} und \Macro{addtokomafont} angelegt, +falls dieses noch nicht existiert. Als Name für das Element wird +\PValue{notecolumn.}\PName{Name der Notizspalte} verwendet. Dementsprechend +existiert für die vordefinierte Notizspalte \PValue{marginpar} das Element +\PValue{notecolumn.marginpar}. Die Voreinstellung kann bei der Deklaration +einer Notizspalte direkt über die Option \Option{font} innerhalb der +optionalen \PName{Liste der Einstellungen} angegeben werden.% +\EndIndex{FontElement}{notecolumn.marginpar}% +\EndIndex{FontElement}{notecolumn.\PName{Name der Notizspalte}}% + +Die \PName{Liste der Einstellungen} ist eine durch Komma separierte Liste von +Einstellungen oder Optionen. Die verfügbaren Optionen sind in +\autoref{tab:scrlayer-notecolumn.note.column.options} zu finden. Als +Voreinstellung ist \Option{marginpar} immer gesetzt, kann aber durch +individuelle Einstellungen überschrieben werden. + +\begin{desclist} + \desccaption{% + Mögliche Einstellungen für die Deklaration von Notizspalten% + \label{tab:scrlayer-notecolumn.note.column.options}% + }{% + Mögliche Einstellungen für die Deklaration von Notizspalten + (\emph{Fortsetzung})% + }% + \entry{\KOption{font}\PName{Schriftattribute}}{% + Einstellung der \PName{Schriftattribute} der Notizspalte mit Hilfe von + \Macro{setkomafont}. Für erlaubte Werte sei auf + \autoref{sec:maincls.textmarkup}, + \autopageref{desc:maincls.cmd.setkomafont} verwiesen.\par% + Voreinstellung: \emph{leer}% + }% + \entry{\Option{marginpar}}{% + Position und Breite der Notizspalte werden so eingestellt, dass sie der + Marginalienspalte von \Macro{marginpar} entsprechen. Eine Umschaltung + zwischen \Macro{reversemarginpar}\IndexCmd{reversemarginpar} und + \Macro{normalmarginpar}\IndexCmd{normalmarginpar} wird immer nur am Ende + der Seite bei der Ausgabe der Notizspalte beachtet. Es wird darauf + hingewiesen, dass diese Option kein Argument erwartet oder erlaubt.\par% + Voreinstellung: \emph{ja} + }% + \entry{\Option{normalmarginpar}}{% + Position und Breite der Notizspalte werden so eingestellt, dass sie der + Marginalienspalte von \Macro{marginpar} bei Einstellung + \Macro{normalmarginpar} entsprechen. Es wird darauf hingewiesen, dass + diese Option kein Argument erwartet oder erlaubt.\par% + Voreinstellung: \emph{nein} + }% + \entry{\KOption{position}\PName{Abstand}}{% + Die Notizspalte wird mit \PName{Abstand} vom linken Rand des Papiers + gesetzt. Dabei sind für \PName{Abstand} auch komplexe Ausdrücke gestattet, + solange diese voll expandierbar sind und zum Zeitpunkt der Ausgabe der + Notizspalte zu einer Länge oder zu einem Längenwert oder einem + Längenausdruck expandieren. Siehe \cite[Abschnitt~3.5]{manual:eTeX} für + weitere Informationen zu Längenausdrücken.\par% + Voreinstellung: \emph{durch Option \Option{marginpar}}% + }% + \entry{\KOption{width}\PName{Breite}}{% + Die Notizspalte wird mit der angegebenen Breite gesetzt. Dabei sind für + \PName{Breite} auch komplexe Ausdrücke gestattet, solange diese voll + expandierbar sind und zum Zeitpunkt der Ausgabe der Notizspalte zu einer + Länge oder einem Längenwert oder einem Längenausdruck expandieren. Siehe + \cite[Abschnitt~3.5]{manual:eTeX} für weitere Informationen zu + Längenausdrucken.\par% + Voreinstellung: \emph{durch Option \Option{marginpar}}% + }% + \entry{\Option{reversemarginpar}}{% + Position und Breite der Notizspalte werden so eingestellt, dass sie der + Marginalienspalte von \Macro{marginpar} bei Einstellung + \Macro{reversemarginpar} entsprechen. Es wird darauf hingewiesen, dass + diese Option kein Argument erwartet oder erlaubt.\par% + Voreinstellung: \emph{nein} + }% +\end{desclist} + +Da die Notizspalten mit Hilfe von \Package{scrlayer} definiert werden, wird +auch für jede Notizspalte eine Ebene angelegt. Als Name für diese Ebene wird +ebenfalls \PValue{notecolumn.}\PName{Name der Notizspalte} verwendet. Näheres +zu Ebenen ist \autoref{sec:scrlayer.layers} zu entnehmen.% +% +\begin{Example} + Angenommen Sie sind Professor für ulkiges Recht und wollen eine Abhandlung + über das neue »Gesetz über die ausgelassene Verbreitung allgemeiner Späße«, + kurz GüdaVaS, schreiben. Der Hauptaugenmerk soll dabei jeweils auf dem + Kommentar zu einzelnen Paragraphen liegen. Sie entscheiden sich für ein + zweispaltiges Layout, wobei der Kommentar in der Hauptspalte enthalten sein + soll und die Paragraphen jeweils klein\iffree{ und in Farbe}{} in einer + schmaleren Notizspalte rechts daneben. +\begin{lstcode} + \documentclass{scrartcl} + \usepackage[ngerman]{babel} + \usepackage{selinput} + \SelectInputMappings{ + adieresis={ä}, + germandbls={ß}, + } + \usepackage[T1]{fontenc} + \usepackage{lmodern} + \usepackage{xcolor} + + \usepackage{scrjura} + \setkomafont{contract.Paragraph}{\bfseries} + \setkeys{contract}{preskip=-\dp\strutbox} + + \usepackage{scrlayer-scrpage} + \usepackage{scrlayer-notecolumn} + + \newlength{\paragraphscolwidth} + \AfterCalculatingTypearea{% + \setlength{\paragraphscolwidth}{.333\textwidth}% + \addtolength{\paragraphscolwidth}{-\marginparsep}% + } + \recalctypearea + \DeclareNewNoteColumn[% + position=\oddsidemargin+1in + +.667\textwidth + +\marginparsep, + width=\paragraphscolwidth, + font=\raggedright\footnotesize + \color{blue} + ]{paragraphs} +\end{lstcode} + Es wird ein einseitiger Artikel verfasst. Dazu wird die Sprache mit Hilfe + des \Package{babel}\IndexPackage{babel}-Pakets auf Deutsch (neue + Rechtschreibung) festgelegt. Die Eingabecodierung wird mit Hilfe von + \Package{selinput}\IndexPackage{selinput} automatisch bestimmt. Als Schrift + wird Latin Modern in 8-Bit-Codierung verwendet.\iffree{ Für die + Farbeinstellungen wird das Paket \Package{xcolor}\IndexPackage{xcolor} + genutzt.}{} + + Bezüglich des Setzens von Gesetzestexten mit \Package{scrjura} sei auf + \iffree{dessen Anleitung}{\autoref{cha:scrjura}} verwiesen. + + Da ein Seitenstil mit Seitenzahl verwendet werden soll, wird das Paket + \Package{scrlayer-scrpage} verwendet. Somit können Notizspalten auf allen + Seiten ausgegeben werden. + + Dann wird das Paket \Package{scrlayer-notecolumn} für die Notizspalten + geladen. Die gewünschte Breite der Notizspalte wird über + \Macro{AfterCalculatingTypearea} nach jeder etwaigen Neuberechnung des + Satzspiegels neu berechnet. Sie soll jeweils ein Drittel der + Satzspiegelbreite betragen, wobei der Abstand zwischen Text und Notizspalte + zu Lasten der Notizspalte geht. + + Mit dieser Information kann dann die neue Notizspalte definiert werden. Bei + der Festlegung der Position wird ein einfacher Längenausdruck genutzt. Dabei + ist zu beachten, dass \Length{oddsidemargin} nicht der gesamte linke Rand + ist, sondern aus historischen Gründen der linke Rand abzüglich + 1\Unit{inch}. Daher muss dieser Wert noch hinzugezählt werden. + + Damit ist die Deklaration abgeschlossen. Es ist zu beachten, dass die + Notizspalte bisher im Textbereich ausgegeben wird. Die Notizspalte würde + also den Text überschreiben. + +\begin{lstcode} + \begin{document} + + \title{Kommentar zum GüdaVaS} + \author{Professor R. O. Tenase} + \date{11.\,11.~2011} + \maketitle + \tableofcontents + + \section{Vormerkung} + Das GüdaVaS ist ohne jeden Zweifel das wichtigste Gesetz, das in + Spaßmanien in den letzten eintausend Jahren verabschiedet wurde. + Die erste Lesung fand bereits am 11.\,11.~1111 im obersten + spaßmanischen Kongress statt, wurde aber vom damalige Spaßvesier + abgelehnt. Erst nach Umwandlung der spaßmanischen, aberwitzigen + Monarchie in eine repräsentative, witzige Monarchie durch W. Itzbold, + den Urkomischen, am 9.\,9.~1999 war der Weg für dieses Gesetz + endlich frei. +\end{lstcode} + Dadurch, dass der Textbereich nicht verkleinert wurde, wird hier der ganze + Vorspann über die Gesamtbreite ausgegeben. Um das Beispiel zu testen, können + Sie vorübergehend +\begin{lstcode} + \end{document} +\end{lstcode} + ergänzen. +\end{Example} +% +Offen blieb in diesem Beispiel die Frage, wie dann aber der Text für den +Kommentar schmaler gesetzt werden kann. Dies werden Sie bei der Fortsetzung +des Beispiels erfahren.% +\EndIndex{Cmd}{RedeclareNoteColumn}% +\EndIndex{Cmd}{ProvideNoteColumn}% +\EndIndex{Cmd}{DeclareNewNoteColumn}% +\EndIndex{Cmd}{DeclareNoteColumn}% + +\section{Erstellen einer Notiz} +\label{sec:scrlayer-notecolumn.makenote} + +Nachdem eine Notizspalte deklariert wurde, können Notizen für diese Spalte +erstellt werden. Diese Notizen werden allerdings nicht unmittelbar ausgegeben, +sondern zunächst nur in eine Hilfsdatei mit Endung »\File{.slnc}« +geschrieben.\footnote{Ganz genau werden die Notizen sogar zunächst in die + \File{aux}-Datei geschrieben und erst beim Lesen der \File{aux}-Datei + innerhalb von \Macro{end}\PParameter{document} in die \File{slnc}-Datei + übertragen. Dabei wird gegebenenfalls auch die Einstellung \Macro{nofiles} + beachtet.} % +Beim nächsten \LaTeX-Lauf wird diese Hilfsdatei dann Stück für Stück je nach +Fortschritt des Dokuments wieder eingelesen und am Ende der Seite die Notizen +für die jeweilige Seite ausgegeben. + +Es ist jedoch zu beachten\textnote{Achtung!}, dass Notizspalten nur auf Seiten +ausgegeben werden, deren Seitenstil auf dem Paket +\Package{scrlayer}\IndexPackage{scrlayer} basiert. Das Paket +\Package{scrlayer} wird von \Package{scrlayer-notecolumn} automatisch geladen +und stellt in der Voreinstellung lediglich den Seitenstil +\Pagestyle{empty}\IndexPagestyle{empty} bereit. Werden weitere Seitenstile +benötigt, wird zusätzlich das Paket +\Package{scrlayer-scrpage}\IndexPackage{scrlayer-scrpage} empfohlen. + +\begin{Declaration} + \Macro{makenote}\OParameter{Name der Notizspalte}\Parameter{Notiz} +\end{Declaration} +\BeginIndex{Cmd}{makenote}% +Mit Hilfe dieser Anweisung kann eine \PName{Notiz} erstellt werden. Dabei wird +die aktuelle vertikale Position als vertikale Position für den Anfang der +\PName{Notiz} verwendet. Die horizontale Position für die Notiz ergibt sich +aus der definierten Position der Notizspalte. Für die korrekte Funktion ist +das Paket dabei auf \Macro{pdfsavepos}, \Macro{pdflastypos} und +\Macro{pdfpageheight} angewiesen. Ohne diese Befehle funktioniert +\Package{scrlayer-notecolumn} nicht. Dabei wird außerdem davon ausgegangen, +dass die genannten Primitiven exakt die Ergebnisse von PDF\TeX{} liefern. + +Wird allerdings bei der Ausgabe der \PName{Notiz} eine Kollision mit einer +früheren Notiz in derselben Notizspalte erkannt, so wird die \PName{Notiz} bis +unter diese frühere Notiz verschoben. Passt die \PName{Notiz} nicht mehr auf +die Seite, so wird sie ganz oder teilweise auf die nächste Seite umbrochen. + +Für welche Notizspalte die \PName{Notiz} erstellt werden soll, wird über das +optionale Argument \PName{Name der Notizspalte} bestimmt. Ist kein optionales +Argument angegeben, so wird die vordefinierte Notizspalte \PValue{marginpar} +verwendet.% +\begin{Example} + Fügen wir nun dem Beispiel aus dem vorherigen Abschnitt einen kommentierten + Paragraphen hinzu, wobei der Paragraph selbst in der neu definierten + Notizspalte gesetzt werden soll. +\begin{lstcode} + \section{Analyse} + \begin{addmargin}[0pt]{.333\textwidth} + \makenote[paragraphs]{% + \protect\begin{contract} + \protect\Paragraph{title={Kein Witz ohne Publikum}} + Ein Witz kann nur dort witzig sein, wo er auf ein Publikum + trifft. + \protect\end{contract} + } + Dies ist eine der zentralsten Aussagen des Gesetzes. Sie ist derart + elementar, dass es durchaus angebracht ist, sich vor der Weisheit der + Verfasser zu verbeugen. +\end{lstcode} + Die in \autoref{sec:maincls.lists}, \autopageref{desc:maincls.env.addmargin} + dokumentierte Umgebung wird genutzt, um den Haupttext in der Breite um die + Spalte für die Paragraphen zu vermindern. Hier ist auch eines der wenigen + Probleme bei Verwendung von \Macro{makenote} zu erkennen. Da das + obligatorische Argument in Dateien geschrieben wird, können Befehle + innerhalb des Arguments leider \emph{zerbrechen}. Um das zu verhindern, wird + empfohlen, vor alle Befehle ein \Macro{protect} zu setzen. Anderenfalls kann + die Verwendung von Befehlen innerhalb dieses Arguments zu Fehlermeldungen + führen. + + Prinzipiell könnten Sie das Beispiel nun bereits mit +\begin{lstcode} + \end{addmargin} + \end{document} +\end{lstcode} + beenden, wenn Sie ein Ergebnis sehen wollen. +\end{Example}% +Wenn Sie das Beispiel testen, werden Sie feststellen, dass die Gesetzes-Spalte +tiefer hinunter reicht als der Kommentartext. Wenn Sie zwecks Übung einen +weiteren Abschnitt mit einem weiteren Paragraphen hinzufügen, ergibt sich +eventuell das Problem, dass der Kommentar nicht unterhalb des Gesetzestextes, +sondern direkt im Anschluss an den bisherigen Kommentar fortgesetzt wird. Eine +Lösung für dieses Problem, werden Sie gleich kennenlernen.% +\EndIndex{Cmd}{makenote}% + +\begin{Declaration} + \Macro{syncwithnotecolumn}\OParameter{Name der Notizspalte} +\end{Declaration} +\BeginIndex{Cmd}{syncwithnotecolumn}% +Mit Hilfe dieser Anweisung wird in einer Notizspalte und im Haupttext des +Dokumente je ein Synchronisierungspunkt erstellt. Wann immer bei der Ausgabe +einer Notizspalte oder des Haupttextes ein solcher Synchronisierungspunkt +erreicht wird, wird eine Marke angelegt, deren Inhalt die aktuelle Seite und +die aktuelle vertikale Position ist. + +Parallel zum Erstellen der Synchronisierungspunkte, wird ermittelt, ob in +der Notizspalte und im Haupttext beim letzten \LaTeX-Lauf eine Marke angelegt +wurde. Falls das der Fall ist, werden deren Werte miteinander +verglichen. Liegt die Marke der Notizspalte tiefer auf der Seite oder auf +einer späteren Seite, so wird im Haupttext bis zu der Stelle der Notizspalte +vorgerückt. + +In der Regel sollten Synchronisierungspunkte nicht innerhalb eines Absatzes +des Haupttextes, sondern nur zwischen diesen gesetzt werden. Wird +\Macro{syncwithnotecolumn} dennoch innerhalb eines Absatzes verwendet, so +wird der Synchronisierungspunkt im Haupttext tatsächlich erst nach der +aktuellen Zeile eingefügt. In dieser Hinsicht ähnelt +\Macro{syncwithnotecolumn} also beispielsweise \Macro{vspace}. + +Dadurch, dass Synchronisierungspunkte in den Notizspalten erst beim nächsten +\LaTeX-Lauf erkannt werden, benötigt der Mechanismus mindestens drei +\LaTeX-Läufe. Aus jeder neuen Synchronisierung können sich außerdem +Verschiebungen für spätere Synchronisierungspunkte ergeben, was wiederum die +Notwendigkeit weiterer \LaTeX-Läufe nach sich zieht. Zu erkennen +sind solche Verschiebungen in der Regel an der Meldung: »\LaTeX{} +Warning: Label(s) may have changed. Rerun to get cross-references right.« Aber +auch Meldungen über undefinierte \emph{Labels} können auf die Notwendigkeit +eines weiteren \LaTeX-Laufs hinweisen. + +Wird das optionale Argument nicht angegeben\footnote{Es sei an dieser Stelle + darauf hingewiesen, dass ein leeres optionales Argument nicht + gleichbedeutend mit dem Weglassen eines optionalen Arguments ist!}, so wird +an seiner Stelle \PValue{marginpar}, also die vordefinierte Notizspalte +verwendet. + +Es ist nicht erlaubt \Macro{syncwithnotecolumn} innerhalb einer Notiz selbst, +also im obligatorischen Argument von \Macro{makenote}\IndexCmd{makenote} zu +verwenden! Dieser Fehler kann derzeit nicht abgefangen werden und führt dazu, +dass mit jedem \LaTeX-Lauf neue Verschiebungen auftreten, so dass nie ein +endgültiger Zustand erreicht wird. Um zwei oder mehrere Notizspalten +miteinander zu synchronisieren, sind diese stattdessen mit dem Haupttext zu +synchronisieren, da dabei auch die Spalten miteinander synchronisiert +werden. Die hierzu empfohlene Anweisung wird nachfolgend beschrieben.% +% +\begin{Example} + Führen wir nun das obige Beispiel fort, indem wir zunächst einen + Synchronisationspunkt und dann einen weiteren Paragraphen + mit Kommentar hinzufügen: +\begin{lstcode} + \syncwithnotecolumn[paragraphs]\bigskip + \makenote[paragraphs]{% + \protect\begin{contract} + \protect\Paragraph{title={Komik der Kultur}} + \setcounter{par}{0}% + Die Komik eines Witzes kann durch das kulturelle + Umfeld, in dem er erzählt wird, bestimmt sein. + + Die Komik eines Witzes kann durch das kulturelle Umfeld, + in dem er spielt, bestimmt sein. + \protect\end{contract} + } + Die kulturelle Komponente eines Witzes ist tatsächlich nicht zu + vernachlässigen. Über die politische Korrektheit der Nutzung des + kulturellen Umfeldes kann zwar trefflich gestritten werden, + nichtsdestotrotz ist die Treffsicherheit einer solchen Komik im + entsprechendem Umfeld frappierend. Auf der anderen Seite kann ein + vermeintlicher Witz im falschen kulturellen Umfeld auch zu einer + echten Gefahr für den Witzeerzähler werden. +\end{lstcode} + Außer dem Synchronisationspunkt wurde hier auch noch ein vertikaler + Abstand mit \Macro{bigskip} eingefügt, um die einzelnen Paragraphen und ihre + Kommentare besser voneinander abzusetzen. + + Außerdem wird hier ein weiterer Punkt, der zu einem Problem werden kann, + sichtbar. Da die Notizspalten mit Boxen arbeiten, die zusammengebaut und + zerlegt werden, kann es bei Zählern innerhalb der Notizspalten teilweise zu + Verschiebungen kommen. Im Beispiel würde daher der erste Absatz nicht mit 1, + sondern mit 2 nummeriert. Dies kann jedoch mit einem beherzten Zurücksetzen + des entsprechenden Zählers leicht korrigiert werden. + + Das Beispiel ist damit fast fertig, was noch fehlt, ist das Ende der + Umgebungen: +\begin{lstcode} + \end{addmargin} + \end{document} +\end{lstcode} + Tatsächlich wären natürlich auch noch die restlichen Paragraphen des + Gesetztes zu kommentieren. Dies sei mir hier jedoch erlassen. +\end{Example}% +Doch halt! Was wäre, wenn in diesem Beispiel der Paragraph nicht mehr auf die +Seiten passen würde? Würde er dann auf der nächsten Seite ausgegeben? Diese +Frage wird im nächsten Abschnitt beantwortet werden. +\EndIndex{Cmd}{syncwithnotecolumn}% + +\begin{Declaration} + \Macro{syncwithnotecolumns}\OParameter{Liste von Notizspalte-Namen} +\end{Declaration} +\BeginIndex{Cmd}{syncwithnotecolumns}% +Diese Anweisung führt eine Synchronisierung des Haupttextes mit allen in der +mit Komma separierten \PName{Liste von Notizspalten-Namen} durch. Dabei wird +der Haupttext mit der Notizspalte synchronisiert, deren Marke am weitesten +hinten im Dokument steht. Somit werden als Nebeneffekt auch die Notizspalten +untereinander synchronisiert. + +Wird das optionale Argument nicht angegeben oder ist es leer (oder beginnt es +mit \Macro{relax}), so wird mit allen deklarierten Notizspalten +synchronisiert.% +\EndIndex{Cmd}{syncwithnotecolumns}% + + +\section{Erzwungene Ausgabe von Notizspalten} +\label{sec:scrlayer-notecolumn.clearnotes} + +Neben der normalen Ausgabe der Notizspalten, wie sie in +\autoref{sec:scrlayer-notecolumn.makenote} beschrieben ist, ist es manchmal +auch erforderlich alle aufgesammelten Notizen, die noch nicht ausgegeben +wurden, auszugeben. Das ist insbesondere dann sinnvoll, wenn längere Notizen +dazu führen, dass immer mehr Notizen nach unten und auf neue Seiten verschoben +werden. Ein guter Zeitpunkt für eine solche erzwungene Ausgabe ist +beispielsweise das Ende eines Kapitels oder das Ende des Dokuments. + +\begin{Declaration} + \Macro{clearnotecolum}\OParameter{Name der Notizspalte} +\end{Declaration} +\BeginIndex{Cmd}{clearnotecolumn}% +Mit dieser Anweisung werden alle Notizen einer bestimmen Notizspalte +ausgegeben, die bis zum Ende der aktuellen Seite noch nicht ausgegeben sind, +aber auf dieser oder einer vorherigen Seite erstellt wurden. Zur Ausgabe +dieser noch anhängigen Notizen werden nach Bedarf Leerseiten erstellt. Während +der Ausgabe der anhängigen Notizen dieser Notizspalte werden gegebenenfalls +auch anhängige Notizen anderer Notizspalten ausgegeben, jedoch nur so lange, +wie dies zu Ausgabe der anhängigen Notizen der angegebenen Notizspalte +notwendig ist. + +Während der Ausgabe der anhängigen Notizen kann es auch geschehen, dass +irrtümlich Notizen ausgegeben werden, die im vorherigen \LaTeX-Lauf auf den +Seiten erstellt wurden, die nun durch die eingefügten Leerseiten ersetzt +werden. Dies normalisiert sich in einem der nächsten \LaTeX-Läufe. Zu erkennen +sind solche Verschiebungen in der Regel an der Meldung: »\LaTeX{} +Warning: Label(s) may have changed. Rerun to get cross-references right.« + +Die Notizspalte, deren anhängige Notizen ausgegeben werden soll, ist über das +optionale Argument, \PName{Name der Notizspalte}, angegeben. Ist kein solches +Argument angegeben, so wird die vordefinierte Notizspalte \PValue{marginpar} +verwendet. + +Dem aufmerksamen Leser wird nicht entgangen sein, dass die erzwungene Ausgabe +einer Notizspalte der Synchronisierung nicht unähnlich ist. Allerdings +befindet man sich nach der erzwungenen Ausgabe im Fall, dass tatsächlich eine +Ausgabe stattfindet, am Anfang der Seite nach der letzten Ausgabe und nicht +unmittelbar unterhalb der letzten Ausgabe. Dafür terminiert die erzwungene +Ausgabe in der Regel mit weniger \LaTeX-Läufen.% +\EndIndex{Cmd}{clearnotecolumn}% + +\begin{Declaration} + \Macro{clearnotecolumns}\OParameter{Liste von Notizspalten-Namen} +\end{Declaration} +\BeginIndex{Cmd}{clearnotecolumns}% +Diese Anweisung arbeitet vergleichbar mit \Macro{clearnotecolumn}. Allerdings +kann hier als optionales Argument nicht nur eine Notizspalte angegeben werden, +sondern es ist eine durch Komma getrennte Liste mehrere Namen von +Notizspalten erlaubt. Es werden dann die anhängigen Notizen all dieser Spalten +ausgegeben. + +Wurde das optionale Argument nicht angegeben oder ist es leer, so werden die +anhängigen Notizen aller Notizspalten ausgegeben.% +\EndIndex{Cmd}{clearnotecolumns}% + +\begin{Declaration} + \KOption{autoclearnotecolumns}\PName{Ein-Aus-Schalter} +\end{Declaration} +\BeginIndex{Option}{autoclearnotecolumns}% +In der Regel wird man anhängige Notizen immer dann ausgeben lassen, wenn im +Dokument explizit oder implizit -- beispielsweise in Folge von \Macro{chapter} +-- die Anweisung \Macro{clearpage} ausgeführt wird. Dies ist auch am Ende +eines Dokuments innerhalb von \Macro{end}\PParameter{document} der Fall. Über +Option \Option{autoclearnotecolumns} kann daher gesteuert werden, ob bei +Ausführung von \Macro{clearpage} automatisch auch \Macro{clearnotecolumns} +ohne Argument ausgeführt werden soll. + +Da davon ausgegangen wird, dass dies in der Regel erwünscht ist, ist die +Option in der Voreinstellung aktiv. Man kann sie jedoch über die +entsprechenden Werte für einfache Schalter (siehe +\autoref{tab:truefalseswitch} auf \autopageref{tab:truefalseswitch}) jederzeit +aus- und auch wieder einschalten. + +Es ist zu beachten, dass im Falle der Deaktivierung der automatischen Ausgabe +anhängiger Notizen am Ende des Dokument Notizen ganz oder teilweise verloren +gehen können. Daher sollte man in diesem Fall vor +\Macro{end}\PParameter{document} sicherheitshalber ein +\Macro{clearnotecolumns} einfügen. + +Damit ist nun auch die Frage nach dem Beispiel im letzten Abschnitt +beantwortet, ob der Paragraph auch komplett ausgegeben würde, wenn er auf die +nächste Seite umbrochen werden müsste. Dies ist in der Voreinstellung +selbstverständlich der Fall. Da es jedoch nach dem Ende der +\Environment{addmargin}-Umgebung geschehen würde, könnte es eventuell noch +zu Überlappungen durch nachfolgenden Text kommen. Daher wäre es im Beispiel +durchaus sinnvoll nach der \Environment{addmargin}-Umgebung einen weiteren +Synchronisationspunkt einzufügen. + +Das Ergebnis des Beispiels ist übrigens in +\autoref{fig:scrlayer-notecolumn.example} zu sehen. + +\begin{figure} + \KOMAoptions{captions=bottombeside}% + \setcapindent{0pt}% + \begin{captionbeside}[{Eine Ergebnisseite zu dem Beispiel in + \autoref{cha:scrlayer-notecolumn}}]{Eine Ergebnisseite zu dem Beispiel + aus diesem Kapitel\label{fig:scrlayer-notecolumn.example}}[l] + \frame{\includegraphics[width=.5\textwidth,keepaspectratio]% + {scrlayer-notecolumn-example}} + \end{captionbeside} +\end{figure} +\EndIndex{Option}{autoclearnotecolumns}% +% +\EndIndex{Package}{scrlayer-notecolumn}% + +%%% Local Variables: +%%% mode: latex +%%% mode: flyspell +%%% coding: iso-latin-1 +%%% ispell-local-dictionary: "de_DE" +%%% TeX-master: "scrlayer-de.tex" +%%% TeX-PDF-mode: t +%%% End: + +% LocalWords: Randnotizen Entwicklungsstadium Notizspalte Notizspalten +% LocalWords: Neukonfigurierung Synchronisierungspunkt diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlayer-scrpage-experts.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlayer-scrpage-experts.tex new file mode 100644 index 00000000000..ddcbe5a8284 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlayer-scrpage-experts.tex @@ -0,0 +1,672 @@ +% ====================================================================== +% scrlayer-scrpage-experts.tex +% Copyright (c) Markus Kohm, 2013 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ---------------------------------------------------------------------- +% scrlayer-scrpage-experts.tex +% Copyright (c) Markus Kohm, 2013 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% +% Expert chapter about scrlayer-scrpage of the KOMA-Script guide +% +% ---------------------------------------------------------------------- +% +% Expertenkapitel über scrlayer-scrpage in der KOMA-Script-Anleitung +% +% ============================================================================ + +\KOMAProvidesFile{scrlayer-scrpage-experts.tex}% + [$Date: 2013-12-17 14:46:13 +0100 (Di, 17. Dez 2013) $ + KOMA-Script guide (chapter: scrlayer-scrpage for experts)] + +\chapter[{Zusätzliche Möglichkeiten von \Package{scrlayer-scrpage}}] +{Zusätzliche Möglichkeiten des + Pakets\ChangedAt{v3.12}{\Package{scrlayer-scrpage}} + \Package{scrlayer-scrpage}} +\labelbase{scrlayer-scrpage-experts} +% +\BeginIndex{Package}{scrlayer-scrpage}% +Über die Erklärungen in \autoref{cha:scrlayer-scrpage} von +\autoref{part:forAuthors} diese\iffree{r Anleitung}{s Buches} hinaus, bietet das +Paket \Package{scrlayer-scrpage} viele weitere Möglichkeiten. Diese stellen +jedoch entweder Erweiterungen dar, die der durchschnittliche Anwender nicht +zwingend benötigt oder sie existieren nur aus Gründen der Kompatibilität zu +\Package{scrpage2}, so dass die meisten Anwender sie nicht wissen +müssen. All diese Dinge werden daher in hier in \autoref{part:forExperts} +dokumentiert. + +\LoadCommon[scrlayerscrpageexperts]{21}% \section{Beeinflussung von definierten Seitenstilen} + +\section{Definition eigener Seitenstil-Paare} +\label{sec:scrlayer-scrpage-experts.pagestyle.pairs} + +In \autoref{sec:scrlayer-scrpage.predefined.pagestyles} wurden die beiden +Seitenstile \Pagestyle{scrheadings} und \Pagestyle{plain.scrheadings} +vorgestellt. Diese bilden quasi ein Paar, bei dem \Pagestyle{scrheadings} als +Haupt-Seitenstil mit Kolumnentitel vorgesehen ist, während +\Pagestyle{plain.scrheadings} ein dazu passender \Pagestyle{plain}-Seitenstil +ohne Kolumnentitel aber üblicherweise mit Paginierung, also mit Seitenzahl +ist. Neben der Konfiguration dieses vordefinierten Paars bietet +\Package{scrlayer-scrpage} auch die Möglichkeit, zusätzliche Paare zu +definieren. Der Name des Haupt-Seitenstils \Pagestyle{scrheadings} dient dabei +quasi auch als Name des Seitenstil-Paars. + +Die allermeisten Anwender werden in der Regel mit dem einen vordefinierten +Seitenstil-Paar \Pagestyle{scrheadings} auskommen. Die in diesem Abschnitt +dokumentierten Anweisungen sind daher eher Ergänzungen für besondere Fälle. Da +mir während des Abfassens dieser Anleitung keine handlichen +Anwendungsbeispiele eingefallen sind, gibt es auch keine ausführlichen +Beispiele. Sollte mir im Support einmal eine besonders schöne Anwendung +begegnen, werde ich solche aber in zukünftigen Fassungen gerne aufgreifen. Ich +bin jedoch gleichzeitig sicher, dass sich all diese Fälle auch mit dem einen +Paar \Pagestyle{scrheadings} lösen lassen. + +\begin{Declaration} + \Macro{defpairofpagestyles}% + \OParameter{Eltern-Paar}\Parameter{Name}\Parameter{Definition}\\ + \Macro{newpairofpagestyles}% + \OParameter{Eltern-Paar}\Parameter{Name}\Parameter{Definition}\\ + \Macro{renewpairofpagestyles}% + \OParameter{Eltern-Paar}\Parameter{Name}\Parameter{Definition}\\ + \Macro{providepairofpagestyles}% + \OParameter{Eltern-Paar}\Parameter{Name}\Parameter{Definition} +\end{Declaration} +\BeginIndex{Cmd}{defpairofpagestyles}% +\BeginIndex{Cmd}{newpairofpagestyles}% +\BeginIndex{Cmd}{renewpairofpagestyles}% +\BeginIndex{Cmd}{providepairofpagestyles}% +Mit diesen Anweisungen können Paare von Seitenstilen vergleichbar zu +\Pagestyle{scrheadings} und \Pagestyle{plain.scrheadings} definiert +werden. Dabei ist \PName{Name} der Name des zu \Pagestyle{scrheadings} +vergleichbaren Hauptseitenstils, der für die Verwendung mit Kolumnentiteln +ausgelegt ist. Für den Namen des zugehörigen \Pagestyle{plain}-Seitenstil wird +\PName{Name} automatisch \PValue{plain.} vorangestellt. \PName{Name} ist also +gleichzeitig der Name des Paares und des Hauptseitenstils dieses Paares, während +\PValue{plain.}\PName{Name} der Name des \Pagestyle{plain}-Seitenstils dieses +Paares ist. + +Ist das optionale Argument \PName{Eltern-Paar} angegeben, so ist dies der Name +eines Seitenstil-Paars, mit dessen Einstellungen das neue Paar initialisiert +werden soll. Das neue Paar erbt also quasi die Konfiguration des +\PName{Eltern-Paar}s. + +Während in \autoref{sec:scrlayer-scrpage.predefined.pagestyles} der Eindruck +entstanden ist, dass sich die in jenem Abschnitt erläuterten Anweisungen nur +auf \Pagestyle{scrheadings} und \Pagestyle{plain.scrheadings} beziehen, gilt +das tatsächlich nur, solange diese das einzige Seitenstil-Paar +darstellen. Sobald es mehrere Seitenstil-Paare gibt, beziehen sich diese +Anweisungen auf das zuletzt aktive Seitenstil-Paar. Dies gilt für +\Macro{lehead}, \Macro{cehead}, \Macro{rehead}, \Macro{lohead}, +\Macro{cohead}, \Macro{rohead}, \Macro{lefoot}, \Macro{cefoot}, +\Macro{refoot}, \Macro{lofoot}, \Macro{cofoot}, \Macro{rofoot}, \Macro{ihead}, +\Macro{chead}, \Macro{ohead}, \Macro{ifoot}, \Macro{cfoot}, \Macro{ofoot} aus +\autoref{sec:scrlayer-scrpage.predefined.pagestyles}. + +Genau jene Anweisung, sowie die nachfolgend dokumentierten Anweisungen +\Macro{clearmainofpairofpagestyles}, \Macro{clearplainofpairofpagestyles} und +\Macro{clearpairofpagestyles} sind auch für die Verwendung im letzten +Parameter \PName{Definition} gedacht. In diesem Fall stellen sie eine Art +Grundkonfiguration des Seitenstil-Paars dar, die immer dann ausgeführt wird, +wenn das Seitenstil-Paar aktiviert wird. Ein Seitenstil-Paar wird aktiviert, +indem einer der beiden Seitenstile des Paares aktiviert wird. Dies geschieht +in der Regel mit Hilfe von \Macro{pagestyle}\IndexCmd{pagestyle}. + +Es sei darauf hingewiesen, dass die Anweisungen aus +\autoref{sec:scrlayer-scrpage.pagestyle.content} ohnehin allgemeiner Natur +sind und für alle mit \Pagestyle{scrlayer-scrpage} definierten Seitenstile +gelten. + +Während \Macro{defpairofpagestyles} das Paar unabhängig davon, ob entsprechende +Seitenstile bereits existieren, definiert, geschieht die Definition bei +\Macro{newpairofpagestyles} und \Macro{providepairofpagestyles} nur, wenn die +Seitenstile noch nicht definiert sind. Ist mindestens einer der beiden +Seitenstile des Paares bereits definiert, so wird die neuerliche Definition +bei \Macro{providepairofpagestyles} ignoriert, während sie bei +\Macro{newpairofpagestyles} einen Fehler ergeben. Für die Umdefinierung +bereits existierender Paare kann \Macro{renewpairofpagestyles} verwendet +werden. Hier wird ein Fehler gemeldet, wenn einer der beiden Seitenstile oder +beide Seitenstile des Paares noch nicht existieren.% +\EndIndex{Cmd}{providepairofpagestyles}% +\EndIndex{Cmd}{renewpairofpagestyles}% +\EndIndex{Cmd}{newpairofpagestyles}% +\EndIndex{Cmd}{defpairofpagestyles}% + +\begin{Declaration} + \Macro{clearmainofpairofpagestyles}\\ + \Macro{clearplainofpairofpagestyles}\\ + \Macro{clearpairofpagestyles} +\end{Declaration} +\BeginIndex{Cmd}{clearmainofpairofpagestyles}% +\BeginIndex{Cmd}{clearplainofpairofpagestyles}% +\BeginIndex{Cmd}{clearpairofpagestyles}% +Mit der Anweisung \Macro{clearmainofpairofpagestyles} wird der Hauptseitenstil +des zuletzt aktivierten Seitenstil-Paares leer konfiguriert. Dagegen wird mit +der Anweisung \Macro{clearplainofpairofpagestyles} der +\Pagestyle{plain}-Seitenstil des entsprechenden Seitenstil-Paares leer +konfiguriert. Anweisung \Macro{clearpairofpagestyles} konfiguriert schließlich +beide Seitenstile des entsprechenden Paares als leer. + +Es ist jedoch zu beachten\textnote{Achtung!}, dass keine dieser Anweisungen +die Definitionen aus dem Parameter \PName{Definition}, der bei der Definition +des Seitenstil-Paares angegeben wurde (siehe oben), entfernt. Bei der erneuten +Auswahl eines Seitenstils des Paares werden jene Einstellungen also erneut +ausgeführt! + +Die Anweisungen können selbst ebenfalls innerhalb von \PName{Definition} +verwendet werden. Sie können aber auch jederzeit außerhalb der Definition +eines Seitenstils verwendet werden. In diesem Fall beziehen sie sich auf das +zuletzt aktivierte Seitenstil-Paar. + +\BeginIndex{Cmd}{clearscrheadings}% +\BeginIndex{Cmd}{clearscrplain}% +\BeginIndex{Cmd}{clearscrheadfoot}% +Die Anweisungen \Macro{clearscrheadings}, \Macro{clearscrplain} und +\Macro{clearscrheadfoot} sind Aliase für diese Anweisungen, die nur aus +Gründen der Kompatibilität mit \Package{scrpage2} existieren. Sie sollten +nicht mehr verwendet werden.% +\EndIndex{Cmd}{clearscrheadfoot}% +\EndIndex{Cmd}{clearscrplain}% +\EndIndex{Cmd}{clearscrheadings}% +% +\EndIndex{Cmd}{clearpairofpagestyles}% +\EndIndex{Cmd}{clearplainofpairofpagestyles}% +\EndIndex{Cmd}{clearmainofpairofpagestyles}% + + +\section{Definition einfacher Seitenstile mit dreigeteiltem Kopf und Fuß} +\label{sec:scrlayer-scrpage-experts.pagestyle.triple} + +Neben den vordefinierten Seitenstilen und der Definition eigener +Seitenstil-Paare, bietet \Package{scrlayer-scrpage} auch noch die Möglichkeit +der Definition von Seitenstilen, bei denen sowohl der Kopf als auch der Fuß fest +in drei Elemente aufgeteilt ist. Diese Schnittstelle existiert jedoch nur aus +Gründen der Kompatibilität mit \Package{scrpage2}. Zum +Zwecke eines konsistenteren Befehlssatzes wurde sie sogar noch +erweitert. Dennoch wird empfohlen, für neue Dokumente nicht mehr auf diese +Möglichkeit zurück zu greifen, sondern die deutlich überlegenen Möglichkeiten +der vorherigen Abschnitte oder des nachfolgende Abschnitts zu nutzen. + +\begin{Declaration} + \Macro{deftriplepagestyle}% + \Parameter{Name des Seitenstils}\\ + \hphantom{\XMacro{deftriplepagestyle}}% + \OParameter{Dicke der äußeren Linie}% + \OParameter{Dicke der inneren Linie}\\ + \hphantom{\XMacro{deftriplepagestyle}}% + \Parameter{inneres Kopfelement}% + \Parameter{mittleres Kopfelement}% + \Parameter{äußeres Kopfelement}\\ + \hphantom{\XMacro{deftriplepagestyle}}% + \Parameter{inneres Fußelement}% + \Parameter{mittleres Fußelement}% + \Parameter{äußeres Fußelement}\\ + \Macro{newtriplepagestyle}% + \Parameter{Name des Seitenstils}\\ + \hphantom{\XMacro{newtriplepagestyle}}% + \OParameter{Dicke der äußeren Linien}% + \OParameter{Dicke der inneren Linien}\\ + \hphantom{\XMacro{newtriplepagestyle}}% + \Parameter{inneres Kopfelement}% + \Parameter{mittleres Kopfelement}% + \Parameter{äußeres Kopfelement}\\ + \hphantom{\XMacro{newtriplepagestyle}}% + \Parameter{inneres Fußelement}% + \Parameter{mittleres Fußelement}% + \Parameter{äußeres Fußelement}\\ + \Macro{renewtriplepagestyle}% + \Parameter{Name des Seitenstils}\\ + \hphantom{\XMacro{renewtriplepagestyle}}% + \OParameter{Dicke der äußeren Linie}% + \OParameter{Dicke der inneren Linie}\\ + \hphantom{\XMacro{renewtriplepagestyle}}% + \Parameter{inneres Kopfelement}% + \Parameter{mittleres Kopfelement}% + \Parameter{äußeres Kopfelement}\\ + \hphantom{\XMacro{renewtriplepagestyle}}% + \Parameter{inneres Fußelement}% + \Parameter{mittleres Fußelement}% + \Parameter{äußeres Fußelement}\\ + \Macro{providetriplepagestyle}% + \Parameter{Name des Seitenstils}\\ + \hphantom{\XMacro{providetriplepagestyle}}% + \OParameter{Dicke der äußeren Linie}% + \OParameter{Dicke der inneren Linie}\\ + \hphantom{\XMacro{providetriplepagestyle}}% + \Parameter{inneres Kopfelement}% + \Parameter{mittleres Kopfelement}% + \Parameter{äußeres Kopfelement}\\ + \hphantom{\XMacro{providetriplepagestyle}}% + \Parameter{inneres Fußelement}% + \Parameter{mittleres Fußelement}% + \Parameter{äußeres Fußelement} +\end{Declaration} +\BeginIndex{Cmd}{deftriplepagestyle}% +\BeginIndex{Cmd}{newtriplepagestyle}% +\BeginIndex{Cmd}{renewtriplepagestyle}% +\BeginIndex{Cmd}{providetriplepagestyle}% +Mit diesen Anweisungen kann ein einzelner Seitenstil definiert werden, bei dem +Kopf und Fuß in drei Elemente aufgeteilt sind: ein inneres Element, ein +mittleres Element und ein äußeres Element. Diese werden über jeweils drei +obligatorische Argumente angegeben. + +Das jeweilige innere Element wird auf linken Seiten rechtsbündig im Kopf +respektive im Fuß platziert. Auf rechten Seiten wird es hingegen linksbündig +platziert. Entsprechend wird das mittlere Element sowohl auf linken als auch +auf rechten Seiten im Kopf respektive Fuß zentriert. Das äußere Element wird +schließlich auf linken Seiten linksbündig und auf rechten Seiten rechtsbündig +im Kopf respektive Fuß platziert. + +An\textnote{Achtung!} dieser Stelle sei noch einmal daran erinnert, dass im +einseitigen Satz nur rechte Seiten existieren! + +Mit den beiden optionalen Argumenten können Linien in Kopf und Fuß aktiviert +werden. Dazu gibt man die gewünschte Dicke der Linien als Argument an. Das +erste optionale Argument betrifft die \PName{Dicke der äußeren Linien}. Diese +Linien werden über dem Kopf und unter dem Fuß gezeichnet. Das zweite optionale +Argument betrifft die \PName{Dicke der inneren Linien}. Diese beiden Linien +werden unterhalb des Kopfes und oberhalb des Fußes gezeichnet. Ist nur ein +optionales Argument angegeben, so ist dies die \PName{Dicke der inneren + Linien}. Die \PName{Dicke der äußeren Linien} ist dann Null, womit nur noch +die beiden inneren Linien gezeichnet werden. Ist keines der optionalen +Argumente angegeben, so entfallen alle Linien. + +Es ist zu beachten\textnote{Achtung!}, dass leere optionale Argumente nicht +gleichbedeutend mit dem Weglassen der optionalen Argumente sind! Leere +optionale Argumente sind in diesem Fall nicht erlaubt. Dagegen sind einfache +Längenausdrücke, wie sie bereits bei Option \Option{headwidth} (siehe +\autoref{sec:scrlayer-scrpage.pagestyle.content}, +\autopageref{desc:scrlayer-scrpage.option.headwidth}) erklärt wurden, erlaubt. + +Die Bedeutung der einzelnen Argumente ist in +\autoref{fig:scrlayer-scrpage.triplepagestyle} noch einmal an einer +schematischen Doppelseite veranschaulicht. Dabei dienen »\textsl{außen}«, +»\textsl{innen}«, »\textsl{mittig}« als beispielhafte Inhalte. Die zugehörigen +Pfeile verdeutlichen die Ausbreitung dieser Inhalte. Die \iffree{farbigen +}{}Texte im Inneren der Seite sind die Namen der Argumente der Befehle. Die +zugehörigen Pfeile \iffree{in gleicher Farbe }{}weisen auf die entsprechenden +Elemente der Seite. + +\begin{figure} + \centering + \begin{picture}(\textwidth,80mm) + \put(0,50mm){% + %\ + \begin{picture}(\textwidth,30mm)(0,-10mm) + \thinlines + \small + % linke Seite + \put(0,20mm){\line(1,0){.49\textwidth}}% + \put(0,0){\line(0,1){20mm}}% + \multiput(0,0)(0,-1mm){10}{\line(0,-1){.5mm}}% + \put(.49\textwidth,5mm){\line(0,1){15mm}}% + \put(.05\textwidth,15mm){\thicklines\line(1,0){.415\textwidth}}% + \put(.05\textwidth,10mm){\makebox(0em,5mm)[l]{\slshape außen\strut$\longrightarrow$}}% + \put(.465\textwidth,10mm){\makebox(0em,5mm)[r]{\slshape $\longleftarrow$innen\strut}}% + \put(.2575\textwidth,10mm){\makebox(0em,5mm)[c]{\slshape $\longleftarrow$mittig\strut$\longrightarrow$}}% + \put(.05\textwidth,10mm){\thicklines\line(1,0){.415\textwidth}}% + % rechte Seite + \put(0.51\textwidth,20mm){\line(1,0){.49\textwidth}}% + \put(0.51\textwidth,5mm){\line(0,1){15mm}}% + \multiput(\textwidth,0)(0,-1mm){10}{\line(0,-1){.5mm}}% + \put(\textwidth,0mm){\line(0,1){20mm}}% + \put(.535\textwidth,15mm){\thicklines\line(1,0){.415\textwidth}}% + \put(.535\textwidth,10mm){\makebox(0em,5mm)[l]{\slshape innen\strut$\longrightarrow$}}% + \put(.95\textwidth,10mm){\makebox(0em,5mm)[r]{\slshape $\longleftarrow$außen\strut}}% + \put(.7425\textwidth,10mm){\makebox(0em,5mm)[c]{\slshape $\longleftarrow$mittig\strut$\longrightarrow$}}% + \put(.535\textwidth,10mm){\thicklines\line(1,0){.415\textwidth}}% + % Befehle für beide Seiten + \iffree{\color{red}}{}% + \put(.5\textwidth,0){\makebox(0,\baselineskip)[c]{\PName{inneres Kopfelement}}}% + \put(.5\textwidth,-5mm){\makebox(0,\baselineskip)[c]{\PName{mittleres Kopfelement}}}% + \put(.5\textwidth,-10mm){\makebox(0,\baselineskip)[c]{\PName{äußeres Kopfelement}}}% + \put(\dimexpr.5\textwidth-2em,.5\baselineskip){% + \put(-1.5em,.5\baselineskip){\vector(0,1){7mm}}% + \put(-4em,-1\baselineskip){\line(-1,0){\dimexpr .25\textwidth-7em\relax}}% + \put(-\dimexpr + .25\textwidth-3em\relax,-1\baselineskip){\vector(0,1){\dimexpr + 7mm+1.5\baselineskip\relax}} + \put(-3.25em,-2.25\baselineskip){\line(-1,0){\dimexpr .45\textwidth-8em\relax}}% + \put(-\dimexpr + .45\textwidth-4.75em\relax,-2.25\baselineskip){\vector(0,1){\dimexpr + 7mm+2.75\baselineskip\relax}} + }% + \put(\dimexpr.5\textwidth+2em,.5\baselineskip){% + \put(1.5em,.5\baselineskip){\vector(0,1){7mm}}% + \put(4em,-1\baselineskip){\line(1,0){\dimexpr .25\textwidth-7em\relax}} + \put(\dimexpr + .25\textwidth-3em\relax,-1\baselineskip){\vector(0,1){\dimexpr + 7mm+1.5\baselineskip\relax}} + \put(3.25em,-2.25\baselineskip){\line(1,0){\dimexpr .45\textwidth-8em\relax}} + \put(\dimexpr + .45\textwidth-4.75em\relax,-2.25\baselineskip){\vector(0,1){\dimexpr + 7mm+2.75\baselineskip\relax}} + }% + \end{picture} + % + }% + \put(0,0){% + \begin{picture}(\textwidth,30mm) + \thinlines + \small + % linke Seite + \put(0,0){\line(1,0){.49\textwidth}}% + \put(0,0){\line(0,1){20mm}}% + \multiput(0,20mm)(0,1mm){10}{\line(0,1){.5mm}}% + \put(.49\textwidth,0){\line(0,1){15mm}}% + \put(.05\textwidth,15mm){\thicklines\line(1,0){.415\textwidth}}% + \put(.05\textwidth,10mm){\makebox(0em,5mm)[l]{\slshape außen\strut$\longrightarrow$}}% + \put(.465\textwidth,10mm){\makebox(0em,5mm)[r]{\slshape $\longleftarrow$innen\strut}}% + \put(.2575\textwidth,10mm){\makebox(0em,5mm)[c]{\slshape $\longleftarrow$mittig\strut$\longrightarrow$}}% + \put(.05\textwidth,10mm){\thicklines\line(1,0){.415\textwidth}}% + % rechte Seite + \put(.51\textwidth,0){\line(1,0){.49\textwidth}}% + \put(.51\textwidth,0){\line(0,1){15mm}}% + \put(\textwidth,0){\line(0,1){20mm}}% + \multiput(\textwidth,20mm)(0,1mm){10}{\line(0,1){.5mm}}% + \put(.535\textwidth,15mm){\thicklines\line(1,0){.415\textwidth}}% + \put(.535\textwidth,10mm){\makebox(0em,5mm)[l]{\slshape innen\strut$\longrightarrow$}}% + \put(.95\textwidth,10mm){\makebox(0em,5mm)[r]{\slshape $\longleftarrow$außen\strut}}% + \put(.7425\textwidth,10mm){\makebox(0em,5mm)[c]{\slshape $\longleftarrow$mittig\strut$\longrightarrow$}}% + \put(.535\textwidth,10mm){\thicklines\line(1,0){.415\textwidth}}% + % Befehle für beide Seiten + \iffree{\color{red}}{}% + \put(.5\textwidth,20mm){\makebox(0,\baselineskip)[c]{\PName{inneres Fußelement}}}% + \put(.5\textwidth,25mm){\makebox(0,\baselineskip)[c]{\PName{mittleres Fußelement}}}% + \put(.5\textwidth,30mm){\makebox(0,\baselineskip)[c]{\PName{äußeres Fußelement}}}% + \put(\dimexpr.5\textwidth-2em,.5\baselineskip){% + \put(-1.5em,\dimexpr 20mm-.5\baselineskip\relax){\vector(0,-1){6mm}}% + \put(-3.5em,25mm){\line(-1,0){\dimexpr .25\textwidth-6.5em\relax}}% + \put(-\dimexpr .25\textwidth-3em\relax,25mm){\vector(0,-1){\dimexpr + .5\baselineskip + 11mm\relax}}% + \put(-3em,30mm){\line(-1,0){\dimexpr .45\textwidth-7.5em\relax}}% + \put(-\dimexpr .45\textwidth-4.5em\relax,30mm){\vector(0,-1){\dimexpr + .5\baselineskip + 16mm\relax}}% + }% + \put(\dimexpr.5\textwidth+2em,.5\baselineskip){% + \put(1.5em,\dimexpr 20mm-.5\baselineskip\relax){\vector(0,-1){6mm}}% + \put(3.5em,25mm){\line(1,0){\dimexpr .25\textwidth-6.5em\relax}}% + \put(\dimexpr .25\textwidth-3em\relax,25mm){\vector(0,-1){\dimexpr + .5\baselineskip + 11mm\relax}}% + \put(3em,30mm){\line(1,0){\dimexpr .45\textwidth-7.5em\relax}}% + \put(\dimexpr .45\textwidth-4.5em\relax,30mm){\vector(0,-1){\dimexpr + .5\baselineskip + 16mm\relax}}% + }% + \end{picture} + }% + \thinlines\small\iffree{\color{blue}}{}% + \put(0.055\textwidth,45mm){\vector(0,1){25mm}}% + \put(0.945\textwidth,45mm){\vector(0,1){25mm}}% + \put(0.055\textwidth,45mm){\vector(0,-1){30mm}}% + \put(0.945\textwidth,45mm){\vector(0,-1){30mm}}% + \put(0.055\textwidth,45mm){\line(1,0){\dimexpr + .445\textwidth-6.5em\relax}}% + \put(0.945\textwidth,45mm){\line(-1,0){\dimexpr + .445\textwidth-6.5em\relax}}% + \put(0.5\textwidth,45mm){\makebox(0,0)[c]{\PName{Dicke der inneren + Linien}}}% + \iffree{\color{green}}{}% + \put(0.025\textwidth,40mm){\line(0,1){35mm}}% + \put(0.025\textwidth,75mm){\vector(1,0){3.75mm}}% + \put(0.975\textwidth,40mm){\line(0,1){35mm}}% + \put(0.975\textwidth,40mm){\line(0,1){35mm}}% + \put(0.975\textwidth,75mm){\vector(-1,0){3.75mm}}% + \put(0.025\textwidth,40mm){\line(0,-1){30mm}}% + \put(0.025\textwidth,10mm){\vector(1,0){3.75mm}}% + \put(0.975\textwidth,40mm){\line(0,-1){30mm}}% + \put(0.975\textwidth,40mm){\line(0,-1){30mm}}% + \put(0.975\textwidth,10mm){\vector(-1,0){3.75mm}}% + \put(0.025\textwidth,40mm){\line(1,0){\dimexpr + .475\textwidth-6.5em\relax}}% + \put(0.975\textwidth,40mm){\line(-1,0){\dimexpr + .475\textwidth-6.5em\relax}}% + \put(0.5\textwidth,40mm){\makebox(0,0)[c]{\PName{Dicke der äußeren Linien}}}% + \end{picture} + \caption[{Elemente dreigeteilter Seitenstile}]{Elemente einer Doppelseite + der dreigeteilten Seitenstile mit den Anweisungen + \Macro{deftriplepagestyle}, \Macro{newtriplepagestyle}, + \Macro{providetriplepagestyle} und \Macro{renewtriplepagestyle}} + \label{fig:scrlayer-scrpage.triplepagestyle} +\end{figure} + + +Mit den hier dokumentierten Anweisungen ist es nicht möglich, einzelne Linien +zu aktivieren, beispielsweise nur eine Linie unter dem Seitenkopf aber keine +Linie über dem Seitenfuß zu haben. Verwenden Sie dafür stattdessen die +Anweisungen aus einem der vorherigen oder aus dem nachfolgenden Abschnitt. + +Die\textnote{Achtung!} Länge der einzelnen Elemente ist nicht durch das +Vorhandensein eines Nachbarelements beschränkt. Dadurch kann es bei +ungünstiger Verwendung passieren, dass ein Element eines oder beide +Nachbarelemente überschreibt. Der Anwender ist selbst für die Vermeidung +dieses ungünstigen Falles verantwortlich. Bei lebenden Kolumnentiteln ist dies +beispielsweise durch Verwendung des optionalen Arguments der +Gliederungsbefehle möglich. Siehe dazu die Anleitung zu den +Gliederungsbefehlen der jeweiligen Klasse. + +Während \Macro{deftriplepagestyle} einen Seitenstil unabhängig davon, ob er +bereits früher definiert wurde, immer definiert, werden mit +\Macro{newtriplepagestyle} und \Macro{providetriplepagestyle} nur Seitenstile +definiert, die derzeit noch nicht definiert sind. Ist ein Seitenstil hingegen +bereits definiert, so erhält man mit \Macro{newtriplepagestyle} eine +Fehlermeldung, während \Macro{providetriplepagestyle} die neue Definition +einfach verwirft. Ein vorhandener Seitenstil kann auch mit +\Macro{renewtriplepagestyle} umdefiniert werden. Diese Anweisung meldet einen +Fehler, falls ein Seitenstil dieses Namens noch nicht definiert war.% + +\BeginIndex{Cmd}{deftripstyle}% +Die bei \Package{scrpage2} vorhandene Anweisung \Macro{deftripstyle} +entspricht damit der neuen Anweisung \Macro{deftriplepagestyle}. Sie wurde aus +Gründen der Vereinheitlichung der Namen der Anweisungen jedoch umbenannt und +sollte nicht mehr verwendet werden. Wird sie dennoch verwendet, resultiert +daraus eine Warnung.% +\EndIndex{Cmd}{deftripstyle}% +\EndIndex{Cmd}{providetriplepagestyle}% +\EndIndex{Cmd}{renewtriplepagestyle}% +\EndIndex{Cmd}{newtriplepagestyle}% +\EndIndex{Cmd}{deftriplepagestyle}% + + +\section{Definition komplexer Seitenstile} +\label{sec:scrlayer-scrpage-experts.pagestyle.experts} + +Neben den vordefinierten Seitenstilen und der Definition eigener +Seitenstil-Paare, sowie der nicht mehr empfohlenen Möglichkeit der Definition +von Seitenstilen, bei denen sowohl der Kopf als auch der Fuß fest in drei +Elemente aufgeteilt ist, bietet \Package{scrlayer-scrpage} auch noch eine eher +grundlegende Möglichkeit der Definition von Seitenstilen. Die in den +vorherigen Abschnitten erläuterten Konzepte greifen bei der Implementierung +alle auf diese Möglichkeit zurück. Aufgrund ihrer Komplexität wird diese +Schnittstelle jedoch nur erfahrenen Anwendern empfohlen. Weniger erfahrene +Anwender können mit den vorgenannten Möglichkeiten bereits nahezu alles +erreichen, was auch mit dieser grundlegenden Schnittstelle möglich +ist. Weniger erfahrene Anwender dürfen den Rest dieses Kapitels daher gerne +überspringen. + +\begin{Declaration} + \Macro{defpagestyle}% + \Parameter{Name}\Parameter{Kopfdefinition}\Parameter{Fußdefinition}\\ + \Macro{newpagestyle}% + \Parameter{Name}\Parameter{Kopfdefinition}\Parameter{Fußdefinition}\\ + \Macro{providepagestyle}% + \Parameter{Name}\Parameter{Kopfdefinition}\Parameter{Fußdefinition}\\ + \Macro{renewpagestyle}% + \Parameter{Name}\Parameter{Kopfdefinition}\Parameter{Fußdefinition}% +\end{Declaration} +\BeginIndex{Cmd}{defpagestyle}% +\BeginIndex{Cmd}{newpagestyle}% +\BeginIndex{Cmd}{providepagestyle}% +\BeginIndex{Cmd}{renewpagestyle}% +Diese Anweisungen dienen der Definition eines einzelnen Seitenstils mit +maximaler Flexibilität. Dabei \PName{Name} der Name des Seitenstils, der +definiert werden soll. + +Die beiden Parameter \PName{Kopfdefinition} und \PName{Fußdefinition} haben +den identischen Aufbau: +\begin{quote}\raggedright + \texttt{(\PName{Länge der oberen Linie},\PName{Dicke der oberen Linie})\%\\ + \Parameter{Definition für linke Seiten im doppelseitigen Layout}\%\\ + \Parameter{Definition für rechte Seiten im doppelseitigen Layout}\%\\ + \Parameter{Definition für Seiten im einseitigen Layout}\%\\ + (\PName{Länge der unteren Linie},\PName{Dicke der unteren Linie})% + } +\end{quote} +Dabei sind die Argumente in den runden Klammern optional, das heißt, sie +können zusammen mit den Klammern weggelassen werden. In diesem Fall richtigen +sich die Längen und Dicken je nach Linie nach den Angaben der Option +\Option{headtopline}, \Option{headsepline}, \Option{footsepline} oder +\Option{footbotline} (siehe \autoref{sec:scrlayer-scrpage.pagestyle.content}, +\autopageref{desc:scrlayer-scrpage.option.headtopline}). + +Die drei Argumente mit den Definitionen sind obligatorisch und werden je nach +Seite und Layouteinstellung verwendet. Der Inhalt der Definitionen ist frei +wählbar. Für Seitenstile mit Kolumnentitel wird jedoch die Verwendung von +\Macro{headmark}, \Macro{leftmark} oder \Macro{rightmark} innerhalb der +Definitionen empfohlen. Keinesfalls sollte man hier direkt eine +Gliederungsnummer oder einen Überschriftentext als Kolumnentitel +angeben. Aufgrund des asynchronen Seitenaufbaus von \LaTeX{} kann sonst die +falsche Nummer oder der falsche Text im Seitenkopf erscheinen. + +Bei \Macro{defpagestyle} wird der Seitenstil unabhängig davon, ob er bereits +existiert oder nicht, neu definiert. Demgegenüber meldet \Macro{newpagestyle} +einen Fehler, wenn bereits ein Seitenstil gleichen Namens existiert. Im +Unterschied dazu, wird die Definition bei \Macro{providepagestyle} ignoriert, +falls der \PName{Name} bereits für einen Seitenstil verwendet wurde. Umgekehrt +kann mit \Macro{renewpagestyle} nur ein bereits vorhandener Seitenstil +umdefiniert werden. Für einen neuen Namen meldet diese Anweisung dagegen einen +Fehler. + +Intern basiert diese Anweisung auf der Anweisung \Macro{DeclareLayerPageStyle} +des Pakets \Package{scrlayer}. Dabei werden für einen Seitenstil \PName{Name} +die Ebenen \PName{Name}\PValue{.head.above.line} für die Linie über dem Kopf, +\PName{Name}\PValue{.head.odd} für den Kopf von rechten Seiten im +doppelseitigen Layout, \PName{Name}\PValue{.head.even} für den Kopf von linken +Seiten im doppelseitigen Layout, \PName{Name}\PValue{.head.oneside} für den +Kopf von Seiten im einseitigen Layout, \PName{Name}\PValue{.head.below} für +die Linie unter dem Kopf, \PName{Name}\PValue{.foot.above.line} für die Linie +über dem Fuß, \PName{Name}\PValue{.foot.odd} für den Fuß von rechten Seiten im +doppelseitigen Layout, \PName{Name}\PValue{.foot.even} für den Fuß von linken +Seiten im doppelseitigen Layout, \PName{Name}\PValue{.foot.oneside} für den +Fuß von Seiten im einseitigen Layout und \PName{Name}\PValue{.foot.below} für +die Linie unter dem Fuß definiert. Näheres zu Ebenen und Ebenen-Seitenstilen +ist \autoref{cha:scrlayer} ab \autopageref{cha:scrlayer} in +\autoref{part:forExperts} zu entnehmen.% +% +\begin{Example} + Angenommen, Sie wollen den gesamten Kopf des Seitenstil + \Pagestyle{scrheadings} mit einer Farbe hinterlegen. Da Sie die + Einleitung zu diesem Kapitel gelesen haben, wissen Sie, dass + \Pagestyle{scrheadings} letztlich ein Ebenen-Seitenstil ist, der unter + anderem aus den Ebenen \PValue{scrheadings.head.even}, + \PValue{scrheadings.head.odd} und \PValue{scrheadings.head.oneside} + besteht. Sie definieren nun drei weitere Ebenen für deren Hintergrund und + fügen diese am Anfang des Seitenstils ein: +\begin{lstcode} + \documentclass{scrartcl} + \usepackage[automark]{scrlayer-scrpage} + \usepackage{xcolor} + \usepackage{blindtext} + \DeclareLayer[clone=scrheadings.head.oneside, + contents={% + \color{yellow}\rule[-\dp\strutbox]{\layerwidth}{\layerheight}% + }% + ]{scrheadings.head.oneside.background} + \DeclareLayer[clone=scrheadings.head.odd, + contents={% + \color{yellow}\rule[-\dp\strutbox]{\layerwidth}{\layerheight}% + }% + ]{scrheadings.head.odd.background} + \DeclareLayer[clone=scrheadings.head.even, + contents={% + \color{yellow}\rule[-\dp\strutbox]{\layerwidth}{\layerheight}% + }% + ]{scrheadings.head.even.background} + \AddLayersAtBeginOfPageStyle{scrheadings}{% + scrheadings.head.oneside.background,% + scrheadings.head.odd.background,% + scrheadings.head.even.background% + } + \pagestyle{scrheadings} + \begin{document} + \blinddocument + \end{document} +\end{lstcode} + Wie Sie sehen, wurden in dem Beispiel drei Ebenen verwendet, damit Position + und Größe der Hintergrund-Ebenen per Option \Option{clone} einfach jeweils + von der Ebene für den Kopf kopiert werden konnten. Das ist einfacher, als + nur eine Hintergrundebene zu verwenden und für diese die Position + umständlich dynamisch zu bestimmen. + + Der farbige Hintergrund selbst wurde in diesem Beispiel mit einer + \Macro{rule}-Anweisung gesetzt. Für die Größe wurde dabei mit + \Macro{layerwidth} und \Macro{layerheight} die aktuelle Breite und Höhe der + Ebene verwendet. Diese wurde per optionalem Argument um die Höhe der + Unterlängen \Macro{dp}\Macro{strutbox} nach unten verschoben. +\end{Example} +% +Statt wie im Beispiel für die Hintergrundfarbe neue Ebenen hinzuzufügen, hätte +man das Problem übrigens auch mit \Macro{colorbox} und \Macro{chead} lösen +können. Es wird empfohlen, eine entsprechende Lösung als Übung zu +erarbeiten. Ebenso hätte man die Hintergrundebenen auch einzeln und jeweils +unmittelbar vor der entsprechenden Inhaltsebene einfügen können. Auch dies +sei als Übung empfohlen.% +\EndIndex{Cmd}{renewpagestyle}% +\EndIndex{Cmd}{providepagestyle}% +\EndIndex{Cmd}{newpagestyle}% +\EndIndex{Cmd}{defpagestyle}% + +\begin{Declaration} + \KOption{hmode}\PValue{Ein-Aus-Wert} +\end{Declaration} +\BeginIndex{Option}{hmode}% +Bei \Package{scrpage2} wurden die Köpfe und Füße der Seitenstile noch +grundsätzlich im horizontalen Modus ausgegeben. Bei \Package{scrlayer-scrpage} +wird hingegen in der Voreinstellung erst durch entsprechende Ausgaben selbst +in den horizontalen Modus geschaltet. Aktiviert man jedoch Option +\Option{hmode} verhält sich \Package{scrlayer-scrpage} auch in dieser Hinsicht +kompatibel mit \Package{scrpage2} und schaltet bereits vor der Ausgabe in den +horizontalen Modus. Dies kann Auswirkungen sowohl auf die Verarbeitung von +Leerzeichen am Anfang der Ausgabe als auch auf die vertikale Ausrichtung +haben. + +Die Option versteht die Standardwerte für einfache Schalter, die in +\autoref{tab:truefalseswitch} auf \autopageref{tab:truefalseswitch} angegeben +sind. In der Voreinstellung ist der Schalter deaktiviert.% +\EndIndex{Option}{hmode}% +% +\EndIndex{Package}{scrlayer-scrpage}% + +%%% Local Variables: +%%% mode: latex +%%% mode: flyspell +%%% coding: iso-latin-1 +%%% ispell-local-dictionary: "de_DE" +%%% TeX-master: "../guide" +%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlayer-scrpage.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlayer-scrpage.tex new file mode 100644 index 00000000000..9b556d5cf21 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlayer-scrpage.tex @@ -0,0 +1,1205 @@ +% ====================================================================== +% scrlayer-scrpage.tex +% Copyright (c) Markus Kohm, 2013 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ---------------------------------------------------------------------- +% scrlayer-scrpage.tex +% Copyright (c) Markus Kohm, 2013 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% +% Chapter about scrlayer-scrpage of the KOMA-Script guide +% +% ---------------------------------------------------------------------- +% +% Kapitel über scrlayer-scrpage in der KOMA-Script-Anleitung +% +% ============================================================================ + +\KOMAProvidesFile{scrlayer-scrpage.tex}% + [$Date: 2013-12-18 07:42:31 +0100 (Mi, 18. Dez 2013) $ + KOMA-Script guide (chapter:scrlayer-scrpage)] + +\chapter[{Kopf- und Fußzeilen mit \Package{scrlayer-scrpage}}] + {Kopf-\ChangedAt{v3.12}{\Package{scrlayer-scrpage}} und Fußzeilen mit + \Package{scrlayer-scrpage}} +\labelbase{scrlayer-scrpage} +% +\BeginIndex{Package}{scrlayer-scrpage}% +\begin{Explain} + Bis \KOMAScript~3.11b war das Paket + \Package{scrpage2}\IndexPackage{scrpage2} das Mittel der Wahl, wenn es darum + ging, den Kopf und den Fuß der Seite über das hinaus zu verändern, was die + \KOMAScript-Klassen mit den Seitenstilen \Pagestyle{headings}, + \Pagestyle{myheadings}, \Pagestyle{plain} und \Pagestyle{empty} boten. Bis + 2001 gab es dafür auch noch das Paket + \Package{scrpage}\IndexPackage{scrpage}, das aber seit 2013 nicht mehr mit + \KOMAScript{} zusammen verteilt wird. + + Seit 2013 ist das Paket \Package{scrlayer}\IndexPackage{scrlayer} als neuer, + grundlegender Baustein in \KOMAScript{} enthalten. Dieses Paket bietet ein + Ebenenmodell, sowie ein darauf basierendes Seitenstil-Modell an. Für die + direkte Verwendung durch den durchschnittlichen Anwender ist die + Schnittstelle dieses Pakets jedoch fast schon zu flexibel und damit + einhergehend auch nicht leicht zu durchschauen. Näheres zu dieser + Schnittstelle ist \autoref{cha:scrlayer} in \autoref{part:forExperts} zu + entnehmen. Einige wenige Möglichkeiten, die eigentlich zu \Package{scrlayer} + gehören und deshalb in jenem Kapitel noch einmal aufgegriffen werden, sind + jedoch auch in diesem Kapitel dokumentiert, da sie für die Verwendung von + \Package{scrlayer-scrpage} ebenfalls benötigt werden. + + Viele Anwender sind bereits mit den Anweisungen aus \Package{scrpage2} + vertraut. Deshalb wurde mit \Package{scrlayer-scrpage} ein Paket geschaffen, + das basierend auf \Package{scrlayer} eine mit \Package{scrpage2} weitgehend + kompatible und gleichzeitig stark erweiterte Anwender-Schnittstelle + bereitstellt. Wer bereits mit \Package{scrpage2} vertraut ist und dort keine + unsauberen Rückgriffe auf interne Anweisungen getätigt hat, kann daher in + der Regel \Package{scrpage2} recht einfach durch \Package{scrlayer-scrpage} + ersetzen. Das gilt mit der genannten Einschränkung auch für die meisten + Beispiele in \LaTeX-Büchern oder im Internet. + +\iffree{}{Mit Erscheinen dieses Buches wird \Package{scrlayer-scrpage} für + \KOMAScript{} das empfohlene Mittel der Wahl, wenn es um Änderungen der + vordefinierten Seitenstile geht. Die Verwendung des als veraltet + anzusehenden Pakets \Package{scrpage2}\IndexPackage[indexmain]{scrpage2}% + \important{\Package{scrpage2}} wird hingegen nicht mehr empfohlen. Daher ist + die Anleitung zu diesem veralteten Paket auch nicht mehr Bestandteil dieses + Buches. Wenn Sie auf ältere Dokumente stoßen, die noch \Package{scrpage2} + verwenden, sollten Sie eine Umstellung auf \Package{scrlayer-scrpage} + erwägen. Für alle Fälle finden Sie in diesem Kapitel auch einige Hinweise + zur Verwendung von \Package{scrpage2}.} +\end{Explain} + +Neben \Package{scrlayer-scrpage}\iffree{oder \Package{scrpage2}}{} wäre auch +\Package{fancyhdr} (siehe \cite{package:fancyhdr}) grundsätzlich geeignet, um +Kopf und Fuß der Seiten zu konfigurieren. Allerdings unterstützt dieses Paket +diverse Möglichkeiten von \KOMAScript{}, angefangen von Änderungen der Schrift +über das Elemente-Modell (siehe \Macro{setkomafont}, \Macro{addtokomafont} und +\Macro{usekomafont} in \autoref{sec:maincls.textmarkup}, ab +\autopageref{desc:maincls.cmd.setkomafont}) bis hin zum konfigurierbaren +Format der Gliederungsnummern in Kolumnentiteln (siehe Option \Option{numbers} +und beispielsweise Anweisung \Macro{chaptermarkformat} in +\autoref{sec:maincls.structure}, \autopageref{desc:maincls.option.numbers} und +\autopageref{desc:maincls.cmd.chaptermarkformat}), nicht. Daher wird für die +Verwendung mit den \KOMAScript-Klassen das neue Paket +\Package{scrlayer-scrpage} empfohlen. \iffree{Bei Problemen damit kann auch + auf \Package{scrpage2} zurückgegriffen werden.}{\ignorespaces} Natürlich +kann \Package{scrlayer-scrpage} auch mit anderen Klassen, beispielsweise den +Standardklassen verwendet werden. + +Über die in diesem Kapitel erklärten Möglichkeiten hinaus bietet das Paket +\Package{scrlayer-scrpage} weiteres, das jedoch nur für einige, wenige +Anwender von Interesse sein dürfte und daher in +\autoref{cha:scrlayer-scrpage-experts} von \autoref{part:forExperts} ab +\autopageref{cha:scrlayer-scrpage-experts} ausgeführt wird. Dennoch: Falls die +hier in \autoref{part:forAuthors} dokumentierten Möglichkeiten für Sie nicht +ausreichen, sei Ihnen auch jenes Kapitel nahe gelegt. + +\LoadCommon{0} % \section{Frühe oder späte Optionenwahl} + +\LoadCommon{20} % \section{Höhe von Kopf und Fuß} + +\LoadCommon{5} % \section{Textauszeichnung} + +\section{Verwendung vordefinierter Seitenstile} +\label{sec:scrlayer-scrpage.predefined.pagestyles} + +Die einfachste Möglichkeit, mit \Package{scrlayer-scrpage} zu seinem +Wunschdesign für Kopf und Fuß der Seite zu gelangen, ist die Verwendung eines +vorgefertigten Seitenstils. +% +\iffalse % Umbruchoptimierung + In diesem Abschnitt werden die vom Paket \Package{scrlayer-scrpage} bereits + beim Laden definierten Seitenstile vorgestellt. Darüber hinaus werden + diejenigen Befehle erklärt, mit denen grundlegende Einstellungen bei diesen + Seitenstilen vorgenommen werden können. Weitere Optionen, Befehle und + Hintergründe sind in den nachfolgenden Abschnitten, aber auch in + \autoref{sec:scrlayer-scrpage-experts.pagestyle.pairs} in + \autoref{part:forExperts} zu finden.% +\fi + +\begin{Declaration} + \Pagestyle{scrheadings}\\ + \Pagestyle{plain.scrheadings} +\end{Declaration} +\BeginIndex{Pagestyle}{scrheadings}% +\BeginIndex{Pagestyle}{plain.scrheadings}% +Das Paket \Package{scrlayer-scrpage} stellt zwei Seitenstile zur Verfügung, +die nach eigenen Wünschen umgestaltet werden können. Als erstes wäre der +Seitenstil \Pagestyle{scrheadings}\important{\Pagestyle{scrheadings}} zu +nennen. Dieser ist als Seitenstil mit Kolumnentitel vorgesehen. Er ähnelt in +der Voreinstellung dem Seitenstil +\Pagestyle{headings}\IndexPagestyle{headings} der Standard- oder der +\KOMAScript-Klassen. Was genau im Kopf und Fuß ausgegeben wird, ist über die +nachfolgend beschriebenen Befehle und Optionen einstellbar. + +Als zweites ist der Seitenstil +\Pagestyle{plain.scrheadings}\important{\Pagestyle{plain.scrheadings}} zu +nennen. Dieser ist als Seitenstil ohne Kolumnentitel vorgesehen. Er ähnelt in +der Voreinstellung dem Seitenstil \Pagestyle{plain}\IndexPagestyle{plain} der +Standard- oder der \KOMAScript-Klassen. Was genau im Kopf und Fuß ausgegeben +wird, ist auch hier über die nachfolgend beschriebenen Befehle und Optionen +einstellbar. + +Natürlich kann auch \Pagestyle{scrheadings} als Seitenstil ohne Kolumnentitel +und \Pagestyle{plain.scrheadings} als Seitenstil mit Kolumnentitel +konfiguriert werden. Es ist jedoch zweckmäßig, sich an die vorgenannte +Konvention zu halten. Die beiden Seitenstile beeinflussen sich nämlich in +gewisser Weise gegenseitig. Sobald einer der Seitenstile einmal ausgewählt +wurde, ist \Pagestyle{scrheadings} auch unter dem Namen +\Pagestyle{headings}\important{\Pagestyle{headings}}\IndexPagestyle{headings} +und der Seitenstil \Pagestyle{plain.scrheadings} auch unter dem Namen +\Pagestyle{plain}\important{\Pagestyle{plain}}\IndexPagestyle{plain} +aktivierbar. Das hat den Vorteil, dass bei Klassen, die automatisch zwischen +\Pagestyle{headings} und \Pagestyle{plain} umschalten, durch einmalige Auswahl +von \Pagestyle{scrheadings} oder \Pagestyle{plain.scrheadings} nun zwischen +diesen beiden Stilen umgeschaltet wird. Direkte Anpassungen der entsprechenden +Klassen sind nicht erforderlich. Die beiden Seitenstile stellen also quasi ein +Paar dar, das als Ersatz für \Pagestyle{headings} und \Pagestyle{plain} +verwendet werden kann. Sollten weitere solche Paare benötigt werden, so sei +auf \autoref{sec:scrlayer-scrpage-experts.pagestyle.pairs} in +\autoref{part:forExperts} verwiesen. + +Für\important{\Package{scrpage2}} frühere Benutzer des alten +\KOMAScript-Pakets \Package{scrpage2} sei ausdrücklich noch darauf +hingewiesen, dass \Pagestyle{plain.scrheadings} aus Gründen der Kompatibilität +mit jenem Paket auch unter dem Alias-Namen +\Pagestyle{scrplain}\IndexPagestyle[indexmain]{scrplain} angesprochen werden +kann.\iffree{}{ Bei Verwendung von \Package{scrpage2}\IndexPackage{scrpage2} + existiert hingegen \Pagestyle{plain.scrheadings} nicht. Dessen Funktion wird + dann vollständig vom Seitenstil \Pagestyle{scrplain} übernommen.} +\EndIndex{Pagestyle}{plain.scrheadings}% +\EndIndex{Pagestyle}{scrheadings}% + +\begin{Declaration} + \Macro{lehead}\OParameter{Inhalt plain.scrheadings}% + \Parameter{Inhalt scrheadings}\\ + \Macro{cehead}\OParameter{Inhalt plain.scrheadings}% + \Parameter{Inhalt scrheadings}\\ + \Macro{rehead}\OParameter{Inhalt plain.scrheadings}% + \Parameter{Inhalt scrheadings}\\ + \Macro{lohead}\OParameter{Inhalt plain.scrheadings}% + \Parameter{Inhalt scrheadings}\\ + \Macro{cohead}\OParameter{Inhalt plain.scrheadings}% + \Parameter{Inhalt scrheadings}\\ + \Macro{rohead}\OParameter{Inhalt plain.scrheadings}% + \Parameter{Inhalt scrheadings} +\end{Declaration} +\BeginIndex{Cmd}{lehead}% +\BeginIndex{Cmd}{cehead}% +\BeginIndex{Cmd}{rehead}% +\BeginIndex{Cmd}{lohead}% +\BeginIndex{Cmd}{cohead}% +\BeginIndex{Cmd}{rohead}% +Was in den Kopf der Seitenstile \Pagestyle{plain.scrheadings}\iffree{}{ -- + beim veralteten Paket + \Package{scrpage2}\IndexPackage{scrpage2}\important{\Package{scrpage2}} + entsprechend in den Kopf von \Pagestyle{scrplain} --} und +\Pagestyle{scrheadings} geschrieben wird, ist mit Hilfe dieser Befehle +einstellbar. Dabei setzt das optionale Argument jeweils den Inhalt eines +Elements in \Pagestyle{plain.scrheadings}\iffree{}{ beziehungsweise + \Pagestyle{scrplain}}, während das obligatorische Argument jeweils einen +Inhalt in \Pagestyle{scrheadings} setzt. + +Die Inhalte für gerade, also linke Seiten\textnote{linke Seite} werden mit den +Befehlen \Macro{lehead}, \Macro{cehead} und \Macro{rehead} gesetzt. Das +»\texttt{e}« an zweiter Stelle des Befehlsnamens steht dabei für »\emph{even}« +(engl. für »gerade«). + +Die Inhalte für ungerade, also rechte Seiten\textnote{rechte Seite} werden mit +den Befehlen \Macro{lohead}, \Macro{cohead} und \Macro{rohead} gesetzt. Das +»\texttt{o}« an zweiter Stelle des Befehlsnamens steht dabei für »\emph{odd}« +(engl. für »ungerade«). + +Es\textnote{Achtung!} sei an dieser Stelle noch einmal darauf hingewiesen, +dass im einseitigen Satz nur rechte Seiten existieren und diese von \LaTeX{} +unabhängig von ihrer Nummer als ungerade Seiten bezeichnet werden. + +Jeder Kopf eines Seitenstils besitzt ein linksbündiges\textnote{linksbündig} +Element, das mit \Macro{lehead} respektive \Macro{lohead} gesetzt werden +kann. Das »\texttt{l}« am Anfang des Befehlsnamens steht hier für »\emph{left + aligned}« (engl. für »linksbündig«). + +Ebenso besitzt jeder Kopf eines Seitenstils ein zentriert\textnote{zentriert} +gesetztes Element, das mit \Macro{cehead} respektive \Macro{cohead} gesetzt +werden kann. Das »\texttt{c}« am Anfang des Befehlsnamens steht hier für +»\emph{centred}« (engl. für »zentriert«). + +Entsprechend besitzt jeder Kopf eines Seitenstil auch ein +rechtsbündiges\textnote{rechtsbündig} Element, das mit \Macro{rehead} +respektive \Macro{rohead} gesetzt werden kann. Das »\texttt{r}« am Anfang des +Befehlsnamens steht hier für »\emph{right aligned}« (engl. für +»rechtsbündig«). + +\BeginIndex{FontElement}{pagehead}% +\BeginIndex{FontElement}{pageheadfoot}% +Diese Elemente besitzen jedoch nicht jedes für sich eine Schriftzuordnung mit +Hilfe der Befehle \Macro{setkomafont} und \Macro{addtokomafont} (siehe +\autoref{sec:maincls.textmarkup}, \autopageref{desc:maincls.cmd.setkomafont}), +sondern alle zusammen über das Element +\FontElement{pagehead}\important{\FontElement{pagehead}}. Vor diesem wird +außerdem noch das Element +\FontElement{pageheadfoot}\important{\FontElement{pageheadfoot}} +angewandt. Die Voreinstellungen für diese beiden Elemente sind +\autoref{tab:scrlayer-scrpage.fontelements}, +\autopageref{tab:scrlayer-scrpage.fontelements} zu entnehmen.% +\EndIndex{FontElement}{pageheadfoot}% +\EndIndex{FontElement}{pagehead}% + +In \autoref{fig:scrlayer-scrpage.head} ist die Bedeutung der einzelnen Befehle +für den Kopf der Seiten im doppelseitigen Modus noch einmal skizziert.% +% +\begin{figure}[tp] + \centering + \begin{picture}(\textwidth,30mm)(0,-10mm) + \thinlines + \small\ttfamily + % linke Seite + \put(0,20mm){\line(1,0){.49\textwidth}}% + \put(0,0){\line(0,1){20mm}}% + \multiput(0,0)(0,-1mm){10}{\line(0,-1){.5mm}}% + \put(.49\textwidth,5mm){\line(0,1){15mm}}% + \put(.05\textwidth,10mm){% + \iffree{\color{red}}{}% + \put(-.5em,0){\line(1,0){4em}}% + \multiput(3.5em,0)(.25em,0){5}{\line(1,0){.125em}}% + \put(-.5em,0){\line(0,1){\baselineskip}}% + \put(-.5em,\baselineskip){\line(1,0){4em}}% + \multiput(3.5em,\baselineskip)(.25em,0){5}{\line(1,0){.125em}}% + \makebox(4em,5mm)[l]{\Macro{lehead}}% + }% + \put(.465\textwidth,10mm){% + \iffree{\color{blue}}{}% + \put(-4em,0){\line(1,0){4em}}% + \multiput(-4em,0)(-.25em,0){5}{\line(1,0){.125em}}% + \put(0,0){\line(0,1){\baselineskip}}% + \put(-4em,\baselineskip){\line(1,0){4em}}% + \multiput(-4em,\baselineskip)(-.25em,0){5}{\line(1,0){.125em}}% + \put(-4.5em,0){\makebox(4em,5mm)[r]{\Macro{rehead}}}% + }% + \put(.2525\textwidth,10mm){% + \iffree{\color{green}}{}% + \put(-2em,0){\line(1,0){4em}}% + \multiput(2em,0)(.25em,0){5}{\line(1,0){.125em}}% + \multiput(-2em,0)(-.25em,0){5}{\line(1,0){.125em}}% + \put(-2em,\baselineskip){\line(1,0){4em}}% + \multiput(2em,\baselineskip)(.25em,0){5}{\line(1,0){.125em}}% + \multiput(-2em,\baselineskip)(-.25em,0){5}{\line(1,0){.125em}}% + \put(-2em,0){\makebox(4em,5mm)[c]{\Macro{cehead}}}% + }% + % rechte Seite + \put(.51\textwidth,20mm){\line(1,0){.49\textwidth}}% + \put(.51\textwidth,5mm){\line(0,1){15mm}}% + \put(\textwidth,0){\line(0,1){20mm}}% + \multiput(\textwidth,0)(0,-1mm){10}{\line(0,-1){.5mm}}% + \put(.5325\textwidth,10mm){% + \iffree{\color{blue}}{}% + \put(0,0){\line(1,0){4em}}% + \multiput(4em,0)(.25em,0){5}{\line(1,0){.125em}}% + \put(0,0){\line(0,1){\baselineskip}}% + \put(0em,\baselineskip){\line(1,0){4em}}% + \multiput(4em,\baselineskip)(.25em,0){5}{\line(1,0){.125em}}% + \put(.5em,0){\makebox(4em,5mm)[l]{\Macro{lohead}}}% + }% + \put(.965\textwidth,10mm){% + \iffree{\color{red}}{}% + \put(-4em,0){\line(1,0){4em}}% + \multiput(-4em,0)(-.25em,0){5}{\line(1,0){.125em}}% + \put(0,0){\line(0,1){\baselineskip}}% + \put(-4em,\baselineskip){\line(1,0){4em}}% + \multiput(-4em,\baselineskip)(-.25em,0){5}{\line(1,0){.125em}}% + \put(-4.5em,0){\makebox(4em,5mm)[r]{\Macro{rohead}}}% + }% + \put(.75\textwidth,10mm){% + \iffree{\color{green}}{}% + \put(-2em,0){\line(1,0){4em}}% + \multiput(2em,0)(.25em,0){5}{\line(1,0){.125em}}% + \multiput(-2em,0)(-.25em,0){5}{\line(1,0){.125em}}% + \put(-2em,\baselineskip){\line(1,0){4em}}% + \multiput(2em,\baselineskip)(.25em,0){5}{\line(1,0){.125em}}% + \multiput(-2em,\baselineskip)(-.25em,0){5}{\line(1,0){.125em}}% + \put(-2em,0){\makebox(4em,5mm)[c]{\Macro{cohead}}}% + }% + % Befehle für beide Seiten + \iffree{\color{blue}}{}% + \put(.5\textwidth,0){\makebox(0,\baselineskip)[c]{\Macro{ihead}}}% + \iffree{\color{green}}{}% + \put(.5\textwidth,-5mm){\makebox(0,\baselineskip)[c]{\Macro{chead}}} + \iffree{\color{red}}{}% + \put(.5\textwidth,-10mm){\makebox(0,\baselineskip)[c]{\Macro{ohead}}} + \put(\dimexpr.5\textwidth-2em,.5\baselineskip){% + \iffree{\color{blue}}{}% + \put(0,0){\line(-1,0){1.5em}}% + \put(-1.5em,0){\vector(0,1){5mm}}% + \iffree{\color{green}}{}% + \put(0,-1.25\baselineskip){\line(-1,0){\dimexpr .25\textwidth-2em\relax}}% + \put(-\dimexpr + .25\textwidth-2em\relax,-1.25\baselineskip){\vector(0,1){\dimexpr + 5mm+1.25\baselineskip\relax}} + \iffree{\color{red}}{}% + \put(0,-2.5\baselineskip){\line(-1,0){\dimexpr .45\textwidth-4em\relax}}% + \put(-\dimexpr + .45\textwidth-4em\relax,-2.5\baselineskip){\vector(0,1){\dimexpr + 5mm+2.5\baselineskip\relax}} + }% + \put(\dimexpr.5\textwidth+2em,.5\baselineskip){% + \iffree{\color{blue}}{}% + \put(0,0){\line(1,0){1.5em}}% + \put(1.5em,0){\vector(0,1){5mm}}% + \iffree{\color{green}}{}% + \put(0,-1.25\baselineskip){\line(1,0){\dimexpr .25\textwidth-2em\relax}} + \put(\dimexpr + .25\textwidth-2em\relax,-1.25\baselineskip){\vector(0,1){\dimexpr + 5mm+1.25\baselineskip\relax}} + \iffree{\color{red}}{}% + \put(0,-2.5\baselineskip){\line(1,0){\dimexpr .45\textwidth-4em\relax}} + \put(\dimexpr + .45\textwidth-4em\relax,-2.5\baselineskip){\vector(0,1){\dimexpr + 5mm+2.5\baselineskip\relax}} + }% + \end{picture} + \caption[Befehle zum Setzen des Seitenkopfes]% + {Die Bedeutung der Befehle zum Setzen der Inhalte des Kopfs eines + Seitenstils für die Seitenköpfe einer schematischen Doppelseite} + \label{fig:scrlayer-scrpage.head} +\end{figure} +% +\begin{Example} + Angenommen, Sie verfassen einen kurzen Artikel und wollen, dass im Kopf der + Seiten links der Name des Autors und rechts der Titel des Artikels + steht. Sie schreiben daher beispielsweise: +\begin{lstcode} + \documentclass{scrartcl} + \usepackage{scrlayer-scrpage} + \lohead{Peter Musterheinzel} + \rohead{Seitenstile mit \KOMAScript} + \pagestyle{scrheadings} + \begin{document} + \title{Seitenstile mit \KOMAScript} + \author{Peter Musterheinzel} + \maketitle + \end{document} +\end{lstcode} + Doch, was ist das? Auf der ersten Seite erscheint nur eine Seitenzahl im + Fuß, der Kopf hingegen bleibt leer! + + Die Erklärung dafür ist einfach: Die Klasse \Class{scrartcl} schaltet wie + auch die Standardklasse \Class{article} für die Seite mit dem Titelkopf in + der Voreinstellung auf den Seitenstil \Pagestyle{plain}. Nach der Anweisung + \Macro{pagestyle}\PParameter{scrheadings} in der Präambel unseres Beispiels + führt dies tatsächlich zur Verwendung des Seitenstils + \Pagestyle{plain.scrheadings} für die Seite mit dem Titelkopf. Dieser + Seitenstil ist bei Verwendung einer \KOMAScript-Klasse mit leerem Kopf und + Seitenzahl im Fuß vorkonfiguriert. Da im Beispiel das optionale Argument von + \Macro{lohead} und \Macro{rohead} gar nicht verwendet wird, bleibt der + Seitenstil \Pagestyle{plain.scrheadings} unverändert. Das Ergebnis ist für + die erste Seite also tatsächlich korrekt. + + Fügen Sie jetzt im Beispiel nach \Macro{maketitle} so viel Text ein, dass + eine zweite Seite ausgegeben wird. Sie können dazu auch einfach + \Macro{usepackage}\PParameter{lipsum}\IndexPackage{lipsum} in der + Dokumentpräambel und \Macro{lipsum}\IndexCmd{lipsum} nach \Macro{maketitle} + ergänzen. Wie Sie sehen werden, enthält der Kopf der zweiten Seite nun, + genau wie gewünscht, den Namen des Autors und den Titel des Dokuments. + + Zum Vergleich sollten Sie zusätzlich das optionale Argument der Anweisungen + \Macro{lohead} und \Macro{rohead} mit einem Inhalt versehen. Ändern Sie das + Beispiel dazu wie folgt ab: +\begin{lstcode} + \documentclass{scrartcl} + \usepackage{scrlayer-scrpage} + \lohead[Peter Musterheinzel] + {Peter Musterheinzel} + \rohead[Seitenstile mit \KOMAScript] + {Seitenstile mit \KOMAScript} + \pagestyle{scrheadings} + \usepackage{lipsum} + \begin{document} + \title{Seitenstile mit \KOMAScript} + \author{Peter Musterheinzel} + \maketitle + \lipsum + \end{document} +\end{lstcode} + Jetzt haben Sie den Kopf auch auf der ersten Seite direkt über dem Titelkopf + selbst. Das kommt daher, dass Sie mit den beiden optionalen Argumenten den + Seitenstil \Pagestyle{plain.scrheadings} nun ebenfalls entsprechend + konfiguriert haben. Wie Sie am Ergebnis vermutlich auch erkennen, ist es + jedoch besser, diesen Seitenstil unverändert zu lassen, da der Kolumnentitel + über dem Titelkopf doch eher störend ist. + + Alternativ zur Konfigurierung von \Pagestyle{plain.scrheadings} hätte man + bei Verwendung einer \KOMAScript-Klasse übrigens auch den Seitenstil für + Seiten mit Titelkopf ändern können. Siehe dazu + \Macro{titlepagestyle}\important{\Macro{titlepagestyle}}% + \IndexCmd{titlepagestyle} in \autoref{sec:maincls.pagestyle}, + \autopageref{desc:maincls.cmd.titlepagestyle}. +\end{Example} +% +\iffree{}{Der Code aus dem Beispiel funktionieren übrigens unverändert auch + mit dem veralteten Paket + \Package{scrpage2}\IndexPackage{scrpage2}\important{\Package{scrpage2}}.}% + +Erlauben Sie mir einen wichtigen Hinweis:\textnote{Achtung!} Sie sollten +niemals die Überschrift oder die Nummer einer Gliederungsebene mit Hilfe einer +dieser Anweisungen als Kolumnentitel in den Kopf der Seite setzen. Aufgrund +der Asynchronizität von Seitenaufbau und Seitenausgabe kann es sonst leicht +geschehen, dass die falsche Nummer oder die falsche Überschrift im +Kolumnentitel ausgegeben wird. Stattdessen ist der Mark-Mechanismus idealer +Weise in Verbindung mit den Automatismen, die im nächsten Abschnitt erklärt +werden, zu verwenden.% +\EndIndex{Cmd}{rohead}% +\EndIndex{Cmd}{cohead}% +\EndIndex{Cmd}{lohead}% +\EndIndex{Cmd}{rehead}% +\EndIndex{Cmd}{cehead}% +\EndIndex{Cmd}{lehead}% + +\begin{Declaration} + \Macro{lefoot}\OParameter{Inhalt plain.scrheadings}% + \Parameter{Inhalt scrheadings}\\ + \Macro{cefoot}\OParameter{Inhalt plain.scrheadings}% + \Parameter{Inhalt scrheadings}\\ + \Macro{refoot}\OParameter{Inhalt plain.scrheadings}% + \Parameter{Inhalt scrheadings}\\ + \Macro{lofoot}\OParameter{Inhalt plain.scrheadings}% + \Parameter{Inhalt scrheadings}\\ + \Macro{cofoot}\OParameter{Inhalt plain.scrheadings}% + \Parameter{Inhalt scrheadings}\\ + \Macro{rofoot}\OParameter{Inhalt plain.scrheadings}% + \Parameter{Inhalt scrheadings} +\end{Declaration} +\BeginIndex{Cmd}{lefoot}% +\BeginIndex{Cmd}{cefoot}% +\BeginIndex{Cmd}{refoot}% +\BeginIndex{Cmd}{lofoot}% +\BeginIndex{Cmd}{cofoot}% +\BeginIndex{Cmd}{rofoot}% +Was in den Fuß der Seitenstile \Pagestyle{plain.scrheadings}\iffree{}{ -- + beim veralteten Paket + \Package{scrpage2}\IndexPackage{scrpage2}\important{\Package{scrpage2}} + entsprechend in den Kopf von \Pagestyle{scrplain} --} und +\Pagestyle{scrheadings} geschrieben wird, ist mit Hilfe dieser Befehle +einstellbar. Dabei setzt das optionale Argument jeweils den Inhalt eines +Elements in \Pagestyle{plain.scrheadings}, während das obligatorische Argument +jeweils einen Inhalt in \Pagestyle{scrheadings} setzt. + +Die Inhalte für gerade, also linke Seiten\textnote{linke Seite} werden mit den +Befehlen \Macro{lefoot}, \Macro{cefoot} und \Macro{refoot} gesetzt. Das +»\texttt{e}« an zweiter Stelle des Befehlsnamens steht dabei für »\emph{even}« +(engl. für »gerade«). + +Die Inhalte für ungerade, also rechte Seiten\textnote{rechte Seite} werden mit +den Befehlen \Macro{lofoot}, \Macro{cofoot} und \Macro{rofoot} gesetzt. Das +»\texttt{o}« an zweiter Stelle des Befehlsnamens steht dabei für »\emph{odd}« +(engl. für »ungerade«). + +Es\textnote{Achtung!} sei an dieser Stelle noch einmal darauf hingewiesen, +dass im einseitigen Satz nur rechte Seiten existieren und diese von \LaTeX{} +unabhängig von ihrer Nummer als ungerade Seiten gezeichnet werden. + +Jeder Fuß eines Seitenstils besitzt ein linksbündiges\textnote{linksbündig} +Element, das mit \Macro{lefoot} respektive \Macro{lofoot} gesetzt werden +kann. Das »\texttt{l}« am Anfang des Befehlsnamens steht hier für »\emph{left + aligned}« (engl. für »linksbündig«). + +Ebenso besitzt jeder Fuß eines Seitenstils ein zentriert\textnote{zentriert} +gesetztes Element, das mit \Macro{cefoot} respektive \Macro{cofoot} gesetzt +werden kann. Das »\texttt{c}« am Anfang des Befehlsnamens steht hier für +»\emph{centered}« (engl. für »zentriert«). + +Entsprechend besitzt jeder Fuß eines Seitenstil auch ein +rechtsbündiges\textnote{rechtsbündig} Element, das mit \Macro{refoot} +respektive \Macro{rofoot} gesetzt werden kann. Das »\texttt{r}« am Anfang des +Befehlsnamens steht hier für »\emph{right aligned}« (engl. für +»rechtsbündig«). + +\BeginIndex{FontElement}{pagefoot}% +\BeginIndex{FontElement}{pageheadfoot}% +Diese Elemente besitzen jedoch nicht jedes für sich eine Schriftzuordnung mit +Hilfe der Befehle \Macro{setkomafont} und \Macro{addtokomafont} (siehe +\autoref{sec:maincls.textmarkup}, \autopageref{desc:maincls.cmd.setkomafont}), +sondern alle zusammen über das Element \FontElement{pagefoot}. Vor diesem wird +außerdem noch das Element \FontElement{pageheadfoot} angewandt. Die +Voreinstellungen für diese beiden Elemente sind +\autoref{tab:scrlayer-scrpage.fontelements}, +\autopageref{tab:scrlayer-scrpage.fontelements} zu entnehmen.% +\EndIndex{FontElement}{pageheadfoot}% +\EndIndex{FontElement}{pagefoot}% + +In \autoref{fig:scrlayer-scrpage.foot} ist die Bedeutung der einzelnen Befehle +für den Fuß der Seiten im doppelseitigen Modus noch einmal skizziert. +% +\begin{figure}[bp] + \centering + \begin{picture}(\textwidth,30mm) + \thinlines + \small\ttfamily + % linke Seite + \put(0,0){\line(1,0){.49\textwidth}}% + \put(0,0){\line(0,1){20mm}}% + \multiput(0,20mm)(0,1mm){10}{\line(0,1){.5mm}}% + \put(.49\textwidth,0){\line(0,1){15mm}}% + \put(.05\textwidth,5mm){% + \iffree{\color{red}}{}% + \put(-.5em,0){\line(1,0){4em}}% + \multiput(3.5em,0)(.25em,0){5}{\line(1,0){.125em}}% + \put(-.5em,0){\line(0,1){\baselineskip}}% + \put(-.5em,\baselineskip){\line(1,0){4em}}% + \multiput(3.5em,\baselineskip)(.25em,0){5}{\line(1,0){.125em}}% + \makebox(4em,5mm)[l]{\Macro{lefoot}}% + }% + \put(.465\textwidth,5mm){% + \iffree{\color{blue}}{}% + \put(-4em,0){\line(1,0){4em}}% + \multiput(-4em,0)(-.25em,0){5}{\line(1,0){.125em}}% + \put(0,0){\line(0,1){\baselineskip}}% + \put(-4em,\baselineskip){\line(1,0){4em}}% + \multiput(-4em,\baselineskip)(-.25em,0){5}{\line(1,0){.125em}}% + \put(-4.5em,0){\makebox(4em,5mm)[r]{\Macro{refoot}}}% + }% + \put(.2525\textwidth,5mm){% + \iffree{\color{green}}{}% + \put(-2em,0){\line(1,0){4em}}% + \multiput(2em,0)(.25em,0){5}{\line(1,0){.125em}}% + \multiput(-2em,0)(-.25em,0){5}{\line(1,0){.125em}}% + \put(-2em,\baselineskip){\line(1,0){4em}}% + \multiput(2em,\baselineskip)(.25em,0){5}{\line(1,0){.125em}}% + \multiput(-2em,\baselineskip)(-.25em,0){5}{\line(1,0){.125em}}% + \put(-2em,0){\makebox(4em,5mm)[c]{\Macro{cefoot}}}% + }% + % rechte Seite + \put(.51\textwidth,0){\line(1,0){.49\textwidth}}% + \put(.51\textwidth,0){\line(0,1){15mm}}% + \put(\textwidth,0){\line(0,1){20mm}}% + \multiput(\textwidth,20mm)(0,1mm){10}{\line(0,1){.5mm}}% + \put(.5325\textwidth,5mm){% + \iffree{\color{blue}}{}% + \put(0,0){\line(1,0){4em}}% + \multiput(4em,0)(.25em,0){5}{\line(1,0){.125em}}% + \put(0,0){\line(0,1){\baselineskip}}% + \put(0em,\baselineskip){\line(1,0){4em}}% + \multiput(4em,\baselineskip)(.25em,0){5}{\line(1,0){.125em}}% + \put(.5em,0){\makebox(4em,5mm)[l]{\Macro{lofoot}}}% + }% + \put(.965\textwidth,5mm){% + \iffree{\color{red}}{}% + \put(-4em,0){\line(1,0){4em}}% + \multiput(-4em,0)(-.25em,0){5}{\line(1,0){.125em}}% + \put(0,0){\line(0,1){\baselineskip}}% + \put(-4em,\baselineskip){\line(1,0){4em}}% + \multiput(-4em,\baselineskip)(-.25em,0){5}{\line(1,0){.125em}}% + \put(-4.5em,0){\makebox(4em,5mm)[r]{\Macro{rofoot}}}% + }% + \put(.75\textwidth,5mm){% + \iffree{\color{green}}{}% + \put(-2em,0){\line(1,0){4em}}% + \multiput(2em,0)(.25em,0){5}{\line(1,0){.125em}}% + \multiput(-2em,0)(-.25em,0){5}{\line(1,0){.125em}}% + \put(-2em,\baselineskip){\line(1,0){4em}}% + \multiput(2em,\baselineskip)(.25em,0){5}{\line(1,0){.125em}}% + \multiput(-2em,\baselineskip)(-.25em,0){5}{\line(1,0){.125em}}% + \put(-2em,0){\makebox(4em,5mm)[c]{\Macro{cofoot}}}% + }% + % Befehle für beide Seiten + \iffree{\color{blue}}{}% + \put(.5\textwidth,15mm){\makebox(0,\baselineskip)[c]{\Macro{ifoot}}}% + \iffree{\color{green}}{}% + \put(.5\textwidth,20mm){\makebox(0,\baselineskip)[c]{\Macro{cfoot}}} + \iffree{\color{red}}{}% + \put(.5\textwidth,25mm){\makebox(0,\baselineskip)[c]{\Macro{ofoot}}} + \put(\dimexpr.5\textwidth-2em,.5\baselineskip){% + \iffree{\color{blue}}{}% + \put(0,15mm){\line(-1,0){1.5em}}% + \put(-1.5em,15mm){\vector(0,-1){5mm}}% + \iffree{\color{green}}{}% + \put(0,20mm){\line(-1,0){\dimexpr .25\textwidth-2em\relax}}% + \put(-\dimexpr .25\textwidth-2em\relax,20mm){\vector(0,-1){10mm}}% + \iffree{\color{red}}{}% + \put(0,25mm){\line(-1,0){\dimexpr .45\textwidth-4em\relax}}% + \put(-\dimexpr .45\textwidth-4em\relax,25mm){\vector(0,-1){15mm}}% + }% + \put(\dimexpr.5\textwidth+2em,.5\baselineskip){% + \iffree{\color{blue}}{}% + \put(0,15mm){\line(1,0){1.5em}}% + \put(1.5em,15mm){\vector(0,-1){5mm}}% + \iffree{\color{green}}{}% + \put(0,20mm){\line(1,0){\dimexpr .25\textwidth-2em\relax}}% + \put(\dimexpr .25\textwidth-2em\relax,20mm){\vector(0,-1){10mm}}% + \iffree{\color{red}}{}% + \put(0,25mm){\line(1,0){\dimexpr .45\textwidth-4em\relax}}% + \put(\dimexpr .45\textwidth-4em\relax,25mm){\vector(0,-1){15mm}}% + }% + \end{picture} + \caption[Befehle zum Setzen des Seitenfußes]% + {Die Bedeutung der Befehle zum Setzen der Inhalte des Fußes eines + Seitenstils für die Seitenfüße einer schematischen Doppelseite.} + \label{fig:scrlayer-scrpage.foot} +\end{figure} +% +\begin{Example} + Kommen wir zu dem Beispiel des kurzen Artikels zurück. Angenommen Sie wollen + nun links im Fuß zusätzlich den Verlag angegeben haben. Daher ergänzen Sie + das Beispiel zu +\begin{lstcode} + \documentclass{scrartcl} + \usepackage{scrlayer-scrpage} + \lohead{Peter Musterheinzel} + \rohead{Seitenstile mit \KOMAScript} + \lofoot{Verlag Naseblau, Irgendwo} + \pagestyle{scrheadings} + \usepackage{lipsum} + \begin{document} + \title{Seitenstile mit \KOMAScript} + \author{Peter Musterheinzel} + \maketitle + \lipsum + \end{document} +\end{lstcode} + Der Verlag wird Ihnen nun aber wiederum nicht auf der Seite mit dem + Titelkopf ausgegeben. Die Begründung ist dieselbe wie beim Beispiel zu + \Macro{lohead}. Ebenso ist die Lösung, um den Verlag auch auf diese Seite + zu bekommen, entsprechend: +\begin{lstcode} + \lofoot[Verlag Naseblau, Irgendwo] + {Verlag Naseblau, Irgendwo} +\end{lstcode} + Nun entscheiden Sie noch, dass + statt\textnote{Fontänderung}\important{\FontElement{pageheadfoot}}% + \IndexFontElement{pageheadfoot} der schrägen Schrift in Kopf und Fuß eine + aufrechte, aber kleinere Schrift verwendet werden soll% + % Umbruchoptimierung: + \iffree{}{. Dies erreichen + Sie, indem Sie in der Dokumentpräambel die folgende Codezeile ergänzen}% + : +\begin{lstcode} + \setkomafont{pageheadfoot}{\small} +\end{lstcode} + + Darüber hinaus, soll der + Kopf\important{\FontElement{pagehad}}\IndexFontElement{pagefoot}, nicht + jedoch der Fuß fett gesetzt werden: +\begin{lstcode} + \setkomafont{pagehead}{\bfseries} +\end{lstcode} + Bei dieser Anweisung ist es wichtig, dass sie erst nach dem Laden von + \Package{scrpage-scrlayer} erfolgt, weil davor zwar bereits sowohl + \FontElement{pagehead} als auch \FontElement{pageheadfoot} vorhanden sind, + aber dasselbe Element, nämlich \FontElement{pageheadfoot}, bezeichnen. Erst + durch Laden von \Package{scrpage-scrlayer} werden daraus zwei unabhängige + Elemente. + + Ergänzen Sie nun das Beispiel einmal durch ein weiteres \Macro{lipsum} und + fügen Sie gleichzeitig Option + \Option{twoside}\IndexOption{twoside}\important{\Option{twoside}} beim Laden + von \Class{scrartcl} hinzu. Zum einen wandert die Seitenzahl im Fuß nun von + der Mitte nach außen. Das liegt an der geänderten Voreinstellung für + \Pagestyle{scrheadings} und \Pagestyle{plain.scrheadings} für doppelseitige + Dokumente mit einer \KOMAScript-Klasse. + + Gleichzeitig verschwinden aber auch Autor, Dokumenttitel und Verlag von + Seite~2. Diese finden sich erst auf Seite~3 wieder. Das liegt daran, dass + wir bisher nur Befehle für ungerade Seiten\textnote{rechte Seite} + verwendet haben. Zu erkennen ist das am »\texttt{o}« für \emph{odd} an der + zweiten Stelle der Befehlsnamen. + + Nun könnten wir die Befehle einfach kopieren und in der Kopie dieses + »\texttt{o}« durch ein »\texttt{e}« für \emph{even}\textnote{linke Seite} + ersetzen. Allerdings ist es bei doppelseitigen Dokumenten meist sinnvoller, + wenn die Elemente spiegelverkehrt verwendet werden, dass also Elemente, die + auf linken Seiten links stehen, auf rechten Seiten rechts platziert werden + und umgekehrt. Daher vertauschen wir auch noch beim ersten Buchstaben + »\texttt{l}« durch »\texttt{r}« und umgekehrt: +\begin{lstcode} + \documentclass[twoside]{scrartcl} + \usepackage{scrlayer-scrpage} + \lohead{Peter Musterheinzel} + \rohead{Seitenstile mit \KOMAScript} + \lofoot[Verlag Naseblau, Irgendwo} + {Verlag Naseblau, Irgendwo} + \rehead{Peter Musterheinzel} + \lehead{Seitenstile mit \KOMAScript} + \refoot[Verlag Naseblau, Irgendwo] + {Verlag Naseblau, Irgendwo} + \pagestyle{scrheadings} + \setkomafont{pageheadfoot}{\small} + \setkomafont{pagehead}{\bfseries} + \usepackage{lipsum} + \begin{document} + \title{Seitenstile mit \KOMAScript} + \author{Peter Musterheinzel} + \maketitle + \lipsum\lipsum + \end{document} +\end{lstcode} +\end{Example}% +\iffree{}{Der Code dieses Beispiels funktioniert ebenfalls mit dem veralteten + Paket + \Package{scrpage2}\IndexPackage{scrpage2}\important{\Package{scrpage2}}. Wegen + der Verwendung von \Macro{setkomafont} gilt das aber nur, solange eine + \KOMAScript-Klasse wie \Class{scrartcl} verwendet wird.}% + +Da es etwas umständlich ist, die Angaben bei doppelseitigen Dokumenten wie im +letzten Beispiel immer getrennt für linke und rechte Seiten zu machen, wird +nachfolgend eine schönere Lösung für diesen Standardfall eingeführt. + +Erlauben Sie mir zuvor noch einen wichtigen Hinweis:\textnote{Achtung!} Sie +sollten niemals die Überschrift oder die Nummer einer Gliederungsebene mit +Hilfe einer dieser Anweisungen als Kolumnentitel in den Fuß der +Seite setzen. Aufgrund der Asynchronizität von Seitenaufbau und Seitenausgabe +kann es sonst leicht geschehen, dass die falsche Nummer oder die falsche +Überschrift im Kolumnentitel ausgegeben wird. Stattdessen ist der +Mark-Mechanismus idealer Weise in Verbindung mit den Automatismen, die im +nächsten Abschnitt erklärt werden, zu verwenden.% +% +\EndIndex{Cmd}{rofoot}% +\EndIndex{Cmd}{cofoot}% +\EndIndex{Cmd}{lofoot}% +\EndIndex{Cmd}{refoot}% +\EndIndex{Cmd}{cefoot}% +\EndIndex{Cmd}{lefoot}% + + +\begin{Declaration} + \Macro{ohead}\OParameter{Inhalt plain.scrheadings}% + \Parameter{Inhalt scrheadings}\\ + \Macro{chead}\OParameter{Inhalt plain.scrheadings}% + \Parameter{Inhalt scrheadings}\\ + \Macro{ihead}\OParameter{Inhalt plain.scrheadings}% + \Parameter{Inhalt scrheadings}\\ + \Macro{ofoot}\OParameter{Inhalt plain.scrheadings}% + \Parameter{Inhalt scrheadings}\\ + \Macro{cfoot}\OParameter{Inhalt plain.scrheadings}% + \Parameter{Inhalt scrheadings}\\ + \Macro{ifoot}\OParameter{Inhalt plain.scrheadings}% + \Parameter{Inhalt scrheadings} +\end{Declaration} +\BeginIndex{Cmd}{ohead}% +\BeginIndex{Cmd}{chead}% +\BeginIndex{Cmd}{ihead}% +\BeginIndex{Cmd}{ofoot}% +\BeginIndex{Cmd}{cfoot}% +\BeginIndex{Cmd}{ifoot}% +Um Kopf und Fuß im doppelseitigen Layout zu konfigurieren, müsste man mit den +zuvor erklärten Befehlen die linken und die rechten Seiten getrennt +voneinander konfigurieren. Meist ist es jedoch so, dass linke und rechte Seite +mehr oder weniger symmetrisch zueinander sind. Ein Element das auf linken +Seiten links steht, steht auf rechten Seiten rechts. Ein Element, das auf +linken Seiten rechts steht, steht auf rechten Seiten links. Mittig angeordnete +Elemente sind normalerweise auf beiden Seiten mittig angeordnet. + +Zur Vereinfachung der Einstellungen für diesen Standardfall gibt es bei +\Package{scrlayer-scrpage} sozusagen Abkürzungen. Der Befehl \Macro{ohead} +entspricht einem Aufruf sowohl von \Macro{lehead} als auch \Macro{rohead}. Der +Befehl \Macro{chead} entspricht sowohl \Macro{cehead} als auch +\Macro{cohead}. Und Befehl \Macro{ihead} entspricht \Macro{rehead} und +\Macro{lohead}. Entsprechendes gilt für die Anweisungen des Fußes. In +\autoref{fig:scrlayer-scrpage.head} auf +\autopageref{fig:scrlayer-scrpage.head} und +\autoref{fig:scrlayer-scrpage.foot} auf +\autopageref{fig:scrlayer-scrpage.foot} werden auch diese Beziehungen +skizziert. +% +\begin{Example} + Mit Hilfe der neuen Befehle, lässt sich das letzte Beispiel wie folgt + vereinfachen: +\begin{lstcode} + \documentclass[twoside]{scrartcl} + \usepackage{scrlayer-scrpage} + \ihead{Peter Musterheinzel} + \ohead{Seitenstile mit \KOMAScript} + \ifoot[Verlag Naseblau, Irgendwo] + {Verlag Naseblau, Irgendwo} + \pagestyle{scrheadings} + \setkomafont{pageheadfoot}{\small} + \setkomafont{pagehead}{\bfseries} + \usepackage{lipsum} + \begin{document} + \title{Seitenstile mit \KOMAScript} + \author{Peter Musterheinzel} + \maketitle + \lipsum\lipsum + \end{document} +\end{lstcode} + Wie zusehen ist, konnte die Hälfte der Befehle eingespart und trotzdem + dasselbe Ergebnis erzielt werden. +\end{Example}% +\iffree{}{Der Code dieses Beispiels funktioniert wiederum ohne Änderung auch + mit dem veralteten Paket + \Package{scrpage2}\IndexPackage{scrpage2}\important{\Package{scrpage2}}, + solange eine \KOMAScript-Klasse wie \Class{scrartcl} verwendet wird.}% + +Da im einseitigen Layout alle Seiten als ungerade oder rechte Seiten behandelt +werden, können im einseitigen Layout diese Befehle auch als Synonyme für die +entsprechenden Befehle für rechte Seiten verwendet werden. In den meisten +Fällen wird man daher eher diese sechs als die zwölf zuvor vorgestellten +Befehle verwenden. + +Erlauben Sie mir noch einmal einen wichtigen Hinweis:\textnote{Achtung!} Sie +sollten niemals die Überschrift oder die Nummer einer Gliederungsebene mit +Hilfe einer dieser Anweisungen als Kolumnentitel in den Kopf oder Fuß der +Seite setzen. Aufgrund der Asynchronizität von Seitenaufbau und Seitenausgabe +kann es sonst leicht geschehen, dass die falsche Nummer oder die falsche +Überschrift im Kolumnentitel ausgegeben wird. Stattdessen ist der +Mark-Mechanismus idealer Weise in Verbindung mit den Automatismen, die im +nächsten Abschnitt erklärt werden, zu verwenden.% +\EndIndex{Cmd}{ifoot}% +\EndIndex{Cmd}{cfoot}% +\EndIndex{Cmd}{ofoot}% +\EndIndex{Cmd}{ihead}% +\EndIndex{Cmd}{chead}% +\EndIndex{Cmd}{ohead}% + +\begin{Declaration} + \KOption{pagestyleset}\PName{Einstellung} +\end{Declaration} +\BeginIndex{Option}{pagestyleset~=KOMA-Script}% +\BeginIndex{Option}{pagestyleset~=standard}% +In den zurückliegenden Beispielen wurde bereits mehrfach auf die +Voreinstellung der Seitenstile +\Pagestyle{scrheadings}\IndexPagestyle{scrheadings} und +\Pagestyle{plain.scrheadings}\IndexPagestyle{plain.scrheadings} +hingewiesen. Tatsächlich unterstützt \Package{scrlayer-scrpage} derzeit zwei +unterschiedliche Voreinstellungen. Diese sind von Hand über Option +\Option{pagestyleset} auswählbar. + +Mit der \PName{Einstellung} \PValue{KOMA-Script}% +\important{\KOption{pagestyleset}\quad\\\quad\PValue{KOMA-Script}} +wird die Voreinstellung gewählt, die auch automatisch eingestellt wird, falls +die Option nicht angegeben ist und eine \KOMAScript-Klasse erkannt +wurde. Dabei werden für \Pagestyle{scrheadings} im doppelseitigen Satz +Kolumnentitel außen im Kopf und Seitenzahlen außen im Fuß gesetzt. Im +einseitigen Satz wird der Kolumnentitel stattdessen mittig im Kopf und die +Seitenzahl mittig im Fuß platziert. Für die automatischen Kolumnentitel werden +Groß- und Kleinbuchstaben verwendet, wie diese vorgefunden werden. Dies +entspricht der gleichzeitigen Verwendung von Option +\OptionValue{markcase}{used}\IndexOption{markcase~=used}% +\important{\OptionValue{markcase}{used}}. Für \Pagestyle{plain.scrheadings} +entfallen die Kolumnentitel. Die Seitenzahlen werden jedoch identisch +platziert. + +Wird allerdings +\Class{scrlttr2}\important{\Class{scrlttr2}}\IndexClass{scrlttr2} als Klasse +erkannt, so werden die Voreinstellungen an die Seitenstile jener Klasse +angelehnt. Siehe dazu \autoref{sec:scrlttr2.pagestyle}, ab +\autopageref{sec:scrlttr2.pagestyle}. + +Mit der \PName{Einstellung} \PValue{standard}% +\important{\KOption{pagestyleset}\quad\\\quad\PValue{standard}} wird die +Voreinstellung gewählt, die den Standard-Klassen entspricht. Diese wird auch +automatisch eingestellt, falls die Option nicht angegeben ist und keine +\KOMAScript-Klasse erkannt wurde. Dabei wird für \Pagestyle{scrheadings} im +doppelseitigen Satz der Kolumnentitel im Kopf innen und die Seitenzahl -- +ebenfalls im Kopf -- außen ausgerichtet platziert. Im einseitigen Satz werden +dieselben Einstellungen verwendet. Da hierbei nur rechte Seiten existieren, +steht der Kolumnentitel dann immer linksbündig im Kopf, die Seitenzahl +entsprechend rechtsbündig. Die automatischen Kolumnentitel werden -- trotz +erheblicher typografischer Bedenken -- entsprechend +\OptionValue{markcase}{upper}\IndexOption{markcase~=upper}% +\important{\OptionValue{markcase}{upper}} in Großbuchstaben +umgewandelt. Von \Pagestyle{scrheadings} deutlich abweichend hat +\Pagestyle{plain.scrheadings} die Seitenzahl im einseitigen Satz mittig im +Fuß. Abweichend vom Seitenstil \Pagestyle{plain} der Standardklassen entfällt +die Seitenzahl im doppelseitigen Modus. Die Standardklassen setzen die +Seitenzahl stattdessen mittig im Fuß, was im doppelseitigen Satz nicht zum +übrigen Stil der Seiten passt. Der Kolumnentitel entfällt beim +\Pagestyle{plain.scrheadings} natürlich in jedem Fall. + +Es ist zu beachten\textnote{Achtung!}, dass mit der Verwendung dieser Option +gleichzeitig der Seitenstil +\Pagestyle{scrheadings}\IndexPagestyle{scrheadings}% +\important{\Pagestyle{scrheadings}} aktiviert wird. Dies gilt auch, wenn die +Option innerhalb eines Dokuments verwendet wird. + +\BeginIndex{Option}{komastyle}% +\BeginIndex{Option}{standardstyle}% +Die für \Package{scrpage2}\IndexPackage{scrpage2} dokumentierten Paketoptionen +\Option{komastyle}\important{\Option{komastyle}\\ \Option{standardstyle}} und +\Option{standardstyle} existieren in \Package{scrlayer-scrpage} nur aus +Gründen der Kompatibilität. Sie werden jedoch auf Option \Option{pagestyleset} +abgebildet, gelten als überholt und sollten nicht mehr verwendet +werden.\iffree{}{ Bei Verwendung des veralteten Pakets + \Package{scrpage2}\IndexPackage{scrpage2}\important{\Package{scrpage2}} sind + sie hingegen die einzige Möglichkeit zwischen den beiden unterschiedlichen + Voreinstellungen umzuschalten, da dort Option \Option{pagestyleset} nicht + existiert.}% +\EndIndex{Option}{standardstyle}% +\EndIndex{Option}{komastyle}% +\EndIndex{Option}{pagestyleset~=standard}% +\EndIndex{Option}{pagestyleset~=KOMA-Script}% + +\LoadCommon[scrlayerscrpage]{21} % \section{Beeinflussung von definierten Seitenstilen} + +\begin{Declaration} + \KOption{headwidth}\PName{Breite\textup{:}Offset}\\ + \KOption{footwidth}\PName{Breite\textup{:}Offset} +\end{Declaration} +\BeginIndex{Option}{headwidth~=\PName{Offset\textup{:}Breite}}% +\BeginIndex{Option}{footwidth~=\PName{Offset\textup{:}Breite}}% +In der Voreinstellung sind Kopf\Index{Kopf>Breite} und Fuß\Index{Fuß>Breite} +genauso breit wie der Satzspiegel. Mit Hilfe dieser beiden +\KOMAScript-Optionen lässt sich das jedoch ändern. Die \PName{Breite} ist +dabei die gewünschte Breite des Kopfes beziehungsweise Fußes. Der +\PName{Offset} gibt an, wie weit der Kopf respektive Fuß in Richtung des +äußeren Randes -- im einseitigen Satz entsprechend in Richtung des rechten +Randes -- verschoben werden soll. Dabei sind beide Werte optional, können also +auch weggelassen werden. Falls beide Werte weggelassen werden, kann auch der +Doppelpunkt entfallen. Ist nur ein Wert aber kein Doppelpunkt angegeben, so +handelt es sich um die \PName{Breite}. + +Sowohl für \PName{Breite} als auch für \PName{Offset} kann jeder gültige +Längenwert aber auch jede \LaTeX-Länge oder \TeX-Länge oder \TeX-Abstand +eingesetzt werden. Darüber hinaus sind für beides auch \eTeX-Längen\-ausdrücke +mit den Grundrechenarten \texttt{+}, \texttt{-}, \texttt{*}, \texttt{/} und +runden Klammern erlaubt. Näheres zu solchen Längenausdrücken ist +\cite[Abschnitt~3.5]{manual:eTeX} zu entnehmen. Für \PName{Breite} sind +außerdem einige symbolische Werte zulässig. Diese sind +\autoref{tab:scrlayer-scrpage.symbolic.values} zu entnehmen. + +Die Voreinstellung für \PName{Breite} ist die Breite des Textbereichs. Die +Voreinstellung für \PName{Offset} hängt von der gewählten \PName{Breite} +ab. In der Regel wird im einseitigen Satz die Hälfte des Unterschieds zwischen +\PName{Breite} und der Breite des Textbereichs verwendet. Damit wird der Kopf +über dem Textbereich zentriert. Im doppelseitigen Satz wird hingegen nur ein +Drittel des Unterschieds zwischen \PName{Breite} und der Breite des +Textbereichs verwendet. Ist \PName{Breite} jedoch die Breite des Textbereichs +zuzüglich der Marginalienspalte, so ist die Voreinstellung von \PName{Offset} +immer Null. Falls Ihnen das zu kompliziert ist, sollten Sie den gewünschten +\PName{Offset} einfach selbst angeben.% +% +\begin{table} + \centering + \caption[Symbolische Werte für Option \Option{headwidth} und + \Option{footwidth}]{Erlaubte symbolische Werte für \PName{Breite} bei den + Optionen \Option{headwidth} und \Option{footwidth}} + \label{tab:scrlayer-scrpage.symbolic.values} + \begin{desctabular} + \ventry{foot}{% + die aktuelle Breite des Fußes% + }% + \ventry{footbotline}{% + die aktuelle Länge der horizontalen Linie unterhalb des Fußes% + }% + \ventry{footsepline}{ die aktuelle Länge der horizontalen Linie zwischen + dem Textbereich und dem Fuß% + } \ventry{head}{% + die aktuelle Breite des Kopfes% + }% + \ventry{headsepline}{% + die aktuelle Länge der horizontalen Linie zwischen dem Kopf und dem + Textbereich% + }% + \ventry{headtopline}{% + die aktuelle Länge der horizontalen Linie über dem Kopf% + }% + \ventry{marginpar}{% + die Breite der Marginalienspalte einschließlich des Abstandes zwischen + dem Textbereich und der Marginalienspalte% + }% + \ventry{page}{% + die Breite der Seite unter Berücksichtigung einer eventuell mit Hilfe + des Pakets \Package{typearea} definierten Bindekorrektur (siehe Option + \Option{BCOR} in \autoref{sec:typearea.typearea}, + \autopageref{desc:typearea.option.BCOR})% + }% + \ventry{paper}{% + die Breite des Papiers ohne Berücksichtigung einer etwaigen + Bindekorrektur% + }% + \ventry{text}{% + die Breite des Textbereichs% + }% + \ventry{textwithmarginpar}{% + die Breite des Textbereichs einschließlich der Marginalienspalte und + natürlich des Abstandes zwischen den beiden (Achtung: Nur in diesem Fall + ist die Voreinstellung für \PName{Offset} Null)% + }% + \end{desctabular} +\end{table} +% +\EndIndex{Option}{footwidth~=\PName{Offset\textup{:}Breite}}% +\EndIndex{Option}{headwidth~=\PName{Offset\textup{:}Breite}}% + +\begin{Declaration} + \KOption{headtopline}\PName{Dicke\textup{:}Länge}\\ + \KOption{headsepline}\PName{Dicke\textup{:}Länge}\\ + \KOption{footsepline}\PName{Dicke\textup{:}Länge}\\ + \KOption{footbotline}\PName{Dicke\textup{:}Länge} +\end{Declaration} +\BeginIndex{Option}{headtopline~=\PName{Dicke\textup{:}Länge}}% +\BeginIndex{Option}{headsepline~=\PName{Dicke\textup{:}Länge}}% +\BeginIndex{Option}{footsepline~=\PName{Dicke\textup{:}Länge}}% +\BeginIndex{Option}{footbotline~=\PName{Dicke\textup{:}Länge}}% +Während die \KOMAScript-Klassen nur eine Trennlinie unter dem Kopf und eine +weitere über dem Fuß unterstützen und man diese nur wahlweise ein- und +ausschalten kann, erlaubt das Paket \Package{scrlayer-scrpage} auch noch eine +Linie über dem Kopf und unter dem Fuß, und man kann bei diesen beiden sowohl +die \PName{Länge} als auch die \PName{Dicke} konfigurieren. + +Beide Werte sind optional. Lässt man die \PName{Dicke} weg, so wird +0,4\Unit{pt} angenommen, also eine Haarlinie produziert. Verzichtet man auf +eine Angabe der \PName{Länge}, so wird die Breite des Kopfes respektive des +Fußes als gewünschter Wert angenommen. Wird beides weggelassen, so kann auch +der Doppelpunkt entfallen. Wird nur ein Wert ohne Doppelpunkt angegeben, so +ist dies die \PName{Dicke}. + +Natürlich darf die \PName{Länge} nicht nur kürzer als die aktuelle Breite des +Kopfes respektive des Fußes sein. Sie darf auch länger sein. Siehe dazu auch +die Optionen \Option{ilines}\IndexOption{ilines}\important{\Option{ilines}, + \Option{clines}, \Option{olines}}, \Option{clines}\IndexOption{clines} und +\Option{olines}\IndexOption{olines}, die später in diesem Abschnitt erklärt +werden. + +\BeginIndex{FontElement}{headtopline}% +\BeginIndex{FontElement}{headsepline}% +\BeginIndex{FontElement}{footsepline}% +\BeginIndex{FontElement}{footbotline}% +Neben der Dicke und der Länge kann man auch die Farben der Linien +ändern. Zunächst richtet sich diese natürlich nach der Farbe, die für den Kopf +und den Fuß eingestellt ist. Davon unabhängig werden aber auch noch die +Einstellungen für die gleich benannten Elemente +\FontElement{headtopline}\important[i]{\FontElement{headtopline}\\ +\FontElement{headsepline}\\ +\FontElement{footsepline}\\ +\FontElement{footbotline}}, +\FontElement{headsepline}, \FontElement{footsepline} und +\FontElement{footbotline} angewendet. Diese können mit den Anweisungen +\Macro{setkomafont} und \Macro{addtokomafont} geändert werden (siehe +\autoref{sec:maincls.textmarkup}, ab +\autopageref{desc:maincls.cmd.setkomafont}). In der Voreinstellung sind die +Einstellungen für diese Elemente leer, so dass sie zu keiner Änderung der +Schrift oder Farbe führen. Änderungen der Schrift sind im Gegensatz zu +Farbänderungen an dieser Stelle ohnehin nicht sinnvoll und werden daher nicht +empfohlen.% +\EndIndex{FontElement}{footbotline}% +\EndIndex{FontElement}{footsepline}% +\EndIndex{FontElement}{headsepline}% +\EndIndex{FontElement}{headtopline}% + +\BeginIndex{Cmd}{setheadtopline}% +\BeginIndex{Cmd}{setheadseoline}% +\BeginIndex{Cmd}{setfootsepline}% +\BeginIndex{Cmd}{setfootbotline}% +\iffree{Neben den Optionen }{Das veraltete Paket + \Package{scrpage2}\important{\Package{scrpage2}}\IndexPackage{scrpage2} + kannte gleich benannte Paketoptionen, denen jedoch kein Wert zugewiesen + werden konnte. Man aktivierte Haarlinien in der Breite des Kopfes respektive + Fußes. Daneben }% +gab es bei \Package{scrpage2} auch noch die nahezu +gleichbedeutenden Befehle +\Macro{setheadtopline}\IndexCmd[indexmain]{setheadtopline}% +\important[i]{\Macro{setheadtopline}\\ + \Macro{setheadsepline}\\ + \Macro{setfootsepline}\\ + \Macro{setfootbotline}}, +\Macro{setheadsepline}\IndexCmd[indexmain]{setheadsepline}, +\Macro{setfootsepline}\IndexCmd[indexmain]{setfootsepline} und +\Macro{setfootbotline}\IndexCmd[indexmain]{setfootbotline}. Diese Befehle +hatten als erstes, optionales Argument ebenfalls die \PName{Länge} der +entsprechende Linie, als zweites, obligatorisches Argument die \PName{Dicke} +und als zusätzliches drittes, optionales Argument Einstellungen, die direkt +für die Schrift oder Farbe des entsprechenden Elements verwendet wurden. Diese +Anweisungen existieren in \Package{scrlayer-scrpage} aus +Kompatibilitätsgründen ebenfalls, wobei die ersten beiden Argumente +entsprechend der Werte für die Optionen erweitert wurden. Allerdings sind die +Befehle gleichzeitig als überholt anzusehen und sollten nicht mehr verwendet +werden. Es sei an dieser Stelle auch darauf hingewiesen, dass diese Befehle +nie dazu gedacht waren, die entsprechenden Linien einzuschalten. Vielmehr +waren sie ausschließlich zur Einstellung von \PName{Länge} und \PName{Dicke} +der Linien gedacht, wenn diese über die Optionen eingeschaltet wurden. Dies +wurde von den Anwendern aber leider häufig nicht beachtet!% +\EndIndex{Cmd}{setfootbotline}% +\EndIndex{Cmd}{setfootsepline}% +\EndIndex{Cmd}{setheadseoline}% +\EndIndex{Cmd}{setheadtopline}% +% +\EndIndex{Option}{footbotline~=\PName{Dicke\textup{:}Länge}}% +\EndIndex{Option}{footsepline~=\PName{Dicke\textup{:}Länge}}% +\EndIndex{Option}{headsepline~=\PName{Dicke\textup{:}Länge}}% +\EndIndex{Option}{headtopline~=\PName{Dicke\textup{:}Länge}}% + + +\begin{Declaration} + \KOption{plainheadtopline}\PName{Ein-Aus-Wert}\\ + \KOption{plainheadsepline}\PName{Ein-Aus-Wert}\\ + \KOption{plainfootsepline}\PName{Ein-Aus-Wert}\\ + \KOption{plainfootbotline}\PName{Ein-Aus-Wert} +\end{Declaration} +\BeginIndex{Option}{plainheadtopline~=\PName{Ein-Aus-Wert}}% +\BeginIndex{Option}{plainheadsepline~=\PName{Ein-Aus-Wert}}% +\BeginIndex{Option}{plainfootsepline~=\PName{Ein-Aus-Wert}}% +\BeginIndex{Option}{plainfootbotline~=\PName{Ein-Aus-Wert}}% +Mit diesen Optionen können die Einstellungen für die Linien auch für den +\Pagestyle{plain}-Seitenstil übernommen werden. Als \PName{Ein-Aus-Wert} +stehen die Standardwerte für einfache Schalter, die in +\autoref{tab:truefalseswitch} auf \autopageref{tab:truefalseswitch} angegeben +sind, zur Verfügung. Bei aktivierter Option werden die entsprechenden +Linieneinstellungen übernommen. Bei deaktivierter Option wird die +entsprechende Linie im \Pagestyle{plain}-Seitenstil hingegen nicht angezeigt. +% +\EndIndex{Option}{plainfootbotline~=\PName{Ein-Aus-Wert}}% +\EndIndex{Option}{plainfootsepline~=\PName{Ein-Aus-Wert}}% +\EndIndex{Option}{plainheadsepline~=\PName{Ein-Aus-Wert}}% +\EndIndex{Option}{plainheadtopline~=\PName{Ein-Aus-Wert}}% + + +\begin{Declaration} + \Option{ilines}\\ + \Option{clines}\\ + \Option{olines} +\end{Declaration} +\BeginIndex{Option}{ilines}% +\BeginIndex{Option}{clines}% +\BeginIndex{Option}{olines}% +Wie bereits zuvor erklärt wurde, können Trennlinien für den Kopf oder Fuß +konfiguriert werden, die länger oder kürzer als die Breite des Kopfes +beziehungsweise des Fußes sind. Bisher blieb die Frage offen, wie diese Linien +dann ausgerichtet werden. In der Voreinstellung sind sie im einseitigen Satz +linksbündig und im doppelseitigen Satz bündig mit dem Anfang des inneren +Randes. Dies entspricht Option \Option{ilines}. Alternativ können sie jedoch +mit Option \Option{clines} auch horizontal bezüglich der Breite des Kopfes +beziehungsweise Fußes zentriert werden. Ebenso ist mit Hilfe von Option +\Option{olines} eine Ausrichtung am äußeren beziehungsweise rechten Rand +möglich.% +\EndIndex{Option}{olines}% +\EndIndex{Option}{clines}% +\EndIndex{Option}{ilines}% +% +\EndIndex{Package}{scrlayer-scrpage}% + +%%% Local Variables: +%%% mode: latex +%%% mode: flyspell +%%% coding: iso-latin-1 +%%% ispell-local-dictionary: "de_DE" +%%% TeX-master: "../guide" +%%% End: + +% LocalWords: Paketoptionen diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlayer.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlayer.tex new file mode 100644 index 00000000000..2bf8540ab0c --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlayer.tex @@ -0,0 +1,1436 @@ +% ====================================================================== +% scrlayer.tex +% Copyright (c) Markus Kohm, 2013 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ---------------------------------------------------------------------- +% scrlayer.tex +% Copyright (c) Markus Kohm, 2013 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% +% Chapter about scrlayer of the KOMA-Script guide +% Maintained by Markus Kohm +% +% ---------------------------------------------------------------------- +% +% Kapitel über scrlayer in der KOMA-Script-Anleitung +% Verwaltet von Markus Kohm +% +% ============================================================================ + +\KOMAProvidesFile{scrlayer.tex} + [$Date: 2013-12-10 19:50:34 +0100 (Di, 10. Dez 2013) $ + KOMA-Script guide (chapter:scrlayer)] + +\chapter[{Definition von Ebenen und Seitenstilen mit \Package{scrlayer}}] + {Definition\ChangedAt{v3.12}{\Package{scrlayer}} von Ebenen und Seitenstilen + mit \Package{scrlayer}} +\labelbase{scrlayer} + +\BeginIndex{Package}{scrlayer} + +Anwender von Grafikprogrammen sind mit dem Modell der Ebenen für eine Seite +bereits vertraut. \LaTeX{} selbst ist ein solches Modell jedoch eher +fremd. Dennoch gibt es bereits einige Pakete wie \Package{eso-pic} oder +\Package{textpos}, mit denen bereits eine Art Hintergrund- oder +Vor\-der\-grund\-ebe\-ne in \LaTeX{} verfügbar gemacht wurden. Das Paket +\Package{scrlayer} ist ein weiteres Paket, das solche Hintergrund- und +Vordergrundebenen zur Verfügung stellt. Im Unterschied zu den anderen +genannten Paketen sind die Ebenen bei \Package{scrlayer} jedoch Teil des +Seitenstils. Dadurch ist eine einfache Umschaltung zwischen der Verwendung +unterschiedlicher Ebenen durch die Umschaltung des Seitenstils möglich. + +Um dies zu erreichen, stellt das Paket auf unterer Stufe zusätzlich eine +Schnittstelle zur Definition von Seitenstilen, die auf einem Stapel oder einer +Liste von Ebenen beruhen, zum Hinzufügen von Ebenen wahlweise am Anfang oder +Ende einer solchen Liste von Ebenen oder unmittelbar vor oder hinter einer +anderen Ebene in einer solchen Liste, zum Löschen einer Ebene aus einer +solchen Liste und zum Löschen aller Dubletten einer Ebene aus einer solchen +Liste bereit. Oder kurz und verständlich gesagt: Die Seitenstil-Schnittstelle +von \Package{scrlayer} stellt Befehle bereit, um einen Seitenstil, der auf +einer Liste von Ebenen basiert, zu definieren und diese Ebenenliste zu +verwalten. + +Nichtsdestoweniger wird die direkte Verwendung der Ebenen nur erfahrenen +Anwendern empfohlen. Schnittstellen für Anfänger und durchschnittliche +Anwender werden als zusätzliche Pakete angeboten, die dann ihrerseits +\Package{scrlayer} laden. Siehe hierzu \autoref{cha:scrlayer-scrpage} in +\autoref{part:forAuthors} diese\iffree{r Anleitung}{s Buches}. + + +\section{Hinweis zum Entwicklungsstand} +\label{sec:scrlayer.draft} + +Die Entwicklung dieses Pakets ist noch nicht abgeschlossen. Teile des Pakets +sind auch noch als experimentell einzustufen. Daher können sich in Zukunft +insbesondere die internen Funktionalitäten und Funktionsweisen noch ändern. Es +ist auch noch mit Erweiterungen zu rechnen. Wegen dieses noch nicht +abgeschlossenen Entwicklungsstandes sollte der Leser auch keine abgeschlossene +Anleitung erwarten. Dennoch gibt diese Anleitung, die sich vor allem an +erfahrene Anwender und Entwickler richtet, den aktuellen Entwicklungsstand der +Teile von \Package{scrlayer} wieder, die als zur Verwendung freigegeben +eingestuft sind. Dinge, die hier nicht dokumentiert sind, sollten allenfalls +zu Testzwecken Verwendung finden. + +\LoadCommon{0} % \section{Frühe oder späte Optionenwahl} + +\section{Einige grundlegende Informationen} +\label{sec:scrlayer.generic.information} + +Das Paket benötigt einige grundlegende Informationen über die +verwendete Klasse. Autoren von Klassen können \Package{scrlayer} helfen, indem +sie entsprechende Angaben machen. Anderenfalls versucht das Paket diese +Informationen selbst zu ermitteln. Das funktioniert beispielsweise für die +Standardklassen oder für die \KOMAScript-Klassen. Mit anderen Klassen kann es +funktionieren oder auch ganz oder teilweise fehlschlagen. + +Dieser Abschnitt beschreibt einige der Informationen, die Autoren von Klassen +bereitstellen können. Anwender sollten sich im Normalfall nicht darum zu +kümmern brauchen. + +\begin{Declaration} + \Macro{if@chapter}\ \PName{Dann-Code} \Macro{else}\ \PName{Sonst-Code} + \Macro{fi} +\end{Declaration} +\BeginIndex{Cmd}{if@chapter}% +Wenn \Macro{if@chapter} definiert ist und \Macro{iftrue}\IndexCmd{iftrue} +entspricht, wird \Package{scrlayer} bei seiner Arbeit die Kapitel-Ebene +beispielsweise bei Option \Option{automark} mit berücksichtigen. Wenn es +definiert ist, aber nicht \Macro{iftrue} entspricht, behandelt +\Package{scrlayer} nur die Ebenen der Befehle \Macro{part}, \Macro{section}, +\Macro{subsection}, \Macro{sub\dots subsection}, \Macro{paragraph}, +\Macro{subparagraph}, \Macro{sub\dots subparagraph}. Wenn das Makro nicht +definiert ist, macht \Package{scrlayer} die Frage, ob auch die +Kapitel-Ebene zu behandeln ist, an der Anweisung \Macro{chapter} fest. Ist +diese Anweisung definiert und entspricht sie nicht \Macro{relax}, dann +definiert \Package{scrlayer} das Makro \Macro{if@chapter} selbst als Synonym für +\Macro{iftrue}. Anderenfalls definiert es \Macro{if@chapter} als Synonym für +\Macro{iffalse}\IndexCmd{iffalse}.% +% +\EndIndex{Cmd}{if@chapter}% + +\begin{Declaration} + \Macro{if@mainmatter}\ \PName{Dann-Code} \Macro{else}\ \PName{Sonst-Code} + \Macro{fi} +\end{Declaration} +\BeginIndex{Cmd}{if@mainmatter}% +Klassen wie \Class{book} definieren \Macro{frontmatter}\IndexCmd{frontmatter}, +\Macro{mainmatter}\IndexCmd{mainmatter} und +\Macro{backmatter}\IndexCmd{backmatter}, um zwischen Vorderteil, Hauptteil und +Endteil eines Buches umschalten zu können. In der Regel verwenden diese Klassen +intern \Macro{if@mainmatter}, um entscheiden zu können, ob gerade im Hauptteil +des Dokuments gearbeitet wird oder nicht. Klassen wie \Class{report} oder +\Class{article} haben kein \Macro{frontmatter}, \Macro{mainmatter} oder +\Macro{backmatter} und deshalb auch kein \Macro{if@mainmatter}. Stattdessen +gehen sie davon aus, dass es nur einen Hauptteil gibt. + +Für \Package{scrlayer} ist es aber einfacher, nicht ständig erneut die +Existenz und Verwendung der Umschaltanweisungen zu erkennen und damit zu +entscheiden, ob nun gerade im Hauptteil gearbeitet wird oder nicht, sondern +stattdessen auch bei Klassen wie \Class{report} oder \Class{article} mit +\Macro{if@mainmatter} zu arbeiten. Das sollte bei den genannten Klassen dann +schlicht \Macro{iftrue}\IndexCmd{iftrue} entsprechen. Wenn also +\Macro{if@mainmatter} nicht definiert ist, dann definiert \Package{scrlayer} +es als Synonym für \Macro{iftrue}. + +Einige Klassen haben jedoch tatsächlich \Macro{frontmatter}, +\Macro{mainmatter} oder \Macro{backmatter} und trotzdem kein +\Macro{if@mainmatter}. In diesem Fall definiert \Package{scrlayer} ebenfalls +\Macro{if@mainmatter} als Synonym für \Macro{iftrue} und erweitert +die gefundenen Definitionen von \Macro{frontmatter}, \Macro{mainmatter} und +\Macro{backmatter} so, dass diese \Macro{if@mainmatter} passend +umdefinieren. Falls es jedoch weitere, vergleichbare Befehle zur Umschaltung +zwischen unterschiedlichen Dokumentteilen gibt, so kennt \Package{scrlayer} +diese nicht, testet nicht auf diese und erweitert sie daher auch nicht +passend. In diesem Fall ist \Package{scrlayer} also auf die Mitarbeit des +Klassenautors angewiesen.% +\EndIndex{Cmd}{if@mainmatter}% + +\begin{Declaration} + \Macro{DeclareSectionNumberDepth}% + \Parameter{Name der Gliederungsebene}\Parameter{Tiefe der Gliederungsebene} +\end{Declaration} +\BeginIndex{Cmd}{DeclareSectionNumberDepth}% +Jeder Gliederungsebene ist normalerweise eine nummerische Tiefe +zugeordnet. Das ist notwendig, damit \LaTeX{} die Hierarchie der +Gliederungsebenen verwalten kann. Allerdings sind die Werte normalerweise nur +der jeweiligen Klasse bekannt, in der die Gliederungsbefehle definiert +sind. Diese setzt dann in den entsprechenden \LaTeX-Befehlen selbst die +zugehörigen Nummern ein. + +Das Paket \Package{scrlayer} benötigt ebenfalls Informationen über die +Hierarchie. Mit Hilfe der Anweisung \Macro{DeclareSectionNumberDepth} kann +\Package{scrlayer} zum Namen einer Gliederungsebene die zugehörige nummerische +Tiefe bekannt gemacht werden. Für die Standardklassen wäre \Parameter{Name der + Gliederungsebene} beispielsweise \PValue{part}, \PValue{chapter}, +\PValue{section}, \PValue{subsection}, \PValue{subsubsection}, +\PValue{paragraph} oder \PValue{subparagraph} und die jeweils zugehörige +\PName{Tiefe der Gliederungsebene} wäre -1, 0, 1, 2, 3, 4 oder 5. + +Das Paket \Package{scrlayer} versucht diese nummerischen Werte zunächst beim +Laden des Pakets und dann noch einmal während +\Macro{begin}\PParameter{document} selbst zu ermitteln. Aber für den Fall, +dass dies einmal nicht zu einem korrekten Ergebnis führt, beispielsweise falls +es vollkommen andere Gliederungsbefehle gibt, kann man die Zuordnung eben mit +\Macro{DeclareSectionNumberDepth} auch explizit vornehmen.% +% +\EndIndex{Cmd}{DeclareSectionNumberDepth}% + +\section{Deklaration von Ebenen} +\label{sec:scrlayer.layers} + +Eine Ebene (engl. \emph{layer}) ist ein Denkmodell für eine Seite. Im +Gegensatz zu echtem, physischem Papier, ist diese Seite vollständig +transparent. Üblicherweise werden mehrere Ebenen übereinander gestapelt und +undurchsichtiges Material auf einer Ebene überdeckt Material auf den Ebenen +darunter. Ein solcher Stapel von Ebenen wird dann auf eine reale Seite Papier +abgebildet. Das Paket \Package{scrlayer} stellt zwei solche Stapel für jede +Seite zur Verfügung: einen Hintergrundstapel und einen Vordergrundstapel. Der +Hintergrundstapel befindet sich unter oder hinter dem normalen Seiteninhalt, +während der Vordergrundstapel über oder vor dem normalen Seiteninhalt +ausgegeben wird. Der normale Seiteninhalt ist daher eine Art von Trennebene +zwischen den beiden Ebenenstapeln. + +Eine Ebene hat mehrere Eigenschaften. Die erste Eigenschaft ist Antwort auf +die Frage, ob die Ebene zum Hintergrund oder zum Vordergrund +gehört. Hintergrundebenen werden ausgegeben, bevor der normale Inhalt der +Seite gedruckt wird. Optisch erscheinen sie daher \emph{hinter} oder +\emph{unter} dem normalen Inhalt der Seite. Vordergrundebenen werden an den +normalen Inhalt anschließend ausgegeben. Optisch erscheinen sie daher +\emph{vor}, \emph{auf} oder \emph{über} dem normalen Inhalt der Seite. In der +Voreinstellung ist eine Ebene sowohl eine Hintergrundebene als auch eine +Vordergrundebene und wird daher zweimal ausgegeben. + +Die zweite und dritte Eigenschaft sind die horizontale und vertikale Position +der Ebene. Die vierte und fünfte Eigenschaft sind die horizontale und +vertikale Größe der Ebene. Daraus ergibt sich, dass eine Ebene auch kleiner +oder größer als das Papier sein kann. + +Aber wie werden die horizontale und die vertikale Position gemessen? Aus der +Antwort ergibt sich die sechste Eigenschaft, die Ausrichtung. Man kann von der +linken Papierkante zur linken Kante der Ebene, zur Mitte der Ebene oder zur +rechten Kante der Ebene messen. Entsprechend kann man von der oberen Kante des +Papiers zur oberen Kante der Ebene, zur Mitte der Ebene oder zur unteren Kante +der Ebene messen. + +Die siebte Eigenschaft ist, ob eine Ebene auf linken oder rechten Seiten eines +Dokuments gedruckt werden soll. In der Voreinstellung wird eine Ebene auf +allen Seiten gedruckt. Es ist zu beachten, dass \LaTeX{} Seiten mit geraden +Seitenzahlen als linke Seiten und Seiten mit ungeraden Seitenzahlen als rechte +Seiten behandelt, dass es jedoch im einseitigen Modus unabhängig von der +Nummer nur rechte Seiten gibt. \LaTeX{} bezeichnet den Gepflogenheiten in der +englischen Sprache entsprechend linke Seiten auch als gerade Seiten und rechte +Seiten als ungerade Seiten. + +Die achte Eigenschaft ist, ob eine Ebene auf den einseitigen oder den +doppelseitigen Modus beschränkt sein soll. In der Voreinstellung ist die Ebene +diesbezüglich unbeschränkt, wird also sowohl im einseitigen als auch im +doppelseitigen Modus ausgegeben. Nichtsdestotrotz wird eine Ebene, die auf +gerade Seiten beschränkt ist, im einseitigen Modus niemals ausgegeben werden +und ist daher auch keine einseitige Ebene. + +Die neunte Eigenschaft ist, ob eine Ebene auf Gleitseiten oder auf +Normalseiten beschränkt ist. \LaTeX{} erzeugt Gleitseiten für Objekte aus +Umgebungen wie \Environment{table} oder \Environment{figure}, wenn diesen +erlaubt wurde, auf eigenen Seiten ohne Teile des normalen Dokumentinhalts +ausgegeben zu werden (siehe Option \PValue{p} für \Environment{table} oder +\Environment{figure}). In gewisser Weise ist es so der gesamten Seite erlaubt, +im Dokument zu gleiten. Normalseiten in diesem Sinne sind alle Seiten, die +keine Gleitseiten sind. Normalseiten können ebenfalls Gleitumgebungen am +Anfang, im Inneren oder am Ende enthalten. Sehr große Gleitumgebungen können +auch den Eindruck einer Gleitseite erzeugen, obwohl es sich bei ihnen in +Wirklichkeit um oben auf einer Normalseite platzierte Gleitumgebungen handelt. + +Die zehnte und letzte Eigenschaft ist der Inhalt der Ebene. Das ist schlicht +das, was gedruckt werden soll, wann immer die Ebene ausgegeben wird. + +Damit haben wir also zehn Eigenschaften. Später in dieser Anleitung werden wir +weitere Eigenschaften sehen, die jedoch auf diese zehn Eigenschaften +abgebildet werden können. Daher nennen wir diese zehn Eigenschaften die +primären Eigenschaften. + +\begin{Declaration} + \Macro{DeclareLayer}\OParameter{Optionenliste}\Parameter{Name der Ebene}\\ + \Macro{DeclareNewLayer}\OParameter{Optionenliste}\Parameter{Name der Ebene}\\ + \Macro{ProvideLayer}\OParameter{Optionenliste}\Parameter{Name der Ebene}\\ + \Macro{RedeclareLayer}\OParameter{Optionenliste}\Parameter{Name der Ebene}\\ + \Macro{ModifyLayer}\OParameter{Optionenliste}\Parameter{Name der Ebene} +\end{Declaration} +\BeginIndex{Cmd}{DeclareLayer}% +\BeginIndex{Cmd}{DeclareNewLayer}% +\BeginIndex{Cmd}{ProvideLayer}% +\BeginIndex{Cmd}{RedeclareLayer}% +\BeginIndex{Cmd}{ModifyLayer}% +Diese Anweisungen können verwendet werden, um Ebenen zu definieren. Der +\PName{Name der Ebene} muss voll expandierbar sein. Die Expansion sollte in +ASCII-Buchstaben resultieren. Einige zusätzliche Zeichen werden ebenfalls +akzeptiert, ihre Verwendung wird jedoch nicht empfohlen. + +Dabei spielt es bei Verwendung von \Macro{DeclareLayer} keine Rolle, ob eine +Ebene \PName{Name der Ebene} bereits existiert oder nicht. Sie wird in jedem +Fall mit den über die \PName{Optionenliste} angegebenen Eigenschaften +definiert. Einzelne Optionen bestehen entweder nur aus einem Schlüssel oder +aus einem Schlüssel, gefolgt von einem Gleichheitszeichen und einem Wert. Die +Optionen sind durch Komma voneinander getrennt. Um innerhalb der Werte einer +Option ein Komma oder ein Leerzeichen verwenden zu können, muss der +entsprechende Wert in geschweifte Klammern gesetzt werden. Eine Übersicht +über die Optionen und die Eigenschaften, die sie repräsentieren, findet sich +in \autoref{tab:scrlayer.layerkeys}. + +Im Unterschied zu \Macro{DeclareLayer} meldet \Macro{DeclareNewLayer} einen +Fehler, falls eine Ebene mit dem angegebenen Namen bereits existiert. Damit +wird der Anwender davor bewahrt, versehentlich mehrmals denselben Namen zu +verwenden. Dies ist insbesondere auch dann nützlich, wenn Klassen oder Pakete +intern ebenfalls Ebenen definieren. + +Dagegen definiert \Macro{ProvideLayer} die Ebene nur, wenn nicht bereits eine +Ebene mit dem angegebenen Namen existiert. Ist der Name hingegen bereits für +eine andere Ebene verwendet, so wird die neuerliche Definition ignoriert. Die +Anweisung hat also die Bedeutung: \emph{Definiere die Ebene, falls sie noch + nicht existiert.} + +Soll eine bereits existierende Ebene umdefiniert werden, so kann wahlweise +\Macro{RedeclareLayer} oder \Macro{ModifyLayer} verwendet werden. Während mit +\Macro{RedeclareLayer} die Ebene zunächst auf die Grundeinstellungen +zurückgesetzt und damit über die angegebene \PName{Optionenliste} komplett neu +definiert wird, unterbleibt bei \Macro{ModifyLayer} das Zurücksetzen. Es +werden dann nur die Eigenschaften geändert, für die in der +\PName{Optionenliste} auch Angaben vorhanden sind. Die Anwendung auf eine +zuvor noch nicht definierte Ebene stellt bei beiden Anweisungen einen Fehler +dar. + +\begin{desclist} + \desccaption{% + Optionen für die Definition von Seiten-Ebenen mit ihrer jeweiligen + Bedeutung als Ebenen-Eigenschaft\label{tab:scrlayer.layerkeys}% + }{% + Optionen für die Definition von Ebenen (\emph{Fortsetzung})% + }% + \nentry{\KOption{align}\PName{Ausrichtungszeichen}}{% + Über die \PName{Ausrichtungszeichen} wird die gewünschte Ausrichtung der + Ebene bestimmt. Dabei steht jedes einzelne \PName{Ausrichtungszeichen} für + eine mögliche Anwendung der Werte \PName{Abstand} der Optionen + \Option{hoffset} oder \Option{voffset}. Mehrere + \PName{Ausrichtungszeichen} können ohne Leerzeichen oder Komma direkt + hintereinander geschrieben werden und werden in der Reihenfolge ihres + Auftretens ausgewertet. Makros sind im Wert der Option jedoch + nicht zulässig. Zulässige \PName{Ausrichtungszeichen} sind: + \begin{description} + \item[\PValue{b} --] der Wert der Option \Option{voffset} ist der Abstand + der Unterkante der Ebene von der Oberkante des Papiers. + \item[\PValue{c} --] die Werte der Optionen \Option{hoffset} und + \Option{voffset} sind die Abstände des Zentrums der Ebene von der linken + und der oberen Kante des Papiers. + \item[\PValue{l} --] der Wert der Option \Option{hoffset} ist der Abstand + der linken Kante der Ebene von der linken Kante des Papiers. + \item[\PValue{r} --] der Wert der Option \Option{hoffset} ist der Abstand + der rechten Kante der Ebene von der linken Kante des Papiers. + \item[\PValue{t} --] der Wert der Option \Option{voffset} ist der Abstand + der Oberkante der Ebene von der Oberkante des Papiers. + \end{description} + }% + \entry{\KOption{area}\Parameter{horizontaler Abstand}\Parameter{vertikaler + Abstand}\Parameter{Breite}\Parameter{Höhe}}{% + Die zusammengesetzte Eigenschaft, resultiert in den primären Eigenschaften + \KOption{hoffset}\PName{horizontaler Abstand}, + \KOption{voffset}\PName{vertikaler Abstand}, + \KOption{width}\PName{Breite}, \KOption{height}\PName{Höhe}.% + }% + \entry{\Option{background}}{% + Mit dieser Option wird die Ebene zu einer reinen Hintergrundebene. Sie + wird also im Gegensatz zur Grundeinstellung nicht mehr gleichzeitig im + Hintergrund und im Vordergrund, sondern nur noch im Hintergrund + ausgegeben. Diese Option erwartet und erlaubt keinen Wert.% + }% + \entry{\Option{bottommargin}}{% + Die zusammengesetzte Eigenschaft setzt die primären Eigenschaften + \Option{hoffset}, \Option{voffset}, \Option{width}, \Option{height} und + \Option{align} so, dass die Ebene horizontal von der linken Kante bis zur + rechten Kante des Papiers reicht und vertikal den gesamten Bereich unter + dem Seitenfuß bis zur unteren Papierkante abdeckt. Diese Option erwartet + und erlaubt keinen Wert.% + }% + \entry{\KOption{clone}\PName{Name einer Ebene}}{% + Die zusammengesetzte Eigenschaft setzt alle primären Eigenschaften + entsprechend der aktuellen, primären Eigenschaften der Ebene mit dem + angegebenen \PName{Name einer Ebene}. Es ist zu beachten, dass \PName{Name + einer Ebene} voll expandierbar sein muss und zu Buchstaben expandieren + sollte. Einige weitere Zeichen werden toleriert, ihre Verwendung wird + jedoch nicht empfohlen! Die Ebene mit dem angegebenen \PName{Name einer + Ebene} muss außerdem bereits existieren.% + }% + \entry{\KOption{contents}\PName{Code}}{% + Der angegebene \PName{Code} wird immer dann expandiert und ausgeführt, + wenn die Ebene ausgegeben wird. Damit definiert \PName{Code} das, was auf + der Ebene zu sehen ist. Es werden keine Tests durchgeführt, ob + \PName{Code} gültig und korrekt ist. Fehler in \PName{Code} können daher + zu verschiedenen Fehlermeldungen auf jeder Seite führen, auf der die Ebene + ausgegeben wird.% + }% + \entry{\Option{evenpage}}{% + Mit dieser Option wird die Ebene zu einer Ebene für linke Seiten. Sie wird + also im Gegensatz zur Grundeinstellung nicht mehr sowohl auf linken als + auch auf rechten Seiten ausgegeben. Da es linke Seiten nur im + doppelseitigen Satz gibt, schließt diese Eigenschaft quasi + \Option{twoside} mit ein. Diese Option erwartet und erlaubt keinen Wert.% + }% + \entry{\Option{floatpage}}{% + Mit dieser Option wird die Ebene zu einer Gleitseitenebene. Sie wird also + im Gegensatz zur Grundeinstellung nicht mehr auf allen Seiten, sondern nur + noch auf Gleitseiten ausgegeben. Näheres zu Gleitseiten ist der Einleitung + zu diesem Abschnitt zu entnehmen. Diese Option erwartet und erlaubt keinen + Wert.% + }% + \entry{\Option{foot}}{% + Die zusammengesetzte Eigenschaft setzt die primären Eigenschaften + \Option{hoffset}, \Option{voffset}, \Option{width}, \Option{height} und + \Option{align} so, dass die Ebene den Seitenfuß in der Breite des + Textbereichs überdeckt. Diese Option erwartet und erlaubt keinen Wert.% + }% + \entry{\Option{footskip}}{% + Die zusammengesetzte Eigenschaft setzt die primären Eigenschaften + \Option{hoffset}, \Option{voffset}, \Option{width}, \Option{height} und + \Option{align} so, dass die Ebene vertikal den Bereich zwischen dem + Textbereich und dem Seitenfuß in Breite des Textbereichs überdeckt. Es ist + zu beachten, dass die Höhe dieses Bereichs zwar von der Länge + \Length{footskip} abhängt, dieser jedoch nicht entspricht. Diese Option + erwartet und erlaubt keinen Wert.% + }% + \entry{\Option{foreground}}{% + Mit dieser Option wird die Ebene zu einer reinen Vodergrundebene. Sie wird + also im Gegensatz zur Grundeinstellung nicht mehr gleichzeitig im + Hintergrund und im Vordergrund, sondern nur noch im Vordergrund + ausgegeben. Diese Option erwartet und erlaubt keinen Wert.% + }% + \entry{\Option{head}}{% + Die zusammengesetzte Eigenschaft setzt die primären Eigenschaften + \Option{hoffset}, \Option{voffset}, \Option{width}, \Option{height} und + \Option{align} so, dass die Ebene den Seitenkopf in der Breite des + Textbereichs überdeckt. Diese Option erwartet und erlaubt keinen Wert.% + }% + \entry{\Option{headsep}}{% + Die zusammengesetzte Eigenschaft setzt die primären Eigenschaften + \Option{hoffset}, \Option{voffset}, \Option{width}, \Option{height} und + \Option{align} so, dass die Ebene den Abstand zwischen dem Seitenkopf und + dem Textbereich in der Breite des Textbereichs überdeckt. Ihre Höhe + entspricht damit der Länge \Length{headsep}. Diese Option erwartet und + erlaubt keinen Wert.% + }% + \entry{\KOption{height}\PName{Höhe}}{% + Setzt die \PName{Höhe} der Ebene. Beachten Sie, dass \PName{Höhe} + wahlweise eine \LaTeX-Länge sein kann, die mit \Macro{newlength} definiert + wurde, eine \TeX-Länge, die mit \Macro{newdimen} oder \Macro{newskip} + definiert wurde, ein Längenwert wie 10\Unit{pt} oder ein Längenausdruck + unter Verwendung von +, -, /, *, (, und ). Die genaue Syntax eines + Längenausdrucks ist \cite[Abschnitt~3.5]{manual:eTeX} zu entnehmen.% + }% + \entry{\KOption{hoffset}\PName{Abstand}}{% + Setzt den \PName{Abstand} der Ebene von der linken Kante des Papiers. Wie + der \PName{Abstand} gemessen wird, hängt von Eigenschaft \Option{align} + ab. Beachten Sie, dass \PName{Abstand} wahlweise eine \LaTeX-Länge sein + kann, die mit \Macro{newlength} definiert wurde, eine \TeX-Länge, die mit + \Macro{newdimen} oder \Macro{newskip} definiert wurde, ein Längenwert wie + 10\Unit{pt} oder ein Längenausdruck unter Verwendung von +, -, /, *, (, + und ). Die genaue Syntax eines Längenausdrucks ist + \cite[Abschnitt~3.5]{manual:eTeX} zu entnehmen.% + }% + \entry{\Option{innermargin}}{% + Die zusammengesetzte Eigenschaft setzt die primären Eigenschaften + \Option{hoffset}, \Option{voffset}, \Option{width}, \Option{height} und + \Option{align} so, dass die Ebene den inneren Rand der Seite von der + Papieroberkante bis zur Papierunterkante überdeckt. Der innere Rand + entspricht im einseitigen Satz dem linken Rand. Diese Option erwartet und + erlaubt keinen Wert.% + }% + \entry{\Option{leftmargin}}{% + Die zusammengesetzte Eigenschaft setzt die primären Eigenschaften + \Option{hoffset}, \Option{voffset}, \Option{width}, \Option{height} und + \Option{align} so, dass die Ebene den linken Rand der Seite von der + Papieroberkante bis zur Papierunterkante überdeckt. Diese Option erwartet + und erlaubt keinen Wert.% + }% + \entry{\Option{nonfloatpage}}{% + Mit dieser Option wird die Ebene auf Seiten beschränkt, die keine + Gleitseiten sind. Sie wird also im Gegensatz zur Grundeinstellung nicht + mehr auf allen Seiten, sondern nur noch auf Nichtgleitseiten + ausgegeben. Näheres zu Gleitseiten und Nichtgleitseiten ist der Einleitung + zu diesem Abschnitt zu entnehmen. Diese Option erwartet und erlaubt keinen + Wert.% + }% + \entry{\Option{oddpage}}{% + Mit dieser Option wird die Ebene zu einer Ebene für rechte Seiten. Sie wird + also im Gegensatz zur Grundeinstellung nicht mehr sowohl auf linken als + auch auf rechten Seiten ausgegeben. Es ist zu beachten, dass im + einseitigen Satz alle Seiten unabhängig von der Seitenzahl rechte Seiten + sind. Diese Option erwartet und erlaubt keinen Wert.% + }% + \entry{\Option{oneside}}{% + Mit dieser Option wird die Ebene zu einer Ebene für den einseitigen + Satz. Sie wird also im Gegensatz zur Grundeinstellung nicht mehr sowohl + im einseitigen als auch im doppelseitigen Satz ausgegeben. Diese Option + erwartet und erlaubt keinen Wert.% + }% + \entry{\Option{outermargin}}{% + Die zusammengesetzte Eigenschaft setzt die primären Eigenschaften + \Option{hoffset}, \Option{voffset}, \Option{width}, \Option{height} und + \Option{align} so, dass die Ebene den äußeren Rand der Seite von der + Papieroberkante bis zur Papierunterkante überdeckt. Der äußere Rand + entspricht im einseitigen Satz dem rechten Rand. Diese Option erwartet und + erlaubt keinen Wert.% + }% + \entry{\Option{page}}{% + Die zusammengesetzte Eigenschaft setzt die primären Eigenschaften + \Option{hoffset}, \Option{voffset}, \Option{width}, \Option{height} und + \Option{align} so, dass die Ebene die komplette Seite überdeckt. Diese + Option erwartet und erlaubt keinen Wert.% + }% + \entry{\Option{rightmargin}}{% + Die zusammengesetzte Eigenschaft setzt die primären Eigenschaften + \Option{hoffset}, \Option{voffset}, \Option{width}, \Option{height} und + \Option{align} so, dass die Ebene den rechten Rand der Seite von der + Papieroberkante bis zur Papierunterkante überdeckt. Diese Option erwartet + und erlaubt keinen Wert.% + }% + \entry{\Option{textarea}}{% + Die zusammengesetzte Eigenschaft setzt die primären Eigenschaften + \Option{hoffset}, \Option{voffset}, \Option{width}, \Option{height} und + \Option{align} so, dass die Ebene den kompletten Textbereich + überdeckt. Diese Option erwartet und erlaubt keinen Wert.% + }% + \entry{\Option{topmargin}}{% + Die zusammengesetzte Eigenschaft setzt die primären Eigenschaften + \Option{hoffset}, \Option{voffset}, \Option{width}, \Option{height} und + \Option{align} so, dass die Ebene den oberen Rand der Seite von der linken + Kante des Papiers bis zu dessen rechter Kante überdeckt. Diese Option + erwartet und erlaubt keinen Wert.% + }% + \entry{\Option{twoside}}{% + Mit dieser Option wird die Ebene zu einer Ebene für den doppelseitigen + Satz. Sie wird also im Gegensatz zur Grundeinstellung nicht mehr sowohl + im einseitigen als auch im doppelseitigen Satz ausgegeben. Diese Option + erwartet und erlaubt keinen Wert.% + }% + \entry{\KOption{voffset}\PName{Abstand}}{% + Setzt den \PName{Abstand} der Ebene von der Papieroberkante. Wie der + \PName{Abstand} gemessen wird, hängt von Eigenschaft \Option{align} + ab. Beachten Sie, dass \PName{Abstand} wahlweise eine \LaTeX-Länge sein + kann, die mit \Macro{newlength} definiert wurde, eine \TeX-Länge, die mit + \Macro{newdimen} oder \Macro{newskip} definiert wurde, ein Längenwert wie + 10\Unit{pt} oder ein Längenausdruck unter Verwendung von +, -, /, *, (, + und ). Die genaue Syntax eines Längenausdrucks ist + \cite[Abschnitt~3.5]{manual:eTeX} zu entnehmen.% + }% + \entry{\KOption{width}\PName{Breite}}{% + Setzt die \PName{Breite} der Ebene. Beachten Sie, dass \PName{Breite} + wahlweise eine \LaTeX-Länge sein kann, die mit \Macro{newlength} definiert + wurde, eine \TeX-Länge, die mit \Macro{newdimen} oder \Macro{newskip} + definiert wurde, ein Längenwert wie 10\Unit{pt} oder ein Längenausdruck + unter Verwendung von +, -, /, *, (, und ). Die genaue Syntax eines + Längenausdrucks ist \cite[Abschnitt~3.5]{manual:eTeX} zu entnehmen.% + }% +\end{desclist} +% +\EndIndex{Cmd}{ModifyLayer}% +\EndIndex{Cmd}{RedeclareLayer}% +\EndIndex{Cmd}{ProvideLayer}% +\EndIndex{Cmd}{DeclareNewLayer}% +\EndIndex{Cmd}{DeclareLayer}% + +\begin{Declaration} + \Macro{layerxoffset}\\ + \Macro{layeryoffset}\\ + \Macro{layerwidth}\\ + \Macro{layerheight}% +\end{Declaration} +\BeginIndex{Cmd}{layerxoffset}% +\BeginIndex{Cmd}{layeryoffset}% +\BeginIndex{Cmd}{layerwidth}% +\BeginIndex{Cmd}{layerheight}% +Diese Anweisungen sind nur innerhalb der Ausgabe des mit \Option{contents} +angegebenen \PName{Code} gültig. In diesem Fall enthalten sie die tatsächlich +verwendete Position und Ausdehnung der Ebene, die für die Ausgabe verwendet +werden. Dies ist jedoch nicht zwangsläufig auch die tatsächliche Ausdehnung des +Inhalts, falls dieser beispielsweise überbreit oder überhoch ist oder die +Ebene nicht komplett ausfüllt. Eine Umdefinierung der Anweisungen und damit +Änderung der in ihnen gespeicherten Werte ist nicht gestattet und führt zu +unvorhersehbaren Ergebnissen.% +\EndIndex{Cmd}{layerheight}% +\EndIndex{Cmd}{layerwidth}% +\EndIndex{Cmd}{layeryoffset}% +\EndIndex{Cmd}{layerxoffset}% + +\begin{Declaration} + \Macro{IfLayerExists}%^^A + \Parameter{Name}\Parameter{Dann-Code}\Parameter{Sonst-Code} +\end{Declaration} +\BeginIndex{Cmd}{IfLayerExists}% +Diese Anweisung kann dazu verwendet werden, Code in Abhängigkeit davon, ob ein +eine Ebene existiert oder nicht, auszuführen. Wenn die Ebene mit dem +angegebenen \PName{Name} existiert, so wird der \PName{Dann-Code} +ausgeführt, anderenfalls der \PName{Sonst-Code}. Bitte beachten Sie, dass die +Anweisung nicht wirklich testen kann, ob eine Ebene existiert. Sie verwendet +stattdessen Heuristiken, die niemals falsch-negativ sein können, jedoch im +Extremfall falsch-positiv sein könnten. Nichts desto trotz: Falls der Test +falsch-positiv ist, läuft etwas schief. Beispielsweise könnte dies ein +Indikator für die Verwendung eines inkompatiblen Pakets oder dafür sein, dass +der Anwender etwas tut, was er besser nicht tun sollte.% +\EndIndex{Cmd}{IfLayerExists} + +\begin{Declaration} + \Macro{DestroyLayer}\Parameter{Name der Ebene} +\end{Declaration} +\BeginIndex{Cmd}{DestroyLayer}% +Existiert eine Ebene mit dem angegebenen \PName{Name der Ebene}, so werden +alle zu dieser Ebene gehörenden Makros zu \Macro{relax}. Anschließend kann die +Ebene nicht länger verwendet werden. Allerdings ist es kein Problem, falls die +Ebene Bestandteil eines mit \Package{scrlayer} definierten Seitenstils ist, da +derart zerstörte Ebenen schlicht ignoriert werden. Nichtsdestotrotz können +zerstörte Ebenen anschließend mit \Macro{DeclareNewLayer} oder +\Macro{ProvideLayer} neu definiert werden. Sie können jedoch vor einer +neuerlichen Definition nicht länger mit \Macro{RedeclareLayer} oder +\Macro{ModifyLayer} verändert werden. + +Die Anweisung ist dazu bestimmt, innerhalb von +\Macro{scrlayerOnAutoRemoveInterface} verwendet zu werden. Damit können Ebenen +die unter Verwendung von entfernbaren Anweisungen einer entfernbaren +Benutzerschnittstelle definiert wurden, zusammen mit dieser +Benutzerschnittstelle entfernt werden.% +% +\EndIndex{Cmd}{DestroyLayer}% + + +\begin{Declaration} + \Macro{layercontentsmeasure} +\end{Declaration} +\BeginIndex{Cmd}{layercontentsmeasure}% +Mit Hilfe der \KOMAScript-Option +\Option{draft}\IndexOption{draft~=\PName{Ein-Aus-Wert}} kann für das Paket +\Package{scrlayer} ein Entwurfsmodus aktiviert werden. In diesem Entwurfsmodus +wird hinter jeder Ebene zunächst eine Bemaßung der Ebene ausgegeben. Diese +Bemaßung erfolgt mit \Macro{layercontentsmeasure}. Diese Anweisung zeigt am +oberen und linken Rand der Ebene ein Maßband in Zentimeter und am rechten und +unteren Rand der Ebene ein Maßband in Zoll. Die Anweisung +\Macro{layercontentsmeasure} kann statt über die Option auch schlicht als +alleiniger \PName{Code} für die Eigenschaft \Option{contents} einer Ebene +verwendet werden.% +% +\EndIndex{Cmd}{layercontentsmeasure}% + + +\section{Deklaration und Verwaltung von Seitenstilen} +\label{sec:scrlayer.pagestyles} + +Wir kennen nun Ebenen und wissen, wie diese definiert und verwaltet +werden. Aber bisher wissen wir noch nicht, wie sie verwendet werden. Die +möglicherweise überraschende Antwort lautet: mit Hilfe von +Seitenstilen. Üblicherweise werden Seitenstile in \LaTeX{} zur Definition von +Kopf und Fuß der Seite verwendet. + +Kopf und Fuß für ungerade oder rechte Seiten werden im doppelseitigen Modus +auf Seiten mit ungerader Seitenzahl ausgegeben. Im einseitigen Modus werden +sie auf allen Seiten verwendet. Das ist unmittelbar mit den Optionen +\Option{oddpage} und \Option{evenpage} für Ebenen vergleichbar. + +Der Seitenkopf wird vor dem normalen Seiteninhalt ausgegeben. Der Seitenfuß +wird entsprechend nach dem normalen Seiteninhalt ausgegeben. Dies +korrespondiert also unmittelbar mit den Optionen \Option{background} und +\Option{foreground} für Ebenen. + +Daher liegt es nahe, Seitenstile als Listen von Ebenen zu definieren. Aber +statt nur die genannten vier Optionen, können dabei alle Eigenschaften +verwendet werden, die in \autoref{sec:scrlayer.layers} erklärt wurden. + +Als Ergebnis dieser Überlegungen ist eine Form von Seitenstilen, die +\Package{scrlayer} bietet, der Ebenen-Seitenstil. Ein solcher Ebenen-Seitenstil +besteht aus Ebenen und zusätzlich aus mehreren Haken (engl. \emph{hooks}). Die +Ebenen wurden bereits in \autoref{sec:scrlayer.layers} beschrieben. Die Haken +sind Punkte in der Expansion oder Anwendung von Seitenstilen, zu denen +zusätzlicher Code hinzugefügt werden kann. Erfahrene Anwender kennen dieses +Konzept bereits von beispielsweise \Macro{AtBeginDocument} (siehe +\cite{latex:usrguide}) oder \Macro{BeforeClosingMainAux} (siehe +\autopageref{desc:scrlfile.cmd.BeforeClosingMainAux}). + +Eine zweite Form von Seitenstilen, die \Package{scrlayer} bietet, ist der +Alias-Seitenstil oder Seitenstil-Alias. Ein Seitenstil-Alias besteht in +Wirklichkeit aus einem anderen Seitenstil. Anders ausgedrückt ist der Name eines +Seitenstil-Alias ein Alias-Name für einen anderen Seitenstil-Alias oder einen +primären Seitenstil. Daher führt die Manipulation an einem Seitenstil-Alias +zu einer Manipulation am originären Seitenstil. Ist der originäre Seitenstil +selbst ebenfalls ein Seitenstil-Alias, so führt dessen Manipulation wiederum +zu einer Manipulation dessen originären Seitenstils und immer so weiter, bis +schließlich ein realer Seitenstil verändert wird. Der Ausdruck +\emph{realer Seitenstil} wird zur Unterscheidung von einem Seitenstil-Alias +verwendet. Alle Seitenstile, die kein Seitenstil-Alias sind, sind reale +Seitenstile. Seitenstil-Aliase können nicht nur für Seitenstile definiert +werden, die mit \Package{scrlayer} definiert wurden, sondern für alle +Seitenstile. + +\begin{Declaration} + \Macro{currentpagestyle} +\end{Declaration} +\BeginIndex{Cmd}{currentpagestyle}% +Das Paket \Package{scrlayer} erweitert die \LaTeX-Anweisung +\Macro{pagestyle}\IndexCmd{pagestyle} so, dass diese \Macro{currentpagestyle} +als den Namen des jeweils aktiven Seitenstils +definiert. Es\textnote{Achtung!} ist zu beachten, dass +\Macro{thispagestyle}\IndexCmd{thispagestyle} selbst \Macro{currentpagestyle} +nicht verändert. Wird \Macro{thispagestyle} verwendet, so kann sich +\Macro{currentpagestyle} aber innerhalb der \LaTeX-Ausgabefunktion +verändern. Dies hat jedoch nur dann Auswirkungen, wenn +\Macro{currentpagestyle} bis in die \LaTeX-Ausgabefunktion geschützt +verwendet wird. + +Es sei darauf hingewiesen, dass die später in diesem Abschnitt dokumentierten +Ebenen-Seitenstile nicht auf diese Erweiterung von \Macro{pagestyle} angewiesen +sind, da sie selbst ebenfalls \Macro{currentpagestyle} umdefinieren. Die +Erweiterung wurde für die Verwendung von anderen Seitenstilen, die nicht auf +\Package{scrlayer} basieren, vorgenommen. Es ist außerdem zu +beachten\textnote{Achtung!}, dass \Macro{currentpagestyle} vor der ersten +Verwendung von \Macro{pagestyle} nach dem Laden von \Package{scrlayer} leer +ist. Bei der Definition einer Endanwender-Schnittstelle dürfte es daher +nützlich sein, mit einer impliziten \Macro{pagestyle}-Anweisung den aktuellen +Seitenstil auf eine Voreinstellung zu setzen.% +\EndIndex{Cmd}{currentpagestyle}% + +\begin{Declaration} + \Macro{BeforeSelectAnyPageStyle}\Parameter{Code}\\ + \Macro{AfterSelectAnyPageStyle}\Parameter{Code}% +\end{Declaration} +\BeginIndex{Cmd}{BeforeSelectAnyPageStyle}% +\BeginIndex{Cmd}{AfterSelectAnyPageStyle}% +Die Anweisung \Macro{BeforeSelectAnyPageStyle} fügt einem Haken +(engl. \emph{hook}) \PName{Code} hinzu, der innerhalb der Ausführung von +\Macro{pagestyle}, unmittelbar vor der Auswahl des Seitenstils ausgeführt +wird. Innerhalb von \PName{Code} kann \texttt{\#1} als Platzhalter für das +Argument von \Macro{pagestyle} verwendet werden. + +Die Anweisung \Macro{AfterSelectAnyPageStyle} arbeitet ähnlich. Allerdings +wird hier \PName{Code} ausgeführt, nachdem der Seitenstil gewählt und +\Macro{currentpagestyle} auf den Namen des realen Seitenstils gesetzt wurde. + +Es ist zu beachten\textnote{Achtung!}, dass \PName{Code} jeweils nur bei der +Wahl eines Seitenstils mit Hilfe von \Macro{pagestyle} ausgeführt wird. Wird +ein Seitenstil auf andere Art, beispielsweise mit Hilfe von +\Macro{thispagestyle}, gewählt, so wird \PName{Code} nicht ausgeführt. Es ist +außerdem zu beachten\textnote{Achtung!}, dass einmal hinzugefügter +\PName{Code} nicht mehr entfernt werden kann. Allerdings wird der \PName{Code} +lokal hinzugefügt. Sein Gültigkeitsbereich kann daher mit einer Gruppe +beschränkt werden.% +\EndIndex{Cmd}{AfterSelectAnyPageStyle}% +\EndIndex{Cmd}{BeforeSelectAnyPageStyle}% + + +\begin{Declaration} + \Macro{DeclarePageStyleAlias}% + \Parameter{Seitenstil-Alias-Name}\Parameter{originärer Seitenstil-Name}\\ + \Macro{DeclareNewPageStyleAlias}% + \Parameter{Seitenstil-Alias-Name}\Parameter{originärer Seitenstil-Name}\\ + \Macro{ProvidePageStyleAlias}% + \Parameter{Seitenstil-Alias-Name}\Parameter{originärer Seitenstil-Name}\\ + \Macro{RedeclarePageStyleAlias}% + \Parameter{Seitenstil-Alias-Name}\Parameter{originärer Seitenstil-Name}% +\end{Declaration} +\BeginIndex{Cmd}{DeclarePageStyleAlias}% +\BeginIndex{Cmd}{DeclareNewPageStyleAlias}% +\BeginIndex{Cmd}{ProvidePageStyleAlias}% +\BeginIndex{Cmd}{RedeclarePageStyleAlias}% +Diese Anweisungen können verwendet werden, um einen Seitenstil mit dem Namen +\PName{Seitenstil-Alias-Name} zu definieren, der einfach nur ein Alias für +einen bereits existierenden Seitenstil mit dem Namen \PName{originärer + Seitenstil-Name} ist. Falls bereits ein Seitenstil mit dem Namen +\PName{Seitenstil-Alias-Name} existiert, wird dieser vor der Erzeugung des +Alias mit \Macro{DeclarePageStyleAlias} oder \Macro{RedeclarePageStyleAlias} +zerstört. + +Die Anweisung \Macro{DeclareNewPageStyleAlias} erzeugt eine Fehlermeldung, +falls zuvor bereits ein Seitenstil mit dem Namen \PName{Seitenstil-Alias-Name} +definiert wurde. Dabei spielt es keine Rolle, ob der existierende Seitenstil +selbst ein Alias-Seitenstil, ein Ebenen-Seitenstil oder eine andere Art von +Seitenstil ist. + +Die Anweisung \Macro{ProvidePageStyleAlias} definiert den Alias-Seitenstil +nur, falls nicht bereits ein Seitenstil mit dem Namen +\PName{Seitenstil-Alias-Name} existiert. Falls ein solcher Seitenstil +existiert, bleibt dieser erhalten und die Anweisung tut schlicht nichts. + +Im Gegensatz zu den anderen Anweisungen erwartet +\Macro{RedeclarePageStyleAlias}, dass bereits ein Seitenstil mit dem Namen +\PName{Seitenstil-Alias-Name} existiert. Anderenfalls erzeugt die Anweisung +eine Fehlermeldung.% +\EndIndex{Cmd}{RedeclarePageStyleAlias}% +\EndIndex{Cmd}{ProvidePageStyleAlias}% +\EndIndex{Cmd}{DeclareNewPageStyleAlias}% +\EndIndex{Cmd}{DeclarePageStyleAlias} + +\begin{Declaration} + \Macro{DestroyPageStyleAlias}\Parameter{Seitenstil-Alias-Name}% +\end{Declaration} +\BeginIndex{Cmd}{DestroyPageStyleAlias}% +Mit dieser Anweisung wird der Seitenstil-Alias mit dem angegebenen Namen +\PName{Seitenstil-Alias-Name} für \LaTeX{} wieder undefiniert, wenn es +tatsächlich einen Alias-Seitenstil dieses Namens gibt. Anschließend kann der +Seitenstil beispielsweise mit \Macro{DeclareNewAliasPageStyle} oder +\Macro{ProvideAliasPageStyle} neu definiert werden. + +Die Anweisung ist dazu bestimmt innerhalb von +\Macro{scrlayerOnAutoRemoveInterface} verwendet zu werden, um Seitenstile, die +als Teil eines Endanwender-Interfaces definiert wurden, beim Entfernen dieses +Interfaces mit zu entfernen.% +\EndIndex{Cmd}{DestroyPageStyleAlias}% + +\begin{Declaration} + \Macro{GetRealPageStyle}\Parameter{Seitenstil-Name}% +\end{Declaration} +\BeginIndex{Cmd}{GetRealPageStyle}% +Diese Anweisung sucht rekursiv nach dem tatsächlichen Namen eines +Seitenstils, wenn der angegebene \PName{Seitenstil-Name} zu einem +Alias-Seitenstil gehört. Ist \PName{Seitenstil-Name} nicht der Name eines +Alias-Seitenstils, so ist das Ergebnis \PName{Seitenstil-Name} selbst. Das +gilt auch, falls ein Seitenstil namens \PName{Seitenstil-Name} gar nicht +existiert. Die Anweisung ist voll expandierbar und kann damit beispielsweise +auch im zweiten Argument einer \Macro{edef}-Anweisung verwendet werden. +% +\EndIndex{Cmd}{GetRealPageStyle}% + + +\begin{Declaration} + \Macro{DeclarePageStyleByLayers}% + \OParameter{Optionenliste}\Parameter{Seitenstil-Name}% + \Parameter{Ebenenliste}\\ + \Macro{DeclareNewPageStyleByLayers}% + \OParameter{Optionenliste}\Parameter{Seitenstil-Name}% + \Parameter{Ebenenliste}\\ + \Macro{ProvidePageStyleByLayers}% + \OParameter{Optionenliste}\Parameter{Seitenstil-Name}% + \Parameter{Ebenenliste}\\ + \Macro{RedeclarePageStyleByLayers}% + \OParameter{Optionenliste}\Parameter{Seitenstil-Name}% + \Parameter{Ebenenliste}% +\end{Declaration} +\BeginIndex{Cmd}{DeclarePageStyleByLayers}% +\BeginIndex{Cmd}{DeclareNewPageStyleByLayers}% +\BeginIndex{Cmd}{ProvidePageStyleByLayers}% +\BeginIndex{Cmd}{RedeclarePageStyleByLayers}% +Diese Anweisungen deklarieren einen Seitenstil mit dem +Namen \Parameter{Seitenstil-Name}. Der Seitenstil besteht aus einer Anzahl von +Ebenen, die in der mit Komma separierten \PName{Ebenenliste} angegeben +sind. Es ist zu beachten\textnote{Achtung!}, dass sowohl +\PName{Seitenstil-Name} als auch \PName{Ebenenliste} voll expandierbar sein +muss und die Expansion zu einer Reihe von Buchstaben führen sollte. Einige +andere Zeichen werden zwar toleriert, ihre Verwendung wird jedoch nicht +empfohlen. + +Die \PName{Optionenliste} ist eine mit Komma separierte Liste von +\texttt{\PName{Schlüssel}=\PName{Wert}}-Optionen. Diese Optionen können +verwendet werden, um zusätzliche Eigenschaften zu setzen und zusätzliche +Möglichkeiten zu nutzen. Derzeit werden sie verwendet, um Code an bestimmten +Stellen der Aktivierung oder Verwendung eines Seitenstils über Haken +(engl. \emph{hooks}) auszuführen. Für allgemeine Informationen zu Haken sei +auf die Einleitung zu diesem Abschnitt verwiesen. Details zu den Haken und +ihrer Bedeutung sind \autoref{tab:scrlayer.pagestyle.hooks} zu entnehmen. + +\begin{desclist} + \desccaption{% + Optionen und gleichnamige Haken für Ebenen-Seitenstile (in der Reihenfolge + ihrer Abarbeitung)\label{tab:scrlayer.pagestyle.hooks}% + }{% + Optionen für die Haken von Ebenen-Seitenstilen (\emph{Fortsetzung})% + }% + \entry{\KOption{onselect}\PName{Code}}{% + Der \PName{Code} dieses Hakens wird immer dann ausgeführt, wenn der + Seitenstil beispielsweise mit \Macro{pagestyle} ausgewählt wird. Es ist zu + beachten, dass \Macro{thispagestyle} selbst keinen Seitenstil unmittelbar + auswählt, sondern der Seitenstil in diesem Fall erst innerhalb der + Ausgaberoutine von \LaTeX{} aktiviert wird.% + }% + \entry{\KOption{oninit}\PName{Code}}{% + Der \PName{Code} dieses Hakens wird immer dann ausgeführt, wenn die + Ausgabe der Ebenen für den Seitenstil initialisiert wird. Beachten Sie, + dass dies für jede Seite zweimal geschieht: einmal für Hintergrund-Ebenen + und einmal für Vordergrund-Ebenen.% + }% + \entry{\KOption{ononeside}\PName{Code}}{% + Der \PName{Code} dieses Hakens wird immer dann ausgeführt, wenn im + einseitigen Modus die Ausgabe der Ebenen für den Seitenstil initialisiert + wird. Beachten Sie, dass dies für jede Seite zweimal geschieht: einmal für + Hintergrund-Ebenen und einmal für Vordergrund-Ebenen.% + }% + \entry{\KOption{ontwoside}\PName{Code}}{% + Der \PName{Code} dieses Hakens wird immer dann ausgeführt, wenn im + doppelseitigen Modus die Ausgabe der Ebenen für den Seitenstil + initialisiert wird. Beachten Sie, dass dies für jede + Seite zweimal geschieht: einmal für Hintergrund-Ebenen und einmal für + Vordergrund-Ebenen.% + }% + \entry{\KOption{onoddpage}\PName{Code}}{% + Der \PName{Code} dieses Hakens wird immer dann ausgeführt, wenn die + Ausgabe der Ebenen für den Seitenstil auf einer rechten Seite + initialisiert wird. Beachten Sie, dass dies für jede + Seite zweimal geschieht: einmal für Hintergrund-Ebenen und einmal für + Vordergrund-Ebenen. Beachten Sie außerdem, dass im + einseitigen Modus alle Seiten rechte Seiten sind.% + }% + \entry{\KOption{onevenpage}\PName{Code}}{% + Der \PName{Code} dieses Hakens wird immer dann ausgeführt, wenn die + Ausgabe der Ebenen für den Seitenstil auf einer linken Seite initialisiert + wird. Beachten Sie, dass dies für jede Seite zweimal + geschieht: einmal für Hintergrund-Ebenen und einmal für + Vordergrund-Ebenen. Beachten Sie außerdem, dass im + einseitigen Modus keine linken Seiten existieren.% + }% + \entry{\KOption{onfloatpage}\PName{Code}}{% + Der \PName{Code} dieses Hakens wird immer dann ausgeführt, wenn die + Ausgabe der Ebenen für den Seitenstil auf einer Gleitumgebungsseite + initialisiert wird. Beachten Sie, dass dies für jede + Seite zweimal geschieht: einmal für Hintergrund-Ebenen und einmal für + Vordergrund-Ebenen. Beachten Sie außerdem, dass + Gleitumgebungsseiten nur diejenigen Seiten sind, auf denen eine oder + mehrere p-platzierte Gleitumgebungen ausgegeben werden.% + }% + \entry{\KOption{onnonfloatpage}\PName{Code}}{% + Der \PName{Code} dieses Hakens wird immer dann ausgeführt, wenn die + Ausgabe der Ebenen für den Seitenstil auf einer Seite initialisiert wird, + die keine Gleitumgebungsseite ist. Beachten Sie, dass + dies für jede Seite zweimal geschieht: einmal für Hintergrund-Ebenen und + einmal für Vordergrund-Ebenen. Beachten Sie außerdem, + dass Gleitumgebungsseiten nur diejenigen Seiten sind, auf denen eine oder + mehrere p-platzierte Gleitumgebungen ausgegeben werden, und auf anderen + Seiten sehr wohl t-, b- oder h-platzierte Gleitumgebungen stehen können.% + }% + \entry{\KOption{onbackground}\PName{Code}}{% + Der \PName{Code} dieses Hakens wird immer dann ausgeführt, wenn die + Ausgabe der Ebenen für den Hintergrund einer Seite initialisiert + wird. Beachten Sie, dass dies auf jeder Seite genau + einmal der Fall ist.% + }% + \entry{\KOption{onforeground}\PName{Code}}{% + Der \PName{Code} dieses Hakens wird immer dann ausgeführt, wenn die + Ausgabe der Ebenen für den Vordergrund einer Seite initialisiert + wird. Beachten Sie, dass dies auf jeder Seite genau + einmal der Fall ist.% + }% +\end{desclist} + +Der Unterschied zwischen \Macro{DeclarePageStyleByLayers} und +\Macro{DeclareNewPageStyleByLayers} besteht darin, dass +\Macro{DeclareNewPageStyleByLayers} eine Fehlermeldung erzeugt, falls bereits +ein Seitenstil des Namens \PName{Seitenstil-Name} +existiert. Beachten\textnote{Achtung!} Sie, dass die Deklaration eines +Seitenstils, der bereits ein Alias für einen anderen Seitenstil ist (siehe +\Macro{DeclareAliasPageStyle} zuvor in diesem Abschnitt) nicht zu der +Umdefinierung des angegebenen Alias-Seitenstils, sondern des realen +Seitenstils (siehe \Macro{GetRealPageStyle} zuvor in diesem Abschnitt) führt. + +Im Unterschied dazu wird bei \Macro{ProvidePageStyleByLayers} der Seitenstil +unverändert erhalten, wenn bereits ein Seitenstil des Namens +\PName{Seitenstil-Name} existiert. Existiert kein solcher Seitenstil, so wird +er wie bei \Macro{DeclarePageStyleByLayers} oder +\Macro{DeclareNewPageStyleByLayers} neu definiert. + +Die Anweisung \Macro{RedeclarePageStyleByLayers} wiederum erwartet, dass +bereits ein Seitenstil des Namens \PName{Seitenstil-Name} existiert und +definiert dessen realen Seitenstil dann um. Existiert jedoch noch kein +Seitenstil des angegebenen Namens, so resultiert daraus eine Fehlermeldung. + +Beachten Sie auch die nachfolgenden Anmerkungen zum Pseudo-Seitenstil +\Pagestyle{@everystyle@}.% +\EndIndex{Cmd}{RedeclarePageStyleByLayers}% +\EndIndex{Cmd}{ProvidePageStyleByLayers}% +\EndIndex{Cmd}{DeclareNewPageStyleByLayers}% +\EndIndex{Cmd}{DeclarePageStyleByLayers}% + + +\begin{Declaration} + \Pagestyle{@everystyle@}\\ + \Pagestyle{empty} +\end{Declaration} +\BeginIndex{Pagestyle}{@everysel@}% +\BeginIndex{Pagestyle}{empty}% +Das Paket \Package{scrlayer} definiert von sich aus bereits zwei in gewisser +Weise spezielle Seitenstile. Der erste davon ist +\Pagestyle{@everystyle@}. Dieser Seitenstil sollte niemals als normaler +Seitenstil beispielsweise mit \Macro{pagestyle} oder \Macro{thispagestyle} +oder als Ziel eines Alias-Seitenstils verwendet werden. Stattdessen werden die +Ebenen und Haken dieses Seitenstils von allen anderen Ebenen-Seitenstilen mit +verwendet. Dabei werden die Haken von \Pagestyle{@everystyle@} jeweils vor den +entsprechenden Haken und die Ebenen jeweils vor den entsprechenden Ebenen des +aktiven Seitenstils ausgeführt. Damit ist das Hinzufügen einer Ebene zum +Seitenstil \Pagestyle{@everystyle@} oder von Code zu einem Haken dieses +Seitenstils vergleichbar mit dem Hinzufügen einer Ebene beziehungsweise von +Haken-Code zu allen Ebenen-Seitenstile. Der eine entscheidende Unterschied +ist: Befehle, die sich auf die Ebenen eines Seitenstils beziehen, +beispielsweise \Macro{ForEachLayerOfPageStyle}, +\Macro{AddLayersToPageStyleBeforeLayer} oder +\Macro{AddLayersToPageStyleAfterLayer} lassen die Ebenen des Seitenstils +\Pagestyle{@everystyle@} unberücksichtigt, wenn sie auf einen anderen +Ebenen-Seitenstil angewendet werden. + +Der zweite etwas andere Ebenen-Seitenstil ist \Pagestyle{empty}. Normalerweise +wird bereits vom \LaTeX-Kern ein Seitenstil dieses Namens definiert. Dieser +Seitenstil hat einen leeren Kopf und Fuß. Das Paket \Package{scrlayer} +definiert diesen Seitenstil als Ebenen-Seitenstil ohne Ebenen +um. Nichtsdestotrotz kann er wie jeder andere Ebenen-Seitenstil verwendet +werden. Der Hauptvorteil dieses Ebenen-Seitenstils gegenüber dem +ursprünglichen Seitenstil aus dem \LaTeX-Kern ist, dass er ebenfalls die Haken +und Ebenen des Pseudo-Seitenstils \Pagestyle{@everystyle@} ausführt.% +\EndIndex{Pagestyle}{empty}% +\EndIndex{Pagestyle}{@everysel@}% + + +\begin{Declaration} + \KOption{onpsselect}\PValue{Code}\\ + \KOption{onpsinit}\PValue{Code}\\ + \KOption{onpsoneside}\PValue{Code}\\ + \KOption{onpstwoside}\PValue{Code}\\ + \KOption{onpsoddpage}\PValue{Code}\\ + \KOption{onpsevenpage}\PValue{Code}\\ + \KOption{onpsfloatpage}\PValue{Code}\\ + \KOption{onpsnonfloatpage}\PValue{Code}\\ + \KOption{onpsbackground}\PValue{Code}\\ + \KOption{onpsforeground}\PValue{Code} +\end{Declaration} +\BeginIndex{Option}{onpsselect~=\PName{Code}}% +\BeginIndex{Option}{onpsinit~=\PName{Code}}% +\BeginIndex{Option}{onpsoneside~=\PName{Code}}% +\BeginIndex{Option}{onpstwoside~=\PName{Code}}% +\BeginIndex{Option}{onpsoddpage~=\PName{Code}}% +\BeginIndex{Option}{onpsevenpage~=\PName{Code}}% +\BeginIndex{Option}{onpsfloatpage~=\PName{Code}}% +\BeginIndex{Option}{onpsnonfloatpage~=\PName{Code}}% +\BeginIndex{Option}{onpsbackground~=\PName{Code}}% +\BeginIndex{Option}{onpsforeground~=\PName{Code}}% +Für jeden der Haken aus \autoref{tab:scrlayer.pagestyle.hooks} existiert +außerdem eine \KOMAScript-Option. Die Namen der \KOMAScript-Optionen ähneln +den Namen der Optionen für die Befehle zur Deklaration von +Ebenen-Seitenstilen. Es wird lediglich ein »\texttt{ps}« nach dem +»\texttt{on}« am Anfang des Namens eingefügt. Die Werte dieser +\KOMAScript-Optionen werden als Anfangswerte für die entsprechenden Haken +verwendet. Dieser Anfangswert wird dann um alle Werte, die dem entsprechenden +Haken in der \PName{Optionenliste} der Deklarationsbefehle zugewiesen werden, +erweitert. Der Anfangswert kann mit Hilfe der Anweisung +\Macro{ModifyLayerPageStyleOptions}, die später in diesem Abschnitt erklärt +wird, entfernt werden.% +\EndIndex{Option}{onpsforeground~=\PName{Code}}% +\EndIndex{Option}{onpsbackground~=\PName{Code}}% +\EndIndex{Option}{onpsnonfloatpage~=\PName{Code}}% +\EndIndex{Option}{onpsfloatpage~=\PName{Code}}% +\EndIndex{Option}{onpsevenpage~=\PName{Code}}% +\EndIndex{Option}{onpsoddpage~=\PName{Code}}% +\EndIndex{Option}{onpstwoside~=\PName{Code}}% +\EndIndex{Option}{onpsoneside~=\PName{Code}}% +\EndIndex{Option}{onpsinit~=\PName{Code}}% +\EndIndex{Option}{onpsselect~=\PName{Code}}% + +\begin{Declaration} + \KOption{deactivatepagestylelayers}\PName{Ein-Aus-Wert}\\ + \Macro{ForEachLayerOfPageStyle}\Parameter{Seitenstil-Name}% + \Parameter{Code} +\end{Declaration} +\BeginIndex{Option}{deactivatepagestylelayers~=\PName{Ein-Aus-Wert}}% +\BeginIndex{Cmd}{ForEachLayerOfPageStyle}% +Solange die \KOMAScript-Option \Option{deactivatepagestylelayers} nicht +aktiviert ist, kann mit \Macro{ForEachLayerOfPageStyle} für jede Ebene des +Seitenstils mit dem Namen \PName{Seitenstil-Name} beliebiger \PName{Code} +ausgeführt werden. Innerhalb von \PName{Code} dient dabei \PValue{\#1} als +Platzhalter für den Namen der gerade abgearbeiteten Ebene. +\begin{Example} + Angenommen, Sie wollen die Namen aller Ebenen des Seitenstils + \PValue{scrheadings} als Komma-separierte Liste, so können Sie dies mit +\begin{lstcode} + \newcommand*\commaatlist{} + \ForEachLayerOfPageStyle{scrheadings}{% + \commaatlist#1\gdef\commaatlist{, }} + \let\commaatlist\relax +\end{lstcode} + erreichen. +\end{Example} +Die Verwendung von \Macro{gdef} an Stelle von \Macro{def} ist im Beispiel +notwendig, weil \PName{Code} innerhalb einer Gruppe ausgeführt wird, um +unerwünschte Seiteneffekte zu minimieren. Die Anweisung \Macro{gdef} definiert +\Macro{commaatlist} jedoch global um, so dass beim Aufruf des Codes für die +nächste Ebene die Änderung Bestand hat. + +Diverse Anweisungen von \Package{scrlayer} setzen ebenfalls +\Macro{ForEachLayerOfPageStyle} ein. Auch deren Funktion kann daher über die +\KOMAScript-Option \Option{deactivatepagestylelayers} verändert werden. Diese +Option kann daher verwendet werden, um alle Ebenen aller Seitenstile temporär +zu deaktivieren oder zu verstecken. +% +\EndIndex{Cmd}{ForEachLayerOfPageStyle}% +\EndIndex{Option}{deactivatepagestylelayers~=\PName{Ein-Aus-Wert}}% + +\begin{Declaration} + \Macro{AddLayersToPageStyle}% + \Parameter{Seitenstil-Name}\Parameter{Ebenenliste}\\ + \Macro{AddLayersAtBeginOfPageStyle}% + \Parameter{Seitenstil-Name}\Parameter{Ebenenliste}\\ + \Macro{AddLayersAtEndOfPageStyle}% + \Parameter{Seitenstil-Name}\Parameter{Ebenenliste}\\ + \Macro{RemoveLayersFromPageStyle}% + \Parameter{Seitenstil-Name}\Parameter{Ebenenliste}% +\end{Declaration} +\BeginIndex{Cmd}{AddLayersToPageStyle}% +\BeginIndex{Cmd}{AddLayersAtBeginOfPageStyle}% +\BeginIndex{Cmd}{AddLayersAtEndOfPageStyle}% +\BeginIndex{Cmd}{RemoveLayersFromPageStyle}% +Diese Anweisungen können verwendet werden, um Ebenen zu einem Seitenstil +hinzuzufügen oder davon zu entfernen. Der Seitenstil wird dabei über seinen +\PName{Seitenstil-Name} referenziert. Die Ebenen werden in einer durch Komma +separierten \PName{Ebenenliste} angegeben. + +Die Anweisungen \Macro{AddLayersToPageStyle} und +\Macro{AddLayersAtEndOfPageStyle} fügen die Ebenen am Ende der Ebenenliste des +Seitenstils ein. Logisch liegen die neu hinzugefügten Ebenen also über oder +vor den bereits vorhandenen Ebenen, wobei Hintergrund-Ebenen natürlich +weiterhin logisch hinter der Textebene und damit auch hinter allen +Vordergrund-Ebenen liegen. + +Die Anweisung \Macro{AddLayersAtBeginOfPageStyle} fügt die Ebenen hingegen am +Anfang der Ebenenliste des Seitenstils ein. Dabei werden die Ebenen in der +Reihenfolge am Anfang eingefügt, in der sie auch in der \PName{Ebenenliste} +stehen. Damit wird die Ebene, die ganz am Ende von \PName{Ebenenliste} steht, +nach dem Einfügen die erste und damit die unterste oder hinterste Ebene +(jeweils entweder der Vordergrund oder der Hintergrundebenen) sein. + +Der Versuch, mit Hilfe von \Macro{RemoveLayersFromPageStyle} Ebenen von einem +Seitenstil zu entfernen, die gar nicht Teil des Seitenstils sind, wird +ignoriert, führt also nicht zu einer Fehlermeldung. Dagegen ist der Versuch, +Ebenen zu einem Seitenstil, der kein Ebenen-Seitenstil ist und auch kein +Alias-Seitenstil, der zu einem Ebenen-Seitenstil führt, hinzuzufügen oder von +einem solchen zu entfernen ein Fehler und wird als solcher gemeldet.% +\EndIndex{Cmd}{RemoveLayersFromPageStyle}% +\EndIndex{Cmd}{AddLayersAtEndOfPageStyle}% +\EndIndex{Cmd}{AddLayersAtBeginOfPageStyle}% +\EndIndex{Cmd}{AddLayersToPageStyle}% + +\begin{Declaration} + \Macro{AddLayersToPageStyleBeforeLayer}% + \Parameter{Seitenstil-Name}\Parameter{Ebenenliste}% + \Parameter{Referenzebenen-Name}\\ + \Macro{AddLayersToPageStyleAfterLayer}% + \Parameter{Seitenstil-Name}\Parameter{Ebenenliste}% + \Parameter{Referenzebenen-Name}% +\end{Declaration} +\BeginIndex{Cmd}{AddLayersToPageStyleBeforeLayer}% +\BeginIndex{Cmd}{AddLayersToPageStyleAfterLayer}% +Diese beiden Befehle ähneln den vorangegangenen. Allerdings wird hier +zusätzlich ein \PName{Referenzebenen-Name} angegeben. Die Ebenen des über den +\PName{Seitenstil-Name} angegebenen Seitenstils werden nach dieser +Referenzebene durchsucht. Die Ebenen der \PName{Ebenenliste} werden dann vor +respektive nach jedem Auf"|treten der Referenzebene in die Ebenen des +Seitenstils eingefügt. Dabei bleibt die Reihenfolge der Ebenen der +\PName{Ebenenliste} erhalten.%| + +Ist die Referenzebene nicht Bestandteil des Seitenstils, so wird auch nichts +eingefügt. Ist der Seitenstil hingegen kein Ebenen-Seitenstil und auch kein +Alias-Seitenstil, der zu einem Ebenen-Seitenstil führt, so wird ein Fehler +gemeldet.% +\EndIndex{Cmd}{AddLayersToPageStyleAfterLayer}% +\EndIndex{Cmd}{AddLayersToPageStyleBeforeLayer}% + +\begin{Declaration} + \Macro{UnifyLayersAtPageStyle}\Parameter{Seitenstil-Name} +\end{Declaration} +\BeginIndex{Cmd}{UnifyLayersAtPageStyle}% +Bei den Befehlen zur Definition eines Seitenstils oder zum Hinzufügen von +Ebenen zu einem Seitenstil wird nicht darauf geachtet, ob eine Ebene mehrfach +Bestandteil eines Seitenstils ist oder wird. Dies ist also durchaus +zulässig. In den meisten Fällen hat es allerdings keinen Sinn, eine Ebene +mehrfach als Bestandteil eines Seitenstils zu haben. Daher kann mit Hilfe von +\Macro{UnifyLayersAtPageStyle} dafür gesorgt werden, dass alle +Ebenen-Dubletten vom Seitenstil mit dem angegebenen \PName{Seitenstil-Name} +entfernt werden. + +Es ist zu beachten\textnote{Achtung!}, dass sich dabei die Reihenfolge der +Ebenen ändern kann. Wird also eine spezielle Reihenfolge gewünscht, sollten +stattdessen alle Ebenen entfernt und die gewünschten Ebenen in der erwarteten +Reihenfolge neu hinzugefügt werden. \Macro{UnifyLayersAtPageStyle} ist in einem +solchen Fall also nicht geeignet.% +\EndIndex{Cmd}{UnifyLayersAtPageStyle}% + +\begin{Declaration} + \Macro{ModifyLayerPageStyleOptions}% + \Parameter{Seitenstil-Name}\Parameter{Optionenliste}\\ + \Macro{AddToLayerPageStyleOptions}% + \Parameter{Seitenstil-Name}\Parameter{Optionenliste}% +\end{Declaration} +\BeginIndex{Cmd}{ModifyLayerPageStyleOptions}% +\BeginIndex{Cmd}{AddToLayerPageStyleOptions}% +Mit diesen beiden Anweisungen können die Optionen und damit die Haken eines +Ebenen-Seitenstils nachträglich verändert werden. Bei +\Macro{ModifyLayerPageStyleOptions} werden dabei genau die Optionen, die in +der durch Komma separierten \PName{Optionenliste} angegeben sind auf die +dortigen neuen Werte gesetzt. Die bisherigen Werte gehen dabei verloren. Es +sind alle Optionen aus \autoref{tab:scrlayer.pagestyle.hooks}, +\autopageref{tab:scrlayer.pagestyle.hooks} erlaubt. Optionen beziehungsweise +Haken, die nicht in der \PName{Optionenliste} angegeben sind, bleiben hingegen +unverändert. Diese Anweisung ist damit auch die einzige Möglichkeit, die +globalen Voreinstellungen der \KOMAScript-Optionen von einem Seitenstil zu +entfernen. + +Die Anweisung \Macro{AddToLayerPageStyleOptions} unterscheidet sich insofern, +als die neuen Werte die bisher vorhandenen Werte nicht überschreiben, sondern +diesen hinzugefügt oder -- genauer gesagt -- an diese angehängt werden.% +\EndIndex{Cmd}{AddToLayerPageStyleOptions}% +\EndIndex{Cmd}{ModifyLayerPageStyleOptions}% + +\begin{Declaration} + \Macro{IfLayerPageStyleExists}% + \Parameter{Seitenstil-Name}\Parameter{Dann-Code}\Parameter{Sonst-Code}\\ + \Macro{IfRealLayerPageStyleExists}%^ + \Parameter{Seitenstil-Name}\Parameter{Dann-Code}\Parameter{Sonst-Code}% +\end{Declaration} +\BeginIndex{Cmd}{IfLayerPageStyleExists}% +\BeginIndex{Cmd}{IfRealLayerPageStyleExists}% +Mit diesen Anweisungen kann Code in Abhängigkeit davon ausgeführt werden, ob +ein Seitenstil ein Ebenen-Seitenstil ist oder nicht. Dabei führt +\Macro{IfLayerPageStyleExists} den \PName{Dann-Code} nur dann aus, wenn +\PName{Seitenstil-Name} der Name eines Ebenen-Seitenstils oder der Name eines +Alias-Seitenstils ist, der zu einem Ebenen-Seitenstil führt. Anderenfalls +führt die Anweisung den \PName{Sonst-Code} aus. + +Die Anweisung \Macro{IfRealLayerPageStyleExists} geht einen Schritt weiter und +führt den \PName{Dann-Code} nur dann aus, wenn der über +\PName{Seitenstil-Name} angegebene Seitenstil selbst ein Ebenen-Seitenstil +ist. Im Falle eines Alias-Seitenstils führt diese Anweisung also selbst dann +\PName{Sonst-Code} aus, wenn dieser Alias-Seitenstil zu einem +Ebenen-Seitenstil führt.% +\EndIndex{Cmd}{IfRealLayerPageStyleExists}% +\EndIndex{Cmd}{IfLayerPageStyleExists}% + +\begin{Declaration} + \Macro{IfLayerAtPageStyle}% + \Parameter{Seitenstil-Name}\Parameter{Ebenen-Name}% + \Parameter{Dann-Code}\Parameter{Sonst-Code}\\ + \Macro{IfSomeLayersAtPageStyle}% + \Parameter{Seitenstil-Name}\Parameter{Ebenenliste}% + \Parameter{Dann-Code}\Parameter{Sonst-Code}\\ + \Macro{IfLayersAtPageStyle}% + \Parameter{Seitenstil-Name}\Parameter{Ebenenliste}% + \Parameter{Dann-Code}\Parameter{Sonst-Code}% +\end{Declaration} +\BeginIndex{Cmd}{IfLayerAtPageStyle}% +\BeginIndex{Cmd}{IfSomeLayersAtPageStyle}% +\BeginIndex{Cmd}{IfLayersAtPageStyle}% +Mit diesen Anweisungen kann überprüft werden ob ein oder mehrere Ebenen +Bestandteil eines Seitenstils sind. Anweisung \Macro{IfLayerAtPageStyle} +erwartet dabei nach dem \PName{Seitenstil-Name} im ersten Argument im zweiten +Argument genau einen \PName{Ebenen-Name}. Ist die entsprechende Ebene +Bestandteil des Seitenstils, so wird der \PName{Dann-Code} ausgeführt, +anderenfalls der \PName{Sonst-Code}. + +Die Anweisungen \Macro{IfSomeLayersAtPageStyle} und +\Macro{IfLayersAtPageStyle} erlauben hingegen im zweiten Argument eine durch +Komma separierte \PName{Ebenenliste}. Dabei führt +\Macro{IfSomeLayersAtPageStyle} den \PName{Dann-Code} bereits aus, wenn +\emph{mindestens eine} der Ebenen Bestandteil des Seitenstils ist. Dagegen +führt \Macro{IfLayersAtPageStyle} den \PName{Dann-Code} nur aus, wenn +\emph{alle} Ebenen Bestandteil des Seitenstils sind. Ist die Bedingung nicht +erfüllt, so wird jeweils \PName{Sonst-Code} ausgeführt. + +Durch geeignete Schachtelung sind auch komplexe Bedingungen abbildbar. Gibt +man statt einer \PName{Ebenenliste} jeweils nur einen \PName{Ebenen-Name} an, +so sind alle drei Anweisungen gleichbedeutend.% +\EndIndex{Cmd}{IfLayersAtPageStyle}% +\EndIndex{Cmd}{IfSomeLayersAtPageStyle}% +\EndIndex{Cmd}{IfLayerAtPageStyle}% + +\begin{Declaration} + \Macro{DestroyRealLayerPageStyle}\Parameter{Ebenen-Seitenstil-Name} +\end{Declaration} +\BeginIndex{Cmd}{DestroyRealLayerPageStyle}% +Mit dieser Anweisung kann ein Ebenen-Seitenstil aus \LaTeX-Sicht wieder +undefiniert werden. Dies gilt jedoch nur, wenn es einen Ebenen-Seitenstil mit +dem Namen \PName{Ebenen-Seitenstil-Name} auch tatsächlich gibt. Handelt es sich +stattdessen um einen Alias-Seitentstil -- auch wenn dieser zu einem +Ebenen-Seitenstil führt -- oder um einen anderen Seitenstil oder ist gar kein +Seitenstil mit dem Namen \PName{Ebenen-Seitenstil-Name} bekannt, so geschieht +nichts, die Anweisung wird ignoriert. + +Falls \PName{Ebenen-Seitenstil-Name} der Name des aktuellen Seitenstils ist, so +wird der aktuelle Seitenstil auf eine Art leerer Seitenstil gesetzt. Falls der +Spezial-Seitenstil, der durch \Macro{thispagestyle} gesetzt wurde, auf +\PName{Ebenen-Seitenstil-Name} lautet, so wird dieser einfach nur +zurückgesetzt. Die vorherige Anweisung \Macro{thispagestyle} verliert damit +ihre aktuelle Auswirkung. + +Es ist zu beachten\textnote{Achtung!}, dass die Ebenen des Seitenstils nicht +automatisch mit vernichtet werden. Falls Sie die Ebenen ebenfalls vernichten +möchten, so können Sie dies beispielsweise mit: +\begin{lstcode}[belowskip=\dp\strutbox] + \ForEachLayerOfPageStyle{...}{\DestroyLayer{#1}} +\end{lstcode} +vor der Vernichtung des Seitenstils selbst erreichen. + +Die Anweisung ist dazu gedacht innerhalb der automatischen Entfernung einer +Endanwender-Schnittstelle verwendet zu werden. Siehe +\autoref{sec:scrlayer.enduserinterfaces} für weitere Informationen zu diesem +Thema.% +\EndIndex{Cmd}{DestroyRealLayerPageStyle}% + +\LoadCommon{20} % \section{Höhe von Kopf und Fuß} + +\LoadCommon{21} % \section{Beeinflussung der Inhalte von Seitenstilen} + +\section{Definition und Verwaltung von Schnittstellen für Endanwender} +\label{sec:scrlayer.enduserinterfaces} + +Das Paket \Package{scrlayer} stellt eine Benutzerschnittstelle zur Verfügung +um (konkurrierende) Schnittstellen für Endanwender definieren und verwalten zu +können. Möglicherweise wird diese Schnittstelle langfristig wieder aus +\Package{scrlayer} verschwinden und dann stattdessen von \Package{scrbase} +übernommen werden. Derzeit ist diese Schnittstelle aber noch hoch +experimentell und wird daher von eigenen Befehlen innerhalb von +\Package{scrlayer} nur für Unterpakete von \Package{scrlayer} bereit +gestellt. Es empfiehlt sich derzeit nicht, sich darauf zu verlassen, dass die +automatische Entfernung einer konkurrierenden Schnittstelle +funktioniert. Stattdessen sollte die Verwendung konkurrierender Schnittstellen +vermieden werden. + +Dieser Abschnitt beschreibt lediglich die Schnittstellen-Anweisungen für die +Definition einer Endanwender-Schnittstelle. Für Endanwender selbst ist es +damit von geringem Interesse. Vielmehr richtet sich dieser Teil der Anleitung +an Autoren von Paketen und Klassen, die auf \Package{scrlayer} +aufbauen. Endanwender finden Informationen zu konkreten +Endanwender-Schnittstellen in \autoref{cha:scrlayer-scrpage}, +\autoref{cha:scrlayer-scrpage-experts} und \autoref{cha:scrlayer-notecolumn}. + +\begin{Declaration} + \Macro{scrlayerInitInterface}\OParameter{Schnittstellen-Name} +\end{Declaration} +\BeginIndex{Cmd}{scrlayerInitInterface}% +Mit dieser Anweisung wird eine neue Schnittstelle mit dem Namen +\PName{Schnittstellen-Name} registriert. Das Argument +\PName{Schnittstellen-Name} muss einzigartig sein. Das bedeutet, dass eine +Schnittstelle gleichen Namens noch nicht registriert sein darf. Sollte dies +doch der Fall sein, so wird ein Fehler ausgegeben. + +Diese Anweisung sollte immer ganz am Anfang einer Endanwender-Schnittstelle +stehen. Daher wird sie hier auch zuerst erklärt. Wird das optionale Argument +-- einschließlich der eckigen Klammern -- weg gelassen, so wird dafür +\PValue{\Macro{@currname}.\Macro{@currext}} verwendet. Für Klassen und +Pakete ist dies der Dateiname der Klasse respektive des Pakets. Aber +selbstverständlich kann jede andere Zeichenfolge der Kategorie \emph{letter} +oder \emph{other} verwendet werden. Dies ist beispielsweise sinnvoll, wenn +eine Klasse oder ein Paket mehrere Endanwender-Schnittstellen definiert.% +\EndIndex{Cmd}{scrlayerInitInterface}% + +\begin{Declaration} + \KOption{forceoverwrite}\PName{Ein-Aus-Wert}\\ + \KOption{autoremoveinterfaces}\PName{Ein-Aus-Wert}\\ + \Macro{scrlayerAddToInterface}% + \OParameter{Schnittstellen-Name}\Parameter{Befehl}\Parameter{Code}\\ + \Macro{scrlayerAddCsToInterface}% + \OParameter{Schnittstellen-Name}\Parameter{Befehlssequenz}\Parameter{Code} +\end{Declaration} +\BeginIndex{Option}{forceoverwrite}% +\BeginIndex{Option}{autoremoveinterfaces}% +\BeginIndex{Cmd}{scrlayerAddToInterface}% +\BeginIndex{Cmd}{scrlayerAddCsToInterface}% +Eine der besonderen Eigenschaften der Endanwender-Schnittstellen von +\Package{scrlayer} ist es, dass die Schnittstelle verwendete Befehle (auch +bekannt als \emph{Makros} oder engl. \emph{macros}) registrieren sollte. Dies +kann mit \Macro{scrlayerAddToInterface} erfolgen. Das optionale Argument +\PName{Schnittstellen-Name} entspricht hier dem Namen, der mit +\Macro{scrlayerInitInterface} zuvor registriert wurde. + +Werden\textnote{Achtung!} Anweisungen nicht nur während des Ladens einer +Klasse oder eines Pakets, sondern auch zur Laufzeit definiert, so ist das +optionale Argument auch dann zu verwenden, wenn es dem Dateinamen der Klasse +beziehungsweise des Pakets entspricht, da die Werte von \Macro{@currname} und +\Macro{@currext} nur während des Ladens Gültigkeit besitzen. + +Das erste obligatorische Argument ist der \PName{Befehl}\footnote{\PName{Befehl} + besteht aus einem umgekehrten Schrägstrich (engl. \emph{backslash}) gefolgt + von einer \PName{Befehlssequenz}, die entweder aus Zeichen der + Kategorie \emph{letter} oder aus genau einem Zeichen der Kategorie + \emph{other} besteht, oder aus einem Zeichen der Kategorie \texttt{active} + (ohne umgekehrten Schrägstrich davor).}, der zu der +Endanwender-Schnittstelle hinzugefügt werden soll. Falls der Befehl +definiert werden kann, erfolgt dies. Außerdem wird dann der Befehl auf +\Macro{relax} gesetzt und \PName{Code} wird ausgeführt. Innerhalb von +\PName{Code} kann der \PName{Befehl} dann beispielsweise mit Hilfe von +\Macro{newcommand}\PName{Befehl} definiert werden. + +Wann aber kann ein \PName{Befehl} definiert werden? Ist ein \PName{Befehl} +undefiniert oder \Macro{relax}, so kann er immer definiert werden. Wurde ein +\PName{Befehl} bereits definiert \emph{und} für eine andere +Endanwender-Schnittstelle registriert \emph{und} wurde die \KOMAScript-Option +\Option{autoremoveinterface} aktiviert, so wird diese andere +Endanwender-Schnittstelle automatisch entfernt, der \PName{Befehl} auf +\Macro{relax} gesetzt und für die angegebene neue Endanwender-Schnittstelle +registriert. Damit ist \PName{Befehl} auch dann definierbar. Falls ein +\PName{Befehl} bereits definiert ist, \emph{aber nicht} Teil einer anderen +Endanwender-Schnittstelle ist, \emph{und} falls die \KOMAScript-Option +\Option{forceoverwrite} aktiviert wurde, wird \PName{Befehl} ebenfalls +\Macro{relax} und für die angegebene Endanwender-Schnittstelle +registriert. Der \PName{Befehl} ist also auch in diesem Fall definierbar. In +allen anderen Fällen ist er jedoch nicht definierbar, also insbesondere, falls +er bereits definiert ist und die \KOMAScript-Optionen +\Option{autoremoveinterface} und \Option{forceoverwrite} deaktiviert sind. + +Die Anweisung \Macro{scrlayerAddCsToInterface} arbeitet ganz ähnlich der +vorgenannten Anweisung \Macro{scrlayerAddToInterface}. Allerdings erwartet sie +als erstes Argument keinen \PName{Befehl}, sondern eine +\PName{Befehlssequenz}\footnote{Eine \PName{Befehlssequenz} muss voll + expandierbar sein und ihre Expansion muss zu Zeichen der Kategorie + \emph{letter}, \emph{other} oder \emph{space} führen.}.% +% +\EndIndex{Cmd}{scrlayerAddCsToInterface}% +\EndIndex{Cmd}{scrlayerAddToInterface}% +\EndIndex{Option}{autoremoveinterfaces}% +\EndIndex{Option}{forceoverwrite}% + +\begin{Declaration} + \Macro{scrlayerOnAutoRemoveInterface}%^^A + \OParameter{Schnittstellen-Name}\Parameter{Code} +\end{Declaration} +\BeginIndex{Cmd}{scrlayerOnAutoRemoveInterface}% +Für den Fall, dass die Endanwender-Schnittstelle namens +\PName{Schnittstellen-Name} automatisch entfernt wird (siehe +\KOMAScript-Option \Option{autoremoveinterface} zuvor in diesem Abschnitt) +kann zusätzlich \PName{Code} ausgeführt werden. Dies kann beispielsweise +verwendet werden, um Ebenen oder Seitenstile automatisch mit zu vernichten +(siehe \Macro{DestroyLayer}, \Macro{DestroyAliasPageStyle}, and +\Macro{DestroyRealLayerPageStyle}), die auf Befehlen der +Endanwender-Schnittstelle beruhen. Bezüglich des optionalen Arguments +\PName{Schnittstellen-Name} sei auf die Erklärung zu +\Macro{scrlayerInitInterface} verwiesen.% +\EndIndex{Cmd}{scrlayerOnAutoRemoveInterface}% +% +\EndIndex{Package}{scrlayer}% + +%%% Local Variables: +%%% mode: latex +%%% mode: flyspell +%%% coding: iso-latin-1 +%%% ispell-local-dictionary: "de_DE" +%%% TeX-master: "../guide" +%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlfile.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlfile.tex index ea00f9fa9b3..c7dfe74b3f1 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlfile.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlfile.tex @@ -1,6 +1,6 @@ % ====================================================================== % scrlfile.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrlfile.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,9 @@ % % ============================================================================ -\ProvidesFile{scrlfile.tex}[2012/02/25 KOMA-Script guide (chapter: scrlfile)] +\KOMAProvidesFile{scrlfile.tex} + [$Date: 2013-11-24 10:49:38 +0100 (So, 24. Nov 2013) $ + KOMA-Script guide (chapter: scrlfile)] \chapter{Paketabhängigkeiten mit \Package{scrlfile} beherrschen} @@ -605,6 +607,28 @@ mit Hilfe von \Macro{RequirePackage} vor der Klasse zu laden. \EndIndex{Cmd}{ReplacePackage}% \EndIndex{Cmd}{ReplaceClass}% +\begin{Declaration} + \Macro{UnReplaceInput}\Parameter{Dateinamen}\\ + \Macro{UnReplacePackage}\Parameter{Paket}\\ + \Macro{UnReplaceClass}\Parameter{Klasse}% +\end{Declaration} +\BeginIndex{Cmd}{UnReplaceInput}% +\BeginIndex{Cmd}{UnReplacePackage}% +\BeginIndex{Cmd}{UnReplaceClass}% +Eine\ChangedAt{v3.12}{\Package{scrlfile}} Ersetzung kann auch wieder +aufgehoben werden. Dabei sollten Ersetzungen von Dateien immer mit +\Macro{UnReplaceInput}, Ersetzungen von Paketen mit \Macro{UnReplacePackage} +und Ersetzungen von Klassen mit \Macro{UnReplaceClass} aufgehoben werden. Nach +der Aufhebung der Ersetzung führen Ladebefehle für den entsprechenden +\PName{Dateiname}, das entsprechende \PName{Paket} oder die entsprechende +\PName{Klasse} dann wieder dazu, dass die Datei, das Paket oder die Klasse +selbst an Stelle der Ersatzdatei, des Ersatzpakets oder der Ersatzklasse +geladen wird.% +\EndIndex{Cmd}{UnReplaceClass}% +\EndIndex{Cmd}{UnReplacePackage}% +\EndIndex{Cmd}{UnReplaceInput}% + + \section{Dateien gar nicht erst einlesen} \label{sec:scrlfile.prevent} @@ -616,9 +640,13 @@ zu einem Problem kommt, muss man irgendwie das Laden des problematischen Paketes verhindern. Auch hier bietet \Package{scrlfile} eine einfache Lösung. \begin{Declaration} - \Macro{PreventPackageFromLoading}\Parameter{Paketliste} + \Macro{PreventPackageFromLoading}\OParameter{Stattdessencode}% + \Parameter{Paketliste}\\ + \Macro{PreventPackageFromLoading*}\OParameter{Stattdessencode}% + \Parameter{Paketliste} \end{Declaration} \BeginIndex{Cmd}{PreventPackageFromLoading}% +\BeginIndex{Cmd}{PreventPackageFromLoading*}% Wird diese Anweisung\ChangedAt{v3.08}{\Package{scrlfile}} vor dem Laden eines Paket mit \Macro{usepackage}\IndexCmd{usepackage}, \Macro{RequirePackage}\IndexCmd{RequirePackage} oder @@ -650,7 +678,22 @@ Wie im Beispiel zu sehen ist, kann man das Paket \Package{scrlfile} auch bereits vor der Klasse laden. In diesem Fall muss das Laden dann aber mit Hilfe von \Macro{RequirePackage}\IndexCmd{RequirePackage} erfolgen, da \Macro{usepackage} vor \Macro{documentclass} verboten ist. -% + +Wird eine leere \PName{Paketliste} angegeben, oder wird ein Paket angegeben, +das bereits geladen ist, so gibt \Macro{PreventPackageFromLoading} eine +Warnung aus, während +\Macro{PreventPackageFromLoading*}\ChangedAt{v3.12}{\Package{scrlfile}} +lediglich einen entsprechenden Hinweis in die Log-Datei schreibt. + +Das optionale Argument\ChangedAt{v3.12}{\Package{scrlfile}} kann verwendet +werden, wenn an Stelle des Ladens des Pakets etwas anderes getan werden +soll. Innerhalb des \PName{Stattdessencode}s dürfen jedoch keine anderen +Pakete und keine Dateien geladen werden. Zum Laden eines anderen Pakets siehe +\Macro{ReplacePackage} in \autoref{sec:scrlfile.macros} auf +\autopageref{desc:scrlfile.cmd.ReplacePackage}. Beachten Sie bitte auch, dass +der \PName{Stattdessencode} mehrfach ausgeführt wird, falls Sie versuchen, +das Paket mehrfach zu laden!% +\EndIndex{Cmd}{PreventPackageFromLoading*}% \EndIndex{Cmd}{PreventPackageFromLoading} \begin{Declaration} @@ -699,14 +742,59 @@ An dieser Stelle sei darauf hingewiesen, dass Sie bei Manipulationen an der mit \Macro{StorePreventPackageFromLoading} zwischengespeicherten Liste selbst die Verantwortung für eine korrekte Wiederherstellbarkeit tragen. So muss die Liste unbedingt mit Komma separiert sein, sollte keine Leerzeichen oder -Gruppenklammern enthalten und muss voll expandierbar sein. -% +Gruppenklammern enthalten und muss voll expandierbar sein.% + +Beachten\textnote{Achtung!} Sie bitte auch, dass +\Macro{ResetPreventPackageFromLoading} den \PName{Stattdessencode} für ein +Paket nicht löscht, sondern nur vorübergehend dessen Ausführung nicht mehr +erfolgt.% \EndIndex{Cmd}{ResetPreventPackageFromLoading}% \EndIndex{Cmd}{StorePreventPackageFromLoading}% + +\begin{Declaration} + \Macro{UnPreventPackageFromLoading}\Parameter{Paketliste}\\ + \Macro{UnPreventPackageFromLoading*}\Parameter{Paketliste} +\end{Declaration} +\BeginIndex{Cmd}{UnPreventPackageFromLoading}% +\BeginIndex{Cmd}{UnPreventPackageFromLoading*}% +Statt\ChangedAt{v3.12}{\Package{scrlfile}} die Liste der Pakete, für die das +Laden verhindert werden soll, komplett zurück zu setzen, kann man auch +einzelne oder mehrere Pakete gezielt von dieser Liste entfernen. Die +Sternvariante des Befehls löscht außerdem den \PName{Stattdessencode}, der für +das Paket gespeichert ist. Falls die Verhinderungsliste beispielsweise aus +einer gespeicherten Liste wiederhergestellt wird, wird dann der +\PName{Stattdessencode} trotzdem nicht mehr ausgeführt.% +% +\begin{Example} + Angenommen, Sie wollen zwar verhindern, dass ein Paket \Package{foo} + geladen wird, wollen aber nicht, dass ein eventuell bereits gespeicherter + \PName{Stattdessencode} ausgeführt wird. Stattdessen soll nur Ihr neuer + \PName{Stattdessencode} ausgeführt werden. Dies ist wie folgt möglich: +\begin{lstcode} + \UnPreventPackageFromLoading*{foo} + \PreventPackageFromLoading[\typeout{Stattdessencode}]{foo} +\end{lstcode} + Sollte das Paket zuvor gar nicht vom Laden ausgenommen worden sein, so spielt + dies für die Anweisung \Macro{UnPreventPackageFromLoading*} keine Rolle. + + Natürlich können Sie die Anweisung indirekt auch nutzen, um den + \PName{Stattdessencode} aller Pakete zu löschen: +\begin{lstcode} + \StorePreventPackageFromLoading\TheWholePreventList + \UnPreventPackageFromLoading*{\TheWholePreventList} + \PreventPackageFromLoading{\TheWholePreventList} +\end{lstcode} + Die Pakete werden dann zwar noch immer nicht geladen, ihr + \PName{Stattdessencode} existiert aber nicht mehr und wird nicht mehr + ausgeführt.% +\end{Example}% +\EndIndex{Cmd}{UnPreventPackageFromLoading*}% +\EndIndex{Cmd}{UnPreventPackageFromLoading}% % \EndIndex{Package}{scrlfile} %%% Local Variables: %%% mode: latex +%%% coding: iso-latin-1 %%% TeX-master: "../guide" %%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlttr2-experts.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlttr2-experts.tex index 8f1f41c862d..925f81c246b 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlttr2-experts.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlttr2-experts.tex @@ -1,6 +1,6 @@ % ====================================================================== % scrlttr2-experts.tex -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrlttr2-experts.tex -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,7 @@ % % ============================================================================ -\ProvidesFile{scrlttr2-experts.tex}[2012/03/01 KOMA-Script guide (chapter: scrlttr2 for experts)] +\ProvidesFile{scrlttr2-experts.tex}[2013/10/04 KOMA-Script guide (chapter: scrlttr2 for experts)] \chapter{Zusätzliche Informationen zur Briefklasse \Class{scrlttr2}} @@ -85,6 +85,12 @@ Längen in \Class{scrlttr2} eben nicht in Längen, sondern in Makros abgelegt, den Pseudolängen. Der Nachteil dieses Vorgehens besteht darin, dass man mit diesen Makros nicht so einfach rechnen kann wie mit echten Längen. +Bitte beachten\textnote{Achtung!} Sie unbedingt, dass die Pseudolängen zwar +intern als Makros implementiert sind, bei den Befehlen zur Nutzung der +Pseudolängen jedoch nur die Namen anzugeben sind. Diese werden wie die Namen +von \LaTeX-Zählern und im Gegensatz zu Makros oder echten Längen ohne +umgekehrten Schrägstrich geschrieben! + Wer nun einwenden will, dass \LaTeX{} in der empfohlenen und für \KOMAScript{} benötigten Installation mit \eTeX{} inzwischen das oben genannte Beschränkungsproblem nicht mehr besitzt, hat Recht. Allerdings kam diese @@ -94,7 +100,7 @@ Eine Auf"|listung aller von \Class{scrlttr2} definierten und verwendeten Pseudolängen ist \autoref{tab:scrlttr2-experts.pseudoLengths} zu entnehmen. Dabei ist auch angegeben, wo in den nachfolgenden Unterabschnitten nähere Erklärungen zu der jeweiligen Pseudolänge zu finden -sind. +sind.%| \autoref{fig:scrlttr2-experts.pseudoLengths} auf \autopageref{fig:scrlttr2-experts.pseudoLengths} zeigt eine schematische @@ -134,17 +140,17 @@ auf einige weniger häufig benötigten Pseudolängen jedoch auch verzichtet. Abstand des Brief"|fußes von der linken Kante des Papiers; Werte größer der Breite oder kleiner der negativen Breite des Papiers werden gesondert behandelt (\autoref{sec:scrlttr2-experts.firstFoot}, - \autopageref{desc:scrlttr2-experts.plength.firstfoothpos})% + \autopageref{desc:scrlttr2-experts.plength.firstfoothpos})%| }% \pentry{firstfootvpos}{% Abstand des Brief"|fußes von der oberen Kante des Papiers (\autoref{sec:scrlttr2-experts.firstFoot}, - \autopageref{desc:scrlttr2-experts.plength.firstfootvpos})% + \autopageref{desc:scrlttr2-experts.plength.firstfootvpos})%| }% \pentry{firstfootwidth}{% Breite des Brief"|fußes (\autoref{sec:scrlttr2-experts.firstFoot}, - \autopageref{desc:scrlttr2-experts.plength.firstfootwidth})% + \autopageref{desc:scrlttr2-experts.plength.firstfootwidth})%| }% \pentry{firstheadhpos}{% Abstand des Briefkopfes von der linken Kante des Papiers; Werte @@ -1463,8 +1469,8 @@ der \PName{Visualisierungsstil} \PValue{rule} zur Verfügung. Dabei wird das Feld farbig hinterlegt. Hierbei kann nicht zwischen geschlossenen und nach unten offenen Feldern unterschieden werden. Stattdessen werden nach unten offene Felder mit einer Mindesthöhe dargestellt. Der -dritte\important{\PValue{edge}} verfügbare \PName{Visualisierungsstil} ist -\PValue{edge}. Dabei werden die Ecken der Felder markiert. Bei nach unten +dritte\important{\PValue{edges}} verfügbare \PName{Visualisierungsstil} ist +\PValue{edges}. Dabei werden die Ecken der Felder markiert. Bei nach unten offenen Feldern entfallen dabei die unteren Eckmarkierungen. Die Größe der Eckmarkierungen ist im Makro \Macro{edgesize} abgelegt und mit 1\Unit{ex} voreingestellt. diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlttr2.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlttr2.tex index 5d595de2c55..5cd5cce2ea5 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlttr2.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlttr2.tex @@ -1,6 +1,6 @@ % ====================================================================== % scrlttr2.tex -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrlttr2.tex -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,9 @@ % % ============================================================================ -\ProvidesFile{scrlttr2.tex}[2012/01/01 KOMA-Script guide (chapter: scrlttr2)] +\KOMAProvidesFile{scrlttr2.tex}% + [$Date: 2013-12-12 12:01:33 +0100 (Do, 12. Dez 2013) $ + KOMA-Script guide (chapter: scrlttr2)] \chapter{Die Briefklasse \Class{scrlttr2}} \labelbase{scrlttr2} @@ -97,8 +99,6 @@ nachfolgenden Abschnitten. \autoref{tab:scrlttr2.variables} gibt eine Übersicht über alle in \Class{scrlttr2} definierten Variablen. % \begin{desclist} - % Umbruchkorrektur - \renewcommand*{\abovecaptionskipcorrection}{-\normalbaselineskip}% \desccaption{Von der Klasse \Class{scrlttr2} unterstützte Variablen\label{tab:scrlttr2.variables}} {Von der Klasse \Class{scrlttr2} unterstützte Variablen (\emph{Fortsetzung})} @@ -152,6 +152,10 @@ nachfolgenden Abschnitten. \autoref{tab:scrlttr2.variables} gibt eine \ventry{fromlogo}{Anweisungen zum Setzen des Absenderlogos (\autoref{sec:scrlttr2.firstpage}, \autopageref{desc:scrlttr2.variable.fromlogo})}% + \ventry{frommobilephone}{% + \ChangedAt{v3.12}{\Class{scrlttr2}}% + Handynummer des Absenders (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.frommobilephone})}% \ventry{fromname}{vollständiger Absendername (\autoref{sec:scrlttr2.firstpage}, \autopageref{desc:scrlttr2.variable.fromname})}% @@ -169,6 +173,9 @@ nachfolgenden Abschnitten. \autoref{tab:scrlttr2.variables} gibt eine \ventry{location}{erweiterte Absenderangabe (\autoref{sec:scrlttr2.firstpage}, \autopageref{desc:scrlttr2.variable.location})}% + \ventry{mobilephoneseparator}{Trennzeichen zwischen Handybezeichner und + Handynummer (\autoref{sec:scrlttr2.firstpage}, + \autopageref{desc:scrlttr2.variable.mobilephoneseparator})}% \ventry{myref}{Geschäftszeilenfeld »Mein Zeichen« (\autoref{sec:scrlttr2.firstpage}, \autopageref{desc:scrlttr2.variable.myref})}% @@ -342,13 +349,14 @@ normale Variante den Inhalt behandelt.% \label{sec:scrlttr2.pseudoLength} \BeginIndex{}{Pseudolängen} -Längen werden bei \LaTeX{} mit den Anweisungen \Macro{newlength}, -\Macro{setlength}, \Macro{addtolength} und \Macro{the}\PName{Länge} -verarbeitet. Sehr viele Pakete nutzen aber auch Makros, also Anweisungen, um -Längen zu speichern. \KOMAScript{} erweitert dieses Verfahren um die -Möglichkeit, solche in Makros gespeicherten Längen mit ähnlichen Anweisungen -zu verarbeiten wie echte Längen. Diese eigentlich in Makros abgelegten Längen -heißen bei \KOMAScript{} daher Pseudolängen. +Längen werden bei \LaTeX{} mit den drei Anweisungen +\Macro{newlength}\IndexCmd{newlength}, \Macro{setlength}\IndexCmd{setlength} +und \Macro{addtolength}\IndexCmd{addtolength} verarbeitet. Sehr viele Pakete +nutzen aber auch Makros, also Anweisungen, um Längen zu +speichern. \KOMAScript{} erweitert dieses Verfahren um die Möglichkeit, solche +in Makros gespeicherten Längen mit ähnlichen Anweisungen zu verarbeiten wie +echte Längen. Diese eigentlich in Makros abgelegten Längen heißen bei +\KOMAScript{} daher Pseudolängen. Eine Liste aller in \Class{scrlttr2} definierten Pseudolängen findet sich in \autoref{tab:scrlttr2-experts.pseudoLengths}, @@ -368,6 +376,11 @@ Setzen von Pseudolängen eher dem fortgeschrittenen Anwender vorbehalten. Also wird auch dies im Abschnitt für Experten ab \autopageref{desc:scrlttr2-experts.cmd.@setplength} erklärt. +Bitte beachten\textnote{Achtung!} Sie unbedingt, dass die Pseudolängen zwar +intern als Makros implementiert sind, bei den Befehlen zur Nutzung der +Pseudolängen jedoch nur die Namen anzugeben sind. Diese werden wie die Namen +von \LaTeX-Zählern und im Gegensatz zu Makros oder echten Längen ohne +umgekehrten Schrägstrich geschrieben! \begin{Declaration} \Macro{useplength}\Parameter{Name} @@ -401,17 +414,25 @@ verwendet werden.% Dies ist insbesondere dann lästig, wenn man einer echten \PName{Länge} den Wert einer \PName{Pseudolänge} zuweisen will. \end{Explain} -Mit der Anweisung \Macro{setlengthtoplength} kann man einer echten -\PName{Länge} das Vielfache einer \PName{Pseudolänge} zuweisen. -Allerdings wird hier ein \PName{Faktor} nicht direkt der -\PName{Pseudolänge} vorangestellt, sondern als optionales Argument -übergeben. Man sollte diese Anweisung auch verwenden, wenn man einer -\PName{Länge} den negativen Wert einer \PName{Pseudolänge} zuweisen -will. Als \PName{Faktor} kann dann wahlweise ein Minuszeichen oder -\PValue{-1} verwendet werden. Die Anweisung -\Macro{addtolengthplength} arbeitet ganz ähnlich. Allerdings wird -hier zur \PName{Länge} das Vielfache der \PName{Pseudolänge} -addiert.% +Mit der Anweisung +\Macro{setlengthtoplength}\important{\Macro{setlengthtoplength}} kann man +einer echten \PName{Länge} das Vielfache einer \PName{Pseudolänge} zuweisen. +Allerdings wird hier ein \PName{Faktor} nicht direkt der \PName{Pseudolänge} +vorangestellt, sondern als optionales Argument übergeben. Man sollte diese +Anweisung auch verwenden, wenn man einer \PName{Länge} den negativen Wert +einer \PName{Pseudolänge} zuweisen will. % +\iffalse % Umbruchkorrektur + Als \PName{Faktor} kann dann wahlweise ein Minuszeichen oder \PValue{-1} + verwendet werden. +% +\else % + \PName{Faktor} ist dann \PValue{-1}. +% +\fi +% +Die Anweisung\important{\Macro{addtolengthplength}} \Macro{addtolengthplength} +arbeitet ähnlich. Nur wird die mit \PName{Faktor} multiplizierte +\PName{Pseudolänge} zur \PName{Länge} addiert.% % \EndIndex{Cmd}{setlengthtoplength}% \EndIndex{Cmd}{addtolengthplength}% @@ -422,7 +443,7 @@ addiert.% \LoadCommon[scrlttr]{1} % \section{Kompatibilität zu früheren Versionen von \KOMAScript} -\iffree{}{\vfill}% Umbruchoptimierung! +%\iffree{}{\vfill}% Umbruchoptimierung! \LoadCommon[scrlttr]{2} % \section{Entwurfsmodus} @@ -704,14 +725,13 @@ gesetzt werden, so muss eben das Argument von \Macro{opening} leer bleiben. \label{fig:scrlttr2.letter-0} \end{figure} \end{Example} -\iffalse% Umbruchkorrekturtext - -Bei\textnote{Tipp!} maschinell erstellten Briefen wurde früher häufig auf -eine Anrede verzichtet. Das lag daran, dass die Möglichkeiten für -individualisierte Serienbriefe noch kaum vorhanden waren. Heute sind -persönliche Anreden auch bei massenhaft erzeugten Werbebriefen üblich.% +\iftrue % Umbruchkorrekturtext +\begin{Explain} + Bei\textnote{Tipp!} maschinell erstellten Briefen wurde früher meist auf + eine Anrede verzichtet, da individualisierte Serienbriefe kaum möglich + waren. Heute sind persönliche Anreden auch bei Massensendungen üblich.% +\end{Explain}% \fi -% \EndIndex{Cmd}{opening}% @@ -785,10 +805,12 @@ automatisch noch optional. sehr beliebt. Es handelte sich bei diesen Nachsätzen ursprünglich um Angaben, die im eigentlichen Brief vergessen wurden. Bei Briefen, die mit \LaTeX{} geschrieben werden, ist es natürlich einfach, - Vergessenes nachträglich in den Brief einzuarbeiten. Trotzdem ist - das Postskriptum noch immer sehr beliebt, kann man damit doch sehr - schön noch einmal auf ganz andere äußerst wichtige oder eigentlich - ganz unwichtige Dinge hinweisen. + Vergessenes nachträglich in den Brief einzuarbeiten. % +\iffalse % Umbruchkorrektur + Trotzdem ist das Postskriptum noch immer sehr beliebt, kann man damit doch + sehr schön noch einmal auf ganz andere äußerst wichtige oder eigentlich + ganz unwichtige Dinge hinweisen.% +\fi \end{Explain} % \EndIndex{Cmd}{ps} @@ -915,121 +937,8 @@ hier von der \PName{Bezeichnung} und dem \PName{Inhalt} der Variablen % \EndIndex{}{Schrift>Groesse=Größe} - \LoadCommon[scrlttr]{5} % \section{Textauszeichnungen} -Mit der Anweisung \Macro{usekomafont} kann die aktuelle Schriftart auf -diejenige umgeschaltet werden, die für das angegebene \PName{Element} -definiert ist. - -Ein allgemeines Beispiel für die Anwendung von \Macro{setkomafont} und -\Macro{usekomafont} finden Sie in \autoref{sec:maincls.textmarkup}, -\autopageref{desc:maincls.setkomafont.example}. - -\begin{desclist} - \desccaption{% - Elemente, deren Schrift bei der Klasse \Class{scrlttr2} mit - \Macro{setkomafont} und \Macro{addtokomafont} verändert werden - kann\label{tab:scrlttr2.elementsWithoutText}% - }{% - Elemente, deren Schrift verändert werden kann (\emph{Fortsetzung})% - }% - \feentry{addressee}{Name und Anschrift im Anschriftfenster - (\autoref{sec:scrlttr2.firstpage}, - \autopageref{desc:scrlttr2.option.addrfield})}% - \feentry{backaddress}{Rücksendeadresse für einen Fensterbriefumschlag - (\autoref{sec:scrlttr2.firstpage}, - \autopageref{desc:scrlttr2.option.backaddress})}% - \feentry{descriptionlabel}{Label, also das optionale Argument von - \Macro{item}, in einer \Environment{description}-Umgebung - (\autoref{sec:scrlttr2.lists}, - \autopageref{desc:scrlttr2.env.description})}% - \feentry{foldmark}{Faltmarke auf dem Briefpapier; ermöglicht Änderung der - Linienfarbe (\autoref{sec:scrlttr2.firstpage}, - \autopageref{desc:scrlttr2.option.foldmarks})}% - \feentry{footnote}{% - Marke und Text einer Fußnote (\autoref{sec:scrlttr2.footnotes}, - \autopageref{desc:scrlttr2.cmd.footnote})}% - \feentry{footnotelabel}{% - Marke einer Fußnote; Anwendung erfolgt nach dem Element - \FontElement{footnote} (\autoref{sec:scrlttr2.footnotes}, - \autopageref{desc:scrlttr2.cmd.footnote})}% - \feentry{footnotereference}{% - Referenzierung der Fußnotenmarke im Text - (\autoref{sec:scrlttr2.footnotes}, - \autopageref{desc:scrlttr2.cmd.footnote})}% - \feentry{footnoterule}{% - Linie\ChangedAt{v3.07}{\Class{scrlttr2}} über dem Fußnotenapparat - (\autoref{sec:scrlttr2.footnotes}, - \autopageref{desc:scrlttr2.cmd.setfootnoterule})}% - \feentry{fromaddress}{Absenderadresse im Briefkopf - (\autoref{sec:scrlttr2.firstpage}, - \autopageref{desc:scrlttr2.variable.fromaddress})}% - \feentry{fromname}{Name des Absenders im Briefkopf abweichend von - \PValue{fromaddress} (\autoref{sec:scrlttr2.firstpage}, - \autopageref{desc:scrlttr2.variable.fromname})}% - \feentry{fromrule}{Linie im Absender im Briefkopf; gedacht für - Farbänderungen (\autoref{sec:scrlttr2.firstpage}, - \autopageref{desc:scrlttr2.option.fromrule})}% - \feentry{labelinglabel}{% - Label, also das optionale Argument der \Macro{item}-Anweisung, und - Trennzeichen, also das optionale Argument der - \Environment{labeling}-Umgebung, in einer \Environment{labeling}-Umgebung - (siehe \autoref{sec:scrlttr2.lists}, - \autopageref{desc:scrlttr2.env.labeling})}% - \feentry{labelingseparator}{% - Trennzeichen, also das optionale Argument der - \Environment{labeling}-Umgebung, in einer \Environment{labeling}-Umgebung; - Anwendung erfolgt nach dem Element \FontElement{labelinglabel} (siehe - \autoref{sec:scrlttr2.lists}, \autopageref{desc:scrlttr2.env.labeling})}% - \feentry{pagefoot}{% - wird nach dem Element \FontElement{pageheadfoot} für den mit Variable - \Variable{nextfoot}\IndexVariable{nextfoot} definieren Seitenfuß verwendet - oder wenn das Paket \Package{scrpage2} geladen ist (\autoref{cha:scrpage}, - \autopageref{desc:scrpage.fontelement.pagefoot})}% - \feentry{pagehead}{% - alternative Bezeichnung für \FontElement{pageheadfoot}}% - \feentry{pageheadfoot}{% - Seitenkopf und Seitenfuß bei allen von \KOMAScript{} definierten - Seitenstilen (\autoref{sec:scrlttr2.pagestyle}, - \autopageref{desc:scrlttr2.fontelement.pageheadfoot})}% - \feentry{pagenumber}{% - Seitenzahl im Kopf oder Fuß der Seite (\autoref{sec:scrlttr2.pagestyle}, - \autopageref{desc:scrlttr2.fontelement.pagenumber})}% - \feentry{pagination}{% - alternative Bezeichnung für \FontElement{pagenumber}}% - \feentry{refname}{% - Bezeichnung der Felder in der Geschäftszeile - (\autoref{sec:scrlttr2.firstpage}, - \autopageref{desc:scrlttr2.variable.yourref})}% - \feentry{refvalue}{% - Werte der Felder in der Geschäftszeile (\autoref{sec:scrlttr2.firstpage}, - \autopageref{desc:scrlttr2.variable.yourref})}% - \feentry{specialmail}{Versandart im Anschriftfenster - (\autoref{sec:scrlttr2.firstpage}, - \autopageref{desc:scrlttr2.variable.specialmail})}% - \feentry{subject}{Betreff in der Brieferöffnung - (\autoref{sec:scrlttr2.firstpage}, - \autopageref{desc:scrlttr2.variable.subject})}% - \feentry{title}{Titel in der Brieferöffnung - (\autoref{sec:scrlttr2.firstpage}, - \autopageref{desc:scrlttr2.variable.title})}% - \feentry{toaddress}{Abweichung vom Element \FontElement{addressee} für die - Anschrift (ohne Name) des Empfängers im Anschriftfeld - (\autoref{sec:scrlttr2.firstpage}, - \autopageref{desc:scrlttr2.variable.toaddress})}% - \feentry{toname}{Abweichung vom Element \FontElement{addressee} für den - Namen des Empfängers im Anschriftfeld (\autoref{sec:scrlttr2.firstpage}, - \autopageref{desc:scrlttr2.variable.toname})}% -\end{desclist} -% -\EndIndex{Cmd}{setkomafont}% -\EndIndex{Cmd}{addtokomafont}% -\EndIndex{Cmd}{usekomafont}% -% -\EndIndex{}{Schrift>Art}% -\EndIndex{}{Text>Auszeichnung} - \section{Briefbogen} \label{sec:scrlttr2.firstpage} \BeginIndex{}{Briefbogen} @@ -1066,7 +975,6 @@ Briefseiten abgesehen von der ersten. \KOption{foldmarks}\PName{Einstellung} \end{Declaration} \BeginIndex{Option}{foldmarks~=\PName{Einstellung}}% -\looseness=-1 % Umbruchkorrektur Falt- oder Falzmarken sind kleine horizontale Striche am linken und kleine vertikale Striche am oberen Rand. \KOMAScript{} unterstützt für den Briefbogen derzeit drei konfigurierbare horizontale und eine konfigurierbare vertikale @@ -1133,7 +1041,7 @@ abhängig. Voreingestellt sind \PValue{true} und \PValue{TBMPL}. abschalten. Wenn die Voreinstellung zuvor noch nicht geändert wurde, können Sie das Abschalten wie folgt erreichen: \begin{lstcode} - \KOMAoption{foldmarks=blmt} + \KOMAoptions{foldmarks=blmt} \end{lstcode} Besteht die Möglichkeit, dass die Voreinstellung bereits geändert wurde, so sollten Sie lieber auf Nummer Sicher gehen. Unser Beispiel ist dann @@ -1168,16 +1076,25 @@ keine Änderung.% \KOption{enlargefirstpage}\PName{Ein-Aus-Wert} \end{Declaration} \BeginIndex{Option}{enlargefirstpage~=\PName{Ein-Aus-Wert}}% -Die erste Seite eines Briefes fällt immer aus dem normalen Satzspiegel. Von -\Class{scrlttr2} werden Mechanismen bereitgestellt, um die Höhe und vertikale -Ausrichtung von Kopf und Fuß der ersten Seite unabhängig von den Folgeseiten -zu bestimmen. Würde dadurch der Fuß der ersten Seite in den -Textbereich\Index{Text>Bereich} ragen, so wird der Textbereich der ersten Seite -automatisch mit Hilfe von \Macro{enlargethispage}\IndexCmd{enlargethispage} -verkleinert. Soll der Textbereich umgekehrt auch vergrößert werden, falls der -Fuß der ersten Seite dies erlaubt, so kann das mit dieser Option erreicht -werden. Es passt dann bestenfalls etwas mehr Text auf die erste Seite. Siehe -hierzu auch die Erklärung zur Pseudolänge \PLength{firstfootvpos} auf +\begin{Explain} + Die erste Seite eines Briefes fällt % + \iftrue % Umbruchkorrektur + aufgrund der vielen Konsultationselemente wie dem Briefkopf oder der + Anschrift + % + \fi % + immer aus dem normalen Satzspiegel. Von \Class{scrlttr2} werden Mechanismen + bereitgestellt, um die Höhe und vertikale Ausrichtung von Kopf und Fuß der + ersten Seite unabhängig von den Folgeseiten zu bestimmen. Würde dadurch der + Fuß der ersten Seite in den Textbereich\Index{Text>Bereich} ragen, so wird + der Textbereich der ersten Seite automatisch mit Hilfe von + \Macro{enlargethispage}\IndexCmd{enlargethispage} verkleinert. +\end{Explain} +Soll der Textbereich auch automatisch mit \Macro{enlargethispage} vergrößert +werden, falls der Fuß der ersten Seite dies erlaubt, so kann das mit dieser +Option erreicht werden. Es passt dann bestenfalls etwas mehr Text auf die +erste Seite. Siehe hierzu auch die Erklärung zur Pseudolänge +\PLength{firstfootvpos} auf \autopageref{desc:scrlttr2-experts.plength.firstfootvpos}. Als \PName{Ein-Aus-Wert} kann dabei einer der Standardwerte für einfache Schalter aus \autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch} verwendet @@ -1338,7 +1255,11 @@ können, um etwa Grau an Stelle von Schwarz zu verwenden. Siehe hierzu \EndIndex{FontElement}{fromaddress}% \begin{Example} - Geben wir nun dem Absender aus den bisherigen Beispielen einen Namen. + Geben wir nun dem Absender + \iffalse % Umbruchkorrektur + aus den bisherigen Beispielen + \fi % + einen Namen. \lstinputcode[xleftmargin=1em]{letter-8.tex} \begin{figure} \centering @@ -1370,7 +1291,16 @@ können, um etwa Grau an Stelle von Schwarz zu verwenden. Siehe hierzu Nun soll der Brief mit aktivierter Erweiterung für den Briefkopf mit Hilfe der Option \Option{fromrule} auch noch eine Linie unter dem Namen erhalten:% \lstinputcode[xleftmargin=1em]{letter-11.tex}% - Das Ergebnis ist in \autoref{fig:scrlttr2.letter-10-11}, rechts zu sehen. + Das Ergebnis ist in \autoref{fig:scrlttr2.letter-10-11} rechts zu sehen. % + \iffalse % Umbruchkorrektur + Im Vergleich dazu ist links daneben das gleiche Beispiel noch einmal mit dem + Standardbriefkopf und ohne Reaktion auf die zusätzliche Option. + % + \else % + Links steht zum Vergleich ein Beispiel mit Standardbriefkopf. + % + \fi + % \begin{figure} \centering \frame{\includegraphics[width=.4\textwidth]{letter-10}}\quad @@ -1385,24 +1315,29 @@ können, um etwa Grau an Stelle von Schwarz zu verwenden. Siehe hierzu Briefkopf mit \OptionValue{fromalign}{center}} \label{fig:scrlttr2.letter-10-11} \end{figure} - Im Vergleich dazu ist links daneben das gleiche Beispiel noch einmal mit dem - Standardbriefkopf und ohne Reaktion auf die zusätzliche Option. \end{Example} -Ein\textnote{Achtung!} wichtiger Hinweis betrifft noch die Absenderadresse: -Innerhalb der Absenderadresse werden einzelne Teilangaben durch doppelten -Backslash voneinander getrennt. Solche Teilangaben sind beispielsweise Straße -und Hausnummer, Postleitzahl und Ort oder eine Länderangabe. Dieser doppelte -Backslash wird je nach Verwendung der Absenderadresse unterschiedlich -interpretiert und ist nicht zwangsläufig als Zeilenumbruch zu verstehen. -Absätze, vertikale Abstände und Ähnliches sind innerhalb der Absenderangaben -normalerweise nicht gestattet. Man muss \Class{scrlttr2} schon sehr genau -kennen, um solche Mittel gegebenenfalls sinnvoll im Absender einsetzen zu -können. Außerdem sollte man in dem Fall unbedingt die Variablen für -Rücksendeadresse (siehe Variable \Variable{backaddress}, +Ein\textnote{Achtung!} wichtiger Hinweis betrifft \iffree{noch}{\unskip} die +Absenderadresse: Innerhalb der Absenderadresse werden einzelne Teilangaben +durch doppelten Backslash voneinander getrennt. Solche Teilangaben sind +beispielsweise Straße und Hausnummer, Postleitzahl und Ort oder eine +Länderangabe. Dieser doppelte Backslash wird je nach Verwendung der +Absenderadresse unterschiedlich interpretiert und ist nicht zwangsläufig als +Zeilenumbruch zu verstehen. Absätze, vertikale Abstände und Ähnliches sind +innerhalb der Absenderangaben normalerweise nicht gestattet% +\iffalse % Umbruchkorrektur +. Man muss \Class{scrlttr2} schon sehr genau kennen, um solche Mittel +gegebenenfalls sinnvoll im Absender einsetzen zu können. Außerdem sollte man +in dem Fall unbedingt die Variablen für Rücksendeadresse (siehe Variable +\Variable{backaddress}, \autopageref{desc:scrlttr2.variable.backaddress}) und +Signatur (siehe Variable \Variable{signature}, +\autopageref{desc:scrlttr2.variable.signature}) selbst setzen.% +\else % +\ und hätten außerdem gegebenenfalls Auswirkungen auf die Rücksendeadresse +(siehe Variable \Variable{backaddress}, \autopageref{desc:scrlttr2.variable.backaddress}) und Signatur (siehe Variable -\Variable{signature}, \autopageref{desc:scrlttr2.variable.signature}) selbst -setzen.% +\Variable{signature}, \autopageref{desc:scrlttr2.variable.signature}).% +\fi % % \EndIndex{Variable}{fromname}% \EndIndex{Variable}{fromaddress}% @@ -1410,12 +1345,16 @@ setzen.% \begin{Declaration} + \KOption{symbolicnames}\PName{Ein-Aus-Wert}\\ \KOption{fromphone}\PName{Ein-Aus-Wert}\\ + \KOption{frommobilephone}\PName{Ein-Aus-Wert}\\ \KOption{fromfax}\PName{Ein-Aus-Wert}\\ \KOption{fromemail}\PName{Ein-Aus-Wert}\\ \KOption{fromurl}\PName{Ein-Aus-Wert}\\ \Macro{setkomavar}\PParameter{\Variable{fromphone}}% \OParameter{Bezeichnung}\Parameter{Inhalt}\\ + \Macro{setkomavar}\PParameter{\Variable{frommobilephone}}% + \OParameter{Bezeichnung}\Parameter{Inhalt}\\ \Macro{setkomavar}\PParameter{\Variable{fromfax}}% \OParameter{Bezeichnung}\Parameter{Inhalt}\\ \Macro{setkomavar}\PParameter{\Variable{fromemail}}% @@ -1424,6 +1363,8 @@ setzen.% \OParameter{Bezeichnung}\Parameter{Inhalt}\\ \Macro{setkomavar}\PParameter{\Variable{phoneseparator}}% \OParameter{Bezeichnung}\Parameter{Inhalt}\\ + \Macro{setkomavar}\PParameter{\Variable{mobilephoneseparator}}% + \OParameter{Bezeichnung}\Parameter{Inhalt}\\ \Macro{setkomavar}\PParameter{\Variable{faxseparator}}% \OParameter{Bezeichnung}\Parameter{Inhalt}\\ \Macro{setkomavar}\PParameter{\Variable{emailseparator}}% @@ -1431,30 +1372,50 @@ setzen.% \Macro{setkomavar}\PParameter{\Variable{urlseparator}}% \OParameter{Bezeichnung}\Parameter{Inhalt}% \end{Declaration}% +\BeginIndex{Option}{symbolicnames~=\PName{Ein-Aus-Wert}}% \BeginIndex{Option}{fromphone~=\PName{Ein-Aus-Wert}}% +\BeginIndex{Option}{frommobilephone~=\PName{Ein-Aus-Wert}}% \BeginIndex{Option}{fromfax~=\PName{Ein-Aus-Wert}}% \BeginIndex{Option}{fromemail~=\PName{Ein-Aus-Wert}}% \BeginIndex{Option}{fromurl~=\PName{Ein-Aus-Wert}}% \BeginIndex{Variable}{fromphone}% +\BeginIndex{Variable}{frommobilephone}% \BeginIndex{Variable}{fromfax}% \BeginIndex{Variable}{fromemail}% \BeginIndex{Variable}{fromurl}% \BeginIndex{Variable}{emailseparator}% \BeginIndex{Variable}{faxseparator}% \BeginIndex{Variable}{phoneseparator}% +\BeginIndex{Variable}{mobilephoneseparator}% \BeginIndex{Variable}{urlseparator}% -Mit den Optionen \Option{fromphone}, \Option{fromfax}, \Option{fromemail} und -\Option{fromurl} kann bestimmt werden, ob die Telefonnummer\Index{Telefon}, -die Faxnummer\Index{Fax}, die E-Mail-Adresse und die URL im -Absender\Index{Absender} gesetzt werden soll. Als \PName{Ein-Aus-Wert} kann -dabei einer der Standardwerte für einfache Schalter aus -\autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch} verwendet -werden. Voreingestellt ist jeweils \PValue{false}. Die Inhalte selbst werden -über die gleichnamigen Variablen bestimmt. Die Voreinstellungen für die dabei -verwendeten Bezeichnungen sind \autoref{tab:scrlttr2.fromTerm} zu entnehmen, -die verwendeten Trennzeichen, die zwischen der \PName{Bezeichnung} und dem -\PName{Inhalt} einer Variablen eingefügt werden, -\autoref{tab:scrlttr2.fromSeperator}. +Mit Hilfe der fünf Optionen \Option{fromphone}, +\Option{frommobilephone}\ChangedAt{v3.12}{\Class{scrlttr2}}, \Option{fromfax}, +\Option{fromemail} und \Option{fromurl} kann bestimmt werden, ob die +Telefonnummer\Index{Telefon}, die +Mobiltelefonnummer\Index{Mobiltelefon}\Index{Handy}, die Faxnummer\Index{Fax}, +die E-Mail-Adresse und die URL im Absender\Index{Absender} gesetzt werden +soll. Als \PName{Ein-Aus-Wert} kann dabei einer der Standardwerte für einfache +Schalter aus \autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch} +verwendet werden. Voreingestellt ist jeweils \PValue{false}. Die Inhalte +selbst werden über die gleichnamigen Variablen bestimmt. Die Voreinstellungen +für die dabei verwendeten Bezeichnungen sind \autoref{tab:scrlttr2.fromTerm} +zu entnehmen, die verwendeten Trennzeichen, die zwischen der +\PName{Bezeichnung} und dem \PName{Inhalt} einer Variablen eingefügt werden, +\autoref{tab:scrlttr2.fromSeparator}. + +Mit\ChangedAt{v3.12}{\Class{scrlttr2}}\important{\Option{symbolicnames}} +Option \Option{symbolicnames} kann diese Voreinstellung auf einen Schlag +geändert werden. Die Option versteht die \PName{Ein-Aus-Werte} für einfache +Schalter, wie sie in \autoref{tab:truefalseswitch}, +\autopageref{tab:truefalseswitch} angegeben sind. Durch Aktivierung der Option +werden statt der sprachabhängigen Bezeichner \Macro{emailname}, +\Macro{faxname}, \Macro{mobilephonename} und \Macro{phonename} Symbole aus dem +\Package{marvosym}\IndexPackage{marvosym}-Paket +verwendet. Gleichzeitig entfällt der Doppelpunkt bei der Definition der +Trennzeichen. Für die URL entfallen in diesem Fall sowohl der sprachabhängige +Bezeichner als auch das Trennzeichen. Es ist zu beachten\textnote{Achtung!}, +dass das Paket \Package{marvosym} gegebenenfalls selbst zu laden ist, falls +die Option erst nach \Macro{begin}\PParameter{document} aktiviert wird. \begin{table} \centering @@ -1462,12 +1423,15 @@ die verwendeten Trennzeichen, die zwischen der \PName{Bezeichnung} und dem Absenderangaben im Briefkopf}]{Vordefinierte Bezeichnungen der Variablen für die Absenderangaben im Briefkopf (die Bezeichnungen und Inhalte der verwendeten Variablen für Trennzeichen ist - \autoref{tab:scrlttr2.fromSeperator} zu entnehmen)} + \autoref{tab:scrlttr2.fromSeparator} zu entnehmen)} \begin{desctabular}[1.8em] \ventry{fromemail}{\Macro{usekomavar*}\PParameter{emailseparator}% \Macro{usekomavar}\PParameter{emailseparator}}% \ventry{fromfax}{\Macro{usekomavar*}\PParameter{faxseparator}% \Macro{usekomavar}\PParameter{faxseparator}}% + \ventry{frommobilephone}{% + \Macro{usekomavar*}\PParameter{mobilephoneseparator}% + \Macro{usekomavar}\PParameter{mobilephoneseparator}}% \ventry{fromname}{\Macro{headfromname}}% \ventry{fromphone}{\Macro{usekomavar*}\PParameter{phoneseparator}% \Macro{usekomavar}\PParameter{phoneseparator}}% @@ -1478,25 +1442,29 @@ die verwendeten Trennzeichen, die zwischen der \PName{Bezeichnung} und dem \end{table} \begin{table}[tp] -% \centering - \KOMAoptions{captions=topbeside}% - \setcapindent{0pt}% -% \caption - \begin{captionbeside}{Vordefinierte Bezeichnungen und Inhalte der Trennzeichen - für die Absenderangaben im Briefkopf} - [l] - \begin{tabular}[t]{lll} + \centering +% \KOMAoptions{captions=topbeside}% +% \setcapindent{0pt}% + \caption +% \begin{captionbeside} + {Vordefinierte Bezeichnungen und Inhalte der Trennzeichen + für die Absenderangaben im Briefkopf ohne Option + \Option{symbolicnumbers}} +% [l] + \begin{tabularx}{\textwidth}{llX} \toprule Name & Bezeichnung & Inhalt \\ \midrule \Variable{emailseparator} & \Macro{emailname} & \texttt{:\~} \\ \Variable{faxseparator} & \Macro{faxname} & \texttt{:\~} \\ + \Variable{mobilephoneseparator} & \Macro{mobilephonename} & + \Macro{usekomavar}\PParameter{phoneseparator} \\ \Variable{phoneseparator} & \Macro{phonename} & \texttt{:\~} \\ \Variable{urlseparator} & \Macro{wwwname} & \texttt{:\~} \\ \bottomrule - \end{tabular} - \end{captionbeside} - \label{tab:scrlttr2.fromSeperator} + \end{tabularx} +% \end{captionbeside} + \label{tab:scrlttr2.fromSeparator} \end{table} \begin{Example} @@ -1527,8 +1495,8 @@ die verwendeten Trennzeichen, die zwischen der \PName{Bezeichnung} und dem \lstinputcode[xleftmargin=1em]{letter-13.tex} Den Vergleich zweier Alternativen mit linksbündigem Absender durch - Einstellung \OptionValue{fromalign}{left} und rechtsbündigem Absender - durch Einstellung \OptionValue{fromalign}{right} zeigt + Einstellung \OptionValue{fromalign}{left} und rechtsbündigem + Absender durch Einstellung \OptionValue{fromalign}{right} zeigt \autoref{fig:scrlttr2.letter-14-15}. \begin{figure} \centering @@ -1547,17 +1515,21 @@ die verwendeten Trennzeichen, die zwischen der \PName{Bezeichnung} und dem \end{Example} % \EndIndex{Variable}{urlseparator}% +\EndIndex{Variable}{mobilephoneseparator}% \EndIndex{Variable}{phoneseparator}% \EndIndex{Variable}{faxseparator}% \EndIndex{Variable}{emailseparator}% \EndIndex{Variable}{fromurl} \EndIndex{Variable}{fromemail} \EndIndex{Variable}{fromfax} +\EndIndex{Variable}{frommobilephone}% \EndIndex{Variable}{fromphone}% \EndIndex{Option}{fromurl~=\PName{Ein-Aus-Wert}}% \EndIndex{Option}{fromemail~=\PName{Ein-Aus-Wert}}% \EndIndex{Option}{fromfax~=\PName{Ein-Aus-Wert}}% +\EndIndex{Option}{frommobilephone~=\PName{Ein-Aus-Wert}}% \EndIndex{Option}{fromphone~=\PName{Ein-Aus-Wert}}% +\EndIndex{Option}{symbolicnames~=\PName{Ein-Aus-Wert}}% \begin{Declaration} \KOption{fromlogo}\PName{Ein-Aus-Wert}\\ @@ -1581,10 +1553,11 @@ auch \autoref{tab:scrlttr2.fromTerm}).% zusätzlich das Paket \Package{graphics}\IndexPackage{graphics} (siehe \cite{package:graphics}) ein.% \lstinputcode[xleftmargin=1em]{letter-16}% - Das Ergebnis ist in \autoref{fig:scrlttr2.letter-16-18} links oben zu - sehen. Die beiden anderen Bilder in dieser Abbildung zeigen das Ergebnis bei - rechtsbündigem und bei zentriertem Absender. - \begin{figure} + Das Ergebnis ist in \autoref{fig:scrlttr2.letter-16-18}, + \autopageref{fig:scrlttr2.letter-16-18} links oben zu sehen. Die beiden + anderen Bilder in dieser Abbildung zeigen das Ergebnis bei rechtsbündigem + und bei zentriertem Absender. + \begin{figure} \setcapindent{0pt}% {\hfill \frame{\includegraphics[width=.4\textwidth]{letter-16}}\quad @@ -1684,16 +1657,16 @@ mehr verwendet werden.% Mit der Option \Option{addrfield} kann gewählt werden, ob ein Anschriftfeld gesetzt werden soll oder nicht. Voreingestellt ist die Verwendung eines Anschriftfeldes. Die Option versteht die in -\autoref{tab:scrlttr2.addrfield}\ChangedAt{v3.03}{\Class{scrlttr2}} -angegebenen Werte für den \PName{Modus}. Voreingestellt ist \PValue{true}. Bei -den Werten \PValue{true}, \PValue{PP} und \PValue{backgroundimage} werden Name -und Adresse des Empfängers, die im Anschriftfeld gesetzt werden, über das -Argument der Umgebung \Environment{letter} (siehe -\autoref{sec:scrlttr2.document}, \autopageref{desc:scrlttr2.env.letter}) -bestimmt. Diese Angaben werden außerdem in die Variablen \Variable{toname} und -\Variable{toaddress} kopiert. Die voreingestellten Schriftarten -können\ChangedAt{v2.97c}{\Class{scrlttr2}} über die Anweisungen -\Macro{setkomafont} und \Macro{addtokomafont} (siehe +\autoref{tab:scrlttr2.addrfield}\ChangedAt{v3.03}{\Class{scrlttr2}}, +\autopageref{tab:scrlttr2.addrfield} angegebenen Werte für den +\PName{Modus}. Voreingestellt ist \PValue{true}. Bei den Werten \PValue{true}, +\PValue{PP} und \PValue{backgroundimage} werden Name und Adresse des +Empfängers, die im Anschriftfeld gesetzt werden, über das Argument der +Umgebung \Environment{letter} (siehe \autoref{sec:scrlttr2.document}, +\autopageref{desc:scrlttr2.env.letter}) bestimmt. Diese Angaben werden +außerdem in die Variablen \Variable{toname} und \Variable{toaddress} kopiert. +Die voreingestellten Schriftarten können\ChangedAt{v2.97c}{\Class{scrlttr2}} +über die Anweisungen \Macro{setkomafont} und \Macro{addtokomafont} (siehe \autoref{sec:scrlttr2.textmarkup}, ab \autopageref{desc:scrlttr2.cmd.setkomafont}) verändert werden. Dabei existieren drei Elemente. Zunächst gibt es das Element @@ -1824,8 +1797,8 @@ wobei vor der Anwendung der konfigurierten Schriftumschaltung noch auf \end{table} \BeginIndex{FontElement}{specialmail} -Zwischen Rücksendeadresse und Empfängeradresse kann bei der -Standardeinstellung \OptionValue{addrfield}{true} noch eine optionale +Zwischen Rücksendeadresse und Empfängeradresse kann bei \iffree{der +}{}Standardeinstellung \OptionValue{addrfield}{true} noch eine optionale Versandart\Index{Versandart} gesetzt werden. Diese wird genau dann gesetzt, wenn die Variable \Variable{specialmail} einen \PName{Inhalt} hat und \OptionValue{priority}{manual}\ChangedAt{v3.03}{\Class{scrlttr2}} gewählt @@ -1883,13 +1856,13 @@ Anweisungen \Macro{setkomafont} und \Macro{addtokomafont} (siehe \end{table} Bei\ChangedAt{v3.03}{\Class{scrlttr2}}\important{\OptionValue{addrfield}{PP}} -\OptionValue{addrfield}{PP} wird im Port-Payé-Kopf außerdem die Postleitzahl -aus der Variablen \Variable{fromzipcode} und der Ort aus der Variablen -\Variable{place} gesetzt. Dabei wird der Postleitzahl aus dem \PName{Inhalt} der -Variablen \Variable{fromzipcode} die \PName{Bezeichnung} der Variablen -\Variable{fromzipcode} gefolgt vom \PName{Inhalt} der Variablen -\Variable{zipcodeseparator} vorangestellt. Die Voreinstellung dieser -\PName{Bezeichnung} hängt von der verwendeten \File{lco}-Datei (siehe +\OptionValue{addrfield}{PP} wird im Port-Payé-Kopf die Postleitzahl aus der +Variablen \Variable{fromzipcode} und der Ort aus der Variablen +\Variable{place} gesetzt. Dabei wird der Postleitzahl, also dem \PName{Inhalt} +von \Variable{fromzipcode}, die \PName{Bezeichnung} der Variablen +\Variable{fromzipcode} gefolgt vom \PName{Inhalt} von +\Variable{zipcodeseparator} vorangestellt. Für diese \PName{Bezeichnung} hängt +die Voreinstellung von der verwendeten \File{lco}-Datei (siehe \autoref{sec:scrlttr2.lcoFile} ab \autopageref{sec:scrlttr2.lcoFile}) ab. Für den \PName{Inhalt} von \Variable{zipcodeseparator} ist hingegen ein kleiner Abstand, gefolgt von einem Streckenstrich, gefolgt von einem kleinen Abstand @@ -1958,8 +1931,8 @@ Anweisung \Macro{includegraphics} zu verwenden.% \BeginIndex{}{Absenderergaenzung=Absenderergänzung}% \BeginIndex{Option}{locfield~=\PName{Einstellung}}% Neben dem Anschriftfeld setzt \Class{scrlttr2} noch ein Feld mit erweiterter -Absenderangabe. Dieses Feld kann beispielsweise für Bankverbindungen und -Ähnliches verwendet werden. Je\important[i]{\OptionValue{fromalign}{center}\\ +Absenderangabe. Der Inhalt ist frei wählbar. +Je\important[i]{\OptionValue{fromalign}{center}\\ \begin{tabular}[t]{@{}l@{}} \KOption{fromalign}\\\quad\PValue{locationleft}\end{tabular}\\ \begin{tabular}[t]{@{}l@{}} @@ -2059,10 +2032,13 @@ die Standardwerte für einfache Schalter, die in \autoref{tab:truefalseswitch}, Das Datum in der gewählten Darstellung wird in im \PName{Inhalt} der Variablen \Variable{date} abgelegt. Die Einstellung von \Option{numericaldate} hat keine Auswirkung, wenn diese Variable überschrieben wird. Gesetzt wird das Datum -normalerweise als Teil der Geschäftszeile. Dies ist auch dann der Fall, wenn -die Geschäftszeile ansonsten leer bleibt. Für weitere Angaben zum -automatischen Setzen des Datums siehe die nachfolgend beschriebene Option -\Option{refline}.% +normalerweise als Teil der Geschäftszeile. Wenn die Geschäftszeile ansonsten +leer bleibt wird allerdings nur eine Datumszeile, bestehend aus dem Ort und +dem Datum gesetzt. Trotzdem haben auch in diesem Fall die Einstellungen der +nachfolgend beschriebenen Option \Option{refline} Auswirkungen auf diese +Datumszeile. Weitere Informationen zum Ort finden Sie in der Beschreibung zur +Variablen \Variable{place}\IndexVariable{place} auf +\autopageref{desc:scrlttr2.variable.placeseparator}.% % \EndIndex{Variable}{date}% \EndIndex{Option}{numericaldate~=\PName{Ein-Aus-Wert}}% @@ -2126,9 +2102,14 @@ weitere Angaben aufnehmen. Mögliche Werte für diese Option sind \BeginIndex{Variable}{invoice}% Typische Felder der Geschäftszeile werden über die fünf Variablen \Variable{yourref}, \Variable{yourmail}, \Variable{myref}, \Variable{customer} -und \Variable{invoice} verwaltet. Die Bedeutung dieser Felder sind -\autoref{tab:scrlttr2.variables} auf \autopageref{tab:scrlttr2.variables} zu -entnehmen. Jede dieser Variablen hat außerdem eine vordefinierte +und \Variable{invoice} verwaltet. % +\iffalse % Umbruchkorrektur +Die Bedeutung dieser Felder % +\else % +Ihre Bedeutung % +\fi % +ist \autoref{tab:scrlttr2.variables}, \autopageref{tab:scrlttr2.variables} zu +entnehmen. Jede dieser Variablen hat auch eine vordefinierte \PName{Bezeichnung}, die in \autoref{tab:scrlttr2.reflineTerm} zu finden ist. Wie weitere Variablen zur Geschäftszeile hinzugefügt werden können, ist in \autoref{sec:scrlttr2-experts.variables} ab @@ -2207,7 +2188,7 @@ der beiden Elemente sind \autoref{tab:scrlttr2.refnamerefvalue} zu entnehmen.% \BeginIndex{Variable}{placeseparator}% Sind bis auf \Variable{date} alle Variablen der Geschäftszeile leer, so wird keine eigentliche Geschäftszeile gesetzt. Stattdessen werden dann nur -rechtsbündig Ort\Index{Ort} und Datum\Index{Datum} ausgegeben. Dabei bestimmt +Ort\Index{Ort} und Datum\Index{Datum} ausgegeben. Dabei bestimmt der \PName{Inhalt} der Variablen \Variable{place} den Ort. Für das Trennzeichen, das in diesem Fall nach dem Ort gesetzt wird, ist der \PName{Inhalt} der Variablen \Variable{placeseparator} zuständig. Der @@ -2218,13 +2199,31 @@ Trennzeichen nicht gesetzt. Der vordefinierte \PName{Inhalt} der Variablen Einstellung der Option \Option{numericaldate} ab (siehe \autopageref{desc:scrlttr2.option.numericaldate}). +Seit Version~3.09\ChangedAt{v3.09}{\Class{scrlttr2}} werden Ort und Datum +nicht mehr zwingend rechtsbündig ausgegeben. Stattdessen findet auch im Falle +der Datumszeile die Datumseinstellung von Option \Option{refline}, wie sie in +\autoref{tab:scrlttr2.refline} angegeben ist, Anwendung. + +\BeginIndex{FontElement}{placeanddate}% +Falls\ChangedAt{v3.12}{\Class{scrlttr2}} statt der Geschäftszeile eine solche +Datumszeile mit Ort gesetzt wird, so findet nicht die Schrifteinstellung des +Elements \FontElement{refvalue} Anwendung. Stattdessen wird in diesem Fall das +Element \FontElement{placeanddate}\important[i]{\FontElement{placeanddate}} +verwendet, dessen leere Voreinstellung wie gewohnt mit Hilfe der +Anweisungen \Macro{setkomafont} und \Macro{addtokomafont} (siehe +\autoref{sec:scrlttr2.textmarkup}, +\autopageref{desc:scrlttr2.cmd.setkomafont}) geändert werden kann.% +\EndIndex{FontElement}{placeanddate}% + \begin{Example} Herr Musterfrau setzt nun auch die Variable für den Ort: \lstinputcode[xleftmargin=1em]{letter-20.tex}% - Damit erscheint vor dem Datum, wie in \autoref{fig:scrlttr2.letter-20} zu - sehen, der Ort gefolgt von den automatischen Trennzeichen vor dem - Datum. Dieses wurde nun ebenfalls explizit gesetzt, damit bei einem späteren - \LaTeX-Durchlauf des Briefes das ursprüngliche Datum erhalten bleibt. + Damit erscheint vor dem Datum, wie in \autoref{fig:scrlttr2.letter-20}, + \autopageref{fig:scrlttr2.letter-20} zu sehen, der Ort gefolgt von den + automatischen Trennzeichen vor dem Datum. Dieses Datum wurde im Beispielcode + über Variable \Variable{date} ebenfalls explizit gesetzt, damit bei einem + späteren \LaTeX-Durchlauf des Briefes das ursprüngliche Datum erhalten + bleibt und nicht etwa automatisch das Datum des \LaTeX-Laufs verwendet wird. \begin{figure} \setcapindent{0pt}% \begin{captionbeside}[{Beispiel: Brief mit erweitertem Absender, Logo, @@ -2468,7 +2467,7 @@ neue Festlegung zu treffen. Die \PName{Bezeichnung} der Variablen wird von \end{tabular}% \hfill \begin{tabular}[t]{l@{}}% - \multicolumn{1}{@{}l@{}}{Geschäftsführerin:}\\ + \multicolumn{1}{@{}l@{}}{Geschäftsführung:}\\ Liselotte Mayer\\[1ex] \multicolumn{1}{@{}l@{}}{Gerichtsstand:}\\ Hinterdupfeldingen @@ -2587,9 +2586,13 @@ Verwendung der Klassenoption \Option{headsepline} automatisch die Paketoption \Option{footinclude}\important{\Option{footinclude}}. Im\important{\Pagestyle{plain}} Gegensatz zu \Option{headsepline} wirkt sich die Option \Option{footsepline} auch beim Seitenstil \PValue{plain} aus, da \PValue{plain} eine Seitenzahl im -Fuß ausgibt. Das Paket \Package{scrpage2}\IndexPackage{scrpage2}\important{\Package{scrpage2}} (siehe -\autoref{cha:scrpage}) bietet weitere Einflussmöglichkeiten für Linien im Kopf -und Fuß und kann auch mit \Class{scrlttr2} kombiniert werden.% +Fuß ausgibt. Das Paket +\Package{scrlayer-scrpage}\IndexPackage{scrlayer-scrpage}\important{\Package{scrlayer-scrpage}} +\iffree{oder das veraltete + \Package{scrpage2}\IndexPackage{scrpage2}\important{\Package{scrpage2}}}% +{\unskip} (siehe \autoref{cha:scrlayer-scrpage} \iffree{beziehungsweise + \autoref{cha:scrpage}}{\unskip}) bietet weitere Einflussmöglichkeiten für +Linien im Kopf und Fuß und kann auch mit \Class{scrlttr2} kombiniert werden.% % \EndIndex{Option}{headsepline~=\PName{Ein-Aus-Wert}}% \EndIndex{Option}{footsepline~=\PName{Ein-Aus-Wert}}% @@ -2604,14 +2607,17 @@ Folgeseiten gesetzt werden soll. Die Option wirkt sich auf die Seitenstile\important[i]{\Pagestyle{headings}\\ \Pagestyle{myheadings}\\ \Pagestyle{plain}} \PValue{headings}, \PValue{myheadings} und \PValue{plain} -aus. Sie beeinflusst außerdem die Voreinstellung der Seitenstile des -\Package{scrpage2}-Paketes\important{\Package{scrpage2}}, soweit sie vor dem -Laden dieses Paketes gesetzt wird (siehe \autoref{cha:scrpage}). Es gibt -Werte, die sich nur auf die horizontale Position auswirken, Werte, die nur die -vertikale Position beeinflussen, und Werte, die zugleich die vertikale und die -horizontale Position festlegen. Mögliche Werte sind -\autoref{tab:scrlttr2.pagenumber} zu entnehmen. Voreingestellt ist -\PValue{botcenter}. +aus. Sie beeinflusst außerdem die Voreinstellung der Seitenstile des Pakets +\Package{scrlayer-scrpage}\important{\Package{scrlayer-scrpage}}% +\IndexPackage{scrlayer-scrpage} \iffree{oder des veralteten + \Package{scrpage2}\important{\Package{scrpage2}}% + \IndexPackage{scrpage2}}{\unskip}, soweit sie vor dem Laden des Paketes +gesetzt wird (siehe \autoref{cha:scrlayer-scrpage} \iffree{oder + \autoref{cha:scrpage}}{\unskip}). Es gibt Werte, die sich nur auf die +horizontale Position auswirken, Werte, die nur die vertikale Position +beeinflussen, und Werte, die zugleich die vertikale und die horizontale +Position festlegen. Mögliche Werte sind \autoref{tab:scrlttr2.pagenumber} zu +entnehmen. Voreingestellt ist \PValue{botcenter}. \begin{table}[t!]% Umbruchkorrektur \caption[{Mögliche Werte für Option \Option{pagenumber} bei @@ -2684,14 +2690,19 @@ Seitenstilen unterschieden. \Variable{nextfoot}\IndexVariable{nextfoot} ab. Der Autor kann die Marken aber auch noch nach \Macro{opening} manuell beeinflussen. Hierzu stehen wie üblich die Anweisungen \Macro{markboth} und \Macro{markright}, bei - Verwendung von \Package{scrpage2} auch \Macro{markleft} (siehe - \autoref{sec:scrpage.basics.mark}, \autopageref{desc:scrpage.cmd.automark}), - zur Verfügung. + Verwendung von + \Package{scrlayer-scrpage}\IndexPackage{scrlayer-scrpage}\important{\Package{scrlayer-scrpage}} + \iffree{oder \Package{scrpage2}}{\unskip} auch \Macro{markleft} (siehe + \autoref{sec:scrlayer-scrpage.pagestyle.content}, + \autopageref{desc:scrlayer-scrpage.cmd.markleft} \iffree{oder + \autoref{sec:scrpage.basics.mark}, + \autopageref{desc:scrpage.cmd.markleft}}{\unskip}), zur Verfügung. \item[{\Pagestyle{myheadings}}] ist der Seitenstil für manuelle Kolumnentitel auf Folgeseiten. Im Unterschied zu \PValue{headings} müssen die Marken vom Anwender gesetzt werden. Er verwendet dazu die Anweisungen \Macro{markboth}\IndexCmd{markboth} und - \Macro{markright}\IndexCmd{markright}. Bei Verwendung von \Package{scrpage2} + \Macro{markright}\IndexCmd{markright}. Bei Verwendung von + \Package{scrlayer-scrpage} \iffree{oder \Package{scrpage2}}{\unskip} steht außerdem \Macro{markleft}\IndexCmd{markleft} zur Verfügung. \item[{\Pagestyle{plain}}] ist der voreingestellte Seitenstil, bei dem auf Folgeseiten keinerlei Kolumnentitel verwendet, sondern nur eine Seitenangabe @@ -2723,10 +2734,16 @@ Fuß\ChangedAt{v3.00}{\Class{scrlttr2}} ist zusätzlich auch noch das Element \FontElement{pagefoot}\important{\FontElement{pagefoot}} zuständig, das nach \FontElement{pageheadfoot} in mit Variable \Variable{nextfoot}\IndexVariable{nextfoot} oder per Paket -\Package{scrpage2}\IndexPackage{scrpage2} (siehe \autoref{cha:scrpage}, -\autopageref{desc:scrpage.fontelement.pagefoot}) definierten Seitenstilen zur -Anwendung kommt. Das Element für die Seitenzahl innerhalb des Kopfes oder -Fußes heißt \FontElement{pagenumber}\important{\FontElement{pagenumber}}. Die +\Package{scrlayer-scrpage}\IndexPackage{scrlayer-scrpage}% +\important{\Package{scrlayer-scrpage}} \iffree{oder + \Package{scrpage2}\IndexPackage{scrpage2}}{\unskip} (siehe +\autoref{cha:scrlayer-scrpage}, +\autopageref{desc:scrlayer-scrpage.fontelement.pagefoot} \iffree{oder + \autoref{cha:scrpage}, + \autopageref{desc:scrpage.fontelement.pagefoot}}{\unskip}) definierten +Seitenstilen zur Anwendung kommt. Das Element für die Seitenzahl innerhalb des +Kopfes oder Fußes heißt +\FontElement{pagenumber}\important{\FontElement{pagenumber}}. Die Voreinstellungen sind in \autoref{tab:maincls.defaultFontsHeadFoot}, \autopageref{tab:maincls.defaultFontsHeadFoot} zu finden. Beachten Sie dazu auch das Beispiel aus \autoref{sec:maincls.pagestyle}, @@ -2760,10 +2777,17 @@ vollkommen ausreichen. Dies umso mehr, als man zusätzlich mit \Macro{markboth}\IndexCmd{markboth} und \Macro{markright}\IndexCmd{markright} können insbesondere mit dem Seitenstil \PValue{myheadings}\IndexPagestyle{myheadings}\important{\Pagestyle{myheadings}} -verwendet werden. Bei Verwendung des Paketes -\Package{scrpage2}\IndexPackage{scrpage2} gilt dies natürlich auch für den -Seitenstil \PValue{scrheadings}\IndexPagestyle{scrheadings}. Dort steht -außerdem die Anweisung \Macro{markleft}\IndexCmd{markleft} zur Verfügung. +verwendet werden. Bei Verwendung des Pakets +\Package{scrlayer-scrpage}\IndexPackage{scrlayer-scrpage}\important{\Package{scrlayer-scrpage}} +\iffree{oder \Package{scrpage2}}{\unskip} gilt dies natürlich auch für den +Seitenstil +\Pagestyle{scrheadings}\IndexPagestyle{scrheadings}\important{\Pagestyle{scrheadings}}. +Dort steht außerdem die Anweisung +\Macro{markleft}\IndexCmd{markleft}\important{\Macro{markleft}} zur Verfügung +(siehe \autoref{sec:scrlayer-scrpage.pagestyle.content}, +\autopageref{desc:scrlayer-scrpage.cmd.markleft} \iffree{oder + \autoref{sec:scrpage.basics.mark}, + \autopageref{desc:scrpage.cmd.markleft}}{\unskip}). \begin{Declaration} \Macro{setkomavar}\PParameter{\Variable{nexthead}}% @@ -3058,21 +3082,17 @@ haben. \end{captionbeside} \label{fig:scrlttr2.letter-23} \end{figure} - - Bitte\textnote{Achtung!} beachten Sie, dass in der Bankverbindung in - \File{ich.lco} für »ß« die \TeX-Schreibweise »\Macro{ss}« verwendet - wurde. Dies hat seinen Grund darin, dass direkt nach - \Macro{documentclass} weder ein Paket für die Eingabecodierung, - beispielsweise mit - \Macro{usepackage}\POParameter{ansinew}\PParameter{inputenc} für typische - Windows-Editoren oder - \Macro{usepackage}\POParameter{utf8}\PParameter{inputenc} für - moderne Editoren, noch ein - Paket zur Sprachumschaltung, beispielsweise für die neue, deutsche - Rechtschreibung mit - \Macro{usepackage}\POParameter{ngerman}\PParameter{babel}, geladen ist. \end{Example} +Bitte\textnote{Achtung!} beachten Sie, dass im Beispiel in der Bankverbindung +der Datei \File{ich.lco} für »ß« die \TeX-Schreibweise »\Macro{ss}« verwendet +wurde. Dies hat seinen Grund darin, dass während des Ladens der Klasse +weder ein Paket für die Eingabecodierung, beispielsweise mit +\Macro{usepackage}\POParameter{utf8}\PParameter{inputenc} für moderne +Editoren, noch ein Paket zur Sprachumschaltung, beispielsweise für die neue, +deutsche Rechtschreibung mit +\Macro{usepackage}\POParameter{ngerman}\PParameter{babel}, geladen ist. + In \autoref{tab:lcoFiles} finden Sie eine Liste aller vordefinierten \File{lco}-Dateien. Falls\textnote{Achtung!} Sie einen Drucker verwenden, der einen sehr großen unbedruckbaren Rand links oder rechts besitzt, werden Sie @@ -3440,8 +3460,8 @@ ignoriert diese Anweisung ebenso wie \Macro{addrchar}. {}{}{}{Gefallener Engel ohne Telefon} {LUZIFER} \end{lstcode} - Diese bearbeiten Sie nun unter Verwendung von \File{adrdir.tex} aus - \cite{package:adrconv}. Eine Seite des Ergebnisses sieht dann etwa so aus: + Diese verarbeiten Sie nun unter Verwendung des Dokuments \File{adrdir.tex} + aus \cite{package:adrconv}. Eine Seite des Ergebnisses sieht dann etwa so aus: \begin{center} \setlength{\unitlength}{1mm} \begin{picture}(80,58) @@ -3485,6 +3505,10 @@ Version von \Package{adrconv} bereits mit \Macro{addrentry} und %%% Local Variables: %%% mode: latex +%%% mode: flyspell %%% coding: iso-latin-1 +%%% ispell-local-dictionary: "de_DE" %%% TeX-master: "../guide.tex" %%% End: + +% LocalWords: Paketoption diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrpage2.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrpage2.tex index 5483bbefa51..17671189bdf 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrpage2.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrpage2.tex @@ -1,6 +1,6 @@ % ====================================================================== % scrpage2.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrpage2.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,9 @@ % % ============================================================================ -\ProvidesFile{scrpage2.tex}[2012/07/07 KOMA-Script guide (chapter:scrpage2)] +\KOMAProvidesFile{scrpage2.tex}% + [$Date: 2013-07-22 $ + KOMA-Script guide (chapter:scrpage2)] \chapter{Kopf- und Fußzeilen mit \Package{scrpage2}} \labelbase{scrpage} @@ -58,14 +60,30 @@ Inhalt der Kopf- und Fußzeilen gibt. Bereits seit 2001 wird hierfür nicht mehr \Package{scrpage2} verwendet. Diese Anleitung beschreibt daher auch nur noch \Package{scrpage2}. Das Paket \Package{scrpage} ist obsolet. +Mit \KOMAScript~3.12 wurde außerdem das komplett neu implementierte Paket +\Package{scrlayer-scrpage} vorgestellt, das eine konsequente Weiterführung des +Designs von \Package{scrpage2} mit anderen Mitteln darstellt. Siehe dazu +\autoref{cha:scrlayer-scrpage} ab \autopageref{cha:scrlayer-scrpage}. Während +\Package{scrpage2} die erweiterte Optionen-Schnittstelle der +\KOMAScript-Klassen nicht unterstützt, kommt diese in +\Package{scrlayer-scrpage} selbstverständlich zum Einsatz. Da der Ansatz von +\Package{scrlayer-scrpage} gegenüber \Package{scrpage2} als überlegen +betrachtet wird, wird somit empfohlen, \Package{scrlayer-scrpage} an Stelle +von \Package{scrpage2} zu verwenden. Die aktuelle Version von +\Package{scrpage2} ist daher auch als final zu betrachten. Sämtliche +Entwicklungsresourcen im Bereich Kopf- und Fußzeilen werden zukünftig in +\Package{scrlayer-scrpage} einfließen. + \begin{Explain} - An Stelle von \Package{scrpage2} kann natürlich auch \Package{fancyhdr} - (siehe \cite{package:fancyhdr}) verwendet werden. \Package{scrpage2} - harmoniert jedoch mit den \KOMAScript-Klassen deutlich besser. Genau deshalb - und weil der Vorläufer von \Package{fancyhdr} damals viele Möglichkeiten - vermissen lies, ist \Package{scrpage2} entstanden. Natürlich ist das Paket - \Package{scrpage2} nicht an eine \KOMAScript-Klasse gebunden, sondern kann - auch sehr gut mit anderen Klassen verwendet werden. + An Stelle von \Package{scrpage2} oder \Package{scrlayer-scrpage} kann + natürlich auch \Package{fancyhdr} (siehe \cite{package:fancyhdr}) verwendet + werden. \Package{scrpage2} und insbesondere \Package{scrlayer-scrpage} + harmonieren jedoch mit den \KOMAScript-Klassen deutlich besser. Genau + deshalb und weil der Vorläufer von \Package{fancyhdr} damals viele + Möglichkeiten vermissen lies, ist \Package{scrpage2} entstanden. Natürlich + ist das Paket \Package{scrpage2} ebenso wie das Paket + \Package{scrlayer-scrpage} nicht an eine \KOMAScript-Klasse gebunden, + sondern kann auch sehr gut mit anderen Klassen verwendet werden. \end{Explain} \section{Grundlegende Funktionen}\label{sec:scrpage.basics} @@ -743,7 +761,7 @@ Farbe\Index{Kopf>Farbe}\Index{Fuss=Fuß>Farbe}\Index{Farbe>im \FontElement{footbottomline}\IndexFontElement[indexmain]{footbottomline} oder auch \FontElement{footbotline}\IndexFontElement[indexmain]{footbotline} gesetzt und mit \Macro{addtokomafont}\IndexCmd{addtokomafont} erweitert -werden. Die beiden Anweisungen \Macro{setkomafont} und \Macro{addkomafont} +werden. Die beiden Anweisungen \Macro{setkomafont} und \Macro{addtokomafont} sind in \autoref{sec:maincls.textmarkup}, \autopageref{desc:maincls.cmd.setkomafont} näher beschrieben. diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/tocbasic.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/tocbasic.tex index aa6e50df240..d470aae319b 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/tocbasic.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/tocbasic.tex @@ -1,6 +1,6 @@ % ====================================================================== % tocbasic.tex -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % tocbasic.tex -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,7 @@ % % ====================================================================== -\ProvidesFile{tocbasic.tex}[2012/03/14 KOMA-Script package tocbasic] +\ProvidesFile{tocbasic.tex}[2013/10/02 KOMA-Script package tocbasic] \chapter{Verzeichnisse verwalten mit Hilfe von \Package{tocbasic}} \labelbase{tocbasic} @@ -65,6 +65,13 @@ werden. Durch Verwendung von \Package{tocbasic} soll dem Paketautor die Mühe genommen werden, selbst solche Anpassungen an andere Pakete oder an Klassen vornehmen zu müssen. +Als kleiner Nebeneffekt kann das Paket auch verwendet werden, um neue +Gleitumgebungen oder den Gleitumgebungen ähnliche nicht gleitende Umgebungen +für Konsultationsobjekte zu definieren. Näheres dazu ist nach den +grundlegenden Anweisungen in \autoref{sec:tocbasic.toc}, verdeutlicht durch +ein Beispiel in \autoref{sec:tocbasic.example} und kompakt in +\autoref{sec:tocbasic.declarenewtoc} zu finden. + \KOMAScript{} verwendet \Package{tocbasic} sowohl für das Inhaltsverzeichnis als auch für die bereits erwähnten Verzeichnisse für Abbildungen und Tabellen. @@ -77,7 +84,7 @@ bekannten Dateierweiterungen\textnote{Dateierweiterung, Verzeichnis}, die für Verzeichnisse stehen, zu verwalten. Einträge in Dateien mit solchen Dateierweiterungen werden typischerweise mit \Macro{addtocontents}\important{\Macro{addtocontents}, - \Macro{addcontentsline}} oder \Macro{addcontentsline} vorgenommen. Darüber + \Macro{addxcontentsline}} oder \Macro{addxcontentsline} vorgenommen. Darüber hinaus gibt es Anweisungen, mit denen eine Aktion für all diese Dateierweiterungen durchgeführt werden können. Außerdem gibt es Anweisungen, um Einstellungen für die Datei vorzunehmen, die zu einer gegebenen @@ -365,23 +372,69 @@ wie bei \Macro{addtocontents} mit \Macro{protect} geschützt werden. \begin{Declaration} - \Macro{addcontentslinetoeachtocfile}\OParameter{Besitzer}\Parameter{Ebene}\Parameter{Inhalt} + \Macro{addxcontentsline}\Parameter{Dateierweiterung}\Parameter{Ebene}% + \OParameter{Gliederungsnummer}\Parameter{Inhalt} +\end{Declaration} +\BeginIndex{Cmd}{addxcontentsline}% +Diese\ChangedAt{v3.12}{\Package{tocbasic}} +Anweisung ähnelt sehr der Anweisung +\Macro{addcontentsline}\IndexCmd{addcontentsline} aus dem +\LaTeX-Kern. Allerdings besitzt sie ein zusätzliches optionales Argument für +die \PName{Gliederungsnummer} des Eintrags, während diese bei +\Macro{addcontentsline} im Argument \PName{Inhalt} mit angegeben wird. Die +Anweisung wird verwendet, um nummerierte oder nicht nummerierte Einträge in +das über die \PName{Dateierweiterung} spezifierte Verzeichnis +aufzunehmen. Dabei ist \PName{Ebene} der symbolische Name der Gliederungsebene +und \PName{Inhalt} der entsprechende Eintrag. Die Seitenzahl wird automatisch +bestimmt. + +Die Anweisung selbst testet zunächst, ob eine Anweisung +\Macro{add\PName{Ebene}\PName{Dateierweiterung}entry} definiert ist. Wenn dies +der Fall ist, wird diese für den Eintrag verwendet, wobei +\PName{Gliederungsnummer} als optionales Argument in \PName{Inhalt} als +obligatorisches Argument übergeben wird. Ein Beispiel für eine solche +Anweisung, die von den \KOMAScript-Klassen bereitgestellt wird, wäre +\Macro{addparttocentry} (siehe \autoref{sec:maincls-experts.experts}, +\autopageref{desc:maincls-experts.cmd.addparttocentry}). Ist die entsprechend +Anweisung nicht definiert, wird stattdessen die interne Anweisung +\Macro{tocbasic@addxcontentsline} verwendet. Diese erhält alle vier Argument +als obligatorische Argumente und verwendet dann seinerseits +\Macro{addcontentsline}, um den gewünschten Eintrag vorzunehmen. Näheres zu +\Macro{tocbasic@addxcontentsline} ist \autoref{sec:tocbasic.internals}, +\autopageref{desc:tocbasic.cmd.tocbasic@addxcontentsline} zu entnehmen. + +Ein Vorteil der Verwendung von \Macro{addxcontentsline} gegenüber +\Macro{addcontentsline} ist zum einen, dass die Eigenschaft +\PValue{numberline} (siehe \autopageref{desc:tocbasic.cmd.setuptoc}) beachtet +wird. Zum anderen kann die Form der Einträge über die Definition +entsprechender, für die \PName{Ebene} und \PName{Dateierweiterung} +spezifischer Anweisungen konfiguriert werden.% +% +\EndIndex{Cmd}{addxcontentsline}% + + +\begin{Declaration} + \Macro{addxcontentslinetoeachtocfile}% + \OParameter{Besitzer}\Parameter{Ebene}\OParameter{Gliederungsnummer}% + \Parameter{Inhalt}\\ + \Macro{addcontentslinetoeachtocfile}% + \OParameter{Besitzer}\Parameter{Ebene}\Parameter{Inhalt}% \end{Declaration} \BeginIndex{Cmd}{addcontentslinetoeachtocfile}% -Diese Anweisung ist mit \Macro{addcontentsline} aus dem \LaTeX-Kern -vergleichbar. Der Unterschied besteht darin, dass diese Anweisung -\PName{Inhalt} nicht nur in eine einzelne Datei, sondern in alle Dateien eines -angegebenen \PName{Besitzers} und bei Verzicht auf das optionale Argument in -alle Dateien aus der Liste der bekannten Dateierweiterungen schreibt. +Diese Anweisungen sind mit der oben erklärten Anweisung +\Macro{addxcontentsline}\ChangedAt{v3.12}{\Package{tocbasic}} +beziehungsweise \Macro{addcontentsline} aus dem \LaTeX-Kern vergleichbar. Der +Unterschied besteht darin, dass diese Anweisungen \PName{Inhalt} nicht nur in +eine einzelne Datei, sondern in alle Dateien eines angegebenen +\PName{Besitzers} und bei Verzicht auf das erste optionale Argument in alle +Dateien aus der Liste der bekannten Dateierweiterungen schreibt. \begin{Example} Angenommen, Sie sind Klassen-Autor und wollen den Kapiteleintrag nicht nur in das Inhaltsverzeichnis, sondern in alle Verzeichnisdateien schreiben. Nehmen wir weiter an, dass aktuell \PName{\#1} den Titel enthält, der geschrieben werden soll. \begin{lstcode} - \addcontentslinetoeachtocfile{chapter}{% - \protect\numberline{\thechapter}#1% - }% + \addxcontentslinetoeachtocfile{chapter}[\thechapter]{#1} \end{lstcode} In diesem Fall soll natürlich die aktuelle Kapitelnummer direkt beim Schreiben in die Verzeichnisdatei expandiert werden, weshalb sie nicht mit @@ -390,7 +443,14 @@ alle Dateien aus der Liste der bekannten Dateierweiterungen schreibt. Während des Schreibens von \PName{Inhalt} ist auch hier wie schon bei \Macro{addtoeachtocfile} \Macro{@currext}\IndexCmd{@currext}\important{\Macro{@currext}} die -Dateierweiterung der Datei, in die aktuell geschrieben wird. +Dateierweiterung der Datei, in die aktuell geschrieben wird.% + +Anweisung\ChangedAt{v3.12}{\Package{tocbasic}} +\Macro{addxcontentslinetoeachtocfile} ist wann immer möglich gegenüber +\Macro{addcontentslinetoeachtocfile} der Vorrang zu gewähren, da die +Erweiterungen von \Macro{addxcontentsline} nur damit Anwendung finden. Näheres +zu diesen Erweiterungen und Vorteilen ist in der vorausgehenden Erklärung der +Anweisung \Macro{addxcontentsline} zu finden.% % \EndIndex{Cmd}{addcontentslinetoeachtocfile}% @@ -626,6 +686,27 @@ getrennte Aneinanderreihung von \PName{Eigenschaften}. Das Paket \OptionValue{listof}{leveldown}\important{\OptionValue{listof}{leveldown}}% \IndexOption{listof~=\PValue{leveldown}} für alle Dateierweiterungen des Besitzers \PValue{float}. +\item[\PValue{numberline}] \ChangedAt{v3.12}{\Package{tocbasic}}% + bedeutet, dass auch diejenigen Einträge, die mit \Macro{addxcontentsline} + oder \Macro{addxcontentslinetoceachtocfile} in das Verzeichnis geschrieben + werden und bei denen das optionale Argument für die Nummer fehlt oder leer + ist, mit einer (leeren) \Macro{numberline}-Anweisung verstehen werden. Das + führt in der Regel dazu, dass diese Einträge nicht linksbündig mit der + Nummer, sondern mit dem Text der nummerierten Einträge gleicher Ebene + gesetzt werden. Die \KOMAScript-Klassen setzen diese Eigenschaft bei + Verwendung der Option \OptionValue{listof}{numberline}% + \important{\OptionValue{listof}{numberline}}% + \IndexOption{listof~=\PValue{numberline}} für die Dateierweiterungen des + Besitzers \PValue{float} und bei Verwendung der Option + \OptionValue{toc}{numberline}\important{\OptionValue{toc}{numberline}}% + \IndexOption{toc~=\PValue{numberline}} für die Dateierweiterung + \PValue{toc}. Entsprechend wird die Eigenschaft bei Verwendung von Option + \OptionValue{listof}{nonumberline}% + \important{\OptionValue{listof}{nonumberline}}% + \IndexOption{listof~=\PValue{nonumberline}} oder + \OptionValue{toc}{nonumberline}% + \important{\OptionValue{toc}{nonumberline}}% + \IndexOption{toc~=\PValue{nonumberline}} wieder zurückgesetzt. \item[\PValue{nobabel}] bedeutet, dass die normalerweise automatisch verwendete Erweiterung für die Sprachumschaltung mit \Package{babel}\IndexPackage{babel} für diese Dateierweiterung nicht @@ -919,6 +1000,33 @@ definiert \Macro{tocbasic@listhead} diese und ruft sie dann auf. % \EndIndex{Cmd}{tocbasic@listhead@\PName{Dateierweiterung}} +\begin{Declaration} + \Macro{tocbasic@addxcontentsline}% + \Parameter{Dateierweiterung}\Parameter{Ebene}% + \Parameter{Gliederungsnummer}\Parameter{Eintrag}\\ + \Macro{nonumberline} +\end{Declaration} +\BeginIndex{Cmd}{tocbasic@addxcontentsline}% +\BeginIndex{Cmd}{nonumberline}% +Die\ChangedAt{v3.12}{\Package{tocbasic}} Anweisung +\Macro{tocbasic@addxcontentsline} nimmt einen \PName{Eintrag} der angegebenen +\PName{Ebene} in das über die \PName{Dateierweiterung} spezifizierte +Verzeichnis vor. Ob der Eintrag nummeriert wird oder nicht, hängt davon ab, ob +das Argument \PName{Gliederungsnummer} leer ist oder nicht. Im Falle eines +leeren Argument wird dem \PName{Eintrag} ein \Macro{nonumberline} ohne +Argument vorangestellt. Anderenfalls wird wie gewohnt \Macro{numberline} mit +\PName{Gliederungsnummer} als Argument verwendet. + +Die Anweisung \PName{nonumberline} wird innerhalb \Macro{listoftoc} (siehe +\autoref{sec:tocbasic.toc}, \autopageref{desc:tocbasic.cmd.listoftoc}) +entsprechend der Eigenschaft \PValue{numberline} (siehe +\autoref{sec:tocbasic.toc}, \autopageref{desc:tocbasic.cmd.setuptoc}) +umdefiniert. Dadurch wirkt sich das Setzen oder Löschen dieser Eigenschaft +bereits beim nächsten \LaTeX-Lauf aus.% +% +\EndIndex{Cmd}{nonumberline}% +\EndIndex{Cmd}{tocbasic@addxcontentsline}% + \section{Ein komplettes Beispiel} \label{sec:tocbasic.example} @@ -1256,6 +1364,81 @@ die möglichen Optionen bietet \autoref{tab:tocbasic.DeclareNewTOC-options}. die Option \Option{nonfloat} angegeben, wird außerdem eine nicht gleitende Umgebung \Environment{remarkbox-} definiert, in der ebenfalls \Macro{caption}\IndexCmd{caption} verwendet werden kann. + + Zum besseren Verständnis zeigt \autoref{tab:tocbasic.comparison} eine + Gegenüberstellung der Anweisungen und Umgebungen für die neu erstellte + Beispielumgebung \Environment{remarkbox} mit den entsprechenden Befehlen und + Umgebungen für Abbildungen.% + \begin{table} + \centering + \caption{Gegenüberstellung von Beispielumgebung \Environment{remarkbox} + und Umgebung \Environment{figure}} + \label{tab:tocbasic.comparison} + \begin{tabularx}{\textwidth}{ll>{\raggedright}p{7em}X} + \toprule + \Environment{remarkbox} & \Environment{figure} + & Optionen von \Macro{DeclareNewTOC} & Kurzbeschreibung \\[1ex] + \midrule + \Environment{remarkbox} & \Environment{figure} + & \Option{type}, \Option{float} + & Gleitumgebung des jeweiligen Typs.\\[1ex] + \Environment{remarkbox*} & \Environment{figure*} + & \Option{type}, \Option{float} + & spaltenübergreifende Gleitumgebung des jeweiligen Typs \\[1ex] + \Counter{remarkbox} & \Counter{figure} + & \Option{type}, \Option{float} + & Zähler, der von \Macro{caption} verwendet wird \\[1ex] + \Macro{theremarkbox} & \Macro{thefigure} + & \Option{type}, \Option{float} + & Anweisung zur Ausgabe des jeweiligen Zählers \\[1ex] + \Macro{remarkboxformat} & \Macro{figureformat} + & \Option{type}, \Option{float} + & Anweisung zur Formatierung des jeweiligen Zählers in der Ausgabe von + \Macro{caption}\\[1ex] + \Macro{remarkboxname} & \Macro{figurename} + & \Option{type}, \Option{float}, \Option{name} + & Name, der im Label von \Macro{caption} verwendet wird \\[1ex] + \Macro{listofremarkboxes} & \Macro{listoffigures} + & \Option{types}, \Option{float} + & Anweisung zur Ausgabe des jeweiligen Verzeichnisses \\[1ex] + \Macro{listremarboxname} & \Macro{listfigurename} + & \Option{type}, \Option{float}, \Option{listname} + & Überschrift des jeweiligen Verzeichnisses \\[1ex] + \Macro{fps@remarkbox} & \Macro{fps@figure} + & \Option{type}, \Option{float}, \Option{floattype} + & nummerischer Gleitumge\-bungstyp zwecks Reihen\-fol\-gen\-erhalts \\[1ex] + \File{lor} & \File{lof} + & + & Dateiendung der Hilfsdatei für das jeweilige Verzeichnis \\ + \bottomrule + \end{tabularx} + \end{table} + + Und hier nun eine mögliche Verwendung der Umgebung: +\begin{lstcode} + \begin{remarkbox} + \centering + Gleiches sollte immer auf gleiche Weise und + mit gleichem Aussehen gesetzt werden. + \caption{Erster Hauptsatz der Typografie} + \label{rem:typo1} + \end{remarkbox} +\end{lstcode} + Ein Ausschitt aus einer Beispielseite mit dieser Umgebung könnte dann so + aussehen: + \begin{center}\footnotesize + \begin{tabular} + {|!{\hspace{.1\linewidth}}p{.55\linewidth}!{\hspace{.1\linewidth}}|} + \\ + \centering + Gleiches sollte immer auf gleiche Weise und + mit gleichem Aussehen gesetzt werden.\\[\abovecaptionskip] + {% + \usekomafont{caption}\footnotesize{\usekomafont{captionlabel}% + Merksatz 1: }Erster Hauptsatz der Typografie + }\\ + \end{tabular}% + \end{center}% \end{Example}% % \EndIndex{Cmd}{DeclareNewTOC}% diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/typearea-experts.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/typearea-experts.tex index dddf176f5d5..aaf5a99c47b 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/typearea-experts.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/typearea-experts.tex @@ -1,6 +1,6 @@ % ====================================================================== % typearea-experts.tex -% Copyright (c) Markus Kohm, 2008-2012 +% Copyright (c) Markus Kohm, 2008-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % typearea-experts.tex -% Copyright (c) Markus Kohm, 2008-2012 +% Copyright (c) Markus Kohm, 2008-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -45,7 +45,7 @@ % % ====================================================================== -\ProvidesFile{typearea-experts.tex}[2012/04/17 KOMA-Script guide (chapter: +\ProvidesFile{typearea-experts.tex}[2013/05/31 KOMA-Script guide (chapter: typearea for experts)] \chapter{Zusätzliche Informationen zum Paket \Package{typearea.sty}} @@ -111,21 +111,25 @@ Einstellungen wieder zu reaktivieren. \documentclass[pagesize]{scrartcl} \begin{document} - \rule{\textwidth}{\textheight} + \noindent\rule{\textwidth}{\textheight} \storeareas\meinegespeichertenWerte \KOMAoptions{paper=landscape,DIV=current} - \rule{\textwidth}{\textheight} + \noindent\rule{\textwidth}{\textheight} \clearpage \meinegespeichertenWerte - \rule{\textwidth}{\textheight} + \noindent\rule{\textwidth}{\textheight} \end{document} \end{lstcode} Wichtig\textnote{Achtung!} ist dabei die Anweisung \Macro{clearpage} vor dem Aufruf von \Macro{meinegespeichertenWerte}, damit die Wiederherstellung erst auf der nächsten Seite erfolgt. \end{Example} +Im Beispiel wird \Macro{noindent} verwendet, um den normalen Absatzeinzug vor +den schwarzen Kästen zu verhindern. Sie würden sonst kein korrektes Bilde des +Seitenlayouts wiedergeben. + Bei\textnote{Achtung!} der Verwendung von \Macro{storeareas} ist zu beachten, dass sowohl \Macro{storeareas} als auch die damit definierte \PName{Anweisung} nicht innerhalb einer Gruppe aufgerufen werden sollten. Die Definition der @@ -148,7 +152,8 @@ Diese Anweisungen dienen der Verwaltung zweier ermöglichen es dem Experten jedes Mal, nachdem \Package{typearea} eine neue Aufteilung in Satzspiegel und Ränder berechnet hat, also nach jeder impliziten oder expliziten Ausführung von \Macro{typearea}, \PName{Anweisungen} ausführen -zu lassen. Entsprechendes leisten \Macro{AfterSettingArea} und dessen +zu lassen. Entsprechendes leisten +\Macro{AfterSettingArea}\ChangedAt{v3.11}{\Package{typearea}} und dessen Stern-Form für die Ausführung von \Macro{areaset}. Die Normalformen arbeiten dabei global, während die Änderungen durch die Sternformen nur lokal wirksam sind. Die \PName{Anweisungen} werden jeweils unmittelbar vor diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/typearea.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/typearea.tex index 1c2c74c78a6..d5d273e3e7f 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/typearea.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/typearea.tex @@ -1,6 +1,6 @@ % ====================================================================== % typearea.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % typearea.tex -% Copyright (c) Markus Kohm, 2001-2012 +% Copyright (c) Markus Kohm, 2001-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -46,7 +46,9 @@ % ====================================================================== -\ProvidesFile{typearea.tex}[2012/07/22 KOMA-Script guide (chapter: typearea)] +\KOMAProvidesFile{typearea.tex}% + [$Date: 2013-12-16 09:10:28 +0100 (Mo, 16. Dez 2013) $ + KOMA-Script guide (chapter: typearea)] \chapter{Satzspiegelberechnung mit \Package{typearea.sty}} \labelbase{typearea} @@ -288,7 +290,7 @@ Paketautoren. Damit sind alle Grundlagen der Satzspiegelberechnung, die bei {\KOMAScript} eine Rolle spielen, erklärt. -\iftrue% Umbruchkorrektur +\iffalse% Umbruchkorrektur Wir können also mit den konkreten Konstruktionen beginnen. \else In den folgenden beiden Abschnitten werden die von {\KOMAScript} angebotenen @@ -424,24 +426,25 @@ Paketautoren. Textbereichs der Breite der Seite entspricht. Das genaue Verfahren ist beispielsweise in \cite{JTsch87} nachzulesen. - Als Nachteil dieses spätmittelalterlichen Buchseitenkanons ergibt - sich, dass die Breite des Textbereichs nicht mehr von der Schriftart - abhängt. Es wird also nicht mehr der zur Schrift passende - Textbereich gewählt, stattdessen muss der Autor oder Setzer unbedingt die zum - Textbereich passende Schrift wählen. -\iffalse + Als Nachteil dieses spätmittelalterlichen Buchseitenkanons ergibt sich, dass + die Breite des Textbereichs nicht mehr von der Schriftart abhängt. Es wird + also nicht mehr der zur Schrift passende Textbereich gewählt, stattdessen + muss der Autor oder Setzer unbedingt die zum Textbereich passende Schrift + wählen. +% +\iftrue % Umbruchkorrekturtext Dies ist als zwingend zu betrachten. \fi - Im \Package{typearea}-Paket wird diese Konstruktion dahingehend - abgewandelt, dass durch Auswahl eines ausgezeichneten -- normalerweise - unsinnigen -- \Var{DIV}-Wertes oder eine spezielle Paket-Option - derjenige \Var{DIV}-Wert ermittelt wird, bei dem der resultierende - Satzspiegel dem spätmittelalterlichen Buchseitenkanon am nächsten - kommt. Es wird also wiederum auf die Satzspiegelkonstruktion durch Teilung - zurückgegriffen. -\iffalse + Im \Package{typearea}-Paket wird diese Konstruktion dahingehend abgewandelt, + dass durch Auswahl eines ausgezeichneten -- normalerweise unsinnigen -- + \Var{DIV}-Wertes oder eine spezielle Paket-Option derjenige \Var{DIV}-Wert + ermittelt wird, bei dem der resultierende Satzspiegel dem + spätmittelalterlichen Buchseitenkanon am nächsten kommt. Es wird also + wiederum auf die Satzspiegelkonstruktion durch Teilung zurückgegriffen. +% +\iftrue % Umbruchkorrekturtext Bei Wahl einer guten Schrift stimmt dieses Ergebnis nicht selten mit der Suche nach dem optimalen \Var{DIV}-Wert überein. Siehe hierzu ebenfalls @@ -452,8 +455,6 @@ Paketautoren. \LoadCommon{0} % \section{Frühe oder späte Optionenwahl} -\iffree{}{\vfill}% Umbruchoptimierung - \LoadCommon{1} % \section{Kompatibilität zu früheren Versionen von \KOMAScript} \section{Einstellung des Satzspiegels und der \texorpdfstring{Seitenauf"|teilung}{Seitenaufteilung}} @@ -665,13 +666,13 @@ sehr rasch zu unangenehm hoher Zeichenzahl je Zeile führen. Siehe hierzu die Überlegungen in \autoref{sec:typearea.basics}. Wird ein anderes Papierformat gewählt, so berechnet \Package{typearea} selbst einen guten \Var{DIV}-Wert. Natürlich können Sie diese Berechnung auch für A4 wählen. Hierzu verwenden Sie -einfach die Option \OptionValue{DIV}{calc}\important{\OptionValue{DIV}{calc}} -an Stelle von \KOption{DIV}\PName{Faktor}. Selbstverständlich können Sie -diese Option auch explizit bei allen anderen Papierformaten angeben. Wenn Sie -die automatische Berechnung wünschen, ist diese Angabe sogar sinnvoll, da die -Möglichkeit besteht, in einer Konfigurationsdatei andere Voreinstellungen zu -setzen (siehe \autoref{sec:typearea-experts.cfg}). Eine explizit angegebene -Option \OptionValue{DIV}{calc} überschreibt diese Vorkonfiguration aber. +\OptionValue{DIV}{calc}\important{\OptionValue{DIV}{calc}} an Stelle von +\KOption{DIV}\PName{Faktor}. Selbstverständlich können Sie diese Option auch +explizit bei allen anderen Papierformaten angeben. Wenn Sie die automatische +Berechnung wünschen, ist diese Angabe sogar sinnvoll, da die Möglichkeit +besteht, in einer Konfigurationsdatei andere Voreinstellungen zu setzen (siehe +\autoref{sec:typearea-experts.cfg}). Eine explizit angegebene Option +\OptionValue{DIV}{calc} überschreibt diese Vorkonfiguration aber. \begin{table} % \centering @@ -693,7 +694,6 @@ Option \OptionValue{DIV}{calc} überschreibt diese Vorkonfiguration aber. \end{table} \iffree{}{\BeginIndex{Option}{DIV~=\PValue{classic}}}% -\looseness=1 % Umbruchoptimierung!!! Die in \autoref{sec:typearea.circleConstruction} erwähnte klassische Konstruktion, der mittelalterliche Buchseitenkanon, ist ebenfalls auswählbar. Verwenden Sie in diesem Fall an Stelle von \KOption{DIV}\PName{Faktor} oder @@ -804,7 +804,7 @@ andere Schrift lädt. \begin{table} \caption[{Symbolische Werte für Option \Option{DIV} und das \PName{DIV}-Argument von \Macro{typearea}}]{Mögliche symbolische Werte - für die Option \Option{DIV} oder das \PName{DIV}-Argument von + für die Option \Option{DIV} oder das \PName{DIV}-Argument der Anweisung \Macro{typearea}\OParameter{BCOR}\Parameter{DIV}} \label{tab:symbolicDIV} \begin{desctabular} @@ -847,12 +847,14 @@ normalen der Satzspiegel für diesen Zeilenabstand neu berechnet werden. \linespread{1.25} \KOMAoptions{DIV=last} \end{lstcode}\IndexCmd{linespread} - \looseness=1 % Umbruchkorrektur Da \Package{typearea} selbst immer die Anweisung \Macro{normalsize} bei Berechnung eines neuen Satzspiegels ausführt, ist es nicht zwingend notwendig, nach \Macro{linespread} den gewählten Durchschuss mit - \Macro{selectfont} zu aktivieren, damit dieser auch tatsächlich für die - Neuberechnung verwendet wird. + \Macro{selectfont} zu aktivieren, damit dieser % +\iffalse % Umbruchkorrektur + auch tatsächlich +\fi % + für die Neuberechnung verwendet wird. Das gleiche Beispiel sähe unter Verwendung des \Package{setspace}-Pakets (siehe \cite{package:setspace}) wie folgt @@ -860,8 +862,7 @@ normalen der Satzspiegel für diesen Zeilenabstand neu berechnet werden. \begin{lstcode} \documentclass[10pt,twoside,BCOR=12mm,DIV=calc] {scrreprt} - \usepackage{setspace} - \onehalfspacing + \usepackage[onehalfspacing]{setspace} \KOMAoptions{DIV=last} \end{lstcode} \end{Example} @@ -869,31 +870,41 @@ normalen der Satzspiegel für diesen Zeilenabstand neu berechnet werden. Wie\textnote{Tipp!} man an dem Beispiel sieht, spart man sich mit dem \Package{setspace}-Paket das Wissen um den korrekten Dehnungswert. Dies gilt allerdings nur für die Standardschriftgrößen 10\Unit{pt}, 11\Unit{pt} und -12\Unit{pt}. Für alle anderen Schriftgrößen verwendet das Paket einen -näherungsweise passenden Dehnungswert. +12\Unit{pt}. Für alle anderen Schriftgrößen verwendet das Paket +% +\iffalse % Umbruchkorrektur +einen näherungsweise passenden Dehnungswert. +% +\else % +eine Näherung. +\fi An\textnote{Achtung!} dieser Stelle erscheint es mir angebracht, darauf hinzuweisen, dass der Zeilenabstand für die Titelseite wieder auf den normalen -Wert zurückgesetzt werden sollte. +Wert zurückgesetzt werden sollte und außerdem auch die Verzeichnisse mit dem +normalen Zeilenabstand gesetzt werden sollten. \begin{Example} Ein vollständiges Beispiel wäre also: \begin{lstcode} \documentclass[10pt,twoside,BCOR=12mm,DIV=calc] {scrreprt} - \usepackage{setspace} - \onehalfspacing + \usepackage[onehalfspacing]{setspace} + \AfterTOCHead{\singlespacing} \KOMAoptions{DIV=last} \begin{document} \title{Titel} \author{Markus Kohm} \begin{spacing}{1} \maketitle - \tableofcontents \end{spacing} + \tableofcontents \chapter{Ok} \end{document} \end{lstcode} - Siehe hierzu auch die Anmerkungen in \autoref{sec:typearea.tips}. + Siehe hierzu auch die Anmerkungen in \autoref{sec:typearea.tips}. Die + Anweisung \Macro{AfterTOCHead}\IndexCmd{AfterTOCHead} wird in + \autoref{part:forExperts}, \autoref{cha:tocbasic} auf + \autopageref{desc:tocbasic.cmd.AfterTOCHead} vorgestellt. \end{Example} Bitte beachten Sie unbedingt\textnote{Achtung!}, dass diese Optionen auch zur @@ -956,14 +967,13 @@ bei der Änderung für \PName{DIV} und dann zusätzlich bei der Änderung für Seitenumbruch. \end{Explain} -\begin{sloppypar}% Umbruchoptimierung!!! -Da \Macro{KOMAoption}\PParameter{DIV}\PParameter{last}, -\Macro{KOMAoptions}\PParameter{DIV=last} oder +Da\important{\Macro{recalctypearea}} +\Macro{KOMAoption}\PParameter{DIV}\PParameter{last} oder +\Macro{KOMAoptions}\PParameter{DIV=last} beziehungsweise \Macro{typearea}\POParameter{current}\PParameter{last} für die Neuberechnung -des Satzspiegels und der Ränder recht häufig benötigt -werden, gibt es dafür die abkürzende Anweisung +des Satzspiegels und der Ränder recht häufig benötigt werden, gibt es dafür +die abkürzende Anweisung \Macro{recalctypearea}\ChangedAt{v3.00}{\Package{typearea}}. -\end{sloppypar} \begin{Example} Wenn Ihnen die Schreibweisen \begin{lstcode} @@ -1009,21 +1019,19 @@ doppelseitiger Satz verwendet. Deaktivieren der Option\important{\OptionValue{twoside}{false}} führt zu einseitigem Satz. \begin{table} -% \begin{minipage}{\linewidth} % \centering % \caption \KOMAoptions{captions=topbeside}\setcapindent{0pt} - \begin{captionbeside} - [{Standardwerte für einfache Schalter in \KOMAScript}] - {\label{tab:truefalseswitch}Standardwerte für alle einfachen Schalter in \KOMAScript} + \begin{captionbeside}% + [{Standardwerte für einfache Schalter in \KOMAScript}]% + {\label{tab:truefalseswitch}Standardwerte für alle einfachen Schalter in + \KOMAScript}% [l] \begin{tabular}[t]{ll} \toprule Wert & Bedeutung \\ \midrule - \PValue{true}\footnote{Dieser Wert wird auch - eingesetzt, wenn die entsprechende Option ohne Wertangabe verwendet - wird.} & aktiviert die Option\\ + \PValue{true} & aktiviert die Option\\ \PValue{on} & aktiviert die Option \\ \PValue{yes} & aktiviert die Option \\ \PValue{false}& deaktiviert die Option \\ @@ -1032,7 +1040,6 @@ Option\important{\OptionValue{twoside}{false}} führt zu einseitigem Satz. \bottomrule \end{tabular} \end{captionbeside} -% \end{minipage} \end{table} \iffree{}{\BeginIndex{Option}{twoside~=\PValue{semi}}}% @@ -1040,13 +1047,26 @@ Außer den Werten aus \autoref{tab:truefalseswitch} kann jedoch auch noch der Wert \PValue{semi}\ChangedAt{v3.00}{\Package{typearea}}% \important{\OptionValue{twoside}{semi}} angegeben werden. Dieser Wert \PValue{semi} führt zu doppelseitigem Satz mit einseitigen Rändern und -einseitigen, also nicht alternierenden Marginalien. - -Die Option kann wahlweise als Klassenoption bei \Macro{documentclass}, als +einseitigen, also nicht alternierenden +Marginalien. Eine\ChangedAt{v3.12}{\Package{typearea}} eventuelle +Bindekorrektur (siehe Option \Option{BCOR}, +\autopageref{desc:typearea.option.BCOR}) wird jedoch ab \KOMAScript~Version +3.12 wie beim doppelseitigen Satz auf Seiten mit ungerader Nummer dem linken +Rand und auf Seiten mit gerader Nummer dem rechten Rand zugeschlagen. Wird auf +Kompatibilität zu einer Version früheren Version zurückgeschaltet (siehe +\autoref{sec:typearea.compatibilityOptions}, +\autopageref{sec:typearea.compatibilityOptions}), so ist die Bindekorrektur +jedoch auch bei \OptionValue{twoside}{semi} immer Teil des linken Randes. + +Die Option kann % +\iffalse % Umbruchkorrektur +wahlweise +\fi % +als Klassenoption bei \Macro{documentclass}, als Paketoption bei \Macro{usepackage} oder auch nach dem Laden von \Package{typearea} per \Macro{KOMAoptions} oder \Macro{KOMAoption} gesetzt werden. Eine Verwendung dieser Option nach dem Laden von \Package{typearea} -führt dabei\textnote{automatische Neuberechnung} automatisch zur +führt\textnote{automatische Neuberechnung} automatisch zur Neuberechnung des Satzspiegels mittels \Macro{recalctypearea} (siehe \autopageref{desc:typearea.cmd.recalctypearea}). War vor der Option doppelseitiger Satz aktiv, wird noch vor der Neuberechnung auf die nächste @@ -1077,11 +1097,15 @@ doppelspaltiger Satz verwendet. Ein Deaktivieren der Option führt wieder zum voreingestellten, einspaltigen Satz. -Die Option kann wahlweise als Klassenoption bei \Macro{documentclass}, als +Die Option kann % +\iffalse % Umbruchkorrektur +wahlweise +\fi % +als Klassenoption bei \Macro{documentclass}, als Paketoption bei \Macro{usepackage} oder auch nach dem Laden von \Package{typearea} per \Macro{KOMAoptions} oder \Macro{KOMAoption} gesetzt werden. Eine Verwendung dieser Option nach dem Laden von \Package{typearea} -führt dabei\textnote{automatische Neuberechnung} automatischen zur +führt\textnote{automatische Neuberechnung} automatisch zur Neuberechnung des Satzspiegels mittels \Macro{recalctypearea} (siehe \autopageref{desc:typearea.cmd.recalctypearea}).% % @@ -1114,21 +1138,22 @@ Neuberechnung des Satzspiegels mittels \Macro{recalctypearea} (siehe leerer Kopf zum Rand zu rechnen sind. Schließlich können sie nicht vom restlichen Rand unterschieden werden. Ein Fuß, der nur die Paginierung\Index[indexmain]{Paginierung}\footnote{Unter der Paginierung - versteht man die Angabe der Seitenzahl.} enthält, wirkt optisch ebenfalls - eher wie Rand und sollte deshalb zu diesem gerechnet werden. Für die - optische Wirkung ist dabei unwesentlich, ob der Fuß beim Lesen oder - Überfliegen leicht als Fuß erkannt werden kann oder nicht. Entscheidend ist, - wie eine wohlgefüllte Seite bei \emph{unscharfer Betrachtung} wirkt. Dazu - bedient man sich beispielsweise seiner altersweitsichtigen Großeltern, denen - man die Brille stibitzt und dann die Seite etwa einen halben Meter von der - Nasenspitze entfernt hält. In Ermangelung erreichbarer Großeltern kann man - sich auch damit behelfen, dass man die eigenen Augen auf Fernsicht stellt, - die Seite aber nur mit ausgestreckten Armen hält. Brillenträger sind hier - deutlich im Vorteil. Hat man eine Fußzeile, die neben der Paginierung - weitere, weitschweifige Angaben enthält, beispielsweise einen - Copyright-Hinweis, so wirkt die Fußzeile eher wie ein etwas abgesetzter Teil - des Textkörpers. Bei der Berechnung des Satzspiegels sollte das - berücksichtigt werden. + versteht man die Angabe der Seitenzahl, wahlweise innerhalb oder außerhalb + des Satzspiegels, meist im Kopf oder Fuß der Seite.} enthält, wirkt + optisch ebenfalls eher wie Rand und sollte deshalb zu diesem gerechnet + werden. Für die optische Wirkung ist dabei unwesentlich, ob der Fuß beim + Lesen oder Überfliegen leicht als Fuß erkannt werden kann oder + nicht. Entscheidend ist, wie eine wohlgefüllte Seite bei \emph{unscharfer + Betrachtung} wirkt. Dazu bedient man sich beispielsweise seiner + altersweitsichtigen Großeltern, denen man die Brille stibitzt und dann die + Seite etwa einen halben Meter von der Nasenspitze entfernt hält. In + Ermangelung erreichbarer Großeltern kann man sich auch damit behelfen, dass + man die eigenen Augen auf Fernsicht stellt, die Seite aber nur mit + ausgestreckten Armen hält. Brillenträger sind hier deutlich im Vorteil. Hat + man eine Fußzeile, die neben der Paginierung weitere, weitschweifige Angaben + enthält, beispielsweise einen Copyright-Hinweis, so wirkt die Fußzeile eher + wie ein etwas abgesetzter Teil des Textkörpers. Bei der Berechnung des + Satzspiegels sollte das berücksichtigt werden. Bei der Kopfzeile sieht es noch schwieriger aus. In der Kopfzeile wird häufig der @@ -1173,14 +1198,13 @@ angegeben sind. Man kann die Optionen auch ohne Wertzuweisung verwenden. In diesem Fall wird \PValue{true} als \PName{Ein-Aus-Wert} verwendet, also der Kopf oder Fuß zum Satzspiegel gerechnet. -\iffree{}{\enlargethispage{\dp\strutbox}}% Umbruchkorrektur Wenn Sie unsicher sind, was die richtige Einstellung ist, lesen Sie bitte obige Erläuterungen. Voreingestellt sind normalerweise \OptionValue{headinclude}{false} und \OptionValue{footinclude}{false}. Dies kann sich jedoch bei den \KOMAScript-Klassen je nach Klassenoption oder bei Verwendung anderer \KOMAScript-Pakete generell ändern (siehe \autoref{sec:maincls.options} und -\autoref{cha:scrpage}). +\iffree{\autoref{cha:scrpage} oder }{}\autoref{cha:scrlayer-scrpage}). Bitte beachten Sie unbedingt\textnote{Achtung!}, dass diese Optionen bei Verwendung einer der \KOMAScript-Klassen als Klassenoptionen oder per @@ -1249,7 +1273,17 @@ bleiben. Da es derzeit keine Option gibt, um mehr Platz für die Randnotizen innerhalb des Textbereichs vorzusehen, gibt es nur eine Möglichkeit, dies zu - erreichen. Man verzichtet auf die Option \Option{mpinclude} oder setzt + erreichen: % +\iftrue % Umbruchkorrektur + Die Anpassung von \Length{textwidth}\IndexLength{textwidth} und + \Length{marginparwidth}\IndexLength{marginparwidth} nach der Berechnung des + Satzspiegels. Siehe dazu \Macro{AfterCalculatingTypearea} in + \autoref{sec:typearea-experts.experts}, + \autopageref{desc:typearea-experts.cmd.AfterCalculatingTypearea}. +% +\else +% + Man verzichtet auf die Option \Option{mpinclude} oder setzt \Option{mpinclude} auf \PValue{false}, verringert nach der Satzspiegelberechnung die Breite des Textbereichs \Macro{textwidth} und setzt die Breite des Bereichs der Randnotizen auf den Wert, um den man die @@ -1258,6 +1292,8 @@ bleiben. Demgegenüber wird \Option{mpinclude} bei \OptionValue{DIV}{calc}\IndexOption{DIV=calc} (siehe \autopageref{desc:typearea.option.DIV.calc}) berücksichtigt. +% +\fi \end{Explain} Bitte beachten Sie unbedingt\textnote{Achtung!}, dass diese Option bei @@ -1316,8 +1352,9 @@ Erfordernissen anpassen. \begin{lstcode} \documentclass[headlines=2.1]{scrartcl} \end{lstcode} - Befehle, mit denen dann der Inhalt der zweizeiligen Kopfzeile - definiert werden kann, sind in \autoref{cha:scrpage} zu finden. + Befehle, mit denen dann der Inhalt der zweizeiligen Kopfzeile definiert + werden kann, sind in \autoref{cha:scrlayer-scrpage}\iffree{oder + \autoref{cha:scrpage}}{} zu finden. \end{Example} In einigen Fällen ist es nützlich, wenn man die Kopfhöhe nicht in Zeilen, @@ -1346,6 +1383,88 @@ Option \Option{DIV} mit den Werten \PValue{last} oder \PValue{current} (siehe \EndIndex{Option}{headlines~=\PName{Anzahl}} +\BeginIndex{Option}{footlines~=\PName{Anzahl}}% +\BeginIndex{Option}{footheight~=\PName{Höhe}}% +\begin{Declaration} + \KOption{footlines}\PName{Zeilenanzahl}\\ + \KOption{footheight}\PName{Höhe} +\end{Declaration}% +Ebenso wie für den Kopf fehlt aber noch die Angabe, wie hoch der Fuß sein +soll. Hierzu dienen die Optionen \Option{footlines} und +\Option{footheight}\ChangedAt{v3.12}{\Package{typearea}}. Allerdings ist die +Höhe des Fußes im Gegensatz zur Höhe des Kopfes keine Länge des \LaTeX-Kerns +selbst. Daher definiert \Package{typearea} zur Einführung eine neue Länge +\Length{footheight}\IndexLength[indexmain]{footheight}, falls diese noch nicht +existiert. Ob diese dann auch beispielsweise von Klassen und Paketen für die +Gestaltung von Kopf und Fuß verwendet wird, hängt von den verwendeten Klassen +und Paketen ab. Das \KOMAScript-Paket \Package{scrlayer-scrpage} +berücksichtigt\iffree{ im Gegensatz zu \Package{scrpage2}}{} +\Length{footheight} und arbeitet somit aktiv mit \Package{typearea} +zusammen. Die \KOMAScript-Klassen berücksichtigen \Length{footheight} hingegen +nicht, da sie ohne Paketunterstützung nur Seitenstile mit einzeilige +Seitenfüßen anbieten. + +Die Option \Option{footlines}\important{\Option{footlines}} setzt man +vergleichbar zu \Option{headlines} auf die Anzahl der Fußzeilen. +Normalerweise arbeitet das \Package{typearea}-Paket mit 1,25 +Fußzeilen. Dieser Wert stellt einen Kompromiss dar. Zum einen ist er groß +genug, um auch für eine über- und unterstrichene Fußzeile (siehe +\autoref{sec:maincls.options}) Platz zu bieten, zum anderen ist er klein +genug, um das Randgewicht nicht zu stark zu verändern, wenn mit einer +einfachen Fußzeile ohne Trennlinien gearbeitet wird. Damit ist der +voreingestellte Wert in den meisten Standardfällen ein guter Wert. In einigen +Fällen will oder muss man aber die Fußhöhe genauer den tatsächlichen +Erfordernissen anpassen. + +\begin{Example} + Angenommen, im Fuß soll eine zweizeilige Copyright-Angabe gesetzt + werden. Zwar gibt es in \LaTeX{} selbst keinen Test, ob der für den Fuß + vorgesehene Platz dafür genügend Raum bietet, die Überschreitung der + vorgesehenen Höhe resultiert aber wahrscheinlich in einer unausgeglichenen + Verteilung von Satzspiegeln und Rändern. Außerdem führt beispielsweise das + Paket \Package{scrlayer-scrpage}, mit dem ein solcher Fuß\-in\-halt gesetzt + werden könnte, durchaus eine entsprechende Überprüfung durch und meldet + gegebenenfalls auch Überschreitungen. Daher ist es sinnvoll, die benötigte + größere Fußhöhe bereits bei der Berechnung des Satzspiegels anzugeben: +\begin{lstcode} + \documentclass[a4paper]{article} + \usepackage[footlines=2.1]{typearea} +\end{lstcode} + Es ist auch wieder möglich und bei Verwendung einer \KOMAScript-Klasse + empfehlenswert, diese Option direkt an die Klasse zu übergeben: +\begin{lstcode} + \documentclass[footlines=2.1]{scrartcl} +\end{lstcode} + Befehle, mit denen dann der Inhalt der zweizeiligen Fußzeile + definiert werden kann, sind in \autoref{cha:scrlayer-scrpage} zu finden. +\end{Example} + +In einigen Fällen ist es nützlich, wenn man die Fußhöhe nicht in Zeilen, +sondern direkt als Längenwert angeben kann. Dies ist mit Hilfe der alternativ +verwendbaren Option \Option{footheight}\important{\Option{footheight}} +möglich. Als \PName{Höhe} sind alle Längen und Größen verwendbar, die \LaTeX{} +kennt. Es ist jedoch zu beachten, dass bei Verwendung einer \LaTeX-Länge wie +\Length{baselineskip} nicht deren Größe zum Zeitpunkt des Setzens der Option, +sondern zum Zeitpunkt der Berechnung des Satzspiegels und der Rändern +entscheidend ist. + +Bitte beachten Sie unbedingt\textnote{Achtung!}, dass diese Optionen bei +Verwendung einer der \KOMAScript-Klassen als Klassenoptionen oder per +\Macro{KOMAoptions} beziehungsweise \Macro{KOMAoption} nach dem Laden der +Klasse übergeben werden müssen. Eine Änderung dieser Optionen nach dem Laden +von \Package{typearea} führt nicht\textnote{keine automatische + Neuberechnung} zu einer automatischen Neuberechnung des +Satzspiegels. Vielmehr wirkt sich die Änderung erst bei der nächsten +Neuberechnung des Satzspiegels aus. Zur Neuberechnung des Satzspiegels siehe +Option \Option{DIV} mit den Werten \PValue{last} oder \PValue{current} (siehe +\autopageref{desc:typearea.option.DIV.last}) oder die Anweisung +\Macro{recalctypearea} (siehe +\autopageref{desc:typearea.cmd.recalctypearea}).% +% +\EndIndex{Option}{footheight~=\PName{Höhe}}% +\EndIndex{Option}{footlines~=\PName{Anzahl}} + + \BeginIndex{Cmd}{areaset}% \begin{Declaration} \Macro{areaset}\OParameter{BCOR}\Parameter{Breite}\Parameter{Höhe} @@ -1388,18 +1507,26 @@ unberücksichtigt! \Macro{topskip} ist. Die oberste Zeile benötigt damit keine Höhe. Die Unterlängen der untersten Zeile ragen dafür unter den Satzspiegel. -\item Soll stattdessen ein Gedichtband gesetzt werden, bei dem es nur +\iffalse % Umbruchkorrekturtext + Soll stattdessen ein Gedichtband gesetzt werden, bei dem es nur darauf ankommt, dass der Textbereich genau quadratisch mit einer Seitenlänge von 15\Unit{cm} ist, wobei ein Binderand von 1\Unit{cm} zu berücksichtigen ist, so kann dies wie folgt erreicht werden: +% +\else % + Soll stattdessen ein Gedichtband mit quadratischem Textbereich der + Seitenlänge 15\Unit{cm} und einem Binderand von 1\Unit{cm} gesetzt + werden, so ist folgendes möglich: +% +\fi \begin{lstcode} \documentclass{gedichte} \usepackage{typearea} \areaset[1cm]{15cm}{15cm} -\end{lstcode} -\end{Example} -\EndIndex{Cmd}{areaset} +\end{lstcode}% +\end{Example}% +\EndIndex{Cmd}{areaset}% \BeginIndex{Option}{DIV~=\PValue{areaset}}% @@ -1428,7 +1555,8 @@ Paketes \Package{geometry}\IndexPackage{geometry}\important{\Package{geometry}} (siehe \cite{package:geometry}) empfehlenswert. % -\else +\fi +\iffalse % Das Paket \Package{typearea} ist nicht dafür gedacht, bestimmte Randbreiten einzustellen. Dafür ist das Paket \Package{geometry}\IndexPackage{geometry} @@ -1458,8 +1586,7 @@ Seitengrößen. \BeginIndex{Option}{paper~=\PName{Format}}% \BeginIndex{Option}{paper~=\PName{Ausrichtung}}% Die Option \Option{paper}\ChangedAt{v3.00}{\Package{typearea}} ist das -zentrale Element der Formatauswahl bei \KOMAScript. Als -\PName{Format}\important[i]{% +zentrale Element der Formatauswahl\important[i]{% \begin{tabular}[t]{@{}l@{}l@{}} \KOption{paper} & \PValue{letter}, \\ & \PValue{legal}, \\ @@ -1467,12 +1594,11 @@ zentrale Element der Formatauswahl bei \KOMAScript. Als & \PValue{A0}, \PValue{A1}, \PValue{A2} \dots\\ & \PValue{B0}, \PValue{B1}, \PValue{B2} \dots\\ & \PValue{C0}, \PValue{C1}, \PValue{C2} \dots\\ - & \PValue{D0}, \PValue{D1}, \PValue{D2} \dots\end{tabular}} -wird -dabei zunächst das amerikanische \Option{letter}, \Option{legal} und -\Option{executive} unterstützt. Darüber hinaus sind die ISO-Formate der Reihen -A, B, C und D möglich, also beispielsweise -\PValue{A4} oder -- klein geschrieben -- \PValue{a4}. + & \PValue{D0}, \PValue{D1}, \PValue{D2} \dots\end{tabular}} % +bei \KOMAScript. Als \PName{Format} wird dabei zunächst das amerikanische +\Option{letter}, \Option{legal} und \Option{executive} unterstützt. Darüber +hinaus sind die ISO-Formate der Reihen A, B, C und D möglich, also +beispielsweise \PValue{A4} oder -- klein geschrieben -- \PValue{a4}. Querformate\important{% \begin{tabular}[t]{@{}l@{}l@{}} @@ -1570,11 +1696,11 @@ Option \Option{DIV} mit den Werten \PValue{last} oder \PValue{current} (siehe DVI-Formats\Index{DVI} sieht aber an keiner Stelle Angaben zum Papierformat vor. Wird direkt aus dem DVI-Format in eine Low-Level-Druckersprache wie PCL% - \iffalse% Umbruchkorrektur + \iftrue% Umbruchkorrektur \footnote{PCL ist die Druckersprache, die HP für seine Tinten- und Laserdrucker verwendet.}% \fi \ oder ESC/P2% - \iffalse% Umbruchkorrektur + \iftrue% Umbruchkorrektur \footnote{ESC/P2 ist die Druckersprache, die EPSON für seine Nadel-, Tinten- und Laserdrucker benutzt.}% \fi \ ausgegeben, spielt dies normalerweise keine Rolle, da auch bei diesen diff --git a/Master/texmf-dist/source/latex/koma-script/doc/scrguide.cls b/Master/texmf-dist/source/latex/koma-script/doc/scrguide.cls index 1e397e31138..e4d540c3ffb 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/scrguide.cls +++ b/Master/texmf-dist/source/latex/koma-script/doc/scrguide.cls @@ -1,6 +1,6 @@ % ====================================================================== % scrguide.cls -% Copyright (c) Markus Kohm, 2005-2012 +% Copyright (c) Markus Kohm, 2005-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrguide.cls -% Copyright (c) Markus Kohm, 2005-2012 +% Copyright (c) Markus Kohm, 2005-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -38,7 +38,7 @@ % \section{Identification} % % \begin{macrocode} -\ProvidesClass{scrguide}[2011/10/18 v1.6 internal KOMA-Script guide class] +\ProvidesClass{scrguide}[2013/10/13 v1.7c internal KOMA-Script guide class] % \end{macrocode} % % @@ -92,8 +92,32 @@ % % \section{Load the Base Class and Packages} % +% \begin{macro}{\KOMAProvidesFile} +% \begin{macro}{\@KOMAProvidesFile} +% Extended version of |\ProvidesFile|, that uses the date from the +% repository. +% \begin{macrocode} +\newcommand*{\KOMAProvidesFile}{} +\def\KOMAProvidesFile#1{% + \@ifnextchar [%] + {\@KOMAProvidesFile{#1}}{\ProvidesFile{#1}\relax}% +} +\newcommand*{\@KOMAProvidesFile}{} +\def\@KOMAProvidesFile#1[$#2: #3-#4-#5 #6$#7]{% + \ifstr{#2}{Date}{% + \ProvidesFile{#1}[#3/#4/#5 #6 #7]\relax + }{% + \ClassError{scrguide}{missmatch repository date string}{% + It seams, that you haven't used $% + Date: YYYY-MM-DD $ for the date of \string\KOMAProvidesFile.}% + \ProvidesFile{#1}[$#2: #3/#4/#5 #6$#7]\relax + }% +} +% \end{macrocode} +% \end{macro} +% \end{macro} % NOTE: I use \texttt{latin1} instead of the prefered \texttt{utf8} because of -% problems of package \textsf{listings}. +% problems of early versions of package \textsf{listings}. % \begin{macrocode} \LoadClassWithOptions{scrbook} \RequirePackage[latin1]{inputenc} @@ -112,6 +136,7 @@ \RequirePackage{makeidx} \RequirePackage{scrdate} \RequirePackage{scrtime} +\RequirePackage{picture} \RequirePackage{graphicx} \RequirePackage{booktabs} \RequirePackage{longtable} @@ -119,6 +144,7 @@ \RequirePackage{listings} \RequirePackage{multicol} \RequirePackage{marginnote} +\RequirePackage{tabularx} \RequirePackage{xcolor,tocstyle}% hyperref needs xcolor with tocstyle \RequirePackage[\uselanguage]{hyperref} \RequirePackage[open,openlevel=0]{bookmark}% improved pdf bookmarks @@ -658,6 +684,9 @@ % This may already be defined. % \begin{macrocode} \providecommand*{\eTeX}{\ensuremath{\varepsilon}-\TeX} +\providecommand*{\NTS}{% + \leavevmode\hbox{$\cal N\kern-0.35em\lower0.5ex\hbox{$\cal T$}% + \kern-0.2emS$}} % \end{macrocode} % \end{macro} % @@ -1027,6 +1056,8 @@ % to allow page breaks. % \begin{macrocode} \newenvironment{desctable}[1][\descdefaultindent]{% + \ClassError{scrguide}{deprecated environment}{% + please replace desctable by desclist}% \onelinecaptionsfalse \start@desctab{#1}% \newcommand{\Endfirsthead}{\toprule\endfirsthead}% @@ -1046,6 +1077,8 @@ % \end{environment} % % \begin{macro}{\start@desctab} +% \changes{v1.7c}{2013/10/13}{\cs{leavevmode}\cs{ignorespaces} added to +% \cs{nentry}} % This is the \emph{worker} macro of \texttt{desctable} and % \texttt{desctabular}. It does the complete calculations and definition of % the entry (something like |\item|) commands. @@ -1058,7 +1091,7 @@ \addtolength{\labelwidth}{-2\tabcolsep}% \newcommand{\nentry}[2]{% \multicolumn{2}{p{\labelwidth}}{\raggedright##1}\tabularnewline*% - \hspace*{#1} & ##2\tabularnewline% + \hspace*{#1} & \leavevmode\ignorespaces ##2\tabularnewline% }% \newcommand{\entry}[2]{\nentry{##1}{##2}[.5\baselineskip]}% \newcommand*{\pentry}[1]{% @@ -1105,8 +1138,11 @@ \setbox\desccaptionb@xfirst\vbox{% \tabular{p{\labelwidth}}% \multicolumn{1}{@{}p{\dimexpr\labelwidth+2\tabcolsep}@{}}{% - \captionaboveof{table}[##1]{##2}% - }\tabularnewline[\dimexpr \abovecaptionskip\abovecaptionskipcorrection\relax] + \captionaboveof{table}[##1]{##2\unskip\strut}% + }\tabularnewline[% + \dimexpr \abovecaptionskip-\normalbaselineskip\relax +% \dimexpr \abovecaptionskip-\abovecaptionskipcorrection\relax + ] \toprule\tabularnewline \endtabular \vskip -\baselineskip @@ -1135,21 +1171,35 @@ \ifx\relax##1\relax\else\vskip##1\relax\fi }% \renewcommand{\nentry}[2]{% + \typeout{TRACE: Generate entry}% \setbox\descentryb@x\vbox{% \ifx\desccaptionb@xnext\desccaptionb@xfirst\copy\desccaptionb@xnext\fi - \tabular{lp{\descwidth}}% + \makebox[\linewidth][l]{\begin{tabular}{lp{\descwidth}}% \multicolumn{2}{p{\labelwidth}}{\raggedright##1}\tabularnewline \hspace*{#1} & ##2\tabularnewline - \endtabular + \end{tabular}}% }% + \typeout{TRACE: entry done}% \begingroup - \dimen@ \ht\descentryb@x \advance \dimen@ \dp\descentryb@x - \advance \dimen@ \ht\descfootb@x \advance \dimen@ \dp\descfootb@x + \dimen@ \ht\descentryb@x + \advance \dimen@ \dp\descentryb@x + \ifdim \ht\descfootb@x>\ht\strutbox + \advance \dimen@ \ht\descfootb@x + \else + \advance \dimen@ \ht\strutbox + \fi + \ifdim \dp\descfootb@x>\dp\strutbox + \advance \dimen@ \dp\descfootb@x + \else + \advance \dimen@ \dp\strutbox + \fi \advance \dimen@ \baselineskip \dimen@ii \pagegoal \advance \dimen@ii -\pagetotal - \typeout{TRACE: \the\dimen@>\the\dimen@ii?}% + \typeout{TRACE: \the\dimen@>\the\dimen@ii\space (footbox + ht=\the\ht\descfootb@x, dp=\the\dp\descfootb@x; strutbox + ht=\the\ht\strutbox, dp=\the\dp\strutbox)?}% \ifdim \dimen@>\dimen@ii - \typeout{TRACE: Break table}% + \typeout{TRACE: Break table \thetable}% \ifx\desccaptionb@xnext\@empty \csname @desclistentryhook\endcsname {\copy\descfootb@x}% @@ -1186,7 +1236,7 @@ }% \csname @desclistentryhook\endcsname {\copy\descfootb@x}% - \par + \par\nobreak \vskip -\baselineskip \vskip \intextsep } % \end{macrocode} @@ -1207,72 +1257,54 @@ columns=fullflexible,keepspaces,% aboveskip=.4\baselineskip,% belowskip=0pt% -} -\lstdefinestyle{code}{% +} \lstdefinestyle{code}{% style=basics,% language=[LaTeX]TeX,% moretexcs={% - @auxout, - @currext, - @empty, - @float, - @ifpackagelater, - @ifundefined, - @rightmark, - @secondoftwo, - @tempswafalse,@tempswatrue, - @undefined, - AtBeginDocument,AtEndDocument, - appendix, - ClassWarningNoLine,CurrentOption, - DeclareOption,DeclareRobustCommand,dimexpr, - end@float, - ExecuteOptions, - if@filesw,if@tempswa,if@twoside, - includegraphics, - MessageBreak, + @auxout, @currext, @empty, @float, @ifpackagelater, @ifundefined, + @rightmark, @secondoftwo, @tempswafalse,@tempswatrue, @undefined, + AtBeginDocument,AtEndDocument, appendix, ClassWarningNoLine,CurrentOption, + DeclareOption,DeclareRobustCommand,dimexpr, end@float, ExecuteOptions, + if@filesw,if@tempswa,if@twoside, includegraphics, MessageBreak, onehalfspacing, PackageError,PackageInfo,PackageWarning,PassOptionsToPackage, ProcessOptions,protected@write,ProvidesFile,ProvidesPackage, - RequirePackage,RequirePackageWithOptions, - setkey,setlength, + RequirePackage,RequirePackageWithOptions,setkey,setlength, + SelectInputMappings, textsuperscript}% -} -\lstdefinestyle{output}{% +} \lstdefinestyle{output}{% style=basics,breaklines,prebreak=\mbox{$\hookleftarrow$}% -} -\lstdefinestyle{KOMA}{% +} \lstdefinestyle{KOMA}{% style=code,% moretexcs={% - @addtoplength,@setplength,@newplength, - activateareas, + @addtoplength,@setplength,@newplength, activateareas, addchap,addrentry,Address,addcontentslinetoeachtocfile,addsec, addtoeachtocfile, addtokomafont,addtolengthplength,addtoreffields,addtotoclist, adrchar,adrentry,AfterBibliographyPreamble,AfterCalculatingTypearea, - AfterFile,AfterPackage,AfterStartingTOC, + AfterFile,AfterPackage,AfterStartingTOC,AfterTOCHead, appendixmore,appendixname,areaset,autodot,automark,AtAddToTocList, AtBeginLetter, BeforeClosingMainAux,BeforePackage,bib@beginhook,bib@endhook, + blinddocument,blindtext,Blinddocument,Blindtext, cc,captionabove,captionaboveof,captionbelow,captionbelowof,captionformat, - captionof,cefoot,cfoot,chapapp, - chapappifchapterprefix, + captionof,cefoot,cfoot,chapapp, chapappifchapterprefix, chapter,chapterformat,chaptermarkformat,chapterpagestyle,chead, cleardoubleevenemptypage,clearscrheadfoot,closing,cofoot,Comment, DeclareNewTOC, dedication,deffootnote,deffootnotemark,DefineFamily,DefineFamilyKey, DefineFamilyMember,defpagestyle,deftripstyle, dictum,dictumauthorformat,dictumrule,dictumwidth,doforeachtocfile, - encl,extratitle, - FamilyBoolKey,FamilyExecuteOptions,FamilyNumericalKey,% + encl,extratitle, FamilyBoolKey,FamilyExecuteOptions,FamilyNumericalKey,% FamilyOption,FamilyOptions,FamilyProcessOptions,FamilySetBool, figureformat,figurename,firstfoot,firsthead,FirstName,footfont,footref, FreeI,FreeII,FreeIII,FreeIV, + GenericMarkFormat, headfont,headmark, ifattoclist,ifoot,ihead,ifkomavarempty,ifstr,ifthispageodd,InputAddressFile, - KOMAoption,KOMAoptions,KOMAScript, - l@addto@macro,LastName,LetterOptionNeedsPapersize,listoffigures, - listoftables,listoftoc,LoadLetterOption,lohead,lowertitleback, + KOMAoption,KOMAoptions,KOMAScript, l@addto@macro, + LastName,lefoot,lehead,LetterOptionNeedsPapersize,lipsum,listoffigures, + listoftables,listoftoc,LoadLetterOption,lofoot,lohead,lowertitleback, MakeMarkcase,maketitle,manualmark,marginline,minisec, multfootsep,multiplefootnoteseparator, Name,nameday,newbibstyle,newcaptionname,newkomavar,nexthead, @@ -1281,11 +1313,11 @@ part,partformat,partname,partpagestyle,pnumfont, PreventPackageFromLoading,publishers,ps, raggedsection,raggedpart,raggedsignature,recalctypearea, - refL,refS,refN,refParagraph,refParagraphN,refPar,refParL,refParS,refParN, - refSentence,refSentenceL,refSentenceS,refSentenceN, - rehead, + refL,refS,refN,refoot, + refParagraph,refParagraphN,refPar,refParL,refParS,refParN, + refSentence,refSentenceL,refSentenceS,refSentenceN,rehead, removereffields,ReplaceInput,ReplacePackage,ResetPreventPackageFromLoading, - sectionmarkformat,Sentence,sentencename,sentenceshortname, + rohead, sectionmarkformat,Sentence,sentencename,sentenceshortname, setbibpreamble,setcapindent,setcapwidth, setchapterpreamble,setfootbotline,setfootsepline,setfootwidth, setheadsepline,setheadtopline,setheadwidth,setindexpreamble,setkomafont, @@ -1296,19 +1328,13 @@ tableformat,tablename,tableofcontents,textsubscript,thechapter,thefigure, thefootnotemark,thepar,thepart,thesection,thesentence,thesubsection, thetable,thistime, - titlehead,tocbasic@extend@babel,TOCclone,todaysname,typearea, - unitfactor, - unsettoc,usekomafont,useplength,usekomavar,uppertitleback - }% -} -\lstset{style=basics} -\lstnewenvironment{lstoutput}[1][]{% + titlehead,tocbasic@extend@babel,TOCclone,todaysname,typearea, unitfactor, + unsettoc,usekomafont,useplength,usekomavar,uppertitleback }% +} \lstset{style=basics} \lstnewenvironment{lstoutput}[1][]{% \lstset{style=output,basicstyle=\ttfamily\small,#1}% -}{} -\lstnewenvironment{lstcode}[1][]{% +}{} \lstnewenvironment{lstcode}[1][]{% \lstset{style=KOMA,basicstyle=\ttfamily\small,#1}% -}{} -\newcommand*{\lstinputcode}[1][]{% +}{} \newcommand*{\lstinputcode}[1][]{% \lstinputlisting[style=KOMA,basicstyle=\ttfamily\small,#1]% } % \end{macrocode} @@ -1332,12 +1358,12 @@ KOMAScript \endcsname % % \begin{macro}{\url@} % Redefine to make \texttt{CTAN://} be an alias for -% \texttt{ftp://|\GuideCTANserver|/tex-archive/}. +% \texttt{http://|\GuideCTANserver|/tex-archive/}. % \begin{macrocode} \def\url@#1{\expandafter\url@@#1\@nil} \def\url@@#1://#2\@nil{% \def\@tempa{#1}\def\@tempb{CTAN}\ifx\@tempa\@tempb - \hyper@linkurl{\Hurl{#1://#2}}{ftp://\GuideCTANserver/tex-archive/#2}% + \hyper@linkurl{\Hurl{#1://#2}}{http://\GuideCTANserver/tex-archive/#2}% \else \hyper@linkurl{\Hurl{#1://#2}}{#1://#2}% \fi diff --git a/Master/texmf-dist/source/latex/koma-script/japanlco.dtx b/Master/texmf-dist/source/latex/koma-script/japanlco.dtx index 98d927764c8..98d89ee3fdb 100644 --- a/Master/texmf-dist/source/latex/koma-script/japanlco.dtx +++ b/Master/texmf-dist/source/latex/koma-script/japanlco.dtx @@ -2,7 +2,7 @@ % \iffalse meta-comment % ====================================================================== % japanlco.dtx -% Copyright (c) Markus Kohm, 2008-2012 +% Copyright (c) Markus Kohm, 2008-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -20,7 +20,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % japanlco.dtx -% Copyright (c) Markus Kohm, 2008-2012 +% Copyright (c) Markus Kohm, 2008-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -55,7 +55,7 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: japanlco.dtx +%%% From File: $Id: japanlco.dtx 1380 2013-10-01 15:31:55Z mjk $ %<*driver> % \fi \ProvidesFile{japanlco.dtx}[2009/03/04 v3.03 KOMA-Script (letter class options)] diff --git a/Master/texmf-dist/source/latex/koma-script/scraddr.dtx b/Master/texmf-dist/source/latex/koma-script/scraddr.dtx index aacad73f72a..b1deb16d478 100644 --- a/Master/texmf-dist/source/latex/koma-script/scraddr.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scraddr.dtx @@ -2,7 +2,7 @@ % \iffalse meta-comment % ====================================================================== % scraddr.dtx -% Copyright (c) Markus Kohm, 2006-2012 +% Copyright (c) Markus Kohm, 2006-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -20,7 +20,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scraddr.dtx -% Copyright (c) Markus Kohm, 2006-2012 +% Copyright (c) Markus Kohm, 2006-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -55,20 +55,39 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scraddr.dtx +%%% From File: $Id: scraddr.dtx 1380 2013-10-01 15:31:55Z mjk $ %<*dtx> +\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{scraddr.dtx} -%</dtx> +%</dtx>> %<scraddr>\NeedsTeXFormat{LaTeX2e}[1995/12/01] %<driver>\ProvidesFile{scraddr.drv} %<scraddr>\ProvidesPackage{scraddr} %<*dtx|scraddr|driver> - [2006/03/28 v1.1c KOMA-Script + [2013/09/30 v1.1c KOMA-Script %</dtx|scraddr|driver> %<scraddr> package] %<*dtx|driver> Script bundle] %</dtx|driver> +%<*dtx> +\ifx\documentclass\undefined + \input docstrip.tex + \@@input scrdocstrip.tex + \@@input scrstrip.inc + \KOMAdefVariable{COPYRIGHTFROM}{2006} + \generate{\usepreamble\defaultpreamble + \file{scraddr.sty}{% + \from{scraddr.dtx}{scraddr}% + \from{scrlogo.dtx}{logo}% + }% + } + \@@input scrstrop.inc +\else + \let\endbatchfile\relax +\fi +\endbatchfile +%</dtx> %<*driver> \documentclass{scrdoc} \usepackage[english,ngerman]{babel} diff --git a/Master/texmf-dist/source/latex/koma-script/scraddr.ins b/Master/texmf-dist/source/latex/koma-script/scraddr.ins deleted file mode 100644 index 9269288205a..00000000000 --- a/Master/texmf-dist/source/latex/koma-script/scraddr.ins +++ /dev/null @@ -1,70 +0,0 @@ -% ====================================================================== -% scraddr.ins -% 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. -% ---------------------------------------------------------------------- -% scraddr.ins -% 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. -% ====================================================================== - -% ---------- start of docstrip process --------------------------------- -\def\batchfile{scraddr.ins} - -% ---------- KOMA-Script default docstrip declarations ----------------- - -\input docstrip.tex -\@@input scrstrip.inc - -% ---------- File generation ------------------------------------------- - -\generate{\usepreamble\defaultpreamble - \file{scraddr.sty}{% - \ifbeta\from{scrbeta.dtx}{package,scraddr}\fi - \from{scraddr.dtx}{scraddr}% - \from{scrlogo.dtx}{logo}% - }% -} - -% ---------- end of docstrip process ----------------------------------- - -\ifToplevel{% - \def\idocfiles{`scraddr.dtx'}% -} - -\@@input scrstrop.inc - -\endinput -% -% end of file `scraddr.ins' -%%% Local Variables: -%%% mode: TeX -%%% TeX-master: "scrmain.ins" -%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/scrbeta.dtx b/Master/texmf-dist/source/latex/koma-script/scrbeta.dtx index e8984037ef4..a79872429fc 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrbeta.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrbeta.dtx @@ -55,7 +55,7 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scrbeta.dtx +%%% From File: $Id: scrbeta.dtx 1380 2013-10-01 15:31:55Z mjk $ %<*driver> % \fi \ProvidesFile{scrbeta.dtx}[2011/02/23 v3.09 KOMA-Script (beta warning)] diff --git a/Master/texmf-dist/source/latex/koma-script/scrdocstrip.tex b/Master/texmf-dist/source/latex/koma-script/scrdocstrip.tex new file mode 100644 index 00000000000..ca7ec757fd8 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/scrdocstrip.tex @@ -0,0 +1,311 @@ +% ====================================================================== +% scrdocstrip.tex +% Copyright (c) Markus Kohm, 2013 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ---------------------------------------------------------------------- +% scrdocstrip.tex +% Copyright (c) Markus Kohm, 2013 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== + +\expandafter\ifx\csname scrdocstripversion\endcsname\relax + \let\KOMAbatchfile\batchfile + \let\batchfile\undefined +\fi + +\expandafter\ifx\csname ifbeta\endcsname\undefined + \expandafterlet\csname ifbeta\expandafter\csname iftrue\endcsname +\fi + +\input docstrip.tex + +\ifx\generate\undefined + \errhelp{| This installation requires docstrip version 2.3c or * later,^^J% + | but an old version of docstrip has been input.^^J% + | This error is fatal, because You have to update docstrip and maybe LaTeX + fist!} + \errmessage{| Fatal error: Old docstrip in input path} + \batchmode + \csname @@end\endcsname +\fi + +\expandafter\ifx\csname scrdocstripversion\endcsname\relax +\else \expandafter\endinput +\fi +\Msg{| Using KOMA-Script's docstrip extensions.} +% Support for variables: +\def\KOMAdefVariable#1#2{% + \expandafter\def\csname KOMAvar@#1\endcsname{#2}% +} +\def\KOMAifVariable#1{% + \expandafter\ifx\csname KOMAvar@#1\endcsname\relax + \expandafter\@secondoftwo + \else + \expandafter\@firstoftwo + \fi +} +\def\KOMAuseVariable#1{% + \KOMAifVariable{#1}{% + \csname KOMAvar@#1\endcsname + }{% + variable #1\undefined + }% +} +\KOMAdefVariable{AUTHOR}{Markus Kohm} +\KOMAdefVariable{COPYRIGHT}{% + Copyright (c) + \KOMAifVariable{COPYRIGHTFROM}{\KOMAuseVariable{COPYRIGHTFROM}-}{}% + \KOMAifVariable{COPYRIGHTTILL}{\KOMAuseVariable{COPYRIGHTTILL}}{} + \KOMAuseVariable{AUTHOR}% + \KOMAifVariable{EMAIL}{ \KOMAuseVariable{EMAIL}}{}% +} +\KOMAdefVariable{COPYRIGHTCOMMENT}{% + \MetaPrefix\space\KOMAuseVariable{COPYRIGHT}% +} +% Provide validity test: All files listed in a file must exists. +% You should note, that some TeX distributions cannot find files without +% extension! +\def\defuppercase#1#2{% + \edef\reserved@a{\noexpand\def\noexpand#1{#2}}% + \expandafter\uppercase\expandafter{\reserved@a}% +} +\def\KOMAdocExtensions{HTML,PDF,TXT} +\let\KOMAdocFilesMissing\empty +\let\KOMAnoFilesMissing\empty +\let\KOMAFilesMissing\empty +\def\getlastextension#1.#2.#3\@nil{% + \ifx\relax#2\relax + \ifx\relax#3\relax + \else + #1% + \fi + \else + \getlastextension#2.#3..\@nil + \fi +} +\def\KOMAvalidityTest#1{% + \maybeMsg{^^J| Testing validity of distribution: }% + \begingroup + \def\readloop{% + \ifeof\inFile\else + \read\inFile to \input@testfile\relax + \ifx\input@testfile\empty + \maybeMsg{\space}% + \else + \openin\inputcheck \input@testfile\relax + \ifeof\inputcheck + \maybeMsg{-}% + \defuppercase\reserved@a{% + \expandafter\getlastextension\input@testfile..\@nil + }% + \ifx\reserved@a\empty + \@addto\KOMAnoFilesMissing{\noexpand\do{\input@testfile}}% + \let\reserved@a\empty + \else + \forlist\reserved@b:=\KOMAdocExtensions\do + \ifx\reserved@a\reserved@b + \@addto\KOMAdocFilesMissing{\noexpand\do{\input@testfile}}% + \let\reserved@a\empty + \Forlistfalse + \fi + \od + \fi + \ifx\reserved@a\empty\else + \@addto\KOMAFilesMissing{\noexpand\do{\input@testfile}}% + \fi + \else + \maybeMsg{+}% + \fi + \closein\inputcheck + \fi + \expandafter\readloop + \fi + }% + \endlinechar=256 + \openin\inFile #1\relax + \ifeof\inFile + \global\@addto\KOMAFilesMissing{\noexpand\do{#1}}% + \else + \readloop + \closein\inFile + \fi + \ifx\KOMAFilesMissing\empty + \ifx\KOMAdocFilesMissing\empty + \ifx\KOMAnoFilesMissing\empty + \maybeMsg{\space OK.^^J}% + \fi + \fi + \else + \def\do##1{,^^J| \@spaces\@spaces\@spaces##1}% + \errhelp{| You should ask your distributor for a valid and legal + distribution.}% + \errmessage{^^J% + | Missing files: \expandafter\expandafter\expandafter\@gobble + \KOMAFilesMissing\KOMAdocFilesMissing\KOMAnoFilesMissing^^J% + | Distribution seems to be invalid.^^J% + | This error is fatal}% + \batchmode + \csname @@end\endcsname + \fi + \global\let\KOMAnoFilesMissing\KOMAnoFilesMissing + \global\let\KOMAdocFilesMissing\KOMAdocFilesMissing + \endgroup +} +\def\@gobbletwo#1#2{} +\expandafter\def\expandafter\ReportTotals\expandafter{\ReportTotals + \ifx\KOMAnoFilesMissing\empty\else + \Msg{% + +----------------------------------------------------------------------% + ^^J% + | Following files without extension seem to be missing:} + \begingroup + \def\do##1{,^^J| \space\space##1}% + \Msg{\expandafter\expandafter\expandafter\@gobbletwo\KOMAnoFilesMissing} + \endgroup + \Msg{% + | PLEASE NOTE, THAT DISTRIBUTIONS WITHOUT THOSE FILES ARE NOT ALLOWED!^^J% + | But maybe those files are there and you're TeX distribution simply^^J% + | cannot open files without extension.^^J% + +----------------------------------------------------------------------} + \fi + \ifx\KOMAdocFilesMissing\empty\else + \Msg{% + +----------------------------------------------------------------------% + ^^J% + | Following documentations files are missing:} + \begingroup + \def\do##1{,^^J| \space\space##1}% + \Msg{\expandafter\expandafter\expandafter\@gobbletwo\KOMAdocFilesMissing} + \endgroup + \Msg{% + | PLEASE NOTE, THAT DISTRIBUTIONS WITHOUT THOSE FILES ARE NOT ALLOWED!^^J% + | MAYBE YOU CAN GENERATE THOSE FILES FROM OTHER PARTS OF THE SOURCES.^^J% + +----------------------------------------------------------------------} + \fi +} +% Extend line scanner by: +% - %!VARIABLE : to write variable into files +% - %?VARIABLE=VALUE : to setup a new variable +\begingroup +\catcode`\%=12 \catcode`\*=14 +\gdef\processLineX%#1{* + \ifcase\ifx%#10\else + \ifx<#11\else + \ifx!#12\else 3\fi\fi\fi\relax + \expandafter\putMetaComment\or + \expandafter\checkOption\or + \expandafter\KOMAexpandVariable\or + \expandafter\removeComment\fi + #1} +\gdef\KprocessLineX%#1{* + \ifcase\ifx%#10\else + \ifx<#11\else + \ifx!#12\else + \ifx?#13\else 4\fi\fi\fi\fi\relax + \expandafter\putMetaComment\or + \expandafter\checkOption\or + \expandafter\KOMAexpandVariable\or + \expandafter\KOMAsetVariable\or + \expandafter\removeComment\fi + #1} +\endgroup +\def\KOMAexpandVariable!#1\endLine{% + \advance\codeLinesPassed\@ne + \maybeMsg{x}% + \edef\inLine{\KOMAuseVariable{#1}}% + \let\do\putline@do + \activefiles +} +\def\KOMAsetVariable?#1=#2\endLine{% + \expandafter\gdef\csname KOMAvar@#1\endcsname{#2}% +} +% Extend heading +\def\ds@heading{% + \expandafter\ifx\csname ifbeta\expandafter\endcsname + \csname iftrue\endcsname + \use@Warning{\outFileName}{% + YOU SHOULD NOTE, THAT THIS IS NOT AN OFFICIAL RELEASE!^^J% + THIS VERSION IS INTENDED TO BE USED FOR TESTING ONLY!^^J% + USAGE FOR PURPOSES OTHER THAN INTENDED IS DANGEROUS!^^J% + DON'T EXPECT ANY SUPPORT FOR THIS VERSION!% + }% + \fi + \MetaPrefix ^^J% + \MetaPrefix\space This is file `\outFileName',^^J% + \MetaPrefix\space generated with the docstrip utility, extended by + scrdocstrip.^^J% +} +\def\commentWarning#1#2{% + \MetaPrefix\space + -------------------------------------------------------------------------^^J% + \@commentWarning#2^^J\@nil + \MetaPrefix\space + -------------------------------------------------------------------------^^J% +} +\def\@commentWarning#1^^J#2\@nil{% + \MetaPrefix\space #1^^J% + \ifx\relax#2\relax\else\@commentWarning#2\@nil\fi +} +\def\KNL{^\empty^J\perCent^^J} +\def\genericWarning#1#2{% + \string\immediate\string\write17{\KNL + +----------------------------------------------------------------------\KNL + | WARNING (`#1'):\KNL + +----------------------------------------------------------------------\KNL + \@genericWarning#2^^J\@nil + +----------------------------------------------------------------------\KNL + }^^J% +} +\def\@genericWarning#1^^J#2\@nil{% + | #1\KNL + \ifx\relax#2\relax\else\@genericWarning#2\@nil\fi +} +\def\useWarning#1{\let\use@Warning#1} +\useWarning\genericWarning + +% Now, we need some code from docstrip to start old docstrip-processing +\ifx\undefined\KOMAbatchfile\else + \Defaultfalse + \let\batchfile\KOMAbatchfile + \def\process@first@batchfile{% + \processbatchFile + \ifnum\NumberOfFiles=\z@ + \interactive + \fi + \endbatchfile + } +\fi + +\chardef\scrdocstripversion 1\relax + +\process@first@batchfile +\endinput +% +% end of file `scrdocstrip.tex' diff --git a/Master/texmf-dist/source/latex/koma-script/scrextend.dtx b/Master/texmf-dist/source/latex/koma-script/scrextend.dtx index a2bf2eb5b8b..f90c757f820 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrextend.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrextend.dtx @@ -2,7 +2,7 @@ % \iffalse meta-comment % ====================================================================== % scrextend.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -20,7 +20,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrextend.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -55,11 +55,11 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scrextend.dtx +%%% From File: $Id: scrextend.dtx 1380 2013-10-01 15:31:55Z mjk $ %<*driver> % \fi -\ProvidesFile{scrextend.dtx}[2010/09/02 v3.06a KOMA-Script - (extend other classes)] +\ProvidesFile{scrextend.dtx}[2013/03/05 v3.12 KOMA-Script + (extend other classes)] % \iffalse \documentclass[halfparskip-]{scrdoc} \usepackage[english,ngerman]{babel} @@ -189,6 +189,8 @@ % Verfügung! % % \begin{option}{extendedfeature} +% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit +% \cs{FamilyKeyState}} % \begin{macrocode} \KOMA@key{extendedfeature}{% \scr@ext@activate{#1}% @@ -207,13 +209,7 @@ } \AtEndOfPackage{% \KOMA@key{extendedfeature}{% - \PackageError{scrextend}{% - Option `extendedfeature' too late% - }{% - Option `extendedfeature' my be used only while loading the - package.\MessageBreak - But you've tried to set it up later% - }% + \def\FamilyKeyState{Option `extendedfeature' too late}% }% } % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/koma-script/scrhack.dtx b/Master/texmf-dist/source/latex/koma-script/scrhack.dtx index 2d3df325044..81184c0ed01 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrhack.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrhack.dtx @@ -1,8 +1,8 @@ -% \CheckSum{675} +% \CheckSum{679} % \iffalse meta-comment % ====================================================================== % scrhack.dtx -% Copyright (c) Markus Kohm, 2008-2012 +% Copyright (c) Markus Kohm, 2008-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -23,7 +23,7 @@ % of TeX would generate the implementation documentation. % ---------------------------------------------------------------------- % scrhack.dtx -% Copyright (c) Markus Kohm, 2008-2012 +% Copyright (c) Markus Kohm, 2008-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -62,31 +62,79 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scrhack.dtx +%%% From File: $Id: scrhack.dtx 1383 2013-10-01 15:44:28Z mjk $ %<package&identify>%%% using: package,identify %<package&option>%%% using: package,option %<package&body>%%% using: package,body %<package&identity>\NeedsTeXFormat{LaTeX2e}[1995/06/01] -%<manual>\ProvidesFile{scrhack.tex} +%<*driver> +\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ProvidesFile{scrhack.dtx}[% +%</driver> +%<manual>\ProvidesFile{scrhack.tex}[% +%<package&identify>\ProvidesPackage{scrhack}[% +%<hyperref&identify>\ProvidesFile{hyperref.hak}[% +%<float&identify>\ProvidesFile{float.hak}[% +%<floatrow&identify>\ProvidesFile{floatrow.hak}[% +%<listings&identify>\ProvidesFile{listings.hak}[% +%<*driver|manual|identify> +%!KOMAScriptVersion + package +%<*!identify> + (hacking other packages)% +%</!identify> +%</driver|manual|identify> +%<hack&identify> (hacking package +%<hyperref&identify> hyperref)% +%<float&identify> float)% +%<floatrow&identify> floatrow)% +%<listings&identify> listings)% +%<*driver|manual|identify> +] +%</driver|manual|identify> %<*dtx> -\ProvidesFile{scrhack.dtx} +\ifx\documentclass\undefined + \input scrdocstrip.tex + \@@input scrkernel-version.dtx + \@@input scrstrip.inc + \KOMAdefVariable{COPYRIGHTFROM}{2008} + \generate{\usepreamble\defaultpreamble + \file{scrhack.sty}{% + \from{scrkernel-version.dtx}{package,scrhack}% + \from{scrhack.dtx}{package,identify}% + \from{scrkernel-basics.dtx}{load}% + \from{scrhack.dtx}{package,option}% + \from{scrhack.dtx}{package,body}% + \from{scrlogo.dtx}{logo}% + }% + \file{hyperref.hak}{% + \from{scrkernel-version.dtx}{file,hyperref.hak}% + \from{scrhack.dtx}{hack,hyperref,identify}% + \from{scrhack.dtx}{hack,hyperref,body}% + }% + \file{float.hak}{% + \from{scrkernel-version.dtx}{file,float.hak}% + \from{scrhack.dtx}{hack,float,identify}% + \from{scrhack.dtx}{hack,float,body}% + }% + \file{floatrow.hak}{% + \from{scrkernel-version.dtx}{file,floatrow.hak}% + \from{scrhack.dtx}{hack,floatrow,identify}% + \from{scrhack.dtx}{hack,floatrow,body}% + }% + \file{listings.hak}{% + \from{scrkernel-version.dtx}{file,listings.hak}% + \from{scrhack.dtx}{hack,listings,identify}% + \from{scrhack.dtx}{hack,listings,body}% + }% + } + \@@input scrstrop.inc +\else + \let\endbatchfile\relax +\fi +\endbatchfile %</dtx> -%<*dtx|manual> - [2011/09/28 v3.10 KOMA-Script (hacking other packages)] -%</dtx|manual> -%<package&identify>\ProvidesPackage{scrhack} -%<hyperref&identify>\ProvidesFile{hyperref.hak} -%<float&identify>\ProvidesFile{float.hak} -%<floatrow&identify>\ProvidesFile{floatrow.hak} -%<listings&identify>\ProvidesFile{listings.hak} -%<identify> [\KOMAScriptVersion\space -%<package&identify> package (hacking other packages)] -%<hack&identify> hacking package -%<hyperref&identify> hyperref] -%<float&identify> float] -%<floatrow&identify> floatrow] -%<listings&identify> listings] -%<*dtx> +%<*driver> \documentclass[halfparskip-]{scrdoc} \usepackage[latin1]{inputenc} \usepackage[english,ngerman]{babel} @@ -98,7 +146,7 @@ \GetFileInfo{scrhack.dtx} \DocInput{scrhack.dtx} \end{document} -%</dtx> +%</driver> % \fi % % @@ -381,6 +429,7 @@ loading package \Package{scrhack}, but before loading package % einheitlich vor die Überschrift. % % \begin{option}{hyperref} +% \changes{v3.12}{2013/03/05}{Signalisierung mit \cs{FamilyKeyStateProcessed}} % \begin{macrocode} %<*package&option> \KOMA@ifkey{hyperref}{@scrhack@hyperref}% @@ -408,6 +457,7 @@ loading package \Package{scrhack}, but before loading package \AtEndOfPackage{% \KOMA@key[.scrhack.sty]{hyperref}{% \PackageWarning{scrhack}{option `hyperref=#1' ignored}% + \FamilyKeyStateProcessed }% \if@scrhack@hyperref\scr@hack@load\@pkgextension{hyperref}\fi }% @@ -552,6 +602,7 @@ loading package \Package{scrhack}, but before loading package % nach. % % \begin{option}{float} +% \changes{v3.12}{2013/03/05}{Signalisierung mit \cs{FamilyKeyStateProcessed}} % \begin{macrocode} %<*package&option> \KOMA@ifkey{float}{@scrhack@float}% @@ -561,6 +612,7 @@ loading package \Package{scrhack}, but before loading package \AfterPackage*{float}{% \KOMA@key[.scrhack.sty]{float}{% \PackageWarning{scrhack}{option `float' ignored}% + \FamilyKeyStateProcessed }% \if@scrhack@float\scr@hack@load\@pkgextension{float}\fi } @@ -688,6 +740,7 @@ loading package \Package{scrhack}, but before loading package % nach. % % \begin{option}{floatrow} +% \changes{v3.12}{2013/03/05}{Signalisierung mit \cs{FamilyKeyStateProcessed}} % \begin{macrocode} %<*package&option> \KOMA@ifkey{floatrow}{@scrhack@floatrow}% @@ -697,6 +750,7 @@ loading package \Package{scrhack}, but before loading package \AfterPackage*{floatrow}{% \KOMA@key[.scrhack.sty]{floatrow}{% \PackageWarning{scrhack}{option `floatrow' ignored}% + \FamilyKeyStateProcessed }% \if@scrhack@floatrow\scr@hack@load\@pkgextension{floatrow}\fi } @@ -821,6 +875,7 @@ loading package \Package{scrhack}, but before loading package % nach. % % \begin{option}{listings} +% \changes{v3.12}{2013/03/05}{Signalisierung mit \cs{FamilyKeyStateProcessed}} % \begin{macrocode} %<*package&option> \KOMA@ifkey{listings}{@scrhack@listings}% @@ -830,6 +885,7 @@ loading package \Package{scrhack}, but before loading package \AfterPackage*{listings}{% \KOMA@key[.scrhack.sty]{listings}{% \PackageWarning{scrhack}{option `listings' ignored}% + \FamilyKeyStateProcessed }% \if@scrhack@listings\scr@hack@load\@pkgextension{listings}\fi } diff --git a/Master/texmf-dist/source/latex/koma-script/scrjura.dtx b/Master/texmf-dist/source/latex/koma-script/scrjura.dtx index c38fe2c1209..7661daa108c 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrjura.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrjura.dtx @@ -1,8 +1,8 @@ -% \CheckSum{1397} +% \CheckSum{1494} % \iffalse meta-comment % ====================================================================== % scrjura.dtx -% Copyright (c) Markus Kohm, 2007-2012 +% Copyright (c) Markus Kohm, 2007-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -22,7 +22,7 @@ % `scrlogo.dtx'. % ---------------------------------------------------------------------- % scrjura.dtx -% Copyright (c) Markus Kohm, 2007-2012 +% Copyright (c) Markus Kohm, 2007-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -60,7 +60,7 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scrjura.dtx +%%% From File: $Id: scrjura.dtx 1562 2013-12-19 07:51:16Z mjk $ %<*dtx> \def\LaTeXformat{LaTeX2e} \ifx\fmtname\LaTeXformat\def\MainBodyWork{% @@ -70,7 +70,7 @@ %<driver>\ProvidesFile{scrjura.drv} %<package>\ProvidesPackage{scrjura} %<*dtx|package|driver> - [2011/09/30 v0.6 KOMA-Script for jurists + [2013/11/04 v0.7 KOMA-Script for jurists %</dtx|package|driver> %<driver> (driver)% %<package> (package)% @@ -112,7 +112,7 @@ %<*dtx|ins> \input docstrip.tex -\let\ifbeta=\iffalse +\let\ifbeta=\iffalse % with = will be replaced by release process \ifToplevel{\ifx\generate\undefined \errhelp{Install a new version of docstrip.} @@ -150,7 +150,7 @@ \preamble -Copyright (c) 2007-2012 +Copyright (c) 2007-2013 Markus Kohm and any individual authors listed elsewhere in this file. This file was generated from file(s) of the KOMA-Script bundle. @@ -484,6 +484,18 @@ standard classes created by The LaTeX3 Project 1994-1996. % ein |\parnumberfalse| und danach ein |\parnumbertrue|. Vergisst man dies, % wird der Abschnitt zum ersten als Paragraphenabsatz und dann als Abschnitt % nummeriert. +% +% \DescribeMacro{\ellipsispar} +% \DescribeMacro{\parellipsis} +% Manchmal wird insbesondere für Kommentare gewünscht, dass man Absätze in +% Paragraphen auch auslassen kann, diese Absätze aber dennoch mitgezählt und +% auch bei der automatischen Absatznummerierung mitberücksichtigt werden. Die +% ausgelassenen Absätze sollen dabei in der Regel durch Pünktchen markiert +% werden. Genau dies erledigt |\ellisispar|. Als optionales Argument kann +% dabei die Anzahl der Absätze angegeben werden, die ausgelassen +% wurde. Voreingestellt ist ein Absatz. Für das Auslassungszeichen wird +% |\parellipsis| verwendet. Dies ist mit |\textellipsis| vordefiniert, falls +% eine solche Anweisung existiert. Anderenfalls wird |\dots| verwendet. % % % \subsection{Verweise} @@ -629,7 +641,8 @@ standard classes created by The LaTeX3 Project 1994-1996. % Paragraphentitel auf dem Bildschirm einblenden zu können. Wer kile als % Editor verwendet, der kann sich -- Open Source sei Dank! -- selbst % helfen. Bei Version 2.0.0 von kile genügt es, in der Datei -% |kiledocumentinfo.cpp| an geeigneter Stelle zwei Zeilen (jeweils ohne Zeilenumbruch) einzufügen: +% |kiledocumentinfo.cpp| an geeigneter Stelle zwei Zeilen (jeweils ohne +% Zeilenumbruch) einzufügen: % \begin{verbatim} % m_dictStructLevel["\\Paragraph"]= % KileStructData(5, KileStruct::Sect, "Paragraph"); @@ -646,9 +659,10 @@ standard classes created by The LaTeX3 Project 1994-1996. % Dokumentenstruktur an. Vielleicht findet ein Anwender ja heraus, wie dies % mit \TeX nicCenter zu bewerkstelligen ist. % -% Bis jemand für die Verwendung von \textsf{scrjura} eine lyx-Klasse schreibt, wozu wir ausdrücklich ermutigen wollen, -% kann man sich bei der Nutzung von lyx damit behelfen, im sog. »\LaTeX"=Vorspann« -% beispielsweise die Definition des Unterunterabschnitts anzupassen: +% Bis jemand für die Verwendung von \textsf{scrjura} eine lyx-Klasse schreibt, +% wozu wir ausdrücklich ermutigen wollen, kann man sich bei der Nutzung von +% lyx damit behelfen, im sog. »\LaTeX"=Vorspann« beispielsweise die Definition +% des Unterunterabschnitts anzupassen: % % |\renewcommand{\subsubsection}[1]{\Paragraph{title= #1}}| % @@ -688,8 +702,9 @@ standard classes created by The LaTeX3 Project 1994-1996. % \DescribeMacro{\parformat}% % \DescribeMacro{\parciteformat}% % Zähler für die Absatznummern und dessen Ausgabe und Formatierung und -% Formatierung der Referenz. ACHTUNG: |\thepar| muss bei unverändertem -% |\parciteformat| eine arabische Zahl sein! +% Formatierung der Referenz. ACHTUNG: Wenn |\thepar| nicht nur eine arabische +% Zahl ist, werden Absätze bei automatischer Nummerierung unabhängig davon +% nummeriert, ob es mehr als einen Absatz im Paragraphen gibt. % % \DescribeMacro{\refParagraph}% % So etwas wie |\ref| nur für den Paragraphen. @@ -741,7 +756,13 @@ standard classes created by The LaTeX3 Project 1994-1996. % Es wird das Paket \textsf{scrkbase} benötigt, weil alles weitere darauf % aufbaut. % \begin{macrocode} -\RequirePackage{scrkbase} +\RequirePackage{scrkbase}[2013/03/26] +% \end{macrocode} +% +% Außerdem wird \textsf{tocbasic} benötigt, weil einige wenige Befehle davon +% verwendet werden. +% \begin{macrocode} +\RequirePackage{tocbasic} % \end{macrocode} % % \begin{option}{contract} @@ -757,42 +778,50 @@ standard classes created by The LaTeX3 Project 1994-1996. % \end{option} % % \begin{option}{juratotoc} -% Mit dieser Option wird der Schalter |\if@juratotoc| auf |\iftrue| gesetzt. +% Mit dieser Option wird der Zähler \Counter{juratoclevel} auf einen +% gewünschten Wert oder 2 oder 10000 gesetzt. +% \changes{v0.7}{2013/11/04}{Verwendung der renovierten Schnittstelle mit +% \cs{FamilyKeyState}} % \begin{macro}{\if@juratotoc} % \changes{v0.6}{2011/09/29}{Schalter durch Zähler überflüssig} % \begin{Counter}{juratoclevel} % \changes{v0.6}{2011/09/29}{Zählerdefinition verschoben} % Mit dem Zähler wiederum wird erreicht, dass Paragraphen in das % Inhaltsverzeichnis aufgenommen werden. +% \begin{macro}{\toclevel@cpar} +% \changes{v0.7}{2013/06/09}{neue für \textsf{hyperref}} % \begin{macrocode} \newcounter{juratoclevel}\setcounter{juratoclevel}{\@M} \KOMA@key{juratotoc}[true]{% \begingroup - \newif\if@setjuratoclevel\@setjuratocleveltrue - \let\juratoclevel@@FamilyUnknownKeyValue\FamilyUnknownKeyValue - \renewcommand*{\FamilyUnknownKeyValue}[4]{% - \setcounter{juratoclevel}{#1}% - \@setjuratoclevelfalse - }% \KOMA@set@ifkey{juratoclevel}{@tempswa}{#1}% - \if@setjuratoclevel + \ifx\FamilyKeyState\FamilyKeyStateProcessed \if@tempswa \setcounter{juratoclevel}{2}% \else \setcounter{juratoclevel}{\@M}% \fi + \else + \setcounter{juratoclevel}{#1}% + \FamilyKeyStateProcessed \fi \endgroup } +\providecommand*{\toclevel@cpar}{\arabic{juratoclevel}} % \end{macrocode} +% \end{macro} % \end{Counter} % \end{macro} % \end{option} % % \begin{option}{juratocnumberwidth} -% \changes{v0.6}{2011/09/29}{neu} +% \changes{v0.6}{2011/09/29}{neu}%^^A +% \changes{v0.7}{2013/11/04}{Verwendung der renovierten Schnittstelle mit +% \cs{FamilyKeyStateProcessed}}%^^A % \begin{option}{juratocindent} -% \changes{v0.6}{2011/09/29}{neu} +% \changes{v0.6}{2011/09/29}{neu}%^^A +% \changes{v0.7}{2013/11/04}{Verwendung der renovierten Schnittstelle mit +% \cs{FamilyKeyStateProcessed}}%^^A % \begin{macro}{\cpar@numberwidth} % \changes{v0.6}{2011/09/29}{neu (intern)} % \begin{macro}{\cpar@indent} @@ -805,10 +834,12 @@ standard classes created by The LaTeX3 Project 1994-1996. \KOMA@key{juratocnumberwidth}{% \begingroup\setlength{\@tempdima}{#1}\endgroup \renewcommand*{\cpar@numberwidth}{#1}% + \FamilyKeyStateProcessed } \KOMA@key{juratocindent}{% \begingroup\setlength{\@tempdima}{#1}\endgroup \renewcommand*{\cpar@indent}{#1}% + \FamilyKeyStateProcessed } % \end{macrocode} % \end{macro} @@ -830,15 +861,17 @@ standard classes created by The LaTeX3 Project 1994-1996. % \end{option} % % \begin{option}{parnumber} -% \changes{v0.6}{2011/09/29}{neue Option} +% \changes{v0.6}{2011/09/29}{neue Option}%^^A +% \changes{v0.6a}{2012/10/15}{Meldung bei falschen Werten korrigiert}%^^A +% \changes{v0.7}{2013/11/04}{Verwendung der renovierten Schnittstelle mit +% \cs{FamilyKeyStateProcessed}}%^^A % Die (automatische) Absatznummerierung lässt sich nun auch per Option ein- % und ausschalten. % \begin{macrocode} \newif\ifparnumber \KOMA@key{parnumber}[true]{% - \ifstr{#1}{auto}{\AutoPar}{% - \ifstr{#1}{manual}{\ManualPar}{% - \def\FamilyElseValue{, `auto', `semi'}% + \ifstr{#1}{auto}{\AutoPar\FamilyKeyStateProcessed}{% + \ifstr{#1}{manual}{\ManualPar\FamilyKeyStateProcessed}{% \KOMA@set@ifkey{parnumber}{parnumber}{#1}% }% }% @@ -847,6 +880,8 @@ standard classes created by The LaTeX3 Project 1994-1996. % \end{option} % % \begin{option}{paragraphmark} +% \changes{v0.7}{2013/11/04}{Verwendung der renovierten Schnittstelle mit +% \cs{FamilyKeyStateProcessed}}%^^A % \begin{option}{markright} % \begin{option}{markboth} % \begin{macro}{\Paragraphmark} @@ -866,31 +901,35 @@ standard classes created by The LaTeX3 Project 1994-1996. {right}{3},% {both}{4}% }{#1}% - \ifcase\number\@tempa - \endgroup - \let\Paragraphmark\@gobble - \or - \endgroup - \renewcommand*{\Paragraphmark}[1]{% - \markright{\csname MakeMarkcase\endcsname{##1}}}% - \or - \endgroup - \renewcommand*{\Paragraphmark}[1]{% - \markboth{\csname MakeMarkcase\endcsname{##1}}% - {\csname MakeMarkcase\endcsname{##1}}}% - \or - \endgroup - \renewcommand*{\Paragraphmark}[1]{% - \ifx - \@mkboth\@gobbletwo - \else - \markright{\csname MakeMarkcase\endcsname{##1}}% - \fi}% - \or - \endgroup - \renewcommand*{\Paragraphmark}[1]{% - \@mkboth{\csname MakeMarkcase\endcsname{##1}}% - {\csname MakeMarkcase\endcsname{##1}}}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase\number\@tempa + \endgroup + \let\Paragraphmark\@gobble + \or + \endgroup + \renewcommand*{\Paragraphmark}[1]{% + \markright{\csname MakeMarkcase\endcsname{##1}}}% + \or + \endgroup + \renewcommand*{\Paragraphmark}[1]{% + \markboth{\csname MakeMarkcase\endcsname{##1}}% + {\csname MakeMarkcase\endcsname{##1}}}% + \or + \endgroup + \renewcommand*{\Paragraphmark}[1]{% + \ifx + \@mkboth\@gobbletwo + \else + \markright{\csname MakeMarkcase\endcsname{##1}}% + \fi}% + \or + \endgroup + \renewcommand*{\Paragraphmark}[1]{% + \@mkboth{\csname MakeMarkcase\endcsname{##1}}% + {\csname MakeMarkcase\endcsname{##1}}}% + \else + \endgroup + \fi \else \endgroup \fi @@ -905,7 +944,9 @@ standard classes created by The LaTeX3 Project 1994-1996. % % \begin{option}{ref} % \changes{v0.5d}{2010/06/07}{neue Einstellungen \texttt{nopar}, -% \texttt{nosentence}, \texttt{OnlyParagraph}} +% \texttt{nosentence}, \texttt{OnlyParagraph}}%^^A +% \changes{v0.7}{2013/11/04}{Verwendung der renovierten Schnittstelle mit +% \cs{FamilyKeyStateProcessed}}%^^A % \begin{option}{parcitename} % \begin{option}{sentencecitename} % Die Form, in der Absätze und Sätze referenziert werden. Es gibt eine lange, @@ -941,39 +982,41 @@ standard classes created by The LaTeX3 Project 1994-1996. {paragraphonly}{44},{onlyparagraph}{44},% {ParagraphOnly}{44},{OnlyParagraph}{44}% }{#1}% - \@tempcnta=\@tempa\relax - \@tempcntb=\z@ - \@whilenum \@tempcnta>9 \do{% - \advance\@tempcnta -10\relax - \advance\@tempcntb \@ne\relax - }% - \ifcase \@tempcnta - \or - \aftergroup\def\aftergroup\parcite@format - \aftergroup{\aftergroup0\aftergroup}% - \or - \aftergroup\def\aftergroup\parcite@format - \aftergroup{\aftergroup1\aftergroup}% - \or - \aftergroup\def\aftergroup\parcite@format - \aftergroup{\aftergroup2\aftergroup}% - \or - \aftergroup\def\aftergroup\parcite@format - \aftergroup{\aftergroup-\aftergroup1\aftergroup}% - \fi - \ifcase \@tempcntb - \or - \aftergroup\def\aftergroup\sentencecite@format - \aftergroup{\aftergroup0\aftergroup}% - \or - \aftergroup\def\aftergroup\sentencecite@format - \aftergroup{\aftergroup1\aftergroup}% - \or - \aftergroup\def\aftergroup\sentencecite@format - \aftergroup{\aftergroup2\aftergroup}% - \or - \aftergroup\def\aftergroup\sentencecite@format - \aftergroup{\aftergroup-\aftergroup1\aftergroup}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \@tempcnta=\@tempa\relax + \@tempcntb=\z@ + \@whilenum \@tempcnta>9 \do{% + \advance\@tempcnta -10\relax + \advance\@tempcntb \@ne\relax + }% + \ifcase \@tempcnta + \or + \aftergroup\def\aftergroup\parcite@format + \aftergroup{\aftergroup0\aftergroup}% + \or + \aftergroup\def\aftergroup\parcite@format + \aftergroup{\aftergroup1\aftergroup}% + \or + \aftergroup\def\aftergroup\parcite@format + \aftergroup{\aftergroup2\aftergroup}% + \or + \aftergroup\def\aftergroup\parcite@format + \aftergroup{\aftergroup-\aftergroup1\aftergroup}% + \fi + \ifcase \@tempcntb + \or + \aftergroup\def\aftergroup\sentencecite@format + \aftergroup{\aftergroup0\aftergroup}% + \or + \aftergroup\def\aftergroup\sentencecite@format + \aftergroup{\aftergroup1\aftergroup}% + \or + \aftergroup\def\aftergroup\sentencecite@format + \aftergroup{\aftergroup2\aftergroup}% + \or + \aftergroup\def\aftergroup\sentencecite@format + \aftergroup{\aftergroup-\aftergroup1\aftergroup}% + \fi \fi \endgroup } @@ -998,11 +1041,47 @@ standard classes created by The LaTeX3 Project 1994-1996. % \end{macrocode} % \end{macro} % +% \begin{macro}{\ellipsispar} +% \changes{v0.7}{2013/05/02}{neu} +% \begin{macro}{\parellipsis} +% \changes{v0.7}{2013/05/02}{neu} +% Paragraphen auslassen aber mit zählen. +% \begin{macrocode} +\newcommand*{\ellipsispar}[1][1]{% + \begingroup + \KOMAoptions{parnumber=manual}\parellipsis\par + \addtocounter{par}{#1}% + \protected@write\@auxout{}{% + \string\newmaxpar{\jura@env@type}% + {\thecontractAbsoluteParagraph}% + {\thepar}% + }% + \endgroup + \addtocounter{par}{-1}\refstepcounter{par}% + \ignorespaces +} +\newcommand*{\parellipsis}{% + \scr@ifundefinedorrelax{textellipsis}{\dots}{\textellipsis}% +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% % \begin{environment}{contract} % \begin{macro}{\contract} % \changes{v0.5d}{2010/04/28}{fehlende Fehlermeldung ergänzt} % \changes{v0.5d}{2010/04/28}{Umgebung definiert sich nicht mehr selbst um} % \changes{v0.5d}{2010/04/28}{\cs{jura@env@type} wird gesetzt} +% \begin{Counter}{contractParagraph} +% \begin{macro}{\thecontractParagraph} +% \begin{macro}{\contract@Paragraphformat} +% \begin{macro}{\Paragraphformat} +% \changes{v0.6b}{2013/04/16}{\cs{paragraphformat} umdefiniert} +% \begin{Counter}{contractSubParagraph} +% \begin{macro}{\thecontractSubParagraph} +% \begin{Counter}{contractAbsoluteParagraph} +% \changes{v0.7}{2013/04/18}{neuer (interner) Zähler über alle Paragraphen, +% um ggf. die Zählung neu beginnen zu können} % Die Umgebung \texttt{contract} wird als Anweisung \cs{contract} % definiert. Nichts desto trotz handelt es sich dabei um eine Umgebung und % sollte sie immer als Umgebung verwendet werden! @@ -1037,13 +1116,21 @@ standard classes created by The LaTeX3 Project 1994-1996. \newcounter{contractParagraph} \renewcommand*{\thecontractParagraph}{% {\contract@Paragraphformat{\arabic{contractParagraph}}}} -\DeclareRobustCommand*{\contract@Paragraphformat}[1]{\paragraphformat{#1}} -\newcommand*{\paragraphformat}[1]{\S~#1} +\DeclareRobustCommand*{\contract@Paragraphformat}[1]{\Paragraphformat{#1}} +\newcommand*{\Paragraphformat}[1]{\S~#1} \newcounter{contractSubParagraph} \@addtoreset{SubParagraph}{Paragraph} \renewcommand*{\thecontractSubParagraph}{% {\theParagraph\alph{contractSubParagraph}}} +\newcounter{contractAbsoluteParagraph} % \end{macrocode} +% \end{Counter} +% \end{macro} +% \end{Counter} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{Counter} % \end{macro} % \end{environment} % @@ -1165,8 +1252,11 @@ standard classes created by The LaTeX3 Project 1994-1996. % natürlich innerhalb der Überschrift keine Nummer gesetzt werden % soll. Trotzdem werden generell die Absatznummern eingeschaltet. Dann werden % die Optionen initialisiert und ausgeführt. +% \changes{v0.7}{2013/04/18}{Zähler \texttt{contractAbsoluteParagraph} wird +% erhöht} % \begin{macrocode} \newcommand*{\contract@paragraph}[1]{% + \stepcounter{contractAbsoluteParagraph}% \ManualPar\parnumbertrue \let\contract@title\relax \let\contract@entry\relax @@ -1177,8 +1267,10 @@ standard classes created by The LaTeX3 Project 1994-1996. % \end{macrocode} % Wenn es kein Blindparagraph ist, werden Vorbereitung für nach der % Überschrift getroffen und der vertikale Abstand eingefügt. +% \changes{v0.6a}{2012/10/08}{fehlendes \cs{par} ergänzt} % \begin{macrocode} \ifcontract@dummy\else + \par \@afterindentfalse \addvspace{\contract@preskip}% \fi @@ -1186,6 +1278,8 @@ standard classes created by The LaTeX3 Project 1994-1996. % Wenn die Nummer nicht manuell gesetzt wurde, wird die nächste Nummer % verwendet. Im anderen Fall muss die Nummer gesetzt und auch dafür gesorgt % werden, dass sowohl ein Label als auch hyperref diese Nummer verwenden. +% \changes{v0.6b}{2013/04/16}{Verwendung von \cs{contract@Paragraphformat} +% auch bei manueller Nummerierung der Paragraphen.} % \begin{macrocode} \ifx\contract@number\relax \let\p@Paragraph\@empty @@ -1196,7 +1290,7 @@ standard classes created by The LaTeX3 Project 1994-1996. \let\@elt\@stpelt \cl@Paragraph \endgroup - \protected@edef\theParagraph{\S~\contract@number}% + \protected@edef\theParagraph{\contract@Paragraphformat{\contract@number}}% \protected@edef\@currentlabel{\theParagraph}% \fi \stepcounter{@AbsParagraph}% @@ -1217,19 +1311,18 @@ standard classes created by The LaTeX3 Project 1994-1996. % \end{macrocode} % Außer für Blindparagraphen wird dann die Überschrift gesetzt, die % Verzeichniseinträge vorgenommen und der Kolumnentitel angepasst. +% \changes{v0.7}{2013/04/28}{Abstand nach der Nummer als Bestandteil der +% Nummer setzen} % \begin{macrocode} \ifcontract@dummy\else \begingroup \if@juratitlepagebreak\else\interlinepenalty\@M\fi - \contract@paragraph@font \theParagraph - \ifx\contract@title\relax\else\enskip\contract@title\fi + \contract@paragraph@font{\theParagraph + \ifx\contract@title\relax\else\enskip\fi}% + \contract@title \ifx\contract@entry\relax\else - \addcontentsline{toc}{cpar}{% - \protect\numberline{\theParagraph}\contract@entry - }% - \addcontentsline{cpa}{cpar}{% - \protect\numberline{\theParagraph}\contract@entry - }% + \addxcontentsline{toc}{cpar}[\theParagraph]\contract@entry + \addxcontentsline{cpa}{cpar}[\theParagraph]\contract@entry \fi \ifx\contract@head\relax\else \expandafter\Paragraphmark\expandafter{% @@ -1247,11 +1340,17 @@ standard classes created by The LaTeX3 Project 1994-1996. % \end{macrocode} % \end{macro} % -% \begin{macro}{contract@subparagraph} +% \begin{macro}{\contract@subparagraph} +% \changes{v0.6a}{2012/10/08}{fehlendes \cs{par} ergänzt}%^^A +% \changes{v0.7}{2013/04/18}{Zähler \texttt{contractAbsoluteParagraph} wird +% erhöht} +% \changes{v0.7}{2013/04/28}{Abstand nach der Nummer als Bestandteil der +% Nummer setzen} % Das entspricht bis auf wenige Kleinigkeiten, die Unterparagraphen betreffen, % |\contract@paragraph| % \begin{macrocode} \newcommand*{\contract@subparagraph}[1]{% + \stepcounter{contractAbsoluteParagraph}% \ManualPar\parnumbertrue \let\contract@title\relax \let\contract@entry\relax @@ -1260,6 +1359,7 @@ standard classes created by The LaTeX3 Project 1994-1996. \contract@dummyfalse \ifx\relax#1\relax\else\setkeys{contract}{#1}\fi \ifcontract@dummy\else + \par \@afterindentfalse \vskip\contract@preskip \fi @@ -1289,15 +1389,12 @@ standard classes created by The LaTeX3 Project 1994-1996. \ifcontract@dummy\else \begingroup \if@juratitlepagebreak\else\interlinepenalty\@M\fi - \contract@paragraph@font \theSubParagraph - \ifx\contract@title\relax\else\enskip\contract@title\fi + \contract@paragraph@font{\theSubParagraph + \ifx\contract@title\relax\else\enskip\fi}% + \contract@title \ifx\contract@entry\relax\else - \addcontentsline{toc}{cpar}{% - \protect\numberline{\theSubParagraph}\contract@entry - }% - \addcontentsline{cpa}{cpar}{% - \protect\numberline{\theSubParagraph}\contract@entry - }% + \addxcontentsline{toc}{cpar}[\theSubParagraph]\contract@entry + \addxcontentsline{cpa}{cpar}[\theSubParagraph]\contract@entry \fi \ifx\contract@head\relax\else \expandafter\Paragraphmark\expandafter{% @@ -1433,6 +1530,8 @@ standard classes created by The LaTeX3 Project 1994-1996. % \begin{Counter}{par} % \begin{macro}{\thepar} % \begin{macro}{\theHpar} +% \begin{macro}{\parformat} +% \changes{v0.7}{2013/06/07}{neues Font-Element \texttt{parnumber}} % \begin{macro}{\p@par} % \changes{v0.5d}{2010/04/28}{\cs{jura@usetype} mit Argument % \cs{jura@env@type} eingefügt} @@ -1448,6 +1547,7 @@ standard classes created by The LaTeX3 Project 1994-1996. \renewcommand*{\thepar}{\arabic{par}} \newcommand*{\theHpar}{\theH@AbsParagraph-\Roman{par}} \newcommand*{\parformat}{(\thepar)} +\newkomafont{parnumber}{} \renewcommand*\p@par{{\jura@usetype{\jura@env@type}\theSubParagraph\jura@separator{\nobreakspace}}} \@addtoreset{par}{Paragraph} \@addtoreset{par}{SubParagraph} @@ -1455,6 +1555,7 @@ standard classes created by The LaTeX3 Project 1994-1996. % \end{macro} % \end{macro} % \end{macro} +% \end{macro} % \end{Counter} % \end{macro} % \changes{0.5c}{2010/04/26}{erstes Argument von \cs{newmaxpar} und zweites @@ -1462,27 +1563,79 @@ standard classes created by The LaTeX3 Project 1994-1996. % \texttt{contractpars}} % \changes{0.5c}{2010/04/26}{\cs{contract@Paragraphformat} expandiert beim % Schreiben zu seinem Argument} +% \changes{v0.7}{2013/04/18}{Zähler \texttt{contractAbsoluteParagraph} wird +% verwendet} +% \changes{v0.7}{2013/05/23}{Satznummer bei manuell nummerierten Absätzen +% auf 0 statt 1 initialisiert, weil \cs{Sentence} die Nummer als erstes +% hochzählt.} +% \changes{v0.7}{2013/05/23}{Absatznummer von \cs{thisparnumber} beachtet} +% \changes{v0.7}{2013/06/06}{Im Fall von nicht rein nummerischen +% Absatznummern die Absätze auf jeden Fall nummerieren} % \begin{macrocode} \newcommand*{\contract@everypar}{% \ifparnumber - \refstepcounter{par}% - \refstepcounter{sentence}% + \ifx\scrjura@special@par\relax + \ifx\scrjura@special@reset@par\relax\else + \global\let\thepar\scrjura@special@reset@par + \global\let\scrjura@special@reset@par\relax + \fi + \refstepcounter{par}% + \refstepcounter{sentence}% + \else + \ifx\scrjura@special@reset@par\relax + \global\let\scrjura@special@reset@par\thepar + \fi + \global\let\thepar\scrjura@special@par + \global\let\scrjura@special@par\relax + \setcounter{sentence}{0}\refstepcounter{sentence}% + \fi \begingroup \protected@write\@auxout{\let\contract@Paragraphformat\@firstofone}{% - \string\newmaxpar{contract}{\theSubParagraph}{\arabic{par}}}% - \getmaxpar\@tempa{contract}{\theSubParagraph}% + \string\newmaxpar{contract}% + {\thecontractAbsoluteParagraph}% + {\thepar}}% + \getmaxpar\@tempa{contract}{\thecontractAbsoluteParagraph}% \typeout{Stored max is \@tempa}% - \ifnum \@tempa>\@ne - \parformat\nobreakspace + \def\reserved@a##1\@nnil{\def\@tempa{##1}}% + \afterassignment\reserved@a\@tempcnta=0\@tempa\relax\@nnil + \ifnum \@tempcnta>\@ne + {\usekomafont{parnumber}{\parformat\nobreakspace}}% + \else + \def\reserved@a{\relax}% + \ifx\@tempa\reserved@a + \else + {\usekomafont{parnumber}{\parformat\nobreakspace}}% + \fi \fi \endgroup \else - \setcounter{sentence}{0}\refstepcounter{sentence}% + \setcounter{sentence}{-1}\refstepcounter{sentence}% \fi } % \end{macrocode} % \end{macro} % +% \begin{macro}{\thisparnumber} +% \changes{v0.7}{2013/05/23}{neue Anweisung} +% \begin{macro}{\scrjura@special@par} +% \changes{v0.7}{2013/05/23}{neue Anweisung (intern)} +% \begin{macro}{\scrjura@special@reset@par} +% \changes{v0.7}{2013/05/23}{neue Anweisung (intern)} +% Mit dieser Anweisung kann man eine Absatznummer manuell vergeben. Allerdings +% muss die Nummer voll expandierbar sein! +% \begin{macrocode} +\newcommand*{\thisparnumber}[1]{% + \def\scrjura@special@par{#1}% +} +\newcommand*{\scrjura@special@par}{} +\let\scrjura@special@par\relax +\newcommand*{\scrjura@special@reset@par}{} +\let\scrjura@special@reset@par\relax +% \end{macrocode} +% \end{macro}^^A \scrjura@special@reset@par +% \end{macro}^^A \scrjura@special@par +% \end{macro}^^A\thisparnumber +% % % \begin{macro}{\refL} % \begin{macro}{\ref@L} @@ -1591,7 +1744,7 @@ standard classes created by The LaTeX3 Project 1994-1996. } \newcommand*{\ref@ParagraphN}[2]{% \begingroup - \let\paragraphformat\relax + \let\Paragraphformat\relax \ref@Paragraph{#1}{#2}% \endgroup } @@ -1886,41 +2039,39 @@ standard classes created by The LaTeX3 Project 1994-1996. % \begin{macro}{\sentencename} % \begin{macro}{\sentenceshortname} % \begin{macro}{\scrjura@lang@error} -% Der Name eines Absatzes und eines Satzes. +% \changes{v0.7}{2013/09/19}{Verwendung von \cs{PackageError} an Stelle von +% \cs{PackageErrorNoLine}} +% Der Name eines Absatzes und eines Satzes. Die englischen Namen wurden von +% »m.eik« beigesteuert. % \begin{macrocode} \newcommand*{\parname}{Paragraph} \AtBeginDocument{% - \providecaptionname{german}\parname{Absatz}% - \providecaptionname{german}\parshortname{Abs.}% - \providecaptionname{german}\sentencename{Satz}% - \providecaptionname{german}\sentenceshortname{S.}% - \providecaptionname{ngerman}\parname{Absatz}% - \providecaptionname{ngerman}\parshortname{Abs.}% - \providecaptionname{ngerman}\sentencename{Satz}% - \providecaptionname{ngerman}\sentenceshortname{S.}% - \providecaptionname{austrian}\parname{Absatz}% - \providecaptionname{austrian}\parshortname{Abs.}% - \providecaptionname{austrian}\sentencename{Satz}% - \providecaptionname{austrian}\sentenceshortname{S.}% - \providecaptionname{naustrian}\parname{Absatz}% - \providecaptionname{naustrian}\parshortname{Abs.}% - \providecaptionname{naustrian}\sentencename{Satz}% - \providecaptionname{naustrian}\sentenceshortname{S.}% + \providecaptionname{german,ngerman,austrian,naustrian}\parname{Absatz}% + \providecaptionname{german,ngerman,austrian,naustrian}\parshortname{Abs.}% + \providecaptionname{german,ngerman,austrian,naustrian}\sentencename{Satz}% + \providecaptionname{german,ngerman,austrian,naustrian}\sentenceshortname{S.}% + \providecaptionname{english,american,british,canadian,USenglish,UKenglish}\parname{paragraph}% + \providecaptionname{english,american,british,canadian,USenglish,UKenglish}\parshortname{par.}% + \providecaptionname{english,american,british,canadian,USenglish,UKenglish}\sentencename{sentence}% + \providecaptionname{english,american,british,canadian,USenglish,UKenglish}\sentenceshortname{sent.}% } \providecommand*{\parname}{\scrjura@lang@error{\parname}} \providecommand*{\parshortname}{\scrjura@lang@error{\parshortname}} \providecommand*{\sentencename}{\scrjura@lang@error{\sentencename}} \providecommand*{\sentenceshortname}{\scrjura@lang@error{\sentenceshortname}} \newcommand*{\scrjura@lang@error}[1]{% - \PackageErrorNoLine{scrjura}{% + \PackageError{scrjura}{% current language not supported% }{% - Currently scrjura only supports languages `german', - `ngerman', `austrian', and `naustrian'.\MessageBreak - It seems, that you are using another language (maybe - \languagename).\MessageBreak - Because of this you have to define \string#1\space by - yourself!\MessageBreak + Currently scrjura only supports languages `german', `ngerman', + `austrian',\MessageBreak + `naustrian', `english', `american', `british', `canadian', `USenglish', + and\MessageBreak + `UKenglish'.\MessageBreak + It seems, that you are using another language (maybe `\languagename') or + that\MessageBreak + your language selection isn't compatible to package `babel'.\MessageBreak + Because of this you have to define `\string#1' by yourself!\MessageBreak It would be nice if you'll send your definitions to the author.% }% \textbf{??}% @@ -1933,6 +2084,8 @@ standard classes created by The LaTeX3 Project 1994-1996. % \end{macro} % % \begin{macro}{\newmaxpar} +% \changes{v0.6b}{2013/04/16}{\cs{\#1@Paragraphformat} expandiert zu seinem +% Argument} % \begin{macro}{\getmaxpar} % \changes{v0.6}{2011/09/30}{Argument 3 muss mit \cs{protected@edef} % expandiert werden} @@ -1944,6 +2097,7 @@ standard classes created by The LaTeX3 Project 1994-1996. % \begin{macrocode} \newcommand*{\newmaxpar}[3]{% \begingroup + \expandafter\let\csname #1@Paragraphformat\endcsname\@firstofone \protected@edef\@tempa{#2}\@onelevel@sanitize\@tempa \expandafter\xdef\csname max@#1@\@tempa\endcsname{#3}% \endgroup diff --git a/Master/texmf-dist/source/latex/koma-script/scrkbase.dtx b/Master/texmf-dist/source/latex/koma-script/scrkbase.dtx deleted file mode 100644 index 6717f00fc59..00000000000 --- a/Master/texmf-dist/source/latex/koma-script/scrkbase.dtx +++ /dev/null @@ -1,1928 +0,0 @@ -% \CheckSum{1419} -% \iffalse meta-comment -% ====================================================================== -% scrkbase.dtx -% 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. -% ---------------------------------------------------------------------- -% scrkbase.dtx -% 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. -% ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From File: scrkbase.dtx -%<*driver> -% \fi -\ProvidesFile{scrkbase.dtx}[2012/06/11 v3.11a KOMA-Script (basics)] -% \iffalse -%</driver> -%<package&option>\ProvidesPackage{% -%<package&option&base> scrbase% -%<package&option&koma> scrkbase% -%<package&option>}[% -%<package&option> \KOMAScriptVersion\space package -%<package&option&base> (KOMA-Script-independent basics and keyval usage)] -%<package&option&koma> (KOMA-Script-dependent basics and keyval usage)] -%<*driver> -\documentclass{scrdoc} -\usepackage[english,ngerman]{babel} -\usepackage[latin1]{inputenc} -\CodelineIndex -\RecordChanges -\GetFileInfo{scrkbase.dtx} -\title{\KOMAScript{} \partname\ \texttt{\filename}% - \footnote{Dies ist Version \fileversion\ von Datei - \texttt{\filename}.}} -\date{\filedate} -\author{Markus Kohm} - -\begin{document} - \maketitle - \tableofcontents - \DocInput{\filename} -\end{document} -%</driver> -% \fi -% -% \selectlanguage{ngerman} -% -% \changes{v1.0}{2002/07/06}{Beginn der ersten Version} -% -% \section{Grundlegenden \KOMAScript-Erweiterungen} -% -% Neue Versionen von \KOMAScript{} machen zunehmend Gebrauch vom -% \textsf{keyval}-Paket. Das \textsf{keyval}-Paket ist Bestandteil des -% \textsf{graphics}-Pakets und muss als solches auf allen -% \TeX-Systemen mit \LaTeX{} enthalten sein. Es genügt jedoch in -% einigen Punkten nicht den Anforderungen von \KOMAScript{}. Deshalb -% werden hier Erweiterungen vorgenommen, die von \KOMAScript-Klassen -% und \KOMAScript-Paketen verwendet werden können. -% -% Darüber hinaus werden immer mehr Teile von \KOMAScript{} von mehr als einem -% Paket oder von Paketen und Klassen verwendet. Diese grundlegenden Dinge -% wurden daher in zwei Pakete, \textsf{scrbase} (für Dinge, die auch von -% anderen Klassen und Paketen genutzt werden können) und \textsf{scrkbase} -% (für Dinge, die \KOMAScript vorbehalten bleiben), ausgegliedert. Dadurch -% werden die Pakete und Klassen selbst kleiner und die können trotzdem -% unabhängig voneinander verwendet werden. Selbstverständlich kann man dieses -% Paket auch ohne den Rest von \KOMAScript{} zum Einsatz bringen. -% -% \StopEventually{\PrintIndex\PrintChanges} -% -% \iffalse -%<*load> -% \fi -% -% \subsection{Laden des Pakets} -% Wer das Paket lädt, tut das allerdings in der Regel sogar bereits -% vor der Definition der Optionen mit: -% \begin{macrocode} -\RequirePackage{scrkbase}[\KOMAScriptVersion] -% \end{macrocode} -% -% \iffalse -%</load> -%<*option> -% \fi -% -% \subsection{\eTeX-Test} -% \changes{v3.02c}{2009/02/19}{Fehlermeldung, wenn nicht \eTeX{} verwendet -% wird} -% -% \begin{macrocode} -%<*base> -\begingroup - \def\@tempb{}% - \def\@tempa{% - \PackageError{scrbase}{seems you are not running e-TeX\@tempb}{% - Since 2004 the LaTeX team recommends to use e-TeX.\MessageBreak - KOMA-Script since version 2.95 uses several e-TeX features.\MessageBreak - At actual systems `latex' should already use e-TeX.\MessageBreak - At deprecated systems it may be called `elatex'.\MessageBreak - Use either unsupported KOMA-Script up to version 2.9u or\MessageBreak - ask you administrator for LaTeX using e-TeX\@tempb.\MessageBreak - Not using e-TeX\@tempb\space is a fatal error!\MessageBreak - Processing cannot be continued!}% - \endgroup - \batchmode \errmessage{}\csname @@end\endcsname\end\relax - \csname endinput\endcsname - }% - \expandafter\ifx\csname eTeXversion\endcsname\relax\else - \ifnum\eTeXversion <2 - \def\@tempb{ V 2}% - \else - \let\@tempa\endgroup - \fi - \fi -\@tempa -%</base> -% \end{macrocode} -% -% \subsection{Der abhängige Teil lädt den unabhängigen Teil} -% -% \begin{macrocode} -%<koma>\RequirePackage{scrbase}[\KOMAScriptVersion] -% \end{macrocode} -% -% \subsection{Laden von \textsf{keyval}} -% -% Hier wird nicht nur das Paket geladen, was ruckzuck mit: -% \begin{macrocode} -%<base>\RequirePackage{keyval} -% \end{macrocode} -% erledigt ist. -% -% -% \subsection{Test von Anweisungen} -% -% \begin{macro}{\scr@ifundefinedorrelax} -% \changes{v2.95c}{2006/08/12}{neu (intern)} -% \changes{v2.97b}{2007/03/08}{vermurkste Logik korrigiert} -% \changes{v2.97c}{2007/04/18}{vermurkste Funktion korrigiert} -% \changes{v2.97c}{2007/04/18}{von \cs{scr@ifundefined} umbenannt} -% \changes{v3.02c}{2009/02/19}{Sonderbehandlung für nicht \eTeX entfernt} -% Dieses Makro arbeitet wie \cs{@ifundefined}, definiert dabei aber -% ein undefiniertes Makro nicht als \cs{relax}. Es muss bereits hier definiert -% werden, weil es gleich verwendet wird. -% \begin{macrocode} -%<*base> -\newcommand{\scr@ifundefinedorrelax}[1]{% - \ifcsname #1\endcsname - \expandafter\ifx\csname #1\endcsname\relax - \expandafter\expandafter\expandafter\@firstoftwo - \else - \expandafter\expandafter\expandafter\@secondoftwo - \fi - \else - \expandafter\@firstoftwo - \fi -} -%</base> -% \end{macrocode} -% \end{macro} -% -% -% \subsection{Definition von KOMA-\textsf{keyval}-Schlüsseln (Basis)} -% -% Üblicherweise verwendet \KOMAScript{} für alle -% \textsf{keyval}-Schlüssel die gleiche Bereichskennung -% "`\texttt{KOMA}"'. Dadurch ist es möglich, dass Pakete die Schlüssel -% der Klassen umdefinieren und dass jeder Teil von \KOMAScript{} die -% Schlüssel jedes anderen Teils ausführen kann -- sobald sie definiert -% sind. -% -% \begin{macro}{\DefineFamily} -% \changes{v3.00}{2008/04/30}{Neue Anweisung} -% \begin{macro}{\DefineFamilyMember} -% \changes{v3.00}{2008/04/30}{Neue Anweisung} -% \begin{macro}{\DefineFamilyKey} -% \changes{v3.00}{2008/04/30}{Neue Anweisung} -% \begin{macro}{\scr@if@family} -% \changes{v3.00}{2008/04/30}{Neu (intern)} -% \begin{macro}{\scr@if@familymember} -% \changes{v3.00}{2008/04/30}{Neu (intern)} -% Familie, Familienmitglied und \textsf{keyval}-Schlüssel für ein -% Familienmitglied definieren. Dabei wird als Familienmitglied per Default der -% (Datei-)Name des aktuellen Pakets bzw. der aktuellen Klasse verwendet. -% \begin{macrocode} -%<*base> -\newcommand*{\DefineFamily}[1]{% - \scr@ifundefinedorrelax{#1@key@familylist}{% - \@namedef{#1@key@familylist}{}% - }{}% -} -\newcommand*{\scr@if@family}[2]{% - \scr@ifundefinedorrelax{#1@key@familylist}{% - \PackageError{scrbase}{% - unknown family `#1'% - }{% - You've tried to #2 for family `#1'.\MessageBreak - This my be done only for previous defined families.\MessageBreak - You should call `\string\DefineFamily{#1}' first.% - }% - }% -} -\newcommand*{\DefineFamilyMember}[2][.\@currname.\@currext]{% - \scr@if@family{#2}{define a family member}{% - \edef\reserved@a{% - \noexpand\in@{#2#1,}{\csname #2@key@familylist\endcsname}}% - \reserved@a - \ifin@\else - \expandafter\edef\csname #2@key@familylist\endcsname{% - \@nameuse{#2@key@familylist}#2#1,}% - \fi - }% -} -\newcommand*{\scr@if@familymember}[3]{% - \scr@if@family{#2}{#3}{% - \edef\reserved@a{% - \noexpand\in@{#2#1,}{\csname #2@key@familylist\endcsname}}% - \reserved@a - \ifin@ - \expandafter\@firstofone - \else - \PackageError{scrbase}{% - unknown member `#1' at family `#2'% - }{% - You've tried to #3 for member `#1' of family `#2'.\MessageBreak - This my be done only for previous defined family members.\MessageBreak - You should call `\string\DefineFamilyMember[{#1}]{#2}' first.% - }% - \expandafter\@gobble - \fi - }% -} -\newcommand*{\DefineFamilyKey}[2][.\@currname.\@currext]{% - \scr@if@familymember{#1}{#2}{define a key}{% - \define@key{#2#1}% - }% -} -%</base> -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\KOMA@key} -% \changes{v2.97c}{2007/04/19}{neues optionales Argument} -% \begin{macro}{\KOMA@key@familylist} -% \textsf{keyval}-Schlüssel für \KOMAScript{} werden mit \cs{KOMAkey} -% definiert, damit auch die Familie korrekt gesetzt und ggf. der Liste der -% Familien (\cs{KOMA@key@familylist}) hinzugefügt wird. -% \begin{macrocode} -%<*koma> -\newcommand*{\KOMA@key}[1][.\@currname.\@currext]{% - \DefineFamilyMember{KOMA}% - \DefineFamilyKey[#1]{KOMA}% -} -%</koma> -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \subsection{Optionen} -% -% Ab Version 2.97c sollen sowohl globale KOMA-Optionen als auch die -% KOMA-Optionen der jeweiligen Datei als auch die normalen Optionen in der -% Reihenfolge ausgeführt werden, in der sie angegeben wurden -- zuerst die -% globalen Optionen, dann die lokalen. Dabei werden nur die Optionen -% verwendet, die auch für das jeweilige Paket bzw. die jeweilige Klasse -% definiert wurden. -% -% \begin{macro}{\@globaloptionslist} -% \changes{v2.96}{2006/11/26}{new} -% \changes{v2.96}{2006/11/26}{Klassenoptionen durchsuchen} -% Die Lister der globalen Optionen wird teilweise benötigt. Weil -% \textsl{xkeyval} dämlicherweise glaubt, es müsse alle Optionen mit -% Gleichheitszeichen aus der Liste der Klassenoptionen entfernen -% (seltsamerweise aber nicht die (x)keyval-Optionen, die ohne Wert aufgerufen -% werden, weil ihr Defaultwert verwendet werden soll), wird hier ein eigenes -% Makro definiert. -% \begin{macrocode} -%<*base> -\newcommand*{\@globaloptionslist}{} -\let\@globaloptionslist\@classoptionslist -\scr@ifundefinedorrelax{XKV@classoptionslist}{}{% - \ifx\XKV@classoptionslist\@empty\else - \let\@globaloptionslist\XKV@classoptionslist - \fi -} -%</base> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\FamilyProcessOptions} -% \changes{v3.00}{2008/04/30}{Neue Anweisung}% -% \changes{v3.11a}{2012/06/11}{Klassen melden falsche Werte nicht -% selbst als Fehler, sondern informieren nur darüber} -% \begin{macro}{\scr@removeunused} -% \changes{v3.10}{2011/09/12}{neu (intern)}% -% Diese Anweisung führt alle Optionen, sowohl normal deklarierte als auch -% \textsf{keyval}-Optionen für eine angegebene Familie (2. Argument) und das -% aktuelle Mitglied (1. optionales Argument) in der Reihenfolge, in der sie -% verwendet wurden aus -- zuerst globale Optionen, dann lokale Optionen. Das -% entspricht der Verwendung von \cs{ProcessOptions*} mit dem Unterschied, -% dass eben auch die \textsf{keyval}-Optionen abgearbeitet -% werden. \textsf{keyval}-Optionen, die keinem Mitglied zugeordnet, sondern -% universell sind, werden dabei vor gleichnamigen \textsf{keyval}-Optionen -% des aktuellen Mitglieds ausgeführt. -% \begin{macrocode} -%<*base> -\newcommand*{\scr@removeunused}{} -\newcommand*{\FamilyProcessOptions}[2][.\@currname.\@currext]{% - \let\ds@\@empty - \edef\@curroptions{\@ptionlist{\@currname.\@currext}}% - \ifx\@currext\@clsextension\else - \@for\CurrentOption:=\@globaloptionslist\do{% - \ifx\CurrentOption\@empty\else - \@expandtwoargs\in@{,\CurrentOption,}{,\@declaredoptions,}% - \ifin@ - \@use@ption - \expandafter\let\csname ds@\CurrentOption\endcsname\@empty - \else - \expandafter\def\expandafter\scr@removeunused\expandafter{% - \expandafter\def\expandafter\CurrentOption\expandafter{% - \CurrentOption}\@use@ption}% - \scr@optiontest{#2}\CurrentOption{}{% - \@expandtwoargs\setkeys{#2}% - \CurrentOption - \scr@removeunused - }% - \scr@optiontest{#2#1}\CurrentOption{}{% - \@expandtwoargs\setkeys{#2#1}% - \CurrentOption - \scr@removeunused - }% - \let\scr@removeunused\@empty - \fi - \fi - }% - \fi - \@for\CurrentOption:=\@curroptions\do{% - \@use@ption - \scr@ifundefinedorrelax{ds@\CurrentOption}{% - \scr@optiontest{#2}\CurrentOption{% - \scr@optiontest{#2#1}\CurrentOption{% - \default@ds - }{% - \let\scr@removeunused\relax - \edef\reserved@a{% - \noexpand\setkeys{#2#1}{\CurrentOption}% - \noexpand\def\noexpand\CurrentOption{\CurrentOption}% - }\reserved@a - \ifx\scr@removeunused\relax\else\default@ds\fi - }% - }{% - \let\scr@removeunused\relax - \edef\reserved@a{% - \noexpand\setkeys{#2}{\CurrentOption}% - \noexpand\def\noexpand\CurrentOption{\CurrentOption}% - }\reserved@a - \if\scr@removeunused\relax\else\default@ds\fi - \scr@optiontest{#2#1}\CurrentOption{}{% - \let\scr@removeunused\relax - \@expandtwoargs\setkeys{#2#1}% - \CurrentOption - \ifx\scr@removeunused\relax\else\default@ds\fi - }% - }% - }{% - }% - }% - \@for\CurrentOption:=\@declaredoptions\do{% - \expandafter\let\csname ds@\CurrentOption\endcsname\relax}% - \let\CurrentOption\@empty - \let\@fileswith@pti@ns\@@fileswith@pti@ns - \AtEndOfPackage{\let\@unprocessedoptions\relax}% -} -\@onlypreamble\FamilyProcessOptions -% \end{macrocode} -% \end{macro} -% \begin{macro}{\scr@optiontest} -% \changes{v2.97c}{2007/04/18}{neu (intern)}% -% \begin{macro}{\scr@pti@ntest} -% \changes{v2.97c}{2007/04/18}{neu (intern)}% -% Es werden zwei interne Makros benötigt, um zu testen, ob eine -% entsprechende keyval-Option definiert ist. Grund der Übung ist, dass -% sowohl das Familienargument als auch die Option selbst expandiert werden -% muss. -% \begin{macrocode} -\newcommand*{\scr@optiontest}[2]{% - \edef\reserved@a{\noexpand\scr@pti@ntest{#1}#2=\noexpand\@nil}% - \reserved@a -} -\newcommand*{\scr@pti@ntest}{} -\def\scr@pti@ntest#1#2=#3\@nil{\scr@ifundefinedorrelax{KV@#1@#2}} -%</base> -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\KOMAProcessOptions} -% \changes{v2.97c}{2007/04/18}{neu}% -% \changes{v3.00}{2008/04/30}{kein optionales Argument mehr}% -% Diese Anweisung führt alle Optionen, sowohl normal deklarierte als auch -% keyval-Optionen eines Pakets bzw. einer Klasse in der Reihenfolge, in der -% sie verwendet wurden aus -- zuerst globale Optionen, dann lokale -% Optionen. Das entspricht der Verwendung von \cs{ProcessOptions*} mit dem -% Unterschied, dass eben auch die keyval-Optionen abgearbeitet -% werden. keyval-Optionen, die keiner einzelnen Klasse und keinem einzelnen -% Paket zugeordnet werden, werden dabei vor gleichnamigen eigenen -% keyval-Optionen ausgeführt. -% \begin{macrocode} -%<*koma> -\newcommand*{\KOMAProcessOptions}{\FamilyProcessOptions{KOMA}} -\@onlypreamble\KOMAProcessOptions -%</koma> -% \end{macrocode} -% \end{macro} -% -% \begin{option}{internalonly} -% \changes{v2.96}{2006/11/26}{neu} -% \changes{v2.97c}{2007/06/20}{geht auch ohne Argument} -% \begin{macro}{\dont@let@as@internal@defined} -% \changes{v2.96}{2006/11/26}{neu (intern)} -% Anweisungen, die mit einem internen und einem Anwendername vorhanden sind, -% können vor dem Anwender optional verborgen werden. Wird kein Argument -% angegeben, so werden alle Anweisungen verborgen. -% \begin{macrocode} -%<*base> -\newcommand*{\dont@let@as@internal@defined}{/} -\newif\if@let@as@internalonly@defined\@let@as@internalonly@definedfalse -\DefineFamily{KOMA} -\DefineFamilyMember{KOMA} -\DefineFamilyKey{KOMA}{internalonly}[\relax]{% - \ifx\relax#1\relax - \@let@as@internalonly@definedtrue - \else - \@let@as@internalonly@definedfalse - \begingroup - \@expandtwoargs\in@{#1}\dont@let@as@internal@defined - \expandafter\endgroup - \ifin@\else\g@addto@macro\dont@let@as@internal@defined{#1/}\fi - \fi -} -%</base> -% \end{macrocode} -% \end{macro} -% \end{option} -% -% \changes{v2.96}{2006/08/20}{Optionen werden abgearbeitet} -% \changes{v2.97c}{2007/04/18}{Optionen werden mit \cs{KOMAProcessOptions} -% abgearbeitet} -% \begin{macrocode} -%<koma>\KOMAProcessOptions\relax -%<base>\FamilyProcessOptions{KOMA}\relax -% \end{macrocode} -% -% \iffalse -%</option> -%<*body> -% \fi -% -% \subsection{Ein wenig zusätzliche Mathematik für \eTeX} -% -% \begin{macro}{\XdivY} -% \changes{v3.05a}{2010/03/10}{Neu} -% Ergebnis ist erster Argument durch zweites abgerundet auf die nächst -% kleinere ganze Zahl. -% \begin{macrocode} -%<*base> -\newcommand*{\XdivY}[2]{% - \numexpr ( #1 + #2 / 2 ) / #2 - 1\relax -} -%</base> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\XmodY} -% \changes{v3.05a}{2010/03/10}{Neu} -% Ergebnis ist erstes Argument modulo zweites Argument. -% \begin{macrocode} -%<*base> -\newcommand*{\XmodY}[2]{% - \numexpr #1 - #2 * \XdivY{#1}{#2}\relax -} -%</base> -% \end{macrocode} -% \end{macro} -% -% \subsection{Häufig benötigte Befehle} -% -% \begin{macro}{\if@atdocument} -% \changes{v2.95}{2002/12/05}{neuer Schalter} -% \begin{macro}{\@atdocumenttrue} -% \begin{macro}{\@atdocumentfalse} -% Dieser Schalter wird bei \cs{begin}\texttt{\{document\}} wahr. Er -% wird von \KOMAScript{} für Befehle verwendet, die sich -% unterschiedlich verhalten, je nachdem, ob sie in der Präambel oder -% danach aufgerufen werden. -% \begin{macrocode} -%<*base> -\newif\if@atdocument -\AtBeginDocument{\@atdocumenttrue} -\@onlypreamble\@atdocumentrue -\@onlypreamble\@atdocumentfalse -%</base> -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\let@as@internal@defined} -% \changes{v2.95}{2002/08/19}{neu (intern)} -% \changes{v2.95c}{2006/08/12}{Warnung bei Umdefinierung} -% \changes{v2.96}{2006/11/26}{Herausreichen von internen Makros als -% Benutzermakros kann verhindert werden} -% \changes{v2.97c}{2007/06/20}{Herausreichen von internen Makros kann -% generell verhindert werden} -% \changes{v3.10}{2010/10/26}{\cs{ignorespaces} beim \cs{document}-Patch -% ergänzt} -% Dieses Makro wird intern verwendet, um dokumentierte Makros mit der -% Definition von internen Makros zu versehen, falls sie nicht bereits -% definiert oder als nicht zu definieren markiert sind. Der Name des -% dokumentierten Makros wird als Parameter übergeben. Dies wird gleich -% benötigt. -% \begin{macrocode} -%<*base> -\newcommand*{\let@as@internal@defined}[1]{% - \begingroup - \if@let@as@internalonly@defined - \in@true - \else - \@expandtwoargs\in@{/#1/}\dont@let@as@internal@defined - \fi - \expandafter\endgroup - \ifin@ - \PackageInfo{% - scrbase% - }{% - \expandafter\string\csname #1\endcsname\space excluded from being - defined% - }% - \else - \@ifundefined{#1}{% - \begingroup - \expandafter\def\expandafter\@tempa - \expandafter{\csname scr@#1\endcsname} - \expandafter\def\expandafter\@tempb - \expandafter{\csname #1\endcsname} - \expandafter\expandafter\expandafter\endgroup - \expandafter\expandafter\expandafter\let\expandafter\@tempb\@tempa - \if@atdocument\else - \g@addto@macro\document{% - \expandafter\ifx\csname #1\expandafter\endcsname - \csname scr@#1\endcsname - \else - \PackageWarning{scrbase}{% - \expandafter\string\csname #1\endcsname\space was - redefined\MessageBreak - at the document preamble.\MessageBreak - If you did not redefine it by yourself, have a\MessageBreak - a look at the description of this command at\MessageBreak - the manual of every package you are using\@gobble - }% - \fi - \ignorespaces - }% - \fi - }{% - \PackageInfo{% - scrbase% - }{% - \expandafter\string\csname #1\endcsname\space already - defined.\MessageBreak - If \expandafter\string\csname #1\endcsname\space does not behave - like\MessageBreak - it was described at the KOMA-Script manual, try to\MessageBreak - load `scrbase.sty' earlier or find out at which\MessageBreak - package or class \expandafter\string\csname #1\endcsname\space - was defined before\@gobble - }% - }% - \fi -} -%</base> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\ifundefinedorrelax} -% \changes{v2.95}{2002/08/21}{neu} -% \changes{v2.95c}{2006/08/12}{über interne Anweisung definiert} -% \changes{v2.97c}{2007/06/20}{umbenannt von \cs{ifundefined}} -% Dieses Makro arbeitet wie \cs{@ifundefined}, definiert dabei aber -% ein undefiniertes Makro nicht als \cs{relax}. -% \begin{macrocode} -%<*base> -\let@as@internal@defined{ifundefinedorrelax} -%</base> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\ifnotundefined} -% \changes{v2.95}{2002/08/21}{neu} -% \changes{v2.95c}{2006/08/12}{nutzt \eTeX{} wenn möglich} -% \changes{v3.02c}{2009/02/19}{\eTeX{} ist zwingend} -% Dieses Makro arbeitet genau umgekehrt zu \cs{ifundefined}. Manchmal -% ist es ganz nützlich, auch das zu haben. Dieses Makro heißt nicht -% \cs{ifdefined}, weil \eTeX\ bereits ein solches Primitiv bietet. -% \begin{macrocode} -%<*base> -\newcommand{\ifnotundefined}[1]{% - \ifcsname #1\endcsname - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi -} -%</base> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\ifstr} -% \changes{v2.95}{2004/07/20}{if- und then-Teil werden nicht gefressen} -% \changes{v3.04b}{2010/01/29}{\cs{edef} durch \cs{protected@edef} ersetzt} -% Dieses Makro vergleicht zwei Tokenfolgen. Eigentlich müsste es also -% eher \cs{ifequal} oder ähnlich heißen. -% \begin{macrocode} -%<*base> -\newcommand\ifstr[2]{% - \begingroup\protected@edef\@tempa{#1}\protected@edef\@tempb{#2}% - \ifx\@tempa\@tempb - \endgroup\expandafter\@firstoftwo - \else - \endgroup\expandafter\@secondoftwo - \fi -} -%</base> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\ifnumber} -% Dieses Makro testet, ob ein übergebener Parameter eine positive, -% ganze Zahl ist. Ist dies der Fall, wird der zweite Parameter -% ausgeführt, sonst der dritte. -% \begin{macrocode} -%<*base> -\newcommand\ifnumber[1]{% - \begingroup\@tempswafalse\let\scr@next\test@number - \expandafter\scr@next#1\scr@next - \if@tempswa - \endgroup\expandafter\@firstoftwo - \else - \endgroup\expandafter\@secondoftwo - \fi -} -% \end{macrocode} -% \begin{macro}{\test@number} -% Für den eigentlichen Test wird der erste Parameter Token für Token -% gescannt und beurteilt. -% \begin{macrocode} -\newcommand*{\test@number}[1]{% - \ifx \scr@next#1 - \let\scr@next\relax - \else -% \end{macrocode} -% Dabei wird für einen schnelleren Vergleich die Tatsache genutzt, dass -% Ziffernzeichen immer im selben durchgängigen Bereich liegen -% \begin{macrocode} - \@tempcnta=\expandafter\expandafter\expandafter\number - \expandafter`#1\relax - \ifnum \@tempcnta>47 - \ifnum \@tempcnta<58 - \@tempswatrue - \else\@tempswafalse\fi - \else\@tempswafalse\fi -% \end{macrocode} -% Das zeichenweise Scannen und Parsen kann natürlich nicht einfach -% abgebrochen werden. Stattdessen ist der Parameterrest noch zu -% entfernen. -% \begin{macrocode} - \if@tempswa\else\let\scr@next\gobble@till@scr@next\fi - \fi - \scr@next -} -% \end{macrocode} -% \begin{macro}{\gobble@tillscr@@next} -% Das geschieht mit einem einzigen "`Leermacro"'. -% \begin{macrocode} -\newcommand*{\gobble@till@scr@next}{} -\def\gobble@till@scr@next#1\scr@next{} -%</base> -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\ifdimen} -% Dieses Makro testet, ob ein übergebener Parameter eine Dimension -% ist und führt in Abhängigkeit davon den zweiten oder dritten -% Parameter aus. -% \begin{macrocode} -%<*base> -\newcommand{\ifdimen}[1]{% - \begingroup\@tempswatrue\let\scr@next\test@posdimen - \expandafter\test@dimen#1\scr@next - \if@tempswa - \endgroup\expandafter\@firstoftwo - \else - \endgroup\expandafter\@secondoftwo - \fi -} -% \end{macrocode} -% \begin{macro}{\test@dimen} -% Als erste muss ein Vorzeichen entfernt werden. -% \begin{macrocode} -\newcommand*{\test@dimen}[1]{% - \ifx -#1\else\ifx +#1\else - \def\scr@next{\let\scr@next\test@posdimen\scr@next#1}\fi\fi - \scr@next -} -% \end{macrocode} -% \begin{macro}{\test@posdimen} -% Dann muss getestet werden, ob es sich beim Rest um eine Dimension -% handelt. Dabei werden der Einfachheit halber mehrere Dezimalkomma -% und -punkte erlaubt. Natürlich könnte man es auch wirklich richtig -% machen, aber das wäre nochmal etwas aufwendiger. Ist das wirklich -% notwendig? -% \begin{macrocode} -\newcommand*{\test@posdimen}[1]{% - \ifx \scr@next#1% - \@tempswafalse\let\scr@next\relax - \else - \if .#1\else\if ,#1\else - \@tempcnta=% - \expandafter\expandafter\expandafter\number\expandafter`#1\relax - \ifnum \@tempcnta>47 - \ifnum \@tempcnta<58 - \else\def\scr@next{\test@dimunt#1}\fi - \else\def\scr@next{\test@dimunt#1}\fi - \fi\fi - \fi - \scr@next -} -% \end{macrocode} -% \begin{macro}{\testdimunt} -% \begin{macro}{\test@trueunt} -% Außer einer Gleitkomma- bzw. Gleitpunktzahl muss auch noch die Einheit -% behandelt werden. Dabei sind sowohl die neun Standardeinheiten als auch -% deren "`true"'-Variante zu berücksichtigen. Deshalb wird zuerst ein -% eventuelles "`\texttt{true}"' weggeworfen. -% \begin{macrocode} -\newcommand*{\test@dimunt}{} -\def\test@dimunt#1\scr@next{% - \expandafter\test@trueunt#1truetrue\test@trueunt -} -\newcommand*{\test@trueunt}{} -\def\test@trueunt#1true#2true#3\test@trueunt{% - \edef\@tempa{#1} - \ifx\@tempa\@empty\test@@ifdimunt{#2}\else\test@@ifdimunt{#1}\fi -} -% \end{macrocode} -% \begin{macro}{\test@@ifdimunt} -% Anschließend wird dann getestet, ob es sich um eine der neun üblichen -% Einheiten handelt. -% \begin{macrocode} -\newcommand*\test@@ifdimunt[1]{% - \@tempswafalse - \ifstr{#1}{pt}{\@tempswatrue}{% - \ifstr{#1}{pc}{\@tempswatrue}{% - \ifstr{#1}{in}{\@tempswatrue}{% - \ifstr{#1}{bp}{\@tempswatrue}{% - \ifstr{#1}{cm}{\@tempswatrue}{% - \ifstr{#1}{mm}{\@tempswatrue}{% - \ifstr{#1}{dd}{\@tempswatrue}{% - \ifstr{#1}{cc}{\@tempswatrue}{% - \ifstr{#1}{sp}{\@tempswatrue}{}% - }% - }% - }% - }% - }% - }% - }% - }% -} -%</base> -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% -% \begin{macro}{\ifpdftex} -% \changes{v2.95}{2002/08/19}{neu} -% \begin{macro}{\scr@ifpdftex} -% \changes{v2.95}{2002/08/19}{neu (intern)} -% If-then-else-Konstrukt, um zu testen, ob pdf\TeX{} verwendet wird. -% \begin{macrocode} -%<*base> -\newcommand{\scr@ifpdftex}{\ifnotundefined{pdftexversion}} -\let@as@internal@defined{ifpdftex} -\BeforePackage{pdfcprot}{\let\ifpdftex\relax} -\AfterPackage{pdfcprot}{\let@as@internal@defined{ifpdftex}} -%</base> -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\ifVTeX} -% \changes{v2.95}{2002/08/19}{neu} -% \changes{v2.97c}{2007/06/20}{umdefiniert von \cs{ifvtex}} -% \begin{macro}{\scr@ifVTeX} -% \changes{v2.95}{2002/08/19}{neu} -% \changes{v2.97c}{2007/06/20}{umdefiniert von \cs{scr@ifvtex}} -% If-then-else-Konstrukt, um zu testen, ob V\TeX{} verwendet wird. -% \begin{macrocode} -%<*base> -\newcommand{\scr@ifVTeX}{\ifnotundefined{VTeXversion}} -\let@as@internal@defined{ifVTeX} -%</base> -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\ifpdfoutput} -% \changes{v2.7g}{2001/04/17}{neu} -% \changes{v2.8q}{2001/10/19}{\cs{pdfoutput} wird nicht mehr zu -% \cs{relax}, wenn zuvor undefiniert} -% \changes{v2.8q}{2001/10/19}{darf bereits definiert sein} -% \changes{v2.8q}{2001/10/19}{Verwendung von \cs{scr@ifpdfoutput}} -% \begin{macro}{\scr@ifpdfoutput} -% \changes{v2.8q}{2001/10/19}{neu (intern)} -% \changes{v2.8q}{2001/11/13}{funktioniert} -% \changes{v2.95}{2002/08/21}{berücksichtigt V\TeX} -% \changes{v2.95}{2004/07/20}{Expandierbarkeit verbessert} -% If-then-else-Konstrukt, um abhängig davon, ob als \texttt{pdf} -% ausgegeben wird oder nicht, Befehle auszuführen. Dieses Makro wird -% für die Deklaration der Option \texttt{pagesize} benötigt. -% \begin{macrocode} -%<*base> -\newcommand{\scr@ifpdfoutput}{% - \scr@ifundefinedorrelax{pdfoutput}{% - \scr@ifundefinedorrelax{OpMode}{% - \expandafter\@secondoftwo% - }{% - \ifnum\OpMode=1 - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi - }% - }{% - \ifnum\pdfoutput>0 - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi - }% -}% -\let@as@internal@defined{ifpdfoutput} -%</base> -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\ifpsoutput} -% \changes{v2.95}{2002/08/21}{neu} -% \begin{macro}{\scr@ifpsoutput} -% \changes{v2.95}{2002/08/21}{neu (intern)} -% \changes{v2.95}{2004/07/20}{Expandierbarkeit verbessert} -% If-then-else-Konstrukt, um abhängig davon, ob früher oder später -% \texttt{ps} ausgegeben wird oder nicht, Befehle auszuführen. -% \begin{macrocode} -%<*base> -\newcommand*{\scr@ifpsoutput}{% - \ifnotundefined{if@dvips}{% - \if@dvips - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi - }{% - \ifnotundefined{OpMode}{% - \ifnum\OpMode=2 - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi - }{% - \expandafter\@secondoftwo - }% - }% -} -\let@as@internal@defined{ifpsoutput} -%</base> -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\ifdvioutput} -% \changes{v2.95}{2002/08/21}{neu} -% \begin{macro}{\scr@ifdvioutput} -% \changes{v2.95}{2002/08/21}{neu (intern)} -% \changes{v2.95}{2004/07/20}{Expandierbarkeit verbessert} -% If-then-else-Konstrukt, um abhängig davon, ob \texttt{dvi} -% ausgegeben wird oder nicht, Befehle auszuführen. -% \begin{macrocode} -%<*base> -\newcommand*{\scr@ifdvioutput}{% - \scr@ifundefinedorrelax{pdfoutput}{% - \scr@ifundefinedorrelax{OpMode}{% - \expandafter\@firstoftwo - }{% - \ifnum\OpMode=0 - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi - }% - }{% - \ifnum\pdfoutput=0 - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi - }% -} -\let@as@internal@defined{ifdvioutput} -%</base> -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\scr@smashdp} -% \changes{v2.97c}{2007/09/17}{neu (intern)} -% \changes{v3.02a}{2009/01/23}{\cs{smash} nicht direkt verwenden, weil -% \textsf{amsmath} das inkompatibel umdefiniert} -% Gibt Material aus, erzeugt dabei aber nur Höhe und Breite, jedoch keine -% Tiefe. -% \begin{macrocode} -%<*base> -\newcommand*{\scr@smashdp}[1]{% - \begingroup - \def\finsm@sh{\dp\z@\z@\box\z@}% - \ifmmode - \expandafter\mathpalette\expandafter\mathsm@sh - \else - \expandafter\makesm@sh - \fi - {#1}% - \endgroup -} -%</base> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\PackageInfoNoLine} -% \changes{v2.97d}{2007/10/03}{neu} -% Arbeitet wie \cs{PackageInfo} aber ohne Ausgabe der Zeilennummer. -% \begin{macrocode} -%<*base> -\providecommand*{\PackageInfoNoLine}[2]{% - \PackageInfo{#1}{#2\@gobble}% -} -%</base> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\ClassInfoNoLine} -% \changes{v2.98c}{2008/02/15}{neu} -% Arbeitet wie \cs{ClassInfo} aber ohne Ausgabe der Zeilennummer. -% \begin{macrocode} -%<*base> -\providecommand*{\ClassInfoNoLine}[2]{% - \ClassInfo{#1}{#2\@gobble}% -} -%</base> -% \end{macrocode} -% \end{macro} -% -% \subsection{Definition von KOMA-\textsf{keyval}-Schlüsseln (Hauptteil)} -% -% \begin{macro}{\FamilyExecuteOptions} -% \changes{v3.00}{2008/04/30}{Neue Anweisung} -% \changes{v3.04b}{2010/01/29}{\cs{edef} durch \cs{protected@edef} ersetzt} -% \changes{v3.04b}{2010/02/02}{\cs{scr@key@atlist} und \cs{scr@key@name} -% vor Überschreiben in \cs{serkeys} geschützt} -% Entspriche \cs{ExecuteOptions} jedoch \textsf{keyval}-Optionen. -% \begin{macrocode} -%<*base> -\newcommand*{\FamilyExecuteOptions}[3][.\@currname.\@currext]{% - \def\reserved@a##1\@nil{% - \@for\scr@key@atlist:=#3\do{% - \expandafter\scr@key@split@name@value\scr@key@atlist==\@nil - \scr@ifundefinedorrelax{KV@#2@\scr@key@name}{}{% - \protected@edef\reserved@a{\noexpand\setkeys{#2}{\scr@key@atlist}% - \noexpand\def\noexpand\scr@key@atlist{\scr@key@atlist}% - \noexpand\def\noexpand\scr@key@name{\scr@key@name}% - }% - \reserved@a - }% - \scr@ifundefinedorrelax{KV@#2#1@\scr@key@name}{}{% - \protected@edef\reserved@a{% - \noexpand\setkeys{#2#1}{\scr@key@atlist}% - \noexpand\def\noexpand\scr@key@atlist{\scr@key@atlist}% - \noexpand\def\noexpand\scr@key@name{\scr@key@name}% - }% - \reserved@a - }% - \let\CurrentOption\scr@key@atlist - \csname ds@\CurrentOption\endcsname - }% - \edef\CurrentOption{##1}% - }% - \expandafter\reserved@a\CurrentOption\@nil -} -\@onlypreamble\FamilyExecuteOptions -%</base> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\KOMAExecuteOptions} -% \changes{v2.97c}{2007/04/19}{Neue Anweisung} -% \changes{v3.00}{2008/04/30}{Kein optionales Argument mehr} -% Liste von Optionen ausführen -% \begin{macrocode} -%<*koma> -\newcommand*{\KOMAExecuteOptions}{\FamilyExecuteOptions{KOMA}} -\@onlypreamble\KOMAExecuteOptions -%</koma> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\FamilyOptions} -% \changes{v3.00}{2008/04/30}{Neue Anweisung} -% Es werden Schlüssel einer Familie verwendet. Existiert ein Schlüssel nicht, -% so wird eine Fehlermeldung ausgegeben. -% \begin{macrocode} -%<*base> -\newcommand*{\FamilyOptions}[2]{% - \Family@Options{#1}{#2}{% - \PackageError{scrbase}{% - option `\scr@key@name' unknown at family `#1'% - }{% - You have used \string\FamilyOptions{#1} to set - `\scr@key@atlist',\MessageBreak - but family `#1' does not know any option named - `\scr@key@name'.\MessageBreak - See the manual for the package or class using family `#1' for - more\MessageBreak - informations about options and their values.% - }% - }% -} -% \begin{macro}{\Family@Options} -% \changes{v3.00}{2008/04/30}{Neues Makro (intern)}% -% Das interne Macro \cs{Family@Options} macht die eigentliche Arbeit. Das -% erste Argument ist dabei die Familie. Das zweite Argument ist die Liste -% der Optionen, das zweite Code, der im Fehlerfall ausgeführt werden -% soll. Dabei sind die Makros \cs{scr@key@atlist}, \cs{scr@key@name} und -% \cs{scr@key@value} gültig und können verwendet werden. -% -% Anmerkung: Es wird nicht auf \textsf{xkeyval} und den dortigen Befehl -% \cs{setkeys+} gesetzt, weil dieser die Optionen nicht in der Reihenfolge -% der Optionen, sondern in der Reihenfolge der Familien ausführt. Das passt -% mir aber hier gar nicht. -% -% In einer Schleife über alle Optionen werden die Optionen zunächst in -% Option und Wert aufgespaltet. -% \begin{macrocode} -\newcommand*{\Family@Options}[3]{% - \@for\scr@key@atlist:=#2\do{% -% \end{macrocode} -% \changes{v3.08}{2010/11/05}{leere Argumente in der Optionenliste}% -% Auf vielfachen Wunsch und entgegen meiner Überzeugung, sind auch leere -% Argumente in der Optionenliste erlaubt. Die erste Form wäre, wenn zwei -% Kommas diret aufeinander folgen: -% \begin{macrocode} - \ifx\scr@key@atlist\@empty\else -% \end{macrocode} -% Die zweite Möglichkeit wäre, dass noch Leerzeichen zwischen den Komma -% übrig bleiben: -% \begin{macrocode} - \ifx\scr@key@atlist\space\else - \expandafter\scr@key@split@name@value\scr@key@atlist==\@nil -% \end{macrocode} -% Die dritte Möglichkeit, dass auch noch ein Gleichheitszeichen übrig -% gelassen wurde, werde ich aber nicht abfangen. Irgendwann müssen die -% Anwender auch mal ihre Fehler einsehen und korrigieren! -% -% Dann wird in einer Schleife über alle Familien festgestellt, ob die Option -% in einer Familie bekannt ist und ggf. ausgeführt. -% \changes{v3.04b}{2010/01/29}{\cs{edef} durch \cs{protected@edef} ersetzt} -% \changes{v3.09a}{2011/06/07}{weniger Expansion durch sinnvollen Gebrauch -% von \cs{unexpanded}} -% \begin{macrocode} - \scr@key@found@false - \edef\@tempa{\csname #1@key@familylist\endcsname}% - \@for\@tempa:=\@tempa\do{% - \scr@ifundefinedorrelax{KV@\@tempa @\scr@key@name}{}{% - \scr@key@found@true - \protected@edef\reserved@a{% - \noexpand\setkeys{\@tempa}{% - \unexpanded\expandafter{\scr@key@atlist}}% - \noexpand\def\noexpand\@tempa{% - \unexpanded\expandafter{\@tempa}}% - \noexpand\def\noexpand\scr@key@atlist{% - \unexpanded\expandafter{\scr@key@atlist}}% - \noexpand\def\noexpand\scr@key@name{% - \unexpanded\expandafter{\scr@key@name}}% - \noexpand\def\noexpand\scr@key@value{% - \unexpanded\expandafter{\scr@key@value}}% - }% - \reserved@a - }% - }% - \ifscr@key@found@\else#3\fi - \fi - \fi - }% -} -% \end{macrocode} -% \begin{macro}{\ifscr@key@found@} -% \changes{v2.97c}{2007/04/19}{Neuer Schalter (intern)} -% \changes{v3.00}{2008/04/30}{umbenannt von \cs{ifKOMA@key@found}} -% \begin{macro}{\scr@key@atlist} -% \changes{v2.97c}{2007/04/19}{Neues Makro (intern)} -% \changes{v3.00}{2008/04/30}{umbenannt von \cs{KOMA@key@atlist}} -% \begin{macro}{\scr@key@name} -% \changes{v2.97c}{2007/04/19}{Neues Makro (intern)} -% \changes{v3.00}{2008/04/30}{umbenannt von \cs{KOMA@key@name}} -% \begin{macro}{\scr@key@value} -% \changes{v2.97c}{2007/04/19}{Neues Makro (intern)} -% \changes{v3.00}{2008/04/30}{umbenannt von \cs{KOMA@key@value}} -% \begin{macro}{\scr@key@split@name@value} -% \changes{v2.97c}{2007/04/19}{Neues Makro (intern)} -% \changes{v2.97e}{2007/11/10}{verwendet \cs{KV@@sp@def} zur Entsorgung von -% Leerzeichen} -% \changes{v3.00}{2008/04/30}{umbenannt von \cs{KOMA@key@split@name@value}} -% \begin{macrocode} -\newif\ifscr@key@found@ -\newcommand*{\scr@key@atlist}{} -\newcommand*{\scr@key@name}{} -\newcommand*{\scr@key@value}{} -\newcommand*{\scr@key@split@name@value}{} -\def\scr@key@split@name@value#1=#2=#3\@nil{% - \KV@@sp@def\scr@key@name{#1}% - \KV@@sp@def\scr@key@value{#2}% -} -%</base> -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\FamilyOption} -% \changes{v3.00}{2008/04/30}{Neue Anweisung} -% \begin{macro}{\Family@Option} -% \changes{v3.00}{2008/04/30}{Neu (intern)} -% \changes{v3.04b}{2010/01/29}{\cs{edef} durch \cs{protected@edef} ersetzt} -% Im Gegensatz zu \cs{FamilyOptions} kann man mit dieser Anweisung nur eine -% einzige Option setzen. Dafür kann man gleich mehrere durch Komma getrennte -% Argumente für diese Option setzen. Das erste obligatorische Argument ist -% wieder die Familie, das zweite obligatorische Argument ist die Option, das -% dritte, obligatorische Argument ist die Liste der Werte für diese Option. -% \begin{macrocode} -%<*base> -\newcommand*{\FamilyOption}[3]{% - \Family@Option{#1}{#2}{#3}{% - \PackageError{scrbase}{% - unknown option `\scr@key@name' for familie `#1'% - }{% - You have used \string\FamilyOption{#1} to set - `\scr@key@name',\MessageBreak - but family '#1' does not know any option named - `\scr@key@name'.\MessageBreak - See the the manual of the class or package, that provides - family\MessageBreak - `#1' for more informations about options and their values.% - }% - }% -} -\newcommand*{\Family@Option}[4]{% - \expandafter\KV@@sp@def\expandafter\scr@key@name\expandafter{#2}% - \scr@key@found@false - \edef\@tempa{\csname #1@key@familylist\endcsname}% - \@for\@tempa:=\@tempa\do{% - \scr@ifundefinedorrelax{KV@\@tempa @\scr@key@name}{}{% - \scr@key@found@true - \let\@tempb\@tempa - }% - }% - \ifscr@key@found@ - \let\reserved@a\@empty - \@for\@tempa:=#3\do{% - \expandafter\KV@@sp@def\expandafter\@tempa\expandafter{\@tempa}% -% \end{macrocode} -% \changes{v3.08}{2010/11/05}{leere Argumente in der Werteliste} -% Auf vielfachen Wunsch und entgegen meiner Überzeugung, sind auch leere -% Argumente in der Werteliste erlaubt: -% \begin{macrocode} - \ifx\@tempa\@empty\else - \protected@edef\reserved@a{\reserved@a,\scr@key@name=\@tempa}% - \fi - }% - \ifx\reserved@a\@empty - \protected@edef\reserved@a{\noexpand\setkeys{\@tempb}{\scr@key@name}}% - \else - \protected@edef\reserved@a{% - \noexpand\setkeys{\@tempb}{\expandafter\@gobble\reserved@a}}% - \fi - \reserved@a - \else - #4 - \fi -} -%</base> -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\KOMAoptions} -% \changes{v2.96}{2006/08/20}{Neuer Hook nach den Optionen} -% \changes{v2.97c}{2007/04/19}{Optionen aller KOMA-Familien abarbeiten} -% Es werden Schlüssel verwendet und ggf. danach noch Dinge ausgeführt. -% \begin{macrocode} -%<*koma> -\newcommand*{\KOMAoptions}[1]{% - \let\post@kopt@hook\@empty - \KOMA@options{#1}{% -% \end{macrocode} -% Wenn der Schlüssel für keines der bekannten Familienmitglieder definiert -% ist, wird ein Fehler ausgegeben. -% \begin{macrocode} - \PackageError{scrkbase}{% - unknown KOMA option `\scr@key@name'% - }{% - You have used \string\KOMAoptions\space to set - `\scr@key@atlist',\MessageBreak - but KOMA-Script does not know any option named - `\scr@key@name'.\MessageBreak - See the KOMA-Script manual for more informations about options - and\MessageBreak - their values.% - }% - }% - \post@kopt@hook\let\post@kopt@hook\relax -} -% \end{macrocode} -% \begin{macro}{\KOMA@options} -% \changes{v2.97c}{2007/04/19}{Neues Makro (intern)} -% Das interne Macro \cs{KOMA@options} macht die eigentliche Arbeit. Das erste -% Argument ist dabei die Liste der Optionen, das zweite Code, der im -% Fehlerfall ausgeführt werden soll. Dabei sind die Makros -% \cs{KOMA@key@atlist}, \cs{KOMA@key@name} und \cs{KOMA@key@value} gültig und -% können verwendet werden. -% -% Anmerkung: Es wird nicht auf \textsf{ykeyval} und den dortigen Befehl -% \cs{setkeys+} gesetzt, weil dieser die Optionen nicht in der Reihenfolge der -% Optionen, sondern in der Reihenfolge der Familien ausführt. Das passt mir -% aber hier gar nicht. -% -% In einer Schleife über alle Optionen werden die Optionen zunächst in Option -% und Wert aufgespaltet. -% \begin{macrocode} -\newcommand*{\KOMA@options}{\Family@Options{KOMA}} -%</koma> -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\post@kopt@hook} -% \begin{macro}{\AfterKOMAoptions} -% Eine Option kann dafür sorgen, dass nach den Optionen noch etwas passiert. -% \begin{macrocode} -%<*koma> -\newcommand*{\post@kopt@hook}{} -\let\post@kopt@hook\relax -\newcommand*{\AfterKOMAoptions}{% - \ifx\post@kopt@hook\relax - \PackageWarning{scrkbase}{% - \string\AfterKOMAoptions\space can only be used inside a\MessageBreak - KOMA-Script option that is called using \string\KOMAoptions.\MessageBreak - Because of this, command will be ignored% - }% - \expandafter\@gobbletwo - \else - \expandafter\l@addto@macro - \fi - \post@kopt@hook -} -%</koma> -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\l@addto@macro} -% \changes{v2.8p}{2001/09/22}{neu (intern)} -% Damit \cs{AfterKOMAoptions} lokal möglich ist, wird eine lokal arbeitende -% Variante von \cs{g@addto@macro} benötigt, wie sie hier vorgestellt wird. -% \changes{v2.95}{2006/06/02}{korrigiert, damit es sich bezüglich -% Erweiterung um Makrodefinitonen mit Argumenten wie \cs{g@addto@macro} -% verhält} -% \begin{macrocode} -%<*base> -\scr@ifundefinedorrelax{unexpanded}{% - \newcommand*{\g@addto@macro@temp}{}% - \newcommand{\l@addto@macro}[2]{% - \begingroup% - \toks@\expandafter{#1#2}% - \xdef\g@addto@macro@temp{\the\toks@}% - \endgroup - \let#1\g@addto@macro@temp - }% -}{% - \newcommand{\l@addto@macro}[2]{% - \edef#1{\unexpanded\expandafter{#1#2}}% - }% -} -%</base> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\KOMAoption} -% \changes{v2.98c}{2008/03/12}{Neue Anweisung} -% Im Gegensatz zu \cs{KOMAoptions} kann man mit dieser Anweisung nur eine -% einzige Option setzen. Dafür kann man gleich mehrere durch Komma getrennte -% Argumente für diese Option setzen. Das erste obligatorische Argument ist die -% Option, das zweite, obligatorische Argument ist die Liste der Werte für -% diese Option. -% \begin{macrocode} -%<*koma> -\newcommand*{\KOMAoption}[2]{% - \let\post@kopt@hook\@empty - \Family@Option{KOMA}{#1}{#2}{% - \PackageError{scrkbase}{% - unknown KOMA option `\scr@key@name'% - }{% - You have used \string\KOMAoption\space to set - `\scr@key@name',\MessageBreak - but KOMA-Script does not know any option named - `\scr@key@name'.\MessageBreak - See the KOMA-Script manual for more informations about options - and\MessageBreak - their values.% - }% - }% - \post@kopt@hook\let\post@kopt@hook\relax -} -%</koma> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\FamilyUnknownKeyValue} -% \changes{v3.10}{2011/09/12}{no error while processing global options}% -% \changes{v3.11a}{2012/05/28}{prevent remove from list of unused global -% options globally}% -% Dieses Makro berichtet über Fehler wegen unbekannter Wertübergabe an einen -% Schlüssel. Das erste Argument ist die Familie, das zweite der Schlüssel, -% das dritte der Wert und das vierte die Liste der möglichen Werte. -% \begin{macrocode} -%<*base> -\newcommand*{\FamilyUnknownKeyValue}[4]{% - \ifx\scr@removeunused\@empty - \PackageError{% - scrbase% - }{% - option `#2' of family `#1' has no value `#3'% - }{% - You've tried to set option `#2' of family '#1' to value `#3'.\MessageBreak - But allowed values are only:\MessageBreak - #4\FamilyElseValues.\MessageBreak - See the manual of the class or package, that provides family - `#1'\MessageBreak - for more information about options and their values.% - }% - \else - \global\let\scr@removeunused\@empty - \PackageInfo{% - scrbase% - }{% - option `#2' of family `#1' has no value `#3'.\MessageBreak - Allowed values for option `#2' of family `#1'\MessageBreak - would be:\MessageBreak - #4\FamilyElseValues.\MessageBreak - Maybe another class or package provides this option.\MessageBreak - Global option ignored - }% - \fi -} -%</base> -% \end{macrocode} -% \begin{macro}{\FamilyElseValues} -% \changes{v3.00}{2008/05/02}{Neue Anweisung} -% Diese Anweisung kann vor dem Setzen eines Wertes definiert werden, um bei -% einer etwaigen Fehlermeldung weitere Werte als erlaubt auszugeben. Am Ende -% von \cs{FamilySetBool} und \cs{FamilySetNumerical} wird die Anweisung -% automatisch zu \cs{@empty}. Es ist zu beachten, dass bei der Definition der -% Anweisung als erstes ein Komma und ein Leerzeichen zu setzen ist! -% \begin{macrocode} -%<*base> -\newcommand*{\FamilyElseValues}{} -%</base> -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\FamilyBoolKey} -% \changes{v3.00}{2008/04/30}{Neue Anweisung} -% Dieses Makro definiert einen Schlüssel für eine Familie. Dieser Schlüssel -% ist ein Schalter, der über diverse Werte geschaltet werden kann. -% Das erste, optionale Argument ist das Familienmitglied, das zweite, -% obligatorische Argument ist die Familie, das dritte der Name des Schlüssels, -% das vierte der Schalter. -% \begin{macrocode} -%<*base> -\newcommand*{\FamilyBoolKey}[4][.\@currname.\@currext]{% - \@ifundefined{if#4}{% - \expandafter\newif\csname if#4\endcsname - }{}% - \DefineFamilyKey[{#1}]{#2}{#3}[true]{\FamilySetBool{#2}{#3}{#4}{##1}}% -} -% \end{macrocode} -% \begin{macro}{\FamilySetBool} -% \changes{v3.00}{2008/04/30}{Neue Anweisung} -% \changes{v3.11a}{2012/05/25}{Argument in Fehlermeldung korrigiert} -% Über diese Anweisung wird der Wert dann gesetzt. Dabei ist das erste -% Argument die Familie, das zweite der Name des Schlüsselt, das dritte der -% Schalter und das vierte schließlich der gewünschte Wert. -% \begin{macrocode} -\newcommand*{\FamilySetBool}[4]{% - \ifstr{#4}{true}{\@nameuse{#3true}}{% - \ifstr{#4}{on}{\@nameuse{#3true}}{% - \ifstr{#4}{yes}{\@nameuse{#3true}}{% - \ifstr{#4}{false}{\@nameuse{#3false}}{% - \ifstr{#4}{off}{\@nameuse{#3false}}{% - \ifstr{#4}{no}{\@nameuse{#3false}}{% - \FamilyUnknownKeyValue{#1}{#2}{#4}{% - `true', `on', `yes', `false', `off', `no'% - }% - }% - }% - }% - }% - }% - }% - \let\FamilyElseValues\@empty -} -%</base> -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\KOMA@unknown@keyval} -% Dieses Makro berichtet über Fehler wegen unbekannter Wertübergabe an -% einen Schlüssel. Das erste Argument ist der Schlüssel, das zweite -% der Wert und das dritte die Liste der möglichen Werte. -% \begin{macrocode} -%<*koma> -\newcommand*{\KOMA@unknown@keyval}{\FamilyUnknownKeyValue{KOMA}} -%</koma> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\KOMA@ifkey} -% \changes{v3.02c}{2009/02/04}{definiert ebenfalls das Familienmitglied} -% Dieses Makro definiert einen Schlüssel, der einen Schalter an Hand des -% Wertes setzt. Als Werte sind "`\texttt{true}"', "`\texttt{false}"', -% "`\texttt{on}"', "`\texttt{off}"', "`\texttt{yes}"' und -% "`\texttt{no}"' erlaubt. Der Default-Wert für den Schalter ist -% grundsätzlich "`false"', so dass der Default-Wert für die Verwendung -% des Schküssels grundsätzlich "`true"' ist. Das erste Argument ist -% der Name des Schlüssels, der zweite ist der Name des Schalters. -% \begin{macrocode} -%<*koma> -\newcommand*{\KOMA@ifkey}{% - \DefineFamilyMember{KOMA}% - \FamilyBoolKey{KOMA}% -} -%</koma> -% \end{macrocode} -% \begin{macro}{\KOMA@set@ifkey} -% Die eigentliche Arbeit bei der ganzen Sache wird von diesem internen -% Makro erledigt. Dabei wird der Name des Schlüssels zu Argument 1, der -% Name des Schalters zu Argument 2 und der Wert des Schlüssels wird -% Argument 3. -% \begin{macrocode} -%<*koma> -\newcommand*{\KOMA@set@ifkey}{\FamilySetBool{KOMA}} -%</koma> -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\FamilyNumericalKey} -% \changes{v3.00}{2008/04/30}{Neue Anweisung} -% \begin{macro}{\Family@Numerical@Key} -% \changes{v3.00}{2008/05/28}{Neu (intern)} -% \changes{v3.08b}{2011/03/31}{fehlendes Argument bei \cs{ifundefined}} -% Ein ähnliches Makro definiert einen Schlüssel, der ein nummerisches Makro -% auf einen bestimmten Wert setzt. Dabei können auch verschiedene symbolische -% Werte auf denselben nummerischen Wert abgebildet werden. Das erste, -% optionale Argument ist das Familienmitglied, das zweite, obligatorische -% Argument ist die Familie, das dritte, obligatorische Argument ist der Name -% der Option, das vierte, optionale Artument ist der Defaultwert für den -% Schlüssel, das fünfte, obligatorische Argument ist der Name des Makros, das -% (in der Voreinstellung als 0) definiert werden soll, das sechste, -% obligatorische Argument ist die Liste der symbolischen und nummerischen -% Werte. Die Liste hat die Form: -% \{\emph{Symbol}\}\{\emph{Wert}\},\{\emph{Symbol}\}\{\emph{Wert}\}\dots -% Das interne Makro wird benötigt, um das vierte, optionale Argument zu -% ermöglichen. Dabei ist dann das erste Argument nicht mehr optional, sondern -% obligatorisch. -% \begin{macrocode} -%<*base> -\newcommand*{\FamilyNumericalKey}[3][.\@currname.\@currext]{% - \@ifnextchar [%] - {\Family@Numerical@Key{#1}{#2}{#3}}{\Family@Numerical@Key{#1}{#2}{#3}[]}% -} -\newcommand*{\Family@Numerical@Key}{} -\def\Family@Numerical@Key#1#2#3[#4]#5#6{% - \@ifundefined{#5}{\@namedef{#5}{0}}{}% - \ifx\relax#4\relax - \DefineFamilyKey[{#1}]{#2}{#3}{\FamilySetNumerical{#2}{#3}{#5}{#6}{##1}}% - \else - \DefineFamilyKey[{#1}]{#2}{#3}[{#4}]{% - \FamilySetNumerical{#2}{#3}{#5}{#6}{##1}}% - \fi -} -% \end{macrocode} -% \begin{macro}{\FamilySetNumerical} -% \changes{v3.11a}{2012/05/28}{call of \cs{FamilyUnknownKeyValue} outside of -% local group} -% Die eigentliche Arbeit dabei wird von diesem Makro erledigt. Dabei -% wird die Familie zu Argument 1, der Name des Schlüssels zu Argument 2, der -% Name des Makros, das definiert werden soll zu Argument 3, die Liste zu -% Argument 4 und der Wert, auf den gesetzt werden soll, zu Argument 5. -% \begin{macrocode} -\newcommand*{\FamilySetNumerical}[5]{% - \begingroup - \edef\@searched{#5}% - \let\@tempa=\@empty - \let\@tempb=\@empty - \@tempswafalse - \@for\@valuelist:=#4\do{% - \if@tempswa\else - \edef\@tempc{\expandafter\@firstoftwo\@valuelist}% - \edef\@tempa{\@tempa\@tempb`\@tempc'}% - \edef\@tempb{, }% - \ifx\@tempc\@searched - \@tempswatrue - \edef\@tempa{\expandafter\@secondoftwo\@valuelist}% - \fi - \fi - }% - \if@tempswa - \edef\@tempa{\endgroup - \noexpand\@namedef{#3}{\@tempa}% - }% - \else - \edef\@tempa{\endgroup - \noexpand\FamilyUnknownKeyValue{#1}{#2}{#5}{\@tempa}% - }% - \fi - \@tempa - \let\FamilyElseValues\@empty -} -%</base> -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\KOMA@ncmdkey} -% \changes{v3.02c}{2009/02/04}{definiert ebenfalls das Familienmitglied} -% Ein ähnliches Makro definiert einen Schlüssel, der ein nummerisches -% Makro auf einen bestimmten Wert setzt. Dabei können auch -% verschiedene symbolische Werte auf denselben nummerischen Wert -% abgebildet werden. Das erste Argument ist obligatorisch und der Name -% des Schlüssels. Das zweite Argument ist optional und der Defaultwert -% für den Schlüssel. Das dritte Argument ist obligatorisch und der -% Name des Makros, das definiert werden soll. Der Defaultwert dafür -% ist 0. Das vierte Argument ist obligatorisch und die Liste der -% symbolischen und nummerischen Wert. Die Liste hat die Form: -% \{\emph{Symbol}\}\{\emph{Wert}\},\{\emph{Symbol}\}\{\emph{Wert}\}\dots -% \begin{macrocode} -%<*koma> -\newcommand*{\KOMA@ncmdkey}{% - \DefineFamilyMember{KOMA}% - \FamilyNumericalKey{KOMA}% -} -%</koma> -% \end{macrocode} -% \begin{macro}{\KOMA@set@ncmdkey} -% Die eigentliche Arbeit dabei wird wahlweise von diesem Makro erledigt. Dabei -% wird der Name des Schlüssels zu Argument 1, der Name des Makros, -% das definiert werden soll zu Argument 2, die Liste zu Argument 3 und -% der Wert, auf den gesetzt werden soll, zu Argument 4. -% \begin{macrocode} -%<*koma> -\newcommand*{\KOMA@set@ncmdkey}{\FamilySetNumerical{KOMA}} -%</koma> -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% -% \begin{macro}{\FamilyStringKey} -% \changes{v3.08}{2010/11/05}{Neue Anweisung} -% \changes{v3.08b}{2011/03/31}{\cs{Family@String@Key} und -% \cs{Family@@String@@Key} vertauscht} -% \begin{macro}{\Family@String@Key} -% \changes{v3.08}{2010/11/05}{Neu (intern)} -% \begin{macro}{\Family@@String@@Key} -% \changes{v3.08}{2010/11/05}{Neu (intern)} -% Ein ähnliches Makro definiert einen Schlüssel, der ein Makro auf einen -% beliegigen Wert setzt. Das erste, optionale Argument ist das -% Familienmitglied, das zweite, obligatorische Argument ist die Familie, das -% dritte, obligatorische Argument ist der Name der Option, das vierte, -% optionale Artument ist der Defaultwert für den Schlüssel, das fünfte, -% obligatorische Argument ist der Name des Makros, das (in der Voreinstellung -% als leer) definiert werden soll. Die internen Makro werden benötigt, um das -% vierte, optionale Argument zu ermöglichen. Dabei ist dann das erste Argument -% nicht mehr optional, sondern obligatorisch. -% \begin{macrocode} -%<*base> -\newcommand*{\FamilyStringKey}[3][.\@currname.\@currext]{% - \@ifnextchar [%] - {\Family@@String@@Key{#1}{#2}{#3}}{\Family@String@Key{#1}{#2}{#3}}% -} -\newcommand*{\Family@@String@@Key}{} -\long\def\Family@@String@@Key#1#2#3[#4]#5{% - \DefineFamilyKey[{#1}]{#2}{#3}[{#4}]{\def#5{##1}}% -} -\newcommand{\Family@String@Key}[4]{% - \DefineFamilyKey[{#1}]{#2}{#3}{\def#4{##1}}% -} -%</base> -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% -% -% \begin{macro}{\KOMA@DeclareDeprecatedOption} -% \changes{v3.01a}{2008/11/20}{neu (intern)} -% \begin{macro}{\KOMA@@DeclareDeprecatedOption} -% \changes{v3.01a}{2008/11/20}{neu (intern)} -% \begin{macro}{\KOMA@@@DeclareDeprecatedOption} -% \changes{v3.01a}{2008/11/20}{neu (intern)} -% Mit Hilfe dieses Makros kann eine Option definiert werden, die -% eigentlich obsolete ist. Statt dieser Option wird dann ein Schlüssel -% verwendet. Das erste Argument ist optional und muss dann der Paketname -% sein. Ist es nicht gesetzt, so wird stattdessen die Klasse -% \cs{KOMAClassName} angenommen. Das zweite Argument ist der Name der -% Option. Das vierte Argument ist das Setzen des gewünschten Schlüssels. -% \begin{macrocode} -%<*koma> -\newcommand*{\KOMA@DeclareDeprecatedOption}{% - \@ifnextchar [%] - {\KOMA@@DeclareDeprecatedOption}% - {\KOMA@@@DeclareDeprecatedOption{\ClassWarningNoLine{\KOMAClassName}}}% -} -\newcommand*{\KOMA@@DeclareDeprecatedOption}[1][]{% - \KOMA@@@DeclareDeprecatedOption{\PackageWarningNoLine{#1}}% -} -\newcommand*{\KOMA@@@DeclareDeprecatedOption}[3]{% - \DeclareOption{#2}{\KOMA@UseDeprecatedOption{#1}{#2}{#3}}% -} -% \end{macrocode} -% \begin{macro}{\KOMA@UseDeprecatedOption} -% \changes{v3.01a}{2008/11/20}{neu (intern)} -% Die eigentliche Arbeit wird von diesem Makro erledigt. Die Argumente sind -% 1. Meldungsbefehl, 2. obsolete Option, 3. Setzen des Schlüssels. -% \begin{macrocode} -\newcommand*{\KOMA@UseDeprecatedOption}[3]{% - \let\scr@sr@co\CurrentOption - #1{% - You've used obsolete option `#2'.\MessageBreak - Usage of this option indicates an old document and\MessageBreak - changes compatibility level using\MessageBreak - `#3,version=first'.\MessageBreak - If you don't want this, you should simply replace\MessageBreak - usage of option `#2' by `#3'% - }% - \KOMAExecuteOptions{#3,version=first}% - \let\CurrentOption\scr@sr@co -} -%</koma> -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% -% \begin{macro}{\KOMA@DeclareStandardOption} -% \changes{v3.01a}{2008/11/21}{neu (intern)} -% \begin{macro}{\KOMA@@DeclareStandardOption} -% \changes{v3.01a}{2008/11/21}{neu (intern)} -% \begin{macro}{\KOMA@@@DeclareStandardOption} -% \changes{v3.01a}{2008/11/21}{neu (intern)} -% Mit Hilfe dieses Makros kann eine Option definiert werden, die -% eigentlich obsolete ist. Statt dieser Option wird dann ein Schlüssel -% verwendet. Das erste Argument ist optional und muss dann der Paketname -% sein. Ist es nicht gesetzt, so wird stattdessen die Klasse -% \cs{KOMAClassName} angenommen. Das zweite Argument ist der Name der -% Option. Das vierte Argument ist das Setzen des gewünschten Schlüssels. -% \begin{macrocode} -%<*koma> -\newcommand*{\KOMA@DeclareStandardOption}{% - \@ifnextchar [%] - {\KOMA@@DeclareStandardOption}% - {\KOMA@@@DeclareStandardOption{\ClassInfoNoLine{\KOMAClassName}}}% -} -\newcommand*{\KOMA@@DeclareStandardOption}[1][]{% - \KOMA@@@DeclareStandardOption{\PackageInfoNoLine{#1}}% -} -\newcommand*{\KOMA@@@DeclareStandardOption}[3]{% - \DeclareOption{#2}{\KOMA@UseStandardOption{#1}{#2}{#3}}% -} -% \end{macrocode} -% \begin{macro}{\KOMA@UseStandardOption} -% \changes{v3.01a}{2008/11/21}{neu (intern)} -% Die eigentliche Arbeit wird von diesem Makro erledigt. Die Argumente sind -% 1. Meldungsbefehl, 2. obsolete Option, 3. Setzen des Schlüssels. -% \begin{macrocode} -\newcommand*{\KOMA@UseStandardOption}[3]{% - \let\scr@sr@co\CurrentOption - #1{% - You've used standard option `#2'.\MessageBreak - This is correct!\MessageBreak - Internally I'm using `#3'.\MessageBreak - If you'd like to set the option with \string\KOMAoptions,\MessageBreak - you'd have to use `#3' there\MessageBreak - instead of `#2', too% - }% - \KOMAExecuteOptions{#3}% - \let\CurrentOption\scr@sr@co -} -%</koma> -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% -% \begin{macro}{\KOMA@DeclareObsoleteOption} -% \changes{v2.96}{2006/08/20}{\cs{CurrentOption wir geschützt}} -% \begin{macro}{\KOMA@@DeclareObsoleteOption} -% \changes{v2.98c}{2008/02/18}{neu (intern)} -% \begin{macro}{\KOMA@@@DeclareObsoleteOption} -% \changes{v2.98c}{2008/02/18}{neu (intern)} -% \begin{macro}{\KOMA@iv@DeclareObsoleteOption} -% \changes{v2.98c}{2008/02/18}{neu (intern)} -% Mit Hilfe dieses Makros kann eine Option definiert werden, die -% eigentlich obsolete ist. Statt dieser Option wird dann ein Schlüssel -% verwendet. Das erste Argument ist optional und muss dann entweder -% \cs{PackageInfo}, \cs{PackageInfoNoLine}, \cs{PackageWarning}, -% \cs{PackageWarningNoLine} oder das gleiche für Klassen sein. Das zweite -% Argument ist ebenfalls optional und der Name des Pakets oder der Klasse. Das -% dritte Argument ist der Name der Option. Das vierte Argument ist das Setzen -% des gewünschten Schlüssels. -% \begin{macrocode} -%<*koma> -\newcommand*{\KOMA@DeclareObsoleteOption}{% - \@ifnextchar [%] - {\KOMA@@DeclareObsoleteOption}% - {\KOMA@@DeclareObsoleteOption[\@gobbletwo]}% -} -\newcommand*{\KOMA@@DeclareObsoleteOption}{} -\def\KOMA@@DeclareObsoleteOption[#1]{% - \@ifnextchar [%] - {\KOMA@@@DeclareObsoleteOption{#1}}% - {\KOMA@@@DeclareObsoleteOption{#1}[]}% -} -\newcommand*{\KOMA@@@DeclareObsoleteOption}{} -\def\KOMA@@@DeclareObsoleteOption#1[#2]#3#4{% - \ifstr{#2}{}{% - \KOMA@iv@DeclareObsoleteOption{#1}{\@currname}{#3}{#4}% - }{% - \KOMA@UseObsoleteOption{#1}{#2}{#3}{#4}% - }% -} -\newcommand*{\KOMA@iv@DeclareObsoleteOption}[4]{% - \DeclareOption{#3}{\KOMA@UseObsoleteOption{#1{#2}}{#3}{#4}}% -} -% \end{macrocode} -% \begin{macro}{\KOMA@UseObsoleteOption} -% \changes{v2.97c}{2007/04/19}{neu (intern)} -% Die eigentliche Arbeit wird von diesem Makro erledigt. Die Argumente sind -% 1. Meldungsbefehl, 2. obsolete Option, 3. Setzen des Schlüssels. -% \begin{macrocode} -\newcommand*{\KOMA@UseObsoleteOption}[3]{% - \let\scr@sr@co\CurrentOption - #1{% - You've used obsolete option `#2'.\MessageBreak - \protect\KOMAExecuteOptions{#3} will be\MessageBreak - used instead.\MessageBreak - You may simply replace `#2'\MessageBreak - by `#3'% - }% - \KOMAExecuteOptions{#3}% - \let\CurrentOption\scr@sr@co -} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\scr@sr@co} -% \changes{v2.96}{2006/08/20}{neu (intern)} -% Da das \texttt{xkeyval}-Paket leider \cs{CurrentOption} vernichtet, das aber -% innerhalb von \cs{ProcessOptions} und \cs{KOMAProcessOptions} nach dem -% Ausführen der Option noch benötigt wird, muss die Anweisung gesichert -% werden. Dafür wird ein Hilfsmakro benötigt. -% \begin{macrocode} -\newcommand*{\scr@sr@co}{} -%</koma> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\KOMA@newobsoletecommand} -% Mit Hilfe dieses Makros kann ein Makro definiert werden, das -% eigentlich obsolete ist. Das Makro verwendet dann schlicht einen -% Schlüssel. Das erste Argument ist optional und muss dann entweder -% \cs{PackageInfo}, \cs{PackageInfoNoLine}, \cs{PackageWarning} oder -% \cs{PackageWarningNoLine} sein. Das zweite Argument ist das Makro. -% Das dritte Argument ist das Setzen des gewünschten Schlüssels. Das -% definierte Makro selbst hat Schaltercharakter, ist also nicht -% \cs{long} und versteht auch keine Argumente. -% \begin{macrocode} -%<*koma> -\newcommand*{\KOMA@newobsoletecommand}[3][\@gobbletwo]{% - \newcommand*{#2}{\KOMA@UseObsoleteCommand{#1}{\string#2}{#3}}% -} -% \end{macrocode} -% \begin{macro}{\KOMA@UseObsoleteCommand} -% \changes{v2.97c}{2007/04/19}{neu (intern)} -% Die eigentliche Arbeit wird von diesem Makro erledigt. Die Argumente sind -% dieselben. -% \begin{macrocode} -\newcommand*{\KOMA@UseObsoleteCommand}[3]{% - #1{% - scrkbase% - }{% - You've used the obsolete command `#2'.\MessageBreak - \protect\KOMAoptions{#3} will be used instead.\MessageBreak - You should also replace `#2' by `\protect\KOMAoptions{#3}'% - }% - \KOMAoptions{#3}% -} -%</koma> -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% -% \iffalse -%</body> -% \fi -% -% \Finale -% -\endinput -% -% end of file `scrkbase.dtx' -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-basics.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-basics.dtx new file mode 100644 index 00000000000..8faf8096b23 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-basics.dtx @@ -0,0 +1,2829 @@ +% \CheckSum{2390} +% \iffalse meta-comment +% ====================================================================== +% scrkernel-basics.dtx +% Copyright (c) Markus Kohm, 2002-2013 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ---------------------------------------------------------------------- +% scrkernel-basics.dtx +% Copyright (c) Markus Kohm, 2002-2013 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% \fi +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \iffalse +%%% From File: $Id: scrkernel-basics.dtx 1502 2013-11-06 11:00:12Z mjk $ +%<package&option>\NeedsTeXFormat{LaTeX2e}[1995/06/01] +%<*driver> +\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ProvidesFile{scrkernel-basics.dtx}[% +%</driver> +%<*driver|(package&option)> +%<package>\ProvidesPackage{% +%<package&base> scrbase% +%<package&koma> scrkbase% +%<package>}[% +%!KOMAScriptVersion + package (% +%<base> KOMA-Script-independent +%<koma> KOMA-Script-dependent + basics and keyval usage)] +%</driver|(package&option)> +%<*dtx> +\ifx\documentclass\undefined + \input scrdocstrip.tex + \@@input scrkernel-version.dtx + \@@input scrstrip.inc + \KOMAdefVariable{COPYRIGHTFROM}{2002} + \generate{\usepreamble\defaultpreamble + \file{scrbase.sty}{% + \from{scrkernel-version.dtx}{package,scrbase}% + \from{scrkernel-basics.dtx}{package,option,base}% + \from{scrkernel-language.dtx}{package,option,base}% + \from{scrlfile.dtx}{load}% + \from{scrkernel-basics.dtx}{package,body,base}% + \from{scrkernel-language.dtx}{package,body,base}% + \from{scrlogo.dtx}{logo}% + }% + } + \@@input scrstrop.inc +\else + \let\endbatchfile\relax +\fi +\endbatchfile +%</dtx> +%<*driver> +\documentclass{scrdoc} +\usepackage[english,ngerman]{babel} +\usepackage[latin1]{inputenc} +\CodelineIndex +\RecordChanges +\GetFileInfo{scrkernel-basics.dtx} +\title{\KOMAScript{} \partname\ \texttt{\filename}% + \footnote{Dies ist Version \fileversion\ von Datei + \texttt{\filename}.}} +\date{\filedate} +\author{Markus Kohm} + +\begin{document} + \maketitle + \tableofcontents + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \changes{v1.0}{2002/07/06}{Beginn der ersten Version} +% \changes{v3.12}{203/03/05}{Verwendung von \cs{@tempa}, \cs{@tempb}, +% \cs{@tempc} eliminiert} +% +% \section{Grundlegenden \KOMAScript-Erweiterungen} +% +% Neue Versionen von \KOMAScript{} machen zunehmend Gebrauch vom +% \textsf{keyval}-Paket. Das \textsf{keyval}-Paket ist Bestandteil des +% \textsf{graphics}-Pakets und muss als solches auf allen +% \TeX-Systemen mit \LaTeX{} enthalten sein. Es genügt jedoch in +% einigen Punkten nicht den Anforderungen von \KOMAScript{}. Deshalb +% werden hier Erweiterungen vorgenommen, die von \KOMAScript-Klassen +% und \KOMAScript-Paketen verwendet werden können. +% +% Darüber hinaus werden immer mehr Teile von \KOMAScript{} von mehr als einem +% Paket oder von Paketen und Klassen verwendet. Diese grundlegenden Dinge +% wurden daher in zwei Pakete, \textsf{scrbase} (für Dinge, die auch von +% anderen Klassen und Paketen genutzt werden können) und \textsf{scrkbase} +% (für Dinge, die \KOMAScript vorbehalten bleiben), ausgegliedert. Dadurch +% werden die Pakete und Klassen selbst kleiner und die können trotzdem +% unabhängig voneinander verwendet werden. Selbstverständlich kann man dieses +% Paket auch ohne den Rest von \KOMAScript{} zum Einsatz bringen. +% +% \StopEventually{\PrintIndex\PrintChanges} +% +% \iffalse +%<*load> +% \fi +% +% \subsection{Laden des Pakets} +% Wer das Paket lädt, tut das allerdings in der Regel sogar bereits +% vor der Definition der Optionen mit: +% \begin{macrocode} +\RequirePackage{scrkbase}[\KOMAScriptVersion] +% \end{macrocode} +% +% \iffalse +%</load> +%<*option> +% \fi +% +% \subsection{\eTeX-Test} +% \changes{v3.02c}{2009/02/19}{Fehlermeldung, wenn nicht \eTeX{} verwendet +% wird} +% +% \begin{macrocode} +%<*base> +\begingroup + \def\reserved@b{}% + \def\reserved@a#1{% + \PackageError{scrbase}{seems you are not running e-TeX#1}{% + Since 2004 the LaTeX team recommends to use e-TeX.\MessageBreak + KOMA-Script since version 2.95 uses several e-TeX features.\MessageBreak + At actual systems `latex' should already use e-TeX.\MessageBreak + At deprecated systems it may be called `elatex'.\MessageBreak + Use either unsupported KOMA-Script up to version 2.9u or\MessageBreak + ask you administrator for LaTeX using e-TeX#1.\MessageBreak + Not using e-TeX#1 is a fatal error!\MessageBreak + Processing cannot be continued!}% + \endgroup + \batchmode \errmessage{}\csname @@end\endcsname\end\relax + \csname endinput\endcsname + }% + \expandafter\ifx\csname eTeXversion\endcsname\relax\else + \ifnum\eTeXversion <2 + \def\reserved@b{ V 2}% + \else + \let\reserved@a\endgroup + \fi + \fi +\expandafter\reserved@a\expandafter{\reserved@b} +%</base> +% \end{macrocode} +% +% \subsection{Der abhängige Teil lädt den unabhängigen Teil} +% +% \begin{macrocode} +%<koma>\RequirePackage{scrbase}[\KOMAScriptVersion] +% \end{macrocode} +% +% \subsection{Laden von \textsf{keyval}} +% +% Hier wird nicht nur das Paket geladen, was ruckzuck mit: +% \begin{macrocode} +%<base>\RequirePackage{keyval} +% \end{macrocode} +% erledigt ist. +% +% +% \subsection{Test von Anweisungen} +% +% \begin{macro}{\scr@ifundefinedorrelax} +% \changes{v2.95c}{2006/08/12}{neu (intern)} +% \changes{v2.97b}{2007/03/08}{vermurkste Logik korrigiert} +% \changes{v2.97c}{2007/04/18}{vermurkste Funktion korrigiert} +% \changes{v2.97c}{2007/04/18}{von \cs{scr@ifundefined} umbenannt} +% \changes{v3.02c}{2009/02/19}{Sonderbehandlung für nicht \eTeX entfernt} +% Dieses Makro arbeitet wie \cs{@ifundefined}, definiert dabei aber +% ein undefiniertes Makro nicht als \cs{relax}. Es muss bereits hier definiert +% werden, weil es gleich verwendet wird. +% \begin{macrocode} +%<*base> +\newcommand{\scr@ifundefinedorrelax}[1]{% + \ifcsname #1\endcsname + \expandafter\ifx\csname #1\endcsname\relax + \expandafter\expandafter\expandafter\@firstoftwo + \else + \expandafter\expandafter\expandafter\@secondoftwo + \fi + \else + \expandafter\@firstoftwo + \fi +} +%</base> +% \end{macrocode} +% \end{macro}^^A \scr@ifundefinedorrelax +% +% +% \subsection{Erweiterung von Meldungen} +% +% \begin{macro}{\PackageErrorNoLine} +% \changes{v3.12}{2013/09/19}{neu} +% Dieses Makro wird zwar bereits seit langem für einige wenige Fehlermeldungen +% verwendet, existierte bisher aber nicht. Es wird für Fehlermeldungen +% verwendet, denen keine eindeutige Zeilennummer zugeordnet werden kann. In +% der Regel ist dies zu vermeiden und besser \cs{PackageError} zu verwenden. +% \begin{macrocode} +%<*base> +\newcommand*\PackageErrorNoLine[2]{% + \PackageError{#1}{#2\@gobble}% +} +%</base> +% \end{macrocode} +% \end{macro} +% +% +% \subsection{Definition von KOMA-\textsf{keyval}-Schlüsseln (Basis)} +% +% Üblicherweise verwendet \KOMAScript{} für alle +% \textsf{keyval}-Schlüssel die gleiche Bereichskennung +% "`\texttt{KOMA}"'. Dadurch ist es möglich, dass Pakete die Schlüssel +% der Klassen umdefinieren und dass jeder Teil von \KOMAScript{} die +% Schlüssel jedes anderen Teils ausführen kann -- sobald sie definiert +% sind. +% +% \begin{macro}{\DefineFamily} +% \changes{v3.00}{2008/04/30}{Neue Anweisung} +% \begin{macro}{\DefineFamilyMember} +% \changes{v3.00}{2008/04/30}{Neue Anweisung} +% \begin{macro}{\DefineFamilyKey} +% \changes{v3.00}{2008/04/30}{Neue Anweisung} +% \changes{v3.12}{2013/03/04}{Setzen von \cs{FamilyKeyState}} +% \begin{macro}{\scr@if@family} +% \changes{v3.00}{2008/04/30}{Neu (intern)} +% \begin{macro}{\scr@if@familymember} +% \changes{v3.00}{2008/04/30}{Neu (intern)} +% Familie, Familienmitglied und \textsf{keyval}-Schlüssel für ein +% Familienmitglied definieren. Dabei wird als Familienmitglied per Default der +% (Datei-)Name des aktuellen Pakets bzw. der aktuellen Klasse verwendet. +% \begin{macrocode} +%<*base> +\newcommand*{\DefineFamily}[1]{% + \scr@ifundefinedorrelax{#1@key@familylist}{% + \@namedef{#1@key@familylist}{}% + }{}% +} +\newcommand*{\scr@if@family}[2]{% + \scr@ifundefinedorrelax{#1@key@familylist}{% + \PackageError{scrbase}{% + unknown family `#1'% + }{% + You've tried to #2 for family `#1'.\MessageBreak + This my be done only for previous defined families.\MessageBreak + You should call `\string\DefineFamily{#1}' first.% + }% + }% +} +\newcommand*{\DefineFamilyMember}[2][.\@currname.\@currext]{% + \scr@if@family{#2}{define a family member}{% + \edef\reserved@a{% + \noexpand\in@{#2#1,}{\csname #2@key@familylist\endcsname}}% + \reserved@a + \ifin@\else + \expandafter\edef\csname #2@key@familylist\endcsname{% + \@nameuse{#2@key@familylist}#2#1,}% + \fi + }% +} +\newcommand*{\scr@if@familymember}[3]{% + \scr@if@family{#2}{#3}{% + \edef\reserved@a{% + \noexpand\in@{#2#1,}{\csname #2@key@familylist\endcsname}}% + \reserved@a + \ifin@ + \expandafter\@firstofone + \else + \PackageError{scrbase}{% + unknown member `#1' at family `#2'% + }{% + You've tried to #3 for member `#1' of family `#2'.\MessageBreak + This my be done only for previous defined family members.\MessageBreak + You should call `\string\DefineFamilyMember[{#1}]{#2}' first.% + }% + \expandafter\@gobble + \fi + }% +} +\newcommand*{\DefineFamilyKey}[3][.\@currname.\@currext]{% + \@ifnextchar[%] + {% + \edef\reserved@a{#1}% + \expandafter\scr@define@family@key + \expandafter{\reserved@a}{#2}{#3}% + }{% + \edef\reserved@a{#1}% + \expandafter\scr@define@family@key@nodefault + \expandafter{\reserved@a}{#2}{#3}% + }% +} +\newcommand*{\scr@define@family@key}{} +\def\scr@define@family@key#1#2#3[#4]#5{% + \scr@if@familymember{#1}{#2}{define a key}{% + \define@key{#2#1}{#3}[{#4}]{% + \def\FamilyOfKey{#2}\def\FamilyMemberOfKey{#1}% + \FamilyKeyStateUnknown + #5% + \def\FamilyOfKey{#2}\def\FamilyMemberOfKey{#1}% + }% + }% +} +\newcommand*{\scr@define@family@key@nodefault}[4]{% + \scr@if@familymember{#1}{#2}{define a key}{% + \define@key{#2#1}{#3}{% + \def\FamilyOfKey{#2}\def\FamilyMemberOfKey{#1}% + \FamilyKeyStateUnknown + #4 + \def\FamilyOfKey{#2}\def\FamilyMemberOfKey{#1}% + }% + \@namedef{KV@#2#1@#3@default}{% + \def\FamilyOfKey{#2}\def\FamilyMemberOfKey{#1}% + \FamilyKeyStateNeedValue + }% + }% +} +%</base> +% \end{macrocode} +% \end{macro}^^A \scr@if@familymember +% \end{macro}^^A \scr@if@family +% \end{macro}^^A \DefineFamilyKey +% \end{macro}^^A \DefineFamilyMember +% \end{macro}^^A \DefineFamily +% +% \begin{macro}{\FamilyKeyState} +% \changes{v3.12}{2013/03/04}{Neue Anweisung} +% \begin{macro}{\FamilyKeyStateProcessed} +% \changes{v3.12}{2013/03/04}{Neue Anweisung} +% \begin{macro}{\FamilyKeyStateUnknown} +% \changes{v3.12}{2013/03/04}{Neue Anweisung}% +% \begin{macro}{\FamilyKeyStateUnknownValue} +% \changes{v3.12}{2013/03/04}{Neue Anweisung}% +% \begin{macro}{\FamilyKeyStateNeedValue} +% \changes{v3.12}{2013/03/04}{Neue Anweisung}% +% \cs{FamilyKeyState} gibt den Status der Verarbeitung eines Schlüssels +% an. In der Voreinstellung wird der Status beim Aufruf des Schlüssels auf +% \cs{FamilyKeyStateUnknown} gesetzt, was anzeigt, dass der Zustand +% unbekannnt ist, der Schlüssel aber möglicherweise verarbeitet +% wurde. Daneben gibt es den Zustand \cs{FamilyKeyStateProcessed}, der +% anzeigt, dass der Schlüssel komplett verarbeitet wurde. Alternativ kann +% das Makro einen Text enthalten, der ggf. Teil einer Fehlermeldung, einer +% Warnung oder einer Information über Probleme bei der Verarbeitung wird. Es +% ist zu beachten, dass \cs{FamilyKeyState} nur unmittelbar nach der +% Verarbeitung gültig ist. +% \begin{macrocode} +%<*base> +\newcommand*{\FamilyKeyState}{} +\newcommand*{\FamilyKeyStateUnknown}{% + \let\FamilyKeyState\FamilyKeyStateUnknown +} +\newcommand*{\FamilyKeyStateUnknownValue}{% + \let\FamilyKeyState\FamilyKeyStateUnknownValue +} +\newcommand*{\FamilyKeyStateNeedValue}{% + \let\FamilyKeyState\FamilyKeyStateNeedValue +} +\newcommand*{\FamilyKeyStateProcessed}{% + \let\FamilyKeyState\FamilyKeyStateProcessed +} +\let\FamilyKeyState\FamilyKeyStateUnknown +%</base> +% \end{macrocode} +% \end{macro}^^A \FamilyKeyStateNeedValue +% \end{macro}^^A \FamilyKeyStateUnknownValue +% \end{macro}^^A \FamilyKeyStateUnknown +% \end{macro}^^A \FamilyKeyStateProcessed +% \end{macro}^^A \FamilyKeyState +% +% \begin{macro}{\FamilyOfKey} +% \changes{v3.12}{2013/03/04}{Neue Anweisung} +% \begin{macro}{\FamilyMemberOfKey} +% \changes{v3.12}{2013/03/04}{Neue Anweisung} +% Geben innerhalb der Verarbeitung eines Schlüssels dessen Familie bzw. das +% zugehörige Familienmitglied an. +% \begin{macrocode} +%<*base> +\newcommand*{\FamilyOfKey}{} +\newcommand*{\FamilyMemberOfKey}{} +%</base> +% \end{macrocode} +% \end{macro}^^A \FamilyMemberOfKey +% \end{macro}^^A \FamilyOfKey +% +% \begin{macro}{\KOMA@key} +% \changes{v2.97c}{2007/04/19}{neues optionales Argument} +% \begin{macro}{\KOMA@key@familylist} +% \textsf{keyval}-Schlüssel für \KOMAScript{} werden mit \cs{KOMAkey} +% definiert, damit auch die Familie korrekt gesetzt und ggf. der Liste der +% Familien (\cs{KOMA@key@familylist}) hinzugefügt wird. +% \begin{macrocode} +%<*koma> +\newcommand*{\KOMA@key}[1][.\@currname.\@currext]{% + \DefineFamilyMember{KOMA}% + \DefineFamilyKey[#1]{KOMA}% +} +%</koma> +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \subsection{Optionen} +% +% Ab Version 2.97c sollen sowohl globale KOMA-Optionen als auch die +% KOMA-Optionen der jeweiligen Datei als auch die normalen Optionen in der +% Reihenfolge ausgeführt werden, in der sie angegeben wurden -- zuerst die +% globalen Optionen, dann die lokalen. Dabei werden nur die Optionen +% verwendet, die auch für das jeweilige Paket bzw. die jeweilige Klasse +% definiert wurden. +% +% \begin{macro}{\@globaloptionslist} +% \changes{v2.96}{2006/11/26}{new} +% \changes{v2.96}{2006/11/26}{Klassenoptionen durchsuchen} +% Die Lister der globalen Optionen wird teilweise benötigt. Weil +% \textsl{xkeyval} dämlicherweise glaubt, es müsse alle Optionen mit +% Gleichheitszeichen aus der Liste der Klassenoptionen entfernen +% (seltsamerweise aber nicht die (x)keyval-Optionen, die ohne Wert aufgerufen +% werden, weil ihr Defaultwert verwendet werden soll), wird hier ein eigenes +% Makro definiert. +% \begin{macrocode} +%<*base> +\newcommand*{\@globaloptionslist}{} +\let\@globaloptionslist\@classoptionslist +\scr@ifundefinedorrelax{XKV@classoptionslist}{}{% + \ifx\XKV@classoptionslist\@empty\else + \let\@globaloptionslist\XKV@classoptionslist + \fi +} +%</base> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\FamilyProcessOptions} +% \changes{v3.00}{2008/04/30}{Neue Anweisung}% +% \changes{v3.11a}{2012/06/11}{Klassen melden falsche Werte nicht +% selbst als Fehler, sondern informieren nur darüber} +% \changes{v3.12}{2013/03/04}{Fehlerbehandlung} +% Es ist zu beachten, dass falsche Werte für Optionen grundsätzlich nicht in +% der Verarbeitung der Optionen per Info, Warnung oder Fehler gemeldet werden +% sollten, sondern über setzen von \cs{FamilyKeyState}. Erst, wenn auch andere +% Familienmitglieder den Wert nicht verarbeiten können, ergibt sich daraus +% ggf. eine Meldung, die dann von der Verarbeitung hier erzeugt wird. +% Es wird darauf hingewiesen, dass diese Anweisung nicht reentrant ist. Das +% bedeutet, dass man es innerhalb der eigenen Ausführung nicht erneut aufrufen +% darf. +% \begin{macro}{\scr@removeunused} +% \changes{v3.10}{2011/09/12}{neu (intern)}% +% \changes{v3.12}{2013/03/04}{entfernt} +% \end{macro}^^A \scr@removeunused +% \begin{macro}{\scr@optiontest} +% \changes{v2.97c}{2007/04/18}{neu (intern)}% +% \changes{v3.12}{2013/03/04}{entfernt}% +% \begin{macro}{\scr@pti@ntest} +% \changes{v2.97c}{2007/04/18}{neu (intern)}% +% \changes{v3.12}{2013/03/04}{entfernt}% +% \end{macro}^^A \scr@pti@ntest +% \end{macro}^^A \scr@optiontest +% \begin{macrocode} +%<*base> +\newcommand*{\FamilyProcessOptions}[2][.\@currname.\@currext]{% + \ifx\AtEndOfFamilyOptions\scr@AtEndOfFamilyOptions + \PackageError{scrbase}{nested \string\FamilyProcessOptions\space + detected\MessageBreak}{% + \string\FamilyProcessOptions\space has been used while processing or + setting options.\MessageBreak + This is currently not allowed. You should contact the author of the + causing\MessageBreak + code.\MessageBreak + This error is fatal. You should not continue.% + }% + \fi + \let\AtEndOfFamilyOptions\scr@AtEndOfFamilyOptions + \@namedef{scr@after@options@#1@hook}{\@namedef{scr@after@options@#1@hook}{}}% + \let\ds@\@empty + \edef\@curroptions{\@ptionlist{\@currname.\@currext}}% + \ifx\@currext\@clsextension\else +% \end{macrocode} +% Bei Klassen ist die aktuelle Optionenliste gleichzeitig die globale +% Optionenliste. Daher dürften Klassen nicht auch noch die globale Optionliste +% verarbeiten. Paket verarbeiten jedoch auch die globale Optionenliste, geben +% dazu jedoch keine Fehler oder Warnungen aus. +% \begin{macrocode} + \@for\CurrentOption:=\@globaloptionslist\do{% +% \end{macrocode} +% Die Optionen werden in der Reihenfolge verarbeitet, in der sie als globale +% Optionen angegeben wurden. Dabei werden nur Optionen verarbeitet, die nicht +% leer sind und die im aktuellen Paket bekannt sind. Das sind also keine +% \textsf{keyval}-Optionen, sondern normale \LaTeX-Optionen. +% \begin{macrocode} + \ifx\CurrentOption\@empty\else + \@expandtwoargs\in@{,\CurrentOption,}{,\@declaredoptions,}% + \ifin@ + \@use@ption + \expandafter\let\csname ds@\CurrentOption\endcsname\@empty + \else +% \end{macrocode} +% Wenn die Option keine \LaTeX-Option ist, kann sie noch immer eine +% \textsf{keyval}-Option sein. In diesem Fall wird geprüft, ob das +% Mitglied (\#1) eine Option in der Familie (\#2) hat. Wenn das der Fall ist, +% wird die Option unmittelbar ausgeführt und zwar einmal ohne Mitglied (also +% Optionen, die global der Familie gehören) und dann mit Mitglied. Im Fall +% einer unbekannnten Option oder eines unbekannten Wertes, geschieht hier gar +% nichts. +% \begin{macrocode} + \scr@ifprocess@curroption{#1}{#2}{% + \@expandtwoargs\@removeelement\CurrentOption + \@unusedoptionlist\@unusedoptionlist + }{}% + \fi + \fi + }% + \fi +% \end{macrocode} +% Sowohl für Klassen als auch für Pakete werden nun die aktuellen Optionen +% abgearbeitet. In diesem Fall ist zu beachten, dass nicht definierte Optionen +% oder unbekannte Werte für Optionen unmittelbar zu einem Fehler führen, wenn +% es sich um ein Paket handelt. Bei Klassen landet die Option hingegen in der +% Liste der nicht benutzten globalen Optionen. +% \begin{macrocode} + \@for\CurrentOption:=\@curroptions\do{% + \scr@ifundefinedorrelax{ds@\CurrentOption}{% + \@use@ption + \scr@ifprocess@curroption{#1}{#2}{}\default@ds + }\@use@ption + }% +% \end{macrocode} +% Fast zum Schluss wird wir im \LaTeX-Kern der Optionencode für alle +% deklarierten \LaTeX-Optionen gelöscht und dafür gesorgt, dass nach dem Paket +% keine unverarbeiteten Optionen mehr vorhanden sind. +% \begin{macrocode} + \@for\CurrentOption:=\@declaredoptions\do{% + \expandafter\let\csname ds@\CurrentOption\endcsname\relax}% + \let\CurrentOption\@empty + \let\@fileswith@pti@ns\@@fileswith@pti@ns + \AtEndOfPackage{\let\@unprocessedoptions\relax}% +% \end{macrocode} +% Jetzt muss noch der Hook ausgeführt und wieder gelöscht werden. +% \begin{macrocode} + \let\AtEndOfFamilyOptions\@firstofone + \@nameuse{scr@after@options@#1@hook}% +} +\@onlypreamble\FamilyProcessOptions +% \end{macrocode} +% \begin{macro}{\AtEndOfFamilyOptions} +% \changes{v3.12}{2013/03/04}{Neue Anweisung} +% Mit dieser Option kann innerhalb der Ausführung einer Option Material auf +% das Ende der aktuellen \cs{FamilyProcessOptions}, \cs{FamilyExecuteOptions}, +% \cs{FamilyOptions} oder \cs{FamilyOption} verzögert werden. Als einziges +% Argument wird der zu verzögernde Code erwartet, der an \cs{l@addto@macro} +% delegiert wird. +% \begin{macro}{\scr@AtEndOfFamilyOptions} +% \changes{v3.12}{2013/05/29}{Neue Anweisung (intern)} +% \begin{macrocode} +\newcommand*{\scr@AtEndOfFamilyOptions}{% + \expandafter + \l@addto@macro\csname scr@after@options@\FamilyOfKey @hook\endcsname +} +\newcommand*{\AtEndOfFamilyOptions}{} +\let\AtEndOfFamilyOptions\@firstofone +% \end{macrocode} +% \end{macro}^^A \scr@AtEndOfFamilyOptions +% \end{macro}^^A \AtEndOfFamilyOptions +% \begin{macro}{\scr@ifprocess@curroption} +% Dieses Makro führt eine aktuelle \textsf{keyval}-Option für das angegebene +% Mitglied (\#1) der angegebenen Familie (\#2) aus. Falls die Option keinen +% entsprechenden Wert hat, wird das vierte Argument ausgeführt, anderenfalls +% nicht. Es ist zu beachten, dass vor der Option des Mitglieds die +% Familien-Option auszuführen ist. Ggf. benötigt das Mitglied dann keine +% entsprechende Option. +% \begin{macrocode} +\newcommand*\scr@ifprocess@curroption[2]{% + \def\reserved@a##1=##2\@nil{\def\reserved@a{##1}}% + \expandafter\reserved@a\CurrentOption=\@nil + \scr@ifundefinedorrelax{KV@#2@\reserved@a}{% + \scr@ifundefinedorrelax{KV@#2#1@\reserved@a}{% + \let\FamilyKeyState\OptionNotUsed + }{% + \protected@edef\reserved@b{\noexpand\setkeys{#2#1}{\CurrentOption}% + \noexpand\def\noexpand\CurrentOption{\CurrentOption}}% + \reserved@b + \ifx\FamilyKeyState\FamilyKeyStateUnknown + \PackageInfo{scrbase}{Unknown processing state.\MessageBreak + Processing option `\CurrentOption'\MessageBreak + of member `#1' of family\MessageBreak + `#2' doesn't set\MessageBreak + a valid state. This will be interpreted\MessageBreak + as \string\FamilyKeyStateProcessed + }% + \FamilyKeyStateProcessed + \fi + }{% + \let\FamilyKeyState\OptionNotUsed + }% + }{% + \proteced@edef\reserved@b{\noexpand\setkeys{#2}{\CurrentOption}% + \noexpand\def\noexpand\CurrentOption{\CurrentOption}}% + \reserved@b + \ifx\FamilyKeyState\FamilyKeyStateUnknown + \PackageInfo{scrbase}{Unknown processing state.\MessageBreak + Processing option `\CurrentOption'\MessageBreak + of family `#2'\MessageBreak + doesn't set a valid state.\MessageBreak + This will be interpreted\MessageBreak + as \string\FamilyKeyStateProcessed + }% + \FamilyKeyStateProcessed + \fi + \def\reserved@a##1=##2\@nil{\def\reserved@a{##1}}% + \expandafter\reserved@a\CurrentOption=\@nil + \scr@ifundefinedorrelax{KV@#2#1@\reserved@a}{}{% + \protected@edef\reserved@b{\noexpand\setkeys{#2#1}{\CurrentOption}% + \noexpand\def\noexpand\CurrentOption{\CurrentOption}}% + \ifx\FamilyKeyState\FamiliyKeyStateProcessed + \reserved@b + \FamilyKeyStateProcessed + \else + \reserved@b + \ifx\FamilyKeyState\FamilyKeyStateUnknown + \PackageInfo{scrbase}{Unknown processing state.\MessageBreak + Processing option `\CurrentOption'\MessageBreak + of member `#1' of family\MessageBreak + `#2' doesn't set\MessageBreak + a valid state. This will be interpreted\MessageBreak + as \string\FamilyKeyStateProcessed + }% + \FamilyKeyStateProcessed + \fi + \fi + }% + }% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi +} +%</base> +% \end{macrocode} +% \end{macro}^^A \scr@process@curroption +% \end{macro}^^A \FamilyProcessOptions +% +% \begin{macro}{\KOMAProcessOptions} +% \changes{v2.97c}{2007/04/18}{neu}% +% \changes{v3.00}{2008/04/30}{kein optionales Argument mehr}% +% Diese Anweisung führt alle Optionen, sowohl normal deklarierte als auch +% keyval-Optionen eines Pakets bzw. einer Klasse in der Reihenfolge, in der +% sie verwendet wurden aus -- zuerst globale Optionen, dann lokale +% Optionen. Das entspricht der Verwendung von \cs{ProcessOptions*} mit dem +% Unterschied, dass eben auch die keyval-Optionen abgearbeitet +% werden. keyval-Optionen, die keiner einzelnen Klasse und keinem einzelnen +% Paket zugeordnet werden, werden dabei vor gleichnamigen eigenen +% keyval-Optionen ausgeführt. +% \begin{macrocode} +%<*koma> +\newcommand*{\KOMAProcessOptions}{\FamilyProcessOptions{KOMA}} +\@onlypreamble\KOMAProcessOptions +%</koma> +% \end{macrocode} +% \end{macro} +% +% \begin{option}{internalonly} +% \changes{v2.96}{2006/11/26}{neu} +% \changes{v2.97c}{2007/06/20}{geht auch ohne Argument} +% \begin{macro}{\dont@let@as@internal@defined} +% \changes{v2.96}{2006/11/26}{neu (intern)} +% Anweisungen, die mit einem internen und einem Anwendername vorhanden sind, +% können vor dem Anwender optional verborgen werden. Wird kein Argument +% angegeben, so werden alle Anweisungen verborgen. +% \begin{macrocode} +%<*base> +\newcommand*{\dont@let@as@internal@defined}{/} +\newif\if@let@as@internalonly@defined\@let@as@internalonly@definedfalse +\DefineFamily{KOMA} +\DefineFamilyMember{KOMA} +\DefineFamilyKey{KOMA}{internalonly}[\relax]{% + \ifx\relax#1\relax + \@let@as@internalonly@definedtrue + \else + \@let@as@internalonly@definedfalse + \begingroup + \@expandtwoargs\in@{#1}\dont@let@as@internal@defined + \expandafter\endgroup + \ifin@\else\g@addto@macro\dont@let@as@internal@defined{#1/}\fi + \fi +} +%</base> +% \end{macrocode} +% \end{macro} +% \end{option} +% +% \changes{v2.96}{2006/08/20}{Optionen werden abgearbeitet} +% \changes{v2.97c}{2007/04/18}{Optionen werden mit \cs{KOMAProcessOptions} +% abgearbeitet} +% \begin{macrocode} +%<koma>\KOMAProcessOptions\relax +%<base>\FamilyProcessOptions{KOMA}\relax +% \end{macrocode} +% +% \iffalse +%</option> +%<*body> +% \fi +% +% \subsection{Ein wenig zusätzliche Mathematik für \eTeX} +% +% \begin{macro}{\XdivY} +% \changes{v3.05a}{2010/03/10}{Neu} +% Ergebnis ist erster Argument durch zweites abgerundet auf die nächst +% kleinere ganze Zahl. +% \begin{macrocode} +%<*base> +\newcommand*{\XdivY}[2]{% + \numexpr ( #1 + #2 / 2 ) / #2 - 1\relax +} +%</base> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\XmodY} +% \changes{v3.05a}{2010/03/10}{Neu} +% Ergebnis ist erstes Argument modulo zweites Argument. +% \begin{macrocode} +%<*base> +\newcommand*{\XmodY}[2]{% + \numexpr #1 - #2 * \XdivY{#1}{#2}\relax +} +%</base> +% \end{macrocode} +% \end{macro} +% +% \subsection{Häufig benötigte Befehle} +% +% \begin{macro}{\if@atdocument} +% \changes{v2.95}{2002/12/05}{neuer Schalter} +% \begin{macro}{\@atdocumenttrue} +% \begin{macro}{\@atdocumentfalse} +% Dieser Schalter wird bei \cs{begin}\texttt{\{document\}} wahr. Er +% wird von \KOMAScript{} für Befehle verwendet, die sich +% unterschiedlich verhalten, je nachdem, ob sie in der Präambel oder +% danach aufgerufen werden. +% \begin{macrocode} +%<*base> +\newif\if@atdocument +\AtBeginDocument{\@atdocumenttrue} +\@onlypreamble\@atdocumentrue +\@onlypreamble\@atdocumentfalse +%</base> +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\let@as@internal@defined} +% \changes{v2.95}{2002/08/19}{neu (intern)} +% \changes{v2.95c}{2006/08/12}{Warnung bei Umdefinierung} +% \changes{v2.96}{2006/11/26}{Herausreichen von internen Makros als +% Benutzermakros kann verhindert werden} +% \changes{v2.97c}{2007/06/20}{Herausreichen von internen Makros kann +% generell verhindert werden} +% \changes{v3.10}{2010/10/26}{\cs{ignorespaces} beim \cs{document}-Patch +% ergänzt} +% Dieses Makro wird intern verwendet, um dokumentierte Makros mit der +% Definition von internen Makros zu versehen, falls sie nicht bereits +% definiert oder als nicht zu definieren markiert sind. Der Name des +% dokumentierten Makros wird als Parameter übergeben. Dies wird gleich +% benötigt. +% \begin{macrocode} +%<*base> +\newcommand*{\let@as@internal@defined}[1]{% + \begingroup + \if@let@as@internalonly@defined + \in@true + \else + \@expandtwoargs\in@{/#1/}\dont@let@as@internal@defined + \fi + \expandafter\endgroup + \ifin@ + \PackageInfo{% + scrbase% + }{% + \expandafter\string\csname #1\endcsname\space excluded from being + defined% + }% + \else + \@ifundefined{#1}{% + \begingroup + \expandafter\def\expandafter\reserved@a + \expandafter{\csname scr@#1\endcsname} + \expandafter\def\expandafter\reserved@b + \expandafter{\csname #1\endcsname} + \expandafter\expandafter\expandafter\endgroup + \expandafter\expandafter\expandafter\let\expandafter\reserved@b\reserved@a + \if@atdocument\else + \g@addto@macro\document{% + \expandafter\ifx\csname #1\expandafter\endcsname + \csname scr@#1\endcsname + \else + \PackageWarning{scrbase}{% + \expandafter\string\csname #1\endcsname\space was + redefined\MessageBreak + at the document preamble.\MessageBreak + If you did not redefine it by yourself, have a\MessageBreak + a look at the description of this command at\MessageBreak + the manual of every package you are using\@gobble + }% + \fi + \ignorespaces + }% + \fi + }{% + \PackageInfo{% + scrbase% + }{% + \expandafter\string\csname #1\endcsname\space already + defined.\MessageBreak + If \expandafter\string\csname #1\endcsname\space does not behave + like\MessageBreak + it was described at the KOMA-Script manual, try to\MessageBreak + load `scrbase.sty' earlier or find out at which\MessageBreak + package or class \expandafter\string\csname #1\endcsname\space + was defined before\@gobble + }% + }% + \fi +} +%</base> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ifundefinedorrelax} +% \changes{v2.95}{2002/08/21}{neu} +% \changes{v2.95c}{2006/08/12}{über interne Anweisung definiert} +% \changes{v2.97c}{2007/06/20}{umbenannt von \cs{ifundefined}} +% Dieses Makro arbeitet wie \cs{@ifundefined}, definiert dabei aber +% ein undefiniertes Makro nicht als \cs{relax}. +% \begin{macrocode} +%<*base> +\let@as@internal@defined{ifundefinedorrelax} +%</base> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ifnotundefined} +% \changes{v2.95}{2002/08/21}{neu} +% \changes{v2.95c}{2006/08/12}{nutzt \eTeX{} wenn möglich} +% \changes{v3.02c}{2009/02/19}{\eTeX{} ist zwingend} +% Dieses Makro arbeitet genau umgekehrt zu \cs{ifundefined}. Manchmal +% ist es ganz nützlich, auch das zu haben. Dieses Makro heißt nicht +% \cs{ifdefined}, weil \eTeX\ bereits ein solches Primitiv bietet. +% \begin{macrocode} +%<*base> +\newcommand{\ifnotundefined}[1]{% + \ifcsname #1\endcsname + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi +} +%</base> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ifstr} +% \changes{v2.95}{2004/07/20}{if- und then-Teil werden nicht gefressen} +% \changes{v3.04b}{2010/01/29}{\cs{edef} durch \cs{protected@edef} ersetzt} +% Dieses Makro vergleicht zwei Tokenfolgen. Eigentlich müsste es also +% eher \cs{ifequal} oder ähnlich heißen. +% \begin{macrocode} +%<*base> +\newcommand\ifstr[2]{% + \begingroup\protected@edef\reserved@a{#1}\protected@edef\reserved@b{#2}% + \ifx\reserved@a\reserved@b + \endgroup\expandafter\@firstoftwo + \else + \endgroup\expandafter\@secondoftwo + \fi +} +%</base> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ifstrstart} +% \changes{v3.12}{2013/11/05}{neu}%^^A +% Falls die Expansion des ersten Arguments mit der Expansion des zweiten +% Arguments beginnt, wird das dritte Argument ausgeführt, sonst das vierte. +% \begin{macrocode} +%<*base> +\newcommand*{\ifstrstart}[2]{% + \begingroup + \edef\reserved@a{\noexpand\@ifstrstart{#1}{#2}}% + \reserved@a{\aftergroup\@firstoftwo}{\aftergroup\@secondoftwo}% + \endgroup +} +% \end{macrocode} +% \begin{macro}{\@ifstrstart} +% \changes{v3.12}{2013/11/05}{neu (intern)}%^^A +% Hilfsmakro, damit die Argumente vollständig expandiert werden können. +% \begin{macrocode} +\newcommand*{\@ifstrstart}[2]{% + \def\reserved@a ##1#2##2\@nil{% + \if\relax\detokenize{##1}\relax + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + }% + \reserved@a#1#2\@nil +} +%</base> +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\ifisdimen} +% \changes{v3.12}{2013/11/05}{neu}%^^A +% Falls die Expansion des ersten Arguments eine \cs{dimen} ist, wird das +% zweite Argument ausgeführt, sonst das dritte. +% \begin{macrocode} +%<*base> +\newcommand*{\ifisdimen}[1]{% + \begingroup + \edef\reserved@a{#1}% + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter\reserved@a + \expandafter\expandafter\expandafter{\expandafter\meaning\reserved@a}% + \expandafter\def\expandafter\reserved@b\expandafter{\string\dimen}% + \ifstrstart{\reserved@a}{\reserved@b}{% + \afterassignment\scr@ifrelax@to@nnil + \@tempdima=#1\relax\@nnil{% + \aftergroup\@firstoftwo + }{% + \aftergroup\@secondoftwo + }% + }{\aftergroup\@secondoftwo}% + \endgroup +} +% \end{macrocode} +% \begin{macro}{\scr@ifrelax@to@nnil} +% \changes{v3.12}{2013/11/05}{neu (intern)}%^^A +% Hilfsmakro, zur Verwendung beispielsweise nach Zuweissungen. Falls alles bis +% zum ersten \cs{@nnil} aus genau einem \cs{relax} besteht, wird das erste +% Argument ausgeführt, sonst das zweite. +% \begin{macrocode} +\newcommand*{\scr@ifrelax@to@nnil}{} +\def\scr@ifrelax@to@nnil#1\@nnil{% + \begingroup + \def\reserved@a{#1}\def\reserved@b{\relax}% + \ifx\reserved@a\reserved@b + \aftergroup\@firstoftwo + \else + \aftergroup\@secondoftwo + \fi + \endgroup +} +%</base> +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\ifisdimexpr} +% \changes{v3.12}{2013/11/05}{neu} +% Falls die Expansion des ersten Arguments eine \cs{dimexpr} ist, wird das +% zweite Argument ausgeführt, sonst das dritte. Achtung: Falls der Ausdruck +% ungültig ist, so wird ein Fehler gemeldet! +% \begin{macrocode} +%<*base> +\newcommand*{\ifisdimexpr}[1]{% + \begingroup + \edef\reserved@a{#1}% + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter\reserved@a + \expandafter\expandafter\expandafter{\expandafter\meaning\reserved@a}% + \expandafter\def\expandafter\reserved@b\expandafter{\string\dimexpr}% + \ifstrstart{\reserved@a}{\reserved@b}{% + \afterassignment\scr@ifemptyorrelax@to@nnil + \@tempdima=#1\relax\@nnil{% + \aftergroup\@firstoftwo + }{% + \aftergroup\@secondoftwo + }% + }{\aftergroup\@secondoftwo}% + \endgroup +} +% \end{macrocode} +% \begin{macro}{\scr@ifemptyorrelax@to@nnil} +% \changes{v3.12}{2013/11/05}{neu (intern)}%^^A +% Hilfsmakro, zur Verwendung beispielsweise nach Zuweissungen. Falls alles bis +% zum ersten \cs{@nnil} leer ist oder aus genau einem \cs{relax} besteht, wird +% das erste Argument ausgeführt, sonst das zweite. +% \begin{macrocode} +\newcommand*{\scr@ifemptyorrelax@to@nnil}{} +\def\scr@ifemptyorrelax@to@nnil#1\@nnil{% + \begingroup + \def\reserved@a{#1}\def\reserved@b{\relax}% + \ifx\reserved@a\reserved@b + \aftergroup\@firstoftwo + \else + \ifx\reserved@a\@empty + \aftergroup\@firstoftwo + \else + \aftergroup\@secondoftwo + \fi + \fi + \endgroup +} +%</base> +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\ifisskip} +% \changes{v3.12}{2013/11/05}{neu}%^^A +% Falls die Expansion des ersten Arguments ein \cs{skip} ist, wird das +% zweite Argument ausgeführt, sonst das dritte. +% \begin{macrocode} +%<*base> +\newcommand*{\ifisskip}[1]{% + \begingroup + \edef\reserved@a{#1}% + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter\reserved@a + \expandafter\expandafter\expandafter{\expandafter\meaning\reserved@a}% + \expandafter\def\expandafter\reserved@b\expandafter{\string\skip}% + \ifstrstart{\reserved@a}{\reserved@b}{% + \afterassignment\scr@ifrelax@to@nnil + \@tempskipa=#1\relax\@nnil{% + \aftergroup\@firstoftwo + }{% + \aftergroup\@secondoftwo + }% + }{\aftergroup\@secondoftwo}% + \endgroup +} +%</base> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ifisglueexpr} +% \changes{v3.12}{2013/11/05}{neu} +% Falls die Expansion des ersten Arguments eine \cs{glueexpr} ist, wird das +% zweite Argument ausgeführt, sonst das dritte. Achtung: Falls der Ausdruck +% ungültig ist, so wird ein Fehler gemeldet! +% \begin{macrocode} +%<*base> +\newcommand*{\ifisglueexpr}[1]{% + \begingroup + \edef\reserved@a{#1}% + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter\reserved@a + \expandafter\expandafter\expandafter{\expandafter\meaning\reserved@a}% + \expandafter\def\expandafter\reserved@b\expandafter{\string\glueexpr}% + \ifstrstart{\reserved@a}{\reserved@b}{% + \afterassignment\scr@ifemptyorrelax@to@nnil + \@tempskipa=#1\relax\@nnil{% + \aftergroup\@firstoftwo + }{% + \aftergroup\@secondoftwo + }% + }{\aftergroup\@secondoftwo}% + \endgroup +} +%</base> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ifiscount} +% \changes{v3.12}{2013/11/05}{neu} +% Falls die Expansion des ersten Arguments ein \cs{count} ist, wird das +% zweite Argument ausgeführt, sonst das dritte. Für \LaTeX-Zähler siehe +% stattdessen \cs{ifiscounter}. +% \begin{macrocode} +%<*base> +\newcommand*{\ifiscount}[1]{% + \begingroup + \edef\reserved@a{#1}% + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter\reserved@a + \expandafter\expandafter\expandafter{\expandafter\meaning\reserved@a}% + \expandafter\def\expandafter\reserved@b\expandafter{\string\count}% + \ifstrstart{\reserved@a}{\reserved@b}{% + \afterassignment\scr@ifrelax@to@nnil + \@tempcnta=#1\relax\@nnil{% + \aftergroup\@firstoftwo + }{% + \aftergroup\@secondoftwo + }% + }{\aftergroup\@secondoftwo}% + \endgroup +} +%</base> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ifisnumexpr} +% \changes{v3.12}{2013/11/05}{neu} +% Falls die Expansion des ersten Arguments eine \cs{numexpr} ist, wird das +% zweite Argument ausgeführt, sonst das dritte. Achtung: Falls der Ausdruck +% ungültig ist, so wird ein Fehler gemeldet! +% \begin{macrocode} +%<*base> +\newcommand*{\ifisnumexpr}[1]{% + \begingroup + \edef\reserved@a{#1}% + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter\reserved@a + \expandafter\expandafter\expandafter{\expandafter\meaning\reserved@a}% + \expandafter\def\expandafter\reserved@b\expandafter{\string\numexpr}% + \ifstrstart{\reserved@a}{\reserved@b}{% + \afterassignment\scr@ifemptyorrelax@to@nnil + \@tempcnta=#1\relax\@nnil{% + \aftergroup\@firstoftwo + }{% + \aftergroup\@secondoftwo + }% + }{\aftergroup\@secondoftwo}% + \endgroup +} +%</base> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ifiscounter} +% \changes{v3.12}{2013/11/05}{neu} +% Falls die Expansion des ersten Arguments ein \LaTeX-Zähler ist, wird das +% zweite Argument ausgeführt, sonst das dritte. +% \begin{macrocode} +%<*base> +\newcommand*{\ifiscounter}[1]{% + \begingroup + \@ifundefined{c@#1}% + {\aftergroup\@secondoftwo}% + {\aftergroup\@firstoftwo}% + \endgroup +} +%</base> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ifisinteger} +% \changes{v3.12}{2013/11/05}{neu} +% Falls die Expansion des ersten Arguments eine (positive oder negative) ganze +% Zahl ist, wird das zweite Argument ausgeführt, sonst das dritte. +% \begin{macrocode} +%<*base> +\newcommand*{\ifisinteger}[1]{% + \begingroup + \edef\reserved@a{#1}\expandafter + \scr@ifintegerplusminus\reserved@a\@nil{\aftergroup\@firstoftwo}% + {\aftergroup\@secondoftwo} + \endgroup +} +% \end{macrocode} +% \begin{macro}{\scr@ifintegerplusminus} +% \changes{v3.12}{2013/11/05}{neu (intern)} +% Hilfsmakro, ausschließlich für \cs{ifisinteger}. +% \begin{macrocode} +\newcommand*{\scr@ifintegerplusminus}{} +\def\scr@ifintegerplusminus#1#2\@nil{% + \def\scr@next{\scr@ifintegerplusminus #2\@nil}% + \if #1-\relax + \else \if #1+\relax + \else + \def\scr@next{% + \afterassignment\scr@ifrelax@to@nnil + \@tempcnta=#1#2\relax\@nnil + }% + \if #10\else\if #11\else\if #12\else\if #13\else\if #14\else + \if #15\else\if #16\else\if #17\else\if #18\else\if #19\else + \let\scr@next\@secondoftwo + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \fi + \fi + \scr@next +} +%</base> +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\ifisdimension} +% \changes{v3.12}{2013/11/05}{neu} +% Falls die Expansion des ersten Arguments eine (positive oder negative) +% Länge ist, wird das zweite Argument ausgeführt, sonst das dritte. Es sei +% darauf hingewiesen, dass derzeit ungültige oder fehlende Einheiten eine +% Fehlermeldung bewirken! +% \begin{macrocode} +%<*base> +\newcommand*{\ifisdimension}[1]{% + \begingroup + \edef\reserved@a{#1\relax}\expandafter + \scr@ifdimensionplusminus\reserved@a\@nil{\aftergroup\@firstoftwo}% + {\aftergroup\@secondoftwo} + \endgroup +} +% \end{macrocode} +% \begin{macro}{\scr@ifdimensionplusminus} +% \changes{v3.12}{2013/11/05}{neu (intern)} +% Hilfsmakro, ausschließlich für \cs{ifisdimension}. +% \begin{macrocode} +\newcommand*{\scr@ifdimensionplusminus}{} +\def\scr@ifdimensionplusminus#1#2\@nil{% + \def\scr@next{\scr@ifdimensionplusminus #2\@nil}% + \if #1-\relax + \else \if #1+\relax + \else + \def\scr@next{% + \afterassignment\scr@ifrelax@to@nnil + \@tempdima=#1#2\@nnil + }% + \if #1,\else\if #1.\else + \if #10\else\if #11\else\if #12\else\if #13\else\if #14\else + \if #15\else\if #16\else\if #17\else\if #18\else\if #19\else + \let\scr@next\@secondoftwo + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \fi\fi + \fi + \fi + \scr@next +} +%</base> +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\ifisglue} +% \changes{v3.12}{2013/11/05}{neu} +% Falls die Expansion des ersten Arguments eine (positive oder negative) +% Ausdehnung ist, wird das zweite Argument ausgeführt, sonst das dritte. Es sei +% darauf hingewiesen, dass derzeit ungültige oder fehlende Einheiten eine +% Fehlermeldung bewirken! +% \begin{macrocode} +%<*base> +\newcommand*{\ifisglue}[1]{% + \begingroup + \edef\reserved@a{#1\relax}\expandafter + \scr@ifglueplusminus\reserved@a\@nil{\aftergroup\@firstoftwo}% + {\aftergroup\@secondoftwo} + \endgroup +} +% \end{macrocode} +% \begin{macro}{\scr@ifglueplusminus} +% \changes{v3.12}{2013/11/05}{neu (intern)} +% Hilfsmakro, ausschließlich für \cs{ifisglue}. +% \begin{macrocode} +\newcommand*{\scr@ifglueplusminus}{} +\def\scr@ifglueplusminus#1#2\@nil{% + \def\scr@next{\scr@ifglueplusminus #2\@nil}% + \if #1-\relax + \else \if #1+\relax + \else + \def\scr@next{% + \afterassignment\scr@ifrelax@to@nnil + \@tempskipa=#1#2\@nnil + }% + \if #1,\else\if #1.\else + \if #10\else\if #11\else\if #12\else\if #13\else\if #14\else + \if #15\else\if #16\else\if #17\else\if #18\else\if #19\else + \let\scr@next\@secondoftwo + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \fi\fi + \fi + \fi + \scr@next +} +%</base> +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% +% \begin{macro}{\ifnumber} +% \changes{v3.12}{2013/10/30}{using \cs{aftergroup} instead of +% \cs{endgroup}\cs{expandafter}}%^^A +% Dieses Makro testet, ob ein übergebener Parameter eine positive, +% ganze Zahl ist. Ist dies der Fall, wird der zweite Parameter +% ausgeführt, sonst der dritte. +% \begin{macrocode} +%<*base> +\newcommand\ifnumber[1]{% + \begingroup\@tempswafalse\let\scr@next\test@number + \expandafter\scr@next#1\scr@next + \if@tempswa + \aftergroup\@firstoftwo + \else + \aftergroup\@secondoftwo + \fi + \endgroup +} +% \end{macrocode} +% \begin{macro}{\test@number} +% Für den eigentlichen Test wird der erste Parameter Token für Token +% gescannt und beurteilt. +% \begin{macrocode} +\newcommand*{\test@number}[1]{% + \ifx \scr@next#1 + \let\scr@next\relax + \else +% \end{macrocode} +% Dabei wird für einen schnelleren Vergleich die Tatsache genutzt, dass +% Ziffernzeichen immer im selben durchgängigen Bereich liegen +% \begin{macrocode} + \@tempcnta=\expandafter\expandafter\expandafter\number + \expandafter`#1\relax + \ifnum \@tempcnta>47 + \ifnum \@tempcnta<58 + \@tempswatrue + \else\@tempswafalse\fi + \else\@tempswafalse\fi +% \end{macrocode} +% Das zeichenweise Scannen und Parsen kann natürlich nicht einfach +% abgebrochen werden. Stattdessen ist der Parameterrest noch zu +% entfernen. +% \begin{macrocode} + \if@tempswa\else\let\scr@next\gobble@till@scr@next\fi + \fi + \scr@next +} +% \end{macrocode} +% \begin{macro}{\gobble@tillscr@@next} +% Das geschieht mit einem einzigen "`Leermacro"'. +% \begin{macrocode} +\newcommand*{\gobble@till@scr@next}{} +\def\gobble@till@scr@next#1\scr@next{} +%</base> +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\ifintnumber} +% \changes{v3.12}{2013/10/30}{neu} +% Ist das erste Argument eine positive oder negative ganze Zahl, to wird das +% zweite Argument ausgeführt, sonst das dritte. Wie bei \TeX{} auch sind +% beliebig viele Vorzeichen erlaubt. +% \begin{macrocode} +%<*base> +\newcommand\ifintnumber[1]{% + \begingroup\@tempswafalse\let\scr@next\scr@test@sign + \expandafter\scr@next#1\scr@next + \if@tempswa + \aftergroup\@firstoftwo + \else + \aftergroup\@secondoftwo + \fi + \endgroup +} +% \end{macrocode} +% \begin{macro}{\scr@test@sign} +% \changes{v3.12}{2013/10/30}{neu (intern)} +% \begin{macrocode} +\newcommand*{\scr@test@sign}[1]{% + \ifx \scr@next#1 + \let\scr@next\relax + \else + \if #1-% + \else + \ifx #1+% + \else + \def\scr@next{\let\scr@next\test@number\scr@next #1}% + \fi + \fi + \fi + \scr@next +} +%</base> +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\ifdimen} +% Dieses Makro testet, ob ein übergebener Parameter eine Dimension +% ist und führt in Abhängigkeit davon den zweiten oder dritten +% Parameter aus. +% \begin{macrocode} +%<*base> +\newcommand{\ifdimen}[1]{% + \begingroup\@tempswatrue\let\scr@next\test@posdimen + \expandafter\test@dimen#1\scr@next + \if@tempswa + \endgroup\expandafter\@firstoftwo + \else + \endgroup\expandafter\@secondoftwo + \fi +} +% \end{macrocode} +% \begin{macro}{\test@dimen} +% Als erste muss ein Vorzeichen entfernt werden. +% \begin{macrocode} +\newcommand*{\test@dimen}[1]{% + \ifx -#1\else\ifx +#1\else + \def\scr@next{\let\scr@next\test@posdimen\scr@next#1}\fi\fi + \scr@next +} +% \end{macrocode} +% \begin{macro}{\test@posdimen} +% Dann muss getestet werden, ob es sich beim Rest um eine Dimension +% handelt. Dabei werden der Einfachheit halber mehrere Dezimalkomma +% und -punkte erlaubt. Natürlich könnte man es auch wirklich richtig +% machen, aber das wäre nochmal etwas aufwendiger. Ist das wirklich +% notwendig? +% \begin{macrocode} +\newcommand*{\test@posdimen}[1]{% + \ifx \scr@next#1% + \@tempswafalse\let\scr@next\relax + \else + \if .#1\else\if ,#1\else + \@tempcnta=% + \expandafter\expandafter\expandafter\number\expandafter`#1\relax + \ifnum \@tempcnta>47 + \ifnum \@tempcnta<58 + \else\def\scr@next{\test@dimunt#1}\fi + \else\def\scr@next{\test@dimunt#1}\fi + \fi\fi + \fi + \scr@next +} +% \end{macrocode} +% \begin{macro}{\test@dimunt} +% \begin{macro}{\test@trueunt} +% Außer einer Gleitkomma- bzw. Gleitpunktzahl muss auch noch die Einheit +% behandelt werden. Dabei sind sowohl die neun Standardeinheiten als auch +% deren "`true"'-Variante zu berücksichtigen. Deshalb wird zuerst ein +% eventuelles "`\texttt{true}"' weggeworfen. +% \begin{macrocode} +\newcommand*{\test@dimunt}{} +\def\test@dimunt#1\scr@next{% + \expandafter\test@trueunt#1truetrue\test@trueunt +} +\newcommand*{\test@trueunt}{} +\def\test@trueunt#1true#2true#3\test@trueunt{% + \edef\reserved@a{#1}% + \ifx\reserved@a\@empty\test@@ifdimunt{#2}\else\test@@ifdimunt{#1}\fi +} +% \end{macrocode} +% \begin{macro}{\test@@ifdimunt} +% Anschließend wird dann getestet, ob es sich um eine der neun üblichen +% Einheiten handelt. +% \begin{macrocode} +\newcommand*\test@@ifdimunt[1]{% + \@tempswafalse + \ifstr{#1}{pt}{\@tempswatrue}{% + \ifstr{#1}{pc}{\@tempswatrue}{% + \ifstr{#1}{in}{\@tempswatrue}{% + \ifstr{#1}{bp}{\@tempswatrue}{% + \ifstr{#1}{cm}{\@tempswatrue}{% + \ifstr{#1}{mm}{\@tempswatrue}{% + \ifstr{#1}{dd}{\@tempswatrue}{% + \ifstr{#1}{cc}{\@tempswatrue}{% + \ifstr{#1}{sp}{\@tempswatrue}{}% + }% + }% + }% + }% + }% + }% + }% + }% +} +%</base> +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% +% \begin{macro}{\ifpdftex} +% \changes{v2.95}{2002/08/19}{neu} +% \begin{macro}{\scr@ifpdftex} +% \changes{v2.95}{2002/08/19}{neu (intern)} +% If-then-else-Konstrukt, um zu testen, ob pdf\TeX{} verwendet wird. +% \begin{macrocode} +%<*base> +\newcommand{\scr@ifpdftex}{\ifnotundefined{pdftexversion}} +\let@as@internal@defined{ifpdftex} +\BeforePackage{pdfcprot}{\let\ifpdftex\relax} +\AfterPackage{pdfcprot}{\let@as@internal@defined{ifpdftex}} +%</base> +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\ifVTeX} +% \changes{v2.95}{2002/08/19}{neu} +% \changes{v2.97c}{2007/06/20}{umdefiniert von \cs{ifvtex}} +% \begin{macro}{\scr@ifVTeX} +% \changes{v2.95}{2002/08/19}{neu} +% \changes{v2.97c}{2007/06/20}{umdefiniert von \cs{scr@ifvtex}} +% If-then-else-Konstrukt, um zu testen, ob V\TeX{} verwendet wird. +% \begin{macrocode} +%<*base> +\newcommand{\scr@ifVTeX}{\ifnotundefined{VTeXversion}} +\let@as@internal@defined{ifVTeX} +%</base> +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\ifpdfoutput} +% \changes{v2.7g}{2001/04/17}{neu} +% \changes{v2.8q}{2001/10/19}{\cs{pdfoutput} wird nicht mehr zu +% \cs{relax}, wenn zuvor undefiniert} +% \changes{v2.8q}{2001/10/19}{darf bereits definiert sein} +% \changes{v2.8q}{2001/10/19}{Verwendung von \cs{scr@ifpdfoutput}} +% \begin{macro}{\scr@ifpdfoutput} +% \changes{v2.8q}{2001/10/19}{neu (intern)} +% \changes{v2.8q}{2001/11/13}{funktioniert} +% \changes{v2.95}{2002/08/21}{berücksichtigt V\TeX} +% \changes{v2.95}{2004/07/20}{Expandierbarkeit verbessert} +% If-then-else-Konstrukt, um abhängig davon, ob als \texttt{pdf} +% ausgegeben wird oder nicht, Befehle auszuführen. Dieses Makro wird +% für die Deklaration der Option \texttt{pagesize} benötigt. +% \begin{macrocode} +%<*base> +\newcommand{\scr@ifpdfoutput}{% + \scr@ifundefinedorrelax{pdfoutput}{% + \scr@ifundefinedorrelax{OpMode}{% + \expandafter\@secondoftwo% + }{% + \ifnum\OpMode=1 + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + }% + }{% + \ifnum\pdfoutput>0 + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + }% +}% +\let@as@internal@defined{ifpdfoutput} +%</base> +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\ifpsoutput} +% \changes{v2.95}{2002/08/21}{neu} +% \begin{macro}{\scr@ifpsoutput} +% \changes{v2.95}{2002/08/21}{neu (intern)} +% \changes{v2.95}{2004/07/20}{Expandierbarkeit verbessert} +% If-then-else-Konstrukt, um abhängig davon, ob früher oder später +% \texttt{ps} ausgegeben wird oder nicht, Befehle auszuführen. +% \begin{macrocode} +%<*base> +\newcommand*{\scr@ifpsoutput}{% + \ifnotundefined{if@dvips}{% + \if@dvips + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + }{% + \ifnotundefined{OpMode}{% + \ifnum\OpMode=2 + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + }{% + \expandafter\@secondoftwo + }% + }% +} +\let@as@internal@defined{ifpsoutput} +%</base> +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\ifdvioutput} +% \changes{v2.95}{2002/08/21}{neu} +% \begin{macro}{\scr@ifdvioutput} +% \changes{v2.95}{2002/08/21}{neu (intern)} +% \changes{v2.95}{2004/07/20}{Expandierbarkeit verbessert} +% If-then-else-Konstrukt, um abhängig davon, ob \texttt{dvi} +% ausgegeben wird oder nicht, Befehle auszuführen. +% \begin{macrocode} +%<*base> +\newcommand*{\scr@ifdvioutput}{% + \scr@ifundefinedorrelax{pdfoutput}{% + \scr@ifundefinedorrelax{OpMode}{% + \expandafter\@firstoftwo + }{% + \ifnum\OpMode=0 + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + }% + }{% + \ifnum\pdfoutput=0 + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + }% +} +\let@as@internal@defined{ifdvioutput} +%</base> +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\scr@smashdp} +% \changes{v2.97c}{2007/09/17}{neu (intern)} +% \changes{v3.02a}{2009/01/23}{\cs{smash} nicht direkt verwenden, weil +% \textsf{amsmath} das inkompatibel umdefiniert} +% Gibt Material aus, erzeugt dabei aber nur Höhe und Breite, jedoch keine +% Tiefe. +% \begin{macrocode} +%<*base> +\newcommand*{\scr@smashdp}[1]{% + \begingroup + \def\finsm@sh{\dp\z@\z@\box\z@}% + \ifmmode + \expandafter\mathpalette\expandafter\mathsm@sh + \else + \expandafter\makesm@sh + \fi + {#1}% + \endgroup +} +%</base> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\PackageInfoNoLine} +% \changes{v2.97d}{2007/10/03}{neu} +% Arbeitet wie \cs{PackageInfo} aber ohne Ausgabe der Zeilennummer. +% \begin{macrocode} +%<*base> +\providecommand*{\PackageInfoNoLine}[2]{% + \PackageInfo{#1}{#2\@gobble}% +} +%</base> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ClassInfoNoLine} +% \changes{v2.98c}{2008/02/15}{neu} +% Arbeitet wie \cs{ClassInfo} aber ohne Ausgabe der Zeilennummer. +% \begin{macrocode} +%<*base> +\providecommand*{\ClassInfoNoLine}[2]{% + \ClassInfo{#1}{#2\@gobble}% +} +%</base> +% \end{macrocode} +% \end{macro} +% +% \subsection{Definition von KOMA-\textsf{keyval}-Schlüsseln (Hauptteil)} +% +% \begin{macro}{\FamilyExecuteOptions} +% \changes{v3.00}{2008/04/30}{Neue Anweisung} +% \changes{v3.04b}{2010/01/29}{\cs{edef} durch \cs{protected@edef} ersetzt} +% \changes{v3.04b}{2010/02/02}{\cs{scr@key@atlist} und \cs{scr@key@name} +% vor Überschreiben in \cs{serkeys} geschützt} +% \changes{v3.12}{2013/03/04}{neue Implementierung} +% \changes{v3.12}{2013/03/04}{darf auch noch nach der Präambel verwendet +% werden} +% Entspriche \cs{ExecuteOptions} jedoch \textsf{keyval}-Optionen. Insbesondere +% ist die Anweisung reentrant! Es ist jedoch zu beachten, dass der hook lokal +% zum jeweiligen Aufruf ist. +% \begin{macrocode} +%<*base> +\newcommand*{\FamilyExecuteOptions}[3][.\@currname.\@currext]{% + \@namedef{scr@after@options@#1@hook}{\@namedef{scr@after@options@#1@hook}{}}% + \@for\scr@key@atlist:=#3\do{% + \expandafter\scr@key@split@name@value\scr@key@atlist==\@nil + \ifx\scr@key@name\@empty\else + \ifx\scr@key@name\space\else + \scr@ifundefinedorrelax{KV@#2@\scr@key@name}{% + \scr@ifundefinedorrelax{KV@#2#1@\scr@key@name}{% + \PackageError{scrbase}{% + unknown option + `\expandafter\detokenize\expandafter{\scr@key@atlist}'% + }{% + Member `#1' of family `#2'\MessageBreak + cannot handle option `\scr@key@name'.\MessageBreak + So it cannot be set% + \ifx\scr@key@value\@empty\else + \space to value + `\expandafter\detokenize\expandafter{\scr@key@value}'% + \fi.% + }% + }{% + \scr@execute@option{#2#1}% + }% + }{% + \scr@execute@option{#2}% + \ifstr{#1}{}{}{% + \scr@ifundefinedorrelax{KV@#2#1\scr@key@name}{}{% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \scr@execute@option{#2#1}% + \FamilyKeyStateProcessed + \else + \scr@execute@option{#2#1}% + \fi + }% + }% + }% + \scr@show@key@state@error + \fi + \fi + }% + \@nameuse{scr@after@options@#1@hook}% +} +%</base> +% \end{macrocode} +% \begin{macro}{\scr@show@key@state@error} +% \changes{v3.12}{2013/03/04}{Neue Anweisung (intern)}% +% Zeige abhängig von \cs{FamilyKeyState} eine Fehlermeldung. Alle +% Informationen zu dem Fehler müssen in \cs{FamilyMemberOfKey} +% (Familienmitglied oder \cs{@empty}), \cs{FamilyOfKey} (Familie oder +% \cs{@empty}), \cs{scr@key@atlist} (Option, wie sie in der Liste stand), +% \cs{scr@key@name} (Name der Option) und \cs{scr@key@value} (Wert der +% Option) stehen. Es ist zu beachten, dass \cs{scr@key@atlist} und +% \cs{scr@key@value} ebenfalls Macros enthalten können. Deshalb werden diese +% Werte ggf. über \cs{detokenize} ausgegeben. +% \begin{macrocode} +%<*base> +\newcommand*{\scr@show@key@state@error}{% + \ifx\FamilyKeyState\FamilyKeyStateProcessed\else + \PackageError{scrbase}{% + unknown option + `\expandafter\detokenize\expandafter{\scr@key@atlist}'% + }{% + Option + `\expandafter\detokenize\expandafter{\scr@key@name}'\MessageBreak + \ifx\FamilyMemberOfKey\@empty\else + of member `\FamilyMemberOfKey'\MessageBreak + \fi + \ifx\FamilyOfKey\@empty\else + of family `\FamilyOfKey'\MessageBreak + \fi + \ifx\FamilyKeyState\FamilyKeyStateNeedValue + expects a value, but has been used without any value.% + \else + cannot handle value\MessageBreak + `\expandafter\detokenize\expandafter{\scr@key@value}',% + \MessageBreak + \ifx\FamilyKeyState\FamilyKeyStateUnknownValue + because this is an unsupported value.% + \else + because \FamilyKeyState. + \fi + \fi + }% + \fi +} +%</base> +% \end{macrocode} +% \end{macro}^^A \scr@show@key@state@error +% \end{macro}^^A \FamilyExecuteOptions +% +% \begin{macro}{\KOMAExecuteOptions} +% \changes{v2.97c}{2007/04/19}{Neue Anweisung} +% \changes{v3.00}{2008/04/30}{Kein optionales Argument mehr} +% \changes{v3.12}{2013/03/04}{darf auch noch nach der Präambel verwendet +% werden} +% Liste von Optionen für ein Mitglied der Familie \texttt{KOMA} ausführen. +% \begin{macrocode} +%<*koma> +\newcommand*{\KOMAExecuteOptions}[1][.\@currname.\@currext]{% + \FamilyExecuteOptions[#1]{KOMA}% +} +%</koma> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\FamilyOptions} +% \changes{v3.00}{2008/04/30}{Neue Anweisung} +% \changes{v3.12}{2013/03/02}{Neue Implementierung} +% \changes{v3.12}{2013/03/02}{\cs{scr@after@options@\#1@hook}} +% \begin{macro}{\Family@Options} +% \changes{v3.00}{2008/04/30}{Neues Makro (intern)}% +% \changes{v3.12}{2013/03/04}{entfernt} +% \end{macro}^^A \FamilyOptions +% Es werden Schlüssel einer Familie verwendet. Existiert ein Schlüssel nicht, +% oder ist der Wert für alle Schlüssel unbekannt, so wird ein Fehler +% ausgegeben. Diese Anweisung selbst ist reentrant, das heißt sie kann auch +% innerhalb der Ausführung von Optionen aufgerufen werden. Es sei jedoch +% erwähnt, dass der hook dabei nur die jeweilige Anweisung umfasst. +% \begin{macrocode} +%<*base> +\newcommand*{\FamilyOptions}[2]{% + \@namedef{scr@after@options@#1@hook}{\@namedef{scr@after@options@#1@hook}{}}% +% \end{macrocode} +% \begin{description} +% \item[Anmerkung:] Es wird nicht auf \textsf{xkeyval} und den dortigen Befehl +% \cs{setkeys+} gesetzt, weil dieser die Optionen nicht in der Reihenfolge +% der Optionen, sondern in der Reihenfolge der Familien ausführt. Das passt +% mir aber hier gar nicht. +% \end{description} +% In einer Schleife über alle Optionen werden die Optionen zunächst in Option +% und Wert aufgespaltet. +% \begin{macrocode} + \@for\scr@key@atlist:=#2\do{% +% \end{macrocode} +% \changes{v3.08}{2010/11/05}{leere Argumente in der Optionenliste}% +% Auf vielfachen Wunsch und entgegen meiner Überzeugung, sind auch leere +% Argumente in der Optionenliste erlaubt. Die erste Form wäre, wenn zwei +% Kommas diret aufeinander folgen: +% \begin{macrocode} + \ifx\scr@key@atlist\@empty\else +% \end{macrocode} +% Die zweite Möglichkeit wäre, dass noch Leerzeichen zwischen den Komma +% übrig bleiben: +% \begin{macrocode} + \ifx\scr@key@atlist\space\else + \expandafter\scr@key@split@name@value\scr@key@atlist==\@nil +% \end{macrocode} +% Die dritte Möglichkeit, dass auch noch ein Gleichheitszeichen übrig +% gelassen wurde, werde ich aber nicht abfangen. Irgendwann müssen die +% Anwender auch mal ihre Fehler einsehen und korrigieren! +% +% Wir haben jetzt also eine Option und diese aufgespaltet in Schlüssel und +% Wert. +% \changes{v3.12}{2013/03/04}{der Gesamtstatus wird gespeichert} +% Jetzt speichern wir den Gesamtstatus einfach, indem der Fehlerspeicher +% gelöscht wird. Bei \cs{relax} wird er nicht weiter benötigt und es liegt +% ebenso wie bei \cs{@empty} kein auszugebender Fehler vor. Bei anderen +% Werten, enthält er Fehler, die zu melden sind. +% \begin{macrocode} + \let\scr@key@run@errors\@empty +% \end{macrocode} +% +% \changes{v3.04b}{2010/01/29}{\cs{edef} durch \cs{protected@edef} ersetzt} +% \changes{v3.09a}{2011/06/07}{weniger Expansion durch sinnvollen Gebrauch +% von \cs{unexpanded}} +% Dann wird in einer Schleife über alle Familien festgestellt, ob die Option +% in einer Familie bekannt ist und ggf. ausgeführt. Hier ist wichtig, dass +% keines der internen Macros vom Aufruf verändert wird. Außerdem muss der +% Status und die daraus resultierenden Meldungen aufgesammelt werden. +% \begin{macrocode} + \scr@key@found@false + \edef\reserved@a{\csname #1@key@familylist\endcsname}% + \@for\reserved@a:=\reserved@a\do{% + \scr@ifundefinedorrelax{KV@\reserved@a @\scr@key@name}{}{% + \expandafter\scr@execute@option\expandafter{\reserved@a}% + \scr@key@found@true + \ifx\scr@key@run@errors\relax\else + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \let\scr@key@run@errors\relax + \else + \ifx\FamilyKeyState\FamilyKeyStateUnknownValue + \edef\scr@key@run@errors{% + \unexpanded\expandafter{\scr@key@run@errors}% + \noexpand\MessageBreak + \FamilyMemberOfKey: unkown value + `\expandafter\detokenize\expandafter{\scr@key@value}'.% + }% + \else + \ifx\FamilyKeyState\FamilyKeyStateNeedValue + \edef\scr@key@run@errors{% + \unexpanded\expandafter{\scr@key@run@errors}% + \noexpand\MessageBreak + \FamilyMemberOfKey: value expected. + }% + \else + \edef\scr@key@run@errors{% + \unexpanded\expandafter{\scr@key@run@errors}% + \noexpand\MessageBreak + \FamilyMemberOfKey: \FamilyKeyState. + }% + \fi + \fi + \fi + \fi + }% + }% + \ifscr@key@found@ + \ifx\scr@key@run@errors\relax\else + \ifx\scr@key@run@errors\@empty\else + \PackageError{scrbase}{% + unknown option + `\expandafter\detokenize\expandafter{\scr@key@atlist}'% + }{% + The members of family `#1' cannot set option + `\scr@key@name' + \ifx\scr@key@value\@empty\else + \MessageBreak + to value + `\expandafter\detokenize\expandafter{\scr@key@value}'% + \fi.\MessageBreak + Here's what each member says: + \scr@key@run@errors + }% + \fi + \fi + \else + \PackageError{scrbase}{% + unknown option + `\expandafter\detokenize\expandafter{\scr@key@atlist}'% + }{% + No one of the members of family `#1'\MessageBreak + can handle option `\scr@key@name'.\MessageBreak + So it cannot be set% + \ifx\scr@key@value\@empty\else + \space to value + `\expandafter\detokenize\expandafter{\scr@key@value}'% + \fi.% + }% + \fi + \fi + \fi + }% + \@nameuse{scr@after@options@#1@hook}% +} +% \end{macrocode} +% \begin{macro}{\scr@execute@option} +% \changes{v3.12}{2013/03/04}{Neue Anweisung (intern)}% +% Es wird die bereits gesplittete Option ausgeführt, ohne dass die dabei +% wesentlichen Macros (aber nicht \cs{reserved@a}!) verändert werden. Das +% erste Argument ist bereits der Besitzer in \textsf{keyval}-Syntax. +% \begin{macrocode} +\newcommand*{\scr@execute@option}[1]{% + \protected@edef\reserved@a{% + \noexpand\let\noexpand\KV@err\noexpand\scr@KV@err + \noexpand\setkeys{#1}{% + \unexpanded\expandafter{\scr@key@atlist}}% + \noexpand\def\noexpand\scr@key@atlist{% + \unexpanded\expandafter{\scr@key@atlist}}% + \noexpand\def\noexpand\scr@key@name{% + \unexpanded\expandafter{\scr@key@name}}% + \noexpand\def\noexpand\scr@key@value{% + \unexpanded\expandafter{\scr@key@value}} + \ifx\scr@key@run@errors\relax + \noexpand\let\noexpand\scr@key@run@errors\relax + \else + \noexpand\def\noexpand\scr@key@run@errors{% + \unexpanded\expandafter{\scr@key@run@errors}}% + \fi + \noexpand\def\expandafter\noexpand + \csname scr@after@options@#1@hook\endcsname{% + \expandafter\unexpanded\expandafter\expandafter\expandafter{% + \csname scr@after@options@#1@hook\endcsname + }}% + }% + \let\AtEndOfFamilyOptions\scr@AtEndOfFamilyOptions + \reserved@a + \let\AtEndOfFamilyOptions\@firstofone + \ifx\FamilyKeyState\FamilyKeyStateUnknown + \PackageInfo{scrbase}{Unknown processing state.\MessageBreak + Processing option `\scr@key@atlist'\MessageBreak + \ifx\FamilyMemberOfKey\@empty\else + of member `\FamilyMemberOfKey'\MessageBreak + \fi + of family `\FamilyOfKey'\MessageBreak + doesn't set a valid state.\MessageBreak + This will be interpreted\MessageBreak + as \string\FamilyKeyStateProcessed + }% + \FamilyKeyStateProcessed + \fi +} +% \end{macrocode} +% \begin{macro}{\scr@key@run@errors} +% \changes{v3.12}{2013/03/04}{Neue Anweisung (intern)} +% Wird innerhalb von \cs{FamilyOptions} benötigt, um die Fehlermeldungen +% aufzusammeln, aber erst auszugeben, wenn tatsächlich kein Mitglied die +% Option verarbeiten konnte. Wir definieren das hier, damit oben die +% Wiederherstellung korrekt funktioniert. +% \begin{macrocode} +\newcommand*{\scr@key@run@errors}{} +% \end{macrocode} +% \end{macro} +% \end{macro}^^A \scr@execute@option +% \begin{macro}{\ifscr@key@found@} +% \changes{v2.97c}{2007/04/19}{Neuer Schalter (intern)} +% \changes{v3.00}{2008/04/30}{umbenannt von \cs{ifKOMA@key@found}} +% \begin{macro}{\scr@key@atlist} +% \changes{v2.97c}{2007/04/19}{Neues Makro (intern)} +% \changes{v3.00}{2008/04/30}{umbenannt von \cs{KOMA@key@atlist}} +% \begin{macro}{\scr@key@name} +% \changes{v2.97c}{2007/04/19}{Neues Makro (intern)} +% \changes{v3.00}{2008/04/30}{umbenannt von \cs{KOMA@key@name}} +% \begin{macro}{\scr@key@value} +% \changes{v2.97c}{2007/04/19}{Neues Makro (intern)} +% \changes{v3.00}{2008/04/30}{umbenannt von \cs{KOMA@key@value}} +% \begin{macro}{\scr@key@split@name@value} +% \changes{v2.97c}{2007/04/19}{Neues Makro (intern)} +% \changes{v2.97e}{2007/11/10}{verwendet \cs{KV@@sp@def} zur Entsorgung von +% Leerzeichen} +% \changes{v3.00}{2008/04/30}{umbenannt von \cs{KOMA@key@split@name@value}} +% \begin{macrocode} +\newif\ifscr@key@found@ +\newcommand*{\scr@key@atlist}{} +\newcommand*{\scr@key@name}{} +\newcommand*{\scr@key@value}{} +\newcommand*{\scr@key@split@name@value}{} +\def\scr@key@split@name@value#1=#2=#3\@nil{% + \KV@@sp@def\scr@key@name{#1}% + \KV@@sp@def\scr@key@value{#2}% +} +%</base> +% \end{macrocode} +% \end{macro}^^A \scr@key@split@name@value +% \end{macro}^^A \scr@key@value +% \end{macro}^^A \scr@key@name +% \end{macro}^^A \scr@key@atlist +% \end{macro}^^A \FamilyOptions +% +% \begin{macro}{\FamilyOption} +% \changes{v3.00}{2008/04/30}{Neue Anweisung} +% \begin{macro}{\Family@Option} +% \changes{v3.00}{2008/04/30}{Neu (intern)} +% \changes{v3.12}{2013/03/04}{entfernt} +% \end{macro} +% \changes{v3.04b}{2010/01/29}{\cs{edef} durch \cs{protected@edef} ersetzt} +% Im Gegensatz zu \cs{FamilyOptions} kann man mit dieser Anweisung nur eine +% einzige Option setzen. Dafür kann man gleich mehrere durch Komma getrennte +% Argumente für diese Option setzen. Das erste obligatorische Argument ist +% wieder die Familie, das zweite obligatorische Argument ist die Option, das +% dritte, obligatorische Argument ist die Liste der Werte für diese Option. +% \begin{macrocode} +%<*base> +\newcommand*{\FamilyOption}[3]{% + \expandafter\KV@@sp@def\expandafter\scr@key@name\expandafter{#2}% +% \end{macrocode} +% Der einfachste Weg ist nun schlicht, die Liste der Werte durchzugehen und so +% nach und nach eine Liste von Werten für \cs{FamilyOptions} zu erzeugen. +% \begin{macrocode} + \let\reserved@a\@empty + \@for\reserved@b:=#3\do{% +% \end{macrocode} +% \changes{v3.08}{2010/11/05}{leere Argumente in der Werteliste} +% Auf vielfachen Wunsch und entgegen meiner Überzeugung, sind auch leere +% Argumente in der Werteliste erlaubt, werden jedoch ignoriert: +% \begin{macrocode} + \ifx\reserved@b\@empty\else +% \end{macrocode} +% \changes{v3.12}{2012/03/04}{auch Leerzeichenargumente werden ignoriert} +% Auch Argumente, die nur aus einem Leerzeichen bestehen, werden ignoriert: +% \begin{macrocode} + \ifx\reserved@b\space\else + \edef\reserved@a{\unexpanded\expandafter{\reserved@a},% + \scr@key@name=\unexpanded\expandafter{\reserved@b}}% + \fi + \fi + }% + \def\reserved@b{\FamilyOptions{#1}}% + \expandafter\reserved@b\expandafter{\reserved@a}% +} +%</base> +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\KOMAoptions} +% \changes{v2.96}{2006/08/20}{Neuer Hook nach den Optionen} +% \changes{v2.97c}{2007/04/19}{Optionen aller KOMA-Familien abarbeiten} +% \changes{v3.12}{2013/03/04}{Hook-Mechanismus von \cs{FamilyOptions} +% verwendent} +% Simple kleine Abkürzung. +% \begin{macrocode} +%<*koma> +\newcommand*{\KOMAoptions}{\FamilyOptions{KOMA}} +%</koma> +% \end{macrocode} +% \begin{macro}{\KOMA@options} +% \changes{v2.97c}{2007/04/19}{Neues Makro (intern)} +% \changes{v3.12}{2013/03/04}{entfernt} +% \end{macro}^^A \KOMA@options +% \end{macro}^^A \KOMAoptions +% +% \begin{macro}{\post@kopt@hook} +% \changes{v3.12}{2013/03/04}{entfernt} +% \end{macro}^^A \post@kopt@hook +% \begin{macro}{\AfterKOMAoptions} +% \changes{v3.12}{2013/03/04}{Verwendung von \cs{AtEndOfFamilyOptions}} +% Eine Option kann dafür sorgen, dass nach den Optionen noch etwas passiert. +% \begin{macrocode} +%<*koma> +\newcommand*{\AfterKOMAoptions}{} +\let\AfterKOMAoptions\AtEndOfFamilyOptions +%</koma> +% \end{macrocode} +% \end{macro}^^A \AfterKOMAoptions +% +% \begin{macro}{\l@addto@macro} +% \changes{v2.8p}{2001/09/22}{neu (intern)} +% Damit \cs{AfterKOMAoptions} lokal möglich ist, wird eine lokal arbeitende +% Variante von \cs{g@addto@macro} benötigt, wie sie hier vorgestellt wird. +% \changes{v2.95}{2006/06/02}{korrigiert, damit es sich bezüglich +% Erweiterung um Makrodefinitonen mit Argumenten wie \cs{g@addto@macro} +% verhält} +% \changes{v3.12}{2013/04/20}{veraltete \eTeX-freie Version entfernt} +% \changes{v3.12}{2013/04/20}{Warnung, falls eine inkompatible Definition +% von \cs{l@addto@macro} entdeckt wird} +% \begin{macrocode} +%<*base> +\@ifundefined{l@addto@macro}{}{% + \begingroup + \long\def\reserved@a#1#2{% + \edef#1{\unexpanded\expandafter{#1#2}}% + }% + \ifx\reserved@a\l@addto@macro\else + \PackageWarning{scrbase}{% + Someone also uses macro name \string\l@addto@macro.\MessageBreak + When KOMA-Script author decided to use macro name\MessageBreak + \string\l@addto@macro\space first, there was no other + free\MessageBreak + LaTeX package using this macro name.\MessageBreak + In the meantime other package authers decided to use\MessageBreak + same macro name, but unfortunatly not all of those\MessageBreak + are compatible with KOMA-Script's definition, e.g.,\MessageBreak + while adding definitions with arguments to macros.\MessageBreak + Because of such potentially incompatible definitions,\MessageBreak + KOMA-Script will redefine the command now.\MessageBreak + Please ask the author of the other package to\MessageBreak + rename his macro, if a problem results in the\MessageBreak + redefinition% + }% + \fi + \endgroup +} +\long\def\l@addto@macro#1#2{% + \edef#1{\unexpanded\expandafter{#1#2}}% +}% +%</base> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\KOMAoption} +% \changes{v2.98c}{2008/03/12}{Neue Anweisung} +% \changes{v3.12}{2013/03/04}{Einfacher Aufruf von \cs{FamilyOption}} +% \begin{macrocode} +%<*koma> +\newcommand*{\KOMAoption}{\FamilyOption{KOMA}} +%</koma> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\FamilyUnknownKeyValue} +% \changes{v3.10}{2011/09/12}{no error while processing global options}%^^A +% \changes{v3.11a}{2012/05/28}{prevent remove from list of unused global +% options globally}%^^A +% Dieses Makro berichtet über Fehler wegen unbekannter Wertübergabe an einen +% Schlüssel. Das erste Argument ist die Familie, das zweite der Schlüssel, +% das dritte der Wert und das vierte die Liste der möglichen Werte. +% \begin{macrocode} +%<*base> +\newcommand*{\FamilyUnknownKeyValue}[4]{% + \FamilyKeyStateUnknownValue + \ifx\FamilyElseValues\@empty\else + \PackageWarning{scrbase}{non empty \string\FamilyElseValue + ignored.\MessageBreak + Setting this command to a non empty\MessageBreak + value for option `#2' of\MessageBreak + family `#1' is deprecated,\MessageBreak + but has been found + }% + \fi +} +%</base> +% \end{macrocode} +% \begin{macro}{\FamilyElseValues} +% \changes{v3.00}{2008/05/02}{Neue Anweisung}%^^A +% \changes{v3.12}{2013/03/04}{wird intern nicht mehr verwendet}%^^A +% Diese Anweisung konnte ursprünglich vor dem Setzen eines Wertes definiert +% werden, um bei einer etwaigen Fehlermeldung weitere Werte als erlaubt +% auszugeben. Am Ende von \cs{FamilySetBool} und \cs{FamilySetNumerical} +% wird die Anweisung automatisch zu \cs{@empty}. Seit Version~3.12 wird +% diese Anweisung jedoch nicht mehr ausgewertet. +% \begin{macrocode} +%<*base> +\newcommand*{\FamilyElseValues}{} +%</base> +% \end{macrocode} +% \end{macro}^^A \FamilyUnknownKeyValue +% \end{macro}^^A \FamilyElseValue +% +% \begin{macro}{\FamilyBoolKey} +% \changes{v3.00}{2008/04/30}{Neue Anweisung} +% Dieses Makro definiert einen Schlüssel für eine Familie. Dieser Schlüssel +% ist ein Schalter, der über diverse Werte geschaltet werden kann. +% Das erste, optionale Argument ist das Familienmitglied, das zweite, +% obligatorische Argument ist die Familie, das dritte der Name des Schlüssels, +% das vierte der Schalter. +% \begin{macrocode} +%<*base> +\newcommand*{\FamilyBoolKey}[4][.\@currname.\@currext]{% + \@ifundefined{if#4}{% + \expandafter\newif\csname if#4\endcsname + }{}% + \DefineFamilyKey[{#1}]{#2}{#3}[true]{\FamilySetBool{#2}{#3}{#4}{##1}}% +} +% \end{macrocode} +% \begin{macro}{\FamilySetBool} +% \changes{v3.00}{2008/04/30}{Neue Anweisung} +% \changes{v3.11a}{2012/05/25}{Argument in Fehlermeldung korrigiert} +% Über diese Anweisung wird der Wert dann gesetzt. Dabei ist das erste +% Argument die Familie, das zweite der Name des Schlüssels, das dritte der +% Schalter und das vierte schließlich der gewünschte Wert. +% \begin{macrocode} +\newcommand*{\FamilySetBool}[4]{% + \ifstr{#4}{true}{\@nameuse{#3true}\FamilyKeyStateProcessed}{% + \ifstr{#4}{on}{\@nameuse{#3true}\FamilyKeyStateProcessed}{% + \ifstr{#4}{yes}{\@nameuse{#3true}\FamilyKeyStateProcessed}{% + \ifstr{#4}{false}{\@nameuse{#3false}\FamilyKeyStateProcessed}{% + \ifstr{#4}{off}{\@nameuse{#3false}\FamilyKeyStateProcessed}{% + \ifstr{#4}{no}{\@nameuse{#3false}\FamilyKeyStateProcessed}{% + \FamilyUnknownKeyValue{#1}{#2}{#4}{% + `true', `on', `yes', `false', `off', `no'% + }% + }% + }% + }% + }% + }% + }% + \let\FamilyElseValues\@empty +} +%</base> +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\KOMA@unknown@keyval} +% Dieses Makro berichtet über Fehler wegen unbekannter Wertübergabe an +% einen Schlüssel. Das erste Argument ist der Schlüssel, das zweite +% der Wert und das dritte die Liste der möglichen Werte. +% \begin{macrocode} +%<*koma> +\newcommand*{\KOMA@unknown@keyval}{\FamilyUnknownKeyValue{KOMA}} +%</koma> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\KOMA@ifkey} +% \changes{v3.02c}{2009/02/04}{definiert ebenfalls das Familienmitglied} +% Dieses Makro definiert einen Schlüssel, der einen Schalter an Hand des +% Wertes setzt. Als Werte sind "`\texttt{true}"', "`\texttt{false}"', +% "`\texttt{on}"', "`\texttt{off}"', "`\texttt{yes}"' und +% "`\texttt{no}"' erlaubt. Der Default-Wert für den Schalter ist +% grundsätzlich "`false"', so dass der Default-Wert für die Verwendung +% des Schküssels grundsätzlich "`true"' ist. Das erste Argument ist +% der Name des Schlüssels, der zweite ist der Name des Schalters. +% \begin{macrocode} +%<*koma> +\newcommand*{\KOMA@ifkey}{% + \DefineFamilyMember{KOMA}% + \FamilyBoolKey{KOMA}% +} +%</koma> +% \end{macrocode} +% \begin{macro}{\KOMA@set@ifkey} +% Die eigentliche Arbeit bei der ganzen Sache wird von diesem internen +% Makro erledigt. Dabei wird der Name des Schlüssels zu Argument 1, der +% Name des Schalters zu Argument 2 und der Wert des Schlüssels wird +% Argument 3. +% \begin{macrocode} +%<*koma> +\newcommand*{\KOMA@set@ifkey}{\FamilySetBool{KOMA}} +%</koma> +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\FamilyCounterKey} +% \changes{v3.12}{2013/11/05}{neu}%^^A +% Dieses Makro definiert einen Schlüssel, der einen \LaTeX-Zähler an Hand +% des Wertes setzt. Das erste, optionale Argument ist das Familienmitglied, +% das zweite, obligatorische Argument ist die Familie, das dritte der Name +% des Schlüssels, das vierte der name des \LaTeX-Zählers. Erlaubt sind alle +% Integer-Werte. +% \begin{macrocode} +%<*base> +\newcommand*{\FamilyCounterKey}[4][.\@currname.\@currext]{% + \@ifundefined{c@#4}{\newcounter{#4}}{}% + \DefineFamilyKey[{#1}]{#2}{#3}{\FamilySetCounter{#2}{#3}{#4}{##1}}% +} +% \end{macrocode} +% \begin{macro}{\FamilySetCounter} +% \changes{v3.12}{2013/11/05}{neu}%^^A +% Über diese Anwesiung wird der Wert dann gesetzt. Dabei ist das erste +% Argument die Familie, das zweite der Name des Schlüssels, das dritte der +% Name des \LaTeX-Zählers, das vierte schließlich der gewünschte Wert. +% \begin{macrocode} +\newcommand*{\FamilySetCounter}[4]{% + \ifiscount{#4}{\value{#3}=#4\FamilyKeyStateProcessed}{% + \ifisdimen{#4}{\value{#3}=#4\FamilyKeyStateProcessed}{% + \ifisskip{#4}{\value{#3}=#4\FamilyKeyState\Processed}{% + \ifisnumexpr{#4}{\value{#3}=#4\FamilyKeyStateProcessed}{% + \ifisdimexpr{#4}{\value{#3}=#4\FamilyKeyStateProcessed}{% + \ifisinteger{#4}{\value{#3}=#4\FamilyKeyStateProcessed}{% + \ifiscounter{#4}{\value{#3}=\value{#4}\FamilyKeyStateProcessed}{% + \FamilyUnknownKeyValue{#1}{#2}{#4}{% + integer numbers, counters, lengths, skips, dimens + }% + }% + }% + }% + }% + }% + }% + }% +} +%</base> +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{macro}{\FamilyCounterMacroKey} +% \changes{v3.12}{2013/11/05}{neu}%^^A +% \begin{macro}{\FamilySetCounterMacro} +% \changes{v3.12}{2013/11/05}{neu}%^^A +% Diese Anweisungen arbeitet fast wie \cs{FamilyCounterKey} und +% \cs{FamilySetCounter}, allerdings wird nicht ein Zähler gesetzt, sondern +% ein Makro auf einen Wert definiert. Dabei ist das erste Argument die +% Familie, das zweite der Name des Schlüssels, das dritte das Makro, das +% vierte schließlich der gewünschte Wert. +% \begin{macrocode} +%<*base> +\newcommand*{\FamilyCounterMacroKey}[4][.\@currname.\@currext]{% + \ifdefined#4\else\let#4\z@\fi + \DefineFamilyKey[{#1}]{#2}{#3}{\FamilySetCounterMacro{#2}{#3}{#4}{##1}}% +} +\newcommand*{\FamilySetCounterMacro}[4]{% + \begingroup + \ifiscount{#4}{\@tempcnta=#4\FamilyKeyStateProcessed}{% + \ifisdimen{#4}{\@tempcnta=#4\FamilyKeyStateProcessed}{% + \ifisskip{#4}{\@tempcnta=#4\FamilyKeyState\Processed}{% + \ifisnumexpr{#4}{\@tempcnta=#4\FamilyKeyStateProcessed}{% + \ifisdimexpr{#4}{\@tempcnta=#4\FamilyKeyStateProcessed}{% + \ifisinteger{#4}{\@tempcnta=#4\FamilyKeyStateProcessed}{% + \ifiscounter{#4}{% + \@tempcnta=\value{#4}\FamilyKeyStateProcessed}{% + \FamilyUnknownKeyValue{#1}{#2}{#4}{% + integer numbers, counters, lengths, skips, dimens + }% + }% + }% + }% + }% + }% + }% + }% + \expandafter\expandafter\expandafter\endgroup + \expandafter\def\expandafter#3\expandafter{\the\@tempcnta}% +} +%</base> +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\FamilyLengthKey} +% \changes{v3.12}{2013/11/05}{neu}%^^A +% Dieses Makro definiert einen Schlüssel, der eine \LaTeX-Länge an Hand +% des Wertes setzt. Das erste, optionale Argument ist das Familienmitglied, +% das zweite, obligatorische Argument ist die Familie, das dritte der Name +% des Schlüssels, das vierte der name der \LaTeX-Länge. +% \begin{macrocode} +%<*base> +\newcommand*{\FamilyLengthKey}[4][.\@currname.\@currext]{% + \ifdefined#4\else\newlength{#4}\fi + \DefineFamilyKey[{#1}]{#2}{#3}{\FamilySetLength{#2}{#3}{#4}{##1}}% +} +% \end{macrocode} +% \begin{macro}{\FamilySetLength} +% \changes{v3.12}{2013/11/05}{neu}%^^A +% Über diese Anwesiung wird der Wert dann gesetzt. Dabei ist das erste +% Argument die Familie, das zweite der Name des Schlüssels, das dritte der +% Name der \LaTeX-Länge, das vierte schließlich der gewünschte Wert. +% \begin{macrocode} +\newcommand*{\FamilySetLength}[4]{% + \ifiscount{#4}{#3=#4\FamilyKeyStateProcessed}{% + \ifisdimen{#4}{#3=#4\FamilyKeyStateProcessed}{% + \ifisskip{#4}{#3=#4\FamilyKeyState\Processed}{% + \ifisnumexpr{#4}{#3=#4\FamilyKeyStateProcessed}{% + \ifisdimexpr{#4}{#3=#4\FamilyKeyStateProcessed}{% + \ifisglue{#4}{#3=#4\FamilyKeyStateProcessed}{% + \FamilyUnknownKeyValue{#1}{#2}{#4}{% + length values, counters, lengths, skips, dimens + }% + }% + }% + }% + }% + }% + }% +} +%</base> +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{macro}{\FamilyLengthMacroKey} +% \changes{v3.12}{2013/11/05}{neu}%^^A +% \begin{macro}{\FamilySetLengthMacro} +% \changes{v3.12}{2013/11/05}{neu}%^^A +% Diese Anweisungen arbeitet fast wie \cs{FamilyCounterKey} und +% \cs{FamilySetCounter}, allerdings wird nicht ein Zähler gesetzt, sondern +% ein Makro auf einen Wert definiert. Dabei ist das erste Argument die +% Familie, das zweite der Name des Schlüssels, das dritte das Makro, das +% vierte schließlich der gewünschte Wert. +% \begin{macrocode} +%<*base> +\newcommand*{\FamilyLengthMacroKey}[4][.\@currname.\@currext]{% + \ifdefined#4\else\let#4\z@\fi + \DefineFamilyKey[{#1}]{#2}{#3}{\FamilySetLengthMacro{#2}{#3}{#4}{##1}}% +} +\newcommand*{\FamilySetLengthMacro}[4]{% + \begingroup + \ifiscount{#4}{\@tempskipa=#4\FamilyKeyStateProcessed}{% + \ifisdimen{#4}{\@temskipa=#4\FamilyKeyStateProcessed}{% + \ifisskip{#4}{\@tempkipa=#4\FamilyKeyState\Processed}{% + \ifisnumexpr{#4}{\@tempskipa=#4\FamilyKeyStateProcessed}{% + \ifisdimexpr{#4}{\@tempskipa=#4\FamilyKeyStateProcessed}{% + \ifisglue{#4}{\@tempskipa=#4\FamilyKeyStateProcessed}{% + \FamilyUnknownKeyValue{#1}{#2}{#4}{% + length values, counters, lengths, skips, dimens + }% + }% + }% + }% + }% + }% + }% + \expandafter\expandafter\expandafter\endgroup + \expandafter\def\expandafter#3\expandafter{\the\@tempskipa}% +} +%</base> +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% +% \begin{macro}{\FamilyNumericalKey} +% \changes{v3.00}{2008/04/30}{Neue Anweisung} +% \begin{macro}{\Family@Numerical@Key} +% \changes{v3.00}{2008/05/28}{Neu (intern)} +% \changes{v3.08b}{2011/03/31}{fehlendes Argument bei \cs{ifundefined}} +% Ein ähnliches Makro definiert einen Schlüssel, der ein nummerisches Makro +% auf einen bestimmten Wert setzt. Dabei können auch verschiedene symbolische +% Werte auf denselben nummerischen Wert abgebildet werden. Das erste, +% optionale Argument ist das Familienmitglied, das zweite, obligatorische +% Argument ist die Familie, das dritte, obligatorische Argument ist der Name +% der Option, das vierte, optionale Artument ist der Defaultwert für den +% Schlüssel, das fünfte, obligatorische Argument ist der Name des Makros, das +% (in der Voreinstellung als 0) definiert werden soll, das sechste, +% obligatorische Argument ist die Liste der symbolischen und nummerischen +% Werte. Die Liste hat die Form: +% \{\emph{Symbol}\}\{\emph{Wert}\},\{\emph{Symbol}\}\{\emph{Wert}\}\dots +% Das interne Makro wird benötigt, um das vierte, optionale Argument zu +% ermöglichen. Dabei ist dann das erste Argument nicht mehr optional, sondern +% obligatorisch. +% \begin{macrocode} +%<*base> +\newcommand*{\FamilyNumericalKey}[3][.\@currname.\@currext]{% + \@ifnextchar [%] + {\Family@Numerical@Key{#1}{#2}{#3}}{\Family@Numerical@Key{#1}{#2}{#3}[]}% +} +\newcommand*{\Family@Numerical@Key}{} +\def\Family@Numerical@Key#1#2#3[#4]#5#6{% + \@ifundefined{#5}{\@namedef{#5}{0}}{}% + \ifx\relax#4\relax + \DefineFamilyKey[{#1}]{#2}{#3}{\FamilySetNumerical{#2}{#3}{#5}{#6}{##1}}% + \else + \DefineFamilyKey[{#1}]{#2}{#3}[{#4}]{% + \FamilySetNumerical{#2}{#3}{#5}{#6}{##1}}% + \fi +} +% \end{macrocode} +% \begin{macro}{\FamilySetNumerical} +% \changes{v3.11a}{2012/05/28}{call of \cs{FamilyUnknownKeyValue} outside of +% local group} +% Die eigentliche Arbeit dabei wird von diesem Makro erledigt. Dabei +% wird die Familie zu Argument 1, der Name des Schlüssels zu Argument 2, der +% Name des Makros, das definiert werden soll zu Argument 3, die Liste zu +% Argument 4 und der Wert, auf den gesetzt werden soll, zu Argument 5. +% \begin{macrocode} +\newcommand*{\FamilySetNumerical}[5]{% + \begingroup + \edef\@searched{#5}% + \let\reserved@a=\@empty + \let\reserved@b=\@empty + \@tempswafalse + \@for\@valuelist:=#4\do{% + \if@tempswa\else + \edef\reserved@c{\expandafter\@firstoftwo\@valuelist}% + \edef\reserved@a{\reserved@a\reserved@b`\reserved@c'}% + \edef\reserved@b{, }% + \ifx\reserved@c\@searched + \@tempswatrue + \edef\reserved@a{\expandafter\@secondoftwo\@valuelist}% + \fi + \fi + }% + \if@tempswa + \edef\reserved@a{\endgroup + \noexpand\@namedef{#3}{\reserved@a}% + \noexpand\FamilyKeyStateProcessed + }% + \else + \edef\reserved@a{\endgroup + \noexpand\FamilyUnknownKeyValue{#1}{#2}{#5}{\reserved@a}% + }% + \fi + \reserved@a + \let\FamilyElseValues\@empty +} +%</base> +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\KOMA@ncmdkey} +% \changes{v3.02c}{2009/02/04}{definiert ebenfalls das Familienmitglied} +% Ein ähnliches Makro definiert einen Schlüssel, der ein nummerisches +% Makro auf einen bestimmten Wert setzt. Dabei können auch +% verschiedene symbolische Werte auf denselben nummerischen Wert +% abgebildet werden. Das erste Argument ist obligatorisch und der Name +% des Schlüssels. Das zweite Argument ist optional und der Defaultwert +% für den Schlüssel. Das dritte Argument ist obligatorisch und der +% Name des Makros, das definiert werden soll. Der Defaultwert dafür +% ist 0. Das vierte Argument ist obligatorisch und die Liste der +% symbolischen und nummerischen Wert. Die Liste hat die Form: +% \{\emph{Symbol}\}\{\emph{Wert}\},\{\emph{Symbol}\}\{\emph{Wert}\}\dots +% \begin{macrocode} +%<*koma> +\newcommand*{\KOMA@ncmdkey}{% + \DefineFamilyMember{KOMA}% + \FamilyNumericalKey{KOMA}% +} +%</koma> +% \end{macrocode} +% \begin{macro}{\KOMA@set@ncmdkey} +% Die eigentliche Arbeit dabei wird wahlweise von diesem Makro erledigt. Dabei +% wird der Name des Schlüssels zu Argument 1, der Name des Makros, +% das definiert werden soll zu Argument 2, die Liste zu Argument 3 und +% der Wert, auf den gesetzt werden soll, zu Argument 4. +% \begin{macrocode} +%<*koma> +\newcommand*{\KOMA@set@ncmdkey}{\FamilySetNumerical{KOMA}} +%</koma> +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% +% \begin{macro}{\FamilyStringKey} +% \changes{v3.08}{2010/11/05}{Neue Anweisung} +% \changes{v3.08b}{2011/03/31}{\cs{Family@String@Key} und +% \cs{Family@@String@@Key} vertauscht} +% \begin{macro}{\Family@String@Key} +% \changes{v3.08}{2010/11/05}{Neu (intern)} +% \begin{macro}{\Family@@String@@Key} +% \changes{v3.08}{2010/11/05}{Neu (intern)} +% Ein ähnliches Makro definiert einen Schlüssel, der ein Makro auf einen +% beliegigen Wert setzt. Das erste, optionale Argument ist das +% Familienmitglied, das zweite, obligatorische Argument ist die Familie, das +% dritte, obligatorische Argument ist der Name der Option, das vierte, +% optionale Artument ist der Defaultwert für den Schlüssel, das fünfte, +% obligatorische Argument ist der Name des Makros, das (in der Voreinstellung +% als leer) definiert werden soll. Die internen Makro werden benötigt, um das +% vierte, optionale Argument zu ermöglichen. Dabei ist dann das erste Argument +% nicht mehr optional, sondern obligatorisch. +% \begin{macrocode} +%<*base> +\newcommand*{\FamilyStringKey}[3][.\@currname.\@currext]{% + \@ifnextchar [%] + {\Family@@String@@Key{#1}{#2}{#3}}{\Family@String@Key{#1}{#2}{#3}}% +} +\newcommand*{\Family@@String@@Key}{} +\long\def\Family@@String@@Key#1#2#3[#4]#5{% + \DefineFamilyKey[{#1}]{#2}{#3}[{#4}]{\def#5{##1}}% +} +\newcommand{\Family@String@Key}[4]{% + \DefineFamilyKey[{#1}]{#2}{#3}{\def#4{##1}\FamilyKeyStateProcessed}% +} +%</base> +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% +% \begin{macro}{\KOMA@DeclareDeprecatedOption} +% \changes{v3.01a}{2008/11/20}{neu (intern)} +% \begin{macro}{\KOMA@@DeclareDeprecatedOption} +% \changes{v3.01a}{2008/11/20}{neu (intern)} +% \begin{macro}{\KOMA@@@DeclareDeprecatedOption} +% \changes{v3.01a}{2008/11/20}{neu (intern)} +% Mit Hilfe dieses Makros kann eine Option definiert werden, die +% eigentlich obsolete ist. Statt dieser Option wird dann ein Schlüssel +% verwendet. Das erste Argument ist optional und muss dann der Paketname +% sein. Ist es nicht gesetzt, so wird stattdessen die Klasse +% \cs{KOMAClassName} angenommen. Das zweite Argument ist der Name der +% Option. Das vierte Argument ist das Setzen des gewünschten Schlüssels. +% \begin{macrocode} +%<*koma> +\newcommand*{\KOMA@DeclareDeprecatedOption}{% + \@ifnextchar [%] + {\KOMA@@DeclareDeprecatedOption}% + {\KOMA@@@DeclareDeprecatedOption{\ClassWarningNoLine{\KOMAClassName}}}% +} +\newcommand*{\KOMA@@DeclareDeprecatedOption}[1][]{% + \KOMA@@@DeclareDeprecatedOption{\PackageWarningNoLine{#1}}% +} +\newcommand*{\KOMA@@@DeclareDeprecatedOption}[3]{% + \DeclareOption{#2}{\KOMA@UseDeprecatedOption{#1}{#2}{#3}}% +} +% \end{macrocode} +% \begin{macro}{\KOMA@UseDeprecatedOption} +% \changes{v3.01a}{2008/11/20}{neu (intern)}% +% \changes{v3.12}{2013/03/04}{Test für \texttt{version!=first}}% +% Die eigentliche Arbeit wird von diesem Makro erledigt. Die Argumente sind +% 1. Meldungsbefehl, 2. obsolete Option, 3. Setzen des Schlüssels. +% \begin{macrocode} +\newcommand*{\KOMA@UseDeprecatedOption}[3]{% + \let\scr@sr@co\CurrentOption + \begingroup + #1{% + You've used obsolete option `#2'.\MessageBreak + Usage of this option indicates an old document and\MessageBreak + \scr@ifundefinedorrelax{KV@KOMA.\@currname.\@currext @version}{% + changes compatibility level using\MessageBreak + `#3,version=first'.\MessageBreak + If you don't want this, y% + }{% + is deprecated.\MessageBreak + Y% + }% + ou should simply replace\MessageBreak + usage of option `#2' by `#3'% + }% + \endgroup + \KOMAExecuteOptions{#3,version=first}% + \let\CurrentOption\scr@sr@co +} +%</koma> +% \end{macrocode} +% \end{macro}^^A \KOMA@UseDeprecatedOption +% \end{macro}^^A \KOMA@@@DeclareDeprecatedOption +% \end{macro}^^A \KOMA@@DeclareDeprecatedOption +% \end{macro}^^A \KOMA@DeclareDeprecatedOption +% +% +% \begin{macro}{\KOMA@DeclareStandardOption} +% \changes{v3.01a}{2008/11/21}{neu (intern)} +% \begin{macro}{\KOMA@@DeclareStandardOption} +% \changes{v3.01a}{2008/11/21}{neu (intern)} +% \begin{macro}{\KOMA@@@DeclareStandardOption} +% \changes{v3.01a}{2008/11/21}{neu (intern)} +% Mit Hilfe dieses Makros kann eine Option definiert werden, die +% eigentlich obsolete ist. Statt dieser Option wird dann ein Schlüssel +% verwendet. Das erste Argument ist optional und muss dann der Paketname +% sein. Ist es nicht gesetzt, so wird stattdessen die Klasse +% \cs{KOMAClassName} angenommen. Das zweite Argument ist der Name der +% Option. Das vierte Argument ist das Setzen des gewünschten Schlüssels. +% \begin{macrocode} +%<*koma> +\newcommand*{\KOMA@DeclareStandardOption}{% + \@ifnextchar [%] + {\KOMA@@DeclareStandardOption}% + {\KOMA@@@DeclareStandardOption{\ClassInfoNoLine{\KOMAClassName}}}% +} +\newcommand*{\KOMA@@DeclareStandardOption}[1][]{% + \KOMA@@@DeclareStandardOption{\PackageInfoNoLine{#1}}% +} +\newcommand*{\KOMA@@@DeclareStandardOption}[3]{% + \DeclareOption{#2}{\KOMA@UseStandardOption{#1}{#2}{#3}}% +} +% \end{macrocode} +% \begin{macro}{\KOMA@UseStandardOption} +% \changes{v3.01a}{2008/11/21}{neu (intern)} +% Die eigentliche Arbeit wird von diesem Makro erledigt. Die Argumente sind +% 1. Meldungsbefehl, 2. obsolete Option, 3. Setzen des Schlüssels. +% \begin{macrocode} +\newcommand*{\KOMA@UseStandardOption}[3]{% + \let\scr@sr@co\CurrentOption + #1{% + You've used standard option `#2'.\MessageBreak + This is correct!\MessageBreak + Internally I'm using `#3'.\MessageBreak + If you'd like to set the option with \string\KOMAoptions,\MessageBreak + you'd have to use `#3' there\MessageBreak + instead of `#2', too% + }% + \KOMAExecuteOptions{#3}% + \let\CurrentOption\scr@sr@co +} +% \end{macrocode} +% \begin{macro}{\scr@sr@co} +% \changes{v2.96}{2006/08/20}{neu (intern)} +% Da das \texttt{xkeyval}-Paket leider \cs{CurrentOption} vernichtet, das aber +% innerhalb von \cs{ProcessOptions} und \cs{KOMAProcessOptions} nach dem +% Ausführen der Option noch benötigt wird, muss die Anweisung gesichert +% werden. Dafür wird ein Hilfsmakro benötigt. +% \begin{macrocode} +\newcommand*{\scr@sr@co}{} +%</koma> +% \end{macrocode} +% \end{macro}^^A \scr@sr@co +% \end{macro}^^A \KOMA@UseStandardOption +% \end{macro}^^A \KOMA@@@DeclareStandardOption +% \end{macro}^^A \KOMA@@DeclareStandardOption +% \end{macro}^^A \KOMA@DeclareStandardOption +% +% +% \begin{macro}{\KOMA@DeclareObsoleteOption} +% \changes{v2.96}{2006/08/20}{\cs{CurrentOption wir geschützt}} +% \changes{v3.12}{2013/03/04}{entfernt weil unbenutzt} +% \begin{macro}{\KOMA@@DeclareObsoleteOption} +% \changes{v2.98c}{2008/02/18}{neu (intern)} +% \changes{v3.12}{2013/03/04}{entfernt weil unbenutzt} +% \begin{macro}{\KOMA@@@DeclareObsoleteOption} +% \changes{v2.98c}{2008/02/18}{neu (intern)} +% \changes{v3.12}{2013/03/04}{entfernt weil unbenutzt} +% \begin{macro}{\KOMA@iv@DeclareObsoleteOption} +% \changes{v2.98c}{2008/02/18}{neu (intern)} +% \changes{v3.12}{2013/03/04}{entfernt weil unbenutzt} +% \begin{macro}{\KOMA@UseObsoleteOption} +% \changes{v2.97c}{2007/04/19}{neu (intern)} +% \changes{v3.12}{2013/03/04}{entfernt weil unbenutzt} +% \end{macro}^^A \KOMA@UseObsoleteOption +% \end{macro}^^A \KOMA@iv@DeclareObsoleteOption +% \end{macro}^^A \KOMA@iii@DeclareObsoleteOption +% \end{macro}^^A \KOMA@ii@DeclareObsoleteOption +% \end{macro}^^A \KOMA@i@DeclareObsoleteOption +% +% +% \begin{macro}{\KOMA@newdeprecatedcommand} +% \changes{v3.12}{2013/03/04}{renamed \cs{KOMA@newobsoletecommand} into +% \cs{KOMA@newdeprecatedcommand}} +% Mit Hilfe dieses Makros kann ein Makro definiert werden, das +% eigentlich obsolete ist. Das Makro verwendet dann schlicht einen +% Schlüssel. Das erste Argument ist optional und muss dann entweder +% \cs{PackageInfo}, \cs{PackageInfoNoLine}, \cs{PackageWarning} oder +% \cs{PackageWarningNoLine} sein. Das zweite Argument ist das Makro. +% Das dritte Argument ist das Setzen des gewünschten Schlüssels. Das +% definierte Makro selbst hat Schaltercharakter, ist also nicht +% \cs{long} und versteht auch keine Argumente. +% \begin{macrocode} +%<*koma> +\newcommand*{\KOMA@newdeprecatedcommand}[3][\@gobbletwo]{% + \newcommand*{#2}{\KOMA@UseDeprecatedCommand{#1}{\string#2}{#3}}% +} +% \end{macrocode} +% \begin{macro}{\KOMA@UseDeprecatedCommand} +% \changes{v2.97c}{2007/04/19}{neu (intern)} +% \changes{v3.12}{2013/03/04}{renamed \cs{KOMA@UseObsoleteCommand} into +% \cs{KOMA@UseDeprecatedCommand}} +% Die eigentliche Arbeit wird von diesem Makro erledigt. Die Argumente sind +% dieselben. +% \begin{macrocode} +\newcommand*{\KOMA@UseDeprecatedCommand}[3]{% + #1{% + scrkbase% + }{% + You've used deprecated command `#2'.\MessageBreak + \protect\KOMAoptions{#3} will be used instead.\MessageBreak + You should also replace `#2' by `\protect\KOMAoptions{#3}'% + }% + \KOMAoptions{#3}% +} +%</koma> +% \end{macrocode} +% \end{macro}^^A \KOMA@UseDeprecatedCommand +% \end{macro}^^A \KOMA@newdeprecatedcommand +% +% +% \iffalse +%</body> +% \fi +% +% \Finale +% +\endinput +% +% end of file `scrkernel-basics.dtx' +%%% Local Variables: +%%% mode: doctex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/scrkbib.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-bibliography.dtx index 278fa2f1c74..0522f044522 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkbib.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-bibliography.dtx @@ -1,8 +1,8 @@ -% \CheckSum{319} +% \CheckSum{419} % \iffalse meta-comment % ====================================================================== -% scrkbib.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% scrkernel-bibliography.dtx +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -19,8 +19,8 @@ % % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- -% scrkbib.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% scrkernel-bibliography.dtx +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -55,17 +55,18 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scrkbib.dtx +%%% From File: $Id: scrkernel-bibliography.dtx 1380 2013-10-01 15:31:55Z mjk $ %<*driver> % \fi -\ProvidesFile{scrkbib.dtx}[2011/08/31 v3.10 KOMA-Script (bibliography)] +\ProvidesFile{scrkernel-bibliography.dtx}[2013/09/24 v3.12 KOMA-Script + (bibliography)] % \iffalse \documentclass[halfparskip-]{scrdoc} \usepackage[english,ngerman]{babel} \usepackage[latin1]{inputenc} \CodelineIndex \RecordChanges -\GetFileInfo{scrkbib.dtx} +\GetFileInfo{scrkernel-bibliography.dtx} \title{\KOMAScript{} \partname\ \texttt{\filename}% \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} @@ -79,7 +80,6 @@ \end{document} %</driver> % \fi -% % \selectlanguage{ngerman} % % \changes{v2.95}{2002/06/30}{% @@ -231,18 +231,29 @@ % \texttt{thebibliography}-Umgebung verschoben}% % \changes{v2.98c}{2008/02/15}{wird nun früher definiert}% % \changes{v3.10}{2011/08/31}{\cs{MakeMarkcase} wird beachtet}% +% \changes{v3.12}{2012/02/06}{\cs{ifbib@leveldown} wird beachtet}% % Befehl zum Setzen der Überschrift des Literaturverzeichnisses. % \begin{macrocode} \newcommand*\bib@heading{% -%<*article> - \section*{\refname}% - \@mkboth{\MakeMarkcase{\refname}}{\MakeMarkcase{\refname}}% +%<*article> + \ifbib@leveldown + \subsection*{\refname}% + \ifx\@mkboth\@gobble\else\markright{\MakeMarkcase{\refname}}\fi + \else + \section*{\refname}% + \@mkboth{\MakeMarkcase{\refname}}{\MakeMarkcase{\refname}}% + \fi %</article> %<*book|report> - \chapter*{\bibname}% - \@mkboth{\MakeMarkcase{\bibname}}{\MakeMarkcase{\bibname}}% + \ifbib@leveldown + \section*{\bibname}% + \ifx\@mkboth\@gobble\else\markright{\MakeMarkcase{\bibname}}\fi + \else + \chapter*{\bibname}% + \@mkboth{\MakeMarkcase{\bibname}}{\MakeMarkcase{\bibname}}% + \fi %</book|report> -} +}% % \end{macrocode} % \end{macro} % @@ -251,63 +262,121 @@ % \subsection{Optionen für das Literaturverzeichnis} % % \begin{option}{bibliography} -% \changes{v2.98c}{2008/02/15}{Neu}% -% \changes{v3.10}{2011/08/31}{\cs{MakeMarkcase} wird beachtet}% +% \changes{v2.98c}{2008/02/15}{Neu}%^^A +% \changes{v3.10}{2011/08/31}{\cs{MakeMarkcase} wird beachtet}%^^A +% \changes{v3.12}{2013/02/06}{neuer Wert \texttt{leveldown}}%^^A +% \changes{v3.12}{2013/02/06}{neuer Wert \texttt{standardlevel}}%^^A +% \changes{v3.12}{2013/03/05}{an die Änderungen in \textsf{scrbase} +% angepasst}%^^A +% \changes{v3.12}{2013/09/28}{Verwendung von \cs{addxcontentsline} statt +% \cs{addcontentsline}}%^^A +% \changes{v3.12}{2013/09/28}{Es werden keine Kapiteleinträge in andere +% Verzeichnisse geschrieben.}%^^A % Dies ist der Generalschlüssel für alle Optionen, die das % Literaturverzeichnis betreffen. Neu ist, dass verschiedene Stile definiert % werden können. Desweiteren kann man \texttt{totoc} und % \texttt{totocnumbered} wieder mit \texttt{nottotoc} aufgeben. +% \begin{macro}{\ifbib@leveldown} +% \changes{v3.12}{2013/02/06}{neuer Schalter (intern)} +% Für den ab Version~3.12 neuen Wert \texttt{leveldown} und dessen +% Gegenstück \texttt{standardlevel} wird außerdem ein Schalter benötigt. % \begin{macrocode} +\newif\ifbib@leveldown \KOMA@key{bibliography}{% \scr@ifundefinedorrelax{scr@bibstyle@#1}{% - \let\FamilyElseValues\scr@bibstylelist \KOMA@set@ncmdkey{bibliography}{@tempa}{% {notoc}{0},{nottotoc}{0},{plainheading}{0},% {totoc}{1},{toc}{1},{notnumbered}{1},% {numbered}{2},{totocnumbered}{2},{tocnumbered}{2},{numberedtotoc}{2},% - {numberedtoc}{2}% + {numberedtoc}{2},% + {leveldown}{3},% + {standardlevel}{4}% }{#1}% \ifcase \@tempa\relax \renewcommand*\bib@heading{% -%<*article> - \section*{\refname}% - \@mkboth{\MakeMarkcase{\refname}}{\MakeMarkcase{\refname}}% +%<*article> + \ifbib@leveldown + \subsection*{\refname}% + \ifx\@mkboth\@gobble\else\markright{\MakeMarkcase{\refname}}\fi + \else + \section*{\refname}% + \@mkboth{\MakeMarkcase{\refname}}{\MakeMarkcase{\refname}}% + \fi %</article> %<*book|report> - \chapter*{\bibname}% - \@mkboth{\MakeMarkcase{\bibname}}{\MakeMarkcase{\bibname}}% + \ifbib@leveldown + \section*{\bibname}% + \ifx\@mkboth\@gobble\else\markright{\MakeMarkcase{\bibname}}\fi + \else + \chapter*{\bibname}% + \@mkboth{\MakeMarkcase{\bibname}}{\MakeMarkcase{\bibname}}% + \fi %</book|report> }% \or% totoc \renewcommand*\bib@heading{% %<*article> - \addsec{\refname}% - \@mkboth{\MakeMarkcase{\refname}}{\MakeMarkcase{\refname}}% + \ifbib@leveldown + \subsection*{% + \addxcontentsline{toc}{subsection}{\refname}% + \refname + }% + \ifx\@mkboth\@gobble\else\markright{\MakeMarkcase{\refname}}\fi + \else + \addsec{\refname} + \@mkboth{\MakeMarkcase{\refname}}{\MakeMarkcase{\refname}}% + \fi %</article> %<*book|report> - \addchap{\bibname}% - \@mkboth{\MakeMarkcase{\bibname}}{\MakeMarkcase{\bibname}}% + \ifbib@leveldown + \addsec{\bibname} + \else + \if@chaptertolists + \@chaptertolistsfalse\addchap{\bibname}\@chaptertoliststrue + \else + \addchap{\bibname} + \fi + \@mkboth{\MakeMarkcase{\bibname}}{\MakeMarkcase{\bibname}}% + \fi %</book|report> }% \or% numbered \renewcommand*\bib@heading{% %<*article> - \section{\refname}% - \@mkboth{\MakeMarkcase{\sectionmarkformat \refname}}% - {\MakeMarkcase{\sectionmarkformat \refname}}% + \ifbib@leveldown + \subsection{\refname}% + \else + \section{\refname}% + \@mkboth{\MakeMarkcase{\sectionmarkformat \refname}}% + {\MakeMarkcase{\sectionmarkformat \refname}}% + \fi %</article> %<*book|report> - \chapter{\bibname}% - \@mkboth{\MakeMarkcase{\chaptermarkformat \bibname}}% - {\MakeMarkcase{\chaptermarkformat \bibname}}% + \ifbib@leveldown + \section{\bibname}% + \else + \if@chaptertolists + \@chaptertolistsfalse\chapter{\bibname}\@chaptertoliststrue + \else + \chapter{\bibname} + \fi + \@mkboth{\MakeMarkcase{\chaptermarkformat \bibname}}% + {\MakeMarkcase{\chaptermarkformat \bibname}}% + \fi %</book|report> } + \or% leveldown + \bib@leveldowntrue + \or% standardlevel + \bib@leveldownfalse \fi }{% \csname scr@bibstyle@#1\endcsname + \FamilyKeyStateProcessed }% } % \end{macrocode} +% \end{macro} % \end{option} % % \begin{option}{openbib} @@ -585,7 +654,7 @@ % \endinput % -% end of file `scrkbib.dtx' +% end of file `scrkernel-bibliography.dtx' %%% Local Variables: %%% mode: doctex %%% TeX-master: t diff --git a/Master/texmf-dist/source/latex/koma-script/scrkcile.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-circularletters.dtx index 7841ccf4a04..edc41d19aeb 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkcile.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-circularletters.dtx @@ -1,8 +1,8 @@ % \CheckSum{36} % \iffalse meta-comment % ====================================================================== -% scrkcile.dtx -% Copyright (c) Markus Kohm, 2006-2012 +% scrkernel-circularletters.dtx +% Copyright (c) Markus Kohm, 2006-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -19,8 +19,8 @@ % % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- -% scrkcile.dtx -% Copyright (c) Markus Kohm, 2006-2012 +% scrkernel-circularletters.dtx +% Copyright (c) Markus Kohm, 2006-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -55,17 +55,17 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scrkcile.dtx +%%% From File: $Id: scrkernel-circularletters.dtx 1384 2013-10-01 15:51:14Z mjk $ %<*driver> % \fi -\ProvidesFile{scrkcile.dtx}[2006/03/28 v2.95 KOMA-Script (circular letters)] +\ProvidesFile{scrkernel-circularletters.dtx}[2006/03/28 v2.95 KOMA-Script (circular letters)] % \iffalse \documentclass{scrdoc} \usepackage[english,ngerman]{babel} \usepackage[latin1]{inputenc} \CodelineIndex \RecordChanges -\GetFileInfo{scrkcile.dtx} +\GetFileInfo{scrkernel-circularletters.dtx} \title{\KOMAScript{} \partname\ \texttt{\filename}% \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} \date{\filedate} @@ -152,7 +152,7 @@ % \endinput % -% end of file `scrkcile.dtx' +% end of file `scrkernel-circularletters.dtx' %%% Local Variables: %%% mode: doctex %%% TeX-master: t diff --git a/Master/texmf-dist/source/latex/koma-script/scrkcomp.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-compatibility.dtx index b9792e7ba0d..d98490a00ba 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkcomp.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-compatibility.dtx @@ -1,8 +1,8 @@ -% \CheckSum{106} +% \CheckSum{142} % \iffalse meta-comment % ====================================================================== -% scrkcomp.dtx -% Copyright (c) Markus Kohm, 2006-2012 +% scrkernel-compatibility.dtx +% Copyright (c) Markus Kohm, 2006-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -19,8 +19,8 @@ % % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- -% scrkcomp.dtx -% Copyright (c) Markus Kohm, 2006-2012 +% scrkernel-compatibility.dtx +% Copyright (c) Markus Kohm, 2006-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -55,17 +55,18 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scrkcomp.dtx +%%% From File: $Id: scrkernel-compatibility.dtx 1512 2013-11-11 10:35:04Z mjk $ %<*driver> % \fi -\ProvidesFile{scrkcomp.dtx}[2012/07/29 v3.11b KOMA-Script (compatibility)] +\ProvidesFile{scrkernel-compatibility.dtx}[2013/11/05 v3.11b KOMA-Script + (compatibility)] % \iffalse \documentclass{scrdoc} \usepackage[english,ngerman]{babel} \usepackage[latin1]{inputenc} \CodelineIndex \RecordChanges -\GetFileInfo{scrkcomp.dtx} +\GetFileInfo{scrkernel-compatibility.dtx} \title{\KOMAScript{} \partname\ \texttt{\filename}% \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} \date{\filedate} @@ -84,7 +85,19 @@ % \changes{v2.95}{2006/03/16}{% % erste Version aus der Aufteilung von \textsf{scrclass.dtx}} % -% \section{Kompatibilität zu früheren Versionen} +% +% \section{Kompatibilität mit den Standardklassen oder +% zu früheren Versionen} +% +% \KOMAScript{} ist bezüglich der Anwenderschnittstelle von vornherein +% aufwärtskompatibel mit den Standardklassen. Allerdings unterscheiden sich +% diverse Voreinstellungen doch sehr erheblich von denen der +% Standardklassen. In Zukunft soll man beim Laden der Klassen (nicht jedoch +% später!) mit Option \texttt{emulatestandardclasses} die Voreinstellungen +% anpassen können. Dabei wird jedoch nicht komplette Umbruchkompatibilität mit +% den Standardklassen erreicht, sondern nur einige Einstellungen werden +% angepasst. +% % % Manchmal ist es sinnvoll, dass sich eine neue Version von \KOMAScript{} % etwas anders verhält als frühere Versionen. Gleichzeitig ist es aber für den @@ -99,7 +112,53 @@ %<*option> % \fi % -% \subsection{Option} +% \subsection{Optionen für die Kompatibilität mit den Standardklassen} +% Hier gibt es derzeit nur eine Optione, die nur beim Laden aber nicht zur +% Laufzeit verwendet werden kann: +% +% \begin{option}{emulatestandardclasses} +% \changes{v3.12}{2013/11/11}{Neue Option} +% Diese Option muss sich auf diverse andere Einstellungen auswirken und +% sollte deshalb so früh wie möglich verwendet werden. Vieles ändert sie +% sofort, manches aber auch erst später. +% \begin{macro}{\if@scr@emulatestandardclasses} +% \changes{v3.12}{2013/11/11}{Neuer Schalter (intern)} +% Für die späteren Änderungen wird ein Schalter benötigt, der jedoch nicht +% wie gewohnt geändert werden kann. +% \begin{macrocode} +%<*class&!letter> +\newif\if@scr@emulatestandardclasses +\let\scr@emulatestandardclassestrue\relax +\let\scr@emulatestandardclassesfalse\relax +\DeclareOption{emulatestandardclasses}{% + \let\if@scr@emulatestandardclasses\iftrue + \KOMAExecuteOptions{% + fontsize=10pt,% +%<book|report> headings=standardclasses,% + cleardoublepage=current + }% + \newcommand*{\defaultpapersize}{letter}% + \AtEndOfClass{% + \setkomafont{descriptionlabel}{\bfseries}% + \setkomafont{dictum}{\normalfont\small}% + \setkomafont{caption}{}% + \setkomafont{captionlabel}{}% + \setcapindent{0pt}% + \RequirePackage[pagestyleset=standard,markcase=upper]{scrlayer-scrpage}% + \PreventPackageFromLoading{scrpage2}% + \setkomafont{pagenumber}{\normalfont}% + \setkomafont{pageheadfoot}{\normalfont}% + \cfoot[\pagemark]{}% +%<article|report> \pagestyle{plain}% + }% +} +%</class&!letter> +% \end{macrocode} +% \end{macro} +% \end{option} +% +% +% \subsection{Option für die Kompatibilität zu früheren Versionen} % Die gesamte Kompatibilitätssteuerung erfolgt mit einer einzigen Option, bei % der man angibt, zu welcher Version Kompatibilität hergestellt werden % soll. Dies bedeutet ggf. dann auch, dass einzelne neuere Möglichkeiten nicht @@ -147,11 +206,14 @@ }% %<class|extend> \edef\scr@compatibility{\@nameuse{scr@v@#1}}% %<typearea> \edef\scr@ta@compatibility{\@nameuse{scr@v@#1}}% + \FamilyKeyStateProcessed }% } % \end{macrocode} % Eine zusätzliche Bedingung gibt es noch: Die Kompatibilität kann nur beim -% Laden gesetzt werden. Danach geht es nicht mehr: +% Laden gesetzt werden. Danach geht es nicht mehr. Ausnahmsweise wird hier +% auch nicht mit \cs{FamilyKeyState} signalisiert, sondern direkt ein Fehler +% ausgegeben. % \begin{macrocode} %<class>\AtEndOfClass{% %<package>\AtEndOfPackage{% @@ -168,6 +230,7 @@ %<package> package.\MessageBreak But you've tried to set it up later.% }% + \FamilyKeyStateProcessed }% } % \end{macrocode} @@ -266,6 +329,8 @@ % \changes{v3.11a}{2012/05/25}{Neues Macro} % \begin{macro}{\scr@v@3.11b} % \changes{v3.11b}{2012/07/29}{Neues Macro} +% \begin{macro}{\scr@v@3.12} +% \changes{v3.12}{2013/03/05}{Neues Macro} % \begin{macro}{\scr@v@last} % \changes{v2.9u}{2005/03/05}{Neues Macro} % Nun die unterschiedlichen möglichen Werte (|\scr@v@last| ist jeweils die @@ -318,7 +383,8 @@ \@namedef{scr@v@3.11}{10} \@namedef{scr@v@3.11a}{10} \@namedef{scr@v@3.11b}{10} -\@namedef{scr@v@last}{10} +\@namedef{scr@v@3.12}{11} +\@namedef{scr@v@last}{11} % \end{macrocode} % \end{macro} % \end{macro} @@ -355,6 +421,7 @@ % \end{macro} % \end{macro} % \end{macro} +% \end{macro} % \end{macro} % \end{macro} % \end{macro} @@ -423,7 +490,7 @@ % \endinput % -% end of file `scrkcomp.dtx' +% end of file `scrkernel-compatibility.dtx' %%% Local Variables: %%% mode: doctex %%% TeX-master: t diff --git a/Master/texmf-dist/source/latex/koma-script/scrkfloa.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-floats.dtx index 63bf17ec4f3..8c1966bb2bb 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkfloa.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-floats.dtx @@ -1,8 +1,8 @@ -% \CheckSum{1204} +% \CheckSum{1198} % \iffalse meta-comment % ====================================================================== -% scrkfloa.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% scrkernel-floats.dtx +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -19,8 +19,8 @@ % % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- -% scrkfloa.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% scrkernel-floats.dtx +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -55,17 +55,18 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scrkfloa.dtx +%%% From File: $Id: scrkernel-floats.dtx 1502 2013-11-06 11:00:12Z mjk $ %<*driver> % \fi -\ProvidesFile{scrkfloa.dtx}[2011/09/02 v3.10 KOMA-Script (floats)] +\ProvidesFile{scrkernel-floats.dtx}[2013/06/12 v3.12 KOMA-Script + (floats)] % \iffalse \documentclass[halfparskip-]{scrdoc} \usepackage[english,ngerman]{babel} \usepackage[latin1]{inputenc} \CodelineIndex \RecordChanges -\GetFileInfo{scrkfloa.dtx} +\GetFileInfo{scrkernel-floats.dtx} \title{\KOMAScript{} \partname\ \texttt{\filename}% \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} \date{\filedate} @@ -1050,15 +1051,21 @@ % bestimmte werden, wenn Option \texttt{onelinecaption} verwendet % wird. Das bedeutet auch, dass bei \texttt{noonelinecaption} das % Problem mit dem Hochzählen der Fußnoten nicht auftritt. -% \changes{v2.8q}{2002/05/17}{Problem mit doppelten Fußnoten behoben} +% \changes{v2.8q}{2002/05/17}{Problem mit doppelten Fußnoten behoben}% % \changes{v2.95}{2004/01/30}{Korrekturen für vertikalen Abstand und -% \textsl{float}-Paket} +% \textsl{float}-Paket}% % \changes{v2.95a}{2006/07/13}{diverse Korrekturen für den vertikalen -% Abstand u.\,a. bei Verwendung des \textsl{color}-Pakets} +% Abstand u.\,a. bei Verwendung des \textsl{color}-Pakets}% % \changes{v2.97c}{2007/06/06}{\cs{unskip}\cs{strut} eingefügt, um die % vertikale Ausrichtung im \emph{above}-Fall in eingen Fällen zu -% verbessern} -% \changes{v3.02a}{2009/01/24}{diverse Gruppen- bzw. Argumentklammern ergänzt} +% verbessern}% +% \changes{v3.02a}{2009/01/24}{diverse Gruppen- bzw. Argumentklammern ergänzt}% +% \changes{v3.11c}{2013/06/12}{\cs{capfont} durch +% \cs{usekomafont{caption}}ersetzt}% +% \changes{v3.11c}{2013/06/12}{\cs{caplabelfont} durch +% \cs{usekomafont{captionlabel}}ersetzt}% +% \changes{v3.12}{2013/06/12}{ein \cs{usekomafont} durch +% \cs{usesizeofkomafont} ersetzt} % \begin{macrocode} \newcommand{\@@makecaption}[3]{% \cap@margin @@ -1067,8 +1074,8 @@ \let\scr@tmp@footnotetext=\@footnotetext \let\@footnotetext=\@gobble \sbox\@tempboxa{% - {\capfont{\strut\ignorespaces - #1{{\caplabelfont{#2\captionformat}}}% + {\usekomafont{caption}{\strut\ignorespaces + #1{{\usekomafont{captionlabel}{#2\captionformat}}}% #3\unskip\strut}}% }% \let\@footnotetext=\scr@tmp@footnotetext @@ -1093,8 +1100,8 @@ % \changes{v2.97c}{2007/09/17}{\cs{scr@smashdp} eingefügt} % \begin{macrocode} \ifdofullc@p - {\capfont{\@hangfrom{\scr@smashdp{\strut\ignorespaces - #1{{\caplabelfont{#2\captionformat}}}}}% + {\usekomafont{caption}{\@hangfrom{\scr@smashdp{\strut\ignorespaces + #1{{\usekomafont{captionlabel}{#2\captionformat}}}}}% {#3\unskip\strut\par}}}% % \end{macrocode} % Im zweiten Fall ist nun zu unterscheiden, ob nach dem Label ein @@ -1104,18 +1111,20 @@ % \begin{macrocode} \else% \ifdim\cap@indent<\z@ - {\capfont{\strut\ignorespaces - #1{{\caplabelfont{#2\captionformat\par}}}% + {\usekomafont{caption}{\strut\ignorespaces + #1{{\usekomafont{captionlabel}{#2\captionformat\par}}}% \noindent\hspace*{-\cap@indent}#3\unskip\strut\par}}% \else% \if@capbreak - {\capfont{\strut\ignorespaces - #1{{\caplabelfont{#2\captionformat\par}}}% + {\usekomafont{caption}{\strut\ignorespaces + #1{{\usekomafont{captionlabel}{#2\captionformat\par}}}% \noindent\@hangfrom{\hspace*{\cap@indent}}{#3\par}}}% \else - {\capfont{\@hangfrom{\scr@smashdp\strut\hspace*{\cap@indent}}% + {\usekomafont{caption}{% + \@hangfrom{\scr@smashdp\strut\hspace*{\cap@indent}}% {\hspace{-\cap@indent}\scr@smashdp{\ignorespaces#1% - {{\caplabelfont{#2\captionformat}}}}#3\unskip\strut\par}}}% + {{\usekomafont{captionlabel}{% + #2\captionformat}}}}#3\unskip\strut\par}}}% \fi \fi \fi @@ -1138,11 +1147,12 @@ % werden, falls darin eine Größenumschaltung stattfindet} % \begin{macrocode} \sbox\@tempboxa{% - {\capfont{\scr@smashdp{\strut\ignorespaces - #1{{\caplabelfont{#2\captionformat}}}}% + {\usekomafont{caption}{\scr@smashdp{\strut\ignorespaces + #1{{\usekomafont{captionlabel}{#2\captionformat}}}}% #3}}% }% - {\capfont{\hb@xt@\hsize{\strut\cap@left\box\@tempboxa\cap@right\strut}}}% + {\usesizeofkomafont{caption}{% + \hb@xt@\hsize{\strut\cap@left\box\@tempboxa\cap@right\strut}}}% \fi \endgroup } @@ -1315,21 +1325,21 @@ % % \subsection{Titel ohne Gleitumgebung} % -% \begin{macro}{captionof} +% \begin{macro}{\captionof} % \changes{v3.05}{2009/07/08}{Neue Anweisung} % \changes{v3.09}{2011/03/21}{Verwendung des internen \cs{scr@caption}} % \changes{v3.09a}{2011/04/13}{Berücksichtigung von % \texttt{captions=tableheading} und \texttt{captions=figureheading}} -% \begin{macro}{captionaboveof} +% \begin{macro}{\captionaboveof} % \changes{v3.09}{2011/03/21}{Neue Anweisung} -% \begin{macro}{captionbelowof} +% \begin{macro}{\captionbelowof} % \changes{v3.09}{2011/03/21}{Neue Anweisung} % Obwohl es inzwischen mehrere Pakete gibt, die diese Anweisung bereit % stellen, kommt es doch immer wieder zu Fehlern, weil einige Anwender diese % Pakete nicht nutzen. Also habe ich beschlossen, das selbst zu % implementieren. Um die Kompatibilität mit \textsf{capt-of} nicht zu stören, % wird die Definition vor dme Laden jenes Pakets zurück genommen. Mit dem -% Paket \textsf{caption} gibt es solche Probleme nicht, das dieses +% Paket \textsf{caption} gibt es solche Probleme nicht, da dieses % \cs{captionof} ohnehin per \cs{def} definiert. Allerdings berücksichtigt das % \cs{captionof} von \textsf{caption} und \textsf{capt-of} eventuell die % Einstellungen für darüber oder darunter nicht in gleicher Weise. @@ -1442,18 +1452,19 @@ % Jetzt aber zurück zur Umgebung. Wie üblich gibt es eine Version mit % und eine Version ihne Stern. Zur unterschiedlichen Bedeutung bei % zweispaltigem Satz siehe \texttt{classes.dtx} und \texttt{source2e}. +% \changes{v3.11c}{2013/03/01}{fix: one \cs{caption} change removed} % \begin{macrocode} \newenvironment{figure}{% \if@figurecaptionabove\let\caption\captionabove \else\let\caption\captionbelow\fi - \let\caption\captionbelow\@float{figure}% + \@float{figure}% }{% \end@float } \newenvironment{figure*}{% \if@figurecaptionabove\let\caption\captionabove \else\let\caption\captionbelow\fi - \let\caption\captionbelow\@dblfloat{figure}% + \@dblfloat{figure}% }{% \end@dblfloat } @@ -1549,7 +1560,7 @@ % \endinput % -% end of file `scrkfloa.dtx' +% end of file `scrkernel-floats.dtx' %%% Local Variables: %%% mode: doctex %%% TeX-master: t diff --git a/Master/texmf-dist/source/latex/koma-script/scrkfont.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-fonts.dtx index 6fe383d2eb9..99ca110e5b6 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkfont.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-fonts.dtx @@ -1,8 +1,8 @@ -% \CheckSum{2688} +% \CheckSum{3220} % \iffalse meta-comment % ====================================================================== -% scrkfont.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% scrkernel-fonts.dtx +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -19,8 +19,8 @@ % % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- -% scrkfont.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% scrkernel-fonts.dtx +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -55,23 +55,23 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scrkfont.dtx +%%% From File: $Id: scrkernel-fonts.dtx 1483 2013-10-31 15:12:30Z mjk $ %<*driver> -% \fi -\ProvidesFile{scrkfont.dtx}[2011/02/23 v3.09 KOMA-Script (font selection)] +\ProvidesFile{scrkernel-fonts.dtx}[2013/10/31 v3.12 KOMA-Script (font size)] % \changes{v3.09}{2011/02/23}{Neues Paket \texttt{scrfontsizes}} -% \iffalse %</driver> +%<*package&generator&identify> %<package&generator&identify>\ProvidesPackage{scrfontsizes}[% -%<package&generator&identify> \KOMAScriptVersion\space package -%<package&generator&identify> (font size file generator)] +%!KOMAScriptVersion +%<package&generator&identify> package (font size file generator)] +%</package&generator&identify> %<*driver> \documentclass[halfparskip-]{scrdoc} \usepackage[english,ngerman]{babel} \usepackage[latin1]{inputenc} \CodelineIndex \RecordChanges -\GetFileInfo{scrkfont.dtx} +\GetFileInfo{scrkernel-fonts.dtx} \title{\KOMAScript{} \partname\ \texttt{\filename}% \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} \date{\filedate} @@ -153,16 +153,18 @@ % \end{option} % \end{option} % -% \begin{macro}{\@pt@scan} -% \changes{v2.6}{2000/01/04}{neu (intern)} -% \begin{macro}{\@pt@@scan} -% \changes{v2.6}{2000/01/04}{neu (intern)} -% \changes{v2.97c}{2007/05/12}{\cs{KOMA@UseObsolete} durch -% \cs{KOMA@UseObsoleteOption} ersetzt} -% \changes{v2.98c}{2008/03/22}{Verwendung von \cs{KOMA@UseObsoleteOption} -% korrigiert} -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch -% \cs{PackageInfoNoLine} ersetzt} +% \begin{macro}{\@pt@scan} +% \changes{v2.6}{2000/01/04}{neu (intern)} +% \begin{macro}{\@pt@@scan} +% \changes{v2.6}{2000/01/04}{neu (intern)} +% \changes{v2.97c}{2007/05/12}{\cs{KOMA@UseObsolete} durch +% \cs{KOMA@UseObsoleteOption} ersetzt} +% \changes{v2.98c}{2008/03/22}{Verwendung von \cs{KOMA@UseObsoleteOption} +% korrigiert} +% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch +% \cs{PackageInfoNoLine} ersetzt} +% \changes{v3.12}{2013/03/04}{Alle Schriftgrößen-Optionen außer +% \texttt{10pt}, \texttt{11pt} und \texttt{12pt} sind überholt.} % Das Macro \cs{@pt@scan} wird benötigt, um die Schriftgröße nach der alten % Methode zu erkennen. % \begin{macrocode} @@ -174,8 +176,23 @@ \def\@pt@@scan #1pt#2\@pt@@scan{% \ifstr{#2}{pt}{% \ifnumber{#1}{% - \KOMA@UseObsoleteOption{\PackageInfoNoLine{\KOMAClassName}}% - {#1#2}{fontsize=#1#2}% + \ifstr{#1}{10}{% + \KOMA@UseStandardOption{\PackageInfoNoLine{\KOMAClassName}}% + {#1#2}{fontsize=#1#2}% + }{% + \ifstr{#1}{11}{% + \KOMA@UseStandardOption{\PackageInfoNoLine{\KOMAClassName}}% + {#1#2}{fontsize=#1#2}% + }{% + \ifstr{#1}{12}{% + \KOMA@UseStandardOption{\PackageInfoNoLine{\KOMAClassName}}% + {#1#2}{fontsize=#1#2}% + }{% + \KOMA@UseDeprecatedOption{\PackageWarningNoLine{\KOMAClassName}}% + {#1#2}{fontsize=#1#2}% + }% + }% + } }{\@headlines}% }{\@headlines}% } @@ -200,6 +217,8 @@ % \changes{v2.96}{2006/08/11}{Funktion komplett geändert} % \changes{v2.98c}{2008/03/26}{lädt nach Möglichkeit die zugehörige % Schriftgrößendatei} +% \changes{v3.12}{2013/03/05}{Status wird mit \cs{FamilyKeyStateProcessed} +% gesetzt.} % Hier nun die Option, die tatsächlich verwendet wird. Es sei darauf % hingewiesen, dass damit auch Schriftgrößen wie \texttt{10.3pt} denkbar % wären. @@ -241,6 +260,7 @@ %<extend> }{% \@tempa }% + \FamilyKeyStateProcessed } % \end{macrocode} % \end{option} @@ -598,6 +618,48 @@ % Diese Anweisung bietet berechnete Schriftgrößen als Fallbacklösung an. Das % optionale erste Argument ist dabei der Grundlinienabstand. Das zweite % Argument ist die gewünschte Grundschriftgröße. +% \begin{macro}{\scr@setlength} +% \changes{v3.12}{2013/10/08}{neue Anweisung (intern)}%^^A +% Setzt die Länge in |#1| auf den Wert |#2| plus |#3| minus |#4|, wobei +% allerdings für |#2|, |#3| und |#4| Mindestwerte von 1\,pt verwendet werden. +% \begin{macrocode} +\newcommand*\scr@setlength[4]{% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{#1}{#2 \@plus#3 \@minus#4}% + \else + \ifdim #2<\ifdim #2=\z@ \z@ \else \p@\fi + \ifdim #3<\ifdim #3=\z@ \z@ \else \p@\fi + \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi + \setlength{#1}{\p@ \@plus\p@ \@minus\p@}% + \else + \setlength{#1}{\p@ \@plus\p@ \@minus#4}% + \fi + \else + \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi + \setlength{#1}{\p@ \@plus#3 \@minus\p@}% + \else + \setlength{#1}{\p@ \@plus#3 \@minus#4}% + \fi + \fi + \else + \ifdim #3<\ifdim #3=\z@ \z@ \else \p@\fi + \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi + \setlength{#1}{#2 \@plus\p@ \@minus\p@}% + \else + \setlength{#1}{#2 \@plus\p@ \@minus#4}% + \fi + \else + \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi + \setlength{#1}{#2 \@plus#3 \@minus\p@}% + \else + \setlength{#1}{#2 \@plus#3 \@minus#4}% + \fi + \fi + \fi + \fi +} +% \end{macrocode} +% \end{macro} % \begin{macrocode} \newcommand*{\changefontsizes}[2][1.2\@tempdima]{% %<!extend> \ClassWarning{\KOMAClassName}{% @@ -627,14 +689,28 @@ % \end{macrocode} % Ab hier ist \cs{@tempdimc} die gewünschte Grundschriftgröße in pt und % \cs{@tempb} der Faktor für den Grundlinienabstand auf 2 Stellen hinter dem -% Komma. +% Komma. Zunächst ist auch \cs{@tempdima} noch die geforderte +% Grundschriftgröße und \cs{@tempdimb} der geforderte +% Grundlinienabstand. Allerdings verändern sich \cs{@tempdima} und +% \cs{@tempdimb} im Laufe der nachfolgenden Definitionen abhängig von der zu +% definierenden Schriftgröße. +% +% Berechnungen für und Definition von \cs{normalsize}: % \begin{macrocode} - \setlength{\abovedisplayskip}{% - \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% - \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\abovedisplayskip}{% + \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% + \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \setlength{\belowdisplayshortskip}{% + .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% + \else + \scr@setlength{\abovedisplayskip}% + {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}% + \scr@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}% + \scr@setlength{\belowdisplayshortskip}% + {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}% + \fi \setlength{\belowdisplayskip}{\abovedisplayskip}% - \setlength{\belowdisplayshortskip}{% - .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% \edef\normalsize{% \noexpand\@setfontsize\noexpand\normalsize {\the\@tempdima}{\the\@tempdimb}% @@ -644,14 +720,25 @@ \belowdisplayshortskip \the\belowdisplayshortskip \let\noexpand\@listi\noexpand\@listI }% +% \end{macrocode} +% Berechnungen für und Definition von \cs{small}: +% \begin{macrocode} \setlength{\@tempdima}{0.9125\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% - \setlength{\abovedisplayskip}{% - \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% - \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\abovedisplayskip}{% + \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% + \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \setlength{\belowdisplayshortskip}{% + .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% + \else + \scr@setlength{\abovedisplayskip}% + {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}% + \scr@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}% + \scr@setlength{\belowdisplayshortskip}% + {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}% + \fi \setlength{\belowdisplayskip}{\abovedisplayskip}% - \setlength{\belowdisplayshortskip}{% - .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% \edef\small{% \noexpand\@setfontsize\noexpand\small {\the\@tempdima}{\the\@tempdimb}% @@ -661,14 +748,25 @@ \belowdisplayshortskip \the\belowdisplayshortskip \let\noexpand\@listi\noexpand\@listi@small }% +% \end{macrocode} +% Berechnungen für und Definition von \cs{footnotesize}: +% \begin{macrocode} \setlength{\@tempdima}{.83334\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% - \setlength{\abovedisplayskip}{% - \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% - \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\abovedisplayskip}{% + \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% + \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \setlength{\belowdisplayshortskip}{% + .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% + \else + \scr@setlength{\abovedisplayskip}% + {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}% + \scr@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}% + \scr@setlength{\belowdisplayshortskip}% + {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}% + \fi \setlength{\belowdisplayskip}{\abovedisplayskip}% - \setlength{\belowdisplayshortskip}{% - .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% \edef\footnotesize{% \noexpand\@setfontsize\noexpand\footnotesize {\the\@tempdima}{\the\@tempdimb}% @@ -678,72 +776,113 @@ \belowdisplayshortskip \the\belowdisplayshortskip \let\noexpand\@listi\noexpand\@listi@footnotesize }% +% \end{macrocode} +% Berechnungen für und Definition von \cs{scriptsize}: +% \begin{macrocode} \setlength{\@tempdima}{.66667\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% \edef\scriptsize{% \noexpand\@setfontsize\noexpand\scriptsize {\the\@tempdima}{\the\@tempdimb}% }% +% \end{macrocode} +% Berechnungen für und Definition von \cs{tiny}: +% \begin{macrocode} \setlength{\@tempdima}{.5\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% \edef\tiny{% \noexpand\@setfontsize\noexpand\tiny {\the\@tempdima}{\the\@tempdimb}% }% +% \end{macrocode} +% Berechnungen für und Definition von \cs{large}: +% \begin{macrocode} \setlength{\@tempdima}{1.2\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% \edef\large{% \noexpand\@setfontsize\noexpand\large {\the\@tempdima}{\the\@tempdimb}% }% +% \end{macrocode} +% Berechnungen für und Definition von \cs{Large}: +% \begin{macrocode} \setlength{\@tempdima}{1.44\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% \edef\Large{% \noexpand\@setfontsize\noexpand\Large {\the\@tempdima}{\the\@tempdimb}% }% +% \end{macrocode} +% Berechnungen für und Definition von \cs{LARGE}: +% \begin{macrocode} \setlength{\@tempdima}{1.728\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% \edef\LARGE{% \noexpand\@setfontsize\noexpand\LARGE {\the\@tempdima}{\the\@tempdimb}% }% +% \end{macrocode} +% Berechnungen für und Definition von \cs{huge}: +% \begin{macrocode} \setlength{\@tempdima}{2.074\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% \edef\huge{% \noexpand\@setfontsize\noexpand\huge {\the\@tempdima}{\the\@tempdimb}% }% +% \end{macrocode} +% Berechnungen für und Definition von \cs{Huge}: +% \begin{macrocode} \setlength{\@tempdima}{2.488\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% \edef\Huge{% \noexpand\@setfontsize\noexpand\Huge {\the\@tempdima}{\the\@tempdimb}% }% +% \end{macrocode} +% Wechsel zu \cs{normalsize} und Berechnung weiterer schriftabhängigen +% Abstände für diese Schriftgröße. +% \begin{macrocode} \normalsize - \setlength{\footnotesep}{.7\@tempdimc}% - \setlength{\skip\footins}{.9\@tempdimc \@plus .3333\@tempdimc \@minus - .6\@tempdimc}% - \setlength{\floatsep}{\@tempdimc \@plus .1667\@tempdimc \@minus - .3333\@tempdimc}% - \setlength{\textfloatsep}{1.6667\@tempdimc \@plus .1667\@tempdimc \@minus - .3333\@tempdimc}% - \setlength{\intextsep}{\@tempb\@tempdimc \@plus .3333\@tempdimc \@minus - .3333\@tempdimc}% - \setlength{\dblfloatsep}{\@tempb\@tempdimc \@plus .1667\@tempdimc \@minus - .3333\@tempdimc}% - \setlength{\dbltextfloatsep}{\textfloatsep}% - \setlength{\@fptop}{0\p@ \@plus 1fil}% - \setlength{\@fpsep}{.8333\@tempdimc \@plus 2fil}% - \setlength{\@fpbot}{\@fptop}% - \setlength{\@dblfptop}{0\p@ \@plus 1fil}% - \setlength{\@dblfpsep}{.8333\@tempdimc \@plus 2fil}% - \setlength{\@dblfpbot}{\@fptop}% - \setlength{\partopsep}{.25\@tempdimc \@plus .16667\@tempdimc \@minus - .16667\@tempdimc}% - \setlength{\topsep}{.8333\@tempdimc \@plus .3333\@tempdimc \@minus - .5\@tempdimc}% - \setlength{\parsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% +% \end{macrocode} +% Ab hier kann nun \cs{f@size} für die Schriftgröße und \cs{f@baselineskip} +% für den normalen Grundlinienabstand (ohne \cs{baselinestretch}) verwendet +% werden. Allerdings ist das keine Länge! +% \begin{macrocode} + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\footnotesep}{.7\@tempdimc}% + \setlength{\skip\footins}{.9\@tempdimc \@plus .3333\@tempdimc \@minus + .6\@tempdimc}% + \setlength{\floatsep}{\@tempdimc \@plus .1667\@tempdimc \@minus + .3333\@tempdimc}% + \setlength{\textfloatsep}{1.6667\@tempdimc \@plus .1667\@tempdimc \@minus + .3333\@tempdimc}% + \setlength{\intextsep}{\@tempb\@tempdimc \@plus .3333\@tempdimc \@minus + .3333\@tempdimc}% + \setlength{\dblfloatsep}{\@tempb\@tempdimc \@plus .1667\@tempdimc \@minus + .3333\@tempdimc}% + \setlength{\dbltextfloatsep}{\textfloatsep}% + \setlength{\@fptop}{0\p@ \@plus 1fil}% + \setlength{\@fpsep}{.8333\@tempdimc \@plus 2fil}% + \setlength{\@fpbot}{\@fptop}% + \setlength{\@dblfptop}{0\p@ \@plus 1fil}% + \setlength{\@dblfpsep}{.8333\@tempdimc \@plus 2fil}% + \setlength{\@dblfpbot}{\@fptop}% + \fi +% \end{macrocode} +% Berechnungen für und Definition von \cs{@listi} und \cs{@listI}: +% \begin{macrocode} + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\topsep}{.8333\@tempdimc \@plus .3333\@tempdimc \@minus + .5\@tempdimc}% + \setlength{\parsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% + \else + \setlength{\@tempdimb}{\f@baselineskip}% + \scr@setlength{\parsep}% + {.3333\@tempdimb}{.1667\@tempdimb}{.0833\@tempdimb}% + \scr@setlength{\topsep}% + {.6667\@tempdimb}{.1667\@tempdimb}{.3333\@tempdimb}% + \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% @@ -756,9 +895,19 @@ \if@tempswa\noexpand\@list@extra\fi }% \let\@listI\@listi - \setlength{\topsep}{.75\@tempdimc \@plus .25\@tempdimc \@minus - .41667\@tempdimc}% - \setlength{\parsep}{.375\@tempdimc \@plus .16667\@tempdimc \@minus \p@}% +% \end{macrocode} +% Berechnungen für und Definition von \cs{@listi@small}: +% \begin{macrocode} + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\topsep}{.75\@tempdimc \@plus .25\@tempdimc \@minus + .41667\@tempdimc}% + \setlength{\parsep}{.375\@tempdimc \@plus .16667\@tempdimc \@minus \p@}% + \else + \scr@setlength{\parsep}% + {.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}% + \scr@setlength{\topsep}% + {.3333\@tempdimb}{.1667\@tempdimb}{.1667\@tempdimb}% + \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% @@ -770,9 +919,19 @@ \itemsep \parsep \if@tempswa\noexpand\@list@extra\fi }% - \setlength{\topsep}{.5\@tempdimc \@plus .16667\@tempdimc \@minus - .16667\@tempdimc}% - \setlength{\parsep}{.25\@tempdimc \@plus .16667\@tempdimc \@minus \p@}% +% \end{macrocode} +% Berechnungen für und Definition von \cs{@listi@footnotesize}: +% \begin{macrocode} + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\topsep}{.5\@tempdimc \@plus .16667\@tempdimc \@minus + .16667\@tempdimc}% + \setlength{\parsep}{.25\@tempdimc \@plus .16667\@tempdimc \@minus \p@}% + \else + \scr@setlength{\parsep}% + {.125\@tempdimb}{.0625\@tempdimb}{.0625\@tempdimb}% + \scr@setlength{\topsep}% + {.25\@tempdimb}{.125\@tempdimb}{.125\@tempdimb}% + \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% @@ -784,8 +943,18 @@ \itemsep \parsep \if@tempswa\noexpand\@list@extra\fi }% - \setlength{\topsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% - \setlength{\parsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% +% \end{macrocode} +% Berechnungen für und Definition von \cs{@listii}: +% \begin{macrocode} + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\topsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% + \setlength{\parsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% + \else + \scr@setlength{\parsep}% + {.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}% + \scr@setlength{\topsep}% + {.3333\@tempdimb}{.1667\@tempdimb}{.0833\@tempdimb}% + \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% @@ -798,8 +967,16 @@ \itemsep \parsep \if@tempswa\noexpand\@list@extra\fi }% - \setlength{\topsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% - \setlength{\parsep}{\p@ \@plus\z@ \@minus\p@}% +% \end{macrocode} +% Berechnungen für und Definition von \cs{@listiii}: +% \begin{macrocode} + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\topsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% + \else + \scr@setlength{\topsep}% + {.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}% + \fi + \setlength{\partopsep}{\z@ \@plus\z@ \@minus\p@}% \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% @@ -809,49 +986,86 @@ \labelwidth=\dimexpr \leftmargin-\labelsep \topsep \the\topsep \parsep \z@ - \partopsep \the\parsep + \partopsep \the\partopsep \itemsep \topsep \if@tempswa\noexpand\@list@extra\fi }% +% \end{macrocode} +% Berechnungen für und Definition von \cs{@listiv}: +% \begin{macrocode} \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% \csname @listiv\endcsname \endgroup \edef\@listiv{\leftmargin\leftmarginiv - \labelwidth=\dimexpr \leftmargin-\labelsep + \labelwidth=\dimexpr \leftmargin-\labelsep\relax \if@tempswa\noexpand\@list@extra\fi }% +% \end{macrocode} +% Berechnungen für und Definition von \cs{@listv}: +% \begin{macrocode} \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% \csname @listv\endcsname \endgroup \edef\@listv{\leftmargin\leftmarginv - \labelwidth=\dimexpr \leftmargin-\labelsep + \labelwidth=\dimexpr \leftmargin-\labelsep\relax \if@tempswa\noexpand\@list@extra\fi }% +% \end{macrocode} +% Berechnungen für und Definition von \cs{@listvi}: +% \begin{macrocode} \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% \csname @listvi\endcsname \endgroup \edef\@listvi{\leftmargin\leftmarginvi - \labelwidth=\dimexpr \leftmargin-\labelsep + \labelwidth=\dimexpr \leftmargin-\labelsep\relax \if@tempswa\noexpand\@list@extra\fi }% \@listi % \end{macrocode} -% Einige Platzierungsabstände sind ebenfalls schriftgrößenabhängig: -% \changes{v2.97c}{2007/07/04}{\cs{intextsep} setzen} -% \changes{v2.97c}{2007/07/04}{\cs{dblfloatsep} setzen} -% \changes{v2.97c}{2007/07/04}{\cs{partopsep} setzen} +% Einige Platzierungsabstände sind ebenfalls schriftgrößenabhängig. %^^A +% \changes{v2.97c}{2007/07/04}{\cs{intextsep} setzen}%^^A +% \changes{v2.97c}{2007/07/04}{\cs{dblfloatsep} setzen}%^^A +% \changes{v2.97c}{2007/07/04}{\cs{partopsep} setzen}%^^A +% \changes{v3.12}{2013/10/08}{Berechnung einiger Größen verändert}%^^A +% Ab Version~3.12 wird deren Berechnung korrigiert. Viele der Größen sind nun +% nicht mehr von der Schriftgröße, sondern dem Grundlinienabstand abhängig. % \begin{macrocode} - \setlength{\@tempdimb}{\@tempb\@tempdima}% - \setlength{\@tempdima}{\dimexpr \@tempdimb-\@tempdimc}% - \setlength\intextsep{\@tempdimb \@plus.2\@tempdima \@minus.2\@tempdima}% - \setlength\dblfloatsep\intextsep - \setlength\partopsep{.2\@tempdimc \@plus.1\@tempdimc \@minus.1\@tempdimc}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\@tempdimb}{\@tempb\@tempdima}% + \setlength{\@tempdima}{\dimexpr \@tempdimb-\@tempdimc}% + \setlength\intextsep{\@tempdimb \@plus.2\@tempdima \@minus.2\@tempdima}% + \setlength\dblfloatsep\intextsep + \setlength\partopsep{.2\@tempdimc \@plus.1\@tempdimc \@minus.1\@tempdimc}% + \else + \setlength{\@tempdimb}{\f@baselineskip}% + \setlength{\footnotesep}{.555\@tempdimb}% + \scr@setlength{\skip\footins}% + {.75\@tempdimb}{.3333\@tempdimb}{.1667\@tempdimb}% + \scr@setlength{\floatsep}% + {\@tempdimb}{.1667\@tempdimb}{.1667\@tempdimb}% + \scr@setlength{\textfloatsep}% + {1.6667\@tempdimb}{.1667\@tempdimb}{.3333\@tempdimb}% + \setlength{\intextsep}{\floatsep}% + \setlength{\dblfloatsep}{\floatsep}% + \setlength{\dbltextfloatsep}{\textfloatsep}% + \setlength{\@fptop}{\z@ \@plus 1fil}% + \setlength{\@fpsep}{.6667\@tempdimb \@plus 2fil}% + \setlength{\@fpbot}{\@fptop}% + \setlength{\@dblfptop}{\@fptop}% + \setlength{\@dblfpsep}{\@fpsep}% + \setlength{\@dblfpbot}{\@fptop}% + \scr@setlength{\partopsep}{.2\@tempdimb}{.1\@tempdimb}{.1\@tempdimb}% +% \end{macrocode} +% Hinweis: \cs{topsep} und \cs{parsep} werden hier nicht gesetzt, weil dies +% bereits durch das \cs{@listi} zurvor erfolgte. +% \begin{macrocode} + \fi }% } % \end{macrocode} @@ -1300,17 +1514,74 @@ % % \subsection{"`Alte"' Font-Auswahlbefehle} % -% \begin{macro}{\rm} +% \begin{macro}{\scr@DeclareOldFontCommand} +% \changes{v3.12}{2013/10/31}{neu} +% Diese Anweisung arbeitet prinzipiell wie die \LaTeX-Kern-Anweisung +% \cs{DeclareOldFontCommand}, wirft aber zusätzlich mit Warnungen um sich, um +% dem Anwender die Verwendung der alten Befehle zu versauern. +% \begin{macrocode} +%<*!extend> +\newcommand*{\scr@DeclareOldFontCommand}[3]{% + \DeclareRobustCommand #1{\@fontswitch {% + \ClassWarning{\KOMAClassName}{% + Usage of deprecated font command `\string#1'!\MessageBreak + You should note, that in 1994 font command `\string#1' has\MessageBreak + been defined for compatiblitiy to Script 2.0 only.\MessageBreak + Now, after two decades of LaTeX2e and NFSS2, you\MessageBreak + shouldn't use such commands any longer and within\MessageBreak + KOMA-Script usage of `\string#1' is definitely deprecated.\MessageBreak + See `fntguide.pdf' for more information about\MessageBreak + recommended font commands.\MessageBreak + Note also, that KOMA-Script will remove the definition\MessageBreak + of `\string#1' anytime until release of about version 3.20.\MessageBreak + But for now, KOMA-Script will replace deprecated + `\string#1'\MessageBreak + by `\detokenize{#2}'% + }% + #2% + }{% + \ClassWarning{\KOMAClassName}{% + Usage of deprecated font command `\string#1'!\MessageBreak + You should note, that in 1994 font command `\string#1' has\MessageBreak + been defined for compatiblitiy to Script 2.0 only.\MessageBreak + Now, after two decades of LaTeX2e and NFSS2, you\MessageBreak + shouldn't use such commands any longer and within\MessageBreak + KOMA-Script usage of `\string#1' is definitely deprecated.\MessageBreak + See `fntguide.pdf' for more information about\MessageBreak + recommended font commands.\MessageBreak + Note also, that KOMA-Script will remove the definition\MessageBreak + of `\string#1' anytime until release of about version 3.20.\MessageBreak + But for now, KOMA-Script will replace deprecated + `\string#1'\MessageBreak + by `\detokenize{#3}'% + }% + #3% + }% + }% +} +%</!extend> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\rm} +% \changes{v3.12}{2013/10/13}{Anweisung ist veraltet} % \begin{macro}{\sf} +% \changes{v3.12}{2013/10/13}{Anweisung ist veraltet} % \begin{macro}{\tt} +% \changes{v3.12}{2013/10/13}{Anweisung ist veraltet} % \begin{macro}{\bf} +% \changes{v3.12}{2013/10/13}{Anweisung ist veraltet} % \begin{macro}{\it} +% \changes{v3.12}{2013/10/13}{Anweisung ist veraltet} % \begin{macro}{\sl} +% \changes{v3.12}{2013/10/13}{Anweisung ist veraltet} % \begin{macro}{\sc} +% \changes{v3.12}{2013/10/13}{Anweisung ist veraltet} % \begin{macro}{\sfb} % \changes{v2.2c}{1995/05/25}{nicht mehr mathematisch} % \changes{v2.3a}{1995/07/08}{keine Unterscheidung mehr für den % Kompatibilitätsmodus} +% \changes{v3.12}{2013/10/13}{Anweisung ist veraltet} % Um die Umstellung von \LaTeX\ auf \LaTeXe\ zu erleichtern, gibt es % die alten Font-Auswahlbefehle \cs{rm}, \cs{sf}, \cs{tt}, \cs{bf}, % \cs{it}, \cs{sl} und \cs{sc} auch in den Klassen. Es ist zu @@ -1324,14 +1595,14 @@ % hier ebenfalls definiert. % \begin{macrocode} %<*!extend> -\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} -\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} -\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} -\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} -\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} -\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} -\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} -\DeclareOldFontCommand{\sfb}{\normalfont\sffamily\bfseries}{% +\scr@DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +\scr@DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\scr@DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\scr@DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\scr@DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\scr@DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\scr@DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +\scr@DeclareOldFontCommand{\sfb}{\normalfont\sffamily\bfseries}{% \@nomath\sfb} %</!extend> % \end{macrocode} @@ -1491,7 +1762,103 @@ }% } % \end{macrocode} -% \end{macro} +% \end{macro} +% +% \begin{macro}{\usesizeofkomafont} +% \changes{v3.12}{2013/03/30}{neu} +% \begin{macro}{\usefamilyofkomafont} +% \changes{v3.12}{2013/03/30}{neu} +% \begin{macro}{\useseriesofkomafont} +% \changes{v3.12}{2013/03/30}{neu} +% \begin{macro}{\useshapeofkomafont} +% \changes{v3.12}{2013/03/30}{neu} +% \begin{macro}{\useencodingofkomafont} +% \changes{v3.12}{2013/03/30}{neu} +% \begin{macro}{\usefontofkomafont} +% \changes{v3.12}{2013/03/30}{neu} +% Manchmal wollen die Leute tatsächlich gar nicht den kompletten Font eines +% Elements, sondern nur einen Teilaspekt davon. Aber Version~3.12 wird das mit +% Hilfe neuer Anweisungen unterstützt. +% \begin{macrocode} +\newcommand*{\usesizeofkomafont}[1]{% + \begingroup + \let\color\@gobble\let\normalcolor\relax + \@tempcnta=\currentgrouplevel + \usekomafont{#1}{% + \ifnum \currentgrouplevel>\numexpr\@tempcnta\relax + \edef\reserved@a{\noexpand\egroup\noexpand\endgroup + \noexpand\fontsize{\f@size}{\f@baselineskip}% + \noexpand\bgroup}% + \else + \edef\reserved@a{\noexpand\endgroup + \noexpand\fontsize{\f@size}{\f@baselineskip}}% + \fi + \reserved@a + }% + \selectfont +} +\newcommand*{\usefamilyofkomafont}{\use@ofkomafont{family}} +\newcommand*{\useseriesofkomafont}{\use@ofkomafont{series}} +\newcommand*{\useshaperofkomafont}{\use@ofkomafont{shape}} +\newcommand*{\useencodingofkomafont}{\use@ofkomafont{encoding}} +\newcommand*{\usefontofkomafont}[1]{% + \begingroup + \let\color\@gobble\let\normalcolor\relax + \@tempcnta=\currentgrouplevel + \usekomafont{#1}{% + \ifnum \currentgrouplevel>\numexpr\@tempcnta\relax + \edef\reserved@a{\noexpand\egroup\noexpand\endgroup + \noexpand\fontsize{\f@size}{\f@baselineskip}% + \noexpand\fontfamily{\f@family}% + \noexpand\fontseries{\f@series}% + \noexpand\fontshape{\f@shape}% + \noexpand\fontencoding{\f@encoding}% + \noexpand\bgroup}% + \else + \edef\reserved@a{\noexpand\endgroup + \noexpand\fontsize{\f@size}{\f@baselineskip}}% + \noexpand\fontfamily{\f@family}% + \noexpand\fontseries{\f@series}% + \noexpand\fontshape{\f@shape}% + \noexpand\fontencoding{\f@encoding}% + \fi + \reserved@a + }% + \selectfont +} +% \end{macrocode} +% \begin{macro}{\use@ofkomafont} +% \changes{v3.12}{2013/03/30}{neu (intern)} +% Kleines Hilfsmakro für all diese Anweisungen bis auf die erste und die letzte. +% \begin{macrocode} +\newcommand*{\use@ofkomafont}[2]{% + \begingroup + \let\color\@gobble\let\normalcolor\relax + \@tempcnta=\currentgrouplevel + \usekomafont{#2}{% + \ifnum \currentgrouplevel>\numexpr\@tempcnta\relax + \edef\reserved@a{\noexpand\egroup\noexpand\endgroup + \expandafter\noexpand\csname font#1\endcsname + {\csname f@#1\endcsname}% + \noexpand\bgroup}% + \else + \edef\reserved@a{\noexpand\endgroup + \expandafter\noexpand\csname font#1\endcsname + {\csname f@#1\endcsname}% + }% + \fi + \reserved@a + }% + \selectfont +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} % % Um dann ein Element zu definieren, definiert man zunächst ein % Makro, das die Schriftart enthält. Dann definiert man @@ -1503,13 +1870,15 @@ % dann der Name jenes anderen Elements ist. Soll beim Ändern der % Schrift eines Elements eine zusätzliche Warnung ausgegeben werden, % so kann der Text dieser Warnung in -% \cs{scr@fnt@wrn@\emph{Elementname}} abgelegt werden. Also alles +% \cs{scr@fnt@wrn@\emph{Elementname}} abgelegt werden. Die Warnung wird dann +% als Befehl mit einem Argument definiert. Also alles % eigentlich ganz einfach. Damit es noch einfacher wird, ein paar % Hilfsmakros: % % \begin{macro}{\newkomafont} % \changes{v2.95}{2004/07/21}{neu} % \changes{v3.05a}{2010/03/24}{nach \textsf{scrkbase} verschoben} +% \changes{v3.11c}{2013/02/18}{die Warnung hat ein Argument} % Mit \cs{newkomafont} wird ein neues Element definiert. Das erste optionale % Argument ist dabei die optionale Warnung. Ist dieses nicht gesetzt oder % \cs{relax}, so wird keine Warnung definiert. Das erste obligatorische @@ -1525,7 +1894,7 @@ \csname @#2font\endcsname% }% \ifx\relax#1\relax\else - \expandafter\newcommand\expandafter*\csname scr@fnt@wrn@#2\endcsname{#1}% + \expandafter\newcommand\expandafter*\csname scr@fnt@wrn@#2\endcsname[1]{#1}% \fi } % \end{macrocode} @@ -1557,7 +1926,7 @@ % \endinput % -% end of file `scrkfont.dtx' +% end of file `scrkernel-fonts.dtx' %%% Local Variables: %%% mode: doctex %%% TeX-master: t diff --git a/Master/texmf-dist/source/latex/koma-script/scrkftn.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-footnotes.dtx index 9333dad76aa..f1745e3e565 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkftn.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-footnotes.dtx @@ -1,8 +1,8 @@ -% \CheckSum{399} +% \CheckSum{401} % \iffalse meta-comment % ====================================================================== -% scrkftn.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% scrkernel-footnotes.dtx +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -19,8 +19,8 @@ % % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- -% scrkftn.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% scrkernel-footnotes.dtx +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -55,17 +55,18 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scrkftn.dtx +%%% From File: $Id: scrkernel-footnotes.dtx 1380 2013-10-01 15:31:55Z mjk $ %<*driver> % \fi -\ProvidesFile{scrkftn.dtx}[2011/09/13 v3.10 KOMA-Script (footnotes)] +\ProvidesFile{scrkernel-footnotes.dtx}[2013/03/05 v3.12 KOMA-Script + (footnotes)] % \iffalse \documentclass[halfparskip-]{scrdoc} \usepackage[english,ngerman]{babel} \usepackage[latin1]{inputenc} \CodelineIndex \RecordChanges -\GetFileInfo{scrkftn.dtx} +\GetFileInfo{scrkernel-footnotes.dtx} \title{\KOMAScript{} \partname\ \texttt{\filename}% \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} @@ -102,13 +103,15 @@ % \changes{v2.98c}{2008/02/01}{Neue Option für Mehrfachfußnoten}% % \changes{v3.10}{2011/09/13}{\cs{let} durch \cs{def} ersetzt, damit die % Option auch als Klassenoption funktioniert}% -% Mehrfachfußnoten gibt es dann, wenn zu einer Textstelle mehrere Fußnoten -% hintereinander gesetzt werden. Normalerweise werden die einfach ohne -% Abstand hintereinander geklatscht. Man kann dann aber die beiden Fußnoten -% 1 und 2 beispielsweise nicht von der Fußnote 12 unterscheiden. Besser ist -% es, wenn mehrere Fußnoten automatisch durch ein Trennzeichen getrennt -% werden. Die Funktion ist \textsf{footmisc} entnommen und sollte inklusive -% Ein- und Ausschalten auch zusammen mit diesem Paket funktionieren. +% \changes{v3.12}{2013/03/05}{Status-Signalisierung mit +% \cs{FamilyKeyStateProcessed}}% +% Mehrfachfußnoten gibt es dann, wenn zu einer Textstelle mehrere Fußnoten +% hintereinander gesetzt werden. Normalerweise werden die einfach ohne +% Abstand hintereinander geklatscht. Man kann dann aber die beiden Fußnoten +% 1 und 2 beispielsweise nicht von der Fußnote 12 unterscheiden. Besser ist +% es, wenn mehrere Fußnoten automatisch durch ein Trennzeichen getrennt +% werden. Die Funktion ist \textsf{footmisc} entnommen und sollte inklusive +% Ein- und Ausschalten auch zusammen mit diesem Paket funktionieren. % \begin{macrocode} \KOMA@key{footnotes}{% \ifx\@footnotemark\scr@saved@footnotemark @@ -128,11 +131,13 @@ \let\@footnotemark\scr@footnotemark \def\FN@mf@prepare{\scr@mf@prepare}% \def\scr@footmisc@options{multiple}% + \FamilyKeyStateProcessed }{% \ifstr{#1}{nomultiple}{% \let\@footnotemark\scr@saved@footnotemark \let\FN@mf@prepare\relax \let\scr@footmisc@options\@empty + \FamilyKeyStateProcessed }{% \KOMA@unknown@keyval{footnotes}{#1}{`multiple' and `nomultiple'}% }% @@ -599,7 +604,7 @@ % \endinput % -% end of file `scrkftn.dtx' +% end of file `scrkernel-footnotes.dtx' %%% Local Variables: %%% mode: doctex %%% TeX-master: t diff --git a/Master/texmf-dist/source/latex/koma-script/scrkidx.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-index.dtx index db1e0979423..2a6ee50c551 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkidx.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-index.dtx @@ -1,8 +1,8 @@ -% \CheckSum{109} +% \CheckSum{114} % \iffalse meta-comment % ====================================================================== -% scrkidx.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% scrkernel-index.dtx +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -19,8 +19,8 @@ % % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- -% scrkidx.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% scrkernel-index.dtx +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -55,17 +55,18 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scrkidx.dtx +%%% From File: $Id: scrkernel-index.dtx 1380 2013-10-01 15:31:55Z mjk $ %<*driver> % \fi -\ProvidesFile{scrkidx.dtx}[2012/03/08 v3.10a KOMA-Script (index)] +\ProvidesFile{scrkernel-index.dtx}[2013/09/24 v3.12 KOMA-Script + (index)] % \iffalse \documentclass[halfparskip-]{scrdoc} \usepackage[english,ngerman]{babel} \usepackage[latin1]{inputenc} \CodelineIndex \RecordChanges -\GetFileInfo{scrkidx.dtx} +\GetFileInfo{scrkernel-index.dtx} \title{\KOMAScript{} \partname\ \texttt{\filename}% \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} \date{\filedate} @@ -155,16 +156,18 @@ {notoc}{0},{nottotoc}{0},{default}{0},{plainheading}{0},% {totoc}{1},{toc}{1},{notnumbered}{1}% }{#1}% - \ifcase \@tempa\relax - \renewcommand*{\idx@@heading}{% -%<article> \section* -%<book|report> \chapter* - }% - \or - \renewcommand*{\idx@@heading}{% -%<article> \addsec -%<book|report> \addchap - }% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase \@tempa\relax + \renewcommand*{\idx@@heading}{% +%<article> \section* +%<book|report> \chapter* + }% + \or + \renewcommand*{\idx@@heading}{% +%<article> \addsec +%<book|report> \addchap + }% + \fi \fi } % \end{macrocode} @@ -221,6 +224,8 @@ % \changes{v3.10}{2011/08/31}{\cs{MakeMarkcase} wird beachtet}% % \changes{v3.10a}{2012/03/08}{Falsche Klammerung der letzten Änderung % behoben}% +% \changes{v3.12}{2013/09/24}{Index wird nie in andere Verzeichnisse +% eingetragen (außer Inhaltsverzeichnis)} % Befehl zum Setzen der Überschrift des Indexes. Bis Version 2.7a sah diese % Definition so aus: % \begin{verbatim} @@ -245,7 +250,9 @@ % \begin{macrocode} \newcommand*{\idx@heading}{% %<report|book> \if@openright\cleardoublepage\else\clearpage\fi% - \twocolumn[\idx@@heading{\indexname}]% + \twocolumn[% +%<report|book> \@chaptertolistsfalse + \idx@@heading{\indexname}]% \@mkboth{\MakeMarkcase{\indexname}}{\MakeMarkcase{\indexname}}% } % \end{macrocode} @@ -328,7 +335,7 @@ % \endinput % -% end of file `scrkidx.dtx' +% end of file `scrkernel-index.dtx' %%% Local Variables: %%% mode: doctex %%% TeX-master: t diff --git a/Master/texmf-dist/source/latex/koma-script/scrklang.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-language.dtx index b1d85848c08..80b2ccd6f25 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrklang.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-language.dtx @@ -1,8 +1,8 @@ -% \CheckSum{1243} +% \CheckSum{1830} % \iffalse meta-comment % ====================================================================== -% scrklang.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% scrkernel-language.dtx +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -19,8 +19,8 @@ % % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- -% scrklang.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% scrkernel-language.dtx +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -55,17 +55,18 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scrklang.dtx +%%% From File: $Id: scrkernel-language.dtx 1503 2013-11-06 11:44:59Z mjk $ %<*driver> % \fi -\ProvidesFile{scrklang.dtx}[2011/03/10 v3.08 KOMA-Script (language)] +\ProvidesFile{scrkernel-language.dtx}[2013/11/06 v3.12 KOMA-Script + (language)] % \iffalse \documentclass[halfparskip-]{scrdoc} \usepackage[english,ngerman]{babel} \usepackage[latin1]{inputenc} \CodelineIndex \RecordChanges -\GetFileInfo{scrklang.dtx} +\GetFileInfo{scrkernel-language.dtx} \title{\KOMAScript{} \partname\ \texttt{\filename}% \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} @@ -165,160 +166,608 @@ %<*package&base> % \fi % +% \begin{macro}{\defcaptionname} +% \changes{3.12}{2013/07/29}{neu} +% Für eine Reihe von Sprachen (durch Komma separierte Liste in \#1) +% wird ein Makro (\#2) auf einen bestimmten Inhalt (\#3) definiert. Die +% Sternversion verwendet dabei zwingend \cs{extras\meta{Sprache}}, während +% die Normalversion \cs{captions\meta{Sprache}} verwendet, außer wenn der +% Begriff bereits in \cs{extras\meta{Sprache}} definiert ist. Falls der +% Befehl in der Dokumentpräambel aufgerufen wird, wird er verzögert. +% \begin{macrocode} +\newcommand*{\defcaptionname}{% + \@ifstar\scr@def@scaptionname\scr@def@captionname +} +% \end{macrocode} +% \begin{macro}{\scr@def@scaptionname} +% \changes{v3.12}{2013/07/30}{neu (intern)} +% Die Sternvariante von \cs{defcaptionname}. Die Argumente sind dieselben. +% \begin{macrocode} +\newcommand*{\scr@def@scaptionname}[3]{% +% \end{macrocode} +% Als erstes findet die Verzögerung bis \cs{begin{document}} statt. +% \begin{macrocode} + \if@atdocument \expandafter\@firstofone + \else \expandafter\AtBeginDocument + \fi + {% +% \end{macrocode} +% Dann arbeiten wir in einer lokalen Schleife alle Sprachen aus Argument \#1 +% ab und \dots +% \begin{macrocode} + \begingroup + \let\reserved@b\endgroup + \edef\scr@reserved@a{#1}% + \@onelevel@sanitize\scr@reserved@a + \expandafter\@for \expandafter\scr@reserved@a \expandafter:\expandafter=% + \scr@reserved@a \do{% +% \end{macrocode} +% \dots\ fügen dabei \cs{extras\meta{Sprache}} die Definition \#3 für \#2 +% hinzu. +% \begin{macrocode} + \scr@trim@spaces\scr@reserved@a + \ifx\scr@reserved@a\@empty + \PackageWarning{scrbase}{empty language at \string\defcaptionname}% + \else + \expandafter\ifx\csname extras\scr@reserved@a\endcsname\relax + \expandafter\expandafter\expandafter\gdef + \else + \expandafter\expandafter\expandafter\g@addto@macro + \fi + \csname extras\scr@reserved@a\endcsname{% + \def#2{#3}% + }% +% \end{macrocode} +% Wenn etwas hinzugefügt wurde, muss außerdem \cs{reserved@b} so umdefiniert +% werden, dass dies ggf. auch unmittelbar Geltung bekommt. +% \begin{macrocode} + \scr@def@activateactivelanguageaftergroup{#2}{#3}% + \fi + }% + \reserved@b + }% +} +% \end{macrocode} +% \begin{macro}{\scr@def@activateactivelanguageaftergroup} +% \changes{v3.12}{2013/07/30}{neu (intern)} +% Wenn die Sprache in \cs{reserved@a} die aktuelle Sprache \cs{languagename} +% ist oder die Sprachnummer zur Sprache \cs{reserved@a} die aktuelle +% Sprachnummer \cs{language} ist, dann wird \cs{reserved@b} so umdefiniert, +% dass es die aktuelle Gruppe beendet und \#1 als \#2 definiert. +% \begin{macrocode} +\newcommand*{\scr@def@activateactivelanguageaftergroup}[2]{% + \@onelevel@sanitize\languagename + \@tempswafalse + \ifx\languagename\scr@reserved@a + \@tempswatrue + \else + \ifcsname l@\scr@reserved@a\endcsname + \expandafter\ifnum\csname l@\scr@reserved@a\endcsname=\language + \@tempswatrue + \fi + \fi + \fi + \if@tempswa + \def\reserved@b{\endgroup + \PackageInfo{scrbase}{activating \languagename\space \string#1}% + \def#1{#2}% + }% + \fi +} +% \end{macrocode} +% \end{macro}^^A \scr@def@activateactivelanguageaftergroup +% \end{macro}^^A \scr@def@scaptionname +% \begin{macro}{\scr@trim@spaces} +% \changes{v3.12}{2013/11/06}{neu (intern)} +% Diese Hilfsanweisung entfernt führende und abschließende +% Leerzeichen. Argument ist die Anweisung, deren Inhalt von den Leerzeichen +% befreit werden soll. Gedacht ist das ganze für die Listenverarbeitung. +% \begin{macrocode} +\newcommand\scr@trim@spaces[1]{% + \expandafter\KV@@sp@def\expandafter#1\expandafter{#1}% +} +% \end{macrocode} +% \end{macro}^^A \scr@trim@space +% \begin{macro}{\scr@def@captionname} +% \changes{v3.12}{2013/07/30}{neu (intern)} +% Die Normalvariante von \cs{defcaptionname}, mit denselben Argumenten. +% \begin{macrocode} +\newcommand*{\scr@def@captionname}[3]{% +% \end{macrocode} +% Als erstes findet die Verzögerung bis \cs{begin{document}} statt. +% \begin{macrocode} + \if@atdocument \expandafter\@firstofone + \else \expandafter\AtBeginDocument + \fi + {% +% \end{macrocode} +% Dann arbeiten wir in einer lokalen Schleife alle Sprachen aus Argument \#1 +% ab und \dots +% \begin{macrocode} + \begingroup + \let\reserved@b\endgroup + \edef\scr@reserved@a{#1}% + \@onelevel@sanitize\scr@reserved@a + \expandafter\@for \expandafter\scr@reserved@a \expandafter:\expandafter=% + \scr@reserved@a \do{% + \scr@trim@spaces\scr@reserved@a + \ifx\scr@reserved@a\@empty + \PackageWarning{scrbase}{empty language at \string\defcaptionname}% + \else +% \end{macrocode} +% \dots\ testen dabei, ob \#2 bereits in \cs{extras\meta{Sprache}} definiert +% ist. +% \begin{macrocode} + \@tempswafalse + \begingroup + \@tempswafalse + \ifcsname extras\scr@reserved@a\endcsname + \let#2\relax + \csname extras\scr@reserved@a\endcsname + \ifx #2\relax \else \aftergroup\@tempswatrue \fi + \fi + \endgroup +% \end{macrocode} +% Wenn \#2 bereits in \cs{extras\meta{Sprache}} definiert ist, \dots +% \begin{macrocode} + \if@tempswa +% \end{macrocode} +% \dots\ dann definieren wir es genau hier neu, +% \begin{macrocode} + \expandafter\g@addto@macro\csname extras\scr@reserved@a\endcsname{% + \def#2{#3}% + }% + \else +% \end{macrocode} +% \dots\ anderenfalls definieren wir es in \cs{captions\meta{Sprache}} neu. +% \begin{macrocode} + \expandafter\ifx\csname captions\scr@reserved@a\endcsname\relax + \expandafter\expandafter\expandafter\gdef + \else + \expandafter\expandafter\expandafter\g@addto@macro + \fi + \csname captions\scr@reserved@a\endcsname{% + \def#2{#3}% + }% + \fi +% \end{macrocode} +% Wenn etwas hinzugefügt wurde, muss außerdem \cs{reserved@b} so umdefiniert +% werden, dass dies ggf. auch unmittelbar Geltung bekommt. +% \begin{macrocode} + \scr@def@activateactivelanguageaftergroup{#2}{#3}% + \fi + }% + \reserved@b + }% +} +% \end{macrocode} +% \end{macro}^^A \scr@def@captionname +% \end{macro}^^A \defcaptionname +% % \begin{macro}{\providecaptionname} -% \changes{v2.8q}{2001/11/08}{neu} +% \changes{v2.8q}{2001/11/08}{neu}^^A % \changes{v2.9r}{2004/06/16}{Wenn die aktuelle Sprache, die geänderte -% ist, wird die Anderung sofort aktiviert.} +% ist, wird die Anderung sofort aktiviert.}^^A % \changes{v2.95}{2006/03/10}{Ermittlung der aktuellen Sprache funktioniert -% auch, wenn \cs{languagename} mit seltsamen catcodes erstellt wurde.} -% \changes{v3.00}{2008/05/02}{nach \textsf{scrbase} verschoben} -% \changes{v3.01b}{2008/12/07}{missing make undefined} -% \changes{v3.02c}{2009/02/17}{undefined test improved} +% auch, wenn \cs{languagename} mit seltsamen catcodes erstellt wurde.}^^A +% \changes{v3.00}{2008/05/02}{nach \textsf{scrbase} verschoben}^^A +% \changes{v3.01b}{2008/12/07}{missing make undefined}^^A +% \changes{v3.02c}{2009/02/17}{undefined test improved}^^A +% \changes{v3.12}{2013/07/30}{Neuimplementierung nach dem Muster von +% \cs{defcaptionname}}^^A +% Wie \cs{defcaptionname}, allerdings wird nur definiert, wenn die Sprache \#1 +% bereits existiert, aber der Begriff \#2 nicht existiert. Unter dieser +% Einschränkung verwendet die Sternvariante \cs{extras\meta{Sprache}}, während +% die Normalvariante \cs{captions\meta{Sprache}} verwendet. +% \begin{macrocode} +\newcommand*{\providecaptionname}{% + \@ifstar\scr@provide@scaptionname\scr@provide@captionname +} +% \end{macrocode} +% \begin{macro}{\scr@provide@scaptionname} +% \changes{v3.12}{2013/07/30}{neu (intern)} +% \begin{macrocode} +\newcommand*{\scr@provide@scaptionname}[3]{% + \if@atdocument \expandafter\@firstofone + \else \expandafter\AtBeginDocument + \fi + {% + \begingroup + \let\reserved@b\endgroup + \edef\scr@reserved@a{#1}% + \@onelevel@sanitize\scr@reserved@a + \expandafter\@for \expandafter\scr@reserved@a \expandafter:\expandafter=% + \scr@reserved@a \do{% + \scr@trim@spaces\scr@reserved@a + \ifx\scr@reserved@a\@empty + \PackageWarning{scrbase}{empty language at + \string\providecaptionname}% + \else +% \end{macrocode} +% Im Unterschied zu \cs{defcaptionname} wird hier nur etwas zu +% \cs{extras\meta{Sprache}} hinzugefügt, wenn das bereits definiert ist, +% aber \#2 selbst noch nicht definiert ist. +% \begin{macrocode} + \begingroup + \let#2\relax + \csname extras\scr@reserved@a\endcsname + \csname captions\scr@reserved@a\endcsname + \ifx #2\relax \aftergroup\@firstofone + \else +%<*trace> + \PackageInfo{scrbase}{letting \scr@reserved@a\space + \expandafter\string#2\MessageBreak + unchanged}% +%</trace> + \aftergroup\@gobble + \fi + \endgroup + {% + \expandafter\ifx\csname extras\scr@reserved@a\endcsname\relax +%<*trace> + \PackageInfo{scrbase}{letting + \expandafter\string\csname extras\scr@reserved@a\endcsname\space + unused}% +%</trace> + \expandafter\expandafter\expandafter\@gobbletwo + \else + \expandafter\expandafter\expandafter\g@addto@macro + \fi + \csname extras\scr@reserved@a\endcsname{% + \def#2{#3}% + }% + \scr@def@activateactivelanguageaftergroup{#2}{#3}% + }% + \fi + }% + \reserved@b + }% +} +% \end{macrocode} +% \end{macro}^^A \scr@provide@scaptionname +% \begin{macro}{\scr@provide@captionname} +% \changes{v3.12}{2013/07/30}{neu (intern)} +% Die Normalvariante von \cs{providecaptionname}, mit denselben Argumenten. +% \begin{macrocode} +\newcommand*{\scr@provide@captionname}[3]{% + \if@atdocument \expandafter\@firstofone + \else \expandafter\AtBeginDocument + \fi + {% + \begingroup + \let\reserved@b\endgroup + \edef\scr@reserved@a{#1}% + \@onelevel@sanitize\scr@reserved@a + \expandafter\@for \expandafter\scr@reserved@a \expandafter:\expandafter=% + \scr@reserved@a \do{% + \scr@trim@spaces\scr@reserved@a + \ifx\scr@reserved@a\@empty + \PackageWarning{scrbase}{empty language at + \string\providecaptionname}% + \else +% \end{macrocode} +% Im Unterschied zu \cs{defcaptionname} wird hier nur etwas zu +% \cs{captions\meta{Sprache}} hinzugefügt, wenn das bereits definiert ist, +% aber \#2 selbst weder in \cs{extras\meta{Sprache}} noch in +% \cs{captions\meta{Sprache}} definiert ist. +% \begin{macrocode} + \begingroup + \let#2\relax + \csname captions\scr@reserved@a\endcsname + \csname extras\scr@reserved@a\endcsname + \ifx #2\relax \aftergroup\@firstofone + \else +%<*trace> + \PackageInfo{scrbase}{letting \scr@reserved@a + \expandafter\string#2\MessageBreak + unchanged}% +%</trace> + \aftergroup\@gobble + \fi + \endgroup + {% + \expandafter\ifx\csname captions\scr@reserved@a\endcsname\relax +%<*trace> + \PackageInfo{scrbase}{letting + \expandafter\string\csname extras\scr@reserved@a\endcsname\space + unused}% +%</trace> + \expandafter\expandafter\expandafter\@gobbletwo + \else + \expandafter\expandafter\expandafter\g@addto@macro + \fi + \csname captions\scr@reserved@a\endcsname{% + \def#2{#3}% + }% + \scr@def@activateactivelanguageaftergroup{#2}{#3}% + }% + \fi + }% + \reserved@b + }% +} +% \end{macrocode} +% \end{macro}^^A \scr@provide@captionname +% \end{macro}^^A \providecaptionname +% % \begin{macro}{\newcaptionname} -% \changes{v2.8q}{2001/11/08}{neu} +% \changes{v2.8q}{2001/11/08}{neu}^^A % \changes{v2.9r}{2004/06/16}{Wenn die aktuelle Sprache, die geänderte -% ist, wird die Anderung sofort aktiviert.} +% ist, wird die Anderung sofort aktiviert.}^^A % \changes{v2.95}{2006/03/10}{Ermittlung der aktuellen Sprache funktioniert -% auch, wenn \cs{languagename} mit seltsamen catcodes erstellt wurde.} -% \changes{v3.00}{2008/05/02}{nach \textsf{scrbase} verschoben} -% \changes{v3.01b}{2008/12/07}{missing make undefined} -% \changes{v3.02c}{2009/02/17}{undefined test improved} -% \begin{macro}{\renewcaptionname} -% \changes{v2.8q}{2001/11/08}{neu} -% \changes{v2.9r}{2004/06/16}{Wenn die aktuelle Sprache, die geänderte -% ist, wird die Anderung sofort aktiviert.} -% \changes{v2.95}{2006/03/10}{Ermittlung der aktuellen Sprache funktioniert -% auch, wenn \cs{languagename} mit seltsamen catcodes erstellt wurde.} -% \changes{v3.00}{2008/05/02}{nach \textsf{scrbase} verschoben} -% \changes{v3.01b}{2008/12/07}{missing make undefined} -% \changes{v3.02c}{2009/02/17}{undefined test improved} -% Drei Benutzerkommandos zur Definition sprachabhängiger Begriffe. -% Es empfiehlt sich wegen \textsf{babel} diese Anweisungen innerhalb -% von \cs{AtBeginDocument} zu verwenden. -% \begin{macrocode} -\newcommand*{\providecaptionname}[3]{% - \@ifundefined{captions#1}{% - \@ifundefined{cap@info@#1@done}{% - \PackageInfo{scrbase}{% - No captions found for `#1'\MessageBreak - --> skipped% - }% - \expandafter\let\csname cap@info@#1@done\endcsname\@empty - }{}% - }{% +% auch, wenn \cs{languagename} mit seltsamen catcodes erstellt wurde.}^^A +% \changes{v3.00}{2008/05/02}{nach \textsf{scrbase} verschoben}^^A +% \changes{v3.01b}{2008/12/07}{missing make undefined}^^A +% \changes{v3.02c}{2009/02/17}{undefined test improved}^^A +% \changes{v3.12}{2013/07/30}{Neuimplementierung nach dem Muster von +% \cs{defcaptionname}}^^A +% Wie \cs{defcaptionname} mit folgender Änderung: Existiert die +% Sprache und der Begriff, so wird ein Fehler ausgegeben. Existiert die +% Sprache aber nicht der Begriff, so wird er definiert. Existiert die Sprache +% nicht, so wird sie definiert. Unter dieser Prämisse verwendet die +% Sternversion \cs{extras\meta{Sprache}}, während die Normalversion +% \cs{captions\meta{Sprache}} verwendet. +% \begin{macrocode} +\newcommand*{\newcaptionname}{% + \@ifstar\scr@new@scaptionname\scr@new@captionname +} +% \end{macrocode} +% \begin{macro}{\scr@new@scaptionname} +% \changes{v3.12}{2013/07/30}{neu (intern)} +% Die Sternvariante von \cs{newcaptionname}. Die Argumente sind dieselben. +% \begin{macrocode} +\newcommand*{\scr@new@scaptionname}[3]{% + \if@atdocument \expandafter\@firstofone + \else \expandafter\AtBeginDocument + \fi + {% \begingroup - \let\@tempa\endgroup - \def\@tempb{\relax\undefined\relax}% - \let #2\@tempb\relax - \csname captions#1\endcsname - \ifx #2\@tempb\relax - \edef\@tempb{#1}% - \@onelevel@sanitize\@tempb - \@onelevel@sanitize\languagename - \ifx\@tempb\languagename - \def\@tempa{\endgroup% - \expandafter\g@addto@macro\csname captions#1\endcsname{% - \def#2{#3}}% - \csname captions#1\endcsname + \let\reserved@b\endgroup + \edef\scr@reserved@a{#1}% + \@onelevel@sanitize\scr@reserved@a + \expandafter\@for \expandafter\scr@reserved@a \expandafter:\expandafter=% + \scr@reserved@a \do{% + \scr@trim@spaces\scr@reserved@a + \ifx\scr@reserved@a\@empty + \PackageWarning{scrbase}{empty language at \string\newcaptionname}% + \else +% \end{macrocode} +% Im Unterschied zu \cs{defcaptionname} darf der Begriff noch nicht definiert +% sein. +% \begin{macrocode} + \begingroup + \let#2\relax + \csname captions\scr@reserved@a\endcsname + \csname extras\scr@reserved@a\endcsname + \ifx #2\relax + \else + \PackageError{scrbase}{% + `\string#2' already defined\MessageBreak + for language `\scr@reserved@a'% + }{% + You've told me to define `\string#2' for language + `\scr@reserved@a',\MessageBreak + but is has already been defined.\MessageBreak + Nevertheless, if you'll continue it will be redefined.% + }% + \fi + \endgroup + \expandafter\ifx\csname extras\scr@reserved@a\endcsname\relax + \expandafter\expandafter\expandafter\gdef + \else + \expandafter\expandafter\expandafter\g@addto@macro + \fi + \csname extras\scr@reserved@a\endcsname{% + \def#2{#3}% }% + \scr@def@activateactivelanguageaftergroup{#2}{#3}% + \fi + }% + \reserved@b + }% +} +% \end{macrocode} +% \end{macro}^^A \scr@new@scaptionname +% \begin{macro}{\scr@new@captionname} +% \changes{v3.12}{2013/07/30}{neu (intern)} +% Die Normalvariante von \cs{newcaptionname}, mit denselben Argumenten. +% \begin{macrocode} +\newcommand*{\scr@new@captionname}[3]{% + \if@atdocument \expandafter\@firstofone + \else \expandafter\AtBeginDocument + \fi + {% + \begingroup + \let\reserved@b\endgroup + \edef\scr@reserved@a{#1}% + \@onelevel@sanitize\scr@reserved@a + \expandafter\@for \expandafter\scr@reserved@a \expandafter:\expandafter=% + \scr@reserved@a \do{% + \scr@trim@spaces\scr@reserved@a + \ifx\scr@reserved@a\@empty + \PackageWarning{scrbase}{empty language at \string\newcaptionname}% \else - \def\@tempa{\endgroup% - \expandafter\g@addto@macro\csname captions#1\endcsname{% - \def#2{#3}}% +% \end{macrocode} +% Im Unterschied zu \cs{defcaptionname} darf der Begriff noch nicht definiert +% sein. +% \begin{macrocode} + \begingroup + \let#2\relax + \csname captions\scr@reserved@a\endcsname + \csname extras\scr@reserved@a\endcsname + \ifx #2\relax + \else + \PackageError{scrbase}{% + `\string#2' already defined\MessageBreak + for language `\scr@reserved@a'% + }{% + You've told me to define `\string#2' for language + `\scr@reserved@a',\MessageBreak + but is has already been defined.\MessageBreak + Nevertheless, if you'll continue it will be redefined.% + }% + \fi + \endgroup + \expandafter\ifx\csname captions\scr@reserved@a\endcsname\relax + \expandafter\expandafter\expandafter\gdef + \else + \expandafter\expandafter\expandafter\g@addto@macro + \fi + \csname captions\scr@reserved@a\endcsname{% + \def#2{#3}% }% + \scr@def@activateactivelanguageaftergroup{#2}{#3}% \fi - \else - \PackageInfo{scrbase}{% - `\string#2' at language `#1' already - defined\MessageBreak - --> skipped% - }% - \fi - \@tempa + }% + \reserved@b }% } -\newcommand*{\newcaptionname}[3]{% - \@ifundefined{captions#1}{% - \PackageInfo{scrbase}{% - No captions found for `#1' --> defining% - }% - \@namedef{captions#1}{}% - }{}% - \begingroup - \def\@tempb{\relax\undefined\relax}% - \let #2\@tempb\relax - \csname captions#1\endcsname - \ifx #2\@tempb\relax\else - \PackageError{scrbase}{% - `\string#2' at language `#1' already defined% - }{% - You've told me to define `\string#2' at language - `#1',\MessageBreak - but it is already defined.\MessageBreak - It will be redefined, if you'll continue.% +% \end{macrocode} +% \end{macro}^^A \scr@new@captionname +% \end{macro}^^A \newcaptionname +% +% \begin{macro}{\renewcaptionname} +% \changes{v2.8q}{2001/11/08}{neu}^^A +% \changes{v2.9r}{2004/06/16}{Wenn die aktuelle Sprache, die geänderte +% ist, wird die Anderung sofort aktiviert.}^^A +% \changes{v2.95}{2006/03/10}{Ermittlung der aktuellen Sprache funktioniert +% auch, wenn \cs{languagename} mit seltsamen catcodes erstellt wurde.}^^A +% \changes{v3.00}{2008/05/02}{nach \textsf{scrbase} verschoben}^^A +% \changes{v3.01b}{2008/12/07}{missing make undefined}^^A +% \changes{v3.02c}{2009/02/17}{undefined test improved}^^A +% \changes{v3.12}{2013/07/30}{Neuimplementierung nach dem Muster von +% \cs{defcaptionname}}^^A +% Wie \cs{defcaptionname} mit folgender Änderung: Existiert die +% Sprache nicht, so ist dies ein Fehler. Existiert die Sprache nicht aber der +% Begriff, so ist dies ebenfalls ein Fehler. Existieren Sprache und Begriff, +% so wird dieser umdefiniert. Unter dieser Voraussetzung ändert die +% Sternvariante immer \cs{extras\meta{Sprache}}, während die Normalvariante +% \cs{captions\meta{Sprache}} ändert, falls der Begriff nicht i +% \cs{extras\meta{Sprache}} definiert war, und sonst \cs{extras\meta{Sprache}}. +% \begin{macrocode} +\newcommand*{\renewcaptionname}{% + \@ifstar\scr@renew@scaptionname\scr@renew@captionname +} +% \end{macrocode} +% \begin{macro}{\scr@renew@scaptionname} +% \changes{v3.12}{2013/07/30}{neu (intern)} +% Die Sternvariante von \cs{renewcaptionname}. Die Argumente sind dieselben. +% \begin{macrocode} +\newcommand*{\scr@renew@scaptionname}[3]{% + \if@atdocument \expandafter\@firstofone + \else \expandafter\AtBeginDocument + \fi + {% + \begingroup + \let\reserved@b\endgroup + \edef\scr@reserved@a{#1}% + \@onelevel@sanitize\scr@reserved@a + \expandafter\@for \expandafter\scr@reserved@a \expandafter:\expandafter=% + \scr@reserved@a \do{% + \scr@trim@spaces\scr@reserved@a + \ifx\scr@reserved@a\@empty + \PackageWarning{scrbase}{empty language at \string\renewcaptionname}% + \else +% \end{macrocode} +% Im Unterschied zu \cs{defcaptionname} muss der Begriff bereits definiert +% sein. +% \begin{macrocode} + \begingroup + \let#2\relax + \csname captions\scr@reserved@a\endcsname + \csname extras\scr@reserved@a\endcsname + \ifx #2\relax + \PackageError{scrbase}{% + `\string#2' not defined at language `\scr@reserved@a'% + }{% + You've told me to redefine `\string#2' at language + `\scr@reserved@a',\MessageBreak + but is hasn't been defined before.\MessageBreak + Nevertheless, if you'll continue I'll define it at + `\expandafter\string\csname extras\scr@reserved@a\endcsname'% + }% + \fi + \endgroup + \expandafter\ifx\csname extras\scr@reserved@a\endcsname\relax + \expandafter\expandafter\expandafter\gdef + \else + \expandafter\expandafter\expandafter\g@addto@macro + \fi + \csname extras\scr@reserved@a\endcsname{% + \def#2{#3}% + }% + \scr@def@activateactivelanguageaftergroup{#2}{#3}% + \fi }% - \fi - \endgroup - \expandafter\g@addto@macro\csname captions#1\endcsname{% - \def#2{#3}% + \reserved@b }% - \begingroup - \edef\@tempb{#1}% - \@onelevel@sanitize\@tempb - \@onelevel@sanitize\languagename - \ifx\@tempb\languagename - \def\@tempa{\endgroup\csname captions#1\endcsname}% - \else - \let\@tempa\endgroup - \fi - \@tempa } -\newcommand*{\renewcaptionname}[3]{% - \@ifundefined{captions#1}{% - \PackageError{scrbase}{% - No captions found for `#1'% - }{% - You've told me to redefine the caption `\string#2' at language - `#1',\MessageBreak - but `\expandafter\string\csname captions#1\endcsname' is not - defined.\MessageBreak - If you'll continue it will be defined.% - } - \@namedef{captions#1}{}% - }{}% - \begingroup - \def\@tempb{\relax\undefined\relax}% - \let #2\@tempb\relax - \csname captions#1\endcsname - \ifx #2\@tempb\relax - \PackageError{scrbase}{% - `\string#2' not defined at language `#1'% - }{% - You've told me to redefine `\string#2' at language - `#1',\MessageBreak - but it is not defined.\MessageBreak - If you'll continue it will be defined.% +% \end{macrocode} +% \end{macro}^^A \scr@renew@scaptionname +% \begin{macro}{\scr@renew@captionname} +% \changes{v3.12}{2013/07/30}{neu (intern)} +% Die Normalvariante von \cs{renewcaptionname}, mit denselben Argumenten. +% \begin{macrocode} +\newcommand*{\scr@renew@captionname}[3]{% + \if@atdocument \expandafter\@firstofone + \else \expandafter\AtBeginDocument + \fi + {% + \begingroup + \let\reserved@b\endgroup + \edef\scr@reserved@a{#1}% + \@onelevel@sanitize\scr@reserved@a + \expandafter\@for \expandafter\scr@reserved@a \expandafter:\expandafter=% + \scr@reserved@a \do{% + \scr@trim@spaces\scr@reserved@a + \ifx\scr@reserved@a\@empty + \PackageWarning{scrbase}{empty language at \string\renewcaptionname}% + \else +% \end{macrocode} +% Im Unterschied zu \cs{defcaptionname} muss der Begriff bereits definiert +% sein. +% \begin{macrocode} + \begingroup + \let#2\relax + \csname extras\scr@reserved@a\endcsname + \ifx #2\relax + \csname captions\scr@reserved@a\endcsname + \ifx #2\relax + \PackageError{scrbase}{% + `\string#2' not defined at language `\scr@reserved@a'% + }{% + You've told me to redefine `\string#2' at language + `\scr@reserved@a',\MessageBreak + but it hasn't been defined before.\MessageBreak + Nevertheless, if you'll continue I'll define it at + `\expandafter\string + \csname captions\scr@reserved@a\endcsname'% + }% + \fi + \expandafter\ifx\csname captions\scr@reserved@a\endcsname\relax + \expandafter\expandafter\expandafter\gdef + \else + \expandafter\expandafter\expandafter\g@addto@macro + \fi + \csname captions\scr@reserved@a\endcsname{\def#2{#3}}% + \else + \expandafter\ifx\csname extras\scr@reserved@a\endcsname\relax + \expandafter\expandafter\expandafter\gdef + \else + \expandafter\expandafter\expandafter\g@addto@macro + \fi + \csname extras\scr@reserved@a\endcsname{\def#2{#3}}% + \fi + \endgroup + \scr@def@activateactivelanguageaftergroup{#2}{#3}% + \fi }% - \fi - \endgroup - \expandafter\g@addto@macro\csname captions#1\endcsname{% - \def#2{#3}% + \reserved@b }% - \begingroup - \edef\@tempb{#1}% - \@onelevel@sanitize\@tempb - \@onelevel@sanitize\languagename - \ifx\@tempb\languagename - \def\@tempa{\endgroup\csname captions#1\endcsname}% - \else - \let\@tempa\endgroup - \fi - \@tempa } % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A \scr@renew@captionname +% \end{macro}^^A \renewcaptionname % % \iffalse %</package&base> @@ -489,6 +938,7 @@ \providecaptionname{english}\datename{Date}% \providecaptionname{english}\pagename{Page}% \providecaptionname{english}\phonename{Phone}% + \providecaptionname{english}\mobilephonename{Mobile phone}% \providecaptionname{english}\faxname{Fax}% \providecaptionname{english}\emailname{Email}% \providecaptionname{english}\wwwname{Url}% @@ -507,6 +957,7 @@ \providecaptionname{USenglish}\datename{Date}% \providecaptionname{USenglish}\pagename{Page}% \providecaptionname{USenglish}\phonename{Phone}% + \providecaptionname{USenglish}\mobilephonename{Cell phone}% \providecaptionname{USenglish}\faxname{Fax}% \providecaptionname{USenglish}\emailname{Email}% \providecaptionname{USenglish}\wwwname{Url}% @@ -525,6 +976,7 @@ \providecaptionname{american}\datename{Date}% \providecaptionname{american}\pagename{Page}% \providecaptionname{american}\phonename{Phone}% + \providecaptionname{american}\mobilephonename{Cell phone}% \providecaptionname{american}\faxname{Fax}% \providecaptionname{american}\emailname{Email}% \providecaptionname{american}\wwwname{Url}% @@ -543,6 +995,7 @@ \providecaptionname{british}\datename{Date}% \providecaptionname{british}\pagename{Page}% \providecaptionname{british}\phonename{Phone}% + \providecaptionname{british}\mobilephonename{Mobile phone}% \providecaptionname{british}\faxname{Fax}% \providecaptionname{british}\emailname{Email}% \providecaptionname{british}\wwwname{Url}% @@ -561,6 +1014,7 @@ \providecaptionname{UKenglish}\datename{Date}% \providecaptionname{UKenglish}\pagename{Page}% \providecaptionname{UKenglish}\phonename{Phone}% + \providecaptionname{UKenglish}\mobilephonename{Mobile phone}% \providecaptionname{UKenglish}\faxname{Fax}% \providecaptionname{UKenglish}\emailname{Email}% \providecaptionname{UKenglish}\wwwname{Url}% @@ -579,6 +1033,7 @@ \providecaptionname{german}\datename{Datum}% \providecaptionname{german}\pagename{Seite}% \providecaptionname{german}\phonename{Telephon}% + \providecaptionname{german}\mobilephonename{Mobiltelephon}% \providecaptionname{german}\faxname{Fax}% \providecaptionname{german}\emailname{E-Mail}% \providecaptionname{german}\wwwname{URL}% @@ -597,6 +1052,7 @@ \providecaptionname{ngerman}\datename{Datum}% \providecaptionname{ngerman}\pagename{Seite}% \providecaptionname{ngerman}\phonename{Telefon}% + \providecaptionname{ngerman}\mobilephonename{Handy}% \providecaptionname{ngerman}\faxname{Fax}% \providecaptionname{ngerman}\emailname{E-Mail}% \providecaptionname{ngerman}\wwwname{URL}% @@ -615,6 +1071,7 @@ \providecaptionname{austrian}\datename{Datum}% \providecaptionname{austrian}\pagename{Seite}% \providecaptionname{austrian}\phonename{Telefon}% + \providecaptionname{austrian}\mobilephonename{Mobiltelefon}% \providecaptionname{austrian}\faxname{Fax}% \providecaptionname{austrian}\emailname{E-Mail}% \providecaptionname{austrian}\wwwname{URL}% @@ -633,6 +1090,7 @@ \providecaptionname{naustrian}\datename{Datum}% \providecaptionname{naustrian}\pagename{Seite}% \providecaptionname{naustrian}\phonename{Telefon}% + \providecaptionname{naustrian}\phonename{Handy}% \providecaptionname{naustrian}\faxname{Fax}% \providecaptionname{naustrian}\emailname{E-Mail}% \providecaptionname{naustrian}\wwwname{URL}% @@ -651,6 +1109,7 @@ \providecaptionname{french}\datename{Date}% \providecaptionname{french}\pagename{Page}% \providecaptionname{french}\phonename{T\'el\'ephone}% + \providecaptionname{french}\mobilephonename{Portable}% \providecaptionname{french}\faxname{T\'el\'efax}% \providecaptionname{french}\emailname{E-mail}% \providecaptionname{french}\wwwname{URL}% @@ -670,6 +1129,7 @@ \providecaptionname{italian}\datename{Data}% \providecaptionname{italian}\pagename{Pagina}% \providecaptionname{italian}\phonename{Telefono}% + \providecaptionname{italian}\mobilephonename{Telefonino}% \providecaptionname{italian}\faxname{Fax}% \providecaptionname{italian}\emailname{Email}% \providecaptionname{italian}\wwwname{Sito Web}% @@ -688,6 +1148,7 @@ \providecaptionname{spanish}\datename{Fecha}% \providecaptionname{spanish}\pagename{P\'agina}% \providecaptionname{spanish}\phonename{Tel\'efono}% + \providecaptionname{spanish}\mobilephonename{M\'ovil}% \providecaptionname{spanish}\faxname{Fax}% \providecaptionname{spanish}\emailname{Email}% or Correo electr\'onico \providecaptionname{spanish}\wwwname{URL}% or P\`agina web @@ -706,6 +1167,7 @@ \providecaptionname{croatian}\datename{Nadnevak}% \providecaptionname{croatian}\pagename{Stranica}% \providecaptionname{croatian}\phonename{Telefon}% + \providecaptionname{croatian}\mobilphonename{Mobitel}% \providecaptionname{croatian}\faxname{Fax}% \providecaptionname{croatian}\emailname{E-Mail}% \providecaptionname{croatian}\wwwname{URL}% @@ -724,6 +1186,7 @@ \providecaptionname{dutch}\datename{Datum}% \providecaptionname{dutch}\pagename{Pagina}% \providecaptionname{dutch}\phonename{Telefoon}% + \providecaptionname{dutch}\mobilephonename{Mobieltje}% \providecaptionname{dutch}\faxname{Fax}% \providecaptionname{dutch}\emailname{E--mail}% \providecaptionname{dutch}\wwwname{URL}% @@ -742,6 +1205,7 @@ \providecaptionname{finnish}\datename{P\"aiv\"a}% \providecaptionname{finnish}\pagename{Sivu}% \providecaptionname{finnish}\phonename{Puhelin}% + \providecaptionname{finnish}\mobilephonename{Matkapuhelin}% \providecaptionname{finnish}\faxname{Faksi}% \providecaptionname{finnish}\emailname{S\"ahk\"oposti}% \providecaptionname{finnish}\wwwname{URL}% @@ -760,6 +1224,7 @@ \providecaptionname{norsk}\datename{Dato}% \providecaptionname{norsk}\pagename{Side}% \providecaptionname{norsk}\phonename{Telefon}% + \providecaptionname{norsk}\mobilephonename{Mobiltelefon}% \providecaptionname{norsk}\faxname{Telefaks}% \providecaptionname{norsk}\emailname{E-post}% \providecaptionname{norsk}\wwwname{Url}% @@ -787,6 +1252,7 @@ \providecaptionname{swedish}\datename{Datum}% \providecaptionname{swedish}\pagename{Sida}% \providecaptionname{swedish}\phonename{Telefon}% + \providecaptionname{swedish}\mobilephonename{Mobiltelefon}% \providecaptionname{swedish}\faxname{Telefax}% \providecaptionname{swedish}\emailname{E-post}% \providecaptionname{swedish}\wwwname{Hemsida}% @@ -930,7 +1396,21 @@ will be used% }% \else - \expandafter\selectlanguage\expandafter{\languagename}% + \ClassInfo{scrlttr2}{% + trying to activate captions and date\MessageBreak + of language `\languagename'% + }% +% \end{macrocode} +% \changes{v3.12}{2012/12/28}{Workaround für babels geänderte hyphen.cfg} +% Irgendwann wurde in babel die hyphen.cfg geändert, so dass das früher sehr +% gut funktionierende |\expandafter\selectlanguage\expandafter{\languagename}| +% damit leider nicht mehr funktioniert, wenn babel nicht mehr geladen +% ist. Deshalb wird nun etwas direkter vorgegangen. Das kann mit einzelnen +% Sprachpaketen eventuell Nachteile bringen, funktioniert aber aktuell ohne +% Sprachpaket, mit babel und mit polyglossia. +% \begin{macrocode} + \csname date\languagename\endcsname + \csname captions\languagename\endcsname \ClassInfo{% scrlttr2% }{% @@ -939,7 +1419,7 @@ `british', `american', `USenglish',\MessageBreak `german', `ngerman', `austrian', `naustrian',\MessageBreak `dutch', `italian', `spanish',\MessageBreak - `croatian', `finnish', `norsk'% + `croatian', `finnish', `norsk', `swedish'% }% \fi \fi @@ -994,7 +1474,7 @@ % \endinput % -% end of file `scrklang.dtx' +% end of file `scrkernel-language.dtx' %%% Local Variables: %%% mode: doctex %%% TeX-master: t diff --git a/Master/texmf-dist/source/latex/koma-script/scrklco.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-letterclassoptions.dtx index db12c796efc..3bc69e080d7 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrklco.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-letterclassoptions.dtx @@ -1,8 +1,8 @@ -% \CheckSum{1439} +% \CheckSum{1467} % \iffalse meta-comment % ====================================================================== -% scrklco.dtx -% Copyright (c) Markus Kohm, 2006-2012 +% scrkernel-letterclassoptions.dtx +% Copyright (c) Markus Kohm, 2006-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -19,8 +19,8 @@ % % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- -% scrklco.dtx -% Copyright (c) Markus Kohm, 2006-2012 +% scrkernel-letterclassoptions.dtx +% Copyright (c) Markus Kohm, 2006-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -55,17 +55,18 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scrklco.dtx +%%% From File: $Id: scrkernel-letterclassoptions.dtx 1499 2013-11-05 17:22:29Z mjk $ %<*driver> % \fi -\ProvidesFile{scrklco.dtx}[2011/01/10 v3.07a KOMA-Script (letter class options)] +\ProvidesFile{scrkernel-letterclassoptions.dtx}[2013/11/05 v3.12 KOMA-Script + (letter class options)] % \iffalse \documentclass{scrdoc} \usepackage[english,ngerman]{babel} \usepackage[latin1]{inputenc} \CodelineIndex \RecordChanges -\GetFileInfo{scrklco.dtx} +\GetFileInfo{scrkernel-letterclassoptions.dtx} \title{\KOMAScript{} \partname\ \texttt{\filename}% \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} \date{\filedate} @@ -203,13 +204,15 @@ % Papiergröße nicht überein, so wird bei \cs{opening} eine Warnung % ausgegeben. % \begin{macro}{\@PapersizeWarning} -% \changes{v2.8q}{2002/03/25}{Neu (intern)} +% \changes{v2.8q}{2002/03/25}{Neu (intern)}%^^A +% \changes{v3.12}{2013/11/05}{Abweichung von 1\,mm nach unten und oben +% erlaubt}%^^A % \begin{macro}{\@@PapersizeWarning} -% \changes{v2.8q}{2002/03/25}{Neu (intern)} +% \changes{v2.8q}{2002/03/25}{Neu (intern)}%^^A % \begin{macro}{\LOPNP@size} -% \changes{v2.8q}{2002/03/25}{Neu (intern)} +% \changes{v2.8q}{2002/03/25}{Neu (intern)}%^^A % \begin{macro}{\LOPNP@option} -% \changes{v2.8q}{2002/03/25}{Neu (intern)} +% \changes{v2.8q}{2002/03/25}{Neu (intern)}%^^A % Zur einfacheren Realisierung wird mit vier internen Hilfsmakros % gearbeitet. % \begin{macrocode} @@ -217,13 +220,26 @@ \newcommand*{\LOPNP@size}{} \newcommand*{\@PapersizeWarning}{% \begingroup% - \edef\@tempc{\noexpand\@tempswatrue - \noexpand\ifdim\paperwidth=\the\paperwidth\noexpand\else - \noexpand\@tempswafalse\noexpand\fi - \noexpand\ifdim\paperheight=\the\paperheight\noexpand\else - \noexpand\@tempswafalse\noexpand\fi + \edef\@tempc{\noexpand\@tempswafalse + \noexpand\ifdim\paperwidth<\the\dimexpr\paperwidth-.1mm\relax + \relax + \noexpand\else + \noexpand\ifdim\paperwidth>\the\dimexpr\paperwidth+.1mm\relax + \relax + \noexpand\else + \noexpand\ifdim\paperheight<\the\dimexpr\paperheight-.1mm\relax + \relax + \noexpand\else + \noexpand\ifdim\paperheight>\the\dimexpr\paperheight+.1mm\relax + \relax + \noexpand\else + \noexpand\@tempswatrue + \noexpand\fi + \noexpand\fi + \noexpand\fi + \noexpand\fi \noexpand\@@PapersizeWarning - } + }% \def\@tempb{letter}\ifx\LOPNP@size\@tempb% \setlength{\paperheight}{11in}\setlength{\paperwidth}{8.5in}% \else\def\@tempb{legal}\ifx\LOPNP@size\@tempb% @@ -270,7 +286,7 @@ % \begin{macrocode} \newcommand*{\LetterOptionNeedsPapersize}[2]{% \edef\LOPNP@size{#2}\edef\LOPNP@option{#1}% - } +} % \end{macrocode} % \end{macro} % @@ -833,7 +849,7 @@ \@ifundefined{showfield@by@#1}{% \LCOWarning{visualize}{Unknown show type `#1'.\MessageBreak You should simply set one of the supported\MessageBreak - show types `frame', `edge', `rule'.\MessageBreak + show types `frame', `edges', `rule'.\MessageBreak Style `frame' will be used instead}% \let\showfield\showfield@by@frame }{% @@ -1441,7 +1457,7 @@ % \endinput % -% end of file `scrklco.dtx' +% end of file `scrkernel-letterclassoptions.dtx' %%% Local Variables: %%% mode: doctex %%% TeX-master: t diff --git a/Master/texmf-dist/source/latex/koma-script/scrklist.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-listsandtabulars.dtx index ac8e1953150..16b7298b229 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrklist.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-listsandtabulars.dtx @@ -1,8 +1,8 @@ -% \CheckSum{264} +% \CheckSum{293} % \iffalse meta-comment % ====================================================================== -% scrklist.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% scrkernel-listsandtabulars.dtx +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -19,8 +19,8 @@ % % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- -% scrklist.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% scrkernel-listsandtabulars.dtx +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -55,17 +55,18 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scrklist.dtx +%%% From File: $Id: scrkernel-listsandtabulars.dtx 1502 2013-11-06 11:00:12Z mjk $ %<*driver> % \fi -\ProvidesFile{scrklist.dtx}[2010/04/29 v3.05b KOMA-Script (lists and tabulars)] +\ProvidesFile{scrkernel-listsandtabulars.dtx}[2013/10/26 v3.12 KOMA-Script + (lists and tabulars)] % \iffalse \documentclass[halfparskip-]{scrdoc} \usepackage[english,ngerman]{babel} \usepackage[latin1]{inputenc} \CodelineIndex \RecordChanges -\GetFileInfo{scrklist.dtx} +\GetFileInfo{scrkernel-listsandtabulars.dtx} \title{\KOMAScript{} \partname\ \texttt{\filename}% \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} @@ -277,7 +278,7 @@ % \end{environment} % % \begin{environment}{labeling} -% \begin{macro}{labelinglabel} +% \begin{macro}{\labelinglabel} % \changes{v3.02}{2009/01/01}{Neue Elemente \texttt{labelinglabel} und % \texttt{labelingseparator} werden verwendet} % \changes{v3.02c}{2009/01/28}{\texttt{labelinglabel} und @@ -392,6 +393,9 @@ % \changes{v3.05b}{2010/04/29}{\cs{partopsep} muss auf 0 statt \cs{parskip} % gesetzt werden, weil es zu \cs{topsep} addiert wird} % Der Rest wird von diesem Makro erledigt. +% \begin{macro}{\scr@addmargin@startpage} +% \changes{v3.12}{2013/10/26}{neu (intern, lokal)} +% \changes{v3.12}{2013/10/26}{Test auf Seitenumbruch in \texttt{addmargin*}} % \begin{macrocode} %</class> \newenvironment{addmargin}{% @@ -403,8 +407,23 @@ \newenvironment{addmargin*}{% \@tempswafalse \if@twoside\ifthispageodd{}{\@tempswatrue}\fi + \edef\scr@addmargin@startpage{\csname tpo@\scr@tpo\endcsname}% \@addmargin }{% + \unskip\nobreak\ifthispageodd{}{}% + \expandafter\ifx\csname tpo@\scr@tpo\endcsname\scr@addmargin@startpage\else +%<class> \ClassWarning{\KOMAClassName}{% +%<package> \PackageWarning{scrextend}{% + page break inside `addmargin*' environment.\MessageBreak + A `addmargin*' environment starting on page + \scr@addmargin@startpage\MessageBreak + ends on page \csname tpo@\scr@tpo\endcsname.\MessageBreak + This will result in potential wrong margins on\MessageBreak + every other page.\MessageBreak + So maybe you should change the `addmargin*'\MessageBreak + environment, that ends% + }% + \fi \advance\@listdepth\@ne \endlist } @@ -434,6 +453,7 @@ %<*class> % \end{macrocode} % \end{macro} +% \end{macro} % \end{environment} % \end{environment} % @@ -484,7 +504,7 @@ % \endinput % -% end of file `scrklist.dtx' +% end of file `scrkernel-listsandtabulars.dtx' %%% Local Variables: %%% mode: doctex %%% TeX-master: t diff --git a/Master/texmf-dist/source/latex/koma-script/scrkliof.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-listsof.dtx index 41ec5de897b..f5433c50b07 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkliof.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-listsof.dtx @@ -1,8 +1,8 @@ -% \CheckSum{410} +% \CheckSum{457} % \iffalse meta-comment % ====================================================================== -% scrkliof.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% scrkernel-listsof.dtx +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -19,8 +19,8 @@ % % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- -% scrkliof.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% scrkernel-listsof.dtx +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -55,17 +55,18 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scrkliof.dtx +%%% From File: $Id: scrkernel-listsof.dtx 1522 2013-11-22 08:11:42Z mjk $ %<*driver> % \fi -\ProvidesFile{scrkliof.dtx}[2010/11/01 v3.08 KOMA-Script (lists of)] +\ProvidesFile{scrkernel-listsof.dtx}[2013/11/22 v3.12 KOMA-Script + (lists of)] % \iffalse \documentclass[halfparskip-]{scrdoc} \usepackage[english,ngerman]{babel} \usepackage[latin1]{inputenc} \CodelineIndex \RecordChanges -\GetFileInfo{scrkliof.dtx} +\GetFileInfo{scrkernel-listsof.dtx} \title{\KOMAScript{} \partname\ \texttt{\filename}% \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} \date{\filedate} @@ -126,7 +127,11 @@ % \end{macro} % % \begin{option}{toc} -% \changes{v2.98c}{2008/03/04}{Neue Option} +% \changes{v2.98c}{2008/03/04}{Neue Option}^^A +% \changes{v3.12}{2013/03/05}{Nutzung der Status-Signalisierung mit +% \cs{FamilyKeyStateProcessed}}^^A +% \changes{v3.12}{2013/08/26}{\cs{KOMA@options} durch +% \cs{KOMAExecuteOptions} ersetzt}^^A % Dies ist die zentrale Option für Einstellungen des Inhaltsverzeichnisses. % \begin{macrocode} \KOMA@key{toc}{% @@ -154,28 +159,43 @@ % ermittelt. % \begin{macrocode} {flat}{8},{left}{8},% - {graduated}{9},{indent}{9},{indented}{9}% + {graduated}{9},{indent}{9},{indented}{9},% +% \end{macrocode} +% \changes{v3.12}{2014/09/24}{neue Werte \texttt{numberline} und +% \texttt{nonumberline}}%^^A +% Außerdem können die nicht nummerierten Einträge ggf. ebenfalls mit +% \cs{numberline} eingerückt werden. Das geht über ein Feature von +% \textsf{tocbasic}. +% \begin{macrocode} + {indenttextentries}{10},{indentunnumbered}{10},{numberline}{10},% + {leftaligntextentries}{11},{leftalignunnumbered}{11},{nonumberline}{11}% }{#1}% - \ifcase \@tempa\relax - \KOMA@options{index=notoc}{}% - \or - \KOMA@options{index=totoc}{}% - \or - \KOMA@options{listof=notoc}{}% - \or - \KOMA@options{listof=totoc}{}% - \or - \KOMA@options{listof=numbered}{}% - \or - \KOMA@options{bibliography=nottotoc}{}% - \or - \KOMA@options{bibliography=totoc}{}% - \or - \KOMA@options{bibliography=totocnumbered}{}% - \or - \@toclefttrue - \or - \@tocleftfalse + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase \@tempa\relax + \KOMAExecuteOptions{index=notoc}% + \or + \KOMAExecuteOptions{index=totoc}% + \or + \KOMAExecuteOptions{listof=notoc}% + \or + \KOMAExecuteOptions{listof=totoc}% + \or + \KOMAExecuteOptions{listof=numbered}% + \or + \KOMAExecuteOptions{bibliography=nottotoc}% + \or + \KOMAExecuteOptions{bibliography=totoc}% + \or + \KOMAExecuteOptions{bibliography=totocnumbered}% + \or + \@toclefttrue + \or + \@tocleftfalse + \or + \setuptoc{toc}{numberline}% + \or + \unsettoc{toc}{numberline}% + \fi \fi } % \end{macrocode} @@ -227,11 +247,15 @@ % \end{macro} % % \begin{option}{listof} -% \changes{v2.98c}{2008/03/05}{Neue Option} +% \changes{v2.98c}{2008/03/05}{Neue Option}^^A % \changes{v3.06}{2010/06/02}{Alle über \textsf{tocbasic} realisierten % Einstellungen wirken sich auch auf Verzeichnisse des Besitzers % \texttt{float} aus, die erst später unter Kontrolle von -% \textsf{tocbasic} gestellt werden.} +% \textsf{tocbasic} gestellt werden.}^^A +% \changes{v3.12}{2013/03/05}{Nutzung der Status-Signalisierung mit +% \cs{FamilyKeyStateProcessed}}^^A +% \changes{v3.12}{2013/06/26}{\cs{KOMA@options} durch +% \cs{KOMAExecuteOptions} ersetzt}^^A % Dies ist die zentrale Option für die Gleitumgebungsverzeichnisse. % \begin{macrocode} \KOMA@key{listof}{% @@ -268,96 +292,121 @@ % \begin{macrocode} {entryprefix}{6}, % \end{macrocode} +% \changes{v3.12}{2014/09/24}{neue Werte \texttt{numberline} und +% \texttt{nonumberline}}%^^A +% Außerdem können die nicht nummerierten Einträge ggf. ebenfalls mit +% \cs{numberline} eingerückt werden. Das geht über ein Feature von +% \textsf{tocbasic}. +% \begin{macrocode} + {indenttextentries}{7},{indentunnumbered}{7},{numberline}{7},% + {leftaligntextentries}{8},{leftalignunnumbered}{8},{nonumberline}{8},% +% \end{macrocode} % Dann gibt es Optionen, für die Unterteilung auf Kapitelebene. Allerdings nur % für \textsf{scrbook} und \textsf{scrreprt}. % \begin{macrocode} %<*book|report> - {chapterentry}{7},{withchapterentry}{7},% - {nochaptergap}{8},{ignorechapter}{8},% - {chaptergapsmall}{9},{smallchaptergap}{9},% - {chaptergapline}{10},{onelinechaptergap}{10}% + {chapterentry}{9},{withchapterentry}{9},% + {nochaptergap}{10},{ignorechapter}{10},% + {chaptergapsmall}{11},{smallchaptergap}{11},% + {chaptergapline}{12},{onelinechaptergap}{12}% %</book|report> }{#1}% - \ifcase \@tempa\relax - \renewcommand*{\float@@listhead}{% -%<article> \section* -%<report|book> \chapter* - }% - \doforeachtocfile[float]{% - \unsettoc{\@currext}{numbered}% - \unsettoc{\@currext}{totoc}% - }% - \AtAddToTocList[float]{% - \unsettoc{\@currext}{numbered}% - \unsettoc{\@currext}{totoc}% - }% - \or% totoc - \renewcommand*{\float@@listhead}{% -%<article> \addsec -%<report|book> \addchap - }% - \doforeachtocfile[float]{% - \unsettoc{\@currext}{numbered}% - \setuptoc{\@currext}{totoc}% - }% - \AtAddToTocList[float]{% - \unsettoc{\@currext}{numbered}% - \setuptoc{\@currext}{totoc}% - }% - \or% numbered - \renewcommand*{\float@@listhead}{% -%<article> \section -%<report|book> \chapter - }% - \doforeachtocfile[float]{% - \setuptoc{\@currext}{numbered}% - \setuptoc{\@currext}{totoc}% - }% - \AtAddToTocList[float]{% - \setuptoc{\@currext}{numbered}% - \setuptoc{\@currext}{totoc}% - }% - \or% flat - \@dynlisttrue - \or% graduated - \@dynlistfalse - \or% leveldown - \doforeachtocfile[float]{% - \setuptoc{\@currext}{leveldown}% - }% - \AtAddToTocList[float]{% - \setuptoc{\@currext}{leveldown}% - }% - \or% entryprefix - \@dynlisttrue - \doforeachtocfile[float]{% - \BeforeStartingTOC[\@currext]{% - \scr@ifundefinedorrelax{listof\@currext entryname}{}{% - \expandafter\def\expandafter\numberline@prefix - \expandafter{\csname listof\@currext entryname\endcsname - \nobreakspace}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase \@tempa\relax + \renewcommand*{\float@@listhead}{% +%<article> \section* +%<report|book> \chapter* + }% + \doforeachtocfile[float]{% + \unsettoc{\@currext}{numbered}% + \unsettoc{\@currext}{totoc}% + }% + \AtAddToTocList[float]{% + \unsettoc{\@currext}{numbered}% + \unsettoc{\@currext}{totoc}% + }% + \or% totoc + \renewcommand*{\float@@listhead}{% +%<article> \addsec +%<report|book> \addchap + }% + \doforeachtocfile[float]{% + \unsettoc{\@currext}{numbered}% + \setuptoc{\@currext}{totoc}% + }% + \AtAddToTocList[float]{% + \unsettoc{\@currext}{numbered}% + \setuptoc{\@currext}{totoc}% + }% + \or% numbered + \renewcommand*{\float@@listhead}{% +%<article> \section +%<report|book> \chapter + }% + \doforeachtocfile[float]{% + \setuptoc{\@currext}{numbered}% + \setuptoc{\@currext}{totoc}% + }% + \AtAddToTocList[float]{% + \setuptoc{\@currext}{numbered}% + \setuptoc{\@currext}{totoc}% + }% + \or% flat + \@dynlisttrue + \or% graduated + \@dynlistfalse + \or% leveldown + \doforeachtocfile[float]{% + \setuptoc{\@currext}{leveldown}% + }% + \AtAddToTocList[float]{% + \setuptoc{\@currext}{leveldown}% + }% + \or% entryprefix + \@dynlisttrue + \doforeachtocfile[float]{% + \BeforeStartingTOC[\@currext]{% + \scr@ifundefinedorrelax{listof\@currext entryname}{}{% + \expandafter\def\expandafter\numberline@prefix + \expandafter{\csname listof\@currext entryname\endcsname + \nobreakspace}% + }% }% }% - }% - \AtAddToTocList[float]{% - \BeforeStartingTOC[\@currext]{% - \scr@ifundefinedorrelax{listof\@currext entryname}{}{% - \expandafter\def\expandafter\numberline@prefix - \expandafter{\csname listof\@currext entryname\endcsname - \nobreakspace}% + \AtAddToTocList[float]{% + \BeforeStartingTOC[\@currext]{% + \scr@ifundefinedorrelax{listof\@currext entryname}{}{% + \expandafter\def\expandafter\numberline@prefix + \expandafter{\csname listof\@currext entryname\endcsname + \nobreakspace}% + }% }% }% - }% + \or% numberline + \doforeachtocfile[float]{% + \setuptoc{\@currext}{numberline}% + }% + \AtAddToTocList[float]{% + \setuptoc{\@currext}{numberline}% + } + \or% nonumberline + \doforeachtocfile[float]{% + \unsettoc{\@currext}{numberline}% + }% + \AtAddToTocList[float]{% + \unsettoc{\@currext}{numberline}% + } %<*book|report> - \or% chapterentry - \KOMA@options{chapteratlists=entry}{}% - \or% chaptergap - \KOMA@options{chapteratlists=\z@}{}% - \or% chaptergapsmall - \KOMA@options{chapteratlists=10\p@}{}% - \or% chaptergapline - \KOMA@options{chapteratlists=\baselineskip}{}% + \or% chapterentry + \KOMAExecuteOptions{chapteratlists=entry}% + \or% chaptergap + \KOMAExecuteOptions{chapteratlists=\z@}% + \or% chaptergapsmall + \KOMAExecuteOptions{chapteratlists=10\p@}% + \or% chaptergapline + \KOMAExecuteOptions{chapteratlists=\baselineskip}% %</book|report> + \fi \fi } % \end{macrocode} @@ -404,12 +453,14 @@ % \end{option} % % \begin{option}{chapteratlists} -% \changes{v2.96a}{2006/12/03}{neue Option} -% \changes{v2.98c}{2008/03/05}{nicht mehr bei \textsf{scrartcl}} +% \changes{v2.96a}{2006/12/03}{neue Option}%^^A +% \changes{v2.98c}{2008/03/05}{nicht mehr bei \textsf{scrartcl}}%^^A % \begin{macro}{\if@chaptertolists} -% \changes{v2.96a}{2006/12/03}{neuer Schalter} +% \changes{v2.96a}{2006/12/03}{neuer Schalter}%^^A +% \changes{v3.12}{2013/09/24}{Verzeichnisse werden nicht in Verzeichnisse +% eingetragen}%^^A % \begin{macro}{\@chapterlistsgap} -% \changes{v2.96a}{2006/12/03}{neues Macro (intern)} +% \changes{v2.96a}{2006/12/03}{neues Macro (intern)}%^^A % Option, um einzugstellen, ob Kapitel in den Verzeichnissen der % Gleitumgebungen Spuren hinterlassen. Man kann wahlweise Lücken einstellen % (Voreinstellung mit 10\,pt) oder die Kapitelüberschrift eintragen lassen. @@ -427,6 +478,7 @@ \@chaptertolistsfalse\renewcommand*{\@chapterlistsgap}{#1}% }% } +\BeforeTOCHead{\@chaptertolistsfalse} %</book|report> % \end{macrocode} % \end{macro} @@ -444,7 +496,7 @@ % verwendet. Diese sind hier zu finden. % % \changes{v3.06}{2010/06/02}{einschalten des \texttt{tocbasic}-Features -% \texttt{chapteratlist} in die Datei \texttt{scrkliof.dtx} verschoben} +% \texttt{chapteratlist} in die Datei \texttt{scrkernel-listsof.dtx} verschoben} % Bei Büchern wird für jedes Verzeichnis des Besitzers \texttt{float} das % Feature \texttt{chapteratlist} gesetzt. Das gilt auch für solche % Verzeichnisse, die noch gar nicht definiert sind. @@ -459,16 +511,20 @@ %</book|report> % \end{macrocode} % \begin{macro}{\numberline} -% \changes{v2.3c}{1995/08/06}{\cs{numberline} umdefiniert} +% \changes{v2.3c}{1995/08/06}{\cs{numberline} umdefiniert}^^A % \changes{v3.06}{2010/05/18}{Verwendung von \cs{numberline@prefix} und -% \cs{numberline@postfix}} +% \cs{numberline@postfix}}^^A +% \changes{v3.12}{2013/11/22}{use \cs{numberline@numberformat} only, if the +% argument expands to a non-empty string}^^A % Dieses Makro wird indirekt im Inhaltsverzeichnis verwendet und muss % umdefiniert werden, um Duden, 20.~Auflage, Regel~5 und Regel~6 zu % implementieren. % \begin{macrocode} \renewcommand*{\numberline}[1]{% \numberline@box{% - \numberline@prefix\numberline@numberformat{#1}\numberline@postfix + \numberline@prefix + \ifstr{#1}{}{#1}{\numberline@numberformat{#1}}% + \numberline@postfix }% } % \end{macrocode} @@ -489,11 +545,13 @@ % \end{macrocode} % \end{macro} % \begin{macro}{\numberline@numberformat} -% \changes{v3.06}{2010/05/18}{neu (intern)} +% \changes{v3.06}{2010/05/18}{neu (intern)}^^A +% \changes{v3.12}{2013/11/22}{don't output anything, if argument expands to +% an empty string}^^A % Das dient in der Voreinstellung dazu, Regel~5 und 6 aus der 20.~Auflage des % DUDENs umzusetzen. % \begin{macrocode} -\newcommand*{\numberline@numberformat}[1]{#1\autodot} +\newcommand*{\numberline@numberformat}[1]{\ifstr{#1}{}{}{#1\autodot}} % \end{macrocode} % \end{macro} % \begin{macro}{\numberline@box} @@ -706,6 +764,8 @@ % % \begin{macro}{\addtocentrydefault} % \changes{v3.08}{2010/11/01}{Neu} +% \changes{v3.12}{2013/09/24}{Verwendung der neuen +% \texttt{tocbasic}-Anweisung \cs{tocbasic@addxcontentsline}} % Seit Version~3.08 werden Einträge ins Inhaltsverzeichnis in der % Voreinstellung über diese Anweisung vorgenommen. Das erste Argument ist % dabei die Gliederungsebene. Das zweite Argument ist die (formatierte) @@ -714,11 +774,7 @@ % Inhaltsverzeichnis soll. % \begin{macrocode} \newcommand{\addtocentrydefault}[3]{% - \ifstr{#2}{}{% - \addcontentsline{toc}{#1}{#3}% - }{% - \addcontentsline{toc}{#1}{\protect\numberline{#2}#3}% - }% + \tocbasic@addxcontentsline{toc}{#1}{#2}{#3}% } % \end{macrocode} % \end{macro} @@ -767,33 +823,48 @@ % \end{macrocode} % \begin{macro}{\scr@float@listhead@warning} % \changes{v3.01}{2008/11/13}{Neu (intern)} +% \changes{v3.12}{2013/09/25}{Text geändert} % Die Warnung für die Verwendung von \cs{float@listhead}, dessen Definition % irgendwann aus den Klassen verschwinden wird. % \begin{macrocode} \newcommand*{\scr@float@listhead@warning}{% \ClassWarning{\KOMAClassName}{% - Usage of deprecated \string\float@listhead!\MessageBreak - You should use the features of package `tocbasic'\MessageBreak - instead of \string\float@listhead.\MessageBreak - Definition of \string\float@listhead\space my be removed from\MessageBreak - `\KOMAClassName' soon, so it should not be used + \string\float@listhead\space detected!\MessageBreak + Implementation of \string\float@listhead\space became\MessageBreak + deprecated in KOMA-Script v3.01 2008/11/14 and\MessageBreak + has been replaced by more several more flexible\MessageBreak + features of package `tocbasic`.\MessageBreak + Maybe implementation of \string\float@listhead\space will\MessageBreak + be removed from KOMA-Script soon.\MessageBreak + Loading of package `scrhack' may help to\MessageBreak + avoid this warning, if you are using a\MessageBreak + a package that still implements the\MessageBreak + deprecated \string\float@listhead\space interface }% } % \end{macrocode} % \end{macro} % \begin{macro}{\scr@float@addtolists@warning} % \changes{v3.01}{2008/11/13}{Neu (intern)} -% Die Warning für die Verwendung von \cs{float@addtolists}, dessen +% \changes{v3.12}{2013/09/25}{Text geändert} +% Die Warnung für die Verwendung von \cs{float@addtolists}, dessen % Unterstützung irgendwann aus den Klassen verschwinden wird. % \begin{macrocode} \newcommand*{\scr@float@addtolists@warning}{% \ClassWarningNoLine{\KOMAClassName}{% \string\float@addtolists\space detected!\MessageBreak - You should use the features of package `tocbasic'\MessageBreak - instead of \string\float@addtolists.\MessageBreak - Support for \string\float@addtolists\space may be removed - from\MessageBreak - `\KOMAClassName' soon + Implementation of \string\float@addtolist\space became\MessageBreak + deprecated in KOMA-Script v3.01 2008/11/14 and\MessageBreak + has been replaced by more several more flexible\MessageBreak + features of package `tocbasic`.\MessageBreak + Since Version 3.12 support for deprecated\MessageBreak + \string\float@addtolist\space interface has been\MessageBreak + restricted to only some of the KOMA-Script\MessageBreak + features and been removed from others.\MessageBreak + Loading of package `scrhack' may help to\MessageBreak + avoid this warning, if you are using a\MessageBreak + a package that still implements the\MessageBreak + deprecated \string\float@addtolist\space interface }% \global\let\scr@float@addtolists@warning\relax } @@ -883,7 +954,7 @@ % \endinput % -% end of file `scrkliof.dtx' +% end of file `scrkernel-listsof.dtx' %%% Local Variables: %%% mode: doctex %%% TeX-master: t diff --git a/Master/texmf-dist/source/latex/koma-script/scrkmisc.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-miscellaneous.dtx index 342d5dfb371..3a3ff52eb79 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkmisc.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-miscellaneous.dtx @@ -1,8 +1,8 @@ -% \CheckSum{192} +% \CheckSum{223} % \iffalse meta-comment % ====================================================================== -% scrkmisc.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% scrkernel-miscellaneous.dtx +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -19,8 +19,8 @@ % % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- -% scrkmisc.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% scrkernel-miscellaneous.dtx +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -55,17 +55,18 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scrkmisc.dtx +%%% From File: $Id: scrkernel-miscellaneous.dtx 1529 2013-12-03 07:36:57Z mjk $ %<*driver> % \fi -\ProvidesFile{scrkmisc.dtx}[2011/09/05 v3.10 KOMA-Script (misc)] +\ProvidesFile{scrkernel-miscellaneous.dtx}[2013/12/08 v3.12 KOMA-Script + (miscellaneous, maybe everything or nothing)] % \iffalse \documentclass[halfparskip-]{scrdoc} \usepackage[english,ngerman]{babel} \usepackage[latin1]{inputenc} \CodelineIndex \RecordChanges -\GetFileInfo{scrkmisc.dtx} +\GetFileInfo{scrkernel-miscellaneous.dtx} \title{\KOMAScript{} \partname\ \texttt{\filename}% \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} @@ -147,16 +148,20 @@ % \changes{v3.01a}{2008/11/21}{standard statt obsolet} % \changes{v3.02c}{2008/02/17}{optionales Argument im Fall von % \textsf{scrextend} gesetzt} +% \changes{v3.12}{2013/03/05}{Nutzung der Status-Signalisierung mit +% \cs{FamilyKeyStateProcessed}}% % Der einzige Unterschied zwischen Entwürfen und Endversionen ist aus % Sicht der Klassen, ob Zeilenüberhänge mit einem schwarzen Balken % angezeigt werden sollen oder nicht. % \begin{macrocode} \KOMA@key{draft}[true]{% \KOMA@set@ifkey{draft}{@tempswa}{#1}% - \if@tempswa - \setlength{\overfullrule}{5pt}% - \else - \setlength{\overfullrule}{\z@}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \if@tempswa + \setlength{\overfullrule}{5pt}% + \else + \setlength{\overfullrule}{\z@}% + \fi \fi } \KOMA@DeclareStandardOption @@ -214,11 +219,13 @@ % Voreinstellungen rausgenommen} % \changes{v2.98c}{2008/03/10}{Option \texttt{headings!=big} zu den % Voreinstellungen hinzugefügt} +% \changes{v3.11c}{2013/03/04}{Option \texttt{headings!=big} nicht für die +% Briefklasse} % \begin{macrocode} %<*!extend> \KOMAExecuteOptions{% parskip=false,% - headings=big% +%<!letter> headings=big% } %</!extend> \KOMAProcessOptions\relax @@ -506,9 +513,9 @@ % % \subsection{Definitionen für tiefer gestellten Text} % -% \begin{macro}{textsubscript} +% \begin{macro}{\textsubscript} % \changes{v2.8h}{2001/07/19}{neu}% -% \begin{macro}{@textsubscript} +% \begin{macro}{\@textsubscript} % \changes{v2.8h}{2001/07/19}{neu (intern)}% % \changes{v3.10}{2011/09/05}{\cs{providecommand} statt \cs{newcommand}, % damit das auch noch funktioniert, wenn \textsf{scrextend} nach @@ -530,6 +537,52 @@ % \end{macro} % % +% +% \subsection{Warnung vor Paketen} +% \label{sec:packagewarning} +% +% \changes{v3.12}{2013/07/08}{neue Warnungen vor bestimmten Paketen} +% \begin{macro}{\scr@package@not@recommended} +% \changes{v3.12}{2013/07/08}{neu (intern)} +% Beim Laden verschiedener Pakete wird nun eine Warnung ausgegeben. In der +% Regel mit einer Alternativempfehlung. +% \begin{macrocode} +%<*class> +\newcommand*{\scr@package@not@recommended}[2]{% + \BeforePackage{#1}{% + \ClassWarning{\KOMAClassName}{% + Usage of package `#1' together\MessageBreak + with a KOMA-Script class is not recommended.\MessageBreak + \if\relax\detokenize{#2}\relax\else + I'd suggest to use #2.\MessageBreak + \fi + Nevertheless, using requested\MessageBreak + package `#1'% + }% + }% +} +\scr@package@not@recommended{emptypage}{% + option\MessageBreak + `cleardoublepage' with one of it's\MessageBreak + several values} +\scr@package@not@recommended{parskip}{% + option\MessageBreak + `parskip' with one of it's several values} +\scr@package@not@recommended{fancyhdr}{% + \MessageBreak + package `scrpage2' or `scrlayer-scrpage'} +\scr@package@not@recommended{titlesec}{% + the package only\MessageBreak + if you really need it, because it breaks several\MessageBreak + KOMA-Script features, i.e., option `headings' and\MessageBreak + the extended optional argument of the section\MessageBreak + commands +} +%</class> +% \end{macrocode} +% \end{macro}^^A \scr@package@not@recommended +% +% % \iffalse %</body> % \fi @@ -538,7 +591,7 @@ % \endinput % -% end of file `scrkmisc.dtx' +% end of file `scrkernel-miscellaneous.dtx' %%% Local Variables: %%% mode: doctex %%% TeX-master: t diff --git a/Master/texmf-dist/source/latex/koma-script/scrknpap.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-notepaper.dtx index d9b1664f251..a6e52722c9b 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrknpap.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-notepaper.dtx @@ -1,8 +1,8 @@ -% \CheckSum{2990} +% \CheckSum{3156} % \iffalse meta-comment % ====================================================================== -% scrknpap.dtx -% Copyright (c) Markus Kohm, 2006-2012 +% scrkernel-notepaper.dtx +% Copyright (c) Markus Kohm, 2006-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -19,8 +19,8 @@ % % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- -% scrknpap.dtx -% Copyright (c) Markus Kohm, 2006-2012 +% scrkernel-notepaper.dtx +% Copyright (c) Markus Kohm, 2006-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -55,17 +55,18 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scrknpap.dtx +%%% From File: $Id: scrkernel-notepaper.dtx 1380 2013-10-01 15:31:55Z mjk $ %<*driver> % \fi -\ProvidesFile{scrknpap.dtx}[2011/01/25 v3.08 KOMA-Script (note-paper)] +\ProvidesFile{scrkernel-notepaper.dtx}[2013/07/31 v3.12 KOMA-Script + (note-paper)] % \iffalse \documentclass{scrdoc} \usepackage[english,ngerman]{babel} \usepackage[latin1]{inputenc} \CodelineIndex \RecordChanges -\GetFileInfo{scrknpap.dtx} +\GetFileInfo{scrkernel-notepaper.dtx} \title{\KOMAScript{} \partname\ \texttt{\filename}% \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} \date{\filedate} @@ -131,6 +132,8 @@ % % \begin{option}{fromalign} % \changes{v2.8q}{2002/01/25}{Neu} +% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit +% \cs{FamilyKeyState}} % Diese Option legt fest, ob der Absender linksbündig, mittig oder % rechtsbündig gesetzt werden soll. % \begin{macro}{\@alignfrom} @@ -162,7 +165,9 @@ {locationright}{4},{rightlocation}{4},{location}{4},% {no}{10000},{false}{10000},{off}{10000}% }{#1}% - \ifcase\@alignfrom\or\or\or\@firstheadfalse\or\@firstheadfalse\fi + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase\@alignfrom\or\or\or\@firstheadfalse\or\@firstheadfalse\fi + \fi } % \end{macrocode} % \end{macro} @@ -215,6 +220,26 @@ % \end{macro} % \end{option} % +% \begin{option}{frommobilephone} +% \changes{v3.12}{2013/05/29}{Neu} +% Ob die Handynummer im Absender gesetzt werden soll oder nicht, +% kann hier angegeben werden. +% \begin{macro}{\if@mobilephone} +% \changes{v3.12}{2013/05/29}{Neu} +% \begin{macro}{\@mobilephonetrue} +% \changes{v3.12}{2013/05/29}{Neu} +% \begin{macro}{\@mobilephonefalse} +% \changes{v3.12}{2013/05/29}{Neu} +% Gespeichert wird die Information in einem einfachen Schalter. +% Voreingestellt ist keine Handynummer im Absender. +% \begin{macrocode} +\KOMA@ifkey{frommobilephone}{@mobilephone} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{option} +% % \begin{option}{fromfax} % \changes{v2.8q}{2002/01/25}{Neu} % Ob die Faxnummer im Absender gesetzt werden soll oder nicht, @@ -389,6 +414,8 @@ % % \begin{option}{backaddress} % \changes{v2.8q}{2002/01/22}{Neu} +% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit +% \cs{FamilyKeyState}} % Im Adressfeld kann die Rücksendeadresse gesetzt werden. Dies geschieht nun % nicht mehr allein durch Definition einer Rücksendeadresse, sondern auch % durch eine Option. @@ -416,23 +443,29 @@ {underlined}{2},% {plain}{3}% }{#1}% - \ifcase\@tempa - \endgroup - \@baddrfalse - \or - \endgroup - \@baddrtrue - \or - \endgroup - \@baddrtrue - \let\backaddr@format\underline - \or - \endgroup - \@baddrtrue - \let\backaddr@format\@firstofone - \else + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \aftergroup\FamilyKeyStateProcessed + \ifcase\@tempa + \endgroup + \@baddrfalse + \or + \endgroup + \@baddrtrue + \or + \endgroup + \@baddrtrue + \let\backaddr@format\underline + \or + \endgroup + \@baddrtrue + \let\backaddr@format\@firstofone + \else + \endgroup + \fi + \else \endgroup - \fi + \FamilyKeyStateUnknownValue + \fi } % \end{macrocode} % \end{macro} @@ -443,6 +476,8 @@ % \begin{option}{locfield} % \changes{v2.8q}{2001/10/09}{Neu} % \changes{v2.97c}{2007/03/30}{vertauschte Bedeutung korrigiert} +% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit +% \cs{FamilyKeyState}} % Mit Hilfe der Optione \texttt{locfield} kann der Platz neben dem Adressfeld % groß oder klein gewählt werden. % \begin{macro}{\if@bigloc} @@ -459,13 +494,18 @@ \KOMA@key{locfield}[wide]{% \begingroup \KOMA@set@ncmdkey{locfield}{@tempa}{{wide}{0},{narrow}{1}}{#1}% - \ifcase\@tempa - \endgroup - \@bigloctrue + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase\@tempa + \endgroup + \@bigloctrue + \else + \endgroup + \@biglocfalse + \fi \else \endgroup - \@biglocfalse - \fi + \FamilyKeyStateUnknownValue + \fi } % \end{macrocode} % \begin{option}{wlocfield} @@ -487,6 +527,8 @@ % \changes{v2.8q}{2001/09/10}{Neu} % \changes{v3.00}{2008/06/06}{es muss \cs{FamilyUnkownKeyVal} statt % \cs{KOMA@unkown@keyval} lokal umdefiniert werden} +% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit +% \cs{FamilyKeyState}} % Die Faltmarken können mit \texttt{foldmarks} aktiviert und deaktiviert % werden. % \begin{macro}{\if@fold} @@ -504,48 +546,35 @@ \newcommand*{\@usefolds}{TMBPL} \KOMA@key{foldmarks}[true]{% \begingroup - \def\FamilyUnknownKeyValue##1##2##3##4{% - \def\sc@nf@ldch@rs####1{% - \ifx ####1\@nil\else - \if ####1T\g@addto@macro\@usefolds{####1}\else - \if ####1M\g@addto@macro\@usefolds{####1}\else - \if ####1B\g@addto@macro\@usefolds{####1}\else - \if ####1P\g@addto@macro\@usefolds{####1}\else - \if ####1L\g@addto@macro\@usefolds{####1}\else - \if ####1V\g@addto@macro\@usefolds{L}\else - \if ####1H\g@addto@macro\@usefolds{TMBP}\else - \if ####1t\scr@removechar\@usefolds{T}\else - \if ####1m\scr@removechar\@usefolds{M}\else - \if ####1b\scr@removechar\@usefolds{B}\else - \if ####1p\scr@removechar\@usefolds{P}\else - \if ####1l\scr@removechar\@usefolds{L}\else - \if ####1v% + \KOMA@set@ifkey\@empty{@fold}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \if@fold\aftergroup\@foldtrue\else\aftergroup\@foldfalse\fi + \aftergroup\FamilyKeyStateProcessed + \else + \aftergroup\FamilyKeyStateProcessed + \def\sc@nf@ldch@rs##1{% + \ifx ##1\@nil\else + \if ##1T\g@addto@macro\@usefolds{##1}\else + \if ##1M\g@addto@macro\@usefolds{##1}\else + \if ##1B\g@addto@macro\@usefolds{##1}\else + \if ##1P\g@addto@macro\@usefolds{##1}\else + \if ##1L\g@addto@macro\@usefolds{##1}\else + \if ##1V\g@addto@macro\@usefolds{L}\else + \if ##1H\g@addto@macro\@usefolds{TMBP}\else + \if ##1t\scr@removechar\@usefolds{T}\else + \if ##1m\scr@removechar\@usefolds{M}\else + \if ##1b\scr@removechar\@usefolds{B}\else + \if ##1p\scr@removechar\@usefolds{P}\else + \if ##1l\scr@removechar\@usefolds{L}\else + \if ##1v% \scr@removechar\@usefolds{L}% \else - \if ####1h% + \if ##1h% \scr@removechar\@usefolds{T}% \scr@removechar\@usefolds{M}% \scr@removechar\@usefolds{B}% \else - \ClassError{\KOMAClassName}{% - unknown fold mark switch `####1'}{% - You should use option `foldmarks' - either with one of\MessageBreak - \@spaces `true', `on', or `yes' to - switch fold marks on,\MessageBreak - \@spaces `false', `off', or `no' to - switch fold marks off,\MessageBreak - or a combination of\MessageBreak - \@spaces `T', `M', `B', 'P', 'L', `V', - `H' to select dedicated fold - marks\MessageBreak - or\MessageBreak - \@spaces `t', `m', 'b', 'p', 'l', 'v', - 'h' to deselect dedicated fold - marks.\MessageBreak - See the KOMA-Script manual for more - information. - }% + \aftergroup\FamilyKeyStateUnknownValue \fi \fi \fi @@ -564,9 +593,7 @@ \fi }% \expandafter\sc@nf@ldch@rs#1\@nil - }% - \KOMA@set@ifkey\@empty{@fold}{#1}% - \if@fold\aftergroup\@foldtrue\else\aftergroup\@foldfalse\fi + \fi \endgroup } % \end{macrocode} @@ -595,6 +622,8 @@ % \begin{option}{refline} % \changes{v2.8n}{2001/09/08}{Neue Option} % \changes{v2.96a}{2006/12/07}{vertauschte Bedeutung korrigiert} +% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit +% \cs{FamilyKeyState}} % Kopf und Fuß der ersten Seite sind normalweise so breit, dass sie % zur Adresse des Empfängers passen. Für die Geschäftszeile gibt es % zwei Alternativen, eine breite und eine, deren Breite der Textbreite @@ -617,26 +646,32 @@ \KOMA@key{refline}[wide]{% \begingroup \KOMA@set@ncmdkey{refline}{@tempa}{{wide}{0},{narrow}{1},% - {dateleft}{2},{leftdate}{2},% - {dateright}{3},{rightdate}{3},% - {nodate}{4}% - }{#1}% - \ifcase\@tempa - \endgroup - \@refwidetrue - \or - \endgroup - \@refwidefalse - \or - \endgroup - \def\@datepos{2}% - \or - \endgroup - \def\@datepos{1}% - \or + {dateleft}{2},{leftdate}{2},% + {dateright}{3},{rightdate}{3},% + {nodate}{4}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \aftergroup\FamilyKeyStateProcessed + \ifcase\@tempa + \endgroup + \@refwidetrue + \or + \endgroup + \@refwidefalse + \or + \endgroup + \def\@datepos{2}% + \or + \endgroup + \def\@datepos{1}% + \or + \endgroup + \def\@datepos{0}% + \fi + \else \endgroup - \def\@datepos{0}% - \fi + \FamilyKeyStateUnknownValue + \fi } % \end{macrocode} % \end{macro} @@ -650,6 +685,8 @@ % % \begin{option}{subject} % \changes{v2.8q}{2001/10/09}{Neu} +% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit +% \cs{FamilyKeyState}} % Ein Betreff-Titel kann mit \texttt{subject} ein- und abgeschaltet % werden. In England und Frankreich scheint es teilweise üblich zu % sein, den Betreff erst nach der Anrede und dafür zentriert zu @@ -692,22 +729,27 @@ {right}{6},% {centered}{7}% }{#1}% - \ifcase\@tempa - \aftergroup\@subjtrue - \or - \aftergroup\@subjfalse - \or - \aftergroup\@subjaftertrue - \or - \aftergroup\@subjafterfalse - \or - \aftergroup\let\aftergroup\subject@format\aftergroup\underline - \or - \aftergroup\let\aftergroup\raggedsubject\aftergroup\raggedright - \or - \aftergroup\let\aftergroup\raggedsubject\aftergroup\raggedleft - \or - \aftergroup\let\aftergroup\raggedsubject\aftergroup\centering + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \aftergroup\FamilyKeyStateProcessed + \ifcase\@tempa + \aftergroup\@subjtrue + \or + \aftergroup\@subjfalse + \or + \aftergroup\@subjaftertrue + \or + \aftergroup\@subjafterfalse + \or + \aftergroup\let\aftergroup\subject@format\aftergroup\underline + \or + \aftergroup\let\aftergroup\raggedsubject\aftergroup\raggedright + \or + \aftergroup\let\aftergroup\raggedsubject\aftergroup\raggedleft + \or + \aftergroup\let\aftergroup\raggedsubject\aftergroup\centering + \fi + \else + \aftergroup\FamilyKeyStateUnknownValue \fi \endgroup } @@ -768,6 +810,8 @@ % % \begin{option}{pagenumber} % \changes{v2.8q}{2002/01/31}{Neu} +% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit +% \cs{FamilyKeyState}} % Bei Briefen kann gewählt werden, ob auf Folgeseiten die Seitenzahl % im Kopf oder im Fuß stehen soll. Dabei kann zwischen Seitenzahl % rechts, links oder zentriert gewählt werden. Voreingestellt ist der @@ -803,29 +847,34 @@ {top}{10},{head}{10},{bot}{11},{foot}{11},% {left}{20},{middle}{21},{center}{21},{centered}{21},{right}{22}% }{#1}% - \ifnum\@tempa<10 - \edef\@tempa{\endgroup\edef\noexpand\@pageat{\@tempa}}% - \else - \ifnum\@tempa<20 - \@tempcnta\@pageat\relax - \ifnum\@tempcnta>2 - \advance\@tempcnta by -3 - \fi - \ifnum\@tempa=11 - \advance\@tempcnta by 3 - \fi - \edef\@tempa{\endgroup\edef\noexpand\@pageat{\the\@tempcnta}}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \aftergroup\FamilyKeyStateProcessed + \ifnum\@tempa<10 + \edef\@tempa{\endgroup\edef\noexpand\@pageat{\@tempa}}% \else - \ifnum\@pageat>2 - \edef\@pageat{3}% + \ifnum\@tempa<20 + \@tempcnta\@pageat\relax + \ifnum\@tempcnta>2 + \advance\@tempcnta by -3 + \fi + \ifnum\@tempa=11 + \advance\@tempcnta by 3 + \fi + \edef\@tempa{\endgroup\edef\noexpand\@pageat{\the\@tempcnta}}% \else - \edef\@pageat{0}% + \ifnum\@pageat>2 + \edef\@pageat{3}% + \else + \edef\@pageat{0}% + \fi + \@tempcnta\@tempa + \advance\@tempcnta by -20 + \advance\@tempcnta by\@pageat + \edef\@tempa{\endgroup\edef\noexpand\@pageat{\the\@tempcnta}}% \fi - \@tempcnta\@tempa - \advance\@tempcnta by -20 - \advance\@tempcnta by\@pageat - \edef\@tempa{\endgroup\edef\noexpand\@pageat{\the\@tempcnta}}% \fi + \else + \def\@tempa{\endgroup\FamilyKeyStateUnknownValue}% \fi \@tempa } @@ -959,11 +1008,16 @@ % optionalen Felder gesetzt. Dabei werden optionale Felder nur % gesetzt, wenn der entsprechende Schalter \emph{true} ist. Die % Adresse wird ebenfalls innerhalb einer Gruppe in einer eigenen -% Schriftart gesetzt. +% Schriftart gesetzt.% +% \changes{v3.12}{2013/05/29}{Variable \texttt{frommobilephone} wird +% berücksichtigt}% % \begin{macrocode} {\usekomafont{fromaddress}\strut\ignorespaces \usekomavar{fromaddress}% \if@phone\\\usekomavar*{fromphone}\usekomavar{fromphone}\fi% + \if@mobilephone + \\\usekomavar*{frommobilephone}\usekomavar{frommobilephone}% + \fi% \if@fax\\\usekomavar*{fromfax}\usekomavar{fromfax}\fi% \if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi% \if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi% @@ -1000,7 +1054,9 @@ % Es geht weiter mit dem zentrierten Absender. Dieser hat als % Besonderheit, dass das Logo nicht in den Briefkopf, sondern in den % Bereich rechts neben dem Empfänger gesetzt wird. Dort ist bereits -% das location-Feld, daher wird dieser Fall auch dort behandelt. +% das location-Feld, daher wird dieser Fall auch dort behandelt.% +% \changes{v3.12}{2013/05/29}{Variable \texttt{frommobilephone} wird +% berücksichtigt}% % \begin{macrocode} \or \setkomavar{firsthead}{% @@ -1023,6 +1079,9 @@ {\usekomafont{fromaddress}\strut\ignorespaces \usekomavar{fromaddress}% \if@phone\\\usekomavar*{fromphone}\usekomavar{fromphone}\fi% + \if@mobilephone + \\\usekomavar*{frommobilephone}\usekomavar{frommobilephone}% + \fi% \if@fax\\\usekomavar*{fromfax}\usekomavar{fromfax}\fi% \if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi% \if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi% @@ -1043,7 +1102,9 @@ % \end{macrocode} % Damit ist die Definition des zentrierten Absenders abgeschlossen. Es % geht weiter mit dem rechtsbündigen Absender. Das ganze wird einfach -% beim linksbündigen Absender abgeschaut. +% beim linksbündigen Absender abgeschaut.% +% \changes{v3.12}{2013/05/29}{Variable \texttt{frommobilephone} wird +% berücksichtigt}% % \begin{macrocode} \or \setkomavar{firsthead}{% @@ -1073,6 +1134,9 @@ {\usekomafont{fromaddress}\strut\ignorespaces \usekomavar{fromaddress}% \if@phone\\\usekomavar*{fromphone}\usekomavar{fromphone}\fi% + \if@mobilephone + \\\usekomavar*{frommobilephone}\usekomavar{frommobilephone}% + \fi% \if@fax\\\usekomavar*{fromfax}\usekomavar{fromfax}\fi% \if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi% \if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi% @@ -1248,6 +1312,15 @@ % \end{macrocode} % \end{KOMAfont} % +% \begin{KOMAfont}{placeanddate} +% \changes{v3.12}{2013/07/31}{Neues Font-Element} +% Wird an Stelle einer Geschäftszeile nur Ort und Datum gesetzt, so findet +% dieses Element Anwendung. +% \begin{macrocode} +\newkomafont{placeanddate}{} +% \end{macrocode} +% \end{KOMAfont} +% % \begin{KOMAfont}{title} % \changes{v2.95}{2006/03/23}{jetzt mit \cs{newkomafont}} % Der Brieftitel. @@ -2412,11 +2485,16 @@ % optionalen Felder gesetzt. Dabei werden optionale Felder nur % gesetzt, wenn der entsprechende Schalter \emph{true} ist. Die % Adresse wird ebenfalls innerhalb einer Gruppe in einer eigenen -% Schriftart gesetzt. +% Schriftart gesetzt.% +% \changes{v3.12}{2013/05/29}{Variable \texttt{frommobilephone} wird +% berücksichtigt}% % \begin{macrocode} {\usekomafont{fromaddress}\strut\ignorespaces \usekomavar{fromaddress}% \if@phone\\\usekomavar*{fromphone}\usekomavar{fromphone}\fi% + \if@mobilephone + \\\usekomavar*{frommobilephone}\usekomavar{frommobilephone}% + \fi% \if@fax\\\usekomavar*{fromfax}\usekomavar{fromfax}\fi% \if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi% \if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi% @@ -2439,7 +2517,9 @@ % Damit ist die Definition des linksbündigen Absenders in der % Absenderergänzung abgeschlossen. % Im Fall 4, also rechtsbündiger Absender in der Absenderergänzung wird hier -% exakt wie für Fall 3 verfahren. Nur ist jetzt alles rechtsbündig. +% exakt wie für Fall 3 verfahren. Nur ist jetzt alles rechtsbündig.% +% \changes{v3.12}{2013/05/29}{Variable \texttt{frommobilephone} wird +% berücksichtigt}% % \begin{macrocode} \or \raggedleft @@ -2465,6 +2545,9 @@ {\usekomafont{fromaddress}\strut\ignorespaces \usekomavar{fromaddress}% \if@phone\\\usekomavar*{fromphone}\usekomavar{fromphone}\fi% + \if@mobilephone% + \\\usekomavar*{frommobilephone}\usekomavar{frommobilephone}% + \fi% \if@fax\\\usekomavar*{fromfax}\usekomavar{fromfax}\fi% \if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi% \if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi% @@ -2710,11 +2793,17 @@ \string\normalsize!}% \fi \else +% \end{macrocode} +% Hier landen wir schließlich, wenn gar keine Felder ausgegeben wurden, also +% nur Ort und Datum zu setzen sind. +% \changes{v3.12}{2013/07/31}{neues Element \texttt{placeanddate} wird +% verwendet} +% \begin{macrocode} \ifcase \@datepos\else \ifnum \@datepos=1 \enskip\hfill\fi - \ifkomavarempty{place}{}{% - \usekomavar{place}\usekomavar{placeseparator}}% - \usekomavar{date}% + {\usekomafont{placeanddate}{\ifkomavarempty{place}{}{% + \usekomavar{place}\usekomavar{placeseparator}}% + \usekomavar{date}}}% \fi \fi }% @@ -3328,6 +3417,69 @@ % \end{KOMAvar} % \end{KOMAvar} % +% \begin{option}{symbolicnames} +% \changes{v3.12}{2013/05/2013}{neue Option} +% \begin{macro}{\if@scrsymbols} +% \changes{v3.12}{2013/05/2013}{neu (intern)} +% \begin{macro}{\@scrsymbolstrue} +% \changes{v3.12}{2013/05/2013}{neu (intern)} +% \begin{macro}{\@scrsymbolsfalse} +% \changes{v3.12}{2013/05/2013}{neu (intern)} +% Über diese Option kann eingestellt werden, dass an Stelle von +% sprachabhängigen Bezeichnern für einige Variablen Symbole verwendet +% werden. Daztu wird das Paket \textsf{macrosym} benötigt. +% \begin{macrocode} +%</letter> +%</body> +%<*option&letter> +\newif\if@scrsymbols +\KOMA@key{symbolicnames}[true]{% + \KOMA@set@ifkey{symbolicnames}{@scrsymbols}{#1}% + \if@scrsymbols + \if@atdocument + \begingroup + \@tempswafalse + \scr@ifundefinedorrelax{Telefon}{\@tempswatrue}{% + \scr@ifundefinedorrelax{FAX}{\@tempswatrue}{% + \scr@ifundefinedorrelax{Email}{\@tempswatrue}{% + \scr@ifundefinedorrelax{Mobilefone}{\@tempswatrue}{% + }% + }% + }% + }% + \if@tempswa + \aftergroup\@scrsymbolsfalse + \ClassWarning{scrlttr2}{Option `symbolicnames' + ignorred.\MessageBreak + You've tried to set option `symbolicnames'\MessageBreak + after \string\begin{document}, but without\MessageBreak + loading package `marvosym' before.\MessageBreak + You should either switch on option\MessageBreak + `symbolicnames' before \string\begin{document}\MessageBreak + or load package `marvosym' in the document\MessageBreak + preamble to avoid this warning% + }% + \fi + \endgroup + \else + \ifstr{\@currname.\@currext}{scrlttr2.cls}{% + \expandafter\AtEndOfClass + }{% + \expandafter\@firstofone + }% + {\RequirePackage{marvosym}}% + \fi + \fi +} +%</option&letter> +%<*body> +%<*letter> +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{option} +% % \begin{KOMAvar}{placeseparator} % \changes{v2.8q}{2002/01/16}{Neu} % \begin{KOMAvar}{subjectseparator} @@ -3340,12 +3492,18 @@ % \changes{v2.8q}{2002/01/22}{Neu} % \begin{KOMAvar}{phoneseparator} % \changes{v2.8q}{2002/03/25}{Neu} +% \changes{v3.12}{2013/05/29}{Option \texttt{symbolicnames} wird beachtet} % \begin{KOMAvar}{faxseparator} % \changes{v2.8q}{2002/03/25}{Neu} +% \changes{v3.12}{2013/05/29}{Option \texttt{symbolicnames} wird beachtet} % \begin{KOMAvar}{emailseparator} % \changes{v2.8q}{2002/03/25}{Neu} +% \changes{v3.12}{2013/05/29}{Option \texttt{symbolicnames} wird beachtet} % \begin{KOMAvar}{urlseparator} % \changes{v2.8q}{2002/03/25}{Neu} +% \changes{v3.12}{2013/05/29}{Option \texttt{symbolicnames} wird beachtet} +% \begin{KOMAvar}{mobilephoneseparator} +% \changes{v3.12}{2013/05/29}{Neu} % \begin{KOMAvar}{zipcodeseparator} % \changes{v3.03}{2009/03/04}{Neu} % Daneben gibt es einige Trennzeichen. Diese haben ggf. als Ausgabenamen das @@ -3353,7 +3511,7 @@ % vordefiniert. % \begin{macrocode} \newkomavar[\usekomavar{place}]{placeseparator} -\setkomavar{placeseparator}{,~} +\setkomavar{placeseparator}{,\nobreakspace} \newkomavar[\subjectname]{subjectseparator} \setkomavar{subjectseparator}{: } \newkomavar[\ccname]{ccseparator} @@ -3361,15 +3519,19 @@ \newkomavar[\enclname]{enclseparator} \setkomavar{enclseparator}{: } \newkomavar{backaddressseparator} -\setkomavar{backaddressseparator}{,~} -\newkomavar[\phonename]{phoneseparator} -\setkomavar{phoneseparator}{:~} -\newkomavar[\faxname]{faxseparator} -\setkomavar{faxseparator}{:~} -\newkomavar[\emailname]{emailseparator} -\setkomavar{emailseparator}{:~} -\newkomavar[\wwwname]{urlseparator} -\setkomavar{urlseparator}{:~} +\setkomavar{backaddressseparator}{,\nobreakspace} +\newkomavar[\if@scrsymbols\Telefon\else\phonename\fi]{phoneseparator} +\setkomavar{phoneseparator}{\if@scrsymbols\else:\fi\nobreakspace} +\newkomavar[% + \if@scrsymbols\Mobilefone\else\mobilephonename\fi +]{mobilephoneseparator} +\setkomavar{mobilephoneseparator}{\usekomavar{phoneseparator}} +\newkomavar[\if@scrsymbols\FAX\else\faxname\fi]{faxseparator} +\setkomavar{faxseparator}{\if@scrsymbols\else:\fi\nobreakspace} +\newkomavar[\if@scrsymbols\Email\else\emailname\fi]{emailseparator} +\setkomavar{emailseparator}{\if@scrsymbols\else:\fi\nobreakspace} +\newkomavar[\if@scrsymbols\else\wwwname\fi]{urlseparator} +\setkomavar{urlseparator}{\if@scrsymbols\else:\nobreakspace\fi} \newkomavar{zipcodeseparator} \setkomavar{zipcodeseparator}{\,--\,} % \end{macrocode} @@ -3379,6 +3541,7 @@ % \end{KOMAvar} % \end{KOMAvar} % \end{KOMAvar} +% \end{KOMAvar} % \end{KOMAvar} % \end{KOMAvar} % \end{KOMAvar} @@ -3400,6 +3563,8 @@ % \changes{v2.8q}{2002/01/16}{Neu} % \begin{KOMAvar}{fromphone} % \changes{v2.8q}{2002/01/16}{Neu} +% \begin{KOMAvar}{frommobilephone} +% \changes{v3.12}{2013/05/29}{Neu} % \begin{KOMAvar}{fromfax} % \changes{v2.8q}{2002/01/28}{Neu} % \begin{KOMAvar}{yourmail} @@ -3436,6 +3601,8 @@ \newkomavar[\usekomavar{toname}]{toaddress} \newkomavar[\usekomavar*{phoneseparator}% \usekomavar{phoneseparator}]{fromphone} +\newkomavar[\usekomavar*{mobilephoneseparator}% + \usekomavar{mobilephoneseparator}]{frommobilephone} \newkomavar[\usekomavar*{faxseparator}% \usekomavar{faxseparator}]{fromfax} \newkomavar[\usekomavar*{emailseparator}% @@ -3469,6 +3636,7 @@ % \end{KOMAvar} % \end{KOMAvar} % \end{KOMAvar} +% \end{KOMAvar} % % \iffalse %</letter> @@ -3482,7 +3650,7 @@ % \endinput % -% end of file `scrknpap.dtx' +% end of file `scrkernel-notepaper.dtx' %%% Local Variables: %%% mode: doctex %%% TeX-master: t diff --git a/Master/texmf-dist/source/latex/koma-script/scrkpage.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-pagestyles.dtx index 7b11c102124..7697aac6e3f 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkpage.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-pagestyles.dtx @@ -1,8 +1,8 @@ -% \CheckSum{590} +% \CheckSum{593} % \iffalse meta-comment % ====================================================================== -% scrkpage.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% scrkernel-pagestyles.dtx +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -19,8 +19,8 @@ % % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- -% scrkpage.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% scrkernel-pagestyles.dtx +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -55,17 +55,18 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scrkpage.dtx +%%% From File: $Id: scrkernel-pagestyles.dtx 1551 2013-12-16 14:02:13Z mjk $ %<*driver> % \fi -\ProvidesFile{scrkpage.dtx}[2011/08/31 v3.10 KOMA-Script (page style)] +\ProvidesFile{scrkernel-pagestyles.dtx}[2013/12/16 v3.12 KOMA-Script + (page style)] % \iffalse \documentclass[halfparskip-]{scrdoc} \usepackage[english,ngerman]{babel} \usepackage[latin1]{inputenc} \CodelineIndex \RecordChanges -\GetFileInfo{scrkpage.dtx} +\GetFileInfo{scrkernel-pagestyles.dtx} \title{\KOMAScript{} \partname\ \texttt{\filename}% \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} \date{\filedate} @@ -103,11 +104,15 @@ % % \begin{option}{headsepline} % \changes{v2.95c}{2006/08/11}{BugFix: Argument bei -% \cs{PassOptionsToPackage} vertauscht} +% \cs{PassOptionsToPackage} vertauscht}% % \changes{v2.97c}{2007/04/19}{Option \texttt{headinclude} wird nicht -% mehr an \textsf{typearea} geschickt} +% mehr an \textsf{typearea} geschickt}% % \changes{v2.98c}{2008/03/26}{Option \texttt{headinclude} wird gesetzt, -% wobei kein Fehler ausgegeben wird, wenn sie nicht existiert.} +% wobei kein Fehler ausgegeben wird, wenn sie nicht existiert.}% +% \changes{v3.12}{2013/03/05}{Nutzung der Status-Signalisierung mit +% \cs{FamilyKeyStateProcessed}}% +% \changes{v3.12}{2013/03/05}{wenn \textsf{typearea} noch gar nicht geladen +% ist, Option an dieses Paket schicken} % \begin{option}{headnosepline} % \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine} % ersetzt} @@ -130,7 +135,13 @@ % \begin{macrocode} \KOMA@key{headsepline}[true]{% \KOMA@set@ifkey{headsepline}{@hsl}{#1}% - \KOMA@options{headinclude=#1}{}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \@ifundefined{typearea}{% + \PassOptionsToPackage{typearea}{headinclude=#1}% + }{% + \KOMAoptions{headinclude=#1}{}% + }% + \fi } \KOMA@DeclareDeprecatedOption{headnosepline}{headsepline=false} % \end{macrocode} @@ -140,13 +151,20 @@ % % \begin{option}{footsepline} % \changes{v2.0e}{1994/08/14}{bei \cs{PassOptionsToPackage} fehlte -% die Paket-Angabe} +% die Paket-Angabe}^^A % \changes{v2.95c}{2006/08/11}{BugFix: Argument bei -% \cs{PassOptionsToPackage} vertauscht} +% \cs{PassOptionsToPackage} vertauscht}^^A % \changes{v2.97c}{2007/04/19}{Option \texttt{footinclude} wird nicht -% mehr an \textsf{typearea} geschickt} +% mehr an \textsf{typearea} geschickt}^^A % \changes{v2.98c}{2008/03/26}{Option \texttt{footinclude} wird gesetzt, -% wobei kein Fehler ausgegeben wird, wenn sie nicht existiert.} +% wobei kein Fehler ausgegeben wird, wenn sie nicht existiert.}^^A +% \changes{v3.12}{2013/03/05}{Nutzung der Status-Signalisierung mit +% \cs{FamilyKeyStateProcessed}}^^A +% \changes{v3.12}{2013/03/05}{wenn \textsf{typearea} noch gar nicht geladen +% ist, Option an dieses Paket schicken}^^A +% \changes{v3.12}{2013/08/26}{\cs{KOMA@options} durch +% \cs{KOMAoptions} ersetzt}^^A +% \changes{v3.12}{2013/08/26}{ggf. Satzspiegel neu berechnen}^^A % \begin{option}{footnosepline} % \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine} % ersetzt} @@ -168,7 +186,13 @@ % \begin{macrocode} \KOMA@key{footsepline}[true]{% \KOMA@set@ifkey{footsepline}{@fsl}{#1}% - \KOMA@options{footinclude=#1}{}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \@ifundefined{typearea}{% + \PassOptionsToPackage{typearea}{headinclude=#1}% + }{% + \KOMAoptions{footinclude=#1,DIV=current}% + }% + \fi } \KOMA@DeclareDeprecatedOption{footnosepline}{footsepline=false} % \end{macrocode} @@ -204,6 +228,8 @@ % funktionieren} % \changes{v2.98c}{2008/03/06}{verwendet \cs{def} statt \cs{let}, damit die % Option \texttt{open} funktioniert} +% \changes{v3.12}{2013/03/05}{Nutzung der Status-Signalisierung mit +% \cs{FamilyKeyStateProcessed}}% % \begin{option}{cleardoubleempty} % \changes{v2.8a}{2001/06/18}{neue Option} % \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine} @@ -281,6 +307,7 @@ \def\cleardoublepage{\cleardoublestandardpage}% \def\cleardoubleoddpage{\cleardoubleoddstandardpage}% \def\cleardoubleevenpage{\cleardoubleevenstandardpage}% + \FamilyKeyStateProcessed }% }{% \ifnotundefined{ps@#1}{% @@ -288,6 +315,7 @@ \def\cleardoublepage{\cleardoublepageusingstyle{#1}}% \def\cleardoubleoddpage{\cleardoubleoddpageusingstyle{#1}}% \def\cleardoubleevenpage{\cleardoubleevenpageusingstyle{#1}}% + \FamilyKeyStateProcessed }% }{}% }% @@ -580,29 +608,28 @@ %<*article> \renewcommand*{\sectionmark}[1]{% \if@twoside\expandafter\markboth\else\expandafter\markright\fi - {\MakeMarkcase{\ifnum \c@secnumdepth >\z@% - \sectionmarkformat\fi ##1}}{}}% + {\MakeMarkcase{\ifnumbered{section}{\sectionmarkformat\fi}{}##1}}{}}% \renewcommand*{\subsectionmark}[1]{% \if@twoside - \markright{\MakeMarkcase{\ifnum \c@secnumdepth >\@ne% - \subsectionmarkformat\fi ##1}}% + \markright{% + \MakeMarkcase{\ifnumbered{subsection}{\subsectionmarkformat}{}##1}% + }% \fi }% %</article> %<*report|book> \renewcommand*{\chaptermark}[1]{% \if@twoside\expandafter\markboth\else\expandafter\markright\fi - {\MakeMarkcase{\ifnum \c@secnumdepth >\m@ne + {\MakeMarkcase{\ifnumbered{chapter}{% %<book> \if@mainmatter \chaptermarkformat %<book> \fi - \fi - ##1}}{}% + }{}##1}% + }{}% }% \renewcommand*{\sectionmark}[1]{% \if@twoside - \markright{\MakeMarkcase{\ifnum \c@secnumdepth >\z@ - \sectionmarkformat\fi + \markright{\MakeMarkcase{\ifnumbered{section}{\sectionmarkformat}{}% ##1}}% \fi }% @@ -797,7 +824,7 @@ % \endinput % -% end of file `scrkpage.dtx' +% end of file `scrkernel-pagestyles.dtx' %%% Local Variables: %%% mode: doctex %%% TeX-master: t diff --git a/Master/texmf-dist/source/latex/koma-script/scrkpar.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-paragraphs.dtx index e4e8fae257f..87a5a1e0425 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkpar.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-paragraphs.dtx @@ -1,8 +1,8 @@ -% \CheckSum{632} +% \CheckSum{641} % \iffalse meta-comment % ====================================================================== -% scrkpar.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% scrkernel-paragraphs.dtx +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -19,8 +19,8 @@ % % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- -% scrkpar.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% scrkernel-paragraphs.dtx +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -55,17 +55,18 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scrkpar.dtx +%%% From File: $Id: scrkernel-paragraphs.dtx 1380 2013-10-01 15:31:55Z mjk $ %<*driver> % \fi -\ProvidesFile{scrkpar.dtx}[2012/03/13 v3.10b KOMA-Script (paragraphs)] +\ProvidesFile{scrkernel-paragraphs.dtx}[2013/03/05 v3.12 KOMA-Script + (paragraphs)] % \iffalse \documentclass[halfparskip-]{scrdoc} \usepackage[english,ngerman]{babel} \usepackage[latin1]{inputenc} \CodelineIndex \RecordChanges -\GetFileInfo{scrkpar.dtx} +\GetFileInfo{scrkernel-paragraphs.dtx} \title{\KOMAScript{} \partname\ \texttt{\filename}% \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} \date{\filedate} @@ -171,6 +172,8 @@ % \changes{v2.8i}{2001/07/22}{neue Option} % \changes{v2.95}{2006/03/11}{primäre \textsf{keyval}-Option} % \changes{v3.08}{2010/12/14}{neuer Wert \texttt{never}} +% \changes{v3.12}{2013/03/05}{Nutzung der Status-Signalisierung mit +% \cs{FamilyKeyState}.} % \begin{option}{parskip-} % \changes{v2.8l}{2001/08/16}{neue Option} % \changes{v2.95}{2006/03/11}{obsolet} @@ -267,82 +270,88 @@ {relative}{10},% {absolute}{11}% }{#1}% - \ifcase\number\@tempa% 0 - \endgroup - \setparsizes{1em}{\z@}{\z@ \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 1 - \endgroup - \setparsizes{1em}{\z@ \@plus \p@}{\z@ \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 2 - \endgroup - \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% - \z@ \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 3 - \endgroup - \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% - \z@ \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 4 - \endgroup - \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% - 1em \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 5 - \endgroup - \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% - 1em \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 6 - \endgroup - \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% - .3333\linewidth\@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 7 - \endgroup - \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% - .3333\linewidth \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 8 - \endgroup - \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% - .25\linewidth \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 9 - \endgroup - \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% - .25\linewidth \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 10 - \endgroup - \ifx\par@updaterelative\undefined - \expandafter\AtEndOfClass - \else - \expandafter\@firstofone - \fi - {% - \ifx\par@update\default@par@update - \let\par@update\par@updaterelative + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \aftergroup\FamilyKeyStateProcessed + \ifcase\number\@tempa% 0 + \endgroup + \setparsizes{1em}{\z@}{\z@ \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 1 + \endgroup + \setparsizes{1em}{\z@ \@plus \p@}{\z@ \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 2 + \endgroup + \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% + \z@ \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 3 + \endgroup + \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% + \z@ \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 4 + \endgroup + \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% + 1em \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 5 + \endgroup + \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% + 1em \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 6 + \endgroup + \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% + .3333\linewidth\@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 7 + \endgroup + \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% + .3333\linewidth \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 8 + \endgroup + \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% + .25\linewidth \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 9 + \endgroup + \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% + .25\linewidth \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 10 + \endgroup + \ifx\par@updaterelative\undefined + \expandafter\AtEndOfClass + \else + \expandafter\@firstofone \fi - \let\default@par@update=\par@updaterelative - }% - \or%11 - \endgroup - \ifx\par@updaterelative\undefined - \expandafter\AtEndOfClass - \else - \expandafter\@firstofone - \fi - {% - \ifx\par@update\default@par@update - \let\par@update\relax + {% + \ifx\par@update\default@par@update + \let\par@update\par@updaterelative + \fi + \let\default@par@update=\par@updaterelative + }% + \or%11 + \endgroup + \ifx\par@updaterelative\undefined + \expandafter\AtEndOfClass + \else + \expandafter\@firstofone \fi - \let\default@par@update=\relax - }% - \else% sonst - \endgroup + {% + \ifx\par@update\default@par@update + \let\par@update\relax + \fi + \let\default@par@update=\relax + }% + \else% should never be + \endgroup + \fi + \else + \endgroup + \FamilyKeyStateUnkownValue \fi } \KOMA@DeclareDeprecatedOption{parskip-}{parskip=full-} @@ -687,7 +696,7 @@ % \endinput % -% end of file `scrkpar.dtx' +% end of file `scrkernel-paragraphs.dtx' %%% Local Variables: %%% mode: doctex %%% TeX-master: t diff --git a/Master/texmf-dist/source/latex/koma-script/scrkplen.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-pseudolengths.dtx index 490a414ebde..447e8e91e64 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkplen.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-pseudolengths.dtx @@ -1,8 +1,8 @@ % \CheckSum{100} % \iffalse meta-comment % ====================================================================== -% scrkplen.dtx -% Copyright (c) Markus Kohm, 2006-2012 +% scrkernel-pseudolengths.dtx +% Copyright (c) Markus Kohm, 2006-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -19,8 +19,8 @@ % % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- -% scrkplen.dtx -% Copyright (c) Markus Kohm, 2006-2012 +% scrkernel-pseudolengths.dtx +% Copyright (c) Markus Kohm, 2006-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -55,17 +55,18 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scrkplen.dtx +%%% From File: $Id: scrkernel-pseudolengths.dtx 1388 2013-10-01 16:03:42Z mjk $ %<*driver> % \fi -\ProvidesFile{scrkplen.dtx}[2011/03/20 v3.08b KOMA-Script (pseudo length)] +\ProvidesFile{scrkernel-pseudolengths.dtx}[2011/03/20 v3.08b KOMA-Script + (pseudo length)] % \iffalse \documentclass{scrdoc} \usepackage[english,ngerman]{babel} \usepackage[latin1]{inputenc} \CodelineIndex \RecordChanges -\GetFileInfo{scrkplen.dtx} +\GetFileInfo{scrkernel-pseudolengths.dtx} \title{\KOMAScript{} \partname\ \texttt{\filename}% \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} \date{\filedate} @@ -243,7 +244,7 @@ % \endinput % -% end of file `scrkplen.dtx' +% end of file `scrkernel-pseudolengths.dtx' %%% Local Variables: %%% mode: doctex %%% TeX-master: t diff --git a/Master/texmf-dist/source/latex/koma-script/scrksect.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-sections.dtx index cd2d0d248de..ac28717e035 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrksect.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-sections.dtx @@ -1,8 +1,8 @@ -% \CheckSum{2250} +% \CheckSum{2255} % \iffalse meta-comment % ====================================================================== -% scrksect.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% scrkernel-sections.dtx +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -19,8 +19,8 @@ % % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- -% scrksect.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% scrkernel-sections.dtx +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -55,17 +55,18 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scrksect.dtx +%%% From File: $Id: scrkernel-sections.dtx 1552 2013-12-16 16:51:32Z mjk $ %<*driver> % \fi -\ProvidesFile{scrksect.dtx}[2012/07/29 v3.11b KOMA-Script (disposition)] +\ProvidesFile{scrkernel-sections.dtx}[2013/12/16 v3.12 KOMA-Script + (disposition)] % \iffalse \documentclass[halfparskip-]{scrdoc} \usepackage[english,ngerman]{babel} \usepackage[latin1]{inputenc} \CodelineIndex \RecordChanges -\GetFileInfo{scrksect.dtx} +\GetFileInfo{scrkernel-sections.dtx} \title{\KOMAScript{} \partname\ \texttt{\filename}% \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} @@ -114,6 +115,8 @@ % \fi % \begin{option}{open} % \changes{v2.98c}{2008/03/06}{Neue Option} +% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit +% \cs{FamilyKeyState}} % Bei \textsf{scrreprt} und \textsf{scrbook} kann per Option eingestellt % werden, ob Kapitel nur auf linken oder rechten Seiten beginnen dürfen oder % auf jeder Seite. @@ -137,15 +140,17 @@ {right}{1},% {left}{2}% }{#1}% - \ifcase \@tempa\relax - \@openrightfalse - \renewcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage}% - \or - \@openrighttrue - \renewcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage}% - \or - \@openrighttrue - \renewcommand*{\cleardoublestandardpage}{\cleardoubleevenstandardpage}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase \@tempa\relax + \@openrightfalse + \renewcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage}% + \or + \@openrighttrue + \renewcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage}% + \or + \@openrighttrue + \renewcommand*{\cleardoublestandardpage}{\cleardoubleevenstandardpage}% + \fi \fi } % \end{macrocode} @@ -169,10 +174,12 @@ % % \begin{option}{numbers} % \changes{v2.98c}{2008/03/07}{Neue Option} +% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit +% \cs{FamilyKeyState}} % Dies ist die zentrale Option zur Konfiguration der Nummerierung. Dabei geht % es primär um die Gliederungsnummern, es sind jedoch auch davon abgeleitete % Nummern betroffen. -% \begin{macro}{scr@dotchangeatdocument} +% \begin{macro}{\scr@dotchangeatdocument} % \changes{v2.98c}{2008/03/07}{Neu (intern)} % Da die Umschaltung zwischen automatischem Endpunkt, immer Endpunkt und kein % Endpunkt unbedingt \emph{vor} \cs{begin{document}} erfolgen muss, wird eine @@ -205,17 +212,19 @@ {noendperiod}{2},{noperiodatend}{2},% {noenddot}{2},{nodotatend}{2}% }{#1}% - \ifcase \@tempa\relax - \if@atdocument\scr@dotchangeatdocument{#1}\else - \let\scr@altsecnumhook\@empty - \fi - \or - \if@atdocument\scr@dotchangeatdocument{#1}\else - \let\scr@altsecnumhook\scr@altsecnumhooktrue - \fi - \or - \if@atdocument\scr@dotchangeatdocument{#1}\else - \let\scr@altsecnumhook\scr@altsecnumhookfalse + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase \@tempa\relax + \if@atdocument\scr@dotchangeatdocument{#1}\else + \let\scr@altsecnumhook\@empty + \fi + \or + \if@atdocument\scr@dotchangeatdocument{#1}\else + \let\scr@altsecnumhook\scr@altsecnumhooktrue + \fi + \or + \if@atdocument\scr@dotchangeatdocument{#1}\else + \let\scr@altsecnumhook\scr@altsecnumhookfalse + \fi \fi \fi } @@ -310,13 +319,15 @@ % \end{option} % % -% \begin{option}{appendixprefix} -% \changes{v2.8}{2001/06/15}{neue Option} -% \changes{v2.95c}{2006/08/21}{als \textsf{keyval}-Option} -% \begin{option}{noappendixprefix} -% \changes{v2.8}{2001/06/15}{neue Option} -% \changes{v2.95c}{2006/08/21}{obsolete Option} -% \changes{v3.01a}{2008/11/20}{deprecated} +% \begin{option}{appendixprefix} +% \changes{v2.8}{2001/06/15}{neue Option} +% \changes{v2.95c}{2006/08/21}{als \textsf{keyval}-Option} +% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit +% \cs{FamilyKeyState}} +% \begin{option}{noappendixprefix} +% \changes{v2.8}{2001/06/15}{neue Option} +% \changes{v2.95c}{2006/08/21}{obsolete Option} +% \changes{v3.01a}{2008/11/20}{deprecated} % \iffalse %<*book|report> % \fi @@ -328,10 +339,12 @@ % \begin{macrocode} \KOMA@key{appendixprefix}[true]{% \KOMA@set@ifkey{appendixprefix}{@tempswa}{#1}% - \if@tempswa - \def\appendixmore{\@chapterprefixtrue}% - \else - \def\appendixmore{\@chapterprefixfalse}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \if@tempswa + \def\appendixmore{\@chapterprefixtrue}% + \else + \def\appendixmore{\@chapterprefixfalse}% + \fi \fi } \KOMA@DeclareDeprecatedOption{noappendixprefix}{appendixprefix=false} @@ -339,10 +352,24 @@ % \iffalse %</book|report> % \fi -% \end{option} -% \end{option} +% \end{option}^^A noappendixprefix +% \end{option}^^A appendixprefix % % +% \begin{macro}{\sectfont} +% \changes{v2.8c}{2001/06/29}{\cs{normalcolor} eingefügt}%^^A +% \changes{v3.12}{2013/11/11}{wird wegen Option +% \texttt{headings!=standardclasses} früher definiert}%^^A +% Dies Schriftart nicht nur für die Gliederungsbefehle. Dieses Makro +% ist als intern zu betrachten. Der Anwender sollte stattdessen das +% entsprtechende Fontelement verwenden. +% \begin{macrocode} +%</class> +\newcommand*{\sectfont}{\normalcolor\sffamily\bfseries} +%<*class> +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\size@part} % \changes{v2.8o}{2001/09/14}{neu (intern)} % \changes{v2.96a}{2006/12/02}{letztes Element darf ein Argument erwarten, @@ -391,8 +418,10 @@ % \end{macro} % \end{macro} % -% \begin{macro}{\chapterheadstartvskip} -% \begin{macro}{\chapterheadendvskip} +% \begin{macro}{\chapterheadstartvskip} +% \begin{macro}{\chapterheadendvskip} +% \changes{v3.11c}{2013/02/13}{\cs{chapterheadstartvskip} und +% \cs{chapterheadendvskip} haben in \textsf{scrartcl} nichts verloren} % Mit diesen Anweisungen wird üblicherweise der Abstand zwischen % oberem Rand des Textbereichs und der Überschrift bzw. der Abstand % zwischen der Überschrift und dem Text des Kapitels gesetzt. Man kann @@ -402,30 +431,37 @@ % enthalten sie jedoch gar nichts. Die tatsächlichen Werte werden % durch die Optionen festgelegt. % \begin{macrocode} +%<*book|report> \newcommand*{\chapterheadstartvskip}{} \newcommand*{\chapterheadendvskip}{} +%</book|report> % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{macro} +% \end{macro} % % \begin{option}{headings} % \changes{v2.3h}{1996/01/20}{Größe von \cs{chapter} um eine Stufe -% verringert}% +% verringert}^^A % \changes{v2.3h}{1996/01/20}{Verwendung von \cs{chapterheadstartvskip} und % \cs{chapterheadendvskip} an Stelle von festen vertikalen Abständen am -% Anfang und am Ende eines Kapitels}% +% Anfang und am Ende eines Kapitels}^^A % \changes{v2.7c}{2000/01/19}{vertikale Abstände nach der Kapitelüberschrift % geringfügig verändert und mit Leim versehen, um mit \cs{flushbottom} zu -% besseren Ergebnissen zu gelangen}% -% \changes{v2.98c}{2008/03/10}{Neue Option}% +% besseren Ergebnissen zu gelangen}^^A +% \changes{v2.98c}{2008/03/10}{Neue Option}^^A % \changes{v3.10}{2011/08/30}{Integration der Erweiterung für das optionale -% Argument der Gliederungsbefehle} -% Dies ist eine neue zentrale Option für Überschriften. Dabei ergibt sich -% nun auch das Problem, dass die Gesamtmenge der Überschriften mal -% \emph{headings} (Überschriften), mal \emph{sectioning} -% (Abschnittseinteilung) und mal \emph{disposition} (Gliederung) genannt -% wird. Es wäre gut gewesen, sich bei Zeiten Gedanken darüber zu machen, wie -% man das am besten einheitlich nennt. +% Argument der Gliederungsbefehle}^^A +% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit +% \cs{FamilyKeyState}}^^A +% \changes{v3.12}{2013/08/26}{\cs{KOMA@options} durch \cs{KOMAoptions} +% ersetzt}^^A +% \changes{v3.12}{2013/11/11}{neuer Wert \texttt{standardclasses}}^^A +% Dies ist eine neue zentrale Option für Überschriften. Dabei ergibt sich +% nun auch das Problem, dass die Gesamtmenge der Überschriften mal +% \emph{headings} (Überschriften), mal \emph{sectioning} +% (Abschnittseinteilung) und mal \emph{disposition} (Gliederung) genannt +% wird. Es wäre gut gewesen, sich bei Zeiten Gedanken darüber zu machen, wie +% man das am besten einheitlich nennt. % \begin{macrocode} \KOMA@key{headings}{% \KOMA@set@ncmdkey{headings}{@tempa}{% @@ -447,9 +483,11 @@ %</book|report> {optiontotocandhead}{10},{optiontoheadandtoc}{10},% {optiontotoc}{11},% - {optiontohead}{12}% + {optiontohead}{12},% + {standardclasses}{13}% }{#1}% - \ifcase \@tempa\relax + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase \@tempa\relax % \end{macrocode} % Als erstes kümmern wir uns um die drei Größenabstufungen für die % Überschriften, die \KOMAScript{} bietet, und zwar in der Reihenfolge @@ -459,117 +497,149 @@ % Font-Elementen für die einzelnen Überschriften aufhebt macht! % \begin{macrocode} %<*book|report> - \renewcommand*{\chapterheadstartvskip}{% - \vspace*{2.3\baselineskip}% - }% - \renewcommand*{\chapterheadendvskip}{% - \vspace{1.725\baselineskip - \@plus .115\baselineskip \@minus .192\baselineskip}% - }% + \renewcommand*{\chapterheadstartvskip}{% + \vspace*{2.3\baselineskip}% + }% + \renewcommand*{\chapterheadendvskip}{% + \vspace{1.725\baselineskip + \@plus .115\baselineskip \@minus .192\baselineskip}% + }% %</book|report> - \renewcommand*{\size@part}{\Huge}% - \renewcommand*{\size@partnumber}{\huge}% -%<book|report> \renewcommand*{\size@chapter}{\huge}% - \renewcommand*{\size@section}{\Large}% - \renewcommand*{\size@subsection}{\large}% - \renewcommand*{\size@subsubsection}{\normalsize}% - \renewcommand*{\size@paragraph}{\normalsize}% - \renewcommand*{\size@subparagraph}{\normalsize}% - \or + \renewcommand*{\size@part}{\Huge}% + \renewcommand*{\size@partnumber}{\huge}% +%<book|report> \renewcommand*{\size@chapter}{\huge}% +%<book|report> \renewcommand*{\size@chapterprefix}{\size@chapter}% + \renewcommand*{\size@section}{\Large}% + \renewcommand*{\size@subsection}{\large}% + \renewcommand*{\size@subsubsection}{\normalsize}% + \renewcommand*{\size@paragraph}{\normalsize}% + \renewcommand*{\size@subparagraph}{\normalsize}% + \or %<*book|report> - \renewcommand*{\chapterheadstartvskip}{% - \vspace*{2\baselineskip}% - }% - \renewcommand*{\chapterheadendvskip}{% - \vspace{1.5\baselineskip - \@plus .1\baselineskip \@minus .167\baselineskip}% - }% + \renewcommand*{\chapterheadstartvskip}{% + \vspace*{2\baselineskip}% + }% + \renewcommand*{\chapterheadendvskip}{% + \vspace{1.5\baselineskip + \@plus .1\baselineskip \@minus .167\baselineskip}% + }% %</book|report> - \renewcommand*{\size@part}{\huge}% - \renewcommand*{\size@partnumber}{\huge}% + \renewcommand*{\size@part}{\huge}% + \renewcommand*{\size@partnumber}{\huge}% %<*book|report> - \renewcommand*{\size@chapter}{\LARGE}% - \renewcommand*{\size@section}{\Large}% - \renewcommand*{\size@subsection}{\large}% + \renewcommand*{\size@chapter}{\LARGE}% + \renewcommand*{\size@chapterprefix}{\size@chapter}% + \renewcommand*{\size@section}{\Large}% + \renewcommand*{\size@subsection}{\large}% %</book|report> %<*article> - \renewcommand*{\size@section}{\large}% - \renewcommand*{\size@subsection}{\normalsize}% + \renewcommand*{\size@section}{\large}% + \renewcommand*{\size@subsection}{\normalsize}% %</article> - \renewcommand*{\size@subsubsection}{\normalsize}% - \renewcommand*{\size@paragraph}{\normalsize}% - \renewcommand*{\size@subparagraph}{\normalsize}% - \or + \renewcommand*{\size@subsubsection}{\normalsize}% + \renewcommand*{\size@paragraph}{\normalsize}% + \renewcommand*{\size@subparagraph}{\normalsize}% + \or %<*book|report> - \renewcommand*{\chapterheadstartvskip}{% - \vspace*{1.8\baselineskip}% - }% - \renewcommand*{\chapterheadendvskip}{% - \vspace{1.35\baselineskip - \@plus 0.09\baselineskip \@minus .15\baselineskip}% - }% + \renewcommand*{\chapterheadstartvskip}{% + \vspace*{1.8\baselineskip}% + }% + \renewcommand*{\chapterheadendvskip}{% + \vspace{1.35\baselineskip + \@plus 0.09\baselineskip \@minus .15\baselineskip}% + }% %</book|report> - \renewcommand*{\size@part}{\LARGE}% - \renewcommand*{\size@partnumber}{\LARGE}% + \renewcommand*{\size@part}{\LARGE}% + \renewcommand*{\size@partnumber}{\LARGE}% %<*book|report> - \renewcommand*{\size@chapter}{\Large}% - \renewcommand*{\size@section}{\large}% + \renewcommand*{\size@chapter}{\Large}% + \renewcommand*{\size@chapterprefix}{\size@chapter}% + \renewcommand*{\size@section}{\large}% %</book|report> %<*article> - \renewcommand*{\size@section}{\normalsize}% + \renewcommand*{\size@section}{\normalsize}% %</article> - \renewcommand*{\size@subsection}{\normalsize}% - \renewcommand*{\size@subsubsection}{\normalsize}% - \renewcommand*{\size@paragraph}{\normalsize}% - \renewcommand*{\size@subparagraph}{\normalsize}% + \renewcommand*{\size@subsection}{\normalsize}% + \renewcommand*{\size@subsubsection}{\normalsize}% + \renewcommand*{\size@paragraph}{\normalsize}% + \renewcommand*{\size@subparagraph}{\normalsize}% % \end{macrocode} % Für \textsf{scrbook} und \textsf{scrreprt} gibt es dann noch die % Möglichkeit, auch hierüber die Optionen \texttt{open=any}, % \texttt{open=right} und \texttt{open=left} zu setzen. % \begin{macrocode} - \or + \or %<*book|report> - \KOMA@options{open=any}{}% + \KOMAoptions{open=any}% %</book|report> - \or + \or %<*book|report> - \KOMA@options{open=right}{}% + \KOMAoptions{open=right}% %</book|report> - \or + \or %<*book|report> - \KOMA@options{open=left}{}% + \KOMAoptions{open=left}% %</book|report> % \end{macrocode} % Für \textsf{scrbook} und \textsf{scrreprt} gibt es dann noch die % Möglichkeit, auch hierüber die Optionen \texttt{chapterprefix} und % \texttt{appendixprefix} zu setzen. % \begin{macrocode} - \or + \or %<*book|report> - \KOMA@options{chapterprefix=true}{}% + \KOMAoptions{chapterprefix=true}% %</book|report> - \or + \or %<*book|report> - \KOMA@options{chapterprefix=false}{}% + \KOMAoptions{chapterprefix=false}% %</book|report> - \or + \or %<*book|report> - \KOMA@options{appendixprefix=true}{}% + \KOMAoptions{appendixprefix=true}% %</book|report> - \or + \or %<*book|report> - \KOMA@options{appendixprefix=false}{}% + \KOMAoptions{appendixprefix=false}% %</book|report> % \end{macrocode} % Ab Version~3.10 wird über diese Option auch noch die Erweiterung für das % optionale Argument der Gliederungsüberschriften aktiviert und gesteuert. % \begin{macrocode} - \or - \scr@activate@xsection{3}% - \or - \scr@activate@xsection{2}% - \or - \scr@activate@xsection{1}% + \or + \scr@activate@xsection{3}% + \or + \scr@activate@xsection{2}% + \or + \scr@activate@xsection{1}% +% \end{macrocode} +% Ab Version~3.12 gibt es noch die Möglichkeit, die Überschriftengrößen der +% Standardklassen zu emulieren. +% \begin{macrocode} + \or +%<*book|report> + \renewcommand*{\chapterheadstartvskip}{% + \vspace*{50\p@}% + }% + \renewcommand*{\chapterheadendvskip}{% + \vspace{40\p@}% + }% + \renewcommand*{\size@part}{\Huge}% + \renewcommand*{\size@partnumber}{\huge}% + \renewcommand*{\size@chapter}{\Huge}% + \renewcommand*{\size@chapterprefix}{\huge}% +%</book|report> +%<*article> + \renewcommand*{\size@part}{\huge}% + \renewcommand*{\size@partnumber}{\Large}% +%</article> + \renewcommand*{\size@section}{\Large}% + \renewcommand*{\size@subsection}{\large}% + \renewcommand*{\size@subsubsection}{\normalsize}% + \renewcommand*{\size@paragraph}{\normalsize}% + \renewcommand*{\size@subparagraph}{\normalsize}% + \renewcommand*{\sectfont}{\bfseries}% +%<book|report> \KOMAoptions{open=right,chapterprefix=true}% + \fi \fi } % \end{macrocode} @@ -746,7 +816,7 @@ % % \subsection{Definitionen für Seitenstile} % -% \begin{macro}{\chaptermark} +% \begin{macro}{\chaptermark} % Da \cs{chapter} nicht mit Hilfe von \cs{@startsection} definiert % wird, wird auch \cs{chaptermark} nicht automatisch definiert. Es % wird aber in den Seitenstilen benötigt bzw. umdefiniert. Also hier @@ -756,6 +826,36 @@ % \end{macrocode} % \end{macro} % +% \begin{macro}{\addchapmark} +% \changes{v3.12}{2013/03/26}{neue Anweisung} +% \begin{macro}{\addsecmark} +% \changes{v3.12}{2013/03/26}{neue Anweisung} Für \cs{addchapmark} und +% \cs{addsecmark} gilt dies hingegen nicht. Das wird nicht von den Stilen +% definiert, sondern direkt mit der gewünschten Definition +% initialisiert. Bitte nicht davon verwirren lassen, dass \cs{if@mainmatter} +% hier auch von \textsf{scrreprt} definiert wird. Das ist Absicht und +% vereinfacht dem einen oder anderen Paket oder Benutzer vielleicht die +% Arbeit. +% \begin{macrocode} +%<*book|report> +\newcommand*\addchapmark[1]{% + \begingroup + \expandafter\let\csname if@mainmatter\expandafter\endcsname + \csname iffalse\endcsname + \c@secnumdepth=\m@ne + \chaptermark{#1}% + \endgroup +} +%</book|report> +\newcommand*\addsecmark[1]{% + \begingroup + \c@secnumdepth=\m@ne + \sectionmark{#1}% + \endgroup +} +% \end{macrocode} +% \end{macro}^^A \addsecmark +% \end{macro}^^A \addchapmark % % \subsection{Der Automatismus für den Punkt in der Nummerierung} % @@ -833,15 +933,15 @@ % \changes{v3.10}{2011/08/30}{entfällt} % \begin{macro}{\@sect} % \changes{v3.10}{2011/08/30}{Vollständige Neudefinition zur Realisierung -% der Erweiterung für das optionale Argument} +% der Erweiterung für das optionale Argument}%^^A % \changes{v3.10}{2011/08/30}{Verwendung von % \cs{csname}\texttt{add\#1tocentry}\cs{endcsname} -% bzw. \cs{addtocentrydefault}} -% Damit auch alle mit \cs{@startsection} definierten Gliederungsebenen -% bei der Entscheidung berücksichtigt werden, muss ein internes Makro -% des \LaTeX-Kerns erweitert werden. Für die Ebenen \cs{part} und -% \cs{chapter} wird der Test direkt in der Definition der Befehle -% erledigt. +% bzw. \cs{addtocentrydefault}}%^^A +% Damit auch alle mit \cs{@startsection} definierten Gliederungsebenen +% bei der Entscheidung berücksichtigt werden, muss ein internes Makro +% des \LaTeX-Kerns erweitert werden. Für die Ebenen \cs{part} und +% \cs{chapter} wird der Test direkt in der Definition der Befehle +% erledigt. % \begin{macrocode} \def\@tempa#1#2#3#4#5#6[#7]#8{% \ifnum #2>\c@secnumdepth @@ -1024,6 +1124,77 @@ % \end{macrocode} % \end{Counter} % +% \begin{macro}{\partnumdepth} +% \changes{v3.12}{2013/12/16}{new read only command} +% \begin{macro}{\chapternumdepth} +% \changes{v3.12}{2013/12/16}{new read only command} +% \begin{macro}{\sectionnumdepth} +% \changes{v3.12}{2013/12/16}{new read only command} +% \begin{macro}{\subsectionnumdepth} +% \changes{v3.12}{2013/12/16}{new read only command} +% \begin{macro}{\subsubsectionnumdepth} +% \changes{v3.12}{2013/12/16}{new read only command} +% \begin{macro}{\paragraphnumdepth} +% \changes{v3.12}{2013/12/16}{new read only command} +% \begin{macro}{\subparagraphnumdepth} +% \changes{v3.12}{2013/12/16}{new read only command} +% Diese dürfen nur gelesen, sollten aber nie umdefiniert werden und geben die +% Nummerierungsebene der Gliederungsanweisungen an (nicht zu verwechseln mit +% der Verzeichnisebene der Gliederungsanweisungen): +% \begin{macrocode} +\newcommand*{\partnumdepth}{% +%<article> \z@ +%<report|book> \m@ne +} +%<report|book>\newcommand*{\chapternumdepth}{\z@} +\newcommand*{\sectionnumdepth}{\@ne} +\newcommand*{\subsectionnumdepth}{\tw@} +\newcommand*{\subsubsectionnumdepth}{\thr@@} +\newcommand*{\paragraphnumdepth}{4} +\newcommand*{\subparagraphnumdepth}{5} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\ifnumbered} +% \changes{v3.12}{2013/12/16}{new command} +% \begin{macro}{\ifunnumbered} +% \changes{v3.12}{2013/12/16}{new command} +% Test, ob eine Gliederungsebene (\texttt{\#1}) nummeriert wird. Falls das der +% Fall ist, wird das zweite Argument verwendet, sonst das dritte. Bei +% \cs{ifunnumbered} ist die Logik genau vertauscht. +% \begin{macrocode} +\newcommand*{\ifnumbered}[1]{% + \scr@ifundefinedorrelax{#1numdepth}{% + \@secondoftwo + }{% + \expandafter\ifnum \@nameuse{#1numdepth}>\c@secnumdepth + \expandafter\@secondoftwo + \else + \expandafter\@firstoftwo + \fi + }% +} +\newcommand*{\ifunnumbered}[1]{% + \scr@ifundefinedorrelax{#1numdepth}{% + \@firstoftwo + }{% + \expandafter\ifnum \@nameuse{#1numdepth}>\c@secnumdepth + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + }% +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% % \begin{Counter}{part} % \begin{macro}{\thepart} % \begin{macro}{\partformat} @@ -1415,28 +1586,26 @@ \setkeys{KOMAarg.section}{tocentry={#1},head={#1}}% \fi \fi -%<article> \ifnum \c@secnumdepth >\m@ne -%<report|book> \ifnum \c@secnumdepth >-2\relax + \ifnumbered{part}{% \refstepcounter{part}% \@maybeautodot\thepart% \ifx\scr@ds@tocentry\@empty\else \addparttocentry{\thepart}{\scr@ds@tocentry}% \fi - \else + }{% \ifx\scr@ds@tocentry\@empty\else \addparttocentry{}{\scr@ds@tocentry}% \fi - \fi + }% \begingroup \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative \raggedpart \interlinepenalty \@M \normalfont\sectfont\nobreak -%<article> \ifnum \c@secnumdepth >\m@ne -%<book|report> \ifnum \c@secnumdepth >-2\relax + \ifnumbered{part}{% \size@partnumber{\partformat}% \partheadmidvskip - \fi + }{}% \size@part{#2}\strut \ifx\partmark\@gobble \@mkboth{}{}\par @@ -1596,15 +1765,15 @@ % \changes{v2.8d}{2001/07/05}{\cs{chapterpagestyle} statt % \texttt{plain}} % \begin{macro}{\@chapter} -% \changes{v2.8e}{2001/07/10}{\cs{@maybeautodot} wird aufgerufen} +% \changes{v2.8e}{2001/07/10}{\cs{@maybeautodot} wird aufgerufen}%^^A % \changes{v2.8g}{2001/07/18}{per \cs{float@addtolists} wird nun % auch ein vertikaler Abstand in Listen des \texttt{float}-Pakets -% eingebaut} +% eingebaut}%^^A % \changes{v3.00}{2008/07/01}{jetzt auch Kapiteleinträge in andere -% float-Verzeichnisse mit hyperref} -% \changes{v3.08}{2010/11/01}{Verwendung von \cs{addchaptertocentry}} +% float-Verzeichnisse mit hyperref}%^^A +% \changes{v3.08}{2010/11/01}{Verwendung von \cs{addchaptertocentry}}%^^A % \changes{v3.10}{2011/08/30}{Integration der Erweiterung für das optionale -% Argument der Gliederungsbefehle} +% Argument der Gliederungsbefehle}%^^A % \begin{macro}{\@makechapterhead} % \changes{v2.7b}{2001/01/05}{Kapitel können grundsätzlich mit % einer Präambel versehen werden} @@ -1724,89 +1893,26 @@ \setkeys{KOMAarg.section}{tocentry={#1},head={#1}}% \fi \fi - \ifnum \c@secnumdepth >\m@ne + \ifnumbered{chapter}{% %<book> \if@mainmatter \refstepcounter{chapter}% \@maybeautodot\thechapter \typeout{\@chapapp\space\thechapter.}% \ifx\scr@ds@tocentry\@empty\else \addchaptertocentry{\thechapter}{\scr@ds@tocentry}% - \if@chaptertolists - \doforeachtocfile{% - \iftocfeature{\@currext}{chapteratlist}{% - \addcontentsline{\@currext}{chapteratlist}{% - \protect\numberline{\thechapter}\scr@ds@tocentry}% - }{}% - }% - \@ifundefined{float@addtolists}{}{% - \scr@float@addtolists@warning - \scr@ifundefinedorrelax{@currentHref}{% - \float@addtolists{% - \protect\contentsline{chapteratlist}{% - \protect\numberline{\thechapter}\scr@ds@tocentry}{\thepage}% - }% - }{% - \float@addtolists{% - \protect\contentsline{chapteratlist}{% - \protect\numberline{\thechapter}\scr@ds@tocentry}{\thepage}{% - \@currentHref}% - }% - }% - }% - \fi \fi %<*book> \else \ifx\scr@ds@tocentry\@empty\else - \addchaptertocentry{}{#1}% - \if@chaptertolists - \doforeachtocfile{% - \iftocfeature{\@currext}{chapteratlist}{% - \addcontentsline{\@currext}{chapteratlist}{#1}% - }{}% - }% - \@ifundefined{float@addtolists}{}{% - \scr@float@addtolists@warning - \scr@ifundefinedorrelax{@currentHref}{% - \float@addtolists{% - \protect\contentsline{chapteratlist}{#1}{\thepage}% - }% - }{% - \float@addtolists{% - \protect\contentsline{chapteratlist}{#1}{\thepage}{% - \@currentHref}% - }% - }% - }% - \fi + \addchaptertocentry{}{\scr@ds@tocentry}% \fi \fi %</book> - \else + }{% \ifx\scr@ds@tocentry\@empty\else \addchaptertocentry{}{\scr@ds@tocentry}% - \if@chaptertolists - \doforeachtocfile{% - \iftocfeature{\@currext}{chapteratlist}{% - \addcontentsline{\@currext}{chapteratlist}{\scr@ds@tocentry}% - }{}% - }% - \@ifundefined{float@addtolists}{}{% - \scr@float@addtolists@warning - \scr@ifundefinedorrelax{@currentHref}{% - \float@addtolists{% - \protect\contentsline{chapteratlist}{\scr@ds@tocentry}{\thepage}% - }% - }{% - \float@addtolists{% - \protect\contentsline{chapteratlist}{\scr@ds@tocentry}{\thepage}{% - \@currentHref}% - }% - }% - }% - \fi \fi - \fi + }% \expandafter\chaptermark\expandafter{\scr@ds@head}% \ifdim \@chapterlistsgap>\z@ \doforeachtocfile{% @@ -1849,7 +1955,8 @@ \else \let\@tempa\@hangfrom \fi - \@tempa{\ifnum \c@secnumdepth >\m@ne% + \@tempa{% + \ifnumbered{chapter}{% %<book> \if@mainmatter \if@chapterprefix \expandafter\size@chapterprefix @@ -1861,7 +1968,7 @@ \size@chapterprefix{}\endgraf\nobreak\vskip.5\baselineskip \fi %<book> \fi - \fi + }{}% }% {\raggedsection \interlinepenalty \@M \size@chapter{#1}\par}}% \nobreak\chapterheadendvskip @@ -1871,7 +1978,9 @@ % \end{macro} % \end{macro} % \begin{macro}{\addchaptertocentry} -% \changes{v3.08}{2010/11/01}{Neu} +% \changes{v3.08}{2010/11/01}{Neu}%^^A +% \changes{v3.12}{2013/09/24}{Behandlung von \cs{if@chaptertolists} hier}%^^A +% \changes{v3.12}{2013/09/24}{Verwendung von \cs{addxcontentsline}}%^^A % Seit Version~3.08 wird der Eintrag nicht direkt innerhalb von \cs{chapter} % per \cs{addcontentsline} erzeugt, sondern indirekt über diese Anweisung. Das % erste Argument ist dabei die (formatierte) Nummer bzw. bei nicht @@ -1882,6 +1991,14 @@ % \begin{macrocode} \newcommand*{\addchaptertocentry}[2]{% \addtocentrydefault{chapter}{#1}{#2}% + \if@chaptertolists + \doforeachtocfile{% + \iftocfeature{\@currext}{chapteratlist}{% + \addxcontentsline{\@currext}{chapteratlist}[{#1}]{#2}% + }{}% + }% + \@ifundefined{float@addtolists}{}{\scr@float@addtolists@warning}% + \fi } % \end{macrocode} % \end{macro} @@ -1995,7 +2112,9 @@ % \texttt{hpdftex.def} das interne Makro \cs{@schapter} so umdefiniert % wird, dass ein korrekter Link erzeugt wird. % \begin{macro}{\@addchap} +% \changes{v3.12}{2013/02/26}{Verwendung von \cs{addchapmark}} % \begin{macro}{\@saddchap} +% \changes{v3.12}{2013/02/26}{Verwendung von \cs{addchapmark}} % \begin{macrocode} \newcommand\addchap{% \if@openright\cleardoublepage\else\clearpage\fi @@ -2027,26 +2146,6 @@ \@schapter{#2}% \ifx\scr@ds@tocentry\@empty\else \addchaptertocentry{}{\scr@ds@tocentry}% - \if@chaptertolists - \doforeachtocfile{% - \iftocfeature{\@currext}{chapteratlist}{% - \addcontentsline{\@currext}{chapteratlist}{\scr@ds@tocentry}% - }{}% - }% - \@ifundefined{float@addtolists}{}{% - \scr@float@addtolists@warning - \scr@ifundefinedorrelax{@currentHref}{% - \float@addtolists{% - \protect\contentsline{chapteratlist}{\scr@ds@tocentry}{\thepage}% - }% - }{% - \float@addtolists{% - \protect\contentsline{chapteratlist}{\scr@ds@tocentry}{\thepage}{% - \@currentHref}% - }% - }% - }% - \fi \fi \ifnum \@nameuse{scr@v@2.96}<\scr@compatibility\relax \ifdim \@chapterlistsgap>\z@ @@ -2061,15 +2160,9 @@ }% \fi \fi - \if@twoside - \expandafter\@mkboth\expandafter{% - \expandafter\MakeMarkcase\expandafter{\scr@ds@head}}{}% - \else - \expandafter\@mkboth\expandafter{\expandafter}\expandafter{% - \expandafter\MakeMarkcase\expandafter{\scr@ds@head}}% - \fi + \addchapmark{\scr@ds@head}% }% -\newcommand*{\@saddchap}[1]{\@schapter{#1}\@mkboth{}{}}% +\newcommand*{\@saddchap}[1]{\@schapter{#1}\addchapmark{}}% % \end{macrocode} % \iffalse %<*book> @@ -2125,7 +2218,9 @@ % \changes{v3.10}{2011/08/30}{Verwendung von \cs{addsectiontocentry}} % \changes{v3.10}{2011/08/30}{Integration der Erweiterung für das optionale % Argument der Gliederungsbefehle} +% \changes{v3.12}{2013/02/26}{Verwendung von \cs{addsecmark}} % \begin{macro}{\@saddsec} +% \changes{v3.12}{2013/02/26}{Verwendung von \cs{addsecmark}} % \KOMAScript{} bietet in allen drei Hauptklassen den zusätzlichen % Gliederungsbefehl \cs{addsec}. Es handelt sich dabei um einen mit % \cs{section*} vergleichbaren Befehl, bei dem jedoch der @@ -2156,23 +2251,9 @@ \ifx\scr@ds@tocentry\@empty\else \addsectiontocentry{}{\scr@ds@tocentry}% \fi - \if@twoside -%<*article> - \expandafter\@mkboth\expandafter{% - \expandafter\MakeMarkcase\expandafter{\scr@ds@head}}{}% - \else - \expandafter\@mkboth\expandafter{\expandafter}\expandafter{% - \expandafter\MakeMarkcase\expandafter{\scr@ds@head}}% -%</article> -%<*report|book> - \ifx\@mkboth\markboth - \expandafter\markright\expandafter{% - \expandafter\MakeMarkcase{\scr@ds@head}}% - \fi -%</report|book> - \fi + \addsecmark{\scr@ds@head}% } -\newcommand*{\@saddsec}[1]{\section*{#1}\@mkboth{}{}} +\newcommand*{\@saddsec}[1]{\section*{#1}\addsecmark{}} % \end{macrocode} % \end{macro} % \end{macro} @@ -2264,14 +2345,16 @@ % letzter Konsequenz sollten hier eigentlich auch die Abstände % variabilisiert werden. Vielleicht in einer späteren Version. % \begin{macrocode} -\newcommand\section{\@startsection{section}{1}{\z@}% +\newcommand\section{% + \@startsection{section}{\sectionnumdepth}{\z@}% {-3.5ex \@plus -1ex \@minus -.2ex}% {2.3ex \@plus.2ex}% {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax \setlength{\parfillskip}{\z@ plus 1fil}\fi \raggedsection\normalfont\sectfont\nobreak\size@section}% } -\newcommand\subsection{\@startsection{subsection}{2}{\z@}% +\newcommand\subsection{% + \@startsection{subsection}{\subsectionnumdepth}{\z@}% {-3.25ex\@plus -1ex \@minus -.2ex}% {1.5ex \@plus .2ex}% {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax @@ -2279,7 +2362,8 @@ \raggedsection\normalfont\sectfont\nobreak\size@subsection }% } -\newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% +\newcommand\subsubsection{% + \@startsection{subsubsection}{\subsubsectionnumdepth}{\z@}% {-3.25ex\@plus -1ex \@minus -.2ex}% {1.5ex \@plus .2ex}% {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax @@ -2287,12 +2371,14 @@ \raggedsection\normalfont\sectfont\nobreak\size@subsubsection }% } -\newcommand\paragraph{\@startsection{paragraph}{4}{\z@}% +\newcommand\paragraph{% + \@startsection{paragraph}{\paragraphnumdepth}{\z@}% {3.25ex \@plus1ex \@minus.2ex}% {-1em}% {\raggedsection\normalfont\sectfont\nobreak\size@paragraph}% } -\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% +\newcommand\subparagraph{% + \@startsection{subparagraph}{\subparagraphnumdepth}{\parindent}% {3.25ex \@plus1ex \@minus .2ex}% {-1em}% {\raggedsection\normalfont\sectfont\nobreak\size@subparagraph}% @@ -2358,18 +2444,6 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\sectfont} -% \changes{v2.8c}{2001/06/29}{\cs{normalcolor} eingefügt} -% Dies Schriftart nicht nur für die Gliederungsbefehle. Dieses Makro -% ist als intern zu betrachten. Der Anwender sollte stattdessen das -% entsprtechende Fontelement verwenden. -% \begin{macrocode} -%</class> -\newcommand*\sectfont{\normalcolor\sffamily\bfseries} -%<*class> -% \end{macrocode} -% \end{macro} -% % \begin{KOMAfont}{partentry} % \changes{v2.97c}{2007/06/21}{neues Font-Element} % \changes{v3.06}{2010/06/09}{Verwendung von \texttt{sectioning} durch @@ -2534,6 +2608,7 @@ % \begin{macro}{\set@@@@preamble} % \changes{v2.8p}{2001/09/25}{neu (intern)} % \changes{v2.8q}{2001/11/27}{fehlende Klammern ergänzt} +% \changes{v3.12}{2012/10/16}{b mit derselben Funktion wie u erlaubt} % Da mehrere optionale Argumente nach einem obligatorischen Argument % auszuwerten sind, werden diverse Hilfsmakros benötigt. % \begin{macrocode} @@ -2581,9 +2656,15 @@ \if \@tempa u% \set@preamble@vpos{0}{#2}% \fi% + \if \@tempa b% + \set@preamble@vpox{0}{#2}% + \fi \if \@tempa o% \set@preamble@vpos{1}{#2}% \fi% + \if \@tempa t% + \set@preamble@vpos{1}{#2}% + \fi }% % \end{macrocode} % Wurde keine horizontale oder vertikale Ausrichtung definiert, so @@ -2656,9 +2737,9 @@ \ClassError{\KOMAClassName}{% inconsistent hpos options% }{% - You said `#2' as position option. But you have + You've said `#2' as position option. But you have to\MessageBreak - use only one from `l', `r' or `c' not two of + use only one of `l', `r', or `c' not two of these.\MessageBreak If you'll continue only first hpos option will be used% @@ -2681,9 +2762,9 @@ \ClassError{\KOMAClassName}{% inconsistent vpos options% }{% - You said `#2' as position option. But you have + You've said `#2' as position option. But you have to\MessageBreak - use only one from `o' or `u' not two of + use only one of `t', `o', `b', or `u' not two of these.\MessageBreak If you'll continue only first vpos option will be used% @@ -3056,7 +3137,7 @@ % \endinput % -% end of file `scrksect.dtx' +% end of file `scrkernel-sections.dtx' %%% Local Variables: %%% mode: doctex %%% coding: iso-latin-1 diff --git a/Master/texmf-dist/source/latex/koma-script/scrktitl.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-title.dtx index 0cc459846e6..3e961956ac3 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrktitl.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-title.dtx @@ -1,8 +1,8 @@ -% \CheckSum{557} +% \CheckSum{774} % \iffalse meta-comment % ====================================================================== -% scrktitl.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% scrkernel-title.dtx +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -19,8 +19,8 @@ % % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- -% scrktitl.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% scrkernel-title.dtx +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -55,17 +55,18 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scrktitl.dtx +%%% From File: $Id: scrkernel-title.dtx 1517 2013-11-21 13:02:39Z mjk $ %<*driver> % \fi -\ProvidesFile{scrktitl.dtx}[2009/07/14 v3.04a KOMA-Script (title pages)] +\ProvidesFile{scrkernel-title.dtx}[2013/10/31 v3.12 KOMA-Script + (title pages)] % \iffalse \documentclass[halfparskip-]{scrdoc} \usepackage[english,ngerman]{babel} \usepackage[latin1]{inputenc} \CodelineIndex \RecordChanges -\GetFileInfo{scrktitl.dtx} +\GetFileInfo{scrkernel-title.dtx} \title{\KOMAScript{} \partname\ \texttt{\filename}% \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} @@ -105,15 +106,18 @@ % % \subsection{Optionen der Titelei} % -% \begin{option}{titlepage} -% \changes{v2.95c}{2006/08/21}{als \textsf{keyval}-Option} -% \begin{option}{notitlepage} -% \changes{v2.95c}{2006/08/21}{Option ist obsolet} -% \changes{v3.01a}{2008/11/21}{standard statt obsolet} +% \begin{option}{titlepage} +% \changes{v2.95c}{2006/08/21}{als \textsf{keyval}-Option}^^A +% \changes{v3.12}{2013/11/21}{neuer Wert \texttt{firstiscover}} +% \begin{option}{notitlepage} +% \changes{v2.95c}{2006/08/21}{Option ist obsolet} +% \changes{v3.01a}{2008/11/21}{standard statt obsolet} % Es werden zei Arten von Titeln unterstützt. Da sind zum einen eigene % Titelseiten, zum anderen sogenannte Titelköpfe, also Titel, die nicht eine % eigene Seite erhalten, sondern am Anfang einer Seite stehen. Zwischen den -% beiden Arten wird mit einer Option umgeschaltet. +% beiden Arten wird mit einer Option umgeschaltet. Ab Version~3.12 unterstützt +% \KOMAScript{} außerdem die Einstellung \texttt{titlepage=firstiscover} bei +% der die erste Titelseite als Umschlagseite gesetzt wird. % \begin{macro}{\if@titlepage} % \begin{macro}{\@titlepagetrue} % \begin{macro}{\@titlepagefalse} @@ -132,7 +136,11 @@ \scr@ifundefinedorrelax{if@titlepage}{% \expandafter\newif\csname if@titlepage\endcsname \@titlepagefalse - }{} + }{}% + \scr@ifundefinedorrelax{if@titlepageiscoverpage}{% + \expandafter\newif\csname if@titlepageiscoverpage\endcsname + \@titlepageiscoverpagefalse + }{}% %</package&extend> % \end{macrocode} % \end{macro} @@ -140,7 +148,22 @@ % \end{macro} % \begin{macrocode} %<*class|package> -\KOMA@ifkey{titlepage}{@titlepage}% +%<class>\newif\if@titlepageiscoverpage +\KOMA@key{titlepage}[true]{% +%<!(package&extend)> \ifstr{#1}{firstiscover}{% +%<package&extend> \ifstr{##1}{firstiscover}{% + \@titlepagetrue + \@titlepageiscoverpagetrue + \FamilyKeyStateProcessed + }{% + \def\FamilyElseValue{, `firstiscover'}% +%<!(package&extend)> \KOMA@set@ifkey{titlepage}{@titlepage}{#1}% +%<package&extend> \KOMA@set@ifkey{titlepage}{@titlepage}{##1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \@titlepageiscoverpagefalse + \fi + }% +} %<*extend> % \end{macrocode} % Diese Erweiterung soll dann auch tatsächlich sofort aktiviert werden: @@ -298,61 +321,137 @@ % \end{macro} % \end{macro} % -% \begin{macro}{\next@tpage} -% \changes{v2.3b}{1995/07/24}{\cs{null} entfernt.} -% \changes{v2.3g}{1996/01/14}{\cs{newpage} durch \cs{clearpage} -% ersetzt} -% Innerhalb eines Titels auf die nächste Seite umschalten. +% \begin{macro}{\next@tpage} +% \changes{v2.3b}{1995/07/24}{\cs{null} entfernt.} +% \changes{v2.3g}{1996/01/14}{\cs{newpage} durch \cs{clearpage} ersetzt} +% \changes{v3.11c}{2013/02/14}{Fußnoten der letzten Titelseite ausgeben} +% \changes{v3.11c}{2013/02/14}{Fußnoten für die nächste Titelseite +% initialisieren} +% \begin{macro}{\next@tdpage} +% \changes{v3.11c}{2013/02/14}{neue Anweisung (intern)} +% \changes{v3.12}{2013/11/21}{\cs{titlepage@restore} hinzugefügt} +% Innerhalb eines Titels auf die nächste Seite bzw. nächste rechte Seite +% umschalten. % \begin{macrocode} -\newcommand*{\next@tpage}{\clearpage\thispagestyle{empty}}% +\newcommand*{\next@tpage}{% + \@thanks\global\let\@thanks\@empty + \clearpage + \csname titlepage@restore\endcsname + \thispagestyle{empty}% + \let\footnote\thanks + \setcounter{footnote}{0}% +} +\newcommand*{\next@tdpage}{% + \next@tpage\if@twoside \ifodd\value{page}\else\null\next@tpage\fi\fi +} % \end{macrocode} -% \end{macro} -% \begin{macro}{\maketitle} +% \end{macro} +% \end{macro} +% \begin{macro}{\maketitle} +% \changes{v3.11c}{2013/02/14}{Schmutztitel bei Titelkopf in eigene +% Anweisung verlagert}% +% \changes{v3.11c}{2013/02/14}{Verwendung von \cs{next@tdpage}}% % Mit dieser Anweisung wird der Titel generiert, dessen Inhalt zuvor % gesetzt wurde. Es muss unterschieden werden, ob der Titel auf einer % eigenen Titelseite oder als Seitenkopf erstellt werden soll. Der % \KOMAScript-Titel ist u.\,U. sehr groß. Im Fall dass diverse % Zusatzelemente verwendet werden, sollte eigentlich immer eine -% Titelseite verwendet werden. -% \changes{v2.1a}{1994/10/29}{das Hilfskonstrukt \cs{@maketitle} -% wurde aus der Unterscheidung herausgenommen (für den Fall, dass -% \cs{maketitle} von einem Paket überladen wird)} -% \changes{v2.3a}{1995/07/08}{\texttt{plus} durch \cs{@plus} -% ersetzt} -% \changes{v2.3a}{1995/07/08}{\texttt{fill} durch \cs{fill} -% ersetzt} -% \changes{v2.3d}{1995/08/19}{\cs{fill} durch \texttt{fill} -% ersetzt} -% \changes{v2.3a}{1995/07/08}{\cs{vfil} durch \cs{vfill} ersetzt} -% \changes{v2.3b}{1995/07/24}{Umbruch bei \cs{@extratitle} in der -% beidseitigen Titelseite korrigiert} -% \changes{v2.3g}{1996/01/14}{\cs{footnote} funktioniert nun auch -% im Titel} -% \changes{v2.4}{1996/02/25}{\cs{footnote} funktioniert nun -% wirklich im Titel} -% \changes{v2.4h}{1996/11/09}{egal ob der Titel auf eine Extraseite -% kommt oder nicht, \cs{@title} wird mit \cs{sectfont} gesetzt, -% wobei die Größe neuerdings danach eingestellt wird} -% \changes{v2.4l}{1997/02/06}{symbolische Fußnoten und -% Fußnotensymbolbreiten von 0\,pt zur besseren Zentrierung des -% Autors sind auch bei Titelseiten angebracht} -% \changes{v2.8p}{2001/09/22}{\cs{titlefont} an Stelle von -% \cs{sectfont}} -% \changes{v2.95c}{2006/08/21}{Absatzgrundeinstellungen} -% \changes{v2.97c}{2007/08/31}{Vakatseiten in der Titelei immer im -% Seitenstil \texttt{empty}} -% \changes{v3.04a}{2009/07/14}{die Unterscheidung, ob Titelseite oder -% Titelkopf sollte erst in \cs{maketitle} und nicht schon bei dessen -% Definition erfolgen} +% Titelseite verwendet werden.% +% \changes{v2.1a}{1994/10/29}{das Hilfskonstrukt \cs{@maketitle} +% wurde aus der Unterscheidung herausgenommen (für den Fall, dass +% \cs{maketitle} von einem Paket überladen wird)}% +% \changes{v2.3a}{1995/07/08}{\texttt{plus} durch \cs{@plus} +% ersetzt}% +% \changes{v2.3a}{1995/07/08}{\texttt{fill} durch \cs{fill} +% ersetzt}% +% \changes{v2.3d}{1995/08/19}{\cs{fill} durch \texttt{fill} +% ersetzt}% +% \changes{v2.3a}{1995/07/08}{\cs{vfil} durch \cs{vfill} ersetzt}% +% \changes{v2.3b}{1995/07/24}{Umbruch bei \cs{@extratitle} in der +% beidseitigen Titelseite korrigiert}% +% \changes{v2.3g}{1996/01/14}{\cs{footnote} funktioniert nun auch +% im Titel}% +% \changes{v2.4}{1996/02/25}{\cs{footnote} funktioniert nun +% wirklich im Titel}% +% \changes{v2.4h}{1996/11/09}{egal ob der Titel auf eine Extraseite +% kommt oder nicht, \cs{@title} wird mit \cs{sectfont} gesetzt, +% wobei die Größe neuerdings danach eingestellt wird}% +% \changes{v2.4l}{1997/02/06}{symbolische Fußnoten und +% Fußnotensymbolbreiten von 0\,pt zur besseren Zentrierung des +% Autors sind auch bei Titelseiten angebracht}% +% \changes{v2.8p}{2001/09/22}{\cs{titlefont} an Stelle von +% \cs{sectfont}}% +% \changes{v2.95c}{2006/08/21}{Absatzgrundeinstellungen}% +% \changes{v2.97c}{2007/08/31}{Vakatseiten in der Titelei immer im +% Seitenstil \texttt{empty}}% +% \changes{v3.04a}{2009/07/14}{die Unterscheidung, ob Titelseite oder +% Titelkopf sollte erst in \cs{maketitle} und nicht schon bei dessen +% Definition erfolgen}% +% \changes{v3.12}{2013/05/29}{Verwendung neuer Font-Elemente +% \texttt{titlehead}, \texttt{author}, \texttt{date}, \texttt{publishers}, +% \texttt{dedication}}% % \begin{macrocode} %<package&extend>\let\maketitle\relax\let\@maketitle\relax \newcommand*\maketitle[1][1]{% +% \end{macrocode} +% Da ab Version~3.12 auch mehrere \cs{maketitle} möglich sind, muss ggf. für +% eine korrekte Definition von \cs{and} gesorgt werden: +% \begin{macrocode} + \expandafter\ifnum \csname scr@v@3.12\endcsname>\scr@compatibility\relax + \else + \def\and{% + \end{tabular}% + \hskip 1em \@plus.17fil% + \begin{tabular}[t]{c}% + }% + \fi +% \end{macrocode} +% Es folgt die eigentliche Definition, die davon abhängt, ob wir uns im +% doppelseitigen Modus befinden oder nicht. +% \begin{macrocode} \if@titlepage \begin{titlepage} \setcounter{page}{% %<extend> ##1% %<!extend> #1% }% +% \end{macrocode} +% \changes{v3.12}{2013/11/21}{Berücksichtigung von +% \texttt{titlepage!=firstiscover}}^^A +% Ab Version~3.12 gibt es hier eine Sonderbehandlung für die erste Titelseite, +% falls es sich dabei um eine Umschlagsseite handeln soll. In diesem Fall +% werden die Maße der Seite verändert, was später per \cs{titlepage@restore} +% ggf. wieder zurückgenommen wird. +% \begin{macrocode} + \if@titlepageiscoverpage + \edef\titlepage@restore{% + \noexpand\endgroup + \noexpand\global\noexpand\@colht\the\@colht + \noexpand\global\noexpand\@colroom\the\@colroom + \noexpand\global\vsize\the\vsize + \noexpand\global\noexpand\@titlepageiscoverpagefalse + \noexpand\let\noexpand\titlepage@restore\noexpand\relax + }% + \begingroup + \topmargin=\dimexpr \coverpagetopmargin-1in\relax + \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax + \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax + \textwidth=\dimexpr + \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax + \textheight=\dimexpr + \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax + \headheight=0pt + \headsep=0pt + \footskip=\baselineskip + \@colht=\textheight + \@colroom=\textheight + \vsize=\textheight + \columnwidth=\textwidth + \hsize=\columnwidth + \linewidth=\hsize + \else + \let\titlepage@restore\relax + \fi \let\footnotesize\small \let\footnoterule\relax \let\footnote\thanks @@ -360,54 +459,84 @@ \let\@oldmakefnmark\@makefnmark \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark}% \ifx\@extratitle\@empty \else - \noindent\@extratitle\next@tpage\cleardoubleemptypage - \thispagestyle{empty}% + \noindent\@extratitle\next@tdpage \fi %<!extend> \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative %<extend> \parskip\z@ \parindent\z@ \parfillskip\z@\@plus 1fil \ifx\@titlehead\@empty \else \begin{minipage}[t]{\textwidth}% - \@titlehead + \usekomafont{titlehead}{\@titlehead\par}% \end{minipage}\par \fi \null\vfill \begin{center} \ifx\@subject\@empty \else - {\subject@font \@subject \par}% + {\usekomafont{subject}{\@subject\par}}% \vskip 3em \fi - {\titlefont\huge \@title\par}% + {\usekomafont{title}{\huge \@title\par}}% \vskip 1em - {\ifx\@subtitle\@empty\else\usekomafont{subtitle}\@subtitle\par\fi}% + {\ifx\@subtitle\@empty\else\usekomafont{subtitle}{\@subtitle\par}\fi}% \vskip 2em - {\Large \lineskip 0.75em - \begin{tabular}[t]{c} - \@author - \end{tabular}\par + {% + \usekomafont{author}{% + \lineskip 0.75em + \begin{tabular}[t]{c} + \@author + \end{tabular}\par + }% }% \vskip 1.5em - {\Large \@date \par}% + {\usekomafont{date}{\@date \par}}% \vskip \z@ \@plus3fill - {\Large \@publishers \par}% + {\usekomafont{publishers}{\@publishers \par}}% \vskip 3em \end{center}\par - \@thanks + \@thanks\let\@thanks\@empty \vfill\null - \if@twoside\next@tpage - \begin{minipage}[t]{\textwidth} - \@uppertitleback - \end{minipage}\par - \vfill - \begin{minipage}[b]{\textwidth} - \@lowertitleback - \end{minipage} + \if@twoside +% \end{macrocode} +% \changes{v3.12}{2013/11/21}{Rückseite wird nur bei Bedarf ausgegeben.}^^A +% Ab Version~3.12 wird die Rückseite der Titelseite nur noch bei Bedarf +% ausgegeben. Das gilt aber nur, wenn keine Kompatibilität mit früheren +% Versionen verlangt ist. +% \begin{macrocode} + \@tempswatrue + \expandafter\ifnum \@nameuse{scr@v@3.12}>\scr@compatibility\relax + \else + \ifx\@uppertitleback\@empty\ifx\@lowertitleback\@empty + \@tempswafalse + \fi\fi + \fi + \if@tempswa + \next@tpage + \begin{minipage}[t]{\textwidth} + \@uppertitleback + \end{minipage}\par + \vfill + \begin{minipage}[b]{\textwidth} + \@lowertitleback + \end{minipage}\par + \@thanks\let\@thanks\@empty + \fi \fi - \ifx\@dedication\@empty \else - \next@tpage\null\vfill - {\centering \Large \@dedication \par}% + \ifx\@dedication\@empty + \else + \next@tdpage\null\vfill + {\centering\usekomafont{dedication}{\@dedication \par}}% \vskip \z@ \@plus3fill - \if@twoside \next@tpage\cleardoubleemptypage \fi + \@thanks\let\@thanks\@empty +% \end{macrocode} +% \changes{v3.12}{2013/10/31}{Nach der Widmung kein \cs{next@tdpage}, +% sondern nur \cs{cleardoubleemptypage}}^^A +% \begin{macrocode} + \cleardoubleemptypage \fi +% \end{macrocode} +% Falls wir uns noch immer auf einer Umschlagseite befinden, muss diese hier +% beendet werden. +% \begin{macrocode} + \ifx\titlepage@restore\relax\else\clearpage\titlepage@restore\fi \end{titlepage} % \end{macrocode} % \changes{v2.3a}{1995/07/08}{Verwendung von \cs{@makefnmark} in @@ -438,107 +567,166 @@ }% \fi \begingroup + \let\titlepage@restore\relax \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% \let\@oldmakefnmark\@makefnmark \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark} + \next@tdpage \if@twocolumn \ifnum \col@number=\@ne + \@makeextratitle + \next@tdpage \@maketitle \else + \ifx\@extratitle\@empty\else + \twocolumn[\@makeextratitle]\next@tdpage + \fi \twocolumn[\@maketitle]% \fi \else - \newpage - \global\@topnum\z@ + \@makeextratitle \@maketitle \fi \thispagestyle{\titlepagestyle}\@thanks \endgroup \fi \setcounter{footnote}{0}% - \let\thanks\relax - \let\maketitle\relax - \let\@maketitle\relax +% \end{macrocode} +% \changes{v3.12}{2013/11/21}{die Titelei wird nur noch bei Kompatibilität +% zu früheren Versionen zerstört} +% \begin{macrocode} + \expandafter\ifnum \csname scr@v@3.12\endcsname>\scr@compatibility\relax + \let\thanks\relax + \let\maketitle\relax + \let\@maketitle\relax % \end{macrocode} % \changes{v2.3g}{1996/01/14}{Verwendung von \cs{global}\cs{let} % statt \cs{gdef}, um Speicher zu sparen} % \changes{v2.3g}{1996/01/14}{\cs{@date} und \cs{title} % u.\,ä. ebenfalls löschen, um Speicher zu sparen} % \begin{macrocode} - \global\let\@thanks\@empty - \global\let\@author\@empty - \global\let\@date\@empty - \global\let\@title\@empty - \global\let\@subtitle\@empty - \global\let\@extratitle\@empty - \global\let\@titlehead\@empty - \global\let\@subject\@empty - \global\let\@publishers\@empty - \global\let\@uppertitleback\@empty - \global\let\@lowertitleback\@empty - \global\let\@dedication\@empty - \global\let\author\relax - \global\let\title\relax - \global\let\extratitle\relax - \global\let\titlehead\relax - \global\let\subject\relax - \global\let\publishers\relax - \global\let\uppertitleback\relax - \global\let\lowertitleback\relax - \global\let\dedication\relax - \global\let\date\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\@subtitle\@empty + \global\let\@extratitle\@empty + \global\let\@titlehead\@empty + \global\let\@subject\@empty + \global\let\@publishers\@empty + \global\let\@uppertitleback\@empty + \global\let\@lowertitleback\@empty + \global\let\@dedication\@empty + \global\let\author\relax + \global\let\title\relax + \global\let\extratitle\relax + \global\let\titlehead\relax + \global\let\subject\relax + \global\let\publishers\relax + \global\let\uppertitleback\relax + \global\let\lowertitleback\relax + \global\let\dedication\relax + \global\let\date\relax + \fi \global\let\and\relax }% % \end{macrocode} -% \begin{macro}{\@maketitle} -% \changes{v2.95c}{2006/08/21}{Absatzgrundeinstellungen} +% \begin{macro}{\@maketitle} +% \changes{v2.95c}{2006/08/21}{Absatzgrundeinstellungen} +% \changes{v3.11c}{2012/02/14}{Schmutztitel in eigene Anweisung verlagert} +% \begin{macro}{\@makeextratitle} +% \changes{v3.11c}{2013/02/14}{neue Anweisung (intern)} % Damit wird im Fall des Titelkopfes die eigentliche Arbeit geleistet. % \begin{macrocode} -\newcommand*{\@maketitle}{% - \clearpage - \let\footnote\thanks +\newcommand*{\@makeextratitle}{% + \next@tdpage \ifx\@extratitle\@empty \else - \noindent\@extratitle \next@tpage \if@twoside \null\next@tpage \fi + \noindent\@extratitle \next@tdpage \fi +} +\newcommand*{\@maketitle}{% + \next@tdpage + \global\@topnum=\z@ %<!extend> \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative %<extend> \parskip\z@ \parindent\z@ \parfillskip\z@\@plus 1fil \ifx\@titlehead\@empty \else \begin{minipage}[t]{\textwidth} - \@titlehead + \usekomafont{titlehead}{\@titlehead\par}% \end{minipage}\par \fi \null \vskip 2em% \begin{center}% \ifx\@subject\@empty \else - {\subject@font \@subject \par} + {\usekomafont{subject}{\@subject \par}}% \vskip 1.5em \fi - {\titlefont\huge \@title \par}% + {\usekomafont{title}{\huge \@title \par}}% \vskip .5em {\ifx\@subtitle\@empty\else\usekomafont{subtitle}\@subtitle\par\fi}% \vskip 1em - {\Large - \lineskip .5em% - \begin{tabular}[t]{c} - \@author - \end{tabular}\par + {% + \usekomafont{author}{% + \lineskip .5em% + \begin{tabular}[t]{c} + \@author + \end{tabular}\par + }% }% \vskip 1em% - {\Large \@date \par}% + {\usekomafont{date}{\@date \par}}% \vskip \z@ \@plus 1em - {\Large \@publishers \par} + {\usekomafont{publishers}{\@publishers \par}}% \ifx\@dedication\@empty \else \vskip 2em - {\Large \@dedication \par} + {\usekomafont{dedication}{\@dedication \par}}% \fi \end{center}% \par \vskip 2em }% % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\coverpagetopmargin} +% \changes{v3.12}{2013/11/21}{neu} +% Oberer Rand für Umschlagsseiten. +% \begin{macrocode} +\newcommand*{\coverpagetopmargin}{% + \dimexpr \topmargin+1in\relax +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\coverpagebottommargin} +% \changes{v3.12}{2013/11/21}{neu} +% Unterer Rand für Umschlagsseiten. +% \begin{macrocode} +\newcommand*{\coverpagebottommargin}{% + 2\dimexpr\coverpagetopmargin\relax +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\coverpageleftmargin} +% \changes{v3.12}{2013/11/21}{neu} +% Linker Rand für Umschlagsseiten. +% \begin{macrocode} +\newcommand*{\coverpageleftmargin}{% + \dimexpr \evensidemargin+1in\relax +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\coverpagerightmargin} +% \changes{v3.12}{2013/11/21}{neu} +% Oberer Rand für Umschlagsseiten. +% \begin{macrocode} +\newcommand*{\coverpagerightmargin}{\coverpageleftmargin} +% \end{macrocode} +% \end{macro} % % % \subsection{Umgebung für die Titelseite} @@ -575,16 +763,16 @@ % % \subsection{Fonts für den Titel} % -% \begin{macro}{\titlefont} -% \changes{v2.8p}{2001/09/22}{neu} +% \begin{macro}{\titlefont} +% \changes{v2.8p}{2001/09/22}{neu} % Wie oben zu sehen ist, wird in der Titelei ein eigenes Schriftmakro % verwendet. Dieses ist als internes Makro zu verstehen. Der Anwender % sollte stattdessen auf das entsprechende Element zugreifen (siehe % unten). -% \begin{macro}{\subject@font} -% \changes{v2.8q}{2002/01/14}{neu (intern)} -% \changes{v2.95}{2002/06/26}{jetzt auch bei \textsf{scrbook}, -% \textsf{scrreprt} und \textsf{scrartcl}} +% \begin{macro}{\subject@font} +% \changes{v2.8q}{2002/01/14}{neu (intern)} +% \changes{v2.95}{2002/06/26}{jetzt auch bei \textsf{scrbook}, +% \textsf{scrreprt} und \textsf{scrartcl}} % Ebenso verhält es sich mit den \emph{Subject} im Titel. Hier ist % aber von vornherein ein internes Makro definiert. % \begin{macrocode} @@ -595,12 +783,46 @@ % \end{macro} % % \begin{KOMAfont}{subtitle} -% \changes{v2.97c}{2007/06/20}{neu (intern)} +% \changes{v2.97c}{2007/06/20}{neu} % \begin{macrocode} \newkomafont{subtitle}{\usekomafont{title}\large}% % \end{macrocode} % \end{KOMAfont} % +% \begin{KOMAfont}{titlehead} +% \changes{v3.12}{2013/05/29}{neu} +% \begin{macrocode} +\newkomafont{titlehead}{}% +% \end{macrocode} +% \end{KOMAfont} +% +% \begin{KOMAfont}{author} +% \changes{v3.12}{2013/05/29}{neu} +% \begin{macrocode} +\newkomafont{author}{\Large} +% \end{macrocode} +% \end{KOMAfont} +% +% \begin{KOMAfont}{date} +% \changes{v3.12}{2013/05/29}{neu} +% \begin{macrocode} +\newkomafont{date}{\Large} +% \end{macrocode} +% \end{KOMAfont} +% +% \begin{KOMAfont}{publishers} +% \changes{v3.12}{2013/05/29}{neu} +% \begin{macrocode} +\newkomafont{publishers}{\Large} +% \end{macrocode} +% \end{KOMAfont} +% +% \begin{KOMAfont}{dedication} +% \changes{v3.12}{2013/05/29}{neu} +% \begin{macrocode} +\newkomafont{dedication}{\Large} +% \end{macrocode} +% \end{KOMAfont} % % \begin{macro}{\scr@fnt@title} % \changes{v2.8o}{2001/09/14}{neues Element \texttt{title}} @@ -695,7 +917,7 @@ % \endinput % -% end of file `scrktitl.dtx' +% end of file `scrkernel-title.dtx' %%% Local Variables: %%% mode: doctex %%% TeX-master: t diff --git a/Master/texmf-dist/source/latex/koma-script/scrktare.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-typearea.dtx index adf12ac821a..44bfbf9fb9c 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrktare.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-typearea.dtx @@ -1,8 +1,8 @@ -% \CheckSum{2087} +% \CheckSum{2328} % \iffalse meta-comment % ====================================================================== -% scrktare.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% scrkernel-typearea.dtx +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -19,8 +19,8 @@ % % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- -% scrktare.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% scrkernel-typearea.dtx +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -55,21 +55,47 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scrktare.dtx +%%% From File: $Id: scrkernel-typearea.dtx 1512 2013-11-11 10:35:04Z mjk $ +%<package&identify>\NeedsTeXFormat{LaTeX2e}[1995/06/01] %<*driver> -% \fi -\ProvidesFile{scrktare.dtx}[2012/04/17 v3.11 KOMA-Script (type area)] -% \iffalse +\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ProvidesFile{scrkernel-typearea.dtx}[% %</driver> -%<package&identify>\ProvidesPackage{typearea}[% -%<package&identify> \KOMAScriptVersion\space package (type area)] +%<*driver|(package&identify)> +%<package>\ProvidesPackage{typearea}[% +%!KOMAScriptVersion + package (type area)] +%</driver|(package&identify)> +%<*dtx> +\ifx\documentclass\undefined + \input scrdocstrip.tex + \@@input scrkernel-version.dtx + \@@input scrstrip.inc + \generate{\usepreamble\defaultpreamble + \file{typearea.sty}{% + \from{scrkernel-version.dtx}{package,typearea}% + \from{scrkernel-typearea.dtx}{package,identify}% + \from{scrkernel-basics.dtx}{load}% + \from{scrkernel-typearea.dtx}{package,option}% + \from{scrkernel-compatibility.dtx}{package,typearea,option}% + \from{scrkernel-typearea.dtx}{package,body}% + \from{scrkernel-compatibility.dtx}{package,typearea,body}% + \from{scrlogo.dtx}{logo}% + }% + } + \@@input scrstrop.inc +\else + \let\endbatchfile\relax +\fi +\endbatchfile +%</dtx> %<*driver> \documentclass{scrdoc} \usepackage[english,ngerman]{babel} \usepackage[latin1]{inputenc} \CodelineIndex \RecordChanges -\GetFileInfo{scrktare.dtx} +\GetFileInfo{scrkernel-typearea.dtx} \title{\KOMAScript{} \partname\ \texttt{\filename}% \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} \date{\filedate} @@ -491,33 +517,60 @@ % % \begin{option}{headlines} % \changes{v2.95}{2002/12/06}{mit \textsf{keyval} neu implementiert} +% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit +% \cs{FamilyKeyState}} +% \begin{option}{footlines} +% \changes{v3.12}{2013/03/26}{neue Option} % Neben der Auswertung der \meta{Wert}\texttt{headlines} Form über % Pattern Matching wird hier auch noch eine \textsf{keyval}-Option -% definiert, die bevorzugt zu verwenden ist. +% definiert, die bevorzugt zu verwenden ist. Für den Fuß wird überhaupt nur +% diese Form bereit gestellt. % \begin{macrocode} \KOMA@key{headlines}{% \begingroup \setlength{\@tempdima}{#1\baselineskip}% \endgroup \def\ta@hh{#1\baselineskip}% + \FamilyKeyStateProcessed +} +\KOMA@key{footlines}{% + \begingroup + \setlength{\@tempdima}{#1\baselineskip}% + \endgroup + \def\ta@fh{#1\baselineskip}% + \FamilyKeyStateProcessed } % \end{macrocode} % \end{option} +% \end{option} % % \begin{option}{headheight} % \changes{v2.98c}{2008/04/06}{neue Option} +% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit +% \cs{FamilyKeyState}} +% \begin{option}{footheight} +% \changes{v3.12}{2013/03/26}{neue Option} % Manchmal ist es nützlicher, wenn man die Höhe direkt setzen kann, statt sie % über die Anzahl der Grundlinien zu setzen. In dem Fall nimmt man einfach -% diese Option. +% diese Optionen. % \begin{macrocode} \KOMA@key{headheight}{% \begingroup \setlength{\@tempdima}{#1}% \endgroup \def\ta@hh{#1}% + \FamilyKeyStateProcessed +} +\KOMA@key{footheight}{% + \begingroup + \setlength{\@tempdima}{#1}% + \endgroup + \def\ta@fh{#1}% + \FamilyKeyStateProcessed } % \end{macrocode} % \end{option} +% \end{option} % % \begin{option}{headinclude} % \changes{v2.95}{2002/07/08}{Verwendung von \textsf{scrkeyvl}} @@ -603,10 +656,12 @@ % \end{option} % \end{option} % -% \begin{option}{BCOR} -% \changes{v2.2a}{1995/01/25}{neue Option} -% \changes{v2.95}{2002/12/04}{als \textsf{keyval}-Option -% implementiert} +% \begin{option}{BCOR} +% \changes{v2.2a}{1995/01/25}{neue Option} +% \changes{v2.95}{2002/12/04}{als \textsf{keyval}-Option +% implementiert} +% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit +% \cs{FamilyKeyState}} % Der Wert wird einfach an die Länge \cs{ta@bcor} verfüttert, wobei % symbolische Werte speziell behandelt werden, auch wenn sie beim % Laden des Pakets absolut keinen Sinn ergeben! @@ -615,6 +670,7 @@ \edef\@tempa{#1}\edef\@tempb{current}\ifx\@tempa\@tempb\else \setlength{\ta@bcor}{#1}% \fi + \FamilyKeyStateProcessed } % \end{macrocode} % Wenn allerdings der Satzspiegel bereits berechnet ist, dann muss er @@ -622,12 +678,14 @@ % \begin{macrocode} \AtEndOfPackage{\KOMA@key{BCOR}{\typearea[{#1}]{last}}} % \end{macrocode} -% \end{option} +% \end{option} % -% \begin{option}{DIV} -% \changes{v2.2a}{1995/01/25}{neue Option} -% \changes{v2.95}{2002/12/04}{als \textsf{keyval}-Option -% implementiert} +% \begin{option}{DIV} +% \changes{v2.2a}{1995/01/25}{neue Option} +% \changes{v2.95}{2002/12/04}{als \textsf{keyval}-Option +% implementiert} +% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit +% \cs{FamilyKeyState}} % Der Wert wird einfach an den Zähler \cs{ta@div} verfüttert, wobei % symbolische Werte speziell behandelt werden. Dabei werden auch die % Werte "`\texttt{last}"' und "`\texttt{current}"' ausgewertet, auch @@ -637,14 +695,15 @@ \edef\@tempa{#1}% \def\@tempb{last}\ifx\@tempa\@tempb\let\@tempa=\@lastdiv\fi \def\@tempb{current}\ifx\@tempa\@tempb\else - \def\@tempb{default}\ifx\@tempa\@tempb\ta@div=0 \else - \def\@tempb{calc}\ifx\@tempa\@tempb\ta@div=2 \else - \def\@tempb{classic}\ifx\@tempa\@tempb\ta@div=3 \else + \def\@tempb{default}\ifx\@tempa\@tempb\ta@div=\z@ \else + \def\@tempb{calc}\ifx\@tempa\@tempb\ta@div=\tw@ \else + \def\@tempb{classic}\ifx\@tempa\@tempb\ta@div=\thr@@ \else \ta@div=\@tempa \fi \fi \fi \fi + \FamilyKeyStateProcessed } % \end{macrocode} % Wenn allerdings der Satzspiegel bereits berechnet ist, dann muss er @@ -701,9 +760,11 @@ % Option an das Paket weiter} % \changes{v3.00}{2008/07/09}{die Option kennt zusätzlich den Wert % \texttt{semi}} -% \begin{macro}{if@semitwoside} +% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit +% \cs{FamilyKeyState}} +% \begin{macro}{\if@semitwoside} % \changes{v3.00}{2008/07/09}{neuer Schalter (intern)} -% \begin{macro}{if@twoside} +% \begin{macro}{\if@twoside} % \changes{v3.00}{2008/07/09}{Schalter setzt auch \cs{if@semitwoside}} % Einseitiger oder zweiseitiger Satzspiegel? % \begin{macrocode} @@ -722,6 +783,7 @@ \ifstr{#1}{semi}{% \@twosidetrue \@semitwosidetrue + \FamilyKeyStateProcessed }{% \def\FamilyElseValue{, `semi'}% \KOMA@set@ifkey{twoside}{@twoside}{#1}% @@ -761,6 +823,8 @@ % Option an das Paket weiter} % \changes{v2.98a}{2007/01/08}{es wird die richtige Option an das Paket % weitergereicht} +% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit +% \cs{FamilyKeyState}} % Einspaltiger oder zweispaltiger Satz? % \begin{macrocode} %</package> @@ -769,7 +833,9 @@ %<*package> \if@atdocument\clearpage\fi \KOMA@set@ifkey{twocolumn}{@twocolumn}{#1}% - \csname recalctypearea\endcsname + \ifx\FamilyKeyState\FammilyKeyStateProcessed + \csname recalctypearea\endcsname + \fi %</package> } \KOMA@DeclareStandardOption% @@ -790,6 +856,8 @@ % \changes{v2.95}{2002/08/27}{neu implementiert} % \changes{v3.02c}{2009/02/14}{neuer Wert \texttt{false}} % \changes{v3.05a}{2010/03/18}{neuer Wert \texttt{dvipdfmx}} +% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit +% \cs{FamilyKeyState}} % Diese Option ist nun das zentrale Element für die Übermittlung der % Seitengröße an pdf\TeX, \texttt{dvips} oder V\TeX. Sie wird auch von % den obsoleten Optionen verwendet. Die Werte und ihre Bedeutung: @@ -817,26 +885,32 @@ {off}{-1},{no}{-1},{false}{-1},% {auto}{0},{automedia}{1},{dvips}{2},{pdftex}{3},{dvipdfmx}{4}% }{#1}% - \ifcase\number\@tempa\relax - \endgroup - \set@pdftexpagesize - \set@dvipspagesize - \or - \endgroup - \set@pdftexpagesize - \set@vtexpagesize - \set@dvipspagesize - \or - \endgroup - \set@dvipspagesize - \or - \endgroup - \set@pdftexpagesize - \or - \endgroup - \set@dvipdfmxpagesize + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \aftergroup\FamilyKeyStateProcessed + \ifcase\number\@tempa\relax + \endgroup + \set@pdftexpagesize + \set@dvipspagesize + \or + \endgroup + \set@pdftexpagesize + \set@vtexpagesize + \set@dvipspagesize + \or + \endgroup + \set@dvipspagesize + \or + \endgroup + \set@pdftexpagesize + \or + \endgroup + \set@dvipdfmxpagesize + \fi + \edef\@pagesizelast{#1}% + \else + \endgroup + \FamilyKeyStateUnknownValue \fi - \edef\@pagesizelast{#1}% } % \end{macrocode} % @@ -846,6 +920,9 @@ % \changes{v2.95}{2002/08/27}{neu (intern)} % \changes{v3.02c}{2009/02/13}{\texttt{seascape} wird beachtet} % \changes{v3.02c}{2009/02/14}{funktioniert auch im Dokument} +% \changes{v3.12}{2012/02/06}{nicht ausgeführtes +% \cs{let}\cs{if@tempswa}\cs{if@dvips} funktioniert auch noch, wenn +% letzteres nicht definiert ist} % \begin{macro}{\setnot@dvipspagesize} % \changes{v2.95}{2002/08/27}{neu (intern)} % \begin{macro}{\set@dvipdfmxpagesize} @@ -854,6 +931,7 @@ % \changes{v2.95}{2002/08/27}{neu (intern)} % \begin{macro}{\scr@updatedvipspagesize} % \changes{v3.02c}{2009/02/14}{neu (intern)} +% \changes{v3.12}{2013/05/10}{deaktiviert, wenn \cs{XeTeXversion} existiert} % Damit die Option \texttt{pagesize} überhaupt funktionieren kann, % werden einige interne Makros benötigt. % \begin{description} @@ -873,7 +951,10 @@ \begingroup \@tempswafalse \scr@ifdvioutput{\@tempswatrue}{% - \ifnotundefined{if@dvips}{\let\if@tempswa\if@dvips}{}% + \ifnotundefined{if@dvips}{% + \expandafter\let\csname if@tempswa\expandafter\endcsname + \csname if@dvips\endcsname + }{}% }% \if@tempswa \endgroup @@ -919,15 +1000,17 @@ \let\set@vtexpagesize=\@empty } \newcommand*{\scr@updatedvipspagesize}{% - \special{ps::\@percentchar\@percentchar - PageBoundingBox: 0 0 \the\numexpr\paperwidth/\dimexpr 1bp\relax\relax - \space \the\numexpr\paperheight/\dimexpr 1bp\relax\relax^^J% - \@percentchar\@percentchar BeginPageSetup^^J% - << /PageSize [\the\numexpr\paperwidth/\dimexpr 1bp\relax\relax\space - \the\numexpr\paperheight/\dimexpr 1bp\relax\relax] - >> setpagedevice^^J%<< - 0 0 bop^^J% - \@percentchar\@percentchar EndPageSetup}% + \scr@ifundefinedorrelax{XeTeXversion}{% + \special{ps::\@percentchar\@percentchar + PageBoundingBox: 0 0 \the\numexpr\paperwidth/\dimexpr 1bp\relax\relax + \space \the\numexpr\paperheight/\dimexpr 1bp\relax\relax^^J% + \@percentchar\@percentchar BeginPageSetup^^J% + << /PageSize [\the\numexpr\paperwidth/\dimexpr 1bp\relax\relax\space + \the\numexpr\paperheight/\dimexpr 1bp\relax\relax] + >> setpagedevice^^J%<< + 0 0 bop^^J% + \@percentchar\@percentchar EndPageSetup}% + }{}% } \AtBeginDocument{% \renewcommand*{\set@pdftexpagesize}{% @@ -936,12 +1019,33 @@ }% \ifnum \scr@compatibility>\@nameuse{scr@v@3.02b}\relax \renewcommand*{\set@dvipspagesize}{% - \scr@ifundefinedorrelax{AtNextShipout}{% - \scr@ifundefinedorrelax{AtBeginShipoutNext}{% - \begingroup - \protected@edef\reserved@a{\endgroup - \scr@updatedvipspagesize}\reserved@a - }{% +% \end{macrocode} +% \changes{v3.12}{2012/11/23}{nur im DVI- und PS-Fall das Papierformatupdate +% durchführen} +% \changes{v3.12}{2012/02/06}{nicht ausgeführtes +% \cs{let}\cs{if@tempswa}\cs{if@dvips} funktioniert auch noch, wenn +% letzteres nicht definiert ist} +% Es wird getestet, ob unspezfizierte DVI-Ausgabe oder spezifizierte +% PS-Ausgabe verwendet wird. Nur in diesen Fällen wird der PS-Code für das +% Papierformatupdate eingefügt. +% \begin{macrocode} + \begingroup + \@tempswafalse + \scr@ifdvioutput{\@tempswatrue}{% + \ifnotundefined{if@dvips}{% + \expandafter\let\csname if@tempswa\expandafter\endcsname + \csname if@dvips\endcsname + }{}% + }% + \if@tempswa + \endgroup + \scr@ifundefinedorrelax{AtNextShipout}{% + \scr@ifundefinedorrelax{AtBeginShipoutNext}{% + \begingroup + \protected@edef\reserved@a{\endgroup + \scr@updatedvipspagesize}% + \reserved@a + }{% % \end{macrocode} % Wenn \textsf{atbegshi} geladen wurde, bzw. \cs{AtBeginShipoutNext} zur % Verfügung steht, dann soll dieser Code noch vor Code ausgeführt werden, der @@ -951,18 +1055,20 @@ % noch etwas per \cs{AtBeginShipout} oder \cs{AtBeginShipoutNext} eingefügt % werden, dann gehen diese Teile verloren! % \begin{macrocode} - \begingroup - \protected@edef\reserved@a{\endgroup - \protect\AtBeginShipoutNext{% - \protect\bgroup - \protect\global\protect\setbox\AtBeginShipoutBox\protect\vbox{% - \scr@updatedvipspagesize - \protect\box\AtBeginShipoutBox - }% - \protect\egroup - }}\reserved@a - }% - }{% + \begingroup + \protected@edef\reserved@a{\endgroup + \protect\AtBeginShipoutNext{% + \protect\bgroup + \protect\global\protect\setbox\AtBeginShipoutBox + \protect\vbox{% + \scr@updatedvipspagesize + \protect\box\AtBeginShipoutBox + }% + \protect\egroup + }}% + \reserved@a + }% + }{% % \end{macrocode} % Wenn \textsf{everyshi} geladen wurde, bzw. \cs{AtNextShipout} zur % Verfügung steht, dann soll dieser Code noch vor Code ausgeführt werden, der @@ -972,17 +1078,26 @@ % noch etwas per \cs{AtNextShipout} oder \cs{EveryShipout} eingefügt % werden, dann gehen diese Teile verloren! % \begin{macrocode} - \begingroup - \protected@edef\reserved@a{\endgroup - \protect\AtNextShipout{% - \protect\bgroup - \protect\global\protect\setbox\protect\@cclv\protect\vbox{% - \scr@updatedvipspagesize - \protect\box\protect\@cclv - }% - \protect\egroup - }}\reserved@a - }% + \begingroup + \protected@edef\reserved@a{\endgroup + \protect\AtNextShipout{% + \protect\bgroup + \protect\global\protect\setbox\protect\@cclv\protect\vbox{% + \scr@updatedvipspagesize + \protect\box\protect\@cclv + }% + \protect\egroup + }}% + \reserved@a + }% + \else +% \end{macrocode} +% In diesem Fall (nämlich weder DVI- noch PS-Ausgabe) muss nur die Gruppe, die +% eingefügt wurde, um die Änderung von \cs{if@tempswa} lokal zu halten, +% geschlossen werden. +% \begin{macrocode} + \endgroup + \fi }% \else \let\set@dvipspagesize=\setnot@dvipspagesize @@ -1110,6 +1225,8 @@ % \changes{v2.95}{2002/12/03}{neu implementiert} % \changes{v3.01b}{2008/12/09}{Höhe und Breite vertauscht} % \changes{v3.02c}{2009/02/12}{neuer Wert \texttt{seascape}} +% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit +% \cs{FamilyKeyState}} % Im Normalfall wird die Papiergröße jedoch über diese Option % gesetzt. Dabei sind neben den Standard- und den ISO-Reihen A, B, C % und D auch Wertepaare der Form @@ -1125,6 +1242,7 @@ \setlength{\paperheight}{\@tempdima}% \@landscapetrue \fi + \FamilyKeyStateProcessed }{% \ifstr{#1}{landscape}{% \@seascapefalse @@ -1134,6 +1252,7 @@ \setlength{\paperheight}{\@tempdima}% \@landscapetrue \fi + \FamilyKeyStateProcessed }{% \ifstr{#1}{portrait}{% \if@landscape @@ -1142,6 +1261,7 @@ \setlength{\paperheight}{\@tempdima}% \@landscapefalse \fi + \FamilyKeyStateProcessed }{% \ifstr{#1}{letter}{% \if@landscape @@ -1151,6 +1271,7 @@ \setlength\paperheight{11in}% \setlength\paperwidth {8.5in}% \fi + \FamilyKeyStateProcessed }{% \ifstr{#1}{legal}{% \if@landscape @@ -1160,6 +1281,7 @@ \setlength\paperheight{14in}% \setlength\paperwidth {8.5in}% \fi + \FamilyKeyStateProcessed }{% \ifstr{#1}{executive}{% \if@landscape @@ -1169,9 +1291,12 @@ \setlength\paperheight{10.5in}% \setlength\paperwidth {7.25in}% \fi + \FamilyKeyStateProcessed }{% \iso@paper{#1}% - \if@tempswa\else + \if@tempswa + \FamilyKeyStateProcessed + \else \expandafter\maybe@pair#1::\@nil \if@tempswa \ifnum \scr@ta@compatibility<\@nameuse{scr@v@3.01b}\relax @@ -1188,6 +1313,7 @@ \setlength\paperwidth{\@tempa}% \setlength\paperheight{\@tempb}% \fi + \FamilyKeyStateProcessed \else \KOMA@unknown@keyval{paper}{#1}{% `letter', `legal', `executive', `a'<nr>, `b'<nr>, @@ -1311,8 +1437,16 @@ % entsprechen, werden nicht explizit gesetzt} % \changes{v2.97c}{2007/07/18}{Option \texttt{twoside} wird explizit passend % gesetzt} +% \changes{v3.12}{2013/11/11}{die voreingestellte Papiergröße kann via +% \cs{defaultpagesize} auch in \texttt{typearea.cfg} verändert werden} +% \begin{macro}{\defaultpapersize} +% \changes{v3.12}{2013/11/11}{Neue Anweisung} % \begin{macrocode} -\KOMAExecuteOptions{paper=A4} +\providecommand*{\defaultpapersize}{A4} +% \end{macrocode} +% \end{macro} +% \begin{macrocode} +\KOMAExecuteOptions{paper=\defaultpapersize} \if@twoside \if@semitwoside \KOMAExecuteOptions{twoside=semi} @@ -1379,7 +1513,7 @@ % \changes{v2.95}{2002/06/22}{Beim Laden von \textsf{typearea} wird % \cs{KOMAScriptVersion} verwendet} % Die Überprüfung auf die korrekte \KOMAScript-Version geschieht in -% dem Paket (siehe dazu \texttt{scrkvers.dtx}). +% dem Paket (siehe dazu \texttt{scrkernel-version.dtx}). % \begin{macrocode} \RequirePackage{typearea}[\KOMAScriptVersion] % \end{macrocode} @@ -1388,6 +1522,47 @@ % die Klassen gehört. Wobei die Warnungen je nach Zusammentreffen der % Versionen unterschiedlich ausfallen können. % +% Für die Kompatibilität mit den Standardklassen muss jetzt ggf. noch der +% Seitenspiegel angepasst werden. Dies geschieht aber nur, wenn ein +% vordefinierter Wert verwendet wurde: +% \begin{macrocode} +%<*!letter> +\if@scr@emulatestandardclasses + \ifnum\@lastdiv=\z@ + \setlength{\textwidth}{\dimexpr \paperwidth-2in\relax} + \ifdim \f@size\p@<10.5\p@ + \setlength{\@tempdimb}{345\p@} + \else\ifdim \f@size\p@<11.5\p@ + \setlength{\@tempdimb}{360\p@} + \else + \setlength{\@tempdimb}{390\p@} + \fi + \fi + \if@twocolumn + \ifdim\@textwidth>2\@tempdimb\relax + \setlength{\textwidth}{2\@tempdimb} + \fi + \else + \ifdim\textwidth>\@tempdimb + \setlength{\textwidth}{\@tempdimb} + \fi + \fi + \@settopoint\textwidth + \setlength{\@tempdima}{\dimexpr \paperheight-3.5in\relax} + \divide\@tempdima\baselineskip + \@tempcnta=\@tempdima + \setlength{\textheight}{\@tempcnta\baselineskip} + \addtolength{\textheight}{\topskip} + \edef\reserved@a{% + \noexpand\@areasetadvancedtrue + \noexpand\areaset[current]{\noexpand\textwidth}{\noexpand\textheight}% + \if@areasetadvanced\else\noexpand\@areasetadvancedfalse\fi + }\reserved@a + \fi +\fi +%</!letter> +% \end{macrocode} +% % \begin{macrocode} %</class> % \end{macrocode} @@ -1482,7 +1657,18 @@ \if@semitwoside \advance\oddsidemargin by1.5\ta@hblk \advance\oddsidemargin by\ta@bcor - \evensidemargin=\oddsidemargin +% \end{macrocode} +% \changes{v3.12}{2013/10/15}{use alternating \texttt{BCOR} with +% \texttt{twoside!=semi}} +% Wenn \texttt{twoside=semi} verwendet wird, wird der Binderand ab +% \KOMAScript~3.12 dem inneren Rand zugeschlagen. Bei Kompatibilität zu +% älteren Versionen wird hingegen immer der linke Rand verwendet. +% \begin{macrocode} + \ifnum \scr@compatibility<\@nameuse{scr@v@3.12}\relax + \evensidemargin=\oddsidemargin + \else + \advance\evensidemargin by1.5\ta@hblk + \fi \else \advance\oddsidemargin by\ta@hblk \advance\oddsidemargin by\ta@bcor @@ -1729,7 +1915,9 @@ \fi \hsize=\columnwidth \linewidth\hsize - \scr@ifundefinedorrelax{@pagesizelast}{}{\KOMAoptions{pagesize=\@pagesizelast}}% + \scr@ifundefinedorrelax{@pagesizelast}{}{% + \KOMAoptions{pagesize=\@pagesizelast}% + }% \fi } % \end{macrocode} @@ -1819,7 +2007,7 @@ DIV values. Using DIV calculation for good line\MessageBreak width% }% - \ta@div=2 + \ta@div=\tw@ \else \xdef\@tempa{\ta@divlist{}}% \@tempdima=#1pt @@ -1876,6 +2064,7 @@ % \changes{v2.96}{2006/08/21}{Warnung, wenn \cs{typearea} innerhalb einer % Gruppe verwendet wird} % \changes{v3.10}{2011/09/13}{Verwendung von \cs{scr@grouplevel@test}} +% \changes{v3.12}{2013/03/26}{konfigurierbare Höhe des Fußes} % % Die symbolischen Werte für das obligatorische Argument von % \cs{typearea} haben folgende Bedeutung: @@ -1906,9 +2095,9 @@ \areaset[current]{\textwidth}{\textheight}% \else \def\@tempb{current}\ifx\@tempa\@tempb\else - \def\@tempb{default}\ifx\@tempa\@tempb\ta@div=0 \else - \def\@tempb{calc}\ifx\@tempa\@tempb\ta@div=2 \else - \def\@tempb{classic}\ifx\@tempa\@tempb\ta@div=3 \else + \def\@tempb{default}\ifx\@tempa\@tempb\ta@div=\z@ \else + \def\@tempb{calc}\ifx\@tempa\@tempb\ta@div=\tw@ \else + \def\@tempb{classic}\ifx\@tempa\@tempb\ta@div=\thr@@ \else \ta@div=\@tempa \fi \fi @@ -1949,10 +2138,22 @@ % \begin{macrocode} \headsep=1.5\baselineskip % \end{macrocode} +% Für den Fuß muss ähnlich verfahren werden. Dabei muss aber nicht nur +% ggf. \cs{footheight}, sondern auch \cs{footskip} angepasst werden. +% \begin{macrocode} + \@ifundefined{footheight}{% + \newlength\footheight + }{}% + \@ifundefined{ta@fh}{% + \footheight=1.25\baselineskip + }{% + \footheight=\ta@fh + }% + \footskip=\dimexpr\footheight+2.25\baselineskip +% \end{macrocode} % Es folgen die restlichen von \textit{DIV} und \textit{BCOR} % unabhängigen Werte. % \begin{macrocode} - \footskip=3.5\baselineskip \marginparsep=1cc \marginparpush=0.45\baselineskip % \end{macrocode} @@ -2226,6 +2427,18 @@ \ta@layoutinfo{\number\ta@div}{\the\@tempcnta}% \@typearea@end \activateareas + \ifdim \dimexpr 1in+\topmargin + +\headheight+\headsep + +\textheight + +\footskip+\dp\strutbox\relax + >\paperheight + \PackageWarningNoLine{typearea}{% + page content and margins higher than paper.\MessageBreak + This may result in page footer out of paper.\MessageBreak + You should decrease DIV, decrease foot height,\MessageBreak + or include footer into type area% + }% + \fi \fi } % \end{macrocode} @@ -2341,7 +2554,18 @@ \if@semitwoside \advance\oddsidemargin by1.5\ta@hblk \advance\oddsidemargin by\ta@bcor - \evensidemargin\oddsidemargin +% \end{macrocode} +% \changes{v3.12}{2013/10/15}{use alternating \texttt{BCOR} with +% \texttt{twoside!=semi}} +% Wenn \texttt{twoside=semi} verwendet wird, wird der Binderand ab +% \KOMAScript~3.12 dem inneren Rand zugeschlagen. Bei Kompatibilität zu +% älteren Versionen wird hingegen immer der linke Rand verwendet. +% \begin{macrocode} + \ifnum \scr@compatibility<\@nameuse{scr@v@3.12}\relax + \evensidemargin=\oddsidemargin + \else + \advance\evensidemargin by1.5\ta@hblk + \fi \else \advance\oddsidemargin by\ta@hblk \advance\oddsidemargin by\ta@bcor @@ -2376,7 +2600,22 @@ \advance\headheight by-10\p@ \fi \headsep=1.5\baselineskip - \footskip=3.5\baselineskip +% \end{macrocode} +% \changes{v3.12}{2013/03/26}{changes for height of foot} +% \begin{macrocode} + \@ifundefined{footheight}{\newlength\footheight}{} + \if@areasetadvanced + \@ifundefined{ta@fh}{% + \footheight=1.25\baselineskip + \footskip=3.5\baselineskip + }{% + \footheight=\ta@fh + \footskip=\dimexpr \footheight+2.25\baselineskip\relax + }% + \else + \footheight=1.25\baselineskip + \footskip=3.5\baselineskip + \fi \ta@vblk=\paperheight \advance\ta@vblk by-\textheight \divide\ta@vblk by3 @@ -2427,6 +2666,18 @@ % \begin{macrocode} \@areaset@end \activateareas + \ifdim \dimexpr 1in+\topmargin + +\headheight+\headsep + +\textheight + +\footskip+\dp\strutbox\relax + >\paperheight + \PackageWarningNoLine{typearea}{% + page content and margins higher than paper.\MessageBreak + This may result in page footer out of paper.\MessageBreak + You should decrease DIV, decrease foot height,\MessageBreak + or decreate height of text area% + }% + \fi } % \end{macrocode} % \end{macro} @@ -2458,7 +2709,7 @@ % \endinput % -% end of file `scrktare.dtx' +% end of file `scrkernel-typearea.dtx' %%% Local Variables: %%% mode: doctex %%% TeX-master: t diff --git a/Master/texmf-dist/source/latex/koma-script/scrkvars.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-variables.dtx index 6511976676b..763eee0a8df 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkvars.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-variables.dtx @@ -1,8 +1,8 @@ % \CheckSum{157} % \iffalse meta-comment % ====================================================================== -% scrkvars.dtx -% Copyright (c) Markus Kohm, 2008-2012 +% scrkernel-variables.dtx +% Copyright (c) Markus Kohm, 2008-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -19,8 +19,8 @@ % % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- -% scrkvars.dtx -% Copyright (c) Markus Kohm, 2008-2012 +% scrkernel-variables.dtx +% Copyright (c) Markus Kohm, 2008-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -55,17 +55,18 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scrkvars.dtx +%%% From File: $Id: scrkernel-variables.dtx 1389 2013-10-01 16:06:04Z mjk $ %<*driver> % \fi -\ProvidesFile{scrkvars.dtx}[2011/03/31 v3.08b KOMA-Script (koma variables)] +\ProvidesFile{scrkernel-variables.dtx}[2011/03/31 v3.08b KOMA-Script + (koma variables)] % \iffalse \documentclass{scrdoc} \usepackage[english,ngerman]{babel} \usepackage[latin1]{inputenc} \CodelineIndex \RecordChanges -\GetFileInfo{scrkvars.dtx} +\GetFileInfo{scrkernel-variables.dtx} \title{\KOMAScript{} \partname\ \texttt{\filename}% \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} \date{\filedate} @@ -368,7 +369,7 @@ % \endinput % -% end of file `scrkvars.dtx' +% end of file `scrkernel-variables.dtx' %%% Local Variables: %%% mode: doctex %%% TeX-master: t diff --git a/Master/texmf-dist/source/latex/koma-script/scrkvers.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-version.dtx index 191f6296105..13e64914a20 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkvers.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-version.dtx @@ -1,8 +1,8 @@ -% \CheckSum{39} +% \CheckSum{52} % \iffalse meta-comment % ====================================================================== -% scrkvers.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% scrkernel-version.dtx +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -19,8 +19,8 @@ % % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- -% scrkvers.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% scrkernel-version.dtx +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -55,7 +55,7 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ % \fi % % \iffalse @@ -92,7 +92,15 @@ % gearbeitet. % \begin{macrocode} \begingroup - \makeatletter + \catcode`\@11\relax +%<*ignorethis> + \ifx\newcommand\undefined + \gdef\@CheckKOMAScriptVersion#1{% + \global\KOMAdefVariable{KOMAScriptVersion}{\space\space#1}% + \aftergroup\endinput + }% + \else +%</ignorethis> \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -111,8 +119,11 @@ }% \fi } +%<*ignorethis> + \fi +%</ignorethis> \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup % \end{macrocode} % \end{macro} @@ -121,14 +132,14 @@ % \iffalse %<*driver> % \fi -\ProvidesFile{scrkvers.dtx}[\KOMAScriptVersion (versions)] +\ProvidesFile{scrkernel-version.dtx}[\KOMAScriptVersion (versions)] % \iffalse \documentclass[halfparskip-]{scrdoc} \usepackage[english,ngerman]{babel} \usepackage[latin1]{inputenc} \CodelineIndex \RecordChanges -\GetFileInfo{scrkvers.dtx} +\GetFileInfo{scrkernel-version.dtx} \title{\KOMAScript{} \partname\ \texttt{\filename}% \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} \date{\filedate} @@ -166,7 +177,8 @@ % \end{macro} % \begin{macrocode} \ProvidesClass{\KOMAClassName}[% - \KOMAScriptVersion\space document class (\ClassName)% +%!KOMAScriptVersion + document class (\ClassName)% ] % \end{macrocode} %</class> @@ -175,7 +187,7 @@ % \endinput % -% end of file `scrkvers.dtx' +% end of file `scrkernel-version.dtx' %%% Local Variables: %%% mode: doctex %%% TeX-master: t diff --git a/Master/texmf-dist/source/latex/koma-script/scrlayer-notecolumn.dtx b/Master/texmf-dist/source/latex/koma-script/scrlayer-notecolumn.dtx new file mode 100644 index 00000000000..5c3434b8787 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/scrlayer-notecolumn.dtx @@ -0,0 +1,1927 @@ +% \CheckSum{1577} +% \iffalse^^A meta-comment +% ====================================================================== +% scrlayer-notecolumn.dtx +% Copyright (c) Markus Kohm, 2013 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 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. +% ---------------------------------------------------------------------- +% scrlayer-notecolumn.dtx +% Copyright (c) Markus Kohm, 2013 +% +% Diese Datei ist Teil der LaTeX2e KOMA-Script-Sammlung. +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c. +% 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 und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% \fi^^A meta-comment +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \iffalse^^A meta-comment +%<identify>%%% From File: $Id: scrlayer-notecolumn.dtx 1514 2013-11-15 08:23:09Z mjk $ (identify) +%<init>%%% From File: $Id: scrlayer-notecolumn.dtx 1514 2013-11-15 08:23:09Z mjk $ (init) +%<options>%%% From File: $Id: scrlayer-notecolumn.dtx 1514 2013-11-15 08:23:09Z mjk $ (options) +%<body>%%% From File: $Id: scrlayer-notecolumn.dtx 1514 2013-11-15 08:23:09Z mjk $ (body) +%<*dtx> +\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\begingroup + \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#4/#3/#2}} + \filedate$Date: 2013-11-15 09:23:09 +0100 (Fr, 15. Nov 2013) $ + \def\filerevision$#1: #2 ${\gdef\filerevision{v0.1.#2}} + \filerevision$Revision: 1514 $ +\endgroup +\ProvidesFile{scrlayer-notecolumn.dtx}[\filedate\space\filerevision\space +%</dtx> +%<*identify|doc> +%<interface>\NeedsTeXFormat{LaTeX2e}[1995/12/01] +%<interface>\ProvidesPackage{scrlayer-notecolumn}[% +%<doc>\ProvidesFile{scrlayer-notecolumn.tex}[% +% Sometimes following will be replaced by !KOMASCRIPTVERSION: +%!SCRLAYERVERSION +%<interface> package +%</identify|doc> +%<*dtx|identify|doc> + (end user interface for scrlayer)] +%</dtx|identify|doc> +%<*dtx> +\ifx\documentclass\undefined + \input scrdocstrip.tex + \@@input scrkernel-version.dtx + \@@input scrstrip.inc +% Some time we will need: +% \KOMAdefVariable{COPYRIGHTFROM}{2013} + \KOMAdefVariable{SCRLAYERVERSION}{\space\space\filedate\space\filerevision}% + \expandafter\let\csname ifbetawas\expandafter\endcsname + \csname ifbeta\endcsname + \expandafter\let\csname ifbeta\expandafter\endcsname + \csname iftrue\endcsname + \generate{\usepreamble\defaultpreamble + \file{scrlayer-notecolumn.sty}{% + \from{scrlayer-notecolumn.dtx}{interface,trace,notecolumn,identify}% + \from{scrlayer.dtx}{interface,trace,notecolumn,init}% + \from{scrlayer-notecolumn.dtx}{interface,trace,notecolumn,init}% + \from{scrlayer.dtx}{interface,trace,notecolumn,options}% + \from{scrlayer-notecolumn.dtx}{interface,trace,notecolumn,options}% + \from{scrlayer.dtx}{interface,trace,notecolumn,body}% + \from{scrlayer-notecolumn.dtx}{interface,trace,notecolumn,body}% + \from{scrlayer-notecolumn.dtx}{interface,trace,notecolumn,final}% + \from{scrlogo.dtx}{logo}% + }% + \file{scrlayer-notecolumn.tex}{% + \from{scrlayer-notecolumn.dtx}{doc}% + }% + } + \expandafter\let\csname ifbeta\expandafter\endcsname + \csname ifbetawas\endcsname + \@@input scrstrop.inc +\else + \let\endbatchfile\relax +\fi +\endbatchfile +%</dtx> +%<*driver> + \documentclass{scrdoc} + \addtolength{\textwidth}{-1em} + \addtolength{\marginparwidth}{2em} + \addtolength{\oddsidemargin}{2em} + \usepackage[ngerman,english]{babel} + \usepackage{url,babelbib}\bibliographystyle{babalpha-fl} + \usepackage{listings} + \usepackage{scrhack} + \usepackage{etoolbox} + \pretocmd\DescribeMacro{\ifhmode\else\bigskip\noindent\fi}{}{} + \pretocmd\DescribeEnv{\ifhmode\else\bigskip\noindent\fi}{}{} + \pretocmd\DescribeOption{\ifhmode\else\bigskip\noindent\fi}{}{} + + \CodelineIndex + \RecordChanges + \GetFileInfo{scrlayer-notecolumn.dtx} + \title{The \texttt{scrlayer} interface \texttt{scrlayer-notecolumn}% + \footnote{This is version \fileversion\ of file \texttt{\filename}.}} + \date{\filedate} + \author{Markus Kohm} + + \newenvironment{Explain}{\par}{\par} + \newcommand*{\length}{} + \let\length\Length + \let\endlength\endLength + \let\Macro\cs + \let\Length\Macro + \let\Package\textsf + \let\Class\Package + \let\File\texttt + \let\Option\texttt + \newcommand*{\KOption}[1]{\Option{#1}\texttt{=}} + \newcommand*{\OptionValue}[2]{\Option{#1}\texttt{=}\PValue{#2}} + \let\Counter\texttt + \let\Environment\texttt + \let\ShowOutput\quote + \let\endShowOutput\endquote + \let\Pagestyle\texttt + \newcommand*{\Parameter}[1]{\texttt{\marg{#1}}\linebreak[1]} + \newcommand*{\OParameter}[1]{\texttt{\oarg{#1}}\linebreak[1]} + \newcommand*{\MParameter}[2]{\texttt{(\meta{#1},\meta{#2})}\linebreak[1]} + \providecommand\PParameter[1]{\mbox{\texttt{\{#1\}}}\linebreak[1]} + \let\PName\meta + \let\PValue\texttt + \providecommand*{\autoref}[1]{\expandafter\AUTOREF#1:} + \providecommand*{\AUTOREF}{} + \makeatletter + \def\AUTOREF#1:#2:{% + \edef\@tempa{#1}% + \edef\@tempb{tab}\ifx\@tempa\@tempb table~\fi + \edef\@tempb{sec}\ifx\@tempa\@tempb section~\fi + \ref{#1:#2}% + } + \providecommand*{\IndexCmd}[2][]{} + \providecommand*{\textnote}[2][]{} + \providecommand*\eTeX{\leavevmode\hbox{$\varepsilon$}-\TeX} + \providecommand*\NTS{% + \leavevmode\hbox{$\cal N\kern-0.35em\lower0.5ex\hbox{$\cal T$}% + \kern-0.2emS$}} + + \lstnewenvironment{lstcode}{\lstset{language=[LaTeX]TeX}}{} + \makeatother + \sloppy% YOU SHOULD NOT DO THIS!!! + + \begin{document} + \maketitle + \tableofcontents + \DocInput{\filename} + \PrintChanges + \PrintIndex + \end{document} +%</driver> +% \fi^^A meta-comment +% +% \selectlanguage{english} +% +% \changes{v0.0}{2013/04/26}{start of interface} +% \let\restorechapter\chapter +% \let\chapter\section +% \let\section\subsection +% \let\subsection\subsubsection +% \iffalse +%<*dtx|doc> +% \fi + +\chapter[{End User Interface \Package{scrlayer-notecolumn}}]{End User + Interface \Package{scrlayer-notecolumn}\footnote{This is not a translation + of the corresponding chapter of the German \KOMAScript{} manual but the + tentative and primary implementation manual of package + \Package{scrlayer-notecolumn}. As long as \Package{scrlayer-notecolumn} is + primary a proof of concept this doesn't matter. But nevertheless, a + German to English translator would still be welcome.}} +\label{sec:scrlayer.notecolumn} +%\iffalse +\labelbase{scrlayer-notecolumn} +%\fi + +Sometimes documents need an additional notes column beside the main text +column and maybe beside the marginal note column. Problematicly may be +having page breaks inside the notes column. This package provides a +solution based on the layer interface of \Package{scrlayer}. You may +define several notes columns, each of them with page breaks +inside. It supports automatic page break inside of notes and recognises +note collisions and solve them by moving notes. + +The idea of this package raised while an e-mail contact with Heiner +Richter from FH~Stralsund, who told me of a book project, and asked +whether or not such a functionality may be added to another package of +mine easily. It couldn't, but design and implementation of a first test +alpha of \Package{scrlayer-notecolumn} has been done in about three +hours. So maybe it was a really good idea to ask me the question. + +%\iffalse^^A meta-comment +\begin{Declaration} +%\fi^^A meta-comment +% \DescribeMacro{\DeclareNoteColumn} +% \DescribeMacro{\DeclareNewNoteColumn} +% \DescribeMacro{\ProvideNoteColumn} +% \DescribeMacro{\RedeclareNoteColumn} +% The command + \Macro{DeclareNoteColumn}% + \OParameter{option list}\Parameter{note column name}% +%\iffalse^^A meta-comment + \\ + \Macro{DeclareNewNoteColumn}% + \OParameter{option list}\Parameter{note column name}\\%^^A + \Macro{ProvideNoteColumn}% + \OParameter{option list}\Parameter{note column name}\\%^^A + \Macro{RedeclareNoteColumn}% + \OParameter{option list}\Parameter{note column name}% +\end{Declaration} +\BeginIndex{Cmd}{DeclareNoteColumn}% +\BeginIndex{Cmd}{DeclareNewNoteColumn}% +\BeginIndex{Cmd}{ProvideNoteColumn}% +\BeginIndex{Cmd}{RedeclareNoteColumn}% +Command \Macro{DeclareNoteColumn} +%\fi^^A meta-comment +may be used to declare a note column. Each note column is referenced by its +name, defined by the obligatory argument \PName{note column name}. A note +column vertically span the text area. + +By default its horizontal position is the current position of the marginal +note column. It also regards \Macro{reversemarginpar} and +\Macro{normalmarginpar}, while output of a note. Note that this is not the +same like making a margin note. The default width is +\Length{marginparwidth}. But you may use the optional argument \PName{option + list} to change this behaviour. + +The \PName{option list} is a comma-separated list of +\texttt{\PName{key}=\PName{value}} options. Currently the following +\PName{key}s are supported: +\begin{labeling}[\ --]{\KOption{position}\PName{horizontal offset}} +\item [\KOption{font}\PName{font declaration}] set the initial font attributes + to be used for the note column. Everything, that is allowed to be set by + \Macro{setkomafont} or \Macro{addtokomafont} can be used as + \PName{font declaration}. Note, that + \Macro{normalfont}\Macro{normalsize} will be used + before. So you don't need one of them at your own initialisation. +\item [\Option{marginpar}] set up \Option{position} and \Option{width} to use + the marginal note column of \Macro{marginpar}. +\item [\Option{normalmarginpar}] set up \Option{position} and \Option{width} + to use the normal marginal note column and ignore \Macro{reversemarginpar} + and \Macro{normalmarginpar}. +\item [\KOption{position}\PName{horizontal offset}] set up the horizontal + offset of the note column from the left edge of the paper. The + \PName{horizontal offset} can be either a \LaTeX{} length, a \TeX{} + dimension, a \TeX{} skip, a length value, or a dimensional expression using + \texttt{+}, \texttt{-}, \texttt{*}, \texttt{/} and parenthesis (see + \cite[section~3.5]{manual:eTeX} for more information about dimensional + expressions). The value will be calculated at usage time not at definition + time. So you may even use more complex constructs like: +\begin{lstcode} + \ifodd\value{page} + \oddsidemargin+1in + +\textwidth+\marginparsep + \else + \evensidemargin+1in + -\marginparsep + -\marginparwidth + \fi +\end{lstcode} +\item [\Option{reversemarginpar}] set up \Option{position} and \Option{width} + to use the reverse marginal note column and ignore \Macro{reversemarginpar} + and \Macro{normalmarginpar}. +\item [\KOption{width}\PName{size}] set up the horizontal size of the note + column. You can use the same values for \PName{size} like for + \PName{horizontal offset} of option \Option{position}. +\end{labeling} + +You may use as much note columns as \LaTeX{} provides free box registers, +because every note column needs one box register. You may use package +\Package{etex} to increase the normal amount of box registers from 256 to +32768. This should be enough to avoid the ``\texttt{no room for + \Macro{newbox}}'' error. + +The implementation of note columns uses foreground layers from package +\Package{scrlayer}. Every \Macro{DeclareNoteColumn} generates a layer and adds +this layer to the pseudo page style \Pagestyle{@everystyle@}. Theoretically +you may modify the generated layer, but it is recommended not to modify them. + +Overlapping of different note columns is allowed. There's one predefined note +column named ``\texttt{marginpar}''. + +% \iffalse^^A meta-comment +\BeginIndex{FontElement}{notecolumn.\PName{note column name}}% +% \fi^^A meta-comment +Note, that if you change the initial font using +\begin{quote} + \Macro{setkomafont}\linebreak[1]\PParameter{marginnote.\PName{note column + name}}\Parameter{font declaration} +\end{quote} +or +\begin{quote} + \Macro{addtokomafont}\linebreak[1]\PParameter{marginnote.\PName{note column + name}}\Parameter{font declaration} +\end{quote} +the font of all succeeding note column outputs would change. This could make it +hard to find out, which notes will be affected by the change. +% \iffalse^^A meta-comment +See \autoref{sec:maincls.textmarkup}, +\autopageref{desc:maincls.cmd.setkomafont} for more information about +\Macro{setkomafont} and \Macro{addtokomafont}.% +\EndIndex{FontElement}{notecolumn.\PName{note column name}}% +% \fi^^A meta-comment + +The difference between \Macro{DeclareNoteColumn} and the other commands is, +that \Macro{DeclareNoteColumn} defines the note column independent whether a +note column with the same name has already been defined or +not. \Macro{DeclareNewNoteColumn} defined only note columns which names are +not yet used for another note column. It's an error to use it with an already +used \PName{note column name}. \Macro{ProvideNoteColumn} is like +\Macro{DeclareNewNoteColumn}, but if the \PName{note column name} is already +used for a note column nothing happens. \Macro{RedeclareNoteColumn} may be +used to declare a note column with a name, that is already used. Using it with +a new name is an error. +%\iffalse^^A meta-comment +\EndIndex{Cmd}{RedeclareNoteColumn}%^^A +\EndIndex{Cmd}{ProvideNoteColumn}%^^A +\EndIndex{Cmd}{DeclareNewNoteColumn}%^^A +\EndIndex{Cmd}{DeclareNoteColumn}%^^A +%\fi^^A meta-comment + +%\iffalse^^A meta-comment +\begin{Declaration} +%\fi^^A meta-comment +% \DescribeMacro{\makenote} +% The command + \Macro{makenote}% + \OParameter{note column name}\Parameter{note text} +%\iffalse^^A meta-comment +\end{Declaration} +\BeginIndex{Cmd}{makenote}% +This command +%\fi^^A meta-comment +may be used to make a new note. The note will be written to a helper file with +extension \File{.slnc} in this run. In the next run, it will be +typeset. Normally it will be typeset with the same vertical position, that +would be used for a \Macro{parbox[t]}, but horizontally moved to the note +column. Collisions at this position of this note column (but not of other note +columns) will be recognised. In such a case the note may be moved down and +even to another page. Automatic page breaks at the note columns are +supported. This is something different to \Macro{marginpar}, +\Macro{marginline} (\KOMAScript{} classes), or \Macro{marginnote} (package +\Package{marginnote}). + +Note, that after changing the document, at least two \LaTeX{} runs are needed +to move the note to its final position. + +Note, that fragile commands should be protected to avoid error messages while +writing or reading the helper file. + +Note, that \Package{scrlayer-notecolumn} needs only one helper file for all +note columns together. You should not edit or change that helper file, because +the syntax is fragile. It won't be read using \Macro{input} but +\Macro{read}. Because of this, line breaks, empty lines and \Macro{par} should +be avoided. + +Currently it is unknown where you may use \Macro{makenote} and where not. But +you must not use \Macro{makenote} inside of \Macro{makenote}! + +The default for the optional argument \PName{makenote} is \PValue{marginpar}, +that is the \PName{note column name} of the pre-defined note column. +%\iffalse^^A meta-comment +\EndIndex{Cmd}{makenote} +%\fi^^A meta-comment + +%\iffalse^^A meta-comment +\begin{Declaration} + \KOption{autoclearnotecolumns}\PName{simple switch}\\ +%\fi^^A meta-comment +% \DescribeMacro{\clearnotecolumn} +% The commands + \Macro{clearnotecolumn}\OParameter{name of a note column}% +% \iffalse^^A meta-comment + \\ +% \fi^^A meta-comment +% and + \Macro{clearnotecolumns}\OParameter{list of note column names} +%\iffalse^^A meta-comment +\end{Declaration} +\BeginIndex{Cmd}{clearnotcolumn}% +\BeginIndex{Cmd}{clearnotcolumns}% +The commands +%\fi^^A meta-comment +may be used to output all hanging notes for either one or several note +columns. With \Macro{clearnotecolumn} only the notes of the note column with +the given \PName{name of a note column} will be output. If you omit the +optional argument (this is not the same like using an empty value!) note +column \PValue{marginnote} will be used. + +With \Macro{clearnotecolumns} the notes of all note columns of the comma +separated \PName{list of note column names} will be output. If you omit the +optional Argument or if the optional Argument is empty (or start with +\Macro{relax}) the notes of all note columns will be output. + +Macro \Macro{clearpage} will be used to output hanging notes and several +\LaTeX{} runs may be needed to terminate with the correct number of +\Macro{clearpage} for the whole document. You will get the message ``\LaTeX{} +Warning: Label(s) may have changed. Rerun to get cross-references right.'' as +long as the process hasn't been terminated. + +But normally you don't need to us \Macro{clearnotecolum} or +\Macro{clearnotecolumns} yourself. Because by default option +\Option{autoclearnotecolumns} is switched on, which means, that +\Macro{clearnotecolumns} will be done at every \Macro{clearpage}. You may +change this, switching off \Macro{autoclearnotecolumns} using one of the +values for simple switches. + +Note, that it is not allowed to use \Macro{clearnotecolumn} or +\Macro{clearnotecolumns} inside a note. You can use these commands only inside +the main text of the document.% +%\iffalse^^A meta-comment +\EndIndex{Cmd}{clearnotcolumns}% +\EndIndex{Cmd}{clearnotcolumn}% +%\fi^^A meta-comment + +%\iffalse^^A meta-comment +\begin{Declaration} +%\fi^^A meta-comment +% \DescribeMacro{\syncwithnotecolumn} +% The commands + \Macro{syncwithnotecolumn}\OParameter{name of a note column}% +% \iffalse^^A meta-comment + \\ +% \fi^^A meta-comment +% and + \Macro{syncwithnotecolumns}\OParameter{list of note column names}% +%\iffalse^^A meta-comment +\end{Declaration} +\BeginIndex{Cmd}{syncwithnotecolumn}% +\BeginIndex{Cmd}{syncwithnotecolumns}% +These commands +%\fi^^A meta-comment +may be used to synchronise the vertical position of the main text with one or +several note columns. If you use the optional argument of +\Macro{syncwithnotecolumn} it should be one \PName{name of a note column}. If +you omit it, \PValue{marginpar} will be used as the \PName{name of a note + column}. Usage of \Macro{syncwithnotecolumn} is exactly the same like usage +of \Macro{syncwithnotecolumns} with exactly one \PName{name of a note column}. + +The optional argument of \Macro{syncwithnotecolumns} is a comma-separated list +of names of note columns. If you omit this optional argument or if you use an +empty argument or if the argument starts with \Macro{relax} synchronisation +will be done with all declared note columns. + +Synchronisation with a note column means, that the current position of the +main text will be changed to be the current vertical position of the note +column after cleaning the note column. This differs in several point from +cleaning a note column: +\begin{itemize} +\item After cleaning a note column the text position would change to be at a + new page, even if the note column doesn't fill the whole page + before. Synchronisation will change the vertical position just after the + last vertical position of the note column. +\item Cleaning a note column needs less \LaTeX{} runs than synchronising a + note column. +\end{itemize} +Both, cleaning an synchronising a note column, uses the label mechanism of +\LaTeX{} without using \Macro{label}, \Macro{ref}, or \Macro{pageref} itself +(but \Macro{newlabel}). So you should have a look at \LaTeX{} rerun messages, +because of undefined or changed labels. + +Note, that it is not allowed to use \Macro{syncwithnotecolumn} or +\Macro{syncwithnotecolumns} inside a note. If you do so, you need endless +\LaTeX{} runs without reaching a final state. But synchronisation of several +note columns in the main text of a document will also synchronise the notes +columns with each others.% +%\iffalse^^A meta-comment +\EndIndex{Cmd}{syncwithnotecolumns} +\EndIndex{Cmd}{syncwithnotecolumn} +%\fi^^A meta-comment + + +%\iffalse +%</dtx|doc> +%\fi +% +% \StopEventually{} +% +% \chapter{Implementation of \Package{scrlayer-notecolumn}} +% +% This section if for developers only. +% +% \iffalse +%<*interface> +%<*identify> +% \fi +% +%\iffalse +%</identify> +%\fi +% +% +% \section{Initialising some Values before the Options} +% +% \iffalse^^A meta-comment +%<*init> +% \fi^^A meta-comment +% +% Initialisation before all options (even the options from +% \File{scrlayer.dtx}). +% +% Here we test the used pdf\TeX{} primitives. +% \begin{macrocode} +\@tempswatrue +\scr@ifundefinedorrelax{pdfsavepos}{% + \expandafter\@tempswafalse +}{% + \scr@ifundefinedorrelax{pdflastypos}{% + \expandafter\@tempswafalse + }{}% +} +\if@tempswa\else + \PackageError{scrlayer-notecolumn}{missing pdfTeX features}{% + This package needs \string\pdfsavepos\space and + \string\pdflastypos.\MessageBreak + This error is fatal, because usage of the package without these + features\MessageBreak + cannot work!\MessageBreak + You shouldn't continue, but if you'd try, I'll try to abort the LaTeX run + }% + \batchmode\csname @@end\endcsname\end +\fi +% \end{macrocode} +% +% \iffalse^^A meta-comment +%</init> +% \fi^^A meta-comment +% +% \section{Making a Note Column} +% +% The package supports a various number of note columns. Each is referenced by +% a unique name. +% +% \begin{macro}{\DeclareNoteColumn} +% \begin{description} +% \item[\OParameter{option list}:] a comma-separated list of +% \texttt{\meta{key}=\meta{value}} pairs. +% \item[\Parameter{string}:] the name of the note column (must be fully +% expandable and expand to a string only). +% \end{description} +% That's the primary command for note columns. It defines everything, the note +% column needs. +% \begin{macrocode} +%<*body> +\scrlayerAddToInterface\DeclareNoteColumn{% + \newcommand*{\DeclareNoteColumn}[2][]{% +% \end{macrocode} +% First of all we need a box register. The contents of the note column will be +% build inside of this register. Since \eTeX{} registers shouldn't be a +% problem. User should use package \Package{etex}, if he or she runs out of +% registers. Note, that the registers will stay allocated, if the interface +% will be removed! Nevertheless, the name will be destroyed! +% \begin{macrocode} + \@ifundefined{slnc@#2@box}{% + \expandafter\newsavebox\csname slnc@#2@box\endcsname + \scrlayerOnAutoRemoveInterface[scrlayer-notecolumn.sty]{% + \expandafter\let\csname slnc@#2@box\endcsname\relax + }% + }{}% +% \end{macrocode} +% There's also a kind of item stack of unprocessed notes for each note column. +% \begin{macrocode} + \@ifundefined{slnc@#2@unprocessed}{% + \@namedef{slnc@#2@unprocessed}{}% + \scrlayerOnAutoRemoveInterface[scrlayer-notecolumn.sty]{% + \expandafter\let\csname slnc@#2@unprocessed\endcsname\relax + }% + }{}% +% \end{macrocode} +% Next we need a horizontal positions and a width for the note column. Neither +% the horizontal position nor the width are stretchable or shrinkable. The +% position should be variable depending on the page. So it's better to use a +% macro instead of a length. The width isn't more variable than, e.g., the +% text width. So we can use a macro too. Both will be initialised to the +% normal marginal note column. +% \begin{macrocode} + \@ifundefined{slnc@#2@pos}{% + \scrlayerOnAutoRemoveInterface[scrlayer-notecolumn.sty]{% + \expandafter\let\csname slnc@#2@pos\endcsname\relax + }% + }{}% + \@ifundefined{slnc@#2@width}{% + \scrlayerOnAutoRemoveInterface[scrlayer-notecolumn.sty]{% + \expandafter\let\csname slnc@#2@width\endcsname\relax + }% + }{}% +% \end{macrocode} +% If there isn't a font element for the (new) note column, we define a new one +% and add it to the auto-remove code: +% \begin{macrocode} + \@ifundefined{scr@fnt@notecolumn.#2}{% + \@ifundefined{@notecolumn.#2font}{% + \scrlayerOnAutoRemoveInterface[scrlayer-notecolumn.sty]{% + \expandafter\let\csname @notecolumn.#2font\endcsname\relax + }% + }{% + \PackageInfo{scrlayer-notecolumn}{using already defined + macro\MessageBreak + `\expandafter\string\csname @notecolumn.#2font\endcsname' for font + element\MessageBreak + `notecolumn.#2'% + }% + }% + \newkomafont{notecolumn.#2}{}% + \scrlayerOnAutoRemoveInterface[scrlayer-notecolumn.sty]{% + \expandafter\let\csname scr@fnt@notecolumn.#2\endcsname\relax + }% + }{% + \PackageInfo{scrlayer-notecolumn}{using already defined font + element\MessageBreak + `notecolumn.#2'% + }% + }% +% \end{macrocode} +% After the initialisation we process the options, that may change the initial +% values. +% \begin{macrocode} + \newcommand*{\slnc@name}{}% + \edef\slnc@name{#2}% + \FamilyExecuteOptions[.definenotecolumn]{KOMAarg}{marginpar,#1}% + \let\slnc@name\relax +% \end{macrocode} +% The values are set up, so they may be used to declare a layer. +% \begin{macrocode} + \DeclareLayer[% + foreground,% + align=tl,% + voffset=1in+\topmargin+\headheight+\headsep,% + height=\dimexpr\textheight+\topskip\relax,% + hoffset=\csname slnc@#2@pos\endcsname,% + width=\csname slnc@#2@width\endcsname,% + contents=\slnc@processnotes{#2}% + ]{notecolumn.#2} +% \end{macrocode} +% We need to add the layer to every page style. The easiest way to do this is +% to add it to the pseudo layer page style \Pagestyle{@everystyle@}. +% \begin{macrocode} + \AddLayersToPageStyle{@everystyle@}{notecolumn.#2}% +% \end{macrocode} +% On auto-removing the interface, the layer should be removed from +% \Pagestyle{@everystyle@} and should be destroyed. +% \begin{macrocode} + \scrlayerOnAutoRemoveInterface[scrlayer-notecolumn.sty]{% + \RemoveLayersFromPageStyle{@everystyle@}{notecolumn.#2}% + \DestroyLayer{notecolumn.#2}% + }% +% \end{macrocode} +% Last but not least, we add the new note column to the note column procession +% list. +% \begin{macrocode} + \@cons\slnc@processnotecolumns{{#2}}% + }% +} +% \end{macrocode} +% \begin{macro}{\slnc@processnotecolumns} +% This is a list of all declared note columns in \LaTeX{} syntax (using +% \Macro{@cons} and \Macro{@elt} etc.). +% \begin{macrocode} +\scrlayerAddToInterface\slnc@processnotecolumns{% + \newcommand*{\slnc@processnotecolumns}{}% +} +% \end{macrocode} +% \end{macro}^^A \slnc@processnotecolumns +% \begin{macrocode} +%</body> +% \end{macrocode} +% One note column will be declared by default: +% \begin{macrocode} +%<*final> +\DeclareNoteColumn{marginpar} +%</final> +%<*body> +% \end{macrocode} +% \begin{macro}{\slnc@testforpagestylewarning} +% Not all page styles are layer page styles, but only layer page styles can be +% extended by the note column layers. So we warn, if another page style has +% been selected. +% \begin{macrocode} +\scrlayerAddToInterface\slnc@testforpagestylewarning{% + \newcommand*{\slnc@testforpagestylewarning}{% + \IfLayerPageStyleExists{\currentpagestyle}{}{% + \PackageWarning{scrlayer-notecolumn}{% + output of note columns delayed,\MessageBreak + because with `\currentpagestyle'\MessageBreak + a page style has been selected, that\MessageBreak + isn't a layer page style,% + }% + }% + }% +} +\AfterSelectAnyPageStyle{\slnc@testforpagestylewarning} +% \end{macrocode} +% \end{macro}%^^A \slnc@testforpagestylewarning +% \begin{option}{position} +% \begin{option}{width} +% \begin{option}{font} +% \begin{option}{marginpar} +% \begin{option}{normalmarginpar} +% \begin{option}{reversemarginpar} +% Last but not least we have to define the options for the \PName{option +% list}. +% \begin{macrocode} +\DefineFamilyMember[.definenotecolumn]{KOMAarg} +\DefineFamilyKey[.definenotecolumn]{KOMAarg}{position}{% + \@namedef{slnc@\slnc@name @pos}{\dimexpr #1\relax}% + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@position} +\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@position@default} +\DefineFamilyKey[.definenotecolumn]{KOMAarg}{width}{% + \@namedef{slnc@\slnc@name @width}{\dimexpr #1\relax}% + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@width} +\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@width@default} +\DefineFamilyKey[.definenotecolumn]{KOMAarg}{font}{% + \setkomafont{notecolumn.\slnc@name}{#1}% + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@font} +\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@font@default} +\DefineFamilyKey[.definenotecolumn]{KOMAarg}{marginpar}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{marginpar}{#1}% + \edef\reserved@a{\noexpand\slnc@defpos{\slnc@name}}\reserved@a + \@namedef{slnc@\slnc@name @width}{\marginparwidth}% +} +\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@marginpar} +\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@marginpar@default} +% \end{macrocode} +% \begin{macro}{\slnc@defpos} +% Little helper for option \Option{marginpar}. The argument is the expanded +% name of the note column. +% \begin{macrocode} +\scrlayerAddToInterface\slnc@defpos{% + \newcommand*\slnc@defpos[1]{% + \@namedef{slnc@#1@pos}{% + \ifodd\value{page} + \if@reversemargin +% \end{macrocode} +% The reverse marginal note column on odd pages is at the left margin. +% \begin{macrocode} + \dimexpr \oddsidemargin+1in + -\marginparsep-\csname slnc@#1@width\endcsname\relax + \else +% \end{macrocode} +% The normal marginal note column on odd pages is the right margin. +% \begin{macrocode} + \dimexpr \oddsidemargin+1in + +\textwidth+\marginparsep\relax + \fi + \else + \if@twoside + \if@reversemargin +% \end{macrocode} +% The reverse marginal note column on even pages is the right margin. +% \begin{macrocode} + \dimexpr \evensidemargin+1in + +\textwidth+\marginparsep\relax + \else +% \end{macrocode} +% The normal marginal note column on even pages is at the left margin. +% \begin{macrocode} + \dimexpr \evensidemargin+1in + -\marginparsep-\csname slnc@#1@width\endcsname\relax + \fi + \else +% \end{macrocode} +% \begin{macrocode} +% If not in two-side mode, do the same already done for odd pages. + \if@reversemargin + \dimexpr \oddsidemargin+1in + -\marginparsep-\csname slnc@#1@width\endcsname\relax + \else + \dimexpr \oddsidemargin+1in + +\textwidth+\marginparsep\relax + \fi + \fi + \fi + }% + }% +}% +% \end{macrocode} +% \end{macro}%^^A \slnc@defpos +% \begin{macrocode} +\DefineFamilyKey[.definenotecolumn]{KOMAarg}{normalmarginpar}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{normalmarginpar}{#1}% + \edef\reserved@a{\noexpand\slnc@defnormalpos{\slnc@name}}\reserved@a + \@namedef{slnc@\slnc@name @width}{\marginparwidth}% +} +\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@normalmarginpar} +\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@normalmarginpar@default} +% \end{macrocode} +% \begin{macro}{\slnc@defnormalpos} +% Little helper for option \Option{normalmarginpar}. The argument is the +% expanded name of the note column. +% \begin{macrocode} +\scrlayerAddToInterface\slnc@defnormalpos{% + \newcommand*\slnc@defnormalpos[1]{% + \@namedef{slnc@#1@pos}{% + \ifodd\value{page} +% \end{macrocode} +% The normal marginal note column on odd pages is the right margin. +% \begin{macrocode} + \dimexpr \oddsidemargin+1in + +\textwidth+\marginparsep\relax + \else + \if@twoside +% \end{macrocode} +% The normal marginal note column on even pages is at the left margin. +% \begin{macrocode} + \dimexpr \evensidemargin+1in + -\marginparsep-\csname slnc@#1@width\endcsname\relax + \else +% \end{macrocode} +% \begin{macrocode} +% If not in two-side mode, do the same already done for odd pages. + \dimexpr \oddsidemargin+1in + +\textwidth+\marginparsep\relax + \fi + \fi + }% + }% +}% +% \end{macrocode} +% \end{macro}%^^A \slnc@defnormalpos +% \begin{macrocode} +\DefineFamilyKey[.definenotecolumn]{KOMAarg}{reversemarginpar}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{reversemarginpar}{#1}% + \edef\reserved@a{\noexpand\slnc@defreversepos{\slnc@name}}\reserved@a + \@namedef{slnc@\slnc@name @width}{\marginparwidth}% +} +\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@reversemarginpar} +\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@reversemarginpar@default} +% \end{macrocode} +% \begin{macro}{\slnc@defreversepos} +% Little helper for option \Option{reversemarginpar}. The argument is the +% expanded name of the note column. +% \begin{macrocode} +\scrlayerAddToInterface\slnc@defreversepos{% + \newcommand*\slnc@defreversepos[1]{% + \@namedef{slnc@#1@pos}{% + \ifodd\value{page} +% \end{macrocode} +% The reverse marginal note column on odd pages is at the left margin. +% \begin{macrocode} + \dimexpr \oddsidemargin+1in + -\marginparsep-\csname slnc@#1@width\endcsname\relax + \else + \if@twoside +% \end{macrocode} +% The reverse marginal note column on even pages is the right margin. +% \begin{macrocode} + \dimexpr \evensidemargin+1in + +\textwidth+\marginparsep\relax + \else +% \end{macrocode} +% \begin{macrocode} +% If not in two-side mode, do the same already done for odd pages. + \dimexpr \oddsidemargin+1in + -\marginparsep-\csname slnc@#1@width\endcsname\relax + \fi + \fi + }% + }% +}% +% \end{macrocode} +% \end{macro}%^^A \slnc@defreversepos +% \begin{macrocode} +%</body> +% \end{macrocode} +% \end{option}%^^A reversemarginpar +% \end{option}%^^A normalmarginpar +% \end{option}%^^A marginpar +% \end{option}%^^A font +% \end{option}%^^A width +% \end{option}%^^A position +% \end{macro}%^^A \DeclareNoteColumn +% +% \begin{macro}{\DeclareNewNoteColumn} +% \begin{macro}{\ProvideNoteColumn} +% \begin{macro}{\RedeclareNoteColumn} +% Like \Macro{DeclareNoteColumn} but with restrictions, if the note column has +% (not) been declared already. +% \begin{macrocode} +%<*body> +\scrlayerAddToInterface\DeclareNewNoteColumn{% + \newcommand*{\DeclareNewNoteColumn}[2][]{% + \scr@ifundefinedorrelax{slnc@#2@box}{}{% + \PackageError{scrlayer-notecolumn}{note column `#2' already defined}{% + You may declare only note columns, that haven't been declared + previously using\MessageBreak + \string\DeclareNewNoteColumn. See also the alternatives + \string\RedeclareNoteColumn,\MessageBreak + \string\ProvideNoteColumn, and \string\DeclareNoteColumn.\MessageBreak + Nevertheless, if you'll continue, declaration will be done.% + }% + }% + \DeclareNoteColumn[{#1}]{#2}% + }% +} +\scrlayerAddToInterface\ProvideNoteColumn{% + \newcommand*{\ProvideNoteColumn}[2][]{% + \scr@ifundefinedorrelax{slnc@#2@box}{}{% + \PackageInfo{scrlayer-notecolumn}{\string\ProvideNoteColumn{#2} + ignored,\MessageBreak + because of already defined\MessageBreak + not column}% + }{% + \DeclareNoteColumn[{#1}]{#2}% + }% + }% +} +\scrlayerAddToInterface\RedeclareNoteColumn{% + \newcommand*{\RedeclareNoteColumn}[2][]{% + \scr@ifundefinedorrelax{slnc@#2@box}{% + \PackageError{scrlayer-notecolumn}{note column `#2' undefined}{% + You may declare only note columns, that have been declared + previously using\MessageBreak + \string\RedeclareNoteColumn. See also the alternatives + \string\DeclareNewNoteColumn,\MessageBreak + \string\ProvideNoteColumn, and \string\DeclareNoteColumn.\MessageBreak + Nevertheless, if you'll continue, declaration will be done.% + }% + }{}% + \DeclareNoteColumn[{#1}]{#2}% + }% +} +%</body> +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \section{Setting a Note Column} +% +% We already have commands to declare note columns. But we also need a command +% to put contents into the note columns and to output the note columns. +% +% \begin{macro}{\tf@slnc} +% \begin{macro}{\slnc@initwrite} +% \begin{macro}{\slnc@openwrite} +% First of all we need a file to write the notes to. We use the +% \File{aux}-file to write into the file, because we need to read the file +% while the document will be typeset and the same time we need to write into +% the file. Note, that the file will be still reserved on auto-removing the +% interface! +% \begin{macrocode} +%<*body> +\scrlayerAddToInterface\tf@slnc{% + \newwrite\tf@slnc + \AtBeginDocument{% + \immediate\write\@auxout{% + \noexpand\csname slnc@initwrite\noexpand\endcsname + }% + }% + \AtEndDocument{\let\slnc@initwrite\slnc@openwrite}% +} +\scrlayerAddToInterface\slnc@initwrite{}% +\scrlayerAddToInterface\slnc@openwrite{% + \newcommand*{\slnc@openwrite}{% + \immediate\closeout\slnc@file +%<*trace> + \PackageInfo{scrlayer-notecolumn}{% + Opening `\jobname.slnc'\MessageBreak + for writing}% +%</trace> + \immediate\openout\tf@slnc\jobname.slnc + }% +} +\AfterReadingMainAux{% + \immediate\closeout\tf@slnc + \scr@ifundefinedorrelax{pdfmdfivesum}{% + \PackageWarningNoLine{scrlayer-notecolumn}{% + \string\pdfmdfivesum\space unavailable.\MessageBreak + The package needs \string\pdfmdfivesum\space to test\MessageBreak + whether or not one more LaTeX run will\MessageBreak + be needed to make the note columns\MessageBreak + right. If this command is unavailable\MessageBreak + you have to do the decision without\MessageBreak + this help of the package.% + }% + }{% + \begingroup + \edef\reserved@a{\pdfmdfivesum file {\jobname.slnc}}% + \ifx \slnc@mdfivesum\reserved@a +%<*trace> + \PackageInfo{scrlayer-notecolumn}{% + MD5 of current `\jobname.slnc':\MessageBreak + \reserved@a}% +%</trace> + \else +%<*trace> + \PackageWarningNoLine{scrlayer-notecolumn}{% + MD5 of slnc-file changed.\MessageBreak + Last: \slnc@mdfivesum\MessageBreak + New: \space \reserved@a\MessageBreak + At least one more LaTeX rerun need to\MessageBreak + make note columns right% + }% +%</trace> + \aftergroup\@tempswatrue + \fi + \endgroup + }% +} +%</body> +% \end{macrocode} +% \end{macro}^^A \slnc@openwrite +% \end{macro}^^A \slnc@initwrite +% \end{macro}^^A \tf@slnc +% +% \begin{macro}{\makenote} +% \begin{description} +% \item[\OParameter{string}:] the name of the note column the note should be +% added to (must be fully expandable and expand to a string only). The +% default value is \PValue{marginpar}. +% \item[\Parameter{code}:] the code, that should become par of the note +% column. Note, that this will be written protected to a file. So you have +% to use \Macro{protect} if a macro shouldn't be expanded while writing or +% may break while writing. +% \end{description} +% \begin{macrocode} +%<*body> +\scrlayerAddToInterface\makenote{% + \newcommand{\makenote}[2][marginpar]{% + \@bsphack + \pdfsavepos + \addtocontents{slnc}{% + \string\slnc@note{#1}% + {\noexpand\number\value{slncpage}}% + {\noexpand\number\pdflastypos}% + {#2}% + }% + \@esphack + }% +} +% \end{macrocode} +%^^A \begin{counter}{slncpage} +% This counter should be increased once per page with note column. This may +% be done simply at a once per page executed hook of +% \Pagestyle{@everystyle@}. You should note, that auto-remove wouldn't +% remove the counter. +% \begin{macrocode} +\@ifundefined{c@slncpage}{% + \newcounter{slncpage}% + \AddToLayerPageStyleOptions{@everystyle@}{% + onbackground=\stepcounter{slncpage}% + }% +}{} +%</body> +% \end{macrocode} +%^^A \end{counter}^^A slncpage +% \end{macro}^^A \makenote +% +% \begin{macro}{\slnc@processnotes} +% \begin{description} +% \item[\Parameter{string}:] the name of the note column (must be fully +% expandable an expand to a string only). +% \end{description} +% Each note column typesets the notes with this command. It works in following +% steps: +% \begin{macrocode} +%<*body> +\scrlayerAddToInterface\slnc@processnotes{% + \newcommand*{\slnc@processnotes}[1]{% +% \end{macrocode} +% Read as long notes from the notes file until the number at \#2 of +% \Macro{slnc@note} in the file is greater than \Counter{slncpage}. Put all +% these to the corresponding unprocessed list. +% \begin{macrocode} + \begingroup + \slnc@readnotes{\value{slncpage}}% +% \end{macrocode} +% Process the unprocessed list of the current note column +% \begin{macrocode} + \expandafter\let\expandafter\reserved@a + \csname slnc@#1@unprocessed\endcsname + \expandafter\global + \expandafter\let\csname slnc@#1@unprocessed\endcsname\@empty + \def\slnc@notesyncfonttest##1{% + \ifhmode + \PackageError{scrlayer-notecolumn}{% + illegal font setting for `notecolumn.##1'% + }{% + Current setting of font for `notecolumn.##1' switches + from\MessageBreak + vertical mode to horizontal mode. This is + illegal!\MessageBreak + You have to change the font setting to fix + this.\MessageBreak + If you'll continue vertical alignment of notes may fail% + }% + \par\vskip-\dimexpr \baselineskip+\parskip\relax + \fi + }% + \long\def\slnc@note##1##2##3##4{% + \let\PackageInfo\PackageWarning + \ifnum ##2>\value{slncpage}\relax + \expandafter\g@addto@macro\csname slnc@#1@unprocessed\endcsname{% + \slnc@note{##1}{##2}{##3}{##4}% + }% + \else + \ifnum ##2<\value{slncpage}\relax + \PackageWarning{scrlayer-notecolumn}{note of type `#1' delayed.}% + \fi + \boxmaxdepth\maxdepth + \expandafter\setbox\csname slnc@#1@box\endcsname\vbox{% + \expandafter\hsize\csname slnc@#1@width\endcsname + \normalfont\normalsize + {% +% \end{macrocode} +% Question: Why is it not allowed to set a colour here? +% \begin{macrocode} + \let\color\@gobble + \usekomafont{notecolumn.#1}{% + \slnc@notesyncfonttest{#1}% + \expandafter\ifvoid\csname slnc@#1@box\endcsname + \expandafter\setbox\csname slnc@#1@box\endcsname\vbox{% + \kern\dimexpr\topskip-\baselineskip\relax + }% + \fi + \scr@ifundefinedorrelax{pdfpageheight}{% + \@tempdima=\paperheight + }{% + \@tempdima=\pdfpageheight + }% + \@tempdima=\dimexpr \@tempdima-##3sp + -1in-\topmargin + -\headheight-\headsep + -\baselineskip + \relax + \@tempdimb=\dimexpr \expandafter\ht\csname slnc@#1@box\endcsname + +\expandafter\dp\csname slnc@#1@box\endcsname + \relax + \typeout{Soll: \the\@tempdima^^JIst: \space\the\@tempdimb}% + \ifdim\@tempdima<\@tempdimb +%<*trace> + \PackageInfo{scrlayer-notecolumn}{% + Note moved down from\MessageBreak + \the\@tempdima\space to \the\@tempdimb\MessageBreak + at note box `#1' + }% +%</trace> + \else + \ifdim\@tempdima>\@tempdimb +%<*trace> + \PackageInfo{scrlayer-notecolumn}{% + Adding vertical white space from\MessageBreak + \the\@tempdimb\space to \the\@tempdima\MessageBreak + into note box `#1' + }% +%</trace> + \expandafter\setbox\csname slnc@#1@box\endcsname + \vbox {% + \expandafter\unvbox\csname slnc@#1@box\endcsname + \kern\dimexpr\@tempdima-\@tempdimb\relax + }% + \fi + \fi + \expandafter\ifvoid\expandafter\csname slnc@#1@box\endcsname + \else + \@tempdima\dimexpr + \dp\strutbox + -\dp\csname slnc@#1@box\endcsname + \relax + \expandafter\unvbox\csname slnc@#1@box\endcsname + \ifdim\@tempdima>\z@ \kern\@tempdima\fi + \fi + \strut\ignorespaces ##4\par + }% + }% + }% + \fi + }% + \def\slnc@sync##1##2##3##4{% + \ifnum ##2>\value{slncpage}\relax + \expandafter\g@addto@macro\csname slnc@#1@unprocessed\endcsname{% + \slnc@sync{##1}{##2}{##3}{}% + }% + \else + \if@filesw + \expandafter\setbox\csname slnc@#1@box\endcsname\vbox{% + \expandafter\unvbox\csname slnc@#1@box\endcsname + \pdfsavepos + \protected@write\@auxout{}{% + \string\newlabel{notecolumn.##1.##3.syncnote.label}{% + {% + \noexpand\number\pdflastypos + }{\thepage}% + }% + }% + }% + \fi + \fi + }% + \reserved@a + \expandafter\ifvoid\csname slnc@#1@box\endcsname +%<*trace> + \PackageInfo{scrlayer-notecolumn}{Note box `#1' empty}% +%</trace> + \else + \ifdim \dimexpr \expandafter\ht\csname slnc@#1@box\endcsname + +\expandafter\dp\csname slnc@#1@box\endcsname + \relax >\textheight\relax +%<*trace> + \PackageInfo{scrlayer-notecolumn}{Split note box `#1'}% +%</trace> + \splittopskip\topskip + \splitmaxdepth\baselineskip +% \end{macrocode} +% Bring back the colours: +% \begin{macrocode} + \usekomafont{notecolumn.#1}{% + \expandafter\vsplit\csname slnc@#1@box\endcsname to + \textheight\relax + }% + \expandafter\ifvoid\csname slnc@#1@box\endcsname + \else + \expandafter\setbox\csname slnc@#1@box\endcsname\vbox{% + \expandafter\unvbox\csname slnc@#1@box\endcsname + }% + \fi + \else +%<*trace> + \PackageInfo{scrlayer-notecolumn}{Flush note box `#1'}% +%</trace> +% \end{macrocode} +% Bring back the colours: +% \begin{macrocode} + \usekomafont{notecolumn.#1}{% + \expandafter\box\csname slnc@#1@box\endcsname% + }% + \fi + \fi + \expandafter\global + \expandafter\setbox\csname slnc@#1@box\expandafter\endcsname + \expandafter\box\csname slnc@#1@box\endcsname + \endgroup + } +} +% \end{macrocode} +% \begin{macro}{\slnc@readnotes} +% Read as long notes from the notes file until the number at \#2 of +% \Macro{slnc@note} or \Macro{slnc@sync} in the file is greater than +% \Counter{slncpage}. Put all these to the corresponding unprocessed list. +% \begin{macrocode} +\scrlayerAddToInterface\slnc@readnotes{% + \newcommand*\slnc@readnotes[1]{% + \ifeof\slnc@file\else + \ifnum \number #1<\slnc@unprocessed\relax + \@tempswafalse + \else + \@tempswatrue + \fi + \@whilesw\if@tempswa\fi{% + \edef\reserved@a{% + \noexpand\makeatletter + \endlinechar\m@ne + \read\noexpand\slnc@file to\noexpand\reserved@a + \endlinechar\the\endlinechar\relax + \catcode`\noexpand\@=\the\catcode`\@\relax + }% + \reserved@a + \expandafter\slnc@iofv\expandafter\reserved@b\reserved@a + \@empty\@empty\@empty\@empty\@empty + \@tempswafalse + \@for\reserved@c :={\slnc@note },{\slnc@sync }\do{% + \ifx\reserved@b\reserved@c \@tempswatrue\fi + }% + \if@tempswa + \@tempswafalse + \expandafter\slnc@iiiofv\expandafter\reserved@b\reserved@a + \@empty\@empty\@empty\@empty\@empty + \ifx\reserved@b\@empty + \PackageError{scrlayer-notecolumn}{internal syntax error}{% + Unexpected syntax of file `\jobname.slnc'.\MessageBreak + Second argument should be a number.\MessageBreak + I don't know what to do with\MessageBreak + \expandafter\detokenize\expandafter{\reserved@a}% + }% + \@tempswatrue + \else + \global\let\slnc@unprocessed\reserved@b + \expandafter\slnc@iiofv\expandafter\reserved@b\reserved@a + \@empty\@empty\@empty\@empty\@empty + \@ifundefined{slnc@\reserved@b @unprocessed}{% + \PackageWarning{scrlayer-notecolumn}{% + column `\reserved@b' undefined.\MessageBreak + You should declare the column before the usage.\MessageBreak + Notes will be lost + }% + }{% + \expandafter\g@addto@macro + \csname slnc@\reserved@b @unprocessed\expandafter\endcsname + \expandafter{% + \reserved@a + }% + }% + \ifnum \number #1<\slnc@unprocessed\relax + \@tempswafalse + \else + \@tempswatrue + \fi + \fi + \else +%<*trace> + \PackageInfo{scrlayer-notecolumn}{% + Ignoring `\expandafter\detokenize\expandafter{\reserved@a}'}% +%</trace> + \@tempswatrue + \fi + \ifeof\slnc@file\@tempswafalse\fi + }% + \fi + }% +} +% \end{macrocode} +% \end{macro}^^A \slnc@readnotes +% \begin{macro}{\slnc@iofv} +% \begin{macro}{\slnc@iiofv} +% \begin{macro}{\slnc@iiiofv} +% \begin{macrocode} +\scrlayerAddToInterface\slnc@iofv{% + \newcommand\slnc@iofv[6]{\def#1{#2}}% +} +\scrlayerAddToInterface\slnc@iiofiv{% + \newcommand\slnc@iiofv[6]{\def#1{#3}}% +} +\scrlayerAddToInterface\slnc@iiiofiv{% + \newcommand\slnc@iiiofv[6]{\def#1{#4}}% +} +% \end{macrocode} +% \end{macro}^^A \slnc@iiiofv +% \end{macro}^^A \slnc@iiofv +% \end{macro}^^A \slnc@iofv +% \begin{macro}{\slnc@unprocessed} +% The \#2 of the last read note column from notes file. +% \begin{macrocode} +\scrlayerAddToInterface\slnc@unprocessed{% + \newcommand*{\slnc@unprocessed}{0}% +} +%</body> +% \end{macrocode} +% \begin{macro}{\slnc@file} +% The input file with the unprocessed notes. +% \begin{macro}{\slnc@mdfivesum} +% The MD5 sum of the file before opening it for reading. +% \begin{macrocode} +%<*body> +\scrlayerAddToInterface\slnc@mdfivesum{% + \let\slnc@mdfivesum\@empty +} +\scrlayerAddToInterface\slnc@file{% + \scr@ifundefinedorrelax{pdfmdfivesum}{}{% + \xdef\slnc@mdfivesum{\pdfmdfivesum file {\jobname.slnc}}% +%<*trace> + \PackageInfo{scrlayer-notecolumn}{% + MD5 of last `\jobname.slnc':\MessageBreak + \slnc@mdfivesum}% +%</trace> + }% + \newread\slnc@file + \immediate\openin\slnc@file \jobname.slnc + \scrlayerOnAutoRemoveInterface{\immediate\closeout\slnc@file}% +} +%</body> +% \end{macrocode} +% \end{macro}^^A \slnc@mdfivesum +% \end{macro}^^A \slnc@file +% \end{macro}^^A \slnc@unprocessed +% \end{macro}^^A \slnc@processnotes +% +% \begin{option}{autoclearnotecolumns} +% \begin{macrocode} +%<*options> +\KOMA@ifkey{autoclearnotecolumns}{slnc@autoclearnotecolumns}\slnc@autoclearnotecolumnstrue +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @autoclearnotecolumns} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @autoclearnotecolumns@default} +%</options> +%<*final> +\let\reserved@a\clearpage +\def\clearpage{% + \ifslnc@autoclearnotecolumns\clearnotecolumns\relax\fi +}% +\expandafter\g@addto@macro\expandafter\clearpage\expandafter{\reserved@a} +%</final> +% \end{macrocode} +% \end{option} +% +% \begin{macro}{\clearnotecolumn} +% \begin{description} +% \item[\OParameter{string}:] the name of the note column (must be fully +% expandable and expand to a string only). Default is \PValue{marginpar}. +% \end{description} +% Output as many (empty) pages as needed to output all unprocessed notes of +% one note column. Note, that the output of the first page may result in more +% unprocessed notes. But the output of the following (empty) pages shouldn't. +% \begin{macrocode} +%<*body> +\scrlayerAddToInterface\c@slnc@clearnote@label{% + \newcounter{slnc@clearnote@label}% +} +\scrlayerAddToInterface\clearnotecolumn{% + \newcommand*\clearnotecolumn[1][marginpar]{% + \begingroup + \slnc@autoclearnotecolumnsfalse +% \end{macrocode} +% First of all we need to know the note column page of this page. +% \begin{macrocode} + \stepcounter{slnc@clearnote@label}% + \if@filesw + \protected@write\@auxout{% + \let\theslncpage\relax + \let\slnc@voidtest\relax + }{% + \string\newlabel{notecolumn.\theslnc@clearnote@label}% + {{\theslncpage}{\slnc@voidtest{#1}}}% + }% + \fi + \scr@ifundefinedorrelax{r@notecolumn.\theslnc@clearnote@label}{% + \PackageInfo{scrlayer-notecolumn}{% + Using estimated to low value for clearing\MessageBreak + note colum `#1'% + } + \edef\slnc@cmp@value{\the\value{slncpage}}% + \let\reserved@a\z@ + }{% + \edef\reserved@a{% + \@nameuse{r@notecolumn.\theslnc@clearnote@label}\@empty\@empty + }% + \edef\slnc@cmp@value{\expandafter\slnc@firstof\reserved@a\@nil}% + \edef\reserved@a{\expandafter\slnc@secondof\reserved@a\@nil}% + }% + \ifnum \reserved@a=\z@ +% \end{macrocode} +% Next we read all notes until the end of the current page, but only +% if a \Macro{clearpage} wouldn't result in a new page. +% \begin{macrocode} + \ifvmode + \ifdim \pagetotal<\topskip + \else + \slnc@readnotes{\slnc@cmp@value}% + \fi + \else + \slnc@readnotes{\slnc@cmp@value}% + \fi + \begingroup + \aftergroup\@tempswafalse + \long\def\slnc@note##1##2##3##4{% + \ifnum ##2>\slnc@cmp@value\relax \else \aftergroup\@tempswatrue\fi + }% + \let\slnc@sync\slnc@note + \csname slnc@#1@unprocessed\endcsname + \endgroup + \else + \PackageInfo{scrlayer-notecolumn}{% + box of note column `#1'\MessageBreak + not empty after page of \string\clearnotecolumn}% + \@tempswatrue + \fi + \if@tempswa +% \end{macrocode} +% Yes, we have! +% \begin{macrocode} + \IfLayerPageStyleExists{\currentpagestyle}{}{% + \PackageWarning{scrlayer-notecolumn}{% + \string\clearnotecolumn\space while active non-layer page + style.\MessageBreak + Activate empty page style until note column\MessageBreak + has been cleared% + }% + \pagestyle{empty}% + }% + \@tempswatrue + \fi + \@whilesw\if@tempswa\fi{% +% \end{macrocode} +% Yes, we have (maybe again)! +% \begin{macrocode} + \clearpage + \expandafter\ifcase \slnc@voidtest{#1}% + \begingroup + \aftergroup\@tempswafalse + \long\def\slnc@note##1##2##3##4{% + \ifnum ##2>\slnc@cmp@value\relax \else \aftergroup\@tempswatrue\fi + }% + \let\slnc@sync\slnc@note + \csname slnc@#1@unprocessed\endcsname + \endgroup + \else + \@tempswatrue + \fi + \if@tempswa +% \end{macrocode} +% And we still have: So we have to output one more page. +% \begin{macrocode} + \null + \fi + }% + \endgroup + }% +} +% \end{macrocode} +% \begin{macro}{\slnc@firstof} +% \begin{macro}{\slnc@secondof} +% We need these little helpers, because some packages like +% \Package{hyperref} extend the label mechanism by additional arguments. +% \begin{macrocode} +\scrlayerAddToInterface{\slnc@firstof}{% + \def\slnc@firstof#1#2\@nil{#1}% +} +\scrlayerAddToInterface{slnc@secondof}{% + \def\slnc@secondof#1#2#3\@nil{#2}% +} +% \end{macrocode} +% \end{macro}^^A \slnc@firstof +% \end{macro}^^A \slnc@secondof +% \begin{macro}{\slnc@voidtest} +% \begin{description} +% \item[\Parameter{string}:] the name of a note column (must be fully +% expandable and expand to a string only). +% \end{description} +% If the box of the note column is empty/void it returns \Macro{z@} otherwise +% \Macro{@ne}. +% \begin{macrocode} +\scrlayerAddToInterface\slnc@voidtest{% + \newcommand*{\slnc@voidtest}[1]{% + \expandafter\ifvoid \csname slnc@#1@box\endcsname \z@\else \@ne\fi + }% +} +%</body> +% \end{macrocode} +% \end{macro}^^A \slnc@voidtest +% \end{macro}^^A \clearnotecolumn +% +% \begin{macro}{\clearnotecolumns} +% \begin{description} +% \item[\OParameter{string list}:] comma separated list of note column names +% (must be fully expandable and each element must expand to a string only, +% that is the name of a note column); if omitted or empty all note columns +% will be used. +% \end{description} +% Output as many (empty) pages as needed to output all unprocessed notes of +% all (given) note columns. Note, that the output of the first page may +% result in more unprocessed notes. But the output of the following (empty) +% pages shouldn't. +% \begin{macrocode} +%<*body> +\scrlayerAddToInterface\clearnotecolumns{% + \newcommand*\clearnotecolumns[1][\relax]{% + \begingroup + \slnc@autoclearnotecolumnsfalse + \ifx\relax#1\relax\else + \let\slnc@processnotecolumns\@empty + \edef\reserved@a{#1}% + \expandafter\@for\expandafter\reserved@a\expandafter:\expandafter=% + \reserved@a\do {% + \ifx\reserved@a\@empty\else + \expandafter\l@addto@macro\expandafter\slnc@processnotecolumns + \expandafter{\expandafter\@elt\expandafter{\reserved@a}}% + \fi + }% + \fi +% \end{macrocode} +% First of all we need to know the note column page of this page. +% \begin{macrocode} + \stepcounter{slnc@clearnote@label}% + \if@filesw + \begingroup + \def\@elt##1{+\slnc@voidtest{##1}}% + \protected@write\@auxout{% + \let\theslncpage\relax + \let\slnc@voidtest\relax + }{% + \string\newlabel{notecolumn.\theslnc@clearnote@label}% + {{\theslncpage}{\numexpr \slnc@processnotecolumns\relax}}% + }% + \endgroup + \fi + \scr@ifundefinedorrelax{r@notecolumn.\theslnc@clearnote@label}{% + \begingroup + \def\@elt##1{, `##1'}% + \PackageInfo{scrlayer-notecolumn}{% + Using estimated to low value for\MessageBreak + clearing note colums\MessageBreak + \expandafter\@gobble\slnc@processnotecolumns + }% + \endgroup + \edef\slnc@cmp@value{\the\value{slncpage}}% + \let\reserved@a\z@ + }{% + \edef\reserved@a{% + \@nameuse{r@notecolumn.\theslnc@clearnote@label}\@empty\@empty + }% + \edef\slnc@cmp@value{\expandafter\slnc@firstof\reserved@a\@nil}% + \edef\reserved@a{\expandafter\slnc@secondof\reserved@a\@nil}% + }% + \ifcase \reserved@a\relax +% \end{macrocode} +% Next we read all notes until the end of the current page, but only +% if a \Macro{clearpage} wouldn't result in a new page. +% \begin{macrocode} + \ifvmode + \ifdim \pagetotal<\topskip + \else + \slnc@readnotes{\slnc@cmp@value}% + \fi + \else + \slnc@readnotes{\slnc@cmp@value}% + \fi + \begingroup + \aftergroup\@tempswafalse + \long\def\slnc@note##1##2##3##4{% + \ifnum ##2>\slnc@cmp@value\relax \else \aftergroup\@tempswatrue\fi + }% + \let\slnc@sync\slnc@note + \def\@elt##1{\csname slnc@##1@unprocessed\endcsname}% + \slnc@processnotecolumns + \endgroup + \else + \PackageInfo{scrlayer-notecolumn}{% + box of at least one note column\MessageBreak + not empty after page of \string\clearnotecolumns}% + \@tempswatrue + \fi + \if@tempswa +% \end{macrocode} +% Yes, we have! +% \begin{macrocode} + \IfLayerPageStyleExists{\currentpagestyle}{}{% + \PackageWarning{scrlayer-notecolumn}{% + \string\clearnotecolumns\space while active non-layer page + style.\MessageBreak + Activate empty page style until note column\MessageBreak + has been cleared% + }% + \pagestyle{empty}% + }% + \@tempswatrue + \fi + \@whilesw\if@tempswa\fi{% +% \end{macrocode} +% Yes, we have (maybe again)! +% \begin{macrocode} + \clearpage + \begingroup + \def\@elt##1{+\slnc@voidtest{##1}}% + \ifcase \numexpr \slnc@processnotecolumns\relax + \aftergroup\@tempswafalse + \long\def\slnc@note##1##2##3##4{% + \ifnum ##2>\slnc@cmp@value\relax \else \aftergroup\@tempswatrue\fi + }% + \let\slnc@sync\slnc@note + \def\@elt##1{\csname slnc@##1@unprocessed\endcsname}% + \slnc@processnotecolumns + \else + \aftergroup\@tempswatrue + \fi + \endgroup + \if@tempswa +% \end{macrocode} +% And we still have: So we have to output one more page. +% \begin{macrocode} + \null + \fi + }% + \endgroup + }% +} +%</body> +% \end{macrocode} +% \end{macro}^^A \clearnotecolumns +% +% +% \section{Syncronisation of Text and Note} +% \label{sec:scrlayer-notecolumn.sync} +% +% Until yet we have the text and we have note columns. Normally note entries +% to a note column are in sync with the text position, that makes the +% note. But if there are collisions the sync may be lost. In this case the +% note may be later (but never earlier), so we need a mechanism to force +% synchronisation of the text with the note. +% +% \begin{macro}{\syncwithnotecolumn} +% \begin{description} +% \item[\OParameter{string}:] the name of the note column to sync with (this +% must be fully expandable and expand to the name of a note column). By +% default sync with note column \PValue{marginpar}. +% \end{description} +% Add at the \LaTeX{} run after the next \LaTeX{} run as much space to the +% text (not the note column!) as needed to reach the next position at the +% note column. This is not the same like \Macro{clearnotecolumn}, because it +% doesn't need to go to the next page, but it needs at least three \LaTeX{} +% runs to terminate. +% \begin{macrocode} +%<*body> +\scrlayerAddToInterface{\c@slnc@syncpoint}{% + \newcounter{slnc@syncpoint}% +} +\scrlayerAddToInterface{\syncwithnotecolumn}{% + \newcommand*{\syncwithnotecolumn}[1][marginpar]{% + \begingroup + \edef\reserved@a{\endgroup\noexpand\syncwithnotecolumns[{#1}]}% + \reserved@a + }% +} +\scrlayerAddToInterface{\syncwithnotecolumns}{% + \newcommand*{\syncwithnotecolumns}[1][\relax]{% + \begingroup + \ifx\relax#1\relax\else + \let\slnc@processnotecolumns\@empty + \edef\reserved@a{#1}% + \expandafter\@for\expandafter\reserved@a\expandafter:\expandafter=% + \reserved@a\do {% + \ifx\reserved@a\@empty\else + \expandafter\l@addto@macro\expandafter\slnc@processnotecolumns + \expandafter{\expandafter\@elt\expandafter{\reserved@a}}% + \fi + }% + \fi + \stepcounter{slnc@syncpoint}% + \def\@elt##1{% + \addtocontents{slnc}{% + \string\slnc@sync{##1}% + {\noexpand\number\value{slncpage}}% + {\theslnc@syncpoint}% + {}% + }% + }% + \slnc@processnotecolumns + \ifvmode + \let\slnc@voffset\@empty% + \expandafter\@firstofone + \else + \PackageWarning{scrlayer-notecolumn}{% + \string\syncwithnotecolumn\space in hmode.\MessageBreak + Using \string\syncwithnotecolumn\space in horizontal\MessageBreak + mode may result in unwanted vertical\MessageBreak + space inside paragraphs and may lost\MessageBreak + colours of text of notes. \space So perhaps you\MessageBreak + should move \string\syncwithnotecolumn\space before\MessageBreak + or after the paragraph% + }% + \let\slnc@voffset\@empty%\def\slnc@voffset{-\number\baselineskip}% + \expandafter\slnc@vadjust + \fi + {% + \if@filesw + \pdfsavepos + \protected@write\@auxout{}{% + \string\newlabel{notecolumn.\theslnc@syncpoint.synctext.label}{% + {% + \noexpand\number + \numexpr \pdflastypos\slnc@voffset\relax + }{\thepage}% + }% + }% + \fi + \@ifundefined{r@notecolumn.\theslnc@syncpoint.synctext.label}{% + \PackageInfo{scrlayer-notecolumn}{% + No text label for \string\syncwithnotecolumn.\MessageBreak + Need rerun to sync position}% + }{% + \edef\reserved@a{% + \@nameuse{r@notecolumn.\theslnc@syncpoint.synctext.label}% + \@empty\@empty + }% + \edef\slnc@textpos{\expandafter\slnc@firstof\reserved@a\@nil}% + \edef\slnc@textpage{\expandafter\slnc@secondof\reserved@a\@nil}% + \let\slnc@notepos\slnc@textpos + \let\slnc@notepage\slnc@textpage + \def\@elt##1{% + \@ifundefined{r@notecolumn.##1.\theslnc@syncpoint.syncnote.label}{% + \PackageInfo{scrlayer-notecolumn}{% + No note label for sync with note column\MessageBreak + `##1'.\MessageBreak + Need rerun to sync position}% + \G@refundefinedtrue + }{% + \edef\reserved@a{% + \@nameuse{r@notecolumn.##1.\theslnc@syncpoint.syncnote.label}% + \@empty\@empty + }% + \edef\reserved@b{\expandafter\slnc@firstof\reserved@a\@nil}% + \edef\reserved@c{\expandafter\slnc@secondof\reserved@a\@nil}% + \ifnum \slnc@notepage<\reserved@c\relax + \let\slnc@notepos=\reserved@b + \let\slnc@notepage=\reserved@c + \else + \ifnum \slnc@notepage=\reserved@c\relax + \ifnum \slnc@notepos>\reserved@b + \let\slnc@notepos=\reserved@b + \let\slnc@notepage=\reserved@c + \fi + \fi + \fi + }% + }% + \slnc@processnotecolumns + \ifnum\slnc@textpage>\slnc@notepage\relax + \PackageInfo{scrlayer-notecolumn}{% + Last note page before last text page.\MessageBreak + Need rerun to sync position}% + \else + \ifnum\slnc@textpage<\slnc@notepage\relax + \@whilenum \slnc@textpage<\slnc@notepage\do {% + \newpage\null\vskip-\dimexpr \baselineskip+\parskip\relax + \edef\slnc@textpage{\the\numexpr\slnc@textpage+1\relax}% + }% + \scr@ifundefinedorrelax{pdfpageheight}{% + \@tempdima=\paperheight + }{% + \@tempdima=\pdfpageheight + }% + \@tempdima=\dimexpr \@tempdima + -\topmargin-1in + -\headheight-\headsep + -\topskip+\baselineskip + \relax + \edef\slnc@textpos{\number\@tempdima}% +%<*trace> + \PackageInfo{scrlayer-notecolumn}{% + Top position is \slnc@textpos% + }% +%</trace> + \fi + \ifnum\slnc@notepos>\slnc@textpos\relax + \PackageInfo{scrlayer-notecolumn}{% + Last note position before last text\MessageBreak + position.\MessageBreak + Need rerun to sync position% + }% + \else + \ifnum\slnc@notepos<\slnc@textpos\relax + \@tempdima=\numexpr \slnc@textpos-\slnc@notepos\relax sp + \PackageInfo{scrlayer-notecolumn}{% + skipping \the\@tempdima\space to sync% + }% + \vskip\@tempdima + \fi + \fi + \fi + }% + }% + \endgroup + }% +} +% \end{macrocode} +% \begin{macro}{\slnc@vadjust} +% \begin{macrocode} +\scrlayerAddToInterface\slnc@vadjust{% + \newcommand{\slnc@vadjust}[1]{% + \@bsphack + \vadjust{#1}% + \@esphack + }% +} +%</body> +% \end{macrocode} +% \end{macro}^^A \slnc@vadjust +% \end{macro}^^A \syncwithnotecolumn +% +% +% \iffalse^^A meta-comment +%</interface> +% \fi^^A meta-comment +% +% \Finale +% \let\subsection\section +% \let\section\chapter +% \let\chapter\restorechapter +% +\endinput +% +% end of file `scrlayer-notecolumn.dtx' + +%%% Local Variables: +%%% mode: doctex +%%% mode: flyspell +%%% ispell-local-dictionary: "en_GB" +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/scrlayer-scrpage.dtx b/Master/texmf-dist/source/latex/koma-script/scrlayer-scrpage.dtx new file mode 100644 index 00000000000..6639164e997 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/scrlayer-scrpage.dtx @@ -0,0 +1,2915 @@ +% \CheckSum{2321} +% \iffalse^^A meta-comment +% ====================================================================== +% scrlayer-scrpage.dtx +% Copyright (c) Markus Kohm, 2012-2013 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ---------------------------------------------------------------------- +% scrlayer-scrpage.dtx +% Copyright (c) Markus Kohm, 2012-2013 +% +% Diese Datei ist Teil der LaTeX2e KOMA-Script-Sammlung. +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c. +% 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 und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% \fi^^A meta-comment +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \iffalse^^A meta-comment +%<identify>%%% From File: $Id: scrlayer-scrpage.dtx 1548 2013-12-14 17:36:23Z mjk $ (identify) +%<init>%%% From File: $Id: scrlayer-scrpage.dtx 1548 2013-12-14 17:36:23Z mjk $ (init) +%<options>%%% From File: $Id: scrlayer-scrpage.dtx 1548 2013-12-14 17:36:23Z mjk $ (options) +%<body>%%% From File: $Id: scrlayer-scrpage.dtx 1548 2013-12-14 17:36:23Z mjk $ (body) +%<*dtx> +\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\begingroup + \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#4/#3/#2}} + \filedate$Date: 2013-12-14 18:36:23 +0100 (Sa, 14 Dez 2013) $ + \def\filerevision$#1: #2 ${\gdef\filerevision{v0.9.#2}} + \filerevision$Revision: 1548 $ +\endgroup +\ProvidesFile{scrlayer-scrpage.dtx}[\filedate\space\filerevision\space +%</dtx> +%<*identify> +%<interface>\NeedsTeXFormat{LaTeX2e}[1995/12/01] +%<interface>\ProvidesPackage{scrlayer-scrpage}[% +% Some time following will be replaced by !KOMASCRIPTVERSION: +%!SCRLAYERVERSION +%<interface> package +%</identify> +%<*dtx|identify> + (end user interface for scrlayer)] +%</dtx|identify> +%<*dtx> +\ifx\documentclass\undefined + \input scrdocstrip.tex + \@@input scrkernel-version.dtx + \@@input scrstrip.inc + \KOMAdefVariable{COPYRIGHTFROM}{2012} + \KOMAdefVariable{SCRLAYERVERSION}{\space\space\filedate\space\filerevision}% + \generate{\usepreamble\defaultpreamble + \file{scrlayer-scrpage.sty}{% + \from{scrlayer-scrpage.dtx}{interface,trace,scrpage,identify}% + \from{scrlayer.dtx}{interface,trace,scrpage,init}% + \from{scrlayer-scrpage.dtx}{interface,trace,scrpage,init}% + \from{scrlayer.dtx}{interface,trace,scrpage,options}% + \from{scrlayer-scrpage.dtx}{interface,trace,scrpage,options}% + \from{scrlayer.dtx}{interface,trace,scrpage,body}% + \from{scrlayer-scrpage.dtx}{interface,trace,scrpage,body}% + \from{scrlogo.dtx}{logo}% + }% + } + \@@input scrstrop.inc +\else + \let\endbatchfile\relax +\fi +\endbatchfile +%</dtx> +%<*driver> + \documentclass{scrdoc} + \addtolength{\textwidth}{-1em} + \addtolength{\marginparwidth}{2em} + \addtolength{\oddsidemargin}{2em} + \usepackage[ngerman,english]{babel} + \usepackage{url,babelbib}\bibliographystyle{babalpha-fl} + \usepackage{listings} + \usepackage{scrhack} + \usepackage{etoolbox} + \pretocmd\DescribeMacro{\ifhmode\else\bigskip\noindent\fi}{}{} + \pretocmd\DescribeEnv{\ifhmode\else\bigskip\noindent\fi}{}{} + \pretocmd\DescribeOption{\ifhmode\else\bigskip\noindent\fi}{}{} + + \CodelineIndex + \RecordChanges + \GetFileInfo{scrlayer-scrpage.dtx} + \title{The \texttt{scrlayer} interface \texttt{scrlayer-scrpage}% + \footnote{This is version \fileversion\ of file \texttt{\filename}.}} + \date{\filedate} + \author{Markus Kohm} + + \newenvironment{Explain}{\par}{\par} + \newcommand*{\length}{} + \let\length\Length + \let\endlength\endLength + \let\Macro\cs + \let\Length\Macro + \let\Package\textsf + \let\Class\Package + \let\File\texttt + \let\Option\texttt + \newcommand*{\KOption}[1]{\Option{#1}\texttt{=}} + \newcommand*{\OptionValue}[2]{\Option{#1}\texttt{=}\PValue{#2}} + \let\Counter\texttt + \let\Environment\texttt + \let\ShowOutput\quote + \let\endShowOutput\endquote + \let\Pagestyle\texttt + \newcommand*{\Parameter}[1]{\texttt{\marg{#1}}\linebreak[1]} + \newcommand*{\OParameter}[1]{\texttt{\oarg{#1}}\linebreak[1]} + \newcommand*{\MParameter}[2]{\texttt{(\meta{#1},\meta{#2})}\linebreak[1]} + \providecommand\PParameter[1]{\mbox{\texttt{\{#1\}}}\linebreak[1]} + \let\PName\meta + \let\PValue\texttt + \providecommand*{\autoref}[1]{\expandafter\AUTOREF#1:} + \providecommand*{\AUTOREF}{} + \makeatletter + \def\AUTOREF#1:#2:{% + \edef\@tempa{#1}% + \edef\@tempb{tab}\ifx\@tempa\@tempb table~\fi + \edef\@tempb{sec}\ifx\@tempa\@tempb section~\fi + \ref{#1:#2}% + } + \providecommand*{\IndexCmd}[2][]{} + \providecommand*{\textnote}[2][]{} + \providecommand*\eTeX{\leavevmode\hbox{$\varepsilon$}-\TeX} + \providecommand*\NTS{% + \leavevmode\hbox{$\cal N\kern-0.35em\lower0.5ex\hbox{$\cal T$}% + \kern-0.2emS$}} + + \lstnewenvironment{lstcode}{\lstset{language=[LaTeX]TeX}}{} + \makeatother + \sloppy% YOU SHOULD NOT DO THIS!!! + + \begin{document} + \maketitle + \tableofcontents + \DocInput{\filename} + \PrintChanges + \PrintIndex + \end{document} +%</driver> +%<*dtx> +% \fi^^A meta-comment +% +% \selectlanguage{english} +% +% \changes{v0.0}{2012/01/01}{start of interface} +% \let\restorechapter\chapter +% \let\chapter\section +% \let\section\subsection +% \let\subsection\subsubsection +% +% \chapter{End User Interface \Package{scrlayer-scrpage}} +% \label{sec:scrlayer-scrpage} +% +% This interface is the implementation of the described features of +% \KOMAScript{} package \Package{scrpage2}. It is extended by some additional +% options and commands. Some features, that has been described for +% \Package{scrpage2} have been removed or declared to be deprecated. +% +% While this is mainly the implementation documentation, you may find only some +% additional information about differences to \Package{scrpage2}. See the +% \KOMAScript{} manual (\File{scrguien.pdf}) for more information. +% +% \section{Head and Foot Width and Offset} +% \label{sec:scrlayer.headfoot.width} +% +% From \Package{scrpage2} you already know commands \Macro{setheadwidth} and +% \Macro{setfootwidth}. Package \Package{scrlayer-scrpage} provides them too and +% they are still supported. +% +% \DescribeOption{headwidth} +% \DescribeOption{footwidth} +% Options +% \KOption{headwidth}\PName{width}\texttt{:}\PName{offset} +% and +% \KOption{footwidth}\PName{width}\texttt{:}\PName{offset} +% could be used to setup the width and the horizontal offset of the page head +% respectively the page foot. By default the \PName{width} is +% \Length{textwidth}, the width of the text area. The default of \PName{offset} +% is a little bit more complex. Normally the default of \PName{offset} in +% single-side mode is half of the difference of the text area width minus +% \PName{width}. In two-side mode it's only a third of that difference. But if +% \PName{width} is the width of the text area plus the marginal note column, the +% default of \PName{offset} is zero. +% +% An \PName{offset} of zero means, that the head respectively foot is aligned to +% the inner edge of the text area. In single-side mode this is the left edge of +% the text area. In double-side mode, this is the left edge of the text area of +% odd pages or the right edge of the text area of even pages. An positive +% \PName{offset} will move the head respectively the foot towards the outer +% margin respectively the right margin in single-side mode. +% +% You may omit the \PName{width} or the \PName{offset}. In this case also the +% defaults of the values will be used. If you omit both, you may also omit the +% colon. If you omit one value and the colon, the existent value is the +% \PName{width}. +% +% Instead of using lengths for \PName{width} or \PName{offset}, you may use also +% some symbolic values. These are +% \begin{description} +% \item[\PValue{foot}:] the current width of the page foot, +% \item[\PValue{footbotline}:] the current length of the horizontal line below +% the page foot, +% \item[\PValue{footsepline}:] the current length of the horizontal line above +% the page foot, +% \item[\PValue{head}:] the current width of the page head, +% \item[\PValue{headsepline}:] the current length of the horizontal line below +% the page head, +% \item[\PValue{headtopline}:] the current length of the horizontal line above +% the page head, +% \item[\PValue{marginpar}:] the width of the marginal note column plus the +% distance of that column to the text area, +% \item[\PValue{page}:] the paper width without binding correction, that has +% been set using package \Package{typearea}, +% \item[\PValue{paper}:] the whole paper width inclusive a binding correction +% if used, +% \item[\PValue{text}:] the width of the text area, +% \item[\PValue{textwidthmarginpar}:] the width of the text area plus the +% marginal note column (and the distance between them). +% \end{description} +% If none of the symbolic values has been used, you may alternatively use a +% dimensional expression. Those may contain basic arithmetic operations and +% round brackets. For more information about dimensional expressions see the +% \eTeX{} manual. +% +% +% \section{Horizontal Separation Lines above and below Page Head and Foot} +% \label{sec:scrlayer-headfoot.lines} +% +% From \Package{scrpage2} you already know options \Option{headtopline}, +% \Option{headsepline}, \Option{footsepline}, \Option{footbotline}, +% \Option{plainheadtopline}, \Option{plainheadsepline}, +% \Option{plainfootsepline}, and \Option{plainfootbotline}. These were +% implemented as \LaTeX{} package options and could be used to switch on the +% lines only. With \Package{scrlayer-scrpage} this has been changed. +% +% \DescribeOption{headtopline} +% \DescribeOption{headsepline} +% \DescribeOption{footsepline} +% \DescribeOption{footbotline} +% The option +% \KOption{headtopline}\PName{thickness}\texttt{:}\PName{length} +% May be used to activate a horizontal line above the page head and to configure +% it's \PName{thickness} and \PName{length}. You may omit both, the +% \PName{thickness} and \PName{length}. In this case you may also omit the +% colon. This would result in the default \PName{thickness} 0.4\,pt and the +% default \PName{length}, that is the current width of the page head. If you use +% only one value without colon, this will be interpreted as \PName{thickness} +% and \PName{width} will become also the default. For \PName{length} you may +% also use a symbolic value. Alternatively you may use a dimensional expression +% again. See option \Option{headwidth} for more information about valid symbolic +% values and dimensional expressions. +% +% Options \Option{headsepline}, \Option{footsepline}, and \Option{footbotline} +% are similar to \Option{headtopline}, but for a horizontal line below the page +% head, above the page foot, and below the page foot. The default \PName{length} +% of \Option{footsepline} and \Option{footbotline} is the width of the page foot +% instead of the page head. +% +% Instead of \PName{thickness}\texttt{:}\PName{length} you may alternatively use +% one of the values for \emph{simple switches}. Switching on a line, will also +% set \PName{thickness} and \PName{length} to their defaults. Switching off a +% line, will set both values to zero. This makes the lines invisible. +% +% All of them are also font elements, that may be configured using +% \Macro{setkomafont} or \Macro{addtokomafont}, but you should not change the +% font size. The elements are provided to make it easier to change the colour of +% the lines. See package \Package{color} or \Package{xcolor} for more +% information about colour with \LaTeX. +% +% \DescribeOption{plainheadtopline} +% \DescribeOption{plainheadsepline} +% \DescribeOption{plainfootsepline} +% \DescribeOption{plainfootbotline} +% The option +% \KOption{plainheadtopline}\PName{simple switch} +% may be used to switch on or off the horizontal line above the page head of +% \emph{plain} pages, defined using on of the commands from +% \autoref{sec:scrlayer.definepairs}. Page style \Pagestyle{scrplain} is one of +% those. You cannot give them another length or thickness than the lines of the +% \emph{headings} or \emph{main} page style. You may only switch them on or off +% and they will use the settings of the \emph{main} page style. By default they +% are switched off, because that's the usual style of chapter start pages. +% +% Options \Option{plainheadsepline}, \Option{plainfootsepline}, and +% \Option{plainfootbotline} are similar for the corresponding other horizontal +% lines below or above the page head or foot. +% +% \DescribeOption{ilines} +% \DescribeOption{clines} +% \DescribeOption{olines} +% You already know these options from \Package{scrpage2}. But now they are not +% only package options, but \KOMAScript{} options, that may be used anywhere at +% the document preamble or document body. Nevertheless, they don't expect any +% value. Maybe these options will become deprecated in a future release of +% \Package{scrlayer-scrpage} and will become a single option with (at least) +% three values. +% +% +% \section{Predefined Page Styles} +% \label{sec:scrlayer.predefined} +% +% Package \Package{scrlayer-scrpage} still defines page styles +% \Pagestyle{scrheadings} and \Pagestyle{scrplain}, but \Pagestyle{scrplain} +% is only an alias for \Pagestyle{plain.scrheadings} now. +% +% \DescribeOption{pagestyleset} +% \KOMAScript{} option +% \KOption{pagestyleset}\PName{name} +% may be used to configure the page styles \Pagestyle{scrheadings} and +% \Pagestyle{scrplain}. For \PName{name} currently one of \PValue{standard} or +% \PValue{KOMA-Script} is allowed. The first one selects settings for the +% elements of the page head and foot, that are compatible with the standard +% classes. The second one selects defaults compatible with the \KOMAScript{} +% classes. +% +% +% \section{Defining Pairs Like \Pagestyle{scrheadings} and +% \Pagestyle{plain.scrheadings}} +% \label{sec:scrlayer.definepairs} +% +% You already know the page style pair \Pagestyle{scrheadings} and +% \Pagestyle{scrplain} from package \Package{scrpage2}. As told above with +% \Package{scrlayer-scrpage} page style \Package{scrplain} is an alias of +% \Pagestyle{plain.scrheadings}. So page styles \Pagestyle{scrheadings} and +% \Pagestyle{plain.scrheadings} build the real pair of a \emph{headings} page +% style and a \emph{plain} page style. +% +% You should\,---\,at this point\,---\,also note, that the commands +% \Macro{ihead}, \Macro{chead}, \Macro{ohead}, \Macro{lehead}, \Macro{cehead}, +% \Macro{rehead}, \Macro{lohead}, \Macro{lohead}, \Macro{rohead}, +% \Macro{ifoot}, \Macro{cfoot}, \Macro{ofoot}, \Macro{lefoot}, \Macro{cefoot}, +% \Macro{refoot}, \Macro{lofoot}, \Macro{lofoot}, \Macro{rofoot}, +% \Macro{clearscrheadfoot}, \Macro{clearscrplain}, and \Macro{clearscrheadings} +% does not only configure \Pagestyle{scrplain} and \Pagestyle{scrheadings}, but +% the current pair of page styles. If the current page style is not a member of +% a pair of page styles, that last pair, that has been used, is the current +% one. Only if this is unknown too, the pair \Pagestyle{scrheadings} and +% \Pagestyle{plain.scrheadings}\footnote{\Pagestyle{plain.scrheadings} is the +% real name of the \emph{plain} page style to \Pagestyle{scrheadings}.} is +% current. +% +% \DescribeMacro{\defpairofpagestyles} +% \DescribeMacro{\newpairofpagestyles} +% \DescribeMacro{\renewpairofpagestyles} +% \DescribeMacro{\providepairofpagestyles} +% The command +% \Macro{defpairofpagestyles}% +% \OParameter{parent page style name}\Parameter{name}\Parameter{definition} +% may be used to define a pair of page styles like \PName{scrheadings} and +% \PName{plain.scrheadings}. \PName{name} is the name of the \emph{headings} +% page style of the pair. We also say \emph{main} page style alternatively to +% \emph{headings} page style. The \emph{plain} page style will become the name +% \PValue{plain.}\PName{name}. +% +% The \PName{definition} will be executed, whenever either the main or the plain +% page style will be selected. You may use here, e.g., commands like +% \Macro{ihead} or \Macro{clearpairofpagestyles} to configure the pair of page +% styles. But note, if you redefine things like \Macro{chaptermark} inside of +% \PName{definition}, this would also influence other page styles. So it's +% recommended to use only commands, that do not influence other page styles or +% other features of \Package{scrlayer} or other packages or classes! +% +% The difference between \Macro{newpairofpagestyles} and +% \Macro{defpairofpagestyles} is, that the first one would raise an error, if +% there has been a page style \PName{name} or \PValue{plain.}\PName{name} +% already before. In opposite to this \Macro{renewpairofpagestyles} would raise +% the error, if those page style hasn't been already before. Last but not least +% \Macro{providepairofpagestyles} won't raise an error, but it defines +% \PName{name} and \PValue{plain.}\PName{name} only, if they were not defined +% already before. +% +% \DescribeMacro{\clearmainofpairofpagestyles} +% \DescribeMacro{\clearplainofpairofpagestyles} +% \DescribeMacro{\clearpairofpagestyles} +% With \Package{scrlayer-scrpage} pairs of page styles are more general that +% with the single pair of \Package{scrpage2}. So command names like +% \Macro{clearscrheadings}, \Macro{clearscrplain} and even +% \Macro{clearscrheadfoot} are somehow to specific. Therefore +% \Macro{clearmainofpairofpagestyles} is the new name of +% \Macro{clearscrheadings} to set all fields of the main page style of the +% current pair of page styles to an empty value; +% \Macro{clearplainofpairofpagestyles} is the new name of \Macro{clearscrplain} +% to set all fields of the plain page style of the current pair of page styles +% to an empty value; \Macro{clearpariofpagestyles} is the new name of +% \Macro{clearscrheadfoot} to set all fields of the plain and the main page +% style if the current pair of page styles to an empty value. The old names are +% obsolete, but still valid for compatibility reason. But they have the new +% meanings, if \Pagestyle{scrheadings} and \Pagestyle{plain.scrheadings} are not +% the only existing pair of page styles. +% +% +% \section{Defining Page Styles With Expert Interface} +% \label{sec:scrlayer.expert} +% +% You already know \Macro{defpagestyle}, \Macro{newpagestyle}, +% \Macro{renewpagestyle}, and \Macro{providepagestyle} from package +% \Package{scrpage2}. Package \Package{scrlayer-scrpage} provides those +% too. Nevertheless there are some differences, e.g., \Package{scrpage2} didn't +% support a configurable height for the page foot, but supposed +% \Length{baselineskip} for the total height of the foot. Package +% \Package{scrlayer-scrpage} uses length \Length{footheight} provided by +% \Package{scrlayer} for the total height of the foot. +% +% \DescribeOption{hmode} +% The option +% \KOption{hmode}\PName{simple switch}% +% may be used to make \Package{scrlayer-scrpage} more compatible with +% \Package{scrpage2}. By default \Package{scrlayer-scrpage} sets the elements of +% the page head and page foot in vertical mode. But \Package{scrpage2} did the +% same job in horizontal mode. If the option has been switched on, +% \Package{scrlayer-scrpage} will also leave the vertical mode before setting a +% page head or foot element. +% +% +% \section{Removed or Deprecated Package Options} +% \label{sec:scrlayer.deprecated.options} +% +% Package \Package{scrpage2} never supported \KOMAScript{} options. Instead it +% only supports standard \LaTeX{} package options. Options \Option{headinclude}, +% \Option{headexclude}, \Option{footinclude}, and \Option{footexclude} became +% deprecated since 2008-12-08. Package \Package{scrlayer-scrpage} doesn't +% provide them any longer. Options \Option{mpinclude} and \Option{mpexclude} has +% never been official in \Package{scrpage2}. So it was an easy decision to not +% provide them by \Package{scrlayer-scrpage}. +% +% Options \Option{komastyle} and \Option{standardstyle} have been replaced by +% \Option{pagestyleset}. Nevertheless, they are still implemented as simple +% package options, but declared to be deprecated. You should not use them any +% longer, because they might be removed in a future release. +% +% Options \Option{markuppercase}, \Option{markusedcase}, and +% \Option{nouppercase} have been replaced by \Option{markcase}. Nevertheless, +% they are still implemented as simple package options, but declared to be +% deprecated. You should not use them any longer, because they might be removed +% in a future release. +% +% +% \section{Deprecated Commands} +% \label{sec:scrlayer.deprecated.commands} +% +% The commands \Macro{setheadtopline}, \Macro{setheadsepline}, +% \Macro{setfootsepline}, and \Macro{setfootbotline} of \Package{scrpage2} has +% been intended to configure the lines above and below the page head and +% foot. They \emph{never} has been intended to switch the lines on an +% off. Switching on the lines should have been done using the package options +% \Option{headtopline}, \Option{headsepline}, \Option{footsepline}, and +% \Option{footbotline}, and their plain equivalents \Option{plainheadtopline}, +% \Option{plainheadsepline}, \Option{plainfootsepline}, and +% \Option{plainfootbotline}. Nevertheless, a lot of users have used the commands +% also to switch on the lines. This commands became deprecated with +% \Package{scrlayer-scrpage}, but nevertheless are still +% implemented. Nevertheless, with \Package{scrlayer-scrpage} users should +% absolutely use the \KOMAScript{} options and the font elements not only for +% switching on the lines, but also for configuration of the lines. +% +% Commands \Macro{headfont} and \Macro{footfont} are deprecated, because +% \Package{scrlayer-scrpage} provides the font element interface of the +% \KOMAScript{} classes. You should use \Macro{setkomafont} and +% \Macro{addtokomafont} to configure fonts and colours of page head and foot. +% +% Package \Package{scrpage2} provided an additional user page style definition +% interface using command \Macro{deftripstyle}. This became obsolete with +% \Package{scrlayer-scrpage}, because the other interfaces are easier to +% understand and more powerful. Nevertheless additional commands +% \Macro{deftriplepagestyle}, \Macro{newtriplepagestyle}, +% \Macro{renewtriplepagestyle}, and \Macro{providetriplepagestyle} has been +% implemented to have a more consistent user interface. +% +%\iffalse +%</dtx> +%\fi +% +% \StopEventually{} +% +% \chapter{Implementation of \Package{scrlayer-scrpage}} +% +% This section if for developers only. +% +% \iffalse +%<*interface> +%<*identify> +% \fi +% +%\iffalse +%</identify> +%\fi +% +% +% \section{Initialising some Values before the Options} +% +% \iffalse^^A meta-comment +%<*init> +% \fi^^A meta-comment +% +% Initialisation before all options (even the options from +% \File{scrlayer.dtx}). +% +% Currently nothing. +% +% \iffalse^^A meta-comment +%</init> +% \fi^^A meta-comment +% +% \section{Options} +% +% \iffalse^^A meta-comment +%<*options> +% \fi +% +% Package \Package{scrpage2} doesn't support \KOMAScript{} options but only +% regular \LaTeX{} package options. The interface will also support those +% options, but uses \KOMAScript{} options for the implementation. This +% results in additional features of the interface. +% +% Note, that some options are already defined before this by the common option +% parts of \File{scrlayer.dtx}. All others will follow step by step in the +% main part. +% +% Options \Option{headinclude}, \Option{headexclude}, \Option{footinclude} and +% \Option{footexclude} of package \Package{scrpage2} are deprecated since +% package version 2.3, 2008-12-08. They won't be supported by the +% \Package{scrlayer-scrpage} interface. +% +% Additional initialisation may be done here, but currently this isn't +% needed. +% +% \iffalse^^A meta-comment +%</options> +% \fi^^A meta-comment +% +% +% \section{Width of Header and Footer} +% +% \Package{scrpage2} provides to set the width of the page head or footer +% different from the width of the text area of the page using +% \Macro{setheadwidth} and \Macro{setfootwidth}. Optionally those commands +% allow to setup an horizontal offset for the head or footer. This interface +% provides the same feature but also allows to set up the widths and offsets +% with \KOMAScript{} options. Those options will become the primary interface. +% +% \begin{option}{headwidth} +% \begin{option}{footwidth} +% \begin{description} +% \item[\texttt{=\meta{special dimensional expression}:\meta{special +% dimensional expression}}:] see \Macro{sls@settowidthof} for information +% about the syntax of \meta{special dimensional expression}. The width of +% the page head or footer will be set to the result of the first on, the +% offset to the result of the second one. If the first one\,---\,the +% width\,---\,is omitted, the current width will be used. If the second +% one\,---\,the offset\,---\,is omitted and the width is the width of the +% text area plus the margin note column, the offset will be set to +% zero. If the second one is omitted and the width is not the width of the +% text area plus the margin note column, a special kind of centering will +% be used. +% \end{description} +% These options may be used to set up the widths of head and foot. +% \begin{macrocode} +%<*options> +\KOMA@key{headwidth}{% + \begingroup + \sls@split@at@colon#1::\@nil + \ifx\reserved@a\@empty \let\reserved@a\sls@headwidth\fi + \edef\reserved@a{% + \noexpand\endgroup + \noexpand\sls@set@hf@width{head}{\reserved@b}{\reserved@a}% + }% + \reserved@a + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@headwidth} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@headwidth@default} +\KOMA@key{footwidth}{% + \begingroup + \sls@split@at@colon#1::\@nil + \ifx\reserved@a\@empty \let\reserved@a\sls@footwidth\fi + \edef\reserved@a{% + \noexpand\endgroup + \noexpand\sls@set@hf@width{foot}{\reserved@b}{\reserved@a}% + }% + \reserved@a + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@footwidth} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@footwidth@default} +% \end{macrocode} +% \begin{macro}{\sls@split@at@colon} +% \begin{description} +% \item[\texttt{\meta{balanced}:^^A +% \meta{balanced}:^^A +% \meta{balanced}\Macro{@nil}}:] first \meta{balanced} will be stored into +% \Macro{reserved@a}, second into \Macro{reserved@b}, third will be eaten +% and warn about if it es neither empty and nor a colon. +% \end{description} +% This little helper is used, e.g., by options \Option{headwidth} and +% \Option{footwidth}. +% \begin{macrocode} +\scrlayerAddToInterface\sls@split@at@colon{% + \def\sls@split@at@colon#1:#2:#3\@nil{% + \ifstr{#3}{}{}{% + \ifstr{#3}{:}{}{% + \PackageWarning{scrlayer}{extra `:' found!\MessageBreak + You've used more than one colon at the argument\MessageBreak + of a two value option.\MessageBreak + The extra value(s) will be ignored% + }% + }% + }% + \def\reserved@a{#1}% + \def\reserved@b{#2}% + }% +} +% \end{macrocode} +% \end{macro}^^A \sls@split@at@colon +% \begin{macro}{\sls@set@hf@width} +% \begin{description} +% \item[\Parameter{head} or \Parameter{foot}:] to complete the macro names +% for page head or footer. +% \item[\Parameter{special dimensional expression}:] the offset +% \item[\Parameter{special dimensional expression}:] the width +% \end{description} +% This helper will generally set up width an offset of either head or footer. +% \begin{macrocode} +\scrlayerAddToInterface\sls@set@hf@width{% + \newcommand*{\sls@set@hf@width}[3]{% + \sls@settowidthof{\@tempdima}{#3}% + \ifdim\@tempdima>\paperwidth + \PackageWarning + {scrlayer-scrpage}% + {You've set width of #1 to a value\MessageBreak + greater than width of page!\MessageBreak% + I'll reduce width of #1 to width of page}% + \setlength{\@tempdima}{\paperwidth}% + \else + \ifdim\@tempdima<\z@ + \PackageWarning + {scrlayer-scrpage}% + {You've set width of #1 to negative value!\MessageBreak% + I'll set it to 0pt}% + \setlength{\@tempdima}{\z@}% + \fi + \fi + \expandafter\edef\csname sls@#1width\endcsname{\the\@tempdima}% + \setlength{\@tempdima}{\textwidth}% + \addtolength{\@tempdima}{-\csname sls@#1width\endcsname}% + \ifstr{#2}{}{% + \ifdim \csname sls@#1width\endcsname + = \dimexpr \textwidth+\marginparwidth+\marginparsep\relax + \setlength{\@tempdimb}{\z@} + \else + \if@twoside + \setlength{\@tempdimb}{.3333333333\@tempdima}% + \else + \setlength{\@tempdimb}{.5\@tempdima}% + \fi + \fi + }{% + \sls@settowidthof{\@tempdimb}{#2}% + } + \addtolength{\@tempdima}{-\@tempdimb}% + \ifdim\@tempdimb<\z@ + \setlength{\@tempdimb}{-\@tempdimb}% + \expandafter\edef\csname sls@odd#1shift\endcsname{-\the\@tempdimb}% + \else + \expandafter\edef\csname sls@odd#1shift\endcsname{\the\@tempdimb}% + \fi + \ifdim\@tempdima<\z@ + \setlength{\@tempdima}{-\@tempdima}% + \expandafter\edef\csname sls@even#1shift\endcsname{-\the\@tempdima}% + \else + \expandafter\edef\csname sls@even#1shift\endcsname{\the\@tempdima}% + \fi + }% +} +% \end{macrocode} +% \end{macro}^^A \sls@set@hf@width +% \begin{macro}{\sls@headwidth} +% \begin{macro}{\sls@oddheadshift} +% \begin{macro}{\sls@evenheadshift} +% \begin{macro}{\sls@footwidth} +% \begin{macro}{\sls@oddfootshift} +% \begin{macro}{\sls@evenfootshift} +% To store width and offset of page head an footer, we use macros. Those are +% also used by the options and therefore need to be initialised before option +% usage. +% \begin{macrocode} +\scrlayerAddToInterface\sls@headwidth{% + \scr@ifundefinedorrelax{@headwidth}{% + \newcommand*{\sls@headwidth}{\textwidth}% + }{% + \newcommand*{\sls@headwidth}{\@headwidth}% + }% +} +\scrlayerAddToInterface\sls@oddheadshift{\newcommand*{\sls@oddheadshift}{\z@}} +\scrlayerAddToInterface\sls@evenheadshift{\newcommand*{\sls@evenheadshift}{\z@}} +\scrlayerAddToInterface\sls@footwidth{% + \scr@ifundefinedorrelax{@footwidth}{% + \newcommand*{\sls@footwidth}{\textwidth}% + }{% + \newcommand*{\sls@footwidth}{\@footwidth}% + }% +} +\scrlayerAddToInterface\sls@oddfootshift{\newcommand*{\sls@oddfootshift}{\z@}} +\scrlayerAddToInterface\sls@evenfootshift{\newcommand*{\sls@evenfootshift}{\z@}} +% \end{macrocode} +% \end{macro}^^A \sls@headwidth +% \end{macro}^^A \sls@oddheadshift +% \end{macro}^^A \sls@evenheadshift +% \end{macro}^^A \sls@footwidth +% \end{macro}^^A \sls@oddfootshift +% \end{macro}^^A \sls@evenfootshift +% +% \begin{macro}{\sls@settowidthof} +% \begin{macro}{\sls@deftowidthof} +% the special dimensional expressions may be either one of the strings +% \texttt{paper}, \texttt{text}, \texttt{marginpar}, +% \texttt{textwithmarginpar}, \texttt{head}, \texttt{foot}, +% \texttt{headtopline}, \texttt{headsepline}, \texttt{footsepline}, +% \texttt{footbotline}, or \texttt{page} or a valid dimensional +% expression. But it cannot be both a dimensional expression using symbolic +% values! +% \begin{macrocode} +\scrlayerAddToInterface\sls@settotwidthof{% + \newcommand*{\sls@settowidthof}[2]{% + \ifstr{#2}{paper}{% + \setlength{#1}{\paperwidth}% + }{% + \ifstr{#2}{text}{% + \setlength{#1}{\textwidth}% + }{% + \ifstr{#2}{marginpar}{% + \setlength{#1}{\dimexpr \marginparwidth+\marginparsep\relax}% + }{% + \ifstr{#2}{textwithmarginpar}{% + \setlength{#1}{\dimexpr\textwidth + +\marginparwidth + +\marginparsep\relax}% + }{% + \ifstr{#2}{head}{% + \setlength{#1}{\sls@headwidth}% + }{% + \ifstr{#2}{foot}{% + \setlength{#1}{\sls@footwidth}% + }{% + \ifstr{#2}{headtopline}{% + \setlength{#1}{\sls@headabove@linelength}% + }{% + \ifstr{#2}{headsepline}{% + \setlength{#1}{\sls@headbelow@linelength}% + }{% + \ifstr{#2}{footsepline}{% + \setlength{#1}{\sls@footabove@linelength}% + }{% + \ifstr{#2}{footbotline}{% + \setlength{#1}{\sls@footbelow@linelength}% + }{% + \ifstr{#2}{page}{% + \setlength{#1}{\paperwidth}% + \begingroup + \expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname ta@bcor\endcsname\relax\else + \addtolength{#1}{-\ta@bcor}% + \fi + }{% + \setlength{#1}{\dimexpr #2\relax}% + }% + }% + }% + }% + }% + }% + }% + }% + }% + }% + }% + }% +} +\scrlayerAddToInterface\sls@deftowidthof{% + \newcommand*{\sls@deftowidthof}[2]{% + \ifstr{#2}{autohead}{% + \expandafter\def\csname #1\endcsname{\sls@headwidth}% + }{% + \ifstr{#2}{autofoot}{% + \expandafter\def\csname #1\endcsname{\sls@footwidth}% + }{% + \sls@settowidthof{\@tempdima}{#2}% + \expandafter\edef\csname #1\endcsname{\the\@tempdima}% + }% + }% + }% +} +%</options> +% \end{macrocode} +% \end{macro}^^A \sls@deftowidthof +% \end{macro}^^A \sls@settowidthof +% \end{option}^^A footwidth +% \end{option}^^A footheight +% +% \begin{macro}{\setheadwidth} +% \begin{macro}{\setfootwidth} +% For compatibility with \Package{scrpage2}, map the commands to the options: +% \begin{macrocode} +%<*body> +\scrlayerAddToInterface\setheadwidth{% + \newcommand*{\setheadwidth}[2][]{% + \KOMAoptions{headwidth=#2:#1}% + }% +} +\scrlayerAddToInterface\setfootwidth{% + \newcommand*{\setfootwidth}[2][]{% + \KOMAoptions{footwidth=#2:#1}% + }% +} +%</body> +% \end{macrocode} +% \end{macro}^^A \setheadwidth +% \end{macro}^^A \setfootwidth +% +% +% \section{Lines in Page Head and Footer} +% +% The interface implements the options \Option{headtopline}, +% \Option{headsepline}, \Option{footsepline}, \Option{footbotline}, +% \Option{plainheadtopline}, \Option{plainheadsepline}, +% \Option{plainfootsepline}, \Option{plainfootbotline}, \Option{ilines}, +% \Option{clines}, and \Option{olines}, the commands \Macro{setheadtopline}, +% \Macro{setheadsepline}, \Macro{setfootsepline}, and \Macro{setfootbotline}, +% and the corresponding \KOMAScript{} font elements of package +% \Package{scrpage2}. Some of the options are extended to understand +% values. +% +% \begin{option}{headtopline} +% \begin{option}{headsepline} +% \begin{option}{footsepline} +% \begin{option}{footbotline} +% \begin{description} +% \item[{\texttt{=\meta{dimensional expression}:\meta{dimensional +% expression}}:}] +% \end{description}\noindent +% Define thickness and length of the a default separation line between: +% \begin{description} +% \item[\Option{headtopline}:] the top margin of the page and the page head. +% \item[\Option{headsepline}:] the page head and the text area. +% \item[\Option{footsepline}:] the text area and the page footer. +% \item[\Option{footbotline}:] the page footer and the bottom margin. +% \end{description} +% Both values may be omitted. In that case thickness would be 0.4\,pt, and +% length would be the width of the page head or footer. If the second +% argument, the length, has been omitted the \texttt{:} may also be omitted. +% \begin{macrocode} +%<*options> +\KOMA@key{headtopline}[:]{\sls@set@values{head}{above}{#1}} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@headtopline} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@headtopline@default} +\KOMA@key{headsepline}[:]{\sls@set@values{head}{below}{#1}} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@headsepline} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@headsepline@default} +\KOMA@key{footsepline}[:]{\sls@set@values{foot}{above}{#1}} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@footsepline} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@footsepline@default} +\KOMA@key{footbotline}[:]{\sls@set@values{foot}{below}{#1}} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@footbotline} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@footbotline@default} +% \end{macrocode} +% \begin{macro}{\sls@set@values} +% \begin{description} +% \item[\Parameter{head or foot}:] either \texttt{head} or \texttt{foot} +% \item[\Parameter{above or below}:] either \texttt{above} or \texttt{below} +% \item[\Parameter{dimension expression}\texttt{:}\Parameter{dimension +% expression}] length an thickness of a line (both are optional) +% \end{description} +% Helper macros for the options to set two macros by two values of one +% option. The two values are separated by a colon. +% \begin{macrocode} +\scrlayerAddToInterface\sls@set@values{% + \newcommand*{\sls@set@values}[3]{% + \begingroup + \let\reserved@a\@empty + \let\reserved@b\@empty + \ifstr{#3}{true}{\def\reserved@a{.4pt}\def\reserved@b{sls@#1width}}{% + \ifstr{#3}{yes}{\def\reserved@a{.4pt}\def\reserved@b{sls@#1width}}{% + \ifstr{#3}{on}{\def\reserved@a{.4pt}\def\reserved@b{sls@#1width}}{% + \ifstr{#3}{false}{\def\reserved@a{\z@}\def\reserved@b{z@}}{% + \ifstr{#3}{no}{\def\reserved@a{\z@}\def\reserved@b{z@}}{% + \ifstr{#3}{off}{\def\reserved@a{\z@}\def\reserved@b{z@}}{% + }% + }% + }% + }% + }% + }% + \ifx\reserved@a\@empty + \sls@split@at@colon#3::\@nil + \ifx\reserved@a\@empty + \def\reserved@a{\endgroup\@namedef{sls@#1#2@linethickness}{.4pt}}% + \else + \setlength{\@tempdima}{\dimexpr\reserved@a\relax}% + \edef\reserved@a{% + \noexpand\endgroup + \noexpand\@namedef{sls@#1#2@linethickness}{\the\@tempdima}% + }% + \fi + \ifx\reserved@b\@empty + \def\reserved@b{% + \reserved@a + \@namedef{sls@#1#2@linelength}{\@nameuse{sls@#1width}}% + }% + \else + \edef\reserved@b{% + \noexpand\reserved@a + \noexpand\sls@deftowidthof{sls@#1#2@linelength}{\reserved@b}% + }% + \fi + \else + \edef\reserved@b{% + \noexpand\endgroup + \noexpand\@namedef{sls@#1#2@linethickness}{\reserved@a}% + \noexpand\@namedef{sls@#1#2@linelength}{% + \expandafter\noexpand\csname \reserved@b\endcsname + }% + }% + \fi + \reserved@b + }% +} +% \end{macrocode} +% \end{macro}^^A \sls@set@values +% \begin{macro}{\sls@headabove@linelength} +% \begin{macro}{\sls@headabove@linethickness} +% \begin{macro}{\sls@headbelow@linelength} +% \begin{macro}{\sls@headbelow@linethickness} +% \begin{macro}{\sls@footabove@linelength} +% \begin{macro}{\sls@footabove@linethickness} +% \begin{macro}{\sls@footbelow@linelength} +% \begin{macro}{\sls@footbelow@linethickness} +% To store length and thickness of the lines at the page head an footer, we +% use macros. Those are also used by the options and therefore need to be +% initialised before option usage. +% \begin{macrocode} +\scrlayerAddToInterface\sls@headabove@linelength{% + \newcommand*{\sls@headabove@linelength}{\sls@headwidth}% +} +\scrlayerAddToInterface\sls@headabove{% + \newcommand*{\sls@headabove@linethickness}{\z@}% +} +\scrlayerAddToInterface\sls@headbelow@linelength{% + \newcommand*{\sls@headbelow@linelength}{\sls@headwidth}% +} +\scrlayerAddToInterface\sls@headbelow@linethickness{% + \newcommand*{\sls@headbelow@linethickness}{\z@}% +} +\scrlayerAddToInterface\sls@footabove@linelength{% + \newcommand*{\sls@footabove@linelength}{\sls@footwidth}% +} +\scrlayerAddToInterface\sls@footabove@linethickness{% + \newcommand*{\sls@footabove@linethickness}{\z@}% +} +\scrlayerAddToInterface\sls@footbelow@linelength{% + \newcommand*{\sls@footbelow@linelength}{\sls@footwidth}% +} +\scrlayerAddToInterface\sls@footbelow@linethickness{% + \newcommand*{\sls@footbelow@linethickness}{\z@}% +} +%</options> +% \end{macrocode} +% \end{macro}^^A \sls@footbelow@linethickness +% \end{macro}^^A \sls@footbelow@linelength +% \end{macro}^^A \sls@footabove@linethickness +% \end{macro}^^A \sls@footabove@linelength +% \end{macro}^^A \sls@headbelow@linethickness +% \end{macro}^^A \sls@headbelow@linelength +% \end{macro}^^A \sls@headabove@linethickness +% \end{macro}^^A \sls@headabove@linelength +% \end{option}^^A footbotline +% \end{option}^^A footsepline +% \end{option}^^A headsepline +% \end{option}^^A headtopline +% +% \begin{option}{plainheadtopline} +% \begin{macro}{\ifsls@plain@head@above@line} +% \begin{option}{plainheadsepline} +% \begin{macro}{\ifsls@plain@head@below@line} +% \begin{option}{plainfootsepline} +% \begin{macro}{\ifsls@plain@foot@above@line} +% \begin{option}{plainfootbotline} +% \begin{macro}{\ifsls@plain@foot@below@line} +% \begin{description} +% \item[\texttt{=\meta{switch value}}:] +% \end{description}\noindent +% While these only switches the rule on or off, we need only some switches. +% \begin{macrocode} +%<*options> +\scrlayerAddCsToInterface{ifsls@plain@head@above@line}{% + \KOMA@ifkey{plainheadtopline}{sls@plain@head@above@line}% + \scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@plainheadtopline}% + \scrlayer@AddCsToInterface{% + KV@KOMA.scrlayer-scrpage.sty@plainheadtopline@default}% + \scrlayer@AddCsToInterface{sls@plain@head@above@linetrue} + \scrlayer@AddCsToInterface{sls@plain@head@above@linefalse} +} +\scrlayerAddCsToInterface{ifsls@plain@head@sbelow@line}{% + \KOMA@ifkey{plainheadsepline}{sls@plain@head@below@line}% + \scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@plainheadsepline}% + \scrlayer@AddCsToInterface{% + KV@KOMA.scrlayer-scrpage.sty@plainheadsepline@default}% + \scrlayer@AddCsToInterface{sls@plain@head@below@linetrue}% + \scrlayer@AddCsToInterface{sls@plain@head@below@linefalse}% +} +\scrlayerAddCsToInterface{ifsls@plain@foot@above@line}{% + \KOMA@ifkey{plainfootsepline}{sls@plain@foot@above@line}% + \scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@plainfootsepline}% + \scrlayer@AddCsToInterface{% + KV@KOMA.scrlayer-scrpage.sty@plainfootsepline@default}% + \scrlayer@AddCsToInterface{sls@plain@foot@above@linetrue}% + \scrlayer@AddCsToInterface{sls@plain@foot@above@linefalse}% +} +\scrlayerAddCsToInterface{ifsls@plain@foot@below@line}{% + \KOMA@ifkey{plainfootbotline}{sls@plain@foot@below@line}% + \scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@plainfootbotline}% + \scrlayer@AddCsToInterface{% + KV@KOMA.scrlayer-scrpage.sty@plainfootbotline@default}% + \scrlayer@AddCsToInterface{sls@plain@foot@below@linetrue}% + \scrlayer@AddCsToInterface{sls@plain@foot@below@linefalse}% +} +%</options> +% \end{macrocode} +% \end{macro}^^A \ifsls@plain@foot@below@line +% \end{option}^^A plainfootbotline +% \end{macro}^^A \ifsls@plain@foot@above@line +% \end{option}^^A plainfootsepline +% \end{macro}^^A \ifsls@plain@head@below@line +% \end{option}^^A plainheadsepline +% \end{macro}^^A \ifsls@plain@head@above@line +% \end{option}^^A plainheadtopline +% +% \begin{option}{ilines} +% \begin{option}{clines} +% \begin{option}{olines} +% \begin{macro}{\sls@hfline@adjust} +% Maybe it would be more useful to be able to adjust each line on its own or +% at most to define an offset. But \Package{scrpage2} supports only these +% options. At least we can set the options inside a layer or page style. This +% may help. +% \begin{macrocode} +%<*options> +\scrlayerAddToInterface\sls@hfline@adjust{% + \newcommand*{\sls@hfline@adjust}{0}% +} +\KOMA@key{ilines}[]{% + \ifx\relax#1\relax + \renewcommand*{\sls@hfline@adjust}{0}% + \FamilyKeyStateProcessed + \else + \def\FamilyKeyStateProcessed{unexpected value}% + \fi +} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@ilines} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@ilines@default} +\KOMA@key{clines}[]{% + \ifx\relax#1\relax + \renewcommand*{\sls@hfline@adjust}{1}% + \FamilyKeyStateProcessed + \else + \def\FamilyKeyStateProcessed{unexpected value}% + \fi +} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@clines} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@clines@default} +\KOMA@key{olines}[]{% + \ifx\relax#1\relax + \renewcommand*{\sls@hfline@adjust}{2}% + \FamilyKeyStateProcessed + \else + \def\FamilyKeyStateProcessed{unexpected value}% + \fi +} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@olines} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@olines@default} +%</options> +% \end{macrocode} +% \end{macro}^^A \sls@hfline@adjust +% \end{option}^^A olines +% \end{option}^^A clines +% \end{option}^^A ilines +% +% \begin{macro}{\setheadtopline} +% \begin{macro}{\setheadsepline} +% \begin{macro}{\setfootsepline} +% \begin{macro}{\setfootbotline} +% \begin{description} +% \item[\OParameter{extended dimensional expression}:] the length of the +% line; if omitted the length will use the width of the page head or +% footer while printing the line. +% \item[\Parameter{dimensional expression}:] the thickness of the line. +% \item[\OParameter{code}:] the font selection code for the line. You may +% use it for any kind of operation, that doesn't change the position, +% width, height, or depth, e.g., to change the colour of the line. +% \end{description} +% \begin{macrocode} +%<*body> +\scrlayerAddToInterface\setheadtopline{% + \newcommand*{\setheadtopline}{\sls@setline{head}{above}}% +} +\scrlayerAddToInterface\setheadsepline{% + \newcommand*{\setheadsepline}{\sls@setline{head}{below}}% +} +\scrlayerAddToInterface\setfootsepline{% + \newcommand*{\setfootsepline}{\sls@setline{foot}{above}}% +} +\scrlayerAddToInterface\setfootbotline{% + \newcommand*{\setfootbotline}{\sls@setline{foot}{below}}% +} +% \end{macrocode} +% \begin{macro}{\sls@setline} +% \begin{macro}{\sls@@setline} +% \begin{macro}{\sls@@@setline} +% \begin{macro}{\sls@@@@setline} +% Helper to set up the line attributes processing the parameters of the +% commands above. +% \begin{macrocode} +\scrlayerAddToInterface\sls@setline{% + \newcommand*\sls@setline[2]{% + \@ifnextchar[%] + {\sls@@setline{#1}{#2}}{\sls@@@setline{#1#2}}% + }% +} +\scrlayerAddToInterface\sls@@setline{% + \def\sls@@setline#1#2[#3]{% + \ifstr{#3}{auto}{% + \sls@deftowidthof{sls@#1#2@linelength}{#3#1}% + }{% + \sls@deftowidthof{sls@#1#2@linelength}{#3}% + }% + \sls@@@setline{#1#2}% + }% +} +\scrlayerAddToInterface\sls@@@setline{% + \def\sls@@@setline#1#2{% + \edef\@tempa{#2}\edef\@tempb{current} + \ifstr{#2}{}{}{% + \ifstr{#2}{current}{}{% + \setlength{\@tempdima}{#2}% + \expandafter\edef\csname sls@#1@linethickness\endcsname% + {\the\@tempdima}% + }% + }% + \PackageWarning{scrlayer-scrpage}{% + Command deprecated!\MessageBreak + Usage of `\string\setheadtopline', + `\string\setheadsepline',\MessageBreak + `\string\setfootsepline', and `\string\setfootbotline'\MessageBreak + became deprecated with scrlayer-scrpage.\MessageBreak + You should use KOMA-Script options\MessageBreak + `headsepline', `headtopline', `footsepline',\MessageBreak + or `footbotline' with values\MessageBreak + `<line thickness>:<line length>' to setup\MessageBreak + the line length and thickness, and\MessageBreak + `\string\setkomafont' or `\string\addtokomafont' to\MessageBreak + setup the colour% + }% + \@ifnextchar[%] + {% + \sls@@@@setline{#1}% + }{% + }% + }% +} +\scrlayerAddToInterface\sls@@@@setline{% + \def\sls@@@@setline#1[#2]{% + \ifstr{#1}{headabove}{\setkomafont{headtopline}{#2}}{% + \ifstr{#1}{headbelow}{\setkomafont{headsepline}{#2}}{% + \ifstr{#1}{footabove}{\setkomafont{footsepline}{#2}}{% + \setkomafont{footbotline}{#2}% + }% + }% + }% + }% +} +% \end{macrocode} +% \end{macro}^^A \sls@setline +% \end{macro}^^A \sls@@setline +% \end{macro}^^A \sls@@@setline +% \end{macro}^^A \sls@@@@setline +% \begin{KOMAfont}{headtopline} +% \begin{KOMAfont}{headsepline} +% \begin{KOMAfont}{footsepline} +% \begin{KOMAfont}{footbotline} +% These are the font elements used in \Macro{sls@hf@rule} to set the rules +% with, i.e., another colour. Note, that those may already be defined and +% become only part of the interface if they are not. +% \begin{macrocode} +\@ifundefined{scr@fnt@headtopline}{% + \@ifundefined{@headtoplinefont}{% + \scrlayer@AddCsToInterface{@headtoplinefont}% + }{}% + \newkomafont{headtopline}{}% + \scrlayer@AddCsToInterface{scr@fnt@headtopline}% +}{} +\@ifundefined{scr@fnt@headsepline}{% + \@ifundefined{@headseplinefont}{% + \scrlayer@AddCsToInterface{@headseplinefont}% + }{}% + \newkomafont{headsepline}{}% + \scrlayer@AddCsToInterface{scr@fnt@headsepline}% +}{} +\@ifundefined{scr@fnt@footsepline}{% + \@ifundefined{@footseplinefont}{% + \scrlayer@AddCsToInterface{@footseplinefont}% + }{}% + \newkomafont{footsepline}{}% + \scrlayer@AddCsToInterface{scr@fnt@footsepline}% +}{} +\@ifundefined{scr@fnt@footbotline}{% + \@ifundefined{@footbotlinefont}{% + \scrlayer@AddCsToInterface{@footbotlinefont}% + }{}% + \newkomafont{footbotline}{}% + \scrlayer@AddCsToInterface{scr@fnt@footbotline}% +}{} +%</body> +% \end{macrocode} +% \end{KOMAfont}^^A footbotline +% \end{KOMAfont}^^A footsepline +% \end{KOMAfont}^^A headsepline +% \end{KOMAfont}^^A headtopline +% \end{macro}^^A \setfootbotline +% \end{macro}^^A \setfootsepline +% \end{macro}^^A \setheadsepline +% \end{macro}^^A \setheadtopline +% +% \begin{length}{\headheight} +% Some classes set \Length{headheight} to a very, very small value. We'll +% warn about that: +% \begin{macrocode} +%<*body> +\AtBeginDocument{% + \ifdim \headheight <\baselineskip + \PackageWarningNoLine{scrlayer-scrpage}{Very small head height + detected!\MessageBreak + Using scrlayer-scrpage the head height\MessageBreak + should be at least \string\baselineskip, which is\MessageBreak + \the\baselineskip\space currently.\MessageBreak + But head height is currently + \the\headheight\space only.\MessageBreak + You may use\MessageBreak + \@ifpackageloaded{geometry}{% + geometry option `head=\the\baselineskip'% + }{% + \@ifpackageloaded{typearea}{% + typearea option `headheight=\the\baselineskip'% + }{% + \string\setlength{\string\headheight}{\the\baselineskip}% + }% + }\MessageBreak + to avoid this warning% + }% + \fi +} +%</body> +% \end{macrocode} +% \end{length} +% +% +% \section{Style of Running Heads} +% +% This implements not only options \Option{komastyle} and +% \Option{standardstyle} of \Package{scrpage2}, but also activates the default +% style at the end of the package and takes care for the correct overwrite +% behaviour of option \Option{markcase}. +% +% \begin{option}{pagestyleset} +% \begin{description} +% \item[\texttt{=\meta{string}}:] a valid name of a predefined +% style-set. Currently only \texttt{KOMA-Script} and \texttt{standard} are +% supported. Maybe more will follow. +% \end{description} +% Note, that the following automatic style activation must be before the +% first option usage: +% \begin{macrocode} +%<*init> +\AtEndOfPackage{% + \scr@ifundefinedorrelax{KOMAClassName}{% +%<trace> \PackageInfoNoLine{scrlayer-scrpage}{% +%<trace> auto-selection of `pagestyleset=standard'}% + \FamilyExecuteOptions[.scrlayer-scrpage.sty]{KOMA}{pagestyleset=standard}% + }{% +%<trace> \PackageInfoNoLine{scrlayer-scrpage}{% +%<trace> auto-selection of `pagestyleset=KOMA-Script'}% + \FamilyExecuteOptions[.scrlayer-scrpage.sty]{KOMA}% + {pagestyleset=KOMA-Script}% + }% +} +%</init> +%<*options> +\KOMA@key{pagestyleset}{% + \scr@ifundefinedorrelax{sls@ps@style@#1}{% + \FamilyKeyStateUnknownValue + }{% + \@nameuse{sls@ps@style@#1}% + \FamilyKeyStateProcessed + }% +} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@pagestyleset} +% \end{macrocode} +% \begin{macro}{\sls@ps@style@standard} +% \begin{macro}{\sls@ps@style@KOMA-Script} +% These are the predefined page style sets. +% \begin{macrocode} +\scrlayerAddToInterface\sls@ps@style@standard{% + \newcommand*{\sls@ps@style@standard}{% + \let\MakeMarkcase\MakeUppercase + \scrlayer@AtEndOfPackage{% + \pagestyle{scrheadings}% + \clearpairofpagestyles + \ihead{\headmark}% + \ohead{\pagemark}% + \cfoot[\if@twoside\else\pagemark\fi]{}% + }% + }% +} +\scrlayerAddCsToInterface{sls@ps@style@KOMA-Script}{% + \@namedef{sls@ps@style@KOMA-Script}{% + \let\MakeMarkcase\@firstofone + \scrlayer@AtEndOfPackage{% + \pagestyle{scrheadings}% + \clearpairofpagestyles + \ohead{\if@twoside\headmark\fi}% + \chead{\if@twoside\else\headmark\fi}% + \ofoot[\if@twoside\pagemark\fi]{\if@twoside\pagemark\fi}% + \cfoot[\if@twoside\else\pagemark\fi]{\if@twoside\else\pagemark\fi}% + \scr@ifundefinedorrelax{KOMAClassName}{}{% + \ifstr{\KOMAClassName}{scrlttr2}{% +% \end{macrocode} +% We are using \Class{scrlttr2}, so we have to initialise the page style +% different: +% \begin{macrocode} + \clearpairofpagestyles + \lehead[\ifnum\@pageat\z@\pagemark\fi] + {\ifnum\@pageat\z@\pagemark\else\leftmark\fi}% + \lohead[\ifnum\@pageat\z@\pagemark\fi] + {\ifnum\@pageat\z@\pagemark\else\leftmark\fi}% + \chead[\ifnum\@pageat\@ne\pagemark\fi] + {\ifcase\@pageat \rightmark\or \pagemark\or \rightmark\fi}% + \rehead[\ifnum\@pageat\tw@\pagemark\fi] + {\ifcase\@pageat \leftmark\or \rightmark\or \pagemark + \else \rightmark\fi}% + \rohead[\ifnum\@pageat\tw@\pagemark\fi] + {\ifcase\@pageat \leftmark\or \rightmark\or \pagemark + \else \rightmark\fi}% + \lefoot[\ifnum\@pageat\thr@@\pagemark\fi] + {\ifnum\@pageat\thr@@\pagemark\fi}% + \cfoot[\ifnum\@pageat 4 \pagemark\fi] + {\ifnum\@pageat 4 \pagemark\fi}% + \refoot[\ifnum\@pageat 5 \pagemark\fi] + {\ifnum\@pageat 5 \pagemark\fi}% + }{}% + }% + }% + }% +} +%</options> +% \end{macrocode} +% \end{macro}^^A \sls@ps@style@KOMA-Script +% \end{macro}^^A \sls@ps@style@standard +% \end{option}^^A pagestyleset +% +% \begin{option}{komastyle} +% \begin{option}{standardstyle} +% These options are deprecated, but defined for compatibility with +% \Package{scrpage2}: +% \begin{macrocode} +%<*options> +\KOMA@DeclareDeprecatedOption[scrlayer-scrpage]{komastyle}{% + pagestyleset=KOMA-Script} +\KOMA@DeclareDeprecatedOption[scrlayer-scrpage]{standardstyle}{% + pagestyleset=standard} +%</options> +% \end{macrocode} +% \end{option}^^A standardstyle +% \end{option}^^A komastyle +% +% +% \section{Extended Mark Mechanisms} +% +% Package options \Option{markuppercase}, \Option{markusedcase}, and +% \Option{nouppercase} of package \Package{scrpage2} will be mapped to +% \KOMAScript{} option \Option{markcase}. +% +% \begin{option}{markuppercase} +% \begin{option}{markusedcase} +% \begin{option}{nouppercase} +% For compatibility with \Package{scrpage2}. +% \begin{macrocode} +%<*options> +\KOMA@DeclareDeprecatedOption[scrlayer-scrpage]{markuppercase}{markcase=upper} +\KOMA@DeclareDeprecatedOption[scrlayer-scrpage]{markusedcase}{markcase=used} +\KOMA@DeclareDeprecatedOption[scrlayer-scrpage]{nouppercase}{% + markcase=ignoreuppercase% +} +%</options> +% \end{macrocode} +% \end{option}^^A nouppercase +% \end{option}^^A markusedcase +% \end{option}^^A markuppercase +% +% +% \section{Expert Page Style Definition Interface} +% +% This is the low level interface of \Package{scrpage2} with +% \Macro{defpagestyle}, \Macro{newpagestyle}, \Macro{renewpagestyle}, and +% \Macro{providepagestyle}. We will also define is. In difference to +% \Package{scrpage2} layers are used. Following layers will be defined for +% each page style: +% \begin{description} +% \item[\texttt{\meta{page style name}.head.above.line}] line above the head +% \item[\texttt{\meta{page style name}.head.odd}] odd page head (only twoside) +% \item[\texttt{\meta{page style name}.head.even}] even page head (only +% twoside) +% \item[\texttt{\meta{page style name}.head.oneside}] single-side head (only +% oneside) +% \item[\texttt{\meta{page style name}.head.below}] line below the head +% \item[\texttt{\meta{page style name}.foot.above.line}] line above the footer +% \item[\texttt{\meta{page style name}.foot.odd}] odd page footer (only +% twoside) +% \item[\texttt{\meta{page style name}.foot.even}] even side footer (only +% twoside) +% \item[\texttt{\meta{page style name}.foot.oneside}] single-side footer (only +% oneside) +% \item[\texttt{\meta{page style name}.foot.below.line}] line below the footer +% (only oneside) +% \end{description} +% Note: \Package{scrpage2} also provides starred versions of the page style +% definition commands, doing the same like the starless versions. This has +% been done for compatibility reasons with deprecated \Package{scrpage2} and +% may be removed some times. The layer interface doesn't support this. +% +% \begin{macro}{\defpagestyle} +% \begin{description} +% \item[\Parameter{string}:] the name of the page style to be defined (must +% be fully expandable and expand to a string only). +% \item[\Parameter{head/foot definition}:] will be used to define the +% head (see \Macro{sls@defhead}). +% \item[\Parameter{head/foot definition}:] will be used to define the +% foot (see \Macro{sls@deffoot}). +% \end{description} +% See \Package{scrpage2} implementation. +% \begin{macrocode} +%<*body> +\scrlayerAddToInterface\defpagestyle{% + \newcommand*{\defpagestyle}[3]{% + \sls@defhead{#1}#2\@empty\@empty\@empty + \sls@deffoot{#1}#3\@empty\@empty\@empty + \DeclarePageStyleByLayers{#1}{% + #1.head.odd,#1.head.even,#1.head.oneside,% + #1.head.above.line,#1.head.below.line,% + #1.foot.odd,#1.foot.even,#1.foot.oneside,% + #1.foot.above.line,#1.foot.below.line% + }% + \edef\reserved@a{% + \noexpand\scrlayerOnAutoRemoveInterface[scrlayer-scrpage.sty]{% + \noexpand\DestroyLayer{#1.head.odd}% + \noexpand\DestroyLayer{#1.head.even}% + \noexpand\DestroyLayer{#1.head.oneside}% + \noexpand\DestroyLayer{#1.head.above.line}% + \noexpand\DestroyLayer{#1.head.below.line}% + \noexpand\DestroyLayer{#1.foot.odd}% + \noexpand\DestroyLayer{#1.foot.even}% + \noexpand\DestroyLayer{#1.foot.oneside}% + \noexpand\DestroyLayer{#1.foot.above.line}% + \noexpand\DestroyLayer{#1.foot.below.line}% + \noexpand\ifstr{\noexpand\currentpagestyle}{#1}{% + \noexpand\PackageWarning{scrlayer-scrpage}{% + page style `#1' not longer valid.\noexpand\MessageBreak + The page style has been defined using\noexpand\MessageBreak + interface `scrlayer-scrpage.sty', that\noexpand\MessageBreak + has been removed% + }% + }{}% + \noexpand\DestroyRealLayerPageStyle{#1}% + }% + }\reserved@a + }% +} +% \end{macrocode} +% \begin{macro}{\sls@defhead} +% \begin{macro}{\sls@@defhead} +% \begin{macro}{\sls@@@defhead} +% \begin{description} +% \item[\MParameter{dimensional expression}{dimensional expression}:] length +% and thickness of a line (ruler) above the page head. May be omitted and +% if so the values from option \Option{headtopline} will be used. +% \item[\Parameter{code}:] will be executed on even pages; used to define +% the contents of layer \texttt{\meta{page style name}.head.even}. +% \item[\Parameter{code}:] will be executed on odd pages within two-side +% layout; used to define the contents of layer \texttt{\meta{page style +% name}.head.odd}. +% \item[\Parameter{code}:] will be executed on single-side pages; used to +% define the contents of layer \texttt{\meta{page style +% name}.head.oneside}. +% \item[\MParameter{dimensional expression}{dimensional expression}:] length +% and thickness of a line (ruler) below the page head. May be omitted and +% if so the values from option \Option{headsepline} will be used. +% \end{description} +% Helper to define the head layers. +% \begin{macrocode} +\scrlayerAddToInterface\sls@defhead{% + \newcommand*\sls@defhead[1]{% + \@ifnextchar(%) + {\sls@@defhead{#1}}% + {\sls@@defhead{#1}(\sls@headabove@linelength,\sls@headabove@linethickness)}% + }% +} +\scrlayerAddToInterface\sls@@defhead{% + \def\sls@@defhead#1(#2,#3)#4#5#6{% + \@ifnextchar(%) + {\sls@@@defhead{#1}({#2},{#3}){#4}{#5}{#6}}% + {\sls@@@defhead{#1}% + ({#2},{#3})% + {#4}{#5}{#6}% + (\sls@headbelow@linelength,\sls@headbelow@linethickness)}% + }% +} +\scrlayerAddToInterface\sls@@@defhead{% + \def\sls@@@defhead#1(#2,#3)#4#5#6(#7,#8){% +% \end{macrocode} +% The lines: +% \begin{macrocode} + \DeclareLayer[% + background,% + hoffset=\sls@leftmargin{head},% + voffset=\sls@topmargin+\dp\strutbox,% + width=\sls@headwidth,% + height=0pt,% + align=bl,% + contents={% + {\normalfont\usekomafont{pageheadfoot}{\usekomafont{pagehead}{% + \sls@hf@rule{headtop}{#2}{#3}}}}% + }% + ]{#1.head.above.line}% + \DeclareLayer[% + background,% + hoffset=\sls@leftmargin{head},% + voffset=\sls@topmargin+\headheight-\ht\strutbox+#8,% + width=\sls@headwidth,% + height=0pt,% + align=tl,% + contents={% + {\normalfont\usekomafont{pageheadfoot}{\usekomafont{pagehead}{% + \sls@hf@rule{headsep}{#7}{#8}}}}% + }% + ]{#1.head.below.line}% +% \end{macrocode} +% The odd side, even side and one side: +% \begin{macrocode} + \DeclareLayer[% + background,evenpage,twoside,% + head,% + hoffset=\sls@leftmargin{head},% + width=\sls@headwidth,% + contents={% + \sls@secure@box\headheight{% + \normalfont\usekomafont{pageheadfoot}{\usekomafont{pagehead}{#4}}}}% + ]{#1.head.odd}% + \DeclareLayer[% + background,oddpage,twoside,% + head,% + hoffset=\sls@leftmargin{head},% + width=\sls@headwidth,% + contents={% + \sls@secure@box\headheight{% + \normalfont\usekomafont{pageheadfoot}{\usekomafont{pagehead}{#5}}}}% + ]{#1.head.even}% + \DeclareLayer[% + background,oddpage,oneside,% + head,% + hoffset=\sls@leftmargin{head},% + width=\sls@headwidth,% + contents={% + \sls@secure@box\headheight{% + \normalfont\usekomafont{pageheadfoot}{\usekomafont{pagehead}{#6}}}}% + ]{#1.head.oneside}% + }% +} +% \end{macrocode} +% \begin{macro}{\sls@deffoot} +% \begin{macro}{\sls@@deffoot} +% \begin{macro}{\sls@@@deffoot} +% \begin{description} +% \item[\MParameter{dimensional expression}{dimensional expression}:] length +% and thickness of a line (ruler) above the page footer. May be omitted +% and if so the values from option \Option{footsepline} will be used. +% \item[\Parameter{code}:] will be executed on even pages; used to define +% the contents of layer \texttt{\meta{page style name}.foot.even}. +% \item[\Parameter{code}:] will be executed on odd pages within two-side +% layout; used to define the contents of layer \texttt{\meta{page style +% name}.foot.odd}. +% \item[\Parameter{code}:] will be executed on single-side pages; used to +% define the contents of layer \texttt{\meta{page style +% name}.foot.oneside}. +% \item[\MParameter{dimensional expression}{dimensional expression}:] length +% and thickness of a line (ruler) below the page footer. May be omitted +% and if so the values from option \Option{footbotline} will be used. +% \end{description} +% Helper to define the foot layers. +% \begin{macrocode} +\scrlayerAddToInterface\sls@deffoot{% + \newcommand*\sls@deffoot[1]{% + \@ifnextchar(%) + {\sls@@deffoot{#1}}% + {\sls@@deffoot{#1}(\sls@footabove@linelength,\sls@footabove@linethickness)}% + }% +} +\scrlayerAddToInterface\sls@@deffoot{% + \def\sls@@deffoot#1(#2,#3)#4#5#6{% + \@ifnextchar(%) + {\sls@@@deffoot{#1}({#2},{#3}){#4}{#5}{#6}}% + {\sls@@@deffoot{#1}% + ({#2},{#3})% + {#4}{#5}{#6}% + (\sls@footbelow@linelength,\sls@footbelow@linethickness)}% + }% +} +\scrlayerAddToInterface\sls@@@deffoot{% + \def\sls@@@deffoot#1(#2,#3)#4#5#6(#7,#8){% +% \end{macrocode} +% The lines: +% \begin{macrocode} + \DeclareLayer[% + foreground,% + hoffset=\sls@leftmargin{foot},% + voffset=\sls@topmargin + +\headheight+\headsep + +\textheight + +\footskip-\footheight + +2\dp\strutbox,% + width=\sls@footwidth,% + height=0pt,% + align=bl,% + contents={% + {\normalfont\usekomafont{pageheadfoot}{\usekomafont{pagefoot}{% + \sls@hf@rule{footsep}{#2}{#3}}}}% + }% + ]{#1.foot.above.line}% + \DeclareLayer[% + foreground,% + hoffset=\sls@leftmargin{foot},% + voffset=\sls@topmargin + +\headheight+\headsep + +\textheight + +\footskip + +2\dp\strutbox + +#8,% + width=\sls@footwidth,% + height=0pt,% + align=bl,% + contents={% + {\normalfont\usekomafont{pageheadfoot}{\usekomafont{pagefoot}{% + \sls@hf@rule{footbot}{#7}{#8}}}}% + }% + ]{#1.foot.below.line}% +% \end{macrocode} +% The odd side, even side and one side: +% \begin{macrocode} + \DeclareLayer[% + foreground,evenpage,twoside,% + foot,% + hoffset=\sls@leftmargin{foot},% + width=\sls@footwidth,% + contents={% + \sls@secure@box\footheight{% + \normalfont\usekomafont{pageheadfoot}{\usekomafont{pagefoot}{#4}}}}% + ]{#1.foot.odd}% + \DeclareLayer[% + foreground,oddpage,twoside,% + foot,% + hoffset=\sls@leftmargin{foot},% + width=\sls@footwidth,% + contents={% + \sls@secure@box\footheight{% + \normalfont\usekomafont{pageheadfoot}{\usekomafont{pagefoot}{#5}}}}% + ]{#1.foot.even}% + \DeclareLayer[% + foreground,oddpage,oneside,% + foot,% + hoffset=\sls@leftmargin{foot},% + width=\sls@footwidth,% + contents={% + \sls@secure@box\footheight{% + \normalfont\usekomafont{pageheadfoot}{\usekomafont{pagefoot}{#6}}}}% + ]{#1.foot.oneside}% + }% +} +% \end{macrocode} +% \begin{macro}{\sls@secure@box} +% \begin{description} +% \item[\Parameter{length}:] a \LaTeX{} length, that gives the maximum +% height + depth of the \meta{content}. It has to be either +% \cs{headheight} or \cs{footheight}. +% \item[\Parameter{content}:] what should be output (inside the box). +% \end{description} +% Note, that several length may be changed, to fit. +% \begin{macrocode} +\scrlayerAddToInterface\sls@secure@box{% + \newcommand*{\sls@secure@box}[2]{% + \begingroup + \setbox\z@\vbox{% + \ifsls@leavevmode\leavevmode\expandafter\ignorespaces\fi + #2% + }% + \ifdim #1<\dimexpr \ht\z@+\dp\z@\relax + \PackageWarning{scrlayer-scrpage}{% + \string#1 to low.\MessageBreak + At least \the\dimexpr \ht\z@+\dp\z@\relax\space needed,\MessageBreak + but only \the#1 found.\MessageBreak + I'll enlarge \string#1, for further\MessageBreak + processing, but you should do this yourself,\MessageBreak + e.g., + \scr@ifundefinedorrelax{geometry}{% + \scr@ifundefinedorrelax{typearea}{% + using\MessageBreak + \space\space\string\setlength{\string#1}{% + \the\dimexpr \ht\z@+\dp\z@\relax}\MessageBreak + in your preamble% + }{% + setting typearea's option\MessageBreak + `\expandafter\@gobble\string#1=\the\dimexpr \ht\z@+\dp\z@\relax'% + }% + }{% + \ifx #1\headheight + setting geometry's option\MessageBreak + `head=\the\dimexpr \ht\z@+\dp\z@\relax'% + \else + using\MessageBreak + \space\space\string\setlength{\string#1}{% + \the\dimexpr \ht\z@+\dp\z@\relax}\MessageBreak + in your preamble% + \fi + }% + .\MessageBreak + I'll also + \ifx #1\headheight decrease \string\topmargin + \else increase \string\footskip\fi + }% + \@tempdima\dimexpr \ht\z@+\dp\z@\relax + \ifx #1\headheight + \global\advance\topmargin by \dimexpr #1-(\ht\z@+\dp\z@)\relax + \dp\z@\dimexpr \dp\z@+\ht\z@+\dp\z@-\headheight\relax + \else + \global\advance\footskip by \dimexpr \ht\z@+\dp\z@-#1\relax + \fi + \global#1\@tempdima + \fi + \usebox\z@ + \endgroup + }% +} +%</body> +% \end{macrocode} +% \begin{option}{hmode} +% Switch automatically to the horizontal mode before setting a page head or +% page footer element +% \begin{macrocode} +%<*options> +\KOMA@ifkey{hmode}{sls@leavevmode} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@hmode}% +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@hmode@default}% +\scrlayer@AddCsToInterface{sls@leavevmode@linetrue} +\scrlayer@AddCsToInterface{sls@leavevmode@linefalse} +%</options> +% \end{macrocode} +% \end{option} +% \end{macro}^^A \sls@secure@box +% \end{macro}^^A \sls@@@deffoot +% \end{macro}^^A \sls@@deffoot +% \end{macro}^^A \sls@deffoot +% \end{macro}^^A \sls@@@defhead +% \end{macro}^^A \sls@@defhead +% \end{macro}^^A \sls@defhead +% \begin{macro}{\headfont} +% \begin{macro}{\scr@fnt@pagehead} +% \begin{macro}{\scr@fnt@wrn@pagehead} +% \begin{macro}{\scr@fnt@pageheadfoot} +% The low level page head font command. It is deprecated to redefine or use +% this and it may already be defined. +% \begin{macrocode} +%<*body> +\@ifundefined{scr@fnt@pagehead}{% + \@ifundefined{@pageheadfont}{% + \newkomafont{pagehead}{}% + \scrlayer@AddCsToInterface{@pageheadfont}% + }{% + \newcommand*{\scr@fnt@pagehead}{\@pageheadfont}% + }% + \scrlayer@AddCsToInterface{scr@fnt@pagehead}% +}{} +\@ifundefined{scr@fnt@pageheadfoot}{% + \newcommand*{\scr@fnt@pageheadfoot}{\headfont}% + \scrlayer@AddCsToInterface{scr@fnt@pageheadfoot}% + \@ifundefined{headfont}{% + \newcommand*{\headfont}{\normalcolor\slshape}% + }{} +}{} +% \end{macrocode} +% \end{macro}^^A \scr@fnt@pageheadfoot +% \end{macro}^^A \scr@fnt@wrn@pagehead +% \end{macro}^^A \scr@fnt@pagehead +% \end{macro}^^A \headfont +% +% \begin{macro}{\footfont} +% \begin{macro}{\scr@fnt@pagefoot} +% \begin{macro}{\scr@fnt@wrn@pagefoot} +% The low level page footer font command. It is deprecated to redefine or use +% this and it may already be defined. +% \begin{macrocode} +\@ifundefined{scr@fnt@pagefoot}{% + \newcommand*{\scr@fnt@pagefoot}{\footfont}% + \scrlayer@AddCsToInterface{scr@fnt@pagefoot}% + \@ifundefined{footfont}{% + \newcommand*{\footfont}{}% + \scrlayer@AddCsToInterface{footfont}% + }{}% + \let\scr@fnt@wrn@pagefoot\relax +}{} +% \end{macrocode} +% \end{macro}^^A \scr@fnt@wrn@pagefoot +% \end{macro}^^A \scr@fnt@pagefoot +% \end{macro}^^A \footfont +% +% \begin{macro}{\sls@hf@rule} +% \begin{description} +% \item[\Parameter{rule name}:] one of \texttt{headtop}, \texttt{headsep}, +% \texttt{footsep}, or \texttt{footbot} +% \item[\Parameter{dimensional expression}:] the line length (width) +% \item[\Parameter{dimensional expression}:] the line thickness (height) +% \end{description} +% Helper to draw the line. +% \begin{macrocode} +\scrlayerAddToInterface\sls@hf@rule{% + \newcommand*\sls@hf@rule[3]{% + \begingroup + \normalfont\usekomafont{#1line}{% + \vbox to \z@{% + \kern -\dimexpr #3\relax + \ifnum \sls@hfline@adjust>\z@ \@tempswatrue \else \@tempswafalse\fi + \if@twoside\ifodd\value{page}\else + \ifnum \sls@hfline@adjust<\tw@ \@tempswatrue\else \@tempswafalse\fi + \fi\fi + \if@tempswa + \hskip \z@\@plus 1fill\@minus \paperwidth + \fi + \vrule \@width\dimexpr #2\relax \@height\dimexpr #3\relax \@depth\z@ + \ifnum \sls@hfline@adjust<\tw@ \@tempswatrue\else \@tempswafalse\fi + \if@twoside\ifodd\value{page}\else + \ifnum \sls@hfline@adjust>\z@ \@tempswatrue \else \@tempswafalse\fi + \fi\fi + \if@tempswa + \hskip \z@\@plus 1fill\@minus \paperwidth\null + \fi + }% + }% + \endgroup + }% +} +% \end{macrocode} +% \end{macro}^^A \sls@hf@rule +% \begin{macro}{\sls@topmargin} +% \begin{macro}{\sls@leftmargin} +% Two simple helper macros: +% \begin{macrocode} +\scrlayerAddToInterface\sls@topmargin{% + \newcommand*{\sls@topmargin}{\dimexpr\topmargin+1in\relax}% +} +\scrlayerAddToInterface\sls@leftmargin{% + \newcommand*{\sls@leftmargin}[1]{% + \dimexpr + \if@twoside + \ifodd\value{page} + \oddsidemargin+\csname sls@odd#1shift\endcsname + \else + \evensidemargin+\csname sls@even#1shift\endcsname + \fi + \else + \oddsidemargin+\csname sls@odd#1shift\endcsname + \fi + +1in\relax + }% +} +%</body> +% \end{macrocode} +% \end{macro}^^A \sls@leftmargin +% \end{macro}^^A \sls@topmargin +% \end{macro}^^A \defpagestyle +% +% \begin{macro}{\newpagestyle} +% For the parameters see \Macro{defpagestyle}. +% Define only, if not already defined: +% \begin{macrocode} +%<*body> +\scrlayerAddToInterface\newpagestyle{% + \newcommand*\newpagestyle[3]{% + \@ifundefined{ps@#1}{\defpagestyle{#1}{#2}{#3}}{% + \PackageError{scrlayer-scrpage}{Page style `#1' already defined}{% + Only not yet defined page style may be defined using + \string\newpagestyle.\MessageBreak + You may use either \string\renewpagestyle, \string\providepagestyle, + or \string\defpagestyle\MessageBreak + with already defined page styles.\MessageBreak + If you'll continue, your command will be ignored.% + }% + }% + }% +} +%</body> +% \end{macrocode} +% \end{macro}^^A \newpagestyle +% +% \begin{macro}{\renewpagestyle} +% For the parameters see \Macro{defpagestyle}. +% Define only, if not already defined: +% \begin{macrocode} +%<*body> +\scrlayerAddToInterface\renewpagestyle{% + \newcommand*\renewpagestyle[3]{% + \@ifundefined{ps@#1}{% + \PackageError{scrlayer-scrpage}{Undefined page style `#1'}{% + Only already defined page style may be re-defined using + \string\renewpagestyle.\MessageBreak + You may use either \string\newpagestyle, \string\providepagestyle, + or \string\defpagestyle\MessageBreak + with not yet defined page styles.\MessageBreak + If you'll continue, your command will be ignored.% + }% + }{% + \defpagestyle{#1}{#2}{#3}% + }% + }% +} +%</body> +% \end{macrocode} +% \end{macro}^^A \renewpagestyle +% +% \begin{macro}{\providepagestyle} +% For the parameters see \Macro{defpagestyle}. +% Define only, if not already defined: +% \begin{macrocode} +%<*body> +\scrlayerAddToInterface\providepagestyle{% + \newcommand*\providepagestyle[3]{% + \@ifundefined{ps@#1}{% + \defpagestyle{#1}{#2}{#3}% + }{% +%<*trace> + \PackageInfo{scrlayer-scrpage}{% + page style `#1' already defined.\MessageBreak + New definition ignored% + }% +%</trace> + }% + }% +} +%</body> +% \end{macrocode} +% \end{macro}^^A \providepagestyle +% +% +% \section{User Page Style Definition Interface} +% +% This is the mid-level interface of \Package{scrpage2} with +% \Macro{deftripstyle}. As in \Package{scrpage2} we simply use the expert page +% style definition interface to define the new user interface commands. But +% here the useless starred versions will not longer be supported. So users of +% them have to remove the star (nothing else). +% +% \begin{macro}{\deftriplepagestyle} +% \begin{macro}{\newtriplepagestyle} +% \begin{macro}{\renewtriplepagestyle} +% \begin{macro}{\providetriplepagestyle} +% \begin{macro}{\deftripstyle} +% \begin{description} +% \item[\Parameter{string}:] the name of the page style to be defined (must +% be fully expandable and expand to a string only). +% \item[\OParameter{dimensional expression}:] thickness of a horizontal line +% above the page head and below the page foot (default: 0\,pt). +% \item[\OParameter{dimensional expression}:] thickness of a horizontal line +% below the page head and above the page foot (default: 0\,pt). +% \item[\Parameter{code}:] will be expanded left aligned at head of odd +% pages (with one-side layout all pages are odd) and right aligned at head +% of even pages. +% \item[\Parameter{code}:] will be expanded centered at head of odd +% and even pages. +% \item[\Parameter{code}:] will be expanded right aligned at head of odd +% pages (with one-side layout all pages are odd) and left aligned at head +% of even pages. +% \item[\Parameter{code}:] will be expanded left aligned at footer of odd +% pages (with one-side layout all pages are odd) and right aligned at +% footer of even pages. +% \item[\Parameter{code}:] will be expanded centered at footer of odd +% and even pages. +% \item[\Parameter{code}:] will be expanded right aligned at footer of odd +% pages (with one-side layout all pages are odd) and left aligned at +% footer of even pages. +% \end{description} +% See \Package{scrpage2}, but: +% While the starred version of \Macro{deftripstyle} is deprecated for several +% years and hasn't been described at the manual, it will not longer be +% defined. Additional commands have been added. +% \begin{macrocode} +%<*body> +\scrlayerAddToInterface{\deftriplepagestyle}{% + \newcommand*{\deftriplepagestyle}[1]{% + \let\@tempa\defpagestyle + \scrlayer@triplestyle{#1}% + }% +} +\scrlayerAddToInterface{\newtriplepagestyle}{% + \newcommand*{\newtriplepagestyle}[1]{% + \let\@tempa\newpagestyle + \scrlayer@triplestyle{#1}% + }% +} +\scrlayerAddToInterface{\renewtriplepagestyle}{% + \newcommand*{\renewtriplepagestyle}[1]{% + \let\@tempa\renewpagestyle + \scrlayer@triplestyle{#1}% + }% +} +\scrlayerAddToInterface{\providetriplepagestyle}{% + \newcommand*{\providetriplepagestyle}[1]{% + \let\@tempa\providepagestyle + \scrlayer@triplestyle{#1}% + }% +} +% \end{macrocode} +% \begin{macro}{\scrlayer@triplestyle} +% \begin{macro}{\scrlayer@@triplestyle} +% \begin{macro}{\scrlayer@@@triplestyle} +% Helpers, that do the real work. Parameters are same, but \cs{reserved@a} has +% to be one of \Macro{defpagestyle}, \Macro{newpagestyle}, +% \Macro{renewpagestyle}, or \Macro{providepagestyle}. +% \begin{macrocode} +\scrlayerAddToInterface\scrlayer@triplestyle{% + \def\scrlayer@triplestyle#1{% + \@ifnextchar[%] + {\scrlayer@@triplestyle{#1}}% + {\scrlayer@@triplestyle{#1}[\z@]}% + } +} +\scrlayerAddToInterface\scrlayer@@triplestyle{% + \def\scrlayer@@triplestyle#1[#2]{% + \@ifnextchar[%] + {\scrlayer@@@triplestyle{#1}[#2]}% + {\scrlayer@@@triplestyle{#1}[\z@][#2]}% + }% +} +\scrlayerAddToInterface\scrlayer@@@triplestyle{% + \def\scrlayer@@@triplestyle#1[#2][#3]#4#5#6#7#8#9{% + \@tempa{#1}{% + (\sls@headwidth,#2)% + {% + \makebox[\z@][l]{#6}\hfill + \makebox[\z@][c]{#5}\hfill + \makebox[\z@][r]{#4}% + }{% + \makebox[\z@][l]{#4}\hfill + \makebox[\z@][c]{#5}\hfill + \makebox[\z@][r]{#6}% + }{% + \makebox[\z@][l]{#4}\hfill + \makebox[\z@][c]{#5}\hfill + \makebox[\z@][r]{#6}% + }% + (\sls@headwidth,#3)% + }{% + (\sls@footwidth,#3)% + {% + \makebox[\z@][l]{#9}\hfill + \makebox[\z@][c]{#8}\hfill + \makebox[\z@][r]{#7}% + }{% + \makebox[\z@][l]{#7}\hfill + \makebox[\z@][c]{#8}\hfill + \makebox[\z@][r]{#9}% + }{% + \makebox[\z@][l]{#7}\hfill + \makebox[\z@][c]{#8}\hfill + \makebox[\z@][r]{#9}% + }% + (\sls@footwidth,#2)% + }% + }% +} +% \end{macrocode} +% \end{macro}^^A \scrlayer@@@triplestyle +% \end{macro}^^A \scrlayer@@triplestyle +% \end{macro}^^A \scrlayer@triplestyle +% \begin{macrocode} +\scrlayerAddToInterface{\deftripstyle}{% + \newcommand*{\deftripstyle}{% + \PackageWarning{scrlayer-scrpage}{% + Command \string\deftripstyle\space is deprecate.\MessageBreak + You should replace it by \string\deftriplepagestyle,\MessageBreak + e.g.,% + }% + \let\deftripstyle\deftriplepagestyle + \deftripstyle + }% +} +%</body> +% \end{macrocode} +% \end{macro}^^A \deftripstyle +% \end{macro}^^A \providetriplepagestyle +% \end{macro}^^A \renewtriplepagestyle +% \end{macro}^^A \newtriplepagestyle +% \end{macro}^^A \deftriplepagestyle +% +% +% \section{Pre-defined Page Styles Interface} +% +% This is the high-level interface of \Package{scrpage2} with the page style +% \Pagestyle{scrheadings}, \Pagestyle{scrplain}, and +% \Pagestyle{useheadings}. Those will work as expected but will also be +% extended to support definition of additional styles using the same +% interface. +% +% \begin{macro}{\defpairofpagestyles} +% \begin{description} +% \item[\OParameter{string}:] name of a parent page style, that will be used +% to initialise the new page style (must be fully expandable and expand to +% the name of a page style). +% \item[\Parameter{string}:] name the page style to be defined (must be +% fully expandable and expand to the name of a page style). +% \item[\Parameter{code}:] several commands of \Macro{ihead}, \Macro{chead}, +% \Macro{ohead}, \Macro{lehead}, \Macro{lohead}, \Macro{cohead}, +% \Macro{rehead}, \Macro{cehead}, \Macro{rohead}, \Macro{ifoot}, +% \Macro{cfoot}, \Macro{ofoot}, \Macro{lefoot}, \Macro{cefoot}, +% \Macro{lofoot}, \Macro{refoot}, \Macro{cofoot}, \Macro{rofoot}, +% \Macro{clearscrheadfoot}, \Macro{clearscrheadings}, +% \Macro{clearscrplain}. +% \end{description} +% Two page styles will be defined using \Macro{defpagestyle}, page style named +% with the second argument and page style with the same name but an additional +% prefix ``\texttt{plain.}''. This will be activated automatically to be the +% plain page style when the first page style will be used. If first argument +% is used this pair of page styles will be used to initialise the head and +% footer of the new. All the other commands are used to define the initial +% fields. Note, if one of those page styles is active, all further commands +% (see 3rd argument) depend on the active page style. If no one is active, +% they depend on page style \texttt{scrheadings}. +% \begin{macrocode} +%<*body> +\scrlayerAddToInterface\defpairofpagestyles{% + \newcommand*{\defpairofpagestyles}[3][]{% + \def\reserved@a##1##2##3##4##5##6##7\@nil{##1##2##3##4##5##6}% + \edef\reserved@a{\expandafter\reserved@a #2xxxxxx\@nil}% + \ifstr\reserved@a{plain.}{% + \PackageError{scrlayer-scrpage}{plain page style `#2' not allowed}{% + You may not define a plain page style using + \string\defpairofpagestyles, \string\newpairofpagestyles, + \string\renewpairofpagestyles, or\MessageBreak + \string\providepairofpagestyles. I'd suggest to simply define the + corresponding\MessageBreak + non-plain page style to also define the plain one.\MessageBreak + If you'll continue, your command will be ignored.}% + }{% + \sls@init@pair@page@style*{#2}% + \sls@init@pair@page@style*{plain.#2}% + \ifx\relax #1\relax\else + \scr@ifundefinedorrelax{sls@ps@#1@even@left@head}{% + \PackageError{scrlayer-scrpage}{`#1' not a pair page style}{% + Only pair page styles may be used to initialise new pairs of page + styles. So\MessageBreak + optional argument of \string\defpairofpagestyles, + \string\newpairofpagestyles,\MessageBreak + \string\renewpairofpagestyles, or \string\providepairofpagestyle has + to be a pair\MessageBreak + page style or should be unused.\MessageBreak + If you'll continue, the initialisation will be ignored.}% + }{% + \sls@init@pair@page@style{#2}{#1}% + \scr@ifundefinedorrelax{sls@ps@plain.#1@even@left@head}{% + \sls@init@pair@page@style{plain.#2}{#1}% + }{% + \sls@init@pair@page@style{plain.#2}{plain.#1}% + }% + }% + \fi + \edef\reserved@a{% + \noexpand\scrlayerOnAutoRemoveInterface[scrlayer-scrpage.sty]{% + \noexpand\sls@init@pair@page@style**{#2}% + \noexpand\sls@init@pair@page@style**{plain.#2}% + \noexpand\expandafter\noexpand\ifx\noexpand + \csname ps@plain.#2\noexpand\endcsname\noexpand\ps@plain + \noexpand\PackageWarning{scrlayer-scrpage}{% + page style `#2' not longer valid.\noexpand\MessageBreak + This was the current plain page style.\noexpand\MessageBreak + Making current plain page style empty.\noexpand\MessageBreak + The page style has been defined using\noexpand\MessageBreak + interface `scrlayer-scrpage.sty', that\noexpand\MessageBreak + has been removed% + }% + \noexpand\def\noexpand\ps@plain{% + \noexpand\def\noexpand\@oddhead{}\noexpand\def\noexpand\@evenhead{}% + \noexpand\def\noexpand\@oddhead{}\noexpand\def\noexpand\@evenhead{}% + }% + \noexpand\fi + }% + }\reserved@a + \sls@def@pair@page@style@member{#2}% + \AddToLayerPageStyleOptions{#2}{% + onselect={% + \expandafter\let\expandafter\ps@plain\csname ps@plain.#2\endcsname + \expandafter\let\expandafter\ps@headings\csname ps@#2\endcsname + \def\sls@currentheadings{#2}% + \def\sls@currentplain{plain.#2}% + #3% + }% + }% + \sls@def@pair@page@style@member{plain.#2}% + \AddToLayerPageStyleOptions{plain.#2}{% + onselect={% + \expandafter\let\expandafter\ps@plain\csname ps@plain.#2\endcsname + \expandafter\let\expandafter\ps@headings\csname ps@#2\endcsname + \def\sls@currentheadings{#2}% + \def\sls@currentplain{plain.#2}% + #3% + },% + oninit={% + \expandafter + \ifx\csname ifsls@plain@head@above@line\expandafter\endcsname + \csname iftrue\endcsname\else + \let\sls@headabove@linelength\z@ + \let\sls@headabove@linethickness\z@ + \fi + \expandafter + \ifx\csname ifsls@plain@head@below@line\expandafter\endcsname + \csname iftrue\endcsname\else + \let\sls@headbelow@linelength\z@ + \let\sls@headbelow@linethickness\z@ + \fi + \expandafter + \ifx\csname ifsls@plain@foot@above@line\expandafter\endcsname + \csname iftrue\endcsname\else + \let\sls@footabove@linelength\z@ + \let\sls@footabove@linethickness\z@ + \fi + \expandafter + \ifx\csname ifsls@plain@foot@below@line\expandafter\endcsname + \csname iftrue\endcsname\else + \let\sls@footbelow@linelength\z@ + \let\sls@footbelow@linethickness\z@ + \fi + }% + }% + }% + }% +} +% \end{macrocode} +% \begin{macro}{\sls@currentheadings} +% \begin{macro}{\sls@currentplain} +% These little helpers will be set up at selection of each pair page style and +% stores the last activated page style pair of the scope. +% \begin{macrocode} +\scrlayerAddToInterface\sls@currentheadings{% + \newcommand*\sls@currentheadings{scrheadings}% +} +\scrlayerAddToInterface\sls@currentplain{% + \newcommand*\sls@currentplain{plain.scrheadings}% +} +% \end{macrocode} +% \end{macro}^^A \sls@currentplain +% \end{macro}^^A \sls@currentheadings +% \begin{macro}{\sls@init@pair@page@style} +% \begin{macro}{\sls@init@@pair@page@style} +% \begin{description} +% \item[\Parameter{string}:] the name of the page style, that should be +% initialised to be one member of a page style pair. +% \item[\Parameter{string}:] the name of a member of a page style pair, that +% should be used to initialise one the member of a page style pair from +% first argument. +% \end{description} +% These are two little helpers for \Macro{defpairofpagestyles}. +% The first command has two starred versions. With one star the commands for +% the page style will be initialised to \Macro{@empty}, with two stars they +% will become \LaTeX-undefined (\Macro{relax}). +% +% Note also, that the second argument may either be the plain or the non-plain +% member of the page style pair. +% \begin{macrocode} +\scrlayerAddToInterface\sls@init@pair@page@style{% + \newcommand*{\sls@init@pair@page@style}{% + \@ifstar {% + \@ifstar {% + \sls@let@pair@page@style\relax + }{% + \sls@let@pair@page@style\@empty + } + }{% + \sls@init@@pair@page@style + }% + }% +} +\scrlayerAddToInterface\sls@init@@pair@page@style{% + \newcommand*{\sls@init@@pair@page@style}[2]{% + \expandafter\let\csname sls@ps@#1@even@left@head\expandafter\endcsname + \csname sls@ps@#2@even@left@head\endcsname + \expandafter\let\csname sls@ps@#1@even@middle@head\expandafter\endcsname + \csname sls@ps@#2@even@middle@head\endcsname + \expandafter\let\csname sls@ps@#1@even@right@head\expandafter\endcsname + \csname sls@ps@#2@even@right@head\endcsname + \expandafter\let\csname sls@ps@#1@odd@left@head\expandafter\endcsname + \csname sls@ps@#2@odd@left@head\endcsname + \expandafter\let\csname sls@ps@#1@odd@middle@head\expandafter\endcsname + \csname sls@ps@#2@odd@middle@head\endcsname + \expandafter\let\csname sls@ps@#1@odd@right@head\expandafter\endcsname + \csname sls@ps@#2@odd@right@head\endcsname + \expandafter\let\csname sls@ps@#1@even@left@foot\expandafter\endcsname + \csname sls@ps@#2@even@left@foot\endcsname + \expandafter\let\csname sls@ps@#1@even@middle@foot\expandafter\endcsname + \csname sls@ps@#2@even@middle@foot\endcsname + \expandafter\let\csname sls@ps@#1@even@right@foot\expandafter\endcsname + \csname sls@ps@#2@even@right@foot\endcsname + \expandafter\let\csname sls@ps@#1@odd@left@foot\expandafter\endcsname + \csname sls@ps@#2@odd@left@foot\endcsname + \expandafter\let\csname sls@ps@#1@odd@middle@foot\expandafter\endcsname + \csname sls@ps@#2@odd@middle@foot\endcsname + \expandafter\let\csname sls@ps@#1@odd@right@foot\expandafter\endcsname + \csname sls@ps@#2@odd@right@foot\endcsname + }% +} +% \end{macrocode} +% \end{macro}^^A \sls@init@@pair@page@style +% \begin{macro}{\sls@let@pair@page@style} +% \begin{description} +% \item[\Parameter{command}:] a single command used to initialise the +% commands of the page style commands. +% \item[\Parameter{string}:] the name of a member of a page style pair, that +% should be used to initialise one the member of a page style pair from +% first argument. +% \end{description} +% A little helper for \Macro{sls@init@pair@page@style}. +% \begin{macrocode} +\scrlayerAddToInterface\sls@let@pair@page@style{% + \newcommand*{\sls@let@pair@page@style}[2]{% + \expandafter\let\csname sls@ps@#2@even@left@head\endcsname #1% + \expandafter\let\csname sls@ps@#2@even@middle@head\endcsname #1% + \expandafter\let\csname sls@ps@#2@even@right@head\endcsname #1% + \expandafter\let\csname sls@ps@#2@odd@left@head\endcsname #1% + \expandafter\let\csname sls@ps@#2@odd@middle@head\endcsname #1% + \expandafter\let\csname sls@ps@#2@odd@right@head\endcsname #1% + \expandafter\let\csname sls@ps@#2@even@left@foot\endcsname #1% + \expandafter\let\csname sls@ps@#2@even@middle@foot\endcsname #1% + \expandafter\let\csname sls@ps@#2@even@right@foot\endcsname #1% + \expandafter\let\csname sls@ps@#2@odd@left@foot\endcsname #1% + \expandafter\let\csname sls@ps@#2@odd@middle@foot\endcsname #1% + \expandafter\let\csname sls@ps@#2@odd@right@foot\endcsname #1% + }% +} +% \end{macrocode} +% \end{macro}^^A \sls@let@pair@page@style +% \end{macro}^^A \sls@init@pair@page@style +% \begin{macro}{\sls@def@pair@page@style@member} +% \begin{description} +% \item[\Parameter{string}:] name of the page style to be defined. +% \end{description} +% A little helper for \Macro{defpairofpagestyles}. +% \begin{macrocode} +\scrlayerAddToInterface\sls@def@pair@page@style@member{% + \newcommand*{\sls@def@pair@page@style@member}[1]{% + \defpagestyle{#1}{% + {% + \makebox[0pt][l]{\parbox{\sls@headwidth}{\raggedright + \strut\@nameuse{sls@ps@#1@even@left@head}\strut}}% + \parbox{\sls@headwidth}{\centering + \strut\@nameuse{sls@ps@#1@even@middle@head}\strut}% + \makebox[0pt][r]{\parbox{\sls@headwidth}{\raggedleft + \strut\@nameuse{sls@ps@#1@even@right@head}\strut}}% + }{% + \makebox[0pt][l]{\parbox{\sls@headwidth}{\raggedright + \strut\@nameuse{sls@ps@#1@odd@left@head}\strut}}% + \parbox{\sls@headwidth}{\centering + \strut\@nameuse{sls@ps@#1@odd@middle@head}\strut}% + \makebox[0pt][r]{\parbox{\sls@headwidth}{\raggedleft + \strut\@nameuse{sls@ps@#1@odd@right@head}\strut}}% + }{% + \makebox[0pt][l]{\parbox{\sls@headwidth}{\raggedright + \strut\@nameuse{sls@ps@#1@odd@left@head}\strut}}% + \parbox{\sls@headwidth}{\centering + \strut\@nameuse{sls@ps@#1@odd@middle@head}\strut}% + \makebox[0pt][r]{\parbox{\sls@headwidth}{\raggedleft + \strut\@nameuse{sls@ps@#1@odd@right@head}\strut}}% + }% + }{% + {% + \makebox[0pt][l]{\parbox{\sls@footwidth}{\raggedright + \strut\@nameuse{sls@ps@#1@even@left@foot}\strut}}% + \parbox{\sls@footwidth}{\centering + \strut\@nameuse{sls@ps@#1@even@middle@foot}\strut}% + \makebox[0pt][r]{\parbox{\sls@footwidth}{\raggedleft + \strut\@nameuse{sls@ps@#1@even@right@foot}\strut}}% + }{% + \makebox[0pt][l]{\parbox{\sls@footwidth}{\raggedright + \strut\@nameuse{sls@ps@#1@odd@left@foot}\strut}}% + \parbox{\sls@footwidth}{\centering + \strut\@nameuse{sls@ps@#1@odd@middle@foot}\strut}% + \makebox[0pt][r]{\parbox{\sls@footwidth}{\raggedleft + \strut\@nameuse{sls@ps@#1@odd@right@foot}\strut}}% + }{% + \makebox[0pt][l]{\parbox{\sls@footwidth}{\raggedright + \strut\@nameuse{sls@ps@#1@odd@left@foot}\strut}}% + \parbox{\sls@footwidth}{\centering + \strut\@nameuse{sls@ps@#1@odd@middle@foot}\strut}% + \makebox[0pt][r]{\parbox{\sls@footwidth}{\raggedleft + \strut\@nameuse{sls@ps@#1@odd@right@foot}\strut}}% + }% + }% + }% +} +%</body> +% \end{macrocode} +% \end{macro}^^A \sls@def@pair@page@style@member +% \end{macro}^^A \defpairofpagestyles +% +% \begin{macro}{\newpairofpagestyles} +% \begin{macro}{\renewpairofpagestyles} +% \begin{macro}{\providepairofpagestyles} +% See \Macro{defpairofpagestyles} for the arguments. +% \begin{macrocode} +%<*body> +\scrlayerAddToInterface\newpairofpagestyles{% + \newcommand*{\newpairofpagestyles}[3][]{% + \scr@ifundefinedorrelax{ps@#2}{% + \@ifundefined{ps@plain.#2}{\defpairofpagestyles[#1]{#2}{#3}}{% + \PackageError{scrlayer-scrpage}{% + Plain page style of `#2' already defined}{% + You may only define a new pair of page styles, if neither the style + itself\MessageBreak + nor it's plain page style has already been defined.\MessageBreak + You may use only \string\defpairofpagestyles\space or + \string\providepairofpagestyles\space with partly\MessageBreak + already defined page styles.\MessageBreak + If you'll continue, your command will be ignored.% + }% + }% + }{% + \PackageError{scrlayer-scrpage}{% + Page style `#2' already defined}{% + You may only define a new pair of page styles, if neither the style + itself\MessageBreak + nor it's plain page style has already been defined.\MessageBreak + You may use either \string\renewpairsofpagestyles, + \string\defpairofpagestyles, or\MessageBreak + \string\providepairofpagestyles\space with already defined page + styles.\MessageBreak + If you'll continue, your command will be ignored.% + }% + }% + }% +} +\scrlayerAddToInterface\renewpairofpagestyles{% + \newcommand*{\renewpairofpagestyles}[3][]{% + \scr@ifundefinedorrelax{ps@#2}{% + \PackageError{scrlayer-scrpage}{% + Undefined page style `#2'}{% + You may only redefine existing pairs of page styles. You may use + either\MessageBreak + \string\newpairsofpagestyles, \string\defpairofpagestyles, or + \string\providepairofpagestyles\MessageBreak + with not yet defined page styles.\MessageBreak + If you'll continue, your command will be ignored.% + }% + }{% + \@ifundefined{ps@plain.#2}{% + \PackageError{scrlayer-scrpage}{% + Undefined plain page style of `#2'}{% + You may only redefine existing pairs of page styles. You may use + either\MessageBreak + \string\defpairofpagestyles\space or + \string\providepairofpagestyles\space with partly already + defined\MessageBreak + page styles.\MessageBreak + If you'll continue, your command will be ignored.% + }% + }{\defpairofpagestyles[#1]{#2}{#3}}% + }% + }% +} +\scrlayerAddToInterface\providepairofpagestyles{% + \newcommand*{\providepairofpagestyles}[3][]{% + \scr@ifundefinedorrelax{ps@#2}{% + \@ifundefined{ps@plain.#2}{\defpairofpagestyles[#1]{#2}{#3}}{% +%<*trace> + \PackageInfo{scrlayer-scrpage}{% + Plain page style of `#2' already\MessageBreak + defined. Definition ignored}% +%</trace> + }% + }{% +%<*trace> + \PackageInfo{scrlayer-scrpage}{% + Page style of `#2' already defined.\MessageBreak + Definition ignored}% +%</trace> + }% + }% +} +%</body> +% \end{macrocode} +% \end{macro}^^A \providepairofpagestyles +% \end{macro}^^A \renewpairofpagestyles +% \end{macro}^^A \newpairofpagestyles +% +% \begin{macro}{\ps@scrheadings} +% \begin{macro}{\ps@plain.scrheadings} +% We have one predefined pair: \texttt{scrheadings} with plain page style +% \texttt{plain.scrheadings}. +% \begin{macrocode} +%<*body> +\newpairofpagestyles{scrheadings}{}% +% \end{macrocode} +% \begin{macro}{\ps@scrplain} +% But with package \Package{scrpage2} the plain page style was +% \texttt{scrplain}. So we make a kind of alias: +% \begin{macrocode} +\DeclarePageStyleAlias{scrplain}{plain.scrheadings} +\scrlayerOnAutoRemoveInterface{\DestroyPageStyleAlias{scrplain}} +%</body> +% \end{macrocode} +% \end{macro}^^A \ps@scrplain +% \end{macro}^^A \ps@plain.scrheadings +% \end{macro}^^A \ps@scrheadings +% +% +% \begin{macro}{\ihead} +% \begin{macro}{\ohead} +% \begin{macro}{\chead} +% \begin{macro}{\lehead} +% \begin{macro}{\lohead} +% \begin{macro}{\rehead} +% \begin{macro}{\rohead} +% \begin{macro}{\cehead} +% \begin{macro}{\cohead} +% \begin{macro}{\ifoot} +% \begin{macro}{\ofoot} +% \begin{macro}{\cfoot} +% \begin{macro}{\lefoot} +% \begin{macro}{\lofoot} +% \begin{macro}{\refoot} +% \begin{macro}{\rofoot} +% \begin{macro}{\cefoot} +% \begin{macro}{\cofoot} +% We also need macros to define the contents of the three part head +% and foot. Each macro defines one of the part of head or foot of the +% headings page style member and optional of the plain page style +% member. +% \begin{macrocode} +%<*body> +\scrlayerAddToInterface\ihead{% + \newcommand*{\ihead}{\@ifnextchar[{\@@ihead}{\@ihead}}% +} +% \end{macrocode} +% \begin{macro}{\@ihead} +% \begin{macro}{\@@ihead} +% Two helpers for the previous one to double the command and it's arguments. +% \begin{macrocode} +\scrlayerAddToInterface\@ihead{% + \newcommand*{\@ihead}[1]{\rehead{#1}\lohead{#1}}% +} +\scrlayerAddToInterface\@@ihead{% + \newcommand*{\@@ihead}[2][]{\rehead[{#1}]{#2}\lohead[{#1}]{#2}}% +} +% \end{macrocode} +% \end{macro}^^A \@@ihead +% \end{macro}^^A \@ihead +% \begin{macrocode} +\scrlayerAddToInterface\ohead{% + \newcommand*{\ohead}{\@ifnextchar[{\@@ohead}{\@ohead}}% +} +% \end{macrocode} +% \begin{macro}{\@ohead} +% \begin{macro}{\@@ohead} +% Two helpers for the previous one to double the command and it's arguments. +% \begin{macrocode} +\scrlayerAddToInterface\@ohead{% + \newcommand*{\@ohead}[1]{\lehead{#1}\rohead{#1}}% +} +\scrlayerAddToInterface\@@ohead{% + \newcommand*{\@@ohead}[2][]{\lehead[{#1}]{#2}\rohead[{#1}]{#2}}% +} +% \end{macrocode} +% \end{macro}^^A \@@ohead +% \end{macro}^^A \@ohead +% \begin{macrocode} +\scrlayerAddToInterface\chead{% + \newcommand*{\chead}{\@ifnextchar[{\@@chead}{\@chead}}% +} +% \end{macrocode} +% \begin{macro}{\@chead} +% \begin{macro}{\@@chead} +% Two helpers for the previous one to double the command and it's arguments. +% \begin{macrocode} +\scrlayerAddToInterface\@chead{% + \newcommand*{\@chead}[1]{\cehead{#1}\cohead{#1}}% +} +\scrlayerAddToInterface\@@chead{% + \newcommand*{\@@chead}[2][]{\cehead[{#1}]{#2}\cohead[{#1}]{#2}}% +} +% \end{macrocode} +% \end{macro}^^A \@@chead +% \end{macro}^^A \@chead +% \begin{macrocode} +\scrlayerAddToInterface\lehead{% + \newcommand*{\lehead}{\sls@renewelement{even}{left}{head}}% +} +\scrlayerAddToInterface\lohead{% + \newcommand*{\lohead}{\sls@renewelement{odd}{left}{head}}% +} +\scrlayerAddToInterface\rehead{% + \newcommand*{\rehead}{\sls@renewelement{even}{right}{head}}% +} +\scrlayerAddToInterface\rohead{% + \newcommand*{\rohead}{\sls@renewelement{odd}{right}{head}}% +} +\scrlayerAddToInterface\cehead{% + \newcommand*{\cehead}{\sls@renewelement{even}{middle}{head}}% +} +\scrlayerAddToInterface\cohead{% + \newcommand*{\cohead}{\sls@renewelement{odd}{middle}{head}}% +} +\scrlayerAddToInterface\ifoot{% + \newcommand*{\ifoot}{\@ifnextchar[{\@@ifoot}{\@ifoot}}% +} +% \end{macrocode} +% \begin{macro}{\@ifoot} +% \begin{macro}{\@@ifoot} +% Two helpers for the previous one to double the command and it's arguments. +% \begin{macrocode} +\scrlayerAddToInterface\@ifoot{% + \newcommand*{\@ifoot}[1]{\refoot{#1}\lofoot{#1}}% +} +\scrlayerAddToInterface\@@ifoot{% + \newcommand*{\@@ifoot}[2][]{\refoot[{#1}]{#2}\lofoot[{#1}]{#2}}% +} +% \end{macrocode} +% \end{macro}^^A \@@ifoot +% \end{macro}^^A \@ifoot +% \begin{macrocode} +\scrlayerAddToInterface\ofoot{% + \newcommand*{\ofoot}{\@ifnextchar[{\@@ofoot}{\@ofoot}}% +} +% \end{macrocode} +% \begin{macro}{\@ofoot} +% \begin{macro}{\@@ofoot} +% Two helpers for the previous one to double the command and it's arguments. +% \begin{macrocode} +\scrlayerAddToInterface\@ofoot{% + \newcommand*{\@ofoot}[1]{\lefoot{#1}\rofoot{#1}}% +} +\scrlayerAddToInterface\@@ofoot{% + \newcommand*{\@@ofoot}[2][]{\lefoot[{#1}]{#2}\rofoot[{#1}]{#2}}% +} +% \end{macrocode} +% \end{macro}^^A \@@ofoot +% \end{macro}^^A \@ofoot +% \begin{macrocode} +\scrlayerAddToInterface\cfoot{% + \newcommand*{\cfoot}{\@ifnextchar[{\@@cfoot}{\@cfoot}}% +} +% \end{macrocode} +% \begin{macro}{\@cfoot} +% \begin{macro}{\@@cfoot} +% Two helpers for the previous one to double the command and it's arguments. +% \begin{macrocode} +\scrlayerAddToInterface\@cfoot{% + \newcommand*{\@cfoot}[1]{\cefoot{#1}\cofoot{#1}}% +} +\scrlayerAddToInterface\@@cfoot{% + \newcommand*{\@@cfoot}[2][]{\cefoot[{#1}]{#2}\cofoot[{#1}]{#2}}% +} +% \end{macrocode} +% \end{macro}^^A \@@cfoot +% \end{macro}^^A \@cfoot +% \begin{macrocode} +\scrlayerAddToInterface\lefoot{% + \newcommand*{\lefoot}{\sls@renewelement{even}{left}{foot}}% +} +\scrlayerAddToInterface\lofoot{% + \newcommand*{\lofoot}{\sls@renewelement{odd}{left}{foot}}% +} +\scrlayerAddToInterface\refoot{% + \newcommand*{\refoot}{\sls@renewelement{even}{right}{foot}}% +} +\scrlayerAddToInterface\rofoot{% + \newcommand*{\rofoot}{\sls@renewelement{odd}{right}{foot}}% +} +\scrlayerAddToInterface\cefoot{% + \newcommand*{\cefoot}{\sls@renewelement{even}{middle}{foot}}% +} +\scrlayerAddToInterface\cofoot{% + \newcommand*{\cofoot}{\sls@renewelement{odd}{middle}{foot}}% +} +% \end{macrocode} +% \begin{macro}{\sls@renewelement} +% \begin{macro}{\sls@@renewelement} +% \begin{macro}{\sls@@@renewelement} +% \begin{macro}{\sls@@renewplainelement} +% Little helper for several of the above commands. +% \begin{macrocode} +\scrlayerAddToInterface\sls@renewelement{% + \newcommand*{\sls@renewelement}[3]{% + \@ifnextchar[%] + {\sls@@@renewelement{#1}{#2}{#3}}% + {\sls@@renewelement{#1}{#2}{#3}}% + }% +} +\scrlayerAddToInterface\sls@@renewelement{% + \newcommand*{\sls@@renewelement}[4]{% + \scr@ifundefinedorrelax{sls@ps@\sls@currentheadings @#1@#2@#3}{% + \@namedef{sls@ps@scrheadings@#1@#2@#3}{#4}% + }{% + \@namedef{sls@ps@\sls@currentheadings @#1@#2@#3}{#4}% + }% + }% +} +\scrlayerAddToInterface\sls@@@renewelement{% + \def\sls@@@renewelement#1#2#3[#4]#5{% + \sls@@renewplainelement{#1}{#2}{#3}{#4}% + \sls@@renewelement{#1}{#2}{#3}{#5}% + }% +} +\scrlayerAddToInterface\sls@@renewplainelement{% + \newcommand*{\sls@@renewplainelement}[4]{% + \scr@ifundefinedorrelax{sls@ps@\sls@currentplain @#1@#2@#3}{% + \@namedef{sls@ps@plain.scrheadings@#1@#2@#3}{#4}% + }{% + \@namedef{sls@ps@\sls@currentplain @#1@#2@#3}{#4}% + }% + }% +} +%</body> +% \end{macrocode} +% \end{macro}^^A \sls@@renewplainelement +% \end{macro}^^A \sls@@@renewelement +% \end{macro}^^A \sls@@renewelement +% \end{macro}^^A \sls@renewelement +% \end{macro}^^A \cofoot +% \end{macro}^^A \cefoot +% \end{macro}^^A \rofoot +% \end{macro}^^A \refoot +% \end{macro}^^A \lofoot +% \end{macro}^^A \lefoot +% \end{macro}^^A \cfoot +% \end{macro}^^A \ofoot +% \end{macro}^^A \ifoot +% \end{macro}^^A \cohead +% \end{macro}^^A \cehead +% \end{macro}^^A \rohead +% \end{macro}^^A \rehead +% \end{macro}^^A \lohead +% \end{macro}^^A \lehead +% \end{macro}^^A \chead +% \end{macro}^^A \ohead +% \end{macro}^^A \ihead +% +% \begin{macro}{\clearmainofpairofpagestyles} +% \begin{macro}{\clearscrheadings} +% Maybe you want to clear the currently defined head and foot. First +% let's clear only scrheadings pagestyle but not scrplain pagestyle. +% We do this simply using the already known command: +% \begin{macrocode} +%<*body> +\scrlayerAddToInterface\clearmainofpairofpagestyles{% + \newcommand*{\clearmainofpairofpagestyles}{% + \ihead{}\chead{}\ohead{}\ifoot{}\cfoot{}\ofoot{}% + }% +} +\scrlayerAddToInterface\clearscrheadings{% + \let\clearscrheadings\clearmainofpairofpagestyles +} +%</body> +% \end{macrocode} +% \end{macro}^^A \clearscrheadings +% \end{macro}^^A \clearmainofpairofpagestyles +% \begin{macro}{\clearplainofpairofpagestyles} +% \begin{macro}{\clearscrplain} +% Now, we use the not recommended feature to set up a plain style: +% \begin{macrocode} +%<*body> +\scrlayerAddToInterface\clearplainofpairofpagestyles{% + \newcommand*{\clearplainofpairofpagestyles}{% + \sls@@renewplainelement{odd}{left}{head}{}% + \sls@@renewplainelement{odd}{right}{head}{}% + \sls@@renewplainelement{odd}{middle}{head}{}% + \sls@@renewplainelement{even}{left}{head}{}% + \sls@@renewplainelement{even}{right}{head}{}% + \sls@@renewplainelement{even}{middle}{head}{}% + \sls@@renewplainelement{odd}{left}{foot}{}% + \sls@@renewplainelement{odd}{right}{foot}{}% + \sls@@renewplainelement{odd}{middle}{foot}{}% + \sls@@renewplainelement{even}{left}{foot}{}% + \sls@@renewplainelement{even}{right}{foot}{}% + \sls@@renewplainelement{even}{middle}{foot}{}% + }% +} +\scrlayerAddToInterface\clearscrplain{% + \let\clearscrplain\clearplainofpairofpagestyles +} +%</body> +% \end{macrocode} +% \end{macro}^^A \clearscrplain +% \end{macro}^^A \clearplainofpairofpagestyles +% \begin{macro}{\clearpairofpagestyles} +% \begin{macro}{\clearscrheadfoot} +% Last but not least we clean up both, the main and the plain: +% \begin{macrocode} +%<*body> +\scrlayerAddToInterface\clearpairofpagestyles{% + \newcommand*{\clearpairofpagestyles}{% + \ihead[]{}\chead[]{}\ohead[]{}\ifoot[]{}\cfoot[]{}\ofoot[]{}% + }% +} +\scrlayerAddToInterface\clearscrheadfoot{% + \let\clearscrheadfoot\clearpairofpagestyles +} +%</body> +% \end{macrocode} +% \end{macro}^^A \clearscrheadfoot +% \end{macro}^^A \clearpairofpagestyles +% +% \begin{macro}{\ps@useheadings} +% Not longer supported: +% \begin{macrocode} +%<*body> +\scrlayerAddToInterface\ps@useheadings{% + \newcommand*\ps@useheadings{% + \PackageWarning{scrlayer-scrpage}{incompatible page style!\MessageBreak + Page styles like `headings' and `plain'\MessageBreak + are incompatible with the page styles\MessageBreak + of scrlayer-scrpage. You shouldn't mix\MessageBreak + them up. Therefore page style\MessageBreak + `useheadings' is not longer provided.\MessageBreak + Usage is deprecated and will be replaced\MessageBreak + by `scrheadings'% + }% + \let\ps@useheadings\ps@scrheadings + \ps@useheadings + }% +} +\scrlayerAddCsToInterface{ps@plain.useheadings}{% + \@namedef{ps@plain.useheadings}{\@nameuse{ps@plain.scrheadings}}% +} +%</body> +% \end{macrocode} +% \end{macro}^^A \ps@useheadings +% +% \iffalse^^A meta-comment +%</interface> +% \fi^^A meta-comment +% +% \Finale +% \let\subsection\section +% \let\section\chapter +% \let\chapter\restorechapter +% +\endinput +% +% end of file `scrlayer.dtx' + +%%% Local Variables: +%%% mode: doctex +%%% mode: flyspell +%%% ispell-local-dictionary: "en_GB" +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/scrlayer.dtx b/Master/texmf-dist/source/latex/koma-script/scrlayer.dtx new file mode 100644 index 00000000000..99ff0c5771d --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/scrlayer.dtx @@ -0,0 +1,4901 @@ +% \CheckSum{3307} +% \iffalse^^A meta-comment +% ====================================================================== +% scrlayer.dtx +% Copyright (c) Markus Kohm, 2012-2013 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 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. +% ---------------------------------------------------------------------- +% scrlayer.dtx +% Copyright (c) Markus Kohm, 2012-2013 +% +% Diese Datei ist Teil der LaTeX2e KOMA-Script-Sammlung. +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c. +% 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 und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% \fi^^A meta-comment +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \iffalse^^A meta-comment +%<identify>%%% From File: $Id: scrlayer.dtx 1480 2013-10-31 10:00:02Z mjk $ (identify) +%<init>%%% From File: $Id: scrlayer.dtx 1480 2013-10-31 10:00:02Z mjk $ (init) +%<options>%%% From File: $Id: scrlayer.dtx 1480 2013-10-31 10:00:02Z mjk $ (options) +%<body>%%% From File: $Id: scrlayer.dtx 1480 2013-10-31 10:00:02Z mjk $ (body) +%<final>%%% From File: $Id: scrlayer.dtx 1480 2013-10-31 10:00:02Z mjk $ (final) +%<*dtx> +\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\begingroup + \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#4/#3/#2}} + \filedate$Date: 2013-10-31 11:00:02 +0100 (Do, 31. Okt 2013) $ + \def\filerevision$#1: #2 ${\gdef\filerevision{v0.9.#2}} + \filerevision$Revision: 1480 $ +\endgroup +\ProvidesFile{scrlayer.dtx}[\filedate\space\filerevision\space +%</dtx> +%<*identify|doc> +%<package>\NeedsTeXFormat{LaTeX2e}[1995/12/01] +%<package>\ProvidesPackage{scrlayer}[% +%<doc>\ProvidesFile{scrlayer.tex}[% +% Sometimes following will be replaced by !KOMASCRIPTVERSION: +%!SCRLAYERVERSION +%<package> package +%</identify|doc> +%<*dtx|identify|doc> + (defining layers and page styles)] +%</dtx|identify|doc> +%<*dtx> +\ifx\documentclass\undefined + \input scrdocstrip.tex + \@@input scrkernel-version.dtx + \@@input scrstrip.inc + \KOMAdefVariable{COPYRIGHTFROM}{2012} + \KOMAdefVariable{SCRLAYERVERSION}{\space\space\filedate\space\filerevision}% + \generate{\usepreamble\defaultpreamble + \file{scrlayer.sty}{% + \from{scrlayer.dtx}{package,trace,scrlayer,identify}% + \from{scrlayer.dtx}{package,trace,scrlayer,init}% + \from{scrlayer.dtx}{package,trace,scrlayer,options}% + \from{scrlayer.dtx}{package,trace,scrlayer,body}% + \from{scrlayer.dtx}{package,trace,scrlayer,final}% + \from{scrlogo.dtx}{logo}% + }% + } + + \batchinput{scrlayer-scrpage.dtx} + \batchinput{scrlayer-notecolumn.dtx} + \@@input scrstrop.inc +\else + \let\endbatchfile\relax +\fi +\endbatchfile +%</dtx> +%<*driver> + \documentclass{scrdoc} + \addtolength{\textwidth}{-1em} + \addtolength{\marginparwidth}{2em} + \addtolength{\oddsidemargin}{2em} + \usepackage[ngerman,english]{babel} + \usepackage{url,babelbib}\bibliographystyle{babalpha-fl} + \usepackage{listings} + \usepackage{scrhack} + \usepackage{etoolbox} + \pretocmd\DescribeMacro{\ifhmode\else\bigskip\noindent\fi}{}{} + \pretocmd\DescribeEnv{\ifhmode\else\bigskip\noindent\fi}{}{} + \pretocmd\DescribeOption{\ifhmode\else\bigskip\noindent\fi}{}{} + + \CodelineIndex + \RecordChanges + \GetFileInfo{scrlayer.dtx} + \title{The \KOMAScript{} package \texttt{scrlayer}% + \footnote{This is version \fileversion\ of file \texttt{\filename}.}} + \date{\filedate} + \author{Markus Kohm} + + \newenvironment{Explain}{\par}{\par} + \newcommand*{\length}{} + \let\length\Length + \let\endlength\endLength + \let\Macro\cs + \let\Length\Macro + \let\Package\textsf + \let\Class\Package + \let\File\texttt + \let\Option\texttt + \newcommand*{\KOption}[1]{\Option{#1}\texttt{=}} + \newcommand*{\OptionValue}[2]{\Option{#1}\texttt{=}\PValue{#2}} + \let\Counter\texttt + \let\Environment\texttt + \let\ShowOutput\quote + \let\endShowOutput\endquote + \let\Pagestyle\texttt + \newcommand*{\Parameter}[1]{\texttt{\marg{#1}}\linebreak[1]} + \newcommand*{\OParameter}[1]{\texttt{\oarg{#1}}\linebreak[1]} + \newcommand*{\MParameter}[2]{\texttt{(\meta{#1},\meta{#2})}\linebreak[1]} + \providecommand\PParameter[1]{\mbox{\texttt{\{#1\}}}\linebreak[1]} + \let\PName\meta + \let\PValue\texttt + \providecommand*{\autoref}[1]{\expandafter\AUTOREF#1:} + \providecommand*{\AUTOREF}{} + \makeatletter + \def\AUTOREF#1:#2:{% + \edef\@tempa{#1}% + \edef\@tempb{tab}\ifx\@tempa\@tempb table~\fi + \edef\@tempb{sec}\ifx\@tempa\@tempb section~\fi + \ref{#1:#2}% + } + \providecommand*{\IndexCmd}[2][]{} + \providecommand*{\textnote}[2][]{} + \providecommand*\eTeX{\leavevmode\hbox{$\varepsilon$}-\TeX} + \providecommand*\NTS{% + \leavevmode\hbox{$\cal N\kern-0.35em\lower0.5ex\hbox{$\cal T$}% + \kern-0.2emS$}} + + \lstnewenvironment{lstcode}{\lstset{language=[LaTeX]TeX}}{} + \makeatother + \sloppy% YOU SHOULD NOT DO THIS!!! + + \begin{document} + \maketitle + \DocInput{\filename} + \DocInput{scrlayer-scrpage.dtx} + \DocInput{scrlayer-notecolumn.dtx} + \bibliography{guide} + \PrintChanges + \PrintIndex + \end{document} +%</driver> +% \fi^^A meta-comment +% +% \selectlanguage{english} +% +% \changes{v0.0}{2012/01/01}{Start of new package} +% +%\iffalse^^A meta comment +%<*dtx|doc> +\chapter[{Defining Layers and Page Styles Using \Package{scrlayer}}]% +{Defining Layers and Page Styles Using \Package{scrlayer}% +%\footnote{This chapter has been generated from \File{scrlayer.dtx}.}% +} +\labelbase{scrlayer} + +\BeginIndex{Package}{scrlayer} + +%\fi^^A meta comment +% \begin{abstract} +\LaTeX{} itself doesn't know layers, but there are already packages +like \Package{eso-pic} or \Package{textpos}, that provide a kind of +background or foreground layer. \Package{scrlayer} is another package, +that provides such background and foreground layers, but in difference +to the other packages mentioned above these layers are part of the +page style definition. With this you may simply switch between usage +of layers by switching the page style. + +To do so, the package also supports a low level interface to define page +styles using a layer stack, to put layers onto a page style's layer stack, to +put layers at the lowest position of a page style's layer stack, to put layers +before or after a layer of a page style's layer stack, to remove a layer from +a page style's layer stack and to remove doublets of layers of a page style's +layer stack. In short words: The page style interface of \Package{scrlayer} +provides commands to define layer-stack-based page styles and to manage those +layer stacks. + +Nevertheless using the layers directly is recommended for advanced users only. +End user interfaces for beginners or average users are provided by additional +packages, that load \Package{scrlayer} on their own. +% \end{abstract} +% +% \tableofcontents +% + +\section{State of Development Note} +\label{sec:scrlayer.draft} + +Development of this package hasn't been finished yet. Because of this, +especially internal functionality may be changed in future. Most likely the +package will be extended. And because of the early state of development, you +should not expect any user documentation. In fact there's at least only some +developers documentation needed by the main developer himself. + +%\iffalse^^A meta-comment +\EndIndex{Package}{scrlayer} +%\fi^^A meta-comment + +\section{Early or Late Selection of Options} +\label{sec:scrlayer.options} + +Package \Package{scrlayer} uses the option interface of \KOMAScript. Therefore +you may set options either within the optional argument of +\Macro{documentclass} as global options, or within the optional argument of +\Macro{usepackage} as local options, or with \Macro{KOMAoptions} or +\Macro{KOMAoption} as \KOMAScript{} option. Several of these options expect a +value. See the \KOMAScript{} manual, \File{scrguide.pdf}, for more information +about this. + + +\section{Some Generic Information} +\label{sec:scrlayer.generic} + +The package needs some generic information about the class. Class authors may +help \Package{scrlayer} setting this information. Otherwise the package tries +to detect the information itself. This works, e.g., for the standard classes +and the \KOMAScript{} classes. But it may or may not fail with other classes. + +This section describes some of the information, that class authors may +provide. Generally users need not to care about this. + +%\iffalse^^A meta-comment +\begin{Declaration} + \Macro{if@chapter}\ \PName{then code} \Macro{else}\ \PName{else code} \Macro{fi}% +\end{Declaration} +\BeginIndex{Cmd}{if@chapter}% +%\fi^^A meta-comment +% \DescribeMacro{\if@chapter} +If \Macro{if@chapter} is defined and \Macro{iftrue}, \Package{scrlayer} will +work including the chapter level, e.g., at option \Option{automark}. If it is +defined, but not \Macro{iftrue}, it only handles part, section, subsection, +sub\dots subsection, paragraph, subparagraph, sub\dots subparagraph. If the +macro isn't defined, \Package{scrlayer} searches for \Macro{chapter}. If +\Macro{chapter} is defined and not \Macro{relax}, \Package{scrlayer} will +define \Macro{if@chapter} to \Macro{iftrue}, otherwise \Macro{if@chapter} will +become \Macro{iffalse}. +%\iffalse^^A meta-comment +\EndIndex{Cmd}{if@chapter} +%\fi^^A meta-comment + +%\iffalse^^A meta-comment +\begin{Declaration} + \Macro{if@mainmatter}\ \PName{then code} \Macro{else}\ \PName{else code} \Macro{fi}% +\end{Declaration} +\BeginIndex{Cmd}{if@mainmatter}% +%\fi^^A meta-comment +% \DescribeMacro{\if@mainmatter} +Classes like \Class{book} define \Macro{frontmatter}, \Macro{mainmatter}, and +\Macro{backmatter}. They also use \Macro{if@mainmatter} to distinguish whether +or the current matter is the main matter. Classes like \Class{report} and +\Class{article} don't have \Macro{frontmatter}, \Macro{mainmatter}, or +\Macro{backmatter} and therefore also don't have \Macro{if@mainmatter}. + +For \Package{scrlayer} it's easier not to test always for the existence of the +matter commands, but to have \Macro{if@mainmatter} even with classes like +\Class{report} and \Class{article}, simply set to \Macro{iftrue}. So if +\Macro{if@mainmatter} is not defined, it will be defined to \Macro{iftrue}. + +Some classes have \Macro{frontmatter}, \Macro{mainmatter}, or +\Macro{backmatter} but not \Macro{if@mainmatter}. In this case +\Package{scrlayer} will also define \Macro{if@mainmatter} to be \Macro{iftrue} +and it'll extend definition of \Macro{frontmatter}, \Macro{mainmatter}, and +\Macro{backmatter} to set \Macro{if@mainmatter} properly. Other matter +commands are not known, not tested, and not extended. So if there other matter +commands \Package{scrlayer} needs help of the class author to get +\Macro{if@mainmatter} set correctly. +%\iffalse^^A meta-comment +\EndIndex{Cmd}{if@mainmatter} +%\fi^^A meta-comment + +%\iffalse^^A meta-comment +\begin{Declaration} +%\fi^^A meta-comment +% \DescribeMacro{\DeclareSectionNumberDepth} +% The command + \Macro{DeclareSectionNumberDepth}%^^A + \Parameter{level name}\Parameter{level depth} +% maps +%\iffalse^^A meta-comment +\end{Declaration} +\BeginIndex{Cmd}{DeclareSectionNumberDepth}% +With this command you may map +%\fi^^A meta-comment +the name of a heading level to a section numbering depth. With standard class +book, e.g., the \PName{level name} could be \PValue{part}, \PValue{chapter}, +\PValue{section}, \PValue{subsection}, \PValue{subsubsection}, +\PValue{paragraph}, or \PValue{subparagraph} and the corresponding +\PName{level depth}s would be -1, 0, 1, 2, 3, 4, and 5. Package +\Package{scrlayer} tries to determine the levels on it's own while loading +and while \Macro{begin}\PParameter{document}. But, if it fails, you may set it +on yourself using this command. +%\iffalse^^A meta-comment +\EndIndex{Cmd}{DeclareSectionNumberDepth} +%\fi^^A meta-comment + + +%\iffalse^^A meta-comment +\begin{Declaration} +%\fi^^A meta-comment +% \DescribeMacro{\footheight} +%\iffalse^^A meta-comment + \Length{footheight}% +\end{Declaration} +\BeginIndex{Length}{footheight}% +%\fi^^A meta-comment +While \LaTeX{} already provides \Length{headheight} to set up the height of +the page head, it doesn't provide a corresponding length for the page +footer. Nevertheless \Package{scrlayer} needs this in several cases. So if +\Length{footheight} doesn't already exist, \Package{scrlayer} will define +it and initialise it to -12345\,sp. If it's value is still this magic value +while \Macro{begin}\PParameter{document}, it will be set to +\Length{baselineskip} then. +%\iffalse^^A meta-comment +\EndIndex{Length}{footheight} +%\fi^^A meta-comment + + +\section{Declaration of Layers} +\label{sec:scrlayer.layers} + +A layer is a kind of logical sheet of transparent paper (in opposite to a +physical sheet of paper). One layer is stacked onto another layer and opaque +material on one layer may hide material on the layers below. The stack of all +layers together makes the physical page. Package \Package{scrlayer} +provides two such layer stacks for each page: a background layer stack and a +foreground layer stack. The background layer stack is behind the normal page +contents, the foreground layer stack is above the normal page contents. So the +normal contents is a kind of a separating layer. + +A layer has several attributes. The first attribute is, whether or not +the layer is part of the foreground or the background. Background +layers will be printed before the main contents of the page. Optically +they will be behind the main contents. Foreground layers will be +printed after the main contents of the page. Optically they will be in +front of the main contents. By default, a layer is both, a background +layer \emph{and} a foreground layer and therefore will be printed +twice. + +The second and third attributes are the horizontal and vertical position of +the layer. The forth and fifth attributes are the horizontal and vertical size +of the layer. As you can see, a layer may be smaller or larger than the +paper. + +But how are the horizontal an vertical positions measured? The answer +is the sixth attribute, the alignment. We can measure from the left edge of +the paper to the left edge of the layer, or from the left edge of the paper to +the middle of the layer, or from the left edge of the paper to the right edge +of the layer. We can measure from the top edge of the paper to the top edge of +the layer, or to the middle of the layer, or to the bottom edge of the layer. + +The seventh and eights attributes are, whether or not a layer should be +printed onto left or right pages. By default a layer will be printed at both, +left and right pages. Note, that \LaTeX{} names left pages as even pages and +right pages as odd pages and that there are no left or even pages in +single-sided mode. + +The ninth and tenth attributes are, whether or not a layer should be printed in +single-side mode or in two-side mode. By default a layer will be printed in +both, single-side mode and two-side mode. Nevertheless an even page layer will +never be printed in single-side mode and therefore isn't really a two-side +mode layer. + +The eleventh and twelveth attributes are, whether or not a layer should be +printed onto float pages or non-float pages. \LaTeX{} produces float pages for +float environment like tables or figures, if they are allowed to be printed on +a page without normal page contents (see option \PValue{p} for +\Environment{figure} or \Environment{table}). Non-float pages aren't pages +without floats, but pages, that aren't float pages. They may contain floats +inside the text, on the top of the page, or on the bottom of the page. Very +large floats may seem to be page floats, while in reality they are top floats. + +The thirteenth and last attribute is the contents of the layer. This is simply, +what should be printed, whenever the layer will be printed. + +So we have thirteen attributes yet. Below in this manual we will see additional +attributes, that may be build by these twelve attribute. Because of this, we +call these twelve attributes the primary attributes. + +%\iffalse^^A meta-comment +\begin{Declaration} +%\fi^^A meta-comment +% \DescribeMacro{\DeclareLayer} +% \DescribeMacro{\DeclareNewLayer} +% \DescribeMacro{\ProvideLayer} +% \DescribeMacro{\RedeclareLayer} +% \DescribeMacro{\ModifyLayer} +% The command: + \Macro{DeclareLayer}\OParameter{option list}\Parameter{layer name} +%\iffalse^^A meta-comment + \\\Macro{DeclareNewLayer}\OParameter{option list}\Parameter{layer name} + \\\Macro{ProvideLayer}\OParameter{option list}\Parameter{layer name} + \\\Macro{RedeclareLayer}\OParameter{option list}\Parameter{layer name} + \\\Macro{ModifyLayer}\OParameter{option list}\Parameter{layer name} +\end{Declaration} +\BeginIndex{Cmd}{DeclareLayer}% +\BeginIndex{Cmd}{DeclareNewLayer}% +\BeginIndex{Cmd}{ProvideLayer}% +\BeginIndex{Cmd}{RedeclareLayer}% +\BeginIndex{Cmd}{ModifyLayer}% +Command \Macro{DeclareLayer} +%\fi^^A meta-comment +declares or defines a layer with the name \PName{layer name}. It doesn't care +whether or not a layer with this name already exists. Argument \PName{layer + name} must be fully expandable and the expansion has to result in +letters. Some other characters will be tolerated, but only letters are +recommended. + +The \PName{option list} is a comma separated list of \PName{option}s. An +\PName{option} may be either a \PName{key} or a \PName{key} followed be an +equal sign followed by a \PName{value}. We call this a +\OptionValue{\PName{key}}{\PName{value}} option. Each \PName{key} is the +representation of a layer attribute. See \autoref{tab:scrlayer.layerkeys} for +more information about the names of the \PName{key}s and the corresponding +attributes. + +\begin{center} + \captionaboveof{table}{The \PName{key}s representing a layer attribute}% + \label{tab:scrlayer.layerkeys}% + \begin{description} + \item[\OptionValue{align}{\PName{alignment character}s} --] a description + of the wanted alignment. Each \PName{alignment character} influences + either, how the \PName{length} of \Option{hoffset} or \Option{voffset} + will be used. Several \PName{alignment character}s may be used together + (without comma or space). No macros should be used here! Valid + \PName{alignment character}s are: + \begin{description} + \item[\PValue{b} --] align the layer with its bottom edge to the given + \Option{length} of \Option{voffset} from the top edge of the paper. + \item[\PValue{c} --] align the layer with its centre to the given + \PValue{length} of \Option{hoffset} from the left edge and of + \Option{voffset} from the top edge of the paper. + \item[\PValue{l} --] align the layer with its left edge to the given + \PValue{length} of \Option{hoffset} from the left edge of the paper. + \item[\PValue{r} --] align the layer with its right edge to the given + \PValue{length} of \Option{hoffset} from the left edge of the paper. + \item[\PValue{t} --] align the layer with its top edge to the given + \Option{length} of \Option{voffset} from the top edge of the paper. + \end{description} + \item[\OptionValue{area}{%^^A + \Parameter{hoffset}\Parameter{voffset}%^^A + \Parameter{width}\Parameter{height}} --] composing option, that results + in \OptionValue{hoffset}{\PName{hoffset}}, + \OptionValue{voffset}{\PName{voffset}}, + \OptionValue{width}{\PName{width}}, \OptionValue{height}{\PName{height}}. + \item[\Option{background} --] print the layer only in the background, but not + in the foreground. This makes a background-only layer in opposite to the + default of layers which are both, background and foreground layers. The + option doesn't expect any value. By the default the attribute is not set. + \item[\Option{bottommargin} --] composing option, that sets + \Option{hoffset}, \Option{voffset}, \Option{width}, \Option{height}, and + \Option{align} to horizontally span the paper from the left edge to the + right and vertically span the area below the footer down to the bottom + edge of the paper. + \item[\OptionValue{clone}{\PName{layer name}} --] composing option, that + sets all primary attributes of the layer to the same values as the primary + attributes of the layer with the given \PName{layer name}. Note, that + \PName{layer name} has to be fully expandable and should expand to letters + only. Some additional characters will be tolerated, but they are not + recommended! + \item[\OptionValue{contents}{\PName{code}} --] the \PName{code} will be + expanded whenever the layer is printed. So the \PName{code} is what you + will see. No checks for valid code will be done. So errors in \PName{code} + may result in several failures on each page, that prints the layer. + \item[\Option{evenpage} --] print the layer on even pages only, but not on + odd pages. The option doesn't expect any value. By the default the + attribute is not set. Note, that this attribute includes \Option{twoside}. + \item[\Option{floatpage} --] print the layer on float pages only, but not on + other pages. The option doesn't expect any value. By the default the + attribute is not set. + \item[\Option{foot} --] composing option, that sets \Option{hoffset}, + \Option{voffset}, \Option{width}, \Option{height}, and \Option{align} to + horizontally span the text area and vertically span the page footer + defined by the new \LaTeX{} length \Length{footheight}. + \item[\Option{footskip} --] composing option, that sets \Option{hoffset}, + \Option{voffset}, \Option{width}, \Option{height}, and \Option{align} to + horizontally span the text area and vertically span the distance between + the text area and the page footer (note, that this is not the same like + \Length{footskip}). + \item[\Option{foreground} --] print the layer only in the foreground, but not + in the background. This makes a foreground-only layer in opposite to the + default of layers which are both, background and foreground layers. The + option doesn't expect any value. By the default the attribute is not set. + \item[\Option{head} --] composing option, that sets \Option{hoffset}, + \Option{voffset}, \Option{width}, \Option{height}, and \Option{align} to + horizontally span the text area and vertically span the page head defined + by usual\LaTeX{} length \Length{headheight}. + \item[\Option{headsep} --] composing option, that sets \Option{hoffset}, + \Option{voffset}, \Option{width}, \Option{height}, and \Option{align} to + horizontally span the text area and vertically span the distance between + the page head and the text area. + \item[\OptionValue{height}{\PName{length}} --] the height of the + layer. Note, that \PName{length} may either a \LaTeX{} length, declared + using \Macro{newlength}, or a \TeX{} length, declared using + \Macro{newdimen} or \Macro{newskip}, a length value like 10\,pt, or a + dimensional expression using +, -, /, *, (, and ). For more information + about valid dimensional expression see \cite[section~3.5]{manual:eTeX}. + \item[\OptionValue{hoffset}{\PName{length}} --] the offset of the layer + (depending on \Option{align} either left edge of the layer, middle of the + layer or right edge of the layer) from the left edge of the paper. See + \Option{height} for more information about valid content of + \PName{length}. + \item[\Option{innermargin} --] composing option, that sets \Option{hoffset}, + \Option{voffset}, \Option{width}, \Option{height}, and \Option{align} to + horizontally span the distance between the right edge of text area and the + right edge of the paper on even pages or the distance between the left + edge of the paper and the left edge of the text area on odd pages and + vertically span the whole paper from the top edge to the bottom edge. + \item[\Option{leftmargin} --] composing option, that sets \Option{hoffset}, + \Option{voffset}, \Option{width}, \Option{height}, and \Option{align} to + horizontally span the distance between the left edge of the paper and the + left edge of the text area and vertically span the whole paper from the + top edge to the bottom edge. + \item[\Option{nonfloatpage} --] don't print the layer on float pages, but on + other pages only. The option doesn't expect any value. By the default the + attribute is not set. + \item[\Option{oddpage} --] print the layer on odd pages only, but not on even + pages. The option doesn't expect any value. By the default the attribute + is not set. + \item[\Option{oneside} --] print the layer in single-side mode only, but not + in two-side mode. The option doesn't expect any value. By the default the + attribute is not set. + \item[\Option{outermargin} --] composing option, that sets \Option{hoffset}, + \Option{voffset}, \Option{width}, \Option{height}, and \Option{align} to + horizontally span the distance between the left edge of the paper and the + left edge of the text area on even pages or the distance between the right + edge of the text area and the right edge of the paper on odd pages and + vertically span the whole paper from the top edge to the bottom edge. + \item[\Option{page} --] composing option, that sets \Option{hoffset}, + \Option{voffset}, \Option{width}, \Option{height}, and \Option{align} to + horizontally and vertically span the whole paper from the left edge to the + right edge and the top edge to the bottom edge. + \item[\Option{rightmargin} --] composing option, that sets \Option{hoffset}, + \Option{voffset}, \Option{width}, \Option{height}, and \Option{align} to + horizontally span the distance between the right edge of text area and the + right edge of the paper and vertically span the whole paper from the top + edge to the bottom edge. + \item[\Option{textarea} --] composing option, that sets \Option{hoffset}, + \Option{voffset}, \Option{width}, \Option{height}, and \Option{align} to + horizontally and vertically span the whole text area from the left edge to + the right edge and the top edge to the bottom edge. + \item[\Option{topmargin} --] composing option, that sets \Option{hoffset}, + \Option{voffset}, \Option{width}, \Option{height}, and \Option{align} to + horizontally span the whole page from the left edge to the right edge and + vertically span the distance between the top edge of the paper and the + page head. + \item[\Option{twoside} --] print the layer in two-side mode only, but not in + single-side mode. The option doesn't expect any value. By the default the + attribute is not set. + \item[\OptionValue{voffset}{\PName{length}} --] the offset of the layer + (depending on \Option{align} either top edge of the layer, middle of the + layer or bottom edge of the layer) from the top edge of the paper. See + \Option{height} for more information about valid content of + \PName{length}. + \item[\OptionValue{width}{\PName{length}} --] the width of the layer. See + \Option{height} for more information about valid content of + \PName{length}. + \end{description} +\end{center} + +The difference between \Macro{DeclareLayer} and \Macro{DeclareNewLayer} is, +that using \Macro{DeclareNewLayer} would result in an error, if a layer with +the same \PName{layer name} already exists. So you may prevent yourself using +the same \PName{layer name} twice by mistake. + +The difference between \Macro{DeclareLayer} and \Macro{ProvideLayer} is, that +using \Macro{ProvideLayer} would be simply ignored, if a layer with the same +\PName{layer name} already exists. So it is something like: \emph{declare the + layer only, if is hasn't been declared already.} + +The difference between \Macro{DeclareLayer} and \Macro{RedeclareLayer} is, +that using \Macro{RedeclareLayer} would result in an error, if a layer with +the same \PName{layer name} doesn't exist already. So it may not be used to +define a new layer. + +The difference between \Macro{RedeclareLayer} and \Macro{ModifyLayer} is, that +\Macro{RedeclareLayer} resets the layer to the default, before declaring it +new. \Macro{ModifyLayer} doesn't reset it, so only the attributes, set by the +\PName{option list} will be changed. +% +%\iffalse^^A meta-comment +\EndIndex{Cmd}{ModifyLayer}% +\EndIndex{Cmd}{RedeclareLayer}% +\EndIndex{Cmd}{ProvideLayer}% +\EndIndex{Cmd}{DeclareNewLayer}% +\EndIndex{Cmd}{DeclareLayer}% +%\fi^^A meta-comment + +%\iffalse^^A meta-comment +\begin{Declaration} +%\fi^^A meta-comment +% \DescribeMacro{\IfLayerExists} +% The command + \Macro{IfLayerExists}%^^A + \Parameter{string}\Parameter{then-code}\Parameter{else-code} +%\iffalse^^A meta-comment +\end{Declaration} +\BeginIndex{Cmd}{IfLayerExists}% +This command +%\fi^^A meta-comment +may be used to execute code depending on whether or not a layer has been +defined already. If the layer exists \PName{then-code} will be executed, +otherwise \PName{else-code}. Note, that the command cannot really test whether +a layer exists. It uses a heuristic, that will never be false negative, but +may be false positive. Nevertheless, if it is false positive something went +wrong, either an incompatible package has been used or the user made something +he shouldn't do. +%\iffalse^^A meta-comment +\EndIndex{Cmd}{IfLayerExists} +%\fi^^A meta-comment + +%\iffalse^^A meta-comment +\begin{Declaration} +%\fi^^A meta-comment +% \DescribeMacro{\DestroyLayer} +% The command + \Macro{DestroyLayer}%^^A + \Parameter{layer name} +%\iffalse^^A meta-comment +\end{Declaration} +\BeginIndex{Cmd}{DestroyLayer}% +This command +%\fi^^A meta-comment +sets all macros corresponding with the layer with given \PName{layer name} to +\Macro{relax}, if a layer with that name exists. After this the layer may not +be used any longer. But it doesn't matter, if the layer is still part of the +layer list of a page style, because such destroyed layers will be +ignored. Nevertheless destroyed layers may be defined new using +\Macro{DeclareNewLayer} or \Macro{ProvideLayer}, but couldn't be changed using +\Macro{RedeclareLayer} or \Macro{ModifyLayer} any longer. The command is +intended to be used inside \Macro{scrlayerOnAutoRemoveInterface} to remove +layers, that have been defined by an interface using removable macros of that +interface. +%\iffalse^^A meta-comment +\EndIndex{Cmd}{DestroyLayer} +%\fi^^A meta-comment + +%\iffalse^^A meta-comment +\begin{Declaration} +%\fi^^A meta-comment +% The command +% \DescribeMacro{\layercontentsmeasure} +% \DescribeOption{draft} + \Macro{layercontentsmeasure}% +%\iffalse^^A meta-comment + \\\KOption{draft}{\PName{simple switch}}% +\end{Declaration} +\BeginIndex{Option}{draft~=\PName{simple switch}} +\BeginIndex{Cmd}{layercontentsmeasure}% +The command \Macro{layercontentsmeasure} +%\fi^^A meta-comment +is internally used, if option \Option{draft} has been set, so visualise +the layers. The visualisation will be done with a centimetre ruler at the top +and left edge of the layer and an inch ruler at the bottom and right edge of +the layer. The rulers will be drawn behind the content of the layer. If you +would you, could also use it as content of a layer. +%\iffalse^^A meta-comment +\EndIndex{Cmd}{layercontentsmeasure} +\EndIndex{Option}{draft~=\PName{simple switch}} +%\fi^^A meta-comment + + +\section{Declaration and Management of Page Styles} +\label{sec:scrlayer.pagestyles} + +Until now we know layers, but we don't know how to use them. The +perhaps astonishing answer is: with page styles. In \LaTeX{}, page +styles usually define heads and foots of odd and even pages. + +The head and foot of odd pages will be printed on pages with odd +page number in two-side mode or on all pages in single-side mode. This is +something like the layer attributes \Option{oddpage} and \Option{evenpage}. + +The page head will be printed before the main contents of a page. The page +footer will be printed after the main contents of a page. So this is something +like the layer attributes \Option{background} and \Option{foreground}. + +So it's obvious to declare page styles to be a list of layers. But instead of +having only four attributes \Option{oddpage}, \Option{evenpage}, +\Option{background}, and \Option{foreground} all the attributes of layers +shown in \autoref{sec:scrlayer.layers} may be used. + +The outcome of this is, that one kind of page styles \Package{scrlayer} +provides are layer page styles. A layer page style consists of layers and +several \emph{hooks}. For description of layers see +\autoref{sec:scrlayer.layers}. The \emph{hooks} are points in the expansion +or execution of page styles and you may add additional code, that will be +expanded there. + +Another kind of page styles \Package{scrlayer} provides are alias page +style. An alias page style simply consists of one other page style. In +other words, the name of an alias page style is only an alias name of +another page style, the aliased or original page style. Because of +this, the manipulation of an alias page style results in the +manipulation of the original page style. If the original page style is +an alias page style too, the manipulation will result in the +manipulation of the aliased page style of that original page style and +so on until a real page style will be manipulated. You may not only +alias layer page styles made with \Package{scrlayer}, but all kind of +page styles. + + +% \DescribeMacro{\currentpagestyle} +%\iffalse^^A meta-comment +\begin{Declaration} + \Macro{currentpagestyle} +\end{Declaration} +\BeginIndex{Cmd}{currentpagestyle}% +%\fi^^A meta-comment +Package scrlayer patches \Macro{pagestyle} to set \Macro{currentpagestyle} to +the currently active page style. Note, that \Macro{thispagestyle} does not +change \Macro{currentpagestyle}. But if you use \Macro{thispagestyle} the +result of \Macro{currentpagestyle} may be changed while execution of the +\LaTeX{} output routine. This may be relevant only, if +\Macro{currentpagestyle} has been used protected until execution of the output +routine. + +Note, that the layer page styles described later in this section, won't need +the patch of \Macro{pagestyle} to set \Macro{currentpagestyle}. The patch has +been made for usage with other page styles. Note also, that +\Macro{currentpagestyle} is empty before the first \Macro{pagestyle} after +loading \Package{scrlayer}. So if you define an end user page style interface, +it may be useful to use an implicit \Macro{pagestyle} to set the current page +style to a default page style. +%\iffalse^^A meta-comment +\EndIndex{Cmd}{currentpagestyle} +%\fi^^A meta-comment + +%\iffalse^^A meta-comment +\begin{Declaration} +%\fi^^A meta-comment +% \DescribeMacro{\BeforeSelectAnyPageStyle} +% \DescribeMacro{\AfterSelectAnyPageStyle} +% The command + \Macro{BeforeSelectAnyPageStyle}\Parameter{code}% +%\iffalse^^A meta-comment + \\\Macro{AfterSelectAnyPageStyle}\Parameter{code}%^^A +\end{Declaration} +\BeginIndex{Cmd}{BeforeSelectAnyPageStyle}% +\BeginIndex{Cmd}{AfterSelectAnyPageStyle}% +The command \Macro{BeforeSelectAnyPageStyle} +%\fi^^A meta-comment +adds \PName{code} to hook, that will be executed inside of \Macro{pagestyle} +just before the page style will be selected. You may use \texttt{\#1} as a +placeholder for the argument of \Macro{pagestyle}. + +The command \Macro{AfterSelectAnyPageStyle}%^^A +% \iffalse^^A meta-comment +\Parameter{code}%^^A +% \fi^^A meta-comment +\ is similar, but the \PName{code} will be executed just after the page style +has been selected and after \Macro{currentpagestyle} has been set to the name +of real page style. + +Note, that \PName{code} of both commands will be executed only, if a page +style will be selected using \Macro{pagestyle}, but not, e.\,g., if a page +style will be selected using \Macro{thispagestyle}. Note also, that you cannot +remove \PName{code} from the hook after adding it. But the \PName{code} will +be added locally, so you may use a group to limit the scope of +\PName{code}.%^^A +%\iffalse^^A meta-comment +\EndIndex{Cmd}{AfterSelectAnyPageStyle} +\EndIndex{Cmd}{BeforeSelectAnyPageStyle} +%\fi^^A meta-comment + +%\iffalse^^A meta-comment +\begin{Declaration} +%\fi^^A meta-comment +% \DescribeMacro{\DeclarePageStyleAlias} +% \DescribeMacro{\DeclareNewPageStyleAlias} +% \DescribeMacro{\ProvidePageStyleAlias} +% \DescribeMacro{\RedeclarePageStyleAlias} +% The command + \Macro{DeclarePageStyleAlias}%^^A + \Parameter{alias page style name}\Parameter{original page style name} +%\iffalse^^A meta-comment + \\\Macro{DeclareNewPageStyleAlias}% + \Parameter{alias page style name}\Parameter{original page style name} + \\\Macro{ProvidePageStyleAlias}% + \Parameter{alias page style name}\Parameter{original page style name} + \\\Macro{RedeclarePageStyleAlias}% + \Parameter{alias page style name}\Parameter{original page style name} +\end{Declaration} +\BeginIndex{Cmd}{DeclarePageStyleAlias}% +\BeginIndex{Cmd}{DeclareNewPageStyleAlias}% +\BeginIndex{Cmd}{ProvidePageStyleAlias}% +\BeginIndex{Cmd}{RedeclarePageStyleAlias}% +These Commands +%\fi^^A meta-comment +may be used to define a page style with name \PName{alias page style name}, +that is simply an alias for already existing page style with name +\PName{original page style name}. If there's already a page style \PName{alias + page style name} it will be destroyed before creating the alias using +\Macro{DeclarePageStyleAlias} or \Macro{RedeclarePageStyleAlias}. + +\Macro{DeclareNewPageStyleAlias} will throw an error message, if a page style +\PName{alias page style name} has already been defined before. It doesn't +matter if the already defined page style is a layer page style, an alias page +style or another page style. + +\Macro{ProvidePageStyleAlias} will define the alias only, if a page style +\PName{alias page style name} hasn't been defined before. If a page style +\PName{alias page style name} already exists nothing will be done. + +\Macro{RedeclarePageStyleAlias} expects, that a page style \PName{alias page + style name} already exists. In this case it will destroy it and define the +alias newly. In the other case you'll get an error. +%\iffalse^^A meta-comment +\EndIndex{Cmd}{RedeclarePageStyleAlias}% +\EndIndex{Cmd}{ProvidePageStyleAlias}% +\EndIndex{Cmd}{DeclareNewPageStyleAlias}% +\EndIndex{Cmd}{DeclarePageStyleAlias} +%\fi^^A meta-comment + + +%\iffalse^^A meta-comment +\begin{Declaration} +%\fi^^A meta-comment +% \DescribeMacro{\DestroyPageStyleAlias} +% The command + \Macro{DestroyPageStyleAlias}\Parameter{page style name}% +%\iffalse^^A meta-comment +\end{Declaration} +\BeginIndex{Cmd}{DestroyPageStyleAlias}% +This command +%\fi^^A meta-comment +makes the page style with given \PName{page style name} \LaTeX-undefined, if +it is an alias for another page style. After this, the page style may be +defined newly with, e.g., \Macro{DeclareNewAliasPageStyle} or +\Macro{ProvideAliasPageStyle}. The command is intended to be used inside of +\Macro{scrlayerOnAutoRemoveInterface} to remove page styles, that have been +declared by an interface and uses removable macros of that interface. +%\iffalse^^A meta-comment +\EndIndex{Cmd}{DestroyPageStyleAlias} +%\fi^^A meta-comment + + +%\iffalse^^A meta-comment +\begin{Declaration} +%\fi^^A meta-comment +% \DescribeMacro{\GetRealPageStyle} +% The command + \Macro{GetRealPageStyle}\Parameter{page style name}% +%\iffalse^^A meta-comment +\end{Declaration} +\BeginIndex{Cmd}{GetRealPageStyle}% +The command +%\fi^^A meta-comment +will result in the (recursive) real page name of the page style, if +the page style with given name \PName{page style name} is an alias of +another page style. In all other cases, even if there's no alias and no page +style named \PName{page style name}, the result would be simply \PName{page + style name}. The command is fully expandable and may be used, e.g., in the +second argument of \Macro{edef}. +%\iffalse^^A meta-comment +\EndIndex{Cmd}{GetRealPageStyle} +%\fi^^A meta-comment + + +%\iffalse^^A meta-comment +\begin{Declaration} +%\fi^^A meta-comment +% \DescribeMacro{\DeclarePageStyleByLayers} +% \DescribeMacro{\DeclareNewPageStyleByLayers} +% \DescribeMacro{\ProvidePageStyleByLayers} +% \DescribeMacro{\RedeclarePageStyleByLayers} +% The command + \Macro{DeclarePageStyleByLayers}%^^A + \OParameter{option list}\Parameter{page style name}\Parameter{layer list}% +%\iffalse^^A meta-comment + \\\Macro{DeclareNewPageStyleByLayers}%^^A + \OParameter{option list}\Parameter{page style name}\Parameter{layer list}% + \\\Macro{ProvidePageStyleByLayers}%^^A + \OParameter{option list}\Parameter{page style name}\Parameter{layer list}% + \\\Macro{RedeclarePageStyleByLayers}%^^A + \OParameter{option list}\Parameter{page style name}\Parameter{layer list}% +\end{Declaration} +\BeginIndex{Cmd}{DeclarePageStyleByLayers}% +\BeginIndex{Cmd}{DeclareNewPageStyleByLayers}% +\BeginIndex{Cmd}{ProvidePageStyleByLayers}% +\BeginIndex{Cmd}{RedeclarePageStyleByLayers}% +These commands +%\fi^^A meta-comment +declares a page style with \PName{page style name}. The page style will +consist of the layers given in \PName{layer list}, a comma separated list of +layer names. Note, that the \PName{page style name} and the layer names at the +\PName{layer list} must be fully expandable and should expand to +letters. Several other characters will be tolerated, but nevertheless, they +aren't recommended. + +The \PName{option list} is a comma separated list of +\OptionValue{\PName{key}}{\PName{value}} options. These options may be used to +set additional features. Currently they are used to set the code, that should +be expanded or executed at several \emph{hooks}. See the introduction to this +section for more general information about \emph{hooks}. See +\autoref{tab:scrlayer.pagestyle.hooks} for more information about the hooks +and their purpose. + +\begin{center} + \parbox{\textwidth}{% + \captionaboveof{table}{The \emph{hook} options for page styles (in order of + execution)}\nobreak\vskip4\baselineskip}\vskip-5\baselineskip + \label{tab:scrlayer.pagestyle.hooks} + \begin{description} + \item[\texttt{\KOption{onselect}\PName{code}}:] Execute \PName{code} + whenever the page style will be selected using, e.g., + \Macro{pagestyle}. Note, that \Macro{thispagestyle} doesn't select the + page style immediately, but asynchronously inside \LaTeX's output routine. + \item[\texttt{\KOption{oninit}\PName{code}}:] Execute \PName{code} whenever + the output of the layers of a page style will be initialised. Note, that + this will be done twice for every page: once for background layers and + once for foreground layers. + \item[\texttt{\KOption{ononeside}\PName{code}}:] Execute \PName{code} + whenever the output of the layers of a page style in single-side mode will + initialised. Note, that this will be done twice for every page: once for + background layers and once for foreground layers. + \item[\texttt{\KOption{ontwoside}\PName{code}}:] Execute \PName{code} + whenever the output of the layers of a page style in two-side mode will + initialised. Note, that this will be done twice for every page: once for + background layers and once for foreground layers. + \item[\texttt{\KOption{onoddpage}\PName{code}}:] Execute \PName{code} + whenever the output of the layers of a page style on an odd page will + initialised. Note, that this will be done twice for every page: once for + background layers and once for foreground layers. Note also, that in + single-side mode all pages are odd pages, not only pages with odd page + numbers. + \item[\texttt{\KOption{onevenpage}\PName{code}}:] Execute \PName{code} + whenever the output of the layers of a page style on an even page will + initialised. Note, that this will be done twice for every page: once for + background layers and once for foreground layers. Note also, that there + aren't even pages in single-side mode, but all pages are odd pages, not + only pages with odd page numbers. + \item[\texttt{\KOption{onfloatpage}\PName{code}}:] Execute \PName{code} + whenever the output of the layers of a page style on a float page will + initialised. Note, that this will be done twice for every page: once for + background layers and once for foreground layers. Note also, that float + pages are only those pages with p-placed floating objects. + \item[\texttt{\KOption{onnonfloatpage}\PName{code}}:] Execute \PName{code} + whenever the output of the layers of a page style on a non-float page will + initialised. Note, that this will be done twice for every page: once for + background layers and once for foreground layers. Note also, that + non-float pages are all pages, that aren't float-pages. Those pages may + have t-placed, h-placed, b-placed, or no floating objects. + \item[\texttt{\KOption{onbackground}\PName{code}}:] Execute \PName{code} + whenever the output of the layers of a page style in the background of a + page will initialised. Note, that this will be done once for every page. + \item[\texttt{\KOption{onforeground}\PName{code}}:] Execute \PName{code} + whenever the output of the layers of a page style in the foreground of a + page will initialised. Note, that this will be done once for every page. + \end{description} +\end{center} + +The difference of \Macro{DeclarePageStyleByLayers} and +\Macro{DeclareNewPageStyleByLayers} is, that \Macro{DeclareNewPageStyleByLayers} +will result in an error, if a page style with name \PName{page style name} +already exists. Note, that declaring a page style, that is an alias of another +page style (see \Macro{DeclareAliasPageStyle} prior in this section), will not +re-declare the page style itself, but it's real page style (see +\Macro{GetRealPageStyle} prior in this section). + +The difference of \Macro{DeclarePageStyleByLayers} and +\Macro{ProvidePageStyleByLayers} is, that \Macro{ProvidePageStyleByLayers} +will simply do nothing, if there's already a page style with name \PName{page + style name}. In difference to \Macro{DeclareNewPageStyleByLayers} it won't +raise an error in this case. + +The difference of \Macro{DeclarePageStyleByLayers} and +\Macro{RedeclarePageStyleByLayers} is, that \Macro{RedeclarePageStyleByLayers} +may be used only, if the real page style of \PName{page style name} already +exists. Otherwise an error would occur. +%\iffalse^^A meta-comment +\EndIndex{Cmd}{RedeclarePageStyleByLayers}% +\EndIndex{Cmd}{ProvidePageStyleByLayers}% +\EndIndex{Cmd}{DeclareNewPageStyleByLayers}% +\EndIndex{Cmd}{DeclarePageStyleByLayers}% +%\fi^^A meta-comment + + +%\iffalse^^A meta-comment +\begin{Declaration} + \Pagestyle{@everystyle@}\\ + \Pagestyle{empty} +\end{Declaration} +\BeginIndex{Pagestyle}{@everysel@}% +\BeginIndex{Pagestyle}{empty}% +%\fi^^A meta-comment +There are two somehow special, default layer page styles. The first one is +\Pagestyle{@everystyle@}. This page style shouldn't be used normally, but the +layers of this page style will be used by all the other layer page styles. So +adding a layer to this page style would be similar to adding this layer to all +other layer page styles even the empty one. There's one difference: Layer +referencing commands of the page style interface like +\Macro{ForEachLayerOfPageStyle}, \Macro{AddLayerToPageStyleBeforeLayer}, or +\Macro{AddLayerToPageStyleAfterLayer} ignore the layers of +\Pagestyle{@everystyle@} if they are used for another layer page style. + +The other somehow special page style is \Pagestyle{empty}. Normally page style +\Pagestyle{empty} is defined by the \LaTeX{} kernel, to be a page style +without page head or page foot. Package{scrlayer} re-defines it to be a layer +page style without any layer. Nevertheless you may use it like every other +layer page style too. The main advantage above the \LaTeX{} kernel's empty +page style is, that it also executes the layers of special layer page style +\Pagestyle{@everysel@}. +%\iffalse^^A meta-comment +\EndIndex{Pagestyle}{empty}% +\EndIndex{Pagestyle}{@everysel@}% +%\fi^^A meta-comment + + +% \iffalse^^A meta-comment +\begin{Declaration} +% \fi^^A meta-comment +% \DescribeOption{onpsselect}% +% \DescribeOption{onpsinit}% +% \DeleteShortVerb{\|}% +% \DescribeOption{onps(one|two)side}% +% \DescribeOption{onps(odd|even)page}% +% \DescribeOption{onps(float|nonfloat)page}% +% \DescribeOption{onps(back|fore)ground}% +% \MakeShortVerb{\|}% +% \iffalse^^A meta-comment + \KOption{onpsselect}\PValue{code}\\ + \KOption{onpsinit}\PValue{code}\\ + \KOption{onpsoneside}\PValue{code}\\ + \KOption{onpstwoside}\PValue{code}\\ + \KOption{onpsoddpage}\PValue{code}\\ + \KOption{onpsevenpage}\PValue{code}\\ + \KOption{onpsfloatpage}\PValue{code}\\ + \KOption{onpsnonfloatpage}\PValue{code}\\ + \KOption{onpsbackground}\PValue{code}\\ + \KOption{onpsforeground}\PValue{code} +\end{Declaration} +\BeginIndex{Option}{onpsselect}% +\BeginIndex{Option}{onpsinit}% +\BeginIndex{Option}{onpsoneside}% +\BeginIndex{Option}{onpstwoside}% +\BeginIndex{Option}{onpsoddpage}% +\BeginIndex{Option}{onpsevenpage}% +\BeginIndex{Option}{onpsfloatpage}% +\BeginIndex{Option}{onpsnonfloatpage}% +\BeginIndex{Option}{onpsbackground}% +\BeginIndex{Option}{onpsforeground}% +% \fi^^A meta-comment +There's also a \KOMAScript{} option for each of those \texttt{hooks}. The +names of the \KOMAScript{} options are similar to the names of the page style +options, but with ``\texttt{ps}'' inserted behind ``\texttt{on}''. The value of +the \KOMAScript{} options are the initial defaults of the corresponding +\texttt{hooks}. This default will be extended by every usage of the page style +options at the \PName{option list}. You may remove the default, using +\Macro{ModifyLayerPageStyleOptions} described later in this section. +% \iffalse^^A meta-comment +\EndIndex{Option}{onpsforeground}% +\EndIndex{Option}{onpsbackground}% +\EndIndex{Option}{onpsnonfloatpage}% +\EndIndex{Option}{onpsfloatpage}% +\EndIndex{Option}{onpsevenpage}% +\EndIndex{Option}{onpsoddpage}% +\EndIndex{Option}{onpstwoside}% +\EndIndex{Option}{onpsoneside}% +\EndIndex{Option}{onpsinit}% +\EndIndex{Option}{onpsselect}% +% \fi^^A meta-comment + + +%\iffalse^^A meta-comment +\begin{Declaration} + \KOption{deactivatepagestylelayers}\PName{simple switch}\\ +%\fi^^A meta-comment +% \DescribeMacro{\ForEachLayerOfPageStyle} +% The command + \Macro{ForEachLayerOfPageStyle}%^^A + \Parameter{page style name}\Parameter{code} +%\iffalse^^A meta-comment +\end{Declaration} +\BeginIndex{Cmd}{ForEachLayerOfPageStyle}% +This command +%\fi^^A meta-comment +may be used to process \PName{code} for every layer, that is a member of the +layers list of a page style with given \PName{page style name}. Inside of +\PName{code} the place holder \PValue{\#1} may be used for the name of the +current layer. +%\iffalse^^A meta-comment +\begin{Example} +%\fi^^A meta-comment +% \par +If you want to output the names of all layers of page style +\PValue{scrheadings}, you may us: +\begin{lstcode} + \let\commaatlist\empty + \ForEachLayerOfPageStyle{scrheadings}{% + \commaatlist#1\gdef\commaatlist{, }} +\end{lstcode} +%\iffalse^^A meta-comment +\end{Example} +%\fi^^A meta-comment +\KOMAScript{} option \Option{deactivatepagestylelayers} may be used to +deactivate all layers within \Macro{ForEachLayerOfPageStyle}. If the options +has been switched on, \Macro{ForEachLayerOfPageStyle} will not longer process +\PName{code} for any layer. Several other commands of \Package{scrlayer} also +uses \Macro{ForEachLayerOfPageStyle} internally. So these also won't process +any layer. You may use this options, e.g., to hide all layers. + +Please note, that \PName{code} will be executed inside a group! +% \iffalse^^A meta-comment +\EndIndex{Cmd}{ForEachLayerOfPageStyle} +%\fi^^A meta-comment + + +%\iffalse^^A meta-comment +\begin{Declaration} +%\fi^^A meta-comment +% \DescribeMacro{\AddLayersToPageStyle} +% \DescribeMacro{\AddLayersAtBeginOfPageStyle} +% \DescribeMacro{\AddLayersAtEndOfageStyle} +% \DescribeMacro{\RemoveLayersFromPageStyle} +% The command + \Macro{AddLayersToPageStyle}%^^A + \Parameter{page style name}\Parameter{layer list}% +%\iffalse^^A meta-comment + \\\Macro{AddLayersAtBeginOfPageStyle}%^^A + \Parameter{page style name}\Parameter{layer list}% + \\\Macro{AddLayersAtEndOfPageStyle}%^^A + \Parameter{page style name}\Parameter{layer list}% + \\\Macro{RemoveLayersFromPageStyle}%^^A + \Parameter{page style name}\Parameter{layer list}% +\end{Declaration} +\BeginIndex{Cmd}{AddLayersToPageStyle}% +\BeginIndex{Cmd}{AddLayersAtBeginOfPageStyle}% +\BeginIndex{Cmd}{AddLayersAtEndOfPageStyle}% +\BeginIndex{Cmd}{RemoveLayersFromPageStyle}% +The first command +%\fi^^A meta-comment +adds all layers of the comma separated list of layers \PName{layer list} at +the end of the layer list of layer page style \PName{page style + name}. \Macro{AddLayersAtEndOfPageStyle} is an alias for the same. If you +want to add the new layers at the begin of the layer list of a layer page +style you may use \Macro{AddLayersAtBeginOfPageStyle}. Note, that the layers +will be added in the order of the \PName{layer list}. The first layer at +\PName{layer list} will be added first, the second layer will be added second +and so on. So with \Macro{AddLayersAtBeginOfPageStyle} the last layer at +\PName{layer list} will become the new first layer of the layer list of layer +page style \PName{page style name}. + +Command \Macro{RemoveLayersFromPageStyle} may be used to remove layers from +the layer list of layer page style \PName{page style name} instead of adding +them. Note, that layers, that are part of \PName{layer list} but not part of +the page style's layer list, will be ignored. + +Adding or removing layers from a page style, that is not a layer page style or +an alias of a layer page style would be an error and result in an error +message.% +%\iffalse^^A meta-comment +\EndIndex{Cmd}{RemoveLayersFromPageStyle}% +\EndIndex{Cmd}{AddLayersAtEndOfPageStyle}% +\EndIndex{Cmd}{AddLayersAtBeginOfPageStyle}% +\EndIndex{Cmd}{AddLayersToPageStyle} +%\fi^^A meta-comment + + +%\iffalse^^A meta-comment +\begin{Declaration} +%\fi^^A meta-comment +% \DescribeMacro{\AddLayersToPageStyleBeforeLayer} +% The commands + \Macro{AddLayersToPageStyleBeforeLayer}%^^A + \Parameter{page style name}\Parameter{layer list}%^^A + \Parameter{reference layer name} +% and + \\\Macro{AddLayersToPageStyleAfterLayer}%^^A + \Parameter{page style name}\Parameter{layer list}%^^A + \Parameter{reference layer name} +%\iffalse^^A meta-comment +\end{Declaration} +\BeginIndex{Cmd}{AddLayersToPageStyleBeforeLayer}% +\BeginIndex{Cmd}{AddLayersToPageStyleAfterLayer}% +These commands +%\fi^^A meta-comment +are similar to the commands described before, but they do not add the layers +at the begin or end of the layer list of a layer page style, but just before +or after a reference layer at the layer list of a layer page style. Note, that +in this case the order of the \PName{layer list} will be same in the layer +list of \PName{page style name} after adding. If the reference layer named +\PName{reference layer name} is not part of the layer list of the layer page +style, nothing happens. +%\iffalse^^A meta-comment +\EndIndex{Cmd}{AddLayersToPageStyleAfterLayer} +\EndIndex{Cmd}{AddLayersToPageStyleBeforeLayer} +%\fi^^A meta-comment + + +% \DescribeMacro{\UnifyLayersAtPageStyle} +%\iffalse^^A meta-comment +\begin{Declaration} + \Macro{UnifyLayersAtPageStyle}\Parameter{page style name} +\end{Declaration} +\BeginIndex{Cmd}{UnifyLayersAtPageStyle}% +%\fi^^A meta-comment +With the commands described before in this section you may not only add +different layers to a page style, but even add the same layer several times to +a page style. In most cases it doesn't make sense to have one layer several +times at the layer list of a layer page style. So you may use +\Macro{UnifyLayersAtPageStyle}%^^A +%\Parameter{page style name}^^A +\ to remove all dupes of layers from the layer list of a layer page +style. Note that the order of layers may change! So if you want a special +order, you should remove all layers and add the layers in the order you want +instead of using \Macro{UnifyLayersAtPageStyle}. +%\iffalse^^A meta-comment +\EndIndex{Cmd}{UnifyLayersAtPageStyle} +%\fi^^A meta-comment + + +%\iffalse^^A meta-comment +\begin{Declaration} +%\fi^^A meta-comment +% \DescribeMacro{\ModifyLayerPageStyleOptions} +% \DescribeMacro{\AddToLayerPageStyleOptions} +% The command + \Macro{ModifyLayerPageStyleOptions}%^^A + \Parameter{page style name}\Parameter{option list} +%\iffalse^^A meta-comment + \\\Macro{AddToLayerPageStyleOptions}%^^A + \Parameter{page style name}\Parameter{option list} +\end{Declaration} +\BeginIndex{Cmd}{ModifyLayerPageStyleOptions}% +\BeginIndex{Cmd}{AddToLayerPageStyleOptions}% +Command \Macro{ModifyLayerPageStyleOptions} +%\fi^^A meta-comment +may be used to modify the page style options of a layer page style. Only +options at the comma separated \PName{option list} will be set to the new +values given in \PName{option list} if the new value is not empty. Options, +that are not at \PName{option list}, will stay unchanged. If you want to set +an option to \emph{do nothing} you may use value \Macro{relax}. Note, that +setting an option to a new value using \Macro{ModifyLayerPageStyleOptions} +will remove the previous value including the global default value. + +\Macro{AddToLayerPageStyleOptions} differs from +\Macro{ModifyLayerPageStyleOptions} in that point. It will not overwrite the +previous values, but adds\,---\,or more precisely: concatenates\,---\, the new +values to the previous values of the options at \PName{option list}. +%\iffalse^^A meta-comment +\EndIndex{Cmd}{AddToLayerPageStyleOptions} +\EndIndex{Cmd}{ModifyLayerPageStyleOptions} +%\fi^^A meta-comment + + +%\iffalse^^A meta-comment +\begin{Declaration} +%\fi^^A meta-comment +% \DescribeMacro{\IfLayerPageStyleExists} +% \DescribeMacro{\IfRealLayerPageStyleExists} +% The command + \Macro{IfLayerPageStyleExists}%^^A + \Parameter{page style name}\Parameter{then code}\Parameter{else code}% +%\iffalse^^A meta-comment + \\\Macro{IfRealLayerPageStyleExists}%^^A + \Parameter{page style name}\Parameter{then code}\Parameter{else code}% +\end{Declaration} +\BeginIndex{Cmd}{IfLayerPageStyleExists}% +\BeginIndex{Cmd}{IfRealLayerPageStyleExists}% +Command \Macro{IfLayerPageStyleExists} +%\fi^^A meta-comment +tests, whether or not the real page style of \PName{page style name} is a +layer page style. If the test is true, \PName{then code} will be executed. If +\PName{page style name} is neither a layer page style, nor an alias of a layer +page style, nor an alias of an alias of \dots\ a layer page style, \PName{else + code} will be executed. Internally this command is often used to throw an +error message if you use one of the layer page style commands with an +\PName{page style name} that doesn't correspond with a layer page style. + +Command \Macro{IfRealLayerPageStyleExists} is similar, but \PName{then code} +will only be executed, if \PName{page style name} itself is the name of a +layer page style. So \PName{else code} will even be executed, if \PName{page + style name} is an alias name of a layer page style or the alias name of an +alias name of \dots\ a layer page style. +%\iffalse^^A meta-comment +\EndIndex{Cmd}{IfRealLayerPageStyleExists} +\EndIndex{Cmd}{IfLayerPageStyleExists} +%\fi^^A meta-comment + + +%\iffalse^^A meta-comment +\begin{Declaration} +%\fi^^A meta-comment +% \DescribeMacro{\IfLayerAtPageStyle} +% \DescribeMacro{\IfSomeLayersAtPageStyle} +% \DescribeMacro{\IfLayersAtPageStyle} +% The command + \Macro{IfLayerAtPageStyle}% + \Parameter{page style name}\Parameter{layer name}%^^A + \Parameter{then code}\Parameter{else code}% +%\iffalse^^A meta-comment + \\\Macro{IfSomeLayerAtPageStyle}% + \Parameter{page style name}\Parameter{layer list}%^^A + \Parameter{then code}\Parameter{else code}% + \\\Macro{IfLayerAtPageStyle}% + \Parameter{page style name}\Parameter{layer list}%^^A + \Parameter{then code}\Parameter{else code}% +\end{Declaration} +\BeginIndex{Cmd}{IfLayerAtPageStyle}% +\BeginIndex{Cmd}{IfSomeLayersAtPageStyle}% +\BeginIndex{Cmd}{IfLayersAtPageStyle}% +Command \PName{IfLayerAtPageStyle} +%\fi^^A meta-comment +may be used to test, whether or not a layer named \PName{layer name} is a +member of the layer list of a given page style. If the test is true, the +\PName{then code} will be executed. If the layer is not a member of the layer +list of \PName{page style name}, the \PName{else code} will be executed. + +Commands \Macro{IfSomeLayerAtPageStyle} and \Macro{IfLayersAtPageStyle} do not +only test one layer but several layers at a given, comma separated +\PName{layer list}. \Macro{IfSomeLayerAtPageStyle} will execute the +\PName{then code} if \emph{at least one} of the layers at \PName{layer list} +is a member of the layer list of \PName{page style name}. In difference +\Macro{IfLayersAtPageStyle} executes the \PName{then code} only, if \emph{all} +of the layers at \PName{layer list} are members of the layer list of +\PName{page style name}. +%\iffalse^^A meta-comment +\EndIndex{Cmd}{IfLayersAtPageStyle} +\EndIndex{Cmd}{IfSomeLayersAtPageStyle} +\EndIndex{Cmd}{IfLayerAtPageStyle} +%\fi^^A meta-comment + + +%\iffalse^^A meta-comment +\begin{Declaration} +%\fi^^A meta-comment +% \DescribeMacro{\DestroyRealLayerPageStyle} +% The command + \Macro{DestroyRealLayerPageStyle}\Parameter{page style name} +%\iffalse^^A meta-comment +\end{Declaration} +\BeginIndex{Cmd}{DestroyRealLayerPageStyle}% +Command \Macro{DestroyRealLayerPageStyle} +%\fi^^A meta-comment +makes the page style named \PName{page style name} undefined, if and only if +it is a layer page style. Nothing will be happen if it is an alias name of a +layer page style, if it is another page style, or if it isn't a page style. If +\PName{page style name} is the name of the current page style the current page +style will become a kind of empty page style. If the special page +style\,---\,this may be set using \Macro{thispagestyle}\,---\,is \PName{page + style name}, this will be simply reset. + +Note, that the layers of the page style won't be destroyed automatically. If +you want to destroy the layers too, you may use +\begin{lstcode} + \ForEachLayerOfPageStyle{...}{\DestroyLayer{#1}} +\end{lstcode} +\emph{before} destroying the layer page style. + +The command is intended to be used inside the auto-remove code of an interface +See following \ref{sec:scrlayer.enduserinterfaces} for more information about +auto-remove code. +%\iffalse^^A meta-comment +\EndIndex{Cmd}{DestroyRealLayerPageStyle} +%\fi^^A meta-comment + + +\section{End User Interfaces} +\label{sec:scrlayer.enduserinterfaces} + +Package \Package{scrlayer} provides an interface to define and manage +(concurrent) end user interfaces. Maybe future releases of \KOMAScript{} will +provide parts of this by package \Package{scrbase}, but currently package +\Package{scrlayer} provides its own interface definition commands. + +This section only describes the interface commands for defining end user +interfaces. This is not of interest for end users, but only for authors of end +user interfaces. End users will find information about the end user interfaces +in the sections about the particular end user interface, e.g., +\autoref{sec:scrlayer.scrpage}. + +%\iffalse^^A meta-comment +\begin{Declaration} +%\fi^^A meta-comment +% \DescribeMacro{\scrlayerInitInterface} +% The command + \Macro{scrlayerInitInterface}\OParameter{interface name} +%\iffalse^^A meta-comment +\end{Declaration} +\BeginIndex{Cmd}{scrlayerInitInterface}% +Command \Macro{scrlayerInitInterface} +%\fi^^A meta-comment +registers a new interface. The \PName{interface name} must be unique. If you +try to initialise an already initialised interface an error will occur. This +command is obligatory and mandatory for interfaces. It should be the first +interface command and therefore has been described first. If the optional +argument is omitted, \PValue{\Macro{@currname}.\Macro{@currext}} will be +used instead. For classes and packages this will be the file name of the class +or package while loading the class or package. But you may use any sequence of +characters with category letter or other. +%\iffalse^^A meta-comment +\EndIndex{Cmd}{scrlayerInitInterface} +%\fi^^A meta-comment + + +%\iffalse^^A meta-comment +\begin{Declaration} + \KOption{forceoverwrite}\PName{simple switch}\\ + \KOption{autoremoveinterfaces}\PName{simple switch}\\ +%\fi^^A meta-comment +% \DescribeMacro{\scrlayerAddToInterface} +% \DescribeMacro{\scrlayerAddCsToInterface} +%\iffalse^^A meta-comment + \Macro{scrlayerAddToInterface}% + \OParameter{interface name}\Parameter{command}\Parameter{code}\\ + \Macro{scrlayerAddCsToInterface}% + \OParameter{interface name}\Parameter{command sequence}\Parameter{code} +\end{Declaration} +\BeginIndex{Option}{forceoverwrite}% +\BeginIndex{Option}{autoremoveinterfaces}% +\BeginIndex{Cmd}{scrlayerAddToInterface}% +\BeginIndex{Cmd}{scrlayerAddCsToInterface}% +%\fi^^A meta-comment +One of the special features of end user interfaces is, that they should +register all interface dependent commands (also known as \emph{macros}). You +may do this using \Macro{scrlayerAddToInterface}%^^A +%\OParameter{interface name}\Parameter{command}\Parameter{code}%^^A +. If your interface generates macros not only at load time but also at run +time or if the interface name shouldn't be the class's or package's name, you +have to use the optional argument to add the command to a dedicated +interface. An error will occur, if the interface hasn't been initialised +before. + +The first mandatory argument is the \PName{command}\footnote{The + \PName{command} consists in the backslash followed by a \PName{command + sequence} consisting in characters with category code letter or one other + character, or \PName{command} consists in one active character (without + backslash).}, that should be added to the interface. If the command can be +added to the interface, it will be added to the interface, will be set to +\Macro{relax} and \PName{code} will be executed. You can use, e.g., +\Macro{newcommand}\PName{command} inside of \PName{code} to define +\PName{command}. + +But when can a command be defined? If a command is undefined or \Macro{relax} +it can be defined. If a command has already been defined and registered for +another interface \emph{and} if \KOMAScript{} option +\Option{autoremoveinterface} has been switched on, the other interface will be +removed automatically and the new command will be set to \Macro{relax} and +will be registered for the given interface. If a command +has already been defined but isn't part of another interface \emph{and} if +\KOMAScript{} option \Option{forceoverwrite} has been switched on, the command +will be set to \Macro{relax} and will be registered for the given interface. + +Command \Macro{scrlayerAddCsToInterface} is similar to +\Macro{scrlayerAddToInterface} but doesn't expect a command as first, +mandatory argument, but a command sequence\footnote{A command sequence may + consist of any characters with category code letter or other.}. +%\iffalse^^A meta-comment +\EndIndex{Cmd}{scrlayerAddCsToInterface}% +\EndIndex{Cmd}{scrlayerAddToInterface} +\EndIndex{Option}{autoremoveinterfaces}% +\EndIndex{Option}{forceoverwrite}% +%\fi^^A meta-comment + + +%\iffalse^^A meta-comment +\begin{Declaration} +%\fi^^A meta-comment +% \DescribeMacro{\scrlayerOnAutoRemoveInterface} +% The command + \Macro{scrlayerOnAutoRemoveInterface}%^^A + \OParameter{interface name}\Parameter{code} +%\iffalse^^A meta-comment +\end{Declaration} +\BeginIndex{Cmd}{scrlayerOnAutoRemoveInterface}% +Command \Macro{scrlayerOnAutoRemoveInterface} +%\fi^^A meta-comment +registers \PName{code} to be executed, if the interface will be automatically +removed (see \Option{autoremoveinterfaces} prior in this section). This may be +used, e.g., to automatically destroy layers or page styles (see +\Macro{DestroyLayer}, \Macro{DestroyAliasPageStyle}, and +\Macro{DestroyRealLayerPageStyle}). +%\iffalse^^A meta-comment +\EndIndex{Cmd}{scrlayerOnAutoRemoveInterface} +%\fi^^A meta-comment + + +%\iffalse +%</dtx|doc> +%\fi +% +% \StopEventually{} +% +% +% \section{Implementation of \Package{scrlayer}} +% +% This section if for developers only. +% Users may continue at \autoref{sec:scrlayer.scrpage} at +% page~\pageref{sec:scrlayer.scrpage}. +% +% \iffalse +%<*package> +%<*identify> +% \fi +% +%\iffalse^^A meta-comment +%</identify> +%</package> +%<*package|interface> +%\fi^^A meta-comment +% +% \subsection{Initialising some Values before the Options} +% +% \iffalse^^A meta-comment +%<*init> +% \fi^^A meta-comment +% +% Initialisation before all options. +% +% While there are \KOMAScript{} options, we need \Package{scrkbase} to declare +% them, but the interfaces also needs \Package{scrlayer} which already +% includes \Package{scrkbase}. +% \begin{macrocode} +%<package>\RequirePackage{scrkbase}[2013/03/05] +%<interface>\RequirePackage{scrlayer} +% \end{macrocode} +% +% +% \begin{macro}{\scrlayer@AtEndOfPackage} +% Initial \Macro{AtEndOfPackage}, but after end of package +% \Macro{@firstofone}. +% \begin{macrocode} +\scr@ifundefinedorrelax{scrlayer@AtEndOfPackage}{% + \AtEndOfPackage{\let\scrlayer@AtEndOfPackage\@firstofone}% +}{% + \ifx\scrlayer@AtEndOfPackage\@firstofone + \AtEndOfPackage{\let\scrlayer@AtEndOfPackage\@firstofone}% + \fi +} +\let\scrlayer@AtEndOfPackage\AtEndOfPackage +% \end{macrocode} +% \end{macro}^^A \sls@AtEndOfPackage +% +% \begin{macro}{\scrlayer@testunexpectedarg} +% We'll have several \KOMAScript{} options, that didn't expect an +% value. So we use this general helper to test the value and report an error +% if it is not empty (or \Macro{relax}). +% \begin{macrocode} +%<*package> +\newcommand*{\scrlayer@testunexpectedarg}[2]{% + \ifx\relax#2\relax\else + \PackageError{scrlayer}{unexpected value to `#1'}{% + Option `#1' doesn't expect any value.\MessageBreak + If you'll continue, the value `#2' will be ignored.% + }% + \fi +} +%</package> +% \end{macrocode} +% \end{macro}^^A \scrlayer@testunexpectedarg +% +% \begin{macro}{\if@chapter} +% We need this later. But it is something general. So we initialise it as +% early as possible. +% \begin{macrocode} +%<*package> +\scr@ifundefinedorrelax{if@chapter}{% + \newif\if@chapter + \scr@ifundefinedorrelax{chapter}{\@chapterfalse}{\@chaptertrue}% +}{} +% \end{macrocode} +% \end{macro}^^A \if@chapter +% +% \begin{macro}{\if@mainmatter} +% Some classes define \Macro{frontmatter} or \Macro{mainmatter}, but do not +% define \Macro{if@mainmatter}. But we nee some information about the matter, +% so in that case, we add it. +% \begin{macrocode} +\scr@ifundefinedorrelax{if@mainmatter}{% + \scr@ifundefinedorrelax{mainmatter}{% + \newif\if@mainmatter\@mainmattertrue + }{% + \PackageWarningNoLine{scrlayer}{% + \string\mainmatter\space defined without + \string\if@mainmatter!\MessageBreak + Note, that several packages need + \string\if@mainmatter\space\MessageBreak + to detect whether or no the main matter has been\MessageBreak + entered. So does scrlayer. Because of this\MessageBreak + it will extend \string\mainmatter, now% + }% + \newif\if@mainmatter\@mainmattertrue + \expandafter\def\expandafter\mainmatter\expandafter{% + \expandafter\@mainmattertrue\mainmatter}% + \scr@ifundefinedorrelax{frontmatter}{}{% + \expandafter\def\expandafter\frontmatter\expandafter{% + \expandafter\@mainmatterfalse\frontmatter} + }% + \scr@ifundefinedorrelax{backmatter}{}{% + \expandafter\def\expandafter\backmatter{% + \expandafter\@mainmatterfalse\backmattter}% + }% + }% +}{} +%</package> +% \end{macrocode} +% \end{macro}^^A \if@mainmatter +% +% \iffalse^^A meta-comment +%</init> +% \fi^^A meta-comment +% +% +% \subsection{Process Options} +% +% \iffalse^^A meta-comment +%<*body> +% \fi^^A meta-comment +% +% The very first thing at the body is processing the options: +% \begin{macrocode} +\KOMAProcessOptions\relax +% \end{macrocode} +% +% \subsection{Body Initialisation} +% +% Currently not needed. +% +% \iffalse +%</body> +% \fi +% +% +% \subsection{Extended Running Heads} +% +% Package \Package{scrpage2} changes and extends the running head mechanisms +% of \LaTeX{} and the classes. Most of this are basic features an therefore +% done already by \Package{scrlayer}. But not the deprecated options. +% +% \begin{option}{markcase} +% \begin{description} +% \item[\texttt{=\meta{setting}}] one of: \texttt{upper}, \texttt{lower}, +% \texttt{used}, or \texttt{ignoreuppercase}. +% \end{description}\noindent +% The two options \Option{markuppercase} and \Option{markusedcase} become +% deprecated and are replace be the single option \Option{markcase}. Note, +% that interface \Package{scrlayer-scrpage} has to delay this option to +% overload case setting of option \Option{pagestyleset}. +% \begin{macrocode} +%<*options> +\KOMA@key{markcase}{% +%<interface&scrpage>\scrlayer@AtEndOfPackage{% + \begingroup + \KOMA@set@ncmdkey{markcase}{reserved@a}{% + {upper}{0},{lower}{1},{used}{2},% + {ignoreuppercase}{3},{nouppercase}{3},% + {ignoreupper}{3},{noupper}{3}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \aftergroup\FamilyKeyStateProcessed + \ifnum \reserved@a>\m@ne + \aftergroup\let\aftergroup\MakeMarkcase + \ifcase \reserved@a + \aftergroup\MakeUppercase + \aftergroup\scrlayer@forceignoreuppercasefalse + \or + \aftergroup\MakeLowercase + \aftergroup\scrlayer@forceignoreuppercasefalse + \or + \aftergroup\@firstofone + \aftergroup\scrlayer@forceignoreuppercasefalse + \else + \aftergroup\scrlayer@ignoreuppercase + \aftergroup\scrlayer@forceignoreuppercasetrue + \fi + \fi + \else + \aftergroup\FamilyKeyStateUnknownValue + \fi + \endgroup +%<interface&scrpage>}% +} +%<interface>\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @markcase} +% \end{macrocode} +% \begin{macro}{\MakeMarkcase} +% We use this instead of, e.g., \Macro{MakeUppercase} for every layer! So the +% name seams to be wrong, but it is common, so we use it here. +% \begin{macrocode} +%<*package> +\providecommand*{\MakeMarkcase}[1]{#1} +% \end{macrocode} +% \begin{macro}{\scrlayer@ignoreuppercase} +% We span a group and set \Macro{uppercase} and \Macro{MakeUppercase} to +% \Macro{@firstofone}. +% \begin{macrocode} +\DeclareRobustCommand*{\scrlayer@ignoreuppercase}[1]{% + \begingroup + \let\uppercase\@firstofone + \let\MakeUppercase\@firstofone + \expandafter\let\csname MakeUppercase \endcsname\@firstofone + #1% + \endgroup +} +% \end{macrocode} +% This is almost enough, but standard classes still would show upper-case +% letters at table of contents, list of figures, list of tables, index and +% bibliography. So we need an additional workaround. +% \begin{macro}{\ifscrlayer@forceignoreuppercase} +% \begin{macrocode} +\newif\ifscrlayer@forceignoreuppercase +%</package> +%</options> +% \end{macrocode} +% \end{macro}^^A \ifscrlayer@forceignoreuppercase +% \end{macro}^^A \scrlayer@ignoreuppercase +% \end{macro}^^A \MakeMarkcase +% \end{option}^^A markcase +% +% +% \begin{macro}{\headmark} +% Inside a page style, this macro is either \Macro{rightmark} or +% \Macro{leftmark}. Outside its \LaTeX-undefined and therefore it's not an +% interface command, but has to be undefined: +% \begin{macrocode} +%<*package&body> +\@ifundefined{headmark}{}{% + \PackageWarningNoLine{scrlayer}{% + \string\headmark\space detected!\MessageBreak + \string\headmark\space will either be set to + \string\rightmark\MessageBreak + or \string\leftmark inside of page styles.\MessageBreak + This means, that \string\headmark\space will be overwritten\MessageBreak + at every page layer usage!\MessageBreak + Nevertheless it will stay unchanged outside\MessageBreak + of page layers.\MessageBreak + I hope, this won't break your document% + }% +} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \headmark +% +% \begin{macro}{\pagemark} +% The page number together with its font setting. It's robust and will never +% be part of the interface. +% \begin{macrocode} +%<*package&body> +\@ifundefined{pagemark}{% + \DeclareRobustCommand\pagemark{{\pnumfont{\thepage}}}% +}{}% +% \end{macrocode} +% \begin{macro}{\pnumfont} +% \begin{macro}{\scr@fnt@pagenumber} +% The low-level page number font command. It is deprecated to redefine or use +% this and it may already be defined. These commands will not become part of +% the interface! +% \begin{macrocode} +\@ifundefined{pnumfont}{% + \newcommand{\pnumfont}{\normalfont}% +}{} +\@ifundefined{scr@fnt@pagenumber}{% + \newcommand{\scr@fnt@pagenumber}{\pnumfont}% +}{} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \scr@fnt@pagenumber +% \end{macro}^^A \pnumfont +% \end{macro}^^A \pagemark +% +% \begin{macro}{\partmarkformat} +% \begin{macro}{\chaptermarkformat} +% \begin{macro}{\sectionmarkformat} +% \begin{macro}{\GenericMarkFormat} +% All the \Macro{\dots markformat} macros of \KOMAScript{} are also +% supported by \Package{scrlayer} and it uses them actively. The generic +% definition has been moved from \Macro{@seccntmarkformat} to +% \Macro{GenericMarkFormat}. This is one more difference to +% \Package{scrpage2}. The defaults are compatible to the standard +% classes. These commands will not become part of the interface and other +% interfaces should redefine them only, if they are not already defined. +% \begin{macrocode} +%<*package&body> +\providecommand*{\partmarkformat}{\partname\ \thepart. \ }% +\if@chapter + \providecommand*{\@chapapp}{\chaptername}% + \providecommand*{\chaptermarkformat}{\@chapapp\ \thechapter. \ }% + \providecommand*{\sectionmarkformat}{\thesection. \ }% +\else + \providecommand*{\sectionmarkformat}{\GenericMarkFormat{section}}% +\fi +\scr@ifundefinedorrelax{@seccntmarkformat}{% + \providecommand*{\GenericMarkFormat}{\@seccntformat}% +}{% + \providecommand*{\GenericMarkFormat}[1]{\@seccntmarkformat{#1}}% +} +%</package&body> +% \end{macrocode} +% Note, that the other \Macro{\dots markformat} will be defined by +% \Macro{scrlayer@level@init}. +% \end{macro}^^A \GenericMarkFormat +% \end{macro}^^A \sectionmarkformat +% \end{macro}^^A \chaptermarkformat +% \end{macro}^^A \partmarkformat +% +% \begin{macro}{\@mkleft} +% \begin{macro}{\@mkright} +% \begin{macro}{\@mkdouble} +% These are new in \Package{scrlayer}. They may be updated, whenever +% \Macro{@mkboth} will be updated. Otherwise they get a working default +% definition. These commands will not become part of the interface and other +% interfaces should redefine them only, if they are not already defined. +% \begin{macrocode} +%<*package&body> +\providecommand*{\@mkleft}{% + \begingroup + \ifx\@mkboth\markboth \aftergroup\markleft + \else + \ifx\@mkboth\@gobbletwo \aftergroup\@gobble + \else \def\@gobbletwo##1##2{}% + \ifx \@mkboth\@gobbletwo \aftergroup\@gobble + \else + \PackageWarning{scrlayer}{% + package incompatibility detected!\MessageBreak + \string\@mkboth it neither \string\markboth nor any\MessageBreak + kind of two arguments gobbling,\MessageBreak + e.g., \string\@gobbletwo.\MessageBreak + So I don't known, what to do\MessageBreak + with \string\@mkleft.\MessageBreak + Nevertheless, \string\markleft\space will be\MessageBreak + used% + }% + \aftergroup\markleft + \fi + \fi + \fi + \endgroup +}% +\providecommand*{\@mkright}{% + \begingroup + \ifx\@mkboth\markboth \aftergroup\markright + \else + \ifx\@mkboth\@gobbletwo \aftergroup\@gobble + \else \def\@gobbletwo##1##2{}% + \ifx \@mkboth\@gobbletwo \aftergroup\@gobble + \else + \PackageWarning{scrlayer}{% + package incompatibility detected!\MessageBreak + \string\@mkboth it neither \string\markboth nor any\MessageBreak + kind of two arguments gobbling,\MessageBreak + e.g., \string\@gobbletwo.\MessageBreak + So I don't known, what to do\MessageBreak + with \string\@mkright.\MessageBreak + Nevertheless, \string\markright\space will be\MessageBreak + used% + }% + \aftergroup\markright + \fi + \fi + \fi + \endgroup +}% +\providecommand*{\@mkdouble}[1]{% + \@mkboth{#1}{#1}% +} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \@mkdouble +% \end{macro}^^A \@mkright +% \end{macro}^^A \@mkleft +% +% \begin{macro}{\markleft} +% \begin{macro}{\@markleft} +% \LaTeX{} itself provides \Macro{markboth} and \Macro{markright} but not +% \Macro{markleft}. So we add it. +% \begin{macrocode} +%<*package&body> +\providecommand*{\markleft}[1]{% + \begingroup + \let\label\relax \let\index\relax \let\glossary\relax + \expandafter\@markleft\@themark {#1}% + \@temptokena \expandafter{\@themark}% + \mark{\the\@temptokena}% + \endgroup + \if@nobreak\ifvmode\nobreak\fi\fi +} +\providecommand{\@markleft}[3]{% + \@temptokena {#2}% + \unrestored@protected@xdef\@themark{{#3}{\the\@temptokena}}% +} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \@markleft +% \end{macro}^^A \markleft +% +% +% \begin{option}{autooneside} +% \begin{macro}{\ifscrlayer@autooneside} +% Decide whether or not use the optional argument of \Macro{automark} in +% single-side layout. +% \begin{macrocode} +%<*options> +\KOMA@ifkey{autooneside}{scrlayer@autooneside}\scrlayer@autoonesidetrue +%<interface>\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @autooneside} +%</options> +% \end{macrocode} +% \end{macro}^^A \ifscrlayer@autooneside +% \end{option}^^A autooneside +% +% +% \begin{option}{automark} +% \begin{option}{manualmark} +% Maybe we will extend these options later. Currently they do almost the +% same they do at \Package{scrpage2}. The difference is, that single-side or +% two-side doesn't matter here (but it does inside of the definitions of the +% marks itself). +% ToDo: Maybe \Option{manualmark} should become deprecated and +% \Option{automark} should have simple values or a new option, that also +% handles \Option{autooneside}? +% \begin{macrocode} +%<*options> +\KOMA@key{automark}[]{% + \scrlayer@testunexpectedarg{automark}{#1}% + \scrlayer@AtEndOfPackage{% + \if@chapter + \automark[section]{chapter}% + \else + \automark[subsection]{section}% + \fi + }% + \FamilyKeyStateProcessed +} +%<*interface> +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @automark} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @automark@default} +%</interface> +\KOMA@key{manualmark}[]{% + \scrlayer@testunexpectedarg{manualmark}{#1}% + \scrlayer@AtEndOfPackage{\manualmark}% + \FamilyKeyStateProcessed +} +%<*interface> +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @manualmark} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @manualmark@default} +%</interface> +%</options> +% \end{macrocode} +% \end{option}^^A manualmark +% \end{option}^^A automark +% +% \begin{macro}{\manualmark} +% Switch to manual marks. This resets \Macro{@mkleft}, \Macro{@mkright}, +% \Macro{@mkdouble}, \Macro{@mkboth} and the \Macro{\dots mark} of all known +% levels. +% \begin{macrocode} +%<*package&body> +\newcommand*{\manualmark}{% + \begingroup + \def\@elt##1{% + \aftergroup\let\expandafter\aftergroup\csname ##1mark\endcsname + \aftergroup\@gobble + }% + \scrlayer@level@list + \endgroup + \let\@mkleft\@gobble + \let\@mkright\@gobble + \let\@mkdouble\@gobble + \let\@mkboth\@gobbletwo +} +%</package&body> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\automark} +% \begin{macro}{\@automark} +% This is the brain knot of the game! I'll try to explain, what I'm doing: +% First of all the new starred version of \Macro{automark} doesn't reset the +% mark commands. So it works cumulatively. This may be useful e.g. to have +% chapter marks as long as no section marks have been made etc. +% \begin{macrocode} +%<*package&body> +\newcommand*{\automark}{% + \@ifstar{\@automark}{\manualmark\@automark}% +} +\newcommand*{\@automark}[2][]{% + \ifstr{#2}{}{% + \ifstr{#1}{}{% +% \end{macrocode} +% \Macro{automark[]{}} or \Macro{automark{}} has been used. This will activate +% the low level mark commands, but doesn't change the high level commands. It +% may be useful or may not, the user should know what he does: +% \begin{macrocode} + \automark@basics + }{% +% \end{macrocode} +% \Macro{automark[\dots]{}} has been used. This will activate the higher level +% mark commands and also set up the right mark +% \begin{macrocode} + \automark@basics + \automark@righthigh{#1}% + }% + }{% + \ifstr{#1}{}{% +% \end{macrocode} +% \Macro{automark[]{\dots}} or \Macro{automark{\dots}} has been used. This +% will activate the low level mark commands and also set up either the left or +% both marks. +% \begin{macrocode} + \automark@basics + \automark@leftlow{#2}% + }{% +% \end{macrocode} +% \Macro{automark[\dots]{\dots}} has been used. This will activate the low +% level mark commands and also both high level marks. +% \begin{macrocode} + \automark@basics + \automark@both{#1}{#2}% + }% + }% +} +% \end{macrocode} +% \begin{macro}{\automark@basics} +% Activate all low level \Macro{@mk\dots} commands: +% \begin{macrocode} +\newcommand*{\automark@basics}{% + \let\@mkleft\markleft + \let\@mkright\markright + \let\@mkboth\markboth + \def\@mkdouble##1{\@mkboth{##1}{##1}}% +} +% \end{macrocode} +% \end{macro}^^A \automark@basics +% \begin{macro}{\automark@righthigh} +% Set up the right mark of a higher level, but in single-side layout only if +% \Option{autooneside} hasn't been used. Note, that with this definition no +% special handling for \KOMAScript's \Macro{addchap} and \Macro{addsec} is +% needed. +% \begin{macrocode} +\newcommand*{\automark@righthigh}[1]{% + \ifscrlayer@level@prepared{#1}{% + \expandafter\def\csname #1mark\endcsname##1{% + \begingroup + \@tempswafalse + \if@twoside\@tempswatrue + \else\ifscrlayer@autooneside\else\@tempswatrue\fi\fi + \expandafter\endgroup + \if@tempswa + \@mkright{% + \MakeMarkcase{% + \ifnum \c@secnumdepth<\numexpr \csname #1level\endcsname +0\relax + \else\if@mainmatter \csname #1markformat\endcsname\fi\fi + ##1% + }% + }% + \fi + }% + }{}% +} +% \end{macrocode} +% \end{macro}^^A \automark@righthigh +% \begin{macro}{\automark@leftlow} +% Set up the left mark of a low level, but in single-side layout the right +% mark has to be used. +% \begin{macrocode} +\newcommand*{\automark@leftlow}[1]{% + \ifscrlayer@level@prepared{#1}{% + \expandafter\def\csname #1mark\endcsname ##1{% + \if@twoside +% \end{macrocode} +% In two-side mode the left high mark has also to clear the right low +% mark. This would be unwanted, if the left mark is a low mark and the right +% mark is a high mark. But we cannot detect this if no right mark level has +% been given. So we simply use: +% \begin{macrocode} + \expandafter\@mkboth + \else +% \end{macrocode} +% In single-side mode there's no left high mark without a right low mark. So +% instead of only a left high mark, we set up both marks. +% \begin{macrocode} + \expandafter\@mkdouble + \fi + {% + \MakeMarkcase{% + \ifnum \c@secnumdepth<\numexpr \csname #1level\endcsname +0\relax + \else\if@mainmatter \csname #1markformat\endcsname\fi\fi + ##1% + }% + }\@empty + }% + }{}% +} +% \end{macrocode} +% \end{macro}^^A \automark@leftlow +% \begin{macro}{\automark@both} +% Set up both marks, but in single-side layout depending on +% \Option{autooneside}. +% \begin{macrocode} +\newcommand*{\automark@both}[2]{% + \ifscrlayer@level@prepared{#1}{% + \ifscrlayer@level@prepared{#2}{% + \ifnum \numexpr \csname #1level\endcsname +0\relax + > \numexpr \csname #2level\endcsname +0\relax +% \end{macrocode} +% Level of left mark is greater than level of right mark. e.g., section > +% chapter. This is unusual. Nevertheless we'll handle it. +% \begin{macrocode} + \automark@leftlow{#2}% + \automark@righthigh{#1}% + \else \ifnum \numexpr \csname #1level\endcsname +0\relax + = \numexpr \csname #2level\endcsname +0\relax +% \end{macrocode} +% Level of left mark is equal to level of right mark. This is +% nice and very easy to handle. +% \begin{macrocode} + \expandafter\def\csname #2mark\endcsname##1{% + \@mkdouble{% + \MakeMarkcase{% + \ifnum \c@secnumdepth<\numexpr + \csname #2level\endcsname +0\relax + \else + \if@mainmatter \csname #2markformat\endcsname\fi + \fi + ##1% + }% + }% + }% + \else +% \end{macrocode} +% Level of left mark is less than level of right mark. This is +% usual. +% \begin{macrocode} + \expandafter\def\csname #1mark\endcsname##1{% + \begingroup + \@tempswafalse + \if@twoside\@tempswatrue + \else\ifscrlayer@autooneside\else\@tempswatrue\fi\fi + \expandafter\endgroup + \if@tempswa + \@mkleft{% + \MakeMarkcase{% + \ifnum \c@secnumdepth + < \numexpr\csname #1level\endcsname +0\relax + \else + \if@mainmatter \csname #1markformat\endcsname\fi + \fi + ##1% + }% + }% + \fi + }% + \expandafter\def\csname #2mark\endcsname##1{% + \@mkboth{}{% + \MakeMarkcase{% + \ifnum \c@secnumdepth + < \numexpr \csname #2level\endcsname +0\relax + \else\if@mainmatter \csname #2markformat\endcsname\fi\fi + ##1% + }% + }% + }% + \fi + \fi + }{}% + }{}% +} +% \end{macrocode} +% \begin{macro}{\ifscrlayer@level@prepared} +% Test, whether or not this level has been prepared. +% \begin{macrocode} +\newcommand*{\ifscrlayer@level@prepared}[1]{% + \typeout{1: \detokenize{#1}}% + \scr@ifundefinedorrelax{#1level}{% + \PackageError{scrlayer}{numbering depth of `#1' unknown}{% + Someone told me to use a section mark for level `#1',\MessageBreak + but the numbering depth hasn't been declared before. You may solve this + using\MessageBreak + \string\DeclareSectionNumberDepth{#1}{NUMBER}.% + }% + \@secondoftwo + }{% + \@firstoftwo + }% +} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \ifscrlayer@level@prepared +% \end{macro}^^A \automark@both +% \end{macro}^^A \@automark +% \end{macro}^^A \automark +% +% \begin{macro}{\DeclareSectionNumberDepth} +% \begin{description} +% \item[\Parameter{string}:] the name of the section level, e.g., +% part, chapter, section etc. (must be fully +% expandable and expand to a string). +% \item[\Parameter{numeric expression}:] the section number depth of the +% level, e.g., -1 for part, 0 for chapter etc. +% \end{description} +% Note that levels part, chapter, section, subsection, sub\dots subsection, +% paragraph, subparagraph, sub\dots subparagraph, minisec, subminisec, +% sub\dots subminisec will be recognised either at load time or at +% \Macro{begin}\PParameter{document} automatically if they have the usual +% levels. +% \begin{macrocode} +%<*package&body> +\newcommand*{\DeclareSectionNumberDepth}[2]{% + \expandafter\edef\csname #1level\endcsname{\the\numexpr #2\relax}% + \@ifundefined{#1mark}{% + \expandafter\let\csname #1mark\endcsname\@gobble + }{}% + \@ifundefined{#1markformat}{% + \@namedef{#1markformat}{\GenericMarkFormat{#1}}% + }{}% + \begingroup + \@tempswatrue + \def\@elt##1{\ifstr{#1}{##1}{\@tempswafalse}{}}% + \scrlayer@level@list + \if@tempswa + \aftergroup\@firstofone + \else + \aftergroup\@gobble + \fi + \endgroup + {% + \l@addto@macro\scrlayer@level@list{\@elt{#1}}% + }% +} +% \end{macrocode} +% \begin{macro}{\scrlayer@level@list} +% \begin{macro}{\scrlayer@level@init} +% Stores all the existing levels. +% \begin{macrocode} +\newcommand*{\scrlayer@level@list}{} +% \end{macrocode} +% Usually all levels are known on loading this package, but if a package +% defines additional levels later we'll do an additional test at +% \Macro{begin}\PParameter{document}. But we do not redo the part and the +% chapter test. +% \begin{macrocode} +\scr@ifundefinedorrelax{part}{}{% + \DeclareSectionNumberDepth{part}{-1}% +} +\if@chapter + \DeclareSectionNumberDepth{chapter}{0}% +\fi +\newcommand*{\scrlayer@level@init}{% + \@tempcnta=1 + \def\reserved@b##1{% + \@tempswatrue + \def\reserved@a{##1}% + \@whilesw \if@tempswa \fi {% + \scr@ifundefinedorrelax{\reserved@a}{% + \@tempswafalse + }{% + \@ifundefined{\reserved@a level}{% + \expandafter\DeclareSectionNumberDepth + \expandafter{\reserved@a}{\@tempcnta}% + }{}% + \advance \@tempcnta by \@ne + \edef\reserved@a{sub\reserved@a}% + }% + }% + }% + \reserved@b{section}% + \reserved@b{paragraph}% + \reserved@b{minisec}% +} +\scrlayer@level@init +\AtBeginDocument{% + \scrlayer@level@init +} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \scrlayer@level@init +% \end{macro}^^A \scrlayer@level@list +% \end{macro}^^A DeclareSectionNumberDepth +% +% +% \subsection{Providing Layers} +% +% A layer is a virtual sheet of paper stacked behind or above the real sheet +% of paper. All the virtual and real sheets of one page may been seen +% simultanous, but material o one sheet may overlap material on sheets below. +% Layers provided by \Package{scrlayer} will not be stacked below or above +% real sheets unless they are used by a page style. +% +% While we use \meta{key}\texttt{=}\meta{value} arguments for several of the +% layer commands we define a new family with a new member: +% \begin{macrocode} +%<*package&body> +\DefineFamily{KOMAarg} +\DefineFamilyMember[.definelayer]{KOMAarg} +%</package&body> +% \end{macrocode} +% +% \begin{macro}{\DeclareLayer} +% \begin{description} +% \item[\OParameter{option list}:] a comma separated list of +% \texttt{\meta{key}=\meta{value}} pairs. +% \item[\Parameter{string}:] the name of the layer (must be fully expandable +% and expand to a string only). +% \end{description} +% Layers are the basic elements of page styles. A layer has a name and several +% attributes. The attributes may be set as comma separated list at the first, +% optional argument of \cs{DeclareLayer}. The name must be set by the second, +% mandatory argument. +% \begin{macro}{\def@scr@l@pos} +% And a second helper macro to easily define $x, y, w, h$ of a layer. +% \begin{macrocode} +%<*package&body> +\newcommand*{\def@scr@l@pos}[4]{% + \@namedef{scr@l@\scr@current@layer @x}{#1}% + \@namedef{scr@l@\scr@current@layer @y}{#2}% + \@namedef{scr@l@\scr@current@layer @w}{#3}% + \@namedef{scr@l@\scr@current@layer @h}{#4}% +} +% \end{macrocode} +% \end{macro}^^A \def@scr@l@pos +% +% There are basic attributes and compounding attributes. The basic attributes +% are: +% \begin{description} +% \item[\texttt{hoffset=\meta{dimension expression}}:] offset from the left +% edge of the paper. +% \begin{macrocode} +\DefineFamilyKey[.definelayer]{KOMAarg}{hoffset}{% + \@namedef{scr@l@\scr@current@layer @x}{\dimexpr #1\relax}% + \FamilyKeyStateProcessed +} +% \end{macrocode} +% \item[\texttt{voffset=\meta{dimension expression}}:] offset from the top +% edge of the paper. +% \begin{macrocode} +\DefineFamilyKey[.definelayer]{KOMAarg}{voffset}{% + \@namedef{scr@l@\scr@current@layer @y}{\dimexpr #1\relax}% + \FamilyKeyStateProcessed +} +% \end{macrocode} +% \item[\texttt{width=\meta{dimension expression}}:] width of the layer. +% \begin{macrocode} +\DefineFamilyKey[.definelayer]{KOMAarg}{width}{% + \@namedef{scr@l@\scr@current@layer @w}{\dimexpr #1\relax}% + \FamilyKeyStateProcessed +} +% \end{macrocode} +% \item[\texttt{height=\meta{dimension expression}}:] height of the layer. +% \begin{macrocode} +\DefineFamilyKey[.definelayer]{KOMAarg}{height}{% + \@namedef{scr@l@\scr@current@layer @h}{\dimexpr #1\relax}% + \FamilyKeyStateProcessed +} +% \end{macrocode} +% \item[\texttt{align=\meta{specification}}:] horizontal and vertical +% alignment of the layer. The \meta{specification} will interpreted +% character by character with the following valid characters: +% \begin{itemize} +% \item[l] -- align the layer with its left edge to the given horizontal +% offset. This means, that the layer's width will span right from the +% given horizontal offset. +% \item[r] -- align the layer with its right edge to the given horizontal +% offset. This means, that the layer's width will span left from the given +% horizontal offset. +% \item[c] -- align the layer centered to the given horizontal and vertical +% offset. This means, that the given offsets are at the middle of the +% layer width and total height. +% \item[t] -- align the layer with its top edge to the given vertical +% offset. This means that the layer's contents will span below the given +% vertical offset. +% \item[b] -- align the layer with its bottom edge to the given vertical +% offset. This means, that the layer's contents will span above the given +% vertical offset. +% \end{itemize} +% \begin{macrocode} +\DefineFamilyKey[.definelayer]{KOMAarg}{align}{% + \@namedef{scr@l@\scr@current@layer @align}{#1}% + \FamilyKeyStateProcessed +} +% \end{macrocode} +% \item[\texttt{contents=\meta{output}}:] whatever should be printed by the +% layer. +% \begin{macrocode} +\DefineFamilyKey[.definelayer]{KOMAarg}{contents}{% + \@namedef{scr@l@\scr@current@layer @contents}{#1}% + \FamilyKeyStateProcessed +} +% \end{macrocode} +% \item[\texttt{background}:] restrict the layer to the page +% background. This means, that the main contents of the page may overprint +% the contents of the layer. Note, that this attribute has no value! +% \begin{macrocode} +\DefineFamilyKey[.definelayer]{KOMAarg}{background}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{background}{#1}% + \csname @scr@l@\scr@current@layer @backgroundtrue\endcsname + \csname @scr@l@\scr@current@layer @foregroundfalse\endcsname +} +% \end{macrocode} +% \item[\texttt{foreground}:] restrict the layer to the page +% foreground. This means, that the layer's contents may overprint the main +% contents of the page. Note, that this attribute has no value! +% \begin{macrocode} +\DefineFamilyKey[.definelayer]{KOMAarg}{foreground}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{foreground}{#1}% + \csname @scr@l@\scr@current@layer @backgroundfalse\endcsname + \csname @scr@l@\scr@current@layer @foregroundtrue\endcsname +} +% \end{macrocode} +% \item[\texttt{oddpage}:] restrict the layer to odd pages only. At +% two-sided layout only pages with odd page numbers are odd pages. At +% single-sided layout all pages are odd pages. Note, that this attribute has +% no value! +% \begin{macrocode} +\DefineFamilyKey[.definelayer]{KOMAarg}{oddpage}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{oddpage}{#1}% + \csname @scr@l@\scr@current@layer @oddtrue\endcsname + \csname @scr@l@\scr@current@layer @evenfalse\endcsname +} +% \end{macrocode} +% \item[\texttt{evenpage}:] restrict the layer to even pages only. At +% two-sided layout only pages with even page numbers are even pages. At +% single-sided layout there aren't even pages. Note, that this attribute has +% no value! +% \begin{macrocode} +\DefineFamilyKey[.definelayer]{KOMAarg}{evenpage}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{evenpage}{#1}% + \csname @scr@l@\scr@current@layer @oddfalse\endcsname + \csname @scr@l@\scr@current@layer @eventrue\endcsname +} +% \end{macrocode} +% \item[\Option{floatpage}:] restrict the layer to float pages. +% \begin{macrocode} +\DefineFamilyKey[.definelayer]{KOMAarg}{floatpage}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{floatpage}{#1}% + \csname @scr@l@\scr@current@layer @nonfloatpagefalse\endcsname + \csname @scr@l@\scr@current@layer @floatpagetrue\endcsname +} +% \end{macrocode} +% \item[\Option{nonfloatpage}:] restrict the layer to pages, which aren't +% float pages. +% \begin{macrocode} +\DefineFamilyKey[.definelayer]{KOMAarg}{nonfloatpage}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{twoside}{#1}% + \csname @scr@l@\scr@current@layer @nonfloatpagetrue\endcsname + \csname @scr@l@\scr@current@layer @floatpagefalse\endcsname +} +% \end{macrocode} +% \item[\Option{oneside}:] restrict the layer to pages on single-sided +% layouts. +% \begin{macrocode} +\DefineFamilyKey[.definelayer]{KOMAarg}{oneside}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{oneside}{#1}% + \csname @scr@l@\scr@current@layer @twosidefalse\endcsname + \csname @scr@l@\scr@current@layer @onesidetrue\endcsname +} +% \end{macrocode} +% \item[\Option{twoside}:] restrict the layer to pages on two-sided +% layouts. +% \begin{macrocode} +\DefineFamilyKey[.definelayer]{KOMAarg}{twoside}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{twoside}{#1}% + \csname @scr@l@\scr@current@layer @twosidetrue\endcsname + \csname @scr@l@\scr@current@layer @onesidefalse\endcsname +} +% \end{macrocode} +% \end{description} +% +% Compounding attributes are attributes, that set up several basic attributes +% with a single compounding attribute: +% \begin{description} +% \item[\texttt{page}:] set up \texttt{hoffset}, \texttt{voffset}, +% \texttt{width}, and \texttt{height} to values spanning the whole +% page aligned by the default alignment \texttt{tl}. Note, that this +% attribute has no value! +% \begin{macrocode} +\DefineFamilyKey[.definelayer]{KOMAarg}{page}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{page}{#1}% + \def@scr@l@pos{\z@}{\z@}{\paperwidth}{\paperheight}% + \@namedef{scr@l@\scr@current@layer @align}{tl}% +} +% \end{macrocode} +% \item[\texttt{topmargin}:] set up \texttt{hoffset}, \texttt{voffset}, +% \texttt{width}, and \texttt{height} to values vertically spanning the top +% margin of the page and horizontally spanning the whole page aligned by the +% default alignment \texttt{tl}. Note, that this attribute has no value! +% \begin{macrocode} +\DefineFamilyKey[.definelayer]{KOMAarg}{topmargin}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{topmargin}{#1}% + \def@scr@l@pos{\z@}{\z@}{\paperwidth}{\dimexpr \topmargin+1in\relax}% + \@namedef{scr@l@\scr@current@layer @align}{tl}% +} +% \end{macrocode} +% \item[\texttt{head}:] set up \texttt{hoffset}, \texttt{voffset}, +% \texttt{width}, and \texttt{height} to values vertically spanning the page +% head and horizontally spanning the text area aligned by usual head +% alignment \texttt{bl}. Note, that this attribute has no value! +% \begin{macrocode} +\DefineFamilyKey[.definelayer]{KOMAarg}{head}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{head}{#1}% + \def@scr@l@pos{% + \dimexpr + \if@twoside\ifodd\value{page}\oddsidemargin\else\evensidemargin\fi + \else\oddsidemargin\fi + +1in + \relax + }{% + \dimexpr \topmargin+1in+\headheight\relax + }{\textwidth}{\headheight}% + \@namedef{scr@l@\scr@current@layer @align}{bl}% +} +% \end{macrocode} +% \item[\texttt{headsep}:] set up \texttt{hoffset}, \texttt{voffset}, +% \texttt{width}, and \texttt{height} to values vertically spanning the area +% between page head and text area and horizontally spanning the text area +% aligned by the default alignment \texttt{t}. Note, that this attribute +% has no value! +% \begin{macrocode} +\DefineFamilyKey[.definelayer]{KOMAarg}{headsep}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{head}{#1}% + \def@scr@l@pos{% + \dimexpr + \if@twoside\ifodd\value{page}\oddsidemargin\else\evensidemargin\fi + \else\oddsidemargin\fi + +1in + \relax + }{% + \dimexpr \topmargin+1in+\headheight\relax + }{\textwidth}{\headsep}% + \@namedef{scr@l@\scr@current@layer @align}{tl}% +} +% \end{macrocode} +% \item[\texttt{textarea}:] set up \texttt{hoffset}, \texttt{voffset}, +% \texttt{width}, and \texttt{height} to values spanning the text area of +% the page aligned by the default alignment \texttt{t}. Note, that this +% attribute has no value! +% \begin{macrocode} +\DefineFamilyKey[.definelayer]{KOMAarg}{textarea}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{textarea}{#1}% + \def@scr@l@pos{% + \dimexpr + \if@twoside\ifodd\value{page}\oddsidemargin\else\evensidemargin\fi + \else\oddsidemargin\fi + +1in + \relax + }{% + \dimexpr \topmargin+1in+\headheight+\headsep\relax + }{\textwidth}{\textheight}% + \@namedef{scr@l@\scr@current@layer @align}{tl}% +} +% \end{macrocode} +% \item[\texttt{foot}:] set up \texttt{hoffset}, \texttt{voffset}, +% \texttt{width}, and \texttt{height} to values vertically spanning the page +% footer and horizontally spanning the text area aligned by the usual footer +% alignment \texttt{t}. Note, that this attribute has no value! +% \begin{macrocode} +\DefineFamilyKey[.definelayer]{KOMAarg}{foot}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{foot}{#1}% + \def@scr@l@pos{% + \dimexpr + \if@twoside\ifodd\value{page}\oddsidemargin\else\evensidemargin\fi + \else\oddsidemargin\fi + +1in + \relax + }{% + \dimexpr \topmargin+1in+\headheight+\headsep+\textheight + +\footskip+\dp\strutbox-\footheight\relax + }{\textwidth}{\footheight}% + \@namedef{scr@l@\scr@current@layer @align}{tl}% +} +% \end{macrocode} +% \item[\texttt{footskip}:] set up \texttt{hoffset}, \texttt{voffset}, +% \texttt{width}, and \texttt{height} to values vertically spanning the +% distance from the text area to the page +% footer and horizontally spanning the text area aligned by the usual footer +% alignment \texttt{t}. Note, that this attribute has no value! +% \begin{macrocode} +\DefineFamilyKey[.definelayer]{KOMAarg}{footskip}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{foot}{#1}% + \def@scr@l@pos{% + \dimexpr + \if@twoside\ifodd\value{page}\oddsidemargin\else\evensidemargin\fi + \else\oddsidemargin\fi + +1in + \relax + }{% + \dimexpr \topmargin+1in+\headheight+\headsep+\textheight\relax + }{\textwidth}{\dimexpr\footskip+\dp\strutbox-\footheight\relax}% + \@namedef{scr@l@\scr@current@layer @align}{tl}% +} +% \end{macrocode} +% \item[\texttt{bottommargin}:] set up \texttt{hoffset}, \texttt{voffset}, +% \texttt{width}, and \texttt{height} to values vertically spanning the +% page's bottom margin below the footer and horizontally spanning the page +% by the default alignment \texttt{t}. Note, that this attribute has no +% value! +% \begin{macrocode} +\DefineFamilyKey[.definelayer]{KOMAarg}{bottommargin}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{bottommargin}{#1}% + \def@scr@l@pos{\z@}{% + \dimexpr \topmargin+1in+\headheight+\headsep + +\textheight + +\footskip+\dp\strutbox\relax + }{\paperwidth}{\dimexpr\paperheight-\layeryoffset\relax}% + \@namedef{scr@l@\scr@current@layer @align}{tl}% +} +% \end{macrocode} +% \item[\texttt{leftmargin}:] set up \texttt{hoffset}, \texttt{voffset}, +% \texttt{width}, and \texttt{height} to values vertically spanning the page +% and horizontally spanning the left margin of the page by the default +% alignment \texttt{t}. Note, that this attribute has no value! +% \begin{macrocode} +\DefineFamilyKey[.definelayer]{KOMAarg}{leftmargin}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{leftmargin}{#1}% + \def@scr@l@pos{\z@}{\z@}{% + \dimexpr + \if@twoside\ifodd\value{page}\oddsidemargin\else\evensidemargin\fi + \else\oddsidemargin\fi + +1in + \relax + }{\paperheight}% + \@namedef{scr@l@\scr@current@layer @align}{tl}% +} +% \end{macrocode} +% \item[\texttt{rightmargin}:] set up \texttt{hoffset}, \texttt{voffset}, +% \texttt{width}, and \texttt{height} to values vertically spanning the page +% and horizontally spanning the right margin of the page by the default +% alignment \texttt{t}. Note, that this attribute has no value! +% \begin{macrocode} +\DefineFamilyKey[.definelayer]{KOMAarg}{rightmargin}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{rightmargin}{#1}% + \def@scr@l@pos{\paperwidth}{\z@}{% + \dimexpr \paperwidth-1in-\textwidth + -\if@twoside\ifodd\value{page}\oddsidemargin\else\evensidemargin\fi + \else\oddsidemargin\fi\relax + }{\paperheight}% + \@namedef{scr@l@\scr@current@layer @align}{tr}% +} +% \end{macrocode} +% \item[\texttt{innermargin}:] set up \texttt{hoffset}, \texttt{voffset}, +% \texttt{width}, and \texttt{height} to values vertically spanning the page +% and horizontally spanning the right margin of even pages and the left +% margin of odd pages by the default alignment \texttt{t}. See attributes +% \texttt{oddpage} and \texttt{evenpage} for more information about odd and +% even pages. Note, that this attribute has no value! +% \begin{macrocode} +\DefineFamilyKey[.definelayer]{KOMAarg}{innermargin}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{innermargin}{#1}% + \def@scr@l@pos{% + \if@twoside + \ifodd\value{page} \z@ + \else \dimexpr \evensidemargin+1in+\textwidth\relax + \fi + \else \z@\fi + }{\z@}{% + \dimexpr + \if@twoside\ifodd\value{page} \oddsidemargin+1in + \else \paperwidth-\layerxoffset\fi + \else \oddsidemargin+1in\fi + \relax + }{\paperheight}% + \@namedef{scr@l@\scr@current@layer @align}{tl}% +} +% \end{macrocode} +% \item[\texttt{outermargin}:] set up \texttt{hoffset}, \texttt{voffset}, +% \texttt{width}, and \texttt{height} to values vertically spanning the page +% and horizontally spanning the left margin of even pages and the right +% margin of odd pages by the default alignment \texttt{t}. See attributes +% \texttt{oddpage} and \texttt{evenpage} for more information about odd and +% even pages. Note, that this attribute has no value! +% \begin{macrocode} +\DefineFamilyKey[.definelayer]{KOMAarg}{outermargin}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{outermargin}{#1}% + \def@scr@l@pos{% + \dimexpr + \if@twoside\ifodd\value{page} \oddsidemargin+1in+\textwidth + \else \z@\fi + \else \oddsidemargin+1in+\textwidth\fi + \relax + }{\z@}{% + \dimexpr + \if@twoside\ifodd\value{page}\paperwidth-\layerxoffset + \else \evensidemargin+1in\fi + \else \paperwidth-\layerxoffset\fi + \relax + }{\paperheight}% + \@namedef{scr@l@\scr@current@layer @align}{tl}% +} +% \end{macrocode} +% \item[\texttt{area=\{\meta{hoffset}\}\{\meta{voffset}\}^^A +% \{\meta{width}\}\{\meta{height}\}}:] set up +% \texttt{hoffset}, \texttt{voffset}, \texttt{width}, and \texttt{height} to +% the given values. +% \begin{macrocode} +\DefineFamilyKey[.definelayer]{KOMAarg}{area}{% + \def@scr@l@pos#1 + \FamilyKeyStateProcessed +} +% \end{macrocode} +% \item[\texttt{clone=\meta{layer}}:] set up the new layer by the settings +% of the given \meta{layer}. +% \begin{macrocode} +\DefineFamilyKey[.definelayer]{KOMAarg}{clone}{% + \scr@ifundefinedorrelax{scr@l@#1@x}{% + \FamilyKeyStateUnknownValue + \PackageError{scrlayer}{layer `#1' undefined}{% + You can clone only already defined layers.\MessageBreak + If you'll continue, `clone=#1' will be ignored.% + }% + }{% + \FamilyKeyStateProcessed + \scrlayer@clone@attribute{\scr@current@layer}{#1}{x}% + \scrlayer@clone@attribute{\scr@current@layer}{#1}{y}% + \scrlayer@clone@attribute{\scr@current@layer}{#1}{w}% + \scrlayer@clone@attribute{\scr@current@layer}{#1}{h}% + \scrlayer@clone@attribute{\scr@current@layer}{#1}{align}% + \scrlayer@clone@attribute{\scr@current@layer}{#1}{contents}% + \scrlayer@clone@switch{\scr@current@layer}{#1}{background}% + \scrlayer@clone@switch{\scr@current@layer}{#1}{foreground}% + \scrlayer@clone@switch{\scr@current@layer}{#1}{odd}% + \scrlayer@clone@switch{\scr@current@layer}{#1}{even}% + \scrlayer@clone@switch{\scr@current@layer}{#1}{oneside}% + \scrlayer@clone@switch{\scr@current@layer}{#1}{twoside}% + \scrlayer@clone@switch{\scr@current@layer}{#1}{floatpage}% + \scrlayer@clone@switch{\scr@current@layer}{#1}{nonfloatpage}% + }% +} +% \end{macrocode} +% \begin{macro}{\scrlayer@clone@attribute} +% \begin{macro}{\scrlayer@clone@switch} +% Two helpers used to at option \texttt{clone} to clone either a macro-based +% attribute or a if-based attribute. +% \begin{macrocode} +\newcommand*{\scrlayer@clone@attribute}[3]{% + \expandafter\let\csname scr@l@#1@#3\expandafter\endcsname + \csname scr@l@#2@#3\expandafter\endcsname +} +\newcommand*{\scrlayer@clone@switch}[3]{% + \expandafter\let\csname if@scr@l@#1@#3\expandafter\endcsname + \csname if@scr@l@#2@#3\expandafter\endcsname +} +% \end{macrocode} +% \end{macro}^^A \scrlayer@clone@switch +% \end{macro}^^A \scrlayer@clone@attribute +% \end{description} +% +% \begin{macrocode} +\newcommand*{\DeclareLayer}[2][]{% + \def\scr@current@layer{#2}% + \@namedef{scr@l@#2@x}{\z@}% + \@namedef{scr@l@#2@y}{\z@}% + \@namedef{scr@l@#2@w}{\paperwidth}% + \@namedef{scr@l@#2@h}{\paperheight}% + \@namedef{scr@l@#2@align}{tl}% + \@namedef{scr@l@#2@contents}{}% + \expandafter\newif\csname if@scr@l@#2@background\endcsname + \csname @scr@l@#2@backgroundtrue\endcsname + \expandafter\newif\csname if@scr@l@#2@foreground\endcsname + \csname @scr@l@#2@foregroundtrue\endcsname + \expandafter\newif\csname if@scr@l@#2@odd\endcsname + \csname @scr@l@#2@oddtrue\endcsname + \expandafter\newif\csname if@scr@l@#2@even\endcsname + \csname @scr@l@#2@eventrue\endcsname + \expandafter\newif\csname if@scr@l@#2@oneside\endcsname + \csname @scr@l@#2@onesidetrue\endcsname + \expandafter\newif\csname if@scr@l@#2@twoside\endcsname + \csname @scr@l@#2@twosidetrue\endcsname + \expandafter\newif\csname if@scr@l@#2@floatpage\endcsname + \csname @scr@l@#2@floatpagetrue\endcsname + \expandafter\newif\csname if@scr@l@#2@nonfloatpage\endcsname + \csname @scr@l@#2@nonfloatpagetrue\endcsname + \FamilyExecuteOptions[.definelayer]{KOMAarg}{#1}% +} +% \end{macrocode} +% \begin{macro}{\scr@current@layer} +% Helper to hold the current layer and only valid in non recursive calls of +% \Macro{DeclareLayer}. +% \begin{macrocode} +\newcommand*{\scr@current@layer}{} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \scr@current@layer +% \end{macro}^^A \DeclareLayer +% +% \begin{macro}{\IfLayerExists} +% \begin{description} +% \item[\Parameter{string}:] the name of the layer (must be fully expandable +% and expand to a string only). +% \item[\Parameter{then code}:] will be executed, if the layer exists. +% \item[\Parameter{else code}:] will be executed, if the layer doesn't exist. +% \end{description} +% Note, that we don't known really whether or not a layer exists, but have a +% heuristic. +% \begin{macrocode} +%<*package&body> +\newcommand*{\IfLayerExists}[1]{% + \scr@ifundefinedorrelax{scr@l@#1@x}{% + \expandafter\@secondoftwo + }{% + \expandafter\@firstoftwo + }% +} +%</package&body> +% \end{macrocode} +% \end{macro}%^^A \IfLayerExists +% +% \begin{macro}{\DeclareNewLayer} +% \begin{macro}{\ProvideLayer} +% \begin{macro}{\RedeclareLayer} +% \begin{macro}{\ModifyLayer} +% There are also two commands for declaration of layers, that haven't been +% declared before, with or without error message for already declared layers, +% and two commands for changing already declared layers, first one beginning +% again from scratch, second one for only setting up attributes, that should +% be changed. +% \begin{macrocode} +%<*package&body> +\newcommand*{\DeclareNewLayer}[2][]{% + \IfLayerExists{#2}{% + \PackageError{scrlayer}{layer `#2' already defined}{% + You may declare only layer, that haven't been declared previously + using\MessageBreak + \string\DeclareNewLayer. See also the alternatives + \string\RedeclareLayer,\MessageBreak + \string\ModifyLayer\space and \string\ProvideLayer.\MessageBreak + If you'll continue, declaration will be ignored.}% + }{\DeclareLayer[{#1}]{#2}}% +} +\newcommand*{\ProvideLayer}[2][]{% + \IfLayerExists{#2}{% +%<*trace> + \PackageInfo{scrlayer}{\string\ProvideLayer{#2} ignored,\MessageBreak + because of already defined layer}% +%</trace> + }{\DeclareNewLayer[{#1}]{#2}}% +} +\newcommand*{\RedeclareLayer}[2][]{% + \IfLayerExists{#2}{}{% + \PackageError{scrlayer}{layer `#2' not yet defined}{% + You may declare only already declared layers using + \string\RedeclareLayer.\MessageBreak + See also the alternatives + \string\DeclareLayer and \string\ProvideLayer.\MessageBreak + Nevertheless, if you'll continue, declaration will be done.}% + }% + \DeclareLayer[{#1}]{#2}% +} +\newcommand*{\ModifyLayer}[2][]{% + \IfLayerExists{#2}{% + \FamilyExecuteOptions[.definelayer]{KOMAarg}{#1}% + }{% + \PackageError{scrlayer}{layer `#2' not yet defined}{% + You may modify only already declared layers using + \string\ModifyLayer.\MessageBreak + See also the alternatives + \string\DeclareLayer and \string\ProvideLayer.\MessageBreak + Nevertheless, if you'll continue, declaration will be done.}% + \DeclareLayer[{#1}]{#2}% + }% +} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \ModifyLayer +% \end{macro}^^A \RedeclareLayer +% \end{macro}^^A \ProvideLayer +% \end{macro}^^A \DeclareNewLayer +% +% +% \begin{macro}{\DestroyLayer} +% \begin{description} +% \item[\Parameter{string}:] the name of the layer, that should be +% destroyed +% \end{description} +% Note: Nothing will be done to remove the layer from a page style, but this +% shouldn't matter, because layers with, e.g., +% \Macro{if@scr@l@\dots@nonfloatpage}=\Macro{relax} and +% \Macro{if@scr@l@\dots@floatpage}=\Macro{relax} won't be output ever. This +% command may and should be used by interfaces via +% \Macro{scrlayerOnAutoRemoveInterface} to remove the generated +% layers. Therefore it only destroys existing layers and doesn't care for not +% existing. +% \begin{macrocode} +%<*package&body> +\newcommand*{\DestroyLayer}[1]{% + \IfLayerExists{#1}{% + \expandafter\let\csname scr@l@#1@x\endcsname\relax + \expandafter\let\csname scr@l@#1@y\endcsname\relax + \expandafter\let\csname scr@l@#1@w\endcsname\relax + \expandafter\let\csname scr@l@#1@h\endcsname\relax + \expandafter\let\csname scr@l@#1@align\endcsname\relax + \expandafter\let\csname scr@l@#1@contents\endcsname\relax + \expandafter\let\csname if@scr@l@#1@background\endcsname\relax + \expandafter\let\csname @scr@l@#1@backgroundfalse\endcsname\relax + \expandafter\let\csname @scr@l@#1@backgroundtrue\endcsname\relax + \expandafter\let\csname if@scr@l@#1@foreground\endcsname\relax + \expandafter\let\csname @scr@l@#1@foregroundfalse\endcsname\relax + \expandafter\let\csname @scr@l@#1@foregroundtrue\endcsname\relax + \expandafter\let\csname if@scr@l@#1@odd\endcsname\relax + \expandafter\let\csname @scr@l@#1@oddfalse\endcsname\relax + \expandafter\let\csname @scr@l@#1@oddtrue\endcsname\relax + \expandafter\let\csname if@scr@l@#1@even\endcsname\relax + \expandafter\let\csname @scr@l@#1@evenfalse\endcsname\relax + \expandafter\let\csname @scr@l@#1@eventrue\endcsname\relax + \expandafter\let\csname if@scr@l@#1@oneside\endcsname\relax + \expandafter\let\csname @scr@l@#1@onesidefalse\endcsname\relax + \expandafter\let\csname @scr@l@#1@onesidetrue\endcsname\relax + \expandafter\let\csname if@scr@l@#1@twoside\endcsname\relax + \expandafter\let\csname @scr@l@#1@twosidefalse\endcsname\relax + \expandafter\let\csname @scr@l@#1@twosidetrue\endcsname\relax + \expandafter\let\csname if@scr@l@#1@floatpage\endcsname\relax + \expandafter\let\csname @scr@l@#1@floatpagefalse\endcsname\relax + \expandafter\let\csname @scr@l@#1@floatpagetrue\endcsname\relax + \expandafter\let\csname if@scr@l@#1@nonfloatpage\endcsname\relax + \expandafter\let\csname @scr@l@#1@nonfloatpagefalse\endcsname\relax + \expandafter\let\csname @scr@l@#1@nonfloatpagetrue\endcsname\relax + }{% +%<*trace> + \PackageInfo{scrlayer}{\string\DestroyLayer{#1} ignored,\MessageBreak + because that layer doesn't exist\MessageBreak + (any longer)% + }% +%</trace> + }% +} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \DestroyLayer +% +% +% \begin{macro}{\layercontentsmeasure} +% This may used by used as the only value of the layer option +% \texttt{contents} to show measure lines around the layer. The left and the +% top measure line will be in centimeter, the right and the bottom measure +% line in inch. With option \texttt{draft=true} this also be used +% automatically and additionally for every layer of a page style. +% \begin{macrocode} +%<*package&body> +\newcommand*{\layercontentsmeasure}{% + \smash{\begin{picture}(0,0) + (0,\if t\scr@l@valign -\ht\strutbox + \else + \if b\scr@l@valign -\dimexpr\layerheight-\dp\strutbox\relax + \else -.5\dimexpr \layerheight+\ht\strutbox-\dp\strutbox\relax + \fi + \fi\@gobble) +% \end{macrocode} +% 1st horizontal cm +% \begin{macrocode} + \put(0,0){\line(1,0){\layerwidth\@gobble}}% + \@tempcnta=\numexpr \dimexpr\layerwidth + .5mm\relax/\dimexpr 1mm\relax\relax + \multiput(0,0)(1mm\@gobble,0){\@tempcnta}{% + \line(0,-1){1mm\@gobble}% + }% + \@tempcnta=\numexpr \dimexpr\layerwidth + 2.5mm\relax/\dimexpr 5mm\relax\relax + \multiput(0,0)(5mm\@gobble,0){\@tempcnta}{% + \line(0,-1){2mm\@gobble}% + }% + \@tempcnta=\numexpr \dimexpr\layerwidth + .5cm\relax/\dimexpr 1cm\relax\relax + \multiput(0,0)(10mm\@gobble,0){\@tempcnta}{% + \put(0,0){\line(0,-1){3mm\@gobble}}% + \put(0,-3.5mm\@gobble){% + \makebox(0,0)[ct]{\the\numexpr\@tempcnta-\@multicnt\relax}}% + }% +% \end{macrocode} +% 2nd horizontal in: +% \begin{macrocode} + \put(0,-\layerheight\@gobble){\line(1,0){\layerwidth\@gobble}}% + \@tempcnta=\numexpr \dimexpr\layerwidth + .05in\relax/\dimexpr .1in\relax\relax + \multiput(0,-\layerheight\@gobble)(.1in\@gobble,0){\@tempcnta}{% + \line(0,1){1mm\@gobble}% + }% + \@tempcnta=\numexpr \dimexpr\layerwidth + .25in\relax/\dimexpr .5in\relax\relax + \multiput(0,-\layerheight\@gobble)(.5in\@gobble,0){\@tempcnta}{% + \line(0,1){2mm\@gobble}% + }% + \@tempcnta=\numexpr \dimexpr\layerwidth + .5in\relax/\dimexpr 1in\relax\relax + \multiput(0,-\layerheight\@gobble)(1in\@gobble,0){\@tempcnta}{% + \put(0,0){\line(0,1){3mm\@gobble}}% + \put(0,3.5mm\@gobble){% + \makebox(0,0)[cb]{\the\numexpr\@tempcnta-\@multicnt\relax}}% + }% +% \end{macrocode} +% 3rd vertical cm: +% \begin{macrocode} + \put(0,0){\line(0,-1){\layerheight\@gobble}}% + \@tempcnta\numexpr \dimexpr\layerheight + .5mm\relax/\dimexpr 1mm\relax\relax + \multiput(0,0)(0,-1mm\@gobble){\@tempcnta}{% + \line(1,0){1mm\@gobble}% + }% + \@tempcnta\numexpr \dimexpr\layerheight + 2.5mm\relax/\dimexpr 5mm\relax\relax + \multiput(0,0)(0,-5mm\@gobble){\@tempcnta}{% + \line(1,0){2mm\@gobble}% + }% + \@tempcnta\numexpr \dimexpr\layerheight + .5cm\relax/\dimexpr 1cm\relax\relax + \multiput(0,0)(0,-1cm\@gobble){\@tempcnta}{% + \put(0,0){\line(1,0){3mm\@gobble}}% + \put(3.5mm\@gobble,0){% + \makebox(0,0)[cl]{\the\numexpr\@tempcnta-\@multicnt\relax}}% + }% +% \end{macrocode} +% 4th vertical in: +% \begin{macrocode} + \put(\layerwidth\@gobble,0){\line(0,-1){\layerheight\@gobble}}% + \@tempcnta\numexpr \dimexpr\layerheight + .05in\relax/\dimexpr .1in\relax\relax + \multiput(\layerwidth\@gobble,0)(0,-.1in\@gobble){\@tempcnta}{% + \line(-1,0){1mm\@gobble}% + }% + \@tempcnta\numexpr \dimexpr\layerheight + .25in\relax/\dimexpr .5in\relax\relax + \multiput(\layerwidth\@gobble,0)(0,-.5in\@gobble){\@tempcnta}{% + \line(-1,0){2mm\@gobble}% + }% + \@tempcnta\numexpr \dimexpr\layerheight + .5in\relax/\dimexpr 1in\relax\relax + \multiput(\layerwidth\@gobble,0)(0,-1in\@gobble){\@tempcnta}{% + \put(0,0){\line(-1,0){3mm\@gobble}}% + \put(-3.5mm\@gobble,0){% + \makebox(0,0)[cr]{\the\numexpr\@tempcnta-\@multicnt\relax}}% + }% + \end{picture}}% +} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \layercontentsmeasure +% +% +% \subsection{Providing Page Styles} +% +% Page styles in \LaTeX{} consist of the elements: +% \begin{itemize} +% \item a header for odd pages, +% \item a header for even pages, +% \item a footer for odd pages, +% \item a footer for even pages, +% \end{itemize} +% and some optional additional commands, that will be expanded, whenever the +% page style will be activated. Note, that header and footer for even pages +% will be used only at two-sided mode. At one-sided mode the header and footer +% for odd pages will be used for all pages. +% +% With package \Package{scrlayer} layers will be linked to package styles and +% expanded at the four elements above. Background layers will expand only +% at the headers. Foreground layers will expand only at the +% footers. Layers, that haven't been restricted to background or foreground, +% will expand at both, page headers and page footers. +% +% Similar to the expansion of background and foreground layers, odd page +% layers will only expand in the headers or footers of odd pages and even page +% layers will only expand in the headers or footers of even pages. Layers, +% that haven't been restricted to odd or even pages, will expand in the +% headers or footers of odd pages and also in the headers or footers of even +% pages. +% +% One step more: Single-side layers will only expand in the headers or footers +% of pages in single-side layouts and two-side layers only in the headers or +% footers of pages in two-side layout. +% +% One more step: float page layers will only expand in the headers or footers +% of pages, that consists of page floats only, while non-float page layers +% will only expand in the headers of footers of pages, that doesn't have page +% floats. +% +% \begin{length}{\footheight} +% For the header \LaTeX{} already defines a length \Length{headheight} to be +% the maximum height of the header. But for footer it only defines the +% distance of the baseline of the footer from the last baseline of the text +% area. \Package{scrlayer} changes this and also defines a new length +% \Length{footheight}. This length will be initialised with magic value +% -12345\,sp. But if it is still that magic value at +% \Macro{begin}\PParameter{document} it will be reset to the value of +% \Length{baselineskip}. +% \begin{macrocode} +%<*package&init> +\@ifundefined{footheight}{% + \newlength{\footheight}% + \setlength{\footheight}{-12345sp}% +}{% +%<*trace> + \PackageInfo{scrlayer}{Using already defined \string\footheight\MessageBreak + hoping, that this is a length and\MessageBreak + not only a macro}% +%</trace> +} +\AtBeginDocument{% + \ifdim\footheight=-12345sp +%<*trace> + \PackageInfo{scrlayer}{Setting magic \string\footheight\space to + \string\baselineskip\space while\MessageBreak + \string\begin{document}}% +%</trace> + \setlength{\footheight}{\baselineskip} + \fi +} +%</package&init> +% \end{macrocode} +% \end{length}^^A \footheight +% +% +% Several of the following commands use \meta{key}=\meta{value} arguments. So +% we define a family with a new member: +% \begin{macrocode} +%<*package&body> +\DefineFamily{KOMAarg} +\DefineFamilyMember[.definelayerpagestyle]{KOMAarg} +%</package&body> +% \end{macrocode} +% +% \begin{macro}{\DeclarePageStyleByLayers} +% \begin{description} +% \item[\OParameter{option list}:] comma separated list of named page +% style options (see below). +% \item[\Parameter{string}:] the name of the page style to be declared (must +% be expandable and result in a string). +% \item[\Parameter{string list}:] comma separated list of layer names (must +% be expandable and result in strings); first in the list will be added +% first. +% \end{description} +% Page styles may be declared using this command. It has one optional and +% two mandatory arguments. The first mandatory one is the name of the page +% style and the second one is a list of layers to be used for this page +% style. The page style itself will expand all background layers for odd +% pages in \cs{@oddhead}, all background layers for even pages on +% \cs{@evenhead}, all foreground layers for odd pages in \cs{@oddfoot}, and +% all foreground layers for even pages in \cs{@evenfoot}. This may be +% restricted by additional attributes, e.g., \Option{oneside} and +% \Option{twoside}. +% +% The optional argument may be used to define hooks. There are six named +% optional arguments to set up six hooks. And there are also \KOMAScript{} +% options for these, to define global pre-definitions. Note, that you may +% remove the global pre-definitions by emptying the local hooks. The local +% argument are named similar, but without ``\texttt{ps}'' after +% ``\texttt{on}''. +% \begin{option}{onpsselect} +% \begin{macro}{\@ps@initialhook} +% \begin{description} +% \item[\texttt{=\meta{code}}:] executes \meta{code} whenever the +% page style will be selected, e.g. using \Macro{pagestyle} or +% \Macro{thispagestyle} or the low level command defining the page +% style itself. +% \end{description} +% \begin{macrocode} +%<*options> +\KOMA@key{onpsselect}{% + \l@addto@macro{\@ps@initialhook}{#1}% + \FamilyKeyStateProcessed +} +%<*interface> +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsselect} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsselect@default} +%</interface> +%<package>\newcommand*{\@ps@initialhook}{} +%</options> +%<*package&body> +\DefineFamilyKey[.definelayerpagestyle]{KOMAarg}{onselect}{% + \expandafter\l@addto@macro + \csname @ps@\scrlayer@current@pagestyle @initialhook\endcsname + {#1}% + \FamilyKeyStateProcessed +} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \@ps@initialhook +% \end{option}^^A onpsselect +% \begin{option}{onpsinit} +% \begin{macro}{\@ps@hook} +% \begin{description} +% \item[\texttt{=\meta{code}}:] executes \meta{code} whenever the +% output of a layer stack is initialised. Note, that \meta{code} must not +% result in any page output. Otherwise the output of the layer stack will be +% broken! +% \end{description} +% \begin{macrocode} +%<*options> +\KOMA@key{onpsinit}{% + \l@addto@macro{\@ps@hook}{#1}% + \FamilyKeyStateProcessed +} +%<*interface> +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsinit} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsinit@default} +%</interface> +%<package>\newcommand*{\@ps@hook}{} +%</options> +%<*package&body> +\DefineFamilyKey[.definelayerpagestyle]{KOMAarg}{oninit}{% + \expandafter\l@addto@macro + \csname @ps@\scrlayer@current@pagestyle @hook\endcsname + {#1}% + \FamilyKeyStateProcessed +} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \@ps@hook +% \end{option}^^A onpsinit +% \begin{option}{onpsoneside} +% \begin{macro}{\@ps@onesidehook} +% \begin{description} +% \item[\Option{=\meta{code}}:] executes \meta{code} after +% \Option{oninit}'s \meta{code} whenever the output of a layer stack of a +% page in single-side layout is initialised. Note, that \meta{code} must not +% result in any page output. Otherwise the output of the layer stack will be +% broken! +% \end{description} +% \begin{macrocode} +%<*options> +\KOMA@key{onpsoneside}{% + \l@addto@macro{\@ps@onesidehook}{#1}% + \FamilyKeyStateProcessed +} +%<*interface> +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsoneside} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsoneside@default} +%</interface> +%<package>\newcommand*{\@ps@onesidehook}{} +%</options> +%<*package&body> +\DefineFamilyKey[.definelayerpagestyle]{KOMAarg}{ononeside}{% + \expandafter\l@addto@macro + \csname @ps@\scrlayer@current@pagestyle @onesidehook\endcsname + {#1}% + \FamilyKeyStateProcessed +} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \@ps@onesidehook +% \end{option}^^A onpsoneside +% \begin{option}{onpstwoside} +% \begin{macro}{\@ps@twosidehook} +% \begin{description} +% \item[\Option{=\meta{code}}:] executes \meta{code} after +% \Option{oninit}'s \meta{code} whenever the output of a layer stack of a +% page in two-side layout is initialised. Note, that \meta{code} must not +% result in any page output. Otherwise the output of the layer stack will be +% broken! +% \end{description} +% \begin{macrocode} +%<*options> +\KOMA@key{onpstwoside}{% + \l@addto@macro{\@ps@twosidehook}{#1}% + \FamilyKeyStateProcessed +} +%<*interface> +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpstwoside} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpstwoside@default} +%</interface> +%<package>\newcommand*{\@ps@twosidehook}{} +%</options> +%<*package&body> +\DefineFamilyKey[.definelayerpagestyle]{KOMAarg}{ontwoside}{% + \expandafter\l@addto@macro + \csname @ps@\scrlayer@current@pagestyle @twosidehook\endcsname + {#1}% + \FamilyKeyStateProcessed +} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \@ps@twosidehook +% \end{option}^^A onpstwoside +% \begin{option}{onpsoddpage} +% \begin{macro}{\@ps@oddpagehook} +% \begin{description} +% \item[\texttt{=\meta{code}}:] executes \meta{code} after +% \Option{ononeside}'s or \Option{ontwoside}'s \meta{code} whenever the +% output of a layer stack of an odd page is initialised. Note, that +% \meta{code} must not result in any page output. Otherwise the output of +% the layer stack will be broken! +% \end{description} +% \begin{macrocode} +%<*options> +\KOMA@key{onpsoddpage}{% + \l@addto@macro{\@ps@oddpagehook}{#1}% + \FamilyKeyStateProcessed +} +%<*interface> +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsoddpage} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsoddpage@default} +%</interface> +%<package>\newcommand*{\@ps@oddpagehook}{} +%</options> +%<*package&body> +\DefineFamilyKey[.definelayerpagestyle]{KOMAarg}{onoddpage}{% + \expandafter\l@addto@macro + \csname @ps@\scrlayer@current@pagestyle @oddpagehook\endcsname + {#1}% + \FamilyKeyStateProcessed +} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \@ps@oddpagehook +% \end{option}^^A onpsoddpage +% \begin{option}{onpsevenpage} +% \begin{macro}{\@ps@evenpagehook} +% \begin{description} +% \item[\texttt{=\meta{code}}:] executes \meta{code} after +% \Option{ononeside}'s or \Option{ontwoside}'s \meta{code} whenever the +% output of a layer stack of an even page is initialised. Note, that +% \meta{code} must not result in any page output. Otherwise the output of +% the layer stack will be broken! +% \end{description} +% \begin{macrocode} +%<*options> +\KOMA@key{onpsevenpage}{% + \l@addto@macro{\@ps@evenpagehook}{#1}% + \FamilyKeyStateProcessed +} +%<*interface> +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsevenpage} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsevenpage@default} +%</interface> +%<package>\newcommand*{\@ps@evenpagehook}{} +%</options> +%<*package&body> +\DefineFamilyKey[.definelayerpagestyle]{KOMAarg}{onevenpage}{% + \expandafter\l@addto@macro + \csname @ps@\scrlayer@current@pagestyle @evenpagehook\endcsname + {#1}% + \FamilyKeyStateProcessed +} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \@ps@evenpagehook +% \end{option}^^A onpsevenpage +% \begin{option}{onpsfloatpage} +% \begin{macro}{\@ps@floatpagehook} +% \begin{description} +% \item[\Option{=\meta{code}}:] executes \meta{code} after +% \Option{onoddpage}'s or \Option{onevenpage}'s \meta{code} whenever a float +% column has been made (usually those pages are float pages). +% \end{description} +% \begin{macrocode} +%<*options> +\KOMA@key{onpsfloatpage}{% + \l@addto@macro{\@ps@floatpagehook}{#1}% + \FamilyKeyStateProcessed +} +%<*interface> +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsfloatpage} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsfloatpage@default} +%</interface> +%<package>\newcommand*{\@ps@floatpagehook}{} +%</options> +%<*package&body> +\DefineFamilyKey[.definelayerpagestyle]{KOMAarg}{onfloatpage}{% + \expandafter\l@addto@macro + \csname @ps@\scrlayer@current@pagestyle @floatpagehook\endcsname + {#1}% + \FamilyKeyStateProcessed +} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \@ps@floatpagehook +% \end{option}^^A onpsfloatpage +% \begin{option}{onpsnonfloatpage} +% \begin{macro}{\@ps@nonfloatpagehook} +% \begin{description} +% \item[\Option{=\meta{code}}:] executes \meta{code} after +% \Option{onoddpage}'s or \Option{onevenpage}'s \meta{code} whenever no +% float column has been made (usually those pages aren't float pages). +% \end{description} +% \begin{macrocode} +%<*options> +\KOMA@key{onpsnonfloatpage}{% + \l@addto@macro{\@ps@nonfloatpagehook}{#1}% + \FamilyKeyStateProcessed +} +%<*interface> +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsnonfloatpage} +\scrlayer@AddCsToInterface{% + KV@KOMA.\@currname.\@currext @onpsnonfloatpage@default} +%</interface> +%<package>\newcommand*{\@ps@nonfloatpagehook}{} +%</options> +%<*package&body> +\DefineFamilyKey[.definelayerpagestyle]{KOMAarg}{onnonfloatpage}{% + \expandafter\l@addto@macro + \csname @ps@\scrlayer@current@pagestyle @nonfloatpagehook\endcsname + {#1}% + \FamilyKeyStateProcessed +} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \@ps@nonfloatpagehook +% \end{option}^^A onpsnonfloatpage +% \begin{option}{onpsbackground} +% \begin{macro}{\@ps@backgroundhook} +% \begin{description} +% \item[\texttt{=\meta{code}}:] executes \meta{code} after +% \Option{onfloatpage}'s or \Option{onnonfloatpage}'s \meta{code} whenever +% the output of a background layer stack is initialised. Note, that +% \meta{code} must not result in any page output. Otherwise the output of +% the layer stack will be broken! +% \end{description} +% \begin{macrocode} +%<*options> +\KOMA@key{onpsbackground}{% + \l@addto@macro{\@ps@backgroundhook}{#1}% + \FamilyKeyStateProcessed +} +%<*interface> +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsbackground} +\scrlayer@AddCsToInterface{% + KV@KOMA.\@currname.\@currext @onpsbackground@default} +%</interface> +%<package>\newcommand*{\@ps@backgroundhook}{} +%</options> +%<*package&body> +\DefineFamilyKey[.definelayerpagestyle]{KOMAarg}{onbackground}{% + \expandafter\l@addto@macro + \csname @ps@\scrlayer@current@pagestyle @backgroundhook\endcsname + {#1}% + \FamilyKeyStateProcessed +} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \@ps@backgroundhook +% \end{option}^^A onbackground +% \begin{option}{onpsforeground} +% \begin{macro}{\@ps@foregroundhook} +% \begin{description} +% \item[\texttt{=\meta{code}}:] executes \meta{code} after +% \Option{onfloatpage}'s or \Option{onnonfloatpage}'s \meta{code} whenever +% the output of a foreground layer stack is initialised. Note, that +% \meta{code} must not result in any page output. Otherwise the output of +% the layer stack will be broken! +% \end{description} +% \begin{macrocode} +%<*options> +\KOMA@key{onpsforeground}{% + \l@addto@macro{\@ps@foregroundhook}{#1}% + \FamilyKeyStateProcessed +} +%<*interface> +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsforeground} +\scrlayer@AddCsToInterface{% + KV@KOMA.\@currname.\@currext @onpsforeground@default} +%</interface> +%<package>\newcommand*{\@ps@foregroundhook}{} +%</options> +%<*package&body> +\DefineFamilyKey[.definelayerpagestyle]{KOMAarg}{onforeground}{% + \expandafter\l@addto@macro + \csname @ps@\scrlayer@current@pagestyle @foregroundhook\endcsname + {#1}% + \FamilyKeyStateProcessed +} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \@psforegroundhook +% \end{option}^^A onpsforeground +% \begin{macrocode} +%<*package&body> +\newcommand*{\DeclarePageStyleByLayers}[3][]{% + \edef\scrlayer@current@pagestyle{\GetRealPageStyle{#2}}% + \expandafter\scrlayer@declare@ps@by@layers\expandafter{% + \scrlayer@current@pagestyle + }{#1}{#3}% +} +% \end{macrocode} +% \begin{macro}{\scrlayer@declare@ps@by@layers} +% Needed, because of page style aliases. Same arguments like +% \cs{DeclarePageStyleByLayers} but, \#1 is the name of the page style, \#2 is +% the list of options and \#3 is still the list of layers. +% \begin{macrocode} +\newcommand*{\scrlayer@declare@ps@by@layers}[3]{% + \@namedef{@ps@#1@initialhook}{\@ps@initialhook}% + \@namedef{@ps@#1@hook}{\@ps@hook}% + \@namedef{@ps@#1@backgroundhook}{\@ps@backgroundhook}% + \@namedef{@ps@#1@foregroundhook}{\@ps@foregroundhook}% + \@namedef{@ps@#1@oddpagehook}{\@ps@oddpagehook}% + \@namedef{@ps@#1@evenpagehook}{\@ps@evenpagehook}% + \@namedef{@ps@#1@onesidehook}{\@ps@onesidehook}% + \@namedef{@ps@#1@twosidehook}{\@ps@twosidehook}% + \@namedef{@ps@#1@floatpagehook}{\@ps@floatpagehook}% + \@namedef{@ps@#1@nonfloatpagehook}{\@ps@nonfloatpagehook}% + \FamilyExecuteOptions[.definelayerpagestyle]{KOMAarg}{#2}% + \@namedef{ps@#1}{% + \renewcommand*{\currentpagestyle}{#1}% + \@nameuse{@ps@@everystyle@@initialhook}% + \@nameuse{@ps@#1@initialhook}% + \renewcommand*{\currentpagestyle}{#1}% + \renewcommand*{\@oddhead}{% + \begingroup + \let\headmark\rightmark + \@nameuse{@ps@@everystyle@@hook}% + \@nameuse{@ps@#1@hook}% + \@nameuse{@ps@@everystyle@@\if@twoside two\else one\fi sidehook}% + \@nameuse{@ps@#1@\if@twoside two\else one\fi sidehook}% + \@nameuse{@ps@@everystyle@@oddpagehook}% + \@nameuse{@ps@#1@oddpagehook}% + \@nameuse{@ps@@everystyle@@\if@fcolmade\else non\fi floatpagehook}% + \@nameuse{@ps@#1@\if@fcolmade\else non\fi floatpagehook}% + \@nameuse{@ps@@everystyle@@backgroundhook}% + \@nameuse{@ps@#1@backgroundhook}% + \parbox[t][\headheight][t]{\linewidth}{% + \vskip \dimexpr -\topmargin-1in + -\headheight + -\ht\strutbox\relax + \hskip \dimexpr -\oddsidemargin-1in\relax + \strut\makebox[\z@][l]{% + \ForEachLayerOfPageStyle{@everystyle@}{% + \scrlayer@do@page@style@element@layer{background}{odd}% + {########1}% + }% + \ForEachLayerOfPageStyle{#1}{% + \scrlayer@do@page@style@element@layer{background}{odd}% + {########1}% + }% + }% + }% + \endgroup + }% + \renewcommand*{\@evenhead}{% + \begingroup + \let\headmark\leftmark + \@nameuse{@ps@@everystyle@@hook}% + \@nameuse{@ps@#1@hook}% + \@nameuse{@ps@@everystyle@@twosidehook}% + \@nameuse{@ps@#1@twosidehook}% + \@nameuse{@ps@@everystyle@@evenpagehook}% + \@nameuse{@ps@#1@evenpagehook}% + \@nameuse{@ps@@everystyle@@\if@fcolmade\else non\fi floatpagehook}% + \@nameuse{@ps@#1@\if@fcolmade\else non\fi floatpagehook}% + \@nameuse{@ps@@everystyle@@backgroundhook}% + \@nameuse{@ps@#1@backgroundhook}% + \parbox[t][\headheight][t]{\linewidth}{% + \vskip \dimexpr -\topmargin-1in + -\headheight + -\ht\strutbox\relax + \hskip \dimexpr-\evensidemargin-1in\relax + \strut\makebox[\z@][l]{% + \ForEachLayerOfPageStyle{@everystyle@}{% + \scrlayer@do@page@style@element@layer{background}{even}% + {########1}% + }% + \ForEachLayerOfPageStyle{#1}{% + \scrlayer@do@page@style@element@layer{background}{even}% + {########1}% + }% + }% + }% + \endgroup + }% + \renewcommand*{\@oddfoot}{% + \begingroup + \let\headmark\rightmark + \@nameuse{@ps@@everystyle@@hook}% + \@nameuse{@ps@#1@hook}% + \@nameuse{@ps@@everystyle@@\if@twoside two\else one\fi sidehook}% + \@nameuse{@ps@#1@\if@twoside two\else one\fi sidehook}% + \@nameuse{@ps@@everystyle@@oddpagehook}% + \@nameuse{@ps@#1@oddpagehook}% + \@nameuse{@ps@@everystyle@@\if@fcolmade\else non\fi floatpagehook}% + \@nameuse{@ps@#1@\if@fcolmade\else non\fi floatpagehook}% + \@nameuse{@ps@@everystyle@@foregroundhook}% + \@nameuse{@ps@#1@foregroundhook}% + \parbox[t][\headheight][t]{\linewidth}{% + \vskip \dimexpr -\topmargin-1in + -\headheight + -\headsep + -\textheight + -\footskip + -\ht\strutbox\relax + \hskip \dimexpr -\oddsidemargin-1in\relax + \strut\makebox[\z@][l]{% + \ForEachLayerOfPageStyle{@everystyle@}{% + \scrlayer@do@page@style@element@layer{foreground}{odd}% + {########1}% + }% + \ForEachLayerOfPageStyle{#1}{% + \scrlayer@do@page@style@element@layer{foreground}{odd}% + {########1}% + }% + }% + }% + \endgroup + }% + \renewcommand*{\@evenfoot}{% + \begingroup + \let\headmark\leftmark + \@nameuse{@ps@@everystyle@@hook}% + \@nameuse{@ps@#1@hook}% + \@nameuse{@ps@@everystyle@@twosidehook}% + \@nameuse{@ps@#1@twosidehook}% + \@nameuse{@ps@@everystyle@@evenpagehook}% + \@nameuse{@ps@#1@evenpagehook}% + \@nameuse{@ps@@everystyle@@\if@fcolmade\else non\fi floatpagehook}% + \@nameuse{@ps@#1@\if@fcolmade\else non\fi floatpagehook}% + \@nameuse{@ps@@everystyle@@foregroundhook}% + \@nameuse{@ps@#1@foregroundhook}% + \parbox[t][\headheight][t]{\linewidth}{% + \vskip \dimexpr -\topmargin-1in + -\headheight + -\headsep + -\textheight + -\footskip + -\ht\strutbox\relax + \hskip \dimexpr-\evensidemargin-1in\relax + \strut\makebox[\z@][l]{% + \ForEachLayerOfPageStyle{@everystyle@}{% + \scrlayer@do@page@style@element@layer{foreground}{even}% + {########1}% + }% + \ForEachLayerOfPageStyle{#1}{% + \scrlayer@do@page@style@element@layer{foreground}{even}% + {########1}% + }% + }% + }% + \endgroup + }% + }% + \@namedef{@ps@#1@layers}{}% + \@for \reserved@a:=#3\do {% + \ifstr\reserved@a\@empty{}{% + \expandafter\@cons\csname @ps@#1@layers\endcsname{{\reserved@a}}% + }% + }% +} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \scrlayer@declare@ps@by@layers +% +% \begin{macro}{\ForEachLayerOfPageStyle} +% \begin{description} +% \item[\Parameter{string}:] a valid page style (must be fully expandable +% and expand to the name of a existing page style); note, that currently +% no exists test will be done. +% \item[\Parameter{code}:] any macro definition body with usage of at most +% one argument (\texttt{\#1}), that will be replaced by the layer's name +% \end{description} +% Do the given \meta{code} for each layer of the page style +% \meta{string}. Note, that the expansion of \meta{code} will be done inside +% a group. +% \begin{macrocode} +%<*package&body> +\newcommand*{\ForEachLayerOfPageStyle}[2]{% + \begingroup + \edef\reserved@a{\GetRealPageStyle{#1}}% + \def\@elt##1{\ifscrlayer@deactivate@layers\else #2\fi}% + \@nameuse{@ps@\reserved@a @layers}% + \endgroup +} +%</package&body> +% \end{macrocode} +% \begin{option}{deactivatepagestylelayers} +% \begin{macro}{\ifscrlayer@deactivate@layers} +% \begin{description} +% \item[\Parameter{simple switch}:] whether or not +% \Macro{ForEachLayerOfPageStyle} should ignore the layers. +% \end{description} +% This is a global \KOMAScript{} options. Several other definitions and at +% least the usage of the page style will ignore the layers if +% \Macro{ForEachLayerOfPageStyle} ignores them. So this is something like: +% hide the layers. It may also be useful inside the code for the hooks +% described above, because hooks may used to deactivate the layers with this +% option too. +% \begin{macrocode} +%<*options> +\KOMA@ifkey{deactivatepagestylelayers}{scrlayer@deactivate@layers} +%<*interface> +\scrlayer@AddCsToInterface{% + KV@KOMA.\@currname.\@currext @deactivatepagestylelayers} +\scrlayer@AddCsToInterface{% + KV@KOMA.\@currname.\@currext @deactivatepagestylelayers@default} +%</interface> +%</options> +% \end{macrocode} +% \end{macro}^^A \ifscrlayer@deactivate@layers +% \end{option}^^A deactivatepagestylelayers +% \end{macro}^^A \ForEachLayerOfPageStyle +% +% \begin{macro}{\scrlayer@do@page@style@element@layer} +% Helper macro to show one layer. First argument is either ``background'' or +% ``foreground'', second argument is either ``odd'' or ``even'', and third +% argument is the name of the layer. Note, that in draft mode for every layer +% will be shown also a \cs{layercontentsmeasure}. +% \begin{macrocode} +%<*package&body> +\newcommand*{\scrlayer@do@page@style@element@layer}[3]{% + \begingroup + \expandafter\ifx\csname if@scr@l@#3@\if@fcolmade\else non\fi floatpage% + \expandafter\endcsname\csname iftrue\endcsname + \expandafter\ifx\csname if@scr@l@#3@\if@twoside two\else one\fi side% + \expandafter\endcsname\csname iftrue\endcsname + \expandafter + \ifx\csname if@scr@l@#3@#1\expandafter\endcsname + \csname iftrue\endcsname + \expandafter + \ifx\csname if@scr@l@#3@#2\expandafter\endcsname + \csname iftrue\endcsname + \ifscrlayer@draft + \scr@layerbox(\csname scr@l@#3@x\endcsname,% + \csname scr@l@#3@y\endcsname)% + (\csname scr@l@#3@w\endcsname,% + \csname scr@l@#3@h\endcsname)% + [\csname scr@l@#3@align\endcsname]% + {\layercontentsmeasure}% + \fi + \scr@layerbox(\csname scr@l@#3@x\endcsname,% + \csname scr@l@#3@y\endcsname)% + (\csname scr@l@#3@w\endcsname,% + \csname scr@l@#3@h\endcsname)% + [\csname scr@l@#3@align\endcsname]% + {\csname scr@l@#3@contents\endcsname}% + \fi + \fi + \fi + \fi + \endgroup +} +% \end{macrocode} +% \begin{macro}{\scr@layerbox} +% \begin{macro}{\scr@@layerbox} +% The layer box is used to output a layer in \cs{@oddhead}, \cs{@evenhead}, +% \cs{@oddfoot}, or \cs{@evenfoot}. Is has two pairs of arguments: ($x,y$) +% and ($w,h$), where $x$ is the distance from left paper edge, $y$ is the +% distance from the topmost edge of paper, $w$ is the width of the box and $h$ +% is the height of the box. The fifth argument is an optional vertical and +% horizontal alignment of the box. It may be a combination of the alignment +% characters described above. The sixth and last argument is the contents of +% the layer, to be placed into the last argument of the innermost +% \cs{parbox}. +% \begin{macrocode} +\def\scr@layerbox(#1,#2)(#3,#4){% + \@ifnextchar [%] + {\scr@@layerbox(#1,#2)(#3,#4)}{\scr@@layerbox(#1,#2)(#3,#4)[]}% +} +\def\scr@@layerbox(#1,#2)(#3,#4)[#5]#6{% + \begingroup + \edef\layerxoffset{#1}% + \edef\layeryoffset{#2}% + \edef\layerwidth{#3}% + \edef\layerheight{#4}% + \def\scr@l@valign{t}% + \def\scr@l@halign{l}% + \edef\reserved@b{#5}% + \expandafter\@tfor\expandafter\reserved@a\expandafter:\expandafter=% + \reserved@b\do{% + \if t\reserved@a + \def\scr@l@valign{t}% + \else + \if c\reserved@a + \def\scr@l@valign{c}% + \def\scr@l@halign{c}% + \else + \if b\reserved@a + \def\scr@l@valign{b}% + \else + \if l\reserved@a + \def\scr@l@halign{l}% + \else + \if r\reserved@a + \def\scr@l@halign{r}% + \else + \PackageWarning{scrlayer}{% + Unknown alignment `\reserved@a' ignored}% + \fi + \fi + \fi + \fi + \fi + }% + \parbox[t][\z@][t]{\z@}{% + \vskip\layeryoffset + \if b\scr@l@valign\vskip-\layerheight\fi + \if c\scr@l@valign\vskip-.5\dimexpr\layerheight\relax\fi + \makebox[\z@][l]{% + \hskip\layerxoffset + \makebox[\z@][\scr@l@halign]{% + \parbox[\scr@l@valign][\layerheight][\scr@l@valign]{\layerwidth}{% + \vskip\z@\strut{% + \ifscrlayer@forceignoreuppercase + \expandafter\let\csname MakeUppercase \endcsname\@firstofone + \let\MakeUppercase\@firstofone + \let\uppercase\@firstofone + \fi + #6% + }\strut\vskip\z@ + }% + }% + }% + }% + \endgroup +} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \scr@@layerbox +% \end{macro}^^A \scr@layerbox +% \begin{option}{draft} +% \begin{macro}{\ifscrlayer@draft} +% \begin{description} +% \item[\Parameter{simple switch}:] whether or not to use the draft mode, +% that, i.e., activates visualisation of the layers. +% \end{description} +% When option is set, every layer is shown twice: one time with it's own +% contents and one time with contents \Macro{layercontentsmeasure}. +% \begin{macrocode} +%<*options> +\KOMA@ifkey{draft}{scrlayer@draft} +%<*interface> +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @draft} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @draft@default} +%</interface> +%</options> +% \end{macrocode} +% \end{macro}^^A \ifscrlayer@draft +% \end{option}^^A draft +% \end{macro}^^A \scrlayer@do@page@style@element@layer +% \end{macro}^^A \DeclarePageStyleByLayers +% +% +% \begin{macro}{\DeclareNewPageStyleByLayers} +% Arguments like \Macro{DeclarePageStyleByLayers}; results in error if the page +% style has been defined (or declared) already. +% \begin{macro}{\ProvidePageStyleByLayers} +% Arguments like \Macro{DeclarePageStyleByLayers}; doesn't define anything it +% the page style has been defined (or declared) already. +% \begin{macro}{\RedeclarePageStyleByLayers} +% Arguments like \Macro{DeclarePageStyleByLayers}; results in error if the page +% style hasn't been defined (or declared) already. +% \begin{macrocode} +%<*package&body> +\newcommand*{\DeclareNewPageStyleByLayers}[2][]{% + \@ifundefined{ps@#2}{}{% + \PackageError{scrlayer}{% + Page style `#2' already defined% + }{% + You may use \string\DeclareNewPageStyleByLayers\space to declare a new + page style only\MessageBreak + if that page style hasn't been declared or defined before.\MessageBreak + You may use either \string\ProvidePageStyleByLayers\space to declare the + page style only\MessageBreak + if it hasn't been declared or defined before, or + \string\RedeclarePageStyleByLayers\MessageBreak + to overwrite the former + declaration or definition of the page style% + \@ifundefined{@ps@#2@layers}{}{,\MessageBreak + or \string\AddLayersToPageStyle\space to add further layers to the + already declared\MessageBreak + page style, or \string\RemoveLayersFromPageStyle\space to remove + layers from the\MessageBreak + already declared page style}.\MessageBreak + Nevertheless, if you'll continue, the page style will be + overwritten\MessageBreak + by the new declaration.% + }% + }% + \DeclarePageStyleByLayers[{#1}]{#2}% +} +\newcommand*{\ProvidePageStyleByLayers}[3][]{% + \@ifundefined{ps@#2}{% + \DeclarePageStyleByLayers[{#1}]{#2}{#3}% + }{% +%<*trace> + \PackageInfo{scrlayer}{% + \string\ProvidePageStyleByLayers{#2}{#3} ignored,\MessageBreak + because page style `#2'\MessageBreak + already exists% + }% +%</trace> + }% +} +\newcommand*{\RedeclarePageStyleByLayers}[2][]{% + \@ifundefined{ps@#2}{% + \PackageError{scrlayer}{% + Page style `#2' not yet defined% + }{% + You may use \string\RedeclarePageStyleByLayers\space to declare a page + style only\MessageBreak + if that page style has already been declared or defined.\MessageBreak + You may use either \string\DeclareNewPageStyleByLayers, + \string\DeclarePageStyleByLayers,\MessageBreak + or \string\ProvidePageStyleByLayers\space to declare that not yet + defined page style.\MessageBreak + Nevertheless, if you'll continue, the page style will be declared.% + }% + }{}% + \DeclarePageStyleByLayers[{#1}]{#2}% +} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \RedeclarePageStyleByLayers +% \end{macro}^^A \ProvidePageStyleByLayers +% \end{macro}^^A \DeclareNewPageStyleByLayers +% +% We also declare page style \Pagestyle{@everystyle@} by default. You should +% not use this page style as an real page style (even not as the empty +% one). The layers of this page style will be used by every other layer page +% style. An we re-declare \Pagestyle{empty} to be a layer page style. +% \begin{macrocode} +%<*package&final> +\DeclareNewPageStyleByLayers{@everystyle@}{} +\RedeclarePageStyleByLayers{empty}{} +%</package&final> +% \end{macrocode} +% +% \begin{macro}{\AddLayersToPageStyle} +% \begin{macro}{\AddLayersAtBeginOfPageStyle} +% \begin{macro}{\AddLayersAtEndOfPageStyle} +% \begin{macro}{\RemoveLayersFromPageStyle} +% \begin{description} +% \item[\Parameter{string}:] the name of the page style to be modified (must +% be expandable and result in a string). +% \item[\Parameter{string list}:] comma separated list of layer names (must +% be expandable and result in strings); first in the list will be added +% first. +% \end{description} +% Change the layer list of a given page style. The differences between the +% commands are: +% \begin{description} +% \item[\Macro{AddLayersToPageStyle}:] first in the \meta{string list} will +% be added first at the end. +% \item[\Macro{AddLayersAtBeginOfPageStyle}:] first in the \meta{string list} +% will be added first at the start. Note, that this will result in changing +% the order of the layers in \meta{string list}. +% \item[\Macro{AddLayerAtEndOfPageStyle}:] same like +% \Macro{AddLayerToPageStyle}. +% \item[\Macro{RemoveLayersFromPageStyle}:] remove the layers from the page +% style's layer list. +% \end{description} +% \begin{macrocode} +%<*package&body> +\newcommand*{\AddLayersToPageStyle}[2]{% + \edef\reserved@b{\GetRealPageStyle{#1}}% + \IfLayerPageStyleExists{\reserved@b}{% + \@for \reserved@a:=#2\do {% + \ifstr\reserved@a\@empty{}{% + \expandafter\@cons\csname @ps@\reserved@b @layers\endcsname + {{\reserved@a}}% + }% + }% + }{% + \scrlayer@lpm@error{#1}{adding layers}% + }% +} +\newcommand*{\AddLayersAtEndOfPageStyle}{% + \AddLayersToPageStyle +} +\newcommand*{\AddLayersAtBeginOfPageStyle}[2]{% + \begingroup + \let\@cons\@snoc + \AddLayersToPageStyle{#1}{#2}% + \endgroup +} +% \end{macrocode} +% \begin{macro}{\@snoc} +% \cs{@snoc} is a helper macro similar to \cs{@cons} from \LaTeX{} kernel, but +% it appends at the front instead of the end. +% \begin{macrocode} +\newcommand*{\@snoc}[2]{% + \begingroup\let\@elt\relax\xdef#1{\@elt #2#1}\endgroup +} +% \end{macrocode} +% \end{macro}^^A \@snoc +% \begin{macrocode} +\newcommand*{\RemoveLayersFromPageStyle}[2]{% + \edef\reserved@b{\GetRealPageStyle{#1}}% + \IfLayerPageStyleExists{#1}{% + \@for \reserved@a:=#2\do {% + \ifstr\reserved@a\@empty{}{% + \expandafter\remove@layer@from@page@style\expandafter{\reserved@a}% + {\reserved@b}% + }% + }% + }{% + \scrlayer@lpm@error{#1}{removing layers}% + }% +} +% \end{macrocode} +% \begin{macro}{\remove@layer@from@page@style} +% Helper macro to remove exactly one layer (arg 1) from a page style (arg 2). +% \begin{macrocode} +\newcommand*{\remove@layer@from@page@style}[2]{% + \begingroup + \expandafter\let\expandafter\reserved@a\csname @ps@#2@layers\endcsname + \@namedef{@ps@#2@layers}{}% + \def\@elt##1{% + \ifstr{#1}{##1}{}{% + \expandafter\@cons\csname @ps@#2@layers\endcsname{{##1}}% + }% + }\reserved@a + \endgroup +} +% \end{macrocode} +% \end{macro}^^A \remoce@layer@from@page@style +% \begin{macro}{\scrlayer@lpm@error} +% \begin{description} +% \item[\Parameter{string}:] the name of the page style to be modified (must +% be expandable and result in a string). +% \item[\Parameter{string}:] the kind of modification, that isn't allowed +% (must be expandable and result in a string). +% \end{description} +% Show an error because of page style it either not a defined or not a layer +% page style. +% \begin{macrocode} +\newcommand*{\scrlayer@lpm@error}[2]{% + \PackageError{scrlayer}{`#1' is not a layer page style}{% + \scr@ifundefinedorrelax{ps@#1}{% + Page style `#1' is not defined, + }{% + Page style `#1' is not a layer page style, + }% + but #2\MessageBreak + may be used only for layer page styles declared using\MessageBreak + \string\DeclarePageStyleByLayers, + \string\DeclareNewPageStyleByLayers,\MessageBreak + of \string\ProvidePageStyleByLayers.\MessageBreak + If you'll continue, your operation will be ignored.% + }% +} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \scrlayer@lpm@error +% \end{macro}^^A \RemoveLayersFromPageStyle +% \end{macro}^^A \AddLayersAtEndOfPageStyle +% \end{macro}^^A \AddLayersAtBeginOfPageStyle +% \end{macro}^^A \AddLayersToPageStyle +% +% \begin{macro}{\AddLayersToPageStyleBeforeLayer} +% \begin{macro}{\AddLayersToPageStyleAfterLayer} +% \begin{description} +% \item[\Parameter{string}:] the name of the page style to be modified (must +% be expandable and result in a string). +% \item[\Parameter{string list}:] comma separated list of layer names (must +% be expandable and result in strings); first in the list will be added +% first. +% \item[\Parameter{string}:] the name of the layer before +% (\Macro{AddLayersToPageStyleBeforeLayer}) or after +% (\Macro{AddLayersToPageStyleAfterLayer}) that the layers of the list +% should be added. +% \end{description} +% Note: If the layer from third argument is not part of the page style's layer +% list, the new layers won't be added anywhere. +% \begin{macrocode} +%<*package&body> +\newcommand*{\AddLayersToPageStyleAfterLayer}[3]{% + \edef\reserved@b{\GetRealPageStyle{#1}}% + \IfLayerPageStyleExists{\reserved@b}{% + \begingroup + \expandafter\let\expandafter\reserved@a + \csname @ps@\reserved@b @layers\endcsname + \@namedef{@ps@\reserved@b @layers}{}% + \def\@elt##1{% + \ifstr{##1}\@empty{}{% + \expandafter\@cons\csname @ps@\reserved@b @layers\endcsname{{##1}}% + \ifstr{##1}{#3}{% + \@for \reserved@a:=#2\do {% + \ifstr\reserved@a\@empty{}{% + \expandafter\@cons\csname @ps@\reserved@b @layers\endcsname + {{\reserved@a}}% + }% + }% + }{}% + }% + }% + \reserved@a + \endgroup + }{% + \scrlayer@lpm@error{#1}{adding layers}% + }% +} +\newcommand*{\AddLayersToPageStyleBeforeLayer}[3]{% + \edef\reserved@b{\GetRealPageStyle{#1}}% + \IfLayerPageStyleExists{\reserved@b}{% + \begingroup + \expandafter\let\expandafter\reserved@a + \csname @ps@\reserved@b @layers\endcsname + \@namedef{@ps@\reserved@b @layers}{}% + \def\@elt##1{% + \ifstr{##1}\@empty{}{% + \ifstr{##1}{#3}{% + \@for \reserved@a:=#2\do {% + \ifstr\reserved@a\@empty{}{% + \expandafter\@cons\csname @ps@\reserved@b @layers\endcsname + {{\reserved@a}}% + }% + }% + }{}% + \expandafter\@cons\csname @ps@#1@layers\endcsname{{##1}}% + }% + }% + \reserved@a + \endgroup + }{% + \scrlayer@lpm@error{#1}{adding layers}% + }% +} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \AddLayersToPageStyleAfterLayer +% \end{macro}^^A \AddLayersToPageStyleBeforeLayer +% +% +% \begin{macro}{\UnifyLayersAtPageStyle} +% \begin{description} +% \item[\Parameter{string}:] the name of the page style to be unified (must +% be expandable and result in a string). +% \end{description} +% Remove doublets of layers from a page style. +% \begin{macrocode} +%<*package&body> +\newcommand*{\UnifyLayersAtPageStyle}[1]{% + \edef\reserved@b{\GetRealPageStyle{#1}}% + \IfLayerPageStyleExists{\reserved@b}{% + \expandafter\let\expandafter\reserved@a + \csname @ps@\reserved@b @layers\endcsname + \@namedef{@ps@\reserved@b @layers}{}% + \begingroup + \def\@elt##1{% + \ifstr{##1}\@empty{}{% + \remove@layer@from@page@style{##1}{\reserved@b}% + \expandafter\@cons\csname @ps@\reserved@b @layers\endcsname{{##1}}% + }% + }% + \reserved@a + \endgroup + }{% + \scrlayer@lpm@error{#1}{unifying}% + }% +} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \UnifyLayersAtPageStyle +% +% \begin{macro}{\ModifyLayerPageStyleOptions} +% \begin{macro}{\AddToLayerPageStyleOptions} +% \begin{description} +% \item[\Parameter{string}:] the name of the page style to be modified (must +% be expandable and result in a string). +% \item[\Parameter{option list}:] comma separated list of named page +% style options. You may use any of the options provided for +% \Macro{DeclarePageStyle}. +% \end{description} +% \Macro{ModifyLayerPageStyleOptions} replaces the options and only the +% options from the list by their new +% values. \Macro{AddToLayerPageStyleOptions} adds the new values to the +% already given. +% \begin{macrocode} +%<*package&body> +\newcommand*{\ModifyLayerPageStyleOptions}[2]{% + \edef\reserved@a{\GetRealPageStyle{#1}}% + \IfLayerPageStyleExists{#1}{% + \expandafter\scrlayer@modify@layer@ps@options\expandafter{% + \reserved@a + }{#2}% + }{% + \scrlayer@lpm@error{#1}{modifying}% + }% +} +% \end{macrocode} +% \begin{macro}{\scrlayer@modify@layer@ps@options} +% Helper needed because of alias page styles. Same parameters like +% \cs{ModifyLayerPageStyleOptions} +% \begin{macrocode} +\newcommand*{\scrlayer@modify@layer@ps@options}[2]{% + \begingroup + \def\scrlayer@current@pagestyle{#1}% + \@namedef{@ps@#1@initialhook}{}% + \@namedef{@ps@#1@hook}{}% + \@namedef{@ps@#1@backgroundhook}{}% + \@namedef{@ps@#1@foregroundhook}{}% + \@namedef{@ps@#1@oddpagehook}{}% + \@namedef{@ps@#1@evenpagehook}{}% + \@namedef{@ps@#1@onesidehook}{}% + \@namedef{@ps@#1@twosidehook}{}% + \@namedef{@ps@#1@floatpagehook}{}% + \@namedef{@ps@#1@nonfloatpagehook}{}% + \FamilyExecuteOptions[.definelayerpagestyle]{KOMAarg}{#2}% + \def\reserved@a{\endgroup}% + \def\@sls@##1{% + \expandafter\let\expandafter\reserved@b\csname @ps@#1@##1hook\endcsname + \ifx\reserved@b\@empty\else + \l@addto@macro\reserved@a{\@namedef{@ps@#1@##1hook}}% + \expandafter\l@addto@macro\expandafter\reserved@a\expandafter{% + \expandafter{% + \reserved@b + }% + }% + \fi + }% + \@sls@{initial}% + \@sls@{}% + \@sls@{background}% + \@sls@{foreground}% + \@sls@{oddpage}% + \@sls@{evenpage}% + \@sls@{oneside}% + \@sls@{twoside}% + \@sls@{floatpage}% + \@sls@{nonfloatpage}% + \reserved@a +} +% \end{macrocode} +% \end{macro}^^A \scrlayer@modify@layer@ps@options +% \begin{macrocode} +\newcommand*{\AddToLayerPageStyleOptions}[2]{% + \IfLayerPageStyleExists{#1}{% + \def\scrlayer@current@pagestyle{#1}% + \FamilyExecuteOptions[.definelayerpagestyle]{KOMAarg}{#2}% + }{% + \scrlayer@lpm@error{#1}{modifying}% + }% +} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \AddToLayerPageStyleOptions +% \end{macro}^^A \ModifyLayerPageStyleOptions +% +% \begin{macro}{\DeclarePageStyleAlias} +% \begin{macro}{\DeclareNewPageStyleAlias} +% \begin{macro}{\ProvidePageStyleAlias} +% \begin{macro}{\RedeclarePageStyleAlias} +% \begin{description} +% \item[\Parameter{string}:] The name of the page style to be declared +% (must be expandable and result in a string). +% \item[\Parameter{string}:] The name of the existing page style +% (must be expandable and result in a string). +% \end{description} +% \begin{macrocode} +%<*package&body> +\newcommand*{\DeclarePageStyleAlias}[2]{% + \edef\reserved@a{\GetRealPageStyle{#2}}% + \scr@ifundefinedorrelax{ps@\reserved@a}{% + \PackageError{scrlayer}{unknown real page style `#2'}{% + You've tried to declare an alias for page style `#2',\MessageBreak + but the real page style of `#2' is undefined.\MessageBreak + You can define aliases, only if the real page style has been + defined.\MessageBreak + If you'll continue, the declaration will be ignored.% + }% + \DestroyRealLayerPageStyle{#1}% + \DestroyLayerAlias{#1}% + }{% + \@namedef{@ps@#1@alias}{#2}% + \@namedef{ps@#1}{\pagestyle{\@nameuse{@ps@#1@alias}}}% + }% +} +\newcommand*{\DeclareNewPageStyleAlias}[1]{% + \@ifundefined{ps@#1}{}{% + \PackageError{scrlayer}{% + Page style `#1' already defined% + }{% + You may use \string\DeclareNewPageStyleAlias\space to declare a new + page style only\MessageBreak + if that page style hasn't been declared or defined before.\MessageBreak + You may use either \string\ProvidePageStyleAlias\space to declare the + page style only\MessageBreak + if it hasn't been declared or defined before, or + \string\RedeclarePageStyleAlias\MessageBreak + to overwrite the former declaration or definition of the page + style\MessageBreak + Nevertheless, if you'll continue, the page style will be + overwritten\MessageBreak + by the new alias.% + }% + }% + \DeclarePageStyleAlias{#1}% +} +\newcommand*{\ProvidePageStyleAlias}[2]{% + \@ifundefined{ps@#1}{% + \DeclarePageStyleAlias{#1}{#2}% + }{% +%<*trace> + \PackageInfo{scrlayer}{% + \string\ProvidePageStyleAlias{#1}{#2} ignored,\MessageBreak + because page style `#1' already\MessageBreak + exists% + }% +%</trace> + }% +} +\newcommand*{\RedeclarePageStyleAlias}[1]{% + \@ifundefined{ps@#1}{% + \PackageError{scrlayer}{% + Page style `#1' not yet defined% + }{% + You may use \string\RedeclarePageStyleAlias\space to declare a page + style only\MessageBreak + if that page style has already been declared or defined.\MessageBreak + You may use either \string\DeclareNewPageStyleAlias, + \string\DeclarePageStyleAlias,\MessageBreak + or \string\ProvidePageStyleAlias\space to declare that not yet + defined page style.\MessageBreak + Nevertheless, if you'll continue, the page style will be declared.% + }% + }{}% + \DeclarePageStyleAlias{#1}% +} +% \end{macrocode} +% \end{macro}^^A \RedeclarePageStyleAlias +% \end{macro}^^A \ProvidePageStyleAlias +% \end{macro}^^A \DeclareNewPageStyleAlias +% \end{macro}^^A \DeclarePageStyleAlias +% +% \begin{macro}{\DestroyPageStyleAlias} +% \begin{description} +% \item[\Parameter{string}:] the name of a page style (must be +% expandable and result in a string). +% \end{description} +% \begin{macrocode} +\newcommand*{\DestroyPageStyleAlias}[1]{% + \scr@ifundefinedorrelax{@ps@#1@alias}{}{% + \expandafter\let\csname @ps@#1@alias\endcsname\relax + \expandafter\let\csname ps@#1\endcsname\relax + }% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\GetRealPageStyle} +% \begin{description} +% \item[\Parameter{string}:] the name of a page style (must be +% expandable and result in a string). +% \end{description} +% Get the real name of the page style. +% \begin{macrocode} +\newcommand*{\GetRealPageStyle}[1]{% + \scr@ifundefinedorrelax{@ps@#1@alias}{#1}{% + \expandafter\GetRealPageStyle\expandafter{% + \expandafter\csname @ps@#1@alias\expandafter\endcsname\expandafter}% + }% +} +%</package&body> +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\IfLayerPageStyleExists} +% \begin{macro}{\IfRealLayerPageStyleExists} +% \begin{description} +% \item[\Parameter{string}:] the name of the page style to be tested (must +% be expandable and result in a string). +% \item[\Parameter{code}:] whatever code should be expanded, if the test +% result is true. +% \item[\Parameter{code}:] whatever code should be expanded, if the test +% result is false. +% \end{description} +% Test, whether or not the page style is a declared layer page style. +% \begin{macrocode} +%<*package&body> +\newcommand*{\IfLayerPageStyleExists}[1]{% + \scr@ifundefinedorrelax{ps@#1}{% + \expandafter\@secondoftwo + }{% + \scr@ifundefinedorrelax{@ps@#1@layers}{% + \scr@ifundefinedorrelax{@ps@#1@alias}{% + \expandafter\@secondoftwo + }{% + \expandafter\IfLayerPageStyleExists\expandafter{% + \expandafter\csname @ps@#1@alias\expandafter\endcsname\expandafter}% + }% + }{% + \expandafter\@firstoftwo + }% + }% +} +\newcommand*{\IfRealLayerPageStyleExists}[1]{% + \scr@ifundefinedorrelax{ps@#1}{% + \expandafter\@secondoftwo + }{% + \scr@ifundefinedorrelax{@ps@#1@layers}{% + \expandafter\@secondoftwo + }{% + \expandafter\@firstoftwo + }% + }% +} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \IfRealLayerPageStyleExists +% \end{macro}^^A \IfLayerPageStyleExists +% +% \begin{macro}{\IfLayerAtPageStyle} +% \begin{macro}{\IfSomeLayersAtPageStyle} +% \begin{macro}{\IfLayersAtPageStyle} +% \begin{description} +% \item[\Parameter{string}:] the name of the page style to be tested (must +% be expandable and result in a string). +% \item[\Parameter{string}:] the name(s) of the layer(s) to be tested (must be +% expandable and result in a string). +% \item[\Parameter{code}:] whatever code should be expanded, if the test +% result is true. +% \item[\Parameter{code}:] whatever code should be expanded, if the test +% result is false. +% \end{description} +% Tests: +% \begin{description} +% \item[\Macro{IfLayerAtPageStyle}:] Test, whether or not the page style has a +% layer. The second argument is the name of one layer only! +% \item[\Macro{IfSomeLayersAtPageStyle}:] Test, whether or not the page style +% has at least one layer of a list of layers. The second argument is a comma +% separated list of layer names. +% \item[\Macro{IfLayersAtPageStyle}:] Test, whether or not the page style has +% every layer of a list of layers. The second argument is a comma separated +% list of layer names. +% \end{description} +% Note, that testing an page style, that is not a layer page style will result +% in an error and neither the third nor the fourth argument will be expanded. +% Note, that layers with empty name are only part of a layer page style +% without any layers. +% +% Note also, that with active \Option{deactivatepagestylelayers} layers are +% logically not longer part of the page styles. +% \begin{macrocode} +%<*package&body> +\newcommand*{\IfLayerAtPageStyle}[2]{% + \IfLayerPageStyleExists{#1}{% + \begingroup + \edef\reserved@a{\GetRealPageStyle{#1}}% + \@tempswafalse + \ifstr{#2}{}{% + \expandafter\ifx\csname @ps@\reserved@a @layers\endcsname\@empty + \@tempswatrue + \fi + }{% + \expandafter\ForEachLayerOfPageStyle\expandafter{% + \reserved@a}{\ifstr{##1}{#2}{\aftergroup\@tempswatrue}{}}% + }% + \if@tempswa \aftergroup\@firstoftwo \else \aftergroup\@secondoftwo \fi + \expandafter\endgroup + }{% + \scrlayer@lpm@error{#1}{testing for layers}% + \expandafter\@gobbletwo + }% +} +\newcommand*{\IfSomeLayersAtPageStyle}[2]{% + \IfLayerPageStyleExists{#1}{% + \begingroup + \@tempswafalse + \@for \reserved@a:=#2\do {% + \edef\reserved@a{\noexpand\IfLayerAtPageStyle{#1}{\reserved@a}}% + \reserved@a{\@tempswatrue}{}% + }% + \if@tempswa \aftergroup\@firstoftwo \else \aftergroup\@secondoftwo \fi + \expandafter\endgroup + }{% + \scrlayer@lpm@error{#1}{testing for layers}% + \expandafter\@gobbletwo + }% +} +\newcommand*{\IfLayersAtPageStyle}[2]{% + \IfLayerPageStyleExists{#1}{% + \begingroup + \@tempswatrue + \ifstr{#2}{}{% + \edef\reserved@a{\GetRealPageStyle{#1}}% + \expandafter\ifx\csname @scr@\reserved@a @layers\endcsname\@empty \else + \@tempswafalse + \fi + }{% + \@for \reserved@a:=#2\do {% + \edef\reserved@a{\noexpand\IfLayerAtPageStyle{#1}{\reserved@a}}% + \reserved@a{}{\@tempswafalse}% + }% + }% + \if@tempswa \aftergroup\@firstoftwo \else \aftergroup\@secondoftwo \fi + \expandafter\endgroup + }{% + \scrlayer@lpm@error{#1}{testing for layers}% + \expandafter\@gobbletwo + }% +} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \IfLayersAtPageStyle +% \end{macro}^^A \IfSomeLayersAtPageStyle +% \end{macro}^^A \IfLayerAtPageStyle +% +% +% \begin{macro}{\DestroyRealLayerPageStyle} +% \begin{description} +% \item[\Parameter{string}:] name of the layer page style to be destroyed. +% \end{description} +% Destroys the given layer page style but not the layers! If the page style is +% the current page style, the empty page style an empty page style will be +% activated. If the special page style is valid an the destroyed one, this +% will be removed. This command may be used, e.g., at +% \Macro{scrlayerOnAutoRemoveInterface} after destroying the layers. +% \begin{macrocode} +%<*package&body> +\newcommand*{\DestroyRealLayerPageStyle}[1]{% + \IfRealLayerPageStyleExists{#1}{% + \expandafter\let\csname @ps@#1@initialhook\endcsname\relax + \expandafter\let\csname @ps@#1@hook\endcsname\relax + \expandafter\let\csname @ps@#1@backgroundhook\endcsname\relax + \expandafter\let\csname @ps@#1@foregroundhook\endcsname\relax + \expandafter\let\csname @ps@#1@oddpagehook\endcsname\relax + \expandafter\let\csname @ps@#1@evenpagehook\endcsname\relax + \expandafter\let\csname @ps@#1@onesidehook\endcsname\relax + \expandafter\let\csname @ps@#1@twosidehook\endcsname\relax + \expandafter\let\csname @ps@#1@floatpagehook\endcsname\relax + \expandafter\let\csname @ps@#1@nonfloatpagehook\endcsname\relax + \expandafter\let\csname @ps@#1@layers\endcsname\relax + \expandafter\let\csname ps@#1\endcsname\relax + \ifstr{\currentpagestyle}{#1}{% + \def\currentpagestyle{scrlayer@empty}% + \let\@oddhead\@empty\let\@evenhead\@empty + \let\@oddfoot\@empty\let\@evenfoot\@empty + }{}% + \if@specialpage + \ifstr{\@specialstyle}{#1}{% + \global\let\@specialstyle\relax + \global\@specialpagefalse + }{}% + \fi + }{% +%<*trace> + \PackageInfo{scrlayer}{% + \string\DestroyRealLayerPageStyle{#1} ignored,\MessageBreak + because the layer page style isn't\MessageBreak + defined (any longer)% + }% +%</trace> + }% +} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \DestroyRealLayerPageStyle +% +% +% \subsection{Kernel Patches} +% +% This package as so many others need to patch the \LaTeX{} kernel. This will +% be done, because we need information about the current active package style. +% +% \begin{macro}{\pagestyle} +% \begin{macro}{\currentpagestyle} +% We save the current page style. Note, that this doesn't work for special +% page styles\footnote{Special page styles are set by +% \Macro{thispagestyle}.} that hasn't been defined using +% \Package{scrlayer}. As long as \Macro{currentpagestyle} is empty, the +% current page style is unknown. And we add two hooks into page style +% selection: one before an one after the selection. +% \begin{macrocode} +%<*package&body> +\newcommand*{\currentpagestyle}{} +\PackageInfo{scrlayer}{patching LaTeX kernel macro \string\pagestyle} +\def\reserved@a{\scrlayer@exec@before@pagestyle@hook{##1}} +\expandafter\expandafter\expandafter\renewcommand +\expandafter\expandafter\expandafter*% +\expandafter\expandafter\expandafter\pagestyle +\expandafter\expandafter\expandafter[% +\expandafter\expandafter\expandafter1% +\expandafter\expandafter\expandafter]% +\expandafter\expandafter\expandafter{% + \expandafter\reserved@a + \pagestyle{#1}% + \edef\currentpagestyle{\GetRealPageStyle{#1}}% + \scrlayer@exec@after@pagestyle@hook{#1}% +} +\AtBeginDocument{% + \begingroup + \let\scrlayer@exec@before@pagestyle@hook\@gobble + \let\scrlayer@exec@after@pagestyle@hook\@gobble + \def\ps@test{}% + \pagestyle{test}% + \ifstr{\currentpagestyle}{test}{}{% + \PackageError{scrlayer}{package incompatibility detected}{% + Another package redefines \string\pagestyle\space incompatible with + scrlayer.\MessageBreak + This disables setting of \string\currentpagestyle\space and may + be serious.\MessageBreak + Maybe you could prevent this loading package scrlayer + later.\MessageBreak + If not you should either not use scrlayer or not the other + package,\MessageBreak + that redefines \string\pagestyle.% + }% + }% + \endgroup +} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \currentpagestyle +% +% \begin{macro}{\BeforeSelectAnyPageStyle} +% \begin{macro}{\scrlayer@exec@before@pagestyle@hook} +% \begin{macro}{\AfterSelectAnyPageStyle} +% \begin{macro}{\scrlayer@exec@after@pagestyle@hook} +% We have two macros to locally add code to be executed whenever a page style +% changes using \Macro{pagestyle}. The first one executes the code before the +% page style will be changed, the second one after the page style has been +% changed. Note, that you may use \#1 as a placeholder of the argument of +% \Macro{pagestyle}. +% \begin{macrocode} +%<*package&body> +\newcommand*{\BeforeSelectAnyPageStyle}[1]{% + \expandafter\renewcommand\expandafter*% + \expandafter\scrlayer@exec@before@pagestyle@hook + \expandafter[\expandafter1\expandafter]\expandafter{% + \scrlayer@exec@before@pagestyle@hook{##1}#1}% +} +\newcommand*{\scrlayer@exec@before@pagestyle@hook}[1]{} +\newcommand*{\AfterSelectAnyPageStyle}[1]{% + \expandafter\renewcommand\expandafter*% + \expandafter\scrlayer@exec@after@pagestyle@hook + \expandafter[\expandafter1\expandafter]\expandafter{% + \scrlayer@exec@after@pagestyle@hook{##1}#1}% +} +\newcommand*{\scrlayer@exec@after@pagestyle@hook}[1]{} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \scrlayer@exec@after@pagestyle@hook +% \end{macro}^^A \AfterSelectAnyPageStyle +% \end{macro}^^A \scrlayer@exec@before@pagestyle@hook +% \end{macro}^^A \BeforeSelectAnyPageStyle +% \end{macro}^^A \pagestyle +% +% +% \subsection{Declaration of End User Interfaces} +% +% The package also supports an interface for loading end user interfaces. +% Maybe it would be a good idea to move this to \Package{scrbase}, but +% currently it is not needed. +% +% \begin{macro}{\scrlayerAddToInterface} +% \begin{macro}{\scrlayerAddCsToInterface} +% \begin{description} +% \item[\texttt{\{\meta{command}\textbar\meta{command sequence}\}}:] the +% command (with backslash) or the command sequence of the command (without +% backslash) of the command, that should be added to the interface. +% \item[\Parameter{code}:] will be executed, only if the command could be +% added to the interface. +% \end{description} +% Add either a command sequence or a command to the user interface. +% \begin{macrocode} +%<*package&body> +\newcommand*{\scrlayerAddToInterface}[2][\@currname.\@currext]{% + \begingroup + \edef\reserve@a{% + \noexpand\scrlayerAddCsToInterface[#1]{\expandafter\@gobble\string #2}% + }% + \expandafter\endgroup\reserve@a +} +\newcommand{\scrlayerAddCsToInterface}[3][\@currname.\@currext]{% + \@ifundefined{scrlayer@#1@commandlist}{% + \PackageError{scrlayer}{unkown interface `#1'}{% + I've been told to add a command sequence to an interface, that hasn't + been\MessageBreak + defined yet. Please initialise every interface using + \string\InitInterface\space before\MessageBreak + trying to add command sequences to it.\MessageBreak + If you'll continue, the command will be ignored.% + }% + }{% + \@ifundefined{#2}{% + \scrlayer@AddCsToInterface[#1]{#2}#3% + }{% + \@ifundefined{scrlayer@command@#2}{% + \ifscrlayer@forceoverwrite + \PackageWarning{scrlayer}{% + Overloading `\@backslashchar#2'!\MessageBreak + scrlayer detected, that the given command\MessageBreak + has been defined already, when\MessageBreak + `#1' tried to define it again.\MessageBreak + Nevertheless, while scrlayer is in force overwrite\MessageBreak + mode currently, the original definition will be\MessageBreak + removed% + }% + \expandafter\let\csname #2\endcsname\relax + \scrlayer@AddCsToInterface[#1]{#2}#3% + \else + \PackageError{scrlayer}{cannot define `\@backslashchar#2'}{% + scrlayer interface `#1' has tried to + define command\MessageBreak + `\@backslashchar#2', but this has already been defined\MessageBreak + and is not part of another interface. So it cannot be + defined.\MessageBreak + Before continuing you should solve this conflict.\MessageBreak + Nevertheless, you may use option `forceoverwrite' to get only a + warning instead\MessageBreak + of an error. But this wouldn't solve the problem at + all!\MessageBreak + This error is almost fatal, so you should abort the LaTeX + run.% + }% + \fi + }{% + \ifscrlayer@autoremoveinterfaces + \PackageInfo{scrlayer}{% + already define interface command\MessageBreak + `\@backslashchar#2' detected.\MessageBreak + Command has been defined by interface\MessageBreak + `\@nameuse{scrlayer@command@#2}'.\MessageBreak + To continue installation of interface\MessageBreak + `#1', interface\MessageBreak + `\@nameuse{scrlayer@command@#2}' will\MessageBreak + be removed% + }% + \@nameuse{scrlayer@\@nameuse{scrlayer@command@#2}@onremove}% + \begingroup + \def\@elt##1{% + \aftergroup\let\aftergroup##1\aftergroup\relax + }% + \@nameuse{scrlayer@\@nameuse{scrlayer@command@#2}@commandlist}% + \endgroup + \expandafter\let\csname + scrlayer@\@nameuse{scrlayer@command@#2}@commandlist\endcsname\relax + \expandafter\let\csname + scrlayer@\@nameuse{scrlayer@command@#2}@onremove\endcsname\relax + \expandafter\let\csname #2\endcsname\relax + \scrlayer@AddCsToInterface[#1]{#2}#3% + \else + \PackageError{scrlayer}{cannot define `\@backslashchar#2'}{% + Interface command `\@backslashchar#2' has already + been\MessageBreak + defined by interface + `\@nameuse{scrlayer@command@#2}'.\MessageBreak + So it cannot be defined again.\MessageBreak + You may try scrlayer option `autoremoveinterfaces' to + automatically remove\MessageBreak + older interfaces in such conflict situations.\MessageBreak + For now, it's recommended so solve the problem before you'll + continue.% + }% + \fi + }% + }% + }% +}% +% \end{macrocode} +% \begin{macro}{\scrlayer@AddCsToInterface} +% Little helper, to avoid repeating this \Macro{expandafter} orgy. +% \begin{description} +% \item[\OParameter{string}:] the interface name (must be expandable and +% expand to a string) +% \item[\Parameter{command sequence}] the command sequence of the command to +% be added. +% \end{description} +% \begin{macrocode} +\newcommand*\scrlayer@AddCsToInterface[2][\@currname.\@currext]{% + \expandafter\expandafter\expandafter\def\expandafter + \csname scrlayer@#1@commandlist\expandafter\expandafter\expandafter\endcsname + \expandafter\expandafter\expandafter{% + \csname scrlayer@#1@commandlist\expandafter\endcsname + \expandafter\@elt\csname #2\endcsname + }% + \@namedef{scrlayer@command@#2}{#1}% +} +%</package&body> +% \end{macrocode} +% \begin{option}{forceoverwrite} +% \begin{macro}{\ifscrlayer@forceoverwrite} +% \begin{description} +% \item[\Parameter{simple switch}:] whether or not to overwrite already +% defined command. Note: If true, there will still be a warning. +% \end{description} +% \begin{macrocode} +%<*options> +\KOMA@ifkey{forceoverwrite}{scrlayer@forceoverwrite} +%<*interface> +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @forceoverwrite} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @forceoverwrite@default} +%</interface> +%</options> +% \end{macrocode} +% \end{macro}^^A \ifscrlayer@forceoverwrite +% \end{option}^^A forceoverwrite +% +% \begin{option}{autoremoveinterfaces} +% \begin{macro}{\ifscrlayer@autoremoveinterfaces} +% \begin{description} +% \item[\Parameter{simple switch}:] whether or not older interfaces may be +% automatically removed in conflict cases. +% \end{description} +% \begin{macrocode} +%<*options> +\KOMA@ifkey{autoremoveinterfaces}{scrlayer@autoremoveinterfaces} +%<*interface> +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @autoremoveinterfaces} +\scrlayer@AddCsToInterface{% + KV@KOMA.\@currname.\@currext @autoremoveinterfaces@default} +%</interface> +%</options> +% \end{macrocode} +% \end{macro}^^A \ifscrlayer@autoremoveinterfaces +% \end{option}^^A autoremoveinterfaces +% \end{macro}^^A \scrlayer@AddCsToInterface +% \end{macro}^^A \scrlayerAddCsToInterface +% \end{macro}^^A \scrlayerAddToInterface +% +% \begin{macro}{\scrlayerInitInterface} +% \begin{description} +% \item[\OParameter{string}:] the name of the interface. Generally this is +% the file name of the package or class, that defines the interface +% (default: \texttt{\Macro{@currname}.\Macro{@currext}}). +% \end{description} +% This registers a new user interface. +% \begin{macrocode} +%<*package&body> +\newcommand*{\scrlayerInitInterface}[1][\@currname.\@currext]{% + \@ifundefined{scrlayer@#1@commandlist}{% + \@namedef{scrlayer@#1@commandlist}{}% + }{% + \begingroup + \def\@elt##1{\space\space\string##1\MessageBreak}% + \PackageError{scrlayer}{interface `#1' already initialised}{% + You've tried to initialise scrlayer interface `#1',\MessageBreak + but an interface of this name has been initialised + already.\MessageBreak + Here's a list of all macros of the already initialised + interface:\MessageBreak + \@nameuse{scrlayer@#1@commandlist}.% + If you'll continue, this re-initialisation will be ignored.% + }% + \endgroup + }% +} +%</package&body> +% \end{macrocode} +% The initialisation has to be done by each interface package: +% \begin{macrocode} +%<interface&init>\scrlayerInitInterface +% \end{macrocode} +% \end{macro}^^A \scrlayerInitInterface +% +% \begin{macro}{\scrlayerOnAutoRemoveInterface} +% \begin{description} +% \item[\OParameter{string}:] the name of the interface. Generally this is +% the file name of the package or class, that defines the interface +% (default: \texttt{\Macro{@currname}.\Macro{@currext}}). +% \item[\Parameter{code}:] will be executed if the interface will be removed +% automatically (see option \Option{autoremoveinterfaces}). +% \end{description} +% \begin{macrocode} +%<*package&body> +\newcommand*{\scrlayerOnAutoRemoveInterface}[2][\@currname.\@currext]{% + \@ifundefined{scrlayer@#1@onremove}{\@namedef{scrlayer@#1@onremove}{}}{}% + \expandafter\l@addto@macro\csname scrlayer@#1@onremove\endcsname{#2}% +} +%</package&body> +% \end{macrocode} +% \end{macro}^^A \scrlayerOnAutoRemoveInterface +% +% +% \iffalse^^A meta-comment +%</package|interface> +% \fi^^A meta-comment +% +% +% \Finale +% +\endinput +% +% end of file `scrlayer.dtx' + +%%% Local Variables: +%%% mode: doctex +%%% mode: flyspell +%%% ispell-local-dictionary: "en_GB" +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/scrlettr.dtx b/Master/texmf-dist/source/latex/koma-script/scrlettr.dtx deleted file mode 100644 index 3ef7c6968aa..00000000000 --- a/Master/texmf-dist/source/latex/koma-script/scrlettr.dtx +++ /dev/null @@ -1,2836 +0,0 @@ -% \CheckSum{1879} -% \iffalse meta-comment -% ====================================================================== -% scrlettr.dtx -% Copyright (c) Axel Kielhorn and Markus Kohm, 1995-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. -% ---------------------------------------------------------------------- -% scrlettr.dtx -% Copyright (c) Axel Kielhorn and Markus Kohm, 1995-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. -% ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From: scrlettr.dtx -%<*dtx> - \ProvidesFile{scrlettr.dtx} -%</dtx> -%<scrlettr>\NeedsTeXFormat{LaTeX2e}[1995/12/01] -%<driver>\ProvidesFile{scrlettr.drv} -%<scrlettr>\ProvidesClass{scrlettr} -%<*scrlettr|dtx|driver> - [2002/05/24 v2.6e -%<scrlettr> OBSOLETE - LaTeX2e KOMA -%</scrlettr|dtx|driver> -%<scrlettr> document class] -% -%<*driver|dtx> - Script bundle] -%</driver|dtx> -%<*driver> -\documentclass{ltxdoc} -\usepackage[a4paper,BCOR15mm,DIV12]{typearea} -\usepackage{german} -\DoNotIndex{\.,\@@par,\@M,\@abstrtfalse,\@abstrttrue,\@addtoreset} -\DoNotIndex{\@afieldfalse,\@afieldtrue,\@afterheading} -\DoNotIndex{\@afterindentfalse,\@arabic,\@badmath,\@beginparpenalty} -\DoNotIndex{\@biglocfalse,\@bigloctrue,\@bsphack} -\DoNotIndex{\@car,\@cdr,\@centercr,\@cite,\@dblfloat,\@dotsep} -\DoNotIndex{\@dottedtocline,\@empty,\@endparpenalty,\@endpart,\@esphack} -\DoNotIndex{\@finclfalse,\@fincltrue,\@float,\@fontswitch,\@foldfalse} -\DoNotIndex{\@foldtrue,\@fslfalse,\@fsltrue,\@gobbletwo} -\DoNotIndex{\@hangfrom,\@highpenalty,\@hinclfalse,\@hincltrue,\@hslfalse} -\DoNotIndex{\@hsltrue,\@idxitem,\@ifnextchar,\@ifundefined,\@ifstar} -\DoNotIndex{\@itempenalty} -\DoNotIndex{\@latex@warning,\@m,\@mainmatterfalse,\@mainmattertrue} -\DoNotIndex{\@medpenalty,\@minus,\@mkboth,\@mparswitchfalse,\@mparswitchtrue} -\DoNotIndex{\@ne,\@nil,\@nobreakcr,\@nobreakfalse,\@nobreaktrue} -\DoNotIndex{\@nobreakvspace,\@nobreakvspacex,\@noitemerr,\@nomath,\@normalcr} -\DoNotIndex{\@openbibfalse,\@openbibtrue,\@openrightfalse,\@openrighttrue} -\DoNotIndex{\@plus,\@processto,\@reffalse,\@reftrue,\@restonecolfalse} -\DoNotIndex{\@restonecoltrue} -\DoNotIndex{\@subjfalse,\@subjtrue} -\DoNotIndex{\@tempa,\@tempboxa,\@tempdima,\@tempswafalse,\@tempswatrue} -\DoNotIndex{\@titlepagefalse,\@titlepagetrue,\@tocrmarg,\@topnewpage} -\DoNotIndex{\@topnum,\@twocolumnfalse,\@twocolumntrue,\@twosidefalse} -\DoNotIndex{\@twosidetrue} -\DoNotIndex{\@whiledim,\@whilenum,\@xnewline,\@xproc,\\,\ } -\DoNotIndex{\addcontentsline,\addpenalty,\addtocontents,\addtolength} -\DoNotIndex{\addvspace,\advance,\Alph,\alph,\arabic,\Ask,\AtBeginDocument} -\DoNotIndex{\begin,\begingroup,\bfseries,\bgroup,\box,\bullet} -\DoNotIndex{\c@figure,\c@page,\c@secnumdepth,\c@table,\c@tocdepth} -\DoNotIndex{\cal,\cdot,\centering,\changes,\ClassWarningNoLine} -\DoNotIndex{\cleardoublepage,\clearpage} -\DoNotIndex{\cmd,\col@number,\CurrentOption,\CodelineIndex,\csname} -\DoNotIndex{\day,\dblfloatpagefraction,\dbltopfraction,\Decisionfalse} -\DoNotIndex{\Decisiontrue,\DeclareOldFontCommand} -\DoNotIndex{\DeclareOption,\def,\defpar,\DisableCrossrefs} -\DoNotIndex{\divide,\documentclass,\DoNotIndex,\dotfill} -\DoNotIndex{\iden,\ifdim,\else,\fi,\egroup,\empty,\em,\EnableCrossrefs,\end} -\DoNotIndex{\end@dblfloat,\endcsname,\endletter} -\DoNotIndex{\end@float,\endgroup,\endlist,\endquotation,\endtitlepage} -\DoNotIndex{\everypar,\ExecuteOptions,\expandafter} -\DoNotIndex{\fboxrule,\fboxsep,\fontsize,\frenchspacing} -\DoNotIndex{\gdef,\global} -\DoNotIndex{\hangindent,\hbox,\hfil,\hfill,\hrule,\hsize,\hskip,\hspace,\hss} -\DoNotIndex{\if@tempswa,\ifcase,\or,\fi,\fi} -\DoNotIndex{\ifnum,\ifodd,\ifvmode,\ifx,\fi,\fi,\fi,\fi} -\DoNotIndex{\ignorespaces,\input,\InputIfFileExists,\item,\itshape,\j,\ja} -\DoNotIndex{\kern,\LARGE,\Large,\leavevmode,\leftmark,\leftskip,\let} -\DoNotIndex{\lineskip,\list,\long} -\DoNotIndex{\m@ne,\m@th,\marginpar,\marginparpush,\markboth,\markright} -\DoNotIndex{\mathbf,\mathcal} -\DoNotIndex{\mathit,\mathnormal,\mathrm,\mathsf,\mathtt,\MessageBreak,\month} -\DoNotIndex{\newblock,\newcommand,\newcount,\newcounter,\newdimen} -\DoNotIndex{\newenvironment,\newlength,\newpage,\nobreak,\noindent} -\DoNotIndex{\normalfont,\normallineskip,\normalsize,\null,\number} -\DoNotIndex{\numberline} -\DoNotIndex{\OldMakeindex,\OnlyDescription,\overfullrule} -\DoNotIndex{\p@,\PackageError,\PackageInfo,\PackageWarningNoLine} -\DoNotIndex{\pagenumbering,\pagestyle,\par,\paragraph,\parbox} -\DoNotIndex{\PassOptionsToPackage,\pcal,\penalty,\pmit,\PrintChanges} -\DoNotIndex{\PrintIndex,\ProcessOptions,\protect,\providecommand} -\DoNotIndex{\ProvidesClass} -\DoNotIndex{\raggedbottom,\raggedleft,\raggedright,\refstepcounter,\relax} -\DoNotIndex{\renewcommand,\RequirePackage,\reset@font,\reversemarginpar} -\DoNotIndex{\rightmargin,\rightmark,\rightskip,\rmfamily,\Roman,\roman,\rule} -\DoNotIndex{\sc@septext,\sc@temp,\sc@@temp,\scshape,\secdef,\setbox} -\DoNotIndex{\setcounter,\setlength} -\DoNotIndex{\settowidth,\sfcode,\sffamily,\skip,\sloppy,\slshape,\space} -\DoNotIndex{\string,\strip,\strut,\subjectoff,\subjecton} -\DoNotIndex{\ta@temp,\the,\thispagestyle,\triangleright,\ttfamily,\twocolumn} -\DoNotIndex{\typein,\typeout} -\DoNotIndex{\undefined,\underline,\unhbox,\usecounter,\usepackage} -\DoNotIndex{\vadjust,\vfil,\vfill,\vspace} -\DoNotIndex{\wd,\xdef,\y,\year,\yes,\z@} -\CodelineIndex -% Kopiert aus scrguide2.tex -\newcommand{\ExampleName}{Beispiel} -\newcommand{\ClassName}{Klasse} -\newcommand{\PackageName}{Paket} -\newcommand{\EnvironmentName}{Umgebung} -\newcommand{\OptionName}{Option} -\newcommand{\MacroName}{Befehl} -\newcommand{\CounterName}{Z\"ahler} -\newcommand{\CounterSortName}{Zaehler} -\newcommand{\LengthName}{L\"ange} -\newcommand{\LengthSortName}{Laenge} -\newcommand{\PagestyleName}{Seitenstil} -\newcommand{\StyleName}{Stil} -\newcommand{\FileName}{Datei} -\newcommand{\TitleText}{Das\ \KOMAScript\ Paket} -\newcommand{\ManualName}{Anleitung} -\newcommand{\ManualFromText}{Autoren der Anleitung:} -\newcommand{\NoteName}{Notizen} -\DeclareRobustCommand*{\Class}[1]{\textsf{#1}} -\DeclareRobustCommand*{\Package}[1]{\textsf{#1}} -\DeclareRobustCommand*{\File}[1]{\texttt{#1}} -\DeclareRobustCommand{\Script}{\textsc{Script}} -\DeclareRobustCommand{\ScriptII}{\textsc{Script-2}} -\ifx\KOMAScript\undefined% - \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% - M\kern.05em A\kern.1em-\kern.1em Script}} -\fi -\makeatletter -\DeclareRobustCommand{\BibTeX}{B\kern-.05em% - \hbox{$\m@th$% - \csname S@\f@size\endcsname \fontsize\sf@size\z@ - \math@fontsfalse\selectfont - I\kern-.025emB}% - \kern-.08em% - \-\TeX% -} -\makeatother -\newcommand*{\Var}[1]{\ensuremath{\mathit{#1}}} -\newcommand*{\Const}[1]{\ensuremath{\mathrm{#1}}} -\newcommand*{\Unit}[1]{\ensuremath{\,\mathrm{#1}}} -\DeclareRobustCommand*{\Macro}[1]{\mbox{\texttt{\char`\\#1}}} -\DeclareRobustCommand*{\Option}[1]{\mbox{\texttt{#1}}} -\DeclareRobustCommand*{\Environment}[1]{\mbox{\texttt{#1}}} -\DeclareRobustCommand*{\Counter}[1]{\mbox{\texttt{#1}}} -\DeclareRobustCommand*{\Length}[1]{\mbox{\texttt{\char`\\#1}}} -\DeclareRobustCommand*{\EMail}[1]{\textless #1\textgreater} -\DeclareRobustCommand*{\TextEMail}[1]{{\small\EMail{#1}}} -\newenvironment{Example}{% - \begin{labeling}{{\sectfont\ExampleName:\ }} - \item[{\sectfont\ExampleName:\ }]} - {\end{labeling}} -\newenvironment{Explain}{% - \small\sffamily -}{\normalcolor\par} -\newcommand*{\sectfont}{\normalfont\normalcolor\bfseries} -\newenvironment{labeling}[2][] - {\def\sc@septext{#1} - \list{}{\settowidth{\labelwidth}{#2#1} - \leftmargin\labelwidth \advance\leftmargin by \labelsep - \let\makelabel\labelinglabel}} - {\endlist} -\newcommand\labelinglabel[1]{#1\hfil\sc@septext} -\newenvironment{Declaration}% - {\par\small\addvspace{2\baselineskip plus .5\baselineskip}% - \vspace{-\baselineskip}% - \noindent\hspace{-1em}% - \begin{tabular}{|l|}\hline\ignorespaces}% - {\\\hline\end{tabular}\nobreak\par\nobreak - \vspace{1.5\baselineskip}\vspace{-\baselineskip}% - \noindent\ignorespacesafterend} -\newcommand{\PName}[1]{\mbox{\textit{#1}}}% Parametername -\newcommand{\PValue}[1]{\texttt{#1}}% Parametername -\newcommand{\Parameter}[1]{% Parameter/Argument - \texttt{\{}\PName{#1}\texttt{\}}} -\newcommand{\OParameter}[1]{\texttt{[%] Parameter/Argument optional - }\PName{#1}\texttt{%[ - ]}} -\newcommand{\AParameter}[1]{\texttt{(%) Parameter/Argument alternative - }\PName{#1}\texttt{%( - )}} -\newcommand{\PParameter}[1]{\texttt{\{% Parameter/Argument as/als - #1% part of commands / Befehlsbestandteil - \}}} -\newcommand*{\Index}[2][indexrm]{\index{#2|#1}} -\newcommand*{\BeginIndex}[3][indexit]{\csname Index#2\endcsname[(%) - #1]{#3}% - \ignorespaces} -\newcommand*{\EndIndex}[3][indexit]{\csname Index#2\endcsname[%( - )#1]{#3}} -\newcommand*{\IndexCmd}[2][indexrm]{% - \Index[#1]{#2=\Macro{#2}}} -\newcommand*{\IndexEnv}[2][indexrm]{% - \Index[#1]{\EnvironmentName>#2=\Environment{#2}}% - \Index[#1]{#2=\Environment{#2} (\EnvironmentName)}} -\newcommand*{\IndexOption}[2][indexrm]{% - \Index[#1]{\OptionName>#2=\Option{#2}}% - \Index[#1]{#2=\Option{#2} (\OptionName)}} -\newcommand*{\IndexPackage}[2][indexrm]{% - \Index[#1]{\PackageName>#2=\Package{#2}}% - \Index[#1]{#2=\Package{#2} (\PackageName)}} -\newcommand*{\IndexClass}[2][indexrm]{% - \Index[#1]{\ClassName>#2=\Class{#2}}% - \Index[#1]{#2=\Class{#2} (\ClassName)}} -\newcommand*{\IndexFile}[2][indexrm]{% - \Index[#1]{\FileName>#2=\File{#2}}% - \Index[#1]{#2=\File{#2} (\FileName)}} -\newcommand*{\IndexCounter}[2][indexrm]{% - \Index[#1]{\CounterSortName=\CounterName>#2=\Counter{#2}}% - \Index[#1]{#2=\Counter{#2} (\CounterName)}} -\newcommand*{\IndexLength}[2][indexrm]{% - \Index[#1]{\LengthSortName=\LengthName>#2=\Length{#2}}% - \Index[#1]{#2=\Length{#2} (\LengthName)}} -\newcommand*{\IndexPagestyle}[2][indexrm]{% - \Index[#1]{\PagestyleName>#2=\PValue{#2}}% - \Index[#1]{#2=\PValue{#2} (\PagestyleName)}} -\newcommand*{\IndexFloatstyle}[2][indexrm]{% - \Index[#1]{float-\StyleName=\emph{float}-\StyleName>#2=\PValue{#2}}% - \Index[#1]{#2=\PValue{#2} (\emph{float}-\StyleName)}} -\newcommand*{\indexrm}[1]{\textrm{\hyperpage{#1}}} -\newcommand*{\indexit}[1]{\textit{\hyperpage{#1}}} -\newcommand*{\indexbf}[1]{\textbf{\hyperpage{#1}}} -\newcommand*{\indexsl}[1]{\textsl{\hyperpage{#1}}} -\newcommand*{\indexsf}[1]{\textsf{\hyperpage{#1}}} -\newcommand*{\indexsc}[1]{\textsc{\hyperpage{#1}}} -\providecommand*{\hyperpage}[1]{#1} -% -\begin{document} - \DocInput{scrlettr.dtx} -\end{document} -%</driver> -% \fi -% -% \GetFileInfo{scrlettr.dtx} -% \RecordChanges -% -% \makeatletter -% \def\macro{\begingroup -% \catcode`\\12 -% \MakePrivateLetters \m@cro@ 0} -% \def\environment{\begingroup -% \catcode`\\12 -% \MakePrivateLetters \m@cro@ 1} -% \def\option{\begingroup -% \catcode`\\12 -% \MakePrivateLetters \m@cro@ 2} -% \long\def\m@cro@#1#2{\endgroup \topsep\MacroTopsep \trivlist -% \edef\saved@macroname{\string#2}% -% \ifcase #1% -% \edef\saved@@macroname{\expandafter\@gobble\saved@macroname} -% \or -% \edef\saved@@macroname{\expandafter\@gobble\saved@macroname} -% \else -% \let\saved@@macroname\saved@macroname -% \fi -% \def\makelabel##1{\llap{##1}}% -% \if@inlabel -% \let\@tempa\@empty \count@\macro@cnt -% \loop \ifnum\count@>\z@ -% \edef\@tempa{\@tempa\hbox{\strut}}\advance\count@\m@ne \repeat -% \edef\makelabel##1{\llap{\vtop to\baselineskip -% {\@tempa\hbox{##1}\vss}}}% -% \advance \macro@cnt \@ne -% \else \macro@cnt\@ne \fi -% \edef\@tempa{\noexpand\item[% -% \ifcase #1% -% \noexpand\PrintMacroName -% \or -% \noexpand\PrintEnvName -% \else -% \noexpand\PrintOptionName -% \fi -% {\string#2}]}% -% \@tempa -% {\advance\c@CodelineNo\@ne -% \ifcase #1% -% \SpecialMainIndex{#2}\nobreak -% \DoNotIndex{#2}% -% \or -% \SpecialMainEnvIndex{#2}\nobreak -% \else -% \SpecialMainOptionIndex{#2}\nobreak -% \fi -% }% -% \ignorespaces} -% \let\endoption\endtrivlist -% \@ifundefined{PrintOptionName} -% {\def\PrintOptionName#1{\strut \MacroFont #1\ }}{} -% \def\SpecialMainOptionIndex#1{\@bsphack -% \special@index{#1\actualchar{\string\ttfamily\space#1} -% (option)\encapchar main}% -% \special@index{options:\levelchar{\string\ttfamily\space#1}\encapchar -% main}\@esphack} -% \def\changes@#1#2#3{% -% \protected@edef\@tempa{\noexpand\glossary{#1\levelchar -% \ifx\saved@macroname\@empty -% \space -% \actualchar -% \generalname -% \else -% \saved@@macroname -% \actualchar -% \string\verb\quotechar*\verbatimchar% -% \saved@macroname -% \verbatimchar -% \fi -% :\levelchar #3}}% -% \@tempa\endgroup\@esphack} -% \makeatother -% -% \title{Die Brief-class im \textsf{KOMA-Script} Paket\thanks{Diese Datei -% hat die Versionsnummer \fileversion, letzte "Anderung vom -% \filedate.}} -% \author{Frank Neukam\and Markus Kohm} -% \date{\filedate} -% \maketitle -% -% \tableofcontents -% -% \changes{v2.0e}{1994/10/28}{Erste Version, die \texttt{docstrip} verwendet.} -% \changes{v2.3b}{1996/01/14}{Diverse \cs{newcommand} mit und ohne -% Parameter durch \cs{newcommand*} ersetzt.} -% \changes{v2.3b}{1996/01/14}{Diverse \cs{renewcommand} mit und ohne -% Parameter durch \cs{renewcommand*} -% ersetzt.} -% \changes{v2.6e}{2002/05/24}{\texttt{scraddr} ist in einer eigenen -% \texttt{dtx}-Datei zu finden.} -% \changes{v2.6e}{2002/05/24}{\texttt{dir.tex}, \texttt{phone.tex}, -% \texttt{addrconv.bst}, \texttt{birthday.bst}, \texttt{email.bst}, -% \texttt{addrconv.tex}, \texttt{birthday.tex}, \texttt{email.tex} -% sind obsolet und gel\"oscht, stattdessen sollte das -% \texttt{adrconv}-Paket von Axel Kielhorn verwendet werden.} -% -% \part{Anleitung} -% -% \section{Generelles} -% -% \subsection{Rechtliches} -% Es wird keinerlei Haftung "ubernommen f"ur irgendwelche Sch"aden, -% die aus der Benutzung der Programme und Dateien des hier -% beschriebenen Paketes folgen. -% -% \subsection{Das \textsf{KOMA-Script} Paket} -% -% Das gesamte \textsf{KOMA-Script} Paket besteht aus mehreren Teilen. -% Der Teil |scrclass.dtx| beinhaltet die Haupt-classes |scrartcl.cls|, -% |scrreprt.cls| und |scrbook.cls| und |scrlttr2.cls| sowie das von -% diesen ben"otigte package |typearea.sty|. -% -% Die urspr"unglich in |komascr.dtx| enthaltene Brief-Klasse -% |scrlettr.cls| liegt nun hier als |scrlettr.dtx| separat vor. Eine -% Anleitung zu dieser Klasse existiert jedoch nur noch -% eingeschr"ankt. Da die Klasse nicht mehr unterst"utzt wird. Sie ist -% nun also \emph{unsupported}. -% -% Die alte Anleitung wurde jedoch in diese Datei integriert. -% \changes{v2.6c}{2001/10/09}{Die Klasse ist obsolet} -% \changes{v2.6c}{2001/10/09}{Die Anleitung ist integriert} -% -% \DeleteShortVerb{\|} -% -% \section{"Uberblick} -% -% Die Dokumentenklasse \Class{scrlettr} ist eine erweiterte und an -% europ"aische Verh"altnisse angepasste Version der originalen -% \LaTeX{}-Briefklasse \Class{letter}. Urspr"unglich wurde sie von -% Axel Kielhorn entwickelt, erfuhr aber durch Markus Kohm einige -% Ver"anderungen. -% -% Hervorzuhebende Eigenschaften von \Class{scrlettr} gegen"uber -% \Class{letter} sind die Anpassung an das A4 Papierformat, die -% erweiterte Sprachunterst"utzung und ein umfangreicherer -% Befehlssatz, mit dem auch komplexere W"unsche umsetzbar sind. -% -% Bevor alle Befehle der Klasse \Class{scrlettr} vorgestellt werden, -% soll mit Hilfe eines Minimalbeispiels ein erster "Uberblick "uber -% Aufbau und Funktion eines Briefes gegeben werden. -% -% \begin{Example} -% Ein mit nur den n"otigsten Befehlen erstellter -% \Class{scrlettr}-Brief sieht beispielsweise so aus. -% \begin{small}\begin{verbatim} -% \documentclass[10pt]{scrlettr} -% \usepackage{ngerman} -% \name{\KOMAScript{}-Gruppe} -% \address{Klassengasse 1\\12345 \LaTeX{}hausen} -% \signature{Euer \KOMAScript{}-Team} -% \begin{document} -% \begin{letter}{Die \KOMAScript{}-Nutzer\\ -% Irgendwo\\weltweit} -% -% \opening{Liebe \KOMAScript{}-Nutzer,} -% das \KOMAScript{}-Team m"ochte Euch mit ein paar -% Informationen ... -% -% \closing{Viel Spa"s} -% \end{letter} -% \end{document} -% \end{verbatim}\end{small} -% Wie zu sehen ist, werden Informationen, die unabh"angig vom -% einzelnen Brief sind, getrennt definiert, wie beispielsweise der -% Absender mittels \Macro{name}. Die einzelnen briefspezifische -% Daten werden innerhalb der \Environment{letter}-Umgebung -% angegeben. Nat"urlich k"onnen durch mehrmaliges Nutzen der -% \Environment{letter}-Umgebung mehrere Briefe in einem Dokument -% erzeugt werden. -% -% \begin{Explain} -% Hierbei ist jedoch zu beachten, dass \TeX\ Z"ahler grunds"atzlich -% \emph{global} verwaltet. Es ist also notwendig, alle Z"ahler vor -% einer neuen \Environment{letter}-Umgebung zur"uckzusetzen. Einzige -% Ausnahme ist der Seitenz"ahler. Dieser wird bei jedem Aufruf von -% \Macro{begin}\PParameter{letter} wieder auf 1 zur"uckgesetzt. -% \end{Explain} -% \end{Example} -% -% \section{Brief"ubergreifende Befehle} -% \begin{Declaration} -% \Macro{name}\Parameter{Absendername}\\ -% \Macro{address}\Parameter{Adresse des Absenders}\\ -% \Macro{signature}\Parameter{Unterschrift} -% \end{Declaration}\ignorespaces -% \BeginIndex{Cmd}{name}\BeginIndex{Cmd}{address}\ignorespaces -% \BeginIndex{Cmd}{signature}\ignorespaces -% Der Befehl \Macro{name} nimmt den Namen des -% Absenders\Index[indexit]{Absender} auf und gibt diesen im -% voreingestellten Seitenstil f"ur die erste und die folgenden Seiten -% aus. Weiterhin wird dieser Text als -% Unterschrift\Index[indexit]{Unterschrift} gesetzt, wenn -% \Macro{signature} nicht angegeben wurde, da dieser Befehl optional -% ist, und somit nicht immer angegeben werden muss. Die -% Absenderadresse wird mit dem \Macro{address}-Befehl gesetzt. -% \EndIndex{Cmd}{name}\EndIndex{Cmd}{address}\EndIndex{Cmd}{signature} -% -% \begin{Declaration} -% \Macro{backaddress}\Parameter{Absender}\\ -% \Macro{specialmail}\Parameter{Versandart}\\ -% \Macro{addrfieldon}\\ -% \Macro{addrfieldoff} -% \end{Declaration}\ignorespaces -% \BeginIndex{Cmd}{backaddress}\BeginIndex{Cmd}{specialmail}\ignorespaces -% \BeginIndex{Cmd}{addrfieldon}\BeginIndex{Cmd}{addrfieldoff}\ignorespaces -% Der Befehl \Macro{backaddress} erzeugt "uber dem -% Adressfeld\Index{Adressfeld} des Empf"angers einen einzeiligen -% Eintrag, der auch in Briefumschl"agen mit Sichtfenster zu sehen -% ist. Es bietet sich somit als Angabe des Absenders an. -% Versandhinweise\Index[indexit]{Versandart}, wie beispielsweise -% \emph{Einschreiben} k"onnen mit \Macro{specialmail} gesetzt werden. -% -% Mit dem Befehl \Macro{addrfieldoff} werden weder das Adressfeld -% noch das \Option{locfield} gesetzt. Alle Angaben "uber Empf"anger- -% und R"uckadresse, die Versandart und die Erg"anzungen aus -% \Macro{location} werden ignoriert und \emph{nicht} gesetzt. Da -% \Macro{addrfieldon} und \Macro{addrfieldoff} als Befehle -% implementiert sind, ist es m"oglich, sie f"ur verschiedene Briefe -% eines Dokuments je nach Bedarf anzuwenden. Voreingestellt ist -% \Macro{addrfieldon}. -% \EndIndex{Cmd}{backaddress}\EndIndex{Cmd}{specialmail} -% \EndIndex{Cmd}{addrfieldon}\EndIndex{Cmd}{addrfieldoff} -% -% \begin{Declaration} -% \Macro{location}\Parameter{zus"atzliche Adresstext}\\ -% \Macro{place}\Parameter{Ort}\\ -% \Macro{date}\Parameter{Datum} -% \end{Declaration}\ignorespaces -% \BeginIndex{Cmd}{location}\BeginIndex{Cmd}{place}\ignorespaces -% \BeginIndex{Cmd}{date}\ignorespaces -% Der Befehl \Macro{location} schreibt sein Argument in ein Textfeld -% rechts neben dem Adressfeld. Es kann beispielsweise Daten einer -% Abteilung oder die Zweigstelle eine Firma aufnehmen. Mit dem -% Befehl \Macro{place} wird der Ort des Absenders eingestellt. Der -% Befehl \Macro{date} ist nur wichtig, wenn der Brief l"anger in -% Quellform gespeichert werden soll und man nicht m"ochte, dass die -% Datumsinformation\Index[indexit]{Datum} des Originalbriefes -% verloren geht. In normalen Anwendungsf"allen wird das Datum aus dem -% Systemdatum beim LaTeX{}-Lauf ermittelt. -% -% \begin{Example} -% Sie m"ochten einen monatlichen Rundbrief an die Mitglieder eines -% Vereins versenden. Hierbei spielt das genaue Datum keine gro"se -% Rolle. Ein Vermerk in der Form \glqq Vereinssitz im M"arz -% 2001\grqq\ erreichen Sie durch folgende Definitionen. -% \begin{small}\begin{verbatim} -% \place{Vereinssitz} -% \date{im M"arz 2001} -% \end{verbatim}\end{small} -% \end{Example} -% \EndIndex{Cmd}{location}\EndIndex{Cmd}{place}\EndIndex{Cmd}{date} -% -% \begin{Declaration} -% \Option{wlocfield}\\ -% \Option{slocfield} -% \end{Declaration} -% \BeginIndex{Option}{wlocfield}\BeginIndex{Option}{slocfield} -% Die Breite des Textfeldes mit dem \Macro{location}-Eintrag ist -% standardm"a"sig die H"alfte des freien Raums neben dem Adressfeld. -% Dies entspricht der Einstellung der Option \Option{slocfield}. Mit -% der Klassenoptionen \Option{wlocfield} stehen dem Textfeld zwei -% Drittel der freien Textbreite neben dem Adressfeld zur Verf"ugung. -% \EndIndex{Option}{wlocfield}\EndIndex{Option}{slocfield} -% -% \section{Briefspezifische Befehle} -% -% \begin{Declaration} -% \Environment{letter}\\ -% \Macro{title}\Parameter{"Uberschrift}\\ -% \Macro{subject}\Parameter{Kurzinhalt oder Betreff}\\ -% \Macro{subjecton}\\ -% \Macro{subjectoff}\\ -% \Macro{opening}\Parameter{Anrede} -% \end{Declaration} -% \BeginIndex{Env}{letter}\BeginIndex{Cmd}{title} -% \BeginIndex{Cmd}{subject}\BeginIndex{Cmd}{subjecton} -% \BeginIndex{Cmd}{subjectoff} -% \BeginIndex{Cmd}{opening} -% Das zentrale Element ist die \Environment{letter}-Umgebung. Ihr -% obligatorisches Argument nimmt die Anschrift des -% Empf"angers\Index[indexit]{Empfaenger=Empf"anger} des Briefes auf. -% Notwendige Zeilenumbr"uche m"ussen selbst"andig eingef"ugt werden. -% Dabei muss beachtet werden, dass das Textfeld nur eine bestimmte -% Breite zul"asst, und dann die Zeile automatische umbrochen wird. -% -% \begin{Example} -% Sie m"ochten einen Brief an die Deutsche Anwendervereinigung \TeX\ -% e.\,V. schreiben. Dieser Brief m"u"ste durch folgende Zeilen -% eingeleitet werden: -% \begin{small}\begin{verbatim} -% \begin{letter}{DANTE, Deutschsprachige -% Anwendervereingung TeX e.\,V.\\ -% Postfach 101840\\ -% 69008 Heidelberg} -% \end{verbatim}\end{small} -% \end{Example} -% -% Gew"ohnlich m"ochte man dem Empf"anger eines Briefes schnell das -% Anliegen des Briefes mitteilen. Dazu gibt es zwei M"oglichkeiten. -% Mit dem \Macro{title} kann einem Brief eine -% "Uberschrift\Index[indexit]{Briefueberschrift=Brief"uberschrift} -% vorangestellt werden. Dies erzeugt eine zentrierte in -% \Macro{LARGE} gesetzte "Uberschrift. F"ur gew"ohnlich soll der -% Hinweis auf den Inhalt des Briefes nicht so gro"sspurig ausfallen. -% Vielmehr wird eine schlichte Betreffzeile\Index[indexit]{Betreff} -% mit einer kurzen Zusammenfassung des Schreibens erwartet. Dies -% geschieht mit dem Makro \Macro{subject}. -% -% \begin{Example} -% Anl"asslich eines Firmenjubil"aums m"ochten Sie ein Preisauschreiben -% f"ur alle Kunden ausrichten. Damit Ihre Kunden sofort sehen, dass -% es sich bei Ihrem Brief nicht um eine Rechnung handelt, m"ochten -% Sie deutlich auf den Inhalt Ihres Briefes aufmerksam machen. -% \begin{small}\begin{verbatim} -% \title{Preisausschreiben} -% \end{verbatim}\end{small} -% Eine schlichte Betreffzeile erzeugen Sie dagegen mit folgender -% Zeile. -% \begin{small}\begin{verbatim} -% \subject{Lagerverkauf} -% \end{verbatim}\end{small} -% \end{Example} -% Dar"uber hinaus kann mit dem Befehl \Macro{subjecton} vor der -% Betreffzeile noch den Eintrag \emph{Betr.:} gesetzt werden. -% Voreingestellt ist \Macro{subjectoff}, so dass nur die blo"se -% Betreffzeile gesetzt wird. -% -% Der Brief beginnt mit dem \Macro{opening}-Befehl. Erst nach diesem -% Befehl werden die Angaben im Referenzfeld\Index{Referenzfeld}, Betreff -% und Empf"anger\Index{Empfaenger=Empf"anger} gesetzt. Diesem Befehl wird -% die Anrede des Briefpartners "ubergeben. -% \EndIndex{Env}{letter}\EndIndex{Cmd}{title} -% \EndIndex{Cmd}{subject}\EndIndex{Cmd}{subjecton}\EndIndex{Cmd}{subjectoff} -% \EndIndex{Cmd}{opening} -% -% \begin{Declaration} -% \Macro{closing}\Parameter{Gru"sformel}\\ -% \Macro{ps}\Parameter{Postskriptum}\\ -% \Macro{cc}\Parameter{Verteiler}\\ -% \Macro{ccnameseparator}\\ -% \Macro{ccname}\\ -% \Macro{encl}\Parameter{Anlagen}\\ -% \Macro{enclnameseparator}\\ -% \Macro{enclname} -% \end{Declaration} -% \BeginIndex{Cmd}{closing}\BeginIndex{Cmd}{ps} -% Nachdem der Brief geschrieben wurde, wird mit \Macro{closing} das -% Briefende eingeleitet. Diesem Befehl wird die -% Gru"sformel\Index[indexit]{Grussformel=Gru"sformel} (zum Beispiel -% \glqq Mit freundlichen Gr"u"sen\grqq) "ubergeben. -% -% Manchmal ist es auch erw"unscht, nach dem eigentlichen Brief noch -% Informationen unterzubringen, die nicht dem engsten Briefanliegen -% entsprechen aber dennoch von Interesse f"ur den Empf"anger sein -% k"onnen. Diese Informationen werden dem Befehl \Macro{ps} -% "ubergeben. -% -% \begin{Example} -% Sie m"ochten Ihre Kunden darauf hinweisen, dass Ihr Gesch"aft im -% August Betriebsurlaub macht und deshalb geschlossen bleibt. Da -% diese Information nicht in unmittelbaren Zusammenhang mit einer -% Rechnung steht, m"ochten Sie dies als -% Postscript\Index[indexit]{Postscriptum} schreiben. -% \begin{small}\begin{verbatim} -% \closing{Mit freundlichen Gr"u"sen,} -% \ps{Bitte beachten Sie, dass wir vom 01.08. bis 31.08. -% Betriebsurlaub machen. Unser Gesch"aft bleibt in dieser -% Zeit geschlossen. Wir sind ab dem 01.09. in alter -% Frische wieder f"ur Sie da.} -% \end{verbatim}\end{small} -% \end{Example} -% H"aufig liegen gesch"aftlichen Briefen -% Anlagen\Index[indexit]{Anlagen} bei, beispielsweise -% Vertragsentw"urfe, Rechnungskopien oder "ahnliches. Darauf kann der -% Adressat mit dem Befehl \Macro{encl} aufmerksam gemacht werden. -% Gehen Kopien eines Briefes an die Empf"anger eines -% Verteilers\Index[indexit]{Verteiler}, so kann auch dies im -% Abschluss des Briefes bekannt gegeben werden. Dazu dient der -% Befehl \Macro{cc}. -% \EndIndex{Cmd}{closing}\EndIndex{Cmd}{ps} -% \BeginIndex{Cmd}{cc}\BeginIndex{Cmd}{ccnameseparator} -% \BeginIndex{Cmd}{ccname} -% \BeginIndex{Cmd}{encl}\BeginIndex{Cmd}{enclnameseparator} -% \BeginIndex{Cmd}{enclname} -% \begin{Example} -% Die W"ahrungsumstellung auf den Euro stellt Ihr kleines Unternehmen -% vor gro"se Schwierigkeiten. Um Zahlungsausf"alle zu vermeiden, -% ziehen Sie alle Verbindlichkeiten f"ur den Monat Dezember vor und -% m"ochten diese bereits im November auszahlen. Au"serdem sollen alle -% F"alligkeiten im neuen Jahr erst ab der dritten Januarwoche -% beglichen werden. Diesen Beschluss der Gesch"aftsleitung m"ochten -% Sie als Kopie an die Buchhaltung und den Betriebsrat schicken. -% \begin{small}\begin{verbatim} -% \encl{Beschluss "uber die Zahlungsmodalit"aten beim -% "Ubergang auf den Euro} -% \cc{Buchhaltung\\Betriebsrat} -% \end{verbatim}\end{small} -% \end{Example} -% Der Aufruf \Macro{cc} setzt vor dem "ubergebenen Argument noch den -% \Macro{ccname} \glqq Kopie an\grqq\ und den Trenner -% \Macro{ccnameseparator} \glqq :\ \grqq\ (Doppelpunkt gefolgt von -% einem Leerzeichen). "Ahnlich funktioniert der Befehl \Macro{encl}. -% Der \Macro{enclname} lautet \glqq Anlagen\grqq\ -- der Trenner -% \Macro{enclnameseparator} ist genauso definiert, wie der f"ur -% Verteiler. -% -% \begin{Example} -% Da Sie im obigen Beispiel nur eine Anlage verschicken, ist es -% besser, den Singular zu verwenden. Sie m"ochten, dass der Verteiler -% auch als solcher benannt wird und au"serdem halten Sie den -% Doppelpunkt f"ur "uberfl"ussig. Alle Ihre W"unsche k"onnen erf"ullt -% werden: -% \begin{small}\begin{verbatim} -% \renewcommand*{\ccnameseparator}{\ } -% \renewcommand*{\enclnameseparator}{\ccnameseparator} -% \renewcommand*{\ccname}{Verteiler} -% \renewcommand*{\enclname}{Anlage} -% \end{verbatim}\end{small} -% \end{Example} -% \EndIndex{Cmd}{cc}\EndIndex{Cmd}{ccnameseparator}\EndIndex{Cmd}{ccname} -% \EndIndex{Cmd}{encl}\EndIndex{Cmd}{enclnameseparator}\EndIndex{Cmd}{enclname} -% -% \subsection{Das Referenzfeld}\Index[indexit]{Referenzfeld} -% -% \begin{Declaration} -% \Macro{yourref}\Parameter{Ihr Zeichen}\\ -% \Macro{yourmail}\Parameter{Ihr Schreiben vom}\\ -% \Macro{myref}\Parameter{Unser Zeichen}\\ -% \Macro{customer}\Parameter{Kundennummer}\\ -% \Macro{invoice}\Parameter{Rechnungsnummer} -% \end{Declaration} -% \BeginIndex{Cmd}{yourref}\BeginIndex{Cmd}{yourmail}\BeginIndex{Cmd}{myref} -% \BeginIndex{Cmd}{customer}\BeginIndex{Cmd}{invoice} -% In Gesch"aftsbriefen werden h"aufig Informationen wie -% Aktenzeichen\Index[indexit]{Aktenzeichen}, Rech\-nungs- oder -% Kundennummer\Index[indexit]{Rechnungsnummer}\Index[indexit]{Kundennummer} -% oder ein Hinweis auf das Schreiben, das beantwortet wird, -% ben"otigt. Um diese Anforderungen realisieren zu k"onnen, sind in -% der \Class{scrletter}-Klasse einige Makros implementiert. -% -% \begin{Example} -% Sie m"ochten einen Brief Ihres Gesch"aftspartners Maier beantworten, -% den dieser am 14. August 2000 geschrieben hat. Ihr Zeichen ist -% {\emph{xyz}} Herr Maier hat die Kundennummer {\em{maier007}} und -% beschwerte sich in seinem Brief, dass in der Rechnung mit der -% Nummer {\em{197200/01}} kein Mehrwertsteueranteil angegeben war. -% Das Zeichen von Herrn Maier lautet {\em{maier}}. Sie schreiben -% also folgenden Brief: -% \begin{small}\begin{verbatim} -% \documentclass[10pt,a4paper]{scrlettr} -% \usepackage{ngerman} -% \name{Firma xyz} -% \address{Industriegasse 12\\23987 Stahlhausen} -% \signature{Herr Schmidt\\ Reklamationen} -% \begin{document} -% \begin{letter}{Herr Maier\\Wiesenweg 37\\ Blumental} -% \yourref{maier} -% \yourmail{14.08.2000} -% \myref{xyz} -% \customer{maier007} -% \invoice{197200/01} -% \opening{Sehr geehrter Herr Maier,} -% vielen Dank f"ur Ihr Schreiben vom 14. August. -% Wir bedauern unseren Fehler und senden Ihnen -% anbei eine korrigierte Rechnung. -% \closing{Mit freundlichen Gr"u"sen} -% \end{letter} -% \end{document} -% \end{verbatim}\end{small} -% Sie sehen, dass Ihre Angaben im Referenzfeld\Index{Referenzfeld} -% zwischen der Empf"angeradresse und dem eigentlichen Brieftext -% gesetzt werden. -% \end{Example} -% \EndIndex{Cmd}{yourref}\EndIndex{Cmd}{yourmail}\EndIndex{Cmd}{myref} -% \EndIndex{Cmd}{customer}\EndIndex{Cmd}{invoice} -% -% \begin{Declaration} -% \Macro{refitemi}\Parameter{Eigenes Feld 1}\\ -% \Macro{refitemii}\Parameter{Eigenes Feld 2}\\ -% \Macro{refitemiii}\Parameter{Eigenes Feld 3}\\ -% \Macro{refitemnamei}\Parameter{Bezeichnung des eigenen Feldes 1}\\ -% \Macro{refitemnameii}\Parameter{Bezeichnung des eigenen Feldes 2}\\ -% \Macro{refitemnameiii}\Parameter{Bezeichnung des eigenen Feldes 3} -% \end{Declaration} -% \BeginIndex{Cmd}{refitemi}\BeginIndex{Cmd}{refitemii} -% \BeginIndex{Cmd}{refitemiii} -% \EndIndex{Cmd}{refitemi}\EndIndex{Cmd}{refitemii}\EndIndex{Cmd}{refitemiii} -% \BeginIndex{Cmd}{refitemnamei}\BeginIndex{Cmd}{refitemnameii} -% \BeginIndex{Cmd}{refitemnameiii} -% Neben den bereits vordefinierten Makros stehen noch bis zu drei -% frei definierbare Makros zur Verf"ugung, um das Referenzfeld -% verschiedenen Anforderungen gem"a"s anpassen zu k"onnen. -% -% \begin{Example} -% Angenommen, Sie stehen mit Herrn Maier in Verhandlungen "uber die -% Abnahme von 10.000 St"uck Ihres schlimmsten Ladenh"uters. Dann -% ben"otigen Sie nat"urlich keine Rechnungsnummer. Statt dessen -% m"ochten Sie im Referenzfeld ein Aktenzeichen\Index{Aktenzeichen} -% vermerken. Dazu definieren zu mit \Macro{refitemnamei} den ersten -% frei w"ahlbaren Referenzeintrag als \emph{Aktenzeichen}. Diesem -% Eintrag k"onnen Sie dann das Aktenzeichen \emph{123/01mai} -% zuweisen. -% \begin{small}\begin{verbatim} -% \refitemnamei{Aktenzeichen} -% \refitemi{123/01mai} -% \end{verbatim}\end{small} -% \end{Example} -% \EndIndex{Cmd}{refitemnamei}\EndIndex{Cmd}{refitemnameii} -% \EndIndex{Cmd}{refitemnameiii} -% -% \section{Seitenstile} -% -% \begin{Declaration} -% \Macro{firsthead}\Parameter{Kopfdefinition}\\ -% \Macro{firstfoot}\Parameter{Fu"sdefinition}\\ -% \Macro{nexthead}\Parameter{Kopfdefinition}\\ -% \Macro{nextfoot}\Parameter{Fu"sdefinition} -% \end{Declaration} -% \BeginIndex{Cmd}{firsthead}\BeginIndex{Cmd}{firstfoot} -% \BeginIndex{Cmd}{nexthead}\BeginIndex{Cmd}{nextfoot} -% Die \Class{scrlettr}-Klasse erm"oglicht es, den -% Seitenstil\Index{Seitenstil} eines Dokuments an die eigenen -% Bed"urfnisse anzupassen. Dazu kann getrennt f"ur die erste und alle -% folgenden Seiten der Fu"s und der Kopf frei definiert werden. Diese -% Definition muss \emph{vor} dem Aufruf von -% \Macro{pagestyle}\Parameter{\dots} erfolgen. -% \begin{Example} -% Sie m"ochten in der Fu"szeile der ersten Seite eines Briefes die -% Bankverbindung notieren. In den Fu"szeilen der folgenden Seiten -% m"ochten Sie auf Ihren verantwortungsbewussten Umgang mit der -% Umwelt hinweisen. -% \begin{small}\begin{verbatim} -% \firstfoot{Bankverbindung:\hfill $\bullet$\hfill Deutsche -% Bank AG\hfill $\bullet$\hfill BLZ: 999\,720\,00\hfill -% $\bullet$\hfill Konto: 123\,456\,890} -% \nextfoot{\centerline{Dieses Schreiben wird -% ausschlie"slich auf chlorfrei gebleichten Papier gedruckt.}} -% \pagestyle{firstpage} -% \end{verbatim}\end{small} -% \end{Example} -% Der Aufruf des Steitenstils -% \Macro{pagestyle}\PParameter{firstpage}\IndexPagestyle[indexit]{firstpage} -% sorgt daf"ur, dass auf allen Seiten Kopf und Fu"s wie auf der ersten -% Seite gestaltet werden. -% -% Voreingestellt ist der Stil \PValue{plain}\IndexPagestyle{plain}. -% Wird der Stil \PValue{headings}\IndexPagestyle{headings} ohne -% eigene Definition der Kopf- und Fu"szeilen verwendet, so sind die -% Fu"szeilen grunds"atzlich leer. Die Kopfzeile der ersten Seite -% enth"alt zentriert den Absendernamen eine -% Trennlinie\Index{Trennlinie} und die Absenderadresse. Der Kopf der -% folgenden Seiten besteht aus den linksb"undig gesetzten -% Absendernamen in der ersten Zeile. In einer zweiten Zeile steht -% der Empf"angername, das Datum und die Seitenzahl. Wird der Stil -% \PValue{empty}\IndexPagestyle{empty} gew"ahlt, so bleiben Kopf- -% und Fu"szeile auf allen Seiten leer. -% -% Auf diese Weise k"onnen sehr individulle Briefb"ogen erstellt -% werden. -% \iffalse -% Der Phantasie sind lediglich durch die zur Verf"ugung -% stehenden Zeichens"atze Grenzen gesetzt. -% \fi -% \EndIndex{Cmd}{firsthead}\EndIndex{Cmd}{firstfoot} -% \EndIndex{Cmd}{nexthead}\EndIndex{Cmd}{nextfoot} -% -% \begin{Declaration} -% \Option{twoside} -% \end{Declaration} -% \BeginIndex{Option}{twoside} -% Zweiseitig gedruckte Briefe werden durch die Angabe der Option -% \Option{twoside} unterst"utzt. Im Gegensatz zu den "ubrigen -% \KOMAScript -Klassen "andert sich hier der Satzspiegel nicht, -% sondern es wird lediglich sichergestellt, dass ein neuer Brief -% immer auf einer ungeraden \emph{Druck}seite beginnt. Dar"uber -% hinaus wird eine Warnung ausgegeben, um darauf hinzuweisen, dass -% es sich nicht wirklich um ein zweiseitiges Layout handelt. -% \EndIndex{Option}{twoside} -% -% \begin{Declaration} -% \Macro{foldmarkson}\\ -% \Macro{foldmarksoff} -% \end{Declaration} -% \BeginIndex{Cmd}{foldmarkson}\BeginIndex{Cmd}{foldmarksoff} -% Die Faltmarken\Index[indexit]{Faltmarken} k"onnen mit dem Befehl -% \Macro{foldmarkson} eingeschaltet und mit dem Befehl -% \Macro{foldmarksoff} ausgestellt werden. Dies ist f"ur jeden Brief -% eines Dokuments getrennt m"oglich. Voreingestellt ist -% \Macro{foldsmarkson}. Diese Faltmarken werden von \Macro{opening} -% gesetzt. Die Schalter und evtl. "Anderungen der Ma"se (vgl. -% Abschnitt~\ref{list:laengen}) m"ussen also vor diesem Makro -% aufgerufen werden. -% \EndIndex{Cmd}{foldmarkson}\EndIndex{Cmd}{foldmarksoff} -% -% -% \section{Unterst"utzung verschiedener Sprachen} -% -% \subsection{Sprachauswahl und -umschaltung} -% \Index[indexit]{Sprachumschaltung}\Index[indexit]{Sprachauswahl} -% -% Die \Class{scrlettr}-Klasse unterst"utz viele Sprachen. Dazu z"ahlen -% neben Deutsch auch "Osterreichisch, Englisch (britisch und -% amerikanisch), Franz"osich, Italienisch und Spanisch. Zwischen den -% Sprachen wird bei Verwendung des \Package{babel}-Pakets mit dem -% Befehl \Macro{selectlanguage}\Parameter{Sprachauswahl} gewechselt. -% -% \begin{Declaration} -% \Macro{captionsenglish}\\ -% \Macro{captionsUSenglish}\\ -% \Macro{captionsamerican}\\ -% \Macro{captionsbritish}\\ -% \Macro{captionsUKenglish}\\ -% \Macro{captionsgerman}\\ -% \Macro{captionsaustrian}\\ -% \Macro{captionsfrench}\\ -% \Macro{captionsitalian}\\ -% \Macro{captionsspanish} -% \end{Declaration} -% \BeginIndex{Cmd}{captionsenglish}\BeginIndex{Cmd}{captionsUSenglish} -% \BeginIndex{Cmd}{captionsamerican}\BeginIndex{Cmd}{captionsbritish} -% \BeginIndex{Cmd}{captionsUKenglish}\BeginIndex{Cmd}{captionsgerman} -% \BeginIndex{Cmd}{captionsaustrian}\BeginIndex{Cmd}{captionsfrench} -% \BeginIndex{Cmd}{captionsitalian}\BeginIndex{Cmd}{captionsspanish} -% Wird die Sprache eines Briefes gewechselt, so "andern sich -% automatisch die Eintragungen der automatisch gesetzten \glqq -% Caption\grqq -Texte wie \emph{Betreff}, \emph{Seite} oder -% \emph{Anlagen}. Sollte das verwendete Sprachumschaltpaket diese -% Texte nicht automatisch verwalten, so k"onnen die entsprechenden -% Befehle notfalls auch dirket verwendet werden. -% \EndIndex{Cmd}{captionsenglish}\EndIndex{Cmd}{captionsUSenglish} -% \EndIndex{Cmd}{captionsamerican}\EndIndex{Cmd}{captionsbritish} -% \EndIndex{Cmd}{captionsUKenglish}\EndIndex{Cmd}{captionsgerman} -% \EndIndex{Cmd}{captionsaustrian}\EndIndex{Cmd}{captionsfrench} -% \EndIndex{Cmd}{captionsitalian}\EndIndex{Cmd}{captionsspanish} -% -% \begin{Declaration} -% \Macro{dateenglish}\\ -% \Macro{dateUSenglish}\\ -% \Macro{dateamerican}\\ -% \Macro{datebritish}\\ -% \Macro{dateUKenglish}\\ -% \Macro{dategerman}\\ -% \Macro{dateaustrian}\\ -% \Macro{datefrench}\\ -% \Macro{dateitalian}\\ -% \Macro{datespanish} -% \end{Declaration} -% \BeginIndex{Cmd}{dateenglish}\BeginIndex{Cmd}{dateUSenglish} -% \BeginIndex{Cmd}{dateamerican}\BeginIndex{Cmd}{datebritish} -% \BeginIndex{Cmd}{dateUKenglish}\BeginIndex{Cmd}{dategerman} -% \BeginIndex{Cmd}{dateaustrian}\BeginIndex{Cmd}{datefrench} -% \BeginIndex{Cmd}{dateitalian}\BeginIndex{Cmd}{datespanish} -% Je nach verwendeter Sprache werden auch die -% Datumsangaben\Index{Datum} in unterschiedlicher Form umgesetzt. -% Die genauen Angaben k"onnen der Tabelle~\ref{TAB:Datum} entnommen -% werden. -% \begin{table} -% \centering -% \begin{tabular}{ll} -% \verb \dateenglish & 1/12/1993\\ -% \verb \dateUSenglish & 12/1/1993\\ -% \verb \dateamerican & 12/1/1993\\ -% \verb \datebritish & 1/12/1993\\ -% \verb \dateUKenglish & 1/12/1993\\ -% \verb \dategerman & 1.\,12.\,1993\\ -% \verb \dateaustrian & 1.\,12.\,1993\\ -% \verb \datefrench & 1.\,12.\,1993\\ -% \verb \dateitalian & 1.\,12.\,1993\\ -% \verb \datespanish & 1.\,12.\,1993\\ -% \end{tabular} -% \caption{Sprachabh"angige Ausgabeformate f"ur Datum} -% \label{TAB:Datum} -% \end{table} -% \EndIndex{Cmd}{dateenglish}\EndIndex{Cmd}{dateUSenglish} -% \EndIndex{Cmd}{dateamerican}\EndIndex{Cmd}{datebritish} -% \EndIndex{Cmd}{dateUKenglish}\EndIndex{Cmd}{dategerman} -% \EndIndex{Cmd}{dateaustrian}\EndIndex{Cmd}{datefrench} -% \EndIndex{Cmd}{dateitalian}\EndIndex{Cmd}{datespanish} -% -% \begin{Declaration} -% \Option{orgdate}\\ -% \Option{scrdate} -% \end{Declaration} -% \BeginIndex{Option}{orgdate} -% Sollen die Datumseinstellungen\Index{Datum} des \Package{babel}- -% oder \Package{ngerman}-Pakets oder eines eigenen -% Sprachumschaltpakets benutzt werden, so kann dies durch die -% Klassenoption \Option{orgdate} erreicht werden. Voreingestellt ist -% die Verwendung der \Class{scrlettr}-eigenen Definition -% (\Option{scrdate}). -% \EndIndex{Option}{orgdate} -% -% \subsection{Sprachabh"angige Variablen} -% \Index[indexit]{sprachabhaengige Variablen=sprachabh"angige -% Variablen} -% \begin{Declaration} -% \Macro{yourrefname}\\ -% \Macro{yourmailname}\\ -% \Macro{myrefname}\\ -% \Macro{customername}\\ -% \Macro{invoicename}\\ -% \Macro{subjectname}\\ -% \Macro{ccname}\\ -% \Macro{enclname}\\ -% \Macro{headtoname}\\ -% \Macro{datename}\\ -% \Macro{pagename} -% \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}{datename}\BeginIndex{Cmd}{pagename} -% Die aufgef"uhrten Befehle enthalten die jeweils sprachtypischen -% \emph{Captiontexte}. Diese k"onnen f"ur die Realisierung einer -% weiteren Sprache oder aber auch zur eigenen freien Gestaltung -% angepasst werden. Dazu benutzt man den Befehl -% \Macro{renewcommand}. -% -% \begin{Example} -% M"ochten Sie statt des Eintrags \glqq Ihr Schreiben vom\grqq\ -% lieber \glqq Ihre Nachricht vom\grqq\ im Referenzfeld stehen -% haben, m"ussen Sie den Befehl \Macro{yourmailname} wie folgt -% umdefinieren. -% \begin{small}\begin{verbatim} -% \renewcommand*{\yourmailname}{Ihre Nachricht vom} -% \end{verbatim}\end{small} -% Auf diese Weise k"onnen Sie nat"urlich auch alle Variablen den -% Vorgaben einer anderen Sprache anpassen. -% \end{Example} -% Es ist darauf zu achten, dass die Variablen erst \emph{nach} -% \Macro{begin}\PParameter{document} definiert werden. Der Aufruf -% \Macro{renewcommand*}\Parameter{\dots} muss daher zwingend nach -% \Macro{begin}\PParameter{document} oder mit Hilfe von -% \Macro{AtBeginDocument} erfolgen. -% \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}{datename}\EndIndex{Cmd}{pagename} -% -% -% \section{Adressdateien} -% \label{sec:adressdateien} -% \begin{Declaration} -% \Macro{adrentry}\Parameter{Name}\Parameter{Vorname}\Parameter{Adresse} -% \Parameter{Telefon}\Parameter{F1}\Parameter{F2} -% \Parameter{Kommentar}\Parameter{K"urzel} -% \end{Declaration} -% \BeginIndex{Cmd}{adrentry} -% \label{decl:adrentry} -% Mit der \Class{scrlettr}-Klasse k"onnen auch -% Adressdateien\Index[indexit]{Adressdatei} ausgewertet werden. Dies -% ist beispielsweise f"ur Serienbriefe sehr n"utzlich (siehe -% Abschnitt~\ref{subsec:Serienbriefe}). Eine Adressdatei muss die -% Endung \File{.adr} haben und besteht aus einer Reihe von -% \Macro{adrentry}-Eintr"agen. Ein solcher Eintrag besteht aus acht -% Elementen und kann beispielsweise wie folgt aussehen: -% \begin{small}\begin{verbatim} -% \adrentry{Maier} -% {Herbert} -% {\Wiesenweg 37\\ 09091 Blumental} -% {0\,23\,34 / 91\,12\,74} -% {Bauunternehmer} -% {} -% {kauft alles} -% {MAIER} -% \end{verbatim}\end{small} -% Die Elemente f"unf und sechs, \PValue{F1} und \PValue{F2}, k"onnen -% frei bestimmt werden. Denkbar w"aren neben Hinweisen auf das -% Geschlecht oder akademische Grade auch der Geburtstag oder das -% Eintrittsdatum in einen Verein. -% Um das "Uberschreiben von \TeX - oder \LaTeX -Befehlen zu -% vermeiden, ist es empfehlenswert, f"ur \emph{K"urzel} ausschlie"slich -% Gro"sbuchstaben zu verwenden. -% -% \begin{Example} -% Herr Maier geh"ort zu Ihren engeren Gesch"aftspartnern. Da Sie eine -% rege Korrespondenz mit ihm pflegen, ist es Ihnen auf Dauer zu -% m"u"sig, jedesmal alle Empf"angerdaten aufs Neue einzugeben. -% \Class{scrlettr} nimmt Ihnen diese Arbeit ab. Angenommen, Sie -% haben Ihre Kundenkontakte in der Datei \File{partner.adr} -% gespeichert und Sie m"ochten Herrn Maier einen Brief schreiben, -% dann sparen Sie sich viel Tipparbeit, wenn Sie folgendes eingeben: -% \begin{small}\begin{verbatim} -% \input{partner.adr} -% \begin{letter}{\MAIER} -% Der Brief ... -% \end{letter} -% \end{verbatim}\end{small} -% Achten Sie bitte darauf, dass Ihr \TeX -System auch auf die -% \File{.adr}-Dateien zugreifen kann, da sonst eine Fehlermeldung -% von \Macro{input} verursacht wird. Entweder Sie legen die Brief- -% und Adressdateien im selben Verzeichnis an, oder Sie binden ein -% Adressverzeichnis fest in Ihr \TeX -System ein. -% \end{Example} -% \EndIndex{Cmd}{adrentry} -% -% \subsection{Serienbriefe mit der \Class{scrlettr}-Klasse} -% \label{subsec:Serienbriefe} -% -% Neben dem vereinfachten Zugriff auf Kundendaten k"onnen die -% \File{.adr}-Dateien auch f"ur -% Serienbriefe\Index[indexit]{Serienbriefe} genutzt werden. So ist -% es ohne die komplizierte Anbindung an Datenbanksysteme m"oglich, -% solche Massenpostsendungen zu erstellen. -% \begin{Example} -% Sie wollen einen Serienbrief an alle Mitglieder Ihres -% Anglervereins schicken, um zur n"achsten Mitgliederversammlung -% einzuladen. -% \begin{small}\begin{verbatim} -% \documentclass{scrlettr} -% \usepackage{ngerman} -% \begin{document} -% \def\adrentry#1#2#3#4#5#6#7#8{ -% \begin{letter}{#2 #1\\#3} -% \opening{Liebe Vereinsmitglieder,} -% unsere n"achste Mitgliederversammlung -% findet am Montag, -% dem 13.\, August 2001, statt. -% -% Folgende Punkte m"ussen besprochen werden... -% \closing{Petri Heil,} -% \end{letter} -% } -% \input{mitglieder.adr} -% \end{document} -% \end{verbatim}\end{small} -% \end{Example} -% Nat"urlich kann der Briefinhalt auch von den Adressatenmerkmalen -% abh"angig gemacht werden. Als Bedingungsfelder k"onnen die frei -% bestimmbaren Elemente f"unf oder sechs eines -% \Macro{adrentry}-Eintrages genutzt werden. -% \begin{Example} -% Angenommen, Sie verwenden das Element f"unf, um das Geschlecht -% eines Vereinmitgliedes zu hinterlegen (\PValue{m/w}) und das -% sechste Element weist auf eine R"uckstand der Mitgliedsbeitr"age -% hin. Wollen Sie nun alle s"aumigen Mitglieder anschreiben und -% pers"onlich anreden, so hilft Ihnen folgendes Beispiel weiter: -% \begin{small}\begin{verbatim} -% \def\adrentry#1#2#3#4#5#6#7#8{ -% \ifcase #6 -% % #6 > 0 -% % hier werden die s"aumigen Mitglieder herausgefiltert -% \else -% \begin{letter}{#2 #1\\#3} -% \if #5m \opening{Lieber #2,} \fi -% \if #5w \opening{Liebe #2,} \fi -% -% Leider mussten wir feststellen, dass du mit der Zah- -% lung deiner Mitgliedsbeitr"age im R"uckstand bist. -% -% Wir m"ochten Dich bitten, den offenen Betrag von #6 DM -% auf das Vereinskonto einzuzahlen. -% \closing{Petri Heil,} -% \end{letter} -% \fi -% } -% \end{verbatim}\end{small} -% \end{Example} -% Es ist also m"oglich, den Brieftext auf bestimmte Empf"angermerkmale -% gezielt abzustimmen und so den Eindruck eines pers"onlichen -% Schreibens zu erwecken. Die Anwendungsbreite ist lediglich durch -% die maximale Anzahl von zwei freien \Macro{adrentry}-Elementen -% begrenzt. -% -% \subsection{Adressverzeichnisse und Telefonlisten erstellen} -% -% Der Inhalt dieses Abschnitts ist komplett obsolet. Hier sei -% stattdessen auf das \Package{adrconv}-Paket von Axel Kielhorn -% verwiesen. -% -% \section{Befehls- und Variablen"ubersicht} -% \subsection{Briefspezifische Befehle, die strukturbeschreibend sind -% oder eine Ausgabe erzeugen:} -% -% \begin{labeling}[~]{\Macro{begin}\PParameter{letter}\Parameter{Adressat}} -% \item[\Macro{begin}\PParameter{letter}\Parameter{Adressat}] Markiert den -% Beginn eines Briefes an \emph{Adressat} und beginnt eine neue -% Seite\IndexEnv{letter} -% \item[\Macro{end}\PParameter{letter}] Markiert das Ende eines -% Briefes\IndexEnv{letter} -% \item[\Macro{opening}\Parameter{Anrede}] Setzt alle Teile eines -% Briefes oberhalb und einschlie"slich der -% \emph{Anrede}\IndexCmd{opening} -% \item[\Macro{closing}\Parameter{Gru"sformel}] Setzt \emph{Gru"sformel} -% und Unterschrift\IndexCmd{closing}\Index{Grussformel=Gru"sformel} -% \item[\Macro{ps}\Parameter{Postscriptum}] Setzt ein -% \emph{Postscriptum}\IndexCmd{ps}\Index{Postscriptum} -% \item[\Macro{cc}\Parameter{Verteiler}] setzt eine Verteilerliste, -% deren Eintr"age durch \verb \\ \ zu trennen sind -% (vgl.\Macro{ccnameseparator} und -% \Macro{ccname})\IndexCmd{cc}\Index{Verteiler} -% \item[\Macro{encl}\Parameter{Anlagen}] Setzt eine Anlagenliste, deren -% Eintr"age durch \verb \\ \ zu trennen sind (vgl. -% \Macro{enclnameseparator} und -% \Macro{enclname})\IndexCmd{encl}\Index{Anlagen} -% \end{labeling} -% -% \subsection{Befehle der Adressdateien:} -% -% \Macro{adrchar} und \Macro{adrentry} siehe -% Abschnitt~\ref{decl:adrentry} -% -% \subsection{Befehle zur Sprachumschaltung:}\Index{Sprachumschaltung} -% -% \begin{labeling}[~]{\Macro{captionsUSenglish}} -% \item[\Macro{captionsenglish}] Umschaltung auf englische -% Caption-Texte\IndexCmd{captionsenglish} -% \item[\Macro{captionsUSenglish}] Umschaltung auf amerikanische -% Cation-Texte\IndexCmd{captionsUSenglish} -% \item[\Macro{captionsgerman}] Umschaltung auf deutsche -% Caption-Texte\IndexCmd{captionsgerman} -% \item[\Macro{captionsfrench}] Umschaltung auf franz"osische -% Caption-Texte\IndexCmd{captionsfrench} -% \item[\Macro{captionsitalian}] Umschaltung auf italienische -% Caption-Texte\IndexCmd{captionsitalian} -% \item[\Macro{captionsaustrian}] Umschaltung auf "osterreichische -% Caption-Texte\IndexCmd{captionsaustrian} -% \item[\Macro{captionsspanish}] Umschaltung auf spanische -% Caption-Texte\IndexCmd{captionsspanish} -% \index{Datum} -% \item[\Macro{dateenglish}] Englisches Datum -% (vgl. Tabelle~\ref{TAB:Datum})\IndexCmd{dateenglish} -% \item[\Macro{dateUSenglish}] Amerikanisches Datum -% (vgl. Tabelle~\ref{TAB:Datum})\IndexCmd{dateUSenglish} -% \item[\Macro{dategerman}] Deutsches Datum -% (vgl. Tabelle~\ref{TAB:Datum})\IndexCmd{dategerman} -% \item[\Macro{datefrench}] Franz"osisches Datum -% (vgl. Tabelle~\ref{TAB:Datum})\IndexCmd{datefrench} -% \item[\Macro{dateitalian}] Italienisches Datum -% (vgl. Tabelle~\ref{TAB:Datum})\IndexCmd{dateitalian} -% \item[\Macro{dateaustrian}] "Osterreichisches Datum -% (vgl. Tabelle~\ref{TAB:Datum})\IndexCmd{dateaustrian} -% \item[\Macro{datespanish}] Spanisches Datum (vgl. Tabelle~\ref{TAB:Datum})\IndexCmd{datespanish} -% \end{labeling} -% -% \subsection{Sprachabh"angige Variablen}\Index{sprachabhaengige -% Variablen=sprachabh"angige Variablen} -% -% Diese Varialblen d"urfen an jeder Stelle nach dem -% \Macro{begin}\PParameter{document}-Befehl aufgerufen werden. Sie -% k"onnen nur mit \Macro{renewcommand} ge"andert werden. Die -% untenstehende Aufstellung listet die voreingestellten Eintr"age f"ur -% die Sprachen Deutsch, Englisch, Franz"osisch, Italienisch und -% Spanisch auf. Die amerikanischen Caption-Texte entsprechen den -% englischen. Deutsche und "osterreichische Eintragungen sind -% identisch. -% -% \begin{labeling}[~]{\Macro{customername}} -% \item[\Macro{yourrefname}] \small -% Ihr Zeichen / Your ref. / Vos références / Vs./Rif. / Su ref. -% \IndexCmd{yourrefname} -% \item[\Macro{yourmailname}] \small -% Ihr Schreiben vom / Your letter of / Votre lettre du / Vs.~lettera -% del / Su carta de\IndexCmd{yourmailname} -% \item[\Macro{myrefname}] \small -% Unser Zeichen / Our ref. / Nos références / Ns./Rif. / Nuestra -% ref.\IndexCmd{myrefname} -% \item[\Macro{customername}] \small -% Kundennummer / Customer no. / Numéro de client / Nr.~cliente / No. -% de cliente\IndexCmd{customername} -% \item[\Macro{invoicename}] \small -% Rechnungsnummer / Invoice no. / Numéro de facture / Nr.~fattura / -% No. de factura\IndexCmd{invoicename} -% \item[\Macro{subjectname}] \small Betr. / Subject / Concernant / -% Oggetto / Asunto\IndexCmd{subjectname} -% \item[\Macro{ccname}] \small -% Kopie an / cc / Copia á / Per conoscenza / Copias\IndexCmd{ccname} -% \item[\Macro{enclname}] \small -% Anlagen / encl / Annexes / Allegato / Adjunto\IndexCmd{enclname} -% \item[\Macro{headtoname}] \small -% An / To / A / A / A\IndexCmd{headtoname} -% \item[\Macro{datename}] \small -% Datum / Date / Date / Data / Fecha\IndexCmd{datename} -% \item[\Macro{pagename}] \small -% Seite / Page / Page / Pagina / Página\IndexCmd{pagename} -% \end{labeling} -% -% \subsection{Briefspezifische Variablen und deren Befehle zur Neu- und -% Umdefinierung} -% -% Die in Klammern stehenden Variablen werden durch Aufruf folgender -% Makros ge"andert. -% \begin{labeling}[~]{\Macro{refitemnameiii}} -% \index{briefspezifische Variablen} -% \item[\Macro{name}] Name des Absenders -% (\Macro{fromname})\IndexCmd{name} -% \item[\Macro{branch}] Branche des Absenders ( -% \Macro{frombranch})\IndexCmd{branch} -% \item[\Macro{signature}] Unterschrift, voreingestellt ist die -% "Ubernahme des Wertes von \Macro{name} -% (\Macro{fromsig})\IndexCmd{signature} -% \item[\Macro{address}] Absenderadresse -% (\Macro{fromaddress})\IndexCmd{address} -% \item[\Macro{place}] Absenderort (\Macro{fromplace})\IndexCmd{place} -% \item[\Macro{location}] weitere Angabe zur Absenderadresse -% (\Macro{fromlocation})\IndexCmd{location} -% \item[\Macro{backaddress}] Absenderadresse im Adressfeld -% (\Macro{frombackaddress})\IndexCmd{backaddress} -% \item[\Macro{telephone}] Telefonnummer des Absenders -% (\Macro{telephonenum})\IndexCmd{telefone} -% \item[\Macro{yourref}] Referenzfeldeintrag -% (\Macro{varyourref})\IndexCmd{yourref} -% \item[\Macro{yourmail}] Referenzfeldeintrag -% (\Macro{varyourmail}\IndexCmd{yourmail} -% \item[\Macro{myref}] Referenzfeldeintrag -% (\Macro{varmymail})\IndexCmd{yourref} -% \item[\Macro{customer}] Referenzfeldeintrag -% (\Macro{varcustomer})\IndexCmd{customer} -% \item[\Macro{invoice}] Referenzfeldeintrag -% (\Macro{varinvoice})\IndexCmd{invoice} -% \item[\Macro{refitemi}] Referenzfeldeintrag, frei definierbar -% (\Macro{varrefitemi})\IndexCmd{refitemi} -% \item[\Macro{refitemii}] Referenzfeldeintrag, frei definierbar -% (\Macro{varrefitemii})\IndexCmd{refitemii} -% \item[\Macro{refitemiii}] Referenzfeldeintrag, frei definierbar -% (\Macro{varrefitemiii})\IndexCmd{refitemiii} -% \item[\Macro{refitemnamei}] Bezeichnung eines frei definierbaren -% Referenzfeldeintrags -% (\Macro{varrefitemnamei})\IndexCmd{refitemnamei} -% \item[\Macro{refitemnameii}] Bezeichnung eines frei definierbaren -% Referenzfeldeintrags -% (\Macro{varrefitemnameii})\IndexCmd{refitemnameii} -% \item[\Macro{refitemnameiii}] Bezeichnung eines frei definierbaren -% Referenzfeldeintrags -% (\Macro{varrefitemnameiii})\IndexCmd{refitemnameiii} -% \item[\Macro{specialmail}] Versandart -% (\Macro{@specialmail})\IndexCmd{specialmail}\Index{Versandart} -% \item[\Macro{title}] "Uberschrift (\Macro{@title})\IndexCmd{title} -% \item[\Macro{subject}] Betreff, sprachabh"angig -% (\Macro{@subject})\IndexCmd{subject}\Index{Betreff} -% \item[\Macro{firsthead}] Kopfzeilendefinition f"ur erste Seite -% (\Macro{@firsthead})\IndexCmd{firsthead} -% \item[\Macro{firstfoot}] Fu"szeilendefinition f"ur erste Seite -% (\Macro{@firstfoot})\IndexCmd{firstfoot} -% \item[\Macro{nexthead}] Kopfzeile der folgenden Seiten -% (\Macro{@nexthead})\IndexCmd{nexthead} -% \item[\Macro{nextfoot}] Fu"szeile der folgenden Seiten -% (\Macro{@nextfoot})\IndexCmd{nextfoot} -% \end{labeling} -% -% \subsection{Briefspezifische L"angenangaben} \label{list:laengen} -% \Index{Laengenangaben=L"angenangaben} -% -% Voreingestellte L"angen sind in Klammern angegeben. -% \begin{labeling}[~]{\Length{foldvskipiii}} -% \item[\Length{foldhskip}] Abstand der Falzmarke vom linken -% Papierrand (3,5\Unit{mm})\IndexLength{foldhskip} -% \item[\Length{foldvskipi}] Abstand zwischen der ersten Falzmarke -% und dem oberen Seitenrand (62\Unit{mm})\IndexLength{foldvskipi} -% \item[\Length{foldvskipii}] Abstand der zweiten Falzmarke von -% der ersten Falzmarke (45\Unit{mm})\IndexLength{foldvskipii} -% \item[\Length{foldvskipiii}] Abstand der dritten Falzmark von -% der zweiten Falzmarke (54\Unit{mm})\IndexLength{foldvskipiii} -% \item[\Length{addvskip}] Abstand des Adressfensters von der -% Textbereichsoberkante (7,5\Unit{mm})\IndexLength{addvskip} -% \item[\Length{addrindent}] Abstand des Adressfensters vom linken -% Rand des Textbereiches (0\Unit{mm})\IndexLength{addrindent} -% \item[\Length{addrwidth}] Breite des Adressfeldes -% (70\Unit{mm})\IndexLength{addrwidth} -% \item[\Length{locwidth}] Breite des \glqq Location\grqq -Feldes -% [$(\Length{textwidth}-\Length{addrwidth})/2$ bei Option -% \Option{slocfield} oder -% $(\Length{textwidth}-\Length{addrwidth})*2/3$ bei Verwendung der -% Option \Option{wlocfield}]\IndexLength{locwidth} -% \item[\Length{refvskip}] Abstand zwischen dem Referenzfelde und der -% Adressfeldunterkante (5,5\Unit{mm})\IndexLength{refvskip} -% \item[\Length{sigindent}] Abstand der Gru"sformel und der -% Unterschrift vom linken Rand des Textbereiches -% (0\Unit{mm})\IndexLength{sigindent} -% \end{labeling} -% -% -% \subsection{Befehle zum Setzen interner Abst"ande} -% Voreingestellte L"angen sind in Klammern angegeben. -% \begin{labeling}[~]{\Macro{setpresigskip}} -% \item[\Macro{setpresigskip}] Abstand zwischen der Gru"sformel und der -% Unterschrift voreingestellt sind -% (2\Length{baselineskip})\IndexCmd{setpresigskip} -% \Index{Grussformel=Gru"sformel} -% \end{labeling} -% -% \subsection{Schalter} -% -% An den jeweiligen Schalternamen ist noch ein \PValue{on} bzw. -% \PValue{off} anzuh"angen. -% -% \begin{labeling}[~]{\Macro{subjectafter}} -% \item[\Macro{foldmarks}] Faltmarken (Default = on) -% \IndexCmd{foldmarkson}\IndexCmd{foldmarksoff}\Index{Faltmarken} -% \item[\Macro{addrfield}] Adress- und \glqq Location\grqq -Feld -% (Default = on)\Index{Adressfeld} -% \item[\Macro{subject}] \glqq Betreff: \grqq\ vor \Macro{subject} -% (Default = off)\IndexCmd{subjecton}\IndexCmd{subjectoff} -% \item[\Macro{subjectafter}] Betreff nach der Anrede setzen -% (Default = off) -% \IndexCmd{subjectafteron}\Index{Betreff}\IndexCmd{subjectafteroff} -% \end{labeling} -% -% \subsection{Klassenoptionen} -% -% Die Standartoptionen (\Option{12pt}, \Option{oneside}, -% \Option{final}, \Option{slocfield}) k"onnen durch explizite -% Optionsangaben "uberschrieben werden. -% \begin{labeling}[~]{\Option{10pt}, \Option{11pt}, \Option{12pt}} -% \item[\Option{10pt}, \Option{11pt}, \Option{12pt}] Option f"ur die -% Schriftgr"o"se\IndexOption{10pt}\IndexOption{11pt}\IndexOption{12pt} -% \item[\Option{oneside}] einseitiges Layout\IndexOption{oneside} -% \item[\Option{twoside}] pseudo-doppelseitiges -% Layout\IndexOption{twoside}\IndexOption{twoside} -% \item[\Option{draft}] Dokumente im Entwurfsstadium -% setzen\IndexOption{draft} -% \item[\Option{final}] Dokumente in der Endfassung -% setzen\IndexOption{final} -% \item[\Option{a4paper}] Papiergr"o"se\IndexOption{a4paper} -% \item[\Option{wlocfield}] gro"ses \glqq -% Location\grqq-Feld\IndexOption{wlocfield} -% \item[\Option{slocfield}] kleines \glqq -% Location\grqq-Feld\IndexOption{wlocfield} -% \item[\Option{orgdate}] eigene Datumsanpassungen oder die -% eines externen Pakets verwenden\IndexOption{orgdate} -% \item[\Option{scrdate}] Datumsanpassungen des -% \Class{scrlettr}-Pakets verwenden.\IndexOption{scrdate} -% \end{labeling} -% -% \EndIndex{Class}{scrlettr} -% \section{Autoren} -% \label{sec:scrletter.autoren} Die folgenden Autoren waren an -% dieser Anleitung beteiligt oder haben die Vorlage daf"ur geliefert. -% \begin{itemize} -% \item Markus Kohm -% \item \textbf{Enrico Kunz} \TextEMail{enricokunz@web.de} -% \item Jens-Uwe Morawski -% \end{itemize} -% -% \MakeShortVerb{\|} -% -% \StopEventually{\PrintIndex\PrintChanges} -% -% \part{"`scrlettr"'-class} -% -% \section{Implementierung} -% -% \begin{macrocode} -%<*scrlettr> -% \end{macrocode} -%\iffalse -% \begin{macrocode} -\ClassWarningNoLine{scrlettr}{% - THIS CLASS IS OBSOLETE AND NOT LONGER SUPPORTED!\MessageBreak - Since the new KOMA-Script letter class ``scrlttr2'' was\MessageBreak - released, the use of ``scrlettr'' is obsolete.\MessageBreak - You should not use this class for writing new letters.\MessageBreak - You should use ``scrlttr2''.\MessageBreak - All old commands of ``scrlettr'' are supported at\MessageBreak - the new class ``scrlttr2''. But the length are not\MessageBreak - and the typearea was changed - even using the\MessageBreak - compatiblity option ``KOMAold''. So you may have\MessageBreak - to do some changes} -% \end{macrocode} -%\fi -% -% \changes{v2.0}{1993/12/01}{Letzte "`script\_l"'-\LaTeX~2.0-Version -% von Frank Neukam} -% \changes{v2.0-2e}{1994/10/08}{"`script\_l"'-\LaTeXe-Version -% von Axel Kielhorn} -% \changes{v2.0e}{1994/10/12}{Erste "`scrlettr"'-Version im -% \textsf{KOMA-Script} Paket} -% \changes{v2.3e}{1996/05/31}{Faltmarken korrigiert} -% Die Implementierung von |scrlettr| stammt im wesentlichen von Frank Neukam. -% Axel Kielhorn hat sie nach \LaTeXe portiert, wobei die von Roland T. Lichti -% modifizierte Version zugrunde gelegt wurde. Markus Kohm hat nur einige -% wenige, unwesentliche "Anderungen vorgenommen. -% -% \subsection{Optionen} -% -% \changes{v2.4c}{1997/11/25}{Neuer Schalter \cs{if@orgdate} f"ur die neuen -% Optionen \texttt{orgdate}, \texttt{scrdate}} -% \begin{macrocode} -\newcommand*\@ptsize{} -\newif\if@bigloc -\newif\if@orgdate -% \end{macrocode} -% -% \subsubsection{Standardoptionen} -% -% \changes{v2.1a}{1994/10/29}{Meldung bei \texttt{twoside}-Option in -% "`scrlettr"' ge"andert} -% \begin{option}{10pt} -% \begin{option}{11pt} -% \begin{option}{12pt} -% \begin{option}{oneside} -% \begin{option}{twoside} -% \begin{option}{draft} -% \begin{option}{final} -% \begin{option}{a4paper} -% \changes{v2.6a}{2001/05/24}{Neue Standardoption} -% \begin{macrocode} -\DeclareOption{10pt}{\renewcommand*\@ptsize{0}} -\DeclareOption{11pt}{\renewcommand*\@ptsize{1}} -\DeclareOption{12pt}{\renewcommand*\@ptsize{2}} -\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse} -\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue% - \ClassWarningNoLine{scrlettr}{This is no twoside-layout but openright!} -} -\DeclareOption{draft}{\overfullrule 5pt} -\DeclareOption{final}{\setlength\overfullrule{0pt}} -\DeclareOption{a4paper}{ - \setlength{\paperwidth}{210mm} - \setlength{\paperheight}{297mm}} -% \end{macrocode} -% \end{option} -% \end{option} -% \end{option} -% \end{option} -% \end{option} -% \end{option} -% \end{option} -% \end{option} -% -% \subsubsection{Optionen f"ur das Adre"sfenster} -% -% \begin{option}{wlocfield} -% \begin{option}{slocfield} -% Mit Hilfe der Optione |wlocfield| kann der Platz neben dem Adre"sfeld -% vergr"o"sert werden. Mit |slocfield| wird der normale, kleine Platz -% verwendet. -% \begin{macrocode} -\DeclareOption{wlocfield}{\@bigloctrue} -\DeclareOption{slocfield}{\@biglocfalse} -% \end{macrocode} -% \end{option} -% \end{option} -% -% \subsubsection{Optionen f"ur das Datum} -% -% \begin{option}{orgdate} -% \changes{v2.4c}{1997/11/25}{Neue Option} -% \begin{option}{scrdate} -% \changes{v2.4c}{1997/11/25}{Neue Option} -% \begin{macrocode} -\DeclareOption{orgdate}{\@orgdatetrue} -\DeclareOption{scrdate}{\@orgdatefalse} -% \end{macrocode} -% \end{option} -% \end{option} -% -% \subsubsection{Optionenwahl} -% -% Standard sind bei |scrlettr| die Optionen |12pt|, |oneside|, |final| und -% |slocfield|. Diese k"onnen durch explizite Optionsangabe "uberschrieben -% werden. -% \begin{macrocode} -\ExecuteOptions{12pt,oneside,final,slocfield,a4paper} -\ProcessOptions -\input{size1\@ptsize.clo} -% \end{macrocode} -% -% \subsection{"`Alte"' Fontauswahlbefehle} -% -% \begin{macro}{\rm} -% \begin{macro}{\sf} -% \begin{macro}{\tt} -% \begin{macro}{\bf} -% \begin{macro}{\it} -% \begin{macro}{\sl} -% \begin{macro}{\sc} -% \begin{macro}{\sfb} -% \changes{v2.3b}{1996/01/14}{nicht mehr mathematisch.} -% \changes{v2.3b}{1996/01/14}{Keine Unterscheidung mehr f"ur den -% Kompatibilit"atsmodus.} -% Die alten Font-Auswahlbefehle werden zwar noch unterst"utzt, sollten -% aber in der Regel nicht mehr verwendet werden, da sie nach dem alten -% Fontauswahlverfahren arbeiten. Im Kompatibilit"atsmodus wurde dies -% beim nicht standardgem"a"sen Befehl |\sfb| noch verst"arkt. -% \begin{macrocode} -\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} -\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} -\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} -\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} -\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} -\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} -\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} -\DeclareOldFontCommand{\sfb}{\normalfont\sffamily\bfseries}{\@nomath\sfb} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \subsection{Font-Variablen} -% -% \begin{macro}{\descfont} -% \begin{macro}{\sectfont} -% \changes{v2.3b}{1996/01/14}{\cs{sectfont} wird nun verwendet} -% \begin{macro}{\pnumfont} -% \begin{macro}{\headfont} -% \begin{macro}{\capfont} -% \begin{macro}{\caplabelfont} -% Auch in der |scrlettr|-class werden verschiedene Font-Variablen verwendet. -% \begin{macrocode} -\newcommand*\descfont{\sffamily\bfseries} -\newcommand*\sectfont{\sffamily\bfseries} -\newcommand*\pnumfont{\normalfont} -\newcommand*\headfont{\slshape} -\newcommand*\capfont{\normalfont} -\newcommand*\caplabelfont{\normalfont} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \subsection{Standard-Labels} -% -% \changes{v2.2b}{1995/02/16}{Sprachauswahl an german.sty Version 2.5b -% angepa"st} -% \begin{macro}{\captionsenglish} -% \begin{macro}{\captionsUSenglish} -% \begin{macro}{\captionsamerican} -% \changes{v2.4c}{1997/11/25}{american identisch mit USenglish definiert.} -% \begin{macro}{\captionsbritish} -% \changes{v2.4c}{1997/11/25}{british identisch mit english definiert.} -% \begin{macro}{\captionsUKenglish} -% \changes{v2.4c}{1997/11/25}{UKenglish identisch mit english definiert.} -% \begin{macro}{\captionsgerman} -% \changes{v2.2a}{1994/01/26}{{\cmd\subjectname} korrigiert} -% \begin{macro}{\captionsaustrian} -% \begin{macro}{\captionsngerman} -% \changes{v2.5}{1999/09/08}{ngerman neu und identisch mit german.} -% \changes{v2.5b}{2000/01/03}{ngerman korrigiert.} -% \begin{macro}{\captionsfrench} -% \begin{macro}{\captionsitalian} -% \changes{v2.3e}{1996/05/31}{Sprachspende von Simone Naldi} -% \begin{macro}{\captionsspanish} -% \changes{v2.4c}{1997/11/25}{Sprachspende von Ralph J. Hangleiter} -% Bei |scrlettr| gibt es eine gro"se Anzahl von Label-Variablen, die es -% in den Standard-classes nicht gibt, die also auch nicht in -% Sprachanpassungen wie |german.sty| oder |german3.sty| vorhanden sind. -% Deshalb ist es notwendig diese Labels hier neu zu definieren. Weil es -% in fr"uheren Versionen zu Problemen damit gekommen ist, werden diese -% jedoch erst bei |\begin{document}| definiert. Sollen sie nachtr"aglich -% ge"andert werden, mu"s dies \emph{nach} |\begin{document}| geschehen. -% -% \begin{macrocode} -\AtBeginDocument{ - \def\captionsenglish{% - \def\yourrefname{Your ref.} - \def\yourmailname{Your letter of} - \def\myrefname{Our ref.} - \def\customername{Customer no.} - \def\invoicename{Invoice no.} - \def\subjectname{Subject} - \def\ccname{cc} - \def\enclname{encl} - \def\headtoname{To} - \def\datename{Date} - \def\pagename{Page}} - \let\captionsUSenglish=\captionsenglish - \let\captionsamerican=\captionsUSenglish - \let\captionsbritish=\captionsenglish - \let\captionsUKenglish=\captionsenglish - \def\captionsgerman{% - \def\yourrefname{Ihr Zeichen} - \def\yourmailname{Ihr Schreiben vom} - \def\myrefname{Unser Zeichen} - \def\customername{Kundennummer} - \def\invoicename{Rechnungsnummer} - \def\subjectname{Betr.} - \def\ccname{Kopien an} - \def\enclname{Anlagen} - \def\headtoname{An} - \def\datename{Datum} - \def\pagename{Seite}} - \let\captionsaustrian=\captionsgerman - \let\captionsngerman=\captionsgerman - \def\captionsfrench{% - \def\yourrefname{Vos r\'ef\'erences} - \def\yourmailname{Votre lettre du} - \def\myrefname{Nos r\'ef\'erences} - \def\customername{Num\'ero de client} - \def\invoicename{Num\'ero de facture} - \def\subjectname{Concernant} - \def\ccname{Copie \`a} - \def\enclname{Annexes} - \def\headtoname{A} - \def\datename{Date} - \def\pagename{Page}} - \def\captionsitalian{% - \def\yourrefname{Vs./Rif.} - \def\yourmailname{Vs.~lettera del} - \def\myrefname{Ns./Rif.} - \def\customername{Nr.~cliente} - \def\invoicename{Nr.~fattura} - \def\subjectname{Oggetto} - \def\ccname{Per conoscenza} - \def\enclname{Allegato} - \def\headtoname{A} - \def\datename{Data} - \def\pagename{Pagina}} - \def\captionsspanish{% - \def\yourrefname{Su ref.} - \def\yourmailname{Su carta de} - \def\myrefname{Nuestra ref.} - \def\customername{No. de cliente} - \def\invoicename{No. de factura} - \def\subjectname{Asunto} - \def\ccname{Copias} - \def\enclname{Adjunto} - \def\headtoname{A} - \def\datename{Fecha} - \def\pagename{P\'agina}} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\dateenglish} -% \begin{macro}{\dateUSenglish} -% \begin{macro}{\dateamerican} -% \changes{v2.4c}{1997/11/25}{american identisch mit USenglish definiert.} -% \begin{macro}{\datebritish} -% \changes{v2.4c}{1997/11/25}{british identisch mit english definiert.} -% \begin{macro}{\dateUKenglish} -% \changes{v2.4c}{1997/11/25}{UKenglish identisch mit english definiert.} -% \begin{macro}{\dategerman} -% \begin{macro}{\dateaustrian} -% \begin{macro}{\datengerman} -% \changes{v2.5}{1999/09/08}{ngerman neu und identisch mit german.} -% \begin{macro}{\datefrench} -% \begin{macro}{\dateitalian} -% \changes{v2.3e}{1996/05/31}{Ich hoffe, da"s das stimmt} -% \begin{macro}{\datespanish} -% \changes{v2.4c}{1997/11/25}{Ich hoffe, da"s das stimmt} -% \changes{v2.4c}{1997/11/25}{Datumsumschaltung nicht mehr zwingend.} -% Dar"uber hinaus ist auch das Datumsformat sprachabh"angig. Dies wird -% hier ebenfalls beachtet. -% \begin{macrocode} - \if@orgdate - \ifx\dateenglish\undefined - \def\dateenglish{\def\today{\number\day/\number\month/\number\year}} - \fi - \else - \def\dateenglish{\def\today{\number\day/\number\month/\number\year}} - \def\dateUSenglish{\def\today{\number\month/\number\day/\number\year}} - \let\datebritish=\dateenglish - \let\dateUKenglish=\dateenglish - \let\dateamerican=\dateUSenglish - \def\dategerman{\def\today{\number\day.\,\number\month.\,\number\year}} - \let\dateaustrian=\dategerman - \let\datengerman=\dategerman - \let\datefrench=\dategerman - \let\dateitalian=\dategerman - \let\datespanish=\dategerman - \fi -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% Zum Schlu"s findet noch die eigentliche Auswahl statt. Diese orientiert -% sich nun an der Auswahl nach german.sty 2.5b und verwendet keine festen -% Sprachzuordnungen mehr. Daf"ur sind nun keine Erweiterungen f"ur andere -% Sprachen mehr m"oglich. -% \changes{v2.2c}{1995/03/20}{Im Sprachenvergleich fehlten die "`="' hinter -% {\cmd\language}} -% \changes{v2.4c}{1997/11/25}{Sprachauswahl um american, british, UKenglish -% und spanish erweitert} -% \changes{v2.5}{1999/09/08}{Sprachauswahl um ngermen erweitert} -% \changes{v2.5b}{2000/01/20}{Reaktivierung der Sprache geschieht nun -% via \cs{languagename}, soweit dies -% m"oglich ist} -% \changes{v2.5e}{2000/07/14}{Workaround f"ur Sprache nohyphenation durch -% Format mit Babel-Erweiterung aber kein -% Babel package geladen} -% \begin{macrocode} - \captionsenglish - \dateenglish - \ifx\languagename\undefined - \ClassWarningNoLine{scrlettr}{\string\languagename\space not - defined, using \string\language.\MessageBreak - This may result in use of wrong language!\MessageBreak - You should use a compatible language - package\MessageBreak - (e.g. `Babel', `german', `french', ...)} - \ifx\l@american\undefined\else\ifnum\language=\l@american - \captionsamerican - \dateamerican - \fi\fi - \ifx\l@british\undefined\else\ifnum\language=\l@british - \captionsbritish - \datebritish - \fi\fi - \ifx\l@UKenglish\undefined\else\ifnum\language=\l@UKenglish - \captionsUKenglish - \dateUKenglish - \fi\fi - \ifx\l@USenglish\undefined\else\ifnum\language=\l@USenglish - \captionsUSenglish - \dateUSenglish - \fi\fi - \ifx\l@austrian\undefined\else\ifnum\language=\l@austrian - \captionsaustrian - \dateaustrian - \fi\fi - \ifx\l@german\undefined\else\ifnum\language=\l@german - \captionsgerman - \dategerman - \fi\fi - \ifx\l@ngerman\undefined\else\ifnum\language=\l@ngerman - \captionsngerman - \datengerman - \fi\fi - \ifx\l@french\undefined\else\ifnum\language=\l@french - \captionsfrench - \datefrench - \fi\fi - \ifx\l@italian\undefined\else\ifnum\language=\l@italian - \captionsitalian - \dateitalian - \fi\fi - \ifx\l@spanish\undefined\else\ifnum\language=\l@spanish - \captionsspanish - \datespanish - \fi\fi - \else - \edef\@tempa{nohyphenation} - \ifx\languagename\@tempa - \ClassWarningNoLine{scrlettr} - {You've selected language ``\languagename''.\MessageBreak - Maybe your LaTeX format contains Babel extension\MessageBreak - but you have not selected a language using\MessageBreak - Babel package.\MessageBreak - Please select another language!\MessageBreak - Only as a workaround english captions and date\MessageBreak - will be used} - \else - \expandafter\selectlanguage\expandafter{\languagename} - \ClassInfo{scrlettr}{used language is \languagename} - \fi - \fi -} -% \end{macrocode} -% -% \subsection{Seitenspiegel} -% -% |scrlettr| arbeitet mit einem festen Seitenspiegel, der f"ur Briefe -% im A4-Format ausgelegt ist. -% \changes{v2.2c}{1995/05/25}{{\cmd\headheight} und {\cmd\textheight} -% ge"andert} -% -% \begin{macrocode} -\oddsidemargin 0in -\evensidemargin 0in -\marginparwidth 0.9in -\marginparsep 0.1in -\marginparpush 0.45\baselineskip -\topmargin -19mm % mk 941012, was: -15.5mm -\headheight 23mm % mk 950411, was: 22mm -\headsep 8mm % mk 941012, was: 9mm -\footskip 20mm % mk 941012, was: 30mm -\textheight 226mm % mk 950411, was: 217mm -\textwidth 159.2mm - -\parskip 0.5\baselineskip % mk 941012 -\parindent 0pt -\smallskipamount=0.5\parskip -\medskipamount =\parskip -\bigskipamount =2\parskip -\footnotesep 0.8\baselineskip -\skip\footins 0.75\baselineskip plus 2pt minus 4pt -\skip\@mpfootins =\skip\footins -\columnsep 1cc -\columnseprule 0pt -% \end{macrocode} -% -% \subsection{Flie"sumgebungen} -% -% Es folgen die Einstellungen f"ur Abbildungen -% \begin{macrocode} -\floatsep 1\baselineskip plus 2pt minus 2pt -\textfloatsep 20pt plus 2pt minus 4pt -\intextsep 1\baselineskip plus 2pt minus 2pt -\dblfloatsep 1\baselineskip plus 2pt minus 2pt -\dbltextfloatsep 20pt plus 2pt minus 4pt -\@fptop 0pt plus 1fil -\@fpsep 0.7\baselineskip plus 2fil -\@fpbot 0pt plus 1fil -\@dblfptop 0pt plus 1fil -\@dblfpsep 0.7\baselineskip plus 2fil -\@dblfpbot 0pt plus 1fil -% \end{macrocode} -% und f"ur Flie"stabellen -% \begin{macrocode} -\arraycolsep 5pt -\tabcolsep 6pt -\arrayrulewidth 0.4pt -\doublerulesep 2pt -\fboxsep 3pt -\fboxrule 0.4pt -\tabbingsep \labelsep -% \end{macrocode} -% -% \subsection{Listen-Umgebungen} -% -% Die Einstellungen f"ur Listenumgebungen entsprechen im Wesentlichen -% den gewohnten. -% \begin{macrocode} -\topsep 0.25\baselineskip -\partopsep 0pt -\itemsep 0.25\baselineskip -\parsep 0.25\baselineskip % ak: 1\baselineskip -\labelsep .5em -\leftmargini 2.5em -\leftmarginii 2.2em -\leftmarginiii 1.87em -\leftmarginiv 1.7em -\leftmarginv 1em -\leftmarginvi 1em -\leftmargin\leftmargini -\labelwidth\leftmargini -\advance\labelwidth-\labelsep -\def\@listI{\leftmargin\leftmargini} -\let\@listi\@listI -\def\@listii{\leftmargin\leftmarginii - \labelwidth\leftmarginii\advance\labelwidth-\labelsep} -\def\@listiii{\leftmargin\leftmarginiii - \labelwidth\leftmarginiii\advance\labelwidth-\labelsep} -\def\@listiv{\leftmargin\leftmarginiv - \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} -\def\@listv{\leftmargin\leftmarginv - \labelwidth\leftmarginv\advance\labelwidth-\labelsep} -\def\@listvi{\leftmargin\leftmarginvi - \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} -\@listi - -\@lowpenalty 51 -\@medpenalty 151 -\@highpenalty 301 -\@beginparpenalty -\@lowpenalty -\@endparpenalty -\@lowpenalty -\@itempenalty -\@lowpenalty - -\def\theenumi{\arabic{enumi}} -\def\theenumii{\alph{enumii}} -\def\theenumiii{\roman{enumiii}} -\def\theenumiv{\Alph{enumiv}} -\def\labelenumi{\theenumi.} -\def\labelenumii{\theenumii)} -\def\labelenumiii{\theenumiii.} -\def\labelenumiv{\theenumiv.} -\def\p@enumii{\theenumi} -\def\p@enumiii{\theenumi\theenumii)} -\def\p@enumiv{\p@enumiii\theenumiii} -\def\labelitemi{$\bullet$} -\def\labelitemii{\bf --} -\def\labelitemiii{$\triangleright$} -\def\labelitemiv{$\cdot$} -% \end{macrocode} -% -% Es sind alle im \textsf{KOMA-Script} Paket "ublichen Listenumgebungen -% vorhanden: -% -% \subsubsection{"`description"'-Umgebung} -% \begin{macrocode} -\newenvironment{description} - {\list{}{\labelwidth\z@ \itemindent-\leftmargin - \let\makelabel\descriptionlabel}} - {\endlist} -\newcommand\descriptionlabel[1]{\hspace\labelsep - \descfont #1} -% \end{macrocode} -% -% \subsubsection{"`labeling"'-Umgebung} -% \begin{macrocode} -\newenvironment{labeling}[2][] - {\def\sc@septext{#1} - \list{}{\settowidth{\labelwidth}{#2#1} - \leftmargin\labelwidth \advance\leftmargin by \labelsep - \let\makelabel\labelinglabel}} - {\endlist} -\newcommand\labelinglabel[1]{#1\hfil\sc@septext} -% \end{macrocode} -% -% \subsubsection{"`verse"'-Umgebung} -% \begin{macrocode} -\newenvironment{verse} - {\let\\=\@centercr - \list{}{\itemsep \z@ - \itemindent -1.5em% - \listparindent\itemindent - \rightmargin \leftmargin - \advance\leftmargin 1.5em}% - \item[]} - {\endlist} -% \end{macrocode} -% -% \subsubsection{"`quotation"'- und "`quote"'-Umgebung} -% \begin{macrocode} -\newenvironment{quotation} - {\list{}{\listparindent 1em% - \itemindent \listparindent - \rightmargin \leftmargin - \parsep \z@ \@plus\p@}% - \item[]} - {\endlist} -\newenvironment{quote} - {\list{}{\rightmargin\leftmargin}% - \item[]} - {\endlist} -% \end{macrocode} -% -% \subsection{Feld-Variablen} -% -% \begin{macro}{\fromname} -% \begin{macro}{\frombranch} -% \begin{macro}{\fromsig} -% \changes{v2.2b}{1995/02/16}{Direkte Verwendung von {\cmd\fromname}} -% \begin{macro}{\fromaddress} -% \begin{macro}{\fromplace} -% \begin{macro}{\fromlocation} -% \begin{macro}{\frombackaddress} -% \begin{macro}{\telephonenum} -% \begin{macro}{\varyourref} -% \begin{macro}{\varyourmail} -% \begin{macro}{\varmyref} -% \begin{macro}{\varcustomer} -% \begin{macro}{\varinvoice} -% \begin{macro}{\varrefitemi} -% \begin{macro}{\varrefitemii} -% \begin{macro}{\varrefitemiii} -% \begin{macro}{\varrefitemnamei} -% \begin{macro}{\varrefitemnameii} -% \begin{macro}{\varrefitemnameiii} -% \begin{macro}{\@specialmail} -% \begin{macro}{\@title} -% \begin{macro}{\@subject} -% Es gibt in |scrlettr| verschiedene Feld-Variablen, die alle mit -% einer Zeichenkette belegt werden k"onnen, aber als leer -% initialisiert werden. -% \begin{macrocode} -\def\fromname{} -\def\frombranch{} % RTL 21.04.94 -\def\fromsig{\fromname} -\def\fromaddress{} -\def\fromplace{} -\def\fromlocation{} -\def\frombackaddress{} -\def\telephonenum{} -\def\varyourref{} -\def\varyourmail{} -\def\varmyref{} -\def\varcustomer{} -\def\varinvoice{} -\def\varrefitemi{} -\def\varrefitemii{} -\def\varrefitemiii{} -\def\varrefitemnamei{} -\def\varrefitemnameii{} -\def\varrefitemnameiii{} -\def\@specialmail{} -\def\@title{} -\def\@subject{} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\name} -% \begin{macro}{\branch} -% \begin{macro}{\signature} -% \begin{macro}{\adress} -% \begin{macro}{\place} -% \begin{macro}{\location} -% \begin{macro}{\backaddress} -% \begin{macro}{\telephone} -% \begin{macro}{\yourref} -% \begin{macro}{\yourmail} -% \begin{macro}{\myref} -% \begin{macro}{\customer} -% \begin{macro}{\invoice} -% \begin{macro}{\refitemi} -% \begin{macro}{\refitemii} -% \begin{macro}{\refitemiii} -% \begin{macro}{\refitemnamei} -% \begin{macro}{\refitemnameii} -% \begin{macro}{\refitemnameiii} -% \begin{macro}{\specialmail} -% \begin{macro}{\title} -% \begin{macro}{\subject} -% F"ur jedes dieser Felder wird ein Befehl definiert, mit dem der -% Inhalt gesetzt werden kann, ohne da"s zu |\renewcommand| oder -% |\def| gegriffen werden mu"s. F"ur |\fromaddress| und -% |\fromlocation| kann mit |\address| bzw. -% |\location| auch eine komplexe \LaTeX-Definition -% gesetzt werden. F"ur die benutzerspezifischen Felder |\varrefitemi|, -% |\varrefitemii|, |\varrefitemiii| kann au"serdem jeweils ein Titel -% gesetzt werden. -% \begin{macrocode} -\def\name#1 {\def\fromname{#1}} -\def\branch#1 {\def\frombranch{#1}} % RTL 21.04.94 -\def\signature#1{\def\fromsig{#1}} -\long\def\address#1{\def\fromaddress{#1}} -\def\place#1 {\def\fromplace{#1}} -\long\def\location#1{\def\fromlocation{#1}} -\def\backaddress#1{\def\frombackaddress{#1}} -\def\telephone#1{\def\telephonenum{#1}} -\def\yourref#1 {\def\varyourref{#1}} -\def\yourmail#1 {\def\varyourmail{#1}} -\def\myref#1 {\def\varmyref{#1}} -\def\customer#1 {\def\varcustomer{#1}} -\def\invoice#1 {\def\varinvoice{#1}} -\def\refitemi#1 {\def\varrefitemi{#1}} -\def\refitemii#1{\def\varrefitemii{#1}} -\def\refitemiii#1{\def\varrefitemiii{#1}} -\def\refitemnamei#1{\def\varrefitemnamei{#1}} -\def\refitemnameii#1{\def\varrefitemnameii{#1}} -\def\refitemnameiii#1{\def\varrefitemnameiii{#1}} -\def\specialmail#1{\def\@specialmail{#1}} -\def\title#1 {\def\@title{#1}} -\def\subject#1 {\def\@subject{{\bf #1}}} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\firsthead} -% \begin{macro}{\firstfoot} -% \begin{macro}{\nexthead} -% \begin{macro}{\nextfoot} -% Bei der Gelegenheit werden auch gleich die Befehle zum Setzen -% der Felder f"ur die Kopf- und Fu"szeilen der ersten und aller -% weiterer Seiten eines Briefes definiert. -% \begin{macrocode} -\long\def\firsthead#1{\def\@firsthead{#1}} -\long\def\firstfoot#1{\def\@firstfoot{#1}} -\long\def\nexthead#1{\def\@nexthead{#1}} -\long\def\nextfoot#1{\def\@nextfoot{#1}} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \subsection{Faltmarken, Adre"sfeld, Titel} -% -% Es werden Schalter f"ur Faltmarken, Adre"sfeld und Betreff definiert. -% \begin{macrocode} -\newif\if@fold -\newif\if@afield -\newif\if@subj -\newif\if@subjafter -% \end{macrocode} -% -% \begin{macro}{\foldmarkson} -% \begin{macro}{\foldmarksoff} -% Die Faltmarken k"onnen mit |\foldmarkson| ein- und mit |\foldmarksoff| -% abgeschaltet werden. Dies ist f"ur jeden Brief getrennt m"oglich. -% \begin{macrocode} -\def\foldmarkson {\@foldtrue} -\def\foldmarksoff {\@foldfalse} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\addrfieldon} -% \begin{macro}{\addrfieldoff} -% Das Adre"sfeld f"ur Fensterumschl"age kann mit |\addrfieldon| ein- und -% mit |\addrfieldoff| abgeschaltet werden. Dies ist f"ur jeden Brief -% getrennt m"oglich. -% \begin{macrocode} -\def\addrfieldon {\@afieldtrue} -\def\addrfieldoff {\@afieldfalse} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\subjecton} -% \begin{macro}{\subjectoff} -% Ein Betreff-Titel kann mit |\subjecton| ein- und mit |\subjectoff| -% abgeschaltet werden. Dies ist f"ur jeden Brief getrennt m"oglich. -% \begin{macrocode} -\def\subjecton {\@subjtrue} -\def\subjectoff {\@subjfalse} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\subjectafteron} -% \begin{macro}{\subjectafteroff} -% \changes{v2.4a}{1997/06/06}{Neue Befehle \cs{subjectafteron} und -% \cs{subjectafteroff}.} -% In England und Frankreich scheint es teilweise "ublich zu sein, den Betreff -% erst nach der Anrede und daf"ur zentriert zu setzen\footnote{Ich kann mir -% nur m"uhsahm eine Bemerkung dazu verkneifen.}. Deshalb gibt es zwei neue -% Befehle mit denen man f"ur jeden Brief getrennt etwas anderes einschalten -% kann. -% \begin{macrocode} -\newcommand*\subjectafteron {\@subjaftertrue} -\newcommand*\subjectafteroff{\@subjafterfalse} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% Zu Berechnung der Feldpositionen werden verschiedene -% Dimensions-Variablen ben"otigt. -% \begin{macrocode} -\newdimen\sc@temp -\newdimen\sc@@temp -\newdimen\foldhskip -\newdimen\foldvskipi -\newdimen\foldvskipii -\newdimen\foldvskipiii -\newdimen\addrvskip -\newdimen\addrindent -\newdimen\addrwidth -\newdimen\addrheight -\newdimen\locwidth -\newdimen\refvskip -\newdimen\sigindent -% \end{macrocode} -% -% F"ur alle Positionen gibt es Standardwerte. Diese Stellen sind leider -% extrem druckerabh"angig. Es ist daher "au"serst wichtig, da"s der -% Druckertreiber richtig eingestellt wird. Dazu kann die Testseite aus -% dem Standardpaket verwendet werden. -% -% Die Breite des "`locfield"'s h"angt von den Optionen |wlocfield| und -% |slocfield| ab und wird entweder zu $2/3$ oder $1/2$ der Restbreite -% neben dem Adre"sfeld berechnet. -% -% \begin{macrocode} -\foldhskip 3.5mm -\foldvskipi 62mm % war: 65mm RTL -\foldvskipii 45mm % mk 960531 (war: 40.5mm) -\foldvskipiii 54mm % mk 960531 (war: 58.5mm) -\addrvskip 7.5mm -\addrindent 0mm -\addrwidth 70mm -\addrheight 35mm -\locwidth\textwidth -\advance\locwidth by -\addrwidth -\if@bigloc % mk 940330 - \advance\locwidth by \locwidth - \divide\locwidth by 3 -\else - \divide\locwidth by 2 -\fi -\refvskip 5.5mm -\sigindent 0mm -% \end{macrocode} -% -% \subsection{Serienbriefe und Adre"sdateien} -% -% \begin{macro}{\adrentry} -% \changes{v2.2b}{1995/05/25}{{\cmd\ifx} sicherer gemacht} -% \begin{macro}{\adrchar} -% Serienbriefe werden mit Hilfe der Funktionen |\adrentry| und -% |\adrchar| und einer Adressdatei realisiert. Dar"uber hinaus -% werden mit diesen Befehlen Abk"urzungen f"ur Adressen definiert. -% \begin{macrocode} -\def\adrentry#1#2#3#4#5#6#7#8{\def\@tempa{#1}\ifx \@tempa\@empty \else - \def\@tempa{#2}\ifx \@tempa\@empty - \expandafter\def\csname #8\endcsname{#1\\#3} - \else - \expandafter\def\csname #8\endcsname{#2 #1\\#3} - \fi \fi} -\def\adrchar#1{} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% -% \subsection{Die Brief-Umgebung} -% -% \begin{environment}{letter} -% \begin{macro}{\stopletter} -% Diese Umgebung ist etwas anders definiert, als normalerweise von -% \LaTeX gewohnt. Mit ihr k"onnen innerhalb eines Dokuments beliebig -% viele Briefe erzeugt werden. -% \begin{macrocode} -\long\def\letter#1{\newpage - \if@twoside\ifodd\c@page\else \thispagestyle{empty}\null\newpage \fi\fi - \c@page\@ne \interlinepenalty=200 \@processto{#1}} -\def\stopletter{} -\def\endletter{\stopletter\@@par\pagebreak\@@par} -\long\def\@processto#1{\expandafter\@xproc #1\\@@@\ifx\toaddress\@empty - \else\expandafter\@yproc #1@@@\fi} -\long\def\@xproc #1\\#2@@@{\def\toname{#1}\def\toaddress{#2}} -\long\def\@yproc #1\\#2@@@{\def\toaddress{#2}} -% \end{macrocode} -% \end{macro} -% \end{environment} -% -% \begin{macro}{\stopbreaks} -% \begin{macro}{\startbreaks} -% Innerhalb von Briefen wird der Umbruch etwas anders gehandhabt. -% Dadurch soll der Brieftext besser positioniert werden. -% \begin{macrocode} -\def\stopbreaks{\interlinepenalty \@M - \def\par{\@@par\nobreak}\let\\=\@nobreakcr - \let\vspace\@nobreakvspace} -\def\@nobreakvspace{\@ifstar{\@nobreakvspacex}{\@nobreakvspacex}} -\def\@nobreakvspacex#1{\ifvmode\nobreak\vskip #1\relax\else - \@bsphack\vadjust{\nobreak\vskip #1}\@esphack\fi} -\def\@nobreakcr{\vadjust{\penalty\@M}\@ifstar{\@xnewline}{\@xnewline}} -\def\startbreaks{\let\\=\@normalcr - \interlinepenalty 200\def\par{\@@par\penalty 200}} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\@foldmarks} -% F"ur die Faltmarken m"ussen nicht nur Abst"ande definiert werden, es -% wird auch ein Befehl ben"otigt, um die Faltmarken zu setzen. -% \begin{macrocode} -\def\@foldmarks{\if@fold \bgroup - \reversemarginpar\vspace{\foldvskipi} - \marginpar{\hspace{\foldhskip}\rule{2mm}{.2pt}} \vspace{\foldvskipii} - \marginpar{\hspace{\foldhskip}\rule{4mm}{.2pt}} \vspace{\foldvskipiii} - \marginpar{\hspace{\foldhskip}\rule{2mm}{.2pt}} - \vspace{-\foldvskipiii}\vspace{-\foldvskipii}\vspace{-\foldvskipi} - \egroup \fi} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\@addrfield} -% Dasselbe gilt auch f"ur das Adre"sfeld f"ur Fensterumschl"age. Die -% R"ucksendeadresse und die Briefart wird dabei unterstrichen. -% \begin{macrocode} -\def\@addrfield{\bgroup - \setbox0\vbox{\hsize\addrwidth - \ifx\frombackaddress\@empty \else - \underline{\scriptsize \sf \frombackaddress} \fi} - \setbox1\vbox{\hsize\addrwidth - \ifx\@specialmail\@empty \else - \underline{\@specialmail} \fi} - \setbox2\vbox{\hsize\addrwidth - \toname \\ \toaddress} - \vskip\addrvskip \hskip\addrindent - \vbox to \addrheight{% - \ifx\frombackaddress\@empty \else \box0 \fi - \ifx\@specialmail\@empty \else \vfil\box1 \fi - \vfil\box2\vfil}\egroup} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\@locfield} -% Das "`locfield"' wird mittels einer |minipage| gesetzt. -% \begin{macrocode} -\def\@locfield{\begin{minipage}[b]{\locwidth}\fromlocation\end{minipage}} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\@datefield} -% Je nachdem, welche Felder definiert sind, mu"s eine gesch"aftsm"a"siger -% Standardbrief oder ein eher pers"onliches Aussehen gew"ahlt werden. -% \changes{v2.3e}{1996/05/31}{Abstand zwischen Ort und Datum eingef"ugt} -% \begin{macrocode} -\newif\if@ref -\def\@datefield{\@reffalse - \ifx\varyourref\@empty \else \@reftrue \fi - \ifx\varyourmail\@empty \else \@reftrue \fi - \ifx\varmyref\@empty \else \@reftrue \fi - \ifx\varcustomer\@empty \else \@reftrue \fi - \ifx\varinvoice\@empty \else \@reftrue \fi - \ifx\varrefitemi\@empty \else \@reftrue \fi - \ifx\varrefitemii\@empty \else \@reftrue \fi - \ifx\varrefitemiii\@empty \else \@reftrue \fi - \vskip -\parskip - \vskip \refvskip - \if@ref - \ifx\varyourref\@empty \else - \settowidth{\sc@temp}{\varyourref} - \setbox0\hbox{\scriptsize \sf \yourrefname} - \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi - \parbox[t]{\sc@@temp}{\noindent \box0\par \varyourref}\hfill - \fi - \ifx\varyourmail\@empty \else - \settowidth{\sc@temp}{\varyourmail} - \setbox0\hbox{\scriptsize \sf \yourmailname} - \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi - \parbox[t]{\sc@@temp}{\noindent \box0\par \varyourmail}\hfill - \fi - \ifx\varmyref\@empty \else - \settowidth{\sc@temp}{\varmyref} - \setbox0\hbox{\scriptsize \sf \myrefname} - \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi - \parbox[t]{\sc@@temp}{\noindent \box0\par \varmyref}\hfill - \fi - \ifx\varcustomer\@empty \else - \settowidth{\sc@temp}{\varcustomer} - \setbox0\hbox{\scriptsize \sf \customername} - \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi - \parbox[t]{\sc@@temp}{\noindent \box0\par \varcustomer}\hfill - \fi - \ifx\varinvoice\@empty \else - \settowidth{\sc@temp}{\varinvoice} - \setbox0\hbox{\scriptsize \sf \invoicename} - \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi - \parbox[t]{\sc@@temp}{\noindent \box0\par \varinvoice}\hfill - \fi - \ifx\varrefitemi\@empty \else - \settowidth{\sc@temp}{\varrefitemi} - \setbox0\hbox{\scriptsize \sf \varrefitemnamei} - \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi - \parbox[t]{\sc@@temp}{\noindent \box0\par \varrefitemi}\hfill - \fi - \ifx\varrefitemii\@empty \else - \settowidth{\sc@temp}{\varrefitemii} - \setbox0\hbox{\scriptsize \sf \varrefitemnameii} - \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi - \parbox[t]{\sc@@temp}{\noindent \box0\par \varrefitemii}\hfill - \fi - \ifx\varrefitemiii\@empty \else - \settowidth{\sc@temp}{\varrefitemiii} - \setbox0\hbox{\scriptsize \sf \varrefitemnameiii} - \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi - \parbox[t]{\sc@@temp}{\noindent \box0\par \varrefitemiii}\hfill - \fi - \ifx\@date\@empty \else - \settowidth{\sc@temp}{\@date} - \setbox0\hbox{\scriptsize \sf \datename} - \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi - \parbox[t]{\sc@@temp}{\noindent \box0\par \@date} - \fi - \par - \vspace{2.5\baselineskip} - \else - {\ifx\@date\@empty \else \raggedleft\fromplace\ \@date\par \fi} - \vspace{1.5\baselineskip} - \fi} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\maketitle} -% \changes{v2.3b}{1996/01/14}{Verwendung von \cs{sectfont} f"ur den -% \cs{title}.} -% \begin{macro}{\@subjfield} -% \changes{v2.6d}{2001/10/19}{\cs{centerline} durch \cs{centering} -% ersetzt} -% Der eigentliche Titel wir mit |\maketitle| gesetzt. Dies sollte -% jedoch ebenso wie der Betreff \emph{nicht} manuell geschehen. -% \begin{macrocode} -\def\maketitle{\ifx\@title\@empty \else - {\centering \LARGE \sectfont \@title\par} - \vspace{1\baselineskip} \fi} -\def\@subjfield{{% - \if@subjafter% - \centering% - \else% - \if@subj\ifx\@subject\@empty\else\subjectname:\ \fi\fi - \@subject\par\nobreak\vspace{1\baselineskip}% - \fi}} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\opening} -% Denn beim Er"offnungsgru"s mit |\opening| wird neben s"amtlichen -% Feldern auch der Titel und der Betreff gesetzt. -% \begin{macrocode} -\def\opening#1{\thispagestyle{firstpage} \null \@foldmarks - \if@afield \@addrfield \hfill \@locfield \par \fi - \@datefield - \maketitle - \if@subjafter\else\@subjfield\fi - #1\par% - \vspace{0.5\baselineskip}% added by unknown - \nobreak% - \if@subjafter\@subjfield\fi} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\closing} -% \changes{v2.2b}{1995/02/16}{{\cmd\fromsig} wird nicht mehr auf {\cmd\empty} -% getestet sondern direkt eingesetzt} -% \changes{v2.3b}{1996/01/14}{Abstand zwischen Schlu"sgru"s und Signatur -% erh"oht} -% \changes{v2.5d}{2000/06/10}{Abstand zwischen Schlu"sgru"s und -% Signatur variabel} -% Au"ser dem Er"offnungsgru"s mit |\opening| gibt es nat"urlich auch -% einen Schlu"sgru"s mit |\closing|, bei dem au"serdem die -% Unterschrift u."a. gesetzt wird. -% \begin{macro}{\presig@skip} -% \changes{v2.5d}{2000/06/10}{Neues Makro, das den Abstand zwischen -% Schlu"sgru"s und Signatur beinhaltet} -% \begin{macro}{\setpresigskip} -% \changes{v2.5d}{2000/06/10}{Neues Makro, das den Abstand zwischen -% Schlu"sgru"s und Signatur setzt} -% Das Makro |\presig@skip| beinhaltet dabei den Abstand zwischen Schlu"sgru"s -% und Signatur. Da der Wert "uber ein Benutzerinterface per |\setpresigskip| -% gesetzt wird, mu"s hier kein kostbares L"angenregister (skip oder dim) -% verschwendet werden, sondern ein Makro reicht aus. In |\setpresigskip| wird -% allerdings noch sichergestellt, da"s die Fehlermeldung bei falschem -% Parameter m"oglichst nicht erst bei Verwendung auftritt. -% \begin{macrocode} -\newcommand*\presig@skip{} -\newcommand*{\setpresigskip}[1]{% - \begingroup% - \setlength{\@tempdima}{#1}% - \endgroup% - \edef\presig@skip{#1}} -\setpresigskip{2\baselineskip} -\long\def\closing#1{\par\nobreak\vspace{0.5\baselineskip} - \stopbreaks \noindent \sc@temp\textwidth \advance\sc@temp by - -\sigindent \hspace{\sigindent}% - \parbox{\sc@temp}{\raggedright\ignorespaces #1\mbox{}\\[\presig@skip] - \fromsig\strut}\par - \vspace{1.5\baselineskip}} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\ps} -% Ebenfalls m"oglich ist ein Postscriptum. Dieser Befehl erwartet -% das Postscriptum nicht als Argument, sondern schaltet zum Nachtext -% um. -% \begin{macrocode} -\def\ps{\par\startbreaks} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\cc} -% Dar"uber hinaus gibt es noch einen Verteiler. Dieser wird -% sauber formatiert. -% \changes{v2.6}{2001/01/03}{\cs{def} durch \cs{newcommand*} ersetzt.} -% \begin{macro}{\ccnameseparator} -% \changes{v2.6}{2001/01/03}{Die Zeichen nach \cs{ccname} kann frei gew"ahlt -% werden. Voreinstellung ist wie bisher Doppelpunkt -% gefolgt von einem Leerzeichen.} -% \begin{macrocode} -\newcommand*{\ccnameseparator}{: } -\newcommand*{\cc}[1]{\par\noindent\parbox[t]{\textwidth} - {\@hangfrom{\ccname\ccnameseparator}% - \ignorespaces #1\strut}\par} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\encl} -% Auch Anlagen werden ordentlich gesetzt. -% \changes{v2.4a}{1997/06/06}{Der Doppelpunkt bei den Anlagen wird nur noch -% gesetzt, wenn \cs{enclname} nicht leer ist.} -% \changes{v2.6}{2001/01/03}{\cs{def} durch \cs{newcommand*} ersetzt.} -% \begin{macro}{\enclnameseparator} -% \changes{v2.6}{2001/01/03}{Die Zeichen nach \cs{enclname} kann frei gew"ahlt -% werden. Voreinstellung ist wie bisher Doppelpunkt -% gefolgt von einem Leerzeichen.} -% \begin{macrocode} -\newcommand*{\enclnameseparator}{: } -\newcommand*{\encl}[1]{\par\noindent% - \parbox[t]{\textwidth}{% - \ifx\enclname\@empty\else\@hangfrom{\enclname\enclnameseparator}\fi% - \ignorespaces #1\strut}\par} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\footnoterule} -% Fu"snoten werden durch eine Linie abgetrennt. Sie werden wie im gesamten -% \textsf{KOMA-Script} Paket gewohnt formatiert. -% \begin{macrocode} -\def\footnoterule{\kern-1\p@ - \hrule width 0.4\columnwidth - \kern .6\p@} -% \end{macrocode} -% \end{macro} -% \begin{macro}{\deffootnote} -% \changes{v2.4b}{1997/08/15}{Neues Makro zur Definition der Gestalt von -% Fu"snoten.} -% Dieses Makro erlaubt einen optionalen und erwartet drei weitere Parameter. -% Der erste, optionale gibt den Einzug der ersten Zeile des Fu"snotentextes -% vom linken Rand an. Die Fu"snotenmarkierungen werden rechtsb"undig in diesen -% Einzug gesetzt. Der zweite, also erste nicht optionale Parameter gibt den -% Einzug jeder weiteren Zeile des Fu"snotentextes vom linken Rand an. Fehlt -% der optionale Parameter so ist er gleich diesem. Der dritte, also zweite -% nicht optionale Parameter gibt den zus"atzlichen Einzug jedes weiteren -% Absatzes einer Fu"snote an. Der letzte Parameter schlie"slich bestimmt die -% Ausgabe der Fu"snotenmarkierung in der Fu"snote. Diese wird zus"atzlich in -% eine \verb|\hbox| gesetzt. -% \begin{macrocode} -\newcommand\deffootnote[4][]{% - \long\def\@makefntext##1{% - \edef\@tempa{#1}\ifx\@tempa\@empty - \@setpar{\@@par - \@tempdima = \hsize - \addtolength{\@tempdima}{-#2} - \parshape \@ne #2 \@tempdima}% - \else - \@setpar{\@@par - \@tempdima = \hsize - \addtolength{\@tempdima}{-#1} - \@tempdimb = \hsize - \addtolength{\@tempdimb}{-#2} - \parshape \tw@ #1 \@tempdima #2 \@tempdimb}% - \fi - \par - \parindent #3\noindent - \hbox to \z@{\hss\@@makefnmark}##1} -% \end{macrocode} -% \begin{macro}{\@@makefnmark} -% \changes{v2.4b}{1997/08/15}{Neues Makro zum Setzen der Fu"snotenmarkierung -% im Text} -% \begin{macrocode} - \def\@@makefnmark{\hbox{#4}} -% \end{macrocode} -% \end{macro} -% \begin{macrocode} -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\deffootnotemark} -% \changes{v2.4b}{1997/08/15}{Neues Makro zur Definition der -% Fu"snotenmarkierung im Text} -% \begin{macrocode} -\newcommand*\deffootnotemark[1]{\def\@makefnmark{\hbox{#1}}} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\thefootnotemark} -% \changes{v2.4b}{1997/08/15}{Neues Makro, damit \cs{@thefnmark} auf -% Anwenderebene verf"ugbar wird.} -% \begin{macrocode} -\def\thefootnotemark{\@thefnmark} -% \end{macrocode} -% \end{macro} -% \begin{macro}{\textsuperscript} -% \changes{v2.4b}{1997/08/15}{Neues Makro, damit \cs{@textsuperscript} auf -% Anwenderebene verf"ugbar wird.} -% \begin{macrocode} -\let\textsuperscript\@textsuperscript -% \end{macrocode} -% \end{macro} -% \changes{v2.4b}{1997/08/15}{Verwendung der neuen Makros zur -% Fu"snotengestaltgebung.} -% \begin{macro}{\@makefnmark} -% \begin{macrocode} -\deffootnote[1em]{1.5em}{1em} - {\textsuperscript{\thefootnotemark}} -\deffootnotemark{\textsuperscript{\thefootnotemark}} -% \end{macrocode} -% \end{macro} -% -% Aufz"ahlungen werden mit arabischen Zahlen numeriert. -% \begin{macrocode} -\def\theequation{\arabic{equation}} -% \end{macrocode} -% \subsection{Verteilung von Text- und Flie"sumgebungen} -% \begin{macrocode} -\setcounter{topnumber}{2} -\def\topfraction{.7} -\setcounter{bottomnumber}{1} -\def\bottomfraction{.3} -\setcounter{totalnumber}{3} -\def\textfraction{.2} -\def\floatpagefraction{.5} -\setcounter{dbltopnumber}{2} -\def\dbltopfraction{.7} -\def\dblfloatpagefraction{.5} -% \end{macrocode} -% -% \subsection{Seitenstil} -% -% \begin{macro}{\pagestyle} -% \changes{v2.4a}{1997/06/06}{\cs{fromname} wird nur noch dann gesetzt, wenn -% es nicht leer ist, wodurch \cs{name} genau wie -% bei der Standard-Letter-Class optional ist.} -% Neben den "ublichen Seitenstilen |plain|, |headings|, |myheadings|, |empty| -% gibt es bei |scrlettr| noch einen Stil f"ur die erste Seite eines Briefs. -% \begin{macrocode} -\def\@firsthead{% - \parbox[b]{\textwidth} - {\begin{center} - \ifx\fromname\@empty\else - \textsc{\ignorespaces\fromname}\\[-8pt] - \rule{\textwidth}{.4pt}\\ - \fi - \ifx\fromaddress\@empty\else - \ignorespaces\fromaddress - \fi - \end{center}}} -\def\@firstfoot{} -\def\@nexthead{% - \parbox[b]{\textwidth} - {\ifx\fromname\@empty\else - \textsc{\ignorespaces\fromname}\\[8pt] - \fi - \headtoname\ \ignorespaces\toname\hfill\datename:\ \@date\hfill - \pagename\ \thepage\\[-8pt] - \rule{\textwidth}{.4pt}}} -\def\@nextfoot{} - -\def\ps@plain{% - \def\@evenhead{\sffamily\bfseries\fontsize{10pt}{12}\selectfont - \hfil-- \thepage\ --\hfil}% - \let\@oddhead\@evenhead% - \def\@evenfoot{}% - \def\@oddfoot{}} -\def\ps@firstpage{% - \def\@evenhead{\@firsthead}% - \let\@oddhead\@evenhead% - \def\@evenfoot{\@firstfoot}% - \let\@oddfoot\@evenfoot} -\def\ps@headings{% - \def\@evenhead{\@nexthead}% - \let\@oddhead\@evenhead% - \def\@evenfoot{\@nextfoot}% - \let\@oddfoot\@evenfoot} -% \end{macrocode} -% \end{macro} -% -% \subsection{Voreinstellungen} -% -% Voreingestellt sind Faltmarken, -% \begin{macrocode} -\@foldtrue -% \end{macrocode} -% Adre"sfeld, -% \begin{macrocode} -\@afieldtrue -% \end{macrocode} -% kein Betrefftitel, -% \begin{macrocode} -\@subjfalse -% \end{macrocode} -% Betreff vor der der Anrede, -% \begin{macrocode} -\@subjafterfalse -% \end{macrocode} -% Einfache Kopfzeilen, -% \begin{macrocode} -\ps@plain -% \end{macrocode} -% Seitennumerierung mit arabischen Zahlen, -% \begin{macrocode} -\pagenumbering{arabic} -% \end{macrocode} -% kein Abgleich des unteren Randes -% \begin{macrocode} -\raggedbottom -% \end{macrocode} -% und europ"aische Handhabung des Leerschritts. Letzteres sollte eigentlich -% von der Sprachanpassung (z.B. |german.sty| oder |german3.sty| erledigt) -% werden und wird in einer der n"achsten Versionen vermutlich entfernt. -% \begin{macrocode} -\frenchspacing -% \end{macrocode} -% -% \subsection{Fast das Ende} -% -% \begin{macrocode} -%</scrlettr> -% \end{macrocode} -% -% \IndexPrologue{\clearpage -% \section*{Index} -% \markboth{Index}{Index} -% Die kursiven Zahlen geben die Seiten an, auf denen -% der entsprechende Eintrag beschrieben ist. -% Die unterstrichenden Zahlen geben die Stelle der -% Definition des Eintrags an. -% Alle anderen Zahlen benennen Stellen, an denen der -% entsprechende Eintrag verwendet ist. -% \vspace{1em}\noindent} -% -% \GlossaryPrologue{\section*{"Anderungsverzeichnis} -% \markboth{"Anderungsverzeichnis}{"Anderungsverzeichnis} -% \addcontentsline{toc}{section}{"Anderungsverzeichnis} -% Die erste Version des \textsf{KOMA-Script} Pakets -% stammt vom 7.\,Juli~1994. Es werden nur die -% "Anderungen ab diesem Zeitpunkt dokumentiert.\par% -% \vspace{1em}\noindent} -% -% \Finale -% -\endinput -% -% Ende der Datei `scrlettr.dtx' -% -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/scrlettr.ins b/Master/texmf-dist/source/latex/koma-script/scrlettr.ins deleted file mode 100644 index 6f587b8356c..00000000000 --- a/Master/texmf-dist/source/latex/koma-script/scrlettr.ins +++ /dev/null @@ -1,72 +0,0 @@ -% ====================================================================== -% scrlettr.ins -% Copyright (c) Markus Kohm, 2006-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. -% ---------------------------------------------------------------------- -% scrlettr.ins -% Copyright (c) Markus Kohm, 2006-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. -% ====================================================================== - -% ---------- start of docstrip process --------------------------------- -\def\batchfile{scrlettr.ins} - -% ---------- KOMA-Script default docstrip declarations ----------------- - -\input docstrip.tex -\@@input scrstrip.inc - -% ---------- File generation ------------------------------------------- - -\generate{\usepreamble\defaultpreamble - \file{scrlettr.cls}{% - \from{scrlettr.dtx}{scrlettr}% - \from{scrlogo.dtx}{logo}% - }% - \file{scrlettr.drv}{% - \from{scrlettr.dtx}{driver}% - }% -} - -% ---------- end of docstrip process ----------------------------------- - -\ifToplevel{% - \def\idocfiles{`scrlettr.drv'}% -} - -\@@input scrstrop.inc - -\endinput -% -% end of file `scrlettr.ins' -%%% Local Variables: -%%% mode: TeX -%%% TeX-master: "scrmain.ins" -%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/scrlfile.dtx b/Master/texmf-dist/source/latex/koma-script/scrlfile.dtx index 01f99fd20b0..c0b5498135b 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrlfile.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrlfile.dtx @@ -1,8 +1,8 @@ -% \CheckSum{599} +% \CheckSum{781} % \iffalse meta-comment % ====================================================================== % scrlfile.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the work `scrlfile' which is part of the LaTeX2e % KOMA-Script bundle. @@ -18,11 +18,10 @@ % % The Current Maintainer and author of this work is Markus Kohm. % -% This work consists of files `scrlfile.dtx', `scrlfile.ins' and -% `scrlogo.dtx' at least. +% This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrlfile.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % Diese Datei ist Teil des Werks `scrlfile', das wiederum Teil des % LaTeX2e KOMA-Script Pakets ist. @@ -39,8 +38,7 @@ % % Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. % -% Dieses Werk besteht mindestens aus den Dateien `scrlfile.dtx', -% `scrlfile.ins' und `scrlogo.dtx'. +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== % \fi % @@ -61,30 +59,36 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scrlfile.dtx -%<*driver|scrlfile|load> -% \fi -\def\scrlfileversion{2012/06/15 v3.12} -% \iffalse -%</driver|scrlfile|load> +%%% From File: $Id: scrlfile.dtx 1525 2013-11-22 12:57:29Z mjk $ %<*driver> -% \fi +\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{scrlfile.dtx}[% -% \iffalse %</driver> %<*driver|scrlfile> %<scrlfile>\ProvidesPackage{scrlfile}[% -% \fi - \scrlfileversion\space KOMA-Script package (loading files)] -% \iffalse +%!KOMAScriptVersion + package (loading files)] %</driver|scrlfile> +%<*dtx> +\ifx\documentclass\undefined + \input scrdocstrip.tex + \@@input scrkernel-version.dtx + \@@input scrstrip.inc + \KOMAdefVariable{COPYRIGHTFROM}{2002} + \generate{\usepreamble\defaultpreamble + \file{scrlfile.sty}{% + \from{scrlfile.dtx}{scrlfile}% + \from{scrlogo.dtx}{logo}% + }% + } + \@@input scrstrop.inc +\else + \let\endbatchfile\relax +\fi +\endbatchfile +%</dtx> %<*driver> -\IfFileExists{scrdoc.cls}{% - \documentclass[halfparskip-]{scrdoc} -}{% - \documentclass{ltxdoc} -} -\providecommand*{\KOMAScript}{\textsf{KOMA-Script}} +\documentclass[halfparskip-]{scrdoc} \usepackage[german,english]{babel} \CodelineIndex \RecordChanges @@ -144,7 +148,7 @@ % % \changes{v2.95}{2002/06/11}{% % First version split from hugh scrclass.dtx} -% +% \sloppy % % \section[Hook loading files, packages or classes]{% % Hooks loading files, packages or classes\footnote{You'll find a @@ -368,11 +372,21 @@ % Note: To replace classes you have to load \textsf{scrlfile} using % \cs{RequirePackage} before loading the class. % +% \DescribeMacro{\UnReplaceInput}%^^A +% \DescribeMacro{\UnReplacePackage}%^^A +% \DescribeMacro{\UnReplaceClass}%^^A +% After defining a replacement of a input file, package, or class (see the +% previously described commands for information about replacement definition), +% you may un-define this replacement. The commands expect one argument: the +% name of the input file, package, or class. +% % \DescribeMacro{\PreventPackageFromLoading} % \DescribeMacro{\PreventPackageFromLoading*} +% \DescribeMacro{\UnPreventPackageFromLoading} +% \DescribeMacro{\UnPreventPackageFromLoading*} % \DescribeMacro{\ResetPreventPackageFromLoading} % \DescribeMacro{\StorePreventPackageFromLoading} -% The command \cs{PreventPackageFromLoading}\marg{package list} +% The command \cs{PreventPackageFromLoading}\oarg{do instead}\marg{package list} % does not replace a package by another but prevents packages from beeing % loaded even if they should be loaded using \cs{RequirePackage} or % \cs{usepackage}. The \meta{package list} is a comma seperated list of @@ -386,7 +400,17 @@ % The normal version of \cs{PreventPackageFromLoading} with empty argument % results in a warning message. The star version % \cs{PreventPackageFromLoading*} writes only an info into the log-file, if -% the argument is empty. Both commands are not robust! +% the argument is empty. +% +% Both versions have an optional argument with code, that will be executed +% instead of loading the package. +% +% You may also remove packages from beeing prevented from beeing loaded using +% \cs{UnPreventPackageFromLoading}\marg{package list}. The star version also +% cleans the \meta{do instead} code. +% +% All these commands are not robust! +% % % \DescribeMacro{\BeforeClosingMainAux} % The command \cs{BeforeClosingMainAux}\marg{instructions} @@ -583,28 +607,61 @@ % \end{macro} % \end{macro} % -% \begin{macro}{\ReplaceInput} -% \changes{v2.96}{2006/07/19}{new command} +% \begin{macro}{\ReplaceInput} +% \changes{v2.96}{2006/07/19}{new command} +% \changes{v3.12}{2013/11/15}{implemented} % Defining the replacement by definition of \cs{\#1-@alias}. % \begin{macrocode} -\newcommand*{\ReplaceFile}[2]{% +\newcommand*{\ReplaceInput}[2]{% \expandafter\edef\csname #1-@alias\endcsname{#2}% } % \end{macrocode} -% \end{macro} +% \begin{macro}{\ReplaceFile} +% \changes{v2.96}{2006/07/19}{new command} +% \changes{v3.12}{2013/11/15}{throw error} +% Sorry, but I've implemented the wrong command some time ago. +% \begin{macrocode} +\newcommand*{\ReplaceFile}{% + \PackageError{scrlfile}{% + usage of not documented command `\string\ReplaceFile'% + }{% + Command `\string\ReplaceFile' has been implemented accidentally in + KOMA-Script 2.96\MessageBreak + and replaced by `\string\ReplaceInput' in KOMA-Script 3.12.\MessageBreak + You should replace `\string\ReplaceFile' by `\string\ReplaceInput' to + avoid this error\MessageBreak + message% + }% + \ReplaceInput +} +% \end{macrocode} +% \end{macro} +% \end{macro} % -% \begin{macro}{\ReplacePackage} -% \changes{v2.96}{2006/07/19}{new command} -% \begin{macro}{\ReplaceClass} -% \changes{v2.96}{2006/07/19}{new command} -% \begin{macro}{\@replacefilewithext} -% \changes{v2.96}{2006/07/19}{new helper command} +% \begin{macro}{\UnReplaceInput} +% \changes{v3.12}{2013/11/15}{new command} +% Do not longer replace a file. +% \begin{macrocode} +\newcommand*{\UnReplaceInput}[1]{% + \ifcsname #1-@alias\endcsname + \expandafter\let\csname #1-@alias\endcsname\relax + \fi +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ReplacePackage} +% \changes{v2.96}{2006/07/19}{new command} +% \begin{macro}{\ReplaceClass} +% \changes{v2.96}{2006/07/19}{new command} +% \begin{macro}{\@replacefilewithext} +% \changes{v2.96}{2006/07/19}{new helper command}^^A % Note that replacing a package or class will not replace the input of the % file of the package or class but only the input of package or class. % \begin{macrocode} \newcommand*{\@replacefilewithext}[3]{% \expandafter\edef\csname #1.#3-@aliasname\endcsname{#2}% -} + } \newcommand*{\ReplacePackage}[2]{% \@replacefilewithext{#1}{#2}\@pkgextension } @@ -612,9 +669,34 @@ \@replacefilewithext{#1}{#2}\@clsextension } % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\UnReplacePackage} +% \changes{v3.12}{2013/11/15}{new command} +% \begin{macro}{\UnReplaceClass} +% \changes{v3.12}{2013/11/15}{new command} +% \begin{macro}{\@unreplacefilewithext} +% \changes{v3.12}{2013/11/15}{new helper command}^^A +% Do not nolonger replace a class or package. +% \begin{macrocode} +\newcommand*{\@unreplacefilewithext}[2]{% + \ifcsname #1.#2-@aliasname\endcsname + \expandafter\let\csname #1.#2-@aliasname\endcsname\relax + \fi +} +\newcommand*{\UnReplacePackage}[1]{% + \@unreplacefilewithext{#1}\@pkgextension +} +\newcommand*{\UnReplaceClass}[1]{% + \@unreplacefilewithext{#1}\@clsextension +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% % % \begin{macro}{\scr@replacefile@msg} % \changes{v2.96}{2006/07/19}{new helper command} @@ -791,11 +873,15 @@ % \changes{v3.12}{2012/06/15}{new star version allowes empty argument with % info instead of warning} % \begin{macro}{\@PreventPackageFromLoading} -% \changes{v3.12}{2012/06/15}{New (internal)} +% \changes{v3.12}{2012/06/15}{New (internal)}^^A +% \begin{macro}{\@@PreventPackageFromLoading} +% \changes{v3.12}{2013/11/22}{New (internal)}^^A +% \changes{v3.12}{2013/11/22}{\cs{usepackage} before \cs{documentclass} +% fixed}^^A % \begin{macro}{\scrlfile@excludedpackages} -% \changes{v3.08}{2010/11/04}{New (internal)} +% \changes{v3.08}{2010/11/04}{New (internal)}^^A % \begin{macro}{\scrlfile@saved@RequirePackage} -% \changes{v3.08}{2010/11/04}{New (internal)} +% \changes{v3.08}{2010/11/04}{New (internal)}^^A % \begin{macrocode} \newcommand*{\scrlfile@excludedpackages}{} \let\scrlfile@excludedpackages\@empty @@ -804,15 +890,20 @@ \@ifstar{\@PreventPackageFromLoading\PackageInfo}% {\@PreventPackageFromLoading\PackageWarning}% } -\newcommand*{\@PreventPackageFromLoading}[2]{% +\newcommand*{\@PreventPackageFromLoading}[1]{% + \@ifnextchar [%] + {\@@PreventPackageFromLoading#1}{\@@PreventPackageFromLoading#1[]}% +} +\newcommand*{\@@PreventPackageFromLoading}{} +\def\@@PreventPackageFromLoading#1[#2]#3{% % \end{macrocode} % We do nothing, if the argument was empty: % \begin{macrocode} - \edef\reserved@b{#2}% + \edef\reserved@b{\zap@space#3 \@empty}% \ifx \reserved@b\@empty #1{scrlfile}{% - \string\PreventPackageFromLoading\space with empty argument\MessageBreak - ignored% + \string\PreventPackageFromLoading\space with empty packages\MessageBreak + argument ignored% }% \else % \end{macrocode} @@ -822,7 +913,7 @@ \ifx\scrlfile@excludedpackages\@empty \let\scrlfile@saved@RequirePackage\RequirePackage \let\RequirePackage\scrlfile@RequirePackage - \def\reserved@a#2{% + \def\reserved@a##1##{% \@latex@error {\noexpand \usepackage before \string\documentclass}% {\noexpand \usepackage may only appear in the document @@ -844,12 +935,18 @@ % We have to test, if a package was already loaded. Only not yet loaded % packages will be added to the exclusion list. Empty arguments will be % ignored. -% \changes{v3.11a}{2012/06/11}{missing \cs{scrlfile@excludepackages} at -% redefinition of \cs{scrlfile@excludepackages} added} +% \changes{v3.11a}{2012/06/11}{missing \cs{scrlfile@excludedpackages} at +% redefinition of \cs{scrlfile@excludedpackages} added} % \begin{macrocode} \expandafter\@for \expandafter\reserved@a\expandafter:\expandafter=% \reserved@b\do {% - \ifx\reserved@a\@empty\else + \ifx\reserved@a\@empty + #1{scrlfile}{% + empty package argument for + \string\PreventPackageFromLoading\MessageBreak + ignored% + }% + \else \expandafter\@ifpackageloaded\expandafter{\reserved@a}{% #1{scrlfile}{% package `\reserved@a' already loaded.\MessageBreak @@ -858,6 +955,18 @@ }{% \edef\scrlfile@excludedpackages{\scrlfile@excludedpackages,% \reserved@a}% + \if\relax\detokenize{#2}\relax\else + \@ifundefined{scrlfile@exclude@package@\reserved@a @do}{% + \@namedef{scrlfile@exclude@package@\reserved@a @do}{}% + }{}% + \expandafter\def + \csname scrlfile@exclude@package@\reserved@a + @do\expandafter\expandafter\expandafter\endcsname + \expandafter\expandafter\expandafter{% + \csname scrlfile@exclude@package@\reserved@a @do\endcsname + #2% + }% + \fi }% \fi }% @@ -893,25 +1002,85 @@ } \@onlypreamble\StorePreventPackageFromLoading % \end{macrocode} +% \begin{macro}{\UnPreventPackageFromLoading} +% \changes{v3.12}{2013/11/22}{New}^^A +% \begin{macro}{\@UnPreventPackageFromLoading} +% \changes{v3.12}{2013/11/22}{New (internal)}^^A +% This removes packages from the prevent exclude list. The star variant also +% undefines the instead code. +% \begin{macrocode} +\newcommand*{\UnPreventPackageFromLoading}{% + \@ifstar {\@tempswatrue\@UnPreventPackageFromLoading}% + {\@tempswafalse\@UnPreventPackageFromLoading}% +} +\newcommand*{\@UnPreventPackageFromLoading}[1]{% + \edef\reserved@b{\zap@space#1 \@empty}% + \if@tempswa + \@for\reserved@a:=\reserved@b\do {% + \ifx\reserved@a\@empty \else + \ifcsname scrlfile@exclude@package@\reserved@a @do\endcsname + \expandafter\let + \csname scrlfile@exclude@package@\reserved@a @do\endcsname + \undefined + \fi + \fi + }% + \fi + \ifcsname scrlfile@excludedpackages\endcsname + \let\reserved@a\scrlfile@excludedpackages + \let\scrlfile@excludedpackages\@empty + \expandafter\@for\expandafter\reserved@c + \expandafter:\expandafter=\reserved@a + \do{% + \ifx\reserved@c\@empty\else + \@expandtwoargs\in@{,\reserved@c,}{,\reserved@b,}% + \ifin@ + \else + \edef\scrlfile@excludedpackages{% + \scrlfile@excludedpackages,\reserved@c + }% + \fi + \fi + }% + \ifx\scrlfile@excludedpackages\@empty\ResetPreventPackageFromLoading\fi + \fi +} +% \end{macrocode} +% \end{macro} +% \end{macro} % \begin{macro}{\scrlfile@RequirePackage} % \changes{v3.08}{2010/11/04}{New (internal)} +% \changes{v3.12}{2013/11/22}{tolerate spaces} +% \changes{v3.12}{2013/11/22}{execute the optional argument of +% \cs{PreventPackageFromLoading}} % This macro will replace \cs{RequirePackage} whenever the exlude list is not % empty % \begin{macrocode} \newcommand*{\scrlfile@RequirePackage}[2][]{% \let\reserved@c\@empty - \@for\reserved@b:=#2\do {% + \let\reserved@d\@empty + \edef\reserved@b{\zap@space#2 \@empty}% + \expandafter\@for\expandafter\reserved@b\expandafter:\expandafter=\reserved@b + \do {% \begingroup \@tempswatrue \@for\reserved@a:=\scrlfile@excludedpackages\do {% \ifx\reserved@a\reserved@b - \PackageInfo{scrlfile}{Excluding package `\reserved@b'\MessageBreak - from loading}% \@tempswafalse \fi }% \if@tempswa \xdef\reserved@c{\reserved@c,\reserved@b}% + \else + \ifx\reserved@b\@empty\else + \PackageInfo{scrlfile}{Excluding package `\reserved@b'\MessageBreak + from loading}% + \@ifundefined{scrlfile@exclude@package@\reserved@b @do}{% + }{% + \expandafter\g@addto@macro\expandafter\reserved@d + \csname scrlfile@exclude@package@\reserved@b @do\endcsname + }% + \fi \fi \endgroup }% @@ -921,6 +1090,7 @@ \edef\reserved@a{\noexpand\scrlfile@saved@RequirePackage[#1]{% \expandafter\@gobble\reserved@c\@empty}}% \fi + \expandafter\reserved@d \reserved@a } % \end{macrocode} @@ -931,6 +1101,7 @@ % \end{macro} % \end{macro} % \end{macro} +% \end{macro} % % \begin{macro}{\scr@gobbleopt} % \changes{v3.08}{2010/11/04}{New (internal)} @@ -1090,8 +1261,9 @@ %<*load> % Used at \KOMAScript{} classes. % \begin{macrocode} -\edef\@tempa{\noexpand\RequirePackage{scrlfile}[\scrlfileversion]} -\@tempa +\RequirePackage{scrlfile}[% +%!KOMAScriptVersion +] % \end{macrocode} %</load> % \fi diff --git a/Master/texmf-dist/source/latex/koma-script/scrlfile.ins b/Master/texmf-dist/source/latex/koma-script/scrlfile.ins deleted file mode 100644 index cc07880d8fd..00000000000 --- a/Master/texmf-dist/source/latex/koma-script/scrlfile.ins +++ /dev/null @@ -1,185 +0,0 @@ -% ====================================================================== -% scrlfile.ins -% Copyright (c) Markus Kohm, 2002-2012 -% -% This file is part of the work `scrlfile' which 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. -% -% In particular, NO PERMISSION is granted to modify the contents of this -% file since it contains the legal notices that are placed in the files -% it generates. -% -% This work consists of files `scrlfile.dtx', `scrlfile.ins' and -% `scrlogo.dtx' at least. -% ---------------------------------------------------------------------- -% scrlfile.ins -% Copyright (c) Markus Kohm, 2002-2012 -% -% Diese Datei ist Teil des Werks `scrlfile', das wiederum Teil des -% LaTeX2e KOMA-Script Pakets ist. -% -% 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. -% -% Als Besonderheit: Es NICHT GESTATTET den Inhalt dieser Datei zu -% aendern, da sie rechtliche Hinweise enthaelt, die in die erzeugten -% Dateien eingefuegt werden. -% -% Dieses Werk besteht mindestens aus den Dateien `scrlfile.dtx', -% `scrlfile.ins' und `scrlogo.dtx'. -% ====================================================================== - -% ---------- start of docstrip process --------------------------------- -\def\batchfile{scrlfile.ins} - -\input docstrip.tex - -\let\ifbeta=\iffalse - -\ifToplevel{\ifx\generate\undefined - \Msg{************************************************************} - \Msg{*} - \Msg{* This installation requires docstrip version 2.3c or} - \Msg{* later, but an old version of docstrip has been input.} - \Msg{* You have to update docstrip and maybe LaTeX first!} - \Msg{*} - \Msg{************************************************************} - \errhelp{Install a new version of docstrip.} - \errmessage{Old docstrip in input path} - \batchmode - \csname @@end\endcsname - \fi - \Msg{************************************************************} - \Msg{*} - \Msg{* KOMA-Script} - \Msg{* a versatile LaTeX2e bundle} - \Msg{*} - \Msg{* This is `\batchfile', a batchfile to unpack some or all} - \Msg{* parts of KOMA-Script. See `liesmich.txt' (german) or} - \Msg{* `readme.txt' (english) for additional information.} - \Msg{*} - \Msg{* If some - maybe old - files of KOMA-Script are already} - \Msg{* installed, you will be ask, if it is allowed to overwrite} - \Msg{* them. Answering `yes' doesn't mean, that `\batchfile'} - \Msg{* WILL overwrite such files. It means only, that} - \Msg{* `\batchfile' or installation MAY overwrite them.} - \Msg{*} - \Msg{************************************************************} -} - -% ---------- some docstrip switchs ------------------------------------- - -\ifToplevel{% - \keepsilent - \askforoverwritetrue - \ifx\askonceonly\undefined\else\askonceonly\fi -} - -% ---------- defining preambles ---------------------------------------- - -\preamble - -Copyright (c) 1994-2007 -Markus Kohm and any individual authors listed elsewhere in this file. - -This file was generated from file(s) of the 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 file may only be distributed together with the files -`scrlogo.dtx', `scrlfile.dtx' and `scrlfile.ins'. You may however -distribute the files `scrlogo.dtx', `scrlfile.dtx' and `scrlfile.ins' -without this file. See also `scrlfile.dtx' for additional information. - -If this file is a beta version, you are not allowed to distribute it. - -English and German manuals are part of KOMA-Script bundle. ----------------------------------------------------------- - -A short version of the english manual is at `scrlfile.dtx', too. - -The KOMA-Script bundle (but maybe not this file) was based upon the -LaTeX2.09 Script family created by Frank Neukam 1993 and the LaTeX2e -standard classes created by The LaTeX3 Project 1994-1996. - -\endpreamble - -% ---------- File generation ------------------------------------------- - -\generate{\usepreamble\defaultpreamble - \file{scrlfile.sty}{% - \ifbeta\from{scrbeta.dtx}{package,scrlfile}\fi - \from{scrlfile.dtx}{scrlfile}% - \from{scrlogo.dtx}{logo}% - }% -} - -% ---------- end of docstrip process ----------------------------------- - -\ifToplevel{% - \Msg{************************************************************} - \Msg{*} - \Msg{* KOMA-Script} - \Msg{* a versatile LaTeX2e bundle} - \Msg{*} - \ifbeta - \Msg{* THIS IS A BETA VERSION. YOU SHOULD NOT INSTALL OR USE IT!} - \Msg{* THERE MAY BE A LOT OF BUGS AT THIS VERSION!} - \Msg{* PLEASE INSTALL THE RELEASE YOU CAN FIND AT CTAN!} - \else - \Msg{* To finish the installation you have to move some} - \Msg{* files into a directory searched by TeX.} - \Msg{* See INSTALL.TXT (english) or INSTALLD.TXT (german)} - \Msg{* from KOMA-Script bundle for additional information.} - \Msg{*} - \Msg{* You may also produce the implementation documentation} - \Msg{* including also a short version of the english manual.} - \Msg{* To produce it, do} - \Msg{* \space\space latex scrlfile.dtx} - \Msg{* \space\space mkindex scrlfile} - \Msg{* \space\space latex scrlfile.dtx} - \Msg{* after finishing the installation.} - \Msg{*} - \Msg{* Happy TeXing} - \fi - \Msg{*} - \Msg{************************************************************} -} - -\endinput -% -% end of file `scrlfile.ins' -%%% Local Variables: -%%% mode: latex -%%% TeX-master: t -%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/scrlogo.dtx b/Master/texmf-dist/source/latex/koma-script/scrlogo.dtx index c6b2785892a..de99062ebd3 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrlogo.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrlogo.dtx @@ -2,7 +2,7 @@ % \iffalse meta-comment % ====================================================================== % scrlogo.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % This work may be distributed and/or modified under the conditions of % the LaTeX Project Public License, version 1.3c of the license. @@ -18,7 +18,7 @@ % This work consists of the file `scrlogo.dtx' at least. % ---------------------------------------------------------------------- % scrlogo.dtx -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -53,7 +53,7 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scrlogo.dtx +%%% From File: $Id: scrlogo.dtx 1380 2013-10-01 15:31:55Z mjk $ %<*driver> % \fi \ProvidesFile{scrlogo.dtx}[2009/01/30 v3.02c KOMA-Script (Logo)] diff --git a/Master/texmf-dist/source/latex/koma-script/scrmain.ins b/Master/texmf-dist/source/latex/koma-script/scrmain.ins index b88ed4498c0..1e0ac181307 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrmain.ins +++ b/Master/texmf-dist/source/latex/koma-script/scrmain.ins @@ -1,6 +1,6 @@ % ====================================================================== % scrmain.ins -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrmain.ins -% Copyright (c) Markus Kohm, 2002-2012 +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -35,367 +35,326 @@ % Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% ---------- start of docstrip process --------------------------------- -\def\batchfile{scrmain.ins} - % ---------- KOMA-Script default docstrip declarations ----------------- -\input docstrip.tex +\input scrdocstrip.tex +\@@input scrkernel-version.dtx \@@input scrstrip.inc % ---------- File generation ------------------------------------------- \generate{\usepreamble\defaultpreamble \file{scrextend.sty}{% - \ifbeta\from{scrbeta.dtx}{package,extend}\fi \from{scrextend.dtx}{package,extend,preidentify}% - \from{scrkvers.dtx}{package,extend}% + \from{scrkernel-version.dtx}{package,extend}% \from{scrextend.dtx}{package,extend,identify,prepare}% - \from{scrkbase.dtx}{load}% + \from{scrkernel-basics.dtx}{load}% \from{scrextend.dtx}{package,extend,option}% - \from{scrkcomp.dtx}{package,extend,option}% - \from{scrkmisc.dtx}{package,extend,option}% - \from{scrkfont.dtx}{package,extend,option}% -% \from{scrktare.dtx}{package,extend,option}% -% \from{scrkpar.dtx}{package,extend,option}% - \from{scrktitl.dtx}{package,extend,option}% - \from{scrksect.dtx}{package,extend,option}% - \from{scrkpage.dtx}{package,extend,option}% - \from{scrkfloa.dtx}{package,extend,option}% - \from{scrkftn.dtx}{package,extend,option}% -% \from{scrkliof.dtx}{package,extend,option}% -% \from{scrkbib.dtx}{package,extend,option}% -% \from{scrkidx.dtx}{package,extend,option}% - \from{scrklist.dtx}{package,extend,option}% - \from{scrkmisc.dtx}{package,extend,execoption}% - \from{scrkcomp.dtx}{package,extend,body}% - \from{scrkfont.dtx}{package,extend,body}% -% \from{scrktare.dtx}{package,extend,body}% -% \from{scrkpar.dtx}{package,extend,body}% - \from{scrktitl.dtx}{package,extend,body}% - \from{scrksect.dtx}{package,extend,body}% - \from{scrkmisc.dtx}{package,extend,body}% - \from{scrkpage.dtx}{package,extend,body}% - \from{scrkfloa.dtx}{package,extend,body}% - \from{scrkftn.dtx}{package,extend,body}% -% \from{scrkliof.dtx}{package,extend,body}% -% \from{scrkbib.dtx}{package,extend,body}% -% \from{scrkidx.dtx}{package,extend,body}% - \from{scrklist.dtx}{package,extend,body}% + \from{scrkernel-compatibility.dtx}{package,extend,option}% + \from{scrkernel-miscellaneous.dtx}{package,extend,option}% + \from{scrkernel-fonts.dtx}{package,extend,option}% +% \from{scrkernel-typearea.dtx}{package,extend,option}% +% \from{scrkernel-paragraphs.dtx}{package,extend,option}% + \from{scrkernel-title.dtx}{package,extend,option}% + \from{scrkernel-sections.dtx}{package,extend,option}% + \from{scrkernel-pagestyles.dtx}{package,extend,option}% + \from{scrkernel-floats.dtx}{package,extend,option}% + \from{scrkernel-footnotes.dtx}{package,extend,option}% +% \from{scrkernel-listsof.dtx}{package,extend,option}% +% \from{scrkernel-bibliography.dtx}{package,extend,option}% +% \from{scrkernel-index.dtx}{package,extend,option}% + \from{scrkernel-listsandtabulars.dtx}{package,extend,option}% + \from{scrkernel-miscellaneous.dtx}{package,extend,execoption}% + \from{scrkernel-compatibility.dtx}{package,extend,body}% + \from{scrkernel-fonts.dtx}{package,extend,body}% +% \from{scrkernel-typearea.dtx}{package,extend,body}% +% \from{scrkernel-paragraphs.dtx}{package,extend,body}% + \from{scrkernel-title.dtx}{package,extend,body}% + \from{scrkernel-sections.dtx}{package,extend,body}% + \from{scrkernel-miscellaneous.dtx}{package,extend,body}% + \from{scrkernel-pagestyles.dtx}{package,extend,body}% + \from{scrkernel-floats.dtx}{package,extend,body}% + \from{scrkernel-footnotes.dtx}{package,extend,body}% +% \from{scrkernel-listsof.dtx}{package,extend,body}% +% \from{scrkernel-bibliography.dtx}{package,extend,body}% +% \from{scrkernel-index.dtx}{package,extend,body}% + \from{scrkernel-listsandtabulars.dtx}{package,extend,body}% \from{scrlogo.dtx}{logo}% }% } \generate{\usepreamble\defaultpreamble \file{scrbook.cls}{% - \ifbeta\from{scrbeta.dtx}{class,book}\fi - \from{scrkvers.dtx}{class,book}% - \from{scrkbase.dtx}{load}% + \from{scrkernel-version.dtx}{class,book}% + \from{scrkernel-basics.dtx}{load}% \from{tocbasic.dtx}{class,load,chapter}% - \from{scrkcomp.dtx}{class,book,option}% - \from{scrkmisc.dtx}{class,book,option}% - \from{scrklang.dtx}{class,book,option}% - \from{scrkfont.dtx}{class,book,option}% - \from{scrktare.dtx}{class,book,option}% - \from{scrkpar.dtx}{class,book,option}% - \from{scrktitl.dtx}{class,book,option}% - \from{scrksect.dtx}{class,book,option}% - \from{scrkpage.dtx}{class,book,option}% - \from{scrkfloa.dtx}{class,book,option}% - \from{scrkftn.dtx}{class,book,option}% - \from{scrkliof.dtx}{class,book,option}% - \from{scrkbib.dtx}{class,book,option}% - \from{scrkidx.dtx}{class,book,option}% - \from{scrklist.dtx}{class,book,option}% - \from{scrkmisc.dtx}{class,book,execoption}% - \from{scrkcomp.dtx}{class,book,body}% - \from{scrkfont.dtx}{class,book,body}% - \from{scrklang.dtx}{class,book,body}% - \from{scrktare.dtx}{class,book,body}% - \from{scrkpar.dtx}{class,book,body}% - \from{scrktitl.dtx}{class,book,body}% - \from{scrksect.dtx}{class,book,body}% - \from{scrkmisc.dtx}{class,book,body}% - \from{scrkpage.dtx}{class,book,body}% - \from{scrkfloa.dtx}{class,book,body}% - \from{scrkftn.dtx}{class,book,body}% - \from{scrkliof.dtx}{class,book,body}% - \from{scrkbib.dtx}{class,book,body}% - \from{scrkidx.dtx}{class,book,body}% - \from{scrklist.dtx}{class,book,body}% + \from{scrkernel-compatibility.dtx}{class,book,option}% + \from{scrkernel-miscellaneous.dtx}{class,book,option}% + \from{scrkernel-language.dtx}{class,book,option}% + \from{scrkernel-fonts.dtx}{class,book,option}% + \from{scrkernel-typearea.dtx}{class,book,option}% + \from{scrkernel-paragraphs.dtx}{class,book,option}% + \from{scrkernel-title.dtx}{class,book,option}% + \from{scrkernel-sections.dtx}{class,book,option}% + \from{scrkernel-pagestyles.dtx}{class,book,option}% + \from{scrkernel-floats.dtx}{class,book,option}% + \from{scrkernel-footnotes.dtx}{class,book,option}% + \from{scrkernel-listsof.dtx}{class,book,option}% + \from{scrkernel-bibliography.dtx}{class,book,option}% + \from{scrkernel-index.dtx}{class,book,option}% + \from{scrkernel-listsandtabulars.dtx}{class,book,option}% + \from{scrkernel-miscellaneous.dtx}{class,book,execoption}% + \from{scrkernel-compatibility.dtx}{class,book,body}% + \from{scrkernel-fonts.dtx}{class,book,body}% + \from{scrkernel-language.dtx}{class,book,body}% + \from{scrkernel-typearea.dtx}{class,book,body}% + \from{scrkernel-paragraphs.dtx}{class,book,body}% + \from{scrkernel-title.dtx}{class,book,body}% + \from{scrkernel-sections.dtx}{class,book,body}% + \from{scrkernel-miscellaneous.dtx}{class,book,body}% + \from{scrkernel-pagestyles.dtx}{class,book,body}% + \from{scrkernel-floats.dtx}{class,book,body}% + \from{scrkernel-footnotes.dtx}{class,book,body}% + \from{scrkernel-listsof.dtx}{class,book,body}% + \from{scrkernel-bibliography.dtx}{class,book,body}% + \from{scrkernel-index.dtx}{class,book,body}% + \from{scrkernel-listsandtabulars.dtx}{class,book,body}% \from{scrlogo.dtx}{logo}% }% \file{scrreprt.cls}{% - \ifbeta\from{scrbeta.dtx}{class,report}\fi - \from{scrkvers.dtx}{class,report}% - \from{scrkbase.dtx}{load}% + \from{scrkernel-version.dtx}{class,report}% + \from{scrkernel-basics.dtx}{load}% \from{tocbasic.dtx}{class,load,chapter}% - \from{scrkcomp.dtx}{class,report,option}% - \from{scrkmisc.dtx}{class,report,option}% - \from{scrklang.dtx}{class,report,option}% - \from{scrkfont.dtx}{class,report,option}% - \from{scrktare.dtx}{class,report,option}% - \from{scrkpar.dtx}{class,report,option}% - \from{scrktitl.dtx}{class,report,option}% - \from{scrksect.dtx}{class,report,option}% - \from{scrkpage.dtx}{class,report,option}% - \from{scrkfloa.dtx}{class,report,option}% - \from{scrkftn.dtx}{class,report,option}% - \from{scrkliof.dtx}{class,report,option}% - \from{scrkbib.dtx}{class,report,option}% - \from{scrkidx.dtx}{class,report,option}% - \from{scrklist.dtx}{class,report,option}% - \from{scrkmisc.dtx}{class,report,execoption}% - \from{scrkcomp.dtx}{class,report,body}% - \from{scrkfont.dtx}{class,report,body}% - \from{scrklang.dtx}{class,report,body}% - \from{scrktare.dtx}{class,report,body}% - \from{scrkpar.dtx}{class,report,body}% - \from{scrktitl.dtx}{class,report,body}% - \from{scrksect.dtx}{class,report,body}% - \from{scrkmisc.dtx}{class,report,body}% - \from{scrkpage.dtx}{class,report,body}% - \from{scrkfloa.dtx}{class,report,body}% - \from{scrkftn.dtx}{class,report,body}% - \from{scrkliof.dtx}{class,report,body}% - \from{scrkbib.dtx}{class,report,body}% - \from{scrkidx.dtx}{class,report,body}% - \from{scrklist.dtx}{class,report,body}% + \from{scrkernel-compatibility.dtx}{class,report,option}% + \from{scrkernel-miscellaneous.dtx}{class,report,option}% + \from{scrkernel-language.dtx}{class,report,option}% + \from{scrkernel-fonts.dtx}{class,report,option}% + \from{scrkernel-typearea.dtx}{class,report,option}% + \from{scrkernel-paragraphs.dtx}{class,report,option}% + \from{scrkernel-title.dtx}{class,report,option}% + \from{scrkernel-sections.dtx}{class,report,option}% + \from{scrkernel-pagestyles.dtx}{class,report,option}% + \from{scrkernel-floats.dtx}{class,report,option}% + \from{scrkernel-footnotes.dtx}{class,report,option}% + \from{scrkernel-listsof.dtx}{class,report,option}% + \from{scrkernel-bibliography.dtx}{class,report,option}% + \from{scrkernel-index.dtx}{class,report,option}% + \from{scrkernel-listsandtabulars.dtx}{class,report,option}% + \from{scrkernel-miscellaneous.dtx}{class,report,execoption}% + \from{scrkernel-compatibility.dtx}{class,report,body}% + \from{scrkernel-fonts.dtx}{class,report,body}% + \from{scrkernel-language.dtx}{class,report,body}% + \from{scrkernel-typearea.dtx}{class,report,body}% + \from{scrkernel-paragraphs.dtx}{class,report,body}% + \from{scrkernel-title.dtx}{class,report,body}% + \from{scrkernel-sections.dtx}{class,report,body}% + \from{scrkernel-miscellaneous.dtx}{class,report,body}% + \from{scrkernel-pagestyles.dtx}{class,report,body}% + \from{scrkernel-floats.dtx}{class,report,body}% + \from{scrkernel-footnotes.dtx}{class,report,body}% + \from{scrkernel-listsof.dtx}{class,report,body}% + \from{scrkernel-bibliography.dtx}{class,report,body}% + \from{scrkernel-index.dtx}{class,report,body}% + \from{scrkernel-listsandtabulars.dtx}{class,report,body}% \from{scrlogo.dtx}{logo}% }% \file{scrartcl.cls}{% - \ifbeta\from{scrbeta.dtx}{class,article}\fi - \from{scrkvers.dtx}{class,article}% - \from{scrkbase.dtx}{load}% + \from{scrkernel-version.dtx}{class,article}% + \from{scrkernel-basics.dtx}{load}% \from{tocbasic.dtx}{class,load}% - \from{scrkcomp.dtx}{class,article,option}% - \from{scrkmisc.dtx}{class,article,option}% - \from{scrklang.dtx}{class,article,option}% - \from{scrkfont.dtx}{class,article,option}% - \from{scrktare.dtx}{class,article,option}% - \from{scrkpar.dtx}{class,article,option}% - \from{scrktitl.dtx}{class,article,option}% - \from{scrksect.dtx}{class,article,option}% - \from{scrkpage.dtx}{class,article,option}% - \from{scrkfloa.dtx}{class,article,option}% - \from{scrkftn.dtx}{class,article,option}% - \from{scrkliof.dtx}{class,article,option}% - \from{scrkbib.dtx}{class,article,option}% - \from{scrkidx.dtx}{class,article,option}% - \from{scrklist.dtx}{class,article,option}% - \from{scrkmisc.dtx}{class,article,execoption}% - \from{scrkcomp.dtx}{class,article,body}% - \from{scrkfont.dtx}{class,article,body}% - \from{scrklang.dtx}{class,article,body}% - \from{scrktare.dtx}{class,article,body}% - \from{scrkpar.dtx}{class,article,body}% - \from{scrktitl.dtx}{class,article,body}% - \from{scrksect.dtx}{class,article,body}% - \from{scrkmisc.dtx}{class,article,body}% - \from{scrkpage.dtx}{class,article,body}% - \from{scrkfloa.dtx}{class,article,body}% - \from{scrkftn.dtx}{class,article,body}% - \from{scrkliof.dtx}{class,article,body}% - \from{scrkbib.dtx}{class,article,body}% - \from{scrkidx.dtx}{class,article,body}% - \from{scrklist.dtx}{class,article,body}% + \from{scrkernel-compatibility.dtx}{class,article,option}% + \from{scrkernel-miscellaneous.dtx}{class,article,option}% + \from{scrkernel-language.dtx}{class,article,option}% + \from{scrkernel-fonts.dtx}{class,article,option}% + \from{scrkernel-typearea.dtx}{class,article,option}% + \from{scrkernel-paragraphs.dtx}{class,article,option}% + \from{scrkernel-title.dtx}{class,article,option}% + \from{scrkernel-sections.dtx}{class,article,option}% + \from{scrkernel-pagestyles.dtx}{class,article,option}% + \from{scrkernel-floats.dtx}{class,article,option}% + \from{scrkernel-footnotes.dtx}{class,article,option}% + \from{scrkernel-listsof.dtx}{class,article,option}% + \from{scrkernel-bibliography.dtx}{class,article,option}% + \from{scrkernel-index.dtx}{class,article,option}% + \from{scrkernel-listsandtabulars.dtx}{class,article,option}% + \from{scrkernel-miscellaneous.dtx}{class,article,execoption}% + \from{scrkernel-compatibility.dtx}{class,article,body}% + \from{scrkernel-fonts.dtx}{class,article,body}% + \from{scrkernel-language.dtx}{class,article,body}% + \from{scrkernel-typearea.dtx}{class,article,body}% + \from{scrkernel-paragraphs.dtx}{class,article,body}% + \from{scrkernel-title.dtx}{class,article,body}% + \from{scrkernel-sections.dtx}{class,article,body}% + \from{scrkernel-miscellaneous.dtx}{class,article,body}% + \from{scrkernel-pagestyles.dtx}{class,article,body}% + \from{scrkernel-floats.dtx}{class,article,body}% + \from{scrkernel-footnotes.dtx}{class,article,body}% + \from{scrkernel-listsof.dtx}{class,article,body}% + \from{scrkernel-bibliography.dtx}{class,article,body}% + \from{scrkernel-index.dtx}{class,article,body}% + \from{scrkernel-listsandtabulars.dtx}{class,article,body}% \from{scrlogo.dtx}{logo}% }% }% \generate{\usepreamble\defaultpreamble \file{scrsize10pt.clo}{% - \ifbeta\from{scrbeta.dtx}{clo,10pt}\fi - \from{scrkvers.dtx}{clo,10pt}% - \from{scrkfont.dtx}{clo,10pt}% - \from{scrkpar.dtx}{clo,10pt}% + \from{scrkernel-version.dtx}{clo,10pt}% + \from{scrkernel-fonts.dtx}{clo,10pt}% + \from{scrkernel-paragraphs.dtx}{clo,10pt}% }% \file{scrsize11pt.clo}{% - \ifbeta\from{scrbeta.dtx}{clo,11pt}\fi - \from{scrkvers.dtx}{clo,11pt}% - \from{scrkfont.dtx}{clo,11pt}% - \from{scrkpar.dtx}{clo,11pt}% + \from{scrkernel-version.dtx}{clo,11pt}% + \from{scrkernel-fonts.dtx}{clo,11pt}% + \from{scrkernel-paragraphs.dtx}{clo,11pt}% }% \file{scrsize12pt.clo}{% - \ifbeta\from{scrbeta.dtx}{clo,12pt}\fi - \from{scrkvers.dtx}{clo,12pt}% - \from{scrkfont.dtx}{clo,12pt}% - \from{scrkpar.dtx}{clo,12pt}% + \from{scrkernel-version.dtx}{clo,12pt}% + \from{scrkernel-fonts.dtx}{clo,12pt}% + \from{scrkernel-paragraphs.dtx}{clo,12pt}% }% }% \generate{\usepreamble\defaultpreamble \file{scrfontsizes.sty}{% - \ifbeta\from{scrbeta.dtx}{package,scrfontsizes}\fi - \from{scrkvers.dtx}{package}% - \from{scrkfont.dtx}{package,generator,identify}% - \from{scrkfont.dtx}{package,generator,option}% - \from{scrkfont.dtx}{package,generator,body}% + \from{scrkernel-version.dtx}{package}% + \from{scrkernel-fonts.dtx}{package,generator,identify}% + \from{scrkernel-fonts.dtx}{package,generator,option}% + \from{scrkernel-fonts.dtx}{package,generator,body}% \from{scrlogo.dtx}{logo}% }% }% \generate{\usepreamble\defaultpreamble \file{scrlttr2.cls}{% - \ifbeta\from{scrbeta.dtx}{class,letter}\fi - \from{scrkvers.dtx}{class,letter}% - \from{scrkbase.dtx}{load}% - \from{scrkcomp.dtx}{class,letter,option}% - \from{scrkmisc.dtx}{class,letter,option}% - \from{scrklco.dtx}{class,letter,option}% - \from{scrklang.dtx}{class,letter,option}% - \from{scrkfont.dtx}{class,letter,option}% - \from{scrkvars.dtx}{class,letter,option}% - \from{scrkplen.dtx}{class,letter,option}% - \from{scrktare.dtx}{class,letter,option}% - \from{scrkpar.dtx}{class,letter,option}% - \from{scrkpage.dtx}{class,letter,option}% - \from{scrkfloa.dtx}{class,letter,option}% - \from{scrkftn.dtx}{class,letter,option}% - \from{scrklist.dtx}{class,letter,option}% - \from{scrknpap.dtx}{class,letter,option}% - \from{scrkcile.dtx}{class,letter,option}% - \from{scrkmisc.dtx}{class,letter,execoption}% - \from{scrkcomp.dtx}{class,letter,body}% - \from{scrkfont.dtx}{class,letter,body}% - \from{scrkmisc.dtx}{class,letter,body}% - \from{scrklco.dtx}{class,letter,body}% - \from{scrklang.dtx}{class,letter,body}% - \from{scrkvars.dtx}{class,letter,body}% - \from{scrkplen.dtx}{class,letter,body}% - \from{scrktare.dtx}{class,letter,body}% - \from{scrkpar.dtx}{class,letter,body}% - \from{scrkpage.dtx}{class,letter,body}% - \from{scrkfloa.dtx}{class,letter,body}% - \from{scrkftn.dtx}{class,letter,body}% - \from{scrklist.dtx}{class,letter,body}% - \from{scrknpap.dtx}{class,letter,body}% - \from{scrkcile.dtx}{class,letter,body}% + \from{scrkernel-version.dtx}{class,letter}% + \from{scrkernel-basics.dtx}{load}% + \from{scrkernel-compatibility.dtx}{class,letter,option}% + \from{scrkernel-miscellaneous.dtx}{class,letter,option}% + \from{scrkernel-letterclassoptions.dtx}{class,letter,option}% + \from{scrkernel-language.dtx}{class,letter,option}% + \from{scrkernel-fonts.dtx}{class,letter,option}% + \from{scrkernel-variables.dtx}{class,letter,option}% + \from{scrkernel-pseudolengths.dtx}{class,letter,option}% + \from{scrkernel-typearea.dtx}{class,letter,option}% + \from{scrkernel-paragraphs.dtx}{class,letter,option}% + \from{scrkernel-pagestyles.dtx}{class,letter,option}% + \from{scrkernel-floats.dtx}{class,letter,option}% + \from{scrkernel-footnotes.dtx}{class,letter,option}% + \from{scrkernel-listsandtabulars.dtx}{class,letter,option}% + \from{scrkernel-notepaper.dtx}{class,letter,option}% + \from{scrkernel-circularletters.dtx}{class,letter,option}% + \from{scrkernel-miscellaneous.dtx}{class,letter,execoption}% + \from{scrkernel-compatibility.dtx}{class,letter,body}% + \from{scrkernel-fonts.dtx}{class,letter,body}% + \from{scrkernel-miscellaneous.dtx}{class,letter,body}% + \from{scrkernel-letterclassoptions.dtx}{class,letter,body}% + \from{scrkernel-language.dtx}{class,letter,body}% + \from{scrkernel-variables.dtx}{class,letter,body}% + \from{scrkernel-pseudolengths.dtx}{class,letter,body}% + \from{scrkernel-typearea.dtx}{class,letter,body}% + \from{scrkernel-paragraphs.dtx}{class,letter,body}% + \from{scrkernel-pagestyles.dtx}{class,letter,body}% + \from{scrkernel-floats.dtx}{class,letter,body}% + \from{scrkernel-footnotes.dtx}{class,letter,body}% + \from{scrkernel-listsandtabulars.dtx}{class,letter,body}% + \from{scrkernel-notepaper.dtx}{class,letter,body}% + \from{scrkernel-circularletters.dtx}{class,letter,body}% \from{scrlogo.dtx}{logo}% }% }% \generate{\usepreamble\defaultpreamble \file{visualize.lco}{% - \from{scrkvers.dtx}{trace}% - \from{scrklco.dtx}{lco,visualize,head}% - \ifbeta\from{scrbeta.dtx}{visualize,lco}\fi - \from{scrklco.dtx}{lco,visualize,body}% - \from{scrknpap.dtx}{lco,visualize,body}% + \from{scrkernel-version.dtx}{trace}% + \from{scrkernel-letterclassoptions.dtx}{lco,visualize,head}% + \from{scrkernel-letterclassoptions.dtx}{lco,visualize,body}% + \from{scrkernel-notepaper.dtx}{lco,visualize,body}% }% \file{KOMAold.lco}{% - \from{scrkvers.dtx}{trace}% - \from{scrklco.dtx}{lco,KOMAold,head}% - \ifbeta\from{scrbeta.dtx}{KOMAold,lco}\fi - \from{scrklco.dtx}{lco,KOMAold,body}% - \from{scrknpap.dtx}{lco,KOMAold,body}% + \from{scrkernel-version.dtx}{trace}% + \from{scrkernel-letterclassoptions.dtx}{lco,KOMAold,head}% + \from{scrkernel-letterclassoptions.dtx}{lco,KOMAold,body}% + \from{scrkernel-notepaper.dtx}{lco,KOMAold,body}% }% \file{DIN.lco}{% - \from{scrkvers.dtx}{trace}% - \from{scrklco.dtx}{lco,DIN,head}% - \ifbeta\from{scrbeta.dtx}{DIN,lco}\fi - \from{scrklco.dtx}{lco,DIN,body}% + \from{scrkernel-version.dtx}{trace}% + \from{scrkernel-letterclassoptions.dtx}{lco,DIN,head}% + \from{scrkernel-letterclassoptions.dtx}{lco,DIN,body}% }% \file{DINmtext.lco}{% - \from{scrkvers.dtx}{trace}% - \from{scrklco.dtx}{lco,DINmoretext,head}% - \ifbeta\from{scrbeta.dtx}{DINmoretext,lco}\fi - \from{scrklco.dtx}{lco,DINmoretext,body}% + \from{scrkernel-version.dtx}{trace}% + \from{scrkernel-letterclassoptions.dtx}{lco,DINmoretext,head}% + \from{scrkernel-letterclassoptions.dtx}{lco,DINmoretext,body}% }% \file{SN.lco}{% - \from{scrkvers.dtx}{trace}% - \from{scrklco.dtx}{lco,SN,head}% - \ifbeta\from{scrbeta.dtx}{SN,lco}\fi - \from{scrklco.dtx}{lco,SN,body}% + \from{scrkernel-version.dtx}{trace}% + \from{scrkernel-letterclassoptions.dtx}{lco,SN,head}% + \from{scrkernel-letterclassoptions.dtx}{lco,SN,body}% }% \file{SNleft.lco}{% - \from{scrkvers.dtx}{trace}% - \from{scrklco.dtx}{lco,SwissLeft,head}% - \ifbeta\from{scrbeta.dtx}{SwissLeft,lco}\fi - \from{scrklco.dtx}{lco,SwissLeft,body}% + \from{scrkernel-version.dtx}{trace}% + \from{scrkernel-letterclassoptions.dtx}{lco,SwissLeft,head}% + \from{scrkernel-letterclassoptions.dtx}{lco,SwissLeft,body}% }% \file{NF.lco}{% - \from{scrkvers.dtx}{trace}% - \from{scrklco.dtx}{lco,NF,head}% - \ifbeta\from{scrbeta.dtx}{NF,lco}\fi - \from{scrklco.dtx}{lco,NF,body}% + \from{scrkernel-version.dtx}{trace}% + \from{scrkernel-letterclassoptions.dtx}{lco,NF,head}% + \from{scrkernel-letterclassoptions.dtx}{lco,NF,body}% }% -}% - -\generate{\usepreamble\defaultpreamble -% \file{USletter2w.lco}{% -% \from{scrkvers.dtx}{trace}% -% \from{scrklco.dtx}{lco,USletter2w,head}% -% \ifbeta\from{scrbeta.dtx}{USletter2w,lco}\fi -% \from{scrklco.dtx}{lco,USletter2w,body}% -% }% \file{UScommercial9.lco}{% - \from{scrkvers.dtx}{trace}% - \from{scrklco.dtx}{lco,UScommercial9,head}% - \from{scrbeta.dtx}{UScommercial9,betarelease,lco}% It's still beta! - \from{scrklco.dtx}{lco,UScommercial9,body}% + \from{scrkernel-version.dtx}{trace}% + \from{scrkernel-letterclassoptions.dtx}{lco,UScommercial9,head}% + \from{scrkernel-letterclassoptions.dtx}{lco,UScommercial9,body}% }% \file{UScommercial9DW.lco}{% - \from{scrkvers.dtx}{trace}% - \from{scrklco.dtx}{lco,UScommercial9DW,head}% - \from{scrbeta.dtx}{UScommercial9DW,betarelease,lco}% It's still beta! - \from{scrklco.dtx}{lco,UScommercial9DW,body}% + \from{scrkernel-version.dtx}{trace}% + \from{scrkernel-letterclassoptions.dtx}{lco,UScommercial9DW,head}% + \from{scrkernel-letterclassoptions.dtx}{lco,UScommercial9DW,body}% }% -} +}% + +% \generate{\usepreamble\defaultpreamble +% \file{USletter2w.lco}{% +% \from{scrkernel-version.dtx}{trace}% +% \from{scrkernel-letterclassoptions.dtx}{lco,USletter2w,head}% +% \from{scrkernel-letterclassoptions.dtx}{lco,USletter2w,body}% +% }% +% } \generate{\usepreamble\defaultpreamble \file{NipponEL.lco}{% - \from{scrkvers.dtx}{trace}% + \from{scrkernel-version.dtx}{trace}% \from{japanlco.dtx}{lco,Ni,EARLY,LOW,head}% - \ifbeta\from{scrbeta.dtx}{KOMAold,lco}\fi \from{japanlco.dtx}{lco,Ni,EARLY,LOW,body}% }% \file{NipponEH.lco}{% - \from{scrkvers.dtx}{trace}% + \from{scrkernel-version.dtx}{trace}% \from{japanlco.dtx}{lco,Ni,EARLY,HIGH,head}% - \ifbeta\from{scrbeta.dtx}{KOMAold,lco}\fi \from{japanlco.dtx}{lco,Ni,EARLY,HIGH,body}% }% \file{NipponLL.lco}{% - \from{scrkvers.dtx}{trace}% + \from{scrkernel-version.dtx}{trace}% \from{japanlco.dtx}{lco,Ni,LATE,LOW,head}% - \ifbeta\from{scrbeta.dtx}{KOMAold,lco}\fi \from{japanlco.dtx}{lco,Ni,LATE,LOW,body}% }% \file{NipponLH.lco}{% - \from{scrkvers.dtx}{trace}% + \from{scrkernel-version.dtx}{trace}% \from{japanlco.dtx}{lco,Ni,LATE,HIGH,head}% - \ifbeta\from{scrbeta.dtx}{KOMAold,lco}\fi \from{japanlco.dtx}{lco,Ni,LATE,HIGH,body}% }% \file{NipponRL.lco}{% - \from{scrkvers.dtx}{trace}% + \from{scrkernel-version.dtx}{trace}% \from{japanlco.dtx}{lco,Ni,RIGHT,LOW,head}% - \ifbeta\from{scrbeta.dtx}{KOMAold,lco}\fi \from{japanlco.dtx}{lco,Ni,RIGHT,LOW,body}% }% \file{KakuLL.lco}{% - \from{scrkvers.dtx}{trace}% + \from{scrkernel-version.dtx}{trace}% \from{japanlco.dtx}{lco,Kaku,LATE,LOW,head}% - \ifbeta\from{scrbeta.dtx}{KOMAold,lco}\fi \from{japanlco.dtx}{lco,Kaku,LATE,LOW,body}% }% }% -\generate{\usepreamble\defaultpreamble - \file{typearea.sty}{% - \ifbeta\from{scrbeta.dtx}{package,typearea}\fi - \from{scrkvers.dtx}{package,typearea}% - \from{scrktare.dtx}{package,identify}% - \from{scrkbase.dtx}{load}% - \from{scrktare.dtx}{package,option}% - \from{scrkcomp.dtx}{package,typearea,option}% - \from{scrktare.dtx}{package,body}% - \from{scrkcomp.dtx}{package,typearea,body}% - \from{scrlogo.dtx}{logo}% - }% -} - %\generate{\usepreamble\defaultpreamble % \file{scrhack.tex}{% % \from{scrhack.dtx}{manual}% @@ -403,95 +362,35 @@ %} \generate{\usepreamble\defaultpreamble - \file{scrhack.sty}{% - \ifbeta\from{scrbeta.dtx}{package,scrhack}\fi - \from{scrkvers.dtx}{package,scrhack}% - \from{scrhack.dtx}{package,identify}% - \from{scrkbase.dtx}{load}% - \from{scrhack.dtx}{package,option}% - \from{scrhack.dtx}{package,body}% - \from{scrlogo.dtx}{logo}% - }% - \file{hyperref.hak}{% - \from{scrkvers.dtx}{file,hyperref.hak}% - \from{scrhack.dtx}{hack,hyperref,identify}% - \from{scrhack.dtx}{hack,hyperref,body}% - }% - \file{float.hak}{% - \from{scrkvers.dtx}{file,float.hak}% - \from{scrhack.dtx}{hack,float,identify}% - \from{scrhack.dtx}{hack,float,body}% - }% - \file{floatrow.hak}{% - \from{scrkvers.dtx}{file,floatrow.hak}% - \from{scrhack.dtx}{hack,floatrow,identify}% - \from{scrhack.dtx}{hack,floatrow,body}% - }% - \file{listings.hak}{% - \from{scrkvers.dtx}{file,listings.hak}% - \from{scrhack.dtx}{hack,listings,identify}% - \from{scrhack.dtx}{hack,listings,body}% - }% -} - -\generate{\usepreamble\defaultpreamble - \file{scrtime.sty}{% - \ifbeta\from{scrbeta.dtx}{package,scrtime}\fi - \from{scrkvers.dtx}{package,scrtime}% - \from{scrtime.dtx}{package,scrtime,identify}% - \from{scrkbase.dtx}{load}% - \from{scrtime.dtx}{package,scrtime,option}% - \from{scrtime.dtx}{package,scrtime,body}% - \from{scrlogo.dtx}{logo}% - } % - \file{scrdate.sty}{% - \ifbeta\from{scrbeta.dtx}{package,scrdate}\fi - \from{scrkvers.dtx}{package,scrdate}% - \from{scrtime.dtx}{package,scrdate,identify}% - \from{scrkbase.dtx}{load}% - \from{scrtime.dtx}{package,scrdate,option}% - \from{scrtime.dtx}{package,scrdate,body}% - \from{scrlogo.dtx}{logo}% - } % -} - -\generate{\usepreamble\defaultpreamble - \file{scrbase.sty}{% - \ifbeta\from{scrbeta.dtx}{package,scrbase}\fi - \from{scrkvers.dtx}{package,scrbase}% - \from{scrkbase.dtx}{package,option,base}% - \from{scrklang.dtx}{package,option,base}% - \from{scrlfile.dtx}{load}% - \from{scrkbase.dtx}{package,body,base}% - \from{scrklang.dtx}{package,body,base}% - \from{scrlogo.dtx}{logo}% - }% -} - -\generate{\usepreamble\defaultpreamble \file{scrkbase.sty}{% - \ifbeta\from{scrbeta.dtx}{package,scrkbase}\fi - \from{scrkvers.dtx}{package,scrkbase}% - \from{scrkbase.dtx}{package,option,koma}% - \from{scrkfont.dtx}{package,option,scrkbase}% + \from{scrkernel-version.dtx}{package,scrkbase}% + \from{scrkernel-basics.dtx}{package,option,koma}% + \from{scrkernel-fonts.dtx}{package,option,scrkbase}% \from{scrlfile.dtx}{load}% - \from{scrkbase.dtx}{package,body,koma}% - \from{scrkfont.dtx}{package,body,scrkbase}% + \from{scrkernel-basics.dtx}{package,body,koma}% + \from{scrkernel-fonts.dtx}{package,body,scrkbase}% \from{scrlogo.dtx}{logo}% }% } -\batchinput{scrlfile.ins} -\batchinput{scraddr.ins} -\batchinput{scrpage.ins} -\batchinput{scrlettr.ins} +% --- additional package batches (maybe used with other classes, too) -- + +\batchinput{scrkernel-typearea.dtx}% typearea.sty +\batchinput{scrkernel-basics.dtx}% scrbase.sty +\batchinput{scrhack.dtx}% scrhack.sty and the hak files +\batchinput{scrtime.dtx}% scrtime.sty, scrdate.sty +\batchinput{scrlfile.dtx}% scrlfile.sty +\batchinput{scraddr.dtx}% scraddr.sty +\batchinput{scrpage.dtx}% scrpage2.sty +\batchinput{tocbasic.dtx}% tocbasic.sty +\batchinput{scrlayer.dtx}% scrlayer.sty, scrlayer-scrpage.sty ... % ---------- end of docstrip process ----------------------------------- -\def\idocfiles{`scrsource.tex'} \@@input scrstrop.inc -\endinput +\endbatchfile + % % end of file `scrmain.ins' %%% Local Variables: diff --git a/Master/texmf-dist/source/latex/koma-script/scrpage.dtx b/Master/texmf-dist/source/latex/koma-script/scrpage.dtx index 29bff3feefd..c74023d6c8b 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrpage.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrpage.dtx @@ -1,8 +1,8 @@ -% \CheckSum{2695} +% \CheckSum{2384} % \iffalse % ====================================================================== % scrpage.dtx -% Copyright (c) Markus Kohm, 1995-2012 +% Copyright (c) Markus Kohm, 1995-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -20,7 +20,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrpage.dtx -% Copyright (c) Markus Kohm, 1995-2012 +% Copyright (c) Markus Kohm, 1995-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -55,281 +55,70 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scrpage.dtx +%%% From File: $Id: scrpage.dtx 1547 2013-12-14 17:23:38Z mjk $ +%<scrpage>\NeedsTeXFormat{LaTeX2e}[1995/06/01] +%<*driver> +\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ProvidesFile{scrpage.dtx}[% +%</driver> +%<*driver|scrpage> +%<scrpage>\ProvidesPackage{scrpage2}[% +%!KOMAScriptVersion + package (page head and foot)] +%</driver|scrpage> %<*dtx> -\ProvidesFile{scrpage.dtx} +\ifx\documentclass\undefined + \input scrdocstrip.tex + \@@input scrkernel-version.dtx + \@@input scrstrip.inc + \KOMAdefVariable{COPYRIGHFROM}{1995} + \generate{\usepreamble\defaultpreamble + \file{scrpage2.sty}{% + \from{scrpage.dtx}{scrpage,v2}% + \from{scrlogo.dtx}{logo}% + }% + } + \@@input scrstrop.inc +\else + \let\endbatchfile\relax +\fi +\endbatchfile %</dtx> -%<scrpage>\NeedsTeXFormat{LaTeX2e}[1995/06/01] -%<driver> \ProvidesFile{scrpage.drv} -%<*scrpage> -%<v1>\ProvidesPackage{scrpage}[2008/02/29 v1.3e KOMA-Script -%<v2>\ProvidesPackage{scrpage2} -%<*!v1> - [2010/04/22 v2.5 LaTeX2e KOMA-Script -%</!v1> -%<scrpage> package] %<*driver> - driver] \documentclass{scrdoc} -\usepackage{scrpage2} \usepackage[german,english]{babel} \usepackage[latin1]{inputenc} \CodelineIndex \RecordChanges \GetFileInfo{scrpage.dtx} -\title{The \textsf{KOMA}-pagestyle-package\thanks{This file has +\title{\KOMAScript{} \partname\ \texttt{\filename}\thanks{This file has version number \fileversion, last revised \filedate.}} -\renewpagestyle{headings}{(\textwidth,1pt)% - {\headmark\hfill}{\hfill\headmark}{\hfill\headmark\hfill}% - (\textwidth,.4pt)}% -{(\textwidth,.4pt)% - {\pagemark\hfill% - Copyright \copyright\ Markus Kohm, 1994--2002}% - {Package \texttt{scrpage}\hfill\pagemark}% - {\rlap{Package \texttt{scrpage}}\hfill% - Copyright \copyright\ Markus Kohm, 1994--2002\hfill% - \llap\pagemark}% - (\textwidth,1pt)} -\renewpagestyle{plain}{(\textwidth,1pt)% - {\hfill}{\hfill}{\hfill}% - (\textwidth,.4pt)}% -{(\textwidth,.4pt)% - {\pagemark\hfill}% - {\hfill\pagemark}% - {\hfill\pagemark\hfill}% - (\textwidth,1pt)} -\pagestyle{headings} +\date{\filedate} +\author{Markus Kohm} \begin{document} \maketitle - \begin{abstract} - This is \texttt{scrpage.sty}. This obsolete package is part of the - \textsf{KOMA}-script-bundle. It defines a new user-interface for - pagestyle-definition. It's something like \texttt{fancyheadings} but not - the same. You may use \texttt{scrpage} or \texttt{fancyhdr}. You may - use \texttt{scrpage} with standard classes, too. Note: Package - \texttt{scrpage} was replaced by package \texttt{scrpage2}. The manual for - package \texttt{scrpage2} is part of the \KOMAScript{} guide. - \end{abstract} \tableofcontents - \DocInput{scrpage.dtx} + \DocInput{\filename} \end{document} %</driver> % \fi % -% \section{Introduction} -% -% There is a simple user-interface and a expert-interface. Using the -% user-interface you can define a lot of different pagestyles. But there are -% combinations, you cannot define. Using the expert-interface you can do -% allmost all you may ever want. To do more, you should learn more about -% defining macros yourself. -% -% -% \subsection{Interface for all users} -% -% \DescribeMacro -% \headfont\\ -% This font is used to write page heads and foots. You may change it using -% |\renewcommand|, e.g. |\renewcommand\headfont{\normalfont\slshape}|. -% -% \DescribeMacro -% \footfont\\ -% This font is used to write page foots different from page heads. You may -% change it using |\renewcommand|, -% e.g. |\renewcommand\footfont{\normalfont\slshape}|. Only availabe at -% \texttt{scrpage2}. -% -% \DescribeMacro -% \headmark\\ -% Using \texttt{twoside}-option this is |\leftmark| at left/even pages and -% |\rightmark| at right/odd pages. Using \texttt{oneside}-option there are -% only right pages, so it is |\rightmark|. -% -% \DescribeMacro -% \pnumfont\\ -% This font is used to write pagenumbers at |\pagemark|. You may change it -% using |\renewcommand| (see |\headfont|). -% -% \DescribeMacro -% \pagemark\\ -% This is the number of the actual page written with |\pnumfont|. -% -% \DescribeMacro\deftripstyle -% \DescribeMacro\deftripstyle* -% The command \cs{deftripstyle}\marg{name}\oarg{olw}\oarg{ilw}% -% \marg{headleft}\marg{headmiddle}\marg{headright}% -% \marg{footleft}\marg{footmiddle}\marg{footright} -% defines a new pagestyle. You can activate this pagestyle using -% |\pagestyle| or |\thispagestyle|. Without optional argument this defines a -% page like this: -% \begin{center}\unitlength1mm\begin{picture}(120,82) -% \put(0,0){\dashbox{2}(58,82){\nobreakspace}} -% \put(1,78){\makebox(0,0)[l]{\emph{headright}}} -% \put(29,78){\makebox(0,0){\emph{headmiddle}}} -% \put(57,78){\makebox(0,0)[r]{\emph{headleft}}} -% \put(29,41){\makebox(0,0){left page}} -% \put(1,3){\makebox(0,0)[l]{\emph{footright}}} -% \put(29,3){\makebox(0,0){\emph{footmiddle}}} -% \put(57,3){\makebox(0,0)[r]{\emph{footleft}}} -% \put(60,0){\dashbox{2}(58,82){\nobreakspace}} -% \put(61,78){\makebox(0,0)[l]{\emph{headleft}}} -% \put(89,78){\makebox(0,0){\emph{headmiddle}}} -% \put(117,78){\makebox(0,0)[r]{\emph{headright}}} -% \put(89,41){\makebox(0,0){right page}} -% \put(61,3){\makebox(0,0)[l]{\emph{footleft}}} -% \put(89,3){\makebox(0,0){\emph{footmiddle}}} -% \put(117,3){\makebox(0,0)[r]{\emph{footright}}} -% \end{picture}\end{center} -% Using one optional argument \oarg{ilw} (means \emph{i}nner \emph{l}ine -% \emph{w}idth) you get a separationline between head and text and between -% text and foot like this (\emph{ilw}=0.5pt): -% \begin{center}\unitlength1mm\begin{picture}(120,82) -% \put(0,0){\dashbox{2}(58,82){\nobreakspace}} -% \put(1,78){\makebox(0,0)[l]{\emph{headright}}} -% \put(29,78){\makebox(0,0){\emph{headmiddle}}} -% \put(57,78){\makebox(0,0)[r]{\emph{headleft}}} -% \put(1,76){\rule{56\unitlength}{0.5pt}} -% \put(29,41){\makebox(0,0){left page}} -% \put(1,5){\rule{56\unitlength}{0.5pt}} -% \put(1,3){\makebox(0,0)[l]{\emph{footright}}} -% \put(29,3){\makebox(0,0){\emph{footmiddle}}} -% \put(57,3){\makebox(0,0)[r]{\emph{footleft}}} -% \put(60,0){\dashbox{2}(58,82){\nobreakspace}} -% \put(61,78){\makebox(0,0)[l]{\emph{headleft}}} -% \put(89,78){\makebox(0,0){\emph{headmiddle}}} -% \put(117,78){\makebox(0,0)[r]{\emph{headright}}} -% \put(61,76){\rule{56\unitlength}{0.5pt}} -% \put(89,41){\makebox(0,0){right page}} -% \put(61,5){\rule{56\unitlength}{0.5pt}} -% \put(61,3){\makebox(0,0)[l]{\emph{footleft}}} -% \put(89,3){\makebox(0,0){\emph{footmiddle}}} -% \put(117,3){\makebox(0,0)[r]{\emph{footright}}} -% \end{picture}\end{center} -% Using both optional arguments \oarg{olw} (means \emph{o}uter \emph{l}ine -% \emph{w}idth) and \oarg{ilw} you get a separationline between head and -% text and between text and foot and a line above head and below foot like -% this (\emph{olw}=2pt, \emph{ilw}=0.5pt): -% \begin{center}\unitlength1mm\begin{picture}(120,82) -% \put(0,0){\dashbox{2}(58,82){\nobreakspace}} -% \put(1,80){\rule{56\unitlength}{2pt}} -% \put(1,78){\makebox(0,0)[l]{\emph{headright}}} -% \put(29,78){\makebox(0,0){\emph{headmiddle}}} -% \put(57,78){\makebox(0,0)[r]{\emph{headleft}}} -% \put(1,76){\rule{56\unitlength}{0.5pt}} -% \put(29,41){\makebox(0,0){left page}} -% \put(1,5){\rule{56\unitlength}{0.5pt}} -% \put(1,3){\makebox(0,0)[l]{\emph{footright}}} -% \put(29,3){\makebox(0,0){\emph{footmiddle}}} -% \put(57,3){\makebox(0,0)[r]{\emph{footleft}}} -% \put(1,1){\rule{56\unitlength}{2pt}} -% \put(60,0){\dashbox{2}(58,82){\nobreakspace}} -% \put(61,80){\rule{56\unitlength}{2pt}} -% \put(61,78){\makebox(0,0)[l]{\emph{headleft}}} -% \put(89,78){\makebox(0,0){\emph{headmiddle}}} -% \put(117,78){\makebox(0,0)[r]{\emph{headright}}} -% \put(61,76){\rule{56\unitlength}{0.5pt}} -% \put(89,41){\makebox(0,0){right page}} -% \put(61,5){\rule{56\unitlength}{0.5pt}} -% \put(61,3){\makebox(0,0)[l]{\emph{footleft}}} -% \put(89,3){\makebox(0,0){\emph{footmiddle}}} -% \put(117,3){\makebox(0,0)[r]{\emph{footright}}} -% \put(61,1){\rule{56\unitlength}{2pt}} -% \end{picture}\end{center} -% -% You can define new pagestyles and you can redefine existing pagestyles. If -% you redefine an active pagestyle, this doesn't change the actual shown -% pagestyle. To activate you have to use always a |\pagestyle|- or -% |\thispagestyle|-command. -% -% You can change the standard pagestyle \texttt{headings} to. If you want to -% change pagestyle \texttt{myheadings}, you should use the star-version of -% the command:\\ -% \cs{deftripstyle*}\marg{name}\oarg{olw}\oarg{ilw}% -% \marg{headleft}\marg{headmiddle}\marg{headright}% -% \marg{footleft}\marg{footmiddle}\marg{footright} -% this defines a my-version pagestyle. This means, section- and -% chapter-commands or perhaps |\tableofcontents| don't change the -% marks. Only |\markboth| and |\markright| change them. But if you don't -% use |\headmark|, |\leftmark| or |\rightmark|, star- and starless version -% of |\deftripstyle| are almost the same. -% -% -% \subsection{Interface for experts} -% -% \DescribeMacro\defpagestyle -% Command -% \cs{defpagestyle}\marg{name}\marg{head-definition}\marg{foot-definition} -% defines a new pagestyle \emph{name}. \emph{head-definition} defines the head -% at the new pagestyle. It contains five parts: -% \begin{flushleft} -% (\emph{toplinelength},\emph{toplinewidth})\\% -% \marg{evenpagehead}\marg{oddpagehead}\marg{onesidepagehead}\\% -% (\emph{headseplinelength},\emph{headseplinewidth})\\ -% \end{flushleft} -% These five parts have to be \textbf{one} argument! So you should put them -% together in group-braces (``|{|'' and ``|}|''). -% -% \emph{foot-definition} analogous defines the foot at the new pagestyle. -% -% \DescribeMacro\newpagestyle -% Command -% \cs{newpagestyle}\marg{name}\marg{head-definition}\marg{foot-definition} -% defines a real new pagestyle. If there's already a pagestyle named -% \emph{name}, you'll get an error. Otherwise it's the same like -% |\defpagestyle|. -% -% \DescribeMacro\renewpagestyle -% Command -% \cs{renewpagestyle}\marg{name}\marg{head-definition}\marg{foot-definition} -% redefines a old pagestyle. If there isn't a pagestyle named \emph{name}, -% you'll get an error. Otherwise it's the same like |\defpagestyle|. -% -% \DescribeMacro\providepagestyle -% Command -% \cs{providepagestyle}\marg{name}\marg{head-definition}\marg{foot-definition} -% defines a new pagestyle, if it is realy new. If there is already a pagestyle -% named \emph{name}, it does nothing (but writing an info to the log -% file). Otherwise it's the same like |\defpagestyle|. -% -% You may use the user-interface-macros |\pagemark| and |\headmark|, too. -% -% -% \subsection{Configuration file} -% There's a configuration file \texttt{scrpage.cfg}, included at the end -% of \texttt{scrpage.sty}, if it exists. There you can define your own -% default pagestyles using all the commands above. -% -% -% \subsection{Example} -% The pagestyles of this documentation was defined using: -% \begin{verbatim} -% \renewpagestyle{headings}{(\textwidth,1pt)% -% {\headmark\hfill}{\hfill\headmark}{\hfill\headmark\hfill}% -% (\textwidth,.4pt)}% -% {(\textwidth,.4pt)% -% {\pagemark\hfill% -% Copyright \copyright\ Markus Kohm, 1994--2002}% -% {Package \texttt{scrpage}\hfill\pagemark}% -% {\rlap{Package \texttt{scrpage}}\hfill% -% Copyright \copyright\ Markus Kohm, 1994--2002\hfill% -% \llap\pagemark}% -% (\textwidth,1pt)} -% \renewpagestyle{plain}{(\textwidth,1pt)% -% {\hfill}{\hfill}{\hfill}% -% (\textwidth,.4pt)}% -% {(\textwidth,.4pt)% -% {\pagemark\hfill}% -% {\hfill\pagemark}% -% {\hfill\pagemark\hfill}% -% (\textwidth,1pt)} -% \pagestyle{headings} % activate new version -% \end{verbatim} +% \section{Page Layout Package} % +% This is the \KOMAScript{} package \textsf{scrpage2}. You may find the user +% documentation of this package in the English \KOMAScript{} guide, +% \texttt{scrguien.pdf}, and in the German \KOMAScript{} guide, +% \texttt{scrguide.pdf}. % % \StopEventually{\PrintIndex\PrintChanges} % % \section{Implementation} % +% Currently this package doesn't share any code but the \KOMAScript{} logo +% with other packages. So all the code of this package but the implementation +% of the \KOMAScript{} logo is at this file and their is nor more code at this +% file. +% % \begin{macrocode} %<*scrpage> % \end{macrocode} @@ -338,19 +127,17 @@ % % \subsection{Options} % \begin{option}{headinclude} -% \changes{v2.3}{2008/12/08}{obsolete} +% \changes{v2.3}{2008/12/08}{obsolete}% % \begin{option}{headexclude} -% \changes{v2.3}{2008/12/08}{obsolete} +% \changes{v2.3}{2008/12/08}{obsolete}% % \begin{option}{footinclude} -% \changes{v2.3}{2008/12/08}{obsolete} +% \changes{v2.3}{2008/12/08}{obsolete}% % \begin{option}{footexclude} -% \changes{v2.3}{2008/12/08}{obsolete} -% \texttt{scrpage} knows some options. They are similar to the -% \textsf{KOMA}-script-classes. To work with and without -% the \textsf{KOMA}-script-classes their definitions are not quite simple. -% +% \changes{v2.3}{2008/12/08}{obsolete}% +% \texttt{scrpage} has known some options. They are similar to the +% old \KOMAScript{} classes. To work with and without the \KOMAScript{} +% classes their definitions are not quite simple. % \begin{macrocode} -%<*v2> \newcommand*{\@Pass@Obsolete@Option@To@Typearea}[1]{% \@expandtwoargs\in@{,\CurrentOption,}{,\@curroptions,}% \ifin@ @@ -369,22 +156,17 @@ \fi \fi } -%</v2> \DeclareOption{headinclude}{% -%<v1> \PassOptionsToPackage{headinclude}{typearea}% -%<v2> \@Pass@Obsolete@Option@To@Typearea{headinclude}% + \@Pass@Obsolete@Option@To@Typearea{headinclude}% } \DeclareOption{headexclude}{% -%<v1> \PassOptionsToPackage{headexclude}{typearea}% -%<v2> \@Pass@Obsolete@Option@To@Typearea{headinclude=false}% + \@Pass@Obsolete@Option@To@Typearea{headinclude=false}% } \DeclareOption{footinclude}{% -%<v1> \PassOptionsToPackage{footinclude}{typearea}% -%<v2> \@Pass@Obsolete@Option@To@Typearea{footinclude}% + \@Pass@Obsolete@Option@To@Typearea{footinclude}% } \DeclareOption{footexclude}{% -%<v1> \PassOptionsToPackage{footexclude}{typearea}% -%<v2> \@Pass@Obsolete@Option@To@Typearea{footinclude=false}% + \@Pass@Obsolete@Option@To@Typearea{footinclude=false}% } % \end{macrocode} % We do so, because we want so set |headinclude|, |footinclude| by @@ -394,45 +176,41 @@ % \end{option} % \end{option} % -% At version 2 we have additonal options designed for the additional -% interface. -% \begin{macrocode} -%<*v2> -% \end{macrocode} -% \begin{option}{mpinclude} -% \changes{v2.8q}{2002/03/28}{New option} -% \begin{option}{mpexclude} -% \changes{v2.8q}{2002/03/28}{New option} +% We have additional options designed for the additional interface. +% \begin{option}{mpinclude} +% \changes{v2.8q}{2002/03/28}{New option} +% \begin{option}{mpexclude} +% \changes{v2.8q}{2002/03/28}{New option} % There are documents where the head and foot should span not only the % text but also the marginpar. We have an option to do this at % initialization. This option corresponds with the option of package % \texttt{typearea} and the classes. -% \begin{macro}{\if@mincl} -% \begin{macro}{\@mincltrue} -% \begin{macro}{\@minclfalse} -% \changes{v2.2g}{2008/11/19}{Test fixed} +% \begin{macro}{\if@mincl} +% \begin{macro}{\@mincltrue} +% \begin{macro}{\@minclfalse} +% \changes{v2.2g}{2008/11/19}{Test fixed} % \begin{macrocode} \@ifundefined{@mincltrue}{\newif\if@mincl}{} % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} % \begin{macrocode} \DeclareOption{mpinclude}{\@mincltrue} \DeclareOption{mpexclude}{\@minclfalse} % \end{macrocode} -% \end{option} -% \end{option} +% \end{option} +% \end{option} % % Other new options redefine macros, so we have to define them first. -% \begin{macro}{\scr@headabove@linethickness} -% \changes{v2.0}{2001/04/20}{New} -% \begin{macro}{\scr@headbelow@linethickness} -% \changes{v2.0}{2001/03/30}{New} -% \begin{macro}{\scr@footabove@linethickness} -% \changes{v2.0}{2001/04/20}{New} -% \begin{macro}{\scr@footbelow@linethickness} -% \changes{v2.0}{2001/04/20}{New} +% \begin{macro}{\scr@headabove@linethickness} +% \changes{v2.0}{2001/04/20}{New} +% \begin{macro}{\scr@headbelow@linethickness} +% \changes{v2.0}{2001/03/30}{New} +% \begin{macro}{\scr@footabove@linethickness} +% \changes{v2.0}{2001/04/20}{New} +% \begin{macro}{\scr@footbelow@linethickness} +% \changes{v2.0}{2001/04/20}{New} % These macros define the thickness of the line above and below the head % and the foot. % \begin{macrocode} @@ -441,22 +219,22 @@ \newcommand*{\scr@footabove@linethickness}{0pt} \newcommand*{\scr@footbelow@linethickness}{0pt} % \end{macrocode} -% \begin{macro}{\scr@headabove@linelength} -% \changes{v2.0}{2001/04/20}{New} -% \begin{macro}{\scr@headbelow@linelength} -% \changes{v2.0}{2001/04/20}{New} -% \begin{macro}{\scr@footabove@linelength} -% \changes{v2.0}{2001/04/20}{New} -% \begin{macro}{\scr@footbelow@linelength} -% \changes{v2.0}{2001/04/20}{New} -% \begin{macro}{\scrplain@headabove@linelength} -% \changes{v2.0}{2001/04/20}{New} -% \begin{macro}{\scrplain@headbelow@linelength} -% \changes{v2.0}{2001/04/20}{New} -% \begin{macro}{\scrplain@footabove@linelength} -% \changes{v2.0}{2001/04/20}{New} -% \begin{macro}{\scrplain@footbelow@linelength} -% \changes{v2.0}{2001/04/20}{New} +% \begin{macro}{\scr@headabove@linelength} +% \changes{v2.0}{2001/04/20}{New} +% \begin{macro}{\scr@headbelow@linelength} +% \changes{v2.0}{2001/04/20}{New} +% \begin{macro}{\scr@footabove@linelength} +% \changes{v2.0}{2001/04/20}{New} +% \begin{macro}{\scr@footbelow@linelength} +% \changes{v2.0}{2001/04/20}{New} +% \begin{macro}{\scrplain@headabove@linelength} +% \changes{v2.0}{2001/04/20}{New} +% \begin{macro}{\scrplain@headbelow@linelength} +% \changes{v2.0}{2001/04/20}{New} +% \begin{macro}{\scrplain@footabove@linelength} +% \changes{v2.0}{2001/04/20}{New} +% \begin{macro}{\scrplain@footbelow@linelength} +% \changes{v2.0}{2001/04/20}{New} % Because we want to have the ``line definitions'' at one place, we % also define the length of the lines here. We have own length at to % be used at pagestyle \texttt{scrplain}. @@ -470,27 +248,27 @@ \newcommand*{\scrplain@footabove@linelength}{0pt} \newcommand*{\scrplain@footbelow@linelength}{0pt} % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{option}{headtopline} -% \changes{v2.0}{2001/04/20}{New option} -% \begin{option}{headsepline} -% \changes{v2.0}{2001/04/20}{New option} -% \begin{option}{footsepline} -% \changes{v2.0}{2001/04/20}{New option} -% \begin{option}{footbotline} -% \changes{v2.0}{2001/04/20}{New option} -% \begin{option}{plainheadtopline} -% \changes{v2.0}{2001/04/20}{New option} -% \begin{option}{plainheadsepline} -% \changes{v2.0}{2001/04/20}{New option} -% \begin{option}{plainfootsepline} -% \changes{v2.0}{2001/04/20}{New option} -% \begin{option}{plainfootbotline} -% \changes{v2.0}{2001/04/20}{New option} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{option}{headtopline} +% \changes{v2.0}{2001/04/20}{New option} +% \begin{option}{headsepline} +% \changes{v2.0}{2001/04/20}{New option} +% \begin{option}{footsepline} +% \changes{v2.0}{2001/04/20}{New option} +% \begin{option}{footbotline} +% \changes{v2.0}{2001/04/20}{New option} +% \begin{option}{plainheadtopline} +% \changes{v2.0}{2001/04/20}{New option} +% \begin{option}{plainheadsepline} +% \changes{v2.0}{2001/04/20}{New option} +% \begin{option}{plainfootsepline} +% \changes{v2.0}{2001/04/20}{New option} +% \begin{option}{plainfootbotline} +% \changes{v2.0}{2001/04/20}{New option} % The thickness can be set by four simple options: % \begin{macrocode} \DeclareOption{headtopline}{% @@ -518,31 +296,31 @@ \renewcommand*{\scrplain@footbelow@linelength}{\scr@footbelow@linelength} \PassOptionsToPackage{footinclude}{typearea}} % \end{macrocode} -% \end{option} -% \end{option} -% \end{option} -% \end{option} -% \end{option} -% \end{option} -% \end{option} -% \end{option} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{option} +% \end{option} +% \end{option} +% \end{option} +% \end{option} +% \end{option} +% \end{option} +% \end{option} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} % % \begin{macro}{\hfline@adjust} -% \changes{v2.0f}{2001/06/23}{New} +% \changes{v2.0f}{2001/06/23}{New} % \begin{option}{ilines} -% \changes{v2.0f}{2001/06/23}{New} +% \changes{v2.0f}{2001/06/23}{New} % \begin{option}{clines} -% \changes{v2.0f}{2001/06/23}{New} +% \changes{v2.0f}{2001/06/23}{New} % \begin{option}{olines} -% \changes{v2.0f}{2001/06/23}{New} +% \changes{v2.0f}{2001/06/23}{New} % At Version 2 lines may be inner adjusted (0), centered (1) or outer % adjusted (2): % \begin{macrocode} @@ -556,13 +334,13 @@ % \end{option} % \end{macro} % -% \begin{option}{automark} -% \changes{v2.0b}{2001/05/31}{use \cs{AtEndOfPackage} to run not yet -% defined macro} -% \begin{option}{manualmark} -% \changes{v2.0b}{2001/05/31}{use \cs{AtEndOfPackage} to run not yet -% defined macro} -% \changes{v2.0i}{2001/08/17}{don't ignore oneside any longer} +% \begin{option}{automark} +% \changes{v2.0b}{2001/05/31}{use \cs{AtEndOfPackage} to run not yet +% defined macro} +% \begin{option}{manualmark} +% \changes{v2.0b}{2001/05/31}{use \cs{AtEndOfPackage} to run not yet +% defined macro} +% \changes{v2.0i}{2001/08/17}{don't ignore oneside any longer} % At version 2 we want to distinguish between running headline and % static headline not only using different pagestyles. We do this with % options and commands. But here only the options are defined. @@ -576,26 +354,26 @@ \fi}} \DeclareOption{manualmark}{\AtEndOfPackage{\manualmark}} % \end{macrocode} -% \end{option} -% \end{option} +% \end{option} +% \end{option} % -% \begin{option}{autoonesize} -% \changes{v2.0i}{2001/08/17}{New} -% \begin{macro}{if@autooneside} -% \changes{v2.0i}{2001/08/17}{New} +% \begin{option}{autoonesize} +% \changes{v2.0i}{2001/08/17}{New} +% \begin{macro}{\if@autooneside} +% \changes{v2.0i}{2001/08/17}{New} % If the optional argument of \cs{automark} should be irgnored at % onside mode, use this option: % \begin{macrocode} \newif\if@autooneside\@autoonesidefalse \DeclareOption{autooneside}{\@autoonesidetrue} % \end{macrocode} -% \end{macro} -% \end{option} +% \end{macro} +% \end{option} % -% \begin{option}{markuppercase} -% \changes{v2.0c}{2001/06/07}{New} -% \begin{option}{markusedcase} -% \changes{v2.0c}{2001/06/07}{New} +% \begin{option}{markuppercase} +% \changes{v2.0c}{2001/06/07}{New} +% \begin{option}{markusedcase} +% \changes{v2.0c}{2001/06/07}{New} % For use of running headlines there are also options to say ``class % uses upper case at the automatic marks'' or ``class use same case at % the automatic marks like used writing the heading''. @@ -603,13 +381,13 @@ \DeclareOption{markuppercase}{\let\MakeMarkcase\MakeUppercase} \DeclareOption{markusedcase}{\let\MakeMarkcase\@empty} % \end{macrocode} -% \end{option} -% \end{option} +% \end{option} +% \end{option} % -% \begin{macro}{\scr@nouppercase} -% \changes{v2.0j}{2001/08/18}{New} -% \begin{option}{nouppercase} -% \changes{v2.0j}{2001/08/18}{New} +% \begin{macro}{\scr@nouppercase} +% \changes{v2.0j}{2001/08/18}{New} +% \begin{option}{nouppercase} +% \changes{v2.0j}{2001/08/18}{New} % Sometimes scrpage may be used with a class, which uses % \cs{uppercase} or \cs{MakeUppercase} at \cs{markboth} or % \cs{markright}. But the author does not want upper case at the @@ -629,8 +407,8 @@ \let\MakeMarkcase\@empty \fi} % \end{macrocode} -% \end{option} -% \end{macro} +% \end{option} +% \end{macro} % % \begin{option}{komastyle} % \begin{option}{standardstyle} @@ -648,15 +426,9 @@ % \end{option} % % +% We don't need default options. % \begin{macrocode} -%</v2> -% \end{macrocode} -% -% Set the default options. -% \begin{macrocode} -\ExecuteOptions{% -%<!v2>headinclude,footinclude% -} +\ExecuteOptions{} % \end{macrocode} % But you may set other Options: % \begin{macrocode} @@ -669,8 +441,8 @@ % For easier handling of the differences between article-, report- and % book-classes we define some more switches. % -% \begin{macro}{\if@chapter} -% \changes{v2.1b}{2003/05/31}{more save test} +% \begin{macro}{\if@chapter} +% \changes{v2.1b}{2003/05/31}{more save test} % First distinguish between article and others. % \begin{macrocode} \newif\if@chapter @@ -681,21 +453,20 @@ \@chaptertrue \fi % \end{macrocode} -% \end{macro} +% \end{macro} % -% \begin{macro}{\if@mainmatter} -% \changes{v1.2}{1995/07/08}{Definition changed} -% \changes{v2.1b}{2003/05/31}{more save test} -% \changes{v2.2d}{2007/03/13}{additional \cs{if@mainmatter} test} -% \changes{v2.2g}{2008/11/19}{usage of \cs{if@mainmatter} at message -% removed} +% \begin{macro}{\if@mainmatter} +% \changes{v1.2}{1995/07/08}{Definition changed} +% \changes{v2.1b}{2003/05/31}{more save test} +% \changes{v2.2d}{2007/03/13}{additional \cs{if@mainmatter} test} +% \changes{v2.2g}{2008/11/19}{usage of \cs{if@mainmatter} at message +% removed} % Next distinguish between matter- and nomatter-classes. % \begin{macrocode} \def\@tempa{\newif\if@mainmatter\@mainmattertrue} \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname mainmatter\endcsname\relax \else -%<*v2> \@ifundefined{@mainmattertrue}{% \PackageWarningNoLine{scrpage2}{% \string\mainmatter\space defined without @@ -705,32 +476,31 @@ back matter and will be defined now% }% }{% -%</v2> \let\@tempa\relax -%<v2> }% + }% \fi \@tempa % \end{macrocode} -% \end{macro} +% \end{macro} % % % \subsection{Predefinitions} % There are some commands, you can use at pagestyle-definition. % -% \begin{macro}{\headmark} +% \begin{macro}{\headmark} % This macro is |\rightmark| or |\leftmark|. But outside % pagestyle-definition it's nothing. % \begin{macrocode} \let\headmark\relax % \end{macrocode} -% \end{macro} +% \end{macro} % -% \begin{macro}{\pagemark} +% \begin{macro}{\pagemark} % This macro is the number of the page at the pagenumberfont: % \begin{macrocode} \DeclareRobustCommand\pagemark{{\pnumfont\thepage}} % \end{macrocode} -% \end{macro} +% \end{macro} % % % \subsection{Expert-Pagestyle-Definition-Interface} @@ -738,18 +508,18 @@ % simple interface we'll define later. But it's more flexible. We'll % later use it to define the pagestyle-definition-interface for users. % -% \begin{macro}{\if@automark} -% \changes{v2.1}{2002/10/30}{New switch} -% \begin{macro}{\@automarktrue} -% \begin{macro}{\@automarkfalse} +% \begin{macro}{\if@automark} +% \changes{v2.1}{2002/10/30}{New switch} +% \begin{macro}{\@automarktrue} +% \begin{macro}{\@automarkfalse} % We need this switch to decide to switch on or off \cs{@mkboth} at the % pagestyles. % \begin{macrocode} -%<!v1>\newif\if@automark\@automarkfalse +\newif\if@automark\@automarkfalse % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} % % \begin{macro}{\defpagestyle} % First we define the simple definition-interface. There's no test, if @@ -767,102 +537,26 @@ % \end{macrocode} % \begin{macro}{\@defpagestyle} % Now the we can define the head and the foot. -% \changes{v1.0b}{1995/05/25}{Dot deleted after number at -% chapter- and sectionmark} -% \changes{v1.0b}{1995/05/25}{Use CJK at \cs{chaptermark}, -% \cs{sectionmark} and \cs{subsectionmark}} -% \changes{v1.3e}{2008/02/29}{usage of \cs{if@mainmatter} fixed} -% \changes{v2.0}{2001/04/20}{Version 2 uses \cs{automark} and -% \cs{manualmark}, so star and non-star version are same} -% \changes{v2.1a}{2002/10/30}{Use \cs{if@automark}} -% \changes{v2.2d}{2007/06/14}{Support of article-classes with -% \cs{if@mainmatter}} -% \changes{v2.5}{2010/04/22}{moved \cs{if@twoside} inside of definition} +% \changes{v1.0b}{1995/05/25}{Dot deleted after number at +% chapter- and sectionmark} +% \changes{v1.0b}{1995/05/25}{Use CJK at \cs{chaptermark}, +% \cs{sectionmark} and \cs{subsectionmark}} +% \changes{v1.3e}{2008/02/29}{usage of \cs{if@mainmatter} fixed} +% \changes{v2.0}{2001/04/20}{Version 2 uses \cs{automark} and +% \cs{manualmark}, so star and non-star version are same} +% \changes{v2.1a}{2002/10/30}{Use \cs{if@automark}} +% \changes{v2.2d}{2007/06/14}{Support of article-classes with +% \cs{if@mainmatter}} +% \changes{v2.5}{2010/04/22}{moved \cs{if@twoside} inside of definition} % Before version 2.5 we have distinguished one- and two-side definitions while % loading the package and have had all the definitions of \cs{@mkboth}, % \cs{chaptermark}, \cs{sectionmark}, and \cs{subsectionmark} at the -% definition of the page style. This was a lot of code: -% \begin{macrocode} -%<*v1> -\if@twoside - \def\@defpagestyle[#1]#2#3#4{% - \expandafter\def\csname ps@#2\endcsname{% - \def\@tempa{+}% - \def\@tempb{#1}% - \ifx\@tempa\@tempb - \let\@mkboth\markboth - \if@chapter - \def\chaptermark####1{% - \markboth {\ifnum \c@secnumdepth >\m@ne% - \if@mainmatter\chaptermarkformat\fi\fi ####1}{% - \ifnum \c@secnumdepth >\m@ne% - \if@mainmatter\chaptermarkformat\fi\fi ####1}}% - \def\sectionmark####1{% - \markright {\ifnum \c@secnumdepth >\z@% - \sectionmarkformat\fi ####1}}% - \else - \def\sectionmark####1{% - \markboth {\ifnum \c@secnumdepth >\z@% - \if@mainmatter\sectionmarkformat\fi\fi ####1}{% - \ifnum \c@secnumdepth >\z@% - \if@mainmatter\sectionmarkformat\fi\fi ####1}}% - \def\subsectionmark####1{% - \markright {\ifnum \c@secnumdepth >\@ne% - \subsectionmarkformat\fi ####1}}% - \fi - \else - \let\@mkboth\@gobbletwo - \if@chapter - \def\chaptermark####1{}% - \else - \def\subsectionmark####1{}% - \fi - \def\sectionmark####1{}% - \fi - \def@twosidehead#3 - \def@twosidefoot#4 - } - } -\else - \def\@defpagestyle[#1]#2#3#4{% - \expandafter\def\csname ps@#2\endcsname{% - \def\@tempa{+}% - \def\@tempb{#1}% - \ifx\@tempa\@tempb - \let\@mkboth\markboth - \if@chapter - \def\chaptermark####1{% - \markright {\ifnum \c@secnumdepth >\m@ne% - \if@mainmatter\chaptermarkformat\fi\fi ####1}}% - \def\sectionmark####1{}% - \else - \def\sectionmark####1{% - \markright{\ifnum \c@secnumdepth >\z@% - \if@mainmatter\sectionmarkformat\fi\fi ####1}}% - \def\subsectionmark####1{}% - \fi - \else - \let\@mkboth\@gobbletwo - \if@chapter - \def\chaptermark####1{}% - \else - \def\subsectionmark####1{}% - \fi - \def\sectionmark####1{}% - \fi - \def@onesidehead#3 - \def@onesidefoot#4 - } - } -\fi -%</v1> -% \end{macrocode} +% definition of the page style. % Since version~2.5 the difference of one- and two-side is made at the % definition of the heads and foots themself and \cs{chaptermark}, % \cs{sectionmark}, and \cs{subsectionmark} are defined by \cs{automark} and % \cs{manualmark}. So the code is much easier. % \begin{macrocode} -%<*v2> \def\@defpagestyle[#1]#2#3#4{% \expandafter\def\csname ps@#2\endcsname{% \if@automark\let\@mkboth\markboth\else\let\@mkboth\@gobbletwo\fi @@ -870,119 +564,8 @@ \def@foot#4 }% } -%</v2> -% \end{macrocode} -% \begin{macro}{\def@twosidehead} -% \changes{v2.5}{2010/04/22}{replaced by \cs{\def@head}} -% \begin{macro}{\def@@twosidehead} -% \changes{v1.3}{2001/03/30}{Use of \cs{@headwidth} instead of -% \cs{textwidth}} -% \changes{v2.5}{2010/04/22}{replaced by \cs{\def@@head}} -% \begin{macrocode} -%<*v1> -\def\def@twosidehead(#1,#2)#3#4#5(#6,#7){% - \def\@evenhead{\let\headmark\leftmark% - \hss\hskip\@evenheadshift\vbox{\hsize=\@headwidth\relax% - \hf@rule{#1}{#2}{\@headwidth}% - \vskip#2 - \vskip\baselineskip - \hb@xt@\@headwidth{{% - \headfont\strut #3}}% - \hf@rule{#6}{#7}{\@headwidth}% - }\hskip\@oddheadshift\hss}% - \def\@oddhead{\let\headmark\rightmark - \hss\hskip\@oddheadshift\vbox{\hsize=\@headwidth\relax - \hf@rule{#1}{#2}{\@headwidth}% - \vskip#2% - \vskip\baselineskip - \hb@xt@\@headwidth{{% - \headfont\strut #4}}% - \hf@rule{#6}{#7}{\@headwidth}% - }\hskip\@evenheadshift\hss}% -} -%</v1> -% \end{macro} -% \end{macro} -% \begin{macro}{\def@onesidehead} -% \changes{v1.3}{2001/03/30}{Use of \cmd\@headwidth instead of -% \cs{textwidth}} -% \changes{v2.5}{2010/04/22}{replaced by \cs{\def@head}} -% \begin{macro}{\def@@onesidehead} -% \changes{v2.5}{2010/04/22}{replaced by \cs{\def@@head}} -% \begin{macro}{\def@@@onesidehead} -% \changes{v2.5}{2010/04/22}{replaced by \cs{\def@@@head}} -% Next the onesided head: -% \begin{macrocode} -%<*v1> -\def\def@onesidehead(#1,#2)#3#4#5(#6,#7){% - \def\@evenhead{}% - \def\@oddhead{\let\headmark\rightmark - \hss\hskip\@oddheadshift\vbox{\hsize=\@headwidth\relax - \hf@rule{#1}{#2}{\@headwidth}% - \vskip#2% - \vskip\baselineskip - \hb@xt@\@headwidth{{% - \headfont\strut #5}}% - \hf@rule{#6}{#7}{\@headwidth}% - }\hskip\@evenheadshift\hss}% -} -%</v1> -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \begin{macro}{\def@twosidefoot} -% \changes{v1.3}{2001/03/30}{Use of \cmd\@footwidth instead of -% \cs{textwidth}} -% \changes{v2.5}{2010/04/22}{replaced by \cs{\def@foot}} -% \begin{macro}{\def@@twosidefoot} -% \changes{v2.5}{2010/04/22}{replaced by \cs{\def@@foot}} -% \begin{macro}{\def@@@twosidefoot} -% \changes{v2.5}{2010/04/22}{replaced by \cs{\def@@@foot}} -% Next the twosided foot: -% \begin{macrocode} -%<*v1> -\def\def@twosidefoot(#1,#2)#3#4#5(#6,#7){% - \def\@evenfoot{\let\headmark\leftmark - \hss\hskip\@evenfootshift\vbox{\hsize=\@footwidth\relax - \topfoot@rule{#1}{#2}\hb@xt@\@footwidth{{% - \headfont\footfont\strut #3}}% - \botfoot@rule{#6}{#7}}\hskip\@oddfootshift\hss}% - \def\@oddfoot{\let\headmark\rightmark - \hss\hskip\@oddfootshift\vbox{\hsize=\@footwidth\relax - \topfoot@rule{#1}{#2}\hb@xt@\@footwidth{{% - \headfont\footfont\strut #4}}% - \botfoot@rule{#6}{#7}}\hskip\@evenfootshift\hss}% -} -%</v1> -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \begin{macro}{\def@onesidefoot} -% \changes{v1.3}{2001/03/30}{Use of \cmd\@footwidth instead of -% \cs{textwidth}} -% \changes{v2.5}{2010/04/22}{replaced by \cs{\def@foot}} -% \begin{macro}{\def@@onesidefoot} -% \changes{v2.5}{2010/04/22}{replaced by \cs{\def@@foot}} -% \begin{macro}{\def@@@onesidefoot} -% \changes{v2.5}{2010/04/22}{replaced by \cs{\def@@@foot}} -% \begin{macrocode} -%<*v1> -\def\def@onesidefoot(#1,#2)#3#4#5(#6,#7){% - \def\@evenfoot{}% - \def\@oddfoot{\let\headmark\rightmark - \hss\hskip\@oddfootshift\vbox{\hsize=\@footwidth\relax - \topfoot@rule{#1}{#2}\hb@xt@\@footwidth{{% - \headfont\footfont\strut #5}} - \botfoot@rule{#6}{#7}}\hskip\@evenfootshift\hss}% -} -%</v1> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} - +% % \begin{macro}{\def@head} % \changes{v2.5}{2010/04/22}{new (internal)} % \begin{macro}{\def@@head} @@ -993,7 +576,6 @@ % This was real simple, but we already have to do the real definition % of the heads and foots. First the head: % \begin{macrocode} -%<*v2> \def\def@head{% \@ifnextchar(%) {\def@@head}% @@ -1031,7 +613,6 @@ \hf@rule{#6}{#7}{\@headwidth}{headbelow}% }\hskip\@evenheadshift\hss}% } -%</v2> % \end{macrocode} % \end{macro} % \end{macro} @@ -1049,7 +630,6 @@ % \changes{v2.5}{2010/04/22}{new (internal)} % And last twosided and onesided foot: % \begin{macrocode} -%<*v2> \def\def@foot{% \@ifnextchar(%) {\def@@foot} @@ -1079,7 +659,6 @@ \headfont\footfont\strut \if@twoside #4\else #5\fi}}% \botfoot@rule{#6}{#7}}\hskip\@evenfootshift\hss}% } -%</v2> % \end{macrocode} % \end{macro} % \end{macro} @@ -1087,40 +666,36 @@ % \end{macro} % % We now define the rules used at head and foot. -% \begin{macro}{\topfoot@rule} +% \begin{macro}{\topfoot@rule} % \begin{macrocode} \newcommand\topfoot@rule[2]{% \@tempdima\baselineskip\advance\@tempdima by-.7\normalbaselineskip \advance\@tempdima by -#2 - \vskip\@tempdima\hf@rule{#1}{#2}{\@footwidth}% -%<v2> {footabove}% + \vskip\@tempdima\hf@rule{#1}{#2}{\@footwidth}{footabove}% \vskip-\@tempdima} % \end{macrocode} -% \end{macro} -% \begin{macro}{\botfoot@rule} +% \end{macro} +% \begin{macro}{\botfoot@rule} % \begin{macrocode} \newcommand\botfoot@rule[2]{% \@tempdima-\baselineskip\advance\@tempdima by .3\normalbaselineskip \advance\@tempdima by #2 - \vskip\@tempdima\hf@rule{#1}{#2}{\@footwidth}% -%<v2> {footbelow}% + \vskip\@tempdima\hf@rule{#1}{#2}{\@footwidth}{footbelow}% } % \end{macrocode} -% \end{macro} -% \begin{macro}{\hf@rule} -% \changes{v1.3}{2001/03/30}{New, third parameter ``boxwidth''} -% \changes{v2.0f}{2001/06/23}{Rule can be adjusted at inner margine, -% centered or adjusted at outer margine} -% \changes{v2.2}{2004/07/05}{Last parameter of the rule tells, if it is a -% headabove, headbelow, footabove or footbelow rule} -% \changes{v2.2}{2005/07/05}{Precommands before the rules are allowed} -% \changes{v2.2}{2005/07/05}{Macro is not longer long} -% \changes{v2.2b}{2005/08/31}{No even alignment at oneside} -% \begin{macrocode} -%<!v2>\newcommand\hf@rule[3]{% -%<v2>\newcommand*{\hf@rule}[4]{% +% \end{macro} +% \begin{macro}{\hf@rule} +% \changes{v1.3}{2001/03/30}{New, third parameter ``boxwidth''} +% \changes{v2.0f}{2001/06/23}{Rule can be adjusted at inner margine, +% centered or adjusted at outer margine} +% \changes{v2.2}{2004/07/05}{Last parameter of the rule tells, if it is a +% headabove, headbelow, footabove or footbelow rule} +% \changes{v2.2}{2005/07/05}{Precommands before the rules are allowed} +% \changes{v2.2}{2005/07/05}{Macro is not longer long} +% \changes{v2.2b}{2005/08/31}{No even alignment at oneside} +% \begin{macrocode} +\newcommand*{\hf@rule}[4]{% \setlength{\@tempdimb}{#1} -%<*v2> \begingroup \csname scr@pre@#4@line\endcsname \if@twoside @@ -1134,42 +709,40 @@ \edef\@tempa{\hfline@adjust}% \fi \ifnum\@tempa=1 -%</v2> \setlength{\@tempdimb}{.5\@tempdimb}% -%<v2> \fi + \fi \hb@xt@#3{% -%<v2> \ifnum\@tempa>0 + \ifnum\@tempa>0 \hfill% \llap{\vrule\@depth#2\@height\z@\@width\@tempdimb}% -%<v2> \fi -%<v2> \ifnum\@tempa<2 + \fi + \ifnum\@tempa<2 \rlap{\vrule\@depth#2\@height\z@\@width\@tempdimb}% \hfill% -%<v2> \fi + \fi }% -%<v2> \endgroup + \endgroup } % \end{macrocode} -% \begin{macro}{\scr@pre@headabove@line} -% \changes{v2.2}{2004/07/05}{New internal} -% \begin{macro}{\scr@fnt@headtopline} -% \changes{v2.2}{2004/07/05}{New KOMA-Script font command} -% \begin{macro}{\scr@pre@headbelow@line} -% \changes{v2.2}{2004/07/05}{New internal} -% \begin{macro}{\scr@fnt@headsepline} -% \changes{v2.2}{2004/07/05}{New KOMA-Script font command} -% \begin{macro}{\scr@pre@footabove@line} -% \changes{v2.2}{2004/07/05}{New internal} -% \begin{macro}{\scr@fnt@footsepline} -% \changes{v2.2}{2004/07/05}{New KOMA-Script font command} -% \begin{macro}{\scr@pre@footbelow@line} -% \changes{v2.2}{2004/07/05}{New internal} -% \begin{macro}{\scr@fnt@footbottomrule} -% \changes{v2.2}{2004/07/05}{New KOMA-Script font command} -% \begin{macro}{\scr@fnt@instead@footbotline} -% \changes{v2.2}{2004/07/05}{New KOMA-Script font command} -% \begin{macrocode} -%<*v2> +% \begin{macro}{\scr@pre@headabove@line} +% \changes{v2.2}{2004/07/05}{New internal} +% \begin{macro}{\scr@fnt@headtopline} +% \changes{v2.2}{2004/07/05}{New KOMA-Script font command} +% \begin{macro}{\scr@pre@headbelow@line} +% \changes{v2.2}{2004/07/05}{New internal} +% \begin{macro}{\scr@fnt@headsepline} +% \changes{v2.2}{2004/07/05}{New KOMA-Script font command} +% \begin{macro}{\scr@pre@footabove@line} +% \changes{v2.2}{2004/07/05}{New internal} +% \begin{macro}{\scr@fnt@footsepline} +% \changes{v2.2}{2004/07/05}{New KOMA-Script font command} +% \begin{macro}{\scr@pre@footbelow@line} +% \changes{v2.2}{2004/07/05}{New internal} +% \begin{macro}{\scr@fnt@footbottomrule} +% \changes{v2.2}{2004/07/05}{New KOMA-Script font command} +% \begin{macro}{\scr@fnt@instead@footbotline} +% \changes{v2.2}{2004/07/05}{New KOMA-Script font command} +% \begin{macrocode} \newcommand*{\scr@pre@headabove@line}{} \newcommand*{\scr@fnt@headtopline}{\scr@pre@headabove@line} \newcommand*{\scr@pre@headbelow@line}{} @@ -1179,22 +752,22 @@ \newcommand*{\scr@pre@footbelow@line}{} \newcommand*{\scr@fnt@footbottomline}{\scr@pre@footbelow@line} \newcommand*{\scr@fnt@instead@footbotline}{footbottomline} -%</v2> -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} % % Using these definitions, we can define the testing macros. % -% \begin{macro}{\newpagestyle} +% \begin{macro}{\newpagestyle} % First the simple star/starless-selection: % \begin{macrocode} \def\newpagestyle{% @@ -1205,7 +778,7 @@ {\@newpagestyle[-]}% {\@newpagestyle[+]}} % \end{macrocode} -% \begin{macro}{\@newpagestyle} +% \begin{macro}{\@newpagestyle} % There we have to distinguish, whether the pagestyle is already % defined or not. % \begin{macrocode} @@ -1217,8 +790,7 @@ \@defpagestyle[#1]{#2}{#3}{#4}% \else \PackageError -%<v1> {scrpage}% -%<v2> {scrpage2}% + {scrpage2}% {Your command was ignored}% {There is already a pagestyle named ``#1''.\MessageBreak% Use \protect\defpagestyle\space, \protect\renewpagestyle or @@ -1226,10 +798,10 @@ \fi } % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{macro} +% \end{macro} % -% \begin{macro}{\renewpagestyle} +% \begin{macro}{\renewpagestyle} % First the simple star/starless-selection: % \begin{macrocode} \def\renewpagestyle{% @@ -1240,9 +812,9 @@ {\@renewpagestyle[-]}% {\@renewpagestyle[+]}} % \end{macrocode} -% \begin{macro}{\@renewpagestyle} -% \changes{v1.2a}{1996/12/07}{Avoid to define pagestyle as \cs{relax} -% if it wasn't defined (Thanks to Bernd).} +% \begin{macro}{\@renewpagestyle} +% \changes{v1.2a}{1996/12/07}{Avoid to define pagestyle as \cs{relax} +% if it wasn't defined (Thanks to Bernd).} % There we have to distinguish, whether the pagestyle is already % defined or not. % \begin{macrocode} @@ -1250,8 +822,7 @@ \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname ps@#2\endcsname\relax \PackageError -%<v1> {scrpage}% -%<v2> {scrpage2}% + {scrpage2}% {Your command was ignored}% {There is no pagestyle named ``#1''.\MessageBreak% Use \protect\defpagestyle, \protect\newpagestyle or @@ -1264,10 +835,10 @@ \fi } % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{macro} +% \end{macro} % -% \begin{macro}{\providepagestyle} +% \begin{macro}{\providepagestyle} % First the simple star/starless-selection: % \begin{macrocode} \def\providepagestyle{% @@ -1278,7 +849,7 @@ {\@providepagestyle[-]}% {\@providepagestyle[+]}} % \end{macrocode} -% \begin{macro}{\@providepagestyle} +% \begin{macro}{\@providepagestyle} % There we have to distinguish, whether the pagestyle is already % defined or not. % \begin{macrocode} @@ -1290,21 +861,20 @@ \@defpagestyle[#1]{#2}{#3}{#4}% \else \PackageInfo -%<v1> {scrpage}% -%<v2> {scrpage2}% + {scrpage2}% {\protect\providepagestyle\protect{#1\protect} ignored.}% \fi } % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{macro} +% \end{macro} % % % \subsection{User-Pagestyle-Definition-Interface} % The pagestyle-definition-interface for users is much easier than the % expert-version. Using the expert-macros, the definition is easy, too. % -% \begin{macro}{\deftripstyle} +% \begin{macro}{\deftripstyle} % \begin{macrocode} % \end{macrocode} % At version 1 we define the selection of star- or starless-version first: @@ -1314,18 +884,18 @@ {\@deftripstyle[-]}% {\@deftripstyle[+]}} % \end{macrocode} -% \end{macro} +% \end{macro} % Next we check, if there is an optional argument: -% \begin{macro}{\@deftripstyle} +% \begin{macro}{\@deftripstyle} % \begin{macrocode} \def\@deftripstyle[#1]#2{% \@ifnextchar[%] {\@@deftripstyle[#1]{#2}}% {\@@deftripstyle[#1]{#2}[\z@]}} % \end{macrocode} -% \end{macro} +% \end{macro} % or perhaps two optional arguments: -% \begin{macro}{\@@deftripstyle} +% \begin{macro}{\@@deftripstyle} % \begin{macrocode} \def\@@deftripstyle[#1]#2[#3]{% % \end{macrocode} @@ -1337,9 +907,9 @@ {\@@@deftripstyle#2[#3]}% {\@@@deftripstyle#2[\z@][#3]}} % \end{macrocode} -% \end{macro} +% \end{macro} % Now the main-definition: -% \begin{macro}{\@@@deftripstyle} +% \begin{macro}{\@@@deftripstyle} % \begin{macrocode} \def\@@@deftripstyle#1[#2][#3]#4#5#6#7#8#9{% \def\@tempb{+}% @@ -1370,32 +940,29 @@ \fi } % \end{macrocode} -% \end{macro} +% \end{macro} % % % \subsection{Automark or not} -% This is only valid at version 2. -% \begin{macrocode} -%<*v2> -% \end{macrocode} -% \begin{macro}{\automark} -% \changes{v2.0}{2001/04/20}{New} -% \changes{v2.0c}{2001/06/07}{Use of \cs{MakeMarkcase}} -% \changes{v2.0g}{2001/06/25}{Use of \cs{manualmark}} -% \changes{v2.0i}{2001/08/17}{Warning, if arguments are mixed up} -% \changes{v2.0i}{2001/08/17}{\cs{markboth} behavior fixed} -% \changes{v2.0i}{2001/08/17}{Use of \cs{if@autooneside}} -% \changes{v2.1a}{2002/10/30}{Switch on \cs{if@automark}} +% This is new since version 2. +% \begin{macro}{\automark} +% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0c}{2001/06/07}{Use of \cs{MakeMarkcase}} +% \changes{v2.0g}{2001/06/25}{Use of \cs{manualmark}} +% \changes{v2.0i}{2001/08/17}{Warning, if arguments are mixed up} +% \changes{v2.0i}{2001/08/17}{\cs{markboth} behavior fixed} +% \changes{v2.0i}{2001/08/17}{Use of \cs{if@autooneside}} +% \changes{v2.1a}{2002/10/30}{Switch on \cs{if@automark}} % This macro activates automatic mark. Is has two arguments. The % first, optional argument is the sectioning level name of the mark at % left pages, the second, not optional argument is the same at right % pages. At oneside mode all pages are right. -% \begin{macro}{\@iflevelok} -% \changes{v2.0i}{2001/08/17}{New} -% \begin{macro}{\markleft} -% \changes{v2.0i}{2001/08/17}{New} -% \begin{macro}{\@markleft} -% \changes{v2.0i}{2001/08/17}{New} +% \begin{macro}{\@iflevelok} +% \changes{v2.0i}{2001/08/17}{New} +% \begin{macro}{\markleft} +% \changes{v2.0i}{2001/08/17}{New} +% \begin{macro}{\@markleft} +% \changes{v2.0i}{2001/08/17}{New} % To define \cs{automark} we also need these three makros. The first % one decides, if level of second parameter is less than level of % first parameter and does then third or fourth parameter. @@ -1423,11 +990,11 @@ \providecommand{\@markleft}[3]{\@temptokena {#2}% \unrestored@protected@xdef\@themark{{#3}{\the\@temptokena}}} % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \changes{v2.2a}{2004/09/05}{all changes of helper macros and switches are -% local to fix e.g.\ twocolumn problem with \cs{part}} +% \end{macro} +% \end{macro} +% \end{macro} +% \changes{v2.2a}{2004/09/05}{all changes of helper macros and switches are +% local to fix e.g.\ twocolumn problem with \cs{part}} % \begin{macrocode} \newcommand*{\automark}[2][\@empty]{% \manualmark @@ -1510,12 +1077,12 @@ \let\@mkboth\markboth } % \end{macrocode} -% \end{macro} +% \end{macro} % -% \begin{macro}{\manualmark} -% \changes{v2.0}{2001/04/20}{New} -% \changes{v2.0g}{2001/06/25}{also deactivating \cs{...mark}} -% \changes{v2.1a}{2002/10/30}{Switch off \cs{if@automark}} +% \begin{macro}{\manualmark} +% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0g}{2001/06/25}{also deactivating \cs{...mark}} +% \changes{v2.1a}{2002/10/30}{Switch off \cs{if@automark}} % This macro switchs to the manual set of marks (using \cs{markboth} % and \cs{markright}. This is very simple, we only have to deaktivate % the mark macros. @@ -1531,23 +1098,23 @@ \@automarkfalse } % \end{macrocode} -% \end{macro} -% -% \begin{macro}{\partlevel} -% \changes{v2.2}{2004/07/05}{New} -% \changes{v2.4}{2009/11/11}{part level is always -1} -% \begin{macro}{\chapterlevel} -% \changes{v2.0}{2001/04/20}{New} -% \begin{macro}{\sectionlevel} -% \changes{v2.0}{2001/04/20}{New} -% \begin{macro}{\subsectionlevel} -% \changes{v2.0}{2001/04/20}{New} -% \begin{macro}{\subsubsectionlevel} -% \changes{v2.0}{2001/04/20}{New} -% \begin{macro}{\paragraphlevel} -% \changes{v2.0}{2001/04/20}{New} -% \begin{macro}{\subparagraphlevel} -% \changes{v2.0}{2001/04/20}{New} +% \end{macro} +% +% \begin{macro}{\partlevel} +% \changes{v2.2}{2004/07/05}{New} +% \changes{v2.4}{2009/11/11}{part level is always -1} +% \begin{macro}{\chapterlevel} +% \changes{v2.0}{2001/04/20}{New} +% \begin{macro}{\sectionlevel} +% \changes{v2.0}{2001/04/20}{New} +% \begin{macro}{\subsectionlevel} +% \changes{v2.0}{2001/04/20}{New} +% \begin{macro}{\subsubsectionlevel} +% \changes{v2.0}{2001/04/20}{New} +% \begin{macro}{\paragraphlevel} +% \changes{v2.0}{2001/04/20}{New} +% \begin{macro}{\subparagraphlevel} +% \changes{v2.0}{2001/04/20}{New} % At \cs{automark} we use some macros to get the numeric level of a % sectioning name. We simply define these: % \begin{macrocode} @@ -1559,16 +1126,16 @@ \newcommand*{\paragraphlevel}{4} \newcommand*{\subparagraphlevel}{5} % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} % -% \begin{macro}{\MakeMarkcase} -% \changes{v2.0m}{2002/02/05}{Klasse \texttt{scrlttr2} ist bekannt} +% \begin{macro}{\MakeMarkcase} +% \changes{v2.0m}{2002/02/05}{\texttt{scrlttr2} is a known class} % At \cs{automark} we use a new macro to enable usability of % \cs{MakeUppercase} at the head-marks. We set this macro to % \cs{MakeUppercase} if one of the standard-classes was loaded: @@ -1588,12 +1155,11 @@ are lower case without use of scrpage2}}}}% \let\MakeMarkcase\MakeUppercase}}}}}{} % \end{macrocode} -% \end{macro} +% \end{macro} % -% \begin{macro}{\scrheadings@style} -% \changes{v2.0g}{2001/06/25}{New} -% \changes{v2.0m}{2002/02/05}{Klasse \texttt{scrlttr2} wird -% ber"ucksichtigt } +% \begin{macro}{\scrheadings@style} +% \changes{v2.0g}{2001/06/25}{New} +% \changes{v2.0m}{2002/02/05}{Take care of class \texttt{scrlttr2}} % This macro defines, which style for scrheadings should be used. If % it is not defined, we have to define it in a propper way. % \begin{macrocode} @@ -1604,35 +1170,31 @@ \@ifclassloaded{scrlttr2}{\def\scrheadings@style{koma}}{% \def\scrheadings@style{standard}}}}}}{} % \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -%</v2> -% \end{macrocode} +% \end{macro} % % % \subsection{Width of head and foot} -% \begin{macro}{\setheadwidth} -% \changes{v1.3}{2001/03/30}{New} -% \begin{macro}{\setfootwidth} -% \changes{v1.3}{2001/03/30}{New} -% \begin{macro}{\set@hf@width} -% \changes{v1.3}{2001/03/30}{New} -% \changes{v1.3a}{2001/05/31}{symbolic values ``paper'', ``text'', -% ``textwidthmarginpar''} -% \changes{v2.0b}{2001/05/31}{symbolic values ``paper'', ``text'', -% ``textwidthmarginpar''} -% \changes{v2.0c}{2001/06/07}{error fix at warning} -% \begin{macro}{\settowidthof} -% \changes{v2.0e}{2001/06/22}{New} -% \begin{macro}{\deftowidthof} -% \changes{v2.0e}{2001/06/22}{New} -% \changes{v2.0f}{2001/06/23}{new symbolic values ``autohead'' and -% ``autofoot''} -% \changes{v2.0i}{2001/08/17}{new symbolic value ``page''} -% \changes{v2.0k}{2001/09/28}{\cs{pagewidth} korrigiert} -% \changes{v2.1b}{2003/05/31}{more save existance test} -% \changes{v2.2}{2004/07/05}{value ``foot'' fixed} +% \begin{macro}{\setheadwidth} +% \changes{v1.3}{2001/03/30}{New} +% \begin{macro}{\setfootwidth} +% \changes{v1.3}{2001/03/30}{New} +% \begin{macro}{\set@hf@width} +% \changes{v1.3}{2001/03/30}{New} +% \changes{v1.3a}{2001/05/31}{symbolic values ``paper'', ``text'', +% ``textwidthmarginpar''} +% \changes{v2.0b}{2001/05/31}{symbolic values ``paper'', ``text'', +% ``textwidthmarginpar''} +% \changes{v2.0c}{2001/06/07}{error fix at warning} +% \begin{macro}{\settowidthof} +% \changes{v2.0e}{2001/06/22}{New} +% \begin{macro}{\deftowidthof} +% \changes{v2.0e}{2001/06/22}{New} +% \changes{v2.0f}{2001/06/23}{new symbolic values ``autohead'' and +% ``autofoot''} +% \changes{v2.0i}{2001/08/17}{new symbolic value ``page''} +% \changes{v2.0k}{2001/09/28}{\cs{pagewidth} korrigiert} +% \changes{v2.1b}{2003/05/31}{more save existance test} +% \changes{v2.2}{2004/07/05}{value ``foot'' fixed} % Until version 1.3, head and foot of a page had same width like the % text block. Since version 1.3 this was changed. Now the head and % foot have their own width and an optional shift relative to the text @@ -1706,8 +1268,7 @@ \settowidthof{\@tempdima}{#3}% \ifdim\@tempdima>\paperwidth \PackageWarning -%<v1> {scrpage}% -%<v2> {scrpage2}% + {scrpage2}% {You've set width of #1 to a value\MessageBreak greater than width of page!\MessageBreak% I`ll reduce width of #1 to width of page}% @@ -1715,8 +1276,7 @@ \else \ifdim\@tempdima<\z@ \PackageWarning -%<v1> {scrpage}% -%<v2> {scrpage2}% + {scrpage2}% {You've set width of #1 to negative value!\MessageBreak% I'll set it to 0pt}% \setlength{\@tempdima}{\z@}% @@ -1750,26 +1310,26 @@ \fi } % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\@headwidth} -% \changes{v1.3}{2001/03/30}{New} -% \changes{v2.1}{2002/03/28}{use of option \texttt{mpinclude}} -% \begin{macro}{\@footwidth} -% \changes{v1.3}{2001/03/30}{New} -% \changes{v2.1}{2002/03/28}{use of option \texttt{mpinclude}} -% \begin{macro}{\@oddheadshift} -% \changes{v1.3}{2001/03/30}{New} -% \begin{macro}{\@evenheadshift} -% \changes{v1.3}{2001/03/30}{New} -% \begin{macro}{\@oddfootshift} -% \changes{v1.3}{2001/03/30}{New} -% \begin{macro}{\@evenfootshift} -% \changes{v1.3}{2001/03/30}{New} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\@headwidth} +% \changes{v1.3}{2001/03/30}{New} +% \changes{v2.1}{2002/03/28}{use of option \texttt{mpinclude}} +% \begin{macro}{\@footwidth} +% \changes{v1.3}{2001/03/30}{New} +% \changes{v2.1}{2002/03/28}{use of option \texttt{mpinclude}} +% \begin{macro}{\@oddheadshift} +% \changes{v1.3}{2001/03/30}{New} +% \begin{macro}{\@evenheadshift} +% \changes{v1.3}{2001/03/30}{New} +% \begin{macro}{\@oddfootshift} +% \changes{v1.3}{2001/03/30}{New} +% \begin{macro}{\@evenfootshift} +% \changes{v1.3}{2001/03/30}{New} % The values of width and shift of head and foot are saved at internal % macros. % \begin{macrocode} @@ -1783,7 +1343,6 @@ % If option \texttt{mpinclude} was used, we use a special trick to set % width of head and foot but only if the user doesn't: % \begin{macrocode} -%<*v2> \if@mincl \renewcommand*{\@headwidth}{}% \renewcommand*{\@footwidth}{}% @@ -1796,86 +1355,76 @@ \fi } \fi -%</v2> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} % % % \subsection{Fonts} -% \begin{macro}{\pnumfont} +% \begin{macro}{\pnumfont} % We have to define a macro defining the font, used by |\pagemark|. Because % of this macro may already be defined by a \textsf{KOMA}-script-class, we % have to do this, using |\providecommand| % \begin{macrocode} \providecommand*{\pnumfont}{\normalfont} % \end{macrocode} -% \end{macro} +% \end{macro} % -% \begin{macro}{\headfont} +% \begin{macro}{\headfont} % There is also a macro used by |\@evenhead|, |\@oddhead| and |\@evenfoot|, % |\@oddfoot|: % \begin{macrocode} -\providecommand*{\headfont}{\normalfont% -%<v2> \slshape% -} -%<*v2> +\providecommand*{\headfont}{\normalfont\slshape} \def\scr@fnt@wrn@pagehead#1{% `pagehead' is only an alias of `pageheadfoot'.\MessageBreak Font of page foot may also be changed% } -%</v2> % \end{macrocode} -% \end{macro} +% \end{macro} % -% \begin{macro}{\footfont} -% \changes{v2.2f}{2008/02/14}{New} -% \begin{macro}{\scr@fnt@pagefoot} -% \changes{v2.2f}{2008/02/14}{New (internal)} -% \begin{macro}{\scr@fnt@wrn@pagefoot} -% \changes{v2.2f}{2008/02/14}{deactivated} +% \begin{macro}{\footfont} +% \changes{v2.2f}{2008/02/14}{New} +% \begin{macro}{\scr@fnt@pagefoot} +% \changes{v2.2f}{2008/02/14}{New (internal)} +% \begin{macro}{\scr@fnt@wrn@pagefoot} +% \changes{v2.2f}{2008/02/14}{deactivated} % There is also a macro used by |\@evenfoot|, |\@oddfoot| after |\headfont|: % \begin{macrocode} -%<*v2> \providecommand*{\footfont}{\normalfont} \providecommand*{\scr@fnt@pagefoot}{\footfont} \let\scr@fnt@wrn@pagefoot\relax -%</v2> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} % % % \subsection{Length and thickness of lines at head and foot} -% \begin{macro}{\setheadtopline} -% \changes{v2.0}{2001/04/20}{New} -% \changes{v2.0d}{2001/06/19}{\texttt{headtop} changed into -% \texttt{headabove}} -% \changes{v2.0f}{2001/06/23}{new symbolic value ``auto''} -% \begin{macro}{\setheadsepline} -% \changes{v2.0}{2001/04/20}{New} -% \changes{v2.0d}{2001/06/19}{\texttt{headbot} changed into -% \texttt{headbelow}} -% \changes{v2.0f}{2001/06/23}{new symbolic value ``auto''} -% \begin{macro}{\setfootsepline} -% \changes{v2.0}{2001/04/20}{New} -% \changes{v2.0d}{2001/06/19}{\texttt{foottop} changed into -% \texttt{footabove}} -% \changes{v2.0f}{2001/06/23}{new symbolic value ``auto''} -% \begin{macro}{\setfootbotline} -% \changes{v2.0}{2001/04/20}{New} -% \changes{v2.0d}{2001/06/19}{\texttt{footbot} changed into -% \texttt{footbelow}} -% \changes{v2.0f}{2001/06/23}{new symbolic value ``auto''} -% \begin{macrocode} -%<*v2> -% \end{macrocode} -% Only at version 2 there are new macros to set the length and +% \begin{macro}{\setheadtopline} +% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0d}{2001/06/19}{\texttt{headtop} changed into +% \texttt{headabove}} +% \changes{v2.0f}{2001/06/23}{new symbolic value ``auto''} +% \begin{macro}{\setheadsepline} +% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0d}{2001/06/19}{\texttt{headbot} changed into +% \texttt{headbelow}} +% \changes{v2.0f}{2001/06/23}{new symbolic value ``auto''} +% \begin{macro}{\setfootsepline} +% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0d}{2001/06/19}{\texttt{foottop} changed into +% \texttt{footabove}} +% \changes{v2.0f}{2001/06/23}{new symbolic value ``auto''} +% \begin{macro}{\setfootbotline} +% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0d}{2001/06/19}{\texttt{footbot} changed into +% \texttt{footbelow}} +% \changes{v2.0f}{2001/06/23}{new symbolic value ``auto''} +% Since version 2 there are new macros to set the length and % thickness of the lines at head and foot. Wie use macros not % dimensions, because the amount of dimensions is very small at \TeX. % \begin{macrocode} @@ -1884,13 +1433,13 @@ \newcommand*{\setfootsepline}{\scr@setline{foot}{above}} \newcommand*{\setfootbotline}{\scr@setline{foot}{below}} % \end{macrocode} -% \begin{macro}{\scr@setline} -% \begin{macro}{\@scr@setline} -% \changes{v2.0d}{2001/06/19}{symbolic values implemented} -% \begin{macro}{\@@scr@setline} -% \changes{v2.0d}{2001/06/18}{macro name fixed} -% \begin{macro}{\@scr@set@pre@line} -% \changes{v2.2}{2004/07/05}{New internal} +% \begin{macro}{\scr@setline} +% \begin{macro}{\@scr@setline} +% \changes{v2.0d}{2001/06/19}{symbolic values implemented} +% \begin{macro}{\@@scr@setline} +% \changes{v2.0d}{2001/06/18}{macro name fixed} +% \begin{macro}{\@scr@set@pre@line} +% \changes{v2.2}{2004/07/05}{New internal} % The real change of the lines is done with the macros % \cs{scr@setline}, \cs{@scr@setline} and \cs{@@scr@setline}: % \begin{macrocode} @@ -1920,38 +1469,35 @@ \expandafter\def\csname scr@pre@#1@line\endcsname{#2}% } % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \begin{macrocode} -%</v2> -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} % % % \subsection{Extended multilanguage formats} -% \begin{macro}{\partmarkformat} -% \changes{v2.2}{2004/07/05}{New} -% \begin{macro}{\chaptermarkformat} -% \changes{v1.1}{1995/06/27}{Space after chapternumber increased.} -% \begin{macro}{\sectionmarkformat} -% \changes{v1.1}{1995/06/27}{Space after sectionnumber increased.} -% \begin{macro}{\subsectionmarkformat} -% \changes{v1.1}{1995/06/27}{Space after subsectionnumber increased.} -% \begin{macro}{\subsubsectionmarkformat} -% \changes{v2.0}{2001/04/20}{New} -% \begin{macro}{\paragraphmarkformat} -% \changes{v2.0}{2001/04/20}{New} -% \begin{macro}{\subparagraphmarkformat} -% \changes{v2.0}{2001/04/20}{New} -% \begin{macro}{\@seccntmarkformat} -% \changes{v2.0}{2001/04/20}{New} -% \begin{macro}{\@seccntformat} -% \changes{v2.0}{2001/04/20}{New} +% \begin{macro}{\partmarkformat} +% \changes{v2.2}{2004/07/05}{New} +% \begin{macro}{\chaptermarkformat} +% \changes{v1.1}{1995/06/27}{Space after chapternumber increased.} +% \begin{macro}{\sectionmarkformat} +% \changes{v1.1}{1995/06/27}{Space after sectionnumber increased.} +% \begin{macro}{\subsectionmarkformat} +% \changes{v1.1}{1995/06/27}{Space after subsectionnumber increased.} +% \begin{macro}{\subsubsectionmarkformat} +% \changes{v2.0}{2001/04/20}{New} +% \begin{macro}{\paragraphmarkformat} +% \changes{v2.0}{2001/04/20}{New} +% \begin{macro}{\subparagraphmarkformat} +% \changes{v2.0}{2001/04/20}{New} +% \begin{macro}{\@seccntmarkformat} +% \changes{v2.0}{2001/04/20}{New} +% \begin{macro}{\@seccntformat} +% \changes{v2.0}{2001/04/20}{New} % There are some macros to handle languages like Chinese, Japanese or Korean. % These macros were defined first by Werner Lemberg at his CJK-bundle. See % |scrclass.dtx| for further information. @@ -1960,38 +1506,33 @@ \if@chapter \providecommand{\chaptermarkformat} {\@chapapp\ \thechapter. \ } \providecommand{\sectionmarkformat} {\thesection. \ } -%<v2> \providecommand{\subsectionmarkformat} {\@seccntmarkformat{subsection}} + \providecommand{\subsectionmarkformat} {\@seccntmarkformat{subsection}} \else \providecommand{\sectionmarkformat} {\thesection\quad} \providecommand{\subsectionmarkformat} {\thesubsection\quad} \fi -%<*v2> \providecommand{\subsubsectionmarkformat}{\@seccntmarkformat{subsubsection}} \providecommand{\paragraphmarkformat} {\@seccntmarkformat{paragraph}} \providecommand{\subparagraphmarkformat} {\@seccntmarkformat{subparagraph}} \providecommand{\@seccntmarkformat}[1] {\@seccntformat{#1}} -%</v2> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} % % % \subsection{Definition of default pagestyles} % -% \begin{macrocode} -%<*v2> -% \end{macrocode} % \begin{macro}{\ps@save@plain} -% \changes{v2.0}{2001/04/20}{New} -% \changes{v2.0b}{2001/05/31}{use this instread of -% \cs{ps@standardplain}} +% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0b}{2001/05/31}{use this instead of +% \cs{ps@standardplain}} % We define two default pagestyles, which can be used instead of the % standard pagestyles. The two pagestyles are something like a % family. A pagestyle for \emph{normal} pages with head and foot and a @@ -2008,17 +1549,17 @@ \let\ps@plain\ps@use@plain % \end{macrocode} % \begin{macro}{\ps@save@headings} -% \changes{v2.0}{2001/04/20}{New} -% \changes{v2.0b}{2001/05/31}{use this instread of -% \cs{ps@standardheadings}} +% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0b}{2001/05/31}{use this instead of +% \cs{ps@standardheadings}} % \begin{macro}{\ps@save@myheadings} -% \changes{v2.0}{2001/04/20}{New} -% \changes{v2.0b}{2001/05/31}{use this instread of -% \cs{ps@standardmyheadings}} +% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0b}{2001/05/31}{use this instead of +% \cs{ps@standardmyheadings}} % \begin{macro}{\ps@headings} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\ps@myheadings} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % If standard pagestyle \texttt{headings} or \texttt{myheadings} is % used, also standard pagestyle \texttt{use@plain} should be % used. So we also define new names for the other old pagestyles and @@ -2090,34 +1631,34 @@ % % % \begin{macro}{\ps@scrplain} -% \changes{v2.0}{2001/04/20}{New} -% \changes{v2.0a}{2001/04/24}{\cs{strut} inserted} -% \changes{v2.0f}{2001/06/23}{\cs{strut} inserted} -% \changes{v2.1c}{2004/02/07}{thickness of footbelow line fixed} +% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0a}{2001/04/24}{\cs{strut} inserted} +% \changes{v2.0f}{2001/06/23}{\cs{strut} inserted} +% \changes{v2.1c}{2004/02/07}{thickness of footbelow line fixed} % \begin{macro}{\scrplain@even@left@head} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\scrplain@even@middle@head} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\scrplain@even@right@head} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\scrplain@odd@left@head} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\scrplain@odd@middle@head} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\scrplain@odd@right@head} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\scrplain@even@left@foot} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\scrplain@even@middle@foot} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\scrplain@even@right@foot} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\scrplain@odd@left@foot} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\scrplain@odd@middle@foot} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\scrplain@odd@right@foot} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % After this, we can define the new pagestyles, first a new plain % one. It sould be variable and so we use macros to define the parts. % \begin{macrocode} @@ -2211,34 +1752,33 @@ % \end{macro} % \end{macro} % \begin{macro}{\ps@scrheadings} -% \changes{v2.0}{2001/04/20}{New} -% \changes{v2.0a}{2001/04/24}{\cs{strut} inserted} -% \changes{v2.0f}{2001/06/23}{\cs{strut} inserted} +% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0a}{2001/04/24}{\cs{strut} inserted} +% \changes{v2.0f}{2001/06/23}{\cs{strut} inserted} % \begin{macro}{\scrheadings@even@left@head} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\scrheadings@even@middle@head} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\scrheadings@even@right@head} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\scrheadings@odd@left@head} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\scrheadings@odd@middle@head} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\scrheadings@odd@right@head} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\scrheadings@even@left@foot} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\scrheadings@even@middle@foot} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\scrheadings@even@right@foot} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\scrheadings@odd@left@foot} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\scrheadings@odd@middle@foot} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\scrheadings@odd@right@foot} -% \changes{v2.0}{2001/04/20}{New} -% +% \changes{v2.0}{2001/04/20}{New} % We also define define a new headings one. It sould be variable and % so we use macros to define the parts. But we need an \emph{also % action}, so we first define a inner pagestyle and then use this at a @@ -2333,41 +1873,41 @@ % % % \begin{macro}{\ihead} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\ohead} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\chead} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\lehead} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\lohead} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\rehead} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\rohead} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\cehead} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\cohead} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\ifoot} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\ofoot} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\cfoot} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\lefoot} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\lofoot} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\refoot} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\rofoot} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\cefoot} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % \begin{macro}{\cofoot} -% \changes{v2.0}{2001/04/20}{New} +% \changes{v2.0}{2001/04/20}{New} % We also need macros to define the contents of the three part head % and foot. Each macro defines one of the part of head or foot of the % scrheadings pagestyle and optional of the scrplain pagestyle. @@ -2471,11 +2011,11 @@ % \end{macro} % % \begin{macro}{\clearscrheadings} -% \changes{v2.0j}{2001/08/18}{New} +% \changes{v2.0j}{2001/08/18}{New} % \begin{macro}{\clearscrheadfoot} -% \changes{v2.0j}{2001/08/18}{New} +% \changes{v2.0j}{2001/08/18}{New} % \begin{macro}{\clearscrpain} -% \changes{v2.0j}{2001/08/18}{New} +% \changes{v2.0j}{2001/08/18}{New} % Maybe you want to clear the currently defined head and foot. First % let's clear only scrheadings pagestyle but not scrplain pagestyle. % We do this simply using the already known command: @@ -2513,15 +2053,16 @@ % % % Let's do the default setting: -% \changes{v2.0m}{2002/02/05}{Neue Briefklasse \texttt{scrlttr2} -% wird aktiv unterst"utzt} +% \changes{v2.0m}{2002/02/05}{Active support for new letter class +% \texttt{scrlttr2}} +% \changes{v3.12}{2013/12/14}{fix \cs{rohead} if page number left at head} % \begin{macrocode} \def\@tempa{koma}\ifx\scrheadings@style\@tempa \@ifclassloaded{scrlttr2}{% \ifcase\@pageat \lehead[\pagemark]{\pagemark}\lohead[\pagemark]{\pagemark}% \chead{\rightmark}% - \rehead{\leftmark}\lohead{\leftmark}% + \rehead{\leftmark}\rohead{\leftmark}% \or \lehead{\leftmark}\lohead{\leftmark}% \chead[\pagemark]{\pagemark}% @@ -2568,18 +2109,30 @@ \begingroup\expandafter\expandafter\expandafter\endgroup\expandafter \ifx\csname sectionmark\endcsname\relax \ifx\@mkboth\markboth\@automarktrue\fi - \else - \ifx\sectionmark\@gobble\else\@automarktrue\fi + \else +% \end{macrocode} +% \changes{v2.5a}{2012/11/02}{\cs{@gobble} is long, but \cs{sectionmark} and +% \cs{chaptermark} may be short} +% \begin{macrocode} + \ifx\sectionmark\@gobble\else + \begingroup + \def\@gobble#1{}\ifx\sectionmark\@gobble\else + \aftergroup\@automarktrue + \fi + \endgroup + \fi \fi \else - \ifx\chaptermark\@gobble\else\@automarktrue\fi + \ifx\chaptermark\@gobble\else + \begingroup + \def\@gobble#1{}\ifx\chaptermark\@gobble\else + \aftergroup\@automarktrue + \fi + \endgroup + \fi \fi % \end{macrocode} % -% \begin{macrocode} -%</v2> -% \end{macrocode} -% % % \subsection{Configurationfile} % Not last and not least we include the local configuration-file @@ -2599,7 +2152,6 @@ % the moment. And the one is a check, if the \cs{headheight} should be % increased. % \begin{macrocode} -%<*v2> \AtBeginDocument{% \ifdim\headheight=12pt \PackageWarningNoLine{scrpage2}% @@ -2622,7 +2174,6 @@ into the preamble of your document.\MessageBreak A better solution would be to use typearea package}% \fi\fi} -%</v2> % \end{macrocode} % % \subsection{End} diff --git a/Master/texmf-dist/source/latex/koma-script/scrpage.ins b/Master/texmf-dist/source/latex/koma-script/scrpage.ins deleted file mode 100644 index c14fc42e805..00000000000 --- a/Master/texmf-dist/source/latex/koma-script/scrpage.ins +++ /dev/null @@ -1,75 +0,0 @@ -% ====================================================================== -% scrpage.ins -% 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. -% ---------------------------------------------------------------------- -% scrpage.ins -% 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. -% ====================================================================== - -% ---------- start of docstrip process --------------------------------- -\def\batchfile{scrpage.ins} - -% ---------- KOMA-Script default docstrip declarations ----------------- - -\input docstrip.tex -\@@input scrstrip.inc - -% ---------- File generation ------------------------------------------- - -\generate{\usepreamble\defaultpreamble - \file{scrpage.sty}{% - \ifbeta\from{scrbeta.dtx}{package,scrpage,v1}\fi - \from{scrpage.dtx}{scrpage,v1}% - \from{scrlogo.dtx}{logo}% - }% - \file{scrpage2.sty}{% - \ifbeta\from{scrbeta.dtx}{package,scrpage,v2}\fi - \from{scrpage.dtx}{scrpage,v2}% - \from{scrlogo.dtx}{logo}% - }% -} - -% ---------- end of docstrip process ----------------------------------- - -\ifToplevel{% - \def\idocfiles{`scrpage.dtx'}% -} - -\@@input scrstrop.inc - -\endinput -% -% end of file `scrpage.ins' -%%% Local Variables: -%%% mode: TeX -%%% TeX-master: "scrmain.ins" -%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/scrsource.tex b/Master/texmf-dist/source/latex/koma-script/scrsource.tex index d5e68fa47cb..42abd44e4e1 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrsource.tex +++ b/Master/texmf-dist/source/latex/koma-script/scrsource.tex @@ -1,6 +1,6 @@ % ====================================================================== % scrsource.tex -% Copyright (c) Markus Kohm, 2002-2011 +% Copyright (c) Markus Kohm, 2002-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrsource.tex -% Copyright (c) Markus Kohm, 2002-2011 +% Copyright (c) Markus Kohm, 2002-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -35,10 +35,10 @@ % Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% Try to get the version of KOMA-Script from scrkvers.dtx. +% Try to get the version of KOMA-Script from scrkernel-version.dtx. \begingroup \def\ProvidesFile#1[#2]{\csname endinput\endcsname}% - \input scrkvers.dtx + \input scrkernel-version.dtx \newcommand*{\ParseKOMAScriptVersion}{} \def\ParseKOMAScriptVersion#1/#2/#3 v#4 #5\ParseKOMAScriptVersion{% \gdef\filedate{#1\kern1pt-\kern0pt#2\kern1pt-\kern0pt#3}% @@ -93,32 +93,32 @@ dokumentiert. Die Reihenfolge in der Dokumentation entspricht jedoch \emph{nicht} der Reihenfolge des Codes in den Klassen und Paketen. - \DocInclude{scrkvers} - \DocInclude{scrkbase} + \DocInclude{scrkernel-version} + \DocInclude{scrkernel-basics} % \DocInclude{tocbasic} - \DocInclude{scrkmisc} - \DocInclude{scrklang} - \DocInclude{scrkfont} - \DocInclude{scrktare} - \DocInclude{scrkfloa} - \DocInclude{scrkftn} - \DocInclude{scrkpage} - \DocInclude{scrkpar} - \DocInclude{scrktitl} - \DocInclude{scrksect} - \DocInclude{scrkliof} - \DocInclude{scrkbib} - \DocInclude{scrkidx} - \DocInclude{scrklist} + \DocInclude{scrkernel-miscellaneous} + \DocInclude{scrkernel-language} + \DocInclude{scrkernel-fonts} + \DocInclude{scrkernel-typearea} + \DocInclude{scrkernel-floats} + \DocInclude{scrkernel-footnotes} + \DocInclude{scrkernel-pagestyles} + \DocInclude{scrkernel-paragraphs} + \DocInclude{scrkernel-title} + \DocInclude{scrkernel-sections} + \DocInclude{scrkernel-listsof} + \DocInclude{scrkernel-bibliography} + \DocInclude{scrkernel-index} + \DocInclude{scrkernel-listsandtabulars} \DocInclude{scrlfile} \DocInclude{scrlogo} - \DocInclude{scrkcomp} - \DocInclude{scrknpap} - \DocInclude{scrkvars} - \DocInclude{scrkplen} - \DocInclude{scrklco} + \DocInclude{scrkernel-compatibility} + \DocInclude{scrkernel-notepaper} + \DocInclude{scrkernel-variables} + \DocInclude{scrkernel-pseudolengths} + \DocInclude{scrkernel-letterclassoptions} \DocInclude{japanlco} - \DocInclude{scrkcile} + \DocInclude{scrkernel-circularletters} \DocInclude{scrextend} \DocInclude{scrhack} diff --git a/Master/texmf-dist/source/latex/koma-script/scrstrip.inc b/Master/texmf-dist/source/latex/koma-script/scrstrip.inc index d47aab30640..733117753f0 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrstrip.inc +++ b/Master/texmf-dist/source/latex/koma-script/scrstrip.inc @@ -51,105 +51,34 @@ % ---------- start of docstrip ----------------------------------------- -\let\ifbeta=\iffalse - -\ifToplevel{\ifx\generate\undefined - \Msg{************************************************************} - \Msg{*} - \Msg{* This installation requires docstrip version 2.3c or} - \Msg{* later, but an old version of docstrip has been input.} - \Msg{* You have to update docstrip and maybe LaTeX first!} - \Msg{*} - \Msg{************************************************************} - \errhelp{Install a new version of docstrip.} - \errmessage{Old docstrip in input path} - \batchmode - \csname @@end\endcsname - \fi - \Msg{************************************************************} - \Msg{*} - \Msg{* KOMA-Script} - \Msg{* a versatile LaTeX2e bundle} - \Msg{*} - \Msg{* This is `\batchfile', a batchfile to unpack some or all} - \Msg{* parts of KOMA-Script. See `liesmich.txt' (german) or} - \Msg{* `readme.txt' (english) for additional information.} - \Msg{*} - \Msg{* If some - maybe old - files of KOMA-Script are already} - \Msg{* installed, you will be ask, if it is allowed to overwrite} - \Msg{* them. Answering `yes' doesn't mean, that `\batchfile'} - \Msg{* WILL overwrite such files. It means only, that} - \Msg{* `\batchfile' or installation MAY overwrite them.} - \Msg{*} - \Msg{************************************************************} -} +\KOMAdefVariable{AUTHOR}{Markus Kohm} +\KOMAdefVariable{EMAIL}{[komascript at gmx info]} +\KOMAdefVariable{COPYRIGHTFROM}{1994} +\KOMAdefVariable{COPYRIGHTTILL}{2013} -% ---------- some docstrip switchs ------------------------------------- +\let\ifbeta=\iffalse % with = will be replaced by release process \ifToplevel{% + \Msg{+======================================================================} + \Msg{| KOMA-Script} + \Msg{| a versatile LaTeX2e bundle} + \Msg{+----------------------------------------------------------------------} + \Msg{| This batchfile will unpack some or all parts of KOMA-Script.} + \Msg{| On errors press either `h' or ask an expert for help after reading} + \Msg{| `README'.} + \Msg{+----------------------------------------------------------------------} +% ---------- some docstrip switchs ------------------------------------- \keepsilent \askforoverwritefalse -% \askforoverwritetrue -% \ifx\askonceonly\undefined\else\askonceonly\fi -} - % ---------- validity -------------------------------------------------- -\ifToplevel{% - \let\manifest\inFile - \Msg{* Testing validity of KOMA-Script distribution:} - \def\readloop{% - \ifeof\manifest\else - \read\manifest to \manifestfile\relax - \ifx\manifestfile\empty - \else - \openin\inputcheck \manifestfile\relax - \ifeof\inputcheck - \@addto\missingfiles{\comma\manifestfile}% - \def\comma{,^^J\noexpand\spaces}% - \fi - \closein\inputcheck - \fi - \expandafter\readloop - \fi - }% - \begingroup - \endlinechar=256 - \let\missingfiles\empty - \let\comma\empty - \openin\manifest manifest.txt\relax - \readloop - \closein\manifest - \ifx\missingfiles\empty - \Msg{* KOMA-Script distribution seams to be valid.}% - \else - \edef\cmp{doc/scrguien.pdf\comma doc/scrguien.html\comma - doc/scrguide.pdf\comma doc/scrguide.html}% - \ifx\missingfiles\cmp - \Msg{* KOMA-Script distribution may be valid.}% - \Msg{* WARNING: Manuals not found but needed for a legal - distribution!}% - \else - \def\spaces{\space\space\space\space\space}% - \edef\spaces{* \spaces\spaces\spaces}% - \Msg{* Missing files: \missingfiles.}% - \Msg{* This seams not to be a valid KOMA-Script distribution.}% - \Msg{* You should not try to install this!}% - \errhelp{You should ask your distributor for a valid and legal - KOMA-Script distribution.}% - \errmessage{Validity test of KOMA-Script distribution failed}% - \batchmode - \csname @@end\endcsname - \fi - \fi - \endgroup + \KOMAvalidityTest{manifest.txt} } % ---------- defining preambles ---------------------------------------- \preamble -Copyright (c) 1994-2012 -Markus Kohm and any individual authors listed elsewhere in this file. +\noexpand\KOMAuseVariable{COPYRIGHT} This file was generated from file(s) of the KOMA-Script bundle. --------------------------------------------------------------- diff --git a/Master/texmf-dist/source/latex/koma-script/scrstrop.inc b/Master/texmf-dist/source/latex/koma-script/scrstrop.inc index 98e827eb129..715acaedaa2 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrstrop.inc +++ b/Master/texmf-dist/source/latex/koma-script/scrstrop.inc @@ -42,35 +42,22 @@ % ---------- end of docstrip ----------------------------------------- \ifToplevel{% - \Msg{************************************************************} - \Msg{*} - \Msg{* KOMA-Script} - \Msg{* a versatile LaTeX2e bundle} - \Msg{*} + \Msg{| Unpacking finished successfully.} + \Msg{+----------------------------------------------------------------------} \ifbeta - \Msg{* THIS IS A BETA VERSION. YOU SHOULD NOT INSTALL OR USE IT!} - \Msg{* THERE MAY BE A LOT OF BUGS AT THIS VERSION!} - \Msg{* PLEASE INSTALL THE RELEASE YOU CAN FIND AT CTAN!} + \Msg{| YOU SHOULD NOTE, THAT THIS IS NOT AN OFFICIAL RELEASE!} + \Msg{| THIS VERSION IS INTENDED TO BE USED FOR TESTING ONLY!} + \Msg{| USAGE FOR PURPOSES OTHER THAN INDENTED IS DANGEROUS!} + \Msg{| DON'T EXPECT ANY SUPPORT FOR THIS VERSION!} \else - \Msg{* To finish the installation you have to move some} - \Msg{* files into a directory searched by TeX.} - \Msg{* See INSTALL.TXT (english) or INSTALLD.TXT (german)} - \Msg{* for additional information.} - \Msg{*} - \ifx\idocfiles\empty\else - \Msg{* You may also produce the implementation documentation,} - \Msg{* but you don't need. To produce it, run file(s)} - \Msg{* \idocfiles} - \Msg{* through LaTeX after finishing the installation.} - \Msg{*} - \fi - \Msg{* You will find the manual reading `README' (English),} - \Msg{* or `koma-script.pdf'.} - \Msg{*} - \Msg{* Happy TeXing} + \Msg{| To finish the installation you have to move some files into} + \Msg{| a directory searched by TeX, e.g., `tex/latex/koma-script/'} + \Msg{| of a local or personal TEXMF tree.} + \Msg{| See `INSTALL.txt' (English) or `INSTALLD.txt' (German)} + \Msg{| for additional information about the installation and} + \Msg{| the user manual.} \fi - \Msg{*} - \Msg{************************************************************} + \Msg{+======================================================================} } \endinput diff --git a/Master/texmf-dist/source/latex/koma-script/scrtime.dtx b/Master/texmf-dist/source/latex/koma-script/scrtime.dtx index d6e29f1dd90..11f6f750b2f 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrtime.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrtime.dtx @@ -2,7 +2,7 @@ % \iffalse % ====================================================================== % scrtime.dtx -% Copyright (c) Markus Kohm, 1995-2012 +% Copyright (c) Markus Kohm, 1995-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -20,7 +20,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrtime.dtx -% Copyright (c) Markus Kohm, 1995-2012 +% Copyright (c) Markus Kohm, 1995-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -55,19 +55,54 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scrtime.dtx +%%% From File: $Id: scrtime.dtx 1383 2013-10-01 15:44:28Z mjk $ +%<package&identify>\NeedsTeXFormat{LaTeX2e}[1995/06/01] %<*driver> -% \fi -\ProvidesFile{scrtime.dtx}[2011/03/31 v3.08b KOMA-Script - (packages scrtime and scrdate)] -% \iffalse +\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ProvidesFile{scrtime.dtx}[% %</driver> -%<package&identify>\NeedsTeXFormat{LaTeX2e}[1995/12/01] -%<package&identify&scrtime>\ProvidesPackage{scrtime}[% -%<package&identify&scrdate>\ProvidesPackage{scrdate}[% -%<package&identify> \KOMAScriptVersion\space package (% -%<package&identify&scrtime> time of LaTeX run)] -%<package&identify&scrdate> day of the week)] +%<*driver|package> +%<identify&scrtime>\ProvidesPackage{scrtime}[% +%<identify&scrdate>\ProvidesPackage{scrdate}[% +%<*driver|identify> + 2011/03/31 v3.08b KOMA-Script package +%</driver|identify> +%<identify&scrtime> (time of LaTeX run)% +%<identify&scrdate> (day of the week)% +%<*driver|identify> +] +%</driver|identify> +%</driver|package> +%<*dtx> +\ifx\documentclass\undefined + \input scrdocstrip.tex + \@@input scrkernel-version.dtx + \@@input scrstrip.inc + \KOMAdefVariable{COPYRIGHFROM}{1995} + \generate{\usepreamble\defaultpreamble + \file{scrtime.sty}{% + \from{scrkernel-version.dtx}{package,scrtime}% + \from{scrtime.dtx}{package,scrtime,identify}% + \from{scrkernel-basics.dtx}{load}% + \from{scrtime.dtx}{package,scrtime,option}% + \from{scrtime.dtx}{package,scrtime,body}% + \from{scrlogo.dtx}{logo}% + } % + \file{scrdate.sty}{% + \from{scrkernel-version.dtx}{package,scrdate}% + \from{scrtime.dtx}{package,scrdate,identify}% + \from{scrkernel-basics.dtx}{load}% + \from{scrtime.dtx}{package,scrdate,option}% + \from{scrtime.dtx}{package,scrdate,body}% + \from{scrlogo.dtx}{logo}% + } % + } + \@@input scrstrop.inc +\else + \let\endbatchfile\relax +\fi +\endbatchfile +%</dtx> %<*driver> \documentclass{scrdoc} \usepackage[german,english]{babel} diff --git a/Master/texmf-dist/source/latex/koma-script/scrwfile.dtx b/Master/texmf-dist/source/latex/koma-script/scrwfile.dtx index f76af2b85f1..5db335bed1b 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrwfile.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrwfile.dtx @@ -1,8 +1,8 @@ -% \CheckSum{271} +% \CheckSum{306} % \iffalse meta-comment % ====================================================================== % scrwfile.dtx -% Copyright (c) Markus Kohm, 2010-2012 +% Copyright (c) Markus Kohm, 2010-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -29,7 +29,7 @@ % at least three times. % ---------------------------------------------------------------------- % scrwfile.dtx -% Copyright (c) Markus Kohm, 2010-2012 +% Copyright (c) Markus Kohm, 2010-2013 % % Diese Datei ist Teil des LaTeX2e KOMA-Script-Pakets. % @@ -75,7 +75,7 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: scrwfile.dtx +%%% From File: $Id: scrwfile.dtx 1562 2013-12-19 07:51:16Z mjk $ %<*dtx> \def\LaTeXformat{LaTeX2e} \ifx\fmtname\LaTeXformat @@ -90,7 +90,7 @@ %<driver>\ProvidesFile{scrwfile.drv} %<doc>\ProvidesFile{scrwfile.tex} %<*dtx|(package&identify)|driver|doc> - [2012/03/05 v0.1d-alpha LaTeX2e KOMA-Script package (write and clone files)] + [2013/08/05 v0.1f-alpha LaTeX2e KOMA-Script package (write and clone files)] %</dtx|(package&identify)|driver|doc> %<*driver> \documentclass{scrdoc} @@ -121,6 +121,7 @@ \providecommand\PParameter[1]{\mbox{\texttt{\{#1\}}}} \let\PName\meta \let\PValue\texttt + \providecommand*{\important}[1]{} \providecommand*{\autoref}[1]{\expandafter\AUTOREF#1:} \providecommand*{\AUTOREF}{} \makeatletter @@ -144,7 +145,7 @@ % Now the installation driver: %</dtx> %<*insfile> -\expandafter\let\expandafter\ifbeta\csname iffalse\endcsname +\let\ifbeta=\iffalse % with = will be replaced by release process \def\batchfile{scrwfile.dtx} \input docstrip.tex \ifToplevel{% @@ -164,7 +165,7 @@ \preamble -Copyright (c) 2010-2012 by Markus Kohm <komascript(at)gmx.info> +Copyright (c) 2010-2013 by Markus Kohm <komascript(at)gmx.info> This file was generated from file(s) of the KOMA-Script bundle. --------------------------------------------------------------- @@ -364,7 +365,7 @@ limited any longer. Sometimes it is useful to input a file not only once but several times. As \Macro{@starttoc} does not open files for writing any longer, this may be -done by simply using \Macro{\@starttoc} several times with the same +done by simply using \Macro{@starttoc} several times with the same extension. But sometimes you may have additional entries in only some of the content directories. Because of this, \Package{scrwfile} allows to copy all entries of a file to another file, too. We call this cloning. @@ -408,24 +409,54 @@ contents: \begin{lstcode} \usepackage{scrwfile} \TOCclone[Short \contentsname]{toc}{stoc} - \AtBeginDocument{% - % aux first opened at \begin{document}. So wait until this: - \addtocontents{toc}{% first toc entry: - \proctect\addcontentsline{stoc}{% write to Short Contents - \protect\tableofcontents% Contents - }% - }% +\end{lstcode} +This would create a new table of contents with the heading »Short +Contents«. The new table of contents uses a helper file with extension +\File{stoc}. All entries to the helper file with extension \File{toc} will +also be copied to this new helper file. + +The new short table of contents should only have the chapter entries. This may +be done using: +\begin{lstcode} + \addtocontents{stoc}{\protect\value{tocdepth}=0} +\end{lstcode} +Normally you cannot write into a helper file before +\Macro{begin}\PParameter{document}. But using \Package{scrwfile} changes +this. So the code above will be successful after loading \Package{scrwfile}. + +To show the new short contents of helper file extension \File{stoc} we will +use +\begin{lstcode}[moretexcs={listofsttoc}] + \listofstoc +\end{lstcode} +somewhere after \Macro{begin}\PParameter{document}. + +If we also want an entry for the table of contents at the short contents, we +cannot use +\begin{lstcode} + \addtocontents{toc}{% write to the Contents + \protect\addcontentslinedefault{stoc}% write to Short Contents + {chapter}% a chapter entry with + {\contentsname}% the Contents' name + } +\end{lstcode} +because the \Macro{addcontentsline} command would be copied to \File{stoc} +too. So we cannot add the command to the \File{toc}-file. Package +\Package{tocbasic}\important{\Package{tocbasic}} may be used to solve this: +\csname phantomsection\endcsname\label{example:scrwfile.AfterStartingTOC} +\begin{lstcode} + \AfterStartingTOC[toc]{% + \addcontentslinedefault{stoc}{chapter} + {\protect\contentsname}% } - \begin{document} - \setcounter{tocdepth}{1}% show chapters only - \listofstoc% Write short table of contents - \setcounter{tocdepth}{6}% show all levels - \tableofcontents% Write table of contents \end{lstcode} -You need at least three \LaTeX{} runs to get a short table of contents and a -detailed table of contents. The detailed one produces an entry at the short -one but this entry will not be part of the detailed table of contents. +But this needs, that the file with extension \File{toc} is under control of +package \Package{tocbasic}, which is indeed the case within all \KOMAScript{} +classes. %\iffalse^^A meta-comment +See \autoref{sec:tocbasic.toc} on +\autopageref{desc:tocbasic.cmd.AfterStartingTOC} for more information about +\Macro{AfterStartingTOC}.% \end{Example} \EndIndex{Cmd}{TOCclone} @@ -649,12 +680,55 @@ extension. So there's currently no user documentation for this. % \begin{macro}{\@starttoc} % We have to add the single handle feature to this. % \begin{macro}{\scrwfile@saved@starttoc} +% \changes{v0.1e}{2013/07/24}{take care for unfriendly \textsl{hyperref}} % This is the original definition, that will be used, if the file is not under -% \texttt{scrwfile}'s control. +% \texttt{scrwfile}'s control. Because of package \textsl{hyperref}, that does +% a hard redefinition without any care for changed definitions, we have to +% take care for that unfriendly package and cannot do a simple +% \begin{verbatim} +% \let\scrwfile@saved@starttoc\@starttoc +% \let\@starttoc\scrwfile@starttoc +% \end{verbatim} % \begin{macrocode} \newcommand*{\scrwfile@saved@starttoc}{} -\let\scrwfile@saved@starttoc\@starttoc -\let\@starttoc\scrwfile@starttoc +\AtBeginDocument{% + \begingroup + \@ifpackageloaded{hyperref}{% + \scr@ifundefinedorrelax{Hy@AtBeginDocument}{% + \PackageWarning{scrwfile}{% + Incompatible `hyperref` package detected!\MessageBreak + You are using a `hyperref` version, that\MessageBreak + doesn't provide `\string\Hy@AtBeginDocument`.\MessageBreak + This may or may not work.\MessageBreak + Using immediate redefinition% + }% + \aftergroup\@firstofone + }{% + \def\reserved@a{\AtBeginDocument}% + \ifx\Hy@AtBeginDocumentHook\@undefined + \PackageInfo{scrwfile}{% + Using immediate redefinition% + }% + \aftergroup\@firstofone + \else + \PackageInfo{scrwfile}{% + Using `\string\Hy@AtBeginDocument`% + }% + \aftergroup\Hy@AtBeginDocument + \fi + }% + }{% + \aftergroup\@firstofone + }% + \endgroup + {% + \PackageInfo{scrwfile}{% + Extending `\string\@starttoc` + }% + \let\scrwfile@saved@starttoc\@starttoc + \let\@starttoc\scrwfile@starttoc + }% +} % \end{macrocode} % \end{macro} % \end{macro} diff --git a/Master/texmf-dist/source/latex/koma-script/tocbasic.dtx b/Master/texmf-dist/source/latex/koma-script/tocbasic.dtx index c63f13673c2..d48a5a1481f 100644 --- a/Master/texmf-dist/source/latex/koma-script/tocbasic.dtx +++ b/Master/texmf-dist/source/latex/koma-script/tocbasic.dtx @@ -1,8 +1,8 @@ -% \CheckSum{1234} +% \CheckSum{1335} % \iffalse meta-comment % ====================================================================== % tocbasic.dtx -% Copyright (c) Markus Kohm, 2008-2012 +% Copyright (c) Markus Kohm, 2008-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -19,11 +19,10 @@ % % This work consists of files `tocbasic.dtx' and `scrlogo.dtx' at least. % -% To create `tocbasic.sty' run `tex tocbasic.dtx'. Using LaTeX instead -% of TeX would generate the implementation documentation. +% This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % tocbasic.dtx -% Copyright (c) Markus Kohm, 2008-2012 +% Copyright (c) Markus Kohm, 2008-2013 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -37,12 +36,7 @@ % % Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. % -% Dieses Werk besteht mindestens aus den Dateien `tocbasic.dtx' und -% `scrlogo.dtx'. -% -% `tocbasic.sty' kann durch den Aufruf `tex tocbasic.dtx' erzeugt -% werden. Bei Verwendung von LaTeX statt TeX wird hingegen die -% Implementierungsdokumentation erzeugt. +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== % \fi % @@ -63,49 +57,61 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: tocbasic.dtx -%<*dtx|package|driver|doc|load> -% \fi -\def\tocbasicversion{2012/04/04 v3.10b} -% \iffalse -%</dtx|package|driver|doc|load> +%%% From File: $Id: tocbasic.dtx 1533 2013-12-10 18:06:14Z mjk $ %<*dtx> -\def\LaTeXformat{LaTeX2e} -\ifx\fmtname\LaTeXformat\def\MainBodyWork{% -\ProvidesFile{tocbasic.dtx} +\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ProvidesFile{tocbasic.dtx}[% %</dtx> -%<package>\NeedsTeXFormat{LaTeX2e}[1995/06/01] -%<driver>\ProvidesFile{tocbasic.drv} -%<doc>\ProvidesFile{tocbasic.tex} -%<package>\ProvidesPackage{tocbasic} +%<package>\NeedsTeXFormat{LaTeX2e}[1995/12/01] +%<doc>\ProvidesFile{tocbasic.tex}[% +%<package>\ProvidesPackage{tocbasic}[% %<*dtx|package|driver|doc> - [\tocbasicversion\space KOMA-Script package +%!KOMAScriptVersion + package %</dtx|package|driver|doc> -%<driver> (driver)% -%<package> (handling toc-files)% -%<doc> (manual)% +%<driver> (driver)% +%<package|doc> (handling toc-files)% %<*dtx> - (dtx)% + (dtx)% %</dtx> %<*dtx|package|driver|doc> - ] +] %</dtx|package|driver|doc> -%<*dtx|driver> -\IfFileExists{scrdoc.cls}{% - \documentclass[halfparskip-]{scrdoc} -}{% - \documentclass{ltxdoc} - \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% - M\kern.05em A\kern.1em-\kern.1em Script}} -} +%<*dtx> +\ifx\documentclass\undefined + \input scrdocstrip.tex + \@@input scrkernel-version.dtx + \@@input scrstrip.inc + \KOMAdefVariable{COPYRIGHTFROM}{2008} + \generate{\usepreamble\defaultpreamble + \useWarning\@gobbletwo + \file{tocbasic.tex}{% + \from{tocbasic.dtx}{doc}% + }% + } + \generate{\usepreamble\defaultpreamble + \file{tocbasic.sty}{% + \from{tocbasic.dtx}{package}% + \from{scrlogo.dtx}{logo}% + }% + }% + \@@input scrstrop.inc +\else + \let\endbatchfile\relax +\fi +\endbatchfile +%</dtx> +%<*driver> +\documentclass[halfparskip-]{scrdoc} \usepackage[latin1]{inputenc} \usepackage[english]{babel} +\usepackage{array} \usepackage{listings} \lstset{breaklines,prebreak=\mbox{$\hookleftarrow$},language=[LaTeX]TeX, basicstyle=\small} \lstnewenvironment{lstcode}[1][]{% \lstset{breaklines,prebreak=\mbox{$\hookleftarrow$},language=[LaTeX]TeX, - basicstyle=\ttfamily\small,##1}% + basicstyle=\ttfamily\small,#1}% }{} \lstnewenvironment{lstoutput}[1][]{}{} \CodelineIndex @@ -114,139 +120,7 @@ \sloppy \DocInput{\filename} \end{document} -%</dtx|driver> -%<*dtx> -}% -\else - \let\MainBodyWork\relax -\fi - -\MainBodyWork - -\def\batchfile{tocbasic.dtx} -%</dtx> -%<ins>\def\batchfile{tocbasic.ins} -%<*dtx|ins> -\input docstrip.tex - -\let\ifbeta=\iffalse - -\ifToplevel{\ifx\generate\undefined - \errhelp{Install a new version of docstrip.} - \errmessage{Old docstrip in input path} - \batchmode - \csname @@end\endcsname - \fi - \Msg{************************************************************} - \Msg{*} - \Msg{* KOMA-Script} - \Msg{* a versatile LaTeX2e bundle} - \Msg{*} - \Msg{* This is `\batchfile', a batchfile to unpack some or all} - \Msg{* parts of KOMA-Script. See `liesmich.txt' (german) or} - \Msg{* `readme.txt' (english) for additional information.} - \Msg{*} - \Msg{* Files of an old KOMA-Script installation may be} - \Msg{* overwritten without asking!} - \Msg{*} - \Msg{************************************************************} -} - -% ---------- some docstrip switchs ------------------------------------- - -\ifToplevel{% - \keepsilent - \askforoverwritefalse -} - -% ---------- defining preambles ---------------------------------------- - -\preamble - -Copyright (c) 2007-2012 -Markus Kohm and any individual authors listed elsewhere in this file. - -This file was generated from file(s) of the 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 file may only be distributed together with the files -`scrlogo.dtx' and `tocbasic.dtx'. You may however distribute the files -`scrlogo.dtx' and `tocbasic.dtx' without this file. -See also `tocbasic.dtx' for additional information. - -If this file is a beta version, you are not allowed to distribute it. - -Currently there is only a short english manual at `tocbasic.dtx', that -should also be found as `tocbasic.pdf'. - -The KOMA-Script bundle (but maybe not this file) was based upon the -LaTeX2.09 Script family created by Frank Neukam 1993 and the LaTeX2e -standard classes created by The LaTeX3 Project 1994-1996. - -\endpreamble - -% ---------- File generation ------------------------------------------- - -\generate{\usepreamble\defaultpreamble - \file{tocbasic.ins}{% - \from{tocbasic.dtx}{ins}% - }% -% \file{tocbasic.drv}{% -% \from{tocbasic.dtx}{driver}% -% }% - \file{tocbasic.tex}{% - \from{tocbasic.dtx}{doc}% - }% -} - -\generate{\usepreamble\defaultpreamble - \file{tocbasic.sty}{% - \ifbeta\from{scrbeta.dtx}{package,tocbasic}\fi - \from{tocbasic.dtx}{package}% - \from{scrlogo.dtx}{logo}% - }% -}% - -% ---------- end of docstrip process ----------------------------------- - -\ifToplevel{% - \Msg{************************************************************} - \Msg{*} - \Msg{* KOMA-Script} - \Msg{* a versatile LaTeX2e bundle} - \Msg{*} - \Msg{* To finish the installation you have to move some} - \Msg{* files into a directory searched by TeX.} - \Msg{* See INSTALL.TXT (english) or INSTALLD.TXT (german)} - \Msg{* from KOMA-Script bundle for additional information.} - \Msg{*} - \Msg{* You may also produce the implementation documentation} - \Msg{* including also a short version of the english manual.} - \Msg{* To produce it, do} - \Msg{* \space\space pdflatex tocbasic.dtx} - \Msg{* \space\space mkindex tocbasic} - \Msg{* \space\space pdflatex tocbasic.dtx} - \Msg{* after finishing the installation.} - \Msg{*} - \Msg{* Happy TeXing} - \Msg{*} - \Msg{************************************************************} -} - -\bye -%</dtx|ins> -%<*dtx> +%</driver> % \fi % % \providecommand*{\DescribeCounter}{\DescribeMacro} @@ -304,7 +178,6 @@ standard classes created by The LaTeX3 Project 1994-1996. % \maketitle % \begin{abstract} % \iffalse -%</dtx> %<*doc> \translator{Markus Kohm} @@ -333,7 +206,7 @@ packages some types of controll about these. For examples package \Package{tocbasic} delegates language control of all these tables and lists of contents to package \Package{babel}\IndexPackage{babel}%^^A %\iffalse^^A -(see \cite{package:babel})%^^A +\ (see \cite{package:babel})%^^A %\fi^^A . So automatic change of language will be provides inside all these tables and lists of contents. Using \Package{tocbasic} will @@ -733,55 +606,117 @@ Commands, that shouldn't be expanded while writing, should be prefixed by \EndIndex{Cmd}{addtoeachtocfile}% % \fi -% \iffalse + +%\iffalse^^A meta-comment \begin{Declaration} - \Macro{addcontentslinetoeachtocfile}\OParameter{owner}\Parameter{level}% - \Parameter{contentsline} +%\fi^^A meta-comment +% \DescribeMacro{\addxcontentsline} +% The command + \Macro{addxcontentsline}% + \Parameter{extension}\Parameter{level}\OParameter{number}%^^A + \Parameter{text} +%\iffalse^^A meta-comment \end{Declaration} -\BeginIndex{Cmd}{addcontentslinetoeachtocfile}% -This command -%<*dtx> +\BeginIndex{Cmd}{addxcontentsline}% +The command \Macro{addxcontentsline} +%\fi^^A meta-comment +adds an entry of given \PName{level} to toc-file with \PName{extension}. If +the \Parameter{number} is empty or omitted the entry won't have a number for +the entry with the given \PName{text}. Entries without number may be left +aligned to the number of the numbered entries of the same \PName{level} or +indented like the text of the numbered entries of the same \PName{level}, +depending on the \PValue{numberline} feature. + +\begin{Example} + Maybe you are not using a \KOMAScript{} class but need a not numbered + chapter with entry to the table of contents. This may be done using +\begin{lstcode} + \cleardoublepage + \csname phantomsection\endcsname + \addxcontentsline{toc}{chapter} + {Chapters without Numbers} + \chapter*{Chapters without Numbers} + \markboth{Chapters without Numbers}{} +\end{lstcode} + As you can see, you simply have to replace usual \Macro{addcontentsline} by + \Macro{addxcontentsline} to support the \Package{tocbasic} feature + \PValue{numberline}. +\end{Example} + +Note, that \Macro{addxcontentsline} uses +\Macro{add\PName{level}\PName{extension}entry} if such a macro exists and +\Macro{tocbasic@addxcontentsline} otherwise. Therefore you cannot define +a macro \Macro{add\PName{level}\PName{extension}entry} using +\Macro{addxcontentsline} but \Macro{tocbasic@addxcontentsline}. + +It is recommended to use \Macro{addxcontentsline} instead of +\Macro{addcontentsline} whenever possible.% +%\iffalse^^A meta-comment +\EndIndex{Cmd}{addxcontentsline} +%\fi^^A meta-comment + + +% \iffalse +\begin{Declaration} % \fi -\DescribeMacro{\addcontentslinetoeachfile} -Command \Macro{addcontentslinetoeachtocfile}\OParameter{owner}%^^A -\Parameter{level}\Parameter{contentsline} +% \DescribeMacro{\addcontentslinetoeachfile} +% \DescribeMacro{\addxcontentslinetoeachfile} +% The command + \Macro{addcontentslinetoeachtocfile}\OParameter{owner}\Parameter{level}%^^A + \Parameter{contentsline}\\ % \iffalse -%</dtx> + \Macro{addxcontentslinetoeachtocfile}\OParameter{owner}%^^A + \Parameter{level}\OParameter{number}\Parameter{text} +\end{Declaration} +\BeginIndex{Cmd}{addcontentslinetoeachtocfile}% +\BeginIndex{Cmd}{addxcontentslinetoeachtocfile}% +The first command % \fi is something like \Macro{addcontentsline} from \LaTeX{} kernel. In difference to that it writes the \PName{contentsline} not only into one file, but into all files of all known file extensions or of all known file extensions of a given owner. + +The Command \Macro{addxcontentslinetoeachtocfile}%^^A +% \OParameter{owner}\Parameter{level}\OParameter{number}\Parameter{text}%^^A +\ is similar but uses +\Macro{addxcontentsline} instead of \Macro{addcontentsline} and +therefore supports \Package{tocbasic} feature \PValue{numberline}. \begin{Example} You are a class author and want to write the chapter entry not only to the table of contents toc-file but to all toc-files, while \texttt{\#1} is the title, that should be written to the files. \begin{lstcode} - \addcontentslinetoeachtocfile{chapter}{% - \protect\numberline{\thechapter}#1} + \addxcontentslinetoeachtocfile + {chapter}[\thechapter]{#1}% \end{lstcode} In this case the current chapter number should be expanded while writing into the file. So it isn't protected from expansion using \Macro{protect}. \end{Example} -While writing -\Macro{@currext}\IndexCmd{@currext}\important{\Macro{@currext}} is the file -extension of the file into which \PName{contentsline} will be written. +While writing \Macro{@currext}\IndexCmd{@currext}\important{\Macro{@currext}} +is the file extension of the file into which \PName{contentsline} will be +written. + +It is recommended to use \Macro{addxcontentslinetoeachtocfile} instead +of \Macro{addcontentslinetoeachtocfile} whenever possible. % \iffalse +\EndIndex{Cmd}{addxcontentslinetoeachtocfile}% \EndIndex{Cmd}{addcontentslinetoeachtocfile}% % \fi + % \iffalse %<*dtx> % \fi -\DescribeMacro{\listoftoc} -\DescribeMacro{\listoftoc*} -\DescribeMacro{\listofeachtoc} +\DescribeMacro{\listoftoc}%^^A +\DescribeMacro{\listoftoc*}%^^A +\DescribeMacro{\listofeachtoc}%^^A Commands % \iffalse %</dtx> \begin{Declaration} % \fi - \Macro{listoftoc}\OParameter{list of title}\Parameter{extension} + \Macro{listoftoc}\OParameter{list of title}\Parameter{extension}%^^A % \iffalse \\ %<*dtx> @@ -790,7 +725,7 @@ Commands % \iffalse %</dtx> % \fi - \Macro{listoftoc*}\Parameter{extension} + \Macro{listoftoc*}\Parameter{extension}%^^A % \iffalse \\ %<*dtx> @@ -799,7 +734,7 @@ Commands % \iffalse %</dtx> % \fi - \Macro{listofeachtoc}\OParameter{owner} + \Macro{listofeachtoc}\OParameter{owner}%^^A % \iffalse \\ %<*dtx> @@ -1128,6 +1063,11 @@ features. \Package{tocbasic} does know following features: \OptionValue{listof}{numbered}\important{\OptionValue{listof}{numbered}}% \IndexOption{listof~=\PValue{numbered}} for all file extensions of the owner \PValue{float}. +\item[\texttt{numberline}] \leavevmode\ChangedAt{v3.12}{\Package{tocbasic}}% + redefines \Macro{nonumberline} to use \Macro{numberline}. With this the not + numbered entries generated by \KOMAScript{} or using \Macro{nonumberline} at + the very beginning of the last argument of \Macro{addcontentline} will also + be indented like numbered entries of the same type. \item[\texttt{onecolumn}] \leavevmode\ChangedAt{v3.01}{\Package{tocbasic}}% typesets the corresponding table of contents or list of something with internal one column mode of @@ -1469,6 +1409,26 @@ be defined and used in \Macro{tocbasic@listhead} automatically. \EndIndex{Cmd}{tocbasic@listhead@\PName{extension}}% % \fi +%\iffalse^^A meta-comment +\begin{Declaration} +%\fi^^A meta-comment +% \DescribeMacro{\tocbasic@addxcontentsline} +% The command + \Macro{tocbasic@addxcontentsline}% + \Parameter{extension}\Parameter{level}\Parameter{number}\Parameter{text} +%\iffalse^^A meta-comment +\end{Declaration} +\BeginIndex{Cmd}{tocbasic@addxcontentsline}% +This command +%\fi^^A meta-comment +uses \Macro{addcontentsline} to either create a numbered or not numbered text +entry to toc-file with given \PName{extension}. Note, that all parameters of +\Macro{tocbasic@addxcontentsline} are mandatory. But you may use an +empty \PName{number} argument, if you don't want a number. +%\iffalse^^A meta-comment +\EndIndex{Cmd}{tocbasic@addxcontentsline} +%\fi^^A meta-comment + \section{A Complete Example} \label{sec:tocbasic.example} @@ -1799,6 +1759,81 @@ may be found in \autoref{tab:tocbasic.DeclareNewTOC-options}. additionally, then a non-floating environment \Environment{remarkbox-} will be also defined. You may use \Macro{caption}\IndexCmd{caption} inside of that non-floating environment as usual for floating environments. +%\iffalse + \hyperref[tab:tocbasic.comparison]{Figure~\ref*{tab:tocbasic.comparison}} + showes a comparison of the commands, counters and environments of the + example environment \Environment{remarkbox} and of the commands, counters + and environments for figures.% + \begin{table} + \centering + \caption{Comparison of example environment \Environment{remarkbox} + and environment \Environment{figure}} + \label{tab:tocbasic.comparison} + \begin{tabularx}{\textwidth}{ll>{\raggedright}p{6em}X} + \toprule + \Environment{remarkbox} & \Environment{figure} + & options of \Macro{DeclareNewTOC} & short description \\[1ex] + \midrule + \Environment{remarkbox} & \Environment{figure} + & \Option{type}, \Option{float} + & floating environments of the respective types\\[1ex] + \Environment{remarkbox*} & \Environment{figure*} + & \Option{type}, \Option{float} + & columns spanning floating environments of the respective types\\[1ex] + \Counter{remarkbox} & \Counter{figure} + & \Option{type}, \Option{float} + & counter used by \Macro{caption}\\[1ex] + \Macro{theremarkbox} & \Macro{thefigure} + & \Option{type}, \Option{float} + & output command to the respective counters\\[1ex] + \Macro{remarkboxformat} & \Macro{figureformat} + & \Option{type}, \Option{float} + & formating command to the respective counters used by + \Macro{caption}\\[1ex] + \Macro{remarkboxname} & \Macro{figurename} + & \Option{type}, \Option{float}, \Option{name} + & names used in the label of \Macro{caption}\\[1ex] + \Macro{listofremarkboxes} & \Macro{listoffigures} + & \Option{types}, \Option{float} + & command to show the list of the respective environments\\[1ex] + \Macro{listremarboxname} & \Macro{listfigurename} + & \Option{type}, \Option{float}, \Option{listname} + & heading text of the respective list \\[1ex] + \Macro{fps@remarkbox} & \Macro{fps@figure} + & \Option{type}, \Option{float}, \Option{floattype} + & numeric float type for order perputation\\[1ex] + \File{lor} & \File{lof} + & + & file extension of the helper file of the respective list \\ + \bottomrule + \end{tabularx} + \end{table} +%\fi + + And now a possible usage of the example environment: +\begin{lstcode} + \begin{remarkbox} + \centering + Equal should be typeset equally + and with equal formatting. + \caption{First theorem of typography} + \label{rem:typo1} + \end{remarkbox} +\end{lstcode} + A segment of an example page with this environment could be: + \begin{center}\footnotesize + \begin{tabular} + {|!{\hspace{.1\linewidth}}p{.55\linewidth}!{\hspace{.1\linewidth}}|} + \\ + \centering + Equal should be typeset equally + and with equal formatting.\\[\abovecaptionskip] + {% + \usekomafont{caption}\footnotesize{\usekomafont{captionlabel}% + Remark 1: }First theorem of typography + }\\ + \end{tabular}% + \end{center}% \end{Example} % \iffalse \EndIndex{Cmd}{DeclareNewTOC}% @@ -2142,6 +2177,11 @@ may be found in \autoref{tab:tocbasic.DeclareNewTOC-options}. % \end{macro} % \end{macro} % +% \subsection{Adding Entries into Toc-Files} +% +% We have a new general command to add entries to several toc-files at +% once. And we have some special commands for the table of contents. +% % \begin{macro}{\addcontentslinetoeachtocfile} % Something like a combination of \cs{addtoeachtocfile} and % \cs{addcontentsline}. @@ -2159,6 +2199,99 @@ may be found in \autoref{tab:tocbasic.DeclareNewTOC-options}. % \end{macrocode} % \end{macro} % +% \begin{macro}{\addxcontentsline} +% \changes{v3.12}{2013/09/24}{new} +% \changes{v3.12}{2013/09/24}{Take care of new feature \texttt{numberline}} +% \begin{macro}{\@addxcontentsline} +% \changes{v3.12}{2013/09/24}{new (internal)} +% This will be used instead of \cs{addcontentsline} to generate numbered or +% not numbered entries to a toc-file. First argument is the toc-file, second +% the entry type, e.g., \texttt{chapter}, the third is the entry number or +% empty and the fourth and last is the entry text. +% \begin{macrocode} +\newcommand*{\addxcontentsline}[2]{% + \@ifnextchar [%] + {\@addxcontentsline{#1}{#2}}% + {\@addxcontentsline{#1}{#2}[]}% +} +\newcommand*{\@addxcontentsline}{} +\def\@addxcontentsline#1#2[#3]#4{% + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname add#2#1entry\endcsname\relax + \tocbasic@addxcontentsline{#1}{#2}{#3}{#4}% + \else + \@nameuse{add#2#1entry}{#3}{#4}% + \fi +} +% \end{macrocode} +% \begin{macro}{\nonumberline} +% \changes{v3.12}{2013/09/24}{new} +% Either \cs{relax} or \cs{numberline} depending on the feature +% \texttt{numberline}. +% \begin{macrocode} +\newcommand*{\nonumberline}{}% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\addxcontentsline} +% This may be used to either use a heading type command or the general default +% one. You are not allowed to use it in the definition of a heading type +% command like \cs{addchaptertocentry}! You may use +% \cs{tocbasic@addxcontentsline} at the definition of those commands. +% \begin{macrocode} +\newcommand*{\tocbasic@addxcontentsline}[4]{% + \if\relax\detokenize{#3}\relax + \addcontentsline{#1}{#2}{\protect\nonumberline#4}% + \else + \addcontentsline{#1}{#2}{\protect\numberline{#3}#4}% + \fi +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\addxcontentslinetoeachtocfile} +% \changes{v3.12}{2013/09/24}{new} +% \begin{macro}{\@addxcontentslinetoeachtocfile} +% \changes{v3.12}{2013/09/24}{new (internal)} +% \begin{macro}{\@@addxcontentslinetoeachtocfile} +% \changes{v3.12}{2013/09/24}{new (internal)} +% \begin{macro}{\@@@addxcontentslinetoeachtocfile} +% \changes{v3.12}{2013/09/24}{new (internal)} +% \begin{macro}{\@@@@addxcontentslinetoeachtocfile} +% \changes{v3.12}{2013/09/24}{new (internal)} +% Similar to \cs{addcontentslinetoeachtocfile} using +% \cs{addxcontentsline} instead of \cs{addcontentsline}. +% \begin{macrocode} +\newcommand{\addxcontentslinetoeachtocfile}{% + \@ifnextchar [%] + \@addxcontentslinetoeachtocfile\@@addxcontentslinetoeachtocfile +} +\newcommand{\@addxcontentslinetoeachtocfile}[2][]{% + \@ifnextchar [%] + {\@@@addxcontentslinetoeachtocfile[{#1}]{#2}}% + {\@@@addxcontentslinetoeachtocfile[{#1}]{#2}[]} +} +\newcommand*{\@@@addxcontentslinetoeachtocfile}{} +\def\@@@addxcontentslinetoeachtocfile[#1]#2[#3]#4{% + \doforeachtocfile[{#1}]{\addxcontentsline{\@currext}{#2}[#3]{#4}}% +} +\newcommand{\@@addxcontentslinetoeachtocfile}[1]{% + \@ifnextchar [%] + {\@@@@addxcontentslinetoeachtocfile{#1}}% + {\@@@@addxcontentslinetoeachtocfile{#1}[]}% +} +\newcommand*{\@@@@addxcontentslinetoeachtocfile}{} +\def\@@@@addxcontentslinetoeachtocfile#1[#2]#3{% + \doforeachtocfile{\addxcontentsline{\@currext}{#1}[{#2}]{#3}}% +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% % % \subsection{Show List of Toc-File} % \label{sec:showlistoftocfile} @@ -2277,6 +2410,7 @@ may be found in \autoref{tab:tocbasic.DeclareNewTOC-options}. \fi }% }{}% + \iftocfeature{\@currext}{numberline}{\def\nonumberline{\numberline{}}}{}% \tocbasic@listhead{#1}% \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname microtypesetup\endcsname\relax @@ -2322,8 +2456,10 @@ may be found in \autoref{tab:tocbasic.DeclareNewTOC-options}. % \end{macro} % % \begin{macro}{\tocbasic@listhead} -% \changes{v3.02a}{2009/01/20}{no explicite marks if ``numbered''} -% \changes{v3.09a}{2011/04/12}{again no explicite marks if ``numbered''} +% \changes{v3.02a}{2009/01/20}{no explicite marks if ``numbered''}% +% \changes{v3.09a}{2011/04/12}{again no explicite marks if ``numbered''}% +% \changes{v3.12}{2013/09/24}{usage of new +% \cs{tocbasic@addxcontentsline}}% % Setting the headings of a list of something. The heading is the only % argument. % \begin{macrocode} @@ -2339,7 +2475,7 @@ may be found in \autoref{tab:tocbasic.DeclareNewTOC-options}. \subsection*{##1}% \ifx\@mkboth\@gobbletwo\else\markright{\MakeMarkcase{##1}}\fi \iftocfeature{\@currext}{totoc}{% - \addcontentsline{toc}{subsection}{##1}% + \addxcontentsline{toc}{subsection}{##1}% }{}% }% }{% @@ -2349,7 +2485,7 @@ may be found in \autoref{tab:tocbasic.DeclareNewTOC-options}. \section*{##1}% \@mkboth{\MakeMarkcase{##1}}{\MakeMarkcase{##1}}% \iftocfeature{\@currext}{totoc}{% - \addcontentsline{toc}{section}{##1}% + \addxcontentsline{toc}{section}{##1}% }{}% }% }% @@ -2362,7 +2498,7 @@ may be found in \autoref{tab:tocbasic.DeclareNewTOC-options}. }{% \section*{##1}% \iftocfeature{\@currext}{totoc}{% - \addcontentsline{toc}{section}{##1}% + \addxcontentsline{toc}{section}{##1}% }{}% \ifx\@mkboth\@gobbletwo\else\markright{\MakeMarkcase{##1}}\fi }% @@ -2373,7 +2509,7 @@ may be found in \autoref{tab:tocbasic.DeclareNewTOC-options}. \chapter*{##1}% \@mkboth{\MakeMarkcase{##1}}{\MakeMarkcase{##1}}% \iftocfeature{\@currext}{totoc}{% - \addcontentsline{toc}{chapter}{##1}% + \addxcontentsline{toc}{chapter}{##1}% }{}% }% }% @@ -2451,6 +2587,8 @@ may be found in \autoref{tab:tocbasic.DeclareNewTOC-options}. % \begin{description} % \item[\texttt{totoc}] writes the title of the list of to the table of % contents +% \item[\texttt{numberline}] redefines \cs{nonumberline} to use +% \cs{numberline} % \item[\texttt{numbered}] uses a numbered headings for the list of % \item[\texttt{leveldown}] uses not the top level heading (e.\,g., % \cs{chapter} with book) but the first sub level (e.\,g., \cs{section} with @@ -2521,10 +2659,14 @@ may be found in \autoref{tab:tocbasic.DeclareNewTOC-options}. % \changes{v1.0a}{2008/11/11}{use of \cs{addtotoclist} instead of internal}% % \changes{v3.07a}{2010/11/25}{fix: added missing % \cs{let}\cs{@starttoc}\cs{tocbasic@starttoc}}% -% \Package{tocbasic} can overtake \Macro{@starttoc} to automaticly add all -% used extensions to the list of known extensions and use -% \Macro{tocbasic@starttoc} instead of \Macro{@starttoc} from \LaTeX{} -% kernel. +% \Package{tocbasic} can overtake \Macro{@starttoc} to automaticly add all +% used extensions to the list of known extensions and use +% \Macro{tocbasic@starttoc} instead of \Macro{@starttoc} from \LaTeX{} +% kernel. Please note, that we don't need a fix for the unfriendly +% redefinition of \Macro{@starttoc} by \Package{hyperref}, because hyperref +% does it only at the first \LaTeX{} run. So this action of \Package{hyperref} +% may only result in the need of one more \LaTeX{} run, but not in a permanent +% mistake. % \begin{macrocode} \newcommand*{\tocbasicautomode}{% \let\tb@saved@starttoc\@starttoc @@ -2692,20 +2834,22 @@ may be found in \autoref{tab:tocbasic.DeclareNewTOC-options}. % \end{macrocode} % \end{macro} % \begin{macro}{\tb@nt@atbegin} -% \changes{v3.09}{new optional identifier \texttt{atbegin}} +% \changes{v3.09}{2011/03/01}{new optional identifier \texttt{atbegin}} +% \changes{v3.11c}{2013/02/01}{\texttt{atbegin} argument may be empty} % Additional code executed at the begin of a new defined environment. % \begin{macrocode} \define@key{tocbasic}{atbegin}{% - \tb@ifvalueisnotempty{atbegin}{#1}{\def\tb@nt@atbegin{#1}}% + \def\tb@nt@atbegin{#1}% } % \end{macrocode} % \end{macro} % \begin{macro}{\tb@nt@atend} -% \changes{v3.09}{new optional identifier \texttt{atbend}} +% \changes{v3.09}{2011/03/01}{new optional identifier \texttt{atbend}} +% \changes{v3.11c}{2013/02/01}{\texttt{atend} argument may be empty} % Additional code executed at the end of a new defined environment. % \begin{macrocode} \define@key{tocbasic}{atend}{% - \tb@ifvalueisnotempty{atend}{#1}{\def\tb@nt@atend{#1}}% + \def\tb@nt@atend{#1}% } % \end{macrocode} % \end{macro} @@ -2770,6 +2914,13 @@ may be found in \autoref{tab:tocbasic.DeclareNewTOC-options}. }% }\@tempa % \end{macrocode} +% \changes{v3.12}{2013/05/03}{fixed: definition of +% \cs{listof\meta{type}entryname} added as explained in the manual} +% \begin{macrocode} + \@ifundefined{listof\tb@nt@ext entryname}{% + \expandafter\let\csname listof\tb@nt@ext entryname\endcsname\tb@nt@name + }{}% +% \end{macrocode} % The setup command: % \begin{macrocode} \begingroup\edef\@tempa{\endgroup @@ -2781,20 +2932,24 @@ may be found in \autoref{tab:tocbasic.DeclareNewTOC-options}. % \end{macrocode} % The float environments: % \changes{v3.09a}{2011/05/30}{fixed: floats may have an optional argument} +% \changes{v3.12}{2013/12/10}{fixed: usage of default placement} % \begin{macrocode} \iftb@float \expandafter\newcommand\expandafter*\csname fps@\tb@nt@type\expandafter - \endcsname{\tb@nt@floatpos}% + \endcsname\expandafter{\tb@nt@floatpos}% \expandafter\newcommand\expandafter*\csname ftype@\tb@nt@type\expandafter - \endcsname{\tb@nt@floattype}% + \endcsname\expandafter{\tb@nt@floattype}% \begingroup \edef\@tempa{% \noexpand\endgroup \noexpand\newenvironment{\tb@nt@type}{% \noexpand\@ifnextchar[%] {\noexpand\tb@atbegin@after\noexpand\@float{\tb@nt@type}}% - {\noexpand\tb@atbegin@after\noexpand\@float{\tb@nt@type}% - [\expandafter\noexpand\csname fps@\tb@nt@type\endcsname]}% + {\noexpand\edef\noexpand\reserved@a{% + \noexpand\noexpand\noexpand\tb@atbegin@after + \noexpand\noexpand\noexpand\@float{\tb@nt@type}% + [\noexpand\csname fps@\tb@nt@type\noexpand\endcsname]}% + \noexpand\reserved@a}% }{% \noexpand\csname \tb@nt@type @atend\noexpand\endcsname \noexpand\end@float @@ -2802,8 +2957,11 @@ may be found in \autoref{tab:tocbasic.DeclareNewTOC-options}. \noexpand\newenvironment{\tb@nt@type*}{% \noexpand\@ifnextchar[%] {\noexpand\tb@atbegin@after\noexpand\@dblfloat{\tb@nt@type}}% - {\noexpand\tb@atbegin@after\noexpand\@dblfloat{\tb@nt@type}% - [\expandafter\noexpand\csname fps@\tb@nt@type\endcsname]}% + {\noexpand\edef\noexpand\reserved@a{% + \noexpand\noexpand\noexpand\tb@atbegin@after + \noexpand\noexpand\noexpand\@dblfloat{\tb@nt@type}% + [\noexpand\csname fps@\tb@nt@type\noexpand\endcsname]}% + \noexpand\reserved@a}% }{% \noexpand\csname \tb@nt@type @atend\noexpand\endcsname \noexpand\end@dblfloat @@ -2957,8 +3115,9 @@ may be found in \autoref{tab:tocbasic.DeclareNewTOC-options}. %<*load> % Used at \KOMAScript{} packages and classes to load the package. % \begin{macrocode} -\edef\@tempa{\noexpand\RequirePackage{tocbasic}[\tocbasicversion]} -\@tempa +\RequirePackage{tocbasic}[% +%!KOMAScriptVersion +] % \end{macrocode} % %<*class> diff --git a/Master/texmf-dist/source/latex/koma-script/tocstyle.dtx b/Master/texmf-dist/source/latex/koma-script/tocstyle.dtx index d5974d1863b..a47ca21191d 100644 --- a/Master/texmf-dist/source/latex/koma-script/tocstyle.dtx +++ b/Master/texmf-dist/source/latex/koma-script/tocstyle.dtx @@ -1,8 +1,8 @@ -% \CheckSum{1667} +% \CheckSum{1699} % \iffalse meta-comment % ====================================================================== % tocstyle.dtx -% Copyright (c) Markus Kohm, 2007-2012 +% Copyright (c) Markus Kohm, 2007-2013 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -29,7 +29,7 @@ % at least three times. % ---------------------------------------------------------------------- % tocstyle.dtx -% Copyright (c) Markus Kohm, 2007-2012 +% Copyright (c) Markus Kohm, 2007-2013 % % Diese Datei ist Teil des LaTeX2e KOMA-Script-Pakets. % @@ -75,11 +75,11 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: tocstyle.dtx +%%% From File: $Id: tocstyle.dtx 1562 2013-12-19 07:51:16Z mjk $ %<*dtx> % \fi \def\LaTeXformat{LaTeX2e} -\let\ifbeta=\iffalse +\let\ifbeta=\iffalse % with = will be replaced by release process \ifx\fmtname\LaTeXformat\else % \iffalse %</dtx> @@ -104,7 +104,7 @@ \preamble -Copyright (c) 2007-2012 by Markus Kohm <komascript(at)gmx.info> +Copyright (c) 2007-2013 by Markus Kohm <komascript(at)gmx.info> Copyright (c) 1994-2007 Markus Kohm and any individual authors listed elsewhere in this file. @@ -203,7 +203,7 @@ THERE IS NO SUPPORT, IF YOU USE THIS PACKAGE! %<driver>\ProvidesFile{tocstyle.drv} %<doc>\ProvidesFile{tocstyle.tex} %<*dtx|package|driver|doc> - [2009/11/09 v0.2d-alpha LaTeX2e KOMA-Script package (versatile toc styles)] + [2013/08/11 v0.2e-alpha LaTeX2e KOMA-Script package (versatile toc styles)] %</dtx|package|driver|doc> %<*driver> \documentclass{scrdoc} @@ -1686,7 +1686,7 @@ usefull to define your own toc styles. % \end{macro} % \end{macro} % -% \begin{macro}{tocstyle@set@width} +% \begin{macro}{\tocstyle@set@width} % \changes{v3.05}{2009/11/11}{improve handling of standard classes} % Some classes do not use \cs{numberline}. This may result in negativ widths % (esp. negativ skips). Following special handling of negativ values improves @@ -2061,6 +2061,8 @@ usefull to define your own toc styles. % \end{macro} % % \subsubsection{Defining Some TOC Styles} +% \changes{v0.2e}{2013/08/11}{usage of new font elements of \KOMAScript\space +% at \texttt{KOMAlike}} % % \begin{macrocode} \newtocstyle{standard}{% @@ -2070,12 +2072,7 @@ usefull to define your own toc styles. \settocfeature[-1]{leaders}{\hfill}% \settocfeature[0]{entryvskip}{1em\@plus\p@}% \settocfeature[0]{leaders}{\hfill}% - \settocfeature[0]{entryhook}{% - \begingroup - \edef\@tempa{toc}% - \ifx\tocstyleAliasTOC\@tempa\aftergroup\bfseries\fi - \endgroup - }% + \settocfeature[0]{entryhook}{\bfseries} \iftochaschapter\else \settocfeature[1]{entryvskip}{1em\@plus\p@}% \settocfeature[1]{leaders}{\hfill}% @@ -2088,27 +2085,34 @@ usefull to define your own toc styles. \fi } \begingroup\expandafter\expandafter\expandafter\endgroup -\expandafter\ifx\csname sectfont\endcsname\relax +\expandafter\ifx\csname KOMAClassName\endcsname\relax \newtocstyle{KOMAlike}{% \settocfeature{dothook}{\normalfont}% \settocfeature[-1]{entryhook}{\sffamily\bfseries}% \settocfeature[-1]{entryvskip}{2.25em\@plus\p@}% \settocfeature[-1]{leaders}{\hfill}% + \settocfeature[-1]{pagenumberhook}{\sffamily\bfseries}% \settocfeature[0]{entryvskip}{1em\@plus\p@}% \settocfeature[0]{leaders}{\hfill}% - \settocfeature[0]{entryhook}{% - \begingroup - \edef\@tempa{toc}% - \ifx\tocstyleAliasTOC\@tempa\aftergroup\sffamily\bfseries\fi - \endgroup - }% + \settocfeature[0]{entryhook}{\sffamily\bfseries} + \settocfeature[0]{pagenumberhook}{\sffamily\bfseries}% \iftochaschapter\else \settocfeature[1]{entryvskip}{1em\@plus\p@}% \settocfeature[1]{leaders}{\hfill}% \settocfeature[1]{entryhook}{% \begingroup \edef\@tempa{toc}% - \ifx\tocstyleAliasTOC\@tempa\aftergroup\sffamily\bfseries\fi + \ifx\tocstyleAliasTOC\@tempa + \aftergroup\sffamily\aftergroup\bfseries + \fi + \endgroup + }% + \settocfeature[1]{pagenumberhook}{% + \begingroup + \edef\@tempa{toc}% + \ifx\tocstyleAliasTOC\@tempa + \aftergroup\sffamily\aftergroup\bfseries + \fi \endgroup }% \fi @@ -2116,31 +2120,47 @@ usefull to define your own toc styles. \else \newtocstyle{KOMAlike}{% \settocfeature{dothook}{\normalfont}% - \settocfeature[-1]{entryhook}{\sectfont}% + \settocfeature[-1]{entryhook}{\usekomafont{partentry}}% \settocfeature[-1]{entryvskip}{2.25em\@plus\p@}% \settocfeature[-1]{leaders}{\hfill}% + \settocfeature[-1]{pagenumberhook}{\usekomafont{partentrypagenumber}}% \settocfeature[0]{entryvskip}{1em\@plus\p@}% \settocfeature[0]{leaders}{\hfill}% - \settocfeature[0]{entryhook}{% - \begingroup - \edef\@tempa{toc}% - \ifx\tocstyleAliasTOC\@tempa\aftergroup\sectfont\fi - \endgroup - }% + \settocfeature[0]{entryhook}{\usekomafont{chapterentry}}% + \settocfeature[0]{pagenumberhook}{\usekomafont{chapterentrypagenumber}}% \iftochaschapter\else \settocfeature[1]{entryvskip}{1em\@plus\p@}% \settocfeature[1]{leaders}{\hfill}% \settocfeature[1]{entryhook}{% \begingroup \edef\@tempa{toc}% - \ifx\tocstyleAliasTOC\@tempa\aftergroup\sectfont\fi - \endgroup + \ifx\tocstyleAliasTOC\@tempa + \def\@tempa{\endgroup\usekomafont{sectionentry}}% + \else + \let\@tempa\endgroup + \fi + \@tempa + }% + \settocfeature[1]{pagenumberhook}{% + \begingroup + \edef\@tempa{toc}% + \ifx\tocstyleAliasTOC\@tempa + \def\@tempa{\endgroup\usekomafont{sectionentrypagenumber}}% + \else + \let\@tempa\endgroup + \fi + \@tempa }% \fi } \fi \newcommand*{\tocstyle@deprecated@style@KOMAScript}{KOMAlike}% \newtocstyle[KOMAlike]{classic}{% + \settocfeature[-1]{pagenumberhook}{\normalfont\normalcolor}% + \settocfeature[0]{pagenumberhook}{\normalfont\normalcolor}% + \iftochaschapter\else + \settocfeature[1]{pagenumberhook}{\normalfont\normalcolor}% + \fi \settocfeature{pagenumberhook}{\normalfont\normalcolor}% \settocfeature{raggedhook}{\raggedright}% } diff --git a/Master/texmf-dist/tex/latex/koma-script/DIN.lco b/Master/texmf-dist/tex/latex/koma-script/DIN.lco index 0d9f3459735..3216db72798 100644 --- a/Master/texmf-dist/tex/latex/koma-script/DIN.lco +++ b/Master/texmf-dist/tex/latex/koma-script/DIN.lco @@ -1,15 +1,14 @@ %% %% This is file `DIN.lco', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `trace') -%% scrklco.dtx (with options: `lco,DIN,head') -%% scrklco.dtx (with options: `lco,DIN,body') +%% scrkernel-version.dtx (with options: `trace') +%% scrkernel-letterclassoptions.dtx (with options: `lco,DIN,head') +%% scrkernel-letterclassoptions.dtx (with options: `lco,DIN,body') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -41,9 +40,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -63,9 +62,9 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup -%%% From File: scrklco.dtx +%%% From File: $Id: scrkernel-letterclassoptions.dtx 1499 2013-11-05 17:22:29Z mjk $ \ProvidesFile{% DIN% .lco}[\KOMAScriptVersion\space letter-class-option] @@ -79,7 +78,7 @@ Letter class option #1 Warning: #2% }% } -%%% From File: scrklco.dtx +%%% From File: $Id: scrkernel-letterclassoptions.dtx 1499 2013-11-05 17:22:29Z mjk $ \@ifundefined{scr@fromname@var}{% \LCOWarningNoLine{% DIN% diff --git a/Master/texmf-dist/tex/latex/koma-script/DINmtext.lco b/Master/texmf-dist/tex/latex/koma-script/DINmtext.lco index e54354e155d..64479025bc2 100644 --- a/Master/texmf-dist/tex/latex/koma-script/DINmtext.lco +++ b/Master/texmf-dist/tex/latex/koma-script/DINmtext.lco @@ -1,15 +1,14 @@ %% %% This is file `DINmtext.lco', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `trace') -%% scrklco.dtx (with options: `lco,DINmoretext,head') -%% scrklco.dtx (with options: `lco,DINmoretext,body') +%% scrkernel-version.dtx (with options: `trace') +%% scrkernel-letterclassoptions.dtx (with options: `lco,DINmoretext,head') +%% scrkernel-letterclassoptions.dtx (with options: `lco,DINmoretext,body') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -41,9 +40,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -63,9 +62,9 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup -%%% From File: scrklco.dtx +%%% From File: $Id: scrkernel-letterclassoptions.dtx 1499 2013-11-05 17:22:29Z mjk $ \ProvidesFile{% DINmtext% .lco}[\KOMAScriptVersion\space letter-class-option] @@ -79,7 +78,7 @@ Letter class option #1 Warning: #2% }% } -%%% From File: scrklco.dtx +%%% From File: $Id: scrkernel-letterclassoptions.dtx 1499 2013-11-05 17:22:29Z mjk $ \@ifundefined{scr@fromname@var}{% \LCOWarningNoLine{% DINmtext% diff --git a/Master/texmf-dist/tex/latex/koma-script/KOMAold.lco b/Master/texmf-dist/tex/latex/koma-script/KOMAold.lco index e6102dfd0ba..6d00cc1cfcc 100644 --- a/Master/texmf-dist/tex/latex/koma-script/KOMAold.lco +++ b/Master/texmf-dist/tex/latex/koma-script/KOMAold.lco @@ -1,16 +1,15 @@ %% %% This is file `KOMAold.lco', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `trace') -%% scrklco.dtx (with options: `lco,KOMAold,head') -%% scrklco.dtx (with options: `lco,KOMAold,body') -%% scrknpap.dtx (with options: `lco,KOMAold,body') +%% scrkernel-version.dtx (with options: `trace') +%% scrkernel-letterclassoptions.dtx (with options: `lco,KOMAold,head') +%% scrkernel-letterclassoptions.dtx (with options: `lco,KOMAold,body') +%% scrkernel-notepaper.dtx (with options: `lco,KOMAold,body') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -42,9 +41,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -64,9 +63,9 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup -%%% From File: scrklco.dtx +%%% From File: $Id: scrkernel-letterclassoptions.dtx 1499 2013-11-05 17:22:29Z mjk $ \ProvidesFile{% KOMAold% .lco}[\KOMAScriptVersion\space letter-class-option] @@ -80,7 +79,7 @@ Letter class option #1 Warning: #2% }% } -%%% From File: scrklco.dtx +%%% From File: $Id: scrkernel-letterclassoptions.dtx 1499 2013-11-05 17:22:29Z mjk $ \@ifundefined{scr@fromname@var}{% \LCOWarningNoLine{% KOMAold% @@ -205,7 +204,7 @@ \@ObsoleteCommand{\subjectafteron}{subject=afteropening}} \def\subjectafteroff{% \@ObsoleteCommand{\subjectafteroff}{subject=beforeopening}} -%%% From File: scrknpap.dtx +%%% From File: $Id: scrkernel-notepaper.dtx 1380 2013-10-01 15:31:55Z mjk $ \def\setpresigskip{\@setplength{sigbeforevskip}} \endinput %% diff --git a/Master/texmf-dist/tex/latex/koma-script/KakuLL.lco b/Master/texmf-dist/tex/latex/koma-script/KakuLL.lco index 09b2213e3fb..795903d6b2f 100644 --- a/Master/texmf-dist/tex/latex/koma-script/KakuLL.lco +++ b/Master/texmf-dist/tex/latex/koma-script/KakuLL.lco @@ -1,15 +1,14 @@ %% %% This is file `KakuLL.lco', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `trace') +%% scrkernel-version.dtx (with options: `trace') %% japanlco.dtx (with options: `lco,Kaku,LATE,LOW,head') %% japanlco.dtx (with options: `lco,Kaku,LATE,LOW,body') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -41,9 +40,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -63,9 +62,9 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup -%%% From File: japanlco.dtx +%%% From File: $Id: japanlco.dtx 1380 2013-10-01 15:31:55Z mjk $ \ProvidesFile{% Kaku% L% @@ -81,7 +80,7 @@ Letter class option #1 Warning: #2% }% } -%%% From File: japanlco.dtx +%%% From File: $Id: japanlco.dtx 1380 2013-10-01 15:31:55Z mjk $ \@ifundefined{scr@fromname@var}{% \LCOWarningNoLine{% Kaku% diff --git a/Master/texmf-dist/tex/latex/koma-script/NF.lco b/Master/texmf-dist/tex/latex/koma-script/NF.lco index 9ae2a60ef08..6ec1eeead31 100644 --- a/Master/texmf-dist/tex/latex/koma-script/NF.lco +++ b/Master/texmf-dist/tex/latex/koma-script/NF.lco @@ -1,15 +1,14 @@ %% %% This is file `NF.lco', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `trace') -%% scrklco.dtx (with options: `lco,NF,head') -%% scrklco.dtx (with options: `lco,NF,body') +%% scrkernel-version.dtx (with options: `trace') +%% scrkernel-letterclassoptions.dtx (with options: `lco,NF,head') +%% scrkernel-letterclassoptions.dtx (with options: `lco,NF,body') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -41,9 +40,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -63,9 +62,9 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup -%%% From File: scrklco.dtx +%%% From File: $Id: scrkernel-letterclassoptions.dtx 1499 2013-11-05 17:22:29Z mjk $ \ProvidesFile{% NF% .lco}[\KOMAScriptVersion\space letter-class-option] @@ -79,7 +78,7 @@ Letter class option #1 Warning: #2% }% } -%%% From File: scrklco.dtx +%%% From File: $Id: scrkernel-letterclassoptions.dtx 1499 2013-11-05 17:22:29Z mjk $ \@ifundefined{scr@fromname@var}{% \LCOWarningNoLine{% NF% diff --git a/Master/texmf-dist/tex/latex/koma-script/NipponEH.lco b/Master/texmf-dist/tex/latex/koma-script/NipponEH.lco index fa887a73763..e807d164226 100644 --- a/Master/texmf-dist/tex/latex/koma-script/NipponEH.lco +++ b/Master/texmf-dist/tex/latex/koma-script/NipponEH.lco @@ -1,15 +1,14 @@ %% %% This is file `NipponEH.lco', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `trace') +%% scrkernel-version.dtx (with options: `trace') %% japanlco.dtx (with options: `lco,Ni,EARLY,HIGH,head') %% japanlco.dtx (with options: `lco,Ni,EARLY,HIGH,body') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -41,9 +40,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -63,9 +62,9 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup -%%% From File: japanlco.dtx +%%% From File: $Id: japanlco.dtx 1380 2013-10-01 15:31:55Z mjk $ \ProvidesFile{% Nippon% E% @@ -81,7 +80,7 @@ Letter class option #1 Warning: #2% }% } -%%% From File: japanlco.dtx +%%% From File: $Id: japanlco.dtx 1380 2013-10-01 15:31:55Z mjk $ \@ifundefined{scr@fromname@var}{% \LCOWarningNoLine{% Nippon% diff --git a/Master/texmf-dist/tex/latex/koma-script/NipponEL.lco b/Master/texmf-dist/tex/latex/koma-script/NipponEL.lco index e6fefa0465e..33118546d19 100644 --- a/Master/texmf-dist/tex/latex/koma-script/NipponEL.lco +++ b/Master/texmf-dist/tex/latex/koma-script/NipponEL.lco @@ -1,15 +1,14 @@ %% %% This is file `NipponEL.lco', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `trace') +%% scrkernel-version.dtx (with options: `trace') %% japanlco.dtx (with options: `lco,Ni,EARLY,LOW,head') %% japanlco.dtx (with options: `lco,Ni,EARLY,LOW,body') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -41,9 +40,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -63,9 +62,9 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup -%%% From File: japanlco.dtx +%%% From File: $Id: japanlco.dtx 1380 2013-10-01 15:31:55Z mjk $ \ProvidesFile{% Nippon% E% @@ -81,7 +80,7 @@ Letter class option #1 Warning: #2% }% } -%%% From File: japanlco.dtx +%%% From File: $Id: japanlco.dtx 1380 2013-10-01 15:31:55Z mjk $ \@ifundefined{scr@fromname@var}{% \LCOWarningNoLine{% Nippon% diff --git a/Master/texmf-dist/tex/latex/koma-script/NipponLH.lco b/Master/texmf-dist/tex/latex/koma-script/NipponLH.lco index 5fbb2eaf333..8c7f9d48b3e 100644 --- a/Master/texmf-dist/tex/latex/koma-script/NipponLH.lco +++ b/Master/texmf-dist/tex/latex/koma-script/NipponLH.lco @@ -1,15 +1,14 @@ %% %% This is file `NipponLH.lco', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `trace') +%% scrkernel-version.dtx (with options: `trace') %% japanlco.dtx (with options: `lco,Ni,LATE,HIGH,head') %% japanlco.dtx (with options: `lco,Ni,LATE,HIGH,body') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -41,9 +40,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -63,9 +62,9 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup -%%% From File: japanlco.dtx +%%% From File: $Id: japanlco.dtx 1380 2013-10-01 15:31:55Z mjk $ \ProvidesFile{% Nippon% L% @@ -81,7 +80,7 @@ Letter class option #1 Warning: #2% }% } -%%% From File: japanlco.dtx +%%% From File: $Id: japanlco.dtx 1380 2013-10-01 15:31:55Z mjk $ \@ifundefined{scr@fromname@var}{% \LCOWarningNoLine{% Nippon% diff --git a/Master/texmf-dist/tex/latex/koma-script/NipponLL.lco b/Master/texmf-dist/tex/latex/koma-script/NipponLL.lco index a01c09eef27..3faf11f0e3e 100644 --- a/Master/texmf-dist/tex/latex/koma-script/NipponLL.lco +++ b/Master/texmf-dist/tex/latex/koma-script/NipponLL.lco @@ -1,15 +1,14 @@ %% %% This is file `NipponLL.lco', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `trace') +%% scrkernel-version.dtx (with options: `trace') %% japanlco.dtx (with options: `lco,Ni,LATE,LOW,head') %% japanlco.dtx (with options: `lco,Ni,LATE,LOW,body') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -41,9 +40,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -63,9 +62,9 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup -%%% From File: japanlco.dtx +%%% From File: $Id: japanlco.dtx 1380 2013-10-01 15:31:55Z mjk $ \ProvidesFile{% Nippon% L% @@ -81,7 +80,7 @@ Letter class option #1 Warning: #2% }% } -%%% From File: japanlco.dtx +%%% From File: $Id: japanlco.dtx 1380 2013-10-01 15:31:55Z mjk $ \@ifundefined{scr@fromname@var}{% \LCOWarningNoLine{% Nippon% diff --git a/Master/texmf-dist/tex/latex/koma-script/NipponRL.lco b/Master/texmf-dist/tex/latex/koma-script/NipponRL.lco index 3e28833778c..375f67a0cb1 100644 --- a/Master/texmf-dist/tex/latex/koma-script/NipponRL.lco +++ b/Master/texmf-dist/tex/latex/koma-script/NipponRL.lco @@ -1,15 +1,14 @@ %% %% This is file `NipponRL.lco', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `trace') +%% scrkernel-version.dtx (with options: `trace') %% japanlco.dtx (with options: `lco,Ni,RIGHT,LOW,head') %% japanlco.dtx (with options: `lco,Ni,RIGHT,LOW,body') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -41,9 +40,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -63,9 +62,9 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup -%%% From File: japanlco.dtx +%%% From File: $Id: japanlco.dtx 1380 2013-10-01 15:31:55Z mjk $ \ProvidesFile{% Nippon% R% @@ -81,7 +80,7 @@ Letter class option #1 Warning: #2% }% } -%%% From File: japanlco.dtx +%%% From File: $Id: japanlco.dtx 1380 2013-10-01 15:31:55Z mjk $ \@ifundefined{scr@fromname@var}{% \LCOWarningNoLine{% Nippon% diff --git a/Master/texmf-dist/tex/latex/koma-script/SN.lco b/Master/texmf-dist/tex/latex/koma-script/SN.lco index 8b366790323..2909d28439d 100644 --- a/Master/texmf-dist/tex/latex/koma-script/SN.lco +++ b/Master/texmf-dist/tex/latex/koma-script/SN.lco @@ -1,15 +1,14 @@ %% %% This is file `SN.lco', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `trace') -%% scrklco.dtx (with options: `lco,SN,head') -%% scrklco.dtx (with options: `lco,SN,body') +%% scrkernel-version.dtx (with options: `trace') +%% scrkernel-letterclassoptions.dtx (with options: `lco,SN,head') +%% scrkernel-letterclassoptions.dtx (with options: `lco,SN,body') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -41,9 +40,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -63,9 +62,9 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup -%%% From File: scrklco.dtx +%%% From File: $Id: scrkernel-letterclassoptions.dtx 1499 2013-11-05 17:22:29Z mjk $ \ProvidesFile{% SN% .lco}[\KOMAScriptVersion\space letter-class-option] @@ -79,7 +78,7 @@ Letter class option #1 Warning: #2% }% } -%%% From File: scrklco.dtx +%%% From File: $Id: scrkernel-letterclassoptions.dtx 1499 2013-11-05 17:22:29Z mjk $ \@ifundefined{scr@fromname@var}{% \LCOWarningNoLine{% SN% diff --git a/Master/texmf-dist/tex/latex/koma-script/SNleft.lco b/Master/texmf-dist/tex/latex/koma-script/SNleft.lco index d69b4158710..a8111207c1a 100644 --- a/Master/texmf-dist/tex/latex/koma-script/SNleft.lco +++ b/Master/texmf-dist/tex/latex/koma-script/SNleft.lco @@ -1,15 +1,14 @@ %% %% This is file `SNleft.lco', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `trace') -%% scrklco.dtx (with options: `lco,SwissLeft,head') -%% scrklco.dtx (with options: `lco,SwissLeft,body') +%% scrkernel-version.dtx (with options: `trace') +%% scrkernel-letterclassoptions.dtx (with options: `lco,SwissLeft,head') +%% scrkernel-letterclassoptions.dtx (with options: `lco,SwissLeft,body') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -41,9 +40,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -63,9 +62,9 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup -%%% From File: scrklco.dtx +%%% From File: $Id: scrkernel-letterclassoptions.dtx 1499 2013-11-05 17:22:29Z mjk $ \ProvidesFile{% SNleft% .lco}[\KOMAScriptVersion\space letter-class-option] @@ -79,7 +78,7 @@ Letter class option #1 Warning: #2% }% } -%%% From File: scrklco.dtx +%%% From File: $Id: scrkernel-letterclassoptions.dtx 1499 2013-11-05 17:22:29Z mjk $ \@ifundefined{scr@fromname@var}{% \LCOWarningNoLine{% SNleft% diff --git a/Master/texmf-dist/tex/latex/koma-script/UScommercial9.lco b/Master/texmf-dist/tex/latex/koma-script/UScommercial9.lco index db57f51d9cf..c8d82ccd879 100644 --- a/Master/texmf-dist/tex/latex/koma-script/UScommercial9.lco +++ b/Master/texmf-dist/tex/latex/koma-script/UScommercial9.lco @@ -1,16 +1,14 @@ %% %% This is file `UScommercial9.lco', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `trace') -%% scrklco.dtx (with options: `lco,UScommercial9,head') -%% scrbeta.dtx (with options: `UScommercial9,betarelease,lco') -%% scrklco.dtx (with options: `lco,UScommercial9,body') +%% scrkernel-version.dtx (with options: `trace') +%% scrkernel-letterclassoptions.dtx (with options: `lco,UScommercial9,head') +%% scrkernel-letterclassoptions.dtx (with options: `lco,UScommercial9,body') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -42,9 +40,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -64,9 +62,9 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup -%%% From File: scrklco.dtx +%%% From File: $Id: scrkernel-letterclassoptions.dtx 1499 2013-11-05 17:22:29Z mjk $ \ProvidesFile{% UScommercial9 .lco}[\KOMAScriptVersion\space letter-class-option] @@ -80,21 +78,7 @@ Letter class option #1 Warning: #2% }% } -%%% From File: scrbeta.dtx -%% !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -%% THIS IS A BETA VERSION! -%% YOU SHOULD NOT USE THIS VERSION! -%% YOU SHOULD ONLY TEST THIS VERSION AND SEND FEEDBACK TO THE AUTHOR! -%% !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -\LCOWarningNoLine{% - UScommercial9% -}{% - THIS IS A BETA VERSION!\MessageBreak - YOU SHOULD NOT USE THIS VERSION!\MessageBreak - YOU SHOULD ONLY TEST THIS VERSION AND\MessageBreak - SEND FEEDBACK TO THE AUTHOR! -} -%%% From File: scrklco.dtx +%%% From File: $Id: scrkernel-letterclassoptions.dtx 1499 2013-11-05 17:22:29Z mjk $ \@ifundefined{scr@fromname@var}{% \LCOWarningNoLine{% UScommercial9% diff --git a/Master/texmf-dist/tex/latex/koma-script/UScommercial9DW.lco b/Master/texmf-dist/tex/latex/koma-script/UScommercial9DW.lco index fb44c1aefe5..9f8d1f8ad49 100644 --- a/Master/texmf-dist/tex/latex/koma-script/UScommercial9DW.lco +++ b/Master/texmf-dist/tex/latex/koma-script/UScommercial9DW.lco @@ -1,16 +1,14 @@ %% %% This is file `UScommercial9DW.lco', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `trace') -%% scrklco.dtx (with options: `lco,UScommercial9DW,head') -%% scrbeta.dtx (with options: `UScommercial9DW,betarelease,lco') -%% scrklco.dtx (with options: `lco,UScommercial9DW,body') +%% scrkernel-version.dtx (with options: `trace') +%% scrkernel-letterclassoptions.dtx (with options: `lco,UScommercial9DW,head') +%% scrkernel-letterclassoptions.dtx (with options: `lco,UScommercial9DW,body') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -42,9 +40,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -64,9 +62,9 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup -%%% From File: scrklco.dtx +%%% From File: $Id: scrkernel-letterclassoptions.dtx 1499 2013-11-05 17:22:29Z mjk $ \ProvidesFile{% UScommercial9DW .lco}[\KOMAScriptVersion\space letter-class-option] @@ -80,21 +78,7 @@ Letter class option #1 Warning: #2% }% } -%%% From File: scrbeta.dtx -%% !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -%% THIS IS A BETA VERSION! -%% YOU SHOULD NOT USE THIS VERSION! -%% YOU SHOULD ONLY TEST THIS VERSION AND SEND FEEDBACK TO THE AUTHOR! -%% !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -\LCOWarningNoLine{% - UScommercial9DW% -}{% - THIS IS A BETA VERSION!\MessageBreak - YOU SHOULD NOT USE THIS VERSION!\MessageBreak - YOU SHOULD ONLY TEST THIS VERSION AND\MessageBreak - SEND FEEDBACK TO THE AUTHOR! -} -%%% From File: scrklco.dtx +%%% From File: $Id: scrkernel-letterclassoptions.dtx 1499 2013-11-05 17:22:29Z mjk $ \@ifundefined{scr@fromname@var}{% \LCOWarningNoLine{% UScommercial9DW% diff --git a/Master/texmf-dist/tex/latex/koma-script/float.hak b/Master/texmf-dist/tex/latex/koma-script/float.hak index d0112f4f3ef..0d6bad158e9 100644 --- a/Master/texmf-dist/tex/latex/koma-script/float.hak +++ b/Master/texmf-dist/tex/latex/koma-script/float.hak @@ -1,15 +1,14 @@ %% %% This is file `float.hak', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `file,float.hak') +%% scrkernel-version.dtx (with options: `file,float.hak') %% scrhack.dtx (with options: `hack,float,identify') %% scrhack.dtx (with options: `hack,float,body') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 2008-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -41,9 +40,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -63,14 +62,16 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup -%%% From File: scrhack.dtx -\ProvidesFile{float.hak} - [\KOMAScriptVersion\space - hacking package - float] -%%% From File: scrhack.dtx +%%% From File: $Id: scrhack.dtx 1383 2013-10-01 15:44:28Z mjk $ +\ProvidesFile{float.hak}[% + 2013/12/19 v3.12 KOMA-Script + package + (hacking package + float)% +] +%%% From File: $Id: scrhack.dtx 1383 2013-10-01 15:44:28Z mjk $ \scr@ifexpected{\newfloat}{% \long\def\newfloat#1#2#3{\@namedef{ext@#1}{#3} \let\float@do=\relax diff --git a/Master/texmf-dist/tex/latex/koma-script/floatrow.hak b/Master/texmf-dist/tex/latex/koma-script/floatrow.hak index f4fbb215020..563b62e7e9d 100644 --- a/Master/texmf-dist/tex/latex/koma-script/floatrow.hak +++ b/Master/texmf-dist/tex/latex/koma-script/floatrow.hak @@ -1,15 +1,14 @@ %% %% This is file `floatrow.hak', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `file,floatrow.hak') +%% scrkernel-version.dtx (with options: `file,floatrow.hak') %% scrhack.dtx (with options: `hack,floatrow,identify') %% scrhack.dtx (with options: `hack,floatrow,body') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 2008-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -41,9 +40,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -63,14 +62,16 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup -%%% From File: scrhack.dtx -\ProvidesFile{floatrow.hak} - [\KOMAScriptVersion\space - hacking package - floatrow] -%%% From File: scrhack.dtx +%%% From File: $Id: scrhack.dtx 1383 2013-10-01 15:44:28Z mjk $ +\ProvidesFile{floatrow.hak}[% + 2013/12/19 v3.12 KOMA-Script + package + (hacking package + floatrow)% +] +%%% From File: $Id: scrhack.dtx 1383 2013-10-01 15:44:28Z mjk $ \scr@ifexpected{\DeclareNewFloatType}{% \long\def\DeclareNewFloatType#1#2{\def\FB@captype{#1}% \expandafter\edef\csname ftype@#1\endcsname{\the\c@float@type}% diff --git a/Master/texmf-dist/tex/latex/koma-script/hyperref.hak b/Master/texmf-dist/tex/latex/koma-script/hyperref.hak index 92eca32dd5e..138c9929fbb 100644 --- a/Master/texmf-dist/tex/latex/koma-script/hyperref.hak +++ b/Master/texmf-dist/tex/latex/koma-script/hyperref.hak @@ -1,15 +1,14 @@ %% %% This is file `hyperref.hak', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `file,hyperref.hak') +%% scrkernel-version.dtx (with options: `file,hyperref.hak') %% scrhack.dtx (with options: `hack,hyperref,identify') %% scrhack.dtx (with options: `hack,hyperref,body') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 2008-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -41,9 +40,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -63,14 +62,16 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup -%%% From File: scrhack.dtx -\ProvidesFile{hyperref.hak} - [\KOMAScriptVersion\space - hacking package - hyperref] -%%% From File: scrhack.dtx +%%% From File: $Id: scrhack.dtx 1383 2013-10-01 15:44:28Z mjk $ +\ProvidesFile{hyperref.hak}[% + 2013/12/19 v3.12 KOMA-Script + package + (hacking package + hyperref)% +] +%%% From File: $Id: scrhack.dtx 1383 2013-10-01 15:44:28Z mjk $ \scr@ifexpected\@schapter{% \def\@schapter#1{% \H@old@schapter{#1}% diff --git a/Master/texmf-dist/tex/latex/koma-script/listings.hak b/Master/texmf-dist/tex/latex/koma-script/listings.hak index d75d1cf82fb..de9a0d3735a 100644 --- a/Master/texmf-dist/tex/latex/koma-script/listings.hak +++ b/Master/texmf-dist/tex/latex/koma-script/listings.hak @@ -1,15 +1,14 @@ %% %% This is file `listings.hak', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `file,listings.hak') +%% scrkernel-version.dtx (with options: `file,listings.hak') %% scrhack.dtx (with options: `hack,listings,identify') %% scrhack.dtx (with options: `hack,listings,body') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 2008-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -41,9 +40,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -63,14 +62,16 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup -%%% From File: scrhack.dtx -\ProvidesFile{listings.hak} - [\KOMAScriptVersion\space - hacking package - listings] -%%% From File: scrhack.dtx +%%% From File: $Id: scrhack.dtx 1383 2013-10-01 15:44:28Z mjk $ +\ProvidesFile{listings.hak}[% + 2013/12/19 v3.12 KOMA-Script + package + (hacking package + listings)% +] +%%% From File: $Id: scrhack.dtx 1383 2013-10-01 15:44:28Z mjk $ \newcommand*{\scr@do@hack@listings}{% \RequirePackage{tocbasic}% \addtotoclist[float]{lol}% diff --git a/Master/texmf-dist/tex/latex/koma-script/scraddr.sty b/Master/texmf-dist/tex/latex/koma-script/scraddr.sty index aa34e3e384a..d9fc6499204 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scraddr.sty +++ b/Master/texmf-dist/tex/latex/koma-script/scraddr.sty @@ -1,14 +1,13 @@ %% %% This is file `scraddr.sty', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% %% scraddr.dtx (with options: `scraddr') %% scrlogo.dtx (with options: `logo') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 2006-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -40,10 +39,10 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scraddr.dtx +%%% From File: $Id: scraddr.dtx 1380 2013-10-01 15:31:55Z mjk $ \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesPackage{scraddr} - [2006/03/28 v1.1c KOMA-Script + [2013/09/30 v1.1c KOMA-Script package] \newcommand*{\@adrFIVerror}{} \DeclareOption{adrFreeIVempty}{\renewcommand*{\@adrFIVerror}{0}} @@ -106,7 +105,7 @@ \newcommand*{\FreeIII}[1]{\csname #1.FIII\endcsname} \let\Comment\FreeIII \newcommand*{\FreeIV}[1]{\csname #1.FIV\endcsname} -%%% From File: scrlogo.dtx +%%% From File: $Id: scrlogo.dtx 1380 2013-10-01 15:31:55Z mjk $ \@ifundefined{KOMAScript}{% \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% M\kern.05em A\kern.1em-\kern.1em Script}}}{} diff --git a/Master/texmf-dist/tex/latex/koma-script/scrartcl.cls b/Master/texmf-dist/tex/latex/koma-script/scrartcl.cls index 370b685c24f..988204abdd9 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrartcl.cls +++ b/Master/texmf-dist/tex/latex/koma-script/scrartcl.cls @@ -1,47 +1,46 @@ %% %% This is file `scrartcl.cls', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `class,article') -%% scrkbase.dtx (with options: `load') +%% scrkernel-version.dtx (with options: `class,article') +%% scrkernel-basics.dtx (with options: `load') %% tocbasic.dtx (with options: `class,load') -%% scrkcomp.dtx (with options: `class,article,option') -%% scrkmisc.dtx (with options: `class,article,option') -%% scrklang.dtx (with options: `class,article,option') -%% scrkfont.dtx (with options: `class,article,option') -%% scrktare.dtx (with options: `class,article,option') -%% scrkpar.dtx (with options: `class,article,option') -%% scrktitl.dtx (with options: `class,article,option') -%% scrksect.dtx (with options: `class,article,option') -%% scrkpage.dtx (with options: `class,article,option') -%% scrkfloa.dtx (with options: `class,article,option') -%% scrkftn.dtx (with options: `class,article,option') -%% scrkliof.dtx (with options: `class,article,option') -%% scrkbib.dtx (with options: `class,article,option') -%% scrkidx.dtx (with options: `class,article,option') -%% scrklist.dtx (with options: `class,article,option') -%% scrkmisc.dtx (with options: `class,article,execoption') -%% scrkcomp.dtx (with options: `class,article,body') -%% scrkfont.dtx (with options: `class,article,body') -%% scrklang.dtx (with options: `class,article,body') -%% scrktare.dtx (with options: `class,article,body') -%% scrkpar.dtx (with options: `class,article,body') -%% scrktitl.dtx (with options: `class,article,body') -%% scrksect.dtx (with options: `class,article,body') -%% scrkmisc.dtx (with options: `class,article,body') -%% scrkpage.dtx (with options: `class,article,body') -%% scrkfloa.dtx (with options: `class,article,body') -%% scrkftn.dtx (with options: `class,article,body') -%% scrkliof.dtx (with options: `class,article,body') -%% scrkbib.dtx (with options: `class,article,body') -%% scrkidx.dtx (with options: `class,article,body') -%% scrklist.dtx (with options: `class,article,body') +%% scrkernel-compatibility.dtx (with options: `class,article,option') +%% scrkernel-miscellaneous.dtx (with options: `class,article,option') +%% scrkernel-language.dtx (with options: `class,article,option') +%% scrkernel-fonts.dtx (with options: `class,article,option') +%% scrkernel-typearea.dtx (with options: `class,article,option') +%% scrkernel-paragraphs.dtx (with options: `class,article,option') +%% scrkernel-title.dtx (with options: `class,article,option') +%% scrkernel-sections.dtx (with options: `class,article,option') +%% scrkernel-pagestyles.dtx (with options: `class,article,option') +%% scrkernel-floats.dtx (with options: `class,article,option') +%% scrkernel-footnotes.dtx (with options: `class,article,option') +%% scrkernel-listsof.dtx (with options: `class,article,option') +%% scrkernel-bibliography.dtx (with options: `class,article,option') +%% scrkernel-index.dtx (with options: `class,article,option') +%% scrkernel-listsandtabulars.dtx (with options: `class,article,option') +%% scrkernel-miscellaneous.dtx (with options: `class,article,execoption') +%% scrkernel-compatibility.dtx (with options: `class,article,body') +%% scrkernel-fonts.dtx (with options: `class,article,body') +%% scrkernel-language.dtx (with options: `class,article,body') +%% scrkernel-typearea.dtx (with options: `class,article,body') +%% scrkernel-paragraphs.dtx (with options: `class,article,body') +%% scrkernel-title.dtx (with options: `class,article,body') +%% scrkernel-sections.dtx (with options: `class,article,body') +%% scrkernel-miscellaneous.dtx (with options: `class,article,body') +%% scrkernel-pagestyles.dtx (with options: `class,article,body') +%% scrkernel-floats.dtx (with options: `class,article,body') +%% scrkernel-footnotes.dtx (with options: `class,article,body') +%% scrkernel-listsof.dtx (with options: `class,article,body') +%% scrkernel-bibliography.dtx (with options: `class,article,body') +%% scrkernel-index.dtx (with options: `class,article,body') +%% scrkernel-listsandtabulars.dtx (with options: `class,article,body') %% scrlogo.dtx (with options: `logo') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -73,9 +72,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -95,7 +94,7 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup \newcommand*{\KOMAClassName}{% scrartcl% @@ -104,18 +103,43 @@ article% } \ProvidesClass{\KOMAClassName}[% - \KOMAScriptVersion\space document class (\ClassName)% + 2013/12/19 v3.12 KOMA-Script + document class (\ClassName)% ] -%%% From File: scrkbase.dtx +%%% From File: $Id: scrkernel-basics.dtx 1502 2013-11-06 11:00:12Z mjk $ \RequirePackage{scrkbase}[\KOMAScriptVersion] -%%% From File: tocbasic.dtx -\def\tocbasicversion{2012/04/04 v3.10b} -\edef\@tempa{\noexpand\RequirePackage{tocbasic}[\tocbasicversion]} -\@tempa +%%% From File: $Id: tocbasic.dtx 1533 2013-12-10 18:06:14Z mjk $ +\RequirePackage{tocbasic}[% + 2013/12/19 v3.12 KOMA-Script +] \addtotoclist{toc} \addtotoclist[float]{lof} \addtotoclist[float]{lot} -%%% From File: scrkcomp.dtx +%%% From File: $Id: scrkernel-compatibility.dtx 1512 2013-11-11 10:35:04Z mjk $ +\newif\if@scr@emulatestandardclasses +\let\scr@emulatestandardclassestrue\relax +\let\scr@emulatestandardclassesfalse\relax +\DeclareOption{emulatestandardclasses}{% + \let\if@scr@emulatestandardclasses\iftrue + \KOMAExecuteOptions{% + fontsize=10pt,% + cleardoublepage=current + }% + \newcommand*{\defaultpapersize}{letter}% + \AtEndOfClass{% + \setkomafont{descriptionlabel}{\bfseries}% + \setkomafont{dictum}{\normalfont\small}% + \setkomafont{caption}{}% + \setkomafont{captionlabel}{}% + \setcapindent{0pt}% + \RequirePackage[pagestyleset=standard,markcase=upper]{scrlayer-scrpage}% + \PreventPackageFromLoading{scrpage2}% + \setkomafont{pagenumber}{\normalfont}% + \setkomafont{pageheadfoot}{\normalfont}% + \cfoot[\pagemark]{}% + \pagestyle{plain}% + }% +} \newcommand* {\scr@compatibility}{\scr@v@last} \KOMA@key{version}[last]{% @@ -131,6 +155,7 @@ Switching compatibility level to `#1'% }% \edef\scr@compatibility{\@nameuse{scr@v@#1}}% + \FamilyKeyStateProcessed }% } \AtEndOfClass{% @@ -142,6 +167,7 @@ class.\MessageBreak But you've tried to set it up later.% }% + \FamilyKeyStateProcessed }% } \@namedef{scr@v@first}{0} @@ -191,22 +217,25 @@ \@namedef{scr@v@3.11}{10} \@namedef{scr@v@3.11a}{10} \@namedef{scr@v@3.11b}{10} -\@namedef{scr@v@last}{10} -%%% From File: scrkmisc.dtx +\@namedef{scr@v@3.12}{11} +\@namedef{scr@v@last}{11} +%%% From File: $Id: scrkernel-miscellaneous.dtx 1529 2013-12-03 07:36:57Z mjk $ \KOMA@key{draft}[true]{% \KOMA@set@ifkey{draft}{@tempswa}{#1}% - \if@tempswa - \setlength{\overfullrule}{5pt}% - \else - \setlength{\overfullrule}{\z@}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \if@tempswa + \setlength{\overfullrule}{5pt}% + \else + \setlength{\overfullrule}{\z@}% + \fi \fi } \KOMA@DeclareStandardOption {final}{draft=false} \DeclareOption{leqno}{\input{leqno.clo}} \DeclareOption{fleqn}{\input{fleqn.clo}} -%%% From File: scrklang.dtx -%%% From File: scrkfont.dtx +%%% From File: $Id: scrkernel-language.dtx 1503 2013-11-06 11:44:59Z mjk $ +%%% From File: $Id: scrkernel-fonts.dtx 1483 2013-10-31 15:12:30Z mjk $ \newcommand*\@ptsize{% 11% } @@ -217,8 +246,23 @@ \def\@pt@@scan #1pt#2\@pt@@scan{% \ifstr{#2}{pt}{% \ifnumber{#1}{% - \KOMA@UseObsoleteOption{\PackageInfoNoLine{\KOMAClassName}}% - {#1#2}{fontsize=#1#2}% + \ifstr{#1}{10}{% + \KOMA@UseStandardOption{\PackageInfoNoLine{\KOMAClassName}}% + {#1#2}{fontsize=#1#2}% + }{% + \ifstr{#1}{11}{% + \KOMA@UseStandardOption{\PackageInfoNoLine{\KOMAClassName}}% + {#1#2}{fontsize=#1#2}% + }{% + \ifstr{#1}{12}{% + \KOMA@UseStandardOption{\PackageInfoNoLine{\KOMAClassName}}% + {#1#2}{fontsize=#1#2}% + }{% + \KOMA@UseDeprecatedOption{\PackageWarningNoLine{\KOMAClassName}}% + {#1#2}{fontsize=#1#2}% + }% + }% + } }{\@headlines}% }{\@headlines}% } @@ -253,8 +297,9 @@ }% \@tempa }% + \FamilyKeyStateProcessed } -%%% From File: scrktare.dtx +%%% From File: $Id: scrkernel-typearea.dtx 1512 2013-11-11 10:35:04Z mjk $ \newcommand*{\@BCOR}{\expandafter\@@BCOR\CurrentOption BCORBCOR\@@BCOR} \newcommand*{\@@BCOR}{} \def\@@BCOR #1BCOR#2BCOR#3\@@BCOR{% @@ -324,7 +369,7 @@ {onecolumn}{twocolumn=false} \DeclareOption*{% \x@paper} -%%% From File: scrkpar.dtx +%%% From File: $Id: scrkernel-paragraphs.dtx 1380 2013-10-01 15:31:55Z mjk $ \newcommand*{\setparsizes}[3]{% \edef\f@parindent{\the\parindent}% \edef\f@parskip{\the\parskip}% @@ -365,82 +410,88 @@ {relative}{10},% {absolute}{11}% }{#1}% - \ifcase\number\@tempa% 0 - \endgroup - \setparsizes{1em}{\z@}{\z@ \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 1 - \endgroup - \setparsizes{1em}{\z@ \@plus \p@}{\z@ \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 2 - \endgroup - \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% - \z@ \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 3 - \endgroup - \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% - \z@ \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 4 - \endgroup - \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% - 1em \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 5 - \endgroup - \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% - 1em \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 6 - \endgroup - \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% - .3333\linewidth\@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 7 - \endgroup - \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% - .3333\linewidth \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 8 - \endgroup - \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% - .25\linewidth \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 9 - \endgroup - \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% - .25\linewidth \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 10 - \endgroup - \ifx\par@updaterelative\undefined - \expandafter\AtEndOfClass - \else - \expandafter\@firstofone - \fi - {% - \ifx\par@update\default@par@update - \let\par@update\par@updaterelative + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \aftergroup\FamilyKeyStateProcessed + \ifcase\number\@tempa% 0 + \endgroup + \setparsizes{1em}{\z@}{\z@ \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 1 + \endgroup + \setparsizes{1em}{\z@ \@plus \p@}{\z@ \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 2 + \endgroup + \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% + \z@ \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 3 + \endgroup + \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% + \z@ \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 4 + \endgroup + \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% + 1em \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 5 + \endgroup + \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% + 1em \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 6 + \endgroup + \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% + .3333\linewidth\@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 7 + \endgroup + \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% + .3333\linewidth \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 8 + \endgroup + \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% + .25\linewidth \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 9 + \endgroup + \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% + .25\linewidth \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 10 + \endgroup + \ifx\par@updaterelative\undefined + \expandafter\AtEndOfClass + \else + \expandafter\@firstofone \fi - \let\default@par@update=\par@updaterelative - }% - \or%11 - \endgroup - \ifx\par@updaterelative\undefined - \expandafter\AtEndOfClass - \else - \expandafter\@firstofone - \fi - {% - \ifx\par@update\default@par@update - \let\par@update\relax + {% + \ifx\par@update\default@par@update + \let\par@update\par@updaterelative + \fi + \let\default@par@update=\par@updaterelative + }% + \or%11 + \endgroup + \ifx\par@updaterelative\undefined + \expandafter\AtEndOfClass + \else + \expandafter\@firstofone \fi - \let\default@par@update=\relax - }% - \else% sonst - \endgroup + {% + \ifx\par@update\default@par@update + \let\par@update\relax + \fi + \let\default@par@update=\relax + }% + \else% should never be + \endgroup + \fi + \else + \endgroup + \FamilyKeyStateUnkownValue \fi } \KOMA@DeclareDeprecatedOption{parskip-}{parskip=full-} @@ -451,17 +502,30 @@ \KOMA@DeclareDeprecatedOption{halfparskip+}{parskip=half+} \KOMA@DeclareDeprecatedOption{halfparskip*}{parskip=half*} \KOMA@DeclareDeprecatedOption{parindent}{parskip=false} -%%% From File: scrktitl.dtx +%%% From File: $Id: scrkernel-title.dtx 1517 2013-11-21 13:02:39Z mjk $ \newif\if@titlepage \@titlepagefalse -\KOMA@ifkey{titlepage}{@titlepage}% +\newif\if@titlepageiscoverpage +\KOMA@key{titlepage}[true]{% + \ifstr{#1}{firstiscover}{% + \@titlepagetrue + \@titlepageiscoverpagetrue + \FamilyKeyStateProcessed + }{% + \def\FamilyElseValue{, `firstiscover'}% + \KOMA@set@ifkey{titlepage}{@titlepage}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \@titlepageiscoverpagefalse + \fi + }% +} \KOMA@DeclareStandardOption% {notitlepage}{titlepage=false} \newif\if@abstrt\@abstrtfalse \KOMA@ifkey{abstract}{@abstrt} \KOMA@DeclareStandardOption{abstracton}{abstract=true} \KOMA@DeclareStandardOption{abstractoff}{abstract=false} -%%% From File: scrksect.dtx +%%% From File: $Id: scrkernel-sections.dtx 1552 2013-12-16 16:51:32Z mjk $ %% \fi \newcommand*{\scr@dotchangeatdocument}[1]{% \ClassError{\KOMAClassName}{% @@ -480,17 +544,19 @@ {noendperiod}{2},{noperiodatend}{2},% {noenddot}{2},{nodotatend}{2}% }{#1}% - \ifcase \@tempa\relax - \if@atdocument\scr@dotchangeatdocument{#1}\else - \let\scr@altsecnumhook\@empty - \fi - \or - \if@atdocument\scr@dotchangeatdocument{#1}\else - \let\scr@altsecnumhook\scr@altsecnumhooktrue - \fi - \or - \if@atdocument\scr@dotchangeatdocument{#1}\else - \let\scr@altsecnumhook\scr@altsecnumhookfalse + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase \@tempa\relax + \if@atdocument\scr@dotchangeatdocument{#1}\else + \let\scr@altsecnumhook\@empty + \fi + \or + \if@atdocument\scr@dotchangeatdocument{#1}\else + \let\scr@altsecnumhook\scr@altsecnumhooktrue + \fi + \or + \if@atdocument\scr@dotchangeatdocument{#1}\else + \let\scr@altsecnumhook\scr@altsecnumhookfalse + \fi \fi \fi } @@ -504,6 +570,7 @@ } \KOMA@DeclareDeprecatedOption{pointednumbers}{numbers=enddot} \KOMA@DeclareDeprecatedOption{pointlessnumbers}{numbers=noenddot} +\newcommand*{\sectfont}{\normalcolor\sffamily\bfseries} \newcommand*{\size@part}{} \newcommand*{\size@partnumber}{} \newcommand*{\size@section}{} @@ -511,8 +578,6 @@ \newcommand*{\size@subsubsection}{} \newcommand*{\size@paragraph}{} \newcommand*{\size@subparagraph}{} -\newcommand*{\chapterheadstartvskip}{} -\newcommand*{\chapterheadendvskip}{} \KOMA@key{headings}{% \KOMA@set@ncmdkey{headings}{@tempa}{% {big}{0},% @@ -520,45 +585,57 @@ {small}{2},% {optiontotocandhead}{10},{optiontoheadandtoc}{10},% {optiontotoc}{11},% - {optiontohead}{12}% + {optiontohead}{12},% + {standardclasses}{13}% }{#1}% - \ifcase \@tempa\relax - \renewcommand*{\size@part}{\Huge}% - \renewcommand*{\size@partnumber}{\huge}% - \renewcommand*{\size@section}{\Large}% - \renewcommand*{\size@subsection}{\large}% - \renewcommand*{\size@subsubsection}{\normalsize}% - \renewcommand*{\size@paragraph}{\normalsize}% - \renewcommand*{\size@subparagraph}{\normalsize}% - \or - \renewcommand*{\size@part}{\huge}% - \renewcommand*{\size@partnumber}{\huge}% - \renewcommand*{\size@section}{\large}% - \renewcommand*{\size@subsection}{\normalsize}% - \renewcommand*{\size@subsubsection}{\normalsize}% - \renewcommand*{\size@paragraph}{\normalsize}% - \renewcommand*{\size@subparagraph}{\normalsize}% - \or - \renewcommand*{\size@part}{\LARGE}% - \renewcommand*{\size@partnumber}{\LARGE}% - \renewcommand*{\size@section}{\normalsize}% - \renewcommand*{\size@subsection}{\normalsize}% - \renewcommand*{\size@subsubsection}{\normalsize}% - \renewcommand*{\size@paragraph}{\normalsize}% - \renewcommand*{\size@subparagraph}{\normalsize}% - \or - \or - \or - \or - \or - \or - \or - \or - \scr@activate@xsection{3}% - \or - \scr@activate@xsection{2}% - \or - \scr@activate@xsection{1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase \@tempa\relax + \renewcommand*{\size@part}{\Huge}% + \renewcommand*{\size@partnumber}{\huge}% + \renewcommand*{\size@section}{\Large}% + \renewcommand*{\size@subsection}{\large}% + \renewcommand*{\size@subsubsection}{\normalsize}% + \renewcommand*{\size@paragraph}{\normalsize}% + \renewcommand*{\size@subparagraph}{\normalsize}% + \or + \renewcommand*{\size@part}{\huge}% + \renewcommand*{\size@partnumber}{\huge}% + \renewcommand*{\size@section}{\large}% + \renewcommand*{\size@subsection}{\normalsize}% + \renewcommand*{\size@subsubsection}{\normalsize}% + \renewcommand*{\size@paragraph}{\normalsize}% + \renewcommand*{\size@subparagraph}{\normalsize}% + \or + \renewcommand*{\size@part}{\LARGE}% + \renewcommand*{\size@partnumber}{\LARGE}% + \renewcommand*{\size@section}{\normalsize}% + \renewcommand*{\size@subsection}{\normalsize}% + \renewcommand*{\size@subsubsection}{\normalsize}% + \renewcommand*{\size@paragraph}{\normalsize}% + \renewcommand*{\size@subparagraph}{\normalsize}% + \or + \or + \or + \or + \or + \or + \or + \or + \scr@activate@xsection{3}% + \or + \scr@activate@xsection{2}% + \or + \scr@activate@xsection{1}% + \or + \renewcommand*{\size@part}{\huge}% + \renewcommand*{\size@partnumber}{\Large}% + \renewcommand*{\size@section}{\Large}% + \renewcommand*{\size@subsection}{\large}% + \renewcommand*{\size@subsubsection}{\normalsize}% + \renewcommand*{\size@paragraph}{\normalsize}% + \renewcommand*{\size@subparagraph}{\normalsize}% + \renewcommand*{\sectfont}{\bfseries}% + \fi \fi } \KOMA@DeclareDeprecatedOption{bigheadings}{headings=big} @@ -568,17 +645,29 @@ \newcommand*{\scr@activate@xsection}[1]{% \renewcommand*{\scr@osectarg}{#1}% } -%%% From File: scrkpage.dtx +%%% From File: $Id: scrkernel-pagestyles.dtx 1551 2013-12-16 14:02:13Z mjk $ \newif\if@hsl \KOMA@key{headsepline}[true]{% \KOMA@set@ifkey{headsepline}{@hsl}{#1}% - \KOMA@options{headinclude=#1}{}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \@ifundefined{typearea}{% + \PassOptionsToPackage{typearea}{headinclude=#1}% + }{% + \KOMAoptions{headinclude=#1}{}% + }% + \fi } \KOMA@DeclareDeprecatedOption{headnosepline}{headsepline=false} \newif\if@fsl \KOMA@key{footsepline}[true]{% \KOMA@set@ifkey{footsepline}{@fsl}{#1}% - \KOMA@options{footinclude=#1}{}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \@ifundefined{typearea}{% + \PassOptionsToPackage{typearea}{headinclude=#1}% + }{% + \KOMAoptions{footinclude=#1,DIV=current}% + }% + \fi } \KOMA@DeclareDeprecatedOption{footnosepline}{footsepline=false} \@twosidefalse @@ -594,6 +683,7 @@ \def\cleardoublepage{\cleardoublestandardpage}% \def\cleardoubleoddpage{\cleardoubleoddstandardpage}% \def\cleardoubleevenpage{\cleardoubleevenstandardpage}% + \FamilyKeyStateProcessed }% }{% \ifnotundefined{ps@#1}{% @@ -601,6 +691,7 @@ \def\cleardoublepage{\cleardoublepageusingstyle{#1}}% \def\cleardoubleoddpage{\cleardoubleoddpageusingstyle{#1}}% \def\cleardoubleevenpage{\cleardoubleevenpageusingstyle{#1}}% + \FamilyKeyStateProcessed }% }{}% }% @@ -639,7 +730,7 @@ \KOMA@DeclareDeprecatedOption{cleardoubleempty}{cleardoublepage=empty} \KOMA@DeclareDeprecatedOption{cleardoubleplain}{cleardoublepage=plain} \KOMA@DeclareDeprecatedOption{cleardoublestandard}{cleardoublepage=current} -%%% From File: scrkfloa.dtx +%%% From File: $Id: scrkernel-floats.dtx 1502 2013-11-06 11:00:12Z mjk $ \newif\if@captionabove\@captionabovefalse \newif\if@tablecaptionabove\@tablecaptionabovefalse \newif\if@figurecaptionabove\@figurecaptionabovefalse @@ -709,7 +800,7 @@ \DeclareOption{origlongtable}{\@komalongtablefalse} \KOMA@DeclareDeprecatedOption{onelinecaption}{captions=oneline} \KOMA@DeclareDeprecatedOption{noonelinecaption}{captions=nooneline} -%%% From File: scrkftn.dtx +%%% From File: $Id: scrkernel-footnotes.dtx 1380 2013-10-01 15:31:55Z mjk $ \KOMA@key{footnotes}{% \ifx\@footnotemark\scr@saved@footnotemark \else @@ -727,11 +818,13 @@ \let\@footnotemark\scr@footnotemark \def\FN@mf@prepare{\scr@mf@prepare}% \def\scr@footmisc@options{multiple}% + \FamilyKeyStateProcessed }{% \ifstr{#1}{nomultiple}{% \let\@footnotemark\scr@saved@footnotemark \let\FN@mf@prepare\relax \let\scr@footmisc@options\@empty + \FamilyKeyStateProcessed }{% \KOMA@unknown@keyval{footnotes}{#1}{`multiple' and `nomultiple'}% }% @@ -754,7 +847,7 @@ \csname FN@mf@prepare\endcsname \ifhmode\spacefactor\@x@sf\fi \relax} -%%% From File: scrkliof.dtx +%%% From File: $Id: scrkernel-listsof.dtx 1522 2013-11-22 08:11:42Z mjk $ \newif\if@tocleft \KOMA@key{toc}{% \KOMA@set@ncmdkey{toc}{@tempa}{% @@ -768,28 +861,36 @@ {bibliographynumbered}{7},{bibnumbered}{7},{numberedbibliography}{7},% {numberedbib}{7},% {flat}{8},{left}{8},% - {graduated}{9},{indent}{9},{indented}{9}% + {graduated}{9},{indent}{9},{indented}{9},% + {indenttextentries}{10},{indentunnumbered}{10},{numberline}{10},% + {leftaligntextentries}{11},{leftalignunnumbered}{11},{nonumberline}{11}% }{#1}% - \ifcase \@tempa\relax - \KOMA@options{index=notoc}{}% - \or - \KOMA@options{index=totoc}{}% - \or - \KOMA@options{listof=notoc}{}% - \or - \KOMA@options{listof=totoc}{}% - \or - \KOMA@options{listof=numbered}{}% - \or - \KOMA@options{bibliography=nottotoc}{}% - \or - \KOMA@options{bibliography=totoc}{}% - \or - \KOMA@options{bibliography=totocnumbered}{}% - \or - \@toclefttrue - \or - \@tocleftfalse + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase \@tempa\relax + \KOMAExecuteOptions{index=notoc}% + \or + \KOMAExecuteOptions{index=totoc}% + \or + \KOMAExecuteOptions{listof=notoc}% + \or + \KOMAExecuteOptions{listof=totoc}% + \or + \KOMAExecuteOptions{listof=numbered}% + \or + \KOMAExecuteOptions{bibliography=nottotoc}% + \or + \KOMAExecuteOptions{bibliography=totoc}% + \or + \KOMAExecuteOptions{bibliography=totocnumbered}% + \or + \@toclefttrue + \or + \@tocleftfalse + \or + \setuptoc{toc}{numberline}% + \or + \unsettoc{toc}{numberline}% + \fi \fi } \KOMA@DeclareDeprecatedOption{tocleft}{toc=flat} @@ -808,81 +909,99 @@ {graduated}{4},{indent}{4},{indented}{4},% {leveldown}{5}, {entryprefix}{6}, + {indenttextentries}{7},{indentunnumbered}{7},{numberline}{7},% + {leftaligntextentries}{8},{leftalignunnumbered}{8},{nonumberline}{8},% }{#1}% - \ifcase \@tempa\relax - \renewcommand*{\float@@listhead}{% - \section* - }% - \doforeachtocfile[float]{% - \unsettoc{\@currext}{numbered}% - \unsettoc{\@currext}{totoc}% - }% - \AtAddToTocList[float]{% - \unsettoc{\@currext}{numbered}% - \unsettoc{\@currext}{totoc}% - }% - \or% totoc - \renewcommand*{\float@@listhead}{% - \addsec - }% - \doforeachtocfile[float]{% - \unsettoc{\@currext}{numbered}% - \setuptoc{\@currext}{totoc}% - }% - \AtAddToTocList[float]{% - \unsettoc{\@currext}{numbered}% - \setuptoc{\@currext}{totoc}% - }% - \or% numbered - \renewcommand*{\float@@listhead}{% - \section - }% - \doforeachtocfile[float]{% - \setuptoc{\@currext}{numbered}% - \setuptoc{\@currext}{totoc}% - }% - \AtAddToTocList[float]{% - \setuptoc{\@currext}{numbered}% - \setuptoc{\@currext}{totoc}% - }% - \or% flat - \@dynlisttrue - \or% graduated - \@dynlistfalse - \or% leveldown - \doforeachtocfile[float]{% - \setuptoc{\@currext}{leveldown}% - }% - \AtAddToTocList[float]{% - \setuptoc{\@currext}{leveldown}% - }% - \or% entryprefix - \@dynlisttrue - \doforeachtocfile[float]{% - \BeforeStartingTOC[\@currext]{% - \scr@ifundefinedorrelax{listof\@currext entryname}{}{% - \expandafter\def\expandafter\numberline@prefix - \expandafter{\csname listof\@currext entryname\endcsname - \nobreakspace}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase \@tempa\relax + \renewcommand*{\float@@listhead}{% + \section* + }% + \doforeachtocfile[float]{% + \unsettoc{\@currext}{numbered}% + \unsettoc{\@currext}{totoc}% + }% + \AtAddToTocList[float]{% + \unsettoc{\@currext}{numbered}% + \unsettoc{\@currext}{totoc}% + }% + \or% totoc + \renewcommand*{\float@@listhead}{% + \addsec + }% + \doforeachtocfile[float]{% + \unsettoc{\@currext}{numbered}% + \setuptoc{\@currext}{totoc}% + }% + \AtAddToTocList[float]{% + \unsettoc{\@currext}{numbered}% + \setuptoc{\@currext}{totoc}% + }% + \or% numbered + \renewcommand*{\float@@listhead}{% + \section + }% + \doforeachtocfile[float]{% + \setuptoc{\@currext}{numbered}% + \setuptoc{\@currext}{totoc}% + }% + \AtAddToTocList[float]{% + \setuptoc{\@currext}{numbered}% + \setuptoc{\@currext}{totoc}% + }% + \or% flat + \@dynlisttrue + \or% graduated + \@dynlistfalse + \or% leveldown + \doforeachtocfile[float]{% + \setuptoc{\@currext}{leveldown}% + }% + \AtAddToTocList[float]{% + \setuptoc{\@currext}{leveldown}% + }% + \or% entryprefix + \@dynlisttrue + \doforeachtocfile[float]{% + \BeforeStartingTOC[\@currext]{% + \scr@ifundefinedorrelax{listof\@currext entryname}{}{% + \expandafter\def\expandafter\numberline@prefix + \expandafter{\csname listof\@currext entryname\endcsname + \nobreakspace}% + }% }% }% - }% - \AtAddToTocList[float]{% - \BeforeStartingTOC[\@currext]{% - \scr@ifundefinedorrelax{listof\@currext entryname}{}{% - \expandafter\def\expandafter\numberline@prefix - \expandafter{\csname listof\@currext entryname\endcsname - \nobreakspace}% + \AtAddToTocList[float]{% + \BeforeStartingTOC[\@currext]{% + \scr@ifundefinedorrelax{listof\@currext entryname}{}{% + \expandafter\def\expandafter\numberline@prefix + \expandafter{\csname listof\@currext entryname\endcsname + \nobreakspace}% + }% }% }% - }% + \or% numberline + \doforeachtocfile[float]{% + \setuptoc{\@currext}{numberline}% + }% + \AtAddToTocList[float]{% + \setuptoc{\@currext}{numberline}% + } + \or% nonumberline + \doforeachtocfile[float]{% + \unsettoc{\@currext}{numberline}% + }% + \AtAddToTocList[float]{% + \unsettoc{\@currext}{numberline}% + } + \fi \fi } \KOMA@DeclareDeprecatedOption{liststotoc}{listof=totoc} \KOMA@DeclareDeprecatedOption{liststotocnumbered}{listof=numbered} \KOMA@DeclareDeprecatedOption{listsleft}{listof=flat} \KOMA@DeclareDeprecatedOption{listsindent}{listof=graduated} -%%% From File: scrkbib.dtx +%%% From File: $Id: scrkernel-bibliography.dtx 1380 2013-10-01 15:31:55Z mjk $ \newcommand{\newbibstyle}[3][]{% \scr@ifundefinedorrelax{scr@bibstyle@#2}{% \scr@ifundefinedorrelax{scr@bibstyle@#1}{% @@ -935,43 +1054,72 @@ } \scr@bibstyle@oldstyle \newcommand*\bib@heading{% - \section*{\refname}% - \@mkboth{\MakeMarkcase{\refname}}{\MakeMarkcase{\refname}}% -} + \ifbib@leveldown + \subsection*{\refname}% + \ifx\@mkboth\@gobble\else\markright{\MakeMarkcase{\refname}}\fi + \else + \section*{\refname}% + \@mkboth{\MakeMarkcase{\refname}}{\MakeMarkcase{\refname}}% + \fi +}% +\newif\ifbib@leveldown \KOMA@key{bibliography}{% \scr@ifundefinedorrelax{scr@bibstyle@#1}{% - \let\FamilyElseValues\scr@bibstylelist \KOMA@set@ncmdkey{bibliography}{@tempa}{% {notoc}{0},{nottotoc}{0},{plainheading}{0},% {totoc}{1},{toc}{1},{notnumbered}{1},% {numbered}{2},{totocnumbered}{2},{tocnumbered}{2},{numberedtotoc}{2},% - {numberedtoc}{2}% + {numberedtoc}{2},% + {leveldown}{3},% + {standardlevel}{4}% }{#1}% \ifcase \@tempa\relax \renewcommand*\bib@heading{% - \section*{\refname}% - \@mkboth{\MakeMarkcase{\refname}}{\MakeMarkcase{\refname}}% + \ifbib@leveldown + \subsection*{\refname}% + \ifx\@mkboth\@gobble\else\markright{\MakeMarkcase{\refname}}\fi + \else + \section*{\refname}% + \@mkboth{\MakeMarkcase{\refname}}{\MakeMarkcase{\refname}}% + \fi }% \or% totoc \renewcommand*\bib@heading{% - \addsec{\refname}% - \@mkboth{\MakeMarkcase{\refname}}{\MakeMarkcase{\refname}}% + \ifbib@leveldown + \subsection*{% + \addxcontentsline{toc}{subsection}{\refname}% + \refname + }% + \ifx\@mkboth\@gobble\else\markright{\MakeMarkcase{\refname}}\fi + \else + \addsec{\refname} + \@mkboth{\MakeMarkcase{\refname}}{\MakeMarkcase{\refname}}% + \fi }% \or% numbered \renewcommand*\bib@heading{% - \section{\refname}% - \@mkboth{\MakeMarkcase{\sectionmarkformat \refname}}% - {\MakeMarkcase{\sectionmarkformat \refname}}% + \ifbib@leveldown + \subsection{\refname}% + \else + \section{\refname}% + \@mkboth{\MakeMarkcase{\sectionmarkformat \refname}}% + {\MakeMarkcase{\sectionmarkformat \refname}}% + \fi } + \or% leveldown + \bib@leveldowntrue + \or% standardlevel + \bib@leveldownfalse \fi }{% \csname scr@bibstyle@#1\endcsname + \FamilyKeyStateProcessed }% } \KOMA@DeclareStandardOption{openbib}{bibliography=openstyle} \KOMA@DeclareDeprecatedOption{bibtotoc}{bibliography=totoc} \KOMA@DeclareDeprecatedOption{bibtotocnumbered}{bibliography=totocnumbered} -%%% From File: scrkidx.dtx +%%% From File: $Id: scrkernel-index.dtx 1380 2013-10-01 15:31:55Z mjk $ \newcommand*{\idx@@heading}{% \section* } @@ -980,26 +1128,63 @@ {notoc}{0},{nottotoc}{0},{default}{0},{plainheading}{0},% {totoc}{1},{toc}{1},{notnumbered}{1}% }{#1}% - \ifcase \@tempa\relax - \renewcommand*{\idx@@heading}{% - \section* - }% - \or - \renewcommand*{\idx@@heading}{% - \addsec - }% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase \@tempa\relax + \renewcommand*{\idx@@heading}{% + \section* + }% + \or + \renewcommand*{\idx@@heading}{% + \addsec + }% + \fi \fi } \KOMA@DeclareDeprecatedOption{idxtotoc}{index=totoc} -%%% From File: scrklist.dtx -%%% From File: scrkmisc.dtx +%%% From File: $Id: scrkernel-listsandtabulars.dtx 1502 2013-11-06 11:00:12Z mjk $ +%%% From File: $Id: scrkernel-miscellaneous.dtx 1529 2013-12-03 07:36:57Z mjk $ \KOMAExecuteOptions{% parskip=false,% headings=big% } \KOMAProcessOptions\relax -%%% From File: scrkcomp.dtx -%%% From File: scrkfont.dtx +%%% From File: $Id: scrkernel-compatibility.dtx 1512 2013-11-11 10:35:04Z mjk $ +%%% From File: $Id: scrkernel-fonts.dtx 1483 2013-10-31 15:12:30Z mjk $ +\newcommand*\scr@setlength[4]{% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{#1}{#2 \@plus#3 \@minus#4}% + \else + \ifdim #2<\ifdim #2=\z@ \z@ \else \p@\fi + \ifdim #3<\ifdim #3=\z@ \z@ \else \p@\fi + \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi + \setlength{#1}{\p@ \@plus\p@ \@minus\p@}% + \else + \setlength{#1}{\p@ \@plus\p@ \@minus#4}% + \fi + \else + \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi + \setlength{#1}{\p@ \@plus#3 \@minus\p@}% + \else + \setlength{#1}{\p@ \@plus#3 \@minus#4}% + \fi + \fi + \else + \ifdim #3<\ifdim #3=\z@ \z@ \else \p@\fi + \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi + \setlength{#1}{#2 \@plus\p@ \@minus\p@}% + \else + \setlength{#1}{#2 \@plus\p@ \@minus#4}% + \fi + \else + \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi + \setlength{#1}{#2 \@plus#3 \@minus\p@}% + \else + \setlength{#1}{#2 \@plus#3 \@minus#4}% + \fi + \fi + \fi + \fi +} \newcommand*{\changefontsizes}[2][1.2\@tempdima]{% \ClassWarning{\KOMAClassName}{% Using fallback calculation to setup font sizes\MessageBreak @@ -1023,12 +1208,20 @@ \setlength{\@tempdimc}{\@tempdima}% \def\@tempa##1##2##3##4##5\@nnil{\def##1{##2.##3##4}}% \expandafter\@tempa\expandafter\@tempb\@tempb\@nnil% - \setlength{\abovedisplayskip}{% - \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% - \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\abovedisplayskip}{% + \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% + \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \setlength{\belowdisplayshortskip}{% + .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% + \else + \scr@setlength{\abovedisplayskip}% + {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}% + \scr@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}% + \scr@setlength{\belowdisplayshortskip}% + {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}% + \fi \setlength{\belowdisplayskip}{\abovedisplayskip}% - \setlength{\belowdisplayshortskip}{% - .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% \edef\normalsize{% \noexpand\@setfontsize\noexpand\normalsize {\the\@tempdima}{\the\@tempdimb}% @@ -1040,12 +1233,20 @@ }% \setlength{\@tempdima}{0.9125\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% - \setlength{\abovedisplayskip}{% - \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% - \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\abovedisplayskip}{% + \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% + \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \setlength{\belowdisplayshortskip}{% + .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% + \else + \scr@setlength{\abovedisplayskip}% + {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}% + \scr@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}% + \scr@setlength{\belowdisplayshortskip}% + {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}% + \fi \setlength{\belowdisplayskip}{\abovedisplayskip}% - \setlength{\belowdisplayshortskip}{% - .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% \edef\small{% \noexpand\@setfontsize\noexpand\small {\the\@tempdima}{\the\@tempdimb}% @@ -1057,12 +1258,20 @@ }% \setlength{\@tempdima}{.83334\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% - \setlength{\abovedisplayskip}{% - \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% - \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\abovedisplayskip}{% + \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% + \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \setlength{\belowdisplayshortskip}{% + .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% + \else + \scr@setlength{\abovedisplayskip}% + {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}% + \scr@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}% + \scr@setlength{\belowdisplayshortskip}% + {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}% + \fi \setlength{\belowdisplayskip}{\abovedisplayskip}% - \setlength{\belowdisplayshortskip}{% - .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% \edef\footnotesize{% \noexpand\@setfontsize\noexpand\footnotesize {\the\@tempdima}{\the\@tempdimb}% @@ -1115,29 +1324,37 @@ {\the\@tempdima}{\the\@tempdimb}% }% \normalsize - \setlength{\footnotesep}{.7\@tempdimc}% - \setlength{\skip\footins}{.9\@tempdimc \@plus .3333\@tempdimc \@minus - .6\@tempdimc}% - \setlength{\floatsep}{\@tempdimc \@plus .1667\@tempdimc \@minus - .3333\@tempdimc}% - \setlength{\textfloatsep}{1.6667\@tempdimc \@plus .1667\@tempdimc \@minus - .3333\@tempdimc}% - \setlength{\intextsep}{\@tempb\@tempdimc \@plus .3333\@tempdimc \@minus - .3333\@tempdimc}% - \setlength{\dblfloatsep}{\@tempb\@tempdimc \@plus .1667\@tempdimc \@minus - .3333\@tempdimc}% - \setlength{\dbltextfloatsep}{\textfloatsep}% - \setlength{\@fptop}{0\p@ \@plus 1fil}% - \setlength{\@fpsep}{.8333\@tempdimc \@plus 2fil}% - \setlength{\@fpbot}{\@fptop}% - \setlength{\@dblfptop}{0\p@ \@plus 1fil}% - \setlength{\@dblfpsep}{.8333\@tempdimc \@plus 2fil}% - \setlength{\@dblfpbot}{\@fptop}% - \setlength{\partopsep}{.25\@tempdimc \@plus .16667\@tempdimc \@minus - .16667\@tempdimc}% - \setlength{\topsep}{.8333\@tempdimc \@plus .3333\@tempdimc \@minus - .5\@tempdimc}% - \setlength{\parsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\footnotesep}{.7\@tempdimc}% + \setlength{\skip\footins}{.9\@tempdimc \@plus .3333\@tempdimc \@minus + .6\@tempdimc}% + \setlength{\floatsep}{\@tempdimc \@plus .1667\@tempdimc \@minus + .3333\@tempdimc}% + \setlength{\textfloatsep}{1.6667\@tempdimc \@plus .1667\@tempdimc \@minus + .3333\@tempdimc}% + \setlength{\intextsep}{\@tempb\@tempdimc \@plus .3333\@tempdimc \@minus + .3333\@tempdimc}% + \setlength{\dblfloatsep}{\@tempb\@tempdimc \@plus .1667\@tempdimc \@minus + .3333\@tempdimc}% + \setlength{\dbltextfloatsep}{\textfloatsep}% + \setlength{\@fptop}{0\p@ \@plus 1fil}% + \setlength{\@fpsep}{.8333\@tempdimc \@plus 2fil}% + \setlength{\@fpbot}{\@fptop}% + \setlength{\@dblfptop}{0\p@ \@plus 1fil}% + \setlength{\@dblfpsep}{.8333\@tempdimc \@plus 2fil}% + \setlength{\@dblfpbot}{\@fptop}% + \fi + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\topsep}{.8333\@tempdimc \@plus .3333\@tempdimc \@minus + .5\@tempdimc}% + \setlength{\parsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% + \else + \setlength{\@tempdimb}{\f@baselineskip}% + \scr@setlength{\parsep}% + {.3333\@tempdimb}{.1667\@tempdimb}{.0833\@tempdimb}% + \scr@setlength{\topsep}% + {.6667\@tempdimb}{.1667\@tempdimb}{.3333\@tempdimb}% + \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% @@ -1150,9 +1367,16 @@ \if@tempswa\noexpand\@list@extra\fi }% \let\@listI\@listi - \setlength{\topsep}{.75\@tempdimc \@plus .25\@tempdimc \@minus - .41667\@tempdimc}% - \setlength{\parsep}{.375\@tempdimc \@plus .16667\@tempdimc \@minus \p@}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\topsep}{.75\@tempdimc \@plus .25\@tempdimc \@minus + .41667\@tempdimc}% + \setlength{\parsep}{.375\@tempdimc \@plus .16667\@tempdimc \@minus \p@}% + \else + \scr@setlength{\parsep}% + {.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}% + \scr@setlength{\topsep}% + {.3333\@tempdimb}{.1667\@tempdimb}{.1667\@tempdimb}% + \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% @@ -1164,9 +1388,16 @@ \itemsep \parsep \if@tempswa\noexpand\@list@extra\fi }% - \setlength{\topsep}{.5\@tempdimc \@plus .16667\@tempdimc \@minus - .16667\@tempdimc}% - \setlength{\parsep}{.25\@tempdimc \@plus .16667\@tempdimc \@minus \p@}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\topsep}{.5\@tempdimc \@plus .16667\@tempdimc \@minus + .16667\@tempdimc}% + \setlength{\parsep}{.25\@tempdimc \@plus .16667\@tempdimc \@minus \p@}% + \else + \scr@setlength{\parsep}% + {.125\@tempdimb}{.0625\@tempdimb}{.0625\@tempdimb}% + \scr@setlength{\topsep}% + {.25\@tempdimb}{.125\@tempdimb}{.125\@tempdimb}% + \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% @@ -1178,8 +1409,15 @@ \itemsep \parsep \if@tempswa\noexpand\@list@extra\fi }% - \setlength{\topsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% - \setlength{\parsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\topsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% + \setlength{\parsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% + \else + \scr@setlength{\parsep}% + {.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}% + \scr@setlength{\topsep}% + {.3333\@tempdimb}{.1667\@tempdimb}{.0833\@tempdimb}% + \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% @@ -1192,8 +1430,13 @@ \itemsep \parsep \if@tempswa\noexpand\@list@extra\fi }% - \setlength{\topsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% - \setlength{\parsep}{\p@ \@plus\z@ \@minus\p@}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\topsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% + \else + \scr@setlength{\topsep}% + {.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}% + \fi + \setlength{\partopsep}{\z@ \@plus\z@ \@minus\p@}% \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% @@ -1203,7 +1446,7 @@ \labelwidth=\dimexpr \leftmargin-\labelsep \topsep \the\topsep \parsep \z@ - \partopsep \the\parsep + \partopsep \the\partopsep \itemsep \topsep \if@tempswa\noexpand\@list@extra\fi }% @@ -1213,7 +1456,7 @@ \csname @listiv\endcsname \endgroup \edef\@listiv{\leftmargin\leftmarginiv - \labelwidth=\dimexpr \leftmargin-\labelsep + \labelwidth=\dimexpr \leftmargin-\labelsep\relax \if@tempswa\noexpand\@list@extra\fi }% \@tempswafalse @@ -1222,7 +1465,7 @@ \csname @listv\endcsname \endgroup \edef\@listv{\leftmargin\leftmarginv - \labelwidth=\dimexpr \leftmargin-\labelsep + \labelwidth=\dimexpr \leftmargin-\labelsep\relax \if@tempswa\noexpand\@list@extra\fi }% \@tempswafalse @@ -1231,15 +1474,36 @@ \csname @listvi\endcsname \endgroup \edef\@listvi{\leftmargin\leftmarginvi - \labelwidth=\dimexpr \leftmargin-\labelsep + \labelwidth=\dimexpr \leftmargin-\labelsep\relax \if@tempswa\noexpand\@list@extra\fi }% \@listi - \setlength{\@tempdimb}{\@tempb\@tempdima}% - \setlength{\@tempdima}{\dimexpr \@tempdimb-\@tempdimc}% - \setlength\intextsep{\@tempdimb \@plus.2\@tempdima \@minus.2\@tempdima}% - \setlength\dblfloatsep\intextsep - \setlength\partopsep{.2\@tempdimc \@plus.1\@tempdimc \@minus.1\@tempdimc}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\@tempdimb}{\@tempb\@tempdima}% + \setlength{\@tempdima}{\dimexpr \@tempdimb-\@tempdimc}% + \setlength\intextsep{\@tempdimb \@plus.2\@tempdima \@minus.2\@tempdima}% + \setlength\dblfloatsep\intextsep + \setlength\partopsep{.2\@tempdimc \@plus.1\@tempdimc \@minus.1\@tempdimc}% + \else + \setlength{\@tempdimb}{\f@baselineskip}% + \setlength{\footnotesep}{.555\@tempdimb}% + \scr@setlength{\skip\footins}% + {.75\@tempdimb}{.3333\@tempdimb}{.1667\@tempdimb}% + \scr@setlength{\floatsep}% + {\@tempdimb}{.1667\@tempdimb}{.1667\@tempdimb}% + \scr@setlength{\textfloatsep}% + {1.6667\@tempdimb}{.1667\@tempdimb}{.3333\@tempdimb}% + \setlength{\intextsep}{\floatsep}% + \setlength{\dblfloatsep}{\floatsep}% + \setlength{\dbltextfloatsep}{\textfloatsep}% + \setlength{\@fptop}{\z@ \@plus 1fil}% + \setlength{\@fpsep}{.6667\@tempdimb \@plus 2fil}% + \setlength{\@fpbot}{\@fptop}% + \setlength{\@dblfptop}{\@fptop}% + \setlength{\@dblfpsep}{\@fpsep}% + \setlength{\@dblfpbot}{\@fptop}% + \scr@setlength{\partopsep}{.2\@tempdimb}{.1\@tempdimb}{.1\@tempdimb}% + \fi }% } \expandafter\@defaultunits\expandafter\@tempdima\@ptsize pt\relax\@nnil @@ -1265,23 +1529,61 @@ }% }% } -\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} -\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} -\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} -\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} -\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} -\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} -\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} -\DeclareOldFontCommand{\sfb}{\normalfont\sffamily\bfseries}{% +\newcommand*{\scr@DeclareOldFontCommand}[3]{% + \DeclareRobustCommand #1{\@fontswitch {% + \ClassWarning{\KOMAClassName}{% + Usage of deprecated font command `\string#1'!\MessageBreak + You should note, that in 1994 font command `\string#1' has\MessageBreak + been defined for compatiblitiy to Script 2.0 only.\MessageBreak + Now, after two decades of LaTeX2e and NFSS2, you\MessageBreak + shouldn't use such commands any longer and within\MessageBreak + KOMA-Script usage of `\string#1' is definitely deprecated.\MessageBreak + See `fntguide.pdf' for more information about\MessageBreak + recommended font commands.\MessageBreak + Note also, that KOMA-Script will remove the definition\MessageBreak + of `\string#1' anytime until release of about version 3.20.\MessageBreak + But for now, KOMA-Script will replace deprecated + `\string#1'\MessageBreak + by `\detokenize{#2}'% + }% + #2% + }{% + \ClassWarning{\KOMAClassName}{% + Usage of deprecated font command `\string#1'!\MessageBreak + You should note, that in 1994 font command `\string#1' has\MessageBreak + been defined for compatiblitiy to Script 2.0 only.\MessageBreak + Now, after two decades of LaTeX2e and NFSS2, you\MessageBreak + shouldn't use such commands any longer and within\MessageBreak + KOMA-Script usage of `\string#1' is definitely deprecated.\MessageBreak + See `fntguide.pdf' for more information about\MessageBreak + recommended font commands.\MessageBreak + Note also, that KOMA-Script will remove the definition\MessageBreak + of `\string#1' anytime until release of about version 3.20.\MessageBreak + But for now, KOMA-Script will replace deprecated + `\string#1'\MessageBreak + by `\detokenize{#3}'% + }% + #3% + }% + }% +} +\scr@DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +\scr@DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\scr@DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\scr@DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\scr@DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\scr@DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\scr@DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +\scr@DeclareOldFontCommand{\sfb}{\normalfont\sffamily\bfseries}{% \@nomath\sfb} \DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal} \DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal} -%%% From File: scrklang.dtx +%%% From File: $Id: scrkernel-language.dtx 1503 2013-11-06 11:44:59Z mjk $ \def\today{\ifcase\month\or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi \space\number\day, \number\year}% -%%% From File: scrktare.dtx +%%% From File: $Id: scrkernel-typearea.dtx 1512 2013-11-11 10:35:04Z mjk $ \let\@BCOR =\relax \let\@@BCOR =\relax \let\@DIV =\relax @@ -1292,7 +1594,40 @@ \let\x@@paper =\relax \let\scr@pti@nerr@r =\relax \RequirePackage{typearea}[\KOMAScriptVersion] -%%% From File: scrkpar.dtx +\if@scr@emulatestandardclasses + \ifnum\@lastdiv=\z@ + \setlength{\textwidth}{\dimexpr \paperwidth-2in\relax} + \ifdim \f@size\p@<10.5\p@ + \setlength{\@tempdimb}{345\p@} + \else\ifdim \f@size\p@<11.5\p@ + \setlength{\@tempdimb}{360\p@} + \else + \setlength{\@tempdimb}{390\p@} + \fi + \fi + \if@twocolumn + \ifdim\@textwidth>2\@tempdimb\relax + \setlength{\textwidth}{2\@tempdimb} + \fi + \else + \ifdim\textwidth>\@tempdimb + \setlength{\textwidth}{\@tempdimb} + \fi + \fi + \@settopoint\textwidth + \setlength{\@tempdima}{\dimexpr \paperheight-3.5in\relax} + \divide\@tempdima\baselineskip + \@tempcnta=\@tempdima + \setlength{\textheight}{\@tempcnta\baselineskip} + \addtolength{\textheight}{\topskip} + \edef\reserved@a{% + \noexpand\@areasetadvancedtrue + \noexpand\areaset[current]{\noexpand\textwidth}{\noexpand\textheight}% + \if@areasetadvanced\else\noexpand\@areasetadvancedfalse\fi + }\reserved@a + \fi +\fi +%%% From File: $Id: scrkernel-paragraphs.dtx 1380 2013-10-01 15:31:55Z mjk $ \setlength{\lineskip}{\p@} \setlength{\normallineskip}{\p@} \setlength{\columnsep}{10\p@} @@ -1420,7 +1755,7 @@ \@lowpenalty = 51 \@medpenalty =151 \@highpenalty =301 -%%% From File: scrktitl.dtx +%%% From File: $Id: scrkernel-title.dtx 1517 2013-11-21 13:02:39Z mjk $ \newcommand*{\@extratitle}{}% \newcommand{\extratitle}[1]{\gdef\@extratitle{% #1% @@ -1453,13 +1788,60 @@ \newcommand{\dedication}[1]{\gdef\@dedication{% #1% }}% -\newcommand*{\next@tpage}{\clearpage\thispagestyle{empty}}% +\newcommand*{\next@tpage}{% + \@thanks\global\let\@thanks\@empty + \clearpage + \csname titlepage@restore\endcsname + \thispagestyle{empty}% + \let\footnote\thanks + \setcounter{footnote}{0}% +} +\newcommand*{\next@tdpage}{% + \next@tpage\if@twoside \ifodd\value{page}\else\null\next@tpage\fi\fi +} \newcommand*\maketitle[1][1]{% + \expandafter\ifnum \csname scr@v@3.12\endcsname>\scr@compatibility\relax + \else + \def\and{% + \end{tabular}% + \hskip 1em \@plus.17fil% + \begin{tabular}[t]{c}% + }% + \fi \if@titlepage \begin{titlepage} \setcounter{page}{% #1% }% + \if@titlepageiscoverpage + \edef\titlepage@restore{% + \noexpand\endgroup + \noexpand\global\noexpand\@colht\the\@colht + \noexpand\global\noexpand\@colroom\the\@colroom + \noexpand\global\vsize\the\vsize + \noexpand\global\noexpand\@titlepageiscoverpagefalse + \noexpand\let\noexpand\titlepage@restore\noexpand\relax + }% + \begingroup + \topmargin=\dimexpr \coverpagetopmargin-1in\relax + \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax + \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax + \textwidth=\dimexpr + \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax + \textheight=\dimexpr + \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax + \headheight=0pt + \headsep=0pt + \footskip=\baselineskip + \@colht=\textheight + \@colroom=\textheight + \vsize=\textheight + \columnwidth=\textwidth + \hsize=\columnwidth + \linewidth=\hsize + \else + \let\titlepage@restore\relax + \fi \let\footnotesize\small \let\footnoterule\relax \let\footnote\thanks @@ -1467,53 +1849,69 @@ \let\@oldmakefnmark\@makefnmark \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark}% \ifx\@extratitle\@empty \else - \noindent\@extratitle\next@tpage\cleardoubleemptypage - \thispagestyle{empty}% + \noindent\@extratitle\next@tdpage \fi \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative \ifx\@titlehead\@empty \else \begin{minipage}[t]{\textwidth}% - \@titlehead + \usekomafont{titlehead}{\@titlehead\par}% \end{minipage}\par \fi \null\vfill \begin{center} \ifx\@subject\@empty \else - {\subject@font \@subject \par}% + {\usekomafont{subject}{\@subject\par}}% \vskip 3em \fi - {\titlefont\huge \@title\par}% + {\usekomafont{title}{\huge \@title\par}}% \vskip 1em - {\ifx\@subtitle\@empty\else\usekomafont{subtitle}\@subtitle\par\fi}% + {\ifx\@subtitle\@empty\else\usekomafont{subtitle}{\@subtitle\par}\fi}% \vskip 2em - {\Large \lineskip 0.75em - \begin{tabular}[t]{c} - \@author - \end{tabular}\par + {% + \usekomafont{author}{% + \lineskip 0.75em + \begin{tabular}[t]{c} + \@author + \end{tabular}\par + }% }% \vskip 1.5em - {\Large \@date \par}% + {\usekomafont{date}{\@date \par}}% \vskip \z@ \@plus3fill - {\Large \@publishers \par}% + {\usekomafont{publishers}{\@publishers \par}}% \vskip 3em \end{center}\par - \@thanks + \@thanks\let\@thanks\@empty \vfill\null - \if@twoside\next@tpage - \begin{minipage}[t]{\textwidth} - \@uppertitleback - \end{minipage}\par - \vfill - \begin{minipage}[b]{\textwidth} - \@lowertitleback - \end{minipage} + \if@twoside + \@tempswatrue + \expandafter\ifnum \@nameuse{scr@v@3.12}>\scr@compatibility\relax + \else + \ifx\@uppertitleback\@empty\ifx\@lowertitleback\@empty + \@tempswafalse + \fi\fi + \fi + \if@tempswa + \next@tpage + \begin{minipage}[t]{\textwidth} + \@uppertitleback + \end{minipage}\par + \vfill + \begin{minipage}[b]{\textwidth} + \@lowertitleback + \end{minipage}\par + \@thanks\let\@thanks\@empty + \fi \fi - \ifx\@dedication\@empty \else - \next@tpage\null\vfill - {\centering \Large \@dedication \par}% + \ifx\@dedication\@empty + \else + \next@tdpage\null\vfill + {\centering\usekomafont{dedication}{\@dedication \par}}% \vskip \z@ \@plus3fill - \if@twoside \next@tpage\cleardoubleemptypage \fi + \@thanks\let\@thanks\@empty + \cleardoubleemptypage \fi + \ifx\titlepage@restore\relax\else\clearpage\titlepage@restore\fi \end{titlepage} \else \par @@ -1527,92 +1925,115 @@ }% \fi \begingroup + \let\titlepage@restore\relax \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% \let\@oldmakefnmark\@makefnmark \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark} + \next@tdpage \if@twocolumn \ifnum \col@number=\@ne + \@makeextratitle + \next@tdpage \@maketitle \else + \ifx\@extratitle\@empty\else + \twocolumn[\@makeextratitle]\next@tdpage + \fi \twocolumn[\@maketitle]% \fi \else - \newpage - \global\@topnum\z@ + \@makeextratitle \@maketitle \fi \thispagestyle{\titlepagestyle}\@thanks \endgroup \fi \setcounter{footnote}{0}% - \let\thanks\relax - \let\maketitle\relax - \let\@maketitle\relax - \global\let\@thanks\@empty - \global\let\@author\@empty - \global\let\@date\@empty - \global\let\@title\@empty - \global\let\@subtitle\@empty - \global\let\@extratitle\@empty - \global\let\@titlehead\@empty - \global\let\@subject\@empty - \global\let\@publishers\@empty - \global\let\@uppertitleback\@empty - \global\let\@lowertitleback\@empty - \global\let\@dedication\@empty - \global\let\author\relax - \global\let\title\relax - \global\let\extratitle\relax - \global\let\titlehead\relax - \global\let\subject\relax - \global\let\publishers\relax - \global\let\uppertitleback\relax - \global\let\lowertitleback\relax - \global\let\dedication\relax - \global\let\date\relax + \expandafter\ifnum \csname scr@v@3.12\endcsname>\scr@compatibility\relax + \let\thanks\relax + \let\maketitle\relax + \let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\@subtitle\@empty + \global\let\@extratitle\@empty + \global\let\@titlehead\@empty + \global\let\@subject\@empty + \global\let\@publishers\@empty + \global\let\@uppertitleback\@empty + \global\let\@lowertitleback\@empty + \global\let\@dedication\@empty + \global\let\author\relax + \global\let\title\relax + \global\let\extratitle\relax + \global\let\titlehead\relax + \global\let\subject\relax + \global\let\publishers\relax + \global\let\uppertitleback\relax + \global\let\lowertitleback\relax + \global\let\dedication\relax + \global\let\date\relax + \fi \global\let\and\relax }% -\newcommand*{\@maketitle}{% - \clearpage - \let\footnote\thanks +\newcommand*{\@makeextratitle}{% + \next@tdpage \ifx\@extratitle\@empty \else - \noindent\@extratitle \next@tpage \if@twoside \null\next@tpage \fi + \noindent\@extratitle \next@tdpage \fi +} +\newcommand*{\@maketitle}{% + \next@tdpage + \global\@topnum=\z@ \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative \ifx\@titlehead\@empty \else \begin{minipage}[t]{\textwidth} - \@titlehead + \usekomafont{titlehead}{\@titlehead\par}% \end{minipage}\par \fi \null \vskip 2em% \begin{center}% \ifx\@subject\@empty \else - {\subject@font \@subject \par} + {\usekomafont{subject}{\@subject \par}}% \vskip 1.5em \fi - {\titlefont\huge \@title \par}% + {\usekomafont{title}{\huge \@title \par}}% \vskip .5em {\ifx\@subtitle\@empty\else\usekomafont{subtitle}\@subtitle\par\fi}% \vskip 1em - {\Large - \lineskip .5em% - \begin{tabular}[t]{c} - \@author - \end{tabular}\par + {% + \usekomafont{author}{% + \lineskip .5em% + \begin{tabular}[t]{c} + \@author + \end{tabular}\par + }% }% \vskip 1em% - {\Large \@date \par}% + {\usekomafont{date}{\@date \par}}% \vskip \z@ \@plus 1em - {\Large \@publishers \par} + {\usekomafont{publishers}{\@publishers \par}}% \ifx\@dedication\@empty \else \vskip 2em - {\Large \@dedication \par} + {\usekomafont{dedication}{\@dedication \par}}% \fi \end{center}% \par \vskip 2em }% +\newcommand*{\coverpagetopmargin}{% + \dimexpr \topmargin+1in\relax +} +\newcommand*{\coverpagebottommargin}{% + 2\dimexpr\coverpagetopmargin\relax +} +\newcommand*{\coverpageleftmargin}{% + \dimexpr \evensidemargin+1in\relax +} +\newcommand*{\coverpagerightmargin}{\coverpageleftmargin} \newenvironment{titlepage}{% \if@twocolumn \@restonecoltrue\onecolumn @@ -1629,6 +2050,11 @@ \newcommand*\titlefont{\sectfont}% \newcommand*{\subject@font}{\normalfont\normalcolor\bfseries\Large}% \newkomafont{subtitle}{\usekomafont{title}\large}% +\newkomafont{titlehead}{}% +\newkomafont{author}{\Large} +\newkomafont{date}{\Large} +\newkomafont{publishers}{\Large} +\newkomafont{dedication}{\Large} \newcommand*{\scr@fnt@title}{\titlefont}% \newcommand*{\scr@fnt@subject}{\subject@font}% \newenvironment{abstract}{% @@ -1664,13 +2090,19 @@ \if@twocolumn\else\endquotation\fi \fi } -%%% From File: scrksect.dtx +%%% From File: $Id: scrkernel-sections.dtx 1552 2013-12-16 16:51:32Z mjk $ \newcommand*\appendix{\par% \setcounter{section}{0}% \setcounter{subsection}{0}% \gdef\thesection{\@Alph\c@section}% \csname appendixmore\endcsname } +\newcommand*\addsecmark[1]{% + \begingroup + \c@secnumdepth=\m@ne + \sectionmark{#1}% + \endgroup +} \newif\if@altsecnumformat\@altsecnumformatfalse \newif\if@autodot \renewcommand*{\@autodottrue}{\global\let\if@autodot\iftrue} @@ -1823,6 +2255,36 @@ \fi\fi} \newcommand*\autodot{\if@altsecnumformat.\fi} \setcounter{secnumdepth}{3} +\newcommand*{\partnumdepth}{% + \z@ +} +\newcommand*{\sectionnumdepth}{\@ne} +\newcommand*{\subsectionnumdepth}{\tw@} +\newcommand*{\subsubsectionnumdepth}{\thr@@} +\newcommand*{\paragraphnumdepth}{4} +\newcommand*{\subparagraphnumdepth}{5} +\newcommand*{\ifnumbered}[1]{% + \scr@ifundefinedorrelax{#1numdepth}{% + \@secondoftwo + }{% + \expandafter\ifnum \@nameuse{#1numdepth}>\c@secnumdepth + \expandafter\@secondoftwo + \else + \expandafter\@firstoftwo + \fi + }% +} +\newcommand*{\ifunnumbered}[1]{% + \scr@ifundefinedorrelax{#1numdepth}{% + \@firstoftwo + }{% + \expandafter\ifnum \@nameuse{#1numdepth}>\c@secnumdepth + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + }% +} \newcounter{part} \renewcommand*{\thepart}{\@Roman\c@part} \newcommand*{\partformat}{\partname~\thepart\autodot} @@ -1884,26 +2346,26 @@ \setkeys{KOMAarg.section}{tocentry={#1},head={#1}}% \fi \fi - \ifnum \c@secnumdepth >\m@ne + \ifnumbered{part}{% \refstepcounter{part}% \@maybeautodot\thepart% \ifx\scr@ds@tocentry\@empty\else \addparttocentry{\thepart}{\scr@ds@tocentry}% \fi - \else + }{% \ifx\scr@ds@tocentry\@empty\else \addparttocentry{}{\scr@ds@tocentry}% \fi - \fi + }% \begingroup \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative \raggedpart \interlinepenalty \@M \normalfont\sectfont\nobreak - \ifnum \c@secnumdepth >\m@ne + \ifnumbered{part}{% \size@partnumber{\partformat}% \partheadmidvskip - \fi + }{}% \size@part{#2}\strut \ifx\partmark\@gobble \@mkboth{}{}\par @@ -1996,15 +2458,9 @@ \ifx\scr@ds@tocentry\@empty\else \addsectiontocentry{}{\scr@ds@tocentry}% \fi - \if@twoside - \expandafter\@mkboth\expandafter{% - \expandafter\MakeMarkcase\expandafter{\scr@ds@head}}{}% - \else - \expandafter\@mkboth\expandafter{\expandafter}\expandafter{% - \expandafter\MakeMarkcase\expandafter{\scr@ds@head}}% - \fi + \addsecmark{\scr@ds@head}% } -\newcommand*{\@saddsec}[1]{\section*{#1}\@mkboth{}{}} +\newcommand*{\@saddsec}[1]{\section*{#1}\addsecmark{}} \newcommand*{\addsectiontocentry}[2]{% \addtocentrydefault{section}{#1}{#2}% } @@ -2017,14 +2473,16 @@ \newcommand*{\addsubparagraphtocentry}[2]{% \addtocentrydefault{subparagraph}{#1}{#2}% } -\newcommand\section{\@startsection{section}{1}{\z@}% +\newcommand\section{% + \@startsection{section}{\sectionnumdepth}{\z@}% {-3.5ex \@plus -1ex \@minus -.2ex}% {2.3ex \@plus.2ex}% {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax \setlength{\parfillskip}{\z@ plus 1fil}\fi \raggedsection\normalfont\sectfont\nobreak\size@section}% } -\newcommand\subsection{\@startsection{subsection}{2}{\z@}% +\newcommand\subsection{% + \@startsection{subsection}{\subsectionnumdepth}{\z@}% {-3.25ex\@plus -1ex \@minus -.2ex}% {1.5ex \@plus .2ex}% {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax @@ -2032,7 +2490,8 @@ \raggedsection\normalfont\sectfont\nobreak\size@subsection }% } -\newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% +\newcommand\subsubsection{% + \@startsection{subsubsection}{\subsubsectionnumdepth}{\z@}% {-3.25ex\@plus -1ex \@minus -.2ex}% {1.5ex \@plus .2ex}% {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax @@ -2040,12 +2499,14 @@ \raggedsection\normalfont\sectfont\nobreak\size@subsubsection }% } -\newcommand\paragraph{\@startsection{paragraph}{4}{\z@}% +\newcommand\paragraph{% + \@startsection{paragraph}{\paragraphnumdepth}{\z@}% {3.25ex \@plus1ex \@minus.2ex}% {-1em}% {\raggedsection\normalfont\sectfont\nobreak\size@paragraph}% } -\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% +\newcommand\subparagraph{% + \@startsection{subparagraph}{\subparagraphnumdepth}{\parindent}% {3.25ex \@plus1ex \@minus .2ex}% {-1em}% {\raggedsection\normalfont\sectfont\nobreak\size@subparagraph}% @@ -2063,7 +2524,6 @@ \let\raggedsection\raggedright \newcommand*{\raggedpart}{} \let\raggedpart\raggedsection -\newcommand*\sectfont{\normalcolor\sffamily\bfseries} \newkomafont{partentry}{\usekomafont{disposition}\large} \newkomafont{partentrypagenumber}{} \newkomafont{sectionentry}{\usekomafont{disposition}} @@ -2165,7 +2625,7 @@ \@dottedtocline{#1}{#2}{#3}{#4}{#5}% \fi } -%%% From File: scrkmisc.dtx +%%% From File: $Id: scrkernel-miscellaneous.dtx 1529 2013-12-03 07:36:57Z mjk $ \newif\if@restonecol \newcommand{\dictum}[2][]{\par% \begingroup @@ -2236,7 +2696,37 @@ \providecommand*{\@textsubscript}[1]{% {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}% } -%%% From File: scrkpage.dtx +\newcommand*{\scr@package@not@recommended}[2]{% + \BeforePackage{#1}{% + \ClassWarning{\KOMAClassName}{% + Usage of package `#1' together\MessageBreak + with a KOMA-Script class is not recommended.\MessageBreak + \if\relax\detokenize{#2}\relax\else + I'd suggest to use #2.\MessageBreak + \fi + Nevertheless, using requested\MessageBreak + package `#1'% + }% + }% +} +\scr@package@not@recommended{emptypage}{% + option\MessageBreak + `cleardoublepage' with one of it's\MessageBreak + several values} +\scr@package@not@recommended{parskip}{% + option\MessageBreak + `parskip' with one of it's several values} +\scr@package@not@recommended{fancyhdr}{% + \MessageBreak + package `scrpage2' or `scrlayer-scrpage'} +\scr@package@not@recommended{titlesec}{% + the package only\MessageBreak + if you really need it, because it breaks several\MessageBreak + KOMA-Script features, i.e., option `headings' and\MessageBreak + the extended optional argument of the section\MessageBreak + commands +} +%%% From File: $Id: scrkernel-pagestyles.dtx 1551 2013-12-16 14:02:13Z mjk $ \newcommand*{\set@tempdima@hw}{% \setlength{\@tempdima}{\textwidth}% \if@mincl @@ -2293,12 +2783,12 @@ \if@twoside\else\hfil\fi}}}}\hss}% \renewcommand*{\sectionmark}[1]{% \if@twoside\expandafter\markboth\else\expandafter\markright\fi - {\MakeMarkcase{\ifnum \c@secnumdepth >\z@% - \sectionmarkformat\fi ##1}}{}}% + {\MakeMarkcase{\ifnumbered{section}{\sectionmarkformat\fi}{}##1}}{}}% \renewcommand*{\subsectionmark}[1]{% \if@twoside - \markright{\MakeMarkcase{\ifnum \c@secnumdepth >\@ne% - \subsectionmarkformat\fi ##1}}% + \markright{% + \MakeMarkcase{\ifnumbered{subsection}{\subsectionmarkformat}{}##1}% + }% \fi }% }% @@ -2340,7 +2830,7 @@ \else \onecolumn \fi -%%% From File: scrkfloa.dtx +%%% From File: $Id: scrkernel-floats.dtx 1502 2013-11-06 11:00:12Z mjk $ \newcommand\marginline[1]{% \marginpar[\raggedleft{#1}]{\raggedright #1}% } @@ -2673,8 +3163,8 @@ \let\scr@tmp@footnotetext=\@footnotetext \let\@footnotetext=\@gobble \sbox\@tempboxa{% - {\capfont{\strut\ignorespaces - #1{{\caplabelfont{#2\captionformat}}}% + {\usekomafont{caption}{\strut\ignorespaces + #1{{\usekomafont{captionlabel}{#2\captionformat}}}% #3\unskip\strut}}% }% \let\@footnotetext=\scr@tmp@footnotetext @@ -2690,23 +3180,25 @@ \hb@xt@\hsize{% \setbox\@tempboxa\vbox{\hsize=\cap@width \ifdofullc@p - {\capfont{\@hangfrom{\scr@smashdp{\strut\ignorespaces - #1{{\caplabelfont{#2\captionformat}}}}}% + {\usekomafont{caption}{\@hangfrom{\scr@smashdp{\strut\ignorespaces + #1{{\usekomafont{captionlabel}{#2\captionformat}}}}}% {#3\unskip\strut\par}}}% \else% \ifdim\cap@indent<\z@ - {\capfont{\strut\ignorespaces - #1{{\caplabelfont{#2\captionformat\par}}}% + {\usekomafont{caption}{\strut\ignorespaces + #1{{\usekomafont{captionlabel}{#2\captionformat\par}}}% \noindent\hspace*{-\cap@indent}#3\unskip\strut\par}}% \else% \if@capbreak - {\capfont{\strut\ignorespaces - #1{{\caplabelfont{#2\captionformat\par}}}% + {\usekomafont{caption}{\strut\ignorespaces + #1{{\usekomafont{captionlabel}{#2\captionformat\par}}}% \noindent\@hangfrom{\hspace*{\cap@indent}}{#3\par}}}% \else - {\capfont{\@hangfrom{\scr@smashdp\strut\hspace*{\cap@indent}}% + {\usekomafont{caption}{% + \@hangfrom{\scr@smashdp\strut\hspace*{\cap@indent}}% {\hspace{-\cap@indent}\scr@smashdp{\ignorespaces#1% - {{\caplabelfont{#2\captionformat}}}}#3\unskip\strut\par}}}% + {{\usekomafont{captionlabel}{% + #2\captionformat}}}}#3\unskip\strut\par}}}% \fi \fi \fi @@ -2723,11 +3215,12 @@ \else \global \@minipagefalse \sbox\@tempboxa{% - {\capfont{\scr@smashdp{\strut\ignorespaces - #1{{\caplabelfont{#2\captionformat}}}}% + {\usekomafont{caption}{\scr@smashdp{\strut\ignorespaces + #1{{\usekomafont{captionlabel}{#2\captionformat}}}}% #3}}% }% - {\capfont{\hb@xt@\hsize{\strut\cap@left\box\@tempboxa\cap@right\strut}}}% + {\usesizeofkomafont{caption}{% + \hb@xt@\hsize{\strut\cap@left\box\@tempboxa\cap@right\strut}}}% \fi \endgroup } @@ -2845,14 +3338,14 @@ \newenvironment{figure}{% \if@figurecaptionabove\let\caption\captionabove \else\let\caption\captionbelow\fi - \let\caption\captionbelow\@float{figure}% + \@float{figure}% }{% \end@float } \newenvironment{figure*}{% \if@figurecaptionabove\let\caption\captionabove \else\let\caption\captionbelow\fi - \let\caption\captionbelow\@dblfloat{figure}% + \@dblfloat{figure}% }{% \end@dblfloat } @@ -2881,7 +3374,7 @@ }{% \end@dblfloat } -%%% From File: scrkftn.dtx +%%% From File: $Id: scrkernel-footnotes.dtx 1380 2013-10-01 15:31:55Z mjk $ \renewcommand*\footnoterule{% \normalsize\ftn@rule@test@values \kern-\dimexpr 2.6\p@+\ftn@rule@height\relax @@ -3018,15 +3511,17 @@ \endgroup \@footnotemark } -%%% From File: scrkliof.dtx +%%% From File: $Id: scrkernel-listsof.dtx 1522 2013-11-22 08:11:42Z mjk $ \renewcommand*{\numberline}[1]{% \numberline@box{% - \numberline@prefix\numberline@numberformat{#1}\numberline@postfix + \numberline@prefix + \ifstr{#1}{}{#1}{\numberline@numberformat{#1}}% + \numberline@postfix }% } \newcommand*{\numberline@prefix}{} \newcommand*{\numberline@postfix}{\hfil} -\newcommand*{\numberline@numberformat}[1]{#1\autodot} +\newcommand*{\numberline@numberformat}[1]{\ifstr{#1}{}{}{#1\autodot}} \newcommand*{\numberline@box}[1]{\hb@xt@\@tempdima{#1}} \newcommand*\@pnumwidth{1.55em} \newcommand*\@tocrmarg {2.55em} @@ -3091,11 +3586,7 @@ \begingroup\let\if@dynlist\if@tocleft\listoftoc{toc}\endgroup } \newcommand{\addtocentrydefault}[3]{% - \ifstr{#2}{}{% - \addcontentsline{toc}{#1}{#3}% - }{% - \addcontentsline{toc}{#1}{\protect\numberline{#2}#3}% - }% + \tocbasic@addxcontentsline{toc}{#1}{#2}{#3}% } \newcommand*{\float@listhead}[1]{% \scr@float@listhead@warning @@ -3111,21 +3602,34 @@ } \newcommand*{\scr@float@listhead@warning}{% \ClassWarning{\KOMAClassName}{% - Usage of deprecated \string\float@listhead!\MessageBreak - You should use the features of package `tocbasic'\MessageBreak - instead of \string\float@listhead.\MessageBreak - Definition of \string\float@listhead\space my be removed from\MessageBreak - `\KOMAClassName' soon, so it should not be used + \string\float@listhead\space detected!\MessageBreak + Implementation of \string\float@listhead\space became\MessageBreak + deprecated in KOMA-Script v3.01 2008/11/14 and\MessageBreak + has been replaced by more several more flexible\MessageBreak + features of package `tocbasic`.\MessageBreak + Maybe implementation of \string\float@listhead\space will\MessageBreak + be removed from KOMA-Script soon.\MessageBreak + Loading of package `scrhack' may help to\MessageBreak + avoid this warning, if you are using a\MessageBreak + a package that still implements the\MessageBreak + deprecated \string\float@listhead\space interface }% } \newcommand*{\scr@float@addtolists@warning}{% \ClassWarningNoLine{\KOMAClassName}{% \string\float@addtolists\space detected!\MessageBreak - You should use the features of package `tocbasic'\MessageBreak - instead of \string\float@addtolists.\MessageBreak - Support for \string\float@addtolists\space may be removed - from\MessageBreak - `\KOMAClassName' soon + Implementation of \string\float@addtolist\space became\MessageBreak + deprecated in KOMA-Script v3.01 2008/11/14 and\MessageBreak + has been replaced by more several more flexible\MessageBreak + features of package `tocbasic`.\MessageBreak + Since Version 3.12 support for deprecated\MessageBreak + \string\float@addtolist\space interface has been\MessageBreak + restricted to only some of the KOMA-Script\MessageBreak + features and been removed from others.\MessageBreak + Loading of package `scrhack' may help to\MessageBreak + avoid this warning, if you are using a\MessageBreak + a package that still implements the\MessageBreak + deprecated \string\float@addtolist\space interface }% \global\let\scr@float@addtolists@warning\relax } @@ -3139,7 +3643,7 @@ \newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} \newcommand*\listoftables{\listoftoc{lot}} \let\l@table\l@figure -%%% From File: scrkbib.dtx +%%% From File: $Id: scrkernel-bibliography.dtx 1380 2013-10-01 15:31:55Z mjk $ \newcommand*\refname{References} \newcommand*{\bibpreamble}{\relax} \let\bibpreamble\relax @@ -3224,12 +3728,13 @@ } \newcommand{\AfterBibliographyPreamble}{\g@addto@macro\bib@before@hook} \newcommand{\AtEndBibliography}{\g@addto@macro\bib@after@hook} -%%% From File: scrkidx.dtx +%%% From File: $Id: scrkernel-index.dtx 1380 2013-10-01 15:31:55Z mjk $ \newcommand*{\index@preamble}{} \let\index@preamble=\relax \newcommand{\setindexpreamble}[1]{\def\index@preamble{#1}} \newcommand*{\idx@heading}{% - \twocolumn[\idx@@heading{\indexname}]% + \twocolumn[% + \idx@@heading{\indexname}]% \@mkboth{\MakeMarkcase{\indexname}}{\MakeMarkcase{\indexname}}% } \newenvironment{theindex}{% @@ -3256,7 +3761,7 @@ \par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax } \newcommand*\indexname{Index} -%%% From File: scrklist.dtx +%%% From File: $Id: scrkernel-listsandtabulars.dtx 1502 2013-11-06 11:00:12Z mjk $ \if@twocolumn \setlength{\leftmargini}{2em} \else @@ -3361,8 +3866,22 @@ \newenvironment{addmargin*}{% \@tempswafalse \if@twoside\ifthispageodd{}{\@tempswatrue}\fi + \edef\scr@addmargin@startpage{\csname tpo@\scr@tpo\endcsname}% \@addmargin }{% + \unskip\nobreak\ifthispageodd{}{}% + \expandafter\ifx\csname tpo@\scr@tpo\endcsname\scr@addmargin@startpage\else + \ClassWarning{\KOMAClassName}{% + page break inside `addmargin*' environment.\MessageBreak + A `addmargin*' environment starting on page + \scr@addmargin@startpage\MessageBreak + ends on page \csname tpo@\scr@tpo\endcsname.\MessageBreak + This will result in potential wrong margins on\MessageBreak + every other page.\MessageBreak + So maybe you should change the `addmargin*'\MessageBreak + environment, that ends% + }% + \fi \advance\@listdepth\@ne \endlist } @@ -3393,7 +3912,7 @@ \newcommand*{\scr@fnt@descriptionlabel}{\descfont} \newkomafont{labelinglabel}{} \newkomafont{labelingseparator}{} -%%% From File: scrlogo.dtx +%%% From File: $Id: scrlogo.dtx 1380 2013-10-01 15:31:55Z mjk $ \@ifundefined{KOMAScript}{% \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% M\kern.05em A\kern.1em-\kern.1em Script}}}{} diff --git a/Master/texmf-dist/tex/latex/koma-script/scrbase.sty b/Master/texmf-dist/tex/latex/koma-script/scrbase.sty index 8bb79e32e5a..9755a4c3bc2 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrbase.sty +++ b/Master/texmf-dist/tex/latex/koma-script/scrbase.sty @@ -1,19 +1,18 @@ %% %% This is file `scrbase.sty', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `package,scrbase') -%% scrkbase.dtx (with options: `package,option,base') -%% scrklang.dtx (with options: `package,option,base') +%% scrkernel-version.dtx (with options: `package,scrbase') +%% scrkernel-basics.dtx (with options: `package,option,base') +%% scrkernel-language.dtx (with options: `package,option,base') %% scrlfile.dtx (with options: `load') -%% scrkbase.dtx (with options: `package,body,base') -%% scrklang.dtx (with options: `package,body,base') +%% scrkernel-basics.dtx (with options: `package,body,base') +%% scrkernel-language.dtx (with options: `package,body,base') %% scrlogo.dtx (with options: `logo') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 2002-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -45,9 +44,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -67,25 +66,28 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup -%%% From File: scrkbase.dtx +%%% From File: $Id: scrkernel-basics.dtx 1502 2013-11-06 11:00:12Z mjk $ +\NeedsTeXFormat{LaTeX2e}[1995/06/01] \ProvidesPackage{% scrbase% }[% - \KOMAScriptVersion\space package - (KOMA-Script-independent basics and keyval usage)] + 2013/12/19 v3.12 KOMA-Script + package (% + KOMA-Script-independent + basics and keyval usage)] \begingroup - \def\@tempb{}% - \def\@tempa{% - \PackageError{scrbase}{seems you are not running e-TeX\@tempb}{% + \def\reserved@b{}% + \def\reserved@a#1{% + \PackageError{scrbase}{seems you are not running e-TeX#1}{% Since 2004 the LaTeX team recommends to use e-TeX.\MessageBreak KOMA-Script since version 2.95 uses several e-TeX features.\MessageBreak At actual systems `latex' should already use e-TeX.\MessageBreak At deprecated systems it may be called `elatex'.\MessageBreak Use either unsupported KOMA-Script up to version 2.9u or\MessageBreak - ask you administrator for LaTeX using e-TeX\@tempb.\MessageBreak - Not using e-TeX\@tempb\space is a fatal error!\MessageBreak + ask you administrator for LaTeX using e-TeX#1.\MessageBreak + Not using e-TeX#1 is a fatal error!\MessageBreak Processing cannot be continued!}% \endgroup \batchmode \errmessage{}\csname @@end\endcsname\end\relax @@ -93,12 +95,12 @@ }% \expandafter\ifx\csname eTeXversion\endcsname\relax\else \ifnum\eTeXversion <2 - \def\@tempb{ V 2}% + \def\reserved@b{ V 2}% \else - \let\@tempa\endgroup + \let\reserved@a\endgroup \fi \fi -\@tempa +\expandafter\reserved@a\expandafter{\reserved@b} \RequirePackage{keyval} \newcommand{\scr@ifundefinedorrelax}[1]{% \ifcsname #1\endcsname @@ -111,6 +113,9 @@ \expandafter\@firstoftwo \fi } +\newcommand*\PackageErrorNoLine[2]{% + \PackageError{#1}{#2\@gobble}% +} \newcommand*{\DefineFamily}[1]{% \scr@ifundefinedorrelax{#1@key@familylist}{% \@namedef{#1@key@familylist}{}% @@ -157,11 +162,59 @@ \fi }% } -\newcommand*{\DefineFamilyKey}[2][.\@currname.\@currext]{% +\newcommand*{\DefineFamilyKey}[3][.\@currname.\@currext]{% + \@ifnextchar[%] + {% + \edef\reserved@a{#1}% + \expandafter\scr@define@family@key + \expandafter{\reserved@a}{#2}{#3}% + }{% + \edef\reserved@a{#1}% + \expandafter\scr@define@family@key@nodefault + \expandafter{\reserved@a}{#2}{#3}% + }% +} +\newcommand*{\scr@define@family@key}{} +\def\scr@define@family@key#1#2#3[#4]#5{% + \scr@if@familymember{#1}{#2}{define a key}{% + \define@key{#2#1}{#3}[{#4}]{% + \def\FamilyOfKey{#2}\def\FamilyMemberOfKey{#1}% + \FamilyKeyStateUnknown + #5% + \def\FamilyOfKey{#2}\def\FamilyMemberOfKey{#1}% + }% + }% +} +\newcommand*{\scr@define@family@key@nodefault}[4]{% \scr@if@familymember{#1}{#2}{define a key}{% - \define@key{#2#1}% + \define@key{#2#1}{#3}{% + \def\FamilyOfKey{#2}\def\FamilyMemberOfKey{#1}% + \FamilyKeyStateUnknown + #4 + \def\FamilyOfKey{#2}\def\FamilyMemberOfKey{#1}% + }% + \@namedef{KV@#2#1@#3@default}{% + \def\FamilyOfKey{#2}\def\FamilyMemberOfKey{#1}% + \FamilyKeyStateNeedValue + }% }% } +\newcommand*{\FamilyKeyState}{} +\newcommand*{\FamilyKeyStateUnknown}{% + \let\FamilyKeyState\FamilyKeyStateUnknown +} +\newcommand*{\FamilyKeyStateUnknownValue}{% + \let\FamilyKeyState\FamilyKeyStateUnknownValue +} +\newcommand*{\FamilyKeyStateNeedValue}{% + \let\FamilyKeyState\FamilyKeyStateNeedValue +} +\newcommand*{\FamilyKeyStateProcessed}{% + \let\FamilyKeyState\FamilyKeyStateProcessed +} +\let\FamilyKeyState\FamilyKeyStateUnknown +\newcommand*{\FamilyOfKey}{} +\newcommand*{\FamilyMemberOfKey}{} \newcommand*{\@globaloptionslist}{} \let\@globaloptionslist\@classoptionslist \scr@ifundefinedorrelax{XKV@classoptionslist}{}{% @@ -169,8 +222,20 @@ \let\@globaloptionslist\XKV@classoptionslist \fi } -\newcommand*{\scr@removeunused}{} \newcommand*{\FamilyProcessOptions}[2][.\@currname.\@currext]{% + \ifx\AtEndOfFamilyOptions\scr@AtEndOfFamilyOptions + \PackageError{scrbase}{nested \string\FamilyProcessOptions\space + detected\MessageBreak}{% + \string\FamilyProcessOptions\space has been used while processing or + setting options.\MessageBreak + This is currently not allowed. You should contact the author of the + causing\MessageBreak + code.\MessageBreak + This error is fatal. You should not continue.% + }% + \fi + \let\AtEndOfFamilyOptions\scr@AtEndOfFamilyOptions + \@namedef{scr@after@options@#1@hook}{\@namedef{scr@after@options@#1@hook}{}}% \let\ds@\@empty \edef\@curroptions{\@ptionlist{\@currname.\@currext}}% \ifx\@currext\@clsextension\else @@ -181,68 +246,101 @@ \@use@ption \expandafter\let\csname ds@\CurrentOption\endcsname\@empty \else - \expandafter\def\expandafter\scr@removeunused\expandafter{% - \expandafter\def\expandafter\CurrentOption\expandafter{% - \CurrentOption}\@use@ption}% - \scr@optiontest{#2}\CurrentOption{}{% - \@expandtwoargs\setkeys{#2}% - \CurrentOption - \scr@removeunused - }% - \scr@optiontest{#2#1}\CurrentOption{}{% - \@expandtwoargs\setkeys{#2#1}% - \CurrentOption - \scr@removeunused - }% - \let\scr@removeunused\@empty + \scr@ifprocess@curroption{#1}{#2}{% + \@expandtwoargs\@removeelement\CurrentOption + \@unusedoptionlist\@unusedoptionlist + }{}% \fi \fi }% \fi \@for\CurrentOption:=\@curroptions\do{% - \@use@ption \scr@ifundefinedorrelax{ds@\CurrentOption}{% - \scr@optiontest{#2}\CurrentOption{% - \scr@optiontest{#2#1}\CurrentOption{% - \default@ds - }{% - \let\scr@removeunused\relax - \edef\reserved@a{% - \noexpand\setkeys{#2#1}{\CurrentOption}% - \noexpand\def\noexpand\CurrentOption{\CurrentOption}% - }\reserved@a - \ifx\scr@removeunused\relax\else\default@ds\fi - }% - }{% - \let\scr@removeunused\relax - \edef\reserved@a{% - \noexpand\setkeys{#2}{\CurrentOption}% - \noexpand\def\noexpand\CurrentOption{\CurrentOption}% - }\reserved@a - \if\scr@removeunused\relax\else\default@ds\fi - \scr@optiontest{#2#1}\CurrentOption{}{% - \let\scr@removeunused\relax - \@expandtwoargs\setkeys{#2#1}% - \CurrentOption - \ifx\scr@removeunused\relax\else\default@ds\fi - }% - }% - }{% - }% + \@use@ption + \scr@ifprocess@curroption{#1}{#2}{}\default@ds + }\@use@ption }% \@for\CurrentOption:=\@declaredoptions\do{% \expandafter\let\csname ds@\CurrentOption\endcsname\relax}% \let\CurrentOption\@empty \let\@fileswith@pti@ns\@@fileswith@pti@ns \AtEndOfPackage{\let\@unprocessedoptions\relax}% + \let\AtEndOfFamilyOptions\@firstofone + \@nameuse{scr@after@options@#1@hook}% } \@onlypreamble\FamilyProcessOptions -\newcommand*{\scr@optiontest}[2]{% - \edef\reserved@a{\noexpand\scr@pti@ntest{#1}#2=\noexpand\@nil}% - \reserved@a +\newcommand*{\scr@AtEndOfFamilyOptions}{% + \expandafter + \l@addto@macro\csname scr@after@options@\FamilyOfKey @hook\endcsname +} +\newcommand*{\AtEndOfFamilyOptions}{} +\let\AtEndOfFamilyOptions\@firstofone +\newcommand*\scr@ifprocess@curroption[2]{% + \def\reserved@a##1=##2\@nil{\def\reserved@a{##1}}% + \expandafter\reserved@a\CurrentOption=\@nil + \scr@ifundefinedorrelax{KV@#2@\reserved@a}{% + \scr@ifundefinedorrelax{KV@#2#1@\reserved@a}{% + \let\FamilyKeyState\OptionNotUsed + }{% + \protected@edef\reserved@b{\noexpand\setkeys{#2#1}{\CurrentOption}% + \noexpand\def\noexpand\CurrentOption{\CurrentOption}}% + \reserved@b + \ifx\FamilyKeyState\FamilyKeyStateUnknown + \PackageInfo{scrbase}{Unknown processing state.\MessageBreak + Processing option `\CurrentOption'\MessageBreak + of member `#1' of family\MessageBreak + `#2' doesn't set\MessageBreak + a valid state. This will be interpreted\MessageBreak + as \string\FamilyKeyStateProcessed + }% + \FamilyKeyStateProcessed + \fi + }{% + \let\FamilyKeyState\OptionNotUsed + }% + }{% + \proteced@edef\reserved@b{\noexpand\setkeys{#2}{\CurrentOption}% + \noexpand\def\noexpand\CurrentOption{\CurrentOption}}% + \reserved@b + \ifx\FamilyKeyState\FamilyKeyStateUnknown + \PackageInfo{scrbase}{Unknown processing state.\MessageBreak + Processing option `\CurrentOption'\MessageBreak + of family `#2'\MessageBreak + doesn't set a valid state.\MessageBreak + This will be interpreted\MessageBreak + as \string\FamilyKeyStateProcessed + }% + \FamilyKeyStateProcessed + \fi + \def\reserved@a##1=##2\@nil{\def\reserved@a{##1}}% + \expandafter\reserved@a\CurrentOption=\@nil + \scr@ifundefinedorrelax{KV@#2#1@\reserved@a}{}{% + \protected@edef\reserved@b{\noexpand\setkeys{#2#1}{\CurrentOption}% + \noexpand\def\noexpand\CurrentOption{\CurrentOption}}% + \ifx\FamilyKeyState\FamiliyKeyStateProcessed + \reserved@b + \FamilyKeyStateProcessed + \else + \reserved@b + \ifx\FamilyKeyState\FamilyKeyStateUnknown + \PackageInfo{scrbase}{Unknown processing state.\MessageBreak + Processing option `\CurrentOption'\MessageBreak + of member `#1' of family\MessageBreak + `#2' doesn't set\MessageBreak + a valid state. This will be interpreted\MessageBreak + as \string\FamilyKeyStateProcessed + }% + \FamilyKeyStateProcessed + \fi + \fi + }% + }% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi } -\newcommand*{\scr@pti@ntest}{} -\def\scr@pti@ntest#1#2=#3\@nil{\scr@ifundefinedorrelax{KV@#1@#2}} \newcommand*{\dont@let@as@internal@defined}{/} \newif\if@let@as@internalonly@defined\@let@as@internalonly@definedfalse \DefineFamily{KOMA} @@ -259,12 +357,12 @@ \fi } \FamilyProcessOptions{KOMA}\relax -%%% From File: scrklang.dtx -%%% From File: scrlfile.dtx -\def\scrlfileversion{2012/06/15 v3.12} -\edef\@tempa{\noexpand\RequirePackage{scrlfile}[\scrlfileversion]} -\@tempa -%%% From File: scrkbase.dtx +%%% From File: $Id: scrkernel-language.dtx 1503 2013-11-06 11:44:59Z mjk $ +%%% From File: $Id: scrlfile.dtx 1525 2013-11-22 12:57:29Z mjk $ +\RequirePackage{scrlfile}[% + 2013/12/19 v3.12 KOMA-Script +] +%%% From File: $Id: scrkernel-basics.dtx 1502 2013-11-06 11:00:12Z mjk $ \newcommand*{\XdivY}[2]{% \numexpr ( #1 + #2 / 2 ) / #2 - 1\relax } @@ -293,12 +391,12 @@ \else \@ifundefined{#1}{% \begingroup - \expandafter\def\expandafter\@tempa + \expandafter\def\expandafter\reserved@a \expandafter{\csname scr@#1\endcsname} - \expandafter\def\expandafter\@tempb + \expandafter\def\expandafter\reserved@b \expandafter{\csname #1\endcsname} \expandafter\expandafter\expandafter\endgroup - \expandafter\expandafter\expandafter\let\expandafter\@tempb\@tempa + \expandafter\expandafter\expandafter\let\expandafter\reserved@b\reserved@a \if@atdocument\else \g@addto@macro\document{% \expandafter\ifx\csname #1\expandafter\endcsname @@ -341,21 +439,252 @@ \fi } \newcommand\ifstr[2]{% - \begingroup\protected@edef\@tempa{#1}\protected@edef\@tempb{#2}% - \ifx\@tempa\@tempb + \begingroup\protected@edef\reserved@a{#1}\protected@edef\reserved@b{#2}% + \ifx\reserved@a\reserved@b \endgroup\expandafter\@firstoftwo \else \endgroup\expandafter\@secondoftwo \fi } +\newcommand*{\ifstrstart}[2]{% + \begingroup + \edef\reserved@a{\noexpand\@ifstrstart{#1}{#2}}% + \reserved@a{\aftergroup\@firstoftwo}{\aftergroup\@secondoftwo}% + \endgroup +} +\newcommand*{\@ifstrstart}[2]{% + \def\reserved@a ##1#2##2\@nil{% + \if\relax\detokenize{##1}\relax + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + }% + \reserved@a#1#2\@nil +} +\newcommand*{\ifisdimen}[1]{% + \begingroup + \edef\reserved@a{#1}% + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter\reserved@a + \expandafter\expandafter\expandafter{\expandafter\meaning\reserved@a}% + \expandafter\def\expandafter\reserved@b\expandafter{\string\dimen}% + \ifstrstart{\reserved@a}{\reserved@b}{% + \afterassignment\scr@ifrelax@to@nnil + \@tempdima=#1\relax\@nnil{% + \aftergroup\@firstoftwo + }{% + \aftergroup\@secondoftwo + }% + }{\aftergroup\@secondoftwo}% + \endgroup +} +\newcommand*{\scr@ifrelax@to@nnil}{} +\def\scr@ifrelax@to@nnil#1\@nnil{% + \begingroup + \def\reserved@a{#1}\def\reserved@b{\relax}% + \ifx\reserved@a\reserved@b + \aftergroup\@firstoftwo + \else + \aftergroup\@secondoftwo + \fi + \endgroup +} +\newcommand*{\ifisdimexpr}[1]{% + \begingroup + \edef\reserved@a{#1}% + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter\reserved@a + \expandafter\expandafter\expandafter{\expandafter\meaning\reserved@a}% + \expandafter\def\expandafter\reserved@b\expandafter{\string\dimexpr}% + \ifstrstart{\reserved@a}{\reserved@b}{% + \afterassignment\scr@ifemptyorrelax@to@nnil + \@tempdima=#1\relax\@nnil{% + \aftergroup\@firstoftwo + }{% + \aftergroup\@secondoftwo + }% + }{\aftergroup\@secondoftwo}% + \endgroup +} +\newcommand*{\scr@ifemptyorrelax@to@nnil}{} +\def\scr@ifemptyorrelax@to@nnil#1\@nnil{% + \begingroup + \def\reserved@a{#1}\def\reserved@b{\relax}% + \ifx\reserved@a\reserved@b + \aftergroup\@firstoftwo + \else + \ifx\reserved@a\@empty + \aftergroup\@firstoftwo + \else + \aftergroup\@secondoftwo + \fi + \fi + \endgroup +} +\newcommand*{\ifisskip}[1]{% + \begingroup + \edef\reserved@a{#1}% + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter\reserved@a + \expandafter\expandafter\expandafter{\expandafter\meaning\reserved@a}% + \expandafter\def\expandafter\reserved@b\expandafter{\string\skip}% + \ifstrstart{\reserved@a}{\reserved@b}{% + \afterassignment\scr@ifrelax@to@nnil + \@tempskipa=#1\relax\@nnil{% + \aftergroup\@firstoftwo + }{% + \aftergroup\@secondoftwo + }% + }{\aftergroup\@secondoftwo}% + \endgroup +} +\newcommand*{\ifisglueexpr}[1]{% + \begingroup + \edef\reserved@a{#1}% + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter\reserved@a + \expandafter\expandafter\expandafter{\expandafter\meaning\reserved@a}% + \expandafter\def\expandafter\reserved@b\expandafter{\string\glueexpr}% + \ifstrstart{\reserved@a}{\reserved@b}{% + \afterassignment\scr@ifemptyorrelax@to@nnil + \@tempskipa=#1\relax\@nnil{% + \aftergroup\@firstoftwo + }{% + \aftergroup\@secondoftwo + }% + }{\aftergroup\@secondoftwo}% + \endgroup +} +\newcommand*{\ifiscount}[1]{% + \begingroup + \edef\reserved@a{#1}% + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter\reserved@a + \expandafter\expandafter\expandafter{\expandafter\meaning\reserved@a}% + \expandafter\def\expandafter\reserved@b\expandafter{\string\count}% + \ifstrstart{\reserved@a}{\reserved@b}{% + \afterassignment\scr@ifrelax@to@nnil + \@tempcnta=#1\relax\@nnil{% + \aftergroup\@firstoftwo + }{% + \aftergroup\@secondoftwo + }% + }{\aftergroup\@secondoftwo}% + \endgroup +} +\newcommand*{\ifisnumexpr}[1]{% + \begingroup + \edef\reserved@a{#1}% + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter\reserved@a + \expandafter\expandafter\expandafter{\expandafter\meaning\reserved@a}% + \expandafter\def\expandafter\reserved@b\expandafter{\string\numexpr}% + \ifstrstart{\reserved@a}{\reserved@b}{% + \afterassignment\scr@ifemptyorrelax@to@nnil + \@tempcnta=#1\relax\@nnil{% + \aftergroup\@firstoftwo + }{% + \aftergroup\@secondoftwo + }% + }{\aftergroup\@secondoftwo}% + \endgroup +} +\newcommand*{\ifiscounter}[1]{% + \begingroup + \@ifundefined{c@#1}% + {\aftergroup\@secondoftwo}% + {\aftergroup\@firstoftwo}% + \endgroup +} +\newcommand*{\ifisinteger}[1]{% + \begingroup + \edef\reserved@a{#1}\expandafter + \scr@ifintegerplusminus\reserved@a\@nil{\aftergroup\@firstoftwo}% + {\aftergroup\@secondoftwo} + \endgroup +} +\newcommand*{\scr@ifintegerplusminus}{} +\def\scr@ifintegerplusminus#1#2\@nil{% + \def\scr@next{\scr@ifintegerplusminus #2\@nil}% + \if #1-\relax + \else \if #1+\relax + \else + \def\scr@next{% + \afterassignment\scr@ifrelax@to@nnil + \@tempcnta=#1#2\relax\@nnil + }% + \if #10\else\if #11\else\if #12\else\if #13\else\if #14\else + \if #15\else\if #16\else\if #17\else\if #18\else\if #19\else + \let\scr@next\@secondoftwo + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \fi + \fi + \scr@next +} +\newcommand*{\ifisdimension}[1]{% + \begingroup + \edef\reserved@a{#1\relax}\expandafter + \scr@ifdimensionplusminus\reserved@a\@nil{\aftergroup\@firstoftwo}% + {\aftergroup\@secondoftwo} + \endgroup +} +\newcommand*{\scr@ifdimensionplusminus}{} +\def\scr@ifdimensionplusminus#1#2\@nil{% + \def\scr@next{\scr@ifdimensionplusminus #2\@nil}% + \if #1-\relax + \else \if #1+\relax + \else + \def\scr@next{% + \afterassignment\scr@ifrelax@to@nnil + \@tempdima=#1#2\@nnil + }% + \if #1,\else\if #1.\else + \if #10\else\if #11\else\if #12\else\if #13\else\if #14\else + \if #15\else\if #16\else\if #17\else\if #18\else\if #19\else + \let\scr@next\@secondoftwo + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \fi\fi + \fi + \fi + \scr@next +} +\newcommand*{\ifisglue}[1]{% + \begingroup + \edef\reserved@a{#1\relax}\expandafter + \scr@ifglueplusminus\reserved@a\@nil{\aftergroup\@firstoftwo}% + {\aftergroup\@secondoftwo} + \endgroup +} +\newcommand*{\scr@ifglueplusminus}{} +\def\scr@ifglueplusminus#1#2\@nil{% + \def\scr@next{\scr@ifglueplusminus #2\@nil}% + \if #1-\relax + \else \if #1+\relax + \else + \def\scr@next{% + \afterassignment\scr@ifrelax@to@nnil + \@tempskipa=#1#2\@nnil + }% + \if #1,\else\if #1.\else + \if #10\else\if #11\else\if #12\else\if #13\else\if #14\else + \if #15\else\if #16\else\if #17\else\if #18\else\if #19\else + \let\scr@next\@secondoftwo + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \fi\fi + \fi + \fi + \scr@next +} \newcommand\ifnumber[1]{% \begingroup\@tempswafalse\let\scr@next\test@number - \expandafter\scr@next#1\scr@next - \if@tempswa - \endgroup\expandafter\@firstoftwo - \else - \endgroup\expandafter\@secondoftwo - \fi + \expandafter\scr@next#1\scr@next + \if@tempswa + \aftergroup\@firstoftwo + \else + \aftergroup\@secondoftwo + \fi + \endgroup } \newcommand*{\test@number}[1]{% \ifx \scr@next#1 @@ -374,6 +703,30 @@ } \newcommand*{\gobble@till@scr@next}{} \def\gobble@till@scr@next#1\scr@next{} +\newcommand\ifintnumber[1]{% + \begingroup\@tempswafalse\let\scr@next\scr@test@sign + \expandafter\scr@next#1\scr@next + \if@tempswa + \aftergroup\@firstoftwo + \else + \aftergroup\@secondoftwo + \fi + \endgroup +} +\newcommand*{\scr@test@sign}[1]{% + \ifx \scr@next#1 + \let\scr@next\relax + \else + \if #1-% + \else + \ifx #1+% + \else + \def\scr@next{\let\scr@next\test@number\scr@next #1}% + \fi + \fi + \fi + \scr@next +} \newcommand{\ifdimen}[1]{% \begingroup\@tempswatrue\let\scr@next\test@posdimen \expandafter\test@dimen#1\scr@next @@ -409,8 +762,8 @@ } \newcommand*{\test@trueunt}{} \def\test@trueunt#1true#2true#3\test@trueunt{% - \edef\@tempa{#1} - \ifx\@tempa\@empty\test@@ifdimunt{#2}\else\test@@ifdimunt{#1}\fi + \edef\reserved@a{#1}% + \ifx\reserved@a\@empty\test@@ifdimunt{#2}\else\test@@ifdimunt{#1}\fi } \newcommand*\test@@ifdimunt[1]{% \@tempswafalse @@ -516,77 +869,198 @@ \ClassInfo{#1}{#2\@gobble}% } \newcommand*{\FamilyExecuteOptions}[3][.\@currname.\@currext]{% - \def\reserved@a##1\@nil{% - \@for\scr@key@atlist:=#3\do{% - \expandafter\scr@key@split@name@value\scr@key@atlist==\@nil - \scr@ifundefinedorrelax{KV@#2@\scr@key@name}{}{% - \protected@edef\reserved@a{\noexpand\setkeys{#2}{\scr@key@atlist}% - \noexpand\def\noexpand\scr@key@atlist{\scr@key@atlist}% - \noexpand\def\noexpand\scr@key@name{\scr@key@name}% - }% - \reserved@a - }% - \scr@ifundefinedorrelax{KV@#2#1@\scr@key@name}{}{% - \protected@edef\reserved@a{% - \noexpand\setkeys{#2#1}{\scr@key@atlist}% - \noexpand\def\noexpand\scr@key@atlist{\scr@key@atlist}% - \noexpand\def\noexpand\scr@key@name{\scr@key@name}% + \@namedef{scr@after@options@#1@hook}{\@namedef{scr@after@options@#1@hook}{}}% + \@for\scr@key@atlist:=#3\do{% + \expandafter\scr@key@split@name@value\scr@key@atlist==\@nil + \ifx\scr@key@name\@empty\else + \ifx\scr@key@name\space\else + \scr@ifundefinedorrelax{KV@#2@\scr@key@name}{% + \scr@ifundefinedorrelax{KV@#2#1@\scr@key@name}{% + \PackageError{scrbase}{% + unknown option + `\expandafter\detokenize\expandafter{\scr@key@atlist}'% + }{% + Member `#1' of family `#2'\MessageBreak + cannot handle option `\scr@key@name'.\MessageBreak + So it cannot be set% + \ifx\scr@key@value\@empty\else + \space to value + `\expandafter\detokenize\expandafter{\scr@key@value}'% + \fi.% + }% + }{% + \scr@execute@option{#2#1}% + }% + }{% + \scr@execute@option{#2}% + \ifstr{#1}{}{}{% + \scr@ifundefinedorrelax{KV@#2#1\scr@key@name}{}{% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \scr@execute@option{#2#1}% + \FamilyKeyStateProcessed + \else + \scr@execute@option{#2#1}% + \fi + }% + }% }% - \reserved@a - }% - \let\CurrentOption\scr@key@atlist - \csname ds@\CurrentOption\endcsname - }% - \edef\CurrentOption{##1}% + \scr@show@key@state@error + \fi + \fi }% - \expandafter\reserved@a\CurrentOption\@nil + \@nameuse{scr@after@options@#1@hook}% } -\@onlypreamble\FamilyExecuteOptions -\newcommand*{\FamilyOptions}[2]{% - \Family@Options{#1}{#2}{% +\newcommand*{\scr@show@key@state@error}{% + \ifx\FamilyKeyState\FamilyKeyStateProcessed\else \PackageError{scrbase}{% - option `\scr@key@name' unknown at family `#1'% + unknown option + `\expandafter\detokenize\expandafter{\scr@key@atlist}'% }{% - You have used \string\FamilyOptions{#1} to set - `\scr@key@atlist',\MessageBreak - but family `#1' does not know any option named - `\scr@key@name'.\MessageBreak - See the manual for the package or class using family `#1' for - more\MessageBreak - informations about options and their values.% + Option + `\expandafter\detokenize\expandafter{\scr@key@name}'\MessageBreak + \ifx\FamilyMemberOfKey\@empty\else + of member `\FamilyMemberOfKey'\MessageBreak + \fi + \ifx\FamilyOfKey\@empty\else + of family `\FamilyOfKey'\MessageBreak + \fi + \ifx\FamilyKeyState\FamilyKeyStateNeedValue + expects a value, but has been used without any value.% + \else + cannot handle value\MessageBreak + `\expandafter\detokenize\expandafter{\scr@key@value}',% + \MessageBreak + \ifx\FamilyKeyState\FamilyKeyStateUnknownValue + because this is an unsupported value.% + \else + because \FamilyKeyState. + \fi + \fi }% - }% + \fi } -\newcommand*{\Family@Options}[3]{% +\newcommand*{\FamilyOptions}[2]{% + \@namedef{scr@after@options@#1@hook}{\@namedef{scr@after@options@#1@hook}{}}% \@for\scr@key@atlist:=#2\do{% \ifx\scr@key@atlist\@empty\else \ifx\scr@key@atlist\space\else \expandafter\scr@key@split@name@value\scr@key@atlist==\@nil + \let\scr@key@run@errors\@empty \scr@key@found@false - \edef\@tempa{\csname #1@key@familylist\endcsname}% - \@for\@tempa:=\@tempa\do{% - \scr@ifundefinedorrelax{KV@\@tempa @\scr@key@name}{}{% + \edef\reserved@a{\csname #1@key@familylist\endcsname}% + \@for\reserved@a:=\reserved@a\do{% + \scr@ifundefinedorrelax{KV@\reserved@a @\scr@key@name}{}{% + \expandafter\scr@execute@option\expandafter{\reserved@a}% \scr@key@found@true - \protected@edef\reserved@a{% - \noexpand\setkeys{\@tempa}{% - \unexpanded\expandafter{\scr@key@atlist}}% - \noexpand\def\noexpand\@tempa{% - \unexpanded\expandafter{\@tempa}}% - \noexpand\def\noexpand\scr@key@atlist{% - \unexpanded\expandafter{\scr@key@atlist}}% - \noexpand\def\noexpand\scr@key@name{% - \unexpanded\expandafter{\scr@key@name}}% - \noexpand\def\noexpand\scr@key@value{% - \unexpanded\expandafter{\scr@key@value}}% - }% - \reserved@a + \ifx\scr@key@run@errors\relax\else + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \let\scr@key@run@errors\relax + \else + \ifx\FamilyKeyState\FamilyKeyStateUnknownValue + \edef\scr@key@run@errors{% + \unexpanded\expandafter{\scr@key@run@errors}% + \noexpand\MessageBreak + \FamilyMemberOfKey: unkown value + `\expandafter\detokenize\expandafter{\scr@key@value}'.% + }% + \else + \ifx\FamilyKeyState\FamilyKeyStateNeedValue + \edef\scr@key@run@errors{% + \unexpanded\expandafter{\scr@key@run@errors}% + \noexpand\MessageBreak + \FamilyMemberOfKey: value expected. + }% + \else + \edef\scr@key@run@errors{% + \unexpanded\expandafter{\scr@key@run@errors}% + \noexpand\MessageBreak + \FamilyMemberOfKey: \FamilyKeyState. + }% + \fi + \fi + \fi + \fi }% }% - \ifscr@key@found@\else#3\fi + \ifscr@key@found@ + \ifx\scr@key@run@errors\relax\else + \ifx\scr@key@run@errors\@empty\else + \PackageError{scrbase}{% + unknown option + `\expandafter\detokenize\expandafter{\scr@key@atlist}'% + }{% + The members of family `#1' cannot set option + `\scr@key@name' + \ifx\scr@key@value\@empty\else + \MessageBreak + to value + `\expandafter\detokenize\expandafter{\scr@key@value}'% + \fi.\MessageBreak + Here's what each member says: + \scr@key@run@errors + }% + \fi + \fi + \else + \PackageError{scrbase}{% + unknown option + `\expandafter\detokenize\expandafter{\scr@key@atlist}'% + }{% + No one of the members of family `#1'\MessageBreak + can handle option `\scr@key@name'.\MessageBreak + So it cannot be set% + \ifx\scr@key@value\@empty\else + \space to value + `\expandafter\detokenize\expandafter{\scr@key@value}'% + \fi.% + }% + \fi \fi \fi }% + \@nameuse{scr@after@options@#1@hook}% +} +\newcommand*{\scr@execute@option}[1]{% + \protected@edef\reserved@a{% + \noexpand\let\noexpand\KV@err\noexpand\scr@KV@err + \noexpand\setkeys{#1}{% + \unexpanded\expandafter{\scr@key@atlist}}% + \noexpand\def\noexpand\scr@key@atlist{% + \unexpanded\expandafter{\scr@key@atlist}}% + \noexpand\def\noexpand\scr@key@name{% + \unexpanded\expandafter{\scr@key@name}}% + \noexpand\def\noexpand\scr@key@value{% + \unexpanded\expandafter{\scr@key@value}} + \ifx\scr@key@run@errors\relax + \noexpand\let\noexpand\scr@key@run@errors\relax + \else + \noexpand\def\noexpand\scr@key@run@errors{% + \unexpanded\expandafter{\scr@key@run@errors}}% + \fi + \noexpand\def\expandafter\noexpand + \csname scr@after@options@#1@hook\endcsname{% + \expandafter\unexpanded\expandafter\expandafter\expandafter{% + \csname scr@after@options@#1@hook\endcsname + }}% + }% + \let\AtEndOfFamilyOptions\scr@AtEndOfFamilyOptions + \reserved@a + \let\AtEndOfFamilyOptions\@firstofone + \ifx\FamilyKeyState\FamilyKeyStateUnknown + \PackageInfo{scrbase}{Unknown processing state.\MessageBreak + Processing option `\scr@key@atlist'\MessageBreak + \ifx\FamilyMemberOfKey\@empty\else + of member `\FamilyMemberOfKey'\MessageBreak + \fi + of family `\FamilyOfKey'\MessageBreak + doesn't set a valid state.\MessageBreak + This will be interpreted\MessageBreak + as \string\FamilyKeyStateProcessed + }% + \FamilyKeyStateProcessed + \fi } +\newcommand*{\scr@key@run@errors}{} \newif\ifscr@key@found@ \newcommand*{\scr@key@atlist}{} \newcommand*{\scr@key@name}{} @@ -597,88 +1071,56 @@ \KV@@sp@def\scr@key@value{#2}% } \newcommand*{\FamilyOption}[3]{% - \Family@Option{#1}{#2}{#3}{% - \PackageError{scrbase}{% - unknown option `\scr@key@name' for familie `#1'% - }{% - You have used \string\FamilyOption{#1} to set - `\scr@key@name',\MessageBreak - but family '#1' does not know any option named - `\scr@key@name'.\MessageBreak - See the the manual of the class or package, that provides - family\MessageBreak - `#1' for more informations about options and their values.% - }% - }% -} -\newcommand*{\Family@Option}[4]{% \expandafter\KV@@sp@def\expandafter\scr@key@name\expandafter{#2}% - \scr@key@found@false - \edef\@tempa{\csname #1@key@familylist\endcsname}% - \@for\@tempa:=\@tempa\do{% - \scr@ifundefinedorrelax{KV@\@tempa @\scr@key@name}{}{% - \scr@key@found@true - \let\@tempb\@tempa - }% - }% - \ifscr@key@found@ - \let\reserved@a\@empty - \@for\@tempa:=#3\do{% - \expandafter\KV@@sp@def\expandafter\@tempa\expandafter{\@tempa}% - \ifx\@tempa\@empty\else - \protected@edef\reserved@a{\reserved@a,\scr@key@name=\@tempa}% + \let\reserved@a\@empty + \@for\reserved@b:=#3\do{% + \ifx\reserved@b\@empty\else + \ifx\reserved@b\space\else + \edef\reserved@a{\unexpanded\expandafter{\reserved@a},% + \scr@key@name=\unexpanded\expandafter{\reserved@b}}% \fi - }% - \ifx\reserved@a\@empty - \protected@edef\reserved@a{\noexpand\setkeys{\@tempb}{\scr@key@name}}% - \else - \protected@edef\reserved@a{% - \noexpand\setkeys{\@tempb}{\expandafter\@gobble\reserved@a}}% \fi - \reserved@a - \else - #4 - \fi -} -\scr@ifundefinedorrelax{unexpanded}{% - \newcommand*{\g@addto@macro@temp}{}% - \newcommand{\l@addto@macro}[2]{% - \begingroup% - \toks@\expandafter{#1#2}% - \xdef\g@addto@macro@temp{\the\toks@}% - \endgroup - \let#1\g@addto@macro@temp - }% -}{% - \newcommand{\l@addto@macro}[2]{% - \edef#1{\unexpanded\expandafter{#1#2}}% }% + \def\reserved@b{\FamilyOptions{#1}}% + \expandafter\reserved@b\expandafter{\reserved@a}% } -\newcommand*{\FamilyUnknownKeyValue}[4]{% - \ifx\scr@removeunused\@empty - \PackageError{% - scrbase% - }{% - option `#2' of family `#1' has no value `#3'% - }{% - You've tried to set option `#2' of family '#1' to value `#3'.\MessageBreak - But allowed values are only:\MessageBreak - #4\FamilyElseValues.\MessageBreak - See the manual of the class or package, that provides family - `#1'\MessageBreak - for more information about options and their values.% +\@ifundefined{l@addto@macro}{}{% + \begingroup + \long\def\reserved@a#1#2{% + \edef#1{\unexpanded\expandafter{#1#2}}% }% - \else - \global\let\scr@removeunused\@empty - \PackageInfo{% - scrbase% - }{% - option `#2' of family `#1' has no value `#3'.\MessageBreak - Allowed values for option `#2' of family `#1'\MessageBreak - would be:\MessageBreak - #4\FamilyElseValues.\MessageBreak - Maybe another class or package provides this option.\MessageBreak - Global option ignored + \ifx\reserved@a\l@addto@macro\else + \PackageWarning{scrbase}{% + Someone also uses macro name \string\l@addto@macro.\MessageBreak + When KOMA-Script author decided to use macro name\MessageBreak + \string\l@addto@macro\space first, there was no other + free\MessageBreak + LaTeX package using this macro name.\MessageBreak + In the meantime other package authers decided to use\MessageBreak + same macro name, but unfortunatly not all of those\MessageBreak + are compatible with KOMA-Script's definition, e.g.,\MessageBreak + while adding definitions with arguments to macros.\MessageBreak + Because of such potentially incompatible definitions,\MessageBreak + KOMA-Script will redefine the command now.\MessageBreak + Please ask the author of the other package to\MessageBreak + rename his macro, if a problem results in the\MessageBreak + redefinition% + }% + \fi + \endgroup +} +\long\def\l@addto@macro#1#2{% + \edef#1{\unexpanded\expandafter{#1#2}}% +}% +\newcommand*{\FamilyUnknownKeyValue}[4]{% + \FamilyKeyStateUnknownValue + \ifx\FamilyElseValues\@empty\else + \PackageWarning{scrbase}{non empty \string\FamilyElseValue + ignored.\MessageBreak + Setting this command to a non empty\MessageBreak + value for option `#2' of\MessageBreak + family `#1' is deprecated,\MessageBreak + but has been found }% \fi } @@ -690,12 +1132,12 @@ \DefineFamilyKey[{#1}]{#2}{#3}[true]{\FamilySetBool{#2}{#3}{#4}{##1}}% } \newcommand*{\FamilySetBool}[4]{% - \ifstr{#4}{true}{\@nameuse{#3true}}{% - \ifstr{#4}{on}{\@nameuse{#3true}}{% - \ifstr{#4}{yes}{\@nameuse{#3true}}{% - \ifstr{#4}{false}{\@nameuse{#3false}}{% - \ifstr{#4}{off}{\@nameuse{#3false}}{% - \ifstr{#4}{no}{\@nameuse{#3false}}{% + \ifstr{#4}{true}{\@nameuse{#3true}\FamilyKeyStateProcessed}{% + \ifstr{#4}{on}{\@nameuse{#3true}\FamilyKeyStateProcessed}{% + \ifstr{#4}{yes}{\@nameuse{#3true}\FamilyKeyStateProcessed}{% + \ifstr{#4}{false}{\@nameuse{#3false}\FamilyKeyStateProcessed}{% + \ifstr{#4}{off}{\@nameuse{#3false}\FamilyKeyStateProcessed}{% + \ifstr{#4}{no}{\@nameuse{#3false}\FamilyKeyStateProcessed}{% \FamilyUnknownKeyValue{#1}{#2}{#4}{% `true', `on', `yes', `false', `off', `no'% }% @@ -707,6 +1149,101 @@ }% \let\FamilyElseValues\@empty } +\newcommand*{\FamilyCounterKey}[4][.\@currname.\@currext]{% + \@ifundefined{c@#4}{\newcounter{#4}}{}% + \DefineFamilyKey[{#1}]{#2}{#3}{\FamilySetCounter{#2}{#3}{#4}{##1}}% +} +\newcommand*{\FamilySetCounter}[4]{% + \ifiscount{#4}{\value{#3}=#4\FamilyKeyStateProcessed}{% + \ifisdimen{#4}{\value{#3}=#4\FamilyKeyStateProcessed}{% + \ifisskip{#4}{\value{#3}=#4\FamilyKeyState\Processed}{% + \ifisnumexpr{#4}{\value{#3}=#4\FamilyKeyStateProcessed}{% + \ifisdimexpr{#4}{\value{#3}=#4\FamilyKeyStateProcessed}{% + \ifisinteger{#4}{\value{#3}=#4\FamilyKeyStateProcessed}{% + \ifiscounter{#4}{\value{#3}=\value{#4}\FamilyKeyStateProcessed}{% + \FamilyUnknownKeyValue{#1}{#2}{#4}{% + integer numbers, counters, lengths, skips, dimens + }% + }% + }% + }% + }% + }% + }% + }% +} +\newcommand*{\FamilyCounterMacroKey}[4][.\@currname.\@currext]{% + \ifdefined#4\else\let#4\z@\fi + \DefineFamilyKey[{#1}]{#2}{#3}{\FamilySetCounterMacro{#2}{#3}{#4}{##1}}% +} +\newcommand*{\FamilySetCounterMacro}[4]{% + \begingroup + \ifiscount{#4}{\@tempcnta=#4\FamilyKeyStateProcessed}{% + \ifisdimen{#4}{\@tempcnta=#4\FamilyKeyStateProcessed}{% + \ifisskip{#4}{\@tempcnta=#4\FamilyKeyState\Processed}{% + \ifisnumexpr{#4}{\@tempcnta=#4\FamilyKeyStateProcessed}{% + \ifisdimexpr{#4}{\@tempcnta=#4\FamilyKeyStateProcessed}{% + \ifisinteger{#4}{\@tempcnta=#4\FamilyKeyStateProcessed}{% + \ifiscounter{#4}{% + \@tempcnta=\value{#4}\FamilyKeyStateProcessed}{% + \FamilyUnknownKeyValue{#1}{#2}{#4}{% + integer numbers, counters, lengths, skips, dimens + }% + }% + }% + }% + }% + }% + }% + }% + \expandafter\expandafter\expandafter\endgroup + \expandafter\def\expandafter#3\expandafter{\the\@tempcnta}% +} +\newcommand*{\FamilyLengthKey}[4][.\@currname.\@currext]{% + \ifdefined#4\else\newlength{#4}\fi + \DefineFamilyKey[{#1}]{#2}{#3}{\FamilySetLength{#2}{#3}{#4}{##1}}% +} +\newcommand*{\FamilySetLength}[4]{% + \ifiscount{#4}{#3=#4\FamilyKeyStateProcessed}{% + \ifisdimen{#4}{#3=#4\FamilyKeyStateProcessed}{% + \ifisskip{#4}{#3=#4\FamilyKeyState\Processed}{% + \ifisnumexpr{#4}{#3=#4\FamilyKeyStateProcessed}{% + \ifisdimexpr{#4}{#3=#4\FamilyKeyStateProcessed}{% + \ifisglue{#4}{#3=#4\FamilyKeyStateProcessed}{% + \FamilyUnknownKeyValue{#1}{#2}{#4}{% + length values, counters, lengths, skips, dimens + }% + }% + }% + }% + }% + }% + }% +} +\newcommand*{\FamilyLengthMacroKey}[4][.\@currname.\@currext]{% + \ifdefined#4\else\let#4\z@\fi + \DefineFamilyKey[{#1}]{#2}{#3}{\FamilySetLengthMacro{#2}{#3}{#4}{##1}}% +} +\newcommand*{\FamilySetLengthMacro}[4]{% + \begingroup + \ifiscount{#4}{\@tempskipa=#4\FamilyKeyStateProcessed}{% + \ifisdimen{#4}{\@temskipa=#4\FamilyKeyStateProcessed}{% + \ifisskip{#4}{\@tempkipa=#4\FamilyKeyState\Processed}{% + \ifisnumexpr{#4}{\@tempskipa=#4\FamilyKeyStateProcessed}{% + \ifisdimexpr{#4}{\@tempskipa=#4\FamilyKeyStateProcessed}{% + \ifisglue{#4}{\@tempskipa=#4\FamilyKeyStateProcessed}{% + \FamilyUnknownKeyValue{#1}{#2}{#4}{% + length values, counters, lengths, skips, dimens + }% + }% + }% + }% + }% + }% + }% + \expandafter\expandafter\expandafter\endgroup + \expandafter\def\expandafter#3\expandafter{\the\@tempskipa}% +} \newcommand*{\FamilyNumericalKey}[3][.\@currname.\@currext]{% \@ifnextchar [%] {\Family@Numerical@Key{#1}{#2}{#3}}{\Family@Numerical@Key{#1}{#2}{#3}[]}% @@ -724,30 +1261,31 @@ \newcommand*{\FamilySetNumerical}[5]{% \begingroup \edef\@searched{#5}% - \let\@tempa=\@empty - \let\@tempb=\@empty + \let\reserved@a=\@empty + \let\reserved@b=\@empty \@tempswafalse \@for\@valuelist:=#4\do{% \if@tempswa\else - \edef\@tempc{\expandafter\@firstoftwo\@valuelist}% - \edef\@tempa{\@tempa\@tempb`\@tempc'}% - \edef\@tempb{, }% - \ifx\@tempc\@searched + \edef\reserved@c{\expandafter\@firstoftwo\@valuelist}% + \edef\reserved@a{\reserved@a\reserved@b`\reserved@c'}% + \edef\reserved@b{, }% + \ifx\reserved@c\@searched \@tempswatrue - \edef\@tempa{\expandafter\@secondoftwo\@valuelist}% + \edef\reserved@a{\expandafter\@secondoftwo\@valuelist}% \fi \fi }% \if@tempswa - \edef\@tempa{\endgroup - \noexpand\@namedef{#3}{\@tempa}% + \edef\reserved@a{\endgroup + \noexpand\@namedef{#3}{\reserved@a}% + \noexpand\FamilyKeyStateProcessed }% \else - \edef\@tempa{\endgroup - \noexpand\FamilyUnknownKeyValue{#1}{#2}{#5}{\@tempa}% + \edef\reserved@a{\endgroup + \noexpand\FamilyUnknownKeyValue{#1}{#2}{#5}{\reserved@a}% }% \fi - \@tempa + \reserved@a \let\FamilyElseValues\@empty } \newcommand*{\FamilyStringKey}[3][.\@currname.\@currext]{% @@ -759,129 +1297,389 @@ \DefineFamilyKey[{#1}]{#2}{#3}[{#4}]{\def#5{##1}}% } \newcommand{\Family@String@Key}[4]{% - \DefineFamilyKey[{#1}]{#2}{#3}{\def#4{##1}}% -} -%%% From File: scrklang.dtx -\newcommand*{\providecaptionname}[3]{% - \@ifundefined{captions#1}{% - \@ifundefined{cap@info@#1@done}{% - \PackageInfo{scrbase}{% - No captions found for `#1'\MessageBreak - --> skipped% + \DefineFamilyKey[{#1}]{#2}{#3}{\def#4{##1}\FamilyKeyStateProcessed}% +} +%%% From File: $Id: scrkernel-language.dtx 1503 2013-11-06 11:44:59Z mjk $ +\newcommand*{\defcaptionname}{% + \@ifstar\scr@def@scaptionname\scr@def@captionname +} +\newcommand*{\scr@def@scaptionname}[3]{% + \if@atdocument \expandafter\@firstofone + \else \expandafter\AtBeginDocument + \fi + {% + \begingroup + \let\reserved@b\endgroup + \edef\scr@reserved@a{#1}% + \@onelevel@sanitize\scr@reserved@a + \expandafter\@for \expandafter\scr@reserved@a \expandafter:\expandafter=% + \scr@reserved@a \do{% + \scr@trim@spaces\scr@reserved@a + \ifx\scr@reserved@a\@empty + \PackageWarning{scrbase}{empty language at \string\defcaptionname}% + \else + \expandafter\ifx\csname extras\scr@reserved@a\endcsname\relax + \expandafter\expandafter\expandafter\gdef + \else + \expandafter\expandafter\expandafter\g@addto@macro + \fi + \csname extras\scr@reserved@a\endcsname{% + \def#2{#3}% + }% + \scr@def@activateactivelanguageaftergroup{#2}{#3}% + \fi }% - \expandafter\let\csname cap@info@#1@done\endcsname\@empty - }{}% - }{% + \reserved@b + }% +} +\newcommand*{\scr@def@activateactivelanguageaftergroup}[2]{% + \@onelevel@sanitize\languagename + \@tempswafalse + \ifx\languagename\scr@reserved@a + \@tempswatrue + \else + \ifcsname l@\scr@reserved@a\endcsname + \expandafter\ifnum\csname l@\scr@reserved@a\endcsname=\language + \@tempswatrue + \fi + \fi + \fi + \if@tempswa + \def\reserved@b{\endgroup + \PackageInfo{scrbase}{activating \languagename\space \string#1}% + \def#1{#2}% + }% + \fi +} +\newcommand\scr@trim@spaces[1]{% + \expandafter\KV@@sp@def\expandafter#1\expandafter{#1}% +} +\newcommand*{\scr@def@captionname}[3]{% + \if@atdocument \expandafter\@firstofone + \else \expandafter\AtBeginDocument + \fi + {% \begingroup - \let\@tempa\endgroup - \def\@tempb{\relax\undefined\relax}% - \let #2\@tempb\relax - \csname captions#1\endcsname - \ifx #2\@tempb\relax - \edef\@tempb{#1}% - \@onelevel@sanitize\@tempb - \@onelevel@sanitize\languagename - \ifx\@tempb\languagename - \def\@tempa{\endgroup% - \expandafter\g@addto@macro\csname captions#1\endcsname{% - \def#2{#3}}% - \csname captions#1\endcsname + \let\reserved@b\endgroup + \edef\scr@reserved@a{#1}% + \@onelevel@sanitize\scr@reserved@a + \expandafter\@for \expandafter\scr@reserved@a \expandafter:\expandafter=% + \scr@reserved@a \do{% + \scr@trim@spaces\scr@reserved@a + \ifx\scr@reserved@a\@empty + \PackageWarning{scrbase}{empty language at \string\defcaptionname}% + \else + \@tempswafalse + \begingroup + \@tempswafalse + \ifcsname extras\scr@reserved@a\endcsname + \let#2\relax + \csname extras\scr@reserved@a\endcsname + \ifx #2\relax \else \aftergroup\@tempswatrue \fi + \fi + \endgroup + \if@tempswa + \expandafter\g@addto@macro\csname extras\scr@reserved@a\endcsname{% + \def#2{#3}% + }% + \else + \expandafter\ifx\csname captions\scr@reserved@a\endcsname\relax + \expandafter\expandafter\expandafter\gdef + \else + \expandafter\expandafter\expandafter\g@addto@macro + \fi + \csname captions\scr@reserved@a\endcsname{% + \def#2{#3}% + }% + \fi + \scr@def@activateactivelanguageaftergroup{#2}{#3}% + \fi + }% + \reserved@b + }% +} +\newcommand*{\providecaptionname}{% + \@ifstar\scr@provide@scaptionname\scr@provide@captionname +} +\newcommand*{\scr@provide@scaptionname}[3]{% + \if@atdocument \expandafter\@firstofone + \else \expandafter\AtBeginDocument + \fi + {% + \begingroup + \let\reserved@b\endgroup + \edef\scr@reserved@a{#1}% + \@onelevel@sanitize\scr@reserved@a + \expandafter\@for \expandafter\scr@reserved@a \expandafter:\expandafter=% + \scr@reserved@a \do{% + \scr@trim@spaces\scr@reserved@a + \ifx\scr@reserved@a\@empty + \PackageWarning{scrbase}{empty language at + \string\providecaptionname}% + \else + \begingroup + \let#2\relax + \csname extras\scr@reserved@a\endcsname + \csname captions\scr@reserved@a\endcsname + \ifx #2\relax \aftergroup\@firstofone + \else + \aftergroup\@gobble + \fi + \endgroup + {% + \expandafter\ifx\csname extras\scr@reserved@a\endcsname\relax + \expandafter\expandafter\expandafter\@gobbletwo + \else + \expandafter\expandafter\expandafter\g@addto@macro + \fi + \csname extras\scr@reserved@a\endcsname{% + \def#2{#3}% + }% + \scr@def@activateactivelanguageaftergroup{#2}{#3}% }% + \fi + }% + \reserved@b + }% +} +\newcommand*{\scr@provide@captionname}[3]{% + \if@atdocument \expandafter\@firstofone + \else \expandafter\AtBeginDocument + \fi + {% + \begingroup + \let\reserved@b\endgroup + \edef\scr@reserved@a{#1}% + \@onelevel@sanitize\scr@reserved@a + \expandafter\@for \expandafter\scr@reserved@a \expandafter:\expandafter=% + \scr@reserved@a \do{% + \scr@trim@spaces\scr@reserved@a + \ifx\scr@reserved@a\@empty + \PackageWarning{scrbase}{empty language at + \string\providecaptionname}% \else - \def\@tempa{\endgroup% - \expandafter\g@addto@macro\csname captions#1\endcsname{% - \def#2{#3}}% + \begingroup + \let#2\relax + \csname captions\scr@reserved@a\endcsname + \csname extras\scr@reserved@a\endcsname + \ifx #2\relax \aftergroup\@firstofone + \else + \aftergroup\@gobble + \fi + \endgroup + {% + \expandafter\ifx\csname captions\scr@reserved@a\endcsname\relax + \expandafter\expandafter\expandafter\@gobbletwo + \else + \expandafter\expandafter\expandafter\g@addto@macro + \fi + \csname captions\scr@reserved@a\endcsname{% + \def#2{#3}% + }% + \scr@def@activateactivelanguageaftergroup{#2}{#3}% }% \fi - \else - \PackageInfo{scrbase}{% - `\string#2' at language `#1' already - defined\MessageBreak - --> skipped% - }% - \fi - \@tempa + }% + \reserved@b }% } -\newcommand*{\newcaptionname}[3]{% - \@ifundefined{captions#1}{% - \PackageInfo{scrbase}{% - No captions found for `#1' --> defining% - }% - \@namedef{captions#1}{}% - }{}% - \begingroup - \def\@tempb{\relax\undefined\relax}% - \let #2\@tempb\relax - \csname captions#1\endcsname - \ifx #2\@tempb\relax\else - \PackageError{scrbase}{% - `\string#2' at language `#1' already defined% - }{% - You've told me to define `\string#2' at language - `#1',\MessageBreak - but it is already defined.\MessageBreak - It will be redefined, if you'll continue.% +\newcommand*{\newcaptionname}{% + \@ifstar\scr@new@scaptionname\scr@new@captionname +} +\newcommand*{\scr@new@scaptionname}[3]{% + \if@atdocument \expandafter\@firstofone + \else \expandafter\AtBeginDocument + \fi + {% + \begingroup + \let\reserved@b\endgroup + \edef\scr@reserved@a{#1}% + \@onelevel@sanitize\scr@reserved@a + \expandafter\@for \expandafter\scr@reserved@a \expandafter:\expandafter=% + \scr@reserved@a \do{% + \scr@trim@spaces\scr@reserved@a + \ifx\scr@reserved@a\@empty + \PackageWarning{scrbase}{empty language at \string\newcaptionname}% + \else + \begingroup + \let#2\relax + \csname captions\scr@reserved@a\endcsname + \csname extras\scr@reserved@a\endcsname + \ifx #2\relax + \else + \PackageError{scrbase}{% + `\string#2' already defined\MessageBreak + for language `\scr@reserved@a'% + }{% + You've told me to define `\string#2' for language + `\scr@reserved@a',\MessageBreak + but is has already been defined.\MessageBreak + Nevertheless, if you'll continue it will be redefined.% + }% + \fi + \endgroup + \expandafter\ifx\csname extras\scr@reserved@a\endcsname\relax + \expandafter\expandafter\expandafter\gdef + \else + \expandafter\expandafter\expandafter\g@addto@macro + \fi + \csname extras\scr@reserved@a\endcsname{% + \def#2{#3}% + }% + \scr@def@activateactivelanguageaftergroup{#2}{#3}% + \fi }% - \fi - \endgroup - \expandafter\g@addto@macro\csname captions#1\endcsname{% - \def#2{#3}% + \reserved@b }% - \begingroup - \edef\@tempb{#1}% - \@onelevel@sanitize\@tempb - \@onelevel@sanitize\languagename - \ifx\@tempb\languagename - \def\@tempa{\endgroup\csname captions#1\endcsname}% - \else - \let\@tempa\endgroup - \fi - \@tempa } -\newcommand*{\renewcaptionname}[3]{% - \@ifundefined{captions#1}{% - \PackageError{scrbase}{% - No captions found for `#1'% - }{% - You've told me to redefine the caption `\string#2' at language - `#1',\MessageBreak - but `\expandafter\string\csname captions#1\endcsname' is not - defined.\MessageBreak - If you'll continue it will be defined.% - } - \@namedef{captions#1}{}% - }{}% - \begingroup - \def\@tempb{\relax\undefined\relax}% - \let #2\@tempb\relax - \csname captions#1\endcsname - \ifx #2\@tempb\relax - \PackageError{scrbase}{% - `\string#2' not defined at language `#1'% - }{% - You've told me to redefine `\string#2' at language - `#1',\MessageBreak - but it is not defined.\MessageBreak - If you'll continue it will be defined.% +\newcommand*{\scr@new@captionname}[3]{% + \if@atdocument \expandafter\@firstofone + \else \expandafter\AtBeginDocument + \fi + {% + \begingroup + \let\reserved@b\endgroup + \edef\scr@reserved@a{#1}% + \@onelevel@sanitize\scr@reserved@a + \expandafter\@for \expandafter\scr@reserved@a \expandafter:\expandafter=% + \scr@reserved@a \do{% + \scr@trim@spaces\scr@reserved@a + \ifx\scr@reserved@a\@empty + \PackageWarning{scrbase}{empty language at \string\newcaptionname}% + \else + \begingroup + \let#2\relax + \csname captions\scr@reserved@a\endcsname + \csname extras\scr@reserved@a\endcsname + \ifx #2\relax + \else + \PackageError{scrbase}{% + `\string#2' already defined\MessageBreak + for language `\scr@reserved@a'% + }{% + You've told me to define `\string#2' for language + `\scr@reserved@a',\MessageBreak + but is has already been defined.\MessageBreak + Nevertheless, if you'll continue it will be redefined.% + }% + \fi + \endgroup + \expandafter\ifx\csname captions\scr@reserved@a\endcsname\relax + \expandafter\expandafter\expandafter\gdef + \else + \expandafter\expandafter\expandafter\g@addto@macro + \fi + \csname captions\scr@reserved@a\endcsname{% + \def#2{#3}% + }% + \scr@def@activateactivelanguageaftergroup{#2}{#3}% + \fi }% - \fi - \endgroup - \expandafter\g@addto@macro\csname captions#1\endcsname{% - \def#2{#3}% + \reserved@b + }% +} +\newcommand*{\renewcaptionname}{% + \@ifstar\scr@renew@scaptionname\scr@renew@captionname +} +\newcommand*{\scr@renew@scaptionname}[3]{% + \if@atdocument \expandafter\@firstofone + \else \expandafter\AtBeginDocument + \fi + {% + \begingroup + \let\reserved@b\endgroup + \edef\scr@reserved@a{#1}% + \@onelevel@sanitize\scr@reserved@a + \expandafter\@for \expandafter\scr@reserved@a \expandafter:\expandafter=% + \scr@reserved@a \do{% + \scr@trim@spaces\scr@reserved@a + \ifx\scr@reserved@a\@empty + \PackageWarning{scrbase}{empty language at \string\renewcaptionname}% + \else + \begingroup + \let#2\relax + \csname captions\scr@reserved@a\endcsname + \csname extras\scr@reserved@a\endcsname + \ifx #2\relax + \PackageError{scrbase}{% + `\string#2' not defined at language `\scr@reserved@a'% + }{% + You've told me to redefine `\string#2' at language + `\scr@reserved@a',\MessageBreak + but is hasn't been defined before.\MessageBreak + Nevertheless, if you'll continue I'll define it at + `\expandafter\string\csname extras\scr@reserved@a\endcsname'% + }% + \fi + \endgroup + \expandafter\ifx\csname extras\scr@reserved@a\endcsname\relax + \expandafter\expandafter\expandafter\gdef + \else + \expandafter\expandafter\expandafter\g@addto@macro + \fi + \csname extras\scr@reserved@a\endcsname{% + \def#2{#3}% + }% + \scr@def@activateactivelanguageaftergroup{#2}{#3}% + \fi + }% + \reserved@b + }% +} +\newcommand*{\scr@renew@captionname}[3]{% + \if@atdocument \expandafter\@firstofone + \else \expandafter\AtBeginDocument + \fi + {% + \begingroup + \let\reserved@b\endgroup + \edef\scr@reserved@a{#1}% + \@onelevel@sanitize\scr@reserved@a + \expandafter\@for \expandafter\scr@reserved@a \expandafter:\expandafter=% + \scr@reserved@a \do{% + \scr@trim@spaces\scr@reserved@a + \ifx\scr@reserved@a\@empty + \PackageWarning{scrbase}{empty language at \string\renewcaptionname}% + \else + \begingroup + \let#2\relax + \csname extras\scr@reserved@a\endcsname + \ifx #2\relax + \csname captions\scr@reserved@a\endcsname + \ifx #2\relax + \PackageError{scrbase}{% + `\string#2' not defined at language `\scr@reserved@a'% + }{% + You've told me to redefine `\string#2' at language + `\scr@reserved@a',\MessageBreak + but it hasn't been defined before.\MessageBreak + Nevertheless, if you'll continue I'll define it at + `\expandafter\string + \csname captions\scr@reserved@a\endcsname'% + }% + \fi + \expandafter\ifx\csname captions\scr@reserved@a\endcsname\relax + \expandafter\expandafter\expandafter\gdef + \else + \expandafter\expandafter\expandafter\g@addto@macro + \fi + \csname captions\scr@reserved@a\endcsname{\def#2{#3}}% + \else + \expandafter\ifx\csname extras\scr@reserved@a\endcsname\relax + \expandafter\expandafter\expandafter\gdef + \else + \expandafter\expandafter\expandafter\g@addto@macro + \fi + \csname extras\scr@reserved@a\endcsname{\def#2{#3}}% + \fi + \endgroup + \scr@def@activateactivelanguageaftergroup{#2}{#3}% + \fi + }% + \reserved@b }% - \begingroup - \edef\@tempb{#1}% - \@onelevel@sanitize\@tempb - \@onelevel@sanitize\languagename - \ifx\@tempb\languagename - \def\@tempa{\endgroup\csname captions#1\endcsname}% - \else - \let\@tempa\endgroup - \fi - \@tempa } -%%% From File: scrlogo.dtx +%%% From File: $Id: scrlogo.dtx 1380 2013-10-01 15:31:55Z mjk $ \@ifundefined{KOMAScript}{% \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% M\kern.05em A\kern.1em-\kern.1em Script}}}{} diff --git a/Master/texmf-dist/tex/latex/koma-script/scrbook.cls b/Master/texmf-dist/tex/latex/koma-script/scrbook.cls index c15df2e0466..010e693f9c2 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrbook.cls +++ b/Master/texmf-dist/tex/latex/koma-script/scrbook.cls @@ -1,47 +1,46 @@ %% %% This is file `scrbook.cls', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `class,book') -%% scrkbase.dtx (with options: `load') +%% scrkernel-version.dtx (with options: `class,book') +%% scrkernel-basics.dtx (with options: `load') %% tocbasic.dtx (with options: `class,load,chapter') -%% scrkcomp.dtx (with options: `class,book,option') -%% scrkmisc.dtx (with options: `class,book,option') -%% scrklang.dtx (with options: `class,book,option') -%% scrkfont.dtx (with options: `class,book,option') -%% scrktare.dtx (with options: `class,book,option') -%% scrkpar.dtx (with options: `class,book,option') -%% scrktitl.dtx (with options: `class,book,option') -%% scrksect.dtx (with options: `class,book,option') -%% scrkpage.dtx (with options: `class,book,option') -%% scrkfloa.dtx (with options: `class,book,option') -%% scrkftn.dtx (with options: `class,book,option') -%% scrkliof.dtx (with options: `class,book,option') -%% scrkbib.dtx (with options: `class,book,option') -%% scrkidx.dtx (with options: `class,book,option') -%% scrklist.dtx (with options: `class,book,option') -%% scrkmisc.dtx (with options: `class,book,execoption') -%% scrkcomp.dtx (with options: `class,book,body') -%% scrkfont.dtx (with options: `class,book,body') -%% scrklang.dtx (with options: `class,book,body') -%% scrktare.dtx (with options: `class,book,body') -%% scrkpar.dtx (with options: `class,book,body') -%% scrktitl.dtx (with options: `class,book,body') -%% scrksect.dtx (with options: `class,book,body') -%% scrkmisc.dtx (with options: `class,book,body') -%% scrkpage.dtx (with options: `class,book,body') -%% scrkfloa.dtx (with options: `class,book,body') -%% scrkftn.dtx (with options: `class,book,body') -%% scrkliof.dtx (with options: `class,book,body') -%% scrkbib.dtx (with options: `class,book,body') -%% scrkidx.dtx (with options: `class,book,body') -%% scrklist.dtx (with options: `class,book,body') +%% scrkernel-compatibility.dtx (with options: `class,book,option') +%% scrkernel-miscellaneous.dtx (with options: `class,book,option') +%% scrkernel-language.dtx (with options: `class,book,option') +%% scrkernel-fonts.dtx (with options: `class,book,option') +%% scrkernel-typearea.dtx (with options: `class,book,option') +%% scrkernel-paragraphs.dtx (with options: `class,book,option') +%% scrkernel-title.dtx (with options: `class,book,option') +%% scrkernel-sections.dtx (with options: `class,book,option') +%% scrkernel-pagestyles.dtx (with options: `class,book,option') +%% scrkernel-floats.dtx (with options: `class,book,option') +%% scrkernel-footnotes.dtx (with options: `class,book,option') +%% scrkernel-listsof.dtx (with options: `class,book,option') +%% scrkernel-bibliography.dtx (with options: `class,book,option') +%% scrkernel-index.dtx (with options: `class,book,option') +%% scrkernel-listsandtabulars.dtx (with options: `class,book,option') +%% scrkernel-miscellaneous.dtx (with options: `class,book,execoption') +%% scrkernel-compatibility.dtx (with options: `class,book,body') +%% scrkernel-fonts.dtx (with options: `class,book,body') +%% scrkernel-language.dtx (with options: `class,book,body') +%% scrkernel-typearea.dtx (with options: `class,book,body') +%% scrkernel-paragraphs.dtx (with options: `class,book,body') +%% scrkernel-title.dtx (with options: `class,book,body') +%% scrkernel-sections.dtx (with options: `class,book,body') +%% scrkernel-miscellaneous.dtx (with options: `class,book,body') +%% scrkernel-pagestyles.dtx (with options: `class,book,body') +%% scrkernel-floats.dtx (with options: `class,book,body') +%% scrkernel-footnotes.dtx (with options: `class,book,body') +%% scrkernel-listsof.dtx (with options: `class,book,body') +%% scrkernel-bibliography.dtx (with options: `class,book,body') +%% scrkernel-index.dtx (with options: `class,book,body') +%% scrkernel-listsandtabulars.dtx (with options: `class,book,body') %% scrlogo.dtx (with options: `logo') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -73,9 +72,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -95,7 +94,7 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup \newcommand*{\KOMAClassName}{% scrbook% @@ -104,20 +103,45 @@ book% } \ProvidesClass{\KOMAClassName}[% - \KOMAScriptVersion\space document class (\ClassName)% + 2013/12/19 v3.12 KOMA-Script + document class (\ClassName)% ] -%%% From File: scrkbase.dtx +%%% From File: $Id: scrkernel-basics.dtx 1502 2013-11-06 11:00:12Z mjk $ \RequirePackage{scrkbase}[\KOMAScriptVersion] -%%% From File: tocbasic.dtx -\def\tocbasicversion{2012/04/04 v3.10b} -\edef\@tempa{\noexpand\RequirePackage{tocbasic}[\tocbasicversion]} -\@tempa +%%% From File: $Id: tocbasic.dtx 1533 2013-12-10 18:06:14Z mjk $ +\RequirePackage{tocbasic}[% + 2013/12/19 v3.12 KOMA-Script +] \AtAddToTocList[\@currname.\@currext]{\setuptoc{\@currext}{onecolumn}}% \AtAddToTocList[float]{\setuptoc{\@currext}{onecolumn}}% \addtotoclist{toc} \addtotoclist[float]{lof} \addtotoclist[float]{lot} -%%% From File: scrkcomp.dtx +%%% From File: $Id: scrkernel-compatibility.dtx 1512 2013-11-11 10:35:04Z mjk $ +\newif\if@scr@emulatestandardclasses +\let\scr@emulatestandardclassestrue\relax +\let\scr@emulatestandardclassesfalse\relax +\DeclareOption{emulatestandardclasses}{% + \let\if@scr@emulatestandardclasses\iftrue + \KOMAExecuteOptions{% + fontsize=10pt,% + headings=standardclasses,% + cleardoublepage=current + }% + \newcommand*{\defaultpapersize}{letter}% + \AtEndOfClass{% + \setkomafont{descriptionlabel}{\bfseries}% + \setkomafont{dictum}{\normalfont\small}% + \setkomafont{caption}{}% + \setkomafont{captionlabel}{}% + \setcapindent{0pt}% + \RequirePackage[pagestyleset=standard,markcase=upper]{scrlayer-scrpage}% + \PreventPackageFromLoading{scrpage2}% + \setkomafont{pagenumber}{\normalfont}% + \setkomafont{pageheadfoot}{\normalfont}% + \cfoot[\pagemark]{}% + }% +} \newcommand* {\scr@compatibility}{\scr@v@last} \KOMA@key{version}[last]{% @@ -133,6 +157,7 @@ Switching compatibility level to `#1'% }% \edef\scr@compatibility{\@nameuse{scr@v@#1}}% + \FamilyKeyStateProcessed }% } \AtEndOfClass{% @@ -144,6 +169,7 @@ class.\MessageBreak But you've tried to set it up later.% }% + \FamilyKeyStateProcessed }% } \@namedef{scr@v@first}{0} @@ -193,22 +219,25 @@ \@namedef{scr@v@3.11}{10} \@namedef{scr@v@3.11a}{10} \@namedef{scr@v@3.11b}{10} -\@namedef{scr@v@last}{10} -%%% From File: scrkmisc.dtx +\@namedef{scr@v@3.12}{11} +\@namedef{scr@v@last}{11} +%%% From File: $Id: scrkernel-miscellaneous.dtx 1529 2013-12-03 07:36:57Z mjk $ \KOMA@key{draft}[true]{% \KOMA@set@ifkey{draft}{@tempswa}{#1}% - \if@tempswa - \setlength{\overfullrule}{5pt}% - \else - \setlength{\overfullrule}{\z@}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \if@tempswa + \setlength{\overfullrule}{5pt}% + \else + \setlength{\overfullrule}{\z@}% + \fi \fi } \KOMA@DeclareStandardOption {final}{draft=false} \DeclareOption{leqno}{\input{leqno.clo}} \DeclareOption{fleqn}{\input{fleqn.clo}} -%%% From File: scrklang.dtx -%%% From File: scrkfont.dtx +%%% From File: $Id: scrkernel-language.dtx 1503 2013-11-06 11:44:59Z mjk $ +%%% From File: $Id: scrkernel-fonts.dtx 1483 2013-10-31 15:12:30Z mjk $ \newcommand*\@ptsize{% 11% } @@ -219,8 +248,23 @@ \def\@pt@@scan #1pt#2\@pt@@scan{% \ifstr{#2}{pt}{% \ifnumber{#1}{% - \KOMA@UseObsoleteOption{\PackageInfoNoLine{\KOMAClassName}}% - {#1#2}{fontsize=#1#2}% + \ifstr{#1}{10}{% + \KOMA@UseStandardOption{\PackageInfoNoLine{\KOMAClassName}}% + {#1#2}{fontsize=#1#2}% + }{% + \ifstr{#1}{11}{% + \KOMA@UseStandardOption{\PackageInfoNoLine{\KOMAClassName}}% + {#1#2}{fontsize=#1#2}% + }{% + \ifstr{#1}{12}{% + \KOMA@UseStandardOption{\PackageInfoNoLine{\KOMAClassName}}% + {#1#2}{fontsize=#1#2}% + }{% + \KOMA@UseDeprecatedOption{\PackageWarningNoLine{\KOMAClassName}}% + {#1#2}{fontsize=#1#2}% + }% + }% + } }{\@headlines}% }{\@headlines}% } @@ -255,8 +299,9 @@ }% \@tempa }% + \FamilyKeyStateProcessed } -%%% From File: scrktare.dtx +%%% From File: $Id: scrkernel-typearea.dtx 1512 2013-11-11 10:35:04Z mjk $ \newcommand*{\@BCOR}{\expandafter\@@BCOR\CurrentOption BCORBCOR\@@BCOR} \newcommand*{\@@BCOR}{} \def\@@BCOR #1BCOR#2BCOR#3\@@BCOR{% @@ -326,7 +371,7 @@ {onecolumn}{twocolumn=false} \DeclareOption*{% \x@paper} -%%% From File: scrkpar.dtx +%%% From File: $Id: scrkernel-paragraphs.dtx 1380 2013-10-01 15:31:55Z mjk $ \newcommand*{\setparsizes}[3]{% \edef\f@parindent{\the\parindent}% \edef\f@parskip{\the\parskip}% @@ -367,82 +412,88 @@ {relative}{10},% {absolute}{11}% }{#1}% - \ifcase\number\@tempa% 0 - \endgroup - \setparsizes{1em}{\z@}{\z@ \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 1 - \endgroup - \setparsizes{1em}{\z@ \@plus \p@}{\z@ \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 2 - \endgroup - \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% - \z@ \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 3 - \endgroup - \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% - \z@ \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 4 - \endgroup - \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% - 1em \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 5 - \endgroup - \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% - 1em \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 6 - \endgroup - \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% - .3333\linewidth\@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 7 - \endgroup - \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% - .3333\linewidth \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 8 - \endgroup - \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% - .25\linewidth \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 9 - \endgroup - \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% - .25\linewidth \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 10 - \endgroup - \ifx\par@updaterelative\undefined - \expandafter\AtEndOfClass - \else - \expandafter\@firstofone - \fi - {% - \ifx\par@update\default@par@update - \let\par@update\par@updaterelative + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \aftergroup\FamilyKeyStateProcessed + \ifcase\number\@tempa% 0 + \endgroup + \setparsizes{1em}{\z@}{\z@ \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 1 + \endgroup + \setparsizes{1em}{\z@ \@plus \p@}{\z@ \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 2 + \endgroup + \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% + \z@ \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 3 + \endgroup + \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% + \z@ \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 4 + \endgroup + \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% + 1em \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 5 + \endgroup + \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% + 1em \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 6 + \endgroup + \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% + .3333\linewidth\@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 7 + \endgroup + \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% + .3333\linewidth \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 8 + \endgroup + \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% + .25\linewidth \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 9 + \endgroup + \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% + .25\linewidth \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 10 + \endgroup + \ifx\par@updaterelative\undefined + \expandafter\AtEndOfClass + \else + \expandafter\@firstofone \fi - \let\default@par@update=\par@updaterelative - }% - \or%11 - \endgroup - \ifx\par@updaterelative\undefined - \expandafter\AtEndOfClass - \else - \expandafter\@firstofone - \fi - {% - \ifx\par@update\default@par@update - \let\par@update\relax + {% + \ifx\par@update\default@par@update + \let\par@update\par@updaterelative + \fi + \let\default@par@update=\par@updaterelative + }% + \or%11 + \endgroup + \ifx\par@updaterelative\undefined + \expandafter\AtEndOfClass + \else + \expandafter\@firstofone \fi - \let\default@par@update=\relax - }% - \else% sonst - \endgroup + {% + \ifx\par@update\default@par@update + \let\par@update\relax + \fi + \let\default@par@update=\relax + }% + \else% should never be + \endgroup + \fi + \else + \endgroup + \FamilyKeyStateUnkownValue \fi } \KOMA@DeclareDeprecatedOption{parskip-}{parskip=full-} @@ -453,13 +504,26 @@ \KOMA@DeclareDeprecatedOption{halfparskip+}{parskip=half+} \KOMA@DeclareDeprecatedOption{halfparskip*}{parskip=half*} \KOMA@DeclareDeprecatedOption{parindent}{parskip=false} -%%% From File: scrktitl.dtx +%%% From File: $Id: scrkernel-title.dtx 1517 2013-11-21 13:02:39Z mjk $ \newif\if@titlepage \@titlepagetrue -\KOMA@ifkey{titlepage}{@titlepage}% +\newif\if@titlepageiscoverpage +\KOMA@key{titlepage}[true]{% + \ifstr{#1}{firstiscover}{% + \@titlepagetrue + \@titlepageiscoverpagetrue + \FamilyKeyStateProcessed + }{% + \def\FamilyElseValue{, `firstiscover'}% + \KOMA@set@ifkey{titlepage}{@titlepage}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \@titlepageiscoverpagefalse + \fi + }% +} \KOMA@DeclareStandardOption% {notitlepage}{titlepage=false} -%%% From File: scrksect.dtx +%%% From File: $Id: scrkernel-sections.dtx 1552 2013-12-16 16:51:32Z mjk $ \newif\if@openright \@openrighttrue \KOMA@key{open}{% @@ -468,15 +532,17 @@ {right}{1},% {left}{2}% }{#1}% - \ifcase \@tempa\relax - \@openrightfalse - \renewcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage}% - \or - \@openrighttrue - \renewcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage}% - \or - \@openrighttrue - \renewcommand*{\cleardoublestandardpage}{\cleardoubleevenstandardpage}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase \@tempa\relax + \@openrightfalse + \renewcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage}% + \or + \@openrighttrue + \renewcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage}% + \or + \@openrighttrue + \renewcommand*{\cleardoublestandardpage}{\cleardoubleevenstandardpage}% + \fi \fi } \KOMA@DeclareStandardOption{openright}{open=right} @@ -499,17 +565,19 @@ {noendperiod}{2},{noperiodatend}{2},% {noenddot}{2},{nodotatend}{2}% }{#1}% - \ifcase \@tempa\relax - \if@atdocument\scr@dotchangeatdocument{#1}\else - \let\scr@altsecnumhook\@empty - \fi - \or - \if@atdocument\scr@dotchangeatdocument{#1}\else - \let\scr@altsecnumhook\scr@altsecnumhooktrue - \fi - \or - \if@atdocument\scr@dotchangeatdocument{#1}\else - \let\scr@altsecnumhook\scr@altsecnumhookfalse + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase \@tempa\relax + \if@atdocument\scr@dotchangeatdocument{#1}\else + \let\scr@altsecnumhook\@empty + \fi + \or + \if@atdocument\scr@dotchangeatdocument{#1}\else + \let\scr@altsecnumhook\scr@altsecnumhooktrue + \fi + \or + \if@atdocument\scr@dotchangeatdocument{#1}\else + \let\scr@altsecnumhook\scr@altsecnumhookfalse + \fi \fi \fi } @@ -528,13 +596,16 @@ \KOMA@DeclareDeprecatedOption{nochapterprefix}{chapterprefix=false} \KOMA@key{appendixprefix}[true]{% \KOMA@set@ifkey{appendixprefix}{@tempswa}{#1}% - \if@tempswa - \def\appendixmore{\@chapterprefixtrue}% - \else - \def\appendixmore{\@chapterprefixfalse}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \if@tempswa + \def\appendixmore{\@chapterprefixtrue}% + \else + \def\appendixmore{\@chapterprefixfalse}% + \fi \fi } \KOMA@DeclareDeprecatedOption{noappendixprefix}{appendixprefix=false} +\newcommand*{\sectfont}{\normalcolor\sffamily\bfseries} \newcommand*{\size@part}{} \newcommand*{\size@partnumber}{} \newcommand*{\size@chapter}{} @@ -564,76 +635,100 @@ {appendixwithoutprefixline}{9},% {optiontotocandhead}{10},{optiontoheadandtoc}{10},% {optiontotoc}{11},% - {optiontohead}{12}% + {optiontohead}{12},% + {standardclasses}{13}% }{#1}% - \ifcase \@tempa\relax - \renewcommand*{\chapterheadstartvskip}{% - \vspace*{2.3\baselineskip}% - }% - \renewcommand*{\chapterheadendvskip}{% - \vspace{1.725\baselineskip - \@plus .115\baselineskip \@minus .192\baselineskip}% - }% - \renewcommand*{\size@part}{\Huge}% - \renewcommand*{\size@partnumber}{\huge}% - \renewcommand*{\size@chapter}{\huge}% - \renewcommand*{\size@section}{\Large}% - \renewcommand*{\size@subsection}{\large}% - \renewcommand*{\size@subsubsection}{\normalsize}% - \renewcommand*{\size@paragraph}{\normalsize}% - \renewcommand*{\size@subparagraph}{\normalsize}% - \or - \renewcommand*{\chapterheadstartvskip}{% - \vspace*{2\baselineskip}% - }% - \renewcommand*{\chapterheadendvskip}{% - \vspace{1.5\baselineskip - \@plus .1\baselineskip \@minus .167\baselineskip}% - }% - \renewcommand*{\size@part}{\huge}% - \renewcommand*{\size@partnumber}{\huge}% - \renewcommand*{\size@chapter}{\LARGE}% - \renewcommand*{\size@section}{\Large}% - \renewcommand*{\size@subsection}{\large}% - \renewcommand*{\size@subsubsection}{\normalsize}% - \renewcommand*{\size@paragraph}{\normalsize}% - \renewcommand*{\size@subparagraph}{\normalsize}% - \or - \renewcommand*{\chapterheadstartvskip}{% - \vspace*{1.8\baselineskip}% - }% - \renewcommand*{\chapterheadendvskip}{% - \vspace{1.35\baselineskip - \@plus 0.09\baselineskip \@minus .15\baselineskip}% - }% - \renewcommand*{\size@part}{\LARGE}% - \renewcommand*{\size@partnumber}{\LARGE}% - \renewcommand*{\size@chapter}{\Large}% - \renewcommand*{\size@section}{\large}% - \renewcommand*{\size@subsection}{\normalsize}% - \renewcommand*{\size@subsubsection}{\normalsize}% - \renewcommand*{\size@paragraph}{\normalsize}% - \renewcommand*{\size@subparagraph}{\normalsize}% - \or - \KOMA@options{open=any}{}% - \or - \KOMA@options{open=right}{}% - \or - \KOMA@options{open=left}{}% - \or - \KOMA@options{chapterprefix=true}{}% - \or - \KOMA@options{chapterprefix=false}{}% - \or - \KOMA@options{appendixprefix=true}{}% - \or - \KOMA@options{appendixprefix=false}{}% - \or - \scr@activate@xsection{3}% - \or - \scr@activate@xsection{2}% - \or - \scr@activate@xsection{1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase \@tempa\relax + \renewcommand*{\chapterheadstartvskip}{% + \vspace*{2.3\baselineskip}% + }% + \renewcommand*{\chapterheadendvskip}{% + \vspace{1.725\baselineskip + \@plus .115\baselineskip \@minus .192\baselineskip}% + }% + \renewcommand*{\size@part}{\Huge}% + \renewcommand*{\size@partnumber}{\huge}% + \renewcommand*{\size@chapter}{\huge}% + \renewcommand*{\size@chapterprefix}{\size@chapter}% + \renewcommand*{\size@section}{\Large}% + \renewcommand*{\size@subsection}{\large}% + \renewcommand*{\size@subsubsection}{\normalsize}% + \renewcommand*{\size@paragraph}{\normalsize}% + \renewcommand*{\size@subparagraph}{\normalsize}% + \or + \renewcommand*{\chapterheadstartvskip}{% + \vspace*{2\baselineskip}% + }% + \renewcommand*{\chapterheadendvskip}{% + \vspace{1.5\baselineskip + \@plus .1\baselineskip \@minus .167\baselineskip}% + }% + \renewcommand*{\size@part}{\huge}% + \renewcommand*{\size@partnumber}{\huge}% + \renewcommand*{\size@chapter}{\LARGE}% + \renewcommand*{\size@chapterprefix}{\size@chapter}% + \renewcommand*{\size@section}{\Large}% + \renewcommand*{\size@subsection}{\large}% + \renewcommand*{\size@subsubsection}{\normalsize}% + \renewcommand*{\size@paragraph}{\normalsize}% + \renewcommand*{\size@subparagraph}{\normalsize}% + \or + \renewcommand*{\chapterheadstartvskip}{% + \vspace*{1.8\baselineskip}% + }% + \renewcommand*{\chapterheadendvskip}{% + \vspace{1.35\baselineskip + \@plus 0.09\baselineskip \@minus .15\baselineskip}% + }% + \renewcommand*{\size@part}{\LARGE}% + \renewcommand*{\size@partnumber}{\LARGE}% + \renewcommand*{\size@chapter}{\Large}% + \renewcommand*{\size@chapterprefix}{\size@chapter}% + \renewcommand*{\size@section}{\large}% + \renewcommand*{\size@subsection}{\normalsize}% + \renewcommand*{\size@subsubsection}{\normalsize}% + \renewcommand*{\size@paragraph}{\normalsize}% + \renewcommand*{\size@subparagraph}{\normalsize}% + \or + \KOMAoptions{open=any}% + \or + \KOMAoptions{open=right}% + \or + \KOMAoptions{open=left}% + \or + \KOMAoptions{chapterprefix=true}% + \or + \KOMAoptions{chapterprefix=false}% + \or + \KOMAoptions{appendixprefix=true}% + \or + \KOMAoptions{appendixprefix=false}% + \or + \scr@activate@xsection{3}% + \or + \scr@activate@xsection{2}% + \or + \scr@activate@xsection{1}% + \or + \renewcommand*{\chapterheadstartvskip}{% + \vspace*{50\p@}% + }% + \renewcommand*{\chapterheadendvskip}{% + \vspace{40\p@}% + }% + \renewcommand*{\size@part}{\Huge}% + \renewcommand*{\size@partnumber}{\huge}% + \renewcommand*{\size@chapter}{\Huge}% + \renewcommand*{\size@chapterprefix}{\huge}% + \renewcommand*{\size@section}{\Large}% + \renewcommand*{\size@subsection}{\large}% + \renewcommand*{\size@subsubsection}{\normalsize}% + \renewcommand*{\size@paragraph}{\normalsize}% + \renewcommand*{\size@subparagraph}{\normalsize}% + \renewcommand*{\sectfont}{\bfseries}% + \KOMAoptions{open=right,chapterprefix=true}% + \fi \fi } \KOMA@DeclareDeprecatedOption{bigheadings}{headings=big} @@ -643,17 +738,29 @@ \newcommand*{\scr@activate@xsection}[1]{% \renewcommand*{\scr@osectarg}{#1}% } -%%% From File: scrkpage.dtx +%%% From File: $Id: scrkernel-pagestyles.dtx 1551 2013-12-16 14:02:13Z mjk $ \newif\if@hsl \KOMA@key{headsepline}[true]{% \KOMA@set@ifkey{headsepline}{@hsl}{#1}% - \KOMA@options{headinclude=#1}{}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \@ifundefined{typearea}{% + \PassOptionsToPackage{typearea}{headinclude=#1}% + }{% + \KOMAoptions{headinclude=#1}{}% + }% + \fi } \KOMA@DeclareDeprecatedOption{headnosepline}{headsepline=false} \newif\if@fsl \KOMA@key{footsepline}[true]{% \KOMA@set@ifkey{footsepline}{@fsl}{#1}% - \KOMA@options{footinclude=#1}{}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \@ifundefined{typearea}{% + \PassOptionsToPackage{typearea}{headinclude=#1}% + }{% + \KOMAoptions{footinclude=#1,DIV=current}% + }% + \fi } \KOMA@DeclareDeprecatedOption{footnosepline}{footsepline=false} \@twosidetrue @@ -669,6 +776,7 @@ \def\cleardoublepage{\cleardoublestandardpage}% \def\cleardoubleoddpage{\cleardoubleoddstandardpage}% \def\cleardoubleevenpage{\cleardoubleevenstandardpage}% + \FamilyKeyStateProcessed }% }{% \ifnotundefined{ps@#1}{% @@ -676,6 +784,7 @@ \def\cleardoublepage{\cleardoublepageusingstyle{#1}}% \def\cleardoubleoddpage{\cleardoubleoddpageusingstyle{#1}}% \def\cleardoubleevenpage{\cleardoubleevenpageusingstyle{#1}}% + \FamilyKeyStateProcessed }% }{}% }% @@ -714,7 +823,7 @@ \KOMA@DeclareDeprecatedOption{cleardoubleempty}{cleardoublepage=empty} \KOMA@DeclareDeprecatedOption{cleardoubleplain}{cleardoublepage=plain} \KOMA@DeclareDeprecatedOption{cleardoublestandard}{cleardoublepage=current} -%%% From File: scrkfloa.dtx +%%% From File: $Id: scrkernel-floats.dtx 1502 2013-11-06 11:00:12Z mjk $ \newif\if@captionabove\@captionabovefalse \newif\if@tablecaptionabove\@tablecaptionabovefalse \newif\if@figurecaptionabove\@figurecaptionabovefalse @@ -784,7 +893,7 @@ \DeclareOption{origlongtable}{\@komalongtablefalse} \KOMA@DeclareDeprecatedOption{onelinecaption}{captions=oneline} \KOMA@DeclareDeprecatedOption{noonelinecaption}{captions=nooneline} -%%% From File: scrkftn.dtx +%%% From File: $Id: scrkernel-footnotes.dtx 1380 2013-10-01 15:31:55Z mjk $ \KOMA@key{footnotes}{% \ifx\@footnotemark\scr@saved@footnotemark \else @@ -802,11 +911,13 @@ \let\@footnotemark\scr@footnotemark \def\FN@mf@prepare{\scr@mf@prepare}% \def\scr@footmisc@options{multiple}% + \FamilyKeyStateProcessed }{% \ifstr{#1}{nomultiple}{% \let\@footnotemark\scr@saved@footnotemark \let\FN@mf@prepare\relax \let\scr@footmisc@options\@empty + \FamilyKeyStateProcessed }{% \KOMA@unknown@keyval{footnotes}{#1}{`multiple' and `nomultiple'}% }% @@ -829,7 +940,7 @@ \csname FN@mf@prepare\endcsname \ifhmode\spacefactor\@x@sf\fi \relax} -%%% From File: scrkliof.dtx +%%% From File: $Id: scrkernel-listsof.dtx 1522 2013-11-22 08:11:42Z mjk $ \newif\if@tocleft \KOMA@key{toc}{% \KOMA@set@ncmdkey{toc}{@tempa}{% @@ -843,28 +954,36 @@ {bibliographynumbered}{7},{bibnumbered}{7},{numberedbibliography}{7},% {numberedbib}{7},% {flat}{8},{left}{8},% - {graduated}{9},{indent}{9},{indented}{9}% + {graduated}{9},{indent}{9},{indented}{9},% + {indenttextentries}{10},{indentunnumbered}{10},{numberline}{10},% + {leftaligntextentries}{11},{leftalignunnumbered}{11},{nonumberline}{11}% }{#1}% - \ifcase \@tempa\relax - \KOMA@options{index=notoc}{}% - \or - \KOMA@options{index=totoc}{}% - \or - \KOMA@options{listof=notoc}{}% - \or - \KOMA@options{listof=totoc}{}% - \or - \KOMA@options{listof=numbered}{}% - \or - \KOMA@options{bibliography=nottotoc}{}% - \or - \KOMA@options{bibliography=totoc}{}% - \or - \KOMA@options{bibliography=totocnumbered}{}% - \or - \@toclefttrue - \or - \@tocleftfalse + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase \@tempa\relax + \KOMAExecuteOptions{index=notoc}% + \or + \KOMAExecuteOptions{index=totoc}% + \or + \KOMAExecuteOptions{listof=notoc}% + \or + \KOMAExecuteOptions{listof=totoc}% + \or + \KOMAExecuteOptions{listof=numbered}% + \or + \KOMAExecuteOptions{bibliography=nottotoc}% + \or + \KOMAExecuteOptions{bibliography=totoc}% + \or + \KOMAExecuteOptions{bibliography=totocnumbered}% + \or + \@toclefttrue + \or + \@tocleftfalse + \or + \setuptoc{toc}{numberline}% + \or + \unsettoc{toc}{numberline}% + \fi \fi } \KOMA@DeclareDeprecatedOption{tocleft}{toc=flat} @@ -883,86 +1002,104 @@ {graduated}{4},{indent}{4},{indented}{4},% {leveldown}{5}, {entryprefix}{6}, - {chapterentry}{7},{withchapterentry}{7},% - {nochaptergap}{8},{ignorechapter}{8},% - {chaptergapsmall}{9},{smallchaptergap}{9},% - {chaptergapline}{10},{onelinechaptergap}{10}% + {indenttextentries}{7},{indentunnumbered}{7},{numberline}{7},% + {leftaligntextentries}{8},{leftalignunnumbered}{8},{nonumberline}{8},% + {chapterentry}{9},{withchapterentry}{9},% + {nochaptergap}{10},{ignorechapter}{10},% + {chaptergapsmall}{11},{smallchaptergap}{11},% + {chaptergapline}{12},{onelinechaptergap}{12}% }{#1}% - \ifcase \@tempa\relax - \renewcommand*{\float@@listhead}{% - \chapter* - }% - \doforeachtocfile[float]{% - \unsettoc{\@currext}{numbered}% - \unsettoc{\@currext}{totoc}% - }% - \AtAddToTocList[float]{% - \unsettoc{\@currext}{numbered}% - \unsettoc{\@currext}{totoc}% - }% - \or% totoc - \renewcommand*{\float@@listhead}{% - \addchap - }% - \doforeachtocfile[float]{% - \unsettoc{\@currext}{numbered}% - \setuptoc{\@currext}{totoc}% - }% - \AtAddToTocList[float]{% - \unsettoc{\@currext}{numbered}% - \setuptoc{\@currext}{totoc}% - }% - \or% numbered - \renewcommand*{\float@@listhead}{% - \chapter - }% - \doforeachtocfile[float]{% - \setuptoc{\@currext}{numbered}% - \setuptoc{\@currext}{totoc}% - }% - \AtAddToTocList[float]{% - \setuptoc{\@currext}{numbered}% - \setuptoc{\@currext}{totoc}% - }% - \or% flat - \@dynlisttrue - \or% graduated - \@dynlistfalse - \or% leveldown - \doforeachtocfile[float]{% - \setuptoc{\@currext}{leveldown}% - }% - \AtAddToTocList[float]{% - \setuptoc{\@currext}{leveldown}% - }% - \or% entryprefix - \@dynlisttrue - \doforeachtocfile[float]{% - \BeforeStartingTOC[\@currext]{% - \scr@ifundefinedorrelax{listof\@currext entryname}{}{% - \expandafter\def\expandafter\numberline@prefix - \expandafter{\csname listof\@currext entryname\endcsname - \nobreakspace}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase \@tempa\relax + \renewcommand*{\float@@listhead}{% + \chapter* + }% + \doforeachtocfile[float]{% + \unsettoc{\@currext}{numbered}% + \unsettoc{\@currext}{totoc}% + }% + \AtAddToTocList[float]{% + \unsettoc{\@currext}{numbered}% + \unsettoc{\@currext}{totoc}% + }% + \or% totoc + \renewcommand*{\float@@listhead}{% + \addchap + }% + \doforeachtocfile[float]{% + \unsettoc{\@currext}{numbered}% + \setuptoc{\@currext}{totoc}% + }% + \AtAddToTocList[float]{% + \unsettoc{\@currext}{numbered}% + \setuptoc{\@currext}{totoc}% + }% + \or% numbered + \renewcommand*{\float@@listhead}{% + \chapter + }% + \doforeachtocfile[float]{% + \setuptoc{\@currext}{numbered}% + \setuptoc{\@currext}{totoc}% + }% + \AtAddToTocList[float]{% + \setuptoc{\@currext}{numbered}% + \setuptoc{\@currext}{totoc}% + }% + \or% flat + \@dynlisttrue + \or% graduated + \@dynlistfalse + \or% leveldown + \doforeachtocfile[float]{% + \setuptoc{\@currext}{leveldown}% + }% + \AtAddToTocList[float]{% + \setuptoc{\@currext}{leveldown}% + }% + \or% entryprefix + \@dynlisttrue + \doforeachtocfile[float]{% + \BeforeStartingTOC[\@currext]{% + \scr@ifundefinedorrelax{listof\@currext entryname}{}{% + \expandafter\def\expandafter\numberline@prefix + \expandafter{\csname listof\@currext entryname\endcsname + \nobreakspace}% + }% }% }% - }% - \AtAddToTocList[float]{% - \BeforeStartingTOC[\@currext]{% - \scr@ifundefinedorrelax{listof\@currext entryname}{}{% - \expandafter\def\expandafter\numberline@prefix - \expandafter{\csname listof\@currext entryname\endcsname - \nobreakspace}% + \AtAddToTocList[float]{% + \BeforeStartingTOC[\@currext]{% + \scr@ifundefinedorrelax{listof\@currext entryname}{}{% + \expandafter\def\expandafter\numberline@prefix + \expandafter{\csname listof\@currext entryname\endcsname + \nobreakspace}% + }% }% }% - }% - \or% chapterentry - \KOMA@options{chapteratlists=entry}{}% - \or% chaptergap - \KOMA@options{chapteratlists=\z@}{}% - \or% chaptergapsmall - \KOMA@options{chapteratlists=10\p@}{}% - \or% chaptergapline - \KOMA@options{chapteratlists=\baselineskip}{}% + \or% numberline + \doforeachtocfile[float]{% + \setuptoc{\@currext}{numberline}% + }% + \AtAddToTocList[float]{% + \setuptoc{\@currext}{numberline}% + } + \or% nonumberline + \doforeachtocfile[float]{% + \unsettoc{\@currext}{numberline}% + }% + \AtAddToTocList[float]{% + \unsettoc{\@currext}{numberline}% + } + \or% chapterentry + \KOMAExecuteOptions{chapteratlists=entry}% + \or% chaptergap + \KOMAExecuteOptions{chapteratlists=\z@}% + \or% chaptergapsmall + \KOMAExecuteOptions{chapteratlists=10\p@}% + \or% chaptergapline + \KOMAExecuteOptions{chapteratlists=\baselineskip}% + \fi \fi } \KOMA@DeclareDeprecatedOption{liststotoc}{listof=totoc} @@ -978,7 +1115,8 @@ \@chaptertolistsfalse\renewcommand*{\@chapterlistsgap}{#1}% }% } -%%% From File: scrkbib.dtx +\BeforeTOCHead{\@chaptertolistsfalse} +%%% From File: $Id: scrkernel-bibliography.dtx 1380 2013-10-01 15:31:55Z mjk $ \newcommand{\newbibstyle}[3][]{% \scr@ifundefinedorrelax{scr@bibstyle@#2}{% \scr@ifundefinedorrelax{scr@bibstyle@#1}{% @@ -1031,43 +1169,76 @@ } \scr@bibstyle@oldstyle \newcommand*\bib@heading{% - \chapter*{\bibname}% - \@mkboth{\MakeMarkcase{\bibname}}{\MakeMarkcase{\bibname}}% -} + \ifbib@leveldown + \section*{\bibname}% + \ifx\@mkboth\@gobble\else\markright{\MakeMarkcase{\bibname}}\fi + \else + \chapter*{\bibname}% + \@mkboth{\MakeMarkcase{\bibname}}{\MakeMarkcase{\bibname}}% + \fi +}% +\newif\ifbib@leveldown \KOMA@key{bibliography}{% \scr@ifundefinedorrelax{scr@bibstyle@#1}{% - \let\FamilyElseValues\scr@bibstylelist \KOMA@set@ncmdkey{bibliography}{@tempa}{% {notoc}{0},{nottotoc}{0},{plainheading}{0},% {totoc}{1},{toc}{1},{notnumbered}{1},% {numbered}{2},{totocnumbered}{2},{tocnumbered}{2},{numberedtotoc}{2},% - {numberedtoc}{2}% + {numberedtoc}{2},% + {leveldown}{3},% + {standardlevel}{4}% }{#1}% \ifcase \@tempa\relax \renewcommand*\bib@heading{% - \chapter*{\bibname}% - \@mkboth{\MakeMarkcase{\bibname}}{\MakeMarkcase{\bibname}}% + \ifbib@leveldown + \section*{\bibname}% + \ifx\@mkboth\@gobble\else\markright{\MakeMarkcase{\bibname}}\fi + \else + \chapter*{\bibname}% + \@mkboth{\MakeMarkcase{\bibname}}{\MakeMarkcase{\bibname}}% + \fi }% \or% totoc \renewcommand*\bib@heading{% - \addchap{\bibname}% - \@mkboth{\MakeMarkcase{\bibname}}{\MakeMarkcase{\bibname}}% + \ifbib@leveldown + \addsec{\bibname} + \else + \if@chaptertolists + \@chaptertolistsfalse\addchap{\bibname}\@chaptertoliststrue + \else + \addchap{\bibname} + \fi + \@mkboth{\MakeMarkcase{\bibname}}{\MakeMarkcase{\bibname}}% + \fi }% \or% numbered \renewcommand*\bib@heading{% - \chapter{\bibname}% - \@mkboth{\MakeMarkcase{\chaptermarkformat \bibname}}% - {\MakeMarkcase{\chaptermarkformat \bibname}}% + \ifbib@leveldown + \section{\bibname}% + \else + \if@chaptertolists + \@chaptertolistsfalse\chapter{\bibname}\@chaptertoliststrue + \else + \chapter{\bibname} + \fi + \@mkboth{\MakeMarkcase{\chaptermarkformat \bibname}}% + {\MakeMarkcase{\chaptermarkformat \bibname}}% + \fi } + \or% leveldown + \bib@leveldowntrue + \or% standardlevel + \bib@leveldownfalse \fi }{% \csname scr@bibstyle@#1\endcsname + \FamilyKeyStateProcessed }% } \KOMA@DeclareStandardOption{openbib}{bibliography=openstyle} \KOMA@DeclareDeprecatedOption{bibtotoc}{bibliography=totoc} \KOMA@DeclareDeprecatedOption{bibtotocnumbered}{bibliography=totocnumbered} -%%% From File: scrkidx.dtx +%%% From File: $Id: scrkernel-index.dtx 1380 2013-10-01 15:31:55Z mjk $ \newcommand*{\idx@@heading}{% \chapter* } @@ -1076,26 +1247,63 @@ {notoc}{0},{nottotoc}{0},{default}{0},{plainheading}{0},% {totoc}{1},{toc}{1},{notnumbered}{1}% }{#1}% - \ifcase \@tempa\relax - \renewcommand*{\idx@@heading}{% - \chapter* - }% - \or - \renewcommand*{\idx@@heading}{% - \addchap - }% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase \@tempa\relax + \renewcommand*{\idx@@heading}{% + \chapter* + }% + \or + \renewcommand*{\idx@@heading}{% + \addchap + }% + \fi \fi } \KOMA@DeclareDeprecatedOption{idxtotoc}{index=totoc} -%%% From File: scrklist.dtx -%%% From File: scrkmisc.dtx +%%% From File: $Id: scrkernel-listsandtabulars.dtx 1502 2013-11-06 11:00:12Z mjk $ +%%% From File: $Id: scrkernel-miscellaneous.dtx 1529 2013-12-03 07:36:57Z mjk $ \KOMAExecuteOptions{% parskip=false,% headings=big% } \KOMAProcessOptions\relax -%%% From File: scrkcomp.dtx -%%% From File: scrkfont.dtx +%%% From File: $Id: scrkernel-compatibility.dtx 1512 2013-11-11 10:35:04Z mjk $ +%%% From File: $Id: scrkernel-fonts.dtx 1483 2013-10-31 15:12:30Z mjk $ +\newcommand*\scr@setlength[4]{% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{#1}{#2 \@plus#3 \@minus#4}% + \else + \ifdim #2<\ifdim #2=\z@ \z@ \else \p@\fi + \ifdim #3<\ifdim #3=\z@ \z@ \else \p@\fi + \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi + \setlength{#1}{\p@ \@plus\p@ \@minus\p@}% + \else + \setlength{#1}{\p@ \@plus\p@ \@minus#4}% + \fi + \else + \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi + \setlength{#1}{\p@ \@plus#3 \@minus\p@}% + \else + \setlength{#1}{\p@ \@plus#3 \@minus#4}% + \fi + \fi + \else + \ifdim #3<\ifdim #3=\z@ \z@ \else \p@\fi + \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi + \setlength{#1}{#2 \@plus\p@ \@minus\p@}% + \else + \setlength{#1}{#2 \@plus\p@ \@minus#4}% + \fi + \else + \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi + \setlength{#1}{#2 \@plus#3 \@minus\p@}% + \else + \setlength{#1}{#2 \@plus#3 \@minus#4}% + \fi + \fi + \fi + \fi +} \newcommand*{\changefontsizes}[2][1.2\@tempdima]{% \ClassWarning{\KOMAClassName}{% Using fallback calculation to setup font sizes\MessageBreak @@ -1119,12 +1327,20 @@ \setlength{\@tempdimc}{\@tempdima}% \def\@tempa##1##2##3##4##5\@nnil{\def##1{##2.##3##4}}% \expandafter\@tempa\expandafter\@tempb\@tempb\@nnil% - \setlength{\abovedisplayskip}{% - \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% - \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\abovedisplayskip}{% + \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% + \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \setlength{\belowdisplayshortskip}{% + .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% + \else + \scr@setlength{\abovedisplayskip}% + {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}% + \scr@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}% + \scr@setlength{\belowdisplayshortskip}% + {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}% + \fi \setlength{\belowdisplayskip}{\abovedisplayskip}% - \setlength{\belowdisplayshortskip}{% - .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% \edef\normalsize{% \noexpand\@setfontsize\noexpand\normalsize {\the\@tempdima}{\the\@tempdimb}% @@ -1136,12 +1352,20 @@ }% \setlength{\@tempdima}{0.9125\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% - \setlength{\abovedisplayskip}{% - \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% - \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\abovedisplayskip}{% + \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% + \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \setlength{\belowdisplayshortskip}{% + .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% + \else + \scr@setlength{\abovedisplayskip}% + {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}% + \scr@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}% + \scr@setlength{\belowdisplayshortskip}% + {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}% + \fi \setlength{\belowdisplayskip}{\abovedisplayskip}% - \setlength{\belowdisplayshortskip}{% - .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% \edef\small{% \noexpand\@setfontsize\noexpand\small {\the\@tempdima}{\the\@tempdimb}% @@ -1153,12 +1377,20 @@ }% \setlength{\@tempdima}{.83334\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% - \setlength{\abovedisplayskip}{% - \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% - \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\abovedisplayskip}{% + \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% + \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \setlength{\belowdisplayshortskip}{% + .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% + \else + \scr@setlength{\abovedisplayskip}% + {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}% + \scr@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}% + \scr@setlength{\belowdisplayshortskip}% + {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}% + \fi \setlength{\belowdisplayskip}{\abovedisplayskip}% - \setlength{\belowdisplayshortskip}{% - .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% \edef\footnotesize{% \noexpand\@setfontsize\noexpand\footnotesize {\the\@tempdima}{\the\@tempdimb}% @@ -1211,29 +1443,37 @@ {\the\@tempdima}{\the\@tempdimb}% }% \normalsize - \setlength{\footnotesep}{.7\@tempdimc}% - \setlength{\skip\footins}{.9\@tempdimc \@plus .3333\@tempdimc \@minus - .6\@tempdimc}% - \setlength{\floatsep}{\@tempdimc \@plus .1667\@tempdimc \@minus - .3333\@tempdimc}% - \setlength{\textfloatsep}{1.6667\@tempdimc \@plus .1667\@tempdimc \@minus - .3333\@tempdimc}% - \setlength{\intextsep}{\@tempb\@tempdimc \@plus .3333\@tempdimc \@minus - .3333\@tempdimc}% - \setlength{\dblfloatsep}{\@tempb\@tempdimc \@plus .1667\@tempdimc \@minus - .3333\@tempdimc}% - \setlength{\dbltextfloatsep}{\textfloatsep}% - \setlength{\@fptop}{0\p@ \@plus 1fil}% - \setlength{\@fpsep}{.8333\@tempdimc \@plus 2fil}% - \setlength{\@fpbot}{\@fptop}% - \setlength{\@dblfptop}{0\p@ \@plus 1fil}% - \setlength{\@dblfpsep}{.8333\@tempdimc \@plus 2fil}% - \setlength{\@dblfpbot}{\@fptop}% - \setlength{\partopsep}{.25\@tempdimc \@plus .16667\@tempdimc \@minus - .16667\@tempdimc}% - \setlength{\topsep}{.8333\@tempdimc \@plus .3333\@tempdimc \@minus - .5\@tempdimc}% - \setlength{\parsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\footnotesep}{.7\@tempdimc}% + \setlength{\skip\footins}{.9\@tempdimc \@plus .3333\@tempdimc \@minus + .6\@tempdimc}% + \setlength{\floatsep}{\@tempdimc \@plus .1667\@tempdimc \@minus + .3333\@tempdimc}% + \setlength{\textfloatsep}{1.6667\@tempdimc \@plus .1667\@tempdimc \@minus + .3333\@tempdimc}% + \setlength{\intextsep}{\@tempb\@tempdimc \@plus .3333\@tempdimc \@minus + .3333\@tempdimc}% + \setlength{\dblfloatsep}{\@tempb\@tempdimc \@plus .1667\@tempdimc \@minus + .3333\@tempdimc}% + \setlength{\dbltextfloatsep}{\textfloatsep}% + \setlength{\@fptop}{0\p@ \@plus 1fil}% + \setlength{\@fpsep}{.8333\@tempdimc \@plus 2fil}% + \setlength{\@fpbot}{\@fptop}% + \setlength{\@dblfptop}{0\p@ \@plus 1fil}% + \setlength{\@dblfpsep}{.8333\@tempdimc \@plus 2fil}% + \setlength{\@dblfpbot}{\@fptop}% + \fi + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\topsep}{.8333\@tempdimc \@plus .3333\@tempdimc \@minus + .5\@tempdimc}% + \setlength{\parsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% + \else + \setlength{\@tempdimb}{\f@baselineskip}% + \scr@setlength{\parsep}% + {.3333\@tempdimb}{.1667\@tempdimb}{.0833\@tempdimb}% + \scr@setlength{\topsep}% + {.6667\@tempdimb}{.1667\@tempdimb}{.3333\@tempdimb}% + \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% @@ -1246,9 +1486,16 @@ \if@tempswa\noexpand\@list@extra\fi }% \let\@listI\@listi - \setlength{\topsep}{.75\@tempdimc \@plus .25\@tempdimc \@minus - .41667\@tempdimc}% - \setlength{\parsep}{.375\@tempdimc \@plus .16667\@tempdimc \@minus \p@}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\topsep}{.75\@tempdimc \@plus .25\@tempdimc \@minus + .41667\@tempdimc}% + \setlength{\parsep}{.375\@tempdimc \@plus .16667\@tempdimc \@minus \p@}% + \else + \scr@setlength{\parsep}% + {.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}% + \scr@setlength{\topsep}% + {.3333\@tempdimb}{.1667\@tempdimb}{.1667\@tempdimb}% + \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% @@ -1260,9 +1507,16 @@ \itemsep \parsep \if@tempswa\noexpand\@list@extra\fi }% - \setlength{\topsep}{.5\@tempdimc \@plus .16667\@tempdimc \@minus - .16667\@tempdimc}% - \setlength{\parsep}{.25\@tempdimc \@plus .16667\@tempdimc \@minus \p@}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\topsep}{.5\@tempdimc \@plus .16667\@tempdimc \@minus + .16667\@tempdimc}% + \setlength{\parsep}{.25\@tempdimc \@plus .16667\@tempdimc \@minus \p@}% + \else + \scr@setlength{\parsep}% + {.125\@tempdimb}{.0625\@tempdimb}{.0625\@tempdimb}% + \scr@setlength{\topsep}% + {.25\@tempdimb}{.125\@tempdimb}{.125\@tempdimb}% + \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% @@ -1274,8 +1528,15 @@ \itemsep \parsep \if@tempswa\noexpand\@list@extra\fi }% - \setlength{\topsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% - \setlength{\parsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\topsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% + \setlength{\parsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% + \else + \scr@setlength{\parsep}% + {.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}% + \scr@setlength{\topsep}% + {.3333\@tempdimb}{.1667\@tempdimb}{.0833\@tempdimb}% + \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% @@ -1288,8 +1549,13 @@ \itemsep \parsep \if@tempswa\noexpand\@list@extra\fi }% - \setlength{\topsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% - \setlength{\parsep}{\p@ \@plus\z@ \@minus\p@}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\topsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% + \else + \scr@setlength{\topsep}% + {.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}% + \fi + \setlength{\partopsep}{\z@ \@plus\z@ \@minus\p@}% \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% @@ -1299,7 +1565,7 @@ \labelwidth=\dimexpr \leftmargin-\labelsep \topsep \the\topsep \parsep \z@ - \partopsep \the\parsep + \partopsep \the\partopsep \itemsep \topsep \if@tempswa\noexpand\@list@extra\fi }% @@ -1309,7 +1575,7 @@ \csname @listiv\endcsname \endgroup \edef\@listiv{\leftmargin\leftmarginiv - \labelwidth=\dimexpr \leftmargin-\labelsep + \labelwidth=\dimexpr \leftmargin-\labelsep\relax \if@tempswa\noexpand\@list@extra\fi }% \@tempswafalse @@ -1318,7 +1584,7 @@ \csname @listv\endcsname \endgroup \edef\@listv{\leftmargin\leftmarginv - \labelwidth=\dimexpr \leftmargin-\labelsep + \labelwidth=\dimexpr \leftmargin-\labelsep\relax \if@tempswa\noexpand\@list@extra\fi }% \@tempswafalse @@ -1327,15 +1593,36 @@ \csname @listvi\endcsname \endgroup \edef\@listvi{\leftmargin\leftmarginvi - \labelwidth=\dimexpr \leftmargin-\labelsep + \labelwidth=\dimexpr \leftmargin-\labelsep\relax \if@tempswa\noexpand\@list@extra\fi }% \@listi - \setlength{\@tempdimb}{\@tempb\@tempdima}% - \setlength{\@tempdima}{\dimexpr \@tempdimb-\@tempdimc}% - \setlength\intextsep{\@tempdimb \@plus.2\@tempdima \@minus.2\@tempdima}% - \setlength\dblfloatsep\intextsep - \setlength\partopsep{.2\@tempdimc \@plus.1\@tempdimc \@minus.1\@tempdimc}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\@tempdimb}{\@tempb\@tempdima}% + \setlength{\@tempdima}{\dimexpr \@tempdimb-\@tempdimc}% + \setlength\intextsep{\@tempdimb \@plus.2\@tempdima \@minus.2\@tempdima}% + \setlength\dblfloatsep\intextsep + \setlength\partopsep{.2\@tempdimc \@plus.1\@tempdimc \@minus.1\@tempdimc}% + \else + \setlength{\@tempdimb}{\f@baselineskip}% + \setlength{\footnotesep}{.555\@tempdimb}% + \scr@setlength{\skip\footins}% + {.75\@tempdimb}{.3333\@tempdimb}{.1667\@tempdimb}% + \scr@setlength{\floatsep}% + {\@tempdimb}{.1667\@tempdimb}{.1667\@tempdimb}% + \scr@setlength{\textfloatsep}% + {1.6667\@tempdimb}{.1667\@tempdimb}{.3333\@tempdimb}% + \setlength{\intextsep}{\floatsep}% + \setlength{\dblfloatsep}{\floatsep}% + \setlength{\dbltextfloatsep}{\textfloatsep}% + \setlength{\@fptop}{\z@ \@plus 1fil}% + \setlength{\@fpsep}{.6667\@tempdimb \@plus 2fil}% + \setlength{\@fpbot}{\@fptop}% + \setlength{\@dblfptop}{\@fptop}% + \setlength{\@dblfpsep}{\@fpsep}% + \setlength{\@dblfpbot}{\@fptop}% + \scr@setlength{\partopsep}{.2\@tempdimb}{.1\@tempdimb}{.1\@tempdimb}% + \fi }% } \expandafter\@defaultunits\expandafter\@tempdima\@ptsize pt\relax\@nnil @@ -1366,23 +1653,61 @@ }% }% } -\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} -\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} -\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} -\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} -\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} -\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} -\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} -\DeclareOldFontCommand{\sfb}{\normalfont\sffamily\bfseries}{% +\newcommand*{\scr@DeclareOldFontCommand}[3]{% + \DeclareRobustCommand #1{\@fontswitch {% + \ClassWarning{\KOMAClassName}{% + Usage of deprecated font command `\string#1'!\MessageBreak + You should note, that in 1994 font command `\string#1' has\MessageBreak + been defined for compatiblitiy to Script 2.0 only.\MessageBreak + Now, after two decades of LaTeX2e and NFSS2, you\MessageBreak + shouldn't use such commands any longer and within\MessageBreak + KOMA-Script usage of `\string#1' is definitely deprecated.\MessageBreak + See `fntguide.pdf' for more information about\MessageBreak + recommended font commands.\MessageBreak + Note also, that KOMA-Script will remove the definition\MessageBreak + of `\string#1' anytime until release of about version 3.20.\MessageBreak + But for now, KOMA-Script will replace deprecated + `\string#1'\MessageBreak + by `\detokenize{#2}'% + }% + #2% + }{% + \ClassWarning{\KOMAClassName}{% + Usage of deprecated font command `\string#1'!\MessageBreak + You should note, that in 1994 font command `\string#1' has\MessageBreak + been defined for compatiblitiy to Script 2.0 only.\MessageBreak + Now, after two decades of LaTeX2e and NFSS2, you\MessageBreak + shouldn't use such commands any longer and within\MessageBreak + KOMA-Script usage of `\string#1' is definitely deprecated.\MessageBreak + See `fntguide.pdf' for more information about\MessageBreak + recommended font commands.\MessageBreak + Note also, that KOMA-Script will remove the definition\MessageBreak + of `\string#1' anytime until release of about version 3.20.\MessageBreak + But for now, KOMA-Script will replace deprecated + `\string#1'\MessageBreak + by `\detokenize{#3}'% + }% + #3% + }% + }% +} +\scr@DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +\scr@DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\scr@DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\scr@DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\scr@DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\scr@DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\scr@DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +\scr@DeclareOldFontCommand{\sfb}{\normalfont\sffamily\bfseries}{% \@nomath\sfb} \DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal} \DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal} -%%% From File: scrklang.dtx +%%% From File: $Id: scrkernel-language.dtx 1503 2013-11-06 11:44:59Z mjk $ \def\today{\ifcase\month\or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi \space\number\day, \number\year}% -%%% From File: scrktare.dtx +%%% From File: $Id: scrkernel-typearea.dtx 1512 2013-11-11 10:35:04Z mjk $ \let\@BCOR =\relax \let\@@BCOR =\relax \let\@DIV =\relax @@ -1393,7 +1718,40 @@ \let\x@@paper =\relax \let\scr@pti@nerr@r =\relax \RequirePackage{typearea}[\KOMAScriptVersion] -%%% From File: scrkpar.dtx +\if@scr@emulatestandardclasses + \ifnum\@lastdiv=\z@ + \setlength{\textwidth}{\dimexpr \paperwidth-2in\relax} + \ifdim \f@size\p@<10.5\p@ + \setlength{\@tempdimb}{345\p@} + \else\ifdim \f@size\p@<11.5\p@ + \setlength{\@tempdimb}{360\p@} + \else + \setlength{\@tempdimb}{390\p@} + \fi + \fi + \if@twocolumn + \ifdim\@textwidth>2\@tempdimb\relax + \setlength{\textwidth}{2\@tempdimb} + \fi + \else + \ifdim\textwidth>\@tempdimb + \setlength{\textwidth}{\@tempdimb} + \fi + \fi + \@settopoint\textwidth + \setlength{\@tempdima}{\dimexpr \paperheight-3.5in\relax} + \divide\@tempdima\baselineskip + \@tempcnta=\@tempdima + \setlength{\textheight}{\@tempcnta\baselineskip} + \addtolength{\textheight}{\topskip} + \edef\reserved@a{% + \noexpand\@areasetadvancedtrue + \noexpand\areaset[current]{\noexpand\textwidth}{\noexpand\textheight}% + \if@areasetadvanced\else\noexpand\@areasetadvancedfalse\fi + }\reserved@a + \fi +\fi +%%% From File: $Id: scrkernel-paragraphs.dtx 1380 2013-10-01 15:31:55Z mjk $ \setlength{\lineskip}{\p@} \setlength{\normallineskip}{\p@} \setlength{\columnsep}{10\p@} @@ -1521,7 +1879,7 @@ \@lowpenalty = 51 \@medpenalty =151 \@highpenalty =301 -%%% From File: scrktitl.dtx +%%% From File: $Id: scrkernel-title.dtx 1517 2013-11-21 13:02:39Z mjk $ \newcommand*{\@extratitle}{}% \newcommand{\extratitle}[1]{\gdef\@extratitle{% #1% @@ -1554,13 +1912,60 @@ \newcommand{\dedication}[1]{\gdef\@dedication{% #1% }}% -\newcommand*{\next@tpage}{\clearpage\thispagestyle{empty}}% +\newcommand*{\next@tpage}{% + \@thanks\global\let\@thanks\@empty + \clearpage + \csname titlepage@restore\endcsname + \thispagestyle{empty}% + \let\footnote\thanks + \setcounter{footnote}{0}% +} +\newcommand*{\next@tdpage}{% + \next@tpage\if@twoside \ifodd\value{page}\else\null\next@tpage\fi\fi +} \newcommand*\maketitle[1][1]{% + \expandafter\ifnum \csname scr@v@3.12\endcsname>\scr@compatibility\relax + \else + \def\and{% + \end{tabular}% + \hskip 1em \@plus.17fil% + \begin{tabular}[t]{c}% + }% + \fi \if@titlepage \begin{titlepage} \setcounter{page}{% #1% }% + \if@titlepageiscoverpage + \edef\titlepage@restore{% + \noexpand\endgroup + \noexpand\global\noexpand\@colht\the\@colht + \noexpand\global\noexpand\@colroom\the\@colroom + \noexpand\global\vsize\the\vsize + \noexpand\global\noexpand\@titlepageiscoverpagefalse + \noexpand\let\noexpand\titlepage@restore\noexpand\relax + }% + \begingroup + \topmargin=\dimexpr \coverpagetopmargin-1in\relax + \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax + \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax + \textwidth=\dimexpr + \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax + \textheight=\dimexpr + \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax + \headheight=0pt + \headsep=0pt + \footskip=\baselineskip + \@colht=\textheight + \@colroom=\textheight + \vsize=\textheight + \columnwidth=\textwidth + \hsize=\columnwidth + \linewidth=\hsize + \else + \let\titlepage@restore\relax + \fi \let\footnotesize\small \let\footnoterule\relax \let\footnote\thanks @@ -1568,53 +1973,69 @@ \let\@oldmakefnmark\@makefnmark \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark}% \ifx\@extratitle\@empty \else - \noindent\@extratitle\next@tpage\cleardoubleemptypage - \thispagestyle{empty}% + \noindent\@extratitle\next@tdpage \fi \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative \ifx\@titlehead\@empty \else \begin{minipage}[t]{\textwidth}% - \@titlehead + \usekomafont{titlehead}{\@titlehead\par}% \end{minipage}\par \fi \null\vfill \begin{center} \ifx\@subject\@empty \else - {\subject@font \@subject \par}% + {\usekomafont{subject}{\@subject\par}}% \vskip 3em \fi - {\titlefont\huge \@title\par}% + {\usekomafont{title}{\huge \@title\par}}% \vskip 1em - {\ifx\@subtitle\@empty\else\usekomafont{subtitle}\@subtitle\par\fi}% + {\ifx\@subtitle\@empty\else\usekomafont{subtitle}{\@subtitle\par}\fi}% \vskip 2em - {\Large \lineskip 0.75em - \begin{tabular}[t]{c} - \@author - \end{tabular}\par + {% + \usekomafont{author}{% + \lineskip 0.75em + \begin{tabular}[t]{c} + \@author + \end{tabular}\par + }% }% \vskip 1.5em - {\Large \@date \par}% + {\usekomafont{date}{\@date \par}}% \vskip \z@ \@plus3fill - {\Large \@publishers \par}% + {\usekomafont{publishers}{\@publishers \par}}% \vskip 3em \end{center}\par - \@thanks + \@thanks\let\@thanks\@empty \vfill\null - \if@twoside\next@tpage - \begin{minipage}[t]{\textwidth} - \@uppertitleback - \end{minipage}\par - \vfill - \begin{minipage}[b]{\textwidth} - \@lowertitleback - \end{minipage} + \if@twoside + \@tempswatrue + \expandafter\ifnum \@nameuse{scr@v@3.12}>\scr@compatibility\relax + \else + \ifx\@uppertitleback\@empty\ifx\@lowertitleback\@empty + \@tempswafalse + \fi\fi + \fi + \if@tempswa + \next@tpage + \begin{minipage}[t]{\textwidth} + \@uppertitleback + \end{minipage}\par + \vfill + \begin{minipage}[b]{\textwidth} + \@lowertitleback + \end{minipage}\par + \@thanks\let\@thanks\@empty + \fi \fi - \ifx\@dedication\@empty \else - \next@tpage\null\vfill - {\centering \Large \@dedication \par}% + \ifx\@dedication\@empty + \else + \next@tdpage\null\vfill + {\centering\usekomafont{dedication}{\@dedication \par}}% \vskip \z@ \@plus3fill - \if@twoside \next@tpage\cleardoubleemptypage \fi + \@thanks\let\@thanks\@empty + \cleardoubleemptypage \fi + \ifx\titlepage@restore\relax\else\clearpage\titlepage@restore\fi \end{titlepage} \else \par @@ -1628,92 +2049,115 @@ }% \fi \begingroup + \let\titlepage@restore\relax \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% \let\@oldmakefnmark\@makefnmark \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark} + \next@tdpage \if@twocolumn \ifnum \col@number=\@ne + \@makeextratitle + \next@tdpage \@maketitle \else + \ifx\@extratitle\@empty\else + \twocolumn[\@makeextratitle]\next@tdpage + \fi \twocolumn[\@maketitle]% \fi \else - \newpage - \global\@topnum\z@ + \@makeextratitle \@maketitle \fi \thispagestyle{\titlepagestyle}\@thanks \endgroup \fi \setcounter{footnote}{0}% - \let\thanks\relax - \let\maketitle\relax - \let\@maketitle\relax - \global\let\@thanks\@empty - \global\let\@author\@empty - \global\let\@date\@empty - \global\let\@title\@empty - \global\let\@subtitle\@empty - \global\let\@extratitle\@empty - \global\let\@titlehead\@empty - \global\let\@subject\@empty - \global\let\@publishers\@empty - \global\let\@uppertitleback\@empty - \global\let\@lowertitleback\@empty - \global\let\@dedication\@empty - \global\let\author\relax - \global\let\title\relax - \global\let\extratitle\relax - \global\let\titlehead\relax - \global\let\subject\relax - \global\let\publishers\relax - \global\let\uppertitleback\relax - \global\let\lowertitleback\relax - \global\let\dedication\relax - \global\let\date\relax + \expandafter\ifnum \csname scr@v@3.12\endcsname>\scr@compatibility\relax + \let\thanks\relax + \let\maketitle\relax + \let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\@subtitle\@empty + \global\let\@extratitle\@empty + \global\let\@titlehead\@empty + \global\let\@subject\@empty + \global\let\@publishers\@empty + \global\let\@uppertitleback\@empty + \global\let\@lowertitleback\@empty + \global\let\@dedication\@empty + \global\let\author\relax + \global\let\title\relax + \global\let\extratitle\relax + \global\let\titlehead\relax + \global\let\subject\relax + \global\let\publishers\relax + \global\let\uppertitleback\relax + \global\let\lowertitleback\relax + \global\let\dedication\relax + \global\let\date\relax + \fi \global\let\and\relax }% -\newcommand*{\@maketitle}{% - \clearpage - \let\footnote\thanks +\newcommand*{\@makeextratitle}{% + \next@tdpage \ifx\@extratitle\@empty \else - \noindent\@extratitle \next@tpage \if@twoside \null\next@tpage \fi + \noindent\@extratitle \next@tdpage \fi +} +\newcommand*{\@maketitle}{% + \next@tdpage + \global\@topnum=\z@ \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative \ifx\@titlehead\@empty \else \begin{minipage}[t]{\textwidth} - \@titlehead + \usekomafont{titlehead}{\@titlehead\par}% \end{minipage}\par \fi \null \vskip 2em% \begin{center}% \ifx\@subject\@empty \else - {\subject@font \@subject \par} + {\usekomafont{subject}{\@subject \par}}% \vskip 1.5em \fi - {\titlefont\huge \@title \par}% + {\usekomafont{title}{\huge \@title \par}}% \vskip .5em {\ifx\@subtitle\@empty\else\usekomafont{subtitle}\@subtitle\par\fi}% \vskip 1em - {\Large - \lineskip .5em% - \begin{tabular}[t]{c} - \@author - \end{tabular}\par + {% + \usekomafont{author}{% + \lineskip .5em% + \begin{tabular}[t]{c} + \@author + \end{tabular}\par + }% }% \vskip 1em% - {\Large \@date \par}% + {\usekomafont{date}{\@date \par}}% \vskip \z@ \@plus 1em - {\Large \@publishers \par} + {\usekomafont{publishers}{\@publishers \par}}% \ifx\@dedication\@empty \else \vskip 2em - {\Large \@dedication \par} + {\usekomafont{dedication}{\@dedication \par}}% \fi \end{center}% \par \vskip 2em }% +\newcommand*{\coverpagetopmargin}{% + \dimexpr \topmargin+1in\relax +} +\newcommand*{\coverpagebottommargin}{% + 2\dimexpr\coverpagetopmargin\relax +} +\newcommand*{\coverpageleftmargin}{% + \dimexpr \evensidemargin+1in\relax +} +\newcommand*{\coverpagerightmargin}{\coverpageleftmargin} \newenvironment{titlepage}{% \cleardoublepage \if@twocolumn @@ -1731,9 +2175,14 @@ \newcommand*\titlefont{\sectfont}% \newcommand*{\subject@font}{\normalfont\normalcolor\bfseries\Large}% \newkomafont{subtitle}{\usekomafont{title}\large}% +\newkomafont{titlehead}{}% +\newkomafont{author}{\Large} +\newkomafont{date}{\Large} +\newkomafont{publishers}{\Large} +\newkomafont{dedication}{\Large} \newcommand*{\scr@fnt@title}{\titlefont}% \newcommand*{\scr@fnt@subject}{\subject@font}% -%%% From File: scrksect.dtx +%%% From File: $Id: scrkernel-sections.dtx 1552 2013-12-16 16:51:32Z mjk $ \newif\if@mainmatter\@mainmattertrue \newcommand*\frontmatter{% \if@twoside\cleardoubleoddpage\else\clearpage\fi @@ -1754,6 +2203,20 @@ \csname appendixmore\endcsname } \newcommand*\chaptermark[1]{} +\newcommand*\addchapmark[1]{% + \begingroup + \expandafter\let\csname if@mainmatter\expandafter\endcsname + \csname iffalse\endcsname + \c@secnumdepth=\m@ne + \chaptermark{#1}% + \endgroup +} +\newcommand*\addsecmark[1]{% + \begingroup + \c@secnumdepth=\m@ne + \sectionmark{#1}% + \endgroup +} \newif\if@altsecnumformat\@altsecnumformatfalse \newif\if@autodot \renewcommand*{\@autodottrue}{\global\let\if@autodot\iftrue} @@ -1906,6 +2369,37 @@ \fi\fi} \newcommand*\autodot{\if@altsecnumformat.\fi} \setcounter{secnumdepth}{2} +\newcommand*{\partnumdepth}{% + \m@ne +} +\newcommand*{\chapternumdepth}{\z@} +\newcommand*{\sectionnumdepth}{\@ne} +\newcommand*{\subsectionnumdepth}{\tw@} +\newcommand*{\subsubsectionnumdepth}{\thr@@} +\newcommand*{\paragraphnumdepth}{4} +\newcommand*{\subparagraphnumdepth}{5} +\newcommand*{\ifnumbered}[1]{% + \scr@ifundefinedorrelax{#1numdepth}{% + \@secondoftwo + }{% + \expandafter\ifnum \@nameuse{#1numdepth}>\c@secnumdepth + \expandafter\@secondoftwo + \else + \expandafter\@firstoftwo + \fi + }% +} +\newcommand*{\ifunnumbered}[1]{% + \scr@ifundefinedorrelax{#1numdepth}{% + \@firstoftwo + }{% + \expandafter\ifnum \@nameuse{#1numdepth}>\c@secnumdepth + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + }% +} \newcounter{part} \renewcommand*{\thepart}{\@Roman\c@part} \newcommand*{\partformat}{\partname~\thepart\autodot} @@ -2014,26 +2508,26 @@ \setkeys{KOMAarg.section}{tocentry={#1},head={#1}}% \fi \fi - \ifnum \c@secnumdepth >-2\relax + \ifnumbered{part}{% \refstepcounter{part}% \@maybeautodot\thepart% \ifx\scr@ds@tocentry\@empty\else \addparttocentry{\thepart}{\scr@ds@tocentry}% \fi - \else + }{% \ifx\scr@ds@tocentry\@empty\else \addparttocentry{}{\scr@ds@tocentry}% \fi - \fi + }% \begingroup \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative \raggedpart \interlinepenalty \@M \normalfont\sectfont\nobreak - \ifnum \c@secnumdepth >-2\relax + \ifnumbered{part}{% \size@partnumber{\partformat}% \partheadmidvskip - \fi + }{}% \size@part{#2}\strut \ifx\partmark\@gobble \@mkboth{}{}\par @@ -2175,87 +2669,24 @@ \setkeys{KOMAarg.section}{tocentry={#1},head={#1}}% \fi \fi - \ifnum \c@secnumdepth >\m@ne + \ifnumbered{chapter}{% \if@mainmatter \refstepcounter{chapter}% \@maybeautodot\thechapter \typeout{\@chapapp\space\thechapter.}% \ifx\scr@ds@tocentry\@empty\else \addchaptertocentry{\thechapter}{\scr@ds@tocentry}% - \if@chaptertolists - \doforeachtocfile{% - \iftocfeature{\@currext}{chapteratlist}{% - \addcontentsline{\@currext}{chapteratlist}{% - \protect\numberline{\thechapter}\scr@ds@tocentry}% - }{}% - }% - \@ifundefined{float@addtolists}{}{% - \scr@float@addtolists@warning - \scr@ifundefinedorrelax{@currentHref}{% - \float@addtolists{% - \protect\contentsline{chapteratlist}{% - \protect\numberline{\thechapter}\scr@ds@tocentry}{\thepage}% - }% - }{% - \float@addtolists{% - \protect\contentsline{chapteratlist}{% - \protect\numberline{\thechapter}\scr@ds@tocentry}{\thepage}{% - \@currentHref}% - }% - }% - }% - \fi \fi \else \ifx\scr@ds@tocentry\@empty\else - \addchaptertocentry{}{#1}% - \if@chaptertolists - \doforeachtocfile{% - \iftocfeature{\@currext}{chapteratlist}{% - \addcontentsline{\@currext}{chapteratlist}{#1}% - }{}% - }% - \@ifundefined{float@addtolists}{}{% - \scr@float@addtolists@warning - \scr@ifundefinedorrelax{@currentHref}{% - \float@addtolists{% - \protect\contentsline{chapteratlist}{#1}{\thepage}% - }% - }{% - \float@addtolists{% - \protect\contentsline{chapteratlist}{#1}{\thepage}{% - \@currentHref}% - }% - }% - }% - \fi + \addchaptertocentry{}{\scr@ds@tocentry}% \fi \fi - \else + }{% \ifx\scr@ds@tocentry\@empty\else \addchaptertocentry{}{\scr@ds@tocentry}% - \if@chaptertolists - \doforeachtocfile{% - \iftocfeature{\@currext}{chapteratlist}{% - \addcontentsline{\@currext}{chapteratlist}{\scr@ds@tocentry}% - }{}% - }% - \@ifundefined{float@addtolists}{}{% - \scr@float@addtolists@warning - \scr@ifundefinedorrelax{@currentHref}{% - \float@addtolists{% - \protect\contentsline{chapteratlist}{\scr@ds@tocentry}{\thepage}% - }% - }{% - \float@addtolists{% - \protect\contentsline{chapteratlist}{\scr@ds@tocentry}{\thepage}{% - \@currentHref}% - }% - }% - }% - \fi \fi - \fi + }% \expandafter\chaptermark\expandafter{\scr@ds@head}% \ifdim \@chapterlistsgap>\z@ \doforeachtocfile{% @@ -2293,7 +2724,8 @@ \else \let\@tempa\@hangfrom \fi - \@tempa{\ifnum \c@secnumdepth >\m@ne% + \@tempa{% + \ifnumbered{chapter}{% \if@mainmatter \if@chapterprefix \expandafter\size@chapterprefix @@ -2305,13 +2737,21 @@ \size@chapterprefix{}\endgraf\nobreak\vskip.5\baselineskip \fi \fi - \fi + }{}% }% {\raggedsection \interlinepenalty \@M \size@chapter{#1}\par}}% \nobreak\chapterheadendvskip } \newcommand*{\addchaptertocentry}[2]{% \addtocentrydefault{chapter}{#1}{#2}% + \if@chaptertolists + \doforeachtocfile{% + \iftocfeature{\@currext}{chapteratlist}{% + \addxcontentsline{\@currext}{chapteratlist}[{#1}]{#2}% + }{}% + }% + \@ifundefined{float@addtolists}{}{\scr@float@addtolists@warning}% + \fi } \newcommand*{\@schapter}[1]{% \if@twocolumn @@ -2367,26 +2807,6 @@ \@schapter{#2}% \ifx\scr@ds@tocentry\@empty\else \addchaptertocentry{}{\scr@ds@tocentry}% - \if@chaptertolists - \doforeachtocfile{% - \iftocfeature{\@currext}{chapteratlist}{% - \addcontentsline{\@currext}{chapteratlist}{\scr@ds@tocentry}% - }{}% - }% - \@ifundefined{float@addtolists}{}{% - \scr@float@addtolists@warning - \scr@ifundefinedorrelax{@currentHref}{% - \float@addtolists{% - \protect\contentsline{chapteratlist}{\scr@ds@tocentry}{\thepage}% - }% - }{% - \float@addtolists{% - \protect\contentsline{chapteratlist}{\scr@ds@tocentry}{\thepage}{% - \@currentHref}% - }% - }% - }% - \fi \fi \ifnum \@nameuse{scr@v@2.96}<\scr@compatibility\relax \ifdim \@chapterlistsgap>\z@ @@ -2401,15 +2821,9 @@ }% \fi \fi - \if@twoside - \expandafter\@mkboth\expandafter{% - \expandafter\MakeMarkcase\expandafter{\scr@ds@head}}{}% - \else - \expandafter\@mkboth\expandafter{\expandafter}\expandafter{% - \expandafter\MakeMarkcase\expandafter{\scr@ds@head}}% - \fi + \addchapmark{\scr@ds@head}% }% -\newcommand*{\@saddchap}[1]{\@schapter{#1}\@mkboth{}{}}% +\newcommand*{\@saddchap}[1]{\@schapter{#1}\addchapmark{}}% \AfterPackage{hyperref}{% \@ifpackagelater{hyperref}{2001/02/19}{}{% \ClassWarningNoLine{\KOMAClassName}{% @@ -2442,14 +2856,9 @@ \ifx\scr@ds@tocentry\@empty\else \addsectiontocentry{}{\scr@ds@tocentry}% \fi - \if@twoside - \ifx\@mkboth\markboth - \expandafter\markright\expandafter{% - \expandafter\MakeMarkcase{\scr@ds@head}}% - \fi - \fi + \addsecmark{\scr@ds@head}% } -\newcommand*{\@saddsec}[1]{\section*{#1}\@mkboth{}{}} +\newcommand*{\@saddsec}[1]{\section*{#1}\addsecmark{}} \newcommand*{\addsectiontocentry}[2]{% \addtocentrydefault{section}{#1}{#2}% } @@ -2462,14 +2871,16 @@ \newcommand*{\addsubparagraphtocentry}[2]{% \addtocentrydefault{subparagraph}{#1}{#2}% } -\newcommand\section{\@startsection{section}{1}{\z@}% +\newcommand\section{% + \@startsection{section}{\sectionnumdepth}{\z@}% {-3.5ex \@plus -1ex \@minus -.2ex}% {2.3ex \@plus.2ex}% {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax \setlength{\parfillskip}{\z@ plus 1fil}\fi \raggedsection\normalfont\sectfont\nobreak\size@section}% } -\newcommand\subsection{\@startsection{subsection}{2}{\z@}% +\newcommand\subsection{% + \@startsection{subsection}{\subsectionnumdepth}{\z@}% {-3.25ex\@plus -1ex \@minus -.2ex}% {1.5ex \@plus .2ex}% {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax @@ -2477,7 +2888,8 @@ \raggedsection\normalfont\sectfont\nobreak\size@subsection }% } -\newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% +\newcommand\subsubsection{% + \@startsection{subsubsection}{\subsubsectionnumdepth}{\z@}% {-3.25ex\@plus -1ex \@minus -.2ex}% {1.5ex \@plus .2ex}% {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax @@ -2485,12 +2897,14 @@ \raggedsection\normalfont\sectfont\nobreak\size@subsubsection }% } -\newcommand\paragraph{\@startsection{paragraph}{4}{\z@}% +\newcommand\paragraph{% + \@startsection{paragraph}{\paragraphnumdepth}{\z@}% {3.25ex \@plus1ex \@minus.2ex}% {-1em}% {\raggedsection\normalfont\sectfont\nobreak\size@paragraph}% } -\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% +\newcommand\subparagraph{% + \@startsection{subparagraph}{\subparagraphnumdepth}{\parindent}% {3.25ex \@plus1ex \@minus .2ex}% {-1em}% {\raggedsection\normalfont\sectfont\nobreak\size@subparagraph}% @@ -2508,7 +2922,6 @@ \let\raggedsection\raggedright \newcommand*{\raggedpart}{} \let\raggedpart\centering -\newcommand*\sectfont{\normalcolor\sffamily\bfseries} \newkomafont{partentry}{\usekomafont{disposition}\large} \newkomafont{partentrypagenumber}{} \newkomafont{chapterentry}{\usekomafont{disposition}} @@ -2558,9 +2971,15 @@ \if \@tempa u% \set@preamble@vpos{0}{#2}% \fi% + \if \@tempa b% + \set@preamble@vpox{0}{#2}% + \fi \if \@tempa o% \set@preamble@vpos{1}{#2}% \fi% + \if \@tempa t% + \set@preamble@vpos{1}{#2}% + \fi }% \@ifundefined{prmbl@hpos}{\def\prmbl@hpos{0}}{}% \@ifundefined{prmbl@vpos}{\def\prmbl@vpos{0}}{}% @@ -2598,9 +3017,9 @@ \ClassError{\KOMAClassName}{% inconsistent hpos options% }{% - You said `#2' as position option. But you have + You've said `#2' as position option. But you have to\MessageBreak - use only one from `l', `r' or `c' not two of + use only one of `l', `r', or `c' not two of these.\MessageBreak If you'll continue only first hpos option will be used% @@ -2616,9 +3035,9 @@ \ClassError{\KOMAClassName}{% inconsistent vpos options% }{% - You said `#2' as position option. But you have + You've said `#2' as position option. But you have to\MessageBreak - use only one from `o' or `u' not two of + use only one of `t', `o', `b', or `u' not two of these.\MessageBreak If you'll continue only first vpos option will be used% @@ -2724,7 +3143,7 @@ \@dottedtocline{#1}{#2}{#3}{#4}{#5}% \fi } -%%% From File: scrkmisc.dtx +%%% From File: $Id: scrkernel-miscellaneous.dtx 1529 2013-12-03 07:36:57Z mjk $ \newif\if@restonecol \newcommand{\dictum}[2][]{\par% \begingroup @@ -2801,7 +3220,37 @@ \providecommand*{\@textsubscript}[1]{% {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}% } -%%% From File: scrkpage.dtx +\newcommand*{\scr@package@not@recommended}[2]{% + \BeforePackage{#1}{% + \ClassWarning{\KOMAClassName}{% + Usage of package `#1' together\MessageBreak + with a KOMA-Script class is not recommended.\MessageBreak + \if\relax\detokenize{#2}\relax\else + I'd suggest to use #2.\MessageBreak + \fi + Nevertheless, using requested\MessageBreak + package `#1'% + }% + }% +} +\scr@package@not@recommended{emptypage}{% + option\MessageBreak + `cleardoublepage' with one of it's\MessageBreak + several values} +\scr@package@not@recommended{parskip}{% + option\MessageBreak + `parskip' with one of it's several values} +\scr@package@not@recommended{fancyhdr}{% + \MessageBreak + package `scrpage2' or `scrlayer-scrpage'} +\scr@package@not@recommended{titlesec}{% + the package only\MessageBreak + if you really need it, because it breaks several\MessageBreak + KOMA-Script features, i.e., option `headings' and\MessageBreak + the extended optional argument of the section\MessageBreak + commands +} +%%% From File: $Id: scrkernel-pagestyles.dtx 1551 2013-12-16 14:02:13Z mjk $ \newcommand*{\set@tempdima@hw}{% \setlength{\@tempdima}{\textwidth}% \if@mincl @@ -2858,17 +3307,16 @@ \if@twoside\else\hfil\fi}}}}\hss}% \renewcommand*{\chaptermark}[1]{% \if@twoside\expandafter\markboth\else\expandafter\markright\fi - {\MakeMarkcase{\ifnum \c@secnumdepth >\m@ne + {\MakeMarkcase{\ifnumbered{chapter}{% \if@mainmatter \chaptermarkformat \fi - \fi - ##1}}{}% + }{}##1}% + }{}% }% \renewcommand*{\sectionmark}[1]{% \if@twoside - \markright{\MakeMarkcase{\ifnum \c@secnumdepth >\z@ - \sectionmarkformat\fi + \markright{\MakeMarkcase{\ifnumbered{section}{\sectionmarkformat}{}% ##1}}% \fi }% @@ -2913,7 +3361,7 @@ \else \onecolumn \fi -%%% From File: scrkfloa.dtx +%%% From File: $Id: scrkernel-floats.dtx 1502 2013-11-06 11:00:12Z mjk $ \newcommand\marginline[1]{% \marginpar[\raggedleft{#1}]{\raggedright #1}% } @@ -3246,8 +3694,8 @@ \let\scr@tmp@footnotetext=\@footnotetext \let\@footnotetext=\@gobble \sbox\@tempboxa{% - {\capfont{\strut\ignorespaces - #1{{\caplabelfont{#2\captionformat}}}% + {\usekomafont{caption}{\strut\ignorespaces + #1{{\usekomafont{captionlabel}{#2\captionformat}}}% #3\unskip\strut}}% }% \let\@footnotetext=\scr@tmp@footnotetext @@ -3263,23 +3711,25 @@ \hb@xt@\hsize{% \setbox\@tempboxa\vbox{\hsize=\cap@width \ifdofullc@p - {\capfont{\@hangfrom{\scr@smashdp{\strut\ignorespaces - #1{{\caplabelfont{#2\captionformat}}}}}% + {\usekomafont{caption}{\@hangfrom{\scr@smashdp{\strut\ignorespaces + #1{{\usekomafont{captionlabel}{#2\captionformat}}}}}% {#3\unskip\strut\par}}}% \else% \ifdim\cap@indent<\z@ - {\capfont{\strut\ignorespaces - #1{{\caplabelfont{#2\captionformat\par}}}% + {\usekomafont{caption}{\strut\ignorespaces + #1{{\usekomafont{captionlabel}{#2\captionformat\par}}}% \noindent\hspace*{-\cap@indent}#3\unskip\strut\par}}% \else% \if@capbreak - {\capfont{\strut\ignorespaces - #1{{\caplabelfont{#2\captionformat\par}}}% + {\usekomafont{caption}{\strut\ignorespaces + #1{{\usekomafont{captionlabel}{#2\captionformat\par}}}% \noindent\@hangfrom{\hspace*{\cap@indent}}{#3\par}}}% \else - {\capfont{\@hangfrom{\scr@smashdp\strut\hspace*{\cap@indent}}% + {\usekomafont{caption}{% + \@hangfrom{\scr@smashdp\strut\hspace*{\cap@indent}}% {\hspace{-\cap@indent}\scr@smashdp{\ignorespaces#1% - {{\caplabelfont{#2\captionformat}}}}#3\unskip\strut\par}}}% + {{\usekomafont{captionlabel}{% + #2\captionformat}}}}#3\unskip\strut\par}}}% \fi \fi \fi @@ -3296,11 +3746,12 @@ \else \global \@minipagefalse \sbox\@tempboxa{% - {\capfont{\scr@smashdp{\strut\ignorespaces - #1{{\caplabelfont{#2\captionformat}}}}% + {\usekomafont{caption}{\scr@smashdp{\strut\ignorespaces + #1{{\usekomafont{captionlabel}{#2\captionformat}}}}% #3}}% }% - {\capfont{\hb@xt@\hsize{\strut\cap@left\box\@tempboxa\cap@right\strut}}}% + {\usesizeofkomafont{caption}{% + \hb@xt@\hsize{\strut\cap@left\box\@tempboxa\cap@right\strut}}}% \fi \endgroup } @@ -3424,14 +3875,14 @@ \newenvironment{figure}{% \if@figurecaptionabove\let\caption\captionabove \else\let\caption\captionbelow\fi - \let\caption\captionbelow\@float{figure}% + \@float{figure}% }{% \end@float } \newenvironment{figure*}{% \if@figurecaptionabove\let\caption\captionabove \else\let\caption\captionbelow\fi - \let\caption\captionbelow\@dblfloat{figure}% + \@dblfloat{figure}% }{% \end@dblfloat } @@ -3466,7 +3917,7 @@ }{% \end@dblfloat } -%%% From File: scrkftn.dtx +%%% From File: $Id: scrkernel-footnotes.dtx 1380 2013-10-01 15:31:55Z mjk $ \renewcommand*\footnoterule{% \normalsize\ftn@rule@test@values \kern-\dimexpr 2.6\p@+\ftn@rule@height\relax @@ -3604,7 +4055,7 @@ \endgroup \@footnotemark } -%%% From File: scrkliof.dtx +%%% From File: $Id: scrkernel-listsof.dtx 1522 2013-11-22 08:11:42Z mjk $ \doforeachtocfile[float]{% \setuptoc{\@currext}{chapteratlist}% } @@ -3613,12 +4064,14 @@ } \renewcommand*{\numberline}[1]{% \numberline@box{% - \numberline@prefix\numberline@numberformat{#1}\numberline@postfix + \numberline@prefix + \ifstr{#1}{}{#1}{\numberline@numberformat{#1}}% + \numberline@postfix }% } \newcommand*{\numberline@prefix}{} \newcommand*{\numberline@postfix}{\hfil} -\newcommand*{\numberline@numberformat}[1]{#1\autodot} +\newcommand*{\numberline@numberformat}[1]{\ifstr{#1}{}{}{#1\autodot}} \newcommand*{\numberline@box}[1]{\hb@xt@\@tempdima{#1}} \newcommand*\@pnumwidth{1.55em} \newcommand*\@tocrmarg {2.55em} @@ -3683,11 +4136,7 @@ \begingroup\let\if@dynlist\if@tocleft\listoftoc{toc}\endgroup } \newcommand{\addtocentrydefault}[3]{% - \ifstr{#2}{}{% - \addcontentsline{toc}{#1}{#3}% - }{% - \addcontentsline{toc}{#1}{\protect\numberline{#2}#3}% - }% + \tocbasic@addxcontentsline{toc}{#1}{#2}{#3}% } \newcommand*{\float@listhead}[1]{% \scr@float@listhead@warning @@ -3703,21 +4152,34 @@ } \newcommand*{\scr@float@listhead@warning}{% \ClassWarning{\KOMAClassName}{% - Usage of deprecated \string\float@listhead!\MessageBreak - You should use the features of package `tocbasic'\MessageBreak - instead of \string\float@listhead.\MessageBreak - Definition of \string\float@listhead\space my be removed from\MessageBreak - `\KOMAClassName' soon, so it should not be used + \string\float@listhead\space detected!\MessageBreak + Implementation of \string\float@listhead\space became\MessageBreak + deprecated in KOMA-Script v3.01 2008/11/14 and\MessageBreak + has been replaced by more several more flexible\MessageBreak + features of package `tocbasic`.\MessageBreak + Maybe implementation of \string\float@listhead\space will\MessageBreak + be removed from KOMA-Script soon.\MessageBreak + Loading of package `scrhack' may help to\MessageBreak + avoid this warning, if you are using a\MessageBreak + a package that still implements the\MessageBreak + deprecated \string\float@listhead\space interface }% } \newcommand*{\scr@float@addtolists@warning}{% \ClassWarningNoLine{\KOMAClassName}{% \string\float@addtolists\space detected!\MessageBreak - You should use the features of package `tocbasic'\MessageBreak - instead of \string\float@addtolists.\MessageBreak - Support for \string\float@addtolists\space may be removed - from\MessageBreak - `\KOMAClassName' soon + Implementation of \string\float@addtolist\space became\MessageBreak + deprecated in KOMA-Script v3.01 2008/11/14 and\MessageBreak + has been replaced by more several more flexible\MessageBreak + features of package `tocbasic`.\MessageBreak + Since Version 3.12 support for deprecated\MessageBreak + \string\float@addtolist\space interface has been\MessageBreak + restricted to only some of the KOMA-Script\MessageBreak + features and been removed from others.\MessageBreak + Loading of package `scrhack' may help to\MessageBreak + avoid this warning, if you are using a\MessageBreak + a package that still implements the\MessageBreak + deprecated \string\float@addtolist\space interface }% \global\let\scr@float@addtolists@warning\relax } @@ -3731,7 +4193,7 @@ \newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} \newcommand*\listoftables{\listoftoc{lot}} \let\l@table\l@figure -%%% From File: scrkbib.dtx +%%% From File: $Id: scrkernel-bibliography.dtx 1380 2013-10-01 15:31:55Z mjk $ \newcommand*\bibname{Bibliography} \newcommand*{\bibpreamble}{\relax} \let\bibpreamble\relax @@ -3816,13 +4278,15 @@ } \newcommand{\AfterBibliographyPreamble}{\g@addto@macro\bib@before@hook} \newcommand{\AtEndBibliography}{\g@addto@macro\bib@after@hook} -%%% From File: scrkidx.dtx +%%% From File: $Id: scrkernel-index.dtx 1380 2013-10-01 15:31:55Z mjk $ \newcommand*{\index@preamble}{} \let\index@preamble=\relax \newcommand{\setindexpreamble}[1]{\def\index@preamble{#1}} \newcommand*{\idx@heading}{% \if@openright\cleardoublepage\else\clearpage\fi% - \twocolumn[\idx@@heading{\indexname}]% + \twocolumn[% + \@chaptertolistsfalse + \idx@@heading{\indexname}]% \@mkboth{\MakeMarkcase{\indexname}}{\MakeMarkcase{\indexname}}% } \newenvironment{theindex}{% @@ -3849,7 +4313,7 @@ \par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax } \newcommand*\indexname{Index} -%%% From File: scrklist.dtx +%%% From File: $Id: scrkernel-listsandtabulars.dtx 1502 2013-11-06 11:00:12Z mjk $ \if@twocolumn \setlength{\leftmargini}{2em} \else @@ -3954,8 +4418,22 @@ \newenvironment{addmargin*}{% \@tempswafalse \if@twoside\ifthispageodd{}{\@tempswatrue}\fi + \edef\scr@addmargin@startpage{\csname tpo@\scr@tpo\endcsname}% \@addmargin }{% + \unskip\nobreak\ifthispageodd{}{}% + \expandafter\ifx\csname tpo@\scr@tpo\endcsname\scr@addmargin@startpage\else + \ClassWarning{\KOMAClassName}{% + page break inside `addmargin*' environment.\MessageBreak + A `addmargin*' environment starting on page + \scr@addmargin@startpage\MessageBreak + ends on page \csname tpo@\scr@tpo\endcsname.\MessageBreak + This will result in potential wrong margins on\MessageBreak + every other page.\MessageBreak + So maybe you should change the `addmargin*'\MessageBreak + environment, that ends% + }% + \fi \advance\@listdepth\@ne \endlist } @@ -3986,7 +4464,7 @@ \newcommand*{\scr@fnt@descriptionlabel}{\descfont} \newkomafont{labelinglabel}{} \newkomafont{labelingseparator}{} -%%% From File: scrlogo.dtx +%%% From File: $Id: scrlogo.dtx 1380 2013-10-01 15:31:55Z mjk $ \@ifundefined{KOMAScript}{% \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% M\kern.05em A\kern.1em-\kern.1em Script}}}{} diff --git a/Master/texmf-dist/tex/latex/koma-script/scrdate.sty b/Master/texmf-dist/tex/latex/koma-script/scrdate.sty index 05e1a2c3ef5..12e566fb90c 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrdate.sty +++ b/Master/texmf-dist/tex/latex/koma-script/scrdate.sty @@ -1,18 +1,17 @@ %% %% This is file `scrdate.sty', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `package,scrdate') +%% scrkernel-version.dtx (with options: `package,scrdate') %% scrtime.dtx (with options: `package,scrdate,identify') -%% scrkbase.dtx (with options: `load') +%% scrkernel-basics.dtx (with options: `load') %% scrtime.dtx (with options: `package,scrdate,option') %% scrtime.dtx (with options: `package,scrdate,body') %% scrlogo.dtx (with options: `logo') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -44,9 +43,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -66,17 +65,18 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup -%%% From File: scrtime.dtx -\NeedsTeXFormat{LaTeX2e}[1995/12/01] +%%% From File: $Id: scrtime.dtx 1383 2013-10-01 15:44:28Z mjk $ +\NeedsTeXFormat{LaTeX2e}[1995/06/01] \ProvidesPackage{scrdate}[% - \KOMAScriptVersion\space package (% - day of the week)] -%%% From File: scrkbase.dtx + 2011/03/31 v3.08b KOMA-Script package + (day of the week)% +] +%%% From File: $Id: scrkernel-basics.dtx 1502 2013-11-06 11:00:12Z mjk $ \RequirePackage{scrkbase}[\KOMAScriptVersion] -%%% From File: scrtime.dtx -%%% From File: scrtime.dtx +%%% From File: $Id: scrtime.dtx 1383 2013-10-01 15:44:28Z mjk $ +%%% From File: $Id: scrtime.dtx 1383 2013-10-01 15:44:28Z mjk $ \newcommand*{\CenturyPart}[1]{\XdivY{#1}{100}} \newcommand*{\DecadePart}[1]{\XmodY{#1}{100}} \newcommand*{\@GaussYear}[3]{% @@ -213,7 +213,7 @@ * Local config file scrdate.cfg used^^J% *************************************}} {} -%%% From File: scrlogo.dtx +%%% From File: $Id: scrlogo.dtx 1380 2013-10-01 15:31:55Z mjk $ \@ifundefined{KOMAScript}{% \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% M\kern.05em A\kern.1em-\kern.1em Script}}}{} diff --git a/Master/texmf-dist/tex/latex/koma-script/scrextend.sty b/Master/texmf-dist/tex/latex/koma-script/scrextend.sty index b4be678a478..ec03d9c0029 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrextend.sty +++ b/Master/texmf-dist/tex/latex/koma-script/scrextend.sty @@ -1,37 +1,36 @@ %% %% This is file `scrextend.sty', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% %% scrextend.dtx (with options: `package,extend,preidentify') -%% scrkvers.dtx (with options: `package,extend') +%% scrkernel-version.dtx (with options: `package,extend') %% scrextend.dtx (with options: `package,extend,identify,prepare') -%% scrkbase.dtx (with options: `load') +%% scrkernel-basics.dtx (with options: `load') %% scrextend.dtx (with options: `package,extend,option') -%% scrkcomp.dtx (with options: `package,extend,option') -%% scrkmisc.dtx (with options: `package,extend,option') -%% scrkfont.dtx (with options: `package,extend,option') -%% scrktitl.dtx (with options: `package,extend,option') -%% scrksect.dtx (with options: `package,extend,option') -%% scrkpage.dtx (with options: `package,extend,option') -%% scrkfloa.dtx (with options: `package,extend,option') -%% scrkftn.dtx (with options: `package,extend,option') -%% scrklist.dtx (with options: `package,extend,option') -%% scrkmisc.dtx (with options: `package,extend,execoption') -%% scrkcomp.dtx (with options: `package,extend,body') -%% scrkfont.dtx (with options: `package,extend,body') -%% scrktitl.dtx (with options: `package,extend,body') -%% scrksect.dtx (with options: `package,extend,body') -%% scrkmisc.dtx (with options: `package,extend,body') -%% scrkpage.dtx (with options: `package,extend,body') -%% scrkfloa.dtx (with options: `package,extend,body') -%% scrkftn.dtx (with options: `package,extend,body') -%% scrklist.dtx (with options: `package,extend,body') +%% scrkernel-compatibility.dtx (with options: `package,extend,option') +%% scrkernel-miscellaneous.dtx (with options: `package,extend,option') +%% scrkernel-fonts.dtx (with options: `package,extend,option') +%% scrkernel-title.dtx (with options: `package,extend,option') +%% scrkernel-sections.dtx (with options: `package,extend,option') +%% scrkernel-pagestyles.dtx (with options: `package,extend,option') +%% scrkernel-floats.dtx (with options: `package,extend,option') +%% scrkernel-footnotes.dtx (with options: `package,extend,option') +%% scrkernel-listsandtabulars.dtx (with options: `package,extend,option') +%% scrkernel-miscellaneous.dtx (with options: `package,extend,execoption') +%% scrkernel-compatibility.dtx (with options: `package,extend,body') +%% scrkernel-fonts.dtx (with options: `package,extend,body') +%% scrkernel-title.dtx (with options: `package,extend,body') +%% scrkernel-sections.dtx (with options: `package,extend,body') +%% scrkernel-miscellaneous.dtx (with options: `package,extend,body') +%% scrkernel-pagestyles.dtx (with options: `package,extend,body') +%% scrkernel-floats.dtx (with options: `package,extend,body') +%% scrkernel-footnotes.dtx (with options: `package,extend,body') +%% scrkernel-listsandtabulars.dtx (with options: `package,extend,body') %% scrlogo.dtx (with options: `logo') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -63,7 +62,7 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrextend.dtx +%%% From File: $Id: scrextend.dtx 1380 2013-10-01 15:31:55Z mjk $ \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname KOMAClassName\endcsname\relax\else \PackageWarning{scrextend}{% @@ -75,9 +74,9 @@ }% \expandafter\endinput \fi -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -97,9 +96,9 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup -%%% From File: scrextend.dtx +%%% From File: $Id: scrextend.dtx 1380 2013-10-01 15:31:55Z mjk $ \ProvidesPackage{scrextend}[\KOMAScriptVersion\space KOMA-Script package (extend other classes with features of KOMA-Script classes)] \newcommand*{\scr@ext@activate}[1]{% @@ -123,9 +122,9 @@ \expandafter\g@addto@macro\csname scr@ext@activate@#1\endcsname }% } -%%% From File: scrkbase.dtx +%%% From File: $Id: scrkernel-basics.dtx 1502 2013-11-06 11:00:12Z mjk $ \RequirePackage{scrkbase}[\KOMAScriptVersion] -%%% From File: scrextend.dtx +%%% From File: $Id: scrextend.dtx 1380 2013-10-01 15:31:55Z mjk $ \KOMA@key{extendedfeature}{% \scr@ext@activate{#1}% \AtEndOfPackage{% @@ -143,16 +142,10 @@ } \AtEndOfPackage{% \KOMA@key{extendedfeature}{% - \PackageError{scrextend}{% - Option `extendedfeature' too late% - }{% - Option `extendedfeature' my be used only while loading the - package.\MessageBreak - But you've tried to set it up later% - }% + \def\FamilyKeyState{Option `extendedfeature' too late}% }% } -%%% From File: scrkcomp.dtx +%%% From File: $Id: scrkernel-compatibility.dtx 1512 2013-11-11 10:35:04Z mjk $ \providecommand* {\scr@compatibility}{\scr@v@last} \KOMA@key{version}[last]{% @@ -170,6 +163,7 @@ Switching compatibility level to `#1'% }% \edef\scr@compatibility{\@nameuse{scr@v@#1}}% + \FamilyKeyStateProcessed }% } \AtEndOfPackage{% @@ -183,6 +177,7 @@ package.\MessageBreak But you've tried to set it up later.% }% + \FamilyKeyStateProcessed }% } \@namedef{scr@v@first}{0} @@ -232,20 +227,23 @@ \@namedef{scr@v@3.11}{10} \@namedef{scr@v@3.11a}{10} \@namedef{scr@v@3.11b}{10} -\@namedef{scr@v@last}{10} -%%% From File: scrkmisc.dtx +\@namedef{scr@v@3.12}{11} +\@namedef{scr@v@last}{11} +%%% From File: $Id: scrkernel-miscellaneous.dtx 1529 2013-12-03 07:36:57Z mjk $ \KOMA@key{draft}[true]{% \KOMA@set@ifkey{draft}{@tempswa}{#1}% - \if@tempswa - \setlength{\overfullrule}{5pt}% - \else - \setlength{\overfullrule}{\z@}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \if@tempswa + \setlength{\overfullrule}{5pt}% + \else + \setlength{\overfullrule}{\z@}% + \fi \fi } \KOMA@DeclareStandardOption [scrextend] {final}{draft=false} -%%% From File: scrkfont.dtx +%%% From File: $Id: scrkernel-fonts.dtx 1483 2013-10-31 15:12:30Z mjk $ \providecommand*{\@fontsizefilebase}{scrsize} \KOMA@key{fontsize}{% \expandafter\@defaultunits\expandafter\@tempdima#1 pt\relax\@nnil @@ -276,14 +274,31 @@ }{% \@tempa }% + \FamilyKeyStateProcessed } -%%% From File: scrktitl.dtx +%%% From File: $Id: scrkernel-title.dtx 1517 2013-11-21 13:02:39Z mjk $ \scr@ext@activateable{title}{% \scr@ifundefinedorrelax{if@titlepage}{% \expandafter\newif\csname if@titlepage\endcsname \@titlepagefalse - }{} -\KOMA@ifkey{titlepage}{@titlepage}% + }{}% + \scr@ifundefinedorrelax{if@titlepageiscoverpage}{% + \expandafter\newif\csname if@titlepageiscoverpage\endcsname + \@titlepageiscoverpagefalse + }{}% +\KOMA@key{titlepage}[true]{% + \ifstr{##1}{firstiscover}{% + \@titlepagetrue + \@titlepageiscoverpagetrue + \FamilyKeyStateProcessed + }{% + \def\FamilyElseValue{, `firstiscover'}% + \KOMA@set@ifkey{titlepage}{@titlepage}{##1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \@titlepageiscoverpagefalse + \fi + }% +} \def\scr@ext@immediate@title{% \scr@ext@activate{title}% \let\scr@ext@immediate@title\relax @@ -292,8 +307,9 @@ \KOMA@DeclareStandardOption% [scrextend]% {notitlepage}{titlepage=false} -%%% From File: scrksect.dtx -%%% From File: scrkpage.dtx +%%% From File: $Id: scrkernel-sections.dtx 1552 2013-12-16 16:51:32Z mjk $ +\newcommand*{\sectfont}{\normalcolor\sffamily\bfseries} +%%% From File: $Id: scrkernel-pagestyles.dtx 1551 2013-12-16 14:02:13Z mjk $ \KOMA@key{cleardoublepage}{% \begingroup% \def\@tempc{% @@ -306,6 +322,7 @@ \def\cleardoublepage{\cleardoublestandardpage}% \def\cleardoubleoddpage{\cleardoubleoddstandardpage}% \def\cleardoubleevenpage{\cleardoubleevenstandardpage}% + \FamilyKeyStateProcessed }% }{% \ifnotundefined{ps@#1}{% @@ -313,6 +330,7 @@ \def\cleardoublepage{\cleardoublepageusingstyle{#1}}% \def\cleardoubleoddpage{\cleardoubleoddpageusingstyle{#1}}% \def\cleardoubleevenpage{\cleardoubleevenpageusingstyle{#1}}% + \FamilyKeyStateProcessed }% }{}% }% @@ -348,8 +366,8 @@ {\pagestyle{#1}\cleardoublestandardpage}} \newcommand*{\cleardoubleemptypage}{\cleardoublepageusingstyle{empty}} \newcommand*{\cleardoubleplainpage}{\cleardoublepageusingstyle{plain}} -%%% From File: scrkfloa.dtx -%%% From File: scrkftn.dtx +%%% From File: $Id: scrkernel-floats.dtx 1502 2013-11-06 11:00:12Z mjk $ +%%% From File: $Id: scrkernel-footnotes.dtx 1380 2013-10-01 15:31:55Z mjk $ \KOMA@key{footnotes}{% \ifx\@footnotemark\scr@saved@footnotemark \else @@ -367,11 +385,13 @@ \let\@footnotemark\scr@footnotemark \def\FN@mf@prepare{\scr@mf@prepare}% \def\scr@footmisc@options{multiple}% + \FamilyKeyStateProcessed }{% \ifstr{#1}{nomultiple}{% \let\@footnotemark\scr@saved@footnotemark \let\FN@mf@prepare\relax \let\scr@footmisc@options\@empty + \FamilyKeyStateProcessed }{% \KOMA@unknown@keyval{footnotes}{#1}{`multiple' and `nomultiple'}% }% @@ -394,11 +414,46 @@ \csname FN@mf@prepare\endcsname \ifhmode\spacefactor\@x@sf\fi \relax} -%%% From File: scrklist.dtx -%%% From File: scrkmisc.dtx +%%% From File: $Id: scrkernel-listsandtabulars.dtx 1502 2013-11-06 11:00:12Z mjk $ +%%% From File: $Id: scrkernel-miscellaneous.dtx 1529 2013-12-03 07:36:57Z mjk $ \KOMAProcessOptions\relax -%%% From File: scrkcomp.dtx -%%% From File: scrkfont.dtx +%%% From File: $Id: scrkernel-compatibility.dtx 1512 2013-11-11 10:35:04Z mjk $ +%%% From File: $Id: scrkernel-fonts.dtx 1483 2013-10-31 15:12:30Z mjk $ +\newcommand*\scr@setlength[4]{% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{#1}{#2 \@plus#3 \@minus#4}% + \else + \ifdim #2<\ifdim #2=\z@ \z@ \else \p@\fi + \ifdim #3<\ifdim #3=\z@ \z@ \else \p@\fi + \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi + \setlength{#1}{\p@ \@plus\p@ \@minus\p@}% + \else + \setlength{#1}{\p@ \@plus\p@ \@minus#4}% + \fi + \else + \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi + \setlength{#1}{\p@ \@plus#3 \@minus\p@}% + \else + \setlength{#1}{\p@ \@plus#3 \@minus#4}% + \fi + \fi + \else + \ifdim #3<\ifdim #3=\z@ \z@ \else \p@\fi + \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi + \setlength{#1}{#2 \@plus\p@ \@minus\p@}% + \else + \setlength{#1}{#2 \@plus\p@ \@minus#4}% + \fi + \else + \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi + \setlength{#1}{#2 \@plus#3 \@minus\p@}% + \else + \setlength{#1}{#2 \@plus#3 \@minus#4}% + \fi + \fi + \fi + \fi +} \newcommand*{\changefontsizes}[2][1.2\@tempdima]{% \PackageWarning{scrextend}{% Using fallback calculation to setup font sizes\MessageBreak @@ -422,12 +477,20 @@ \setlength{\@tempdimc}{\@tempdima}% \def\@tempa##1##2##3##4##5\@nnil{\def##1{##2.##3##4}}% \expandafter\@tempa\expandafter\@tempb\@tempb\@nnil% - \setlength{\abovedisplayskip}{% - \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% - \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\abovedisplayskip}{% + \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% + \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \setlength{\belowdisplayshortskip}{% + .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% + \else + \scr@setlength{\abovedisplayskip}% + {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}% + \scr@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}% + \scr@setlength{\belowdisplayshortskip}% + {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}% + \fi \setlength{\belowdisplayskip}{\abovedisplayskip}% - \setlength{\belowdisplayshortskip}{% - .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% \edef\normalsize{% \noexpand\@setfontsize\noexpand\normalsize {\the\@tempdima}{\the\@tempdimb}% @@ -439,12 +502,20 @@ }% \setlength{\@tempdima}{0.9125\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% - \setlength{\abovedisplayskip}{% - \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% - \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\abovedisplayskip}{% + \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% + \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \setlength{\belowdisplayshortskip}{% + .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% + \else + \scr@setlength{\abovedisplayskip}% + {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}% + \scr@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}% + \scr@setlength{\belowdisplayshortskip}% + {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}% + \fi \setlength{\belowdisplayskip}{\abovedisplayskip}% - \setlength{\belowdisplayshortskip}{% - .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% \edef\small{% \noexpand\@setfontsize\noexpand\small {\the\@tempdima}{\the\@tempdimb}% @@ -456,12 +527,20 @@ }% \setlength{\@tempdima}{.83334\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% - \setlength{\abovedisplayskip}{% - \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% - \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\abovedisplayskip}{% + \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% + \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \setlength{\belowdisplayshortskip}{% + .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% + \else + \scr@setlength{\abovedisplayskip}% + {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}% + \scr@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}% + \scr@setlength{\belowdisplayshortskip}% + {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}% + \fi \setlength{\belowdisplayskip}{\abovedisplayskip}% - \setlength{\belowdisplayshortskip}{% - .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% \edef\footnotesize{% \noexpand\@setfontsize\noexpand\footnotesize {\the\@tempdima}{\the\@tempdimb}% @@ -514,29 +593,37 @@ {\the\@tempdima}{\the\@tempdimb}% }% \normalsize - \setlength{\footnotesep}{.7\@tempdimc}% - \setlength{\skip\footins}{.9\@tempdimc \@plus .3333\@tempdimc \@minus - .6\@tempdimc}% - \setlength{\floatsep}{\@tempdimc \@plus .1667\@tempdimc \@minus - .3333\@tempdimc}% - \setlength{\textfloatsep}{1.6667\@tempdimc \@plus .1667\@tempdimc \@minus - .3333\@tempdimc}% - \setlength{\intextsep}{\@tempb\@tempdimc \@plus .3333\@tempdimc \@minus - .3333\@tempdimc}% - \setlength{\dblfloatsep}{\@tempb\@tempdimc \@plus .1667\@tempdimc \@minus - .3333\@tempdimc}% - \setlength{\dbltextfloatsep}{\textfloatsep}% - \setlength{\@fptop}{0\p@ \@plus 1fil}% - \setlength{\@fpsep}{.8333\@tempdimc \@plus 2fil}% - \setlength{\@fpbot}{\@fptop}% - \setlength{\@dblfptop}{0\p@ \@plus 1fil}% - \setlength{\@dblfpsep}{.8333\@tempdimc \@plus 2fil}% - \setlength{\@dblfpbot}{\@fptop}% - \setlength{\partopsep}{.25\@tempdimc \@plus .16667\@tempdimc \@minus - .16667\@tempdimc}% - \setlength{\topsep}{.8333\@tempdimc \@plus .3333\@tempdimc \@minus - .5\@tempdimc}% - \setlength{\parsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\footnotesep}{.7\@tempdimc}% + \setlength{\skip\footins}{.9\@tempdimc \@plus .3333\@tempdimc \@minus + .6\@tempdimc}% + \setlength{\floatsep}{\@tempdimc \@plus .1667\@tempdimc \@minus + .3333\@tempdimc}% + \setlength{\textfloatsep}{1.6667\@tempdimc \@plus .1667\@tempdimc \@minus + .3333\@tempdimc}% + \setlength{\intextsep}{\@tempb\@tempdimc \@plus .3333\@tempdimc \@minus + .3333\@tempdimc}% + \setlength{\dblfloatsep}{\@tempb\@tempdimc \@plus .1667\@tempdimc \@minus + .3333\@tempdimc}% + \setlength{\dbltextfloatsep}{\textfloatsep}% + \setlength{\@fptop}{0\p@ \@plus 1fil}% + \setlength{\@fpsep}{.8333\@tempdimc \@plus 2fil}% + \setlength{\@fpbot}{\@fptop}% + \setlength{\@dblfptop}{0\p@ \@plus 1fil}% + \setlength{\@dblfpsep}{.8333\@tempdimc \@plus 2fil}% + \setlength{\@dblfpbot}{\@fptop}% + \fi + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\topsep}{.8333\@tempdimc \@plus .3333\@tempdimc \@minus + .5\@tempdimc}% + \setlength{\parsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% + \else + \setlength{\@tempdimb}{\f@baselineskip}% + \scr@setlength{\parsep}% + {.3333\@tempdimb}{.1667\@tempdimb}{.0833\@tempdimb}% + \scr@setlength{\topsep}% + {.6667\@tempdimb}{.1667\@tempdimb}{.3333\@tempdimb}% + \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% @@ -549,9 +636,16 @@ \if@tempswa\noexpand\@list@extra\fi }% \let\@listI\@listi - \setlength{\topsep}{.75\@tempdimc \@plus .25\@tempdimc \@minus - .41667\@tempdimc}% - \setlength{\parsep}{.375\@tempdimc \@plus .16667\@tempdimc \@minus \p@}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\topsep}{.75\@tempdimc \@plus .25\@tempdimc \@minus + .41667\@tempdimc}% + \setlength{\parsep}{.375\@tempdimc \@plus .16667\@tempdimc \@minus \p@}% + \else + \scr@setlength{\parsep}% + {.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}% + \scr@setlength{\topsep}% + {.3333\@tempdimb}{.1667\@tempdimb}{.1667\@tempdimb}% + \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% @@ -563,9 +657,16 @@ \itemsep \parsep \if@tempswa\noexpand\@list@extra\fi }% - \setlength{\topsep}{.5\@tempdimc \@plus .16667\@tempdimc \@minus - .16667\@tempdimc}% - \setlength{\parsep}{.25\@tempdimc \@plus .16667\@tempdimc \@minus \p@}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\topsep}{.5\@tempdimc \@plus .16667\@tempdimc \@minus + .16667\@tempdimc}% + \setlength{\parsep}{.25\@tempdimc \@plus .16667\@tempdimc \@minus \p@}% + \else + \scr@setlength{\parsep}% + {.125\@tempdimb}{.0625\@tempdimb}{.0625\@tempdimb}% + \scr@setlength{\topsep}% + {.25\@tempdimb}{.125\@tempdimb}{.125\@tempdimb}% + \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% @@ -577,8 +678,15 @@ \itemsep \parsep \if@tempswa\noexpand\@list@extra\fi }% - \setlength{\topsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% - \setlength{\parsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\topsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% + \setlength{\parsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% + \else + \scr@setlength{\parsep}% + {.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}% + \scr@setlength{\topsep}% + {.3333\@tempdimb}{.1667\@tempdimb}{.0833\@tempdimb}% + \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% @@ -591,8 +699,13 @@ \itemsep \parsep \if@tempswa\noexpand\@list@extra\fi }% - \setlength{\topsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% - \setlength{\parsep}{\p@ \@plus\z@ \@minus\p@}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\topsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% + \else + \scr@setlength{\topsep}% + {.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}% + \fi + \setlength{\partopsep}{\z@ \@plus\z@ \@minus\p@}% \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% @@ -602,7 +715,7 @@ \labelwidth=\dimexpr \leftmargin-\labelsep \topsep \the\topsep \parsep \z@ - \partopsep \the\parsep + \partopsep \the\partopsep \itemsep \topsep \if@tempswa\noexpand\@list@extra\fi }% @@ -612,7 +725,7 @@ \csname @listiv\endcsname \endgroup \edef\@listiv{\leftmargin\leftmarginiv - \labelwidth=\dimexpr \leftmargin-\labelsep + \labelwidth=\dimexpr \leftmargin-\labelsep\relax \if@tempswa\noexpand\@list@extra\fi }% \@tempswafalse @@ -621,7 +734,7 @@ \csname @listv\endcsname \endgroup \edef\@listv{\leftmargin\leftmarginv - \labelwidth=\dimexpr \leftmargin-\labelsep + \labelwidth=\dimexpr \leftmargin-\labelsep\relax \if@tempswa\noexpand\@list@extra\fi }% \@tempswafalse @@ -630,18 +743,39 @@ \csname @listvi\endcsname \endgroup \edef\@listvi{\leftmargin\leftmarginvi - \labelwidth=\dimexpr \leftmargin-\labelsep + \labelwidth=\dimexpr \leftmargin-\labelsep\relax \if@tempswa\noexpand\@list@extra\fi }% \@listi - \setlength{\@tempdimb}{\@tempb\@tempdima}% - \setlength{\@tempdima}{\dimexpr \@tempdimb-\@tempdimc}% - \setlength\intextsep{\@tempdimb \@plus.2\@tempdima \@minus.2\@tempdima}% - \setlength\dblfloatsep\intextsep - \setlength\partopsep{.2\@tempdimc \@plus.1\@tempdimc \@minus.1\@tempdimc}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\@tempdimb}{\@tempb\@tempdima}% + \setlength{\@tempdima}{\dimexpr \@tempdimb-\@tempdimc}% + \setlength\intextsep{\@tempdimb \@plus.2\@tempdima \@minus.2\@tempdima}% + \setlength\dblfloatsep\intextsep + \setlength\partopsep{.2\@tempdimc \@plus.1\@tempdimc \@minus.1\@tempdimc}% + \else + \setlength{\@tempdimb}{\f@baselineskip}% + \setlength{\footnotesep}{.555\@tempdimb}% + \scr@setlength{\skip\footins}% + {.75\@tempdimb}{.3333\@tempdimb}{.1667\@tempdimb}% + \scr@setlength{\floatsep}% + {\@tempdimb}{.1667\@tempdimb}{.1667\@tempdimb}% + \scr@setlength{\textfloatsep}% + {1.6667\@tempdimb}{.1667\@tempdimb}{.3333\@tempdimb}% + \setlength{\intextsep}{\floatsep}% + \setlength{\dblfloatsep}{\floatsep}% + \setlength{\dbltextfloatsep}{\textfloatsep}% + \setlength{\@fptop}{\z@ \@plus 1fil}% + \setlength{\@fpsep}{.6667\@tempdimb \@plus 2fil}% + \setlength{\@fpbot}{\@fptop}% + \setlength{\@dblfptop}{\@fptop}% + \setlength{\@dblfpsep}{\@fpsep}% + \setlength{\@dblfpbot}{\@fptop}% + \scr@setlength{\partopsep}{.2\@tempdimb}{.1\@tempdimb}{.1\@tempdimb}% + \fi }% } -%%% From File: scrktitl.dtx +%%% From File: $Id: scrkernel-title.dtx 1517 2013-11-21 13:02:39Z mjk $ \scr@ext@addto@activateable{title}{% \newcommand*{\@extratitle}{}% \newcommand{\extratitle}[1]{\gdef\@extratitle{% @@ -675,14 +809,61 @@ \newcommand{\dedication}[1]{\gdef\@dedication{% ##1% }}% -\newcommand*{\next@tpage}{\clearpage\thispagestyle{empty}}% +\newcommand*{\next@tpage}{% + \@thanks\global\let\@thanks\@empty + \clearpage + \csname titlepage@restore\endcsname + \thispagestyle{empty}% + \let\footnote\thanks + \setcounter{footnote}{0}% +} +\newcommand*{\next@tdpage}{% + \next@tpage\if@twoside \ifodd\value{page}\else\null\next@tpage\fi\fi +} \let\maketitle\relax\let\@maketitle\relax \newcommand*\maketitle[1][1]{% + \expandafter\ifnum \csname scr@v@3.12\endcsname>\scr@compatibility\relax + \else + \def\and{% + \end{tabular}% + \hskip 1em \@plus.17fil% + \begin{tabular}[t]{c}% + }% + \fi \if@titlepage \begin{titlepage} \setcounter{page}{% ##1% }% + \if@titlepageiscoverpage + \edef\titlepage@restore{% + \noexpand\endgroup + \noexpand\global\noexpand\@colht\the\@colht + \noexpand\global\noexpand\@colroom\the\@colroom + \noexpand\global\vsize\the\vsize + \noexpand\global\noexpand\@titlepageiscoverpagefalse + \noexpand\let\noexpand\titlepage@restore\noexpand\relax + }% + \begingroup + \topmargin=\dimexpr \coverpagetopmargin-1in\relax + \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax + \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax + \textwidth=\dimexpr + \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax + \textheight=\dimexpr + \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax + \headheight=0pt + \headsep=0pt + \footskip=\baselineskip + \@colht=\textheight + \@colroom=\textheight + \vsize=\textheight + \columnwidth=\textwidth + \hsize=\columnwidth + \linewidth=\hsize + \else + \let\titlepage@restore\relax + \fi \let\footnotesize\small \let\footnoterule\relax \let\footnote\thanks @@ -690,53 +871,69 @@ \let\@oldmakefnmark\@makefnmark \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark}% \ifx\@extratitle\@empty \else - \noindent\@extratitle\next@tpage\cleardoubleemptypage - \thispagestyle{empty}% + \noindent\@extratitle\next@tdpage \fi \parskip\z@ \parindent\z@ \parfillskip\z@\@plus 1fil \ifx\@titlehead\@empty \else \begin{minipage}[t]{\textwidth}% - \@titlehead + \usekomafont{titlehead}{\@titlehead\par}% \end{minipage}\par \fi \null\vfill \begin{center} \ifx\@subject\@empty \else - {\subject@font \@subject \par}% + {\usekomafont{subject}{\@subject\par}}% \vskip 3em \fi - {\titlefont\huge \@title\par}% + {\usekomafont{title}{\huge \@title\par}}% \vskip 1em - {\ifx\@subtitle\@empty\else\usekomafont{subtitle}\@subtitle\par\fi}% + {\ifx\@subtitle\@empty\else\usekomafont{subtitle}{\@subtitle\par}\fi}% \vskip 2em - {\Large \lineskip 0.75em - \begin{tabular}[t]{c} - \@author - \end{tabular}\par + {% + \usekomafont{author}{% + \lineskip 0.75em + \begin{tabular}[t]{c} + \@author + \end{tabular}\par + }% }% \vskip 1.5em - {\Large \@date \par}% + {\usekomafont{date}{\@date \par}}% \vskip \z@ \@plus3fill - {\Large \@publishers \par}% + {\usekomafont{publishers}{\@publishers \par}}% \vskip 3em \end{center}\par - \@thanks + \@thanks\let\@thanks\@empty \vfill\null - \if@twoside\next@tpage - \begin{minipage}[t]{\textwidth} - \@uppertitleback - \end{minipage}\par - \vfill - \begin{minipage}[b]{\textwidth} - \@lowertitleback - \end{minipage} + \if@twoside + \@tempswatrue + \expandafter\ifnum \@nameuse{scr@v@3.12}>\scr@compatibility\relax + \else + \ifx\@uppertitleback\@empty\ifx\@lowertitleback\@empty + \@tempswafalse + \fi\fi + \fi + \if@tempswa + \next@tpage + \begin{minipage}[t]{\textwidth} + \@uppertitleback + \end{minipage}\par + \vfill + \begin{minipage}[b]{\textwidth} + \@lowertitleback + \end{minipage}\par + \@thanks\let\@thanks\@empty + \fi \fi - \ifx\@dedication\@empty \else - \next@tpage\null\vfill - {\centering \Large \@dedication \par}% + \ifx\@dedication\@empty + \else + \next@tdpage\null\vfill + {\centering\usekomafont{dedication}{\@dedication \par}}% \vskip \z@ \@plus3fill - \if@twoside \next@tpage\cleardoubleemptypage \fi + \@thanks\let\@thanks\@empty + \cleardoubleemptypage \fi + \ifx\titlepage@restore\relax\else\clearpage\titlepage@restore\fi \end{titlepage} \else \par @@ -750,92 +947,115 @@ }% \fi \begingroup + \let\titlepage@restore\relax \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% \let\@oldmakefnmark\@makefnmark \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark} + \next@tdpage \if@twocolumn \ifnum \col@number=\@ne + \@makeextratitle + \next@tdpage \@maketitle \else + \ifx\@extratitle\@empty\else + \twocolumn[\@makeextratitle]\next@tdpage + \fi \twocolumn[\@maketitle]% \fi \else - \newpage - \global\@topnum\z@ + \@makeextratitle \@maketitle \fi \thispagestyle{\titlepagestyle}\@thanks \endgroup \fi \setcounter{footnote}{0}% - \let\thanks\relax - \let\maketitle\relax - \let\@maketitle\relax - \global\let\@thanks\@empty - \global\let\@author\@empty - \global\let\@date\@empty - \global\let\@title\@empty - \global\let\@subtitle\@empty - \global\let\@extratitle\@empty - \global\let\@titlehead\@empty - \global\let\@subject\@empty - \global\let\@publishers\@empty - \global\let\@uppertitleback\@empty - \global\let\@lowertitleback\@empty - \global\let\@dedication\@empty - \global\let\author\relax - \global\let\title\relax - \global\let\extratitle\relax - \global\let\titlehead\relax - \global\let\subject\relax - \global\let\publishers\relax - \global\let\uppertitleback\relax - \global\let\lowertitleback\relax - \global\let\dedication\relax - \global\let\date\relax + \expandafter\ifnum \csname scr@v@3.12\endcsname>\scr@compatibility\relax + \let\thanks\relax + \let\maketitle\relax + \let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\@subtitle\@empty + \global\let\@extratitle\@empty + \global\let\@titlehead\@empty + \global\let\@subject\@empty + \global\let\@publishers\@empty + \global\let\@uppertitleback\@empty + \global\let\@lowertitleback\@empty + \global\let\@dedication\@empty + \global\let\author\relax + \global\let\title\relax + \global\let\extratitle\relax + \global\let\titlehead\relax + \global\let\subject\relax + \global\let\publishers\relax + \global\let\uppertitleback\relax + \global\let\lowertitleback\relax + \global\let\dedication\relax + \global\let\date\relax + \fi \global\let\and\relax }% -\newcommand*{\@maketitle}{% - \clearpage - \let\footnote\thanks +\newcommand*{\@makeextratitle}{% + \next@tdpage \ifx\@extratitle\@empty \else - \noindent\@extratitle \next@tpage \if@twoside \null\next@tpage \fi + \noindent\@extratitle \next@tdpage \fi +} +\newcommand*{\@maketitle}{% + \next@tdpage + \global\@topnum=\z@ \parskip\z@ \parindent\z@ \parfillskip\z@\@plus 1fil \ifx\@titlehead\@empty \else \begin{minipage}[t]{\textwidth} - \@titlehead + \usekomafont{titlehead}{\@titlehead\par}% \end{minipage}\par \fi \null \vskip 2em% \begin{center}% \ifx\@subject\@empty \else - {\subject@font \@subject \par} + {\usekomafont{subject}{\@subject \par}}% \vskip 1.5em \fi - {\titlefont\huge \@title \par}% + {\usekomafont{title}{\huge \@title \par}}% \vskip .5em {\ifx\@subtitle\@empty\else\usekomafont{subtitle}\@subtitle\par\fi}% \vskip 1em - {\Large - \lineskip .5em% - \begin{tabular}[t]{c} - \@author - \end{tabular}\par + {% + \usekomafont{author}{% + \lineskip .5em% + \begin{tabular}[t]{c} + \@author + \end{tabular}\par + }% }% \vskip 1em% - {\Large \@date \par}% + {\usekomafont{date}{\@date \par}}% \vskip \z@ \@plus 1em - {\Large \@publishers \par} + {\usekomafont{publishers}{\@publishers \par}}% \ifx\@dedication\@empty \else \vskip 2em - {\Large \@dedication \par} + {\usekomafont{dedication}{\@dedication \par}}% \fi \end{center}% \par \vskip 2em }% +\newcommand*{\coverpagetopmargin}{% + \dimexpr \topmargin+1in\relax +} +\newcommand*{\coverpagebottommargin}{% + 2\dimexpr\coverpagetopmargin\relax +} +\newcommand*{\coverpageleftmargin}{% + \dimexpr \evensidemargin+1in\relax +} +\newcommand*{\coverpagerightmargin}{\coverpageleftmargin} \scr@ifundefinedorrelax{titlepage}{% \newenvironment{titlepage}{% \if@twocolumn @@ -855,13 +1075,17 @@ \newcommand*\titlefont{\sectfont}% \newcommand*{\subject@font}{\normalfont\normalcolor\bfseries\Large}% \newkomafont{subtitle}{\usekomafont{title}\large}% +\newkomafont{titlehead}{}% +\newkomafont{author}{\Large} +\newkomafont{date}{\Large} +\newkomafont{publishers}{\Large} +\newkomafont{dedication}{\Large} \newcommand*{\scr@fnt@title}{\titlefont}% \newcommand*{\scr@fnt@subject}{\subject@font}% -%%% From File: scrksect.dtx -\newcommand*\sectfont{\normalcolor\sffamily\bfseries} +%%% From File: $Id: scrkernel-sections.dtx 1552 2013-12-16 16:51:32Z mjk $ \newcommand*{\scr@fnt@disposition}{\sectfont} \aliaskomafont{sectioning}{disposition} -%%% From File: scrkmisc.dtx +%%% From File: $Id: scrkernel-miscellaneous.dtx 1529 2013-12-03 07:36:57Z mjk $ \scr@ifundefinedorrelax{if@restonecol}{% \expandafter\newif\csname if@restonecol\endcsname \@restonecolfalse @@ -929,13 +1153,13 @@ \providecommand*{\@textsubscript}[1]{% {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}% } -%%% From File: scrkpage.dtx +%%% From File: $Id: scrkernel-pagestyles.dtx 1551 2013-12-16 14:02:13Z mjk $ \newcommand*{\titlepagestyle}{plain} -%%% From File: scrkfloa.dtx +%%% From File: $Id: scrkernel-floats.dtx 1502 2013-11-06 11:00:12Z mjk $ \newcommand\marginline[1]{% \marginpar[\raggedleft{#1}]{\raggedright #1}% } -%%% From File: scrkftn.dtx +%%% From File: $Id: scrkernel-footnotes.dtx 1380 2013-10-01 15:31:55Z mjk $ \newcommand*{\ftn@rule@test@values}{% \ifdim\ftn@rule@height <\z@ \ClassWarning{\KOMAClassName}{% @@ -1090,7 +1314,7 @@ \endgroup \@footnotemark } -%%% From File: scrklist.dtx +%%% From File: $Id: scrkernel-listsandtabulars.dtx 1502 2013-11-06 11:00:12Z mjk $ \newenvironment{labeling}[2][]{% \def\sc@septext{#1}% \list{}{\settowidth{\labelwidth}{{% @@ -1116,8 +1340,22 @@ \newenvironment{addmargin*}{% \@tempswafalse \if@twoside\ifthispageodd{}{\@tempswatrue}\fi + \edef\scr@addmargin@startpage{\csname tpo@\scr@tpo\endcsname}% \@addmargin }{% + \unskip\nobreak\ifthispageodd{}{}% + \expandafter\ifx\csname tpo@\scr@tpo\endcsname\scr@addmargin@startpage\else + \PackageWarning{scrextend}{% + page break inside `addmargin*' environment.\MessageBreak + A `addmargin*' environment starting on page + \scr@addmargin@startpage\MessageBreak + ends on page \csname tpo@\scr@tpo\endcsname.\MessageBreak + This will result in potential wrong margins on\MessageBreak + every other page.\MessageBreak + So maybe you should change the `addmargin*'\MessageBreak + environment, that ends% + }% + \fi \advance\@listdepth\@ne \endlist } @@ -1146,7 +1384,7 @@ } \newkomafont{labelinglabel}{} \newkomafont{labelingseparator}{} -%%% From File: scrlogo.dtx +%%% From File: $Id: scrlogo.dtx 1380 2013-10-01 15:31:55Z mjk $ \@ifundefined{KOMAScript}{% \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% M\kern.05em A\kern.1em-\kern.1em Script}}}{} diff --git a/Master/texmf-dist/tex/latex/koma-script/scrfontsizes.sty b/Master/texmf-dist/tex/latex/koma-script/scrfontsizes.sty index 97cd681456c..5108000ef64 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrfontsizes.sty +++ b/Master/texmf-dist/tex/latex/koma-script/scrfontsizes.sty @@ -1,17 +1,16 @@ %% %% This is file `scrfontsizes.sty', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `package') -%% scrkfont.dtx (with options: `package,generator,identify') -%% scrkfont.dtx (with options: `package,generator,option') -%% scrkfont.dtx (with options: `package,generator,body') +%% scrkernel-version.dtx (with options: `package') +%% scrkernel-fonts.dtx (with options: `package,generator,identify') +%% scrkernel-fonts.dtx (with options: `package,generator,option') +%% scrkernel-fonts.dtx (with options: `package,generator,body') %% scrlogo.dtx (with options: `logo') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -43,9 +42,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -65,15 +64,15 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup -%%% From File: scrkfont.dtx +%%% From File: $Id: scrkernel-fonts.dtx 1483 2013-10-31 15:12:30Z mjk $ \ProvidesPackage{scrfontsizes}[% - \KOMAScriptVersion\space package - (font size file generator)] -%%% From File: scrkfont.dtx + 2013/12/19 v3.12 KOMA-Script + package (font size file generator)] +%%% From File: $Id: scrkernel-fonts.dtx 1483 2013-10-31 15:12:30Z mjk $ \ProcessOptions\relax -%%% From File: scrkfont.dtx +%%% From File: $Id: scrkernel-fonts.dtx 1483 2013-10-31 15:12:30Z mjk $ \@ifundefined{changefontsizes}{\RequirePackage{scrextend}}{} \newcommand*{\generatefontfile}[1]{% \ifstr{#1}{scrsize}{% @@ -358,7 +357,7 @@ \immediate\closeout\@fontfile } \@onlypreamble\generatefontfile -%%% From File: scrlogo.dtx +%%% From File: $Id: scrlogo.dtx 1380 2013-10-01 15:31:55Z mjk $ \@ifundefined{KOMAScript}{% \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% M\kern.05em A\kern.1em-\kern.1em Script}}}{} diff --git a/Master/texmf-dist/tex/latex/koma-script/scrhack.sty b/Master/texmf-dist/tex/latex/koma-script/scrhack.sty index 262c4f6cfda..a2af19454d7 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrhack.sty +++ b/Master/texmf-dist/tex/latex/koma-script/scrhack.sty @@ -1,18 +1,17 @@ %% %% This is file `scrhack.sty', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `package,scrhack') +%% scrkernel-version.dtx (with options: `package,scrhack') %% scrhack.dtx (with options: `package,identify') -%% scrkbase.dtx (with options: `load') +%% scrkernel-basics.dtx (with options: `load') %% scrhack.dtx (with options: `package,option') %% scrhack.dtx (with options: `package,body') %% scrlogo.dtx (with options: `logo') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 2008-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -44,9 +43,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -66,16 +65,17 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup -%%% From File: scrhack.dtx +%%% From File: $Id: scrhack.dtx 1383 2013-10-01 15:44:28Z mjk $ %%% using: package,identify -\ProvidesPackage{scrhack} - [\KOMAScriptVersion\space - package (hacking other packages)] -%%% From File: scrkbase.dtx +\ProvidesPackage{scrhack}[% + 2013/12/19 v3.12 KOMA-Script + package +] +%%% From File: $Id: scrkernel-basics.dtx 1502 2013-11-06 11:00:12Z mjk $ \RequirePackage{scrkbase}[\KOMAScriptVersion] -%%% From File: scrhack.dtx +%%% From File: $Id: scrhack.dtx 1383 2013-10-01 15:44:28Z mjk $ %%% using: package,option \KOMA@ifkey{hyperref}{@scrhack@hyperref}% \@scrhack@hyperreftrue @@ -86,7 +86,7 @@ \KOMA@ifkey{listings}{@scrhack@listings}% \@scrhack@listingstrue \KOMAProcessOptions\relax -%%% From File: scrhack.dtx +%%% From File: $Id: scrhack.dtx 1383 2013-10-01 15:44:28Z mjk $ %%% using: package,body \newcommand{\scr@ifexpected}[2]{% \begingroup @@ -124,6 +124,7 @@ \AtEndOfPackage{% \KOMA@key[.scrhack.sty]{hyperref}{% \PackageWarning{scrhack}{option `hyperref=#1' ignored}% + \FamilyKeyStateProcessed }% \if@scrhack@hyperref\scr@hack@load\@pkgextension{hyperref}\fi }% @@ -132,22 +133,25 @@ \AfterPackage*{float}{% \KOMA@key[.scrhack.sty]{float}{% \PackageWarning{scrhack}{option `float' ignored}% + \FamilyKeyStateProcessed }% \if@scrhack@float\scr@hack@load\@pkgextension{float}\fi } \AfterPackage*{floatrow}{% \KOMA@key[.scrhack.sty]{floatrow}{% \PackageWarning{scrhack}{option `floatrow' ignored}% + \FamilyKeyStateProcessed }% \if@scrhack@floatrow\scr@hack@load\@pkgextension{floatrow}\fi } \AfterPackage*{listings}{% \KOMA@key[.scrhack.sty]{listings}{% \PackageWarning{scrhack}{option `listings' ignored}% + \FamilyKeyStateProcessed }% \if@scrhack@listings\scr@hack@load\@pkgextension{listings}\fi } -%%% From File: scrlogo.dtx +%%% From File: $Id: scrlogo.dtx 1380 2013-10-01 15:31:55Z mjk $ \@ifundefined{KOMAScript}{% \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% M\kern.05em A\kern.1em-\kern.1em Script}}}{} diff --git a/Master/texmf-dist/tex/latex/koma-script/scrjura.sty b/Master/texmf-dist/tex/latex/koma-script/scrjura.sty index 1492ea66856..10862f91b46 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrjura.sty +++ b/Master/texmf-dist/tex/latex/koma-script/scrjura.sty @@ -7,7 +7,7 @@ %% scrjura.dtx (with options: `package') %% scrlogo.dtx (with options: `logo') %% -%% Copyright (c) 2007-2012 +%% Copyright (c) 2007-2013 %% Markus Kohm and any individual authors listed elsewhere in this file. %% %% This file was generated from file(s) of the KOMA-Script bundle. @@ -38,10 +38,10 @@ %% LaTeX2.09 Script family created by Frank Neukam 1993 and the LaTeX2e %% standard classes created by The LaTeX3 Project 1994-1996. %% -%%% From File: scrjura.dtx +%%% From File: $Id: scrjura.dtx 1562 2013-12-19 07:51:16Z mjk $ \NeedsTeXFormat{LaTeX2e}[1995/06/01] \ProvidesPackage{scrjura} - [2011/09/30 v0.6 KOMA-Script for jurists + [2013/11/04 v0.7 KOMA-Script for jurists (package)% ] \@ifpackageloaded{hyperref}{% @@ -53,45 +53,45 @@ hyperref\MessageBreak behind the loading of package scrjura.}% } -\RequirePackage{scrkbase} +\RequirePackage{scrkbase}[2013/03/26] +\RequirePackage{tocbasic} \DeclareOption{contract}{% \g@addto@macro\document\contract% } \newcounter{juratoclevel}\setcounter{juratoclevel}{\@M} \KOMA@key{juratotoc}[true]{% \begingroup - \newif\if@setjuratoclevel\@setjuratocleveltrue - \let\juratoclevel@@FamilyUnknownKeyValue\FamilyUnknownKeyValue - \renewcommand*{\FamilyUnknownKeyValue}[4]{% - \setcounter{juratoclevel}{#1}% - \@setjuratoclevelfalse - }% \KOMA@set@ifkey{juratoclevel}{@tempswa}{#1}% - \if@setjuratoclevel + \ifx\FamilyKeyState\FamilyKeyStateProcessed \if@tempswa \setcounter{juratoclevel}{2}% \else \setcounter{juratoclevel}{\@M}% \fi + \else + \setcounter{juratoclevel}{#1}% + \FamilyKeyStateProcessed \fi \endgroup } +\providecommand*{\toclevel@cpar}{\arabic{juratoclevel}} \newcommand*{\cpar@numberwidth}{2em} \newcommand*{\cpar@indent}{1.5em} \KOMA@key{juratocnumberwidth}{% \begingroup\setlength{\@tempdima}{#1}\endgroup \renewcommand*{\cpar@numberwidth}{#1}% + \FamilyKeyStateProcessed } \KOMA@key{juratocindent}{% \begingroup\setlength{\@tempdima}{#1}\endgroup \renewcommand*{\cpar@indent}{#1}% + \FamilyKeyStateProcessed } \KOMA@ifkey{juratitlepagebreak}{@juratitlepagebreak} \newif\ifparnumber \KOMA@key{parnumber}[true]{% - \ifstr{#1}{auto}{\AutoPar}{% - \ifstr{#1}{manual}{\ManualPar}{% - \def\FamilyElseValue{, `auto', `semi'}% + \ifstr{#1}{auto}{\AutoPar\FamilyKeyStateProcessed}{% + \ifstr{#1}{manual}{\ManualPar\FamilyKeyStateProcessed}{% \KOMA@set@ifkey{parnumber}{parnumber}{#1}% }% }% @@ -106,31 +106,35 @@ {right}{3},% {both}{4}% }{#1}% - \ifcase\number\@tempa - \endgroup - \let\Paragraphmark\@gobble - \or - \endgroup - \renewcommand*{\Paragraphmark}[1]{% - \markright{\csname MakeMarkcase\endcsname{##1}}}% - \or - \endgroup - \renewcommand*{\Paragraphmark}[1]{% - \markboth{\csname MakeMarkcase\endcsname{##1}}% - {\csname MakeMarkcase\endcsname{##1}}}% - \or - \endgroup - \renewcommand*{\Paragraphmark}[1]{% - \ifx - \@mkboth\@gobbletwo - \else - \markright{\csname MakeMarkcase\endcsname{##1}}% - \fi}% - \or - \endgroup - \renewcommand*{\Paragraphmark}[1]{% - \@mkboth{\csname MakeMarkcase\endcsname{##1}}% - {\csname MakeMarkcase\endcsname{##1}}}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase\number\@tempa + \endgroup + \let\Paragraphmark\@gobble + \or + \endgroup + \renewcommand*{\Paragraphmark}[1]{% + \markright{\csname MakeMarkcase\endcsname{##1}}}% + \or + \endgroup + \renewcommand*{\Paragraphmark}[1]{% + \markboth{\csname MakeMarkcase\endcsname{##1}}% + {\csname MakeMarkcase\endcsname{##1}}}% + \or + \endgroup + \renewcommand*{\Paragraphmark}[1]{% + \ifx + \@mkboth\@gobbletwo + \else + \markright{\csname MakeMarkcase\endcsname{##1}}% + \fi}% + \or + \endgroup + \renewcommand*{\Paragraphmark}[1]{% + \@mkboth{\csname MakeMarkcase\endcsname{##1}}% + {\csname MakeMarkcase\endcsname{##1}}}% + \else + \endgroup + \fi \else \endgroup \fi @@ -156,39 +160,41 @@ {paragraphonly}{44},{onlyparagraph}{44},% {ParagraphOnly}{44},{OnlyParagraph}{44}% }{#1}% - \@tempcnta=\@tempa\relax - \@tempcntb=\z@ - \@whilenum \@tempcnta>9 \do{% - \advance\@tempcnta -10\relax - \advance\@tempcntb \@ne\relax - }% - \ifcase \@tempcnta - \or - \aftergroup\def\aftergroup\parcite@format - \aftergroup{\aftergroup0\aftergroup}% - \or - \aftergroup\def\aftergroup\parcite@format - \aftergroup{\aftergroup1\aftergroup}% - \or - \aftergroup\def\aftergroup\parcite@format - \aftergroup{\aftergroup2\aftergroup}% - \or - \aftergroup\def\aftergroup\parcite@format - \aftergroup{\aftergroup-\aftergroup1\aftergroup}% - \fi - \ifcase \@tempcntb - \or - \aftergroup\def\aftergroup\sentencecite@format - \aftergroup{\aftergroup0\aftergroup}% - \or - \aftergroup\def\aftergroup\sentencecite@format - \aftergroup{\aftergroup1\aftergroup}% - \or - \aftergroup\def\aftergroup\sentencecite@format - \aftergroup{\aftergroup2\aftergroup}% - \or - \aftergroup\def\aftergroup\sentencecite@format - \aftergroup{\aftergroup-\aftergroup1\aftergroup}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \@tempcnta=\@tempa\relax + \@tempcntb=\z@ + \@whilenum \@tempcnta>9 \do{% + \advance\@tempcnta -10\relax + \advance\@tempcntb \@ne\relax + }% + \ifcase \@tempcnta + \or + \aftergroup\def\aftergroup\parcite@format + \aftergroup{\aftergroup0\aftergroup}% + \or + \aftergroup\def\aftergroup\parcite@format + \aftergroup{\aftergroup1\aftergroup}% + \or + \aftergroup\def\aftergroup\parcite@format + \aftergroup{\aftergroup2\aftergroup}% + \or + \aftergroup\def\aftergroup\parcite@format + \aftergroup{\aftergroup-\aftergroup1\aftergroup}% + \fi + \ifcase \@tempcntb + \or + \aftergroup\def\aftergroup\sentencecite@format + \aftergroup{\aftergroup0\aftergroup}% + \or + \aftergroup\def\aftergroup\sentencecite@format + \aftergroup{\aftergroup1\aftergroup}% + \or + \aftergroup\def\aftergroup\sentencecite@format + \aftergroup{\aftergroup2\aftergroup}% + \or + \aftergroup\def\aftergroup\sentencecite@format + \aftergroup{\aftergroup-\aftergroup1\aftergroup}% + \fi \fi \endgroup } @@ -196,6 +202,22 @@ \KOMA@DeclareDeprecatedOption[scrjura]{sentencecitename}{ref=sentencelong} \KOMAProcessOptions\relax \newcommand*{\jura@env@type}{} +\newcommand*{\ellipsispar}[1][1]{% + \begingroup + \KOMAoptions{parnumber=manual}\parellipsis\par + \addtocounter{par}{#1}% + \protected@write\@auxout{}{% + \string\newmaxpar{\jura@env@type}% + {\thecontractAbsoluteParagraph}% + {\thepar}% + }% + \endgroup + \addtocounter{par}{-1}\refstepcounter{par}% + \ignorespaces +} +\newcommand*{\parellipsis}{% + \scr@ifundefinedorrelax{textellipsis}{\dots}{\textellipsis}% +} \newcommand*{\contract}{% \ifx\jura@env@type\@empty \let\@doendpe\contract@doendpe @@ -222,12 +244,13 @@ \newcounter{contractParagraph} \renewcommand*{\thecontractParagraph}{% {\contract@Paragraphformat{\arabic{contractParagraph}}}} -\DeclareRobustCommand*{\contract@Paragraphformat}[1]{\paragraphformat{#1}} -\newcommand*{\paragraphformat}[1]{\S~#1} +\DeclareRobustCommand*{\contract@Paragraphformat}[1]{\Paragraphformat{#1}} +\newcommand*{\Paragraphformat}[1]{\S~#1} \newcounter{contractSubParagraph} \@addtoreset{SubParagraph}{Paragraph} \renewcommand*{\thecontractSubParagraph}{% {\theParagraph\alph{contractSubParagraph}}} +\newcounter{contractAbsoluteParagraph} \define@key{contract}{title}{% \def\contract@title{#1}% \ifx\contract@entry\relax\def\contract@entry{\contract@title}\fi @@ -264,6 +287,7 @@ \newcommand*{\theHParagraph}{\theH@AbsParagraph} \newcommand*{\theHSubParagraph}{\theH@AbsParagraph} \newcommand*{\contract@paragraph}[1]{% + \stepcounter{contractAbsoluteParagraph}% \ManualPar\parnumbertrue \let\contract@title\relax \let\contract@entry\relax @@ -272,6 +296,7 @@ \contract@dummyfalse \ifx\relax#1\relax\else\setkeys{contract}{#1}\fi \ifcontract@dummy\else + \par \@afterindentfalse \addvspace{\contract@preskip}% \fi @@ -284,7 +309,7 @@ \let\@elt\@stpelt \cl@Paragraph \endgroup - \protected@edef\theParagraph{\S~\contract@number}% + \protected@edef\theParagraph{\contract@Paragraphformat{\contract@number}}% \protected@edef\@currentlabel{\theParagraph}% \fi \stepcounter{@AbsParagraph}% @@ -302,15 +327,12 @@ \ifcontract@dummy\else \begingroup \if@juratitlepagebreak\else\interlinepenalty\@M\fi - \contract@paragraph@font \theParagraph - \ifx\contract@title\relax\else\enskip\contract@title\fi + \contract@paragraph@font{\theParagraph + \ifx\contract@title\relax\else\enskip\fi}% + \contract@title \ifx\contract@entry\relax\else - \addcontentsline{toc}{cpar}{% - \protect\numberline{\theParagraph}\contract@entry - }% - \addcontentsline{cpa}{cpar}{% - \protect\numberline{\theParagraph}\contract@entry - }% + \addxcontentsline{toc}{cpar}[\theParagraph]\contract@entry + \addxcontentsline{cpa}{cpar}[\theParagraph]\contract@entry \fi \ifx\contract@head\relax\else \expandafter\Paragraphmark\expandafter{% @@ -322,6 +344,7 @@ \fi } \newcommand*{\contract@subparagraph}[1]{% + \stepcounter{contractAbsoluteParagraph}% \ManualPar\parnumbertrue \let\contract@title\relax \let\contract@entry\relax @@ -330,6 +353,7 @@ \contract@dummyfalse \ifx\relax#1\relax\else\setkeys{contract}{#1}\fi \ifcontract@dummy\else + \par \@afterindentfalse \vskip\contract@preskip \fi @@ -359,15 +383,12 @@ \ifcontract@dummy\else \begingroup \if@juratitlepagebreak\else\interlinepenalty\@M\fi - \contract@paragraph@font \theSubParagraph - \ifx\contract@title\relax\else\enskip\contract@title\fi + \contract@paragraph@font{\theSubParagraph + \ifx\contract@title\relax\else\enskip\fi}% + \contract@title \ifx\contract@entry\relax\else - \addcontentsline{toc}{cpar}{% - \protect\numberline{\theSubParagraph}\contract@entry - }% - \addcontentsline{cpa}{cpar}{% - \protect\numberline{\theSubParagraph}\contract@entry - }% + \addxcontentsline{toc}{cpar}[\theSubParagraph]\contract@entry + \addxcontentsline{cpa}{cpar}[\theSubParagraph]\contract@entry \fi \ifx\contract@head\relax\else \expandafter\Paragraphmark\expandafter{% @@ -441,26 +462,57 @@ \renewcommand*{\thepar}{\arabic{par}} \newcommand*{\theHpar}{\theH@AbsParagraph-\Roman{par}} \newcommand*{\parformat}{(\thepar)} +\newkomafont{parnumber}{} \renewcommand*\p@par{{\jura@usetype{\jura@env@type}\theSubParagraph\jura@separator{\nobreakspace}}} \@addtoreset{par}{Paragraph} \@addtoreset{par}{SubParagraph} \newcommand*{\contract@everypar}{% \ifparnumber - \refstepcounter{par}% - \refstepcounter{sentence}% + \ifx\scrjura@special@par\relax + \ifx\scrjura@special@reset@par\relax\else + \global\let\thepar\scrjura@special@reset@par + \global\let\scrjura@special@reset@par\relax + \fi + \refstepcounter{par}% + \refstepcounter{sentence}% + \else + \ifx\scrjura@special@reset@par\relax + \global\let\scrjura@special@reset@par\thepar + \fi + \global\let\thepar\scrjura@special@par + \global\let\scrjura@special@par\relax + \setcounter{sentence}{0}\refstepcounter{sentence}% + \fi \begingroup \protected@write\@auxout{\let\contract@Paragraphformat\@firstofone}{% - \string\newmaxpar{contract}{\theSubParagraph}{\arabic{par}}}% - \getmaxpar\@tempa{contract}{\theSubParagraph}% + \string\newmaxpar{contract}% + {\thecontractAbsoluteParagraph}% + {\thepar}}% + \getmaxpar\@tempa{contract}{\thecontractAbsoluteParagraph}% \typeout{Stored max is \@tempa}% - \ifnum \@tempa>\@ne - \parformat\nobreakspace + \def\reserved@a##1\@nnil{\def\@tempa{##1}}% + \afterassignment\reserved@a\@tempcnta=0\@tempa\relax\@nnil + \ifnum \@tempcnta>\@ne + {\usekomafont{parnumber}{\parformat\nobreakspace}}% + \else + \def\reserved@a{\relax}% + \ifx\@tempa\reserved@a + \else + {\usekomafont{parnumber}{\parformat\nobreakspace}}% + \fi \fi \endgroup \else - \setcounter{sentence}{0}\refstepcounter{sentence}% + \setcounter{sentence}{-1}\refstepcounter{sentence}% \fi } +\newcommand*{\thisparnumber}[1]{% + \def\scrjura@special@par{#1}% +} +\newcommand*{\scrjura@special@par}{} +\let\scrjura@special@par\relax +\newcommand*{\scrjura@special@reset@par}{} +\let\scrjura@special@reset@par\relax \newcommand*{\refL}{\@ifstar {\ref@L*}{\ref@L{}}} \newcommand*{\ref@L}[2]{% \begingroup @@ -519,7 +571,7 @@ } \newcommand*{\ref@ParagraphN}[2]{% \begingroup - \let\paragraphformat\relax + \let\Paragraphformat\relax \ref@Paragraph{#1}{#2}% \endgroup } @@ -683,43 +735,39 @@ \newcommand*{\sentencenumericformat}[1]{\@arabic{\number #1\relax}.} \newcommand*{\parname}{Paragraph} \AtBeginDocument{% - \providecaptionname{german}\parname{Absatz}% - \providecaptionname{german}\parshortname{Abs.}% - \providecaptionname{german}\sentencename{Satz}% - \providecaptionname{german}\sentenceshortname{S.}% - \providecaptionname{ngerman}\parname{Absatz}% - \providecaptionname{ngerman}\parshortname{Abs.}% - \providecaptionname{ngerman}\sentencename{Satz}% - \providecaptionname{ngerman}\sentenceshortname{S.}% - \providecaptionname{austrian}\parname{Absatz}% - \providecaptionname{austrian}\parshortname{Abs.}% - \providecaptionname{austrian}\sentencename{Satz}% - \providecaptionname{austrian}\sentenceshortname{S.}% - \providecaptionname{naustrian}\parname{Absatz}% - \providecaptionname{naustrian}\parshortname{Abs.}% - \providecaptionname{naustrian}\sentencename{Satz}% - \providecaptionname{naustrian}\sentenceshortname{S.}% + \providecaptionname{german,ngerman,austrian,naustrian}\parname{Absatz}% + \providecaptionname{german,ngerman,austrian,naustrian}\parshortname{Abs.}% + \providecaptionname{german,ngerman,austrian,naustrian}\sentencename{Satz}% + \providecaptionname{german,ngerman,austrian,naustrian}\sentenceshortname{S.}% + \providecaptionname{english,american,british,canadian,USenglish,UKenglish}\parname{paragraph}% + \providecaptionname{english,american,british,canadian,USenglish,UKenglish}\parshortname{par.}% + \providecaptionname{english,american,british,canadian,USenglish,UKenglish}\sentencename{sentence}% + \providecaptionname{english,american,british,canadian,USenglish,UKenglish}\sentenceshortname{sent.}% } \providecommand*{\parname}{\scrjura@lang@error{\parname}} \providecommand*{\parshortname}{\scrjura@lang@error{\parshortname}} \providecommand*{\sentencename}{\scrjura@lang@error{\sentencename}} \providecommand*{\sentenceshortname}{\scrjura@lang@error{\sentenceshortname}} \newcommand*{\scrjura@lang@error}[1]{% - \PackageErrorNoLine{scrjura}{% + \PackageError{scrjura}{% current language not supported% }{% - Currently scrjura only supports languages `german', - `ngerman', `austrian', and `naustrian'.\MessageBreak - It seems, that you are using another language (maybe - \languagename).\MessageBreak - Because of this you have to define \string#1\space by - yourself!\MessageBreak + Currently scrjura only supports languages `german', `ngerman', + `austrian',\MessageBreak + `naustrian', `english', `american', `british', `canadian', `USenglish', + and\MessageBreak + `UKenglish'.\MessageBreak + It seems, that you are using another language (maybe `\languagename') or + that\MessageBreak + your language selection isn't compatible to package `babel'.\MessageBreak + Because of this you have to define `\string#1' by yourself!\MessageBreak It would be nice if you'll send your definitions to the author.% }% \textbf{??}% } \newcommand*{\newmaxpar}[3]{% \begingroup + \expandafter\let\csname #1@Paragraphformat\endcsname\@firstofone \protected@edef\@tempa{#2}\@onelevel@sanitize\@tempa \expandafter\xdef\csname max@#1@\@tempa\endcsname{#3}% \endgroup @@ -737,7 +785,7 @@ \fi \@tempa } -%%% From File: scrlogo.dtx +%%% From File: $Id: scrlogo.dtx 1380 2013-10-01 15:31:55Z mjk $ \@ifundefined{KOMAScript}{% \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% M\kern.05em A\kern.1em-\kern.1em Script}}}{} diff --git a/Master/texmf-dist/tex/latex/koma-script/scrkbase.sty b/Master/texmf-dist/tex/latex/koma-script/scrkbase.sty index 9a68b924979..0852a04ac5d 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrkbase.sty +++ b/Master/texmf-dist/tex/latex/koma-script/scrkbase.sty @@ -1,19 +1,18 @@ %% %% This is file `scrkbase.sty', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `package,scrkbase') -%% scrkbase.dtx (with options: `package,option,koma') -%% scrkfont.dtx (with options: `package,option,scrkbase') +%% scrkernel-version.dtx (with options: `package,scrkbase') +%% scrkernel-basics.dtx (with options: `package,option,koma') +%% scrkernel-fonts.dtx (with options: `package,option,scrkbase') %% scrlfile.dtx (with options: `load') -%% scrkbase.dtx (with options: `package,body,koma') -%% scrkfont.dtx (with options: `package,body,scrkbase') +%% scrkernel-basics.dtx (with options: `package,body,koma') +%% scrkernel-fonts.dtx (with options: `package,body,scrkbase') %% scrlogo.dtx (with options: `logo') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -45,9 +44,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -67,14 +66,17 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup -%%% From File: scrkbase.dtx +%%% From File: $Id: scrkernel-basics.dtx 1502 2013-11-06 11:00:12Z mjk $ +\NeedsTeXFormat{LaTeX2e}[1995/06/01] \ProvidesPackage{% scrkbase% }[% - \KOMAScriptVersion\space package - (KOMA-Script-dependent basics and keyval usage)] + 2013/12/19 v3.12 KOMA-Script + package (% + KOMA-Script-dependent + basics and keyval usage)] \RequirePackage{scrbase}[\KOMAScriptVersion] \newcommand*{\KOMA@key}[1][.\@currname.\@currext]{% \DefineFamilyMember{KOMA}% @@ -83,64 +85,19 @@ \newcommand*{\KOMAProcessOptions}{\FamilyProcessOptions{KOMA}} \@onlypreamble\KOMAProcessOptions \KOMAProcessOptions\relax -%%% From File: scrkfont.dtx -%%% From File: scrlfile.dtx -\def\scrlfileversion{2012/06/15 v3.12} -\edef\@tempa{\noexpand\RequirePackage{scrlfile}[\scrlfileversion]} -\@tempa -%%% From File: scrkbase.dtx -\newcommand*{\KOMAExecuteOptions}{\FamilyExecuteOptions{KOMA}} -\@onlypreamble\KOMAExecuteOptions -\newcommand*{\KOMAoptions}[1]{% - \let\post@kopt@hook\@empty - \KOMA@options{#1}{% - \PackageError{scrkbase}{% - unknown KOMA option `\scr@key@name'% - }{% - You have used \string\KOMAoptions\space to set - `\scr@key@atlist',\MessageBreak - but KOMA-Script does not know any option named - `\scr@key@name'.\MessageBreak - See the KOMA-Script manual for more informations about options - and\MessageBreak - their values.% - }% - }% - \post@kopt@hook\let\post@kopt@hook\relax -} -\newcommand*{\KOMA@options}{\Family@Options{KOMA}} -\newcommand*{\post@kopt@hook}{} -\let\post@kopt@hook\relax -\newcommand*{\AfterKOMAoptions}{% - \ifx\post@kopt@hook\relax - \PackageWarning{scrkbase}{% - \string\AfterKOMAoptions\space can only be used inside a\MessageBreak - KOMA-Script option that is called using \string\KOMAoptions.\MessageBreak - Because of this, command will be ignored% - }% - \expandafter\@gobbletwo - \else - \expandafter\l@addto@macro - \fi - \post@kopt@hook -} -\newcommand*{\KOMAoption}[2]{% - \let\post@kopt@hook\@empty - \Family@Option{KOMA}{#1}{#2}{% - \PackageError{scrkbase}{% - unknown KOMA option `\scr@key@name'% - }{% - You have used \string\KOMAoption\space to set - `\scr@key@name',\MessageBreak - but KOMA-Script does not know any option named - `\scr@key@name'.\MessageBreak - See the KOMA-Script manual for more informations about options - and\MessageBreak - their values.% - }% - }% - \post@kopt@hook\let\post@kopt@hook\relax +%%% From File: $Id: scrkernel-fonts.dtx 1483 2013-10-31 15:12:30Z mjk $ +%%% From File: $Id: scrlfile.dtx 1525 2013-11-22 12:57:29Z mjk $ +\RequirePackage{scrlfile}[% + 2013/12/19 v3.12 KOMA-Script +] +%%% From File: $Id: scrkernel-basics.dtx 1502 2013-11-06 11:00:12Z mjk $ +\newcommand*{\KOMAExecuteOptions}[1][.\@currname.\@currext]{% + \FamilyExecuteOptions[#1]{KOMA}% } +\newcommand*{\KOMAoptions}{\FamilyOptions{KOMA}} +\newcommand*{\AfterKOMAoptions}{} +\let\AfterKOMAoptions\AtEndOfFamilyOptions +\newcommand*{\KOMAoption}{\FamilyOption{KOMA}} \newcommand*{\KOMA@unknown@keyval}{\FamilyUnknownKeyValue{KOMA}} \newcommand*{\KOMA@ifkey}{% \DefineFamilyMember{KOMA}% @@ -165,14 +122,22 @@ } \newcommand*{\KOMA@UseDeprecatedOption}[3]{% \let\scr@sr@co\CurrentOption - #1{% - You've used obsolete option `#2'.\MessageBreak - Usage of this option indicates an old document and\MessageBreak - changes compatibility level using\MessageBreak - `#3,version=first'.\MessageBreak - If you don't want this, you should simply replace\MessageBreak - usage of option `#2' by `#3'% - }% + \begingroup + #1{% + You've used obsolete option `#2'.\MessageBreak + Usage of this option indicates an old document and\MessageBreak + \scr@ifundefinedorrelax{KV@KOMA.\@currname.\@currext @version}{% + changes compatibility level using\MessageBreak + `#3,version=first'.\MessageBreak + If you don't want this, y% + }{% + is deprecated.\MessageBreak + Y% + }% + ou should simply replace\MessageBreak + usage of option `#2' by `#3'% + }% + \endgroup \KOMAExecuteOptions{#3,version=first}% \let\CurrentOption\scr@sr@co } @@ -200,55 +165,21 @@ \KOMAExecuteOptions{#3}% \let\CurrentOption\scr@sr@co } -\newcommand*{\KOMA@DeclareObsoleteOption}{% - \@ifnextchar [%] - {\KOMA@@DeclareObsoleteOption}% - {\KOMA@@DeclareObsoleteOption[\@gobbletwo]}% -} -\newcommand*{\KOMA@@DeclareObsoleteOption}{} -\def\KOMA@@DeclareObsoleteOption[#1]{% - \@ifnextchar [%] - {\KOMA@@@DeclareObsoleteOption{#1}}% - {\KOMA@@@DeclareObsoleteOption{#1}[]}% -} -\newcommand*{\KOMA@@@DeclareObsoleteOption}{} -\def\KOMA@@@DeclareObsoleteOption#1[#2]#3#4{% - \ifstr{#2}{}{% - \KOMA@iv@DeclareObsoleteOption{#1}{\@currname}{#3}{#4}% - }{% - \KOMA@UseObsoleteOption{#1}{#2}{#3}{#4}% - }% -} -\newcommand*{\KOMA@iv@DeclareObsoleteOption}[4]{% - \DeclareOption{#3}{\KOMA@UseObsoleteOption{#1{#2}}{#3}{#4}}% -} -\newcommand*{\KOMA@UseObsoleteOption}[3]{% - \let\scr@sr@co\CurrentOption - #1{% - You've used obsolete option `#2'.\MessageBreak - \protect\KOMAExecuteOptions{#3} will be\MessageBreak - used instead.\MessageBreak - You may simply replace `#2'\MessageBreak - by `#3'% - }% - \KOMAExecuteOptions{#3}% - \let\CurrentOption\scr@sr@co -} \newcommand*{\scr@sr@co}{} -\newcommand*{\KOMA@newobsoletecommand}[3][\@gobbletwo]{% - \newcommand*{#2}{\KOMA@UseObsoleteCommand{#1}{\string#2}{#3}}% +\newcommand*{\KOMA@newdeprecatedcommand}[3][\@gobbletwo]{% + \newcommand*{#2}{\KOMA@UseDeprecatedCommand{#1}{\string#2}{#3}}% } -\newcommand*{\KOMA@UseObsoleteCommand}[3]{% +\newcommand*{\KOMA@UseDeprecatedCommand}[3]{% #1{% scrkbase% }{% - You've used the obsolete command `#2'.\MessageBreak + You've used deprecated command `#2'.\MessageBreak \protect\KOMAoptions{#3} will be used instead.\MessageBreak You should also replace `#2' by `\protect\KOMAoptions{#3}'% }% \KOMAoptions{#3}% } -%%% From File: scrkfont.dtx +%%% From File: $Id: scrkernel-fonts.dtx 1483 2013-10-31 15:12:30Z mjk $ \newcommand*{\setkomafont}[2]{% \@ifundefined{scr@fnt@#1}{% \@ifundefined{scr@fnt@instead@#1}{% @@ -336,6 +267,72 @@ \@nameuse{scr@fnt@#1}% }% } +\newcommand*{\usesizeofkomafont}[1]{% + \begingroup + \let\color\@gobble\let\normalcolor\relax + \@tempcnta=\currentgrouplevel + \usekomafont{#1}{% + \ifnum \currentgrouplevel>\numexpr\@tempcnta\relax + \edef\reserved@a{\noexpand\egroup\noexpand\endgroup + \noexpand\fontsize{\f@size}{\f@baselineskip}% + \noexpand\bgroup}% + \else + \edef\reserved@a{\noexpand\endgroup + \noexpand\fontsize{\f@size}{\f@baselineskip}}% + \fi + \reserved@a + }% + \selectfont +} +\newcommand*{\usefamilyofkomafont}{\use@ofkomafont{family}} +\newcommand*{\useseriesofkomafont}{\use@ofkomafont{series}} +\newcommand*{\useshaperofkomafont}{\use@ofkomafont{shape}} +\newcommand*{\useencodingofkomafont}{\use@ofkomafont{encoding}} +\newcommand*{\usefontofkomafont}[1]{% + \begingroup + \let\color\@gobble\let\normalcolor\relax + \@tempcnta=\currentgrouplevel + \usekomafont{#1}{% + \ifnum \currentgrouplevel>\numexpr\@tempcnta\relax + \edef\reserved@a{\noexpand\egroup\noexpand\endgroup + \noexpand\fontsize{\f@size}{\f@baselineskip}% + \noexpand\fontfamily{\f@family}% + \noexpand\fontseries{\f@series}% + \noexpand\fontshape{\f@shape}% + \noexpand\fontencoding{\f@encoding}% + \noexpand\bgroup}% + \else + \edef\reserved@a{\noexpand\endgroup + \noexpand\fontsize{\f@size}{\f@baselineskip}}% + \noexpand\fontfamily{\f@family}% + \noexpand\fontseries{\f@series}% + \noexpand\fontshape{\f@shape}% + \noexpand\fontencoding{\f@encoding}% + \fi + \reserved@a + }% + \selectfont +} +\newcommand*{\use@ofkomafont}[2]{% + \begingroup + \let\color\@gobble\let\normalcolor\relax + \@tempcnta=\currentgrouplevel + \usekomafont{#2}{% + \ifnum \currentgrouplevel>\numexpr\@tempcnta\relax + \edef\reserved@a{\noexpand\egroup\noexpand\endgroup + \expandafter\noexpand\csname font#1\endcsname + {\csname f@#1\endcsname}% + \noexpand\bgroup}% + \else + \edef\reserved@a{\noexpand\endgroup + \expandafter\noexpand\csname font#1\endcsname + {\csname f@#1\endcsname}% + }% + \fi + \reserved@a + }% + \selectfont +} \newcommand*{\newkomafont}[3][\relax]{% \expandafter\newcommand\expandafter*\csname @#2font\endcsname{#3}% \expandafter\expandafter\expandafter\newcommand @@ -344,7 +341,7 @@ \csname @#2font\endcsname% }% \ifx\relax#1\relax\else - \expandafter\newcommand\expandafter*\csname scr@fnt@wrn@#2\endcsname{#1}% + \expandafter\newcommand\expandafter*\csname scr@fnt@wrn@#2\endcsname[1]{#1}% \fi } \newcommand*{\aliaskomafont}[2]{% @@ -352,7 +349,7 @@ #2% }% } -%%% From File: scrlogo.dtx +%%% From File: $Id: scrlogo.dtx 1380 2013-10-01 15:31:55Z mjk $ \@ifundefined{KOMAScript}{% \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% M\kern.05em A\kern.1em-\kern.1em Script}}}{} diff --git a/Master/texmf-dist/tex/latex/koma-script/scrlayer-notecolumn.sty b/Master/texmf-dist/tex/latex/koma-script/scrlayer-notecolumn.sty new file mode 100644 index 00000000000..8fa4d604372 --- /dev/null +++ b/Master/texmf-dist/tex/latex/koma-script/scrlayer-notecolumn.sty @@ -0,0 +1,1148 @@ +%% +%% This is file `scrlayer-notecolumn.sty', +%% generated with the docstrip utility, extended by scrdocstrip. +%% +%% The original source files were: +%% +%% scrlayer-notecolumn.dtx (with options: `interface,trace,notecolumn,identify') +%% scrlayer.dtx (with options: `interface,trace,notecolumn,init') +%% scrlayer-notecolumn.dtx (with options: `interface,trace,notecolumn,init') +%% scrlayer.dtx (with options: `interface,trace,notecolumn,options') +%% scrlayer-notecolumn.dtx (with options: `interface,trace,notecolumn,options') +%% scrlayer.dtx (with options: `interface,trace,notecolumn,body') +%% scrlayer-notecolumn.dtx (with options: `interface,trace,notecolumn,body') +%% scrlayer-notecolumn.dtx (with options: `interface,trace,notecolumn,final') +%% scrlogo.dtx (with options: `logo') +%% +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] +%% +%% This file was generated from file(s) of the KOMA-Script bundle. +%% --------------------------------------------------------------- +%% +%% It may be distributed under the conditions of the +%% LaTeX Project Public License in the version distributed together +%% with KOMA-Script, see file `lppl.txt' or `lppl-de.txt'. +%% +%% This file may only be distributed together with a copy of the +%% KOMA-Script bundle. You may however distribute the +%% KOMA-Script bundle without all such generated files. See also +%% `lppl.txt' or `lppl-de.txt' for additional information. +%% +%% The list of files belonging to KOMA-Script distribution is given in +%% the file `manifest.txt'. See also `lppl.txt' or `lppl-de.txt' for +%% additional information. +%% +%% If this file is a beta version, you may not be allowed to distribute +%% it. Look at the comments below to see if this is the case. +%% +%% English and German manuals are part of KOMA-Script bundle. +%% ---------------------------------------------------------- +%% +%% See `README'. +%% +%% The KOMA-Script bundle (but maybe not this file) was based upon the +%% LaTeX 2.09 Script family created by Frank Neukam 1993 and the LaTeX2e +%% standard classes created by The LaTeX3 Project 1994-1996. You may +%% find a complete unmodified copy of LaTeX2e at +%% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. +%% +%%% From File: $Id: scrlayer-notecolumn.dtx 1514 2013-11-15 08:23:09Z mjk $ (identify) +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{scrlayer-notecolumn}[% + 15/11/2013 v0.1.1514 + package + (end user interface for scrlayer)] +%%% From File: $Id: scrlayer.dtx 1480 2013-10-31 10:00:02Z mjk $ (init) +\RequirePackage{scrlayer} +\scr@ifundefinedorrelax{scrlayer@AtEndOfPackage}{% + \AtEndOfPackage{\let\scrlayer@AtEndOfPackage\@firstofone}% +}{% + \ifx\scrlayer@AtEndOfPackage\@firstofone + \AtEndOfPackage{\let\scrlayer@AtEndOfPackage\@firstofone}% + \fi +} +\let\scrlayer@AtEndOfPackage\AtEndOfPackage +\scrlayerInitInterface +%%% From File: $Id: scrlayer-notecolumn.dtx 1514 2013-11-15 08:23:09Z mjk $ (init) +\@tempswatrue +\scr@ifundefinedorrelax{pdfsavepos}{% + \expandafter\@tempswafalse +}{% + \scr@ifundefinedorrelax{pdflastypos}{% + \expandafter\@tempswafalse + }{}% +} +\if@tempswa\else + \PackageError{scrlayer-notecolumn}{missing pdfTeX features}{% + This package needs \string\pdfsavepos\space and + \string\pdflastypos.\MessageBreak + This error is fatal, because usage of the package without these + features\MessageBreak + cannot work!\MessageBreak + You shouldn't continue, but if you'd try, I'll try to abort the LaTeX run + }% + \batchmode\csname @@end\endcsname\end +\fi +%%% From File: $Id: scrlayer.dtx 1480 2013-10-31 10:00:02Z mjk $ (options) +\KOMA@key{markcase}{% + \begingroup + \KOMA@set@ncmdkey{markcase}{reserved@a}{% + {upper}{0},{lower}{1},{used}{2},% + {ignoreuppercase}{3},{nouppercase}{3},% + {ignoreupper}{3},{noupper}{3}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \aftergroup\FamilyKeyStateProcessed + \ifnum \reserved@a>\m@ne + \aftergroup\let\aftergroup\MakeMarkcase + \ifcase \reserved@a + \aftergroup\MakeUppercase + \aftergroup\scrlayer@forceignoreuppercasefalse + \or + \aftergroup\MakeLowercase + \aftergroup\scrlayer@forceignoreuppercasefalse + \or + \aftergroup\@firstofone + \aftergroup\scrlayer@forceignoreuppercasefalse + \else + \aftergroup\scrlayer@ignoreuppercase + \aftergroup\scrlayer@forceignoreuppercasetrue + \fi + \fi + \else + \aftergroup\FamilyKeyStateUnknownValue + \fi + \endgroup +} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @markcase} +\KOMA@ifkey{autooneside}{scrlayer@autooneside}\scrlayer@autoonesidetrue +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @autooneside} +\KOMA@key{automark}[]{% + \scrlayer@testunexpectedarg{automark}{#1}% + \scrlayer@AtEndOfPackage{% + \if@chapter + \automark[section]{chapter}% + \else + \automark[subsection]{section}% + \fi + }% + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @automark} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @automark@default} +\KOMA@key{manualmark}[]{% + \scrlayer@testunexpectedarg{manualmark}{#1}% + \scrlayer@AtEndOfPackage{\manualmark}% + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @manualmark} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @manualmark@default} +\KOMA@key{onpsselect}{% + \l@addto@macro{\@ps@initialhook}{#1}% + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsselect} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsselect@default} +\KOMA@key{onpsinit}{% + \l@addto@macro{\@ps@hook}{#1}% + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsinit} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsinit@default} +\KOMA@key{onpsoneside}{% + \l@addto@macro{\@ps@onesidehook}{#1}% + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsoneside} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsoneside@default} +\KOMA@key{onpstwoside}{% + \l@addto@macro{\@ps@twosidehook}{#1}% + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpstwoside} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpstwoside@default} +\KOMA@key{onpsoddpage}{% + \l@addto@macro{\@ps@oddpagehook}{#1}% + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsoddpage} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsoddpage@default} +\KOMA@key{onpsevenpage}{% + \l@addto@macro{\@ps@evenpagehook}{#1}% + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsevenpage} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsevenpage@default} +\KOMA@key{onpsfloatpage}{% + \l@addto@macro{\@ps@floatpagehook}{#1}% + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsfloatpage} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsfloatpage@default} +\KOMA@key{onpsnonfloatpage}{% + \l@addto@macro{\@ps@nonfloatpagehook}{#1}% + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsnonfloatpage} +\scrlayer@AddCsToInterface{% + KV@KOMA.\@currname.\@currext @onpsnonfloatpage@default} +\KOMA@key{onpsbackground}{% + \l@addto@macro{\@ps@backgroundhook}{#1}% + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsbackground} +\scrlayer@AddCsToInterface{% + KV@KOMA.\@currname.\@currext @onpsbackground@default} +\KOMA@key{onpsforeground}{% + \l@addto@macro{\@ps@foregroundhook}{#1}% + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsforeground} +\scrlayer@AddCsToInterface{% + KV@KOMA.\@currname.\@currext @onpsforeground@default} +\KOMA@ifkey{deactivatepagestylelayers}{scrlayer@deactivate@layers} +\scrlayer@AddCsToInterface{% + KV@KOMA.\@currname.\@currext @deactivatepagestylelayers} +\scrlayer@AddCsToInterface{% + KV@KOMA.\@currname.\@currext @deactivatepagestylelayers@default} +\KOMA@ifkey{draft}{scrlayer@draft} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @draft} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @draft@default} +\KOMA@ifkey{forceoverwrite}{scrlayer@forceoverwrite} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @forceoverwrite} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @forceoverwrite@default} +\KOMA@ifkey{autoremoveinterfaces}{scrlayer@autoremoveinterfaces} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @autoremoveinterfaces} +\scrlayer@AddCsToInterface{% + KV@KOMA.\@currname.\@currext @autoremoveinterfaces@default} +%%% From File: $Id: scrlayer-notecolumn.dtx 1514 2013-11-15 08:23:09Z mjk $ (options) +\KOMA@ifkey{autoclearnotecolumns}{slnc@autoclearnotecolumns}\slnc@autoclearnotecolumnstrue +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @autoclearnotecolumns} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @autoclearnotecolumns@default} +%%% From File: $Id: scrlayer.dtx 1480 2013-10-31 10:00:02Z mjk $ (body) +\KOMAProcessOptions\relax +%%% From File: $Id: scrlayer-notecolumn.dtx 1514 2013-11-15 08:23:09Z mjk $ (body) +\scrlayerAddToInterface\DeclareNoteColumn{% + \newcommand*{\DeclareNoteColumn}[2][]{% + \@ifundefined{slnc@#2@box}{% + \expandafter\newsavebox\csname slnc@#2@box\endcsname + \scrlayerOnAutoRemoveInterface[scrlayer-notecolumn.sty]{% + \expandafter\let\csname slnc@#2@box\endcsname\relax + }% + }{}% + \@ifundefined{slnc@#2@unprocessed}{% + \@namedef{slnc@#2@unprocessed}{}% + \scrlayerOnAutoRemoveInterface[scrlayer-notecolumn.sty]{% + \expandafter\let\csname slnc@#2@unprocessed\endcsname\relax + }% + }{}% + \@ifundefined{slnc@#2@pos}{% + \scrlayerOnAutoRemoveInterface[scrlayer-notecolumn.sty]{% + \expandafter\let\csname slnc@#2@pos\endcsname\relax + }% + }{}% + \@ifundefined{slnc@#2@width}{% + \scrlayerOnAutoRemoveInterface[scrlayer-notecolumn.sty]{% + \expandafter\let\csname slnc@#2@width\endcsname\relax + }% + }{}% + \@ifundefined{scr@fnt@notecolumn.#2}{% + \@ifundefined{@notecolumn.#2font}{% + \scrlayerOnAutoRemoveInterface[scrlayer-notecolumn.sty]{% + \expandafter\let\csname @notecolumn.#2font\endcsname\relax + }% + }{% + \PackageInfo{scrlayer-notecolumn}{using already defined + macro\MessageBreak + `\expandafter\string\csname @notecolumn.#2font\endcsname' for font + element\MessageBreak + `notecolumn.#2'% + }% + }% + \newkomafont{notecolumn.#2}{}% + \scrlayerOnAutoRemoveInterface[scrlayer-notecolumn.sty]{% + \expandafter\let\csname scr@fnt@notecolumn.#2\endcsname\relax + }% + }{% + \PackageInfo{scrlayer-notecolumn}{using already defined font + element\MessageBreak + `notecolumn.#2'% + }% + }% + \newcommand*{\slnc@name}{}% + \edef\slnc@name{#2}% + \FamilyExecuteOptions[.definenotecolumn]{KOMAarg}{marginpar,#1}% + \let\slnc@name\relax + \DeclareLayer[% + foreground,% + align=tl,% + voffset=1in+\topmargin+\headheight+\headsep,% + height=\dimexpr\textheight+\topskip\relax,% + hoffset=\csname slnc@#2@pos\endcsname,% + width=\csname slnc@#2@width\endcsname,% + contents=\slnc@processnotes{#2}% + ]{notecolumn.#2} + \AddLayersToPageStyle{@everystyle@}{notecolumn.#2}% + \scrlayerOnAutoRemoveInterface[scrlayer-notecolumn.sty]{% + \RemoveLayersFromPageStyle{@everystyle@}{notecolumn.#2}% + \DestroyLayer{notecolumn.#2}% + }% + \@cons\slnc@processnotecolumns{{#2}}% + }% +} +\scrlayerAddToInterface\slnc@processnotecolumns{% + \newcommand*{\slnc@processnotecolumns}{}% +} +\scrlayerAddToInterface\slnc@testforpagestylewarning{% + \newcommand*{\slnc@testforpagestylewarning}{% + \IfLayerPageStyleExists{\currentpagestyle}{}{% + \PackageWarning{scrlayer-notecolumn}{% + output of note columns delayed,\MessageBreak + because with `\currentpagestyle'\MessageBreak + a page style has been selected, that\MessageBreak + isn't a layer page style,% + }% + }% + }% +} +\AfterSelectAnyPageStyle{\slnc@testforpagestylewarning} +\DefineFamilyMember[.definenotecolumn]{KOMAarg} +\DefineFamilyKey[.definenotecolumn]{KOMAarg}{position}{% + \@namedef{slnc@\slnc@name @pos}{\dimexpr #1\relax}% + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@position} +\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@position@default} +\DefineFamilyKey[.definenotecolumn]{KOMAarg}{width}{% + \@namedef{slnc@\slnc@name @width}{\dimexpr #1\relax}% + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@width} +\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@width@default} +\DefineFamilyKey[.definenotecolumn]{KOMAarg}{font}{% + \setkomafont{notecolumn.\slnc@name}{#1}% + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@font} +\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@font@default} +\DefineFamilyKey[.definenotecolumn]{KOMAarg}{marginpar}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{marginpar}{#1}% + \edef\reserved@a{\noexpand\slnc@defpos{\slnc@name}}\reserved@a + \@namedef{slnc@\slnc@name @width}{\marginparwidth}% +} +\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@marginpar} +\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@marginpar@default} +\scrlayerAddToInterface\slnc@defpos{% + \newcommand*\slnc@defpos[1]{% + \@namedef{slnc@#1@pos}{% + \ifodd\value{page} + \if@reversemargin + \dimexpr \oddsidemargin+1in + -\marginparsep-\csname slnc@#1@width\endcsname\relax + \else + \dimexpr \oddsidemargin+1in + +\textwidth+\marginparsep\relax + \fi + \else + \if@twoside + \if@reversemargin + \dimexpr \evensidemargin+1in + +\textwidth+\marginparsep\relax + \else + \dimexpr \evensidemargin+1in + -\marginparsep-\csname slnc@#1@width\endcsname\relax + \fi + \else + \if@reversemargin + \dimexpr \oddsidemargin+1in + -\marginparsep-\csname slnc@#1@width\endcsname\relax + \else + \dimexpr \oddsidemargin+1in + +\textwidth+\marginparsep\relax + \fi + \fi + \fi + }% + }% +}% +\DefineFamilyKey[.definenotecolumn]{KOMAarg}{normalmarginpar}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{normalmarginpar}{#1}% + \edef\reserved@a{\noexpand\slnc@defnormalpos{\slnc@name}}\reserved@a + \@namedef{slnc@\slnc@name @width}{\marginparwidth}% +} +\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@normalmarginpar} +\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@normalmarginpar@default} +\scrlayerAddToInterface\slnc@defnormalpos{% + \newcommand*\slnc@defnormalpos[1]{% + \@namedef{slnc@#1@pos}{% + \ifodd\value{page} + \dimexpr \oddsidemargin+1in + +\textwidth+\marginparsep\relax + \else + \if@twoside + \dimexpr \evensidemargin+1in + -\marginparsep-\csname slnc@#1@width\endcsname\relax + \else + \dimexpr \oddsidemargin+1in + +\textwidth+\marginparsep\relax + \fi + \fi + }% + }% +}% +\DefineFamilyKey[.definenotecolumn]{KOMAarg}{reversemarginpar}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{reversemarginpar}{#1}% + \edef\reserved@a{\noexpand\slnc@defreversepos{\slnc@name}}\reserved@a + \@namedef{slnc@\slnc@name @width}{\marginparwidth}% +} +\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@reversemarginpar} +\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@reversemarginpar@default} +\scrlayerAddToInterface\slnc@defreversepos{% + \newcommand*\slnc@defreversepos[1]{% + \@namedef{slnc@#1@pos}{% + \ifodd\value{page} + \dimexpr \oddsidemargin+1in + -\marginparsep-\csname slnc@#1@width\endcsname\relax + \else + \if@twoside + \dimexpr \evensidemargin+1in + +\textwidth+\marginparsep\relax + \else + \dimexpr \oddsidemargin+1in + -\marginparsep-\csname slnc@#1@width\endcsname\relax + \fi + \fi + }% + }% +}% +\scrlayerAddToInterface\DeclareNewNoteColumn{% + \newcommand*{\DeclareNewNoteColumn}[2][]{% + \scr@ifundefinedorrelax{slnc@#2@box}{}{% + \PackageError{scrlayer-notecolumn}{note column `#2' already defined}{% + You may declare only note columns, that haven't been declared + previously using\MessageBreak + \string\DeclareNewNoteColumn. See also the alternatives + \string\RedeclareNoteColumn,\MessageBreak + \string\ProvideNoteColumn, and \string\DeclareNoteColumn.\MessageBreak + Nevertheless, if you'll continue, declaration will be done.% + }% + }% + \DeclareNoteColumn[{#1}]{#2}% + }% +} +\scrlayerAddToInterface\ProvideNoteColumn{% + \newcommand*{\ProvideNoteColumn}[2][]{% + \scr@ifundefinedorrelax{slnc@#2@box}{}{% + \PackageInfo{scrlayer-notecolumn}{\string\ProvideNoteColumn{#2} + ignored,\MessageBreak + because of already defined\MessageBreak + not column}% + }{% + \DeclareNoteColumn[{#1}]{#2}% + }% + }% +} +\scrlayerAddToInterface\RedeclareNoteColumn{% + \newcommand*{\RedeclareNoteColumn}[2][]{% + \scr@ifundefinedorrelax{slnc@#2@box}{% + \PackageError{scrlayer-notecolumn}{note column `#2' undefined}{% + You may declare only note columns, that have been declared + previously using\MessageBreak + \string\RedeclareNoteColumn. See also the alternatives + \string\DeclareNewNoteColumn,\MessageBreak + \string\ProvideNoteColumn, and \string\DeclareNoteColumn.\MessageBreak + Nevertheless, if you'll continue, declaration will be done.% + }% + }{}% + \DeclareNoteColumn[{#1}]{#2}% + }% +} +\scrlayerAddToInterface\tf@slnc{% + \newwrite\tf@slnc + \AtBeginDocument{% + \immediate\write\@auxout{% + \noexpand\csname slnc@initwrite\noexpand\endcsname + }% + }% + \AtEndDocument{\let\slnc@initwrite\slnc@openwrite}% +} +\scrlayerAddToInterface\slnc@initwrite{}% +\scrlayerAddToInterface\slnc@openwrite{% + \newcommand*{\slnc@openwrite}{% + \immediate\closeout\slnc@file + \PackageInfo{scrlayer-notecolumn}{% + Opening `\jobname.slnc'\MessageBreak + for writing}% + \immediate\openout\tf@slnc\jobname.slnc + }% +} +\AfterReadingMainAux{% + \immediate\closeout\tf@slnc + \scr@ifundefinedorrelax{pdfmdfivesum}{% + \PackageWarningNoLine{scrlayer-notecolumn}{% + \string\pdfmdfivesum\space unavailable.\MessageBreak + The package needs \string\pdfmdfivesum\space to test\MessageBreak + whether or not one more LaTeX run will\MessageBreak + be needed to make the note columns\MessageBreak + right. If this command is unavailable\MessageBreak + you have to do the decision without\MessageBreak + this help of the package.% + }% + }{% + \begingroup + \edef\reserved@a{\pdfmdfivesum file {\jobname.slnc}}% + \ifx \slnc@mdfivesum\reserved@a + \PackageInfo{scrlayer-notecolumn}{% + MD5 of current `\jobname.slnc':\MessageBreak + \reserved@a}% + \else + \PackageWarningNoLine{scrlayer-notecolumn}{% + MD5 of slnc-file changed.\MessageBreak + Last: \slnc@mdfivesum\MessageBreak + New: \space \reserved@a\MessageBreak + At least one more LaTeX rerun need to\MessageBreak + make note columns right% + }% + \aftergroup\@tempswatrue + \fi + \endgroup + }% +} +\scrlayerAddToInterface\makenote{% + \newcommand{\makenote}[2][marginpar]{% + \@bsphack + \pdfsavepos + \addtocontents{slnc}{% + \string\slnc@note{#1}% + {\noexpand\number\value{slncpage}}% + {\noexpand\number\pdflastypos}% + {#2}% + }% + \@esphack + }% +} +\@ifundefined{c@slncpage}{% + \newcounter{slncpage}% + \AddToLayerPageStyleOptions{@everystyle@}{% + onbackground=\stepcounter{slncpage}% + }% +}{} +\scrlayerAddToInterface\slnc@processnotes{% + \newcommand*{\slnc@processnotes}[1]{% + \begingroup + \slnc@readnotes{\value{slncpage}}% + \expandafter\let\expandafter\reserved@a + \csname slnc@#1@unprocessed\endcsname + \expandafter\global + \expandafter\let\csname slnc@#1@unprocessed\endcsname\@empty + \def\slnc@notesyncfonttest##1{% + \ifhmode + \PackageError{scrlayer-notecolumn}{% + illegal font setting for `notecolumn.##1'% + }{% + Current setting of font for `notecolumn.##1' switches + from\MessageBreak + vertical mode to horizontal mode. This is + illegal!\MessageBreak + You have to change the font setting to fix + this.\MessageBreak + If you'll continue vertical alignment of notes may fail% + }% + \par\vskip-\dimexpr \baselineskip+\parskip\relax + \fi + }% + \long\def\slnc@note##1##2##3##4{% + \let\PackageInfo\PackageWarning + \ifnum ##2>\value{slncpage}\relax + \expandafter\g@addto@macro\csname slnc@#1@unprocessed\endcsname{% + \slnc@note{##1}{##2}{##3}{##4}% + }% + \else + \ifnum ##2<\value{slncpage}\relax + \PackageWarning{scrlayer-notecolumn}{note of type `#1' delayed.}% + \fi + \boxmaxdepth\maxdepth + \expandafter\setbox\csname slnc@#1@box\endcsname\vbox{% + \expandafter\hsize\csname slnc@#1@width\endcsname + \normalfont\normalsize + {% + \let\color\@gobble + \usekomafont{notecolumn.#1}{% + \slnc@notesyncfonttest{#1}% + \expandafter\ifvoid\csname slnc@#1@box\endcsname + \expandafter\setbox\csname slnc@#1@box\endcsname\vbox{% + \kern\dimexpr\topskip-\baselineskip\relax + }% + \fi + \scr@ifundefinedorrelax{pdfpageheight}{% + \@tempdima=\paperheight + }{% + \@tempdima=\pdfpageheight + }% + \@tempdima=\dimexpr \@tempdima-##3sp + -1in-\topmargin + -\headheight-\headsep + -\baselineskip + \relax + \@tempdimb=\dimexpr \expandafter\ht\csname slnc@#1@box\endcsname + +\expandafter\dp\csname slnc@#1@box\endcsname + \relax + \typeout{Soll: \the\@tempdima^^JIst: \space\the\@tempdimb}% + \ifdim\@tempdima<\@tempdimb + \PackageInfo{scrlayer-notecolumn}{% + Note moved down from\MessageBreak + \the\@tempdima\space to \the\@tempdimb\MessageBreak + at note box `#1' + }% + \else + \ifdim\@tempdima>\@tempdimb + \PackageInfo{scrlayer-notecolumn}{% + Adding vertical white space from\MessageBreak + \the\@tempdimb\space to \the\@tempdima\MessageBreak + into note box `#1' + }% + \expandafter\setbox\csname slnc@#1@box\endcsname + \vbox {% + \expandafter\unvbox\csname slnc@#1@box\endcsname + \kern\dimexpr\@tempdima-\@tempdimb\relax + }% + \fi + \fi + \expandafter\ifvoid\expandafter\csname slnc@#1@box\endcsname + \else + \@tempdima\dimexpr + \dp\strutbox + -\dp\csname slnc@#1@box\endcsname + \relax + \expandafter\unvbox\csname slnc@#1@box\endcsname + \ifdim\@tempdima>\z@ \kern\@tempdima\fi + \fi + \strut\ignorespaces ##4\par + }% + }% + }% + \fi + }% + \def\slnc@sync##1##2##3##4{% + \ifnum ##2>\value{slncpage}\relax + \expandafter\g@addto@macro\csname slnc@#1@unprocessed\endcsname{% + \slnc@sync{##1}{##2}{##3}{}% + }% + \else + \if@filesw + \expandafter\setbox\csname slnc@#1@box\endcsname\vbox{% + \expandafter\unvbox\csname slnc@#1@box\endcsname + \pdfsavepos + \protected@write\@auxout{}{% + \string\newlabel{notecolumn.##1.##3.syncnote.label}{% + {% + \noexpand\number\pdflastypos + }{\thepage}% + }% + }% + }% + \fi + \fi + }% + \reserved@a + \expandafter\ifvoid\csname slnc@#1@box\endcsname + \PackageInfo{scrlayer-notecolumn}{Note box `#1' empty}% + \else + \ifdim \dimexpr \expandafter\ht\csname slnc@#1@box\endcsname + +\expandafter\dp\csname slnc@#1@box\endcsname + \relax >\textheight\relax + \PackageInfo{scrlayer-notecolumn}{Split note box `#1'}% + \splittopskip\topskip + \splitmaxdepth\baselineskip + \usekomafont{notecolumn.#1}{% + \expandafter\vsplit\csname slnc@#1@box\endcsname to + \textheight\relax + }% + \expandafter\ifvoid\csname slnc@#1@box\endcsname + \else + \expandafter\setbox\csname slnc@#1@box\endcsname\vbox{% + \expandafter\unvbox\csname slnc@#1@box\endcsname + }% + \fi + \else + \PackageInfo{scrlayer-notecolumn}{Flush note box `#1'}% + \usekomafont{notecolumn.#1}{% + \expandafter\box\csname slnc@#1@box\endcsname% + }% + \fi + \fi + \expandafter\global + \expandafter\setbox\csname slnc@#1@box\expandafter\endcsname + \expandafter\box\csname slnc@#1@box\endcsname + \endgroup + } +} +\scrlayerAddToInterface\slnc@readnotes{% + \newcommand*\slnc@readnotes[1]{% + \ifeof\slnc@file\else + \ifnum \number #1<\slnc@unprocessed\relax + \@tempswafalse + \else + \@tempswatrue + \fi + \@whilesw\if@tempswa\fi{% + \edef\reserved@a{% + \noexpand\makeatletter + \endlinechar\m@ne + \read\noexpand\slnc@file to\noexpand\reserved@a + \endlinechar\the\endlinechar\relax + \catcode`\noexpand\@=\the\catcode`\@\relax + }% + \reserved@a + \expandafter\slnc@iofv\expandafter\reserved@b\reserved@a + \@empty\@empty\@empty\@empty\@empty + \@tempswafalse + \@for\reserved@c :={\slnc@note },{\slnc@sync }\do{% + \ifx\reserved@b\reserved@c \@tempswatrue\fi + }% + \if@tempswa + \@tempswafalse + \expandafter\slnc@iiiofv\expandafter\reserved@b\reserved@a + \@empty\@empty\@empty\@empty\@empty + \ifx\reserved@b\@empty + \PackageError{scrlayer-notecolumn}{internal syntax error}{% + Unexpected syntax of file `\jobname.slnc'.\MessageBreak + Second argument should be a number.\MessageBreak + I don't know what to do with\MessageBreak + \expandafter\detokenize\expandafter{\reserved@a}% + }% + \@tempswatrue + \else + \global\let\slnc@unprocessed\reserved@b + \expandafter\slnc@iiofv\expandafter\reserved@b\reserved@a + \@empty\@empty\@empty\@empty\@empty + \@ifundefined{slnc@\reserved@b @unprocessed}{% + \PackageWarning{scrlayer-notecolumn}{% + column `\reserved@b' undefined.\MessageBreak + You should declare the column before the usage.\MessageBreak + Notes will be lost + }% + }{% + \expandafter\g@addto@macro + \csname slnc@\reserved@b @unprocessed\expandafter\endcsname + \expandafter{% + \reserved@a + }% + }% + \ifnum \number #1<\slnc@unprocessed\relax + \@tempswafalse + \else + \@tempswatrue + \fi + \fi + \else + \PackageInfo{scrlayer-notecolumn}{% + Ignoring `\expandafter\detokenize\expandafter{\reserved@a}'}% + \@tempswatrue + \fi + \ifeof\slnc@file\@tempswafalse\fi + }% + \fi + }% +} +\scrlayerAddToInterface\slnc@iofv{% + \newcommand\slnc@iofv[6]{\def#1{#2}}% +} +\scrlayerAddToInterface\slnc@iiofiv{% + \newcommand\slnc@iiofv[6]{\def#1{#3}}% +} +\scrlayerAddToInterface\slnc@iiiofiv{% + \newcommand\slnc@iiiofv[6]{\def#1{#4}}% +} +\scrlayerAddToInterface\slnc@unprocessed{% + \newcommand*{\slnc@unprocessed}{0}% +} +\scrlayerAddToInterface\slnc@mdfivesum{% + \let\slnc@mdfivesum\@empty +} +\scrlayerAddToInterface\slnc@file{% + \scr@ifundefinedorrelax{pdfmdfivesum}{}{% + \xdef\slnc@mdfivesum{\pdfmdfivesum file {\jobname.slnc}}% + \PackageInfo{scrlayer-notecolumn}{% + MD5 of last `\jobname.slnc':\MessageBreak + \slnc@mdfivesum}% + }% + \newread\slnc@file + \immediate\openin\slnc@file \jobname.slnc + \scrlayerOnAutoRemoveInterface{\immediate\closeout\slnc@file}% +} +\scrlayerAddToInterface\c@slnc@clearnote@label{% + \newcounter{slnc@clearnote@label}% +} +\scrlayerAddToInterface\clearnotecolumn{% + \newcommand*\clearnotecolumn[1][marginpar]{% + \begingroup + \slnc@autoclearnotecolumnsfalse + \stepcounter{slnc@clearnote@label}% + \if@filesw + \protected@write\@auxout{% + \let\theslncpage\relax + \let\slnc@voidtest\relax + }{% + \string\newlabel{notecolumn.\theslnc@clearnote@label}% + {{\theslncpage}{\slnc@voidtest{#1}}}% + }% + \fi + \scr@ifundefinedorrelax{r@notecolumn.\theslnc@clearnote@label}{% + \PackageInfo{scrlayer-notecolumn}{% + Using estimated to low value for clearing\MessageBreak + note colum `#1'% + } + \edef\slnc@cmp@value{\the\value{slncpage}}% + \let\reserved@a\z@ + }{% + \edef\reserved@a{% + \@nameuse{r@notecolumn.\theslnc@clearnote@label}\@empty\@empty + }% + \edef\slnc@cmp@value{\expandafter\slnc@firstof\reserved@a\@nil}% + \edef\reserved@a{\expandafter\slnc@secondof\reserved@a\@nil}% + }% + \ifnum \reserved@a=\z@ + \ifvmode + \ifdim \pagetotal<\topskip + \else + \slnc@readnotes{\slnc@cmp@value}% + \fi + \else + \slnc@readnotes{\slnc@cmp@value}% + \fi + \begingroup + \aftergroup\@tempswafalse + \long\def\slnc@note##1##2##3##4{% + \ifnum ##2>\slnc@cmp@value\relax \else \aftergroup\@tempswatrue\fi + }% + \let\slnc@sync\slnc@note + \csname slnc@#1@unprocessed\endcsname + \endgroup + \else + \PackageInfo{scrlayer-notecolumn}{% + box of note column `#1'\MessageBreak + not empty after page of \string\clearnotecolumn}% + \@tempswatrue + \fi + \if@tempswa + \IfLayerPageStyleExists{\currentpagestyle}{}{% + \PackageWarning{scrlayer-notecolumn}{% + \string\clearnotecolumn\space while active non-layer page + style.\MessageBreak + Activate empty page style until note column\MessageBreak + has been cleared% + }% + \pagestyle{empty}% + }% + \@tempswatrue + \fi + \@whilesw\if@tempswa\fi{% + \clearpage + \expandafter\ifcase \slnc@voidtest{#1}% + \begingroup + \aftergroup\@tempswafalse + \long\def\slnc@note##1##2##3##4{% + \ifnum ##2>\slnc@cmp@value\relax \else \aftergroup\@tempswatrue\fi + }% + \let\slnc@sync\slnc@note + \csname slnc@#1@unprocessed\endcsname + \endgroup + \else + \@tempswatrue + \fi + \if@tempswa + \null + \fi + }% + \endgroup + }% +} +\scrlayerAddToInterface{\slnc@firstof}{% + \def\slnc@firstof#1#2\@nil{#1}% +} +\scrlayerAddToInterface{slnc@secondof}{% + \def\slnc@secondof#1#2#3\@nil{#2}% +} +\scrlayerAddToInterface\slnc@voidtest{% + \newcommand*{\slnc@voidtest}[1]{% + \expandafter\ifvoid \csname slnc@#1@box\endcsname \z@\else \@ne\fi + }% +} +\scrlayerAddToInterface\clearnotecolumns{% + \newcommand*\clearnotecolumns[1][\relax]{% + \begingroup + \slnc@autoclearnotecolumnsfalse + \ifx\relax#1\relax\else + \let\slnc@processnotecolumns\@empty + \edef\reserved@a{#1}% + \expandafter\@for\expandafter\reserved@a\expandafter:\expandafter=% + \reserved@a\do {% + \ifx\reserved@a\@empty\else + \expandafter\l@addto@macro\expandafter\slnc@processnotecolumns + \expandafter{\expandafter\@elt\expandafter{\reserved@a}}% + \fi + }% + \fi + \stepcounter{slnc@clearnote@label}% + \if@filesw + \begingroup + \def\@elt##1{+\slnc@voidtest{##1}}% + \protected@write\@auxout{% + \let\theslncpage\relax + \let\slnc@voidtest\relax + }{% + \string\newlabel{notecolumn.\theslnc@clearnote@label}% + {{\theslncpage}{\numexpr \slnc@processnotecolumns\relax}}% + }% + \endgroup + \fi + \scr@ifundefinedorrelax{r@notecolumn.\theslnc@clearnote@label}{% + \begingroup + \def\@elt##1{, `##1'}% + \PackageInfo{scrlayer-notecolumn}{% + Using estimated to low value for\MessageBreak + clearing note colums\MessageBreak + \expandafter\@gobble\slnc@processnotecolumns + }% + \endgroup + \edef\slnc@cmp@value{\the\value{slncpage}}% + \let\reserved@a\z@ + }{% + \edef\reserved@a{% + \@nameuse{r@notecolumn.\theslnc@clearnote@label}\@empty\@empty + }% + \edef\slnc@cmp@value{\expandafter\slnc@firstof\reserved@a\@nil}% + \edef\reserved@a{\expandafter\slnc@secondof\reserved@a\@nil}% + }% + \ifcase \reserved@a\relax + \ifvmode + \ifdim \pagetotal<\topskip + \else + \slnc@readnotes{\slnc@cmp@value}% + \fi + \else + \slnc@readnotes{\slnc@cmp@value}% + \fi + \begingroup + \aftergroup\@tempswafalse + \long\def\slnc@note##1##2##3##4{% + \ifnum ##2>\slnc@cmp@value\relax \else \aftergroup\@tempswatrue\fi + }% + \let\slnc@sync\slnc@note + \def\@elt##1{\csname slnc@##1@unprocessed\endcsname}% + \slnc@processnotecolumns + \endgroup + \else + \PackageInfo{scrlayer-notecolumn}{% + box of at least one note column\MessageBreak + not empty after page of \string\clearnotecolumns}% + \@tempswatrue + \fi + \if@tempswa + \IfLayerPageStyleExists{\currentpagestyle}{}{% + \PackageWarning{scrlayer-notecolumn}{% + \string\clearnotecolumns\space while active non-layer page + style.\MessageBreak + Activate empty page style until note column\MessageBreak + has been cleared% + }% + \pagestyle{empty}% + }% + \@tempswatrue + \fi + \@whilesw\if@tempswa\fi{% + \clearpage + \begingroup + \def\@elt##1{+\slnc@voidtest{##1}}% + \ifcase \numexpr \slnc@processnotecolumns\relax + \aftergroup\@tempswafalse + \long\def\slnc@note##1##2##3##4{% + \ifnum ##2>\slnc@cmp@value\relax \else \aftergroup\@tempswatrue\fi + }% + \let\slnc@sync\slnc@note + \def\@elt##1{\csname slnc@##1@unprocessed\endcsname}% + \slnc@processnotecolumns + \else + \aftergroup\@tempswatrue + \fi + \endgroup + \if@tempswa + \null + \fi + }% + \endgroup + }% +} +\scrlayerAddToInterface{\c@slnc@syncpoint}{% + \newcounter{slnc@syncpoint}% +} +\scrlayerAddToInterface{\syncwithnotecolumn}{% + \newcommand*{\syncwithnotecolumn}[1][marginpar]{% + \begingroup + \edef\reserved@a{\endgroup\noexpand\syncwithnotecolumns[{#1}]}% + \reserved@a + }% +} +\scrlayerAddToInterface{\syncwithnotecolumns}{% + \newcommand*{\syncwithnotecolumns}[1][\relax]{% + \begingroup + \ifx\relax#1\relax\else + \let\slnc@processnotecolumns\@empty + \edef\reserved@a{#1}% + \expandafter\@for\expandafter\reserved@a\expandafter:\expandafter=% + \reserved@a\do {% + \ifx\reserved@a\@empty\else + \expandafter\l@addto@macro\expandafter\slnc@processnotecolumns + \expandafter{\expandafter\@elt\expandafter{\reserved@a}}% + \fi + }% + \fi + \stepcounter{slnc@syncpoint}% + \def\@elt##1{% + \addtocontents{slnc}{% + \string\slnc@sync{##1}% + {\noexpand\number\value{slncpage}}% + {\theslnc@syncpoint}% + {}% + }% + }% + \slnc@processnotecolumns + \ifvmode + \let\slnc@voffset\@empty% + \expandafter\@firstofone + \else + \PackageWarning{scrlayer-notecolumn}{% + \string\syncwithnotecolumn\space in hmode.\MessageBreak + Using \string\syncwithnotecolumn\space in horizontal\MessageBreak + mode may result in unwanted vertical\MessageBreak + space inside paragraphs and may lost\MessageBreak + colours of text of notes. \space So perhaps you\MessageBreak + should move \string\syncwithnotecolumn\space before\MessageBreak + or after the paragraph% + }% + \let\slnc@voffset\@empty%\def\slnc@voffset{-\number\baselineskip}% + \expandafter\slnc@vadjust + \fi + {% + \if@filesw + \pdfsavepos + \protected@write\@auxout{}{% + \string\newlabel{notecolumn.\theslnc@syncpoint.synctext.label}{% + {% + \noexpand\number + \numexpr \pdflastypos\slnc@voffset\relax + }{\thepage}% + }% + }% + \fi + \@ifundefined{r@notecolumn.\theslnc@syncpoint.synctext.label}{% + \PackageInfo{scrlayer-notecolumn}{% + No text label for \string\syncwithnotecolumn.\MessageBreak + Need rerun to sync position}% + }{% + \edef\reserved@a{% + \@nameuse{r@notecolumn.\theslnc@syncpoint.synctext.label}% + \@empty\@empty + }% + \edef\slnc@textpos{\expandafter\slnc@firstof\reserved@a\@nil}% + \edef\slnc@textpage{\expandafter\slnc@secondof\reserved@a\@nil}% + \let\slnc@notepos\slnc@textpos + \let\slnc@notepage\slnc@textpage + \def\@elt##1{% + \@ifundefined{r@notecolumn.##1.\theslnc@syncpoint.syncnote.label}{% + \PackageInfo{scrlayer-notecolumn}{% + No note label for sync with note column\MessageBreak + `##1'.\MessageBreak + Need rerun to sync position}% + \G@refundefinedtrue + }{% + \edef\reserved@a{% + \@nameuse{r@notecolumn.##1.\theslnc@syncpoint.syncnote.label}% + \@empty\@empty + }% + \edef\reserved@b{\expandafter\slnc@firstof\reserved@a\@nil}% + \edef\reserved@c{\expandafter\slnc@secondof\reserved@a\@nil}% + \ifnum \slnc@notepage<\reserved@c\relax + \let\slnc@notepos=\reserved@b + \let\slnc@notepage=\reserved@c + \else + \ifnum \slnc@notepage=\reserved@c\relax + \ifnum \slnc@notepos>\reserved@b + \let\slnc@notepos=\reserved@b + \let\slnc@notepage=\reserved@c + \fi + \fi + \fi + }% + }% + \slnc@processnotecolumns + \ifnum\slnc@textpage>\slnc@notepage\relax + \PackageInfo{scrlayer-notecolumn}{% + Last note page before last text page.\MessageBreak + Need rerun to sync position}% + \else + \ifnum\slnc@textpage<\slnc@notepage\relax + \@whilenum \slnc@textpage<\slnc@notepage\do {% + \newpage\null\vskip-\dimexpr \baselineskip+\parskip\relax + \edef\slnc@textpage{\the\numexpr\slnc@textpage+1\relax}% + }% + \scr@ifundefinedorrelax{pdfpageheight}{% + \@tempdima=\paperheight + }{% + \@tempdima=\pdfpageheight + }% + \@tempdima=\dimexpr \@tempdima + -\topmargin-1in + -\headheight-\headsep + -\topskip+\baselineskip + \relax + \edef\slnc@textpos{\number\@tempdima}% + \PackageInfo{scrlayer-notecolumn}{% + Top position is \slnc@textpos% + }% + \fi + \ifnum\slnc@notepos>\slnc@textpos\relax + \PackageInfo{scrlayer-notecolumn}{% + Last note position before last text\MessageBreak + position.\MessageBreak + Need rerun to sync position% + }% + \else + \ifnum\slnc@notepos<\slnc@textpos\relax + \@tempdima=\numexpr \slnc@textpos-\slnc@notepos\relax sp + \PackageInfo{scrlayer-notecolumn}{% + skipping \the\@tempdima\space to sync% + }% + \vskip\@tempdima + \fi + \fi + \fi + }% + }% + \endgroup + }% +} +\scrlayerAddToInterface\slnc@vadjust{% + \newcommand{\slnc@vadjust}[1]{% + \@bsphack + \vadjust{#1}% + \@esphack + }% +} +\DeclareNoteColumn{marginpar} +\let\reserved@a\clearpage +\def\clearpage{% + \ifslnc@autoclearnotecolumns\clearnotecolumns\relax\fi +}% +\expandafter\g@addto@macro\expandafter\clearpage\expandafter{\reserved@a} +%%% From File: $Id: scrlogo.dtx 1380 2013-10-01 15:31:55Z mjk $ +\@ifundefined{KOMAScript}{% + \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% + M\kern.05em A\kern.1em-\kern.1em Script}}}{} +\endinput +%% +%% End of file `scrlayer-notecolumn.sty'. diff --git a/Master/texmf-dist/tex/latex/koma-script/scrlayer-scrpage.sty b/Master/texmf-dist/tex/latex/koma-script/scrlayer-scrpage.sty new file mode 100644 index 00000000000..6519c581d17 --- /dev/null +++ b/Master/texmf-dist/tex/latex/koma-script/scrlayer-scrpage.sty @@ -0,0 +1,1665 @@ +%% +%% This is file `scrlayer-scrpage.sty', +%% generated with the docstrip utility, extended by scrdocstrip. +%% +%% The original source files were: +%% +%% scrlayer-scrpage.dtx (with options: `interface,trace,scrpage,identify') +%% scrlayer.dtx (with options: `interface,trace,scrpage,init') +%% scrlayer-scrpage.dtx (with options: `interface,trace,scrpage,init') +%% scrlayer.dtx (with options: `interface,trace,scrpage,options') +%% scrlayer-scrpage.dtx (with options: `interface,trace,scrpage,options') +%% scrlayer.dtx (with options: `interface,trace,scrpage,body') +%% scrlayer-scrpage.dtx (with options: `interface,trace,scrpage,body') +%% scrlogo.dtx (with options: `logo') +%% +%% Copyright (c) 2012-2013 Markus Kohm [komascript at gmx info] +%% +%% This file was generated from file(s) of the KOMA-Script bundle. +%% --------------------------------------------------------------- +%% +%% It may be distributed under the conditions of the +%% LaTeX Project Public License in the version distributed together +%% with KOMA-Script, see file `lppl.txt' or `lppl-de.txt'. +%% +%% This file may only be distributed together with a copy of the +%% KOMA-Script bundle. You may however distribute the +%% KOMA-Script bundle without all such generated files. See also +%% `lppl.txt' or `lppl-de.txt' for additional information. +%% +%% The list of files belonging to KOMA-Script distribution is given in +%% the file `manifest.txt'. See also `lppl.txt' or `lppl-de.txt' for +%% additional information. +%% +%% If this file is a beta version, you may not be allowed to distribute +%% it. Look at the comments below to see if this is the case. +%% +%% English and German manuals are part of KOMA-Script bundle. +%% ---------------------------------------------------------- +%% +%% See `README'. +%% +%% The KOMA-Script bundle (but maybe not this file) was based upon the +%% LaTeX 2.09 Script family created by Frank Neukam 1993 and the LaTeX2e +%% standard classes created by The LaTeX3 Project 1994-1996. You may +%% find a complete unmodified copy of LaTeX2e at +%% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. +%% +%%% From File: $Id: scrlayer-scrpage.dtx 1548 2013-12-14 17:36:23Z mjk $ (identify) +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{scrlayer-scrpage}[% + 14/12/2013 v0.9.1548 + package + (end user interface for scrlayer)] +%%% From File: $Id: scrlayer.dtx 1480 2013-10-31 10:00:02Z mjk $ (init) +\RequirePackage{scrlayer} +\scr@ifundefinedorrelax{scrlayer@AtEndOfPackage}{% + \AtEndOfPackage{\let\scrlayer@AtEndOfPackage\@firstofone}% +}{% + \ifx\scrlayer@AtEndOfPackage\@firstofone + \AtEndOfPackage{\let\scrlayer@AtEndOfPackage\@firstofone}% + \fi +} +\let\scrlayer@AtEndOfPackage\AtEndOfPackage +\scrlayerInitInterface +%%% From File: $Id: scrlayer-scrpage.dtx 1548 2013-12-14 17:36:23Z mjk $ (init) +\AtEndOfPackage{% + \scr@ifundefinedorrelax{KOMAClassName}{% + \PackageInfoNoLine{scrlayer-scrpage}{% + auto-selection of `pagestyleset=standard'}% + \FamilyExecuteOptions[.scrlayer-scrpage.sty]{KOMA}{pagestyleset=standard}% + }{% + \PackageInfoNoLine{scrlayer-scrpage}{% + auto-selection of `pagestyleset=KOMA-Script'}% + \FamilyExecuteOptions[.scrlayer-scrpage.sty]{KOMA}% + {pagestyleset=KOMA-Script}% + }% +} +%%% From File: $Id: scrlayer.dtx 1480 2013-10-31 10:00:02Z mjk $ (options) +\KOMA@key{markcase}{% +\scrlayer@AtEndOfPackage{% + \begingroup + \KOMA@set@ncmdkey{markcase}{reserved@a}{% + {upper}{0},{lower}{1},{used}{2},% + {ignoreuppercase}{3},{nouppercase}{3},% + {ignoreupper}{3},{noupper}{3}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \aftergroup\FamilyKeyStateProcessed + \ifnum \reserved@a>\m@ne + \aftergroup\let\aftergroup\MakeMarkcase + \ifcase \reserved@a + \aftergroup\MakeUppercase + \aftergroup\scrlayer@forceignoreuppercasefalse + \or + \aftergroup\MakeLowercase + \aftergroup\scrlayer@forceignoreuppercasefalse + \or + \aftergroup\@firstofone + \aftergroup\scrlayer@forceignoreuppercasefalse + \else + \aftergroup\scrlayer@ignoreuppercase + \aftergroup\scrlayer@forceignoreuppercasetrue + \fi + \fi + \else + \aftergroup\FamilyKeyStateUnknownValue + \fi + \endgroup +}% +} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @markcase} +\KOMA@ifkey{autooneside}{scrlayer@autooneside}\scrlayer@autoonesidetrue +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @autooneside} +\KOMA@key{automark}[]{% + \scrlayer@testunexpectedarg{automark}{#1}% + \scrlayer@AtEndOfPackage{% + \if@chapter + \automark[section]{chapter}% + \else + \automark[subsection]{section}% + \fi + }% + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @automark} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @automark@default} +\KOMA@key{manualmark}[]{% + \scrlayer@testunexpectedarg{manualmark}{#1}% + \scrlayer@AtEndOfPackage{\manualmark}% + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @manualmark} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @manualmark@default} +\KOMA@key{onpsselect}{% + \l@addto@macro{\@ps@initialhook}{#1}% + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsselect} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsselect@default} +\KOMA@key{onpsinit}{% + \l@addto@macro{\@ps@hook}{#1}% + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsinit} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsinit@default} +\KOMA@key{onpsoneside}{% + \l@addto@macro{\@ps@onesidehook}{#1}% + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsoneside} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsoneside@default} +\KOMA@key{onpstwoside}{% + \l@addto@macro{\@ps@twosidehook}{#1}% + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpstwoside} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpstwoside@default} +\KOMA@key{onpsoddpage}{% + \l@addto@macro{\@ps@oddpagehook}{#1}% + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsoddpage} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsoddpage@default} +\KOMA@key{onpsevenpage}{% + \l@addto@macro{\@ps@evenpagehook}{#1}% + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsevenpage} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsevenpage@default} +\KOMA@key{onpsfloatpage}{% + \l@addto@macro{\@ps@floatpagehook}{#1}% + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsfloatpage} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsfloatpage@default} +\KOMA@key{onpsnonfloatpage}{% + \l@addto@macro{\@ps@nonfloatpagehook}{#1}% + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsnonfloatpage} +\scrlayer@AddCsToInterface{% + KV@KOMA.\@currname.\@currext @onpsnonfloatpage@default} +\KOMA@key{onpsbackground}{% + \l@addto@macro{\@ps@backgroundhook}{#1}% + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsbackground} +\scrlayer@AddCsToInterface{% + KV@KOMA.\@currname.\@currext @onpsbackground@default} +\KOMA@key{onpsforeground}{% + \l@addto@macro{\@ps@foregroundhook}{#1}% + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @onpsforeground} +\scrlayer@AddCsToInterface{% + KV@KOMA.\@currname.\@currext @onpsforeground@default} +\KOMA@ifkey{deactivatepagestylelayers}{scrlayer@deactivate@layers} +\scrlayer@AddCsToInterface{% + KV@KOMA.\@currname.\@currext @deactivatepagestylelayers} +\scrlayer@AddCsToInterface{% + KV@KOMA.\@currname.\@currext @deactivatepagestylelayers@default} +\KOMA@ifkey{draft}{scrlayer@draft} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @draft} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @draft@default} +\KOMA@ifkey{forceoverwrite}{scrlayer@forceoverwrite} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @forceoverwrite} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @forceoverwrite@default} +\KOMA@ifkey{autoremoveinterfaces}{scrlayer@autoremoveinterfaces} +\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @autoremoveinterfaces} +\scrlayer@AddCsToInterface{% + KV@KOMA.\@currname.\@currext @autoremoveinterfaces@default} +%%% From File: $Id: scrlayer-scrpage.dtx 1548 2013-12-14 17:36:23Z mjk $ (options) +\KOMA@key{headwidth}{% + \begingroup + \sls@split@at@colon#1::\@nil + \ifx\reserved@a\@empty \let\reserved@a\sls@headwidth\fi + \edef\reserved@a{% + \noexpand\endgroup + \noexpand\sls@set@hf@width{head}{\reserved@b}{\reserved@a}% + }% + \reserved@a + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@headwidth} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@headwidth@default} +\KOMA@key{footwidth}{% + \begingroup + \sls@split@at@colon#1::\@nil + \ifx\reserved@a\@empty \let\reserved@a\sls@footwidth\fi + \edef\reserved@a{% + \noexpand\endgroup + \noexpand\sls@set@hf@width{foot}{\reserved@b}{\reserved@a}% + }% + \reserved@a + \FamilyKeyStateProcessed +} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@footwidth} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@footwidth@default} +\scrlayerAddToInterface\sls@split@at@colon{% + \def\sls@split@at@colon#1:#2:#3\@nil{% + \ifstr{#3}{}{}{% + \ifstr{#3}{:}{}{% + \PackageWarning{scrlayer}{extra `:' found!\MessageBreak + You've used more than one colon at the argument\MessageBreak + of a two value option.\MessageBreak + The extra value(s) will be ignored% + }% + }% + }% + \def\reserved@a{#1}% + \def\reserved@b{#2}% + }% +} +\scrlayerAddToInterface\sls@set@hf@width{% + \newcommand*{\sls@set@hf@width}[3]{% + \sls@settowidthof{\@tempdima}{#3}% + \ifdim\@tempdima>\paperwidth + \PackageWarning + {scrlayer-scrpage}% + {You've set width of #1 to a value\MessageBreak + greater than width of page!\MessageBreak% + I'll reduce width of #1 to width of page}% + \setlength{\@tempdima}{\paperwidth}% + \else + \ifdim\@tempdima<\z@ + \PackageWarning + {scrlayer-scrpage}% + {You've set width of #1 to negative value!\MessageBreak% + I'll set it to 0pt}% + \setlength{\@tempdima}{\z@}% + \fi + \fi + \expandafter\edef\csname sls@#1width\endcsname{\the\@tempdima}% + \setlength{\@tempdima}{\textwidth}% + \addtolength{\@tempdima}{-\csname sls@#1width\endcsname}% + \ifstr{#2}{}{% + \ifdim \csname sls@#1width\endcsname + = \dimexpr \textwidth+\marginparwidth+\marginparsep\relax + \setlength{\@tempdimb}{\z@} + \else + \if@twoside + \setlength{\@tempdimb}{.3333333333\@tempdima}% + \else + \setlength{\@tempdimb}{.5\@tempdima}% + \fi + \fi + }{% + \sls@settowidthof{\@tempdimb}{#2}% + } + \addtolength{\@tempdima}{-\@tempdimb}% + \ifdim\@tempdimb<\z@ + \setlength{\@tempdimb}{-\@tempdimb}% + \expandafter\edef\csname sls@odd#1shift\endcsname{-\the\@tempdimb}% + \else + \expandafter\edef\csname sls@odd#1shift\endcsname{\the\@tempdimb}% + \fi + \ifdim\@tempdima<\z@ + \setlength{\@tempdima}{-\@tempdima}% + \expandafter\edef\csname sls@even#1shift\endcsname{-\the\@tempdima}% + \else + \expandafter\edef\csname sls@even#1shift\endcsname{\the\@tempdima}% + \fi + }% +} +\scrlayerAddToInterface\sls@headwidth{% + \scr@ifundefinedorrelax{@headwidth}{% + \newcommand*{\sls@headwidth}{\textwidth}% + }{% + \newcommand*{\sls@headwidth}{\@headwidth}% + }% +} +\scrlayerAddToInterface\sls@oddheadshift{\newcommand*{\sls@oddheadshift}{\z@}} +\scrlayerAddToInterface\sls@evenheadshift{\newcommand*{\sls@evenheadshift}{\z@}} +\scrlayerAddToInterface\sls@footwidth{% + \scr@ifundefinedorrelax{@footwidth}{% + \newcommand*{\sls@footwidth}{\textwidth}% + }{% + \newcommand*{\sls@footwidth}{\@footwidth}% + }% +} +\scrlayerAddToInterface\sls@oddfootshift{\newcommand*{\sls@oddfootshift}{\z@}} +\scrlayerAddToInterface\sls@evenfootshift{\newcommand*{\sls@evenfootshift}{\z@}} +\scrlayerAddToInterface\sls@settotwidthof{% + \newcommand*{\sls@settowidthof}[2]{% + \ifstr{#2}{paper}{% + \setlength{#1}{\paperwidth}% + }{% + \ifstr{#2}{text}{% + \setlength{#1}{\textwidth}% + }{% + \ifstr{#2}{marginpar}{% + \setlength{#1}{\dimexpr \marginparwidth+\marginparsep\relax}% + }{% + \ifstr{#2}{textwithmarginpar}{% + \setlength{#1}{\dimexpr\textwidth + +\marginparwidth + +\marginparsep\relax}% + }{% + \ifstr{#2}{head}{% + \setlength{#1}{\sls@headwidth}% + }{% + \ifstr{#2}{foot}{% + \setlength{#1}{\sls@footwidth}% + }{% + \ifstr{#2}{headtopline}{% + \setlength{#1}{\sls@headabove@linelength}% + }{% + \ifstr{#2}{headsepline}{% + \setlength{#1}{\sls@headbelow@linelength}% + }{% + \ifstr{#2}{footsepline}{% + \setlength{#1}{\sls@footabove@linelength}% + }{% + \ifstr{#2}{footbotline}{% + \setlength{#1}{\sls@footbelow@linelength}% + }{% + \ifstr{#2}{page}{% + \setlength{#1}{\paperwidth}% + \begingroup + \expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname ta@bcor\endcsname\relax\else + \addtolength{#1}{-\ta@bcor}% + \fi + }{% + \setlength{#1}{\dimexpr #2\relax}% + }% + }% + }% + }% + }% + }% + }% + }% + }% + }% + }% + }% +} +\scrlayerAddToInterface\sls@deftowidthof{% + \newcommand*{\sls@deftowidthof}[2]{% + \ifstr{#2}{autohead}{% + \expandafter\def\csname #1\endcsname{\sls@headwidth}% + }{% + \ifstr{#2}{autofoot}{% + \expandafter\def\csname #1\endcsname{\sls@footwidth}% + }{% + \sls@settowidthof{\@tempdima}{#2}% + \expandafter\edef\csname #1\endcsname{\the\@tempdima}% + }% + }% + }% +} +\KOMA@key{headtopline}[:]{\sls@set@values{head}{above}{#1}} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@headtopline} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@headtopline@default} +\KOMA@key{headsepline}[:]{\sls@set@values{head}{below}{#1}} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@headsepline} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@headsepline@default} +\KOMA@key{footsepline}[:]{\sls@set@values{foot}{above}{#1}} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@footsepline} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@footsepline@default} +\KOMA@key{footbotline}[:]{\sls@set@values{foot}{below}{#1}} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@footbotline} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@footbotline@default} +\scrlayerAddToInterface\sls@set@values{% + \newcommand*{\sls@set@values}[3]{% + \begingroup + \let\reserved@a\@empty + \let\reserved@b\@empty + \ifstr{#3}{true}{\def\reserved@a{.4pt}\def\reserved@b{sls@#1width}}{% + \ifstr{#3}{yes}{\def\reserved@a{.4pt}\def\reserved@b{sls@#1width}}{% + \ifstr{#3}{on}{\def\reserved@a{.4pt}\def\reserved@b{sls@#1width}}{% + \ifstr{#3}{false}{\def\reserved@a{\z@}\def\reserved@b{z@}}{% + \ifstr{#3}{no}{\def\reserved@a{\z@}\def\reserved@b{z@}}{% + \ifstr{#3}{off}{\def\reserved@a{\z@}\def\reserved@b{z@}}{% + }% + }% + }% + }% + }% + }% + \ifx\reserved@a\@empty + \sls@split@at@colon#3::\@nil + \ifx\reserved@a\@empty + \def\reserved@a{\endgroup\@namedef{sls@#1#2@linethickness}{.4pt}}% + \else + \setlength{\@tempdima}{\dimexpr\reserved@a\relax}% + \edef\reserved@a{% + \noexpand\endgroup + \noexpand\@namedef{sls@#1#2@linethickness}{\the\@tempdima}% + }% + \fi + \ifx\reserved@b\@empty + \def\reserved@b{% + \reserved@a + \@namedef{sls@#1#2@linelength}{\@nameuse{sls@#1width}}% + }% + \else + \edef\reserved@b{% + \noexpand\reserved@a + \noexpand\sls@deftowidthof{sls@#1#2@linelength}{\reserved@b}% + }% + \fi + \else + \edef\reserved@b{% + \noexpand\endgroup + \noexpand\@namedef{sls@#1#2@linethickness}{\reserved@a}% + \noexpand\@namedef{sls@#1#2@linelength}{% + \expandafter\noexpand\csname \reserved@b\endcsname + }% + }% + \fi + \reserved@b + }% +} +\scrlayerAddToInterface\sls@headabove@linelength{% + \newcommand*{\sls@headabove@linelength}{\sls@headwidth}% +} +\scrlayerAddToInterface\sls@headabove{% + \newcommand*{\sls@headabove@linethickness}{\z@}% +} +\scrlayerAddToInterface\sls@headbelow@linelength{% + \newcommand*{\sls@headbelow@linelength}{\sls@headwidth}% +} +\scrlayerAddToInterface\sls@headbelow@linethickness{% + \newcommand*{\sls@headbelow@linethickness}{\z@}% +} +\scrlayerAddToInterface\sls@footabove@linelength{% + \newcommand*{\sls@footabove@linelength}{\sls@footwidth}% +} +\scrlayerAddToInterface\sls@footabove@linethickness{% + \newcommand*{\sls@footabove@linethickness}{\z@}% +} +\scrlayerAddToInterface\sls@footbelow@linelength{% + \newcommand*{\sls@footbelow@linelength}{\sls@footwidth}% +} +\scrlayerAddToInterface\sls@footbelow@linethickness{% + \newcommand*{\sls@footbelow@linethickness}{\z@}% +} +\scrlayerAddCsToInterface{ifsls@plain@head@above@line}{% + \KOMA@ifkey{plainheadtopline}{sls@plain@head@above@line}% + \scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@plainheadtopline}% + \scrlayer@AddCsToInterface{% + KV@KOMA.scrlayer-scrpage.sty@plainheadtopline@default}% + \scrlayer@AddCsToInterface{sls@plain@head@above@linetrue} + \scrlayer@AddCsToInterface{sls@plain@head@above@linefalse} +} +\scrlayerAddCsToInterface{ifsls@plain@head@sbelow@line}{% + \KOMA@ifkey{plainheadsepline}{sls@plain@head@below@line}% + \scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@plainheadsepline}% + \scrlayer@AddCsToInterface{% + KV@KOMA.scrlayer-scrpage.sty@plainheadsepline@default}% + \scrlayer@AddCsToInterface{sls@plain@head@below@linetrue}% + \scrlayer@AddCsToInterface{sls@plain@head@below@linefalse}% +} +\scrlayerAddCsToInterface{ifsls@plain@foot@above@line}{% + \KOMA@ifkey{plainfootsepline}{sls@plain@foot@above@line}% + \scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@plainfootsepline}% + \scrlayer@AddCsToInterface{% + KV@KOMA.scrlayer-scrpage.sty@plainfootsepline@default}% + \scrlayer@AddCsToInterface{sls@plain@foot@above@linetrue}% + \scrlayer@AddCsToInterface{sls@plain@foot@above@linefalse}% +} +\scrlayerAddCsToInterface{ifsls@plain@foot@below@line}{% + \KOMA@ifkey{plainfootbotline}{sls@plain@foot@below@line}% + \scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@plainfootbotline}% + \scrlayer@AddCsToInterface{% + KV@KOMA.scrlayer-scrpage.sty@plainfootbotline@default}% + \scrlayer@AddCsToInterface{sls@plain@foot@below@linetrue}% + \scrlayer@AddCsToInterface{sls@plain@foot@below@linefalse}% +} +\scrlayerAddToInterface\sls@hfline@adjust{% + \newcommand*{\sls@hfline@adjust}{0}% +} +\KOMA@key{ilines}[]{% + \ifx\relax#1\relax + \renewcommand*{\sls@hfline@adjust}{0}% + \FamilyKeyStateProcessed + \else + \def\FamilyKeyStateProcessed{unexpected value}% + \fi +} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@ilines} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@ilines@default} +\KOMA@key{clines}[]{% + \ifx\relax#1\relax + \renewcommand*{\sls@hfline@adjust}{1}% + \FamilyKeyStateProcessed + \else + \def\FamilyKeyStateProcessed{unexpected value}% + \fi +} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@clines} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@clines@default} +\KOMA@key{olines}[]{% + \ifx\relax#1\relax + \renewcommand*{\sls@hfline@adjust}{2}% + \FamilyKeyStateProcessed + \else + \def\FamilyKeyStateProcessed{unexpected value}% + \fi +} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@olines} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@olines@default} +\KOMA@key{pagestyleset}{% + \scr@ifundefinedorrelax{sls@ps@style@#1}{% + \FamilyKeyStateUnknownValue + }{% + \@nameuse{sls@ps@style@#1}% + \FamilyKeyStateProcessed + }% +} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@pagestyleset} +\scrlayerAddToInterface\sls@ps@style@standard{% + \newcommand*{\sls@ps@style@standard}{% + \let\MakeMarkcase\MakeUppercase + \scrlayer@AtEndOfPackage{% + \pagestyle{scrheadings}% + \clearpairofpagestyles + \ihead{\headmark}% + \ohead{\pagemark}% + \cfoot[\if@twoside\else\pagemark\fi]{}% + }% + }% +} +\scrlayerAddCsToInterface{sls@ps@style@KOMA-Script}{% + \@namedef{sls@ps@style@KOMA-Script}{% + \let\MakeMarkcase\@firstofone + \scrlayer@AtEndOfPackage{% + \pagestyle{scrheadings}% + \clearpairofpagestyles + \ohead{\if@twoside\headmark\fi}% + \chead{\if@twoside\else\headmark\fi}% + \ofoot[\if@twoside\pagemark\fi]{\if@twoside\pagemark\fi}% + \cfoot[\if@twoside\else\pagemark\fi]{\if@twoside\else\pagemark\fi}% + \scr@ifundefinedorrelax{KOMAClassName}{}{% + \ifstr{\KOMAClassName}{scrlttr2}{% + \clearpairofpagestyles + \lehead[\ifnum\@pageat\z@\pagemark\fi] + {\ifnum\@pageat\z@\pagemark\else\leftmark\fi}% + \lohead[\ifnum\@pageat\z@\pagemark\fi] + {\ifnum\@pageat\z@\pagemark\else\leftmark\fi}% + \chead[\ifnum\@pageat\@ne\pagemark\fi] + {\ifcase\@pageat \rightmark\or \pagemark\or \rightmark\fi}% + \rehead[\ifnum\@pageat\tw@\pagemark\fi] + {\ifcase\@pageat \leftmark\or \rightmark\or \pagemark + \else \rightmark\fi}% + \rohead[\ifnum\@pageat\tw@\pagemark\fi] + {\ifcase\@pageat \leftmark\or \rightmark\or \pagemark + \else \rightmark\fi}% + \lefoot[\ifnum\@pageat\thr@@\pagemark\fi] + {\ifnum\@pageat\thr@@\pagemark\fi}% + \cfoot[\ifnum\@pageat 4 \pagemark\fi] + {\ifnum\@pageat 4 \pagemark\fi}% + \refoot[\ifnum\@pageat 5 \pagemark\fi] + {\ifnum\@pageat 5 \pagemark\fi}% + }{}% + }% + }% + }% +} +\KOMA@DeclareDeprecatedOption[scrlayer-scrpage]{komastyle}{% + pagestyleset=KOMA-Script} +\KOMA@DeclareDeprecatedOption[scrlayer-scrpage]{standardstyle}{% + pagestyleset=standard} +\KOMA@DeclareDeprecatedOption[scrlayer-scrpage]{markuppercase}{markcase=upper} +\KOMA@DeclareDeprecatedOption[scrlayer-scrpage]{markusedcase}{markcase=used} +\KOMA@DeclareDeprecatedOption[scrlayer-scrpage]{nouppercase}{% + markcase=ignoreuppercase% +} +\KOMA@ifkey{hmode}{sls@leavevmode} +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@hmode}% +\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@hmode@default}% +\scrlayer@AddCsToInterface{sls@leavevmode@linetrue} +\scrlayer@AddCsToInterface{sls@leavevmode@linefalse} +%%% From File: $Id: scrlayer.dtx 1480 2013-10-31 10:00:02Z mjk $ (body) +\KOMAProcessOptions\relax +%%% From File: $Id: scrlayer-scrpage.dtx 1548 2013-12-14 17:36:23Z mjk $ (body) +\scrlayerAddToInterface\setheadwidth{% + \newcommand*{\setheadwidth}[2][]{% + \KOMAoptions{headwidth=#2:#1}% + }% +} +\scrlayerAddToInterface\setfootwidth{% + \newcommand*{\setfootwidth}[2][]{% + \KOMAoptions{footwidth=#2:#1}% + }% +} +\scrlayerAddToInterface\setheadtopline{% + \newcommand*{\setheadtopline}{\sls@setline{head}{above}}% +} +\scrlayerAddToInterface\setheadsepline{% + \newcommand*{\setheadsepline}{\sls@setline{head}{below}}% +} +\scrlayerAddToInterface\setfootsepline{% + \newcommand*{\setfootsepline}{\sls@setline{foot}{above}}% +} +\scrlayerAddToInterface\setfootbotline{% + \newcommand*{\setfootbotline}{\sls@setline{foot}{below}}% +} +\scrlayerAddToInterface\sls@setline{% + \newcommand*\sls@setline[2]{% + \@ifnextchar[%] + {\sls@@setline{#1}{#2}}{\sls@@@setline{#1#2}}% + }% +} +\scrlayerAddToInterface\sls@@setline{% + \def\sls@@setline#1#2[#3]{% + \ifstr{#3}{auto}{% + \sls@deftowidthof{sls@#1#2@linelength}{#3#1}% + }{% + \sls@deftowidthof{sls@#1#2@linelength}{#3}% + }% + \sls@@@setline{#1#2}% + }% +} +\scrlayerAddToInterface\sls@@@setline{% + \def\sls@@@setline#1#2{% + \edef\@tempa{#2}\edef\@tempb{current} + \ifstr{#2}{}{}{% + \ifstr{#2}{current}{}{% + \setlength{\@tempdima}{#2}% + \expandafter\edef\csname sls@#1@linethickness\endcsname% + {\the\@tempdima}% + }% + }% + \PackageWarning{scrlayer-scrpage}{% + Command deprecated!\MessageBreak + Usage of `\string\setheadtopline', + `\string\setheadsepline',\MessageBreak + `\string\setfootsepline', and `\string\setfootbotline'\MessageBreak + became deprecated with scrlayer-scrpage.\MessageBreak + You should use KOMA-Script options\MessageBreak + `headsepline', `headtopline', `footsepline',\MessageBreak + or `footbotline' with values\MessageBreak + `<line thickness>:<line length>' to setup\MessageBreak + the line length and thickness, and\MessageBreak + `\string\setkomafont' or `\string\addtokomafont' to\MessageBreak + setup the colour% + }% + \@ifnextchar[%] + {% + \sls@@@@setline{#1}% + }{% + }% + }% +} +\scrlayerAddToInterface\sls@@@@setline{% + \def\sls@@@@setline#1[#2]{% + \ifstr{#1}{headabove}{\setkomafont{headtopline}{#2}}{% + \ifstr{#1}{headbelow}{\setkomafont{headsepline}{#2}}{% + \ifstr{#1}{footabove}{\setkomafont{footsepline}{#2}}{% + \setkomafont{footbotline}{#2}% + }% + }% + }% + }% +} +\@ifundefined{scr@fnt@headtopline}{% + \@ifundefined{@headtoplinefont}{% + \scrlayer@AddCsToInterface{@headtoplinefont}% + }{}% + \newkomafont{headtopline}{}% + \scrlayer@AddCsToInterface{scr@fnt@headtopline}% +}{} +\@ifundefined{scr@fnt@headsepline}{% + \@ifundefined{@headseplinefont}{% + \scrlayer@AddCsToInterface{@headseplinefont}% + }{}% + \newkomafont{headsepline}{}% + \scrlayer@AddCsToInterface{scr@fnt@headsepline}% +}{} +\@ifundefined{scr@fnt@footsepline}{% + \@ifundefined{@footseplinefont}{% + \scrlayer@AddCsToInterface{@footseplinefont}% + }{}% + \newkomafont{footsepline}{}% + \scrlayer@AddCsToInterface{scr@fnt@footsepline}% +}{} +\@ifundefined{scr@fnt@footbotline}{% + \@ifundefined{@footbotlinefont}{% + \scrlayer@AddCsToInterface{@footbotlinefont}% + }{}% + \newkomafont{footbotline}{}% + \scrlayer@AddCsToInterface{scr@fnt@footbotline}% +}{} +\AtBeginDocument{% + \ifdim \headheight <\baselineskip + \PackageWarningNoLine{scrlayer-scrpage}{Very small head height + detected!\MessageBreak + Using scrlayer-scrpage the head height\MessageBreak + should be at least \string\baselineskip, which is\MessageBreak + \the\baselineskip\space currently.\MessageBreak + But head height is currently + \the\headheight\space only.\MessageBreak + You may use\MessageBreak + \@ifpackageloaded{geometry}{% + geometry option `head=\the\baselineskip'% + }{% + \@ifpackageloaded{typearea}{% + typearea option `headheight=\the\baselineskip'% + }{% + \string\setlength{\string\headheight}{\the\baselineskip}% + }% + }\MessageBreak + to avoid this warning% + }% + \fi +} +\scrlayerAddToInterface\defpagestyle{% + \newcommand*{\defpagestyle}[3]{% + \sls@defhead{#1}#2\@empty\@empty\@empty + \sls@deffoot{#1}#3\@empty\@empty\@empty + \DeclarePageStyleByLayers{#1}{% + #1.head.odd,#1.head.even,#1.head.oneside,% + #1.head.above.line,#1.head.below.line,% + #1.foot.odd,#1.foot.even,#1.foot.oneside,% + #1.foot.above.line,#1.foot.below.line% + }% + \edef\reserved@a{% + \noexpand\scrlayerOnAutoRemoveInterface[scrlayer-scrpage.sty]{% + \noexpand\DestroyLayer{#1.head.odd}% + \noexpand\DestroyLayer{#1.head.even}% + \noexpand\DestroyLayer{#1.head.oneside}% + \noexpand\DestroyLayer{#1.head.above.line}% + \noexpand\DestroyLayer{#1.head.below.line}% + \noexpand\DestroyLayer{#1.foot.odd}% + \noexpand\DestroyLayer{#1.foot.even}% + \noexpand\DestroyLayer{#1.foot.oneside}% + \noexpand\DestroyLayer{#1.foot.above.line}% + \noexpand\DestroyLayer{#1.foot.below.line}% + \noexpand\ifstr{\noexpand\currentpagestyle}{#1}{% + \noexpand\PackageWarning{scrlayer-scrpage}{% + page style `#1' not longer valid.\noexpand\MessageBreak + The page style has been defined using\noexpand\MessageBreak + interface `scrlayer-scrpage.sty', that\noexpand\MessageBreak + has been removed% + }% + }{}% + \noexpand\DestroyRealLayerPageStyle{#1}% + }% + }\reserved@a + }% +} +\scrlayerAddToInterface\sls@defhead{% + \newcommand*\sls@defhead[1]{% + \@ifnextchar(%) + {\sls@@defhead{#1}}% + {\sls@@defhead{#1}(\sls@headabove@linelength,\sls@headabove@linethickness)}% + }% +} +\scrlayerAddToInterface\sls@@defhead{% + \def\sls@@defhead#1(#2,#3)#4#5#6{% + \@ifnextchar(%) + {\sls@@@defhead{#1}({#2},{#3}){#4}{#5}{#6}}% + {\sls@@@defhead{#1}% + ({#2},{#3})% + {#4}{#5}{#6}% + (\sls@headbelow@linelength,\sls@headbelow@linethickness)}% + }% +} +\scrlayerAddToInterface\sls@@@defhead{% + \def\sls@@@defhead#1(#2,#3)#4#5#6(#7,#8){% + \DeclareLayer[% + background,% + hoffset=\sls@leftmargin{head},% + voffset=\sls@topmargin+\dp\strutbox,% + width=\sls@headwidth,% + height=0pt,% + align=bl,% + contents={% + {\normalfont\usekomafont{pageheadfoot}{\usekomafont{pagehead}{% + \sls@hf@rule{headtop}{#2}{#3}}}}% + }% + ]{#1.head.above.line}% + \DeclareLayer[% + background,% + hoffset=\sls@leftmargin{head},% + voffset=\sls@topmargin+\headheight-\ht\strutbox+#8,% + width=\sls@headwidth,% + height=0pt,% + align=tl,% + contents={% + {\normalfont\usekomafont{pageheadfoot}{\usekomafont{pagehead}{% + \sls@hf@rule{headsep}{#7}{#8}}}}% + }% + ]{#1.head.below.line}% + \DeclareLayer[% + background,evenpage,twoside,% + head,% + hoffset=\sls@leftmargin{head},% + width=\sls@headwidth,% + contents={% + \sls@secure@box\headheight{% + \normalfont\usekomafont{pageheadfoot}{\usekomafont{pagehead}{#4}}}}% + ]{#1.head.odd}% + \DeclareLayer[% + background,oddpage,twoside,% + head,% + hoffset=\sls@leftmargin{head},% + width=\sls@headwidth,% + contents={% + \sls@secure@box\headheight{% + \normalfont\usekomafont{pageheadfoot}{\usekomafont{pagehead}{#5}}}}% + ]{#1.head.even}% + \DeclareLayer[% + background,oddpage,oneside,% + head,% + hoffset=\sls@leftmargin{head},% + width=\sls@headwidth,% + contents={% + \sls@secure@box\headheight{% + \normalfont\usekomafont{pageheadfoot}{\usekomafont{pagehead}{#6}}}}% + ]{#1.head.oneside}% + }% +} +\scrlayerAddToInterface\sls@deffoot{% + \newcommand*\sls@deffoot[1]{% + \@ifnextchar(%) + {\sls@@deffoot{#1}}% + {\sls@@deffoot{#1}(\sls@footabove@linelength,\sls@footabove@linethickness)}% + }% +} +\scrlayerAddToInterface\sls@@deffoot{% + \def\sls@@deffoot#1(#2,#3)#4#5#6{% + \@ifnextchar(%) + {\sls@@@deffoot{#1}({#2},{#3}){#4}{#5}{#6}}% + {\sls@@@deffoot{#1}% + ({#2},{#3})% + {#4}{#5}{#6}% + (\sls@footbelow@linelength,\sls@footbelow@linethickness)}% + }% +} +\scrlayerAddToInterface\sls@@@deffoot{% + \def\sls@@@deffoot#1(#2,#3)#4#5#6(#7,#8){% + \DeclareLayer[% + foreground,% + hoffset=\sls@leftmargin{foot},% + voffset=\sls@topmargin + +\headheight+\headsep + +\textheight + +\footskip-\footheight + +2\dp\strutbox,% + width=\sls@footwidth,% + height=0pt,% + align=bl,% + contents={% + {\normalfont\usekomafont{pageheadfoot}{\usekomafont{pagefoot}{% + \sls@hf@rule{footsep}{#2}{#3}}}}% + }% + ]{#1.foot.above.line}% + \DeclareLayer[% + foreground,% + hoffset=\sls@leftmargin{foot},% + voffset=\sls@topmargin + +\headheight+\headsep + +\textheight + +\footskip + +2\dp\strutbox + +#8,% + width=\sls@footwidth,% + height=0pt,% + align=bl,% + contents={% + {\normalfont\usekomafont{pageheadfoot}{\usekomafont{pagefoot}{% + \sls@hf@rule{footbot}{#7}{#8}}}}% + }% + ]{#1.foot.below.line}% + \DeclareLayer[% + foreground,evenpage,twoside,% + foot,% + hoffset=\sls@leftmargin{foot},% + width=\sls@footwidth,% + contents={% + \sls@secure@box\footheight{% + \normalfont\usekomafont{pageheadfoot}{\usekomafont{pagefoot}{#4}}}}% + ]{#1.foot.odd}% + \DeclareLayer[% + foreground,oddpage,twoside,% + foot,% + hoffset=\sls@leftmargin{foot},% + width=\sls@footwidth,% + contents={% + \sls@secure@box\footheight{% + \normalfont\usekomafont{pageheadfoot}{\usekomafont{pagefoot}{#5}}}}% + ]{#1.foot.even}% + \DeclareLayer[% + foreground,oddpage,oneside,% + foot,% + hoffset=\sls@leftmargin{foot},% + width=\sls@footwidth,% + contents={% + \sls@secure@box\footheight{% + \normalfont\usekomafont{pageheadfoot}{\usekomafont{pagefoot}{#6}}}}% + ]{#1.foot.oneside}% + }% +} +\scrlayerAddToInterface\sls@secure@box{% + \newcommand*{\sls@secure@box}[2]{% + \begingroup + \setbox\z@\vbox{% + \ifsls@leavevmode\leavevmode\expandafter\ignorespaces\fi + #2% + }% + \ifdim #1<\dimexpr \ht\z@+\dp\z@\relax + \PackageWarning{scrlayer-scrpage}{% + \string#1 to low.\MessageBreak + At least \the\dimexpr \ht\z@+\dp\z@\relax\space needed,\MessageBreak + but only \the#1 found.\MessageBreak + I'll enlarge \string#1, for further\MessageBreak + processing, but you should do this yourself,\MessageBreak + e.g., + \scr@ifundefinedorrelax{geometry}{% + \scr@ifundefinedorrelax{typearea}{% + using\MessageBreak + \space\space\string\setlength{\string#1}{% + \the\dimexpr \ht\z@+\dp\z@\relax}\MessageBreak + in your preamble% + }{% + setting typearea's option\MessageBreak + `\expandafter\@gobble\string#1=\the\dimexpr \ht\z@+\dp\z@\relax'% + }% + }{% + \ifx #1\headheight + setting geometry's option\MessageBreak + `head=\the\dimexpr \ht\z@+\dp\z@\relax'% + \else + using\MessageBreak + \space\space\string\setlength{\string#1}{% + \the\dimexpr \ht\z@+\dp\z@\relax}\MessageBreak + in your preamble% + \fi + }% + .\MessageBreak + I'll also + \ifx #1\headheight decrease \string\topmargin + \else increase \string\footskip\fi + }% + \@tempdima\dimexpr \ht\z@+\dp\z@\relax + \ifx #1\headheight + \global\advance\topmargin by \dimexpr #1-(\ht\z@+\dp\z@)\relax + \dp\z@\dimexpr \dp\z@+\ht\z@+\dp\z@-\headheight\relax + \else + \global\advance\footskip by \dimexpr \ht\z@+\dp\z@-#1\relax + \fi + \global#1\@tempdima + \fi + \usebox\z@ + \endgroup + }% +} +\@ifundefined{scr@fnt@pagehead}{% + \@ifundefined{@pageheadfont}{% + \newkomafont{pagehead}{}% + \scrlayer@AddCsToInterface{@pageheadfont}% + }{% + \newcommand*{\scr@fnt@pagehead}{\@pageheadfont}% + }% + \scrlayer@AddCsToInterface{scr@fnt@pagehead}% +}{} +\@ifundefined{scr@fnt@pageheadfoot}{% + \newcommand*{\scr@fnt@pageheadfoot}{\headfont}% + \scrlayer@AddCsToInterface{scr@fnt@pageheadfoot}% + \@ifundefined{headfont}{% + \newcommand*{\headfont}{\normalcolor\slshape}% + }{} +}{} +\@ifundefined{scr@fnt@pagefoot}{% + \newcommand*{\scr@fnt@pagefoot}{\footfont}% + \scrlayer@AddCsToInterface{scr@fnt@pagefoot}% + \@ifundefined{footfont}{% + \newcommand*{\footfont}{}% + \scrlayer@AddCsToInterface{footfont}% + }{}% + \let\scr@fnt@wrn@pagefoot\relax +}{} +\scrlayerAddToInterface\sls@hf@rule{% + \newcommand*\sls@hf@rule[3]{% + \begingroup + \normalfont\usekomafont{#1line}{% + \vbox to \z@{% + \kern -\dimexpr #3\relax + \ifnum \sls@hfline@adjust>\z@ \@tempswatrue \else \@tempswafalse\fi + \if@twoside\ifodd\value{page}\else + \ifnum \sls@hfline@adjust<\tw@ \@tempswatrue\else \@tempswafalse\fi + \fi\fi + \if@tempswa + \hskip \z@\@plus 1fill\@minus \paperwidth + \fi + \vrule \@width\dimexpr #2\relax \@height\dimexpr #3\relax \@depth\z@ + \ifnum \sls@hfline@adjust<\tw@ \@tempswatrue\else \@tempswafalse\fi + \if@twoside\ifodd\value{page}\else + \ifnum \sls@hfline@adjust>\z@ \@tempswatrue \else \@tempswafalse\fi + \fi\fi + \if@tempswa + \hskip \z@\@plus 1fill\@minus \paperwidth\null + \fi + }% + }% + \endgroup + }% +} +\scrlayerAddToInterface\sls@topmargin{% + \newcommand*{\sls@topmargin}{\dimexpr\topmargin+1in\relax}% +} +\scrlayerAddToInterface\sls@leftmargin{% + \newcommand*{\sls@leftmargin}[1]{% + \dimexpr + \if@twoside + \ifodd\value{page} + \oddsidemargin+\csname sls@odd#1shift\endcsname + \else + \evensidemargin+\csname sls@even#1shift\endcsname + \fi + \else + \oddsidemargin+\csname sls@odd#1shift\endcsname + \fi + +1in\relax + }% +} +\scrlayerAddToInterface\newpagestyle{% + \newcommand*\newpagestyle[3]{% + \@ifundefined{ps@#1}{\defpagestyle{#1}{#2}{#3}}{% + \PackageError{scrlayer-scrpage}{Page style `#1' already defined}{% + Only not yet defined page style may be defined using + \string\newpagestyle.\MessageBreak + You may use either \string\renewpagestyle, \string\providepagestyle, + or \string\defpagestyle\MessageBreak + with already defined page styles.\MessageBreak + If you'll continue, your command will be ignored.% + }% + }% + }% +} +\scrlayerAddToInterface\renewpagestyle{% + \newcommand*\renewpagestyle[3]{% + \@ifundefined{ps@#1}{% + \PackageError{scrlayer-scrpage}{Undefined page style `#1'}{% + Only already defined page style may be re-defined using + \string\renewpagestyle.\MessageBreak + You may use either \string\newpagestyle, \string\providepagestyle, + or \string\defpagestyle\MessageBreak + with not yet defined page styles.\MessageBreak + If you'll continue, your command will be ignored.% + }% + }{% + \defpagestyle{#1}{#2}{#3}% + }% + }% +} +\scrlayerAddToInterface\providepagestyle{% + \newcommand*\providepagestyle[3]{% + \@ifundefined{ps@#1}{% + \defpagestyle{#1}{#2}{#3}% + }{% + \PackageInfo{scrlayer-scrpage}{% + page style `#1' already defined.\MessageBreak + New definition ignored% + }% + }% + }% +} +\scrlayerAddToInterface{\deftriplepagestyle}{% + \newcommand*{\deftriplepagestyle}[1]{% + \let\@tempa\defpagestyle + \scrlayer@triplestyle{#1}% + }% +} +\scrlayerAddToInterface{\newtriplepagestyle}{% + \newcommand*{\newtriplepagestyle}[1]{% + \let\@tempa\newpagestyle + \scrlayer@triplestyle{#1}% + }% +} +\scrlayerAddToInterface{\renewtriplepagestyle}{% + \newcommand*{\renewtriplepagestyle}[1]{% + \let\@tempa\renewpagestyle + \scrlayer@triplestyle{#1}% + }% +} +\scrlayerAddToInterface{\providetriplepagestyle}{% + \newcommand*{\providetriplepagestyle}[1]{% + \let\@tempa\providepagestyle + \scrlayer@triplestyle{#1}% + }% +} +\scrlayerAddToInterface\scrlayer@triplestyle{% + \def\scrlayer@triplestyle#1{% + \@ifnextchar[%] + {\scrlayer@@triplestyle{#1}}% + {\scrlayer@@triplestyle{#1}[\z@]}% + } +} +\scrlayerAddToInterface\scrlayer@@triplestyle{% + \def\scrlayer@@triplestyle#1[#2]{% + \@ifnextchar[%] + {\scrlayer@@@triplestyle{#1}[#2]}% + {\scrlayer@@@triplestyle{#1}[\z@][#2]}% + }% +} +\scrlayerAddToInterface\scrlayer@@@triplestyle{% + \def\scrlayer@@@triplestyle#1[#2][#3]#4#5#6#7#8#9{% + \@tempa{#1}{% + (\sls@headwidth,#2)% + {% + \makebox[\z@][l]{#6}\hfill + \makebox[\z@][c]{#5}\hfill + \makebox[\z@][r]{#4}% + }{% + \makebox[\z@][l]{#4}\hfill + \makebox[\z@][c]{#5}\hfill + \makebox[\z@][r]{#6}% + }{% + \makebox[\z@][l]{#4}\hfill + \makebox[\z@][c]{#5}\hfill + \makebox[\z@][r]{#6}% + }% + (\sls@headwidth,#3)% + }{% + (\sls@footwidth,#3)% + {% + \makebox[\z@][l]{#9}\hfill + \makebox[\z@][c]{#8}\hfill + \makebox[\z@][r]{#7}% + }{% + \makebox[\z@][l]{#7}\hfill + \makebox[\z@][c]{#8}\hfill + \makebox[\z@][r]{#9}% + }{% + \makebox[\z@][l]{#7}\hfill + \makebox[\z@][c]{#8}\hfill + \makebox[\z@][r]{#9}% + }% + (\sls@footwidth,#2)% + }% + }% +} +\scrlayerAddToInterface{\deftripstyle}{% + \newcommand*{\deftripstyle}{% + \PackageWarning{scrlayer-scrpage}{% + Command \string\deftripstyle\space is deprecate.\MessageBreak + You should replace it by \string\deftriplepagestyle,\MessageBreak + e.g.,% + }% + \let\deftripstyle\deftriplepagestyle + \deftripstyle + }% +} +\scrlayerAddToInterface\defpairofpagestyles{% + \newcommand*{\defpairofpagestyles}[3][]{% + \def\reserved@a##1##2##3##4##5##6##7\@nil{##1##2##3##4##5##6}% + \edef\reserved@a{\expandafter\reserved@a #2xxxxxx\@nil}% + \ifstr\reserved@a{plain.}{% + \PackageError{scrlayer-scrpage}{plain page style `#2' not allowed}{% + You may not define a plain page style using + \string\defpairofpagestyles, \string\newpairofpagestyles, + \string\renewpairofpagestyles, or\MessageBreak + \string\providepairofpagestyles. I'd suggest to simply define the + corresponding\MessageBreak + non-plain page style to also define the plain one.\MessageBreak + If you'll continue, your command will be ignored.}% + }{% + \sls@init@pair@page@style*{#2}% + \sls@init@pair@page@style*{plain.#2}% + \ifx\relax #1\relax\else + \scr@ifundefinedorrelax{sls@ps@#1@even@left@head}{% + \PackageError{scrlayer-scrpage}{`#1' not a pair page style}{% + Only pair page styles may be used to initialise new pairs of page + styles. So\MessageBreak + optional argument of \string\defpairofpagestyles, + \string\newpairofpagestyles,\MessageBreak + \string\renewpairofpagestyles, or \string\providepairofpagestyle has + to be a pair\MessageBreak + page style or should be unused.\MessageBreak + If you'll continue, the initialisation will be ignored.}% + }{% + \sls@init@pair@page@style{#2}{#1}% + \scr@ifundefinedorrelax{sls@ps@plain.#1@even@left@head}{% + \sls@init@pair@page@style{plain.#2}{#1}% + }{% + \sls@init@pair@page@style{plain.#2}{plain.#1}% + }% + }% + \fi + \edef\reserved@a{% + \noexpand\scrlayerOnAutoRemoveInterface[scrlayer-scrpage.sty]{% + \noexpand\sls@init@pair@page@style**{#2}% + \noexpand\sls@init@pair@page@style**{plain.#2}% + \noexpand\expandafter\noexpand\ifx\noexpand + \csname ps@plain.#2\noexpand\endcsname\noexpand\ps@plain + \noexpand\PackageWarning{scrlayer-scrpage}{% + page style `#2' not longer valid.\noexpand\MessageBreak + This was the current plain page style.\noexpand\MessageBreak + Making current plain page style empty.\noexpand\MessageBreak + The page style has been defined using\noexpand\MessageBreak + interface `scrlayer-scrpage.sty', that\noexpand\MessageBreak + has been removed% + }% + \noexpand\def\noexpand\ps@plain{% + \noexpand\def\noexpand\@oddhead{}\noexpand\def\noexpand\@evenhead{}% + \noexpand\def\noexpand\@oddhead{}\noexpand\def\noexpand\@evenhead{}% + }% + \noexpand\fi + }% + }\reserved@a + \sls@def@pair@page@style@member{#2}% + \AddToLayerPageStyleOptions{#2}{% + onselect={% + \expandafter\let\expandafter\ps@plain\csname ps@plain.#2\endcsname + \expandafter\let\expandafter\ps@headings\csname ps@#2\endcsname + \def\sls@currentheadings{#2}% + \def\sls@currentplain{plain.#2}% + #3% + }% + }% + \sls@def@pair@page@style@member{plain.#2}% + \AddToLayerPageStyleOptions{plain.#2}{% + onselect={% + \expandafter\let\expandafter\ps@plain\csname ps@plain.#2\endcsname + \expandafter\let\expandafter\ps@headings\csname ps@#2\endcsname + \def\sls@currentheadings{#2}% + \def\sls@currentplain{plain.#2}% + #3% + },% + oninit={% + \expandafter + \ifx\csname ifsls@plain@head@above@line\expandafter\endcsname + \csname iftrue\endcsname\else + \let\sls@headabove@linelength\z@ + \let\sls@headabove@linethickness\z@ + \fi + \expandafter + \ifx\csname ifsls@plain@head@below@line\expandafter\endcsname + \csname iftrue\endcsname\else + \let\sls@headbelow@linelength\z@ + \let\sls@headbelow@linethickness\z@ + \fi + \expandafter + \ifx\csname ifsls@plain@foot@above@line\expandafter\endcsname + \csname iftrue\endcsname\else + \let\sls@footabove@linelength\z@ + \let\sls@footabove@linethickness\z@ + \fi + \expandafter + \ifx\csname ifsls@plain@foot@below@line\expandafter\endcsname + \csname iftrue\endcsname\else + \let\sls@footbelow@linelength\z@ + \let\sls@footbelow@linethickness\z@ + \fi + }% + }% + }% + }% +} +\scrlayerAddToInterface\sls@currentheadings{% + \newcommand*\sls@currentheadings{scrheadings}% +} +\scrlayerAddToInterface\sls@currentplain{% + \newcommand*\sls@currentplain{plain.scrheadings}% +} +\scrlayerAddToInterface\sls@init@pair@page@style{% + \newcommand*{\sls@init@pair@page@style}{% + \@ifstar {% + \@ifstar {% + \sls@let@pair@page@style\relax + }{% + \sls@let@pair@page@style\@empty + } + }{% + \sls@init@@pair@page@style + }% + }% +} +\scrlayerAddToInterface\sls@init@@pair@page@style{% + \newcommand*{\sls@init@@pair@page@style}[2]{% + \expandafter\let\csname sls@ps@#1@even@left@head\expandafter\endcsname + \csname sls@ps@#2@even@left@head\endcsname + \expandafter\let\csname sls@ps@#1@even@middle@head\expandafter\endcsname + \csname sls@ps@#2@even@middle@head\endcsname + \expandafter\let\csname sls@ps@#1@even@right@head\expandafter\endcsname + \csname sls@ps@#2@even@right@head\endcsname + \expandafter\let\csname sls@ps@#1@odd@left@head\expandafter\endcsname + \csname sls@ps@#2@odd@left@head\endcsname + \expandafter\let\csname sls@ps@#1@odd@middle@head\expandafter\endcsname + \csname sls@ps@#2@odd@middle@head\endcsname + \expandafter\let\csname sls@ps@#1@odd@right@head\expandafter\endcsname + \csname sls@ps@#2@odd@right@head\endcsname + \expandafter\let\csname sls@ps@#1@even@left@foot\expandafter\endcsname + \csname sls@ps@#2@even@left@foot\endcsname + \expandafter\let\csname sls@ps@#1@even@middle@foot\expandafter\endcsname + \csname sls@ps@#2@even@middle@foot\endcsname + \expandafter\let\csname sls@ps@#1@even@right@foot\expandafter\endcsname + \csname sls@ps@#2@even@right@foot\endcsname + \expandafter\let\csname sls@ps@#1@odd@left@foot\expandafter\endcsname + \csname sls@ps@#2@odd@left@foot\endcsname + \expandafter\let\csname sls@ps@#1@odd@middle@foot\expandafter\endcsname + \csname sls@ps@#2@odd@middle@foot\endcsname + \expandafter\let\csname sls@ps@#1@odd@right@foot\expandafter\endcsname + \csname sls@ps@#2@odd@right@foot\endcsname + }% +} +\scrlayerAddToInterface\sls@let@pair@page@style{% + \newcommand*{\sls@let@pair@page@style}[2]{% + \expandafter\let\csname sls@ps@#2@even@left@head\endcsname #1% + \expandafter\let\csname sls@ps@#2@even@middle@head\endcsname #1% + \expandafter\let\csname sls@ps@#2@even@right@head\endcsname #1% + \expandafter\let\csname sls@ps@#2@odd@left@head\endcsname #1% + \expandafter\let\csname sls@ps@#2@odd@middle@head\endcsname #1% + \expandafter\let\csname sls@ps@#2@odd@right@head\endcsname #1% + \expandafter\let\csname sls@ps@#2@even@left@foot\endcsname #1% + \expandafter\let\csname sls@ps@#2@even@middle@foot\endcsname #1% + \expandafter\let\csname sls@ps@#2@even@right@foot\endcsname #1% + \expandafter\let\csname sls@ps@#2@odd@left@foot\endcsname #1% + \expandafter\let\csname sls@ps@#2@odd@middle@foot\endcsname #1% + \expandafter\let\csname sls@ps@#2@odd@right@foot\endcsname #1% + }% +} +\scrlayerAddToInterface\sls@def@pair@page@style@member{% + \newcommand*{\sls@def@pair@page@style@member}[1]{% + \defpagestyle{#1}{% + {% + \makebox[0pt][l]{\parbox{\sls@headwidth}{\raggedright + \strut\@nameuse{sls@ps@#1@even@left@head}\strut}}% + \parbox{\sls@headwidth}{\centering + \strut\@nameuse{sls@ps@#1@even@middle@head}\strut}% + \makebox[0pt][r]{\parbox{\sls@headwidth}{\raggedleft + \strut\@nameuse{sls@ps@#1@even@right@head}\strut}}% + }{% + \makebox[0pt][l]{\parbox{\sls@headwidth}{\raggedright + \strut\@nameuse{sls@ps@#1@odd@left@head}\strut}}% + \parbox{\sls@headwidth}{\centering + \strut\@nameuse{sls@ps@#1@odd@middle@head}\strut}% + \makebox[0pt][r]{\parbox{\sls@headwidth}{\raggedleft + \strut\@nameuse{sls@ps@#1@odd@right@head}\strut}}% + }{% + \makebox[0pt][l]{\parbox{\sls@headwidth}{\raggedright + \strut\@nameuse{sls@ps@#1@odd@left@head}\strut}}% + \parbox{\sls@headwidth}{\centering + \strut\@nameuse{sls@ps@#1@odd@middle@head}\strut}% + \makebox[0pt][r]{\parbox{\sls@headwidth}{\raggedleft + \strut\@nameuse{sls@ps@#1@odd@right@head}\strut}}% + }% + }{% + {% + \makebox[0pt][l]{\parbox{\sls@footwidth}{\raggedright + \strut\@nameuse{sls@ps@#1@even@left@foot}\strut}}% + \parbox{\sls@footwidth}{\centering + \strut\@nameuse{sls@ps@#1@even@middle@foot}\strut}% + \makebox[0pt][r]{\parbox{\sls@footwidth}{\raggedleft + \strut\@nameuse{sls@ps@#1@even@right@foot}\strut}}% + }{% + \makebox[0pt][l]{\parbox{\sls@footwidth}{\raggedright + \strut\@nameuse{sls@ps@#1@odd@left@foot}\strut}}% + \parbox{\sls@footwidth}{\centering + \strut\@nameuse{sls@ps@#1@odd@middle@foot}\strut}% + \makebox[0pt][r]{\parbox{\sls@footwidth}{\raggedleft + \strut\@nameuse{sls@ps@#1@odd@right@foot}\strut}}% + }{% + \makebox[0pt][l]{\parbox{\sls@footwidth}{\raggedright + \strut\@nameuse{sls@ps@#1@odd@left@foot}\strut}}% + \parbox{\sls@footwidth}{\centering + \strut\@nameuse{sls@ps@#1@odd@middle@foot}\strut}% + \makebox[0pt][r]{\parbox{\sls@footwidth}{\raggedleft + \strut\@nameuse{sls@ps@#1@odd@right@foot}\strut}}% + }% + }% + }% +} +\scrlayerAddToInterface\newpairofpagestyles{% + \newcommand*{\newpairofpagestyles}[3][]{% + \scr@ifundefinedorrelax{ps@#2}{% + \@ifundefined{ps@plain.#2}{\defpairofpagestyles[#1]{#2}{#3}}{% + \PackageError{scrlayer-scrpage}{% + Plain page style of `#2' already defined}{% + You may only define a new pair of page styles, if neither the style + itself\MessageBreak + nor it's plain page style has already been defined.\MessageBreak + You may use only \string\defpairofpagestyles\space or + \string\providepairofpagestyles\space with partly\MessageBreak + already defined page styles.\MessageBreak + If you'll continue, your command will be ignored.% + }% + }% + }{% + \PackageError{scrlayer-scrpage}{% + Page style `#2' already defined}{% + You may only define a new pair of page styles, if neither the style + itself\MessageBreak + nor it's plain page style has already been defined.\MessageBreak + You may use either \string\renewpairsofpagestyles, + \string\defpairofpagestyles, or\MessageBreak + \string\providepairofpagestyles\space with already defined page + styles.\MessageBreak + If you'll continue, your command will be ignored.% + }% + }% + }% +} +\scrlayerAddToInterface\renewpairofpagestyles{% + \newcommand*{\renewpairofpagestyles}[3][]{% + \scr@ifundefinedorrelax{ps@#2}{% + \PackageError{scrlayer-scrpage}{% + Undefined page style `#2'}{% + You may only redefine existing pairs of page styles. You may use + either\MessageBreak + \string\newpairsofpagestyles, \string\defpairofpagestyles, or + \string\providepairofpagestyles\MessageBreak + with not yet defined page styles.\MessageBreak + If you'll continue, your command will be ignored.% + }% + }{% + \@ifundefined{ps@plain.#2}{% + \PackageError{scrlayer-scrpage}{% + Undefined plain page style of `#2'}{% + You may only redefine existing pairs of page styles. You may use + either\MessageBreak + \string\defpairofpagestyles\space or + \string\providepairofpagestyles\space with partly already + defined\MessageBreak + page styles.\MessageBreak + If you'll continue, your command will be ignored.% + }% + }{\defpairofpagestyles[#1]{#2}{#3}}% + }% + }% +} +\scrlayerAddToInterface\providepairofpagestyles{% + \newcommand*{\providepairofpagestyles}[3][]{% + \scr@ifundefinedorrelax{ps@#2}{% + \@ifundefined{ps@plain.#2}{\defpairofpagestyles[#1]{#2}{#3}}{% + \PackageInfo{scrlayer-scrpage}{% + Plain page style of `#2' already\MessageBreak + defined. Definition ignored}% + }% + }{% + \PackageInfo{scrlayer-scrpage}{% + Page style of `#2' already defined.\MessageBreak + Definition ignored}% + }% + }% +} +\newpairofpagestyles{scrheadings}{}% +\DeclarePageStyleAlias{scrplain}{plain.scrheadings} +\scrlayerOnAutoRemoveInterface{\DestroyPageStyleAlias{scrplain}} +\scrlayerAddToInterface\ihead{% + \newcommand*{\ihead}{\@ifnextchar[{\@@ihead}{\@ihead}}% +} +\scrlayerAddToInterface\@ihead{% + \newcommand*{\@ihead}[1]{\rehead{#1}\lohead{#1}}% +} +\scrlayerAddToInterface\@@ihead{% + \newcommand*{\@@ihead}[2][]{\rehead[{#1}]{#2}\lohead[{#1}]{#2}}% +} +\scrlayerAddToInterface\ohead{% + \newcommand*{\ohead}{\@ifnextchar[{\@@ohead}{\@ohead}}% +} +\scrlayerAddToInterface\@ohead{% + \newcommand*{\@ohead}[1]{\lehead{#1}\rohead{#1}}% +} +\scrlayerAddToInterface\@@ohead{% + \newcommand*{\@@ohead}[2][]{\lehead[{#1}]{#2}\rohead[{#1}]{#2}}% +} +\scrlayerAddToInterface\chead{% + \newcommand*{\chead}{\@ifnextchar[{\@@chead}{\@chead}}% +} +\scrlayerAddToInterface\@chead{% + \newcommand*{\@chead}[1]{\cehead{#1}\cohead{#1}}% +} +\scrlayerAddToInterface\@@chead{% + \newcommand*{\@@chead}[2][]{\cehead[{#1}]{#2}\cohead[{#1}]{#2}}% +} +\scrlayerAddToInterface\lehead{% + \newcommand*{\lehead}{\sls@renewelement{even}{left}{head}}% +} +\scrlayerAddToInterface\lohead{% + \newcommand*{\lohead}{\sls@renewelement{odd}{left}{head}}% +} +\scrlayerAddToInterface\rehead{% + \newcommand*{\rehead}{\sls@renewelement{even}{right}{head}}% +} +\scrlayerAddToInterface\rohead{% + \newcommand*{\rohead}{\sls@renewelement{odd}{right}{head}}% +} +\scrlayerAddToInterface\cehead{% + \newcommand*{\cehead}{\sls@renewelement{even}{middle}{head}}% +} +\scrlayerAddToInterface\cohead{% + \newcommand*{\cohead}{\sls@renewelement{odd}{middle}{head}}% +} +\scrlayerAddToInterface\ifoot{% + \newcommand*{\ifoot}{\@ifnextchar[{\@@ifoot}{\@ifoot}}% +} +\scrlayerAddToInterface\@ifoot{% + \newcommand*{\@ifoot}[1]{\refoot{#1}\lofoot{#1}}% +} +\scrlayerAddToInterface\@@ifoot{% + \newcommand*{\@@ifoot}[2][]{\refoot[{#1}]{#2}\lofoot[{#1}]{#2}}% +} +\scrlayerAddToInterface\ofoot{% + \newcommand*{\ofoot}{\@ifnextchar[{\@@ofoot}{\@ofoot}}% +} +\scrlayerAddToInterface\@ofoot{% + \newcommand*{\@ofoot}[1]{\lefoot{#1}\rofoot{#1}}% +} +\scrlayerAddToInterface\@@ofoot{% + \newcommand*{\@@ofoot}[2][]{\lefoot[{#1}]{#2}\rofoot[{#1}]{#2}}% +} +\scrlayerAddToInterface\cfoot{% + \newcommand*{\cfoot}{\@ifnextchar[{\@@cfoot}{\@cfoot}}% +} +\scrlayerAddToInterface\@cfoot{% + \newcommand*{\@cfoot}[1]{\cefoot{#1}\cofoot{#1}}% +} +\scrlayerAddToInterface\@@cfoot{% + \newcommand*{\@@cfoot}[2][]{\cefoot[{#1}]{#2}\cofoot[{#1}]{#2}}% +} +\scrlayerAddToInterface\lefoot{% + \newcommand*{\lefoot}{\sls@renewelement{even}{left}{foot}}% +} +\scrlayerAddToInterface\lofoot{% + \newcommand*{\lofoot}{\sls@renewelement{odd}{left}{foot}}% +} +\scrlayerAddToInterface\refoot{% + \newcommand*{\refoot}{\sls@renewelement{even}{right}{foot}}% +} +\scrlayerAddToInterface\rofoot{% + \newcommand*{\rofoot}{\sls@renewelement{odd}{right}{foot}}% +} +\scrlayerAddToInterface\cefoot{% + \newcommand*{\cefoot}{\sls@renewelement{even}{middle}{foot}}% +} +\scrlayerAddToInterface\cofoot{% + \newcommand*{\cofoot}{\sls@renewelement{odd}{middle}{foot}}% +} +\scrlayerAddToInterface\sls@renewelement{% + \newcommand*{\sls@renewelement}[3]{% + \@ifnextchar[%] + {\sls@@@renewelement{#1}{#2}{#3}}% + {\sls@@renewelement{#1}{#2}{#3}}% + }% +} +\scrlayerAddToInterface\sls@@renewelement{% + \newcommand*{\sls@@renewelement}[4]{% + \scr@ifundefinedorrelax{sls@ps@\sls@currentheadings @#1@#2@#3}{% + \@namedef{sls@ps@scrheadings@#1@#2@#3}{#4}% + }{% + \@namedef{sls@ps@\sls@currentheadings @#1@#2@#3}{#4}% + }% + }% +} +\scrlayerAddToInterface\sls@@@renewelement{% + \def\sls@@@renewelement#1#2#3[#4]#5{% + \sls@@renewplainelement{#1}{#2}{#3}{#4}% + \sls@@renewelement{#1}{#2}{#3}{#5}% + }% +} +\scrlayerAddToInterface\sls@@renewplainelement{% + \newcommand*{\sls@@renewplainelement}[4]{% + \scr@ifundefinedorrelax{sls@ps@\sls@currentplain @#1@#2@#3}{% + \@namedef{sls@ps@plain.scrheadings@#1@#2@#3}{#4}% + }{% + \@namedef{sls@ps@\sls@currentplain @#1@#2@#3}{#4}% + }% + }% +} +\scrlayerAddToInterface\clearmainofpairofpagestyles{% + \newcommand*{\clearmainofpairofpagestyles}{% + \ihead{}\chead{}\ohead{}\ifoot{}\cfoot{}\ofoot{}% + }% +} +\scrlayerAddToInterface\clearscrheadings{% + \let\clearscrheadings\clearmainofpairofpagestyles +} +\scrlayerAddToInterface\clearplainofpairofpagestyles{% + \newcommand*{\clearplainofpairofpagestyles}{% + \sls@@renewplainelement{odd}{left}{head}{}% + \sls@@renewplainelement{odd}{right}{head}{}% + \sls@@renewplainelement{odd}{middle}{head}{}% + \sls@@renewplainelement{even}{left}{head}{}% + \sls@@renewplainelement{even}{right}{head}{}% + \sls@@renewplainelement{even}{middle}{head}{}% + \sls@@renewplainelement{odd}{left}{foot}{}% + \sls@@renewplainelement{odd}{right}{foot}{}% + \sls@@renewplainelement{odd}{middle}{foot}{}% + \sls@@renewplainelement{even}{left}{foot}{}% + \sls@@renewplainelement{even}{right}{foot}{}% + \sls@@renewplainelement{even}{middle}{foot}{}% + }% +} +\scrlayerAddToInterface\clearscrplain{% + \let\clearscrplain\clearplainofpairofpagestyles +} +\scrlayerAddToInterface\clearpairofpagestyles{% + \newcommand*{\clearpairofpagestyles}{% + \ihead[]{}\chead[]{}\ohead[]{}\ifoot[]{}\cfoot[]{}\ofoot[]{}% + }% +} +\scrlayerAddToInterface\clearscrheadfoot{% + \let\clearscrheadfoot\clearpairofpagestyles +} +\scrlayerAddToInterface\ps@useheadings{% + \newcommand*\ps@useheadings{% + \PackageWarning{scrlayer-scrpage}{incompatible page style!\MessageBreak + Page styles like `headings' and `plain'\MessageBreak + are incompatible with the page styles\MessageBreak + of scrlayer-scrpage. You shouldn't mix\MessageBreak + them up. Therefore page style\MessageBreak + `useheadings' is not longer provided.\MessageBreak + Usage is deprecated and will be replaced\MessageBreak + by `scrheadings'% + }% + \let\ps@useheadings\ps@scrheadings + \ps@useheadings + }% +} +\scrlayerAddCsToInterface{ps@plain.useheadings}{% + \@namedef{ps@plain.useheadings}{\@nameuse{ps@plain.scrheadings}}% +} +%%% From File: $Id: scrlogo.dtx 1380 2013-10-01 15:31:55Z mjk $ +\@ifundefined{KOMAScript}{% + \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% + M\kern.05em A\kern.1em-\kern.1em Script}}}{} +\endinput +%% +%% End of file `scrlayer-scrpage.sty'. diff --git a/Master/texmf-dist/tex/latex/koma-script/scrlayer.sty b/Master/texmf-dist/tex/latex/koma-script/scrlayer.sty new file mode 100644 index 00000000000..a11742cf8b2 --- /dev/null +++ b/Master/texmf-dist/tex/latex/koma-script/scrlayer.sty @@ -0,0 +1,1931 @@ +%% +%% This is file `scrlayer.sty', +%% generated with the docstrip utility, extended by scrdocstrip. +%% +%% The original source files were: +%% +%% scrlayer.dtx (with options: `package,trace,scrlayer,identify') +%% scrlayer.dtx (with options: `package,trace,scrlayer,init') +%% scrlayer.dtx (with options: `package,trace,scrlayer,options') +%% scrlayer.dtx (with options: `package,trace,scrlayer,body') +%% scrlayer.dtx (with options: `package,trace,scrlayer,final') +%% scrlogo.dtx (with options: `logo') +%% +%% Copyright (c) 2012-2013 Markus Kohm [komascript at gmx info] +%% +%% This file was generated from file(s) of the KOMA-Script bundle. +%% --------------------------------------------------------------- +%% +%% It may be distributed under the conditions of the +%% LaTeX Project Public License in the version distributed together +%% with KOMA-Script, see file `lppl.txt' or `lppl-de.txt'. +%% +%% This file may only be distributed together with a copy of the +%% KOMA-Script bundle. You may however distribute the +%% KOMA-Script bundle without all such generated files. See also +%% `lppl.txt' or `lppl-de.txt' for additional information. +%% +%% The list of files belonging to KOMA-Script distribution is given in +%% the file `manifest.txt'. See also `lppl.txt' or `lppl-de.txt' for +%% additional information. +%% +%% If this file is a beta version, you may not be allowed to distribute +%% it. Look at the comments below to see if this is the case. +%% +%% English and German manuals are part of KOMA-Script bundle. +%% ---------------------------------------------------------- +%% +%% See `README'. +%% +%% The KOMA-Script bundle (but maybe not this file) was based upon the +%% LaTeX 2.09 Script family created by Frank Neukam 1993 and the LaTeX2e +%% standard classes created by The LaTeX3 Project 1994-1996. You may +%% find a complete unmodified copy of LaTeX2e at +%% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. +%% +%%% From File: $Id: scrlayer.dtx 1480 2013-10-31 10:00:02Z mjk $ (identify) +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{scrlayer}[% + 31/10/2013 v0.9.1480 + package + (defining layers and page styles)] +%%% From File: $Id: scrlayer.dtx 1480 2013-10-31 10:00:02Z mjk $ (init) +\RequirePackage{scrkbase}[2013/03/05] +\scr@ifundefinedorrelax{scrlayer@AtEndOfPackage}{% + \AtEndOfPackage{\let\scrlayer@AtEndOfPackage\@firstofone}% +}{% + \ifx\scrlayer@AtEndOfPackage\@firstofone + \AtEndOfPackage{\let\scrlayer@AtEndOfPackage\@firstofone}% + \fi +} +\let\scrlayer@AtEndOfPackage\AtEndOfPackage +\newcommand*{\scrlayer@testunexpectedarg}[2]{% + \ifx\relax#2\relax\else + \PackageError{scrlayer}{unexpected value to `#1'}{% + Option `#1' doesn't expect any value.\MessageBreak + If you'll continue, the value `#2' will be ignored.% + }% + \fi +} +\scr@ifundefinedorrelax{if@chapter}{% + \newif\if@chapter + \scr@ifundefinedorrelax{chapter}{\@chapterfalse}{\@chaptertrue}% +}{} +\scr@ifundefinedorrelax{if@mainmatter}{% + \scr@ifundefinedorrelax{mainmatter}{% + \newif\if@mainmatter\@mainmattertrue + }{% + \PackageWarningNoLine{scrlayer}{% + \string\mainmatter\space defined without + \string\if@mainmatter!\MessageBreak + Note, that several packages need + \string\if@mainmatter\space\MessageBreak + to detect whether or no the main matter has been\MessageBreak + entered. So does scrlayer. Because of this\MessageBreak + it will extend \string\mainmatter, now% + }% + \newif\if@mainmatter\@mainmattertrue + \expandafter\def\expandafter\mainmatter\expandafter{% + \expandafter\@mainmattertrue\mainmatter}% + \scr@ifundefinedorrelax{frontmatter}{}{% + \expandafter\def\expandafter\frontmatter\expandafter{% + \expandafter\@mainmatterfalse\frontmatter} + }% + \scr@ifundefinedorrelax{backmatter}{}{% + \expandafter\def\expandafter\backmatter{% + \expandafter\@mainmatterfalse\backmattter}% + }% + }% +}{} +\@ifundefined{footheight}{% + \newlength{\footheight}% + \setlength{\footheight}{-12345sp}% +}{% + \PackageInfo{scrlayer}{Using already defined \string\footheight\MessageBreak + hoping, that this is a length and\MessageBreak + not only a macro}% +} +\AtBeginDocument{% + \ifdim\footheight=-12345sp + \PackageInfo{scrlayer}{Setting magic \string\footheight\space to + \string\baselineskip\space while\MessageBreak + \string\begin{document}}% + \setlength{\footheight}{\baselineskip} + \fi +} +%%% From File: $Id: scrlayer.dtx 1480 2013-10-31 10:00:02Z mjk $ (options) +\KOMA@key{markcase}{% + \begingroup + \KOMA@set@ncmdkey{markcase}{reserved@a}{% + {upper}{0},{lower}{1},{used}{2},% + {ignoreuppercase}{3},{nouppercase}{3},% + {ignoreupper}{3},{noupper}{3}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \aftergroup\FamilyKeyStateProcessed + \ifnum \reserved@a>\m@ne + \aftergroup\let\aftergroup\MakeMarkcase + \ifcase \reserved@a + \aftergroup\MakeUppercase + \aftergroup\scrlayer@forceignoreuppercasefalse + \or + \aftergroup\MakeLowercase + \aftergroup\scrlayer@forceignoreuppercasefalse + \or + \aftergroup\@firstofone + \aftergroup\scrlayer@forceignoreuppercasefalse + \else + \aftergroup\scrlayer@ignoreuppercase + \aftergroup\scrlayer@forceignoreuppercasetrue + \fi + \fi + \else + \aftergroup\FamilyKeyStateUnknownValue + \fi + \endgroup +} +\providecommand*{\MakeMarkcase}[1]{#1} +\DeclareRobustCommand*{\scrlayer@ignoreuppercase}[1]{% + \begingroup + \let\uppercase\@firstofone + \let\MakeUppercase\@firstofone + \expandafter\let\csname MakeUppercase \endcsname\@firstofone + #1% + \endgroup +} +\newif\ifscrlayer@forceignoreuppercase +\KOMA@ifkey{autooneside}{scrlayer@autooneside}\scrlayer@autoonesidetrue +\KOMA@key{automark}[]{% + \scrlayer@testunexpectedarg{automark}{#1}% + \scrlayer@AtEndOfPackage{% + \if@chapter + \automark[section]{chapter}% + \else + \automark[subsection]{section}% + \fi + }% + \FamilyKeyStateProcessed +} +\KOMA@key{manualmark}[]{% + \scrlayer@testunexpectedarg{manualmark}{#1}% + \scrlayer@AtEndOfPackage{\manualmark}% + \FamilyKeyStateProcessed +} +\KOMA@key{onpsselect}{% + \l@addto@macro{\@ps@initialhook}{#1}% + \FamilyKeyStateProcessed +} +\newcommand*{\@ps@initialhook}{} +\KOMA@key{onpsinit}{% + \l@addto@macro{\@ps@hook}{#1}% + \FamilyKeyStateProcessed +} +\newcommand*{\@ps@hook}{} +\KOMA@key{onpsoneside}{% + \l@addto@macro{\@ps@onesidehook}{#1}% + \FamilyKeyStateProcessed +} +\newcommand*{\@ps@onesidehook}{} +\KOMA@key{onpstwoside}{% + \l@addto@macro{\@ps@twosidehook}{#1}% + \FamilyKeyStateProcessed +} +\newcommand*{\@ps@twosidehook}{} +\KOMA@key{onpsoddpage}{% + \l@addto@macro{\@ps@oddpagehook}{#1}% + \FamilyKeyStateProcessed +} +\newcommand*{\@ps@oddpagehook}{} +\KOMA@key{onpsevenpage}{% + \l@addto@macro{\@ps@evenpagehook}{#1}% + \FamilyKeyStateProcessed +} +\newcommand*{\@ps@evenpagehook}{} +\KOMA@key{onpsfloatpage}{% + \l@addto@macro{\@ps@floatpagehook}{#1}% + \FamilyKeyStateProcessed +} +\newcommand*{\@ps@floatpagehook}{} +\KOMA@key{onpsnonfloatpage}{% + \l@addto@macro{\@ps@nonfloatpagehook}{#1}% + \FamilyKeyStateProcessed +} +\newcommand*{\@ps@nonfloatpagehook}{} +\KOMA@key{onpsbackground}{% + \l@addto@macro{\@ps@backgroundhook}{#1}% + \FamilyKeyStateProcessed +} +\newcommand*{\@ps@backgroundhook}{} +\KOMA@key{onpsforeground}{% + \l@addto@macro{\@ps@foregroundhook}{#1}% + \FamilyKeyStateProcessed +} +\newcommand*{\@ps@foregroundhook}{} +\KOMA@ifkey{deactivatepagestylelayers}{scrlayer@deactivate@layers} +\KOMA@ifkey{draft}{scrlayer@draft} +\KOMA@ifkey{forceoverwrite}{scrlayer@forceoverwrite} +\KOMA@ifkey{autoremoveinterfaces}{scrlayer@autoremoveinterfaces} +%%% From File: $Id: scrlayer.dtx 1480 2013-10-31 10:00:02Z mjk $ (body) +\KOMAProcessOptions\relax +\@ifundefined{headmark}{}{% + \PackageWarningNoLine{scrlayer}{% + \string\headmark\space detected!\MessageBreak + \string\headmark\space will either be set to + \string\rightmark\MessageBreak + or \string\leftmark inside of page styles.\MessageBreak + This means, that \string\headmark\space will be overwritten\MessageBreak + at every page layer usage!\MessageBreak + Nevertheless it will stay unchanged outside\MessageBreak + of page layers.\MessageBreak + I hope, this won't break your document% + }% +} +\@ifundefined{pagemark}{% + \DeclareRobustCommand\pagemark{{\pnumfont{\thepage}}}% +}{}% +\@ifundefined{pnumfont}{% + \newcommand{\pnumfont}{\normalfont}% +}{} +\@ifundefined{scr@fnt@pagenumber}{% + \newcommand{\scr@fnt@pagenumber}{\pnumfont}% +}{} +\providecommand*{\partmarkformat}{\partname\ \thepart. \ }% +\if@chapter + \providecommand*{\@chapapp}{\chaptername}% + \providecommand*{\chaptermarkformat}{\@chapapp\ \thechapter. \ }% + \providecommand*{\sectionmarkformat}{\thesection. \ }% +\else + \providecommand*{\sectionmarkformat}{\GenericMarkFormat{section}}% +\fi +\scr@ifundefinedorrelax{@seccntmarkformat}{% + \providecommand*{\GenericMarkFormat}{\@seccntformat}% +}{% + \providecommand*{\GenericMarkFormat}[1]{\@seccntmarkformat{#1}}% +} +\providecommand*{\@mkleft}{% + \begingroup + \ifx\@mkboth\markboth \aftergroup\markleft + \else + \ifx\@mkboth\@gobbletwo \aftergroup\@gobble + \else \def\@gobbletwo##1##2{}% + \ifx \@mkboth\@gobbletwo \aftergroup\@gobble + \else + \PackageWarning{scrlayer}{% + package incompatibility detected!\MessageBreak + \string\@mkboth it neither \string\markboth nor any\MessageBreak + kind of two arguments gobbling,\MessageBreak + e.g., \string\@gobbletwo.\MessageBreak + So I don't known, what to do\MessageBreak + with \string\@mkleft.\MessageBreak + Nevertheless, \string\markleft\space will be\MessageBreak + used% + }% + \aftergroup\markleft + \fi + \fi + \fi + \endgroup +}% +\providecommand*{\@mkright}{% + \begingroup + \ifx\@mkboth\markboth \aftergroup\markright + \else + \ifx\@mkboth\@gobbletwo \aftergroup\@gobble + \else \def\@gobbletwo##1##2{}% + \ifx \@mkboth\@gobbletwo \aftergroup\@gobble + \else + \PackageWarning{scrlayer}{% + package incompatibility detected!\MessageBreak + \string\@mkboth it neither \string\markboth nor any\MessageBreak + kind of two arguments gobbling,\MessageBreak + e.g., \string\@gobbletwo.\MessageBreak + So I don't known, what to do\MessageBreak + with \string\@mkright.\MessageBreak + Nevertheless, \string\markright\space will be\MessageBreak + used% + }% + \aftergroup\markright + \fi + \fi + \fi + \endgroup +}% +\providecommand*{\@mkdouble}[1]{% + \@mkboth{#1}{#1}% +} +\providecommand*{\markleft}[1]{% + \begingroup + \let\label\relax \let\index\relax \let\glossary\relax + \expandafter\@markleft\@themark {#1}% + \@temptokena \expandafter{\@themark}% + \mark{\the\@temptokena}% + \endgroup + \if@nobreak\ifvmode\nobreak\fi\fi +} +\providecommand{\@markleft}[3]{% + \@temptokena {#2}% + \unrestored@protected@xdef\@themark{{#3}{\the\@temptokena}}% +} +\newcommand*{\manualmark}{% + \begingroup + \def\@elt##1{% + \aftergroup\let\expandafter\aftergroup\csname ##1mark\endcsname + \aftergroup\@gobble + }% + \scrlayer@level@list + \endgroup + \let\@mkleft\@gobble + \let\@mkright\@gobble + \let\@mkdouble\@gobble + \let\@mkboth\@gobbletwo +} +\newcommand*{\automark}{% + \@ifstar{\@automark}{\manualmark\@automark}% +} +\newcommand*{\@automark}[2][]{% + \ifstr{#2}{}{% + \ifstr{#1}{}{% + \automark@basics + }{% + \automark@basics + \automark@righthigh{#1}% + }% + }{% + \ifstr{#1}{}{% + \automark@basics + \automark@leftlow{#2}% + }{% + \automark@basics + \automark@both{#1}{#2}% + }% + }% +} +\newcommand*{\automark@basics}{% + \let\@mkleft\markleft + \let\@mkright\markright + \let\@mkboth\markboth + \def\@mkdouble##1{\@mkboth{##1}{##1}}% +} +\newcommand*{\automark@righthigh}[1]{% + \ifscrlayer@level@prepared{#1}{% + \expandafter\def\csname #1mark\endcsname##1{% + \begingroup + \@tempswafalse + \if@twoside\@tempswatrue + \else\ifscrlayer@autooneside\else\@tempswatrue\fi\fi + \expandafter\endgroup + \if@tempswa + \@mkright{% + \MakeMarkcase{% + \ifnum \c@secnumdepth<\numexpr \csname #1level\endcsname +0\relax + \else\if@mainmatter \csname #1markformat\endcsname\fi\fi + ##1% + }% + }% + \fi + }% + }{}% +} +\newcommand*{\automark@leftlow}[1]{% + \ifscrlayer@level@prepared{#1}{% + \expandafter\def\csname #1mark\endcsname ##1{% + \if@twoside + \expandafter\@mkboth + \else + \expandafter\@mkdouble + \fi + {% + \MakeMarkcase{% + \ifnum \c@secnumdepth<\numexpr \csname #1level\endcsname +0\relax + \else\if@mainmatter \csname #1markformat\endcsname\fi\fi + ##1% + }% + }\@empty + }% + }{}% +} +\newcommand*{\automark@both}[2]{% + \ifscrlayer@level@prepared{#1}{% + \ifscrlayer@level@prepared{#2}{% + \ifnum \numexpr \csname #1level\endcsname +0\relax + > \numexpr \csname #2level\endcsname +0\relax + \automark@leftlow{#2}% + \automark@righthigh{#1}% + \else \ifnum \numexpr \csname #1level\endcsname +0\relax + = \numexpr \csname #2level\endcsname +0\relax + \expandafter\def\csname #2mark\endcsname##1{% + \@mkdouble{% + \MakeMarkcase{% + \ifnum \c@secnumdepth<\numexpr + \csname #2level\endcsname +0\relax + \else + \if@mainmatter \csname #2markformat\endcsname\fi + \fi + ##1% + }% + }% + }% + \else + \expandafter\def\csname #1mark\endcsname##1{% + \begingroup + \@tempswafalse + \if@twoside\@tempswatrue + \else\ifscrlayer@autooneside\else\@tempswatrue\fi\fi + \expandafter\endgroup + \if@tempswa + \@mkleft{% + \MakeMarkcase{% + \ifnum \c@secnumdepth + < \numexpr\csname #1level\endcsname +0\relax + \else + \if@mainmatter \csname #1markformat\endcsname\fi + \fi + ##1% + }% + }% + \fi + }% + \expandafter\def\csname #2mark\endcsname##1{% + \@mkboth{}{% + \MakeMarkcase{% + \ifnum \c@secnumdepth + < \numexpr \csname #2level\endcsname +0\relax + \else\if@mainmatter \csname #2markformat\endcsname\fi\fi + ##1% + }% + }% + }% + \fi + \fi + }{}% + }{}% +} +\newcommand*{\ifscrlayer@level@prepared}[1]{% + \typeout{1: \detokenize{#1}}% + \scr@ifundefinedorrelax{#1level}{% + \PackageError{scrlayer}{numbering depth of `#1' unknown}{% + Someone told me to use a section mark for level `#1',\MessageBreak + but the numbering depth hasn't been declared before. You may solve this + using\MessageBreak + \string\DeclareSectionNumberDepth{#1}{NUMBER}.% + }% + \@secondoftwo + }{% + \@firstoftwo + }% +} +\newcommand*{\DeclareSectionNumberDepth}[2]{% + \expandafter\edef\csname #1level\endcsname{\the\numexpr #2\relax}% + \@ifundefined{#1mark}{% + \expandafter\let\csname #1mark\endcsname\@gobble + }{}% + \@ifundefined{#1markformat}{% + \@namedef{#1markformat}{\GenericMarkFormat{#1}}% + }{}% + \begingroup + \@tempswatrue + \def\@elt##1{\ifstr{#1}{##1}{\@tempswafalse}{}}% + \scrlayer@level@list + \if@tempswa + \aftergroup\@firstofone + \else + \aftergroup\@gobble + \fi + \endgroup + {% + \l@addto@macro\scrlayer@level@list{\@elt{#1}}% + }% +} +\newcommand*{\scrlayer@level@list}{} +\scr@ifundefinedorrelax{part}{}{% + \DeclareSectionNumberDepth{part}{-1}% +} +\if@chapter + \DeclareSectionNumberDepth{chapter}{0}% +\fi +\newcommand*{\scrlayer@level@init}{% + \@tempcnta=1 + \def\reserved@b##1{% + \@tempswatrue + \def\reserved@a{##1}% + \@whilesw \if@tempswa \fi {% + \scr@ifundefinedorrelax{\reserved@a}{% + \@tempswafalse + }{% + \@ifundefined{\reserved@a level}{% + \expandafter\DeclareSectionNumberDepth + \expandafter{\reserved@a}{\@tempcnta}% + }{}% + \advance \@tempcnta by \@ne + \edef\reserved@a{sub\reserved@a}% + }% + }% + }% + \reserved@b{section}% + \reserved@b{paragraph}% + \reserved@b{minisec}% +} +\scrlayer@level@init +\AtBeginDocument{% + \scrlayer@level@init +} +\DefineFamily{KOMAarg} +\DefineFamilyMember[.definelayer]{KOMAarg} +\newcommand*{\def@scr@l@pos}[4]{% + \@namedef{scr@l@\scr@current@layer @x}{#1}% + \@namedef{scr@l@\scr@current@layer @y}{#2}% + \@namedef{scr@l@\scr@current@layer @w}{#3}% + \@namedef{scr@l@\scr@current@layer @h}{#4}% +} +\DefineFamilyKey[.definelayer]{KOMAarg}{hoffset}{% + \@namedef{scr@l@\scr@current@layer @x}{\dimexpr #1\relax}% + \FamilyKeyStateProcessed +} +\DefineFamilyKey[.definelayer]{KOMAarg}{voffset}{% + \@namedef{scr@l@\scr@current@layer @y}{\dimexpr #1\relax}% + \FamilyKeyStateProcessed +} +\DefineFamilyKey[.definelayer]{KOMAarg}{width}{% + \@namedef{scr@l@\scr@current@layer @w}{\dimexpr #1\relax}% + \FamilyKeyStateProcessed +} +\DefineFamilyKey[.definelayer]{KOMAarg}{height}{% + \@namedef{scr@l@\scr@current@layer @h}{\dimexpr #1\relax}% + \FamilyKeyStateProcessed +} +\DefineFamilyKey[.definelayer]{KOMAarg}{align}{% + \@namedef{scr@l@\scr@current@layer @align}{#1}% + \FamilyKeyStateProcessed +} +\DefineFamilyKey[.definelayer]{KOMAarg}{contents}{% + \@namedef{scr@l@\scr@current@layer @contents}{#1}% + \FamilyKeyStateProcessed +} +\DefineFamilyKey[.definelayer]{KOMAarg}{background}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{background}{#1}% + \csname @scr@l@\scr@current@layer @backgroundtrue\endcsname + \csname @scr@l@\scr@current@layer @foregroundfalse\endcsname +} +\DefineFamilyKey[.definelayer]{KOMAarg}{foreground}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{foreground}{#1}% + \csname @scr@l@\scr@current@layer @backgroundfalse\endcsname + \csname @scr@l@\scr@current@layer @foregroundtrue\endcsname +} +\DefineFamilyKey[.definelayer]{KOMAarg}{oddpage}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{oddpage}{#1}% + \csname @scr@l@\scr@current@layer @oddtrue\endcsname + \csname @scr@l@\scr@current@layer @evenfalse\endcsname +} +\DefineFamilyKey[.definelayer]{KOMAarg}{evenpage}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{evenpage}{#1}% + \csname @scr@l@\scr@current@layer @oddfalse\endcsname + \csname @scr@l@\scr@current@layer @eventrue\endcsname +} +\DefineFamilyKey[.definelayer]{KOMAarg}{floatpage}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{floatpage}{#1}% + \csname @scr@l@\scr@current@layer @nonfloatpagefalse\endcsname + \csname @scr@l@\scr@current@layer @floatpagetrue\endcsname +} +\DefineFamilyKey[.definelayer]{KOMAarg}{nonfloatpage}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{twoside}{#1}% + \csname @scr@l@\scr@current@layer @nonfloatpagetrue\endcsname + \csname @scr@l@\scr@current@layer @floatpagefalse\endcsname +} +\DefineFamilyKey[.definelayer]{KOMAarg}{oneside}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{oneside}{#1}% + \csname @scr@l@\scr@current@layer @twosidefalse\endcsname + \csname @scr@l@\scr@current@layer @onesidetrue\endcsname +} +\DefineFamilyKey[.definelayer]{KOMAarg}{twoside}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{twoside}{#1}% + \csname @scr@l@\scr@current@layer @twosidetrue\endcsname + \csname @scr@l@\scr@current@layer @onesidefalse\endcsname +} +\DefineFamilyKey[.definelayer]{KOMAarg}{page}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{page}{#1}% + \def@scr@l@pos{\z@}{\z@}{\paperwidth}{\paperheight}% + \@namedef{scr@l@\scr@current@layer @align}{tl}% +} +\DefineFamilyKey[.definelayer]{KOMAarg}{topmargin}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{topmargin}{#1}% + \def@scr@l@pos{\z@}{\z@}{\paperwidth}{\dimexpr \topmargin+1in\relax}% + \@namedef{scr@l@\scr@current@layer @align}{tl}% +} +\DefineFamilyKey[.definelayer]{KOMAarg}{head}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{head}{#1}% + \def@scr@l@pos{% + \dimexpr + \if@twoside\ifodd\value{page}\oddsidemargin\else\evensidemargin\fi + \else\oddsidemargin\fi + +1in + \relax + }{% + \dimexpr \topmargin+1in+\headheight\relax + }{\textwidth}{\headheight}% + \@namedef{scr@l@\scr@current@layer @align}{bl}% +} +\DefineFamilyKey[.definelayer]{KOMAarg}{headsep}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{head}{#1}% + \def@scr@l@pos{% + \dimexpr + \if@twoside\ifodd\value{page}\oddsidemargin\else\evensidemargin\fi + \else\oddsidemargin\fi + +1in + \relax + }{% + \dimexpr \topmargin+1in+\headheight\relax + }{\textwidth}{\headsep}% + \@namedef{scr@l@\scr@current@layer @align}{tl}% +} +\DefineFamilyKey[.definelayer]{KOMAarg}{textarea}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{textarea}{#1}% + \def@scr@l@pos{% + \dimexpr + \if@twoside\ifodd\value{page}\oddsidemargin\else\evensidemargin\fi + \else\oddsidemargin\fi + +1in + \relax + }{% + \dimexpr \topmargin+1in+\headheight+\headsep\relax + }{\textwidth}{\textheight}% + \@namedef{scr@l@\scr@current@layer @align}{tl}% +} +\DefineFamilyKey[.definelayer]{KOMAarg}{foot}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{foot}{#1}% + \def@scr@l@pos{% + \dimexpr + \if@twoside\ifodd\value{page}\oddsidemargin\else\evensidemargin\fi + \else\oddsidemargin\fi + +1in + \relax + }{% + \dimexpr \topmargin+1in+\headheight+\headsep+\textheight + +\footskip+\dp\strutbox-\footheight\relax + }{\textwidth}{\footheight}% + \@namedef{scr@l@\scr@current@layer @align}{tl}% +} +\DefineFamilyKey[.definelayer]{KOMAarg}{footskip}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{foot}{#1}% + \def@scr@l@pos{% + \dimexpr + \if@twoside\ifodd\value{page}\oddsidemargin\else\evensidemargin\fi + \else\oddsidemargin\fi + +1in + \relax + }{% + \dimexpr \topmargin+1in+\headheight+\headsep+\textheight\relax + }{\textwidth}{\dimexpr\footskip+\dp\strutbox-\footheight\relax}% + \@namedef{scr@l@\scr@current@layer @align}{tl}% +} +\DefineFamilyKey[.definelayer]{KOMAarg}{bottommargin}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{bottommargin}{#1}% + \def@scr@l@pos{\z@}{% + \dimexpr \topmargin+1in+\headheight+\headsep + +\textheight + +\footskip+\dp\strutbox\relax + }{\paperwidth}{\dimexpr\paperheight-\layeryoffset\relax}% + \@namedef{scr@l@\scr@current@layer @align}{tl}% +} +\DefineFamilyKey[.definelayer]{KOMAarg}{leftmargin}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{leftmargin}{#1}% + \def@scr@l@pos{\z@}{\z@}{% + \dimexpr + \if@twoside\ifodd\value{page}\oddsidemargin\else\evensidemargin\fi + \else\oddsidemargin\fi + +1in + \relax + }{\paperheight}% + \@namedef{scr@l@\scr@current@layer @align}{tl}% +} +\DefineFamilyKey[.definelayer]{KOMAarg}{rightmargin}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{rightmargin}{#1}% + \def@scr@l@pos{\paperwidth}{\z@}{% + \dimexpr \paperwidth-1in-\textwidth + -\if@twoside\ifodd\value{page}\oddsidemargin\else\evensidemargin\fi + \else\oddsidemargin\fi\relax + }{\paperheight}% + \@namedef{scr@l@\scr@current@layer @align}{tr}% +} +\DefineFamilyKey[.definelayer]{KOMAarg}{innermargin}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{innermargin}{#1}% + \def@scr@l@pos{% + \if@twoside + \ifodd\value{page} \z@ + \else \dimexpr \evensidemargin+1in+\textwidth\relax + \fi + \else \z@\fi + }{\z@}{% + \dimexpr + \if@twoside\ifodd\value{page} \oddsidemargin+1in + \else \paperwidth-\layerxoffset\fi + \else \oddsidemargin+1in\fi + \relax + }{\paperheight}% + \@namedef{scr@l@\scr@current@layer @align}{tl}% +} +\DefineFamilyKey[.definelayer]{KOMAarg}{outermargin}[\relax]{% + \FamilyKeyStateProcessed + \scrlayer@testunexpectedarg{outermargin}{#1}% + \def@scr@l@pos{% + \dimexpr + \if@twoside\ifodd\value{page} \oddsidemargin+1in+\textwidth + \else \z@\fi + \else \oddsidemargin+1in+\textwidth\fi + \relax + }{\z@}{% + \dimexpr + \if@twoside\ifodd\value{page}\paperwidth-\layerxoffset + \else \evensidemargin+1in\fi + \else \paperwidth-\layerxoffset\fi + \relax + }{\paperheight}% + \@namedef{scr@l@\scr@current@layer @align}{tl}% +} +\DefineFamilyKey[.definelayer]{KOMAarg}{area}{% + \def@scr@l@pos#1 + \FamilyKeyStateProcessed +} +\DefineFamilyKey[.definelayer]{KOMAarg}{clone}{% + \scr@ifundefinedorrelax{scr@l@#1@x}{% + \FamilyKeyStateUnknownValue + \PackageError{scrlayer}{layer `#1' undefined}{% + You can clone only already defined layers.\MessageBreak + If you'll continue, `clone=#1' will be ignored.% + }% + }{% + \FamilyKeyStateProcessed + \scrlayer@clone@attribute{\scr@current@layer}{#1}{x}% + \scrlayer@clone@attribute{\scr@current@layer}{#1}{y}% + \scrlayer@clone@attribute{\scr@current@layer}{#1}{w}% + \scrlayer@clone@attribute{\scr@current@layer}{#1}{h}% + \scrlayer@clone@attribute{\scr@current@layer}{#1}{align}% + \scrlayer@clone@attribute{\scr@current@layer}{#1}{contents}% + \scrlayer@clone@switch{\scr@current@layer}{#1}{background}% + \scrlayer@clone@switch{\scr@current@layer}{#1}{foreground}% + \scrlayer@clone@switch{\scr@current@layer}{#1}{odd}% + \scrlayer@clone@switch{\scr@current@layer}{#1}{even}% + \scrlayer@clone@switch{\scr@current@layer}{#1}{oneside}% + \scrlayer@clone@switch{\scr@current@layer}{#1}{twoside}% + \scrlayer@clone@switch{\scr@current@layer}{#1}{floatpage}% + \scrlayer@clone@switch{\scr@current@layer}{#1}{nonfloatpage}% + }% +} +\newcommand*{\scrlayer@clone@attribute}[3]{% + \expandafter\let\csname scr@l@#1@#3\expandafter\endcsname + \csname scr@l@#2@#3\expandafter\endcsname +} +\newcommand*{\scrlayer@clone@switch}[3]{% + \expandafter\let\csname if@scr@l@#1@#3\expandafter\endcsname + \csname if@scr@l@#2@#3\expandafter\endcsname +} +\newcommand*{\DeclareLayer}[2][]{% + \def\scr@current@layer{#2}% + \@namedef{scr@l@#2@x}{\z@}% + \@namedef{scr@l@#2@y}{\z@}% + \@namedef{scr@l@#2@w}{\paperwidth}% + \@namedef{scr@l@#2@h}{\paperheight}% + \@namedef{scr@l@#2@align}{tl}% + \@namedef{scr@l@#2@contents}{}% + \expandafter\newif\csname if@scr@l@#2@background\endcsname + \csname @scr@l@#2@backgroundtrue\endcsname + \expandafter\newif\csname if@scr@l@#2@foreground\endcsname + \csname @scr@l@#2@foregroundtrue\endcsname + \expandafter\newif\csname if@scr@l@#2@odd\endcsname + \csname @scr@l@#2@oddtrue\endcsname + \expandafter\newif\csname if@scr@l@#2@even\endcsname + \csname @scr@l@#2@eventrue\endcsname + \expandafter\newif\csname if@scr@l@#2@oneside\endcsname + \csname @scr@l@#2@onesidetrue\endcsname + \expandafter\newif\csname if@scr@l@#2@twoside\endcsname + \csname @scr@l@#2@twosidetrue\endcsname + \expandafter\newif\csname if@scr@l@#2@floatpage\endcsname + \csname @scr@l@#2@floatpagetrue\endcsname + \expandafter\newif\csname if@scr@l@#2@nonfloatpage\endcsname + \csname @scr@l@#2@nonfloatpagetrue\endcsname + \FamilyExecuteOptions[.definelayer]{KOMAarg}{#1}% +} +\newcommand*{\scr@current@layer}{} +\newcommand*{\IfLayerExists}[1]{% + \scr@ifundefinedorrelax{scr@l@#1@x}{% + \expandafter\@secondoftwo + }{% + \expandafter\@firstoftwo + }% +} +\newcommand*{\DeclareNewLayer}[2][]{% + \IfLayerExists{#2}{% + \PackageError{scrlayer}{layer `#2' already defined}{% + You may declare only layer, that haven't been declared previously + using\MessageBreak + \string\DeclareNewLayer. See also the alternatives + \string\RedeclareLayer,\MessageBreak + \string\ModifyLayer\space and \string\ProvideLayer.\MessageBreak + If you'll continue, declaration will be ignored.}% + }{\DeclareLayer[{#1}]{#2}}% +} +\newcommand*{\ProvideLayer}[2][]{% + \IfLayerExists{#2}{% + \PackageInfo{scrlayer}{\string\ProvideLayer{#2} ignored,\MessageBreak + because of already defined layer}% + }{\DeclareNewLayer[{#1}]{#2}}% +} +\newcommand*{\RedeclareLayer}[2][]{% + \IfLayerExists{#2}{}{% + \PackageError{scrlayer}{layer `#2' not yet defined}{% + You may declare only already declared layers using + \string\RedeclareLayer.\MessageBreak + See also the alternatives + \string\DeclareLayer and \string\ProvideLayer.\MessageBreak + Nevertheless, if you'll continue, declaration will be done.}% + }% + \DeclareLayer[{#1}]{#2}% +} +\newcommand*{\ModifyLayer}[2][]{% + \IfLayerExists{#2}{% + \FamilyExecuteOptions[.definelayer]{KOMAarg}{#1}% + }{% + \PackageError{scrlayer}{layer `#2' not yet defined}{% + You may modify only already declared layers using + \string\ModifyLayer.\MessageBreak + See also the alternatives + \string\DeclareLayer and \string\ProvideLayer.\MessageBreak + Nevertheless, if you'll continue, declaration will be done.}% + \DeclareLayer[{#1}]{#2}% + }% +} +\newcommand*{\DestroyLayer}[1]{% + \IfLayerExists{#1}{% + \expandafter\let\csname scr@l@#1@x\endcsname\relax + \expandafter\let\csname scr@l@#1@y\endcsname\relax + \expandafter\let\csname scr@l@#1@w\endcsname\relax + \expandafter\let\csname scr@l@#1@h\endcsname\relax + \expandafter\let\csname scr@l@#1@align\endcsname\relax + \expandafter\let\csname scr@l@#1@contents\endcsname\relax + \expandafter\let\csname if@scr@l@#1@background\endcsname\relax + \expandafter\let\csname @scr@l@#1@backgroundfalse\endcsname\relax + \expandafter\let\csname @scr@l@#1@backgroundtrue\endcsname\relax + \expandafter\let\csname if@scr@l@#1@foreground\endcsname\relax + \expandafter\let\csname @scr@l@#1@foregroundfalse\endcsname\relax + \expandafter\let\csname @scr@l@#1@foregroundtrue\endcsname\relax + \expandafter\let\csname if@scr@l@#1@odd\endcsname\relax + \expandafter\let\csname @scr@l@#1@oddfalse\endcsname\relax + \expandafter\let\csname @scr@l@#1@oddtrue\endcsname\relax + \expandafter\let\csname if@scr@l@#1@even\endcsname\relax + \expandafter\let\csname @scr@l@#1@evenfalse\endcsname\relax + \expandafter\let\csname @scr@l@#1@eventrue\endcsname\relax + \expandafter\let\csname if@scr@l@#1@oneside\endcsname\relax + \expandafter\let\csname @scr@l@#1@onesidefalse\endcsname\relax + \expandafter\let\csname @scr@l@#1@onesidetrue\endcsname\relax + \expandafter\let\csname if@scr@l@#1@twoside\endcsname\relax + \expandafter\let\csname @scr@l@#1@twosidefalse\endcsname\relax + \expandafter\let\csname @scr@l@#1@twosidetrue\endcsname\relax + \expandafter\let\csname if@scr@l@#1@floatpage\endcsname\relax + \expandafter\let\csname @scr@l@#1@floatpagefalse\endcsname\relax + \expandafter\let\csname @scr@l@#1@floatpagetrue\endcsname\relax + \expandafter\let\csname if@scr@l@#1@nonfloatpage\endcsname\relax + \expandafter\let\csname @scr@l@#1@nonfloatpagefalse\endcsname\relax + \expandafter\let\csname @scr@l@#1@nonfloatpagetrue\endcsname\relax + }{% + \PackageInfo{scrlayer}{\string\DestroyLayer{#1} ignored,\MessageBreak + because that layer doesn't exist\MessageBreak + (any longer)% + }% + }% +} +\newcommand*{\layercontentsmeasure}{% + \smash{\begin{picture}(0,0) + (0,\if t\scr@l@valign -\ht\strutbox + \else + \if b\scr@l@valign -\dimexpr\layerheight-\dp\strutbox\relax + \else -.5\dimexpr \layerheight+\ht\strutbox-\dp\strutbox\relax + \fi + \fi\@gobble) + \put(0,0){\line(1,0){\layerwidth\@gobble}}% + \@tempcnta=\numexpr \dimexpr\layerwidth + .5mm\relax/\dimexpr 1mm\relax\relax + \multiput(0,0)(1mm\@gobble,0){\@tempcnta}{% + \line(0,-1){1mm\@gobble}% + }% + \@tempcnta=\numexpr \dimexpr\layerwidth + 2.5mm\relax/\dimexpr 5mm\relax\relax + \multiput(0,0)(5mm\@gobble,0){\@tempcnta}{% + \line(0,-1){2mm\@gobble}% + }% + \@tempcnta=\numexpr \dimexpr\layerwidth + .5cm\relax/\dimexpr 1cm\relax\relax + \multiput(0,0)(10mm\@gobble,0){\@tempcnta}{% + \put(0,0){\line(0,-1){3mm\@gobble}}% + \put(0,-3.5mm\@gobble){% + \makebox(0,0)[ct]{\the\numexpr\@tempcnta-\@multicnt\relax}}% + }% + \put(0,-\layerheight\@gobble){\line(1,0){\layerwidth\@gobble}}% + \@tempcnta=\numexpr \dimexpr\layerwidth + .05in\relax/\dimexpr .1in\relax\relax + \multiput(0,-\layerheight\@gobble)(.1in\@gobble,0){\@tempcnta}{% + \line(0,1){1mm\@gobble}% + }% + \@tempcnta=\numexpr \dimexpr\layerwidth + .25in\relax/\dimexpr .5in\relax\relax + \multiput(0,-\layerheight\@gobble)(.5in\@gobble,0){\@tempcnta}{% + \line(0,1){2mm\@gobble}% + }% + \@tempcnta=\numexpr \dimexpr\layerwidth + .5in\relax/\dimexpr 1in\relax\relax + \multiput(0,-\layerheight\@gobble)(1in\@gobble,0){\@tempcnta}{% + \put(0,0){\line(0,1){3mm\@gobble}}% + \put(0,3.5mm\@gobble){% + \makebox(0,0)[cb]{\the\numexpr\@tempcnta-\@multicnt\relax}}% + }% + \put(0,0){\line(0,-1){\layerheight\@gobble}}% + \@tempcnta\numexpr \dimexpr\layerheight + .5mm\relax/\dimexpr 1mm\relax\relax + \multiput(0,0)(0,-1mm\@gobble){\@tempcnta}{% + \line(1,0){1mm\@gobble}% + }% + \@tempcnta\numexpr \dimexpr\layerheight + 2.5mm\relax/\dimexpr 5mm\relax\relax + \multiput(0,0)(0,-5mm\@gobble){\@tempcnta}{% + \line(1,0){2mm\@gobble}% + }% + \@tempcnta\numexpr \dimexpr\layerheight + .5cm\relax/\dimexpr 1cm\relax\relax + \multiput(0,0)(0,-1cm\@gobble){\@tempcnta}{% + \put(0,0){\line(1,0){3mm\@gobble}}% + \put(3.5mm\@gobble,0){% + \makebox(0,0)[cl]{\the\numexpr\@tempcnta-\@multicnt\relax}}% + }% + \put(\layerwidth\@gobble,0){\line(0,-1){\layerheight\@gobble}}% + \@tempcnta\numexpr \dimexpr\layerheight + .05in\relax/\dimexpr .1in\relax\relax + \multiput(\layerwidth\@gobble,0)(0,-.1in\@gobble){\@tempcnta}{% + \line(-1,0){1mm\@gobble}% + }% + \@tempcnta\numexpr \dimexpr\layerheight + .25in\relax/\dimexpr .5in\relax\relax + \multiput(\layerwidth\@gobble,0)(0,-.5in\@gobble){\@tempcnta}{% + \line(-1,0){2mm\@gobble}% + }% + \@tempcnta\numexpr \dimexpr\layerheight + .5in\relax/\dimexpr 1in\relax\relax + \multiput(\layerwidth\@gobble,0)(0,-1in\@gobble){\@tempcnta}{% + \put(0,0){\line(-1,0){3mm\@gobble}}% + \put(-3.5mm\@gobble,0){% + \makebox(0,0)[cr]{\the\numexpr\@tempcnta-\@multicnt\relax}}% + }% + \end{picture}}% +} +\DefineFamily{KOMAarg} +\DefineFamilyMember[.definelayerpagestyle]{KOMAarg} +\DefineFamilyKey[.definelayerpagestyle]{KOMAarg}{onselect}{% + \expandafter\l@addto@macro + \csname @ps@\scrlayer@current@pagestyle @initialhook\endcsname + {#1}% + \FamilyKeyStateProcessed +} +\DefineFamilyKey[.definelayerpagestyle]{KOMAarg}{oninit}{% + \expandafter\l@addto@macro + \csname @ps@\scrlayer@current@pagestyle @hook\endcsname + {#1}% + \FamilyKeyStateProcessed +} +\DefineFamilyKey[.definelayerpagestyle]{KOMAarg}{ononeside}{% + \expandafter\l@addto@macro + \csname @ps@\scrlayer@current@pagestyle @onesidehook\endcsname + {#1}% + \FamilyKeyStateProcessed +} +\DefineFamilyKey[.definelayerpagestyle]{KOMAarg}{ontwoside}{% + \expandafter\l@addto@macro + \csname @ps@\scrlayer@current@pagestyle @twosidehook\endcsname + {#1}% + \FamilyKeyStateProcessed +} +\DefineFamilyKey[.definelayerpagestyle]{KOMAarg}{onoddpage}{% + \expandafter\l@addto@macro + \csname @ps@\scrlayer@current@pagestyle @oddpagehook\endcsname + {#1}% + \FamilyKeyStateProcessed +} +\DefineFamilyKey[.definelayerpagestyle]{KOMAarg}{onevenpage}{% + \expandafter\l@addto@macro + \csname @ps@\scrlayer@current@pagestyle @evenpagehook\endcsname + {#1}% + \FamilyKeyStateProcessed +} +\DefineFamilyKey[.definelayerpagestyle]{KOMAarg}{onfloatpage}{% + \expandafter\l@addto@macro + \csname @ps@\scrlayer@current@pagestyle @floatpagehook\endcsname + {#1}% + \FamilyKeyStateProcessed +} +\DefineFamilyKey[.definelayerpagestyle]{KOMAarg}{onnonfloatpage}{% + \expandafter\l@addto@macro + \csname @ps@\scrlayer@current@pagestyle @nonfloatpagehook\endcsname + {#1}% + \FamilyKeyStateProcessed +} +\DefineFamilyKey[.definelayerpagestyle]{KOMAarg}{onbackground}{% + \expandafter\l@addto@macro + \csname @ps@\scrlayer@current@pagestyle @backgroundhook\endcsname + {#1}% + \FamilyKeyStateProcessed +} +\DefineFamilyKey[.definelayerpagestyle]{KOMAarg}{onforeground}{% + \expandafter\l@addto@macro + \csname @ps@\scrlayer@current@pagestyle @foregroundhook\endcsname + {#1}% + \FamilyKeyStateProcessed +} +\newcommand*{\DeclarePageStyleByLayers}[3][]{% + \edef\scrlayer@current@pagestyle{\GetRealPageStyle{#2}}% + \expandafter\scrlayer@declare@ps@by@layers\expandafter{% + \scrlayer@current@pagestyle + }{#1}{#3}% +} +\newcommand*{\scrlayer@declare@ps@by@layers}[3]{% + \@namedef{@ps@#1@initialhook}{\@ps@initialhook}% + \@namedef{@ps@#1@hook}{\@ps@hook}% + \@namedef{@ps@#1@backgroundhook}{\@ps@backgroundhook}% + \@namedef{@ps@#1@foregroundhook}{\@ps@foregroundhook}% + \@namedef{@ps@#1@oddpagehook}{\@ps@oddpagehook}% + \@namedef{@ps@#1@evenpagehook}{\@ps@evenpagehook}% + \@namedef{@ps@#1@onesidehook}{\@ps@onesidehook}% + \@namedef{@ps@#1@twosidehook}{\@ps@twosidehook}% + \@namedef{@ps@#1@floatpagehook}{\@ps@floatpagehook}% + \@namedef{@ps@#1@nonfloatpagehook}{\@ps@nonfloatpagehook}% + \FamilyExecuteOptions[.definelayerpagestyle]{KOMAarg}{#2}% + \@namedef{ps@#1}{% + \renewcommand*{\currentpagestyle}{#1}% + \@nameuse{@ps@@everystyle@@initialhook}% + \@nameuse{@ps@#1@initialhook}% + \renewcommand*{\currentpagestyle}{#1}% + \renewcommand*{\@oddhead}{% + \begingroup + \let\headmark\rightmark + \@nameuse{@ps@@everystyle@@hook}% + \@nameuse{@ps@#1@hook}% + \@nameuse{@ps@@everystyle@@\if@twoside two\else one\fi sidehook}% + \@nameuse{@ps@#1@\if@twoside two\else one\fi sidehook}% + \@nameuse{@ps@@everystyle@@oddpagehook}% + \@nameuse{@ps@#1@oddpagehook}% + \@nameuse{@ps@@everystyle@@\if@fcolmade\else non\fi floatpagehook}% + \@nameuse{@ps@#1@\if@fcolmade\else non\fi floatpagehook}% + \@nameuse{@ps@@everystyle@@backgroundhook}% + \@nameuse{@ps@#1@backgroundhook}% + \parbox[t][\headheight][t]{\linewidth}{% + \vskip \dimexpr -\topmargin-1in + -\headheight + -\ht\strutbox\relax + \hskip \dimexpr -\oddsidemargin-1in\relax + \strut\makebox[\z@][l]{% + \ForEachLayerOfPageStyle{@everystyle@}{% + \scrlayer@do@page@style@element@layer{background}{odd}% + {########1}% + }% + \ForEachLayerOfPageStyle{#1}{% + \scrlayer@do@page@style@element@layer{background}{odd}% + {########1}% + }% + }% + }% + \endgroup + }% + \renewcommand*{\@evenhead}{% + \begingroup + \let\headmark\leftmark + \@nameuse{@ps@@everystyle@@hook}% + \@nameuse{@ps@#1@hook}% + \@nameuse{@ps@@everystyle@@twosidehook}% + \@nameuse{@ps@#1@twosidehook}% + \@nameuse{@ps@@everystyle@@evenpagehook}% + \@nameuse{@ps@#1@evenpagehook}% + \@nameuse{@ps@@everystyle@@\if@fcolmade\else non\fi floatpagehook}% + \@nameuse{@ps@#1@\if@fcolmade\else non\fi floatpagehook}% + \@nameuse{@ps@@everystyle@@backgroundhook}% + \@nameuse{@ps@#1@backgroundhook}% + \parbox[t][\headheight][t]{\linewidth}{% + \vskip \dimexpr -\topmargin-1in + -\headheight + -\ht\strutbox\relax + \hskip \dimexpr-\evensidemargin-1in\relax + \strut\makebox[\z@][l]{% + \ForEachLayerOfPageStyle{@everystyle@}{% + \scrlayer@do@page@style@element@layer{background}{even}% + {########1}% + }% + \ForEachLayerOfPageStyle{#1}{% + \scrlayer@do@page@style@element@layer{background}{even}% + {########1}% + }% + }% + }% + \endgroup + }% + \renewcommand*{\@oddfoot}{% + \begingroup + \let\headmark\rightmark + \@nameuse{@ps@@everystyle@@hook}% + \@nameuse{@ps@#1@hook}% + \@nameuse{@ps@@everystyle@@\if@twoside two\else one\fi sidehook}% + \@nameuse{@ps@#1@\if@twoside two\else one\fi sidehook}% + \@nameuse{@ps@@everystyle@@oddpagehook}% + \@nameuse{@ps@#1@oddpagehook}% + \@nameuse{@ps@@everystyle@@\if@fcolmade\else non\fi floatpagehook}% + \@nameuse{@ps@#1@\if@fcolmade\else non\fi floatpagehook}% + \@nameuse{@ps@@everystyle@@foregroundhook}% + \@nameuse{@ps@#1@foregroundhook}% + \parbox[t][\headheight][t]{\linewidth}{% + \vskip \dimexpr -\topmargin-1in + -\headheight + -\headsep + -\textheight + -\footskip + -\ht\strutbox\relax + \hskip \dimexpr -\oddsidemargin-1in\relax + \strut\makebox[\z@][l]{% + \ForEachLayerOfPageStyle{@everystyle@}{% + \scrlayer@do@page@style@element@layer{foreground}{odd}% + {########1}% + }% + \ForEachLayerOfPageStyle{#1}{% + \scrlayer@do@page@style@element@layer{foreground}{odd}% + {########1}% + }% + }% + }% + \endgroup + }% + \renewcommand*{\@evenfoot}{% + \begingroup + \let\headmark\leftmark + \@nameuse{@ps@@everystyle@@hook}% + \@nameuse{@ps@#1@hook}% + \@nameuse{@ps@@everystyle@@twosidehook}% + \@nameuse{@ps@#1@twosidehook}% + \@nameuse{@ps@@everystyle@@evenpagehook}% + \@nameuse{@ps@#1@evenpagehook}% + \@nameuse{@ps@@everystyle@@\if@fcolmade\else non\fi floatpagehook}% + \@nameuse{@ps@#1@\if@fcolmade\else non\fi floatpagehook}% + \@nameuse{@ps@@everystyle@@foregroundhook}% + \@nameuse{@ps@#1@foregroundhook}% + \parbox[t][\headheight][t]{\linewidth}{% + \vskip \dimexpr -\topmargin-1in + -\headheight + -\headsep + -\textheight + -\footskip + -\ht\strutbox\relax + \hskip \dimexpr-\evensidemargin-1in\relax + \strut\makebox[\z@][l]{% + \ForEachLayerOfPageStyle{@everystyle@}{% + \scrlayer@do@page@style@element@layer{foreground}{even}% + {########1}% + }% + \ForEachLayerOfPageStyle{#1}{% + \scrlayer@do@page@style@element@layer{foreground}{even}% + {########1}% + }% + }% + }% + \endgroup + }% + }% + \@namedef{@ps@#1@layers}{}% + \@for \reserved@a:=#3\do {% + \ifstr\reserved@a\@empty{}{% + \expandafter\@cons\csname @ps@#1@layers\endcsname{{\reserved@a}}% + }% + }% +} +\newcommand*{\ForEachLayerOfPageStyle}[2]{% + \begingroup + \edef\reserved@a{\GetRealPageStyle{#1}}% + \def\@elt##1{\ifscrlayer@deactivate@layers\else #2\fi}% + \@nameuse{@ps@\reserved@a @layers}% + \endgroup +} +\newcommand*{\scrlayer@do@page@style@element@layer}[3]{% + \begingroup + \expandafter\ifx\csname if@scr@l@#3@\if@fcolmade\else non\fi floatpage% + \expandafter\endcsname\csname iftrue\endcsname + \expandafter\ifx\csname if@scr@l@#3@\if@twoside two\else one\fi side% + \expandafter\endcsname\csname iftrue\endcsname + \expandafter + \ifx\csname if@scr@l@#3@#1\expandafter\endcsname + \csname iftrue\endcsname + \expandafter + \ifx\csname if@scr@l@#3@#2\expandafter\endcsname + \csname iftrue\endcsname + \ifscrlayer@draft + \scr@layerbox(\csname scr@l@#3@x\endcsname,% + \csname scr@l@#3@y\endcsname)% + (\csname scr@l@#3@w\endcsname,% + \csname scr@l@#3@h\endcsname)% + [\csname scr@l@#3@align\endcsname]% + {\layercontentsmeasure}% + \fi + \scr@layerbox(\csname scr@l@#3@x\endcsname,% + \csname scr@l@#3@y\endcsname)% + (\csname scr@l@#3@w\endcsname,% + \csname scr@l@#3@h\endcsname)% + [\csname scr@l@#3@align\endcsname]% + {\csname scr@l@#3@contents\endcsname}% + \fi + \fi + \fi + \fi + \endgroup +} +\def\scr@layerbox(#1,#2)(#3,#4){% + \@ifnextchar [%] + {\scr@@layerbox(#1,#2)(#3,#4)}{\scr@@layerbox(#1,#2)(#3,#4)[]}% +} +\def\scr@@layerbox(#1,#2)(#3,#4)[#5]#6{% + \begingroup + \edef\layerxoffset{#1}% + \edef\layeryoffset{#2}% + \edef\layerwidth{#3}% + \edef\layerheight{#4}% + \def\scr@l@valign{t}% + \def\scr@l@halign{l}% + \edef\reserved@b{#5}% + \expandafter\@tfor\expandafter\reserved@a\expandafter:\expandafter=% + \reserved@b\do{% + \if t\reserved@a + \def\scr@l@valign{t}% + \else + \if c\reserved@a + \def\scr@l@valign{c}% + \def\scr@l@halign{c}% + \else + \if b\reserved@a + \def\scr@l@valign{b}% + \else + \if l\reserved@a + \def\scr@l@halign{l}% + \else + \if r\reserved@a + \def\scr@l@halign{r}% + \else + \PackageWarning{scrlayer}{% + Unknown alignment `\reserved@a' ignored}% + \fi + \fi + \fi + \fi + \fi + }% + \parbox[t][\z@][t]{\z@}{% + \vskip\layeryoffset + \if b\scr@l@valign\vskip-\layerheight\fi + \if c\scr@l@valign\vskip-.5\dimexpr\layerheight\relax\fi + \makebox[\z@][l]{% + \hskip\layerxoffset + \makebox[\z@][\scr@l@halign]{% + \parbox[\scr@l@valign][\layerheight][\scr@l@valign]{\layerwidth}{% + \vskip\z@\strut{% + \ifscrlayer@forceignoreuppercase + \expandafter\let\csname MakeUppercase \endcsname\@firstofone + \let\MakeUppercase\@firstofone + \let\uppercase\@firstofone + \fi + #6% + }\strut\vskip\z@ + }% + }% + }% + }% + \endgroup +} +\newcommand*{\DeclareNewPageStyleByLayers}[2][]{% + \@ifundefined{ps@#2}{}{% + \PackageError{scrlayer}{% + Page style `#2' already defined% + }{% + You may use \string\DeclareNewPageStyleByLayers\space to declare a new + page style only\MessageBreak + if that page style hasn't been declared or defined before.\MessageBreak + You may use either \string\ProvidePageStyleByLayers\space to declare the + page style only\MessageBreak + if it hasn't been declared or defined before, or + \string\RedeclarePageStyleByLayers\MessageBreak + to overwrite the former + declaration or definition of the page style% + \@ifundefined{@ps@#2@layers}{}{,\MessageBreak + or \string\AddLayersToPageStyle\space to add further layers to the + already declared\MessageBreak + page style, or \string\RemoveLayersFromPageStyle\space to remove + layers from the\MessageBreak + already declared page style}.\MessageBreak + Nevertheless, if you'll continue, the page style will be + overwritten\MessageBreak + by the new declaration.% + }% + }% + \DeclarePageStyleByLayers[{#1}]{#2}% +} +\newcommand*{\ProvidePageStyleByLayers}[3][]{% + \@ifundefined{ps@#2}{% + \DeclarePageStyleByLayers[{#1}]{#2}{#3}% + }{% + \PackageInfo{scrlayer}{% + \string\ProvidePageStyleByLayers{#2}{#3} ignored,\MessageBreak + because page style `#2'\MessageBreak + already exists% + }% + }% +} +\newcommand*{\RedeclarePageStyleByLayers}[2][]{% + \@ifundefined{ps@#2}{% + \PackageError{scrlayer}{% + Page style `#2' not yet defined% + }{% + You may use \string\RedeclarePageStyleByLayers\space to declare a page + style only\MessageBreak + if that page style has already been declared or defined.\MessageBreak + You may use either \string\DeclareNewPageStyleByLayers, + \string\DeclarePageStyleByLayers,\MessageBreak + or \string\ProvidePageStyleByLayers\space to declare that not yet + defined page style.\MessageBreak + Nevertheless, if you'll continue, the page style will be declared.% + }% + }{}% + \DeclarePageStyleByLayers[{#1}]{#2}% +} +\newcommand*{\AddLayersToPageStyle}[2]{% + \edef\reserved@b{\GetRealPageStyle{#1}}% + \IfLayerPageStyleExists{\reserved@b}{% + \@for \reserved@a:=#2\do {% + \ifstr\reserved@a\@empty{}{% + \expandafter\@cons\csname @ps@\reserved@b @layers\endcsname + {{\reserved@a}}% + }% + }% + }{% + \scrlayer@lpm@error{#1}{adding layers}% + }% +} +\newcommand*{\AddLayersAtEndOfPageStyle}{% + \AddLayersToPageStyle +} +\newcommand*{\AddLayersAtBeginOfPageStyle}[2]{% + \begingroup + \let\@cons\@snoc + \AddLayersToPageStyle{#1}{#2}% + \endgroup +} +\newcommand*{\@snoc}[2]{% + \begingroup\let\@elt\relax\xdef#1{\@elt #2#1}\endgroup +} +\newcommand*{\RemoveLayersFromPageStyle}[2]{% + \edef\reserved@b{\GetRealPageStyle{#1}}% + \IfLayerPageStyleExists{#1}{% + \@for \reserved@a:=#2\do {% + \ifstr\reserved@a\@empty{}{% + \expandafter\remove@layer@from@page@style\expandafter{\reserved@a}% + {\reserved@b}% + }% + }% + }{% + \scrlayer@lpm@error{#1}{removing layers}% + }% +} +\newcommand*{\remove@layer@from@page@style}[2]{% + \begingroup + \expandafter\let\expandafter\reserved@a\csname @ps@#2@layers\endcsname + \@namedef{@ps@#2@layers}{}% + \def\@elt##1{% + \ifstr{#1}{##1}{}{% + \expandafter\@cons\csname @ps@#2@layers\endcsname{{##1}}% + }% + }\reserved@a + \endgroup +} +\newcommand*{\scrlayer@lpm@error}[2]{% + \PackageError{scrlayer}{`#1' is not a layer page style}{% + \scr@ifundefinedorrelax{ps@#1}{% + Page style `#1' is not defined, + }{% + Page style `#1' is not a layer page style, + }% + but #2\MessageBreak + may be used only for layer page styles declared using\MessageBreak + \string\DeclarePageStyleByLayers, + \string\DeclareNewPageStyleByLayers,\MessageBreak + of \string\ProvidePageStyleByLayers.\MessageBreak + If you'll continue, your operation will be ignored.% + }% +} +\newcommand*{\AddLayersToPageStyleAfterLayer}[3]{% + \edef\reserved@b{\GetRealPageStyle{#1}}% + \IfLayerPageStyleExists{\reserved@b}{% + \begingroup + \expandafter\let\expandafter\reserved@a + \csname @ps@\reserved@b @layers\endcsname + \@namedef{@ps@\reserved@b @layers}{}% + \def\@elt##1{% + \ifstr{##1}\@empty{}{% + \expandafter\@cons\csname @ps@\reserved@b @layers\endcsname{{##1}}% + \ifstr{##1}{#3}{% + \@for \reserved@a:=#2\do {% + \ifstr\reserved@a\@empty{}{% + \expandafter\@cons\csname @ps@\reserved@b @layers\endcsname + {{\reserved@a}}% + }% + }% + }{}% + }% + }% + \reserved@a + \endgroup + }{% + \scrlayer@lpm@error{#1}{adding layers}% + }% +} +\newcommand*{\AddLayersToPageStyleBeforeLayer}[3]{% + \edef\reserved@b{\GetRealPageStyle{#1}}% + \IfLayerPageStyleExists{\reserved@b}{% + \begingroup + \expandafter\let\expandafter\reserved@a + \csname @ps@\reserved@b @layers\endcsname + \@namedef{@ps@\reserved@b @layers}{}% + \def\@elt##1{% + \ifstr{##1}\@empty{}{% + \ifstr{##1}{#3}{% + \@for \reserved@a:=#2\do {% + \ifstr\reserved@a\@empty{}{% + \expandafter\@cons\csname @ps@\reserved@b @layers\endcsname + {{\reserved@a}}% + }% + }% + }{}% + \expandafter\@cons\csname @ps@#1@layers\endcsname{{##1}}% + }% + }% + \reserved@a + \endgroup + }{% + \scrlayer@lpm@error{#1}{adding layers}% + }% +} +\newcommand*{\UnifyLayersAtPageStyle}[1]{% + \edef\reserved@b{\GetRealPageStyle{#1}}% + \IfLayerPageStyleExists{\reserved@b}{% + \expandafter\let\expandafter\reserved@a + \csname @ps@\reserved@b @layers\endcsname + \@namedef{@ps@\reserved@b @layers}{}% + \begingroup + \def\@elt##1{% + \ifstr{##1}\@empty{}{% + \remove@layer@from@page@style{##1}{\reserved@b}% + \expandafter\@cons\csname @ps@\reserved@b @layers\endcsname{{##1}}% + }% + }% + \reserved@a + \endgroup + }{% + \scrlayer@lpm@error{#1}{unifying}% + }% +} +\newcommand*{\ModifyLayerPageStyleOptions}[2]{% + \edef\reserved@a{\GetRealPageStyle{#1}}% + \IfLayerPageStyleExists{#1}{% + \expandafter\scrlayer@modify@layer@ps@options\expandafter{% + \reserved@a + }{#2}% + }{% + \scrlayer@lpm@error{#1}{modifying}% + }% +} +\newcommand*{\scrlayer@modify@layer@ps@options}[2]{% + \begingroup + \def\scrlayer@current@pagestyle{#1}% + \@namedef{@ps@#1@initialhook}{}% + \@namedef{@ps@#1@hook}{}% + \@namedef{@ps@#1@backgroundhook}{}% + \@namedef{@ps@#1@foregroundhook}{}% + \@namedef{@ps@#1@oddpagehook}{}% + \@namedef{@ps@#1@evenpagehook}{}% + \@namedef{@ps@#1@onesidehook}{}% + \@namedef{@ps@#1@twosidehook}{}% + \@namedef{@ps@#1@floatpagehook}{}% + \@namedef{@ps@#1@nonfloatpagehook}{}% + \FamilyExecuteOptions[.definelayerpagestyle]{KOMAarg}{#2}% + \def\reserved@a{\endgroup}% + \def\@sls@##1{% + \expandafter\let\expandafter\reserved@b\csname @ps@#1@##1hook\endcsname + \ifx\reserved@b\@empty\else + \l@addto@macro\reserved@a{\@namedef{@ps@#1@##1hook}}% + \expandafter\l@addto@macro\expandafter\reserved@a\expandafter{% + \expandafter{% + \reserved@b + }% + }% + \fi + }% + \@sls@{initial}% + \@sls@{}% + \@sls@{background}% + \@sls@{foreground}% + \@sls@{oddpage}% + \@sls@{evenpage}% + \@sls@{oneside}% + \@sls@{twoside}% + \@sls@{floatpage}% + \@sls@{nonfloatpage}% + \reserved@a +} +\newcommand*{\AddToLayerPageStyleOptions}[2]{% + \IfLayerPageStyleExists{#1}{% + \def\scrlayer@current@pagestyle{#1}% + \FamilyExecuteOptions[.definelayerpagestyle]{KOMAarg}{#2}% + }{% + \scrlayer@lpm@error{#1}{modifying}% + }% +} +\newcommand*{\DeclarePageStyleAlias}[2]{% + \edef\reserved@a{\GetRealPageStyle{#2}}% + \scr@ifundefinedorrelax{ps@\reserved@a}{% + \PackageError{scrlayer}{unknown real page style `#2'}{% + You've tried to declare an alias for page style `#2',\MessageBreak + but the real page style of `#2' is undefined.\MessageBreak + You can define aliases, only if the real page style has been + defined.\MessageBreak + If you'll continue, the declaration will be ignored.% + }% + \DestroyRealLayerPageStyle{#1}% + \DestroyLayerAlias{#1}% + }{% + \@namedef{@ps@#1@alias}{#2}% + \@namedef{ps@#1}{\pagestyle{\@nameuse{@ps@#1@alias}}}% + }% +} +\newcommand*{\DeclareNewPageStyleAlias}[1]{% + \@ifundefined{ps@#1}{}{% + \PackageError{scrlayer}{% + Page style `#1' already defined% + }{% + You may use \string\DeclareNewPageStyleAlias\space to declare a new + page style only\MessageBreak + if that page style hasn't been declared or defined before.\MessageBreak + You may use either \string\ProvidePageStyleAlias\space to declare the + page style only\MessageBreak + if it hasn't been declared or defined before, or + \string\RedeclarePageStyleAlias\MessageBreak + to overwrite the former declaration or definition of the page + style\MessageBreak + Nevertheless, if you'll continue, the page style will be + overwritten\MessageBreak + by the new alias.% + }% + }% + \DeclarePageStyleAlias{#1}% +} +\newcommand*{\ProvidePageStyleAlias}[2]{% + \@ifundefined{ps@#1}{% + \DeclarePageStyleAlias{#1}{#2}% + }{% + \PackageInfo{scrlayer}{% + \string\ProvidePageStyleAlias{#1}{#2} ignored,\MessageBreak + because page style `#1' already\MessageBreak + exists% + }% + }% +} +\newcommand*{\RedeclarePageStyleAlias}[1]{% + \@ifundefined{ps@#1}{% + \PackageError{scrlayer}{% + Page style `#1' not yet defined% + }{% + You may use \string\RedeclarePageStyleAlias\space to declare a page + style only\MessageBreak + if that page style has already been declared or defined.\MessageBreak + You may use either \string\DeclareNewPageStyleAlias, + \string\DeclarePageStyleAlias,\MessageBreak + or \string\ProvidePageStyleAlias\space to declare that not yet + defined page style.\MessageBreak + Nevertheless, if you'll continue, the page style will be declared.% + }% + }{}% + \DeclarePageStyleAlias{#1}% +} +\newcommand*{\DestroyPageStyleAlias}[1]{% + \scr@ifundefinedorrelax{@ps@#1@alias}{}{% + \expandafter\let\csname @ps@#1@alias\endcsname\relax + \expandafter\let\csname ps@#1\endcsname\relax + }% +} +\newcommand*{\GetRealPageStyle}[1]{% + \scr@ifundefinedorrelax{@ps@#1@alias}{#1}{% + \expandafter\GetRealPageStyle\expandafter{% + \expandafter\csname @ps@#1@alias\expandafter\endcsname\expandafter}% + }% +} +\newcommand*{\IfLayerPageStyleExists}[1]{% + \scr@ifundefinedorrelax{ps@#1}{% + \expandafter\@secondoftwo + }{% + \scr@ifundefinedorrelax{@ps@#1@layers}{% + \scr@ifundefinedorrelax{@ps@#1@alias}{% + \expandafter\@secondoftwo + }{% + \expandafter\IfLayerPageStyleExists\expandafter{% + \expandafter\csname @ps@#1@alias\expandafter\endcsname\expandafter}% + }% + }{% + \expandafter\@firstoftwo + }% + }% +} +\newcommand*{\IfRealLayerPageStyleExists}[1]{% + \scr@ifundefinedorrelax{ps@#1}{% + \expandafter\@secondoftwo + }{% + \scr@ifundefinedorrelax{@ps@#1@layers}{% + \expandafter\@secondoftwo + }{% + \expandafter\@firstoftwo + }% + }% +} +\newcommand*{\IfLayerAtPageStyle}[2]{% + \IfLayerPageStyleExists{#1}{% + \begingroup + \edef\reserved@a{\GetRealPageStyle{#1}}% + \@tempswafalse + \ifstr{#2}{}{% + \expandafter\ifx\csname @ps@\reserved@a @layers\endcsname\@empty + \@tempswatrue + \fi + }{% + \expandafter\ForEachLayerOfPageStyle\expandafter{% + \reserved@a}{\ifstr{##1}{#2}{\aftergroup\@tempswatrue}{}}% + }% + \if@tempswa \aftergroup\@firstoftwo \else \aftergroup\@secondoftwo \fi + \expandafter\endgroup + }{% + \scrlayer@lpm@error{#1}{testing for layers}% + \expandafter\@gobbletwo + }% +} +\newcommand*{\IfSomeLayersAtPageStyle}[2]{% + \IfLayerPageStyleExists{#1}{% + \begingroup + \@tempswafalse + \@for \reserved@a:=#2\do {% + \edef\reserved@a{\noexpand\IfLayerAtPageStyle{#1}{\reserved@a}}% + \reserved@a{\@tempswatrue}{}% + }% + \if@tempswa \aftergroup\@firstoftwo \else \aftergroup\@secondoftwo \fi + \expandafter\endgroup + }{% + \scrlayer@lpm@error{#1}{testing for layers}% + \expandafter\@gobbletwo + }% +} +\newcommand*{\IfLayersAtPageStyle}[2]{% + \IfLayerPageStyleExists{#1}{% + \begingroup + \@tempswatrue + \ifstr{#2}{}{% + \edef\reserved@a{\GetRealPageStyle{#1}}% + \expandafter\ifx\csname @scr@\reserved@a @layers\endcsname\@empty \else + \@tempswafalse + \fi + }{% + \@for \reserved@a:=#2\do {% + \edef\reserved@a{\noexpand\IfLayerAtPageStyle{#1}{\reserved@a}}% + \reserved@a{}{\@tempswafalse}% + }% + }% + \if@tempswa \aftergroup\@firstoftwo \else \aftergroup\@secondoftwo \fi + \expandafter\endgroup + }{% + \scrlayer@lpm@error{#1}{testing for layers}% + \expandafter\@gobbletwo + }% +} +\newcommand*{\DestroyRealLayerPageStyle}[1]{% + \IfRealLayerPageStyleExists{#1}{% + \expandafter\let\csname @ps@#1@initialhook\endcsname\relax + \expandafter\let\csname @ps@#1@hook\endcsname\relax + \expandafter\let\csname @ps@#1@backgroundhook\endcsname\relax + \expandafter\let\csname @ps@#1@foregroundhook\endcsname\relax + \expandafter\let\csname @ps@#1@oddpagehook\endcsname\relax + \expandafter\let\csname @ps@#1@evenpagehook\endcsname\relax + \expandafter\let\csname @ps@#1@onesidehook\endcsname\relax + \expandafter\let\csname @ps@#1@twosidehook\endcsname\relax + \expandafter\let\csname @ps@#1@floatpagehook\endcsname\relax + \expandafter\let\csname @ps@#1@nonfloatpagehook\endcsname\relax + \expandafter\let\csname @ps@#1@layers\endcsname\relax + \expandafter\let\csname ps@#1\endcsname\relax + \ifstr{\currentpagestyle}{#1}{% + \def\currentpagestyle{scrlayer@empty}% + \let\@oddhead\@empty\let\@evenhead\@empty + \let\@oddfoot\@empty\let\@evenfoot\@empty + }{}% + \if@specialpage + \ifstr{\@specialstyle}{#1}{% + \global\let\@specialstyle\relax + \global\@specialpagefalse + }{}% + \fi + }{% + \PackageInfo{scrlayer}{% + \string\DestroyRealLayerPageStyle{#1} ignored,\MessageBreak + because the layer page style isn't\MessageBreak + defined (any longer)% + }% + }% +} +\newcommand*{\currentpagestyle}{} +\PackageInfo{scrlayer}{patching LaTeX kernel macro \string\pagestyle} +\def\reserved@a{\scrlayer@exec@before@pagestyle@hook{##1}} +\expandafter\expandafter\expandafter\renewcommand +\expandafter\expandafter\expandafter*% +\expandafter\expandafter\expandafter\pagestyle +\expandafter\expandafter\expandafter[% +\expandafter\expandafter\expandafter1% +\expandafter\expandafter\expandafter]% +\expandafter\expandafter\expandafter{% + \expandafter\reserved@a + \pagestyle{#1}% + \edef\currentpagestyle{\GetRealPageStyle{#1}}% + \scrlayer@exec@after@pagestyle@hook{#1}% +} +\AtBeginDocument{% + \begingroup + \let\scrlayer@exec@before@pagestyle@hook\@gobble + \let\scrlayer@exec@after@pagestyle@hook\@gobble + \def\ps@test{}% + \pagestyle{test}% + \ifstr{\currentpagestyle}{test}{}{% + \PackageError{scrlayer}{package incompatibility detected}{% + Another package redefines \string\pagestyle\space incompatible with + scrlayer.\MessageBreak + This disables setting of \string\currentpagestyle\space and may + be serious.\MessageBreak + Maybe you could prevent this loading package scrlayer + later.\MessageBreak + If not you should either not use scrlayer or not the other + package,\MessageBreak + that redefines \string\pagestyle.% + }% + }% + \endgroup +} +\newcommand*{\BeforeSelectAnyPageStyle}[1]{% + \expandafter\renewcommand\expandafter*% + \expandafter\scrlayer@exec@before@pagestyle@hook + \expandafter[\expandafter1\expandafter]\expandafter{% + \scrlayer@exec@before@pagestyle@hook{##1}#1}% +} +\newcommand*{\scrlayer@exec@before@pagestyle@hook}[1]{} +\newcommand*{\AfterSelectAnyPageStyle}[1]{% + \expandafter\renewcommand\expandafter*% + \expandafter\scrlayer@exec@after@pagestyle@hook + \expandafter[\expandafter1\expandafter]\expandafter{% + \scrlayer@exec@after@pagestyle@hook{##1}#1}% +} +\newcommand*{\scrlayer@exec@after@pagestyle@hook}[1]{} +\newcommand*{\scrlayerAddToInterface}[2][\@currname.\@currext]{% + \begingroup + \edef\reserve@a{% + \noexpand\scrlayerAddCsToInterface[#1]{\expandafter\@gobble\string #2}% + }% + \expandafter\endgroup\reserve@a +} +\newcommand{\scrlayerAddCsToInterface}[3][\@currname.\@currext]{% + \@ifundefined{scrlayer@#1@commandlist}{% + \PackageError{scrlayer}{unkown interface `#1'}{% + I've been told to add a command sequence to an interface, that hasn't + been\MessageBreak + defined yet. Please initialise every interface using + \string\InitInterface\space before\MessageBreak + trying to add command sequences to it.\MessageBreak + If you'll continue, the command will be ignored.% + }% + }{% + \@ifundefined{#2}{% + \scrlayer@AddCsToInterface[#1]{#2}#3% + }{% + \@ifundefined{scrlayer@command@#2}{% + \ifscrlayer@forceoverwrite + \PackageWarning{scrlayer}{% + Overloading `\@backslashchar#2'!\MessageBreak + scrlayer detected, that the given command\MessageBreak + has been defined already, when\MessageBreak + `#1' tried to define it again.\MessageBreak + Nevertheless, while scrlayer is in force overwrite\MessageBreak + mode currently, the original definition will be\MessageBreak + removed% + }% + \expandafter\let\csname #2\endcsname\relax + \scrlayer@AddCsToInterface[#1]{#2}#3% + \else + \PackageError{scrlayer}{cannot define `\@backslashchar#2'}{% + scrlayer interface `#1' has tried to + define command\MessageBreak + `\@backslashchar#2', but this has already been defined\MessageBreak + and is not part of another interface. So it cannot be + defined.\MessageBreak + Before continuing you should solve this conflict.\MessageBreak + Nevertheless, you may use option `forceoverwrite' to get only a + warning instead\MessageBreak + of an error. But this wouldn't solve the problem at + all!\MessageBreak + This error is almost fatal, so you should abort the LaTeX + run.% + }% + \fi + }{% + \ifscrlayer@autoremoveinterfaces + \PackageInfo{scrlayer}{% + already define interface command\MessageBreak + `\@backslashchar#2' detected.\MessageBreak + Command has been defined by interface\MessageBreak + `\@nameuse{scrlayer@command@#2}'.\MessageBreak + To continue installation of interface\MessageBreak + `#1', interface\MessageBreak + `\@nameuse{scrlayer@command@#2}' will\MessageBreak + be removed% + }% + \@nameuse{scrlayer@\@nameuse{scrlayer@command@#2}@onremove}% + \begingroup + \def\@elt##1{% + \aftergroup\let\aftergroup##1\aftergroup\relax + }% + \@nameuse{scrlayer@\@nameuse{scrlayer@command@#2}@commandlist}% + \endgroup + \expandafter\let\csname + scrlayer@\@nameuse{scrlayer@command@#2}@commandlist\endcsname\relax + \expandafter\let\csname + scrlayer@\@nameuse{scrlayer@command@#2}@onremove\endcsname\relax + \expandafter\let\csname #2\endcsname\relax + \scrlayer@AddCsToInterface[#1]{#2}#3% + \else + \PackageError{scrlayer}{cannot define `\@backslashchar#2'}{% + Interface command `\@backslashchar#2' has already + been\MessageBreak + defined by interface + `\@nameuse{scrlayer@command@#2}'.\MessageBreak + So it cannot be defined again.\MessageBreak + You may try scrlayer option `autoremoveinterfaces' to + automatically remove\MessageBreak + older interfaces in such conflict situations.\MessageBreak + For now, it's recommended so solve the problem before you'll + continue.% + }% + \fi + }% + }% + }% +}% +\newcommand*\scrlayer@AddCsToInterface[2][\@currname.\@currext]{% + \expandafter\expandafter\expandafter\def\expandafter + \csname scrlayer@#1@commandlist\expandafter\expandafter\expandafter\endcsname + \expandafter\expandafter\expandafter{% + \csname scrlayer@#1@commandlist\expandafter\endcsname + \expandafter\@elt\csname #2\endcsname + }% + \@namedef{scrlayer@command@#2}{#1}% +} +\newcommand*{\scrlayerInitInterface}[1][\@currname.\@currext]{% + \@ifundefined{scrlayer@#1@commandlist}{% + \@namedef{scrlayer@#1@commandlist}{}% + }{% + \begingroup + \def\@elt##1{\space\space\string##1\MessageBreak}% + \PackageError{scrlayer}{interface `#1' already initialised}{% + You've tried to initialise scrlayer interface `#1',\MessageBreak + but an interface of this name has been initialised + already.\MessageBreak + Here's a list of all macros of the already initialised + interface:\MessageBreak + \@nameuse{scrlayer@#1@commandlist}.% + If you'll continue, this re-initialisation will be ignored.% + }% + \endgroup + }% +} +\newcommand*{\scrlayerOnAutoRemoveInterface}[2][\@currname.\@currext]{% + \@ifundefined{scrlayer@#1@onremove}{\@namedef{scrlayer@#1@onremove}{}}{}% + \expandafter\l@addto@macro\csname scrlayer@#1@onremove\endcsname{#2}% +} +%%% From File: $Id: scrlayer.dtx 1480 2013-10-31 10:00:02Z mjk $ (final) +\DeclareNewPageStyleByLayers{@everystyle@}{} +\RedeclarePageStyleByLayers{empty}{} +%%% From File: $Id: scrlogo.dtx 1380 2013-10-01 15:31:55Z mjk $ +\@ifundefined{KOMAScript}{% + \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% + M\kern.05em A\kern.1em-\kern.1em Script}}}{} +\endinput +%% +%% End of file `scrlayer.sty'. diff --git a/Master/texmf-dist/tex/latex/koma-script/scrlettr.cls b/Master/texmf-dist/tex/latex/koma-script/scrlettr.cls deleted file mode 100644 index 1583e2b5dd7..00000000000 --- a/Master/texmf-dist/tex/latex/koma-script/scrlettr.cls +++ /dev/null @@ -1,715 +0,0 @@ -%% -%% This is file `scrlettr.cls', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% scrlettr.dtx (with options: `scrlettr') -%% scrlogo.dtx (with options: `logo') -%% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. -%% -%% This file was generated from file(s) of the KOMA-Script bundle. -%% --------------------------------------------------------------- -%% -%% It may be distributed under the conditions of the -%% LaTeX Project Public License in the version distributed together -%% with KOMA-Script, see file `lppl.txt' or `lppl-de.txt'. -%% -%% This file may only be distributed together with a copy of the -%% KOMA-Script bundle. You may however distribute the -%% KOMA-Script bundle without all such generated files. See also -%% `lppl.txt' or `lppl-de.txt' for additional information. -%% -%% The list of files belonging to KOMA-Script distribution is given in -%% the file `manifest.txt'. See also `lppl.txt' or `lppl-de.txt' for -%% additional information. -%% -%% If this file is a beta version, you may not be allowed to distribute -%% it. Look at the comments below to see if this is the case. -%% -%% English and German manuals are part of KOMA-Script bundle. -%% ---------------------------------------------------------- -%% -%% See `README'. -%% -%% The KOMA-Script bundle (but maybe not this file) was based upon the -%% LaTeX 2.09 Script family created by Frank Neukam 1993 and the LaTeX2e -%% standard classes created by The LaTeX3 Project 1994-1996. You may -%% find a complete unmodified copy of LaTeX2e at -%% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. -%% -%%% From: scrlettr.dtx -\NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesClass{scrlettr} - [2002/05/24 v2.6e - OBSOLETE - LaTeX2e KOMA - document class] -\ClassWarningNoLine{scrlettr}{% - THIS CLASS IS OBSOLETE AND NOT LONGER SUPPORTED!\MessageBreak - Since the new KOMA-Script letter class ``scrlttr2'' was\MessageBreak - released, the use of ``scrlettr'' is obsolete.\MessageBreak - You should not use this class for writing new letters.\MessageBreak - You should use ``scrlttr2''.\MessageBreak - All old commands of ``scrlettr'' are supported at\MessageBreak - the new class ``scrlttr2''. But the length are not\MessageBreak - and the typearea was changed - even using the\MessageBreak - compatiblity option ``KOMAold''. So you may have\MessageBreak - to do some changes} -\newcommand*\@ptsize{} -\newif\if@bigloc -\newif\if@orgdate -\DeclareOption{10pt}{\renewcommand*\@ptsize{0}} -\DeclareOption{11pt}{\renewcommand*\@ptsize{1}} -\DeclareOption{12pt}{\renewcommand*\@ptsize{2}} -\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse} -\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue% - \ClassWarningNoLine{scrlettr}{This is no twoside-layout but openright!} -} -\DeclareOption{draft}{\overfullrule 5pt} -\DeclareOption{final}{\setlength\overfullrule{0pt}} -\DeclareOption{a4paper}{ - \setlength{\paperwidth}{210mm} - \setlength{\paperheight}{297mm}} -\DeclareOption{wlocfield}{\@bigloctrue} -\DeclareOption{slocfield}{\@biglocfalse} -\DeclareOption{orgdate}{\@orgdatetrue} -\DeclareOption{scrdate}{\@orgdatefalse} -\ExecuteOptions{12pt,oneside,final,slocfield,a4paper} -\ProcessOptions -\input{size1\@ptsize.clo} -\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} -\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} -\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} -\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} -\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} -\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} -\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} -\DeclareOldFontCommand{\sfb}{\normalfont\sffamily\bfseries}{\@nomath\sfb} -\newcommand*\descfont{\sffamily\bfseries} -\newcommand*\sectfont{\sffamily\bfseries} -\newcommand*\pnumfont{\normalfont} -\newcommand*\headfont{\slshape} -\newcommand*\capfont{\normalfont} -\newcommand*\caplabelfont{\normalfont} -\AtBeginDocument{ - \def\captionsenglish{% - \def\yourrefname{Your ref.} - \def\yourmailname{Your letter of} - \def\myrefname{Our ref.} - \def\customername{Customer no.} - \def\invoicename{Invoice no.} - \def\subjectname{Subject} - \def\ccname{cc} - \def\enclname{encl} - \def\headtoname{To} - \def\datename{Date} - \def\pagename{Page}} - \let\captionsUSenglish=\captionsenglish - \let\captionsamerican=\captionsUSenglish - \let\captionsbritish=\captionsenglish - \let\captionsUKenglish=\captionsenglish - \def\captionsgerman{% - \def\yourrefname{Ihr Zeichen} - \def\yourmailname{Ihr Schreiben vom} - \def\myrefname{Unser Zeichen} - \def\customername{Kundennummer} - \def\invoicename{Rechnungsnummer} - \def\subjectname{Betr.} - \def\ccname{Kopien an} - \def\enclname{Anlagen} - \def\headtoname{An} - \def\datename{Datum} - \def\pagename{Seite}} - \let\captionsaustrian=\captionsgerman - \let\captionsngerman=\captionsgerman - \def\captionsfrench{% - \def\yourrefname{Vos r\'ef\'erences} - \def\yourmailname{Votre lettre du} - \def\myrefname{Nos r\'ef\'erences} - \def\customername{Num\'ero de client} - \def\invoicename{Num\'ero de facture} - \def\subjectname{Concernant} - \def\ccname{Copie \`a} - \def\enclname{Annexes} - \def\headtoname{A} - \def\datename{Date} - \def\pagename{Page}} - \def\captionsitalian{% - \def\yourrefname{Vs./Rif.} - \def\yourmailname{Vs.~lettera del} - \def\myrefname{Ns./Rif.} - \def\customername{Nr.~cliente} - \def\invoicename{Nr.~fattura} - \def\subjectname{Oggetto} - \def\ccname{Per conoscenza} - \def\enclname{Allegato} - \def\headtoname{A} - \def\datename{Data} - \def\pagename{Pagina}} - \def\captionsspanish{% - \def\yourrefname{Su ref.} - \def\yourmailname{Su carta de} - \def\myrefname{Nuestra ref.} - \def\customername{No. de cliente} - \def\invoicename{No. de factura} - \def\subjectname{Asunto} - \def\ccname{Copias} - \def\enclname{Adjunto} - \def\headtoname{A} - \def\datename{Fecha} - \def\pagename{P\'agina}} - \if@orgdate - \ifx\dateenglish\undefined - \def\dateenglish{\def\today{\number\day/\number\month/\number\year}} - \fi - \else - \def\dateenglish{\def\today{\number\day/\number\month/\number\year}} - \def\dateUSenglish{\def\today{\number\month/\number\day/\number\year}} - \let\datebritish=\dateenglish - \let\dateUKenglish=\dateenglish - \let\dateamerican=\dateUSenglish - \def\dategerman{\def\today{\number\day.\,\number\month.\,\number\year}} - \let\dateaustrian=\dategerman - \let\datengerman=\dategerman - \let\datefrench=\dategerman - \let\dateitalian=\dategerman - \let\datespanish=\dategerman - \fi - \captionsenglish - \dateenglish - \ifx\languagename\undefined - \ClassWarningNoLine{scrlettr}{\string\languagename\space not - defined, using \string\language.\MessageBreak - This may result in use of wrong language!\MessageBreak - You should use a compatible language - package\MessageBreak - (e.g. `Babel', `german', `french', ...)} - \ifx\l@american\undefined\else\ifnum\language=\l@american - \captionsamerican - \dateamerican - \fi\fi - \ifx\l@british\undefined\else\ifnum\language=\l@british - \captionsbritish - \datebritish - \fi\fi - \ifx\l@UKenglish\undefined\else\ifnum\language=\l@UKenglish - \captionsUKenglish - \dateUKenglish - \fi\fi - \ifx\l@USenglish\undefined\else\ifnum\language=\l@USenglish - \captionsUSenglish - \dateUSenglish - \fi\fi - \ifx\l@austrian\undefined\else\ifnum\language=\l@austrian - \captionsaustrian - \dateaustrian - \fi\fi - \ifx\l@german\undefined\else\ifnum\language=\l@german - \captionsgerman - \dategerman - \fi\fi - \ifx\l@ngerman\undefined\else\ifnum\language=\l@ngerman - \captionsngerman - \datengerman - \fi\fi - \ifx\l@french\undefined\else\ifnum\language=\l@french - \captionsfrench - \datefrench - \fi\fi - \ifx\l@italian\undefined\else\ifnum\language=\l@italian - \captionsitalian - \dateitalian - \fi\fi - \ifx\l@spanish\undefined\else\ifnum\language=\l@spanish - \captionsspanish - \datespanish - \fi\fi - \else - \edef\@tempa{nohyphenation} - \ifx\languagename\@tempa - \ClassWarningNoLine{scrlettr} - {You've selected language ``\languagename''.\MessageBreak - Maybe your LaTeX format contains Babel extension\MessageBreak - but you have not selected a language using\MessageBreak - Babel package.\MessageBreak - Please select another language!\MessageBreak - Only as a workaround english captions and date\MessageBreak - will be used} - \else - \expandafter\selectlanguage\expandafter{\languagename} - \ClassInfo{scrlettr}{used language is \languagename} - \fi - \fi -} -\oddsidemargin 0in -\evensidemargin 0in -\marginparwidth 0.9in -\marginparsep 0.1in -\marginparpush 0.45\baselineskip -\topmargin -19mm % mk 941012, was: -15.5mm -\headheight 23mm % mk 950411, was: 22mm -\headsep 8mm % mk 941012, was: 9mm -\footskip 20mm % mk 941012, was: 30mm -\textheight 226mm % mk 950411, was: 217mm -\textwidth 159.2mm - -\parskip 0.5\baselineskip % mk 941012 -\parindent 0pt -\smallskipamount=0.5\parskip -\medskipamount =\parskip -\bigskipamount =2\parskip -\footnotesep 0.8\baselineskip -\skip\footins 0.75\baselineskip plus 2pt minus 4pt -\skip\@mpfootins =\skip\footins -\columnsep 1cc -\columnseprule 0pt -\floatsep 1\baselineskip plus 2pt minus 2pt -\textfloatsep 20pt plus 2pt minus 4pt -\intextsep 1\baselineskip plus 2pt minus 2pt -\dblfloatsep 1\baselineskip plus 2pt minus 2pt -\dbltextfloatsep 20pt plus 2pt minus 4pt -\@fptop 0pt plus 1fil -\@fpsep 0.7\baselineskip plus 2fil -\@fpbot 0pt plus 1fil -\@dblfptop 0pt plus 1fil -\@dblfpsep 0.7\baselineskip plus 2fil -\@dblfpbot 0pt plus 1fil -\arraycolsep 5pt -\tabcolsep 6pt -\arrayrulewidth 0.4pt -\doublerulesep 2pt -\fboxsep 3pt -\fboxrule 0.4pt -\tabbingsep \labelsep -\topsep 0.25\baselineskip -\partopsep 0pt -\itemsep 0.25\baselineskip -\parsep 0.25\baselineskip % ak: 1\baselineskip -\labelsep .5em -\leftmargini 2.5em -\leftmarginii 2.2em -\leftmarginiii 1.87em -\leftmarginiv 1.7em -\leftmarginv 1em -\leftmarginvi 1em -\leftmargin\leftmargini -\labelwidth\leftmargini -\advance\labelwidth-\labelsep -\def\@listI{\leftmargin\leftmargini} -\let\@listi\@listI -\def\@listii{\leftmargin\leftmarginii - \labelwidth\leftmarginii\advance\labelwidth-\labelsep} -\def\@listiii{\leftmargin\leftmarginiii - \labelwidth\leftmarginiii\advance\labelwidth-\labelsep} -\def\@listiv{\leftmargin\leftmarginiv - \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} -\def\@listv{\leftmargin\leftmarginv - \labelwidth\leftmarginv\advance\labelwidth-\labelsep} -\def\@listvi{\leftmargin\leftmarginvi - \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} -\@listi - -\@lowpenalty 51 -\@medpenalty 151 -\@highpenalty 301 -\@beginparpenalty -\@lowpenalty -\@endparpenalty -\@lowpenalty -\@itempenalty -\@lowpenalty - -\def\theenumi{\arabic{enumi}} -\def\theenumii{\alph{enumii}} -\def\theenumiii{\roman{enumiii}} -\def\theenumiv{\Alph{enumiv}} -\def\labelenumi{\theenumi.} -\def\labelenumii{\theenumii)} -\def\labelenumiii{\theenumiii.} -\def\labelenumiv{\theenumiv.} -\def\p@enumii{\theenumi} -\def\p@enumiii{\theenumi\theenumii)} -\def\p@enumiv{\p@enumiii\theenumiii} -\def\labelitemi{$\bullet$} -\def\labelitemii{\bf --} -\def\labelitemiii{$\triangleright$} -\def\labelitemiv{$\cdot$} -\newenvironment{description} - {\list{}{\labelwidth\z@ \itemindent-\leftmargin - \let\makelabel\descriptionlabel}} - {\endlist} -\newcommand\descriptionlabel[1]{\hspace\labelsep - \descfont #1} -\newenvironment{labeling}[2][] - {\def\sc@septext{#1} - \list{}{\settowidth{\labelwidth}{#2#1} - \leftmargin\labelwidth \advance\leftmargin by \labelsep - \let\makelabel\labelinglabel}} - {\endlist} -\newcommand\labelinglabel[1]{#1\hfil\sc@septext} -\newenvironment{verse} - {\let\\=\@centercr - \list{}{\itemsep \z@ - \itemindent -1.5em% - \listparindent\itemindent - \rightmargin \leftmargin - \advance\leftmargin 1.5em}% - \item[]} - {\endlist} -\newenvironment{quotation} - {\list{}{\listparindent 1em% - \itemindent \listparindent - \rightmargin \leftmargin - \parsep \z@ \@plus\p@}% - \item[]} - {\endlist} -\newenvironment{quote} - {\list{}{\rightmargin\leftmargin}% - \item[]} - {\endlist} -\def\fromname{} -\def\frombranch{} % RTL 21.04.94 -\def\fromsig{\fromname} -\def\fromaddress{} -\def\fromplace{} -\def\fromlocation{} -\def\frombackaddress{} -\def\telephonenum{} -\def\varyourref{} -\def\varyourmail{} -\def\varmyref{} -\def\varcustomer{} -\def\varinvoice{} -\def\varrefitemi{} -\def\varrefitemii{} -\def\varrefitemiii{} -\def\varrefitemnamei{} -\def\varrefitemnameii{} -\def\varrefitemnameiii{} -\def\@specialmail{} -\def\@title{} -\def\@subject{} -\def\name#1 {\def\fromname{#1}} -\def\branch#1 {\def\frombranch{#1}} % RTL 21.04.94 -\def\signature#1{\def\fromsig{#1}} -\long\def\address#1{\def\fromaddress{#1}} -\def\place#1 {\def\fromplace{#1}} -\long\def\location#1{\def\fromlocation{#1}} -\def\backaddress#1{\def\frombackaddress{#1}} -\def\telephone#1{\def\telephonenum{#1}} -\def\yourref#1 {\def\varyourref{#1}} -\def\yourmail#1 {\def\varyourmail{#1}} -\def\myref#1 {\def\varmyref{#1}} -\def\customer#1 {\def\varcustomer{#1}} -\def\invoice#1 {\def\varinvoice{#1}} -\def\refitemi#1 {\def\varrefitemi{#1}} -\def\refitemii#1{\def\varrefitemii{#1}} -\def\refitemiii#1{\def\varrefitemiii{#1}} -\def\refitemnamei#1{\def\varrefitemnamei{#1}} -\def\refitemnameii#1{\def\varrefitemnameii{#1}} -\def\refitemnameiii#1{\def\varrefitemnameiii{#1}} -\def\specialmail#1{\def\@specialmail{#1}} -\def\title#1 {\def\@title{#1}} -\def\subject#1 {\def\@subject{{\bf #1}}} -\long\def\firsthead#1{\def\@firsthead{#1}} -\long\def\firstfoot#1{\def\@firstfoot{#1}} -\long\def\nexthead#1{\def\@nexthead{#1}} -\long\def\nextfoot#1{\def\@nextfoot{#1}} -\newif\if@fold -\newif\if@afield -\newif\if@subj -\newif\if@subjafter -\def\foldmarkson {\@foldtrue} -\def\foldmarksoff {\@foldfalse} -\def\addrfieldon {\@afieldtrue} -\def\addrfieldoff {\@afieldfalse} -\def\subjecton {\@subjtrue} -\def\subjectoff {\@subjfalse} -\newcommand*\subjectafteron {\@subjaftertrue} -\newcommand*\subjectafteroff{\@subjafterfalse} -\newdimen\sc@temp -\newdimen\sc@@temp -\newdimen\foldhskip -\newdimen\foldvskipi -\newdimen\foldvskipii -\newdimen\foldvskipiii -\newdimen\addrvskip -\newdimen\addrindent -\newdimen\addrwidth -\newdimen\addrheight -\newdimen\locwidth -\newdimen\refvskip -\newdimen\sigindent -\foldhskip 3.5mm -\foldvskipi 62mm % war: 65mm RTL -\foldvskipii 45mm % mk 960531 (war: 40.5mm) -\foldvskipiii 54mm % mk 960531 (war: 58.5mm) -\addrvskip 7.5mm -\addrindent 0mm -\addrwidth 70mm -\addrheight 35mm -\locwidth\textwidth -\advance\locwidth by -\addrwidth -\if@bigloc % mk 940330 - \advance\locwidth by \locwidth - \divide\locwidth by 3 -\else - \divide\locwidth by 2 -\fi -\refvskip 5.5mm -\sigindent 0mm -\def\adrentry#1#2#3#4#5#6#7#8{\def\@tempa{#1}\ifx \@tempa\@empty \else - \def\@tempa{#2}\ifx \@tempa\@empty - \expandafter\def\csname #8\endcsname{#1\\#3} - \else - \expandafter\def\csname #8\endcsname{#2 #1\\#3} - \fi \fi} -\def\adrchar#1{} -\long\def\letter#1{\newpage - \if@twoside\ifodd\c@page\else \thispagestyle{empty}\null\newpage \fi\fi - \c@page\@ne \interlinepenalty=200 \@processto{#1}} -\def\stopletter{} -\def\endletter{\stopletter\@@par\pagebreak\@@par} -\long\def\@processto#1{\expandafter\@xproc #1\\@@@\ifx\toaddress\@empty - \else\expandafter\@yproc #1@@@\fi} -\long\def\@xproc #1\\#2@@@{\def\toname{#1}\def\toaddress{#2}} -\long\def\@yproc #1\\#2@@@{\def\toaddress{#2}} -\def\stopbreaks{\interlinepenalty \@M - \def\par{\@@par\nobreak}\let\\=\@nobreakcr - \let\vspace\@nobreakvspace} -\def\@nobreakvspace{\@ifstar{\@nobreakvspacex}{\@nobreakvspacex}} -\def\@nobreakvspacex#1{\ifvmode\nobreak\vskip #1\relax\else - \@bsphack\vadjust{\nobreak\vskip #1}\@esphack\fi} -\def\@nobreakcr{\vadjust{\penalty\@M}\@ifstar{\@xnewline}{\@xnewline}} -\def\startbreaks{\let\\=\@normalcr - \interlinepenalty 200\def\par{\@@par\penalty 200}} -\def\@foldmarks{\if@fold \bgroup - \reversemarginpar\vspace{\foldvskipi} - \marginpar{\hspace{\foldhskip}\rule{2mm}{.2pt}} \vspace{\foldvskipii} - \marginpar{\hspace{\foldhskip}\rule{4mm}{.2pt}} \vspace{\foldvskipiii} - \marginpar{\hspace{\foldhskip}\rule{2mm}{.2pt}} - \vspace{-\foldvskipiii}\vspace{-\foldvskipii}\vspace{-\foldvskipi} - \egroup \fi} -\def\@addrfield{\bgroup - \setbox0\vbox{\hsize\addrwidth - \ifx\frombackaddress\@empty \else - \underline{\scriptsize \sf \frombackaddress} \fi} - \setbox1\vbox{\hsize\addrwidth - \ifx\@specialmail\@empty \else - \underline{\@specialmail} \fi} - \setbox2\vbox{\hsize\addrwidth - \toname \\ \toaddress} - \vskip\addrvskip \hskip\addrindent - \vbox to \addrheight{% - \ifx\frombackaddress\@empty \else \box0 \fi - \ifx\@specialmail\@empty \else \vfil\box1 \fi - \vfil\box2\vfil}\egroup} -\def\@locfield{\begin{minipage}[b]{\locwidth}\fromlocation\end{minipage}} -\newif\if@ref -\def\@datefield{\@reffalse - \ifx\varyourref\@empty \else \@reftrue \fi - \ifx\varyourmail\@empty \else \@reftrue \fi - \ifx\varmyref\@empty \else \@reftrue \fi - \ifx\varcustomer\@empty \else \@reftrue \fi - \ifx\varinvoice\@empty \else \@reftrue \fi - \ifx\varrefitemi\@empty \else \@reftrue \fi - \ifx\varrefitemii\@empty \else \@reftrue \fi - \ifx\varrefitemiii\@empty \else \@reftrue \fi - \vskip -\parskip - \vskip \refvskip - \if@ref - \ifx\varyourref\@empty \else - \settowidth{\sc@temp}{\varyourref} - \setbox0\hbox{\scriptsize \sf \yourrefname} - \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi - \parbox[t]{\sc@@temp}{\noindent \box0\par \varyourref}\hfill - \fi - \ifx\varyourmail\@empty \else - \settowidth{\sc@temp}{\varyourmail} - \setbox0\hbox{\scriptsize \sf \yourmailname} - \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi - \parbox[t]{\sc@@temp}{\noindent \box0\par \varyourmail}\hfill - \fi - \ifx\varmyref\@empty \else - \settowidth{\sc@temp}{\varmyref} - \setbox0\hbox{\scriptsize \sf \myrefname} - \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi - \parbox[t]{\sc@@temp}{\noindent \box0\par \varmyref}\hfill - \fi - \ifx\varcustomer\@empty \else - \settowidth{\sc@temp}{\varcustomer} - \setbox0\hbox{\scriptsize \sf \customername} - \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi - \parbox[t]{\sc@@temp}{\noindent \box0\par \varcustomer}\hfill - \fi - \ifx\varinvoice\@empty \else - \settowidth{\sc@temp}{\varinvoice} - \setbox0\hbox{\scriptsize \sf \invoicename} - \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi - \parbox[t]{\sc@@temp}{\noindent \box0\par \varinvoice}\hfill - \fi - \ifx\varrefitemi\@empty \else - \settowidth{\sc@temp}{\varrefitemi} - \setbox0\hbox{\scriptsize \sf \varrefitemnamei} - \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi - \parbox[t]{\sc@@temp}{\noindent \box0\par \varrefitemi}\hfill - \fi - \ifx\varrefitemii\@empty \else - \settowidth{\sc@temp}{\varrefitemii} - \setbox0\hbox{\scriptsize \sf \varrefitemnameii} - \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi - \parbox[t]{\sc@@temp}{\noindent \box0\par \varrefitemii}\hfill - \fi - \ifx\varrefitemiii\@empty \else - \settowidth{\sc@temp}{\varrefitemiii} - \setbox0\hbox{\scriptsize \sf \varrefitemnameiii} - \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi - \parbox[t]{\sc@@temp}{\noindent \box0\par \varrefitemiii}\hfill - \fi - \ifx\@date\@empty \else - \settowidth{\sc@temp}{\@date} - \setbox0\hbox{\scriptsize \sf \datename} - \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi - \parbox[t]{\sc@@temp}{\noindent \box0\par \@date} - \fi - \par - \vspace{2.5\baselineskip} - \else - {\ifx\@date\@empty \else \raggedleft\fromplace\ \@date\par \fi} - \vspace{1.5\baselineskip} - \fi} -\def\maketitle{\ifx\@title\@empty \else - {\centering \LARGE \sectfont \@title\par} - \vspace{1\baselineskip} \fi} -\def\@subjfield{{% - \if@subjafter% - \centering% - \else% - \if@subj\ifx\@subject\@empty\else\subjectname:\ \fi\fi - \@subject\par\nobreak\vspace{1\baselineskip}% - \fi}} -\def\opening#1{\thispagestyle{firstpage} \null \@foldmarks - \if@afield \@addrfield \hfill \@locfield \par \fi - \@datefield - \maketitle - \if@subjafter\else\@subjfield\fi - #1\par% - \vspace{0.5\baselineskip}% added by unknown - \nobreak% - \if@subjafter\@subjfield\fi} -\newcommand*\presig@skip{} -\newcommand*{\setpresigskip}[1]{% - \begingroup% - \setlength{\@tempdima}{#1}% - \endgroup% - \edef\presig@skip{#1}} -\setpresigskip{2\baselineskip} -\long\def\closing#1{\par\nobreak\vspace{0.5\baselineskip} - \stopbreaks \noindent \sc@temp\textwidth \advance\sc@temp by - -\sigindent \hspace{\sigindent}% - \parbox{\sc@temp}{\raggedright\ignorespaces #1\mbox{}\\[\presig@skip] - \fromsig\strut}\par - \vspace{1.5\baselineskip}} -\def\ps{\par\startbreaks} -\newcommand*{\ccnameseparator}{: } -\newcommand*{\cc}[1]{\par\noindent\parbox[t]{\textwidth} - {\@hangfrom{\ccname\ccnameseparator}% - \ignorespaces #1\strut}\par} -\newcommand*{\enclnameseparator}{: } -\newcommand*{\encl}[1]{\par\noindent% - \parbox[t]{\textwidth}{% - \ifx\enclname\@empty\else\@hangfrom{\enclname\enclnameseparator}\fi% - \ignorespaces #1\strut}\par} -\def\footnoterule{\kern-1\p@ - \hrule width 0.4\columnwidth - \kern .6\p@} -\newcommand\deffootnote[4][]{% - \long\def\@makefntext##1{% - \edef\@tempa{#1}\ifx\@tempa\@empty - \@setpar{\@@par - \@tempdima = \hsize - \addtolength{\@tempdima}{-#2} - \parshape \@ne #2 \@tempdima}% - \else - \@setpar{\@@par - \@tempdima = \hsize - \addtolength{\@tempdima}{-#1} - \@tempdimb = \hsize - \addtolength{\@tempdimb}{-#2} - \parshape \tw@ #1 \@tempdima #2 \@tempdimb}% - \fi - \par - \parindent #3\noindent - \hbox to \z@{\hss\@@makefnmark}##1} - \def\@@makefnmark{\hbox{#4}} -} -\newcommand*\deffootnotemark[1]{\def\@makefnmark{\hbox{#1}}} -\def\thefootnotemark{\@thefnmark} -\let\textsuperscript\@textsuperscript -\deffootnote[1em]{1.5em}{1em} - {\textsuperscript{\thefootnotemark}} -\deffootnotemark{\textsuperscript{\thefootnotemark}} -\def\theequation{\arabic{equation}} -\setcounter{topnumber}{2} -\def\topfraction{.7} -\setcounter{bottomnumber}{1} -\def\bottomfraction{.3} -\setcounter{totalnumber}{3} -\def\textfraction{.2} -\def\floatpagefraction{.5} -\setcounter{dbltopnumber}{2} -\def\dbltopfraction{.7} -\def\dblfloatpagefraction{.5} -\def\@firsthead{% - \parbox[b]{\textwidth} - {\begin{center} - \ifx\fromname\@empty\else - \textsc{\ignorespaces\fromname}\\[-8pt] - \rule{\textwidth}{.4pt}\\ - \fi - \ifx\fromaddress\@empty\else - \ignorespaces\fromaddress - \fi - \end{center}}} -\def\@firstfoot{} -\def\@nexthead{% - \parbox[b]{\textwidth} - {\ifx\fromname\@empty\else - \textsc{\ignorespaces\fromname}\\[8pt] - \fi - \headtoname\ \ignorespaces\toname\hfill\datename:\ \@date\hfill - \pagename\ \thepage\\[-8pt] - \rule{\textwidth}{.4pt}}} -\def\@nextfoot{} - -\def\ps@plain{% - \def\@evenhead{\sffamily\bfseries\fontsize{10pt}{12}\selectfont - \hfil-- \thepage\ --\hfil}% - \let\@oddhead\@evenhead% - \def\@evenfoot{}% - \def\@oddfoot{}} -\def\ps@firstpage{% - \def\@evenhead{\@firsthead}% - \let\@oddhead\@evenhead% - \def\@evenfoot{\@firstfoot}% - \let\@oddfoot\@evenfoot} -\def\ps@headings{% - \def\@evenhead{\@nexthead}% - \let\@oddhead\@evenhead% - \def\@evenfoot{\@nextfoot}% - \let\@oddfoot\@evenfoot} -\@foldtrue -\@afieldtrue -\@subjfalse -\@subjafterfalse -\ps@plain -\pagenumbering{arabic} -\raggedbottom -\frenchspacing -%%% From File: scrlogo.dtx -\@ifundefined{KOMAScript}{% - \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% - M\kern.05em A\kern.1em-\kern.1em Script}}}{} -\endinput -%% -%% End of file `scrlettr.cls'. diff --git a/Master/texmf-dist/tex/latex/koma-script/scrlfile.sty b/Master/texmf-dist/tex/latex/koma-script/scrlfile.sty index 98982fb25e2..bdd0d59a782 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrlfile.sty +++ b/Master/texmf-dist/tex/latex/koma-script/scrlfile.sty @@ -1,49 +1,48 @@ %% %% This is file `scrlfile.sty', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% %% scrlfile.dtx (with options: `scrlfile') %% scrlogo.dtx (with options: `logo') %% -%% Copyright (c) 1994-2007 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 2002-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the 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. +%% It may be distributed under the conditions of the +%% LaTeX Project Public License in the version distributed together +%% with KOMA-Script, see file `lppl.txt' or `lppl-de.txt'. %% -%% This work has the LPPL maintenance status "author-maintained". +%% This file may only be distributed together with a copy of the +%% KOMA-Script bundle. You may however distribute the +%% KOMA-Script bundle without all such generated files. See also +%% `lppl.txt' or `lppl-de.txt' for additional information. %% -%% The Current Maintainer and author of this work is Markus Kohm. +%% The list of files belonging to KOMA-Script distribution is given in +%% the file `manifest.txt'. See also `lppl.txt' or `lppl-de.txt' for +%% additional information. %% -%% This file may only be distributed together with the files -%% `scrlogo.dtx', `scrlfile.dtx' and `scrlfile.ins'. You may however -%% distribute the files `scrlogo.dtx', `scrlfile.dtx' and `scrlfile.ins' -%% without this file. See also `scrlfile.dtx' for additional information. -%% -%% If this file is a beta version, you are not allowed to distribute it. +%% If this file is a beta version, you may not be allowed to distribute +%% it. Look at the comments below to see if this is the case. %% %% English and German manuals are part of KOMA-Script bundle. %% ---------------------------------------------------------- %% -%% A short version of the english manual is at `scrlfile.dtx', too. +%% See `README'. %% %% The KOMA-Script bundle (but maybe not this file) was based upon the -%% LaTeX2.09 Script family created by Frank Neukam 1993 and the LaTeX2e -%% standard classes created by The LaTeX3 Project 1994-1996. +%% LaTeX 2.09 Script family created by Frank Neukam 1993 and the LaTeX2e +%% standard classes created by The LaTeX3 Project 1994-1996. You may +%% find a complete unmodified copy of LaTeX2e at +%% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrlfile.dtx -\def\scrlfileversion{2012/06/15 v3.12} +%%% From File: $Id: scrlfile.dtx 1525 2013-11-22 12:57:29Z mjk $ \ProvidesPackage{scrlfile}[% - \scrlfileversion\space KOMA-Script package (loading files)] + 2013/12/19 v3.12 KOMA-Script + package (loading files)] \typeout{Package scrlfile, \csname ver@scrlfile.sty\endcsname% ^^J\@spaces\@spaces\@spaces\@spaces\space\space Copyright (C) Markus Kohm^^J} @@ -100,18 +99,47 @@ \scr@@onefilewithoptions[{#2}][{#3}]{#4}% \scr@load@hook{lateafter}{#1.#4}% } -\newcommand*{\ReplaceFile}[2]{% +\newcommand*{\ReplaceInput}[2]{% \expandafter\edef\csname #1-@alias\endcsname{#2}% } +\newcommand*{\ReplaceFile}{% + \PackageError{scrlfile}{% + usage of not documented command `\string\ReplaceFile'% + }{% + Command `\string\ReplaceFile' has been implemented accidentally in + KOMA-Script 2.96\MessageBreak + and replaced by `\string\ReplaceInput' in KOMA-Script 3.12.\MessageBreak + You should replace `\string\ReplaceFile' by `\string\ReplaceInput' to + avoid this error\MessageBreak + message% + }% + \ReplaceInput +} +\newcommand*{\UnReplaceInput}[1]{% + \ifcsname #1-@alias\endcsname + \expandafter\let\csname #1-@alias\endcsname\relax + \fi +} \newcommand*{\@replacefilewithext}[3]{% \expandafter\edef\csname #1.#3-@aliasname\endcsname{#2}% -} + } \newcommand*{\ReplacePackage}[2]{% \@replacefilewithext{#1}{#2}\@pkgextension } \newcommand*{\ReplaceClass}[2]{% \@replacefilewithext{#1}{#2}\@clsextension } +\newcommand*{\@unreplacefilewithext}[2]{% + \ifcsname #1.#2-@aliasname\endcsname + \expandafter\let\csname #1.#2-@aliasname\endcsname\relax + \fi +} +\newcommand*{\UnReplacePackage}[1]{% + \@unreplacefilewithext{#1}\@pkgextension +} +\newcommand*{\UnReplaceClass}[1]{% + \@unreplacefilewithext{#1}\@clsextension +} \newcommand*{\scr@replacefile@msg}[2]{% \PackageInfo{scrlfile}{inputing `#1' instead of `#2'}% } @@ -211,18 +239,23 @@ \@ifstar{\@PreventPackageFromLoading\PackageInfo}% {\@PreventPackageFromLoading\PackageWarning}% } -\newcommand*{\@PreventPackageFromLoading}[2]{% - \edef\reserved@b{#2}% +\newcommand*{\@PreventPackageFromLoading}[1]{% + \@ifnextchar [%] + {\@@PreventPackageFromLoading#1}{\@@PreventPackageFromLoading#1[]}% +} +\newcommand*{\@@PreventPackageFromLoading}{} +\def\@@PreventPackageFromLoading#1[#2]#3{% + \edef\reserved@b{\zap@space#3 \@empty}% \ifx \reserved@b\@empty #1{scrlfile}{% - \string\PreventPackageFromLoading\space with empty argument\MessageBreak - ignored% + \string\PreventPackageFromLoading\space with empty packages\MessageBreak + argument ignored% }% \else \ifx\scrlfile@excludedpackages\@empty \let\scrlfile@saved@RequirePackage\RequirePackage \let\RequirePackage\scrlfile@RequirePackage - \def\reserved@a#2{% + \def\reserved@a##1##{% \@latex@error {\noexpand \usepackage before \string\documentclass}% {\noexpand \usepackage may only appear in the document @@ -242,7 +275,13 @@ \fi \expandafter\@for \expandafter\reserved@a\expandafter:\expandafter=% \reserved@b\do {% - \ifx\reserved@a\@empty\else + \ifx\reserved@a\@empty + #1{scrlfile}{% + empty package argument for + \string\PreventPackageFromLoading\MessageBreak + ignored% + }% + \else \expandafter\@ifpackageloaded\expandafter{\reserved@a}{% #1{scrlfile}{% package `\reserved@a' already loaded.\MessageBreak @@ -251,6 +290,18 @@ }{% \edef\scrlfile@excludedpackages{\scrlfile@excludedpackages,% \reserved@a}% + \if\relax\detokenize{#2}\relax\else + \@ifundefined{scrlfile@exclude@package@\reserved@a @do}{% + \@namedef{scrlfile@exclude@package@\reserved@a @do}{}% + }{}% + \expandafter\def + \csname scrlfile@exclude@package@\reserved@a + @do\expandafter\expandafter\expandafter\endcsname + \expandafter\expandafter\expandafter{% + \csname scrlfile@exclude@package@\reserved@a @do\endcsname + #2% + }% + \fi }% \fi }% @@ -274,20 +325,67 @@ \let#1\scrlfile@excludedpackages } \@onlypreamble\StorePreventPackageFromLoading +\newcommand*{\UnPreventPackageFromLoading}{% + \@ifstar {\@tempswatrue\@UnPreventPackageFromLoading}% + {\@tempswafalse\@UnPreventPackageFromLoading}% +} +\newcommand*{\@UnPreventPackageFromLoading}[1]{% + \edef\reserved@b{\zap@space#1 \@empty}% + \if@tempswa + \@for\reserved@a:=\reserved@b\do {% + \ifx\reserved@a\@empty \else + \ifcsname scrlfile@exclude@package@\reserved@a @do\endcsname + \expandafter\let + \csname scrlfile@exclude@package@\reserved@a @do\endcsname + \undefined + \fi + \fi + }% + \fi + \ifcsname scrlfile@excludedpackages\endcsname + \let\reserved@a\scrlfile@excludedpackages + \let\scrlfile@excludedpackages\@empty + \expandafter\@for\expandafter\reserved@c + \expandafter:\expandafter=\reserved@a + \do{% + \ifx\reserved@c\@empty\else + \@expandtwoargs\in@{,\reserved@c,}{,\reserved@b,}% + \ifin@ + \else + \edef\scrlfile@excludedpackages{% + \scrlfile@excludedpackages,\reserved@c + }% + \fi + \fi + }% + \ifx\scrlfile@excludedpackages\@empty\ResetPreventPackageFromLoading\fi + \fi +} \newcommand*{\scrlfile@RequirePackage}[2][]{% \let\reserved@c\@empty - \@for\reserved@b:=#2\do {% + \let\reserved@d\@empty + \edef\reserved@b{\zap@space#2 \@empty}% + \expandafter\@for\expandafter\reserved@b\expandafter:\expandafter=\reserved@b + \do {% \begingroup \@tempswatrue \@for\reserved@a:=\scrlfile@excludedpackages\do {% \ifx\reserved@a\reserved@b - \PackageInfo{scrlfile}{Excluding package `\reserved@b'\MessageBreak - from loading}% \@tempswafalse \fi }% \if@tempswa \xdef\reserved@c{\reserved@c,\reserved@b}% + \else + \ifx\reserved@b\@empty\else + \PackageInfo{scrlfile}{Excluding package `\reserved@b'\MessageBreak + from loading}% + \@ifundefined{scrlfile@exclude@package@\reserved@b @do}{% + }{% + \expandafter\g@addto@macro\expandafter\reserved@d + \csname scrlfile@exclude@package@\reserved@b @do\endcsname + }% + \fi \fi \endgroup }% @@ -297,6 +395,7 @@ \edef\reserved@a{\noexpand\scrlfile@saved@RequirePackage[#1]{% \expandafter\@gobble\reserved@c\@empty}}% \fi + \expandafter\reserved@d \reserved@a } \newcommand{\scr@gobbleopt}[1][]{} @@ -384,7 +483,7 @@ \endgroup \if@nobreak\ifvmode\nobreak\fi\fi } -%%% From File: scrlogo.dtx +%%% From File: $Id: scrlogo.dtx 1380 2013-10-01 15:31:55Z mjk $ \@ifundefined{KOMAScript}{% \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% M\kern.05em A\kern.1em-\kern.1em Script}}}{} diff --git a/Master/texmf-dist/tex/latex/koma-script/scrlttr2.cls b/Master/texmf-dist/tex/latex/koma-script/scrlttr2.cls index cc24f44765e..3ee13c1b7fa 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrlttr2.cls +++ b/Master/texmf-dist/tex/latex/koma-script/scrlttr2.cls @@ -1,46 +1,45 @@ %% %% This is file `scrlttr2.cls', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `class,letter') -%% scrkbase.dtx (with options: `load') -%% scrkcomp.dtx (with options: `class,letter,option') -%% scrkmisc.dtx (with options: `class,letter,option') -%% scrklco.dtx (with options: `class,letter,option') -%% scrklang.dtx (with options: `class,letter,option') -%% scrkfont.dtx (with options: `class,letter,option') -%% scrkvars.dtx (with options: `class,letter,option') -%% scrkplen.dtx (with options: `class,letter,option') -%% scrktare.dtx (with options: `class,letter,option') -%% scrkpar.dtx (with options: `class,letter,option') -%% scrkpage.dtx (with options: `class,letter,option') -%% scrkfloa.dtx (with options: `class,letter,option') -%% scrkftn.dtx (with options: `class,letter,option') -%% scrklist.dtx (with options: `class,letter,option') -%% scrknpap.dtx (with options: `class,letter,option') -%% scrkcile.dtx (with options: `class,letter,option') -%% scrkmisc.dtx (with options: `class,letter,execoption') -%% scrkcomp.dtx (with options: `class,letter,body') -%% scrkfont.dtx (with options: `class,letter,body') -%% scrkmisc.dtx (with options: `class,letter,body') -%% scrklco.dtx (with options: `class,letter,body') -%% scrklang.dtx (with options: `class,letter,body') -%% scrkvars.dtx (with options: `class,letter,body') -%% scrkplen.dtx (with options: `class,letter,body') -%% scrktare.dtx (with options: `class,letter,body') -%% scrkpar.dtx (with options: `class,letter,body') -%% scrkpage.dtx (with options: `class,letter,body') -%% scrkfloa.dtx (with options: `class,letter,body') -%% scrkftn.dtx (with options: `class,letter,body') -%% scrklist.dtx (with options: `class,letter,body') -%% scrknpap.dtx (with options: `class,letter,body') -%% scrkcile.dtx (with options: `class,letter,body') +%% scrkernel-version.dtx (with options: `class,letter') +%% scrkernel-basics.dtx (with options: `load') +%% scrkernel-compatibility.dtx (with options: `class,letter,option') +%% scrkernel-miscellaneous.dtx (with options: `class,letter,option') +%% scrkernel-letterclassoptions.dtx (with options: `class,letter,option') +%% scrkernel-language.dtx (with options: `class,letter,option') +%% scrkernel-fonts.dtx (with options: `class,letter,option') +%% scrkernel-variables.dtx (with options: `class,letter,option') +%% scrkernel-pseudolengths.dtx (with options: `class,letter,option') +%% scrkernel-typearea.dtx (with options: `class,letter,option') +%% scrkernel-paragraphs.dtx (with options: `class,letter,option') +%% scrkernel-pagestyles.dtx (with options: `class,letter,option') +%% scrkernel-floats.dtx (with options: `class,letter,option') +%% scrkernel-footnotes.dtx (with options: `class,letter,option') +%% scrkernel-listsandtabulars.dtx (with options: `class,letter,option') +%% scrkernel-notepaper.dtx (with options: `class,letter,option') +%% scrkernel-circularletters.dtx (with options: `class,letter,option') +%% scrkernel-miscellaneous.dtx (with options: `class,letter,execoption') +%% scrkernel-compatibility.dtx (with options: `class,letter,body') +%% scrkernel-fonts.dtx (with options: `class,letter,body') +%% scrkernel-miscellaneous.dtx (with options: `class,letter,body') +%% scrkernel-letterclassoptions.dtx (with options: `class,letter,body') +%% scrkernel-language.dtx (with options: `class,letter,body') +%% scrkernel-variables.dtx (with options: `class,letter,body') +%% scrkernel-pseudolengths.dtx (with options: `class,letter,body') +%% scrkernel-typearea.dtx (with options: `class,letter,body') +%% scrkernel-paragraphs.dtx (with options: `class,letter,body') +%% scrkernel-pagestyles.dtx (with options: `class,letter,body') +%% scrkernel-floats.dtx (with options: `class,letter,body') +%% scrkernel-footnotes.dtx (with options: `class,letter,body') +%% scrkernel-listsandtabulars.dtx (with options: `class,letter,body') +%% scrkernel-notepaper.dtx (with options: `class,letter,body') +%% scrkernel-circularletters.dtx (with options: `class,letter,body') %% scrlogo.dtx (with options: `logo') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -72,9 +71,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -94,7 +93,7 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup \newcommand*{\KOMAClassName}{% scrlttr2% @@ -103,11 +102,12 @@ letter% } \ProvidesClass{\KOMAClassName}[% - \KOMAScriptVersion\space document class (\ClassName)% + 2013/12/19 v3.12 KOMA-Script + document class (\ClassName)% ] -%%% From File: scrkbase.dtx +%%% From File: $Id: scrkernel-basics.dtx 1502 2013-11-06 11:00:12Z mjk $ \RequirePackage{scrkbase}[\KOMAScriptVersion] -%%% From File: scrkcomp.dtx +%%% From File: $Id: scrkernel-compatibility.dtx 1512 2013-11-11 10:35:04Z mjk $ \newcommand* {\scr@compatibility}{\scr@v@last} \KOMA@key{version}[last]{% @@ -123,6 +123,7 @@ Switching compatibility level to `#1'% }% \edef\scr@compatibility{\@nameuse{scr@v@#1}}% + \FamilyKeyStateProcessed }% } \AtEndOfClass{% @@ -134,6 +135,7 @@ class.\MessageBreak But you've tried to set it up later.% }% + \FamilyKeyStateProcessed }% } \@namedef{scr@v@first}{0} @@ -183,19 +185,22 @@ \@namedef{scr@v@3.11}{10} \@namedef{scr@v@3.11a}{10} \@namedef{scr@v@3.11b}{10} -\@namedef{scr@v@last}{10} -%%% From File: scrkmisc.dtx +\@namedef{scr@v@3.12}{11} +\@namedef{scr@v@last}{11} +%%% From File: $Id: scrkernel-miscellaneous.dtx 1529 2013-12-03 07:36:57Z mjk $ \KOMA@key{draft}[true]{% \KOMA@set@ifkey{draft}{@tempswa}{#1}% - \if@tempswa - \setlength{\overfullrule}{5pt}% - \else - \setlength{\overfullrule}{\z@}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \if@tempswa + \setlength{\overfullrule}{5pt}% + \else + \setlength{\overfullrule}{\z@}% + \fi \fi } \KOMA@DeclareStandardOption {final}{draft=false} -%%% From File: scrklco.dtx +%%% From File: $Id: scrkernel-letterclassoptions.dtx 1499 2013-11-05 17:22:29Z mjk $ \newcommand*{\lco@test}{% \IfFileExists{\CurrentOption.lco}{% \expandafter\AtEndOfClass\expandafter{% @@ -209,7 +214,7 @@ }{}% } \AtEndOfClass{\LoadLetterOption{DIN}} -%%% From File: scrklang.dtx +%%% From File: $Id: scrkernel-language.dtx 1503 2013-11-06 11:44:59Z mjk $ \newif\if@orgdate\@orgdatetrue \KOMA@key{numericaldate}[true]{% \if@orgdate\@orgdatefalse\else\@orgdatetrue\fi @@ -218,7 +223,7 @@ } \KOMA@DeclareDeprecatedOption{scrdate}{numericaldate=true} \KOMA@DeclareDeprecatedOption{orgdate}{numericaldate=false} -%%% From File: scrkfont.dtx +%%% From File: $Id: scrkernel-fonts.dtx 1483 2013-10-31 15:12:30Z mjk $ \newcommand*\@ptsize{% 12% } @@ -229,8 +234,23 @@ \def\@pt@@scan #1pt#2\@pt@@scan{% \ifstr{#2}{pt}{% \ifnumber{#1}{% - \KOMA@UseObsoleteOption{\PackageInfoNoLine{\KOMAClassName}}% - {#1#2}{fontsize=#1#2}% + \ifstr{#1}{10}{% + \KOMA@UseStandardOption{\PackageInfoNoLine{\KOMAClassName}}% + {#1#2}{fontsize=#1#2}% + }{% + \ifstr{#1}{11}{% + \KOMA@UseStandardOption{\PackageInfoNoLine{\KOMAClassName}}% + {#1#2}{fontsize=#1#2}% + }{% + \ifstr{#1}{12}{% + \KOMA@UseStandardOption{\PackageInfoNoLine{\KOMAClassName}}% + {#1#2}{fontsize=#1#2}% + }{% + \KOMA@UseDeprecatedOption{\PackageWarningNoLine{\KOMAClassName}}% + {#1#2}{fontsize=#1#2}% + }% + }% + } }{\@headlines}% }{\@headlines}% } @@ -265,10 +285,11 @@ }% \@tempa }% + \FamilyKeyStateProcessed } -%%% From File: scrkvars.dtx -%%% From File: scrkplen.dtx -%%% From File: scrktare.dtx +%%% From File: $Id: scrkernel-variables.dtx 1389 2013-10-01 16:06:04Z mjk $ +%%% From File: $Id: scrkernel-pseudolengths.dtx 1388 2013-10-01 16:03:42Z mjk $ +%%% From File: $Id: scrkernel-typearea.dtx 1512 2013-11-11 10:35:04Z mjk $ \newcommand*{\@BCOR}{\expandafter\@@BCOR\CurrentOption BCORBCOR\@@BCOR} \newcommand*{\@@BCOR}{} \def\@@BCOR #1BCOR#2BCOR#3\@@BCOR{% @@ -339,7 +360,7 @@ \DeclareOption*{% \lco@test \x@paper} -%%% From File: scrkpar.dtx +%%% From File: $Id: scrkernel-paragraphs.dtx 1380 2013-10-01 15:31:55Z mjk $ \newcommand*{\setparsizes}[3]{% \edef\f@parindent{\the\parindent}% \edef\f@parskip{\the\parskip}% @@ -380,82 +401,88 @@ {relative}{10},% {absolute}{11}% }{#1}% - \ifcase\number\@tempa% 0 - \endgroup - \setparsizes{1em}{\z@}{\z@ \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 1 - \endgroup - \setparsizes{1em}{\z@ \@plus \p@}{\z@ \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 2 - \endgroup - \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% - \z@ \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 3 - \endgroup - \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% - \z@ \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 4 - \endgroup - \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% - 1em \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 5 - \endgroup - \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% - 1em \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 6 - \endgroup - \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% - .3333\linewidth\@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 7 - \endgroup - \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% - .3333\linewidth \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 8 - \endgroup - \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% - .25\linewidth \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 9 - \endgroup - \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% - .25\linewidth \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 10 - \endgroup - \ifx\par@updaterelative\undefined - \expandafter\AtEndOfClass - \else - \expandafter\@firstofone - \fi - {% - \ifx\par@update\default@par@update - \let\par@update\par@updaterelative + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \aftergroup\FamilyKeyStateProcessed + \ifcase\number\@tempa% 0 + \endgroup + \setparsizes{1em}{\z@}{\z@ \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 1 + \endgroup + \setparsizes{1em}{\z@ \@plus \p@}{\z@ \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 2 + \endgroup + \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% + \z@ \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 3 + \endgroup + \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% + \z@ \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 4 + \endgroup + \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% + 1em \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 5 + \endgroup + \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% + 1em \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 6 + \endgroup + \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% + .3333\linewidth\@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 7 + \endgroup + \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% + .3333\linewidth \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 8 + \endgroup + \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% + .25\linewidth \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 9 + \endgroup + \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% + .25\linewidth \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 10 + \endgroup + \ifx\par@updaterelative\undefined + \expandafter\AtEndOfClass + \else + \expandafter\@firstofone \fi - \let\default@par@update=\par@updaterelative - }% - \or%11 - \endgroup - \ifx\par@updaterelative\undefined - \expandafter\AtEndOfClass - \else - \expandafter\@firstofone - \fi - {% - \ifx\par@update\default@par@update - \let\par@update\relax + {% + \ifx\par@update\default@par@update + \let\par@update\par@updaterelative + \fi + \let\default@par@update=\par@updaterelative + }% + \or%11 + \endgroup + \ifx\par@updaterelative\undefined + \expandafter\AtEndOfClass + \else + \expandafter\@firstofone \fi - \let\default@par@update=\relax - }% - \else% sonst - \endgroup + {% + \ifx\par@update\default@par@update + \let\par@update\relax + \fi + \let\default@par@update=\relax + }% + \else% should never be + \endgroup + \fi + \else + \endgroup + \FamilyKeyStateUnkownValue \fi } \KOMA@DeclareDeprecatedOption{parskip-}{parskip=full-} @@ -466,17 +493,29 @@ \KOMA@DeclareDeprecatedOption{halfparskip+}{parskip=half+} \KOMA@DeclareDeprecatedOption{halfparskip*}{parskip=half*} \KOMA@DeclareDeprecatedOption{parindent}{parskip=false} -%%% From File: scrkpage.dtx +%%% From File: $Id: scrkernel-pagestyles.dtx 1551 2013-12-16 14:02:13Z mjk $ \newif\if@hsl \KOMA@key{headsepline}[true]{% \KOMA@set@ifkey{headsepline}{@hsl}{#1}% - \KOMA@options{headinclude=#1}{}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \@ifundefined{typearea}{% + \PassOptionsToPackage{typearea}{headinclude=#1}% + }{% + \KOMAoptions{headinclude=#1}{}% + }% + \fi } \KOMA@DeclareDeprecatedOption{headnosepline}{headsepline=false} \newif\if@fsl \KOMA@key{footsepline}[true]{% \KOMA@set@ifkey{footsepline}{@fsl}{#1}% - \KOMA@options{footinclude=#1}{}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \@ifundefined{typearea}{% + \PassOptionsToPackage{typearea}{headinclude=#1}% + }{% + \KOMAoptions{footinclude=#1,DIV=current}% + }% + \fi } \KOMA@DeclareDeprecatedOption{footnosepline}{footsepline=false} \@twosidefalse @@ -492,6 +531,7 @@ \def\cleardoublepage{\cleardoublestandardpage}% \def\cleardoubleoddpage{\cleardoubleoddstandardpage}% \def\cleardoubleevenpage{\cleardoubleevenstandardpage}% + \FamilyKeyStateProcessed }% }{% \ifnotundefined{ps@#1}{% @@ -499,6 +539,7 @@ \def\cleardoublepage{\cleardoublepageusingstyle{#1}}% \def\cleardoubleoddpage{\cleardoubleoddpageusingstyle{#1}}% \def\cleardoubleevenpage{\cleardoubleevenpageusingstyle{#1}}% + \FamilyKeyStateProcessed }% }{}% }% @@ -537,8 +578,8 @@ \KOMA@DeclareDeprecatedOption{cleardoubleempty}{cleardoublepage=empty} \KOMA@DeclareDeprecatedOption{cleardoubleplain}{cleardoublepage=plain} \KOMA@DeclareDeprecatedOption{cleardoublestandard}{cleardoublepage=current} -%%% From File: scrkfloa.dtx -%%% From File: scrkftn.dtx +%%% From File: $Id: scrkernel-floats.dtx 1502 2013-11-06 11:00:12Z mjk $ +%%% From File: $Id: scrkernel-footnotes.dtx 1380 2013-10-01 15:31:55Z mjk $ \KOMA@key{footnotes}{% \ifx\@footnotemark\scr@saved@footnotemark \else @@ -556,11 +597,13 @@ \let\@footnotemark\scr@footnotemark \def\FN@mf@prepare{\scr@mf@prepare}% \def\scr@footmisc@options{multiple}% + \FamilyKeyStateProcessed }{% \ifstr{#1}{nomultiple}{% \let\@footnotemark\scr@saved@footnotemark \let\FN@mf@prepare\relax \let\scr@footmisc@options\@empty + \FamilyKeyStateProcessed }{% \KOMA@unknown@keyval{footnotes}{#1}{`multiple' and `nomultiple'}% }% @@ -583,8 +626,8 @@ \csname FN@mf@prepare\endcsname \ifhmode\spacefactor\@x@sf\fi \relax} -%%% From File: scrklist.dtx -%%% From File: scrknpap.dtx +%%% From File: $Id: scrkernel-listsandtabulars.dtx 1502 2013-11-06 11:00:12Z mjk $ +%%% From File: $Id: scrkernel-notepaper.dtx 1380 2013-10-01 15:31:55Z mjk $ \KOMA@ifkey{firsthead}{@firsthead}\@firstheadtrue \newcommand*{\@alignfrom}{0} \KOMA@key{fromalign}{% @@ -596,7 +639,9 @@ {locationright}{4},{rightlocation}{4},{location}{4},% {no}{10000},{false}{10000},{off}{10000}% }{#1}% - \ifcase\@alignfrom\or\or\or\@firstheadfalse\or\@firstheadfalse\fi + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase\@alignfrom\or\or\or\@firstheadfalse\or\@firstheadfalse\fi + \fi } \newcommand*{\@rulefrom}{0} \KOMA@ncmdkey{fromrule}[below]{@rulefrom}{% @@ -604,6 +649,7 @@ {below}{2},{afteraddress}{2},{true}{2},{yes}{2},{on}{2}% } \KOMA@ifkey{fromphone}{@phone} +\KOMA@ifkey{frommobilephone}{@mobilephone} \KOMA@ifkey{fromfax}{@fax} \KOMA@ifkey{fromemail}{@email} \KOMA@ifkey{fromurl}{@www} @@ -673,35 +719,46 @@ {underlined}{2},% {plain}{3}% }{#1}% - \ifcase\@tempa - \endgroup - \@baddrfalse - \or - \endgroup - \@baddrtrue - \or - \endgroup - \@baddrtrue - \let\backaddr@format\underline - \or - \endgroup - \@baddrtrue - \let\backaddr@format\@firstofone - \else + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \aftergroup\FamilyKeyStateProcessed + \ifcase\@tempa + \endgroup + \@baddrfalse + \or + \endgroup + \@baddrtrue + \or + \endgroup + \@baddrtrue + \let\backaddr@format\underline + \or + \endgroup + \@baddrtrue + \let\backaddr@format\@firstofone + \else + \endgroup + \fi + \else \endgroup - \fi + \FamilyKeyStateUnknownValue + \fi } \newif\if@bigloc \KOMA@key{locfield}[wide]{% \begingroup \KOMA@set@ncmdkey{locfield}{@tempa}{{wide}{0},{narrow}{1}}{#1}% - \ifcase\@tempa - \endgroup - \@bigloctrue + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase\@tempa + \endgroup + \@bigloctrue + \else + \endgroup + \@biglocfalse + \fi \else \endgroup - \@biglocfalse - \fi + \FamilyKeyStateUnknownValue + \fi } \KOMA@DeclareDeprecatedOption{wlocfield}{locfield=wide} \KOMA@DeclareDeprecatedOption{slocfield}{locfield=narrow} @@ -709,48 +766,35 @@ \newcommand*{\@usefolds}{TMBPL} \KOMA@key{foldmarks}[true]{% \begingroup - \def\FamilyUnknownKeyValue##1##2##3##4{% - \def\sc@nf@ldch@rs####1{% - \ifx ####1\@nil\else - \if ####1T\g@addto@macro\@usefolds{####1}\else - \if ####1M\g@addto@macro\@usefolds{####1}\else - \if ####1B\g@addto@macro\@usefolds{####1}\else - \if ####1P\g@addto@macro\@usefolds{####1}\else - \if ####1L\g@addto@macro\@usefolds{####1}\else - \if ####1V\g@addto@macro\@usefolds{L}\else - \if ####1H\g@addto@macro\@usefolds{TMBP}\else - \if ####1t\scr@removechar\@usefolds{T}\else - \if ####1m\scr@removechar\@usefolds{M}\else - \if ####1b\scr@removechar\@usefolds{B}\else - \if ####1p\scr@removechar\@usefolds{P}\else - \if ####1l\scr@removechar\@usefolds{L}\else - \if ####1v% + \KOMA@set@ifkey\@empty{@fold}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \if@fold\aftergroup\@foldtrue\else\aftergroup\@foldfalse\fi + \aftergroup\FamilyKeyStateProcessed + \else + \aftergroup\FamilyKeyStateProcessed + \def\sc@nf@ldch@rs##1{% + \ifx ##1\@nil\else + \if ##1T\g@addto@macro\@usefolds{##1}\else + \if ##1M\g@addto@macro\@usefolds{##1}\else + \if ##1B\g@addto@macro\@usefolds{##1}\else + \if ##1P\g@addto@macro\@usefolds{##1}\else + \if ##1L\g@addto@macro\@usefolds{##1}\else + \if ##1V\g@addto@macro\@usefolds{L}\else + \if ##1H\g@addto@macro\@usefolds{TMBP}\else + \if ##1t\scr@removechar\@usefolds{T}\else + \if ##1m\scr@removechar\@usefolds{M}\else + \if ##1b\scr@removechar\@usefolds{B}\else + \if ##1p\scr@removechar\@usefolds{P}\else + \if ##1l\scr@removechar\@usefolds{L}\else + \if ##1v% \scr@removechar\@usefolds{L}% \else - \if ####1h% + \if ##1h% \scr@removechar\@usefolds{T}% \scr@removechar\@usefolds{M}% \scr@removechar\@usefolds{B}% \else - \ClassError{\KOMAClassName}{% - unknown fold mark switch `####1'}{% - You should use option `foldmarks' - either with one of\MessageBreak - \@spaces `true', `on', or `yes' to - switch fold marks on,\MessageBreak - \@spaces `false', `off', or `no' to - switch fold marks off,\MessageBreak - or a combination of\MessageBreak - \@spaces `T', `M', `B', 'P', 'L', `V', - `H' to select dedicated fold - marks\MessageBreak - or\MessageBreak - \@spaces `t', `m', 'b', 'p', 'l', 'v', - 'h' to deselect dedicated fold - marks.\MessageBreak - See the KOMA-Script manual for more - information. - }% + \aftergroup\FamilyKeyStateUnknownValue \fi \fi \fi @@ -769,9 +813,7 @@ \fi }% \expandafter\sc@nf@ldch@rs#1\@nil - }% - \KOMA@set@ifkey\@empty{@fold}{#1}% - \if@fold\aftergroup\@foldtrue\else\aftergroup\@foldfalse\fi + \fi \endgroup } \newcommand*{\scr@removechar}[2]{% @@ -787,26 +829,32 @@ \KOMA@key{refline}[wide]{% \begingroup \KOMA@set@ncmdkey{refline}{@tempa}{{wide}{0},{narrow}{1},% - {dateleft}{2},{leftdate}{2},% - {dateright}{3},{rightdate}{3},% - {nodate}{4}% - }{#1}% - \ifcase\@tempa - \endgroup - \@refwidetrue - \or - \endgroup - \@refwidefalse - \or - \endgroup - \def\@datepos{2}% - \or - \endgroup - \def\@datepos{1}% - \or + {dateleft}{2},{leftdate}{2},% + {dateright}{3},{rightdate}{3},% + {nodate}{4}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \aftergroup\FamilyKeyStateProcessed + \ifcase\@tempa + \endgroup + \@refwidetrue + \or + \endgroup + \@refwidefalse + \or + \endgroup + \def\@datepos{2}% + \or + \endgroup + \def\@datepos{1}% + \or + \endgroup + \def\@datepos{0}% + \fi + \else \endgroup - \def\@datepos{0}% - \fi + \FamilyKeyStateUnknownValue + \fi } \newcommand{\subject@format}[1]{#1} \newcommand*{\raggedsubject}{} @@ -824,22 +872,27 @@ {right}{6},% {centered}{7}% }{#1}% - \ifcase\@tempa - \aftergroup\@subjtrue - \or - \aftergroup\@subjfalse - \or - \aftergroup\@subjaftertrue - \or - \aftergroup\@subjafterfalse - \or - \aftergroup\let\aftergroup\subject@format\aftergroup\underline - \or - \aftergroup\let\aftergroup\raggedsubject\aftergroup\raggedright - \or - \aftergroup\let\aftergroup\raggedsubject\aftergroup\raggedleft - \or - \aftergroup\let\aftergroup\raggedsubject\aftergroup\centering + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \aftergroup\FamilyKeyStateProcessed + \ifcase\@tempa + \aftergroup\@subjtrue + \or + \aftergroup\@subjfalse + \or + \aftergroup\@subjaftertrue + \or + \aftergroup\@subjafterfalse + \or + \aftergroup\let\aftergroup\subject@format\aftergroup\underline + \or + \aftergroup\let\aftergroup\raggedsubject\aftergroup\raggedright + \or + \aftergroup\let\aftergroup\raggedsubject\aftergroup\raggedleft + \or + \aftergroup\let\aftergroup\raggedsubject\aftergroup\centering + \fi + \else + \aftergroup\FamilyKeyStateUnknownValue \fi \endgroup } @@ -861,40 +914,83 @@ {top}{10},{head}{10},{bot}{11},{foot}{11},% {left}{20},{middle}{21},{center}{21},{centered}{21},{right}{22}% }{#1}% - \ifnum\@tempa<10 - \edef\@tempa{\endgroup\edef\noexpand\@pageat{\@tempa}}% - \else - \ifnum\@tempa<20 - \@tempcnta\@pageat\relax - \ifnum\@tempcnta>2 - \advance\@tempcnta by -3 - \fi - \ifnum\@tempa=11 - \advance\@tempcnta by 3 - \fi - \edef\@tempa{\endgroup\edef\noexpand\@pageat{\the\@tempcnta}}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \aftergroup\FamilyKeyStateProcessed + \ifnum\@tempa<10 + \edef\@tempa{\endgroup\edef\noexpand\@pageat{\@tempa}}% \else - \ifnum\@pageat>2 - \edef\@pageat{3}% + \ifnum\@tempa<20 + \@tempcnta\@pageat\relax + \ifnum\@tempcnta>2 + \advance\@tempcnta by -3 + \fi + \ifnum\@tempa=11 + \advance\@tempcnta by 3 + \fi + \edef\@tempa{\endgroup\edef\noexpand\@pageat{\the\@tempcnta}}% \else - \edef\@pageat{0}% + \ifnum\@pageat>2 + \edef\@pageat{3}% + \else + \edef\@pageat{0}% + \fi + \@tempcnta\@tempa + \advance\@tempcnta by -20 + \advance\@tempcnta by\@pageat + \edef\@tempa{\endgroup\edef\noexpand\@pageat{\the\@tempcnta}}% \fi - \@tempcnta\@tempa - \advance\@tempcnta by -20 - \advance\@tempcnta by\@pageat - \edef\@tempa{\endgroup\edef\noexpand\@pageat{\the\@tempcnta}}% \fi + \else + \def\@tempa{\endgroup\FamilyKeyStateUnknownValue}% \fi \@tempa } -%%% From File: scrkcile.dtx -%%% From File: scrkmisc.dtx +\newif\if@scrsymbols +\KOMA@key{symbolicnames}[true]{% + \KOMA@set@ifkey{symbolicnames}{@scrsymbols}{#1}% + \if@scrsymbols + \if@atdocument + \begingroup + \@tempswafalse + \scr@ifundefinedorrelax{Telefon}{\@tempswatrue}{% + \scr@ifundefinedorrelax{FAX}{\@tempswatrue}{% + \scr@ifundefinedorrelax{Email}{\@tempswatrue}{% + \scr@ifundefinedorrelax{Mobilefone}{\@tempswatrue}{% + }% + }% + }% + }% + \if@tempswa + \aftergroup\@scrsymbolsfalse + \ClassWarning{scrlttr2}{Option `symbolicnames' + ignorred.\MessageBreak + You've tried to set option `symbolicnames'\MessageBreak + after \string\begin{document}, but without\MessageBreak + loading package `marvosym' before.\MessageBreak + You should either switch on option\MessageBreak + `symbolicnames' before \string\begin{document}\MessageBreak + or load package `marvosym' in the document\MessageBreak + preamble to avoid this warning% + }% + \fi + \endgroup + \else + \ifstr{\@currname.\@currext}{scrlttr2.cls}{% + \expandafter\AtEndOfClass + }{% + \expandafter\@firstofone + }% + {\RequirePackage{marvosym}}% + \fi + \fi +} +%%% From File: $Id: scrkernel-circularletters.dtx 1384 2013-10-01 15:51:14Z mjk $ +%%% From File: $Id: scrkernel-miscellaneous.dtx 1529 2013-12-03 07:36:57Z mjk $ \KOMAExecuteOptions{% parskip=false,% - headings=big% } \KOMAProcessOptions\relax -%%% From File: scrkcomp.dtx +%%% From File: $Id: scrkernel-compatibility.dtx 1512 2013-11-11 10:35:04Z mjk $ \expandafter\ifnum \@nameuse{scr@v@2.95}>\scr@compatibility\relax \newcommand*{\@setif}[2][]{% \begingroup @@ -906,7 +1002,42 @@ \expandafter\endgroup\@tempa }% \fi -%%% From File: scrkfont.dtx +%%% From File: $Id: scrkernel-fonts.dtx 1483 2013-10-31 15:12:30Z mjk $ +\newcommand*\scr@setlength[4]{% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{#1}{#2 \@plus#3 \@minus#4}% + \else + \ifdim #2<\ifdim #2=\z@ \z@ \else \p@\fi + \ifdim #3<\ifdim #3=\z@ \z@ \else \p@\fi + \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi + \setlength{#1}{\p@ \@plus\p@ \@minus\p@}% + \else + \setlength{#1}{\p@ \@plus\p@ \@minus#4}% + \fi + \else + \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi + \setlength{#1}{\p@ \@plus#3 \@minus\p@}% + \else + \setlength{#1}{\p@ \@plus#3 \@minus#4}% + \fi + \fi + \else + \ifdim #3<\ifdim #3=\z@ \z@ \else \p@\fi + \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi + \setlength{#1}{#2 \@plus\p@ \@minus\p@}% + \else + \setlength{#1}{#2 \@plus\p@ \@minus#4}% + \fi + \else + \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi + \setlength{#1}{#2 \@plus#3 \@minus\p@}% + \else + \setlength{#1}{#2 \@plus#3 \@minus#4}% + \fi + \fi + \fi + \fi +} \newcommand*{\changefontsizes}[2][1.2\@tempdima]{% \ClassWarning{\KOMAClassName}{% Using fallback calculation to setup font sizes\MessageBreak @@ -930,12 +1061,20 @@ \setlength{\@tempdimc}{\@tempdima}% \def\@tempa##1##2##3##4##5\@nnil{\def##1{##2.##3##4}}% \expandafter\@tempa\expandafter\@tempb\@tempb\@nnil% - \setlength{\abovedisplayskip}{% - \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% - \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\abovedisplayskip}{% + \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% + \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \setlength{\belowdisplayshortskip}{% + .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% + \else + \scr@setlength{\abovedisplayskip}% + {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}% + \scr@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}% + \scr@setlength{\belowdisplayshortskip}% + {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}% + \fi \setlength{\belowdisplayskip}{\abovedisplayskip}% - \setlength{\belowdisplayshortskip}{% - .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% \edef\normalsize{% \noexpand\@setfontsize\noexpand\normalsize {\the\@tempdima}{\the\@tempdimb}% @@ -947,12 +1086,20 @@ }% \setlength{\@tempdima}{0.9125\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% - \setlength{\abovedisplayskip}{% - \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% - \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\abovedisplayskip}{% + \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% + \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \setlength{\belowdisplayshortskip}{% + .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% + \else + \scr@setlength{\abovedisplayskip}% + {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}% + \scr@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}% + \scr@setlength{\belowdisplayshortskip}% + {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}% + \fi \setlength{\belowdisplayskip}{\abovedisplayskip}% - \setlength{\belowdisplayshortskip}{% - .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% \edef\small{% \noexpand\@setfontsize\noexpand\small {\the\@tempdima}{\the\@tempdimb}% @@ -964,12 +1111,20 @@ }% \setlength{\@tempdima}{.83334\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% - \setlength{\abovedisplayskip}{% - \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% - \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\abovedisplayskip}{% + \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% + \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \setlength{\belowdisplayshortskip}{% + .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% + \else + \scr@setlength{\abovedisplayskip}% + {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}% + \scr@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}% + \scr@setlength{\belowdisplayshortskip}% + {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}% + \fi \setlength{\belowdisplayskip}{\abovedisplayskip}% - \setlength{\belowdisplayshortskip}{% - .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% \edef\footnotesize{% \noexpand\@setfontsize\noexpand\footnotesize {\the\@tempdima}{\the\@tempdimb}% @@ -1022,29 +1177,37 @@ {\the\@tempdima}{\the\@tempdimb}% }% \normalsize - \setlength{\footnotesep}{.7\@tempdimc}% - \setlength{\skip\footins}{.9\@tempdimc \@plus .3333\@tempdimc \@minus - .6\@tempdimc}% - \setlength{\floatsep}{\@tempdimc \@plus .1667\@tempdimc \@minus - .3333\@tempdimc}% - \setlength{\textfloatsep}{1.6667\@tempdimc \@plus .1667\@tempdimc \@minus - .3333\@tempdimc}% - \setlength{\intextsep}{\@tempb\@tempdimc \@plus .3333\@tempdimc \@minus - .3333\@tempdimc}% - \setlength{\dblfloatsep}{\@tempb\@tempdimc \@plus .1667\@tempdimc \@minus - .3333\@tempdimc}% - \setlength{\dbltextfloatsep}{\textfloatsep}% - \setlength{\@fptop}{0\p@ \@plus 1fil}% - \setlength{\@fpsep}{.8333\@tempdimc \@plus 2fil}% - \setlength{\@fpbot}{\@fptop}% - \setlength{\@dblfptop}{0\p@ \@plus 1fil}% - \setlength{\@dblfpsep}{.8333\@tempdimc \@plus 2fil}% - \setlength{\@dblfpbot}{\@fptop}% - \setlength{\partopsep}{.25\@tempdimc \@plus .16667\@tempdimc \@minus - .16667\@tempdimc}% - \setlength{\topsep}{.8333\@tempdimc \@plus .3333\@tempdimc \@minus - .5\@tempdimc}% - \setlength{\parsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\footnotesep}{.7\@tempdimc}% + \setlength{\skip\footins}{.9\@tempdimc \@plus .3333\@tempdimc \@minus + .6\@tempdimc}% + \setlength{\floatsep}{\@tempdimc \@plus .1667\@tempdimc \@minus + .3333\@tempdimc}% + \setlength{\textfloatsep}{1.6667\@tempdimc \@plus .1667\@tempdimc \@minus + .3333\@tempdimc}% + \setlength{\intextsep}{\@tempb\@tempdimc \@plus .3333\@tempdimc \@minus + .3333\@tempdimc}% + \setlength{\dblfloatsep}{\@tempb\@tempdimc \@plus .1667\@tempdimc \@minus + .3333\@tempdimc}% + \setlength{\dbltextfloatsep}{\textfloatsep}% + \setlength{\@fptop}{0\p@ \@plus 1fil}% + \setlength{\@fpsep}{.8333\@tempdimc \@plus 2fil}% + \setlength{\@fpbot}{\@fptop}% + \setlength{\@dblfptop}{0\p@ \@plus 1fil}% + \setlength{\@dblfpsep}{.8333\@tempdimc \@plus 2fil}% + \setlength{\@dblfpbot}{\@fptop}% + \fi + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\topsep}{.8333\@tempdimc \@plus .3333\@tempdimc \@minus + .5\@tempdimc}% + \setlength{\parsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% + \else + \setlength{\@tempdimb}{\f@baselineskip}% + \scr@setlength{\parsep}% + {.3333\@tempdimb}{.1667\@tempdimb}{.0833\@tempdimb}% + \scr@setlength{\topsep}% + {.6667\@tempdimb}{.1667\@tempdimb}{.3333\@tempdimb}% + \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% @@ -1057,9 +1220,16 @@ \if@tempswa\noexpand\@list@extra\fi }% \let\@listI\@listi - \setlength{\topsep}{.75\@tempdimc \@plus .25\@tempdimc \@minus - .41667\@tempdimc}% - \setlength{\parsep}{.375\@tempdimc \@plus .16667\@tempdimc \@minus \p@}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\topsep}{.75\@tempdimc \@plus .25\@tempdimc \@minus + .41667\@tempdimc}% + \setlength{\parsep}{.375\@tempdimc \@plus .16667\@tempdimc \@minus \p@}% + \else + \scr@setlength{\parsep}% + {.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}% + \scr@setlength{\topsep}% + {.3333\@tempdimb}{.1667\@tempdimb}{.1667\@tempdimb}% + \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% @@ -1071,9 +1241,16 @@ \itemsep \parsep \if@tempswa\noexpand\@list@extra\fi }% - \setlength{\topsep}{.5\@tempdimc \@plus .16667\@tempdimc \@minus - .16667\@tempdimc}% - \setlength{\parsep}{.25\@tempdimc \@plus .16667\@tempdimc \@minus \p@}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\topsep}{.5\@tempdimc \@plus .16667\@tempdimc \@minus + .16667\@tempdimc}% + \setlength{\parsep}{.25\@tempdimc \@plus .16667\@tempdimc \@minus \p@}% + \else + \scr@setlength{\parsep}% + {.125\@tempdimb}{.0625\@tempdimb}{.0625\@tempdimb}% + \scr@setlength{\topsep}% + {.25\@tempdimb}{.125\@tempdimb}{.125\@tempdimb}% + \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% @@ -1085,8 +1262,15 @@ \itemsep \parsep \if@tempswa\noexpand\@list@extra\fi }% - \setlength{\topsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% - \setlength{\parsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\topsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% + \setlength{\parsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% + \else + \scr@setlength{\parsep}% + {.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}% + \scr@setlength{\topsep}% + {.3333\@tempdimb}{.1667\@tempdimb}{.0833\@tempdimb}% + \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% @@ -1099,8 +1283,13 @@ \itemsep \parsep \if@tempswa\noexpand\@list@extra\fi }% - \setlength{\topsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% - \setlength{\parsep}{\p@ \@plus\z@ \@minus\p@}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\topsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% + \else + \scr@setlength{\topsep}% + {.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}% + \fi + \setlength{\partopsep}{\z@ \@plus\z@ \@minus\p@}% \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% @@ -1110,7 +1299,7 @@ \labelwidth=\dimexpr \leftmargin-\labelsep \topsep \the\topsep \parsep \z@ - \partopsep \the\parsep + \partopsep \the\partopsep \itemsep \topsep \if@tempswa\noexpand\@list@extra\fi }% @@ -1120,7 +1309,7 @@ \csname @listiv\endcsname \endgroup \edef\@listiv{\leftmargin\leftmarginiv - \labelwidth=\dimexpr \leftmargin-\labelsep + \labelwidth=\dimexpr \leftmargin-\labelsep\relax \if@tempswa\noexpand\@list@extra\fi }% \@tempswafalse @@ -1129,7 +1318,7 @@ \csname @listv\endcsname \endgroup \edef\@listv{\leftmargin\leftmarginv - \labelwidth=\dimexpr \leftmargin-\labelsep + \labelwidth=\dimexpr \leftmargin-\labelsep\relax \if@tempswa\noexpand\@list@extra\fi }% \@tempswafalse @@ -1138,15 +1327,36 @@ \csname @listvi\endcsname \endgroup \edef\@listvi{\leftmargin\leftmarginvi - \labelwidth=\dimexpr \leftmargin-\labelsep + \labelwidth=\dimexpr \leftmargin-\labelsep\relax \if@tempswa\noexpand\@list@extra\fi }% \@listi - \setlength{\@tempdimb}{\@tempb\@tempdima}% - \setlength{\@tempdima}{\dimexpr \@tempdimb-\@tempdimc}% - \setlength\intextsep{\@tempdimb \@plus.2\@tempdima \@minus.2\@tempdima}% - \setlength\dblfloatsep\intextsep - \setlength\partopsep{.2\@tempdimc \@plus.1\@tempdimc \@minus.1\@tempdimc}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\@tempdimb}{\@tempb\@tempdima}% + \setlength{\@tempdima}{\dimexpr \@tempdimb-\@tempdimc}% + \setlength\intextsep{\@tempdimb \@plus.2\@tempdima \@minus.2\@tempdima}% + \setlength\dblfloatsep\intextsep + \setlength\partopsep{.2\@tempdimc \@plus.1\@tempdimc \@minus.1\@tempdimc}% + \else + \setlength{\@tempdimb}{\f@baselineskip}% + \setlength{\footnotesep}{.555\@tempdimb}% + \scr@setlength{\skip\footins}% + {.75\@tempdimb}{.3333\@tempdimb}{.1667\@tempdimb}% + \scr@setlength{\floatsep}% + {\@tempdimb}{.1667\@tempdimb}{.1667\@tempdimb}% + \scr@setlength{\textfloatsep}% + {1.6667\@tempdimb}{.1667\@tempdimb}{.3333\@tempdimb}% + \setlength{\intextsep}{\floatsep}% + \setlength{\dblfloatsep}{\floatsep}% + \setlength{\dbltextfloatsep}{\textfloatsep}% + \setlength{\@fptop}{\z@ \@plus 1fil}% + \setlength{\@fpsep}{.6667\@tempdimb \@plus 2fil}% + \setlength{\@fpbot}{\@fptop}% + \setlength{\@dblfptop}{\@fptop}% + \setlength{\@dblfpsep}{\@fpsep}% + \setlength{\@dblfpbot}{\@fptop}% + \scr@setlength{\partopsep}{.2\@tempdimb}{.1\@tempdimb}{.1\@tempdimb}% + \fi }% } \expandafter\@defaultunits\expandafter\@tempdima\@ptsize pt\relax\@nnil @@ -1172,18 +1382,56 @@ }% }% } -\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} -\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} -\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} -\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} -\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} -\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} -\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} -\DeclareOldFontCommand{\sfb}{\normalfont\sffamily\bfseries}{% +\newcommand*{\scr@DeclareOldFontCommand}[3]{% + \DeclareRobustCommand #1{\@fontswitch {% + \ClassWarning{\KOMAClassName}{% + Usage of deprecated font command `\string#1'!\MessageBreak + You should note, that in 1994 font command `\string#1' has\MessageBreak + been defined for compatiblitiy to Script 2.0 only.\MessageBreak + Now, after two decades of LaTeX2e and NFSS2, you\MessageBreak + shouldn't use such commands any longer and within\MessageBreak + KOMA-Script usage of `\string#1' is definitely deprecated.\MessageBreak + See `fntguide.pdf' for more information about\MessageBreak + recommended font commands.\MessageBreak + Note also, that KOMA-Script will remove the definition\MessageBreak + of `\string#1' anytime until release of about version 3.20.\MessageBreak + But for now, KOMA-Script will replace deprecated + `\string#1'\MessageBreak + by `\detokenize{#2}'% + }% + #2% + }{% + \ClassWarning{\KOMAClassName}{% + Usage of deprecated font command `\string#1'!\MessageBreak + You should note, that in 1994 font command `\string#1' has\MessageBreak + been defined for compatiblitiy to Script 2.0 only.\MessageBreak + Now, after two decades of LaTeX2e and NFSS2, you\MessageBreak + shouldn't use such commands any longer and within\MessageBreak + KOMA-Script usage of `\string#1' is definitely deprecated.\MessageBreak + See `fntguide.pdf' for more information about\MessageBreak + recommended font commands.\MessageBreak + Note also, that KOMA-Script will remove the definition\MessageBreak + of `\string#1' anytime until release of about version 3.20.\MessageBreak + But for now, KOMA-Script will replace deprecated + `\string#1'\MessageBreak + by `\detokenize{#3}'% + }% + #3% + }% + }% +} +\scr@DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +\scr@DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\scr@DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\scr@DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\scr@DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\scr@DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\scr@DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +\scr@DeclareOldFontCommand{\sfb}{\normalfont\sffamily\bfseries}{% \@nomath\sfb} \DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal} \DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal} -%%% From File: scrkmisc.dtx +%%% From File: $Id: scrkernel-miscellaneous.dtx 1529 2013-12-03 07:36:57Z mjk $ \setlength{\skip\@mpfootins}{\skip\footins} \setlength\fboxsep{3\p@} \setlength\fboxrule{.4\p@} @@ -1228,7 +1476,37 @@ \providecommand*{\@textsubscript}[1]{% {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}% } -%%% From File: scrklco.dtx +\newcommand*{\scr@package@not@recommended}[2]{% + \BeforePackage{#1}{% + \ClassWarning{\KOMAClassName}{% + Usage of package `#1' together\MessageBreak + with a KOMA-Script class is not recommended.\MessageBreak + \if\relax\detokenize{#2}\relax\else + I'd suggest to use #2.\MessageBreak + \fi + Nevertheless, using requested\MessageBreak + package `#1'% + }% + }% +} +\scr@package@not@recommended{emptypage}{% + option\MessageBreak + `cleardoublepage' with one of it's\MessageBreak + several values} +\scr@package@not@recommended{parskip}{% + option\MessageBreak + `parskip' with one of it's several values} +\scr@package@not@recommended{fancyhdr}{% + \MessageBreak + package `scrpage2' or `scrlayer-scrpage'} +\scr@package@not@recommended{titlesec}{% + the package only\MessageBreak + if you really need it, because it breaks several\MessageBreak + KOMA-Script features, i.e., option `headings' and\MessageBreak + the extended optional argument of the section\MessageBreak + commands +} +%%% From File: $Id: scrkernel-letterclassoptions.dtx 1499 2013-11-05 17:22:29Z mjk $ \newcommand*{\LoadLetterOption}[1]{% \@ifundefined{@restore@catcode@level}% {\let\@restore@catcode@level=\z@}{}% @@ -1270,13 +1548,26 @@ \newcommand*{\LOPNP@size}{} \newcommand*{\@PapersizeWarning}{% \begingroup% - \edef\@tempc{\noexpand\@tempswatrue - \noexpand\ifdim\paperwidth=\the\paperwidth\noexpand\else - \noexpand\@tempswafalse\noexpand\fi - \noexpand\ifdim\paperheight=\the\paperheight\noexpand\else - \noexpand\@tempswafalse\noexpand\fi + \edef\@tempc{\noexpand\@tempswafalse + \noexpand\ifdim\paperwidth<\the\dimexpr\paperwidth-.1mm\relax + \relax + \noexpand\else + \noexpand\ifdim\paperwidth>\the\dimexpr\paperwidth+.1mm\relax + \relax + \noexpand\else + \noexpand\ifdim\paperheight<\the\dimexpr\paperheight-.1mm\relax + \relax + \noexpand\else + \noexpand\ifdim\paperheight>\the\dimexpr\paperheight+.1mm\relax + \relax + \noexpand\else + \noexpand\@tempswatrue + \noexpand\fi + \noexpand\fi + \noexpand\fi + \noexpand\fi \noexpand\@@PapersizeWarning - } + }% \def\@tempb{letter}\ifx\LOPNP@size\@tempb% \setlength{\paperheight}{11in}\setlength{\paperwidth}{8.5in}% \else\def\@tempb{legal}\ifx\LOPNP@size\@tempb% @@ -1317,8 +1608,8 @@ } \newcommand*{\LetterOptionNeedsPapersize}[2]{% \edef\LOPNP@size{#2}\edef\LOPNP@option{#1}% - } -%%% From File: scrklang.dtx +} +%%% From File: $Id: scrkernel-language.dtx 1503 2013-11-06 11:44:59Z mjk $ \newcommand*{\g@addnumerical@date}[2]{% \@ifundefined{date#1}{% \ClassInfo{% @@ -1357,6 +1648,7 @@ \providecaptionname{english}\datename{Date}% \providecaptionname{english}\pagename{Page}% \providecaptionname{english}\phonename{Phone}% + \providecaptionname{english}\mobilephonename{Mobile phone}% \providecaptionname{english}\faxname{Fax}% \providecaptionname{english}\emailname{Email}% \providecaptionname{english}\wwwname{Url}% @@ -1375,6 +1667,7 @@ \providecaptionname{USenglish}\datename{Date}% \providecaptionname{USenglish}\pagename{Page}% \providecaptionname{USenglish}\phonename{Phone}% + \providecaptionname{USenglish}\mobilephonename{Cell phone}% \providecaptionname{USenglish}\faxname{Fax}% \providecaptionname{USenglish}\emailname{Email}% \providecaptionname{USenglish}\wwwname{Url}% @@ -1393,6 +1686,7 @@ \providecaptionname{american}\datename{Date}% \providecaptionname{american}\pagename{Page}% \providecaptionname{american}\phonename{Phone}% + \providecaptionname{american}\mobilephonename{Cell phone}% \providecaptionname{american}\faxname{Fax}% \providecaptionname{american}\emailname{Email}% \providecaptionname{american}\wwwname{Url}% @@ -1411,6 +1705,7 @@ \providecaptionname{british}\datename{Date}% \providecaptionname{british}\pagename{Page}% \providecaptionname{british}\phonename{Phone}% + \providecaptionname{british}\mobilephonename{Mobile phone}% \providecaptionname{british}\faxname{Fax}% \providecaptionname{british}\emailname{Email}% \providecaptionname{british}\wwwname{Url}% @@ -1429,6 +1724,7 @@ \providecaptionname{UKenglish}\datename{Date}% \providecaptionname{UKenglish}\pagename{Page}% \providecaptionname{UKenglish}\phonename{Phone}% + \providecaptionname{UKenglish}\mobilephonename{Mobile phone}% \providecaptionname{UKenglish}\faxname{Fax}% \providecaptionname{UKenglish}\emailname{Email}% \providecaptionname{UKenglish}\wwwname{Url}% @@ -1447,6 +1743,7 @@ \providecaptionname{german}\datename{Datum}% \providecaptionname{german}\pagename{Seite}% \providecaptionname{german}\phonename{Telephon}% + \providecaptionname{german}\mobilephonename{Mobiltelephon}% \providecaptionname{german}\faxname{Fax}% \providecaptionname{german}\emailname{E-Mail}% \providecaptionname{german}\wwwname{URL}% @@ -1465,6 +1762,7 @@ \providecaptionname{ngerman}\datename{Datum}% \providecaptionname{ngerman}\pagename{Seite}% \providecaptionname{ngerman}\phonename{Telefon}% + \providecaptionname{ngerman}\mobilephonename{Handy}% \providecaptionname{ngerman}\faxname{Fax}% \providecaptionname{ngerman}\emailname{E-Mail}% \providecaptionname{ngerman}\wwwname{URL}% @@ -1483,6 +1781,7 @@ \providecaptionname{austrian}\datename{Datum}% \providecaptionname{austrian}\pagename{Seite}% \providecaptionname{austrian}\phonename{Telefon}% + \providecaptionname{austrian}\mobilephonename{Mobiltelefon}% \providecaptionname{austrian}\faxname{Fax}% \providecaptionname{austrian}\emailname{E-Mail}% \providecaptionname{austrian}\wwwname{URL}% @@ -1501,6 +1800,7 @@ \providecaptionname{naustrian}\datename{Datum}% \providecaptionname{naustrian}\pagename{Seite}% \providecaptionname{naustrian}\phonename{Telefon}% + \providecaptionname{naustrian}\phonename{Handy}% \providecaptionname{naustrian}\faxname{Fax}% \providecaptionname{naustrian}\emailname{E-Mail}% \providecaptionname{naustrian}\wwwname{URL}% @@ -1519,6 +1819,7 @@ \providecaptionname{french}\datename{Date}% \providecaptionname{french}\pagename{Page}% \providecaptionname{french}\phonename{T\'el\'ephone}% + \providecaptionname{french}\mobilephonename{Portable}% \providecaptionname{french}\faxname{T\'el\'efax}% \providecaptionname{french}\emailname{E-mail}% \providecaptionname{french}\wwwname{URL}% @@ -1538,6 +1839,7 @@ \providecaptionname{italian}\datename{Data}% \providecaptionname{italian}\pagename{Pagina}% \providecaptionname{italian}\phonename{Telefono}% + \providecaptionname{italian}\mobilephonename{Telefonino}% \providecaptionname{italian}\faxname{Fax}% \providecaptionname{italian}\emailname{Email}% \providecaptionname{italian}\wwwname{Sito Web}% @@ -1556,6 +1858,7 @@ \providecaptionname{spanish}\datename{Fecha}% \providecaptionname{spanish}\pagename{P\'agina}% \providecaptionname{spanish}\phonename{Tel\'efono}% + \providecaptionname{spanish}\mobilephonename{M\'ovil}% \providecaptionname{spanish}\faxname{Fax}% \providecaptionname{spanish}\emailname{Email}% or Correo electr\'onico \providecaptionname{spanish}\wwwname{URL}% or P\`agina web @@ -1574,6 +1877,7 @@ \providecaptionname{croatian}\datename{Nadnevak}% \providecaptionname{croatian}\pagename{Stranica}% \providecaptionname{croatian}\phonename{Telefon}% + \providecaptionname{croatian}\mobilphonename{Mobitel}% \providecaptionname{croatian}\faxname{Fax}% \providecaptionname{croatian}\emailname{E-Mail}% \providecaptionname{croatian}\wwwname{URL}% @@ -1592,6 +1896,7 @@ \providecaptionname{dutch}\datename{Datum}% \providecaptionname{dutch}\pagename{Pagina}% \providecaptionname{dutch}\phonename{Telefoon}% + \providecaptionname{dutch}\mobilephonename{Mobieltje}% \providecaptionname{dutch}\faxname{Fax}% \providecaptionname{dutch}\emailname{E--mail}% \providecaptionname{dutch}\wwwname{URL}% @@ -1610,6 +1915,7 @@ \providecaptionname{finnish}\datename{P\"aiv\"a}% \providecaptionname{finnish}\pagename{Sivu}% \providecaptionname{finnish}\phonename{Puhelin}% + \providecaptionname{finnish}\mobilephonename{Matkapuhelin}% \providecaptionname{finnish}\faxname{Faksi}% \providecaptionname{finnish}\emailname{S\"ahk\"oposti}% \providecaptionname{finnish}\wwwname{URL}% @@ -1628,6 +1934,7 @@ \providecaptionname{norsk}\datename{Dato}% \providecaptionname{norsk}\pagename{Side}% \providecaptionname{norsk}\phonename{Telefon}% + \providecaptionname{norsk}\mobilephonename{Mobiltelefon}% \providecaptionname{norsk}\faxname{Telefaks}% \providecaptionname{norsk}\emailname{E-post}% \providecaptionname{norsk}\wwwname{Url}% @@ -1646,6 +1953,7 @@ \providecaptionname{swedish}\datename{Datum}% \providecaptionname{swedish}\pagename{Sida}% \providecaptionname{swedish}\phonename{Telefon}% + \providecaptionname{swedish}\mobilephonename{Mobiltelefon}% \providecaptionname{swedish}\faxname{Telefax}% \providecaptionname{swedish}\emailname{E-post}% \providecaptionname{swedish}\wwwname{Hemsida}% @@ -1753,7 +2061,12 @@ will be used% }% \else - \expandafter\selectlanguage\expandafter{\languagename}% + \ClassInfo{scrlttr2}{% + trying to activate captions and date\MessageBreak + of language `\languagename'% + }% + \csname date\languagename\endcsname + \csname captions\languagename\endcsname \ClassInfo{% scrlttr2% }{% @@ -1762,12 +2075,12 @@ `british', `american', `USenglish',\MessageBreak `german', `ngerman', `austrian', `naustrian',\MessageBreak `dutch', `italian', `spanish',\MessageBreak - `croatian', `finnish', `norsk'% + `croatian', `finnish', `norsk', `swedish'% }% \fi \fi } -%%% From File: scrkvars.dtx +%%% From File: $Id: scrkernel-variables.dtx 1389 2013-10-01 16:06:04Z mjk $ \newcommand*{\newkomavar}{% \@ifstar {\@tempswatrue\@newkomavar}{\@tempswafalse\@newkomavar}} \newcommand*{\@newkomavar}[2][\relax]{% @@ -1896,7 +2209,7 @@ }% \endgroup } -%%% From File: scrkplen.dtx +%%% From File: $Id: scrkernel-pseudolengths.dtx 1388 2013-10-01 16:03:42Z mjk $ \newcommand*{\@newplength}[1]{% \@ifundefined{ltr@len@#1}{% \expandafter\let\csname ltr@len@#1\endcsname=\z@% @@ -1950,7 +2263,7 @@ }% \@tempa% } -%%% From File: scrktare.dtx +%%% From File: $Id: scrkernel-typearea.dtx 1512 2013-11-11 10:35:04Z mjk $ \let\@BCOR =\relax \let\@@BCOR =\relax \let\@DIV =\relax @@ -1961,7 +2274,7 @@ \let\x@@paper =\relax \let\scr@pti@nerr@r =\relax \RequirePackage{typearea}[\KOMAScriptVersion] -%%% From File: scrkpar.dtx +%%% From File: $Id: scrkernel-paragraphs.dtx 1380 2013-10-01 15:31:55Z mjk $ \setlength{\lineskip}{\p@} \setlength{\normallineskip}{\p@} \newcommand*{\scr@selectfont}{} @@ -2087,7 +2400,7 @@ \@lowpenalty = 51 \@medpenalty =151 \@highpenalty =301 -%%% From File: scrkpage.dtx +%%% From File: $Id: scrkernel-pagestyles.dtx 1551 2013-12-16 14:02:13Z mjk $ \newcommand*{\set@tempdima@hw}{% \setlength{\@tempdima}{\textwidth}% \if@mincl @@ -2182,11 +2495,11 @@ \pagenumbering{arabic} \raggedbottom \onecolumn -%%% From File: scrkfloa.dtx +%%% From File: $Id: scrkernel-floats.dtx 1502 2013-11-06 11:00:12Z mjk $ \newcommand\marginline[1]{% \marginpar[\raggedleft{#1}]{\raggedright #1}% } -%%% From File: scrkftn.dtx +%%% From File: $Id: scrkernel-footnotes.dtx 1380 2013-10-01 15:31:55Z mjk $ \renewcommand*\footnoterule{% \normalsize\ftn@rule@test@values \kern-\dimexpr 2.6\p@+\ftn@rule@height\relax @@ -2323,7 +2636,7 @@ \endgroup \@footnotemark } -%%% From File: scrklist.dtx +%%% From File: $Id: scrkernel-listsandtabulars.dtx 1502 2013-11-06 11:00:12Z mjk $ \setlength{\leftmargini}{2.5em} \setlength{\leftmarginii}{2.2em} \setlength{\leftmarginiii}{1.87em} @@ -2419,8 +2732,22 @@ \newenvironment{addmargin*}{% \@tempswafalse \if@twoside\ifthispageodd{}{\@tempswatrue}\fi + \edef\scr@addmargin@startpage{\csname tpo@\scr@tpo\endcsname}% \@addmargin }{% + \unskip\nobreak\ifthispageodd{}{}% + \expandafter\ifx\csname tpo@\scr@tpo\endcsname\scr@addmargin@startpage\else + \ClassWarning{\KOMAClassName}{% + page break inside `addmargin*' environment.\MessageBreak + A `addmargin*' environment starting on page + \scr@addmargin@startpage\MessageBreak + ends on page \csname tpo@\scr@tpo\endcsname.\MessageBreak + This will result in potential wrong margins on\MessageBreak + every other page.\MessageBreak + So maybe you should change the `addmargin*'\MessageBreak + environment, that ends% + }% + \fi \advance\@listdepth\@ne \endlist } @@ -2451,7 +2778,7 @@ \newcommand*{\scr@fnt@descriptionlabel}{\descfont} \newkomafont{labelinglabel}{} \newkomafont{labelingseparator}{} -%%% From File: scrknpap.dtx +%%% From File: $Id: scrkernel-notepaper.dtx 1380 2013-10-01 15:31:55Z mjk $ \newcommand*{\@firsthead}{% \ClassWarning{scrlttr2}{% Deprecated usage of \string\@firsthead.\MessageBreak @@ -2504,6 +2831,9 @@ {\usekomafont{fromaddress}\strut\ignorespaces \usekomavar{fromaddress}% \if@phone\\\usekomavar*{fromphone}\usekomavar{fromphone}\fi% + \if@mobilephone + \\\usekomavar*{frommobilephone}\usekomavar{frommobilephone}% + \fi% \if@fax\\\usekomavar*{fromfax}\usekomavar{fromfax}\fi% \if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi% \if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi% @@ -2545,6 +2875,9 @@ {\usekomafont{fromaddress}\strut\ignorespaces \usekomavar{fromaddress}% \if@phone\\\usekomavar*{fromphone}\usekomavar{fromphone}\fi% + \if@mobilephone + \\\usekomavar*{frommobilephone}\usekomavar{frommobilephone}% + \fi% \if@fax\\\usekomavar*{fromfax}\usekomavar{fromfax}\fi% \if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi% \if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi% @@ -2590,6 +2923,9 @@ {\usekomafont{fromaddress}\strut\ignorespaces \usekomavar{fromaddress}% \if@phone\\\usekomavar*{fromphone}\usekomavar{fromphone}\fi% + \if@mobilephone + \\\usekomavar*{frommobilephone}\usekomavar{frommobilephone}% + \fi% \if@fax\\\usekomavar*{fromfax}\usekomavar{fromfax}\fi% \if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi% \if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi% @@ -2636,6 +2972,7 @@ \else \newkomafont{refvalue}{} \fi +\newkomafont{placeanddate}{} \newkomafont{title}{\normalcolor\sffamily\bfseries} \newkomafont{subject}{\normalcolor\bfseries} \@newplength{foldmarkhpos} @@ -3255,6 +3592,9 @@ {\usekomafont{fromaddress}\strut\ignorespaces \usekomavar{fromaddress}% \if@phone\\\usekomavar*{fromphone}\usekomavar{fromphone}\fi% + \if@mobilephone + \\\usekomavar*{frommobilephone}\usekomavar{frommobilephone}% + \fi% \if@fax\\\usekomavar*{fromfax}\usekomavar{fromfax}\fi% \if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi% \if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi% @@ -3293,6 +3633,9 @@ {\usekomafont{fromaddress}\strut\ignorespaces \usekomavar{fromaddress}% \if@phone\\\usekomavar*{fromphone}\usekomavar{fromphone}\fi% + \if@mobilephone% + \\\usekomavar*{frommobilephone}\usekomavar{frommobilephone}% + \fi% \if@fax\\\usekomavar*{fromfax}\usekomavar{fromfax}\fi% \if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi% \if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi% @@ -3421,9 +3764,9 @@ \else \ifcase \@datepos\else \ifnum \@datepos=1 \enskip\hfill\fi - \ifkomavarempty{place}{}{% - \usekomavar{place}\usekomavar{placeseparator}}% - \usekomavar{date}% + {\usekomafont{placeanddate}{\ifkomavarempty{place}{}{% + \usekomavar{place}\usekomavar{placeseparator}}% + \usekomavar{date}}}% \fi \fi }% @@ -3693,7 +4036,7 @@ \newkomavar{PPdatamatrix} \newkomavar{addresseeimage} \newkomavar[\usekomavar{place}]{placeseparator} -\setkomavar{placeseparator}{,~} +\setkomavar{placeseparator}{,\nobreakspace} \newkomavar[\subjectname]{subjectseparator} \setkomavar{subjectseparator}{: } \newkomavar[\ccname]{ccseparator} @@ -3701,15 +4044,19 @@ \newkomavar[\enclname]{enclseparator} \setkomavar{enclseparator}{: } \newkomavar{backaddressseparator} -\setkomavar{backaddressseparator}{,~} -\newkomavar[\phonename]{phoneseparator} -\setkomavar{phoneseparator}{:~} -\newkomavar[\faxname]{faxseparator} -\setkomavar{faxseparator}{:~} -\newkomavar[\emailname]{emailseparator} -\setkomavar{emailseparator}{:~} -\newkomavar[\wwwname]{urlseparator} -\setkomavar{urlseparator}{:~} +\setkomavar{backaddressseparator}{,\nobreakspace} +\newkomavar[\if@scrsymbols\Telefon\else\phonename\fi]{phoneseparator} +\setkomavar{phoneseparator}{\if@scrsymbols\else:\fi\nobreakspace} +\newkomavar[% + \if@scrsymbols\Mobilefone\else\mobilephonename\fi +]{mobilephoneseparator} +\setkomavar{mobilephoneseparator}{\usekomavar{phoneseparator}} +\newkomavar[\if@scrsymbols\FAX\else\faxname\fi]{faxseparator} +\setkomavar{faxseparator}{\if@scrsymbols\else:\fi\nobreakspace} +\newkomavar[\if@scrsymbols\Email\else\emailname\fi]{emailseparator} +\setkomavar{emailseparator}{\if@scrsymbols\else:\fi\nobreakspace} +\newkomavar[\if@scrsymbols\else\wwwname\fi]{urlseparator} +\setkomavar{urlseparator}{\if@scrsymbols\else:\nobreakspace\fi} \newkomavar{zipcodeseparator} \setkomavar{zipcodeseparator}{\,--\,} \newkomavar[\headfromname]{fromname} @@ -3718,6 +4065,8 @@ \newkomavar[\usekomavar{toname}]{toaddress} \newkomavar[\usekomavar*{phoneseparator}% \usekomavar{phoneseparator}]{fromphone} +\newkomavar[\usekomavar*{mobilephoneseparator}% + \usekomavar{mobilephoneseparator}]{frommobilephone} \newkomavar[\usekomavar*{faxseparator}% \usekomavar{faxseparator}]{fromfax} \newkomavar[\usekomavar*{emailseparator}% @@ -3734,7 +4083,7 @@ \usekomavar{subjectseparator}]{subject} \newkomavar[\datename]{date} \setkomavar{date}{\@date} -%%% From File: scrkcile.dtx +%%% From File: $Id: scrkernel-circularletters.dtx 1384 2013-10-01 15:51:14Z mjk $ \newcommand*{\adrentry}[7]{% \addrentry{#1}{#2}{#3}{#4}{#5}{#6}{#7}{}} \newcommand*{\adrchar}{\addrchar} @@ -3745,7 +4094,7 @@ \expandafter\def\csname #9\endcsname{#2 #1\\#3}% \fi \fi} \newcommand*{\addrchar}[1]{} -%%% From File: scrlogo.dtx +%%% From File: $Id: scrlogo.dtx 1380 2013-10-01 15:31:55Z mjk $ \@ifundefined{KOMAScript}{% \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% M\kern.05em A\kern.1em-\kern.1em Script}}}{} diff --git a/Master/texmf-dist/tex/latex/koma-script/scrpage.sty b/Master/texmf-dist/tex/latex/koma-script/scrpage.sty deleted file mode 100644 index 73aeb46512c..00000000000 --- a/Master/texmf-dist/tex/latex/koma-script/scrpage.sty +++ /dev/null @@ -1,445 +0,0 @@ -%% -%% This is file `scrpage.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% scrpage.dtx (with options: `scrpage,v1') -%% scrlogo.dtx (with options: `logo') -%% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. -%% -%% This file was generated from file(s) of the KOMA-Script bundle. -%% --------------------------------------------------------------- -%% -%% It may be distributed under the conditions of the -%% LaTeX Project Public License in the version distributed together -%% with KOMA-Script, see file `lppl.txt' or `lppl-de.txt'. -%% -%% This file may only be distributed together with a copy of the -%% KOMA-Script bundle. You may however distribute the -%% KOMA-Script bundle without all such generated files. See also -%% `lppl.txt' or `lppl-de.txt' for additional information. -%% -%% The list of files belonging to KOMA-Script distribution is given in -%% the file `manifest.txt'. See also `lppl.txt' or `lppl-de.txt' for -%% additional information. -%% -%% If this file is a beta version, you may not be allowed to distribute -%% it. Look at the comments below to see if this is the case. -%% -%% English and German manuals are part of KOMA-Script bundle. -%% ---------------------------------------------------------- -%% -%% See `README'. -%% -%% The KOMA-Script bundle (but maybe not this file) was based upon the -%% LaTeX 2.09 Script family created by Frank Neukam 1993 and the LaTeX2e -%% standard classes created by The LaTeX3 Project 1994-1996. You may -%% find a complete unmodified copy of LaTeX2e at -%% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. -%% -%%% From File: scrpage.dtx -\NeedsTeXFormat{LaTeX2e}[1995/06/01] -\ProvidesPackage{scrpage}[2008/02/29 v1.3e KOMA-Script - package] -\DeclareOption{headinclude}{% - \PassOptionsToPackage{headinclude}{typearea}% -} -\DeclareOption{headexclude}{% - \PassOptionsToPackage{headexclude}{typearea}% -} -\DeclareOption{footinclude}{% - \PassOptionsToPackage{footinclude}{typearea}% -} -\DeclareOption{footexclude}{% - \PassOptionsToPackage{footexclude}{typearea}% -} -\ExecuteOptions{% -headinclude,footinclude% -} -\ProcessOptions\relax -\newif\if@chapter -\begingroup\expandafter\expandafter\expandafter\endgroup -\expandafter\ifx\csname chapter\endcsname\relax - \@chapterfalse -\else - \@chaptertrue -\fi -\def\@tempa{\newif\if@mainmatter\@mainmattertrue} -\begingroup\expandafter\expandafter\expandafter\endgroup -\expandafter\ifx\csname mainmatter\endcsname\relax -\else - \let\@tempa\relax -\fi -\@tempa -\let\headmark\relax -\DeclareRobustCommand\pagemark{{\pnumfont\thepage}} -\def\defpagestyle{% - \@ifstar - {\@defpagestyle[-]}% - {\@defpagestyle[+]}} -\if@twoside - \def\@defpagestyle[#1]#2#3#4{% - \expandafter\def\csname ps@#2\endcsname{% - \def\@tempa{+}% - \def\@tempb{#1}% - \ifx\@tempa\@tempb - \let\@mkboth\markboth - \if@chapter - \def\chaptermark####1{% - \markboth {\ifnum \c@secnumdepth >\m@ne% - \if@mainmatter\chaptermarkformat\fi\fi ####1}{% - \ifnum \c@secnumdepth >\m@ne% - \if@mainmatter\chaptermarkformat\fi\fi ####1}}% - \def\sectionmark####1{% - \markright {\ifnum \c@secnumdepth >\z@% - \sectionmarkformat\fi ####1}}% - \else - \def\sectionmark####1{% - \markboth {\ifnum \c@secnumdepth >\z@% - \if@mainmatter\sectionmarkformat\fi\fi ####1}{% - \ifnum \c@secnumdepth >\z@% - \if@mainmatter\sectionmarkformat\fi\fi ####1}}% - \def\subsectionmark####1{% - \markright {\ifnum \c@secnumdepth >\@ne% - \subsectionmarkformat\fi ####1}}% - \fi - \else - \let\@mkboth\@gobbletwo - \if@chapter - \def\chaptermark####1{}% - \else - \def\subsectionmark####1{}% - \fi - \def\sectionmark####1{}% - \fi - \def@twosidehead#3 - \def@twosidefoot#4 - } - } -\else - \def\@defpagestyle[#1]#2#3#4{% - \expandafter\def\csname ps@#2\endcsname{% - \def\@tempa{+}% - \def\@tempb{#1}% - \ifx\@tempa\@tempb - \let\@mkboth\markboth - \if@chapter - \def\chaptermark####1{% - \markright {\ifnum \c@secnumdepth >\m@ne% - \if@mainmatter\chaptermarkformat\fi\fi ####1}}% - \def\sectionmark####1{}% - \else - \def\sectionmark####1{% - \markright{\ifnum \c@secnumdepth >\z@% - \if@mainmatter\sectionmarkformat\fi\fi ####1}}% - \def\subsectionmark####1{}% - \fi - \else - \let\@mkboth\@gobbletwo - \if@chapter - \def\chaptermark####1{}% - \else - \def\subsectionmark####1{}% - \fi - \def\sectionmark####1{}% - \fi - \def@onesidehead#3 - \def@onesidefoot#4 - } - } -\fi -\def\def@twosidehead(#1,#2)#3#4#5(#6,#7){% - \def\@evenhead{\let\headmark\leftmark% - \hss\hskip\@evenheadshift\vbox{\hsize=\@headwidth\relax% - \hf@rule{#1}{#2}{\@headwidth}% - \vskip#2 - \vskip\baselineskip - \hb@xt@\@headwidth{{% - \headfont\strut #3}}% - \hf@rule{#6}{#7}{\@headwidth}% - }\hskip\@oddheadshift\hss}% - \def\@oddhead{\let\headmark\rightmark - \hss\hskip\@oddheadshift\vbox{\hsize=\@headwidth\relax - \hf@rule{#1}{#2}{\@headwidth}% - \vskip#2% - \vskip\baselineskip - \hb@xt@\@headwidth{{% - \headfont\strut #4}}% - \hf@rule{#6}{#7}{\@headwidth}% - }\hskip\@evenheadshift\hss}% -} -\def\def@onesidehead(#1,#2)#3#4#5(#6,#7){% - \def\@evenhead{}% - \def\@oddhead{\let\headmark\rightmark - \hss\hskip\@oddheadshift\vbox{\hsize=\@headwidth\relax - \hf@rule{#1}{#2}{\@headwidth}% - \vskip#2% - \vskip\baselineskip - \hb@xt@\@headwidth{{% - \headfont\strut #5}}% - \hf@rule{#6}{#7}{\@headwidth}% - }\hskip\@evenheadshift\hss}% -} -\def\def@twosidefoot(#1,#2)#3#4#5(#6,#7){% - \def\@evenfoot{\let\headmark\leftmark - \hss\hskip\@evenfootshift\vbox{\hsize=\@footwidth\relax - \topfoot@rule{#1}{#2}\hb@xt@\@footwidth{{% - \headfont\footfont\strut #3}}% - \botfoot@rule{#6}{#7}}\hskip\@oddfootshift\hss}% - \def\@oddfoot{\let\headmark\rightmark - \hss\hskip\@oddfootshift\vbox{\hsize=\@footwidth\relax - \topfoot@rule{#1}{#2}\hb@xt@\@footwidth{{% - \headfont\footfont\strut #4}}% - \botfoot@rule{#6}{#7}}\hskip\@evenfootshift\hss}% -} -\def\def@onesidefoot(#1,#2)#3#4#5(#6,#7){% - \def\@evenfoot{}% - \def\@oddfoot{\let\headmark\rightmark - \hss\hskip\@oddfootshift\vbox{\hsize=\@footwidth\relax - \topfoot@rule{#1}{#2}\hb@xt@\@footwidth{{% - \headfont\footfont\strut #5}} - \botfoot@rule{#6}{#7}}\hskip\@evenfootshift\hss}% -} - -\newcommand\topfoot@rule[2]{% - \@tempdima\baselineskip\advance\@tempdima by-.7\normalbaselineskip - \advance\@tempdima by -#2 - \vskip\@tempdima\hf@rule{#1}{#2}{\@footwidth}% - \vskip-\@tempdima} -\newcommand\botfoot@rule[2]{% - \@tempdima-\baselineskip\advance\@tempdima by .3\normalbaselineskip - \advance\@tempdima by #2 - \vskip\@tempdima\hf@rule{#1}{#2}{\@footwidth}% -} -\newcommand\hf@rule[3]{% - \setlength{\@tempdimb}{#1} - \setlength{\@tempdimb}{.5\@tempdimb}% - \hb@xt@#3{% - \hfill% - \llap{\vrule\@depth#2\@height\z@\@width\@tempdimb}% - \rlap{\vrule\@depth#2\@height\z@\@width\@tempdimb}% - \hfill% - }% -} -\def\newpagestyle{% - \@ifstar - {\@newpagestyle[-]}% - {\@newpagestyle[+]}} -\def\@newpagestyle[#1]#2#3#4{% - \expandafter\ifx\csname ps@#2\endcsname\relax - \@defpagestyle[#1]{#2}{#3}{#4}% - \else - \PackageError - {scrpage}% - {Your command was ignored}% - {There is already a pagestyle named ``#1''.\MessageBreak% - Use \protect\defpagestyle\space, \protect\renewpagestyle or - \protect\providepagestyle.}% - \fi -} -\def\renewpagestyle{% - \@ifstar - {\@renewpagestyle[-]}% - {\@renewpagestyle[+]}} -\def\@renewpagestyle[#1]#2#3#4{% - \begingroup\expandafter\expandafter\expandafter\endgroup - \expandafter\ifx\csname ps@#2\endcsname\relax - \PackageError - {scrpage}% - {Your command was ignored}% - {There is no pagestyle named ``#1''.\MessageBreak% - Use \protect\defpagestyle, \protect\newpagestyle or - \protect\providepagestyle.}% - \else - \@defpagestyle[#1]{#2}{#3}{#4}% - \fi -} -\def\providepagestyle{% - \@ifstar - {\@providepagestyle[-]}% - {\@providepagestyle[+]}} -\def\@providepagestyle[#1]#2#3#4{% - \expandafter\ifx\csname ps@#2\endcsname\relax - \@defpagestyle[#1]{#2}{#3}{#4}% - \else - \PackageInfo - {scrpage}% - {\protect\providepagestyle\protect{#1\protect} ignored.}% - \fi -} -\def\deftripstyle{% - \@ifstar - {\@deftripstyle[-]}% - {\@deftripstyle[+]}} -\def\@deftripstyle[#1]#2{% - \@ifnextchar[%] - {\@@deftripstyle[#1]{#2}}% - {\@@deftripstyle[#1]{#2}[\z@]}} -\def\@@deftripstyle[#1]#2[#3]{% - \def\@tempa{#1}% - \@ifnextchar[%] - {\@@@deftripstyle#2[#3]}% - {\@@@deftripstyle#2[\z@][#3]}} -\def\@@@deftripstyle#1[#2][#3]#4#5#6#7#8#9{% - \def\@tempb{+}% - \ifx\@tempa\@tempb - \defpagestyle{#1}% - {(\@headwidth,#2)% - {\rlap{#6}\hfill{#5}\hfill\llap{#4}}% - {\rlap{#4}\hfill{#5}\hfill\llap{#6}}% - {\rlap{#4}\hfill{#5}\hfill\llap{#6}}% - (\@headwidth,#3)}% - {(\@footwidth,#3)% - {\rlap{#9}\hfill{#8}\hfill\llap{#7}}% - {\rlap{#7}\hfill{#8}\hfill\llap{#9}}% - {\rlap{#7}\hfill{#8}\hfill\llap{#9}}% - (\@footwidth,#2)}% - \else - \defpagestyle*{#1}% - {(\@headwidth,#2)% - {\rlap{#6}\hfill{#5}\hfill\llap{#4}}% - {\rlap{#4}\hfill{#5}\hfill\llap{#6}}% - {\rlap{#4}\hfill{#5}\hfill\llap{#6}}% - (\@headwidth,#3)}% - {(\@footwidth,#3)% - {\rlap{#9}\hfill{#8}\hfill\llap{#7}}% - {\rlap{#7}\hfill{#8}\hfill\llap{#9}}% - {\rlap{#7}\hfill{#8}\hfill\llap{#9}}% - (\@footwidth,#2)}% - \fi -} -\newcommand*{\settowidthof}[2]{% - \edef\@tempa{#2}% - \edef\@tempb{paper}\ifx\@tempa\@tempb - \setlength{#1}{\paperwidth}% - \else\edef\@tempb{text}\ifx\@tempa\@tempb - \setlength{#1}{\textwidth}% - \else\edef\@tempb{textwithmarginpar}\ifx\@tempa\@tempb - \setlength{#1}{\textwidth}% - \addtolength{#1}{\marginparwidth}% - \addtolength{#1}{\marginparsep}% - \else\edef\@tempb{head}\ifx\@tempa\@tempb - \setlength{#1}{\@headwidth}% - \else\edef\@tempb{foot}\ifx\@tempa\@tempb - \setlength{#1}{\@footwidth}% - \else\edef\@tempb{headtopline}\ifx\@tempa\@tempb - \setlength{#1}{\scr@headabove@linelength}% - \else\edef\@tempb{headsepline}\ifx\@tempa\@tempb - \setlength{#1}{\scr@headbelow@linelength}% - \else\edef\@tempb{footsepline}\ifx\@tempa\@tempb - \setlength{#1}{\scr@footabove@linelength}% - \else\edef\@tempb{footbotline}\ifx\@tempa\@tempb - \setlength{#1}{\scr@footbelow@linelength}% - \else\edef\@tempb{page}\ifx\@tempa\@tempb - \setlength{#1}{\paperwidth}% - \begingroup\expandafter\expandafter\expandafter\endgroup - \expandafter\ifx\csname ta@bcor\endcsname\relax\else - \addtolength{#1}{-\ta@bcor}% - \fi - \else - \setlength{#1}{#2}% - \fi - \fi - \fi - \fi - \fi - \fi - \fi - \fi - \fi - \fi -} -\newcommand*{\deftowidthof}[2]{% - \edef\@tempa{#2}\edef\@tempb{autohead}\ifx\@tempa\@tempb - \expandafter\def\csname #1\endcsname{\@headwidth}% - \else\edef\@tempb{autofoot}\ifx\@tempa\@tempb - \expandafter\def\csname #1\endcsname{\@footwidth}% - \else - \settowidthof{\@tempdima}{#2}% - \expandafter\edef\csname #1\endcsname{\the\@tempdima}% - \fi - \fi -} -\newcommand*{\setheadwidth}[2][\@empty]{% - \set@hf@width{head}{#1}{#2} % -} -\newcommand*{\setfootwidth}[2][\@empty]{% - \set@hf@width{foot}{#1}{#2}% -} -\newcommand*{\set@hf@width}[3]{% - \settowidthof{\@tempdima}{#3}% - \ifdim\@tempdima>\paperwidth - \PackageWarning - {scrpage}% - {You've set width of #1 to a value\MessageBreak - greater than width of page!\MessageBreak% - I`ll reduce width of #1 to width of page}% - \setlength{\@tempdima}{\paperwidth}% - \else - \ifdim\@tempdima<\z@ - \PackageWarning - {scrpage}% - {You've set width of #1 to negative value!\MessageBreak% - I'll set it to 0pt}% - \setlength{\@tempdima}{\z@}% - \fi - \fi - \expandafter\edef\csname @#1width\endcsname{\the\@tempdima}% - \edef\@tempa{#2}% - \setlength{\@tempdima}{\textwidth}% - \addtolength{\@tempdima}{-\csname @#1width\endcsname}% - \ifx\@tempa\@empty - \if@twoside - \setlength{\@tempdimb}{.3333333333\@tempdima}% - \else - \setlength{\@tempdimb}{.5\@tempdima}% - \fi - \else - \setlength{\@tempdimb}{#2}% - \fi - \addtolength{\@tempdima}{-\@tempdimb}% - \ifdim\@tempdimb<\z@ - \setlength{\@tempdimb}{-\@tempdimb}% - \expandafter\edef\csname @odd#1shift\endcsname{-\the\@tempdimb}% - \else - \expandafter\edef\csname @odd#1shift\endcsname{\the\@tempdimb}% - \fi - \ifdim\@tempdima<\z@ - \setlength{\@tempdima}{-\@tempdima}% - \expandafter\edef\csname @even#1shift\endcsname{-\the\@tempdima}% - \else - \expandafter\edef\csname @even#1shift\endcsname{\the\@tempdima}% - \fi -} -\newcommand*{\@headwidth}{\textwidth}% -\newcommand*{\@oddheadshift}{\z@}% -\newcommand*{\@evenheadshift}{\z@}% -\newcommand*{\@footwidth}{\textwidth}% -\newcommand*{\@oddfootshift}{\z@}% -\newcommand*{\@evenfootshift}{\z@}% -\providecommand*{\pnumfont}{\normalfont} -\providecommand*{\headfont}{\normalfont% -} -\providecommand{\partmarkformat} {\partname\ \thepart. \ } -\if@chapter - \providecommand{\chaptermarkformat} {\@chapapp\ \thechapter. \ } - \providecommand{\sectionmarkformat} {\thesection. \ } -\else - \providecommand{\sectionmarkformat} {\thesection\quad} - \providecommand{\subsectionmarkformat} {\thesubsection\quad} -\fi -\InputIfFileExists{scrpage.cfg} - {\typeout{*************************************^^J% - * Local config file scrpage.cfg used^^J% - *************************************}} - {} -%%% From File: scrlogo.dtx -\@ifundefined{KOMAScript}{% - \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% - M\kern.05em A\kern.1em-\kern.1em Script}}}{} -\endinput -%% -%% End of file `scrpage.sty'. diff --git a/Master/texmf-dist/tex/latex/koma-script/scrpage2.sty b/Master/texmf-dist/tex/latex/koma-script/scrpage2.sty index b3216cfe07e..710d4a9daa0 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrpage2.sty +++ b/Master/texmf-dist/tex/latex/koma-script/scrpage2.sty @@ -1,14 +1,13 @@ %% %% This is file `scrpage2.sty', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% %% scrpage.dtx (with options: `scrpage,v2') %% scrlogo.dtx (with options: `logo') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -40,11 +39,11 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrpage.dtx +%%% From File: $Id: scrpage.dtx 1547 2013-12-14 17:23:38Z mjk $ \NeedsTeXFormat{LaTeX2e}[1995/06/01] -\ProvidesPackage{scrpage2} - [2010/04/22 v2.5 LaTeX2e KOMA-Script - package] +\ProvidesPackage{scrpage2}[% + 2013/12/19 v3.12 KOMA-Script + package (page head and foot)] \newcommand*{\@Pass@Obsolete@Option@To@Typearea}[1]{% \@expandtwoargs\in@{,\CurrentOption,}{,\@curroptions,}% \ifin@ @@ -145,8 +144,7 @@ \@ifundefined{MakeMarkcase}{\let\MakeMarkcase\relax}{}} \DeclareOption{standardstyle}{\def\scrheadings@style{standard} \@ifundefined{MakeMarkcase}{\let\MakeMarkcase\MakeUppercase}{}} -\ExecuteOptions{% -} +\ExecuteOptions{} \ProcessOptions\relax \newif\if@chapter \begingroup\expandafter\expandafter\expandafter\endgroup @@ -186,7 +184,6 @@ \def@foot#4 }% } - \def\def@head{% \@ifnextchar(%) {\def@@head}% @@ -256,14 +253,12 @@ \newcommand\topfoot@rule[2]{% \@tempdima\baselineskip\advance\@tempdima by-.7\normalbaselineskip \advance\@tempdima by -#2 - \vskip\@tempdima\hf@rule{#1}{#2}{\@footwidth}% - {footabove}% + \vskip\@tempdima\hf@rule{#1}{#2}{\@footwidth}{footabove}% \vskip-\@tempdima} \newcommand\botfoot@rule[2]{% \@tempdima-\baselineskip\advance\@tempdima by .3\normalbaselineskip \advance\@tempdima by #2 - \vskip\@tempdima\hf@rule{#1}{#2}{\@footwidth}% - {footbelow}% + \vskip\@tempdima\hf@rule{#1}{#2}{\@footwidth}{footbelow}% } \newcommand*{\hf@rule}[4]{% \setlength{\@tempdimb}{#1} @@ -649,9 +644,7 @@ } \fi \providecommand*{\pnumfont}{\normalfont} -\providecommand*{\headfont}{\normalfont% - \slshape% -} +\providecommand*{\headfont}{\normalfont\slshape} \def\scr@fnt@wrn@pagehead#1{% `pagehead' is only an alias of `pageheadfoot'.\MessageBreak Font of page foot may also be changed% @@ -988,7 +981,7 @@ \ifcase\@pageat \lehead[\pagemark]{\pagemark}\lohead[\pagemark]{\pagemark}% \chead{\rightmark}% - \rehead{\leftmark}\lohead{\leftmark}% + \rehead{\leftmark}\rohead{\leftmark}% \or \lehead{\leftmark}\lohead{\leftmark}% \chead[\pagemark]{\pagemark}% @@ -1036,10 +1029,22 @@ \ifx\csname sectionmark\endcsname\relax \ifx\@mkboth\markboth\@automarktrue\fi \else - \ifx\sectionmark\@gobble\else\@automarktrue\fi + \ifx\sectionmark\@gobble\else + \begingroup + \def\@gobble#1{}\ifx\sectionmark\@gobble\else + \aftergroup\@automarktrue + \fi + \endgroup + \fi \fi \else - \ifx\chaptermark\@gobble\else\@automarktrue\fi + \ifx\chaptermark\@gobble\else + \begingroup + \def\@gobble#1{}\ifx\chaptermark\@gobble\else + \aftergroup\@automarktrue + \fi + \endgroup + \fi \fi \InputIfFileExists{scrpage.cfg} {\typeout{*************************************^^J% @@ -1068,7 +1073,7 @@ into the preamble of your document.\MessageBreak A better solution would be to use typearea package}% \fi\fi} -%%% From File: scrlogo.dtx +%%% From File: $Id: scrlogo.dtx 1380 2013-10-01 15:31:55Z mjk $ \@ifundefined{KOMAScript}{% \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% M\kern.05em A\kern.1em-\kern.1em Script}}}{} diff --git a/Master/texmf-dist/tex/latex/koma-script/scrreprt.cls b/Master/texmf-dist/tex/latex/koma-script/scrreprt.cls index 2273ebb3618..5047dbcbe99 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrreprt.cls +++ b/Master/texmf-dist/tex/latex/koma-script/scrreprt.cls @@ -1,47 +1,46 @@ %% %% This is file `scrreprt.cls', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `class,report') -%% scrkbase.dtx (with options: `load') +%% scrkernel-version.dtx (with options: `class,report') +%% scrkernel-basics.dtx (with options: `load') %% tocbasic.dtx (with options: `class,load,chapter') -%% scrkcomp.dtx (with options: `class,report,option') -%% scrkmisc.dtx (with options: `class,report,option') -%% scrklang.dtx (with options: `class,report,option') -%% scrkfont.dtx (with options: `class,report,option') -%% scrktare.dtx (with options: `class,report,option') -%% scrkpar.dtx (with options: `class,report,option') -%% scrktitl.dtx (with options: `class,report,option') -%% scrksect.dtx (with options: `class,report,option') -%% scrkpage.dtx (with options: `class,report,option') -%% scrkfloa.dtx (with options: `class,report,option') -%% scrkftn.dtx (with options: `class,report,option') -%% scrkliof.dtx (with options: `class,report,option') -%% scrkbib.dtx (with options: `class,report,option') -%% scrkidx.dtx (with options: `class,report,option') -%% scrklist.dtx (with options: `class,report,option') -%% scrkmisc.dtx (with options: `class,report,execoption') -%% scrkcomp.dtx (with options: `class,report,body') -%% scrkfont.dtx (with options: `class,report,body') -%% scrklang.dtx (with options: `class,report,body') -%% scrktare.dtx (with options: `class,report,body') -%% scrkpar.dtx (with options: `class,report,body') -%% scrktitl.dtx (with options: `class,report,body') -%% scrksect.dtx (with options: `class,report,body') -%% scrkmisc.dtx (with options: `class,report,body') -%% scrkpage.dtx (with options: `class,report,body') -%% scrkfloa.dtx (with options: `class,report,body') -%% scrkftn.dtx (with options: `class,report,body') -%% scrkliof.dtx (with options: `class,report,body') -%% scrkbib.dtx (with options: `class,report,body') -%% scrkidx.dtx (with options: `class,report,body') -%% scrklist.dtx (with options: `class,report,body') +%% scrkernel-compatibility.dtx (with options: `class,report,option') +%% scrkernel-miscellaneous.dtx (with options: `class,report,option') +%% scrkernel-language.dtx (with options: `class,report,option') +%% scrkernel-fonts.dtx (with options: `class,report,option') +%% scrkernel-typearea.dtx (with options: `class,report,option') +%% scrkernel-paragraphs.dtx (with options: `class,report,option') +%% scrkernel-title.dtx (with options: `class,report,option') +%% scrkernel-sections.dtx (with options: `class,report,option') +%% scrkernel-pagestyles.dtx (with options: `class,report,option') +%% scrkernel-floats.dtx (with options: `class,report,option') +%% scrkernel-footnotes.dtx (with options: `class,report,option') +%% scrkernel-listsof.dtx (with options: `class,report,option') +%% scrkernel-bibliography.dtx (with options: `class,report,option') +%% scrkernel-index.dtx (with options: `class,report,option') +%% scrkernel-listsandtabulars.dtx (with options: `class,report,option') +%% scrkernel-miscellaneous.dtx (with options: `class,report,execoption') +%% scrkernel-compatibility.dtx (with options: `class,report,body') +%% scrkernel-fonts.dtx (with options: `class,report,body') +%% scrkernel-language.dtx (with options: `class,report,body') +%% scrkernel-typearea.dtx (with options: `class,report,body') +%% scrkernel-paragraphs.dtx (with options: `class,report,body') +%% scrkernel-title.dtx (with options: `class,report,body') +%% scrkernel-sections.dtx (with options: `class,report,body') +%% scrkernel-miscellaneous.dtx (with options: `class,report,body') +%% scrkernel-pagestyles.dtx (with options: `class,report,body') +%% scrkernel-floats.dtx (with options: `class,report,body') +%% scrkernel-footnotes.dtx (with options: `class,report,body') +%% scrkernel-listsof.dtx (with options: `class,report,body') +%% scrkernel-bibliography.dtx (with options: `class,report,body') +%% scrkernel-index.dtx (with options: `class,report,body') +%% scrkernel-listsandtabulars.dtx (with options: `class,report,body') %% scrlogo.dtx (with options: `logo') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -73,9 +72,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -95,7 +94,7 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup \newcommand*{\KOMAClassName}{% scrreprt% @@ -104,20 +103,46 @@ report% } \ProvidesClass{\KOMAClassName}[% - \KOMAScriptVersion\space document class (\ClassName)% + 2013/12/19 v3.12 KOMA-Script + document class (\ClassName)% ] -%%% From File: scrkbase.dtx +%%% From File: $Id: scrkernel-basics.dtx 1502 2013-11-06 11:00:12Z mjk $ \RequirePackage{scrkbase}[\KOMAScriptVersion] -%%% From File: tocbasic.dtx -\def\tocbasicversion{2012/04/04 v3.10b} -\edef\@tempa{\noexpand\RequirePackage{tocbasic}[\tocbasicversion]} -\@tempa +%%% From File: $Id: tocbasic.dtx 1533 2013-12-10 18:06:14Z mjk $ +\RequirePackage{tocbasic}[% + 2013/12/19 v3.12 KOMA-Script +] \AtAddToTocList[\@currname.\@currext]{\setuptoc{\@currext}{onecolumn}}% \AtAddToTocList[float]{\setuptoc{\@currext}{onecolumn}}% \addtotoclist{toc} \addtotoclist[float]{lof} \addtotoclist[float]{lot} -%%% From File: scrkcomp.dtx +%%% From File: $Id: scrkernel-compatibility.dtx 1512 2013-11-11 10:35:04Z mjk $ +\newif\if@scr@emulatestandardclasses +\let\scr@emulatestandardclassestrue\relax +\let\scr@emulatestandardclassesfalse\relax +\DeclareOption{emulatestandardclasses}{% + \let\if@scr@emulatestandardclasses\iftrue + \KOMAExecuteOptions{% + fontsize=10pt,% + headings=standardclasses,% + cleardoublepage=current + }% + \newcommand*{\defaultpapersize}{letter}% + \AtEndOfClass{% + \setkomafont{descriptionlabel}{\bfseries}% + \setkomafont{dictum}{\normalfont\small}% + \setkomafont{caption}{}% + \setkomafont{captionlabel}{}% + \setcapindent{0pt}% + \RequirePackage[pagestyleset=standard,markcase=upper]{scrlayer-scrpage}% + \PreventPackageFromLoading{scrpage2}% + \setkomafont{pagenumber}{\normalfont}% + \setkomafont{pageheadfoot}{\normalfont}% + \cfoot[\pagemark]{}% + \pagestyle{plain}% + }% +} \newcommand* {\scr@compatibility}{\scr@v@last} \KOMA@key{version}[last]{% @@ -133,6 +158,7 @@ Switching compatibility level to `#1'% }% \edef\scr@compatibility{\@nameuse{scr@v@#1}}% + \FamilyKeyStateProcessed }% } \AtEndOfClass{% @@ -144,6 +170,7 @@ class.\MessageBreak But you've tried to set it up later.% }% + \FamilyKeyStateProcessed }% } \@namedef{scr@v@first}{0} @@ -193,22 +220,25 @@ \@namedef{scr@v@3.11}{10} \@namedef{scr@v@3.11a}{10} \@namedef{scr@v@3.11b}{10} -\@namedef{scr@v@last}{10} -%%% From File: scrkmisc.dtx +\@namedef{scr@v@3.12}{11} +\@namedef{scr@v@last}{11} +%%% From File: $Id: scrkernel-miscellaneous.dtx 1529 2013-12-03 07:36:57Z mjk $ \KOMA@key{draft}[true]{% \KOMA@set@ifkey{draft}{@tempswa}{#1}% - \if@tempswa - \setlength{\overfullrule}{5pt}% - \else - \setlength{\overfullrule}{\z@}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \if@tempswa + \setlength{\overfullrule}{5pt}% + \else + \setlength{\overfullrule}{\z@}% + \fi \fi } \KOMA@DeclareStandardOption {final}{draft=false} \DeclareOption{leqno}{\input{leqno.clo}} \DeclareOption{fleqn}{\input{fleqn.clo}} -%%% From File: scrklang.dtx -%%% From File: scrkfont.dtx +%%% From File: $Id: scrkernel-language.dtx 1503 2013-11-06 11:44:59Z mjk $ +%%% From File: $Id: scrkernel-fonts.dtx 1483 2013-10-31 15:12:30Z mjk $ \newcommand*\@ptsize{% 11% } @@ -219,8 +249,23 @@ \def\@pt@@scan #1pt#2\@pt@@scan{% \ifstr{#2}{pt}{% \ifnumber{#1}{% - \KOMA@UseObsoleteOption{\PackageInfoNoLine{\KOMAClassName}}% - {#1#2}{fontsize=#1#2}% + \ifstr{#1}{10}{% + \KOMA@UseStandardOption{\PackageInfoNoLine{\KOMAClassName}}% + {#1#2}{fontsize=#1#2}% + }{% + \ifstr{#1}{11}{% + \KOMA@UseStandardOption{\PackageInfoNoLine{\KOMAClassName}}% + {#1#2}{fontsize=#1#2}% + }{% + \ifstr{#1}{12}{% + \KOMA@UseStandardOption{\PackageInfoNoLine{\KOMAClassName}}% + {#1#2}{fontsize=#1#2}% + }{% + \KOMA@UseDeprecatedOption{\PackageWarningNoLine{\KOMAClassName}}% + {#1#2}{fontsize=#1#2}% + }% + }% + } }{\@headlines}% }{\@headlines}% } @@ -255,8 +300,9 @@ }% \@tempa }% + \FamilyKeyStateProcessed } -%%% From File: scrktare.dtx +%%% From File: $Id: scrkernel-typearea.dtx 1512 2013-11-11 10:35:04Z mjk $ \newcommand*{\@BCOR}{\expandafter\@@BCOR\CurrentOption BCORBCOR\@@BCOR} \newcommand*{\@@BCOR}{} \def\@@BCOR #1BCOR#2BCOR#3\@@BCOR{% @@ -326,7 +372,7 @@ {onecolumn}{twocolumn=false} \DeclareOption*{% \x@paper} -%%% From File: scrkpar.dtx +%%% From File: $Id: scrkernel-paragraphs.dtx 1380 2013-10-01 15:31:55Z mjk $ \newcommand*{\setparsizes}[3]{% \edef\f@parindent{\the\parindent}% \edef\f@parskip{\the\parskip}% @@ -367,82 +413,88 @@ {relative}{10},% {absolute}{11}% }{#1}% - \ifcase\number\@tempa% 0 - \endgroup - \setparsizes{1em}{\z@}{\z@ \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 1 - \endgroup - \setparsizes{1em}{\z@ \@plus \p@}{\z@ \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 2 - \endgroup - \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% - \z@ \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 3 - \endgroup - \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% - \z@ \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 4 - \endgroup - \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% - 1em \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 5 - \endgroup - \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% - 1em \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 6 - \endgroup - \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% - .3333\linewidth\@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 7 - \endgroup - \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% - .3333\linewidth \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 8 - \endgroup - \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% - .25\linewidth \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 9 - \endgroup - \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% - .25\linewidth \@plus 1fil}% - \if@atdocument\AfterKOMAoptions{\selectfont}\fi - \or% 10 - \endgroup - \ifx\par@updaterelative\undefined - \expandafter\AtEndOfClass - \else - \expandafter\@firstofone - \fi - {% - \ifx\par@update\default@par@update - \let\par@update\par@updaterelative + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \aftergroup\FamilyKeyStateProcessed + \ifcase\number\@tempa% 0 + \endgroup + \setparsizes{1em}{\z@}{\z@ \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 1 + \endgroup + \setparsizes{1em}{\z@ \@plus \p@}{\z@ \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 2 + \endgroup + \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% + \z@ \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 3 + \endgroup + \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% + \z@ \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 4 + \endgroup + \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% + 1em \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 5 + \endgroup + \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% + 1em \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 6 + \endgroup + \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% + .3333\linewidth\@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 7 + \endgroup + \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% + .3333\linewidth \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 8 + \endgroup + \setparsizes{\z@}{\baselineskip \@plus .1\baselineskip}{% + .25\linewidth \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 9 + \endgroup + \setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{% + .25\linewidth \@plus 1fil}% + \if@atdocument\AfterKOMAoptions{\selectfont}\fi + \or% 10 + \endgroup + \ifx\par@updaterelative\undefined + \expandafter\AtEndOfClass + \else + \expandafter\@firstofone \fi - \let\default@par@update=\par@updaterelative - }% - \or%11 - \endgroup - \ifx\par@updaterelative\undefined - \expandafter\AtEndOfClass - \else - \expandafter\@firstofone - \fi - {% - \ifx\par@update\default@par@update - \let\par@update\relax + {% + \ifx\par@update\default@par@update + \let\par@update\par@updaterelative + \fi + \let\default@par@update=\par@updaterelative + }% + \or%11 + \endgroup + \ifx\par@updaterelative\undefined + \expandafter\AtEndOfClass + \else + \expandafter\@firstofone \fi - \let\default@par@update=\relax - }% - \else% sonst - \endgroup + {% + \ifx\par@update\default@par@update + \let\par@update\relax + \fi + \let\default@par@update=\relax + }% + \else% should never be + \endgroup + \fi + \else + \endgroup + \FamilyKeyStateUnkownValue \fi } \KOMA@DeclareDeprecatedOption{parskip-}{parskip=full-} @@ -453,17 +505,30 @@ \KOMA@DeclareDeprecatedOption{halfparskip+}{parskip=half+} \KOMA@DeclareDeprecatedOption{halfparskip*}{parskip=half*} \KOMA@DeclareDeprecatedOption{parindent}{parskip=false} -%%% From File: scrktitl.dtx +%%% From File: $Id: scrkernel-title.dtx 1517 2013-11-21 13:02:39Z mjk $ \newif\if@titlepage \@titlepagetrue -\KOMA@ifkey{titlepage}{@titlepage}% +\newif\if@titlepageiscoverpage +\KOMA@key{titlepage}[true]{% + \ifstr{#1}{firstiscover}{% + \@titlepagetrue + \@titlepageiscoverpagetrue + \FamilyKeyStateProcessed + }{% + \def\FamilyElseValue{, `firstiscover'}% + \KOMA@set@ifkey{titlepage}{@titlepage}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \@titlepageiscoverpagefalse + \fi + }% +} \KOMA@DeclareStandardOption% {notitlepage}{titlepage=false} \newif\if@abstrt\@abstrtfalse \KOMA@ifkey{abstract}{@abstrt} \KOMA@DeclareStandardOption{abstracton}{abstract=true} \KOMA@DeclareStandardOption{abstractoff}{abstract=false} -%%% From File: scrksect.dtx +%%% From File: $Id: scrkernel-sections.dtx 1552 2013-12-16 16:51:32Z mjk $ \newif\if@openright \@openrightfalse \KOMA@key{open}{% @@ -472,15 +537,17 @@ {right}{1},% {left}{2}% }{#1}% - \ifcase \@tempa\relax - \@openrightfalse - \renewcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage}% - \or - \@openrighttrue - \renewcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage}% - \or - \@openrighttrue - \renewcommand*{\cleardoublestandardpage}{\cleardoubleevenstandardpage}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase \@tempa\relax + \@openrightfalse + \renewcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage}% + \or + \@openrighttrue + \renewcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage}% + \or + \@openrighttrue + \renewcommand*{\cleardoublestandardpage}{\cleardoubleevenstandardpage}% + \fi \fi } \KOMA@DeclareStandardOption{openright}{open=right} @@ -503,17 +570,19 @@ {noendperiod}{2},{noperiodatend}{2},% {noenddot}{2},{nodotatend}{2}% }{#1}% - \ifcase \@tempa\relax - \if@atdocument\scr@dotchangeatdocument{#1}\else - \let\scr@altsecnumhook\@empty - \fi - \or - \if@atdocument\scr@dotchangeatdocument{#1}\else - \let\scr@altsecnumhook\scr@altsecnumhooktrue - \fi - \or - \if@atdocument\scr@dotchangeatdocument{#1}\else - \let\scr@altsecnumhook\scr@altsecnumhookfalse + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase \@tempa\relax + \if@atdocument\scr@dotchangeatdocument{#1}\else + \let\scr@altsecnumhook\@empty + \fi + \or + \if@atdocument\scr@dotchangeatdocument{#1}\else + \let\scr@altsecnumhook\scr@altsecnumhooktrue + \fi + \or + \if@atdocument\scr@dotchangeatdocument{#1}\else + \let\scr@altsecnumhook\scr@altsecnumhookfalse + \fi \fi \fi } @@ -532,13 +601,16 @@ \KOMA@DeclareDeprecatedOption{nochapterprefix}{chapterprefix=false} \KOMA@key{appendixprefix}[true]{% \KOMA@set@ifkey{appendixprefix}{@tempswa}{#1}% - \if@tempswa - \def\appendixmore{\@chapterprefixtrue}% - \else - \def\appendixmore{\@chapterprefixfalse}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \if@tempswa + \def\appendixmore{\@chapterprefixtrue}% + \else + \def\appendixmore{\@chapterprefixfalse}% + \fi \fi } \KOMA@DeclareDeprecatedOption{noappendixprefix}{appendixprefix=false} +\newcommand*{\sectfont}{\normalcolor\sffamily\bfseries} \newcommand*{\size@part}{} \newcommand*{\size@partnumber}{} \newcommand*{\size@chapter}{} @@ -568,76 +640,100 @@ {appendixwithoutprefixline}{9},% {optiontotocandhead}{10},{optiontoheadandtoc}{10},% {optiontotoc}{11},% - {optiontohead}{12}% + {optiontohead}{12},% + {standardclasses}{13}% }{#1}% - \ifcase \@tempa\relax - \renewcommand*{\chapterheadstartvskip}{% - \vspace*{2.3\baselineskip}% - }% - \renewcommand*{\chapterheadendvskip}{% - \vspace{1.725\baselineskip - \@plus .115\baselineskip \@minus .192\baselineskip}% - }% - \renewcommand*{\size@part}{\Huge}% - \renewcommand*{\size@partnumber}{\huge}% - \renewcommand*{\size@chapter}{\huge}% - \renewcommand*{\size@section}{\Large}% - \renewcommand*{\size@subsection}{\large}% - \renewcommand*{\size@subsubsection}{\normalsize}% - \renewcommand*{\size@paragraph}{\normalsize}% - \renewcommand*{\size@subparagraph}{\normalsize}% - \or - \renewcommand*{\chapterheadstartvskip}{% - \vspace*{2\baselineskip}% - }% - \renewcommand*{\chapterheadendvskip}{% - \vspace{1.5\baselineskip - \@plus .1\baselineskip \@minus .167\baselineskip}% - }% - \renewcommand*{\size@part}{\huge}% - \renewcommand*{\size@partnumber}{\huge}% - \renewcommand*{\size@chapter}{\LARGE}% - \renewcommand*{\size@section}{\Large}% - \renewcommand*{\size@subsection}{\large}% - \renewcommand*{\size@subsubsection}{\normalsize}% - \renewcommand*{\size@paragraph}{\normalsize}% - \renewcommand*{\size@subparagraph}{\normalsize}% - \or - \renewcommand*{\chapterheadstartvskip}{% - \vspace*{1.8\baselineskip}% - }% - \renewcommand*{\chapterheadendvskip}{% - \vspace{1.35\baselineskip - \@plus 0.09\baselineskip \@minus .15\baselineskip}% - }% - \renewcommand*{\size@part}{\LARGE}% - \renewcommand*{\size@partnumber}{\LARGE}% - \renewcommand*{\size@chapter}{\Large}% - \renewcommand*{\size@section}{\large}% - \renewcommand*{\size@subsection}{\normalsize}% - \renewcommand*{\size@subsubsection}{\normalsize}% - \renewcommand*{\size@paragraph}{\normalsize}% - \renewcommand*{\size@subparagraph}{\normalsize}% - \or - \KOMA@options{open=any}{}% - \or - \KOMA@options{open=right}{}% - \or - \KOMA@options{open=left}{}% - \or - \KOMA@options{chapterprefix=true}{}% - \or - \KOMA@options{chapterprefix=false}{}% - \or - \KOMA@options{appendixprefix=true}{}% - \or - \KOMA@options{appendixprefix=false}{}% - \or - \scr@activate@xsection{3}% - \or - \scr@activate@xsection{2}% - \or - \scr@activate@xsection{1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase \@tempa\relax + \renewcommand*{\chapterheadstartvskip}{% + \vspace*{2.3\baselineskip}% + }% + \renewcommand*{\chapterheadendvskip}{% + \vspace{1.725\baselineskip + \@plus .115\baselineskip \@minus .192\baselineskip}% + }% + \renewcommand*{\size@part}{\Huge}% + \renewcommand*{\size@partnumber}{\huge}% + \renewcommand*{\size@chapter}{\huge}% + \renewcommand*{\size@chapterprefix}{\size@chapter}% + \renewcommand*{\size@section}{\Large}% + \renewcommand*{\size@subsection}{\large}% + \renewcommand*{\size@subsubsection}{\normalsize}% + \renewcommand*{\size@paragraph}{\normalsize}% + \renewcommand*{\size@subparagraph}{\normalsize}% + \or + \renewcommand*{\chapterheadstartvskip}{% + \vspace*{2\baselineskip}% + }% + \renewcommand*{\chapterheadendvskip}{% + \vspace{1.5\baselineskip + \@plus .1\baselineskip \@minus .167\baselineskip}% + }% + \renewcommand*{\size@part}{\huge}% + \renewcommand*{\size@partnumber}{\huge}% + \renewcommand*{\size@chapter}{\LARGE}% + \renewcommand*{\size@chapterprefix}{\size@chapter}% + \renewcommand*{\size@section}{\Large}% + \renewcommand*{\size@subsection}{\large}% + \renewcommand*{\size@subsubsection}{\normalsize}% + \renewcommand*{\size@paragraph}{\normalsize}% + \renewcommand*{\size@subparagraph}{\normalsize}% + \or + \renewcommand*{\chapterheadstartvskip}{% + \vspace*{1.8\baselineskip}% + }% + \renewcommand*{\chapterheadendvskip}{% + \vspace{1.35\baselineskip + \@plus 0.09\baselineskip \@minus .15\baselineskip}% + }% + \renewcommand*{\size@part}{\LARGE}% + \renewcommand*{\size@partnumber}{\LARGE}% + \renewcommand*{\size@chapter}{\Large}% + \renewcommand*{\size@chapterprefix}{\size@chapter}% + \renewcommand*{\size@section}{\large}% + \renewcommand*{\size@subsection}{\normalsize}% + \renewcommand*{\size@subsubsection}{\normalsize}% + \renewcommand*{\size@paragraph}{\normalsize}% + \renewcommand*{\size@subparagraph}{\normalsize}% + \or + \KOMAoptions{open=any}% + \or + \KOMAoptions{open=right}% + \or + \KOMAoptions{open=left}% + \or + \KOMAoptions{chapterprefix=true}% + \or + \KOMAoptions{chapterprefix=false}% + \or + \KOMAoptions{appendixprefix=true}% + \or + \KOMAoptions{appendixprefix=false}% + \or + \scr@activate@xsection{3}% + \or + \scr@activate@xsection{2}% + \or + \scr@activate@xsection{1}% + \or + \renewcommand*{\chapterheadstartvskip}{% + \vspace*{50\p@}% + }% + \renewcommand*{\chapterheadendvskip}{% + \vspace{40\p@}% + }% + \renewcommand*{\size@part}{\Huge}% + \renewcommand*{\size@partnumber}{\huge}% + \renewcommand*{\size@chapter}{\Huge}% + \renewcommand*{\size@chapterprefix}{\huge}% + \renewcommand*{\size@section}{\Large}% + \renewcommand*{\size@subsection}{\large}% + \renewcommand*{\size@subsubsection}{\normalsize}% + \renewcommand*{\size@paragraph}{\normalsize}% + \renewcommand*{\size@subparagraph}{\normalsize}% + \renewcommand*{\sectfont}{\bfseries}% + \KOMAoptions{open=right,chapterprefix=true}% + \fi \fi } \KOMA@DeclareDeprecatedOption{bigheadings}{headings=big} @@ -647,17 +743,29 @@ \newcommand*{\scr@activate@xsection}[1]{% \renewcommand*{\scr@osectarg}{#1}% } -%%% From File: scrkpage.dtx +%%% From File: $Id: scrkernel-pagestyles.dtx 1551 2013-12-16 14:02:13Z mjk $ \newif\if@hsl \KOMA@key{headsepline}[true]{% \KOMA@set@ifkey{headsepline}{@hsl}{#1}% - \KOMA@options{headinclude=#1}{}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \@ifundefined{typearea}{% + \PassOptionsToPackage{typearea}{headinclude=#1}% + }{% + \KOMAoptions{headinclude=#1}{}% + }% + \fi } \KOMA@DeclareDeprecatedOption{headnosepline}{headsepline=false} \newif\if@fsl \KOMA@key{footsepline}[true]{% \KOMA@set@ifkey{footsepline}{@fsl}{#1}% - \KOMA@options{footinclude=#1}{}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \@ifundefined{typearea}{% + \PassOptionsToPackage{typearea}{headinclude=#1}% + }{% + \KOMAoptions{footinclude=#1,DIV=current}% + }% + \fi } \KOMA@DeclareDeprecatedOption{footnosepline}{footsepline=false} \@twosidefalse @@ -673,6 +781,7 @@ \def\cleardoublepage{\cleardoublestandardpage}% \def\cleardoubleoddpage{\cleardoubleoddstandardpage}% \def\cleardoubleevenpage{\cleardoubleevenstandardpage}% + \FamilyKeyStateProcessed }% }{% \ifnotundefined{ps@#1}{% @@ -680,6 +789,7 @@ \def\cleardoublepage{\cleardoublepageusingstyle{#1}}% \def\cleardoubleoddpage{\cleardoubleoddpageusingstyle{#1}}% \def\cleardoubleevenpage{\cleardoubleevenpageusingstyle{#1}}% + \FamilyKeyStateProcessed }% }{}% }% @@ -718,7 +828,7 @@ \KOMA@DeclareDeprecatedOption{cleardoubleempty}{cleardoublepage=empty} \KOMA@DeclareDeprecatedOption{cleardoubleplain}{cleardoublepage=plain} \KOMA@DeclareDeprecatedOption{cleardoublestandard}{cleardoublepage=current} -%%% From File: scrkfloa.dtx +%%% From File: $Id: scrkernel-floats.dtx 1502 2013-11-06 11:00:12Z mjk $ \newif\if@captionabove\@captionabovefalse \newif\if@tablecaptionabove\@tablecaptionabovefalse \newif\if@figurecaptionabove\@figurecaptionabovefalse @@ -788,7 +898,7 @@ \DeclareOption{origlongtable}{\@komalongtablefalse} \KOMA@DeclareDeprecatedOption{onelinecaption}{captions=oneline} \KOMA@DeclareDeprecatedOption{noonelinecaption}{captions=nooneline} -%%% From File: scrkftn.dtx +%%% From File: $Id: scrkernel-footnotes.dtx 1380 2013-10-01 15:31:55Z mjk $ \KOMA@key{footnotes}{% \ifx\@footnotemark\scr@saved@footnotemark \else @@ -806,11 +916,13 @@ \let\@footnotemark\scr@footnotemark \def\FN@mf@prepare{\scr@mf@prepare}% \def\scr@footmisc@options{multiple}% + \FamilyKeyStateProcessed }{% \ifstr{#1}{nomultiple}{% \let\@footnotemark\scr@saved@footnotemark \let\FN@mf@prepare\relax \let\scr@footmisc@options\@empty + \FamilyKeyStateProcessed }{% \KOMA@unknown@keyval{footnotes}{#1}{`multiple' and `nomultiple'}% }% @@ -833,7 +945,7 @@ \csname FN@mf@prepare\endcsname \ifhmode\spacefactor\@x@sf\fi \relax} -%%% From File: scrkliof.dtx +%%% From File: $Id: scrkernel-listsof.dtx 1522 2013-11-22 08:11:42Z mjk $ \newif\if@tocleft \KOMA@key{toc}{% \KOMA@set@ncmdkey{toc}{@tempa}{% @@ -847,28 +959,36 @@ {bibliographynumbered}{7},{bibnumbered}{7},{numberedbibliography}{7},% {numberedbib}{7},% {flat}{8},{left}{8},% - {graduated}{9},{indent}{9},{indented}{9}% + {graduated}{9},{indent}{9},{indented}{9},% + {indenttextentries}{10},{indentunnumbered}{10},{numberline}{10},% + {leftaligntextentries}{11},{leftalignunnumbered}{11},{nonumberline}{11}% }{#1}% - \ifcase \@tempa\relax - \KOMA@options{index=notoc}{}% - \or - \KOMA@options{index=totoc}{}% - \or - \KOMA@options{listof=notoc}{}% - \or - \KOMA@options{listof=totoc}{}% - \or - \KOMA@options{listof=numbered}{}% - \or - \KOMA@options{bibliography=nottotoc}{}% - \or - \KOMA@options{bibliography=totoc}{}% - \or - \KOMA@options{bibliography=totocnumbered}{}% - \or - \@toclefttrue - \or - \@tocleftfalse + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase \@tempa\relax + \KOMAExecuteOptions{index=notoc}% + \or + \KOMAExecuteOptions{index=totoc}% + \or + \KOMAExecuteOptions{listof=notoc}% + \or + \KOMAExecuteOptions{listof=totoc}% + \or + \KOMAExecuteOptions{listof=numbered}% + \or + \KOMAExecuteOptions{bibliography=nottotoc}% + \or + \KOMAExecuteOptions{bibliography=totoc}% + \or + \KOMAExecuteOptions{bibliography=totocnumbered}% + \or + \@toclefttrue + \or + \@tocleftfalse + \or + \setuptoc{toc}{numberline}% + \or + \unsettoc{toc}{numberline}% + \fi \fi } \KOMA@DeclareDeprecatedOption{tocleft}{toc=flat} @@ -887,86 +1007,104 @@ {graduated}{4},{indent}{4},{indented}{4},% {leveldown}{5}, {entryprefix}{6}, - {chapterentry}{7},{withchapterentry}{7},% - {nochaptergap}{8},{ignorechapter}{8},% - {chaptergapsmall}{9},{smallchaptergap}{9},% - {chaptergapline}{10},{onelinechaptergap}{10}% + {indenttextentries}{7},{indentunnumbered}{7},{numberline}{7},% + {leftaligntextentries}{8},{leftalignunnumbered}{8},{nonumberline}{8},% + {chapterentry}{9},{withchapterentry}{9},% + {nochaptergap}{10},{ignorechapter}{10},% + {chaptergapsmall}{11},{smallchaptergap}{11},% + {chaptergapline}{12},{onelinechaptergap}{12}% }{#1}% - \ifcase \@tempa\relax - \renewcommand*{\float@@listhead}{% - \chapter* - }% - \doforeachtocfile[float]{% - \unsettoc{\@currext}{numbered}% - \unsettoc{\@currext}{totoc}% - }% - \AtAddToTocList[float]{% - \unsettoc{\@currext}{numbered}% - \unsettoc{\@currext}{totoc}% - }% - \or% totoc - \renewcommand*{\float@@listhead}{% - \addchap - }% - \doforeachtocfile[float]{% - \unsettoc{\@currext}{numbered}% - \setuptoc{\@currext}{totoc}% - }% - \AtAddToTocList[float]{% - \unsettoc{\@currext}{numbered}% - \setuptoc{\@currext}{totoc}% - }% - \or% numbered - \renewcommand*{\float@@listhead}{% - \chapter - }% - \doforeachtocfile[float]{% - \setuptoc{\@currext}{numbered}% - \setuptoc{\@currext}{totoc}% - }% - \AtAddToTocList[float]{% - \setuptoc{\@currext}{numbered}% - \setuptoc{\@currext}{totoc}% - }% - \or% flat - \@dynlisttrue - \or% graduated - \@dynlistfalse - \or% leveldown - \doforeachtocfile[float]{% - \setuptoc{\@currext}{leveldown}% - }% - \AtAddToTocList[float]{% - \setuptoc{\@currext}{leveldown}% - }% - \or% entryprefix - \@dynlisttrue - \doforeachtocfile[float]{% - \BeforeStartingTOC[\@currext]{% - \scr@ifundefinedorrelax{listof\@currext entryname}{}{% - \expandafter\def\expandafter\numberline@prefix - \expandafter{\csname listof\@currext entryname\endcsname - \nobreakspace}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase \@tempa\relax + \renewcommand*{\float@@listhead}{% + \chapter* + }% + \doforeachtocfile[float]{% + \unsettoc{\@currext}{numbered}% + \unsettoc{\@currext}{totoc}% + }% + \AtAddToTocList[float]{% + \unsettoc{\@currext}{numbered}% + \unsettoc{\@currext}{totoc}% + }% + \or% totoc + \renewcommand*{\float@@listhead}{% + \addchap + }% + \doforeachtocfile[float]{% + \unsettoc{\@currext}{numbered}% + \setuptoc{\@currext}{totoc}% + }% + \AtAddToTocList[float]{% + \unsettoc{\@currext}{numbered}% + \setuptoc{\@currext}{totoc}% + }% + \or% numbered + \renewcommand*{\float@@listhead}{% + \chapter + }% + \doforeachtocfile[float]{% + \setuptoc{\@currext}{numbered}% + \setuptoc{\@currext}{totoc}% + }% + \AtAddToTocList[float]{% + \setuptoc{\@currext}{numbered}% + \setuptoc{\@currext}{totoc}% + }% + \or% flat + \@dynlisttrue + \or% graduated + \@dynlistfalse + \or% leveldown + \doforeachtocfile[float]{% + \setuptoc{\@currext}{leveldown}% + }% + \AtAddToTocList[float]{% + \setuptoc{\@currext}{leveldown}% + }% + \or% entryprefix + \@dynlisttrue + \doforeachtocfile[float]{% + \BeforeStartingTOC[\@currext]{% + \scr@ifundefinedorrelax{listof\@currext entryname}{}{% + \expandafter\def\expandafter\numberline@prefix + \expandafter{\csname listof\@currext entryname\endcsname + \nobreakspace}% + }% }% }% - }% - \AtAddToTocList[float]{% - \BeforeStartingTOC[\@currext]{% - \scr@ifundefinedorrelax{listof\@currext entryname}{}{% - \expandafter\def\expandafter\numberline@prefix - \expandafter{\csname listof\@currext entryname\endcsname - \nobreakspace}% + \AtAddToTocList[float]{% + \BeforeStartingTOC[\@currext]{% + \scr@ifundefinedorrelax{listof\@currext entryname}{}{% + \expandafter\def\expandafter\numberline@prefix + \expandafter{\csname listof\@currext entryname\endcsname + \nobreakspace}% + }% }% }% - }% - \or% chapterentry - \KOMA@options{chapteratlists=entry}{}% - \or% chaptergap - \KOMA@options{chapteratlists=\z@}{}% - \or% chaptergapsmall - \KOMA@options{chapteratlists=10\p@}{}% - \or% chaptergapline - \KOMA@options{chapteratlists=\baselineskip}{}% + \or% numberline + \doforeachtocfile[float]{% + \setuptoc{\@currext}{numberline}% + }% + \AtAddToTocList[float]{% + \setuptoc{\@currext}{numberline}% + } + \or% nonumberline + \doforeachtocfile[float]{% + \unsettoc{\@currext}{numberline}% + }% + \AtAddToTocList[float]{% + \unsettoc{\@currext}{numberline}% + } + \or% chapterentry + \KOMAExecuteOptions{chapteratlists=entry}% + \or% chaptergap + \KOMAExecuteOptions{chapteratlists=\z@}% + \or% chaptergapsmall + \KOMAExecuteOptions{chapteratlists=10\p@}% + \or% chaptergapline + \KOMAExecuteOptions{chapteratlists=\baselineskip}% + \fi \fi } \KOMA@DeclareDeprecatedOption{liststotoc}{listof=totoc} @@ -982,7 +1120,8 @@ \@chaptertolistsfalse\renewcommand*{\@chapterlistsgap}{#1}% }% } -%%% From File: scrkbib.dtx +\BeforeTOCHead{\@chaptertolistsfalse} +%%% From File: $Id: scrkernel-bibliography.dtx 1380 2013-10-01 15:31:55Z mjk $ \newcommand{\newbibstyle}[3][]{% \scr@ifundefinedorrelax{scr@bibstyle@#2}{% \scr@ifundefinedorrelax{scr@bibstyle@#1}{% @@ -1035,43 +1174,76 @@ } \scr@bibstyle@oldstyle \newcommand*\bib@heading{% - \chapter*{\bibname}% - \@mkboth{\MakeMarkcase{\bibname}}{\MakeMarkcase{\bibname}}% -} + \ifbib@leveldown + \section*{\bibname}% + \ifx\@mkboth\@gobble\else\markright{\MakeMarkcase{\bibname}}\fi + \else + \chapter*{\bibname}% + \@mkboth{\MakeMarkcase{\bibname}}{\MakeMarkcase{\bibname}}% + \fi +}% +\newif\ifbib@leveldown \KOMA@key{bibliography}{% \scr@ifundefinedorrelax{scr@bibstyle@#1}{% - \let\FamilyElseValues\scr@bibstylelist \KOMA@set@ncmdkey{bibliography}{@tempa}{% {notoc}{0},{nottotoc}{0},{plainheading}{0},% {totoc}{1},{toc}{1},{notnumbered}{1},% {numbered}{2},{totocnumbered}{2},{tocnumbered}{2},{numberedtotoc}{2},% - {numberedtoc}{2}% + {numberedtoc}{2},% + {leveldown}{3},% + {standardlevel}{4}% }{#1}% \ifcase \@tempa\relax \renewcommand*\bib@heading{% - \chapter*{\bibname}% - \@mkboth{\MakeMarkcase{\bibname}}{\MakeMarkcase{\bibname}}% + \ifbib@leveldown + \section*{\bibname}% + \ifx\@mkboth\@gobble\else\markright{\MakeMarkcase{\bibname}}\fi + \else + \chapter*{\bibname}% + \@mkboth{\MakeMarkcase{\bibname}}{\MakeMarkcase{\bibname}}% + \fi }% \or% totoc \renewcommand*\bib@heading{% - \addchap{\bibname}% - \@mkboth{\MakeMarkcase{\bibname}}{\MakeMarkcase{\bibname}}% + \ifbib@leveldown + \addsec{\bibname} + \else + \if@chaptertolists + \@chaptertolistsfalse\addchap{\bibname}\@chaptertoliststrue + \else + \addchap{\bibname} + \fi + \@mkboth{\MakeMarkcase{\bibname}}{\MakeMarkcase{\bibname}}% + \fi }% \or% numbered \renewcommand*\bib@heading{% - \chapter{\bibname}% - \@mkboth{\MakeMarkcase{\chaptermarkformat \bibname}}% - {\MakeMarkcase{\chaptermarkformat \bibname}}% + \ifbib@leveldown + \section{\bibname}% + \else + \if@chaptertolists + \@chaptertolistsfalse\chapter{\bibname}\@chaptertoliststrue + \else + \chapter{\bibname} + \fi + \@mkboth{\MakeMarkcase{\chaptermarkformat \bibname}}% + {\MakeMarkcase{\chaptermarkformat \bibname}}% + \fi } + \or% leveldown + \bib@leveldowntrue + \or% standardlevel + \bib@leveldownfalse \fi }{% \csname scr@bibstyle@#1\endcsname + \FamilyKeyStateProcessed }% } \KOMA@DeclareStandardOption{openbib}{bibliography=openstyle} \KOMA@DeclareDeprecatedOption{bibtotoc}{bibliography=totoc} \KOMA@DeclareDeprecatedOption{bibtotocnumbered}{bibliography=totocnumbered} -%%% From File: scrkidx.dtx +%%% From File: $Id: scrkernel-index.dtx 1380 2013-10-01 15:31:55Z mjk $ \newcommand*{\idx@@heading}{% \chapter* } @@ -1080,26 +1252,63 @@ {notoc}{0},{nottotoc}{0},{default}{0},{plainheading}{0},% {totoc}{1},{toc}{1},{notnumbered}{1}% }{#1}% - \ifcase \@tempa\relax - \renewcommand*{\idx@@heading}{% - \chapter* - }% - \or - \renewcommand*{\idx@@heading}{% - \addchap - }% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase \@tempa\relax + \renewcommand*{\idx@@heading}{% + \chapter* + }% + \or + \renewcommand*{\idx@@heading}{% + \addchap + }% + \fi \fi } \KOMA@DeclareDeprecatedOption{idxtotoc}{index=totoc} -%%% From File: scrklist.dtx -%%% From File: scrkmisc.dtx +%%% From File: $Id: scrkernel-listsandtabulars.dtx 1502 2013-11-06 11:00:12Z mjk $ +%%% From File: $Id: scrkernel-miscellaneous.dtx 1529 2013-12-03 07:36:57Z mjk $ \KOMAExecuteOptions{% parskip=false,% headings=big% } \KOMAProcessOptions\relax -%%% From File: scrkcomp.dtx -%%% From File: scrkfont.dtx +%%% From File: $Id: scrkernel-compatibility.dtx 1512 2013-11-11 10:35:04Z mjk $ +%%% From File: $Id: scrkernel-fonts.dtx 1483 2013-10-31 15:12:30Z mjk $ +\newcommand*\scr@setlength[4]{% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{#1}{#2 \@plus#3 \@minus#4}% + \else + \ifdim #2<\ifdim #2=\z@ \z@ \else \p@\fi + \ifdim #3<\ifdim #3=\z@ \z@ \else \p@\fi + \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi + \setlength{#1}{\p@ \@plus\p@ \@minus\p@}% + \else + \setlength{#1}{\p@ \@plus\p@ \@minus#4}% + \fi + \else + \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi + \setlength{#1}{\p@ \@plus#3 \@minus\p@}% + \else + \setlength{#1}{\p@ \@plus#3 \@minus#4}% + \fi + \fi + \else + \ifdim #3<\ifdim #3=\z@ \z@ \else \p@\fi + \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi + \setlength{#1}{#2 \@plus\p@ \@minus\p@}% + \else + \setlength{#1}{#2 \@plus\p@ \@minus#4}% + \fi + \else + \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi + \setlength{#1}{#2 \@plus#3 \@minus\p@}% + \else + \setlength{#1}{#2 \@plus#3 \@minus#4}% + \fi + \fi + \fi + \fi +} \newcommand*{\changefontsizes}[2][1.2\@tempdima]{% \ClassWarning{\KOMAClassName}{% Using fallback calculation to setup font sizes\MessageBreak @@ -1123,12 +1332,20 @@ \setlength{\@tempdimc}{\@tempdima}% \def\@tempa##1##2##3##4##5\@nnil{\def##1{##2.##3##4}}% \expandafter\@tempa\expandafter\@tempb\@tempb\@nnil% - \setlength{\abovedisplayskip}{% - \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% - \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\abovedisplayskip}{% + \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% + \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \setlength{\belowdisplayshortskip}{% + .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% + \else + \scr@setlength{\abovedisplayskip}% + {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}% + \scr@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}% + \scr@setlength{\belowdisplayshortskip}% + {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}% + \fi \setlength{\belowdisplayskip}{\abovedisplayskip}% - \setlength{\belowdisplayshortskip}{% - .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% \edef\normalsize{% \noexpand\@setfontsize\noexpand\normalsize {\the\@tempdima}{\the\@tempdimb}% @@ -1140,12 +1357,20 @@ }% \setlength{\@tempdima}{0.9125\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% - \setlength{\abovedisplayskip}{% - \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% - \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\abovedisplayskip}{% + \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% + \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \setlength{\belowdisplayshortskip}{% + .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% + \else + \scr@setlength{\abovedisplayskip}% + {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}% + \scr@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}% + \scr@setlength{\belowdisplayshortskip}% + {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}% + \fi \setlength{\belowdisplayskip}{\abovedisplayskip}% - \setlength{\belowdisplayshortskip}{% - .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% \edef\small{% \noexpand\@setfontsize\noexpand\small {\the\@tempdima}{\the\@tempdimb}% @@ -1157,12 +1382,20 @@ }% \setlength{\@tempdima}{.83334\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% - \setlength{\abovedisplayskip}{% - \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% - \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\abovedisplayskip}{% + \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}% + \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}% + \setlength{\belowdisplayshortskip}{% + .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% + \else + \scr@setlength{\abovedisplayskip}% + {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}% + \scr@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}% + \scr@setlength{\belowdisplayshortskip}% + {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}% + \fi \setlength{\belowdisplayskip}{\abovedisplayskip}% - \setlength{\belowdisplayshortskip}{% - .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}% \edef\footnotesize{% \noexpand\@setfontsize\noexpand\footnotesize {\the\@tempdima}{\the\@tempdimb}% @@ -1215,29 +1448,37 @@ {\the\@tempdima}{\the\@tempdimb}% }% \normalsize - \setlength{\footnotesep}{.7\@tempdimc}% - \setlength{\skip\footins}{.9\@tempdimc \@plus .3333\@tempdimc \@minus - .6\@tempdimc}% - \setlength{\floatsep}{\@tempdimc \@plus .1667\@tempdimc \@minus - .3333\@tempdimc}% - \setlength{\textfloatsep}{1.6667\@tempdimc \@plus .1667\@tempdimc \@minus - .3333\@tempdimc}% - \setlength{\intextsep}{\@tempb\@tempdimc \@plus .3333\@tempdimc \@minus - .3333\@tempdimc}% - \setlength{\dblfloatsep}{\@tempb\@tempdimc \@plus .1667\@tempdimc \@minus - .3333\@tempdimc}% - \setlength{\dbltextfloatsep}{\textfloatsep}% - \setlength{\@fptop}{0\p@ \@plus 1fil}% - \setlength{\@fpsep}{.8333\@tempdimc \@plus 2fil}% - \setlength{\@fpbot}{\@fptop}% - \setlength{\@dblfptop}{0\p@ \@plus 1fil}% - \setlength{\@dblfpsep}{.8333\@tempdimc \@plus 2fil}% - \setlength{\@dblfpbot}{\@fptop}% - \setlength{\partopsep}{.25\@tempdimc \@plus .16667\@tempdimc \@minus - .16667\@tempdimc}% - \setlength{\topsep}{.8333\@tempdimc \@plus .3333\@tempdimc \@minus - .5\@tempdimc}% - \setlength{\parsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\footnotesep}{.7\@tempdimc}% + \setlength{\skip\footins}{.9\@tempdimc \@plus .3333\@tempdimc \@minus + .6\@tempdimc}% + \setlength{\floatsep}{\@tempdimc \@plus .1667\@tempdimc \@minus + .3333\@tempdimc}% + \setlength{\textfloatsep}{1.6667\@tempdimc \@plus .1667\@tempdimc \@minus + .3333\@tempdimc}% + \setlength{\intextsep}{\@tempb\@tempdimc \@plus .3333\@tempdimc \@minus + .3333\@tempdimc}% + \setlength{\dblfloatsep}{\@tempb\@tempdimc \@plus .1667\@tempdimc \@minus + .3333\@tempdimc}% + \setlength{\dbltextfloatsep}{\textfloatsep}% + \setlength{\@fptop}{0\p@ \@plus 1fil}% + \setlength{\@fpsep}{.8333\@tempdimc \@plus 2fil}% + \setlength{\@fpbot}{\@fptop}% + \setlength{\@dblfptop}{0\p@ \@plus 1fil}% + \setlength{\@dblfpsep}{.8333\@tempdimc \@plus 2fil}% + \setlength{\@dblfpbot}{\@fptop}% + \fi + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\topsep}{.8333\@tempdimc \@plus .3333\@tempdimc \@minus + .5\@tempdimc}% + \setlength{\parsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% + \else + \setlength{\@tempdimb}{\f@baselineskip}% + \scr@setlength{\parsep}% + {.3333\@tempdimb}{.1667\@tempdimb}{.0833\@tempdimb}% + \scr@setlength{\topsep}% + {.6667\@tempdimb}{.1667\@tempdimb}{.3333\@tempdimb}% + \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% @@ -1250,9 +1491,16 @@ \if@tempswa\noexpand\@list@extra\fi }% \let\@listI\@listi - \setlength{\topsep}{.75\@tempdimc \@plus .25\@tempdimc \@minus - .41667\@tempdimc}% - \setlength{\parsep}{.375\@tempdimc \@plus .16667\@tempdimc \@minus \p@}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\topsep}{.75\@tempdimc \@plus .25\@tempdimc \@minus + .41667\@tempdimc}% + \setlength{\parsep}{.375\@tempdimc \@plus .16667\@tempdimc \@minus \p@}% + \else + \scr@setlength{\parsep}% + {.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}% + \scr@setlength{\topsep}% + {.3333\@tempdimb}{.1667\@tempdimb}{.1667\@tempdimb}% + \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% @@ -1264,9 +1512,16 @@ \itemsep \parsep \if@tempswa\noexpand\@list@extra\fi }% - \setlength{\topsep}{.5\@tempdimc \@plus .16667\@tempdimc \@minus - .16667\@tempdimc}% - \setlength{\parsep}{.25\@tempdimc \@plus .16667\@tempdimc \@minus \p@}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\topsep}{.5\@tempdimc \@plus .16667\@tempdimc \@minus + .16667\@tempdimc}% + \setlength{\parsep}{.25\@tempdimc \@plus .16667\@tempdimc \@minus \p@}% + \else + \scr@setlength{\parsep}% + {.125\@tempdimb}{.0625\@tempdimb}{.0625\@tempdimb}% + \scr@setlength{\topsep}% + {.25\@tempdimb}{.125\@tempdimb}{.125\@tempdimb}% + \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% @@ -1278,8 +1533,15 @@ \itemsep \parsep \if@tempswa\noexpand\@list@extra\fi }% - \setlength{\topsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% - \setlength{\parsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\topsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% + \setlength{\parsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% + \else + \scr@setlength{\parsep}% + {.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}% + \scr@setlength{\topsep}% + {.3333\@tempdimb}{.1667\@tempdimb}{.0833\@tempdimb}% + \fi \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% @@ -1292,8 +1554,13 @@ \itemsep \parsep \if@tempswa\noexpand\@list@extra\fi }% - \setlength{\topsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% - \setlength{\parsep}{\p@ \@plus\z@ \@minus\p@}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\topsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% + \else + \scr@setlength{\topsep}% + {.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}% + \fi + \setlength{\partopsep}{\z@ \@plus\z@ \@minus\p@}% \@tempswafalse \begingroup \def\@list@extra{\aftergroup\@tempswatrue}% @@ -1303,7 +1570,7 @@ \labelwidth=\dimexpr \leftmargin-\labelsep \topsep \the\topsep \parsep \z@ - \partopsep \the\parsep + \partopsep \the\partopsep \itemsep \topsep \if@tempswa\noexpand\@list@extra\fi }% @@ -1313,7 +1580,7 @@ \csname @listiv\endcsname \endgroup \edef\@listiv{\leftmargin\leftmarginiv - \labelwidth=\dimexpr \leftmargin-\labelsep + \labelwidth=\dimexpr \leftmargin-\labelsep\relax \if@tempswa\noexpand\@list@extra\fi }% \@tempswafalse @@ -1322,7 +1589,7 @@ \csname @listv\endcsname \endgroup \edef\@listv{\leftmargin\leftmarginv - \labelwidth=\dimexpr \leftmargin-\labelsep + \labelwidth=\dimexpr \leftmargin-\labelsep\relax \if@tempswa\noexpand\@list@extra\fi }% \@tempswafalse @@ -1331,15 +1598,36 @@ \csname @listvi\endcsname \endgroup \edef\@listvi{\leftmargin\leftmarginvi - \labelwidth=\dimexpr \leftmargin-\labelsep + \labelwidth=\dimexpr \leftmargin-\labelsep\relax \if@tempswa\noexpand\@list@extra\fi }% \@listi - \setlength{\@tempdimb}{\@tempb\@tempdima}% - \setlength{\@tempdima}{\dimexpr \@tempdimb-\@tempdimc}% - \setlength\intextsep{\@tempdimb \@plus.2\@tempdima \@minus.2\@tempdima}% - \setlength\dblfloatsep\intextsep - \setlength\partopsep{.2\@tempdimc \@plus.1\@tempdimc \@minus.1\@tempdimc}% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax + \setlength{\@tempdimb}{\@tempb\@tempdima}% + \setlength{\@tempdima}{\dimexpr \@tempdimb-\@tempdimc}% + \setlength\intextsep{\@tempdimb \@plus.2\@tempdima \@minus.2\@tempdima}% + \setlength\dblfloatsep\intextsep + \setlength\partopsep{.2\@tempdimc \@plus.1\@tempdimc \@minus.1\@tempdimc}% + \else + \setlength{\@tempdimb}{\f@baselineskip}% + \setlength{\footnotesep}{.555\@tempdimb}% + \scr@setlength{\skip\footins}% + {.75\@tempdimb}{.3333\@tempdimb}{.1667\@tempdimb}% + \scr@setlength{\floatsep}% + {\@tempdimb}{.1667\@tempdimb}{.1667\@tempdimb}% + \scr@setlength{\textfloatsep}% + {1.6667\@tempdimb}{.1667\@tempdimb}{.3333\@tempdimb}% + \setlength{\intextsep}{\floatsep}% + \setlength{\dblfloatsep}{\floatsep}% + \setlength{\dbltextfloatsep}{\textfloatsep}% + \setlength{\@fptop}{\z@ \@plus 1fil}% + \setlength{\@fpsep}{.6667\@tempdimb \@plus 2fil}% + \setlength{\@fpbot}{\@fptop}% + \setlength{\@dblfptop}{\@fptop}% + \setlength{\@dblfpsep}{\@fpsep}% + \setlength{\@dblfpbot}{\@fptop}% + \scr@setlength{\partopsep}{.2\@tempdimb}{.1\@tempdimb}{.1\@tempdimb}% + \fi }% } \expandafter\@defaultunits\expandafter\@tempdima\@ptsize pt\relax\@nnil @@ -1365,23 +1653,61 @@ }% }% } -\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} -\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} -\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} -\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} -\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} -\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} -\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} -\DeclareOldFontCommand{\sfb}{\normalfont\sffamily\bfseries}{% +\newcommand*{\scr@DeclareOldFontCommand}[3]{% + \DeclareRobustCommand #1{\@fontswitch {% + \ClassWarning{\KOMAClassName}{% + Usage of deprecated font command `\string#1'!\MessageBreak + You should note, that in 1994 font command `\string#1' has\MessageBreak + been defined for compatiblitiy to Script 2.0 only.\MessageBreak + Now, after two decades of LaTeX2e and NFSS2, you\MessageBreak + shouldn't use such commands any longer and within\MessageBreak + KOMA-Script usage of `\string#1' is definitely deprecated.\MessageBreak + See `fntguide.pdf' for more information about\MessageBreak + recommended font commands.\MessageBreak + Note also, that KOMA-Script will remove the definition\MessageBreak + of `\string#1' anytime until release of about version 3.20.\MessageBreak + But for now, KOMA-Script will replace deprecated + `\string#1'\MessageBreak + by `\detokenize{#2}'% + }% + #2% + }{% + \ClassWarning{\KOMAClassName}{% + Usage of deprecated font command `\string#1'!\MessageBreak + You should note, that in 1994 font command `\string#1' has\MessageBreak + been defined for compatiblitiy to Script 2.0 only.\MessageBreak + Now, after two decades of LaTeX2e and NFSS2, you\MessageBreak + shouldn't use such commands any longer and within\MessageBreak + KOMA-Script usage of `\string#1' is definitely deprecated.\MessageBreak + See `fntguide.pdf' for more information about\MessageBreak + recommended font commands.\MessageBreak + Note also, that KOMA-Script will remove the definition\MessageBreak + of `\string#1' anytime until release of about version 3.20.\MessageBreak + But for now, KOMA-Script will replace deprecated + `\string#1'\MessageBreak + by `\detokenize{#3}'% + }% + #3% + }% + }% +} +\scr@DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +\scr@DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\scr@DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\scr@DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\scr@DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\scr@DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\scr@DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +\scr@DeclareOldFontCommand{\sfb}{\normalfont\sffamily\bfseries}{% \@nomath\sfb} \DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal} \DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal} -%%% From File: scrklang.dtx +%%% From File: $Id: scrkernel-language.dtx 1503 2013-11-06 11:44:59Z mjk $ \def\today{\ifcase\month\or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi \space\number\day, \number\year}% -%%% From File: scrktare.dtx +%%% From File: $Id: scrkernel-typearea.dtx 1512 2013-11-11 10:35:04Z mjk $ \let\@BCOR =\relax \let\@@BCOR =\relax \let\@DIV =\relax @@ -1392,7 +1718,40 @@ \let\x@@paper =\relax \let\scr@pti@nerr@r =\relax \RequirePackage{typearea}[\KOMAScriptVersion] -%%% From File: scrkpar.dtx +\if@scr@emulatestandardclasses + \ifnum\@lastdiv=\z@ + \setlength{\textwidth}{\dimexpr \paperwidth-2in\relax} + \ifdim \f@size\p@<10.5\p@ + \setlength{\@tempdimb}{345\p@} + \else\ifdim \f@size\p@<11.5\p@ + \setlength{\@tempdimb}{360\p@} + \else + \setlength{\@tempdimb}{390\p@} + \fi + \fi + \if@twocolumn + \ifdim\@textwidth>2\@tempdimb\relax + \setlength{\textwidth}{2\@tempdimb} + \fi + \else + \ifdim\textwidth>\@tempdimb + \setlength{\textwidth}{\@tempdimb} + \fi + \fi + \@settopoint\textwidth + \setlength{\@tempdima}{\dimexpr \paperheight-3.5in\relax} + \divide\@tempdima\baselineskip + \@tempcnta=\@tempdima + \setlength{\textheight}{\@tempcnta\baselineskip} + \addtolength{\textheight}{\topskip} + \edef\reserved@a{% + \noexpand\@areasetadvancedtrue + \noexpand\areaset[current]{\noexpand\textwidth}{\noexpand\textheight}% + \if@areasetadvanced\else\noexpand\@areasetadvancedfalse\fi + }\reserved@a + \fi +\fi +%%% From File: $Id: scrkernel-paragraphs.dtx 1380 2013-10-01 15:31:55Z mjk $ \setlength{\lineskip}{\p@} \setlength{\normallineskip}{\p@} \setlength{\columnsep}{10\p@} @@ -1520,7 +1879,7 @@ \@lowpenalty = 51 \@medpenalty =151 \@highpenalty =301 -%%% From File: scrktitl.dtx +%%% From File: $Id: scrkernel-title.dtx 1517 2013-11-21 13:02:39Z mjk $ \newcommand*{\@extratitle}{}% \newcommand{\extratitle}[1]{\gdef\@extratitle{% #1% @@ -1553,13 +1912,60 @@ \newcommand{\dedication}[1]{\gdef\@dedication{% #1% }}% -\newcommand*{\next@tpage}{\clearpage\thispagestyle{empty}}% +\newcommand*{\next@tpage}{% + \@thanks\global\let\@thanks\@empty + \clearpage + \csname titlepage@restore\endcsname + \thispagestyle{empty}% + \let\footnote\thanks + \setcounter{footnote}{0}% +} +\newcommand*{\next@tdpage}{% + \next@tpage\if@twoside \ifodd\value{page}\else\null\next@tpage\fi\fi +} \newcommand*\maketitle[1][1]{% + \expandafter\ifnum \csname scr@v@3.12\endcsname>\scr@compatibility\relax + \else + \def\and{% + \end{tabular}% + \hskip 1em \@plus.17fil% + \begin{tabular}[t]{c}% + }% + \fi \if@titlepage \begin{titlepage} \setcounter{page}{% #1% }% + \if@titlepageiscoverpage + \edef\titlepage@restore{% + \noexpand\endgroup + \noexpand\global\noexpand\@colht\the\@colht + \noexpand\global\noexpand\@colroom\the\@colroom + \noexpand\global\vsize\the\vsize + \noexpand\global\noexpand\@titlepageiscoverpagefalse + \noexpand\let\noexpand\titlepage@restore\noexpand\relax + }% + \begingroup + \topmargin=\dimexpr \coverpagetopmargin-1in\relax + \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax + \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax + \textwidth=\dimexpr + \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax + \textheight=\dimexpr + \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax + \headheight=0pt + \headsep=0pt + \footskip=\baselineskip + \@colht=\textheight + \@colroom=\textheight + \vsize=\textheight + \columnwidth=\textwidth + \hsize=\columnwidth + \linewidth=\hsize + \else + \let\titlepage@restore\relax + \fi \let\footnotesize\small \let\footnoterule\relax \let\footnote\thanks @@ -1567,53 +1973,69 @@ \let\@oldmakefnmark\@makefnmark \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark}% \ifx\@extratitle\@empty \else - \noindent\@extratitle\next@tpage\cleardoubleemptypage - \thispagestyle{empty}% + \noindent\@extratitle\next@tdpage \fi \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative \ifx\@titlehead\@empty \else \begin{minipage}[t]{\textwidth}% - \@titlehead + \usekomafont{titlehead}{\@titlehead\par}% \end{minipage}\par \fi \null\vfill \begin{center} \ifx\@subject\@empty \else - {\subject@font \@subject \par}% + {\usekomafont{subject}{\@subject\par}}% \vskip 3em \fi - {\titlefont\huge \@title\par}% + {\usekomafont{title}{\huge \@title\par}}% \vskip 1em - {\ifx\@subtitle\@empty\else\usekomafont{subtitle}\@subtitle\par\fi}% + {\ifx\@subtitle\@empty\else\usekomafont{subtitle}{\@subtitle\par}\fi}% \vskip 2em - {\Large \lineskip 0.75em - \begin{tabular}[t]{c} - \@author - \end{tabular}\par + {% + \usekomafont{author}{% + \lineskip 0.75em + \begin{tabular}[t]{c} + \@author + \end{tabular}\par + }% }% \vskip 1.5em - {\Large \@date \par}% + {\usekomafont{date}{\@date \par}}% \vskip \z@ \@plus3fill - {\Large \@publishers \par}% + {\usekomafont{publishers}{\@publishers \par}}% \vskip 3em \end{center}\par - \@thanks + \@thanks\let\@thanks\@empty \vfill\null - \if@twoside\next@tpage - \begin{minipage}[t]{\textwidth} - \@uppertitleback - \end{minipage}\par - \vfill - \begin{minipage}[b]{\textwidth} - \@lowertitleback - \end{minipage} + \if@twoside + \@tempswatrue + \expandafter\ifnum \@nameuse{scr@v@3.12}>\scr@compatibility\relax + \else + \ifx\@uppertitleback\@empty\ifx\@lowertitleback\@empty + \@tempswafalse + \fi\fi + \fi + \if@tempswa + \next@tpage + \begin{minipage}[t]{\textwidth} + \@uppertitleback + \end{minipage}\par + \vfill + \begin{minipage}[b]{\textwidth} + \@lowertitleback + \end{minipage}\par + \@thanks\let\@thanks\@empty + \fi \fi - \ifx\@dedication\@empty \else - \next@tpage\null\vfill - {\centering \Large \@dedication \par}% + \ifx\@dedication\@empty + \else + \next@tdpage\null\vfill + {\centering\usekomafont{dedication}{\@dedication \par}}% \vskip \z@ \@plus3fill - \if@twoside \next@tpage\cleardoubleemptypage \fi + \@thanks\let\@thanks\@empty + \cleardoubleemptypage \fi + \ifx\titlepage@restore\relax\else\clearpage\titlepage@restore\fi \end{titlepage} \else \par @@ -1627,92 +2049,115 @@ }% \fi \begingroup + \let\titlepage@restore\relax \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% \let\@oldmakefnmark\@makefnmark \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark} + \next@tdpage \if@twocolumn \ifnum \col@number=\@ne + \@makeextratitle + \next@tdpage \@maketitle \else + \ifx\@extratitle\@empty\else + \twocolumn[\@makeextratitle]\next@tdpage + \fi \twocolumn[\@maketitle]% \fi \else - \newpage - \global\@topnum\z@ + \@makeextratitle \@maketitle \fi \thispagestyle{\titlepagestyle}\@thanks \endgroup \fi \setcounter{footnote}{0}% - \let\thanks\relax - \let\maketitle\relax - \let\@maketitle\relax - \global\let\@thanks\@empty - \global\let\@author\@empty - \global\let\@date\@empty - \global\let\@title\@empty - \global\let\@subtitle\@empty - \global\let\@extratitle\@empty - \global\let\@titlehead\@empty - \global\let\@subject\@empty - \global\let\@publishers\@empty - \global\let\@uppertitleback\@empty - \global\let\@lowertitleback\@empty - \global\let\@dedication\@empty - \global\let\author\relax - \global\let\title\relax - \global\let\extratitle\relax - \global\let\titlehead\relax - \global\let\subject\relax - \global\let\publishers\relax - \global\let\uppertitleback\relax - \global\let\lowertitleback\relax - \global\let\dedication\relax - \global\let\date\relax + \expandafter\ifnum \csname scr@v@3.12\endcsname>\scr@compatibility\relax + \let\thanks\relax + \let\maketitle\relax + \let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\@subtitle\@empty + \global\let\@extratitle\@empty + \global\let\@titlehead\@empty + \global\let\@subject\@empty + \global\let\@publishers\@empty + \global\let\@uppertitleback\@empty + \global\let\@lowertitleback\@empty + \global\let\@dedication\@empty + \global\let\author\relax + \global\let\title\relax + \global\let\extratitle\relax + \global\let\titlehead\relax + \global\let\subject\relax + \global\let\publishers\relax + \global\let\uppertitleback\relax + \global\let\lowertitleback\relax + \global\let\dedication\relax + \global\let\date\relax + \fi \global\let\and\relax }% -\newcommand*{\@maketitle}{% - \clearpage - \let\footnote\thanks +\newcommand*{\@makeextratitle}{% + \next@tdpage \ifx\@extratitle\@empty \else - \noindent\@extratitle \next@tpage \if@twoside \null\next@tpage \fi + \noindent\@extratitle \next@tdpage \fi +} +\newcommand*{\@maketitle}{% + \next@tdpage + \global\@topnum=\z@ \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative \ifx\@titlehead\@empty \else \begin{minipage}[t]{\textwidth} - \@titlehead + \usekomafont{titlehead}{\@titlehead\par}% \end{minipage}\par \fi \null \vskip 2em% \begin{center}% \ifx\@subject\@empty \else - {\subject@font \@subject \par} + {\usekomafont{subject}{\@subject \par}}% \vskip 1.5em \fi - {\titlefont\huge \@title \par}% + {\usekomafont{title}{\huge \@title \par}}% \vskip .5em {\ifx\@subtitle\@empty\else\usekomafont{subtitle}\@subtitle\par\fi}% \vskip 1em - {\Large - \lineskip .5em% - \begin{tabular}[t]{c} - \@author - \end{tabular}\par + {% + \usekomafont{author}{% + \lineskip .5em% + \begin{tabular}[t]{c} + \@author + \end{tabular}\par + }% }% \vskip 1em% - {\Large \@date \par}% + {\usekomafont{date}{\@date \par}}% \vskip \z@ \@plus 1em - {\Large \@publishers \par} + {\usekomafont{publishers}{\@publishers \par}}% \ifx\@dedication\@empty \else \vskip 2em - {\Large \@dedication \par} + {\usekomafont{dedication}{\@dedication \par}}% \fi \end{center}% \par \vskip 2em }% +\newcommand*{\coverpagetopmargin}{% + \dimexpr \topmargin+1in\relax +} +\newcommand*{\coverpagebottommargin}{% + 2\dimexpr\coverpagetopmargin\relax +} +\newcommand*{\coverpageleftmargin}{% + \dimexpr \evensidemargin+1in\relax +} +\newcommand*{\coverpagerightmargin}{\coverpageleftmargin} \newenvironment{titlepage}{% \cleardoublepage \if@twocolumn @@ -1730,6 +2175,11 @@ \newcommand*\titlefont{\sectfont}% \newcommand*{\subject@font}{\normalfont\normalcolor\bfseries\Large}% \newkomafont{subtitle}{\usekomafont{title}\large}% +\newkomafont{titlehead}{}% +\newkomafont{author}{\Large} +\newkomafont{date}{\Large} +\newkomafont{publishers}{\Large} +\newkomafont{dedication}{\Large} \newcommand*{\scr@fnt@title}{\titlefont}% \newcommand*{\scr@fnt@subject}{\subject@font}% \newenvironment{abstract}{% @@ -1765,7 +2215,7 @@ \if@twocolumn\else\endquotation\fi \fi } -%%% From File: scrksect.dtx +%%% From File: $Id: scrkernel-sections.dtx 1552 2013-12-16 16:51:32Z mjk $ \newcommand*\appendix{\par% \setcounter{chapter}{0}% \setcounter{section}{0}% @@ -1774,6 +2224,20 @@ \csname appendixmore\endcsname } \newcommand*\chaptermark[1]{} +\newcommand*\addchapmark[1]{% + \begingroup + \expandafter\let\csname if@mainmatter\expandafter\endcsname + \csname iffalse\endcsname + \c@secnumdepth=\m@ne + \chaptermark{#1}% + \endgroup +} +\newcommand*\addsecmark[1]{% + \begingroup + \c@secnumdepth=\m@ne + \sectionmark{#1}% + \endgroup +} \newif\if@altsecnumformat\@altsecnumformatfalse \newif\if@autodot \renewcommand*{\@autodottrue}{\global\let\if@autodot\iftrue} @@ -1926,6 +2390,37 @@ \fi\fi} \newcommand*\autodot{\if@altsecnumformat.\fi} \setcounter{secnumdepth}{2} +\newcommand*{\partnumdepth}{% + \m@ne +} +\newcommand*{\chapternumdepth}{\z@} +\newcommand*{\sectionnumdepth}{\@ne} +\newcommand*{\subsectionnumdepth}{\tw@} +\newcommand*{\subsubsectionnumdepth}{\thr@@} +\newcommand*{\paragraphnumdepth}{4} +\newcommand*{\subparagraphnumdepth}{5} +\newcommand*{\ifnumbered}[1]{% + \scr@ifundefinedorrelax{#1numdepth}{% + \@secondoftwo + }{% + \expandafter\ifnum \@nameuse{#1numdepth}>\c@secnumdepth + \expandafter\@secondoftwo + \else + \expandafter\@firstoftwo + \fi + }% +} +\newcommand*{\ifunnumbered}[1]{% + \scr@ifundefinedorrelax{#1numdepth}{% + \@firstoftwo + }{% + \expandafter\ifnum \@nameuse{#1numdepth}>\c@secnumdepth + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + }% +} \newcounter{part} \renewcommand*{\thepart}{\@Roman\c@part} \newcommand*{\partformat}{\partname~\thepart\autodot} @@ -2029,26 +2524,26 @@ \setkeys{KOMAarg.section}{tocentry={#1},head={#1}}% \fi \fi - \ifnum \c@secnumdepth >-2\relax + \ifnumbered{part}{% \refstepcounter{part}% \@maybeautodot\thepart% \ifx\scr@ds@tocentry\@empty\else \addparttocentry{\thepart}{\scr@ds@tocentry}% \fi - \else + }{% \ifx\scr@ds@tocentry\@empty\else \addparttocentry{}{\scr@ds@tocentry}% \fi - \fi + }% \begingroup \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative \raggedpart \interlinepenalty \@M \normalfont\sectfont\nobreak - \ifnum \c@secnumdepth >-2\relax + \ifnumbered{part}{% \size@partnumber{\partformat}% \partheadmidvskip - \fi + }{}% \size@part{#2}\strut \ifx\partmark\@gobble \@mkboth{}{}\par @@ -2190,61 +2685,18 @@ \setkeys{KOMAarg.section}{tocentry={#1},head={#1}}% \fi \fi - \ifnum \c@secnumdepth >\m@ne + \ifnumbered{chapter}{% \refstepcounter{chapter}% \@maybeautodot\thechapter \typeout{\@chapapp\space\thechapter.}% \ifx\scr@ds@tocentry\@empty\else \addchaptertocentry{\thechapter}{\scr@ds@tocentry}% - \if@chaptertolists - \doforeachtocfile{% - \iftocfeature{\@currext}{chapteratlist}{% - \addcontentsline{\@currext}{chapteratlist}{% - \protect\numberline{\thechapter}\scr@ds@tocentry}% - }{}% - }% - \@ifundefined{float@addtolists}{}{% - \scr@float@addtolists@warning - \scr@ifundefinedorrelax{@currentHref}{% - \float@addtolists{% - \protect\contentsline{chapteratlist}{% - \protect\numberline{\thechapter}\scr@ds@tocentry}{\thepage}% - }% - }{% - \float@addtolists{% - \protect\contentsline{chapteratlist}{% - \protect\numberline{\thechapter}\scr@ds@tocentry}{\thepage}{% - \@currentHref}% - }% - }% - }% - \fi \fi - \else + }{% \ifx\scr@ds@tocentry\@empty\else \addchaptertocentry{}{\scr@ds@tocentry}% - \if@chaptertolists - \doforeachtocfile{% - \iftocfeature{\@currext}{chapteratlist}{% - \addcontentsline{\@currext}{chapteratlist}{\scr@ds@tocentry}% - }{}% - }% - \@ifundefined{float@addtolists}{}{% - \scr@float@addtolists@warning - \scr@ifundefinedorrelax{@currentHref}{% - \float@addtolists{% - \protect\contentsline{chapteratlist}{\scr@ds@tocentry}{\thepage}% - }% - }{% - \float@addtolists{% - \protect\contentsline{chapteratlist}{\scr@ds@tocentry}{\thepage}{% - \@currentHref}% - }% - }% - }% - \fi \fi - \fi + }% \expandafter\chaptermark\expandafter{\scr@ds@head}% \ifdim \@chapterlistsgap>\z@ \doforeachtocfile{% @@ -2282,7 +2734,8 @@ \else \let\@tempa\@hangfrom \fi - \@tempa{\ifnum \c@secnumdepth >\m@ne% + \@tempa{% + \ifnumbered{chapter}{% \if@chapterprefix \expandafter\size@chapterprefix \else @@ -2292,13 +2745,21 @@ \if@chapterprefix \size@chapterprefix{}\endgraf\nobreak\vskip.5\baselineskip \fi - \fi + }{}% }% {\raggedsection \interlinepenalty \@M \size@chapter{#1}\par}}% \nobreak\chapterheadendvskip } \newcommand*{\addchaptertocentry}[2]{% \addtocentrydefault{chapter}{#1}{#2}% + \if@chaptertolists + \doforeachtocfile{% + \iftocfeature{\@currext}{chapteratlist}{% + \addxcontentsline{\@currext}{chapteratlist}[{#1}]{#2}% + }{}% + }% + \@ifundefined{float@addtolists}{}{\scr@float@addtolists@warning}% + \fi } \newcommand*{\@schapter}[1]{% \if@twocolumn @@ -2354,26 +2815,6 @@ \@schapter{#2}% \ifx\scr@ds@tocentry\@empty\else \addchaptertocentry{}{\scr@ds@tocentry}% - \if@chaptertolists - \doforeachtocfile{% - \iftocfeature{\@currext}{chapteratlist}{% - \addcontentsline{\@currext}{chapteratlist}{\scr@ds@tocentry}% - }{}% - }% - \@ifundefined{float@addtolists}{}{% - \scr@float@addtolists@warning - \scr@ifundefinedorrelax{@currentHref}{% - \float@addtolists{% - \protect\contentsline{chapteratlist}{\scr@ds@tocentry}{\thepage}% - }% - }{% - \float@addtolists{% - \protect\contentsline{chapteratlist}{\scr@ds@tocentry}{\thepage}{% - \@currentHref}% - }% - }% - }% - \fi \fi \ifnum \@nameuse{scr@v@2.96}<\scr@compatibility\relax \ifdim \@chapterlistsgap>\z@ @@ -2388,15 +2829,9 @@ }% \fi \fi - \if@twoside - \expandafter\@mkboth\expandafter{% - \expandafter\MakeMarkcase\expandafter{\scr@ds@head}}{}% - \else - \expandafter\@mkboth\expandafter{\expandafter}\expandafter{% - \expandafter\MakeMarkcase\expandafter{\scr@ds@head}}% - \fi + \addchapmark{\scr@ds@head}% }% -\newcommand*{\@saddchap}[1]{\@schapter{#1}\@mkboth{}{}}% +\newcommand*{\@saddchap}[1]{\@schapter{#1}\addchapmark{}}% \newcommand*\addsec{\secdef\@addsec\@saddsec} \newcommand*{\@addsec}{} \def\@addsec[#1]#2{\section*{#2}% @@ -2421,14 +2856,9 @@ \ifx\scr@ds@tocentry\@empty\else \addsectiontocentry{}{\scr@ds@tocentry}% \fi - \if@twoside - \ifx\@mkboth\markboth - \expandafter\markright\expandafter{% - \expandafter\MakeMarkcase{\scr@ds@head}}% - \fi - \fi + \addsecmark{\scr@ds@head}% } -\newcommand*{\@saddsec}[1]{\section*{#1}\@mkboth{}{}} +\newcommand*{\@saddsec}[1]{\section*{#1}\addsecmark{}} \newcommand*{\addsectiontocentry}[2]{% \addtocentrydefault{section}{#1}{#2}% } @@ -2441,14 +2871,16 @@ \newcommand*{\addsubparagraphtocentry}[2]{% \addtocentrydefault{subparagraph}{#1}{#2}% } -\newcommand\section{\@startsection{section}{1}{\z@}% +\newcommand\section{% + \@startsection{section}{\sectionnumdepth}{\z@}% {-3.5ex \@plus -1ex \@minus -.2ex}% {2.3ex \@plus.2ex}% {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax \setlength{\parfillskip}{\z@ plus 1fil}\fi \raggedsection\normalfont\sectfont\nobreak\size@section}% } -\newcommand\subsection{\@startsection{subsection}{2}{\z@}% +\newcommand\subsection{% + \@startsection{subsection}{\subsectionnumdepth}{\z@}% {-3.25ex\@plus -1ex \@minus -.2ex}% {1.5ex \@plus .2ex}% {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax @@ -2456,7 +2888,8 @@ \raggedsection\normalfont\sectfont\nobreak\size@subsection }% } -\newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% +\newcommand\subsubsection{% + \@startsection{subsubsection}{\subsubsectionnumdepth}{\z@}% {-3.25ex\@plus -1ex \@minus -.2ex}% {1.5ex \@plus .2ex}% {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax @@ -2464,12 +2897,14 @@ \raggedsection\normalfont\sectfont\nobreak\size@subsubsection }% } -\newcommand\paragraph{\@startsection{paragraph}{4}{\z@}% +\newcommand\paragraph{% + \@startsection{paragraph}{\paragraphnumdepth}{\z@}% {3.25ex \@plus1ex \@minus.2ex}% {-1em}% {\raggedsection\normalfont\sectfont\nobreak\size@paragraph}% } -\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% +\newcommand\subparagraph{% + \@startsection{subparagraph}{\subparagraphnumdepth}{\parindent}% {3.25ex \@plus1ex \@minus .2ex}% {-1em}% {\raggedsection\normalfont\sectfont\nobreak\size@subparagraph}% @@ -2487,7 +2922,6 @@ \let\raggedsection\raggedright \newcommand*{\raggedpart}{} \let\raggedpart\centering -\newcommand*\sectfont{\normalcolor\sffamily\bfseries} \newkomafont{partentry}{\usekomafont{disposition}\large} \newkomafont{partentrypagenumber}{} \newkomafont{chapterentry}{\usekomafont{disposition}} @@ -2537,9 +2971,15 @@ \if \@tempa u% \set@preamble@vpos{0}{#2}% \fi% + \if \@tempa b% + \set@preamble@vpox{0}{#2}% + \fi \if \@tempa o% \set@preamble@vpos{1}{#2}% \fi% + \if \@tempa t% + \set@preamble@vpos{1}{#2}% + \fi }% \@ifundefined{prmbl@hpos}{\def\prmbl@hpos{0}}{}% \@ifundefined{prmbl@vpos}{\def\prmbl@vpos{0}}{}% @@ -2577,9 +3017,9 @@ \ClassError{\KOMAClassName}{% inconsistent hpos options% }{% - You said `#2' as position option. But you have + You've said `#2' as position option. But you have to\MessageBreak - use only one from `l', `r' or `c' not two of + use only one of `l', `r', or `c' not two of these.\MessageBreak If you'll continue only first hpos option will be used% @@ -2595,9 +3035,9 @@ \ClassError{\KOMAClassName}{% inconsistent vpos options% }{% - You said `#2' as position option. But you have + You've said `#2' as position option. But you have to\MessageBreak - use only one from `o' or `u' not two of + use only one of `t', `o', `b', or `u' not two of these.\MessageBreak If you'll continue only first vpos option will be used% @@ -2703,7 +3143,7 @@ \@dottedtocline{#1}{#2}{#3}{#4}{#5}% \fi } -%%% From File: scrkmisc.dtx +%%% From File: $Id: scrkernel-miscellaneous.dtx 1529 2013-12-03 07:36:57Z mjk $ \newif\if@restonecol \newcommand{\dictum}[2][]{\par% \begingroup @@ -2776,7 +3216,37 @@ \providecommand*{\@textsubscript}[1]{% {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}% } -%%% From File: scrkpage.dtx +\newcommand*{\scr@package@not@recommended}[2]{% + \BeforePackage{#1}{% + \ClassWarning{\KOMAClassName}{% + Usage of package `#1' together\MessageBreak + with a KOMA-Script class is not recommended.\MessageBreak + \if\relax\detokenize{#2}\relax\else + I'd suggest to use #2.\MessageBreak + \fi + Nevertheless, using requested\MessageBreak + package `#1'% + }% + }% +} +\scr@package@not@recommended{emptypage}{% + option\MessageBreak + `cleardoublepage' with one of it's\MessageBreak + several values} +\scr@package@not@recommended{parskip}{% + option\MessageBreak + `parskip' with one of it's several values} +\scr@package@not@recommended{fancyhdr}{% + \MessageBreak + package `scrpage2' or `scrlayer-scrpage'} +\scr@package@not@recommended{titlesec}{% + the package only\MessageBreak + if you really need it, because it breaks several\MessageBreak + KOMA-Script features, i.e., option `headings' and\MessageBreak + the extended optional argument of the section\MessageBreak + commands +} +%%% From File: $Id: scrkernel-pagestyles.dtx 1551 2013-12-16 14:02:13Z mjk $ \newcommand*{\set@tempdima@hw}{% \setlength{\@tempdima}{\textwidth}% \if@mincl @@ -2833,15 +3303,14 @@ \if@twoside\else\hfil\fi}}}}\hss}% \renewcommand*{\chaptermark}[1]{% \if@twoside\expandafter\markboth\else\expandafter\markright\fi - {\MakeMarkcase{\ifnum \c@secnumdepth >\m@ne + {\MakeMarkcase{\ifnumbered{chapter}{% \chaptermarkformat - \fi - ##1}}{}% + }{}##1}% + }{}% }% \renewcommand*{\sectionmark}[1]{% \if@twoside - \markright{\MakeMarkcase{\ifnum \c@secnumdepth >\z@ - \sectionmarkformat\fi + \markright{\MakeMarkcase{\ifnumbered{section}{\sectionmarkformat}{}% ##1}}% \fi }% @@ -2886,7 +3355,7 @@ \else \onecolumn \fi -%%% From File: scrkfloa.dtx +%%% From File: $Id: scrkernel-floats.dtx 1502 2013-11-06 11:00:12Z mjk $ \newcommand\marginline[1]{% \marginpar[\raggedleft{#1}]{\raggedright #1}% } @@ -3219,8 +3688,8 @@ \let\scr@tmp@footnotetext=\@footnotetext \let\@footnotetext=\@gobble \sbox\@tempboxa{% - {\capfont{\strut\ignorespaces - #1{{\caplabelfont{#2\captionformat}}}% + {\usekomafont{caption}{\strut\ignorespaces + #1{{\usekomafont{captionlabel}{#2\captionformat}}}% #3\unskip\strut}}% }% \let\@footnotetext=\scr@tmp@footnotetext @@ -3236,23 +3705,25 @@ \hb@xt@\hsize{% \setbox\@tempboxa\vbox{\hsize=\cap@width \ifdofullc@p - {\capfont{\@hangfrom{\scr@smashdp{\strut\ignorespaces - #1{{\caplabelfont{#2\captionformat}}}}}% + {\usekomafont{caption}{\@hangfrom{\scr@smashdp{\strut\ignorespaces + #1{{\usekomafont{captionlabel}{#2\captionformat}}}}}% {#3\unskip\strut\par}}}% \else% \ifdim\cap@indent<\z@ - {\capfont{\strut\ignorespaces - #1{{\caplabelfont{#2\captionformat\par}}}% + {\usekomafont{caption}{\strut\ignorespaces + #1{{\usekomafont{captionlabel}{#2\captionformat\par}}}% \noindent\hspace*{-\cap@indent}#3\unskip\strut\par}}% \else% \if@capbreak - {\capfont{\strut\ignorespaces - #1{{\caplabelfont{#2\captionformat\par}}}% + {\usekomafont{caption}{\strut\ignorespaces + #1{{\usekomafont{captionlabel}{#2\captionformat\par}}}% \noindent\@hangfrom{\hspace*{\cap@indent}}{#3\par}}}% \else - {\capfont{\@hangfrom{\scr@smashdp\strut\hspace*{\cap@indent}}% + {\usekomafont{caption}{% + \@hangfrom{\scr@smashdp\strut\hspace*{\cap@indent}}% {\hspace{-\cap@indent}\scr@smashdp{\ignorespaces#1% - {{\caplabelfont{#2\captionformat}}}}#3\unskip\strut\par}}}% + {{\usekomafont{captionlabel}{% + #2\captionformat}}}}#3\unskip\strut\par}}}% \fi \fi \fi @@ -3269,11 +3740,12 @@ \else \global \@minipagefalse \sbox\@tempboxa{% - {\capfont{\scr@smashdp{\strut\ignorespaces - #1{{\caplabelfont{#2\captionformat}}}}% + {\usekomafont{caption}{\scr@smashdp{\strut\ignorespaces + #1{{\usekomafont{captionlabel}{#2\captionformat}}}}% #3}}% }% - {\capfont{\hb@xt@\hsize{\strut\cap@left\box\@tempboxa\cap@right\strut}}}% + {\usesizeofkomafont{caption}{% + \hb@xt@\hsize{\strut\cap@left\box\@tempboxa\cap@right\strut}}}% \fi \endgroup } @@ -3393,14 +3865,14 @@ \newenvironment{figure}{% \if@figurecaptionabove\let\caption\captionabove \else\let\caption\captionbelow\fi - \let\caption\captionbelow\@float{figure}% + \@float{figure}% }{% \end@float } \newenvironment{figure*}{% \if@figurecaptionabove\let\caption\captionabove \else\let\caption\captionbelow\fi - \let\caption\captionbelow\@dblfloat{figure}% + \@dblfloat{figure}% }{% \end@dblfloat } @@ -3431,7 +3903,7 @@ }{% \end@dblfloat } -%%% From File: scrkftn.dtx +%%% From File: $Id: scrkernel-footnotes.dtx 1380 2013-10-01 15:31:55Z mjk $ \renewcommand*\footnoterule{% \normalsize\ftn@rule@test@values \kern-\dimexpr 2.6\p@+\ftn@rule@height\relax @@ -3569,7 +4041,7 @@ \endgroup \@footnotemark } -%%% From File: scrkliof.dtx +%%% From File: $Id: scrkernel-listsof.dtx 1522 2013-11-22 08:11:42Z mjk $ \doforeachtocfile[float]{% \setuptoc{\@currext}{chapteratlist}% } @@ -3578,12 +4050,14 @@ } \renewcommand*{\numberline}[1]{% \numberline@box{% - \numberline@prefix\numberline@numberformat{#1}\numberline@postfix + \numberline@prefix + \ifstr{#1}{}{#1}{\numberline@numberformat{#1}}% + \numberline@postfix }% } \newcommand*{\numberline@prefix}{} \newcommand*{\numberline@postfix}{\hfil} -\newcommand*{\numberline@numberformat}[1]{#1\autodot} +\newcommand*{\numberline@numberformat}[1]{\ifstr{#1}{}{}{#1\autodot}} \newcommand*{\numberline@box}[1]{\hb@xt@\@tempdima{#1}} \newcommand*\@pnumwidth{1.55em} \newcommand*\@tocrmarg {2.55em} @@ -3648,11 +4122,7 @@ \begingroup\let\if@dynlist\if@tocleft\listoftoc{toc}\endgroup } \newcommand{\addtocentrydefault}[3]{% - \ifstr{#2}{}{% - \addcontentsline{toc}{#1}{#3}% - }{% - \addcontentsline{toc}{#1}{\protect\numberline{#2}#3}% - }% + \tocbasic@addxcontentsline{toc}{#1}{#2}{#3}% } \newcommand*{\float@listhead}[1]{% \scr@float@listhead@warning @@ -3668,21 +4138,34 @@ } \newcommand*{\scr@float@listhead@warning}{% \ClassWarning{\KOMAClassName}{% - Usage of deprecated \string\float@listhead!\MessageBreak - You should use the features of package `tocbasic'\MessageBreak - instead of \string\float@listhead.\MessageBreak - Definition of \string\float@listhead\space my be removed from\MessageBreak - `\KOMAClassName' soon, so it should not be used + \string\float@listhead\space detected!\MessageBreak + Implementation of \string\float@listhead\space became\MessageBreak + deprecated in KOMA-Script v3.01 2008/11/14 and\MessageBreak + has been replaced by more several more flexible\MessageBreak + features of package `tocbasic`.\MessageBreak + Maybe implementation of \string\float@listhead\space will\MessageBreak + be removed from KOMA-Script soon.\MessageBreak + Loading of package `scrhack' may help to\MessageBreak + avoid this warning, if you are using a\MessageBreak + a package that still implements the\MessageBreak + deprecated \string\float@listhead\space interface }% } \newcommand*{\scr@float@addtolists@warning}{% \ClassWarningNoLine{\KOMAClassName}{% \string\float@addtolists\space detected!\MessageBreak - You should use the features of package `tocbasic'\MessageBreak - instead of \string\float@addtolists.\MessageBreak - Support for \string\float@addtolists\space may be removed - from\MessageBreak - `\KOMAClassName' soon + Implementation of \string\float@addtolist\space became\MessageBreak + deprecated in KOMA-Script v3.01 2008/11/14 and\MessageBreak + has been replaced by more several more flexible\MessageBreak + features of package `tocbasic`.\MessageBreak + Since Version 3.12 support for deprecated\MessageBreak + \string\float@addtolist\space interface has been\MessageBreak + restricted to only some of the KOMA-Script\MessageBreak + features and been removed from others.\MessageBreak + Loading of package `scrhack' may help to\MessageBreak + avoid this warning, if you are using a\MessageBreak + a package that still implements the\MessageBreak + deprecated \string\float@addtolist\space interface }% \global\let\scr@float@addtolists@warning\relax } @@ -3696,7 +4179,7 @@ \newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} \newcommand*\listoftables{\listoftoc{lot}} \let\l@table\l@figure -%%% From File: scrkbib.dtx +%%% From File: $Id: scrkernel-bibliography.dtx 1380 2013-10-01 15:31:55Z mjk $ \newcommand*\bibname{Bibliography} \newcommand*{\bibpreamble}{\relax} \let\bibpreamble\relax @@ -3781,13 +4264,15 @@ } \newcommand{\AfterBibliographyPreamble}{\g@addto@macro\bib@before@hook} \newcommand{\AtEndBibliography}{\g@addto@macro\bib@after@hook} -%%% From File: scrkidx.dtx +%%% From File: $Id: scrkernel-index.dtx 1380 2013-10-01 15:31:55Z mjk $ \newcommand*{\index@preamble}{} \let\index@preamble=\relax \newcommand{\setindexpreamble}[1]{\def\index@preamble{#1}} \newcommand*{\idx@heading}{% \if@openright\cleardoublepage\else\clearpage\fi% - \twocolumn[\idx@@heading{\indexname}]% + \twocolumn[% + \@chaptertolistsfalse + \idx@@heading{\indexname}]% \@mkboth{\MakeMarkcase{\indexname}}{\MakeMarkcase{\indexname}}% } \newenvironment{theindex}{% @@ -3814,7 +4299,7 @@ \par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax } \newcommand*\indexname{Index} -%%% From File: scrklist.dtx +%%% From File: $Id: scrkernel-listsandtabulars.dtx 1502 2013-11-06 11:00:12Z mjk $ \if@twocolumn \setlength{\leftmargini}{2em} \else @@ -3919,8 +4404,22 @@ \newenvironment{addmargin*}{% \@tempswafalse \if@twoside\ifthispageodd{}{\@tempswatrue}\fi + \edef\scr@addmargin@startpage{\csname tpo@\scr@tpo\endcsname}% \@addmargin }{% + \unskip\nobreak\ifthispageodd{}{}% + \expandafter\ifx\csname tpo@\scr@tpo\endcsname\scr@addmargin@startpage\else + \ClassWarning{\KOMAClassName}{% + page break inside `addmargin*' environment.\MessageBreak + A `addmargin*' environment starting on page + \scr@addmargin@startpage\MessageBreak + ends on page \csname tpo@\scr@tpo\endcsname.\MessageBreak + This will result in potential wrong margins on\MessageBreak + every other page.\MessageBreak + So maybe you should change the `addmargin*'\MessageBreak + environment, that ends% + }% + \fi \advance\@listdepth\@ne \endlist } @@ -3951,7 +4450,7 @@ \newcommand*{\scr@fnt@descriptionlabel}{\descfont} \newkomafont{labelinglabel}{} \newkomafont{labelingseparator}{} -%%% From File: scrlogo.dtx +%%% From File: $Id: scrlogo.dtx 1380 2013-10-01 15:31:55Z mjk $ \@ifundefined{KOMAScript}{% \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% M\kern.05em A\kern.1em-\kern.1em Script}}}{} diff --git a/Master/texmf-dist/tex/latex/koma-script/scrsize10pt.clo b/Master/texmf-dist/tex/latex/koma-script/scrsize10pt.clo index b51cc2cfd6e..3ecc4041cff 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrsize10pt.clo +++ b/Master/texmf-dist/tex/latex/koma-script/scrsize10pt.clo @@ -1,15 +1,14 @@ %% %% This is file `scrsize10pt.clo', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `clo,10pt') -%% scrkfont.dtx (with options: `clo,10pt') -%% scrkpar.dtx (with options: `clo,10pt') +%% scrkernel-version.dtx (with options: `clo,10pt') +%% scrkernel-fonts.dtx (with options: `clo,10pt') +%% scrkernel-paragraphs.dtx (with options: `clo,10pt') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -41,9 +40,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -63,9 +62,9 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup -%%% From File: scrkfont.dtx +%%% From File: $Id: scrkernel-fonts.dtx 1483 2013-10-31 15:12:30Z mjk $ \ProvidesFile{% scrsize10pt.clo% }[\KOMAScriptVersion\space font size class option % @@ -150,7 +149,7 @@ \def\@listvi {\leftmargin\leftmarginvi \labelwidth\leftmarginvi \advance\labelwidth-\labelsep} -%%% From File: scrkpar.dtx +%%% From File: $Id: scrkernel-paragraphs.dtx 1380 2013-10-01 15:31:55Z mjk $ \@ifundefined{@list@extra}{}{% \l@addto@macro{\@listi}{\@list@extra}% \let\@listI=\@listi diff --git a/Master/texmf-dist/tex/latex/koma-script/scrsize11pt.clo b/Master/texmf-dist/tex/latex/koma-script/scrsize11pt.clo index 257f0b597d2..b2503e2997d 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrsize11pt.clo +++ b/Master/texmf-dist/tex/latex/koma-script/scrsize11pt.clo @@ -1,15 +1,14 @@ %% %% This is file `scrsize11pt.clo', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `clo,11pt') -%% scrkfont.dtx (with options: `clo,11pt') -%% scrkpar.dtx (with options: `clo,11pt') +%% scrkernel-version.dtx (with options: `clo,11pt') +%% scrkernel-fonts.dtx (with options: `clo,11pt') +%% scrkernel-paragraphs.dtx (with options: `clo,11pt') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -41,9 +40,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -63,9 +62,9 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup -%%% From File: scrkfont.dtx +%%% From File: $Id: scrkernel-fonts.dtx 1483 2013-10-31 15:12:30Z mjk $ \ProvidesFile{% scrsize11pt.clo% }[\KOMAScriptVersion\space font size class option % @@ -150,7 +149,7 @@ \def\@listvi {\leftmargin\leftmarginvi \labelwidth\leftmarginvi \advance\labelwidth-\labelsep} -%%% From File: scrkpar.dtx +%%% From File: $Id: scrkernel-paragraphs.dtx 1380 2013-10-01 15:31:55Z mjk $ \@ifundefined{@list@extra}{}{% \l@addto@macro{\@listi}{\@list@extra}% \let\@listI=\@listi diff --git a/Master/texmf-dist/tex/latex/koma-script/scrsize12pt.clo b/Master/texmf-dist/tex/latex/koma-script/scrsize12pt.clo index 4828563d507..b049b3438de 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrsize12pt.clo +++ b/Master/texmf-dist/tex/latex/koma-script/scrsize12pt.clo @@ -1,15 +1,14 @@ %% %% This is file `scrsize12pt.clo', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `clo,12pt') -%% scrkfont.dtx (with options: `clo,12pt') -%% scrkpar.dtx (with options: `clo,12pt') +%% scrkernel-version.dtx (with options: `clo,12pt') +%% scrkernel-fonts.dtx (with options: `clo,12pt') +%% scrkernel-paragraphs.dtx (with options: `clo,12pt') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -41,9 +40,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -63,9 +62,9 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup -%%% From File: scrkfont.dtx +%%% From File: $Id: scrkernel-fonts.dtx 1483 2013-10-31 15:12:30Z mjk $ \ProvidesFile{% scrsize12pt.clo% }[\KOMAScriptVersion\space font size class option % @@ -150,7 +149,7 @@ \def\@listvi {\leftmargin\leftmarginvi \labelwidth\leftmarginvi \advance\labelwidth-\labelsep} -%%% From File: scrkpar.dtx +%%% From File: $Id: scrkernel-paragraphs.dtx 1380 2013-10-01 15:31:55Z mjk $ \@ifundefined{@list@extra}{}{% \l@addto@macro{\@listi}{\@list@extra}% \let\@listI=\@listi diff --git a/Master/texmf-dist/tex/latex/koma-script/scrtime.sty b/Master/texmf-dist/tex/latex/koma-script/scrtime.sty index 865a709066c..f0dcf27ebb3 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrtime.sty +++ b/Master/texmf-dist/tex/latex/koma-script/scrtime.sty @@ -1,18 +1,17 @@ %% %% This is file `scrtime.sty', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `package,scrtime') +%% scrkernel-version.dtx (with options: `package,scrtime') %% scrtime.dtx (with options: `package,scrtime,identify') -%% scrkbase.dtx (with options: `load') +%% scrkernel-basics.dtx (with options: `load') %% scrtime.dtx (with options: `package,scrtime,option') %% scrtime.dtx (with options: `package,scrtime,body') %% scrlogo.dtx (with options: `logo') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -44,9 +43,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -66,21 +65,22 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup -%%% From File: scrtime.dtx -\NeedsTeXFormat{LaTeX2e}[1995/12/01] +%%% From File: $Id: scrtime.dtx 1383 2013-10-01 15:44:28Z mjk $ +\NeedsTeXFormat{LaTeX2e}[1995/06/01] \ProvidesPackage{scrtime}[% - \KOMAScriptVersion\space package (% - time of LaTeX run)] -%%% From File: scrkbase.dtx + 2011/03/31 v3.08b KOMA-Script package + (time of LaTeX run)% +] +%%% From File: $Id: scrkernel-basics.dtx 1502 2013-11-06 11:00:12Z mjk $ \RequirePackage{scrkbase}[\KOMAScriptVersion] -%%% From File: scrtime.dtx +%%% From File: $Id: scrtime.dtx 1383 2013-10-01 15:44:28Z mjk $ \newif\if@Hxii \KOMA@ifkey{12h}{@Hxii} \KOMA@DeclareDeprecatedOption[scrtime]{24h}{12h=false} \KOMAProcessOptions\relax -%%% From File: scrtime.dtx +%%% From File: $Id: scrtime.dtx 1383 2013-10-01 15:44:28Z mjk $ \def\thistime{% \@ifstar {\let\@tempif\iffalse\@thistime} @@ -94,7 +94,7 @@ \the\@tempcnta{#1}\@tempif\ifnum\@tempcntb<10 0\fi\fi\the\@tempcntb% \endgroup} \newcommand*{\settime}[1]{\renewcommand*{\@thistime}[1][]{#1}} -%%% From File: scrlogo.dtx +%%% From File: $Id: scrlogo.dtx 1380 2013-10-01 15:31:55Z mjk $ \@ifundefined{KOMAScript}{% \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% M\kern.05em A\kern.1em-\kern.1em Script}}}{} diff --git a/Master/texmf-dist/tex/latex/koma-script/scrwfile.sty b/Master/texmf-dist/tex/latex/koma-script/scrwfile.sty index 177de6fea03..005d3113d67 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrwfile.sty +++ b/Master/texmf-dist/tex/latex/koma-script/scrwfile.sty @@ -7,7 +7,7 @@ %% scrwfile.dtx (with options: `package,trace,scrwfile,identify,option,body') %% scrlogo.dtx (with options: `logo') %% -%% Copyright (c) 2010-2012 by Markus Kohm <komascript(at)gmx.info> +%% Copyright (c) 2010-2013 by Markus Kohm <komascript(at)gmx.info> %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -44,10 +44,10 @@ %% EVERYTHING MAY CHANGE IN FUTURE! %% THERE IS NO SUPPORT, IF YOU USE THIS PACKAGE! %% -%%% From File: scrwfile.dtx +%%% From File: $Id: scrwfile.dtx 1562 2013-12-19 07:51:16Z mjk $ \NeedsTeXFormat{LaTeX2e}[1995/06/01] \ProvidesPackage{scrwfile} - [2012/03/05 v0.1d-alpha LaTeX2e KOMA-Script package (write and clone files)] + [2013/08/05 v0.1f-alpha LaTeX2e KOMA-Script package (write and clone files)] \PackageWarningNoLine{scrwfile}{% THIS IS AN ALPHA VERSION!\MessageBreak USAGE OF THIS VERSION IS ON YOUR OWN RISK!\MessageBreak @@ -143,8 +143,44 @@ \fi } \newcommand*{\scrwfile@saved@starttoc}{} -\let\scrwfile@saved@starttoc\@starttoc -\let\@starttoc\scrwfile@starttoc +\AtBeginDocument{% + \begingroup + \@ifpackageloaded{hyperref}{% + \scr@ifundefinedorrelax{Hy@AtBeginDocument}{% + \PackageWarning{scrwfile}{% + Incompatible `hyperref` package detected!\MessageBreak + You are using a `hyperref` version, that\MessageBreak + doesn't provide `\string\Hy@AtBeginDocument`.\MessageBreak + This may or may not work.\MessageBreak + Using immediate redefinition% + }% + \aftergroup\@firstofone + }{% + \def\reserved@a{\AtBeginDocument}% + \ifx\Hy@AtBeginDocumentHook\@undefined + \PackageInfo{scrwfile}{% + Using immediate redefinition% + }% + \aftergroup\@firstofone + \else + \PackageInfo{scrwfile}{% + Using `\string\Hy@AtBeginDocument`% + }% + \aftergroup\Hy@AtBeginDocument + \fi + }% + }{% + \aftergroup\@firstofone + }% + \endgroup + {% + \PackageInfo{scrwfile}{% + Extending `\string\@starttoc` + }% + \let\scrwfile@saved@starttoc\@starttoc + \let\@starttoc\scrwfile@starttoc + }% +} \newcommand*{\scrwfile@process@clones}[1]{% \scr@ifundefinedorrelax{scrwfile@clone@#1}{}{% \begingroup @@ -202,7 +238,7 @@ \iftocfeature{#2}{totoc}{\setuptoc{#3}{totoc}}{}% }% } -%%% From File: scrlogo.dtx +%%% From File: $Id: scrlogo.dtx 1380 2013-10-01 15:31:55Z mjk $ \@ifundefined{KOMAScript}{% \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% M\kern.05em A\kern.1em-\kern.1em Script}}}{} diff --git a/Master/texmf-dist/tex/latex/koma-script/tocbasic.sty b/Master/texmf-dist/tex/latex/koma-script/tocbasic.sty index 79e6fe43728..2a782c7d570 100644 --- a/Master/texmf-dist/tex/latex/koma-script/tocbasic.sty +++ b/Master/texmf-dist/tex/latex/koma-script/tocbasic.sty @@ -1,50 +1,51 @@ %% %% This is file `tocbasic.sty', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% %% tocbasic.dtx (with options: `package') %% scrlogo.dtx (with options: `logo') %% -%% Copyright (c) 2007-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 2008-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the 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. +%% It may be distributed under the conditions of the +%% LaTeX Project Public License in the version distributed together +%% with KOMA-Script, see file `lppl.txt' or `lppl-de.txt'. %% -%% This work has the LPPL maintenance status "author-maintained". +%% This file may only be distributed together with a copy of the +%% KOMA-Script bundle. You may however distribute the +%% KOMA-Script bundle without all such generated files. See also +%% `lppl.txt' or `lppl-de.txt' for additional information. %% -%% The Current Maintainer and author of this work is Markus Kohm. +%% The list of files belonging to KOMA-Script distribution is given in +%% the file `manifest.txt'. See also `lppl.txt' or `lppl-de.txt' for +%% additional information. %% -%% This file may only be distributed together with the files -%% `scrlogo.dtx' and `tocbasic.dtx'. You may however distribute the files -%% `scrlogo.dtx' and `tocbasic.dtx' without this file. -%% See also `tocbasic.dtx' for additional information. +%% If this file is a beta version, you may not be allowed to distribute +%% it. Look at the comments below to see if this is the case. %% -%% If this file is a beta version, you are not allowed to distribute it. +%% English and German manuals are part of KOMA-Script bundle. +%% ---------------------------------------------------------- %% -%% Currently there is only a short english manual at `tocbasic.dtx', that -%% should also be found as `tocbasic.pdf'. +%% See `README'. %% %% The KOMA-Script bundle (but maybe not this file) was based upon the -%% LaTeX2.09 Script family created by Frank Neukam 1993 and the LaTeX2e -%% standard classes created by The LaTeX3 Project 1994-1996. +%% LaTeX 2.09 Script family created by Frank Neukam 1993 and the LaTeX2e +%% standard classes created by The LaTeX3 Project 1994-1996. You may +%% find a complete unmodified copy of LaTeX2e at +%% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: tocbasic.dtx -\def\tocbasicversion{2012/04/04 v3.10b} -\NeedsTeXFormat{LaTeX2e}[1995/06/01] -\ProvidesPackage{tocbasic} - [\tocbasicversion\space KOMA-Script package - (handling toc-files)% - ] +%%% From File: $Id: tocbasic.dtx 1533 2013-12-10 18:06:14Z mjk $ +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{tocbasic}[% + 2013/12/19 v3.12 KOMA-Script + package + (handling toc-files)% +] \ProcessOptions\relax \RequirePackage{keyval} \newcommand*{\tb@listoftocs}{} @@ -225,6 +226,50 @@ \newcommand{\@@addcontentslinetoeachtocfile}[2]{% \doforeachtocfile{\addcontentsline{\@currext}{#1}{#2}}% } +\newcommand*{\addxcontentsline}[2]{% + \@ifnextchar [%] + {\@addxcontentsline{#1}{#2}}% + {\@addxcontentsline{#1}{#2}[]}% +} +\newcommand*{\@addxcontentsline}{} +\def\@addxcontentsline#1#2[#3]#4{% + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname add#2#1entry\endcsname\relax + \tocbasic@addxcontentsline{#1}{#2}{#3}{#4}% + \else + \@nameuse{add#2#1entry}{#3}{#4}% + \fi +} +\newcommand*{\nonumberline}{}% +\newcommand*{\tocbasic@addxcontentsline}[4]{% + \if\relax\detokenize{#3}\relax + \addcontentsline{#1}{#2}{\protect\nonumberline#4}% + \else + \addcontentsline{#1}{#2}{\protect\numberline{#3}#4}% + \fi +} +\newcommand{\addxcontentslinetoeachtocfile}{% + \@ifnextchar [%] + \@addxcontentslinetoeachtocfile\@@addxcontentslinetoeachtocfile +} +\newcommand{\@addxcontentslinetoeachtocfile}[2][]{% + \@ifnextchar [%] + {\@@@addxcontentslinetoeachtocfile[{#1}]{#2}}% + {\@@@addxcontentslinetoeachtocfile[{#1}]{#2}[]} +} +\newcommand*{\@@@addxcontentslinetoeachtocfile}{} +\def\@@@addxcontentslinetoeachtocfile[#1]#2[#3]#4{% + \doforeachtocfile[{#1}]{\addxcontentsline{\@currext}{#2}[#3]{#4}}% +} +\newcommand{\@@addxcontentslinetoeachtocfile}[1]{% + \@ifnextchar [%] + {\@@@@addxcontentslinetoeachtocfile{#1}}% + {\@@@@addxcontentslinetoeachtocfile{#1}[]}% +} +\newcommand*{\@@@@addxcontentslinetoeachtocfile}{} +\def\@@@@addxcontentslinetoeachtocfile#1[#2]#3{% + \doforeachtocfile{\addxcontentsline{\@currext}{#1}[{#2}]{#3}}% +} \newcommand*{\tocbasic@starttoc}[1]{% \begingroup \setlength{\parskip}{\z@}% @@ -291,6 +336,7 @@ \fi }% }{}% + \iftocfeature{\@currext}{numberline}{\def\nonumberline{\numberline{}}}{}% \tocbasic@listhead{#1}% \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname microtypesetup\endcsname\relax @@ -326,7 +372,7 @@ \subsection*{##1}% \ifx\@mkboth\@gobbletwo\else\markright{\MakeMarkcase{##1}}\fi \iftocfeature{\@currext}{totoc}{% - \addcontentsline{toc}{subsection}{##1}% + \addxcontentsline{toc}{subsection}{##1}% }{}% }% }{% @@ -336,7 +382,7 @@ \section*{##1}% \@mkboth{\MakeMarkcase{##1}}{\MakeMarkcase{##1}}% \iftocfeature{\@currext}{totoc}{% - \addcontentsline{toc}{section}{##1}% + \addxcontentsline{toc}{section}{##1}% }{}% }% }% @@ -349,7 +395,7 @@ }{% \section*{##1}% \iftocfeature{\@currext}{totoc}{% - \addcontentsline{toc}{section}{##1}% + \addxcontentsline{toc}{section}{##1}% }{}% \ifx\@mkboth\@gobbletwo\else\markright{\MakeMarkcase{##1}}\fi }% @@ -360,7 +406,7 @@ \chapter*{##1}% \@mkboth{\MakeMarkcase{##1}}{\MakeMarkcase{##1}}% \iftocfeature{\@currext}{totoc}{% - \addcontentsline{toc}{chapter}{##1}% + \addxcontentsline{toc}{chapter}{##1}% }{}% }% }% @@ -496,10 +542,10 @@ \tb@ifvalueisnotempty{floatpos}{#1}{\edef\tb@nt@floatpos{#1}}% } \define@key{tocbasic}{atbegin}{% - \tb@ifvalueisnotempty{atbegin}{#1}{\def\tb@nt@atbegin{#1}}% + \def\tb@nt@atbegin{#1}% } \define@key{tocbasic}{atend}{% - \tb@ifvalueisnotempty{atend}{#1}{\def\tb@nt@atend{#1}}% + \def\tb@nt@atend{#1}% } \newcommand*{\DeclareNewTOC}[2][]{% \tb@floatfalse @@ -549,6 +595,9 @@ \noexpand\@dottedtocline{\tb@nt@level}{\tb@nt@indent}{\tb@nt@hang}% }% }\@tempa + \@ifundefined{listof\tb@nt@ext entryname}{% + \expandafter\let\csname listof\tb@nt@ext entryname\endcsname\tb@nt@name + }{}% \begingroup\edef\@tempa{\endgroup \noexpand\newcommand*\csname setup\tb@nt@types\endcsname{% \noexpand\setuptoc{\tb@nt@ext}% @@ -557,17 +606,20 @@ \@tempswafalse \iftb@float \expandafter\newcommand\expandafter*\csname fps@\tb@nt@type\expandafter - \endcsname{\tb@nt@floatpos}% + \endcsname\expandafter{\tb@nt@floatpos}% \expandafter\newcommand\expandafter*\csname ftype@\tb@nt@type\expandafter - \endcsname{\tb@nt@floattype}% + \endcsname\expandafter{\tb@nt@floattype}% \begingroup \edef\@tempa{% \noexpand\endgroup \noexpand\newenvironment{\tb@nt@type}{% \noexpand\@ifnextchar[%] {\noexpand\tb@atbegin@after\noexpand\@float{\tb@nt@type}}% - {\noexpand\tb@atbegin@after\noexpand\@float{\tb@nt@type}% - [\expandafter\noexpand\csname fps@\tb@nt@type\endcsname]}% + {\noexpand\edef\noexpand\reserved@a{% + \noexpand\noexpand\noexpand\tb@atbegin@after + \noexpand\noexpand\noexpand\@float{\tb@nt@type}% + [\noexpand\csname fps@\tb@nt@type\noexpand\endcsname]}% + \noexpand\reserved@a}% }{% \noexpand\csname \tb@nt@type @atend\noexpand\endcsname \noexpand\end@float @@ -575,8 +627,11 @@ \noexpand\newenvironment{\tb@nt@type*}{% \noexpand\@ifnextchar[%] {\noexpand\tb@atbegin@after\noexpand\@dblfloat{\tb@nt@type}}% - {\noexpand\tb@atbegin@after\noexpand\@dblfloat{\tb@nt@type}% - [\expandafter\noexpand\csname fps@\tb@nt@type\endcsname]}% + {\noexpand\edef\noexpand\reserved@a{% + \noexpand\noexpand\noexpand\tb@atbegin@after + \noexpand\noexpand\noexpand\@dblfloat{\tb@nt@type}% + [\noexpand\csname fps@\tb@nt@type\noexpand\endcsname]}% + \noexpand\reserved@a}% }{% \noexpand\csname \tb@nt@type @atend\noexpand\endcsname \noexpand\end@dblfloat @@ -673,7 +728,7 @@ \@tempa } \newcommand*{\tb@nt@autofloattype}{16} -%%% From File: scrlogo.dtx +%%% From File: $Id: scrlogo.dtx 1380 2013-10-01 15:31:55Z mjk $ \@ifundefined{KOMAScript}{% \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% M\kern.05em A\kern.1em-\kern.1em Script}}}{} diff --git a/Master/texmf-dist/tex/latex/koma-script/tocstyle.sty b/Master/texmf-dist/tex/latex/koma-script/tocstyle.sty index 0ae8915dfde..a38fea1372a 100644 --- a/Master/texmf-dist/tex/latex/koma-script/tocstyle.sty +++ b/Master/texmf-dist/tex/latex/koma-script/tocstyle.sty @@ -7,7 +7,7 @@ %% tocstyle.dtx (with options: `package,trace,tocstyle') %% scrlogo.dtx (with options: `logo') %% -%% Copyright (c) 2007-2012 by Markus Kohm <komascript(at)gmx.info> +%% Copyright (c) 2007-2013 by Markus Kohm <komascript(at)gmx.info> %% %% Copyright (c) 1994-2007 %% Markus Kohm and any individual authors listed elsewhere in this file. @@ -47,10 +47,10 @@ %% EVERYTHING MAY CHANGE IN FUTURE! %% THERE IS NO SUPPORT, IF YOU USE THIS PACKAGE! %% -%%% From File: tocstyle.dtx +%%% From File: $Id: tocstyle.dtx 1562 2013-12-19 07:51:16Z mjk $ \NeedsTeXFormat{LaTeX2e}[1995/06/01] \ProvidesPackage{tocstyle} - [2009/11/09 v0.2d-alpha LaTeX2e KOMA-Script package (versatile toc styles)] + [2013/08/11 v0.2e-alpha LaTeX2e KOMA-Script package (versatile toc styles)] \PackageWarningNoLine{tocstyle}{% THIS IS AN ALPHA VERSION!\MessageBreak USAGE OF THIS VERSION IS ON YOUR OWN RISK!\MessageBreak @@ -748,12 +748,7 @@ \settocfeature[-1]{leaders}{\hfill}% \settocfeature[0]{entryvskip}{1em\@plus\p@}% \settocfeature[0]{leaders}{\hfill}% - \settocfeature[0]{entryhook}{% - \begingroup - \edef\@tempa{toc}% - \ifx\tocstyleAliasTOC\@tempa\aftergroup\bfseries\fi - \endgroup - }% + \settocfeature[0]{entryhook}{\bfseries} \iftochaschapter\else \settocfeature[1]{entryvskip}{1em\@plus\p@}% \settocfeature[1]{leaders}{\hfill}% @@ -766,27 +761,34 @@ \fi } \begingroup\expandafter\expandafter\expandafter\endgroup -\expandafter\ifx\csname sectfont\endcsname\relax +\expandafter\ifx\csname KOMAClassName\endcsname\relax \newtocstyle{KOMAlike}{% \settocfeature{dothook}{\normalfont}% \settocfeature[-1]{entryhook}{\sffamily\bfseries}% \settocfeature[-1]{entryvskip}{2.25em\@plus\p@}% \settocfeature[-1]{leaders}{\hfill}% + \settocfeature[-1]{pagenumberhook}{\sffamily\bfseries}% \settocfeature[0]{entryvskip}{1em\@plus\p@}% \settocfeature[0]{leaders}{\hfill}% - \settocfeature[0]{entryhook}{% - \begingroup - \edef\@tempa{toc}% - \ifx\tocstyleAliasTOC\@tempa\aftergroup\sffamily\bfseries\fi - \endgroup - }% + \settocfeature[0]{entryhook}{\sffamily\bfseries} + \settocfeature[0]{pagenumberhook}{\sffamily\bfseries}% \iftochaschapter\else \settocfeature[1]{entryvskip}{1em\@plus\p@}% \settocfeature[1]{leaders}{\hfill}% \settocfeature[1]{entryhook}{% \begingroup \edef\@tempa{toc}% - \ifx\tocstyleAliasTOC\@tempa\aftergroup\sffamily\bfseries\fi + \ifx\tocstyleAliasTOC\@tempa + \aftergroup\sffamily\aftergroup\bfseries + \fi + \endgroup + }% + \settocfeature[1]{pagenumberhook}{% + \begingroup + \edef\@tempa{toc}% + \ifx\tocstyleAliasTOC\@tempa + \aftergroup\sffamily\aftergroup\bfseries + \fi \endgroup }% \fi @@ -794,31 +796,47 @@ \else \newtocstyle{KOMAlike}{% \settocfeature{dothook}{\normalfont}% - \settocfeature[-1]{entryhook}{\sectfont}% + \settocfeature[-1]{entryhook}{\usekomafont{partentry}}% \settocfeature[-1]{entryvskip}{2.25em\@plus\p@}% \settocfeature[-1]{leaders}{\hfill}% + \settocfeature[-1]{pagenumberhook}{\usekomafont{partentrypagenumber}}% \settocfeature[0]{entryvskip}{1em\@plus\p@}% \settocfeature[0]{leaders}{\hfill}% - \settocfeature[0]{entryhook}{% - \begingroup - \edef\@tempa{toc}% - \ifx\tocstyleAliasTOC\@tempa\aftergroup\sectfont\fi - \endgroup - }% + \settocfeature[0]{entryhook}{\usekomafont{chapterentry}}% + \settocfeature[0]{pagenumberhook}{\usekomafont{chapterentrypagenumber}}% \iftochaschapter\else \settocfeature[1]{entryvskip}{1em\@plus\p@}% \settocfeature[1]{leaders}{\hfill}% \settocfeature[1]{entryhook}{% \begingroup \edef\@tempa{toc}% - \ifx\tocstyleAliasTOC\@tempa\aftergroup\sectfont\fi - \endgroup + \ifx\tocstyleAliasTOC\@tempa + \def\@tempa{\endgroup\usekomafont{sectionentry}}% + \else + \let\@tempa\endgroup + \fi + \@tempa + }% + \settocfeature[1]{pagenumberhook}{% + \begingroup + \edef\@tempa{toc}% + \ifx\tocstyleAliasTOC\@tempa + \def\@tempa{\endgroup\usekomafont{sectionentrypagenumber}}% + \else + \let\@tempa\endgroup + \fi + \@tempa }% \fi } \fi \newcommand*{\tocstyle@deprecated@style@KOMAScript}{KOMAlike}% \newtocstyle[KOMAlike]{classic}{% + \settocfeature[-1]{pagenumberhook}{\normalfont\normalcolor}% + \settocfeature[0]{pagenumberhook}{\normalfont\normalcolor}% + \iftochaschapter\else + \settocfeature[1]{pagenumberhook}{\normalfont\normalcolor}% + \fi \settocfeature{pagenumberhook}{\normalfont\normalcolor}% \settocfeature{raggedhook}{\raggedright}% } @@ -836,7 +854,7 @@ }{% \PackageInfo{tocstyle}{no tocstyle.cfg found}% } -%%% From File: scrlogo.dtx +%%% From File: $Id: scrlogo.dtx 1380 2013-10-01 15:31:55Z mjk $ \@ifundefined{KOMAScript}{% \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% M\kern.05em A\kern.1em-\kern.1em Script}}}{} diff --git a/Master/texmf-dist/tex/latex/koma-script/typearea.sty b/Master/texmf-dist/tex/latex/koma-script/typearea.sty index 8d50c5beb73..836273a82af 100644 --- a/Master/texmf-dist/tex/latex/koma-script/typearea.sty +++ b/Master/texmf-dist/tex/latex/koma-script/typearea.sty @@ -1,20 +1,19 @@ %% %% This is file `typearea.sty', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `package,typearea') -%% scrktare.dtx (with options: `package,identify') -%% scrkbase.dtx (with options: `load') -%% scrktare.dtx (with options: `package,option') -%% scrkcomp.dtx (with options: `package,typearea,option') -%% scrktare.dtx (with options: `package,body') -%% scrkcomp.dtx (with options: `package,typearea,body') +%% scrkernel-version.dtx (with options: `package,typearea') +%% scrkernel-typearea.dtx (with options: `package,identify') +%% scrkernel-basics.dtx (with options: `load') +%% scrkernel-typearea.dtx (with options: `package,option') +%% scrkernel-compatibility.dtx (with options: `package,typearea,option') +%% scrkernel-typearea.dtx (with options: `package,body') +%% scrkernel-compatibility.dtx (with options: `package,typearea,body') %% scrlogo.dtx (with options: `logo') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -46,9 +45,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -68,11 +67,13 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup -%%% From File: scrktare.dtx +%%% From File: $Id: scrkernel-typearea.dtx 1512 2013-11-11 10:35:04Z mjk $ +\NeedsTeXFormat{LaTeX2e}[1995/06/01] \ProvidesPackage{typearea}[% - \KOMAScriptVersion\space package (type area)] + 2013/12/19 v3.12 KOMA-Script + package (type area)] \typeout{% Package typearea, \csname ver@typearea.sty\endcsname^^J% \@spaces\@spaces\@spaces\@spaces\space\space @@ -80,9 +81,9 @@ \@spaces\@spaces\@spaces\@spaces\space\space Copyright (C) Markus Kohm, 1994-^^J% } -%%% From File: scrkbase.dtx +%%% From File: $Id: scrkernel-basics.dtx 1502 2013-11-06 11:00:12Z mjk $ \RequirePackage{scrkbase}[\KOMAScriptVersion] -%%% From File: scrktare.dtx +%%% From File: $Id: scrkernel-typearea.dtx 1512 2013-11-11 10:35:04Z mjk $ \newcommand*\SetDIVList[1]{\def\ta@divlist{{}{}{}{}{}{}{}{}{}#1}} \newcommand*\SetXDIVList[1]{\def\ta@divlist{#1}} \newlength{\ta@bcor} @@ -226,12 +227,28 @@ \setlength{\@tempdima}{#1\baselineskip}% \endgroup \def\ta@hh{#1\baselineskip}% + \FamilyKeyStateProcessed +} +\KOMA@key{footlines}{% + \begingroup + \setlength{\@tempdima}{#1\baselineskip}% + \endgroup + \def\ta@fh{#1\baselineskip}% + \FamilyKeyStateProcessed } \KOMA@key{headheight}{% \begingroup \setlength{\@tempdima}{#1}% \endgroup \def\ta@hh{#1}% + \FamilyKeyStateProcessed +} +\KOMA@key{footheight}{% + \begingroup + \setlength{\@tempdima}{#1}% + \endgroup + \def\ta@fh{#1}% + \FamilyKeyStateProcessed } \newif\if@hincl\@ifundefined{if@hsl}{}{\let\if@hincl\if@hsl} \KOMA@ifkey{headinclude}{@hincl} @@ -245,20 +262,22 @@ \edef\@tempa{#1}\edef\@tempb{current}\ifx\@tempa\@tempb\else \setlength{\ta@bcor}{#1}% \fi + \FamilyKeyStateProcessed } \AtEndOfPackage{\KOMA@key{BCOR}{\typearea[{#1}]{last}}} \KOMA@key{DIV}[calc]{% \edef\@tempa{#1}% \def\@tempb{last}\ifx\@tempa\@tempb\let\@tempa=\@lastdiv\fi \def\@tempb{current}\ifx\@tempa\@tempb\else - \def\@tempb{default}\ifx\@tempa\@tempb\ta@div=0 \else - \def\@tempb{calc}\ifx\@tempa\@tempb\ta@div=2 \else - \def\@tempb{classic}\ifx\@tempa\@tempb\ta@div=3 \else + \def\@tempb{default}\ifx\@tempa\@tempb\ta@div=\z@ \else + \def\@tempb{calc}\ifx\@tempa\@tempb\ta@div=\tw@ \else + \def\@tempb{classic}\ifx\@tempa\@tempb\ta@div=\thr@@ \else \ta@div=\@tempa \fi \fi \fi \fi + \FamilyKeyStateProcessed } \AtEndOfPackage{\KOMA@key{DIV}{\typearea[current]{#1}}} \KOMA@DeclareDeprecatedOption[typearea]{DIVcalc}{DIV=calc} @@ -272,6 +291,7 @@ \ifstr{#1}{semi}{% \@twosidetrue \@semitwosidetrue + \FamilyKeyStateProcessed }{% \def\FamilyElseValue{, `semi'}% \KOMA@set@ifkey{twoside}{@twoside}{#1}% @@ -293,7 +313,9 @@ \KOMA@key{twocolumn}[true]{% \if@atdocument\clearpage\fi \KOMA@set@ifkey{twocolumn}{@twocolumn}{#1}% - \csname recalctypearea\endcsname + \ifx\FamilyKeyState\FammilyKeyStateProcessed + \csname recalctypearea\endcsname + \fi } \KOMA@DeclareStandardOption% [typearea]% @@ -304,26 +326,32 @@ {off}{-1},{no}{-1},{false}{-1},% {auto}{0},{automedia}{1},{dvips}{2},{pdftex}{3},{dvipdfmx}{4}% }{#1}% - \ifcase\number\@tempa\relax - \endgroup - \set@pdftexpagesize - \set@dvipspagesize - \or - \endgroup - \set@pdftexpagesize - \set@vtexpagesize - \set@dvipspagesize - \or - \endgroup - \set@dvipspagesize - \or - \endgroup - \set@pdftexpagesize - \or - \endgroup - \set@dvipdfmxpagesize + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \aftergroup\FamilyKeyStateProcessed + \ifcase\number\@tempa\relax + \endgroup + \set@pdftexpagesize + \set@dvipspagesize + \or + \endgroup + \set@pdftexpagesize + \set@vtexpagesize + \set@dvipspagesize + \or + \endgroup + \set@dvipspagesize + \or + \endgroup + \set@pdftexpagesize + \or + \endgroup + \set@dvipdfmxpagesize + \fi + \edef\@pagesizelast{#1}% + \else + \endgroup + \FamilyKeyStateUnknownValue \fi - \edef\@pagesizelast{#1}% } \newcommand{\set@pdftexpagesize}{% \AtBeginDocument{% @@ -336,7 +364,10 @@ \begingroup \@tempswafalse \scr@ifdvioutput{\@tempswatrue}{% - \ifnotundefined{if@dvips}{\let\if@tempswa\if@dvips}{}% + \ifnotundefined{if@dvips}{% + \expandafter\let\csname if@tempswa\expandafter\endcsname + \csname if@dvips\endcsname + }{}% }% \if@tempswa \endgroup @@ -382,15 +413,17 @@ \let\set@vtexpagesize=\@empty } \newcommand*{\scr@updatedvipspagesize}{% - \special{ps::\@percentchar\@percentchar - PageBoundingBox: 0 0 \the\numexpr\paperwidth/\dimexpr 1bp\relax\relax - \space \the\numexpr\paperheight/\dimexpr 1bp\relax\relax^^J% - \@percentchar\@percentchar BeginPageSetup^^J% - << /PageSize [\the\numexpr\paperwidth/\dimexpr 1bp\relax\relax\space - \the\numexpr\paperheight/\dimexpr 1bp\relax\relax] - >> setpagedevice^^J%<< - 0 0 bop^^J% - \@percentchar\@percentchar EndPageSetup}% + \scr@ifundefinedorrelax{XeTeXversion}{% + \special{ps::\@percentchar\@percentchar + PageBoundingBox: 0 0 \the\numexpr\paperwidth/\dimexpr 1bp\relax\relax + \space \the\numexpr\paperheight/\dimexpr 1bp\relax\relax^^J% + \@percentchar\@percentchar BeginPageSetup^^J% + << /PageSize [\the\numexpr\paperwidth/\dimexpr 1bp\relax\relax\space + \the\numexpr\paperheight/\dimexpr 1bp\relax\relax] + >> setpagedevice^^J%<< + 0 0 bop^^J% + \@percentchar\@percentchar EndPageSetup}% + }{}% } \AtBeginDocument{% \renewcommand*{\set@pdftexpagesize}{% @@ -399,35 +432,52 @@ }% \ifnum \scr@compatibility>\@nameuse{scr@v@3.02b}\relax \renewcommand*{\set@dvipspagesize}{% - \scr@ifundefinedorrelax{AtNextShipout}{% - \scr@ifundefinedorrelax{AtBeginShipoutNext}{% - \begingroup - \protected@edef\reserved@a{\endgroup - \scr@updatedvipspagesize}\reserved@a - }{% - \begingroup - \protected@edef\reserved@a{\endgroup - \protect\AtBeginShipoutNext{% - \protect\bgroup - \protect\global\protect\setbox\AtBeginShipoutBox\protect\vbox{% - \scr@updatedvipspagesize - \protect\box\AtBeginShipoutBox - }% - \protect\egroup - }}\reserved@a + \begingroup + \@tempswafalse + \scr@ifdvioutput{\@tempswatrue}{% + \ifnotundefined{if@dvips}{% + \expandafter\let\csname if@tempswa\expandafter\endcsname + \csname if@dvips\endcsname + }{}% }% - }{% - \begingroup - \protected@edef\reserved@a{\endgroup - \protect\AtNextShipout{% - \protect\bgroup - \protect\global\protect\setbox\protect\@cclv\protect\vbox{% - \scr@updatedvipspagesize - \protect\box\protect\@cclv - }% - \protect\egroup - }}\reserved@a - }% + \if@tempswa + \endgroup + \scr@ifundefinedorrelax{AtNextShipout}{% + \scr@ifundefinedorrelax{AtBeginShipoutNext}{% + \begingroup + \protected@edef\reserved@a{\endgroup + \scr@updatedvipspagesize}% + \reserved@a + }{% + \begingroup + \protected@edef\reserved@a{\endgroup + \protect\AtBeginShipoutNext{% + \protect\bgroup + \protect\global\protect\setbox\AtBeginShipoutBox + \protect\vbox{% + \scr@updatedvipspagesize + \protect\box\AtBeginShipoutBox + }% + \protect\egroup + }}% + \reserved@a + }% + }{% + \begingroup + \protected@edef\reserved@a{\endgroup + \protect\AtNextShipout{% + \protect\bgroup + \protect\global\protect\setbox\protect\@cclv\protect\vbox{% + \scr@updatedvipspagesize + \protect\box\protect\@cclv + }% + \protect\egroup + }}% + \reserved@a + }% + \else + \endgroup + \fi }% \else \let\set@dvipspagesize=\setnot@dvipspagesize @@ -465,6 +515,7 @@ \setlength{\paperheight}{\@tempdima}% \@landscapetrue \fi + \FamilyKeyStateProcessed }{% \ifstr{#1}{landscape}{% \@seascapefalse @@ -474,6 +525,7 @@ \setlength{\paperheight}{\@tempdima}% \@landscapetrue \fi + \FamilyKeyStateProcessed }{% \ifstr{#1}{portrait}{% \if@landscape @@ -482,6 +534,7 @@ \setlength{\paperheight}{\@tempdima}% \@landscapefalse \fi + \FamilyKeyStateProcessed }{% \ifstr{#1}{letter}{% \if@landscape @@ -491,6 +544,7 @@ \setlength\paperheight{11in}% \setlength\paperwidth {8.5in}% \fi + \FamilyKeyStateProcessed }{% \ifstr{#1}{legal}{% \if@landscape @@ -500,6 +554,7 @@ \setlength\paperheight{14in}% \setlength\paperwidth {8.5in}% \fi + \FamilyKeyStateProcessed }{% \ifstr{#1}{executive}{% \if@landscape @@ -509,9 +564,12 @@ \setlength\paperheight{10.5in}% \setlength\paperwidth {7.25in}% \fi + \FamilyKeyStateProcessed }{% \iso@paper{#1}% - \if@tempswa\else + \if@tempswa + \FamilyKeyStateProcessed + \else \expandafter\maybe@pair#1::\@nil \if@tempswa \ifnum \scr@ta@compatibility<\@nameuse{scr@v@3.01b}\relax @@ -528,6 +586,7 @@ \setlength\paperwidth{\@tempa}% \setlength\paperheight{\@tempb}% \fi + \FamilyKeyStateProcessed \else \KOMA@unknown@keyval{paper}{#1}{% `letter', `legal', `executive', `a'<nr>, `b'<nr>, @@ -554,7 +613,7 @@ } \DeclareOption*{% \x@paper} -%%% From File: scrkcomp.dtx +%%% From File: $Id: scrkernel-compatibility.dtx 1512 2013-11-11 10:35:04Z mjk $ \providecommand* {\scr@compatibility}{\scr@v@last} \newcommand*{\scr@ta@compatibility}{\scr@compatibility} @@ -573,6 +632,7 @@ Switching compatibility level to `#1'% }% \edef\scr@ta@compatibility{\@nameuse{scr@v@#1}}% + \FamilyKeyStateProcessed }% } \AtEndOfPackage{% @@ -586,6 +646,7 @@ package.\MessageBreak But you've tried to set it up later.% }% + \FamilyKeyStateProcessed }% } \@namedef{scr@v@first}{0} @@ -635,8 +696,9 @@ \@namedef{scr@v@3.11}{10} \@namedef{scr@v@3.11a}{10} \@namedef{scr@v@3.11b}{10} -\@namedef{scr@v@last}{10} -%%% From File: scrktare.dtx +\@namedef{scr@v@3.12}{11} +\@namedef{scr@v@last}{11} +%%% From File: $Id: scrkernel-typearea.dtx 1512 2013-11-11 10:35:04Z mjk $ \InputIfFileExists{typearea.cfg}{% \typeout{% ***************************************^^J% @@ -644,7 +706,8 @@ ***************************************% } }{} -\KOMAExecuteOptions{paper=A4} +\providecommand*{\defaultpapersize}{A4} +\KOMAExecuteOptions{paper=\defaultpapersize} \if@twoside \if@semitwoside \KOMAExecuteOptions{twoside=semi} @@ -685,7 +748,11 @@ \if@semitwoside \advance\oddsidemargin by1.5\ta@hblk \advance\oddsidemargin by\ta@bcor - \evensidemargin=\oddsidemargin + \ifnum \scr@compatibility<\@nameuse{scr@v@3.12}\relax + \evensidemargin=\oddsidemargin + \else + \advance\evensidemargin by1.5\ta@hblk + \fi \else \advance\oddsidemargin by\ta@hblk \advance\oddsidemargin by\ta@bcor @@ -812,7 +879,9 @@ \fi \hsize=\columnwidth \linewidth\hsize - \scr@ifundefinedorrelax{@pagesizelast}{}{\KOMAoptions{pagesize=\@pagesizelast}}% + \scr@ifundefinedorrelax{@pagesizelast}{}{% + \KOMAoptions{pagesize=\@pagesizelast}% + }% \fi } \newcommand*{\scr@grouplevel@test}[1]{% @@ -871,7 +940,7 @@ DIV values. Using DIV calculation for good line\MessageBreak width% }% - \ta@div=2 + \ta@div=\tw@ \else \xdef\@tempa{\ta@divlist{}}% \@tempdima=#1pt @@ -923,9 +992,9 @@ \areaset[current]{\textwidth}{\textheight}% \else \def\@tempb{current}\ifx\@tempa\@tempb\else - \def\@tempb{default}\ifx\@tempa\@tempb\ta@div=0 \else - \def\@tempb{calc}\ifx\@tempa\@tempb\ta@div=2 \else - \def\@tempb{classic}\ifx\@tempa\@tempb\ta@div=3 \else + \def\@tempb{default}\ifx\@tempa\@tempb\ta@div=\z@ \else + \def\@tempb{calc}\ifx\@tempa\@tempb\ta@div=\tw@ \else + \def\@tempb{classic}\ifx\@tempa\@tempb\ta@div=\thr@@ \else \ta@div=\@tempa \fi \fi @@ -940,7 +1009,15 @@ \headheight=\ta@hh }% \headsep=1.5\baselineskip - \footskip=3.5\baselineskip + \@ifundefined{footheight}{% + \newlength\footheight + }{}% + \@ifundefined{ta@fh}{% + \footheight=1.25\baselineskip + }{% + \footheight=\ta@fh + }% + \footskip=\dimexpr\footheight+2.25\baselineskip \marginparsep=1cc \marginparpush=0.45\baselineskip \ifnum\ta@div=\z@ @@ -1075,6 +1152,18 @@ \ta@layoutinfo{\number\ta@div}{\the\@tempcnta}% \@typearea@end \activateareas + \ifdim \dimexpr 1in+\topmargin + +\headheight+\headsep + +\textheight + +\footskip+\dp\strutbox\relax + >\paperheight + \PackageWarningNoLine{typearea}{% + page content and margins higher than paper.\MessageBreak + This may result in page footer out of paper.\MessageBreak + You should decrease DIV, decrease foot height,\MessageBreak + or include footer into type area% + }% + \fi \fi } \newcommand*{\ta@layoutinfo}[2]{% @@ -1139,7 +1228,11 @@ \if@semitwoside \advance\oddsidemargin by1.5\ta@hblk \advance\oddsidemargin by\ta@bcor - \evensidemargin\oddsidemargin + \ifnum \scr@compatibility<\@nameuse{scr@v@3.12}\relax + \evensidemargin=\oddsidemargin + \else + \advance\evensidemargin by1.5\ta@hblk + \fi \else \advance\oddsidemargin by\ta@hblk \advance\oddsidemargin by\ta@bcor @@ -1169,7 +1262,19 @@ \advance\headheight by-10\p@ \fi \headsep=1.5\baselineskip - \footskip=3.5\baselineskip + \@ifundefined{footheight}{\newlength\footheight}{} + \if@areasetadvanced + \@ifundefined{ta@fh}{% + \footheight=1.25\baselineskip + \footskip=3.5\baselineskip + }{% + \footheight=\ta@fh + \footskip=\dimexpr \footheight+2.25\baselineskip\relax + }% + \else + \footheight=1.25\baselineskip + \footskip=3.5\baselineskip + \fi \ta@vblk=\paperheight \advance\ta@vblk by-\textheight \divide\ta@vblk by3 @@ -1209,10 +1314,22 @@ \ta@layoutinfo{areaset}{}% \@areaset@end \activateareas + \ifdim \dimexpr 1in+\topmargin + +\headheight+\headsep + +\textheight + +\footskip+\dp\strutbox\relax + >\paperheight + \PackageWarningNoLine{typearea}{% + page content and margins higher than paper.\MessageBreak + This may result in page footer out of paper.\MessageBreak + You should decrease DIV, decrease foot height,\MessageBreak + or decreate height of text area% + }% + \fi } \typearea[current]{current} -%%% From File: scrkcomp.dtx -%%% From File: scrlogo.dtx +%%% From File: $Id: scrkernel-compatibility.dtx 1512 2013-11-11 10:35:04Z mjk $ +%%% From File: $Id: scrlogo.dtx 1380 2013-10-01 15:31:55Z mjk $ \@ifundefined{KOMAScript}{% \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% M\kern.05em A\kern.1em-\kern.1em Script}}}{} diff --git a/Master/texmf-dist/tex/latex/koma-script/visualize.lco b/Master/texmf-dist/tex/latex/koma-script/visualize.lco index d196a1ff118..0d5a10a2db4 100644 --- a/Master/texmf-dist/tex/latex/koma-script/visualize.lco +++ b/Master/texmf-dist/tex/latex/koma-script/visualize.lco @@ -1,16 +1,15 @@ %% %% This is file `visualize.lco', -%% generated with the docstrip utility. +%% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% -%% scrkvers.dtx (with options: `trace') -%% scrklco.dtx (with options: `lco,visualize,head') -%% scrklco.dtx (with options: `lco,visualize,body') -%% scrknpap.dtx (with options: `lco,visualize,body') +%% scrkernel-version.dtx (with options: `trace') +%% scrkernel-letterclassoptions.dtx (with options: `lco,visualize,head') +%% scrkernel-letterclassoptions.dtx (with options: `lco,visualize,body') +%% scrkernel-notepaper.dtx (with options: `lco,visualize,body') %% -%% Copyright (c) 1994-2012 -%% Markus Kohm and any individual authors listed elsewhere in this file. +%% Copyright (c) 1994-2013 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -42,9 +41,9 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>. %% -%%% From File: scrkvers.dtx +%%% From File: $Id: scrkernel-version.dtx 1560 2013-12-19 07:13:30Z mjk $ \begingroup - \makeatletter + \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined \newcommand*{\@CheckKOMAScriptVersion}[1]{% \gdef\KOMAScriptVersion{#1}% @@ -64,9 +63,9 @@ \fi } \fi - \@CheckKOMAScriptVersion{2012/07/29 v3.11b KOMA-Script}% + \@CheckKOMAScriptVersion{2013/12/19 v3.12 KOMA-Script}% \endgroup -%%% From File: scrklco.dtx +%%% From File: $Id: scrkernel-letterclassoptions.dtx 1499 2013-11-05 17:22:29Z mjk $ \ProvidesFile{% visualize% .lco}[\KOMAScriptVersion\space letter-class-option] @@ -80,7 +79,7 @@ Letter class option #1 Warning: #2% }% } -%%% From File: scrklco.dtx +%%% From File: $Id: scrkernel-letterclassoptions.dtx 1499 2013-11-05 17:22:29Z mjk $ \@ifpackageloaded{eso-pic}{}{\RequirePackage{eso-pic}} \newcommand*{\showfields}[1]{% \AtBeginLetter{% @@ -155,7 +154,7 @@ \@ifundefined{showfield@by@#1}{% \LCOWarning{visualize}{Unknown show type `#1'.\MessageBreak You should simply set one of the supported\MessageBreak - show types `frame', `edge', `rule'.\MessageBreak + show types `frame', `edges', `rule'.\MessageBreak Style `frame' will be used instead}% \let\showfield\showfield@by@frame }{% @@ -575,7 +574,7 @@ \newcommand*{\showUScheck}{% \showenvelope(8.625in,3.625in)% } -%%% From File: scrknpap.dtx +%%% From File: $Id: scrkernel-notepaper.dtx 1380 2013-10-01 15:31:55Z mjk $ \endinput %% %% End of file `visualize.lco'. |