% %<*other> % \ifcat a\noexpand @\let\next\relax\else \def\next{% \documentclass{kluwer}\usepackage{doc}\MakePercentIgnore}\fi\next \NeedsTeXFormat{LaTeX2e} \def\filedate{2000/04/29} % \def\changes#1#2{} % \changes{1999/10/21}{option margspec to let user-specified % values for \leftmargini[i[i]] persist. Under this option, % enumerate still enlarges \leftmargin if it would otherwise % be too small; only meaningful with kaplist. % restored @mklab to its function as a hook} % \changes{2000/03/27}{set or preserve topsepm@th in % enumerate/itemize environments for trivm@th; see klumath} \def\filename{klulist.sty} %\DoNotIndex{\@M,\def,\c@secnumdepth,\baselineskip,\@pnumwidth,\else,\fi} %\DoNotIndex{\newcommand,\z@,\relax,\renewcommand,\ifnum,\csname,\endcsname} %\DoNotIndex{\baselineskip,\vskip,\hskip,\relax,\secdef,\refstepcounter} %\DoNotIndex{\normalsize,\numberline,\protect,\endinput} %\CodelineIndex %\newcommand{\Bs}{$\backslash$} %\parindent=0pt %\parskip=3pt %\hfuzz=10pt %\MakeShortVerb{\|} %\addtolength{\textwidth}{4pc} %\begin{document} %\begin{opening} %\title{\filename} %\date{\filedate} %\author{Kluwer Academic Publishers\surname{}} %\institute{~} %\begin{abstract} % This internal stylefile takes care of list definitions and `general' % environments. There is one option: |kaplist|. %\end{abstract} %\end{opening} %\tableofcontents %\section{Usage} % For the time being, all environments for which it is not so clear % where to put them are placed in this file. This came about because % most of these are |\trivlist| alike, but is quite arbitrary. % % As a result, this stylefile defines the following `common' % environments: \\[6pt] %|verse|\\ %|quote|\\ %|quotation|\\ %|frontmatter|\\ %|acknowledgements|\\ %|notes|\\ %|vitae|\\ %|ao|\\ %~ % And, of course, |itemize|, |enumerate| and |description|. %\section{Implementation} % \begin{macrocode} \ProvidesPackage{klulist}[\filedate ] % %<*head> \newif\if@kaplist \DeclareOption{kaplist}{\@kaplisttrue} % \end{macrocode} % The following new option ensures that kaplist does not overrule % existing settings of |leftmargini| etc. % \begin{macrocode} \newif\if@margspec \DeclareOption{margspec}{\@margspectrue} % %<*other> %\ExecuteOptions{...} % placeholder \ProcessOptions\relax % %<*main> % \end{macrocode} % The label and counter default values for |enumerate|. Reference % output at a level above 3 starts to look ridiculous. % \begin{macrocode} \def\labelenumi{\arabic{enumi}.} % 1. \def\theenumi{\arabic{enumi}} % 1 \def\labelenumii{\alph{enumii})} % a) \def\theenumii{\alph{enumii}} % a \def\p@enumii{\theenumi} % 1a \def\labelenumiii{\it\roman{enumiii})} % \it i) \def\theenumiii{\roman{enumiii}} % i \def\p@enumiii{\theenumi(\theenumii)} % 1(a)\it i) \def\labelenumiv{\Alph{enumiv})} % A) \def\theenumiv{\Alph{enumiv}} % A \def\p@enumiv{\p@enumiii\theenumiii} % 1(a)\it i)A % \end{macrocode} % Itemize labels % \begin{macrocode} \def\labelitemi{\m@th$-$} \def\labelitemii{\m@th$\bullet$} \def\labelitemiii{\m@th$\ast$} \def\labelitemiv{{\footnotesize +}} % \end{macrocode} % Description list. % \begin{macrocode} \def\descriptionlabel#1{\hspace\labelsep \bf #1} \newenvironment{description}{% \list{}{% \labelwidth\z@ \itemindent -\leftmargin \let\makelabel\descriptionlabel }}{\endlist} % \end{macrocode} % \subsection{kaplist} % This changes quite a lot of things. % % Insert different options to |\list| % \begin{macrocode} \newskip\topsepm@th \if@kaplist \def\kapitemargs{% \topsep \z@ \@plus 1pt \partopsep \z@ \@plus 1pt \itemsep \z@ \@plus \z@ \parsep \z@ \@plus 1pt % items separated by \itemsep plus \parsep \if@margspec \else \leftmargini \z@ \fi \if@margspec \else \leftmarginii 1em \fi \if@margspec \else \leftmarginiii 1em \fi \if@margspec \else \leftmarginiv 1em \fi \if@margspec \leftmargin\csname leftmargin\romannumeral\@itemdepth\endcsname \labelwidth\leftmargin \advance\labelwidth-\labelsep \fi \rightmargin \z@ \listparindent \z@ \itemindent \z@ } \def\kapenumargs{% \topsep \z@ \@plus 1pt \partopsep \z@ \@plus 1pt \itemsep \z@ \@plus \z@ \parsep \z@ \@plus 1pt \if@margspec \else \leftmargini \z@ \fi \if@margspec \else \leftmarginii 1em \fi \if@margspec \else \leftmarginiii 1em \fi \if@margspec \else \leftmarginiv 1em \fi \if@margspec \leftmargin\csname leftmargin\romannumeral\@enumdepth\endcsname \labelwidth\leftmargin \advance\labelwidth-\labelsep \fi \rightmargin \z@ \listparindent \z@ \itemindent \z@ } % \end{macrocode} % Changed |\@mklab| from |[ 1]| to |[1 ]| % \begin{macrocode} \renewcommand{\@mklab}[1]{#1\hfil} % for custom list env-s only \else \def\kapenumargs{} \def\kapitemargs{} \fi % \end{macrocode} % Label formatting for enumerate and itemize defined \emph{outside} % these environments, for easier customization. % \begin{macrocode} \def\@@enum@label#1{\hss \llap{#1}} % may stick out into l. margin \def\@@item@label#1{\hss #1\hfil} % \end{macrocode} % \subsection{Other environments} % These are the environments that we {\it have\/} to define. % % This enumerate has an optional argument and uses that to implement dynamic % resizing of the left margin. % % This itemize has an extra optional argument that gives the default label. % \begin{macrocode} \def\enumerate{\@ifnextchar[% {\kap@enumerate}% {\if@margspec \kap@enumerate[] \else \kap@enumerate[00] \fi }} \def\kap@enumerate[#1]{% \ifnum \@enumdepth >3 \@toodeep\else \advance\@enumdepth \@ne \edef\@enumctr{enum\romannumeral\the\@enumdepth} \list{\csname label\@enumctr\endcsname}{% \topsepm@th \topsep \kapenumargs \usecounter{\@enumctr} \settowidth\labelwidth{#1.} \setlength{\@tempdima}{\labelwidth} \addtolength{\@tempdima}{\labelsep} \if@margspec \ifdim \@tempdima > \leftmargin \setlength{\leftmargin}{\@tempdima} \fi \else \setlength{\leftmargin}{\@tempdima} \fi \let\makelabel\@@enum@label} \fi } \let\endenumerate\endlist \def\itemize{\@ifnextchar[{\kap@itemize}{\kap@itemize[]}} \def\kap@itemize[#1]{\def\klu@arg{#1}% \ifnum \@itemdepth >3 \@toodeep \else \advance\@itemdepth \@ne \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% \ifx \klu@arg\empty \list {\csname\@itemitem\endcsname}{% \topsepm@th \topsep \kapitemargs \let\makelabel\@@item@label} \else \list {\klu@arg }{% \kapitemargs \let\makelabel\@@item@label } \fi \fi } \let\enditemize\endlist \def\verse{\let\\=\@centercr \list{}{\itemsep\z@ \itemindent -1.5em \listparindent \itemindent \rightmargin\leftmargin \advance\leftmargin 1.5em }\item[]} \let\endverse\endlist \def\quotation{\quoteskip \list{}{% \listparindent 1.5em \topsep .5ex plus 2pt minus 1pt \itemindent\listparindent \parsep 0pt plus 1pt }\item[] \hskip-\listparindent} \def\endquotation{\endlist\quoteskip} \def\quote{\quoteskip\list{}{% \leftmargin 1.5em \topsep .5ex plus 2pt minus 1pt }\item[]} \def\endquote{\endlist\quoteskip} \def\quoteskip{} \def\frontmatter{\begingroup\thispagestyle{empty}% \renewcommand{\thepage}{\roman{page}}\setcounter{page}{1}} \def\endfrontmatter{\newpage\endgroup\setcounter{page}{1}} % \end{macrocode} % \subsection{`New' environments} % The |notes| environment is used for incapsulation of `endnotes' that % are typed in. % \begin{macrocode} \newenvironment{notes}{\sectioncmd*{\notesname}\footnotesize \begin{enumerate}}{\end{enumerate}% \par \vskip 6pt \@plus 12pt \@minus 2pt} \def\notesname{Notes} % \end{macrocode} % % This is the |vitae| environment. It does not use a list, but `item's % are specified through |\Vauthor|. The name is defined in % |\vitaename| and |\multiplevitaename|. % % The choice between these two names is done by checking the value of % |enumiv|, which is incremented by every |\Vauthor|. % \begin{macrocode} \newenvironment{vitae}{% \begingroup \setcounter{enumiv}{0}% \global\setbox0=\vbox\bgroup }{% \egroup \ifnum \c@enumiv > 1 \par\section*{\multiplevitaename}% \else \par\section*{\vitaename}% \fi \unvbox0 \endgroup \par \vspace{24pt}% } \newcommand{\Vauthor}[1]{% \addtocounter{enumiv}{1}% \subsubsection*{#1}% } \def\vitaename{Author's Vitae}% \def\multiplevitaename{Authors' Vitae}% % \end{macrocode} % |ao| will be typeset at the end of an article. % I exchanged the |\if| for a permanent |\box|, because % the box is needed anyway. % \begin{macrocode} \newbox\aobox \newenvironment{ao}{% \global\setbox\aobox \vbox\bgroup \footnotesize\noindent % \end{macrocode} % Watch out for the fixed space here. % \begin{macrocode} \ifx\offprintsaddress\empty \leavevmode \else {\it \offprintsaddress:\/}\ \fi } {\par\vskip18pt\egroup} \newcommand{\make@ao}{% \@tempdima \ht\aobox \ifdim \@tempdima > 0pt \vskip 1pc % added by SK \par\noindent \unvbox\aobox \fi } % \end{macrocode} % This is a name that is not done at |\begin{document}|, because % certain style may want to change this. The safeguard above is in % case a style defines it to be empty. % \begin{macrocode} \newcommand{\offprintsaddress}{Address for Offprints} \newenvironment{thenomenclature}{\section*{Nomenclature} \parbox[t]{.48\textwidth}\bgroup\parindent 0pt \footnotesize \begin{tabular}{p{2pc}p{11pc}}}{% \end{tabular}\egroup} \newcommand{\splitnomen}{\end{tabular}\egroup~\parbox[t]{.48\textwidth}% \bgroup\parindent 0pt \footnotesize \begin{tabular}{p{2pc}p{11pc}}} \newcommand{\nmc}[1]{\parbox[t]{11pc}{\raggedright #1}} \def\verbatim@font{\normalsize\tt} \def\acknowledgementsname{Acknowledgements}% \def\acknowledgements{\section*{\acknowledgementsname}% \message{\acknowledgementsname}} \def\endacknowledgements{\par \bigskip} % %<*other> \endinput % \end{macrocode} %\PrintIndex %\end{document} % end of klulist.sty %