diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/doc/scrguide.cls')
-rw-r--r-- | Master/texmf-dist/source/latex/koma-script/doc/scrguide.cls | 306 |
1 files changed, 265 insertions, 41 deletions
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 fca716d4663..a1067b91d27 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) 2005-2007 Markus Kohm +% Copyright (C) 2005-2008 Markus Kohm % % 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) 2005-2007 Markus Kohm +% Copyright (C) 2005-2008 Markus Kohm % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3b, verteilt und/oder veraendert werden. @@ -38,7 +38,7 @@ % \section{Identification} % % \begin{macrocode} -\ProvidesClass{scrguide}[2007/12/15 v1.0 internal KOMA-Script guide class] +\ProvidesClass{scrguide}[2008/09/04 v1.3b internal KOMA-Script guide class] % \end{macrocode} % % @@ -98,8 +98,17 @@ \LoadClassWithOptions{scrbook} \RequirePackage[latin1]{inputenc} \RequirePackage[TS1,T1]{fontenc} -\RequirePackage{babel} +\def\languages{} +\ifstr{\languagename}{english}{}{\g@addto@macro\languages{,english}} +\ifstr{\languagename}{ngerman}{\frenchspacing}{% + \g@addto@macro\languages{,ngerman}} +\g@addto@macro\languages{,\languagename} +\edef\uselanguage{\languagename} +\edef\languages{\languages} +\expandafter\RequirePackage\expandafter[\languages]{babel}% \RequirePackage[fixlanguage]{babelbib} +\expandafter\selectbiblanguage\expandafter{\uselanguage} +\RequirePackage{afterpage} \RequirePackage{makeidx} \RequirePackage{scrdate} \RequirePackage{scrtime} @@ -109,13 +118,15 @@ \RequirePackage{amsmath} \RequirePackage{listings} \RequirePackage{multicol} -\RequirePackage{hyperref} +\RequirePackage{xcolor,tocstyle}% hyperref needs xcolor with tocstyle +\RequirePackage[\uselanguage]{hyperref} % \end{macrocode} % % % \section{Free or Non-Free Version} % % \begin{macrocode} +\newif\ifshortversion\shortversionfalse \AtEndOfClass{% \InputIfFileExists{scrnonfree.tex}{}{% \typeout{^^J @@ -128,6 +139,14 @@ ^^J% }% \newcommand*{\iffree}{\@firstoftwo}% + \shortversiontrue + \newcommand*{\LoadNonFree}[2]{% + \par + Im \KOMAScript-Buch \cite{book:komascript} finden sich an dieser Stelle + weitere Informationen. + \par + }% + \AtBeginDocument{\InputIfFileExists{linkalias.tex}{}{}}% \usepackage{lmodern}% \@twosidefalse\@openrightfalse\@mparswitchfalse \RequirePackage{geometry}% @@ -184,6 +203,35 @@ \RequirePackage{textcomp} % \end{macrocode} % +% \section{Load common paragraphs} +% +% \begin{macrocode} +\newcounter{commonpar} +\newcommand*{\LoadCommon}[2][\label@base]{% + \setcounter{commonpar}{#2}% + \@ifundefined{ifCommon#1}{% + \expandafter\csname newif\expandafter\endcsname + \csname ifCommon#1\endcsname + }{}% + \csname Common#1true\endcsname + \input{common.tex}% + \csname Common#1false\endcsname +} +\newcommand*{\IfCommon}[1]{% + \ifstr{\label@base}{#1}{% + \@firstofone + }{% + \@gobble + }% +} +\newcommand*{\IfNotCommon}[1]{% + \ifstr{\label@base}{#1}{% + \@gobble + }{% + \@firstofone + }% +} +% \end{macrocode} % % \section{Language Dependencies} % @@ -191,16 +239,16 @@ % of the extensions to the language. % \begin{macrocode} \AtBeginDocument{% - \InputIfFileExists{\jobname-\languagename.tex}{% - \ClassInfo{scrguide}{Loading language dependencies for \languagename}% + \InputIfFileExists{\jobname-\uselanguage.tex}{% + \ClassInfo{scrguide}{Loading language dependencies for \uselanguage}% }{% - \ClassError{scrguide}{\languagename\space not supported}{% - You've tried to generate a guide for language `\languagename' but + \ClassError{scrguide}{\uselanguage\space not supported}{% + You've tried to generate a guide for language `\uselanguage' but language\MessageBreak - dependency file `\jobname-\language.tex' was not found.\MessageBreak + dependency file `\jobname-\uselanguage.tex' was not found.\MessageBreak This may result in a lot of errors and warnings, if you'll continue}% }% - \expandafter\addto\csname extras\languagename\endcsname + \expandafter\addto\csname extras\uselanguage\endcsname \GuideLanguageExtensions\GuideLanguageExtensions } % \end{macrocode} @@ -456,6 +504,8 @@ % % \begin{macro}{\Macro} % \begin{macro}{\Option} +% \begin{macro}{\KOption} +% \begin{macro}{\OptionValue} % \begin{macro}{\Environment} % \begin{macro}{\Counter} % \begin{macro}{\Length} @@ -470,9 +520,11 @@ % \begin{macro}{\OParameter} % \begin{macro}{\AParameter} % \begin{macro}{\PParameter} +% \begin{macro}{\POParameter} % \begin{description} % \item[\cs{Macro}] \LaTeX{} or \TeX{} macro % \item[\cs{Option}] class or package option +% \item[\cs{KOption}] |\KOMAoptions| option % \item[\cs{Environment}] \LaTeX{} environment % \item[\cs{Counter}] \LaTeX{} counter % \item[\cs{Length}] \LaTeX{} length @@ -491,6 +543,8 @@ % \begin{macrocode} \DeclareRobustCommand*{\Macro}[1]{\mbox{\texttt{\char`\\#1}}} \DeclareRobustCommand*{\Option}[1]{\mbox{\texttt{#1}}} +\DeclareRobustCommand*{\KOption}[1]{\mbox{\Option{#1}\texttt=}} +\DeclareRobustCommand*{\OptionValue}[2]{\mbox{\texttt{#1=#2}}} \DeclareRobustCommand*{\FloatStyle}[1]{\mbox{\texttt{#1}}} \DeclareRobustCommand*{\Pagestyle}[1]{\mbox{\texttt{#1}}} \DeclareRobustCommand*{\Environment}[1]{\mbox{\texttt{#1}}} @@ -511,6 +565,7 @@ }\PName{#1}\texttt{%( )}} \DeclareRobustCommand*{\PParameter}[1]{\texttt{\{#1\}}} +\DeclareRobustCommand*{\POParameter}[1]{\texttt{[#1]}} % \end{macrocode} % \end{macro} % \end{macro} @@ -528,6 +583,9 @@ % \end{macro} % \end{macro} % \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} % % \begin{macro}{\EMail} % An email adress. @@ -575,6 +633,11 @@ % \end{macrocode} % \end{macro} % +% Wie allow page breaks at display math. +% \begin{macrocode} +\allowdisplaybreaks[1] +% \end{macrocode} +% % % \section{Acronyms} % @@ -628,22 +691,38 @@ \expandafter\let\csname X##1\expandafter\endcsname \csname ##1\endcsname \expandafter\newcommand\expandafter*\csname new##1\endcsname[1]{% - \begingroup - \let\ensuremath\@firstofone - \let\textit\@firstofone - \lowercase{\def\@tempa{##1}}% - \pdfstringdef\@tempb{\label@base.\@tempa.####1}% - \xdef\@currentHref{\@tempb}% - \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}% - \label{desc:\label@base.\@tempa.####1}% - \endgroup +% \begingroup +% \let\ensuremath\@firstofone +% \let\textit\@firstofone +% \lowercase{\def\@tempa{##1}}% +% \pdfstringdef\@tempb{\label@base.\@tempa.####1}% +% \xdef\@currentHref{\@tempb}% +% \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}% +% \label{desc:\label@base.\@tempa.####1}% +% \endgroup \csname X##1\endcsname{####1}\ignorespaces }% \expandafter\let\csname ##1\expandafter\endcsname\csname new##1\endcsname }% + \newcommand*{\new@xelement}[2]{% + \expandafter\newcommand\expandafter*\csname X##1\endcsname{}% + \expandafter\let\csname X##1\expandafter\endcsname + \csname ##1\endcsname + \expandafter\newcommand\expandafter*\csname new##1\endcsname[2]{% +% \begingroup +% \let\ensuremath\@firstofone +% \let\textit\@firstofone +% \lowercase{\def\@tempa{##1}}% +% \pdfstringdef\@tempb{\label@base.\@tempa.####1.####2}% +% \xdef\@currentHref{\@tempb}% +% \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}% +% \label{desc:\label@base.\@tempa.####1.####2}% +% \endgroup + \csname X##1\endcsname{####1}{##2{####2}}\ignorespaces + }% + \expandafter\let\csname ##1\expandafter\endcsname\csname new##1\endcsname + }% % \end{macrocode} -% \begin{macro}{\newOption} -% \begin{macro}{\newMacro} % \begin{macrocode} \new@element{Option}% \new@element{Macro}% @@ -652,20 +731,20 @@ \new@element{FloatStyle}% \new@element{PLength}% \new@element{Variable}% + \new@xelement{OptionValue}{\PValue}% % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} % \begin{macrocode} - \par\small\addvspace{2\baselineskip plus .5\baselineskip}% + \ifvmode\else\par\fi\small\addvspace{2\baselineskip}% \vspace{-\baselineskip}% + \vspace{\z@ plus \baselineskip}% \noindent\hspace{-1em}% \tabular{|l|}\hline\ignorespaces }{% \\\hline\endtabular\nobreak\par\nobreak - \vspace{1.5\baselineskip}\vspace{-\baselineskip}% - \vspace{0pt minus .5\baselineskip}% - \noindent\ignorespacesafterend + \vspace{1.5\baselineskip}\nobreak\vspace{-\baselineskip}\nobreak% + \vspace{0pt minus .5\baselineskip}\nobreak% + \aftergroup\@afterindentfalse\aftergroup\@afterheading } % \end{macrocode} % \end{environment} @@ -733,9 +812,9 @@ % \KOMAScript{} but not important for using \KOMAScript. % \begin{macrocode} \newenvironment{Explain}{% - \par\sffamily + \par\sffamily\ignorespaces }{% - \normalcolor\par + \par } % \end{macrocode} % \end{environment} @@ -832,7 +911,7 @@ % \begin{macrocode} \providecommand*{\ChangedAt}[2]{% \marginline{\footnotesize\fbox{\strut#1}}% - \glossary{#2>#1|indexrm}% + \glossary{#1|indexrm}% } % \end{macrocode} % \end{macro} @@ -962,10 +1041,97 @@ % % Setup listings: % \begin{macrocode} -\lstset{basicstyle=\ttfamily,% - aboveskip=.5\baselineskip,% - belowskip=.5\baselineskip,% - columns=fullflexible% fix for buggy version of LM fonts +\lstdefinestyle{basics}{% + basicstyle=\ttfamily,% + aboveskip=.4\baselineskip,% + belowskip=0\baselineskip% +} +\lstdefinestyle{code}{% + style=basics,% + language=[LaTeX]TeX,% + moretexcs={% + @auxout, + @currext, + @empty, + @float, + @ifpackagelater, + @ifundefined, + @rightmark, + @secondoftwo, + @tempswafalse,@tempswatrue, + AtBeginDocument, + AtEndDocument, + ClassWarningNoLine,CurrentOption, + DeclareOption,dimexpr, + end@float, + ExecuteOptions, + if@filesw,if@tempswa,if@twoside, + includegraphics, + MessageBreak, + onehalfspacing, + PackageError,PackageInfo,PackageWarning,PassOptionsToPackage, + ProcessOptions,ProvidesFile,ProvidesPackage, + RequirePackage, + setlength, + textsuperscript}% +} +\lstdefinestyle{output}{% + style=basics,breaklines,prebreak=\mbox{$\hookleftarrow$}% +} +\lstdefinestyle{KOMA}{% + style=code,% + moretexcs={% + @addtoplength,@setplength,@newplength, + addchap,addrentry,Address,addcontentslinetoeachtocfile,addtoeachtocfile, + addtokomafont,addtolengthplength,addtoreffields,addtotoclist, + adrchar,adrentry,AfterBibliographyPreamble,AfterFile,AfterPackage, + appendixmore,appendixname,areaset,autodot,automark,AtAddToTocList, + AtBeginLetter, + BeforeClosingMainAux,BeforePackage,bib@beginhook,bib@endhook, + cc,captionabove,captionformat,cefoot,cfoot,chapapp,chapappifchapterprefix, + chapter,chapterformat,chaptermarkformat,chapterpagestyle,chead, + cleardoubleevenemptypage,clearscrheadfoot,closing,cofoot,Comment, + dedication,deffootnote,deffootnotemark,DefineFamily,DefineFamilyKey, + DefineFamilyMember,defpagestyle,deftripstyle, + dictum,dictumauthorformat,dictumwidth,doforeachtocfile, + encl,extratitle, + FamilyBoolKey,FamilyExecuteOptions,FamilyNumericalKey,% + FamilyOption,FamilyOptions,FamilyProcessOptions,FamilySetBool, + figureformat,figurename,firstfoot,firsthead,FirstName,footfont,footref, + FreeI,FreeII,FreeIII,FreeIV, + headfont,headmark, + ifattoclist,ifoot,ihead,ifkomavarempty,ifstr,ifthispageodd,InputAddressFile, + KOMAoption,KOMAoptions,KOMAScript, + l@addto@macro,LastName,LetterOptionNeedsPapersize,listoffigures, + listoftables,listoftoc,LoadLetterOption,lohead,lowertitleback, + MakeMarkcase,maketitle,manualmark,marginline,minisec, + multfootsep,multiplefootnoteseparator, + Name,nameday,newbibstyle,newcaptionname,newkomavar,nexthead, + ofoot,ohead,opening,othersectionlevelsformat, + p@section,pagemark,part,partformat,partname,partpagestyle,pnumfont, + publishers,ps, + raggedsection,raggedpart,raggedsignature,recalctypearea,rehead, + removereffields,ReplaceInput,ReplacePackage, + sectionmarkformat,setbibpreamble,setcapindent,setcapwidth, + setchapterpreamble,setfootbotline,setfootsepline,setfootwidth, + setheadsepline,setheadtopline,setheadwidth,setindexpreamble,setkomafont, + setkomavar,setlengthtoplength,setparsizes,setpartpreamble,setuptoc, + subject,subsectionmarkformat,subtitle, + tableformat,tablename,tableofcontents,textsubscript,thechapter,thefigure, + thefootnotemark,thepart,thesection,thesubsection,thetable,thistime, + titlehead,tocbasic@extend@babel,todaysname,typearea, + unsettoc,usekomafont,useplength,usekomavar,uppertitleback + }% +} +\lstset{style=basics} +\lstnewenvironment{lstoutput}[1][]{% + \lstset{style=output,basicstyle=\ttfamily\small,#1}% +}{} +\lstnewenvironment{lstcode}[1][]{% + \lstset{style=KOMA,basicstyle=\ttfamily\small,#1}% +}{} +\newcommand*{\lstinputcode}[1][]{% + \lstinputlisting[style=KOMA,basicstyle=\ttfamily\small,#1]% } % \end{macrocode} % @@ -1067,10 +1233,22 @@ KOMAScript \endcsname % We have large page numbers, so better setup the needed width. And we like % other dot seperation. % \begin{macrocode} -\renewcommand*{\@pnumwidth}{1.67em} +\usetocstyle{classic} +\renewcommand*{\@pnumwidth}{1.8em}% 1.67 +\renewcommand*\@tocrmarg {2.70em}% 2.55em \renewcommand*\@dotsep{2.5} % \end{macrocode} % +% \section{Part} +% +% We want another vertical spacing at part headings. +% \begin{macrocode} +\renewcommand*{\partheadstartvskip}{\vspace*{.1\textheight}} +\renewcommand*{\partheadmidvskip}{\par\nobreak\vspace{.5\baselineskip}} +\renewcommand*{\partpagestyle}{empty} +% \end{macrocode} +% +% % \section{Appendix} % % \begin{macro}{\appendix} @@ -1106,13 +1284,22 @@ KOMAScript \endcsname \bibliographystyle{babalpha-fl}% \renewcommand*{\@openbib@code}{% \setlength{\parsep}{0pt}% - \renewcommand*{\btxauthorcolon}[1]{:\par}% - \renewcommand*{\btxurlfont}{\par\url}% + \renewcommand*{\btxauthorcolon}[1]{:\par\nobreak}% + \renewcommand*{\btxurlfont}{\par\nobreak\url}% \raggedright }% } % \end{macrocode} % +% The generated argument of thebibliography is to short: +% \begin{macrocode} +\newcommand*{\OrigTheBibliography}{} +\let\OrigTheBibliography\thebibliography +\renewcommand*{\thebibliography}[1]{% + \OrigTheBibliography{XXXX99}% +} +% \end{macrocode} +% % % \section{Index} % @@ -1351,7 +1538,12 @@ KOMAScript \endcsname % |\Define|\dots|Index| for more information about the kind of an index % entry. The third argument is the index entry. % \begin{macrocode} +\newif\ifnolabel +\def\nolabelfalse{\global\let\ifnolabel\iffalse}% +\def\nolabeltrue{\global\let\ifnolabel\iftrue}% +\newlength\PreserveSkip \newcommand*{\BeginIndex}[3][indexmain]{% + \ifvmode\PreserveSkip=\lastskip\else\PreserveSkip=\z@\fi \expandafter\ifx\csname Index#2\endcsname\relax \GenericError{(scrguide)\@spaces\@spaces\@spaces\@spaces}{% Document scrguide Error: \string\BeginIndex\space with unknown @@ -1363,6 +1555,38 @@ KOMAScript \endcsname \csname Index#2\endcsname[(%) #1]{#3}% \fi + \ifnolabel\nolabelfalse\else + \ifx\relax#2\relax\else + \begingroup + \def\SplitIndexValue##1~=##2~=##3\@nil{% + ##1\expandafter\ifx\expandafter\relax##2\relax\else.##2\fi + }% + \let\PName\@gobble + \let\PValue\@firstofone + \let\ensuremath\@firstofone + \let\textit\@firstofone + \def~{\string~}% + \lowercase{\def\@tempa{#2}}% + \edef\@tempa{\label@base.\@tempa.\SplitIndexValue#3~=~=\@nil}% + \pdfstringdef\@tempb{\@tempa}% + \expandafter\ifx\csname \@tempb\endcsname\relax + \expandafter\xdef\csname \@tempb\endcsname{\the\inputlineno}% + \xdef\@currentHref{\@tempb}% + \ClassInfo{scrguide}{Anchor: `\@currentHref'}% + \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}% + \label{desc:\@tempa}% + \else + \ClassWarning{scrguide}{% + Label \@tempa\space already defined at \csname + \@tempb\endcsname,\MessageBreak + ignored}% + \fi + \endgroup + \fi + \fi + \ifvmode\ifdim \PreserveSkip=\z@\else + \vskip -\PreserveSkip\vskip\PreserveSkip + \fi\fi \ignorespaces } \newcommand*{\EndIndex}[3][indexmain]{% @@ -1441,7 +1665,7 @@ KOMAScript \endcsname \expandafter\newcommand\expandafter*% \csname Index#2\endcsname[2][indexother]{% \Index[##1]{##2 (#1)=\UseIndex{gen}#4{##2} (\protect #1)}% - \Index[##1]{#2=\UseIndex{gen}\protect#1>##2=\UseIndex{gen}#4{##2}}% + \Index[##1]{\csname Guide#2IndexCategoryExpanded\endcsname=\UseIndex{gen}\expandafter\protect\csname Guide#2IndexCategory\endcsname>##2=\UseIndex{gen}#4{##2}}% \IndexSeeAt[#1]{##2}{#3}{gen}{\GuidegenIndex}{#4}% }% \fi @@ -1479,8 +1703,8 @@ KOMAScript \endcsname \else \expandafter\newcommand\expandafter*% \csname Index#2\endcsname[2][indexother]{% - \IndexSeeAt[#1]{##2}{gen}{#3}{#4}{#6}% - \Index[##1]{#1=\UseIndex{gen}\protect#1>##2=\UseIndex{gen}#6{##2}}% +% \IndexSeeAt[#1]{##2}{gen}{#3}{#4}{#6}% +% \Index[##1]{#1=\UseIndex{gen}\protect#1>##2=\UseIndex{gen}#6{##2}}% \IndexSeeAt[#1]{##2}{#5}{#3}{#4}{#6}% \Index[##1]{##2 (#1)=\UseIndex{#3}#6{##2} (\protect #1)}% }% |