\def\docdate{Feb 25th, 1996} % % scrguide.tex Copyright (C) 1994-1996 Markus Kohm % % shortened and translated into English by Werner Lemberg % \NeedsTeXFormat{LaTeX2e}[1994/12/01] \documentclass[headsepline,twoside]{scrreprt}[1995/01/25] \pagestyle{headings} \usepackage{scrpage}[1994/12/31] % taken from ltxguide.cls (and modified): % ---------------------------------------------------------------------- \InputIfFileExists{ltxguide.cfg}{}{} % A declaration of a command, in a box, set out into the margin. % % Unfortunately, there is a bug with this command, which allows page % breaks to happen after a \begin{decl}[DATE]: it is a bug with TeX that % makes it very difficult to get page-breaks correct near marginals, % especially at the end of a paragraph. \newenvironment{decl}% {\par\small\addvspace{4.5ex plus 1ex}% \vskip -\parskip \noindent\hspace{-.75\leftmargini}% \begin{tabular}{|l|}\hline\ignorespaces}% {\\\hline\end{tabular}\nobreak\par\nobreak \vspace{2.3ex}\vskip -\parskip\noindent\ignorespaces} % Various forms of argument: \newcommand{\m}[1]{\mbox{\it #1\/}} \renewcommand{\arg}[1]{{\tt\string{}\m{#1}{\tt\string}}} \newcommand{\oarg}[1]{{\tt[}\m{#1}{\tt]}} % ---------------------------------------------------------------------- % taken from ltxdoc.cls: \newcommand{\parg}[1]{{\tt(}\m{#1}{\tt)}} % ---------------------------------------------------------------------- % taken from doc.sty: \def\dotfill{\leaders\hbox to.6em{\hss .\hss}\hskip 0pt plus 1fill} % ---------------------------------------------------------------------- \newcommand{\purearg}[1]{\string{#1\string}} \newcommand{\script}[1]{{\scshape#1}} \newcommand{\file}[1]{{\ttfamily#1}} \newcommand{\class}[1]{{\sffamily#1}} \newcommand{\package}[1]{{\sffamily#1}} \usepackage{makeidx}\makeindex \newcommand{\Index}[2][textrm]{\index{#2!#1}} \newcommand{\BeginIndex}[2]{\csname Index#1\endcsname[(textit]{#2}\ignorespaces} \newcommand{\EndIndex}[2]{\csname Index#1\endcsname[)textit]{#2}} \def\bslash{\char`\\} \newcommand{\IndexCmd}[2][textrm]{% \Index[#1]{#2=\texttt{\bslash#2}}} \newcommand{\IndexEnv}[2][textrm]{% \Index[#1]{environment>#2=\texttt{#2}}% \Index[#1]{#2=\texttt{#2} (environment)}} \newcommand{\IndexOption}[2][textrm]{% \Index[#1]{option>#2=\texttt{#2}}% \Index[#1]{#2=\texttt{#2} (option)}} \newcommand{\IndexPackage}[2][textrm]{% \Index[#1]{package>#2=\package{#2}}% \Index[#1]{#2=\package{#2} (package)}} \usepackage{shortvrb}\MakeShortVerb{\|} \begin{document} \title{The \script{KOMA--Script} Package} %\thanks{This file has version number \fileversion, last change \filedate.}} \uppertitleback{Haftungsausschlu\ss:\\Es wird keinerlei Haftung \"ubernommen f\"ur irgendwelche Sch\"aden, die aus der Benutzung der Programme des hier beschriebenen Paketes folgen.} \author{Frank Neukam\and Markus Kohm} \date{\docdate} \maketitle \tableofcontents \chapter{General Remarks} \section{Introduction} Originally the \script{Script} package was written by Frank Neukam for \LaTeX~2.09. He wanted to implement European rules of typography and paper formats as documented in \cite{JanTschichold}. The first version appeared in June~1992 with great resonance. Markus Kohm reimplemented version~2.0 from scratch for \LaTeXe\ (together with its \LaTeX~2.09 compatibility mode) as a \package{docstrip} module. Most of this documentation is taken directly from Frank Neukam's Guide to \script{Script~2.0}\Index{Script 2.0} (in German). Please refer to the German version of this documentation for compatibility questions concerning the original \script{Script~2.0} package for \LaTeX. You can reach the author at the following address or in the newsgroup de.comp.tex: \begin{labeling}[:]{{\sfb snail mail}} \item[\sfb MausNet] Markus Kohm @ KA2 (|Markus_Kohm@ka2.maus.de|) \item[\sfb snail mail] Markus Kohm, Augartenstra\ss e 29, 76137 Karlsruhe \end{labeling} \section{Rechtliches} Die Weitergabe und Benutzung dieses Paketes ist erlaubt, soweit diese zu den f\"ur \LaTeX\ \"ublichen Bedingungen erfolgt. Dies bedeutet insbesondere, da\ss{} sich niemand an diesem Paket bereichern darf! Das Paket darf auch nur in \emph{vollst\"andiger} Form weitergegeben werden. \"Anderungen an einzelnen Dateien sind erlaubt, wenn diese dokumentiert und die betroffenen Dateien umbenannt werden. Es mu\ss{} dennoch immer eine unver\"anderte Version im Paket enthalten sein. Ich lehne jegliche Haftung f\"ur Sch\"aden, die aus der Verwendung des Paketes oder eines Teils daraus resultieren, ab. Die Verwendung geschieht ausschlie\ss lich auf eigene Gefahr des Anwenders. Zwar bem\"uhe ich mich immer, m\"oglichst wenig Fehler in meine Werke einzubauen, aber leider ist Fehlerfreiheit nahezu unm\"oglich. So kann es immer zu unerw\"unschten Effekten kommen. \section{Compatibility Remarks} All commands which are available in the standard classes are implemented also in the \script{KOMA--Script} package. Additionally a few macros has been added, and some of the original commands behave differently. Nevertheless it should be possible to process any document with \script{KOMA--Script} which has been written for the standard classes. Table~\ref{TAB:Zuordnung} shows the relation between standard classes and \script{KOMA--Script} classes. \begin{table} \begin{center} \DeleteShortVerb{\|} \begin{tabular}{|c|c|} \hline Standard class & \script{KOMA--Script} class \\\hline article & scrartcl \\ report & scrreprt \\ book & scrbook \\ letter & scrlettr \\\hline \end{tabular} \MakeShortVerb{\|} \caption{\label{TAB:Zuordnung}% Relation between standard classes and \script{KOMA--Script} classes.} \end{center} \end{table} \chapter{The New Layout} \section{The New Fonts} \begin{decl}|\sfb|\end{decl}% \BeginIndex{Cmd}{sfb} All occurrences of Extended Boldface (i.e.\ captions, index, and |description| environment) has been replaced with Sansserif Bold Extended (|\sffamily\bfseries|). This is a font without serifs having semibold weight which can be selected with the old font selection command |\sfb| or with the new font commands |\sffamily\bfseries|. Note that the smallest available size is 10pt, thus |\tiny\sfb| will select 10pt automatically. \EndIndex{Cmd}{sfb} \section{The Type Area} \subsection{Fundamental Remarks} The type area defines the size of the printed area of a page\footnote{not counting headers, footers, and footnotes} and its exact position; the text width depends on the selected font and font size (60--70 characters per line give optimal readability). Jan Tschichold suggests in \cite{JanTschichold} a simple algorithm to get good--looking results even for `non--classical' paper formats like DIN~A4 (which is the default paper format for all \script{KOMA--Script} classes). Type area and paper format have the same width/length ratios; even the margins have simple proportions (inner margin/outer margin and upper margin/lower margin respectively have the proportion 1:2; without the |twoside| option inner and outer margin are equal). \subsection{The Construction} The construction is based on a devision of the width and height of a page in $n$ equal parts which will be called HLU and VLU (horizontal/vertical length unit). \begin{description} \item[Example: ] If we divide a DIN~A4 page (210 mm $\times$ 297 mm) in ten parts ($n=10$) we get a horizontal length unit HLU = 210~mm $\div$ 10 = 21~mm and a vertical length unit VLU = 297~mm $\div$ 10 = 29.7~mm. \end{description} \noindent Now we simply set in case of double sided printing the inner margin\footnote{here we mean the \emph{visible} margin, not the margin values taken from the |odd-| and |evensidemargin| registers; we will evaluate these parameters to get the wanted visible margins} to 1~HLU and the outer margin to 2~HLU. In case of single page printing inner and outer margin will be both 1.5~HLU. Analogously we set the upper margin to 1~VLU and the lower margin to 2~VLU. Thus the text area will have $(n-3)$~HLU width and $(n-3)$~VLU height. Marginal notes will be output in the outer margin and limited to a width of 1.5~HLU for twosided and 1~HLU for onesided printing. \begin{description} \item[Example: ] In case of dividing the page into 6~units ($n=6$) left and right margin together have 3~HLU, upper and lower margin have 3~VLU. Thus the text area is exactly half as wide and high as the entire page. \end{description} \noindent \TeX's demand that |\textwidth|\IndexCmd{textwidth} should be a multiple of the \texttt{typewriter} character width will not be accomplished with the above described algorithm. But even the original styles don't follow this rule, and only text written entirely with \texttt{typewriter} type will be affected. See section~\ref{AREASET} for a method how to adjust the type area for |\tt| fonts. The second rule of the type area construction, namely that |\textheight| \IndexCmd{textheight} should equal |\topskip|\IndexCmd{topskip} plus an integer multiple of |\baselineskip|\IndexCmd{baselineskip}, will be fulfilled. This ensures that for pages completely filled with ordinary text (i.e.\ pages without captions, tables, displayed material etc.) paragraphs don't need to be stretched to assure that the lowest text line will align with the lower margin of the text area. Thus the type area height will be at most one line larger than the exact construction's value. \subsection{Selection of the Type Area} It's easy to see that for small $n$ the text area will be small too compared to the page size, and that for large $n$ the text area fills the page almost completely (it's hardly possible to output marginal notes correctly for $n$ values greater than 12). Modifying $n$ enables the user to change the size of the type area within a great range having always the guarantee of an optimal construction. Optionally you can provide a binding correction \emph{BCOR} which will be taken into account while constructing the type area. The algorithm simply reduces the page width by \emph{BCOR}, computes the type area again and finally increases the inner margin by \emph{BCOR}. \begin{description} \item[Example: ] Assuming that a glue binding reduces the visible page width of 210~mm (ISO/DIN~A4) by an amount of 8~mm (see below how to specify \emph{BCOR}) the new text proportion will be 202:297 instead of the original 210:297. Now for example the type area will be centered again on the visible part of the page for onesided printing. \end{description} \begin{decl}|\typearea|\oarg{BCOR}\arg{DIV}\end{decl}% \BeginIndex{Cmd}{typearea} The command |\typearea| will compute the type area anew. Because internal values like |\oddsidemargin| etc.\ will be changed, this command is only allowed in the preamble (i.e.\ before |\begin{document}|). The optional argument \oarg{BCOR} will adjust the binding correction, whereas \arg{DIV} sets $n$ as described above. \oarg{BCOR} needs a valid \TeX\ measure unit (pt, mm, cm, in, \dots); \arg{DIV} must be an integer greater than~3. Using \class{scrartcl}, \class{scrreprt}, or \class{scrbook} selects \arg{DIV} as described in table~\ref{DIV1} (without selecting a binding correction) and calls |\typearea| automatically. They will do so by inputting the package \package{typearea}\IndexPackage{typearea} which contains the |\typearea| macro. \begin{table} \begin{center} \DeleteShortVerb{\|} \begin{tabular}{|c|c|} \hline text font size & {\em DIV} \\ \hline 10pt & 8 \\ 11pt & 10 \\ 12pt & 12 \\ \hline \end{tabular} \MakeShortVerb{\|} \caption{\label{DIV1}\arg{DIV} defaults} \end{center} \end{table} You can use table~\ref{DIV2} as a starting point for selecting \arg{DIV} manually. The table values assume |a4paper| with twosided printing and \emph{BCOR} = 0~pt (without considering the adjustment between the height of the text area and the font size dependent value of |\baselineskip| which can increase the text area by at most 14.5~pt $\simeq$ 5.1~mm). \begin{table} \begin{center} \DeleteShortVerb{\|} \begin{tabular}{|c||c|c|c|c|}\hline & \multicolumn{2}{c|}{text area} & \multicolumn{2}{c|}{margins}\\ \emph{DIV}& width [mm] & height [mm] & top [mm] & inner [mm] \\\hline 6 & 105.00 & 148.50 & 49.50 & 35.00 \\ 7 & 120.00 & 169.71 & 42.43 & 30.00 \\ 8 & 131.25 & 185.63 & 37.13 & 26.25 \\ 9 & 140.00 & 198.00 & 33.00 & 23.33 \\ 10 & 147.00 & 207.90 & 29.70 & 21.00 \\ 11 & 152.73 & 216.00 & 27.00 & 19.09 \\ 12 & 157.50 & 222.75 & 24.75 & 17.50 \\ 13 & 161.54 & 228.46 & 22.85 & 16.15 \\ 14 & 165.00 & 233.36 & 21.21 & 15.00 \\ 15 & 168.00 & 237.60 & 19.80 & 14.00 \\\hline \end{tabular} \MakeShortVerb{\|} \caption{\label{DIV2}Type area values in relation to \emph{DIV}} \end{center} \end{table} \begin{decl}|DIV|\m{factor}\\|BCOR|\m{correction}\end{decl}% \BeginIndex{Option}{DIV}\BeginIndex{Option}{BCOR} It is also possible to pass through the type area parameters \m{DIV} and \m{BCOR} as options to the classes \class{scrartcl}, \class{scrreprt}, and \class{scrbook} to the package \package{typearea}; then it's not necessary to call |\typearea| explicitly. \m{factor} and \m{correction} should follow the option directly. Here a small example: \begin{quote}\begin{small}\begin{verbatim} \documentclass[DIV14,BCOR0.5cm]{scrreprt} \end{verbatim}\end{small}\end{quote} \EndIndex{Option}{DIV}\EndIndex{Option}{BCOR} \EndIndex{Cmd}{typearea} \subsection{Uncommon Type Areas\label{AREASET}} \begin{decl}|\areaset|\oarg{BCOR}\arg{WIDTH}\arg{HEIGHT}\end{decl}% \BeginIndex{Cmd}{areaset} To construct type areas with uncommon proportions or to specify type areas which have \emph{exactly} the values of the previous table (without adjusting to an integer multiple of |\baselineskip|) it's also possible to use |\areaset| instead of |\typearea|\IndexCmd{typearea}. |\areaset| sets the text width to \arg{WIDTH} and the text height to \arg{HEIGHT} (without any additional corrections) and computes the margins in a similar way as the |\typearea| command. The optional argument \oarg{BCOR} will be handled as described above. Now we can easily construct type areas which are exactly quadratic or very narrow and high. If you don't like the positioning chosen by |\areaset|, it's of course possible to change the margins afterwards. Here is the example which shows how to adjust the text area having exactly a width of 30 characters in \texttt{typewriter} type: \begin{quote}\begin{small}\begin{verbatim} \newlength{\thirtytt} \settowidth{\thirtytt}{\texttt{123456789012345678901234567890}} \areaset{\thirtytt}{20cm} % text height: 20cm \end{verbatim}\end{small}\end{quote} \noindent |\areaset| is only allowed in the preamble. \EndIndex{Cmd}{areaset} \subsection{Including Headers and Footers} Sometimes it makes sense to assume that the header and/or the footer line are part of the text area while computing the type area, as shown in this documentation. Here we have a horizontal line which separates the header from the text body, thus moving the header optically nearer. \begin{decl}|headinclude|\\|headexclude|\end{decl}% \BeginIndex{Option}{headinclude}\BeginIndex{Option}{headexclude} If you switch on the |headinclude| option the commands |\typearea|\IndexCmd{typearea} and |\areaset|\IndexCmd{areaset} will include the header line to compute the type area. The opposite option is |headexclude|. \EndIndex{Option}{headinclude}\EndIndex{Option}{headexclude} \begin{decl}|footinclude|\\|footexclude|\end{decl}% \BeginIndex{Option}{footinclude}\BeginIndex{Option}{footexclude} These are the analogous options for including and excluding the footer line. \EndIndex{Option}{footinclude}\EndIndex{Option}{footexclude} You can specify the options directly in the |\documentclass| macro which is easiest. If you specify the options in the |\usepackage| macros, don't forget to load the \package{typearea} package\IndexPackage{typearea} explicitly. \subsection{Different Paper Formats} As with the standard classes it is possible to select different paper formats using the options |a3paper|, |landscape| etc. Contrary to the original classes the computation of the type area will be done implicitly by calling the |typearea| package using the above described rules. To select a paper format which is not defined in the \package{typearea} package\IndexPackage{typearea} you can choose between two possibilities. Either you change |\paperwidth|\IndexCmd{paperwidth} and |\paperheight|\IndexCmd{paperheight} manually and call then the |\typearea|\IndexCmd{typearea} command (or |\areaset|\IndexCmd{areaset}), or you create additional options and write them into a file \file{typearea.cfg}\index{typeareacfg=\file{typearea.cfg}}. Such defined options can be used similar to standard options. \begin{decl}|\SetDIVList|\arg{list}\end{decl}% \BeginIndex{Cmd}{SetDIVList} Besides the paper size it is generally possible to define font size dependent \emph{DIV} factors. The command |\SetDIVList| creates such a list which contains a \emph{DIV} value (in braces) for each font size, starting with 10~pt, followed by the value for 11~pt, then 12~pt and so forth. Not defining a list with |\SetDivList| is equal to |\SetDIVList{{8}{10}{12}}|. If you select a font size without a value in this list, the default value~10 will be used. \begin{description} \item[Example 1: ] A poem booklet should be printed on ISO/DIN A5 paper. It is sufficient to select the |a5paper| option: \begin{quote}\begin{small} |\documentclass[a5paper]{scrreprt}| \end{small}\end{quote} \item[Example 2: ] The text area of a schedule using \emph{landscape} ISO/DIN A4 paper should be exactly 270~mm $\times$ 190~mm. The following code implements this: \begin{quote}\begin{small} |\documentclass[a4paper]{scrreprt}|\\ |\areaset{270mm}{190mm}| \end{small}\end{quote} Additionally you need a (system dependent) command forcing the printer driver to use landscape format. \item[Example 3: ] The poem booklet of example~1 will now have a binding correction of 1.5~mm, and the type area should be a bit larger: \begin{quote}\begin{small} |\documentclass[a5paper,DIV12,BCOR1.5mm]{scrreprt}| \end{small}\end{quote} \item[Example 4: ] We want to use endless paper with the dimensions $8\frac{1}{4}$~in $\times$ 12~in. To have a good--looking type area we could say \begin{quote}\begin{small} |\paperwidth 8.25in|\\ |\paperheight 12in|\\ |\typearea{10}| \end{small}\end{quote} which is best to be written as a new option into \file{typearea.cfg}\index{typeareacfg=\file{typearea.cfg}}; assuming that the name of this option is `endless' we can now simply say \begin{quote}\begin{small} |\documentclass[endless]{scrreprt}| \end{small}\end{quote} Here a complete example of an entry in \file{typearea.cfg}: \begin{quote}\begin{small} |\DeclareOption{endless}|\\ | {\setlength\paperheight {8.25in}%|\\ | \setlength\paperwidth {12in}%|\\ | \SetDIVList{{8}{10}{12}}}| \end{small}\end{quote} \end{description} \EndIndex{Cmd}{SetDIVList} Note that you can also use the \package{typearea} package\IndexPackage{typearea} together with the standard classes; however it is \emph{not} a good idea to use \package{typearea} package with the \class{scrlettr} letter class which has a special, fixed type area (this class is only documented in the German version of this documentation). \section{Additional Changes} \subsection{Default Fontsize} Without specifying a different default fontsize explicitly in the |\documentclass| command 11~pt fonts will be used as the default (as shown in this documentation) for all classes except \class{scrlettr} (which uses 12~pt). The \LaTeXe\ standard classes use 10~pt fonts. \subsection{Chapter Headings and Enumeration} Chapter headings of the classes \class{scrbook} and \class{scrreprt} will be typeset without a separate line for the word ``chapter'' (as implemented in \class{book} and \class{report}; \script{KOMA--Script} classes don't use this word), instead the chapter number will directly precede the caption text. To have a distinct separation between chapters and the appendix (which now only differs in the style of enumeration) it is highly recommended to insert |\part*{Appendix}| between the last chapter and the appendix. Sectioning numbers will not contain a trailing dot (see \cite[page~18]{Duden}; versions prior to 2.2c did have a trailing dot) if only Arabic numbering will be used; if Roman numbers are used for the enumeration of parts, all sectioning numbers will have trailing dots. \subsection{Headings and Page Numbers} The \class{srcbook} class uses |headings| as the default page style; \class{scrreprt} and \class{scrartcl} have |plain| as the default. If you use the option |twoside|, page numbers will be set into the outer margins; otherwise they will be centered. \class{scrbook} has |twoside| as the default. In contrast to the standard classes headings will not be set in uppercase, and the default font will be \textit{slanted} (was \textit{italics}). Chapter headings will not use the word ``CHAPTER'', and the page number is always in the footer (which would be empty otherwise). An advantage of these changes is the possibility to have much longer chapter headings without truncation. \begin{decl}|headsepline|\\|headnosepline|\\ |footsepline|\\|footnosepline|\end{decl}% \BeginIndex{Option}{headsepline}\BeginIndex{Option}{headnosepline} \BeginIndex{Option}{footsepline}\BeginIndex{Option}{footnosepline} To have a horizontal line below the header line\label{HEADSEPLINE} use the class option |headsepline| to turn it on (|headnosepline| to turn it off). This only works for the page styles |headings| and |myheadings| since |plain| has no header line; |headsepline| automatically activates |headinclude| (and similarly |headnosepline| sets |headexclude|). Default for \class{scrbook}, \class{scrreprt} and \class{scrartcl} is |headnosepline|. The analogous options for footers are |footinclude|, |footexclude|, |footsepline|, and |footnosepline|. This also works for the |plain| page style. \begin{description} \item[Example: ] In the documentation you are just reading we have \begin{quote}\begin{small} |\documentclass[headsepline]{...}| \end{small}\end{quote}% to get a horizontal line below the page headers (this also activates |headinclude|). \end{description} \EndIndex{Option}{headsepline}\EndIndex{Option}{headnosepline} \EndIndex{Option}{footsepline}\EndIndex{Option}{footnosepline} \subsection{Some Additional Cosmetic Changes} A small horizontal region (1~em) is reserved for the footnote number alone, i.e.\ the footnote text always starts with this offset from the left margin. In multiline footnotes the following lines will be indented 0.5~em again to improve reading. Paragraphs will be output without vertical space, being indented 1~em (this is 1~|\quad|). |\frenchspacing|\IndexCmd{frenchspacing} will be activated in spite of the fact that the \package{german}\IndexPackage{german} package starting with version~2.4 activates it too. This is subject to change. The second level of the |enumerate|\IndexEnv{enumerate} environment will be `a)' instead of `(a)'; the third level of the |itemize|\IndexEnv{itemize} environment is now `$\triangleright$' instead of `$\ast$'. Author and date entries in titles will not be |\large| but |\Large|. Multiline captions (as they can happen in |table|\IndexEnv{table} or |figure|\IndexEnv{figure} environments) will be indented so that ``Figure~\dots:'' corresponds to a hanging indentation of that length. There are many further changes which will be hardly noticed, e.g.\ the space between the columns in |twocolumn| mode has been enlarged to 1~cc (1~Cicero $\simeq$ 12~pt). Compare the \file{.dtx}--files of the original and the \script{Script} classes if you interested in details. \chapter{Additional Commands} \section{Enhancements of Abstract and Titlepage} \begin{decl}|abstractoff|\\|abstracton|\end{decl}% \BeginIndex{Option}{abstractoff}\BeginIndex{Option}{abstracton} You can suppress the `Abstract' header with the option |abstractoff|; this is the default for \class{scrartcl} and \class{scrreprt}. \class{scrbook} has no abstract. The opposite option is |abstracton|. \EndIndex{Option}{abstractoff}\EndIndex{Option}{abstracton} \begin{decl}|\extratitle|\arg{extratitle}\\ |\titlehead|\arg{text}\\ |\subject|\arg{text}\\ |\publishers|\arg{publisher}\\ |\uppertitleback|\arg{text}\\ |\lowertitleback|\arg{text}\\ |\dedication|\arg{dedication}\end{decl}% \BeginIndex{Cmd}{maketitle} \BeginIndex{Cmd}{extratitle}\BeginIndex{Cmd}{titlehead} \BeginIndex{Cmd}{subject}\BeginIndex{Cmd}{publishers} \BeginIndex{Cmd}{uppertitleback}\BeginIndex{Cmd}{lowertitleback} \BeginIndex{Cmd}{dedication} The following commands enhance |\maketitle| of the \script{Script} main classes: \begin{itemize} \item |\extratitle| creates a separate page with the extratitle\footnote{In former times the hard cover was sometimes missing; thus the very first page, the extratitle, protected the book so that it didn't become dirty. Today it will be frequently used as an extrapage before the main title to hold the publisher's name, the ISDN number etc.} on it. It will be printed as normal text by default, and the user has completely freedom to customize. The backside (even if twoside printing is on) is always empty. \item |\titlehead| prints some additional information in the head part of the main title page, e.g.\ an address of an institute. \item |\subject| prints directly above the main title an additional subject (e.g.\ ``dissertation'') in a somewhat larger font. \item |\publishers| creates the publisher's name in the lower part of the main title page. \item If twosided printing is activated it is possible to write some information on the back page of the title page which would be otherwise empty. |\uppertitleback| and |\lowertitleback| print text near the upper and lower margin respectively (cf.\ the ``Haftungsausschlu\ss'' in this documentation). \item |\dedication| creates an own dedication page, with \emph{dedication} centered and with a slightly larger font. The back page is always empty. \end{itemize} \begin{description} \item[Example: ] \ \begin{quote}\begin{small}\begin{verbatim} \titlehead{Institute for Sinology \hfill SS1993 \\12 University Street \\Unitown 3456} \subject{Dissertation} \title{About Chinese Food} \author{Wun Tun} \lowertitleback{This paper was created with the text formatting system \TeX.} \maketitle \end{verbatim}\end{small}\end{quote} \end{description} \EndIndex{Cmd}{extratitle}\EndIndex{Cmd}{titlehead} \EndIndex{Cmd}{subject}\EndIndex{Cmd}{publishers} \EndIndex{Cmd}{uppertitleback}\EndIndex{Cmd}{lowertitleback} \EndIndex{Cmd}{dedication} \noindent Usually the title starts on page~1. With an optional argument (e.g.\ |\maketitle[-1]|) it's possible to adjust the starting page number. \EndIndex{Cmd}{maketitle} \section{The ``\texttt{\char92 xxxxfont}'' Variables\label{SECTFONT}} \begin{decl}|\capfont|\\|\caplabelfont|\\ |\descfont|\\|\headfont|\\ |\pnumfont|\\|\sectfont|\end{decl}% \BeginIndex{Cmd}{capfont}\BeginIndex{Cmd}{caplabelfont} \BeginIndex{Cmd}{descfont}\BeginIndex{Cmd}{headfont} \BeginIndex{Cmd}{pnumfont}\BeginIndex{Cmd}{sectfont} Starting with version~2.0 of the \script{Script} package a bunch of variables to control the global font changes for column titles, pagination, captions, headers and the |description| environment are implemented. This enables the user to change e.g.\ the header font from |\sffamily\bfseries| to |\rmfamily| with only one command---it's only necessary to write |\renewcommand{\sectfont}{\rmfamily}| (usually in the preamble). In a similar way all other fonts can be changed as shown in table \ref{TAB::Fonts}. Changes of the font size are of course also possible within the above commands. \begin{table} \begin{center}\small \begin{tabular}{lll} variable & affected area & default \\\hline |\capfont| & caption texts & |\normalfont| \\ |\caplabelfont| & caption labels & |\normalfont| \\ |\descfont| & item texts of the {\tt description} environment & |\sffamily\bfseries| \\ |\headfont| & column titles & |\slshape| \\ |\pnumfont| & pagination & |\normalfont| \\ |\sectfont| & all headers and titles & |\sffamily\bfseries| \\ \end{tabular} \caption{\label{TAB::Fonts}% Commands to adjust fonts, its meaning and default values} \end{center} \end{table} \EndIndex{Cmd}{capfont}\EndIndex{Cmd}{caplabelfont} \EndIndex{Cmd}{descfont}\EndIndex{Cmd}{headfont} \EndIndex{Cmd}{pnumfont}\EndIndex{Cmd}{sectfont} \section{The Marginline} \begin{decl}|\marginline|\arg{text}\end{decl}% \BeginIndex{Cmd}{marginline} This command is the oneline analogon to the multiline |\marginpar|\IndexCmd{marginpar} macro. It has the advantage that in |twoside| mode on left pages the margin text will be aligned with the outer text margin (i.e.\ flush right), contrary to |\marginpar| which treats the line as the start of a paragraph, thus printing the text flush left in the margin. Use this command for cross references and similar text snippets. \EndIndex{Cmd}{marginline} \section{The \texttt{\char92 addchap} and \texttt{\char92 addsec} Command} \begin{decl}|\addchap|\oarg{index entry}\arg{header}\\ |\addchap*|\arg{header}\\ |\addsec|\oarg{index entry}\arg{header}\\ |\addsec*|\arg{header}\end{decl}% \BeginIndex{Cmd}{addchap}\BeginIndex{Cmd}{addchap*} \BeginIndex{Cmd}{addsec}\BeginIndex{Cmd}{addsec*} To create an unnumbered section like a preface or a greeting you only could use the |\chapter*| or |\section*| command of the standard classes. But they neither create an index entry nor a running head which you must add manually if you want them which is not in the sense of the \LaTeX\ philosophy. Thus the \script{Script} package offers the new commands |\addchap| and |\addchap*| (for \class{scrbook} and \class{scrreprt}) together with |\addsec| and |\addsec*| (for \class{scrartcl}) which behaves like |\chapter| and |\section| except the missing enumeration. The starred commands are very similar to the starred original commands with the difference that running heads will be cleared additionally. As with the original commands you can create index entries different from the header with an optional argument. \EndIndex{Cmd}{addchap}\EndIndex{Cmd}{addchap*} \EndIndex{Cmd}{addsec}\EndIndex{Cmd}{addsec*} \section{The \texttt{\char92 minisec} Command} \BeginIndex{Cmd}{minisec} \begin{decl}|\minisec|\arg{Header}\end{decl}% Sometimes it is desirable to have a kind of header which is connected to the surrounding text without too great vertical spaces. \minisec{Appearance of the new \texttt{\char92 minisec} command:} The command |\minisec| (``mini section'') will do this job; the argument will be printed with |\sffamily\bfseries|, and a vertical space of 1.5~ex will be added before the header (and none after). Mini sections produce no entry in the index. \EndIndex{Cmd}{minisec} \section{The \texttt{labeling} Environment} \BeginIndex{Env}{labeling} \begin{decl}|\begin{labeling}|\oarg{separator}\arg{longest title}\\ |\item|\oarg{title} \ldots \\ | |\vdots \\ |\end{labeling}|\end{decl}% \begin{labeling}{Appearance:} \item[Appearance:] As you can see here in an example for the |labeling| environment, text will be printed like an ordinary paragraph but will have a title in front of it (here: ``Appearance''). The text is not restricted to one paragraph. \item[Syntax:] |labeling| is an ordinary environment with one parameter and an optional argument. \arg{longest title} is the longest argument including all font change commands. If you don't need a separator you can omit the optional argument \oarg{separator}. \item[Example:] The |labeling| environment you are just reading starts with \begin{quote}\begin{small}\begin{verbatim} \begin{labeling}{Appearance:} \item[Appearance:] As you can see here in an example for the |labeling| environment, ... \item[Syntax:] |labeling| is an ordinary... . . \end{labeling} \end{verbatim}\end{small}\end{quote} \end{labeling} \EndIndex{Env}{labeling} \chapter{Internationalization} \Index[(]{CJK} In cooperation with Werner Lemberg (|a7621gac@awiuni11.bitnet|) the language interface of the standard classes has been modified in a compatible way to support languages which do not follow English grammatical or syntactical rules. Even in English not all possibilities of labeling e.g.\ a figure are supported: cf. ``Figure~1'' (supported) and ``First Figure'' (not supported).\footnote{With `not supported' it is meant that you must do tricky things or even modify some of the user invisible low level macros to achieve the wanted results.} Additionally some languages will suppress spaces between the running number and the |\figurename| or set them differently. Three modification levels have been introduced starting with \script{KOMA--Script} version~2.2c (dated 25--May--1995) to gain a great flexibility without loosing simplicity. Level~1 are the standard macros like |\figurename| as defined in the standard classes. |german.sty|, as an example, redefines this bunch of names with German equivalents. Related to these macros are the font changing commands |\sectfont| and its relatives. Level~2 is the modification of the counters itself (e.g.\ |\thesection| could use Chinese characters instead of Arabic numbers). Level~3 finally allows for complete control over the ordering of counters, titles, and spaces. It consists of the commands |\chaptermarkformat|, |\sectionmarkformat|, |\subsectionmarkformat|, |\partformat|, |\chapterformat|, |\figureformat|, |\table|\-|for|\-|mat|, and |\captionformat|. Here a simplified example for a Chinese |\part| command (Chinese characters have been replaced with a transcription): \begin{quote}\begin{small}\begin{verbatim} \newcommand\prepartname{di} \newcommand\postpartname{bu} \renewcommand\partformat{\prepartname~\thepart~\postpartname} \end{verbatim}\end{small}\end{quote} It must be stated that some of the new features are not used within the \script{Script} package by default since most sectioning commands don't use |\chaptername| etc. The letter class |scrlettr.cls| doesn't accept the |\...format| commands; |scrpage.cls| does (see section \ref{SCRPAGE}). \Index[)]{CJK} \clearpage \makeatletter \let\ps@oldplain\ps@plain \let\ps@oldheadings\ps@headings \makeatother \renewpagestyle{plain}{(\textwidth,0pt)% {\hfill}{\hfill}{\hfill}% (\textwidth,0pt)}% {(\textwidth,.4pt)% {\pagemark\hfill}% {\hfill\pagemark}% {\hfill\pagemark\hfill}% (\textwidth,1pt)} \renewpagestyle{headings}{(\textwidth,1pt)% {\headmark\hfill}{\hfill\headmark}{\hfill\headmark\hfill}% (\textwidth,.4pt)}% {(\textwidth,.4pt)% {\pagemark\hfill% Copyright \copyright\ Markus Kohm, 1994--1996}% {Package \texttt{scrpage}\hfill\pagemark}% {\rlap{Package \texttt{scrpage}}\hfill% Copyright \copyright\ Markus Kohm, 1994--1996\hfill% \llap\pagemark}% (\textwidth,1pt)} \pagestyle{headings} \chapter{The \texttt{scrpage} Package}\label{SCRPAGE} \BeginIndex{Package}{scrpage} The \package{scrpage} package defines a new interface to make the page layout much more flexible to define as it would be with |\pagestyle|. It has some similarities with the \package{fancyheadings} package~\cite{fancyheadings} but tries new solutions of old problems. As an example, there is a simple interface for the novice and a more sophisticated one for the experienced user. \package{scrpage} works with the standard \LaTeX\ classes also. \section{The Simple Interface} \begin{decl}|\headfont|\\|\pnumfont|\end{decl}% \BeginIndex{Cmd}{headfont}\BeginIndex{Cmd}{pnumfont}% |\headfont| selects the font for the headers and footers, |\pnumfont| selects the page number font. Default definition for both commands is |\normalfont|. Here an example of use: \begin{quote} |\renewcommand{\headfont}{\normalfont\slshape}| \end{quote} \EndIndex{Cmd}{headfont}\EndIndex{Cmd}{pnumfont} \begin{decl}|\headmark|\end{decl}% \BeginIndex{Cmd}{headmark}% If you choose the layout option |twoside|, |\headmark| is equivalent to the \LaTeX\ commands |\leftmark| on even pages and |\rightmark| on odd pages. If you select onesided printing, |\headmark| is always the same as |\rightmark|. Thus the \package{scrpage} package itself controls whether we are on a even or odd page; |\headmark| always contains the actual header line. \EndIndex{Cmd}{headmark} \begin{decl}|\pagemark|\end{decl}% \BeginIndex{Cmd}{pagemark}% |\pagemark| contains the actual page number string. It will also select the correct font (using |\pnumfont|), contrary to the standard \LaTeX\ command |\thepage|. \EndIndex{Cmd}{pagemark} \begin{decl}|\deftripstyle|\arg{name}\oarg{olw}\oarg{ilw}\\ | | \arg{headleft}\arg{headmid}\arg{headright}\\ | | \arg{footleft}\arg{footmid}\arg{footright}% \end{decl}% \BeginIndex{Cmd}{deftribstyle}% Use this command to define a new page layout with the name \m{name}. The arguments \m{headleft}, \m{headmid}, \m{headright}, \m{footleft}, \m{footmid}, and \m{footright} will appear on the following places: \begin{center}\setlength{\unitlength}{1mm}\begin{picture}(120,82) \put(0,0){\dashbox{2}(58,82){~}} \put(1,78){\makebox(0,0)[l]{\emph{headright}}} \put(29,78){\makebox(0,0){\emph{headmid}}} \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{footmid}}} \put(57,3){\makebox(0,0)[r]{\emph{footleft}}} \put(60,0){\dashbox{2}(58,82){~}} \put(61,78){\makebox(0,0)[l]{\emph{headleft}}} \put(89,78){\makebox(0,0){\emph{headmid}}} \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{footmid}}} \put(117,3){\makebox(0,0)[r]{\emph{footright}}} \end{picture}\end{center} To create separation lines for the header and the footer respectively use the optional parameters \m{ilw} (inner line width) and \m{olw} (outer line width); if only one optional argument is given \m{ilw} is set (similar to class option |headsepline|). The values of the parameters are the line thicknesses. Here an example with \emph{olw}=2~pt, \emph{ilw}=0.5~pt: \begin{center}\setlength{\unitlength}{1mm}\begin{picture}(120,82) \put(0,0){\dashbox{2}(58,82){~}} \put(1,80){\rule{56\unitlength}{2pt}} \put(1,78){\makebox(0,0)[l]{\emph{headright}}} \put(29,78){\makebox(0,0){\emph{headmid}}} \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{footmid}}} \put(57,3){\makebox(0,0)[r]{\emph{footleft}}} \put(1,1){\rule{56\unitlength}{2pt}} \put(60,0){\dashbox{2}(58,82){~}} \put(61,80){\rule{56\unitlength}{2pt}} \put(61,78){\makebox(0,0)[l]{\emph{headleft}}} \put(89,78){\makebox(0,0){\emph{headmid}}} \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{footmid}}} \put(117,3){\makebox(0,0)[r]{\emph{footright}}} \put(61,1){\rule{56\unitlength}{2pt}} \end{picture}\end{center} A newly defined or redefined page style will be only active after a |\pagestyle| or |\thispagestyle| command. \EndIndex{Cmd}{deftribstyle} To redefine the |myheadings| page style you should use the following macro: \begin{decl}|\deftripstyle*|\arg{name}\oarg{olw}\oarg{ilw}\\ | | \arg{headleft}\arg{headmid}\arg{headright}\\ | | \arg{footleft}\arg{footmid}\arg{footright}% \end{decl}% \BeginIndex{Cmd}{deftribstyle*} This command creates a \emph{my} version of a page style. The difference to the unstarred form is that sectioning commands like |\chapter| will not alter the page headings; only |\markleft|, |\markright| and |\markboth| will do that. \EndIndex{Cmd}{deftribstyle*} \section{The Experts' Interface} \begin{decl}|\defpagestyle|\arg{name}\arg{header definition}\arg{footer definition}\\ |\newpagestyle|\arg{name}\arg{header definition}\arg{footer definition}\\ |\renewpagestyle|\arg{name}\arg{header definition}\arg{footer definition}\\ |\providepagestyle|\arg{name}\arg{header definition}\arg{footer definition}\end{decl}% \BeginIndex{Cmd}{defpagestyle}\BeginIndex{Cmd}{newpagestyle} \BeginIndex{Cmd}{renewpagestyle}\BeginIndex{Cmd}{providepagestyle} All these commands define a new page style with the following structure of the header and footer definition: \begin{quote} \parg{ull,ulw}\arg{evenpage}\arg{oddpage}\arg{onepage}\parg{lll,llw} \end{quote} \m{ulw} and \m{llw} are the widths of the upper and the lower line of the header or footer respectively, \m{ull} and \m{lll} are the lengths of the upper and lower line (|\deftripstyle| and |\defstripstyle*| always use |\textwidth| as the length thus these parameters are omitted). \m{evenpage} and \m{oddpage} define the corresponding headers or footers and will be used if twosided output is selected, \m{onepage} will be used for onesided output. The various flavours of the commands are similar to the variants of the |\newcommand| macro: |\defpagestyle| will create the page style \m{name} and overwrites an existing page style of this name without warning, |\newpagestyle| outputs a warning if a page style with this name already exists, |\renewpagestyle| will do the opposite, i.e.\ outputs a warning if a page style with this name does not already exist, and |\providepagestyle| defines only a new page style if no page style with this name has been defined before (it will issue an entry in the log file if \m{name} already exists). Finally an example which was used to realize the header and footer lines of this chapter: \begin{small}\begin{verbatim} \renewpagestyle{plain}{(\textwidth,0pt)% header line {\hfill}% {\hfill}% {\hfill}% (\textwidth,0pt)}% {(\textwidth,.4pt)% footer line {\pagemark\hfill}% {\hfill\pagemark}% {\hfill\pagemark\hfill}% (\textwidth,1pt)} \renewpagestyle{headings}{(\textwidth,1pt)% header {\headmark\hfill}% {\hfill\headmark}% {\hfill\headmark\hfill}% (\textwidth,.4pt)}% {(\textwidth,.4pt)% footer {\pagemark\hfill% Copyright \copyright\ Markus Kohm, 1994--1996}% {Package \texttt{scrpage}\hfill\pagemark}% {\rlap{Package \texttt{scrpage}}\hfill% Copyright \copyright\ Markus Kohm, 1994--1996% \hfill\llap\pagemark}% (\textwidth,1pt)} \pagestyle{headings} % this starts our new page style \end{verbatim}\end{small} \EndIndex{Cmd}{defpagestyle}\EndIndex{Cmd}{newpagesyle} \EndIndex{Cmd}{renewpagestyle}\EndIndex{Cmd}{providepagestyle} \EndIndex{Package}{scrpage} \clearpage \makeatletter \let\ps@plain\ps@oldplain \let\ps@headings\ps@oldheadings \makeatother \pagestyle{headings} \clearpage \begin{thebibliography}{XXXXX99} \bibitem[Duden20]{Duden} \textsc{Duden} ``Die deutsche Rechtschreibung'' (\emph{The German Grammatic}), volume~1, 20th~printing, Dudenverlag, 1991 \bibitem[CJK]{CJK} \textsc{Werner Lemberg:} ``The CJK package for \LaTeXe'', to be found at the CTAN hosts and its mirrors \bibitem[POost94]{fancyheadings} \textsc{Piet van Oostrum:} "`Page headers and footers in \LaTeX"', available at the CTAN hosts and its mirrors \bibitem[JTsch87]{JanTschichold} \textsc{Jan Tschichold:} ``Ausgew\"ahlte Aufs\"atze \"uber die Gestalt des Buches und der Typographie'' (\emph{Selected Papers on book design and typography}), 2nd~printing, Birkh\"auser Verlag, Basel~1987 \end{thebibliography} \printindex \end{document}