diff options
Diffstat (limited to 'obsolete/macros/latex209/contrib/vdm/vdmindex.sty')
-rw-r--r-- | obsolete/macros/latex209/contrib/vdm/vdmindex.sty | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/obsolete/macros/latex209/contrib/vdm/vdmindex.sty b/obsolete/macros/latex209/contrib/vdm/vdmindex.sty new file mode 100644 index 0000000000..c3df2f7a8c --- /dev/null +++ b/obsolete/macros/latex209/contrib/vdm/vdmindex.sty @@ -0,0 +1,78 @@ +%%% ==================================================================== +%%% @LaTeX-style-file{ +%%% author = "Mario Wolczko", +%%% version = "2", +%%% date = "21 May 1992", +%%% time = "21:10:02 BST", +%%% filename = "vdmindex.sty", +%%% address = "Dept of Computer Science +%%% The University of Manchester +%%% Oxford Road +%%% Manchester M13 9PL +%%% UK", +%%% telephone = "+44-61-275-6146", +%%% FAX = "+44-61-275-6236", +%%% checksum = "16947 78 289 2980", +%%% email = "mario@madarch (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "LaTeX, VDM specification language, indexing", +%%% supported = "yes", +%%% docstring = "Modifies the behaviour of the VDM style to +%%% facilitate indexing of types, functions and operations.", +%%% } +%%% ==================================================================== +% +% The makeidx and ifthen styles must also be included in the style options when +% using this style, eg: +% \documentstyle[vdm,makeidx,ifthen,vdmindex,12pt... +% \makeindex +% See the makeindex manual for more detail on how indexing works. +% +% Under normal use, an index of all \type, {record}, {fn} and {op} +% names will be written to a .idx file. After this is done, the shell +% script vdmindex should be run, generating typeidx.ind and fnidx.ind, +% which are then subsequently included using \include, eg: +% \section{Index to Types} +% \input{typeidx.ind} +% +% \section{Index to Functions} +% \input{fnidx.ind} +% +% Any type, record, function or operation can be excluded from the +% index by placing the command \noindex within the environment (or +% before, for \type). +% +{\makeatother\global\let\atletter@} + +% stuff to index names +\newcommand{\@doindex}{yes} +\def\noindex{\gdef\@doindex{no}} +\def\doindex{\gdef\@doindex{yes}} + +\def\postOperationHook{% + \ifthenelse{\equal{\@doindex}{yes}}% + {\index{op-\the\@operationName\atletter$\the\@operationName$}}% + {\doindex}% + \penalty\postOperationPenalty} +\def\postFunctionHook{% + \ifthenelse{\equal{\@doindex}{yes}}% + {\index{fn-\the\@fnName\atletter$\the\@fnName$}}% + {\doindex}% + \penalty\postFunctionPenalty} +\def\postTypeHook{\ifthenelse{\equal{\@doindex}{yes}}% + {\index{type-\the\@typeName\atletter$\the\@typeName$}}% + {\doindex}} +\def\postRecordHook{% + \ifthenelse{\equal{\@doindex}{yes}}% + {\index{rec-\the\@recordName\atletter$\the\@recordName$}}% + {\doindex}% + \penalty\postRecordPenalty} + +% this overrides LaTeX's theindex env, which generates "Index" +% and goes into two column mode. +\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi +%\columnseprule \z@ +%\columnsep 35pt%\twocolumn[\@makeschapterhead{Index}] +% \@mkboth{INDEX}{INDEX}\thispagestyle{plain} + \parindent\z@ + \parskip\z@ plus .3pt\relax\let\item\@idxitem} |