%% %% This is file `ltxindex.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% ltxindex.dtx (with options: `ltxindex,package') %% %% ltxindex.sty, a LaTeX package to typeset indices with GNU's Texindex %% Copyright (C) 2004 by Richard Stallman, Robert J. Chassell, %% Michael Clarkson, \& Luis Rivera. %% %% This program is free software; you can redistribute it and/or modify %% it under the terms of the GNU General Public License as published by %% the Free Software Foundation; either version 2, or (at your option) %% any later version. %% %% This program is distributed in the hope that it will be useful, %% but WITHOUT ANY WARRANTY; without even the implied warranty of %% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the %% GNU General Public License for more details. %% %% You should have received a copy of the GNU General Public License %% along with this program; if not, write to the Free Software %% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. %% %% WARNING!!! This code is fairly experimental. %% \NeedsTeXFormat{LaTeX2e}[1995/06/01] \ProvidesPackage{ltxindex} [2008/06/06 v0.1c ltxindex: LaTeX indexing, texindex style] \RequirePackage{multicol} \newenvironment{ltxmulticols}{\begin{multicols}{2}}{\end{multicols}} \DeclareOption{nomulticol}{\renewenvironment{ltxmulticols}{}{}} \def\cindex{\cpindex} \def\pindex{\pgindex} \def\vindex{\vrindex} \def\tindex{\tpindex} \def\kindex{\kyindex} \def\findex{\fnindex} \def\newindex#1{\csname newindex#1\endcsname} \def\newindexcp{\if@filesw \newwrite\@cpindexfile \immediate\openout\@cpindexfile=\jobname.cp \def\cpindex{\@bsphack\begingroup \def\protect####1{\string####1\space}\@sanitize \@wrindex\@cpindexfile}% \def\cpsubindex{\@bsphack\begingroup \def\protect####1{\string####1\space}\@sanitize \@wrsubindex\@cpindexfile}% \def\cpindexbold{\@bsphack\begingroup \def\protect####1{\string####1\space}\@sanitize \@wrindexbold\@cpindexfile} \typeout{Writing concepts index file \jobname.cp }% \fi} \def\cpindex{\@bsphack\begingroup \@sanitize\@index} \def\cpsubindex{\@bsphack\begingroup \@sanitize\@index} \def\cpindexbold{\@bsphack\begingroup \@sanitize\@index} \def\@wrindex#1#2{\let\thepage\relax \xdef\@gtempa{\write#1{\string \entry{#2}{\thepage}{#2}}}\endgroup \def\@tempa{}\def\thing{#2}\ifx\thing\@tempa\relax\else\@gtempa\fi \if@nobreak \ifvmode\nobreak\fi\fi\@esphack} \def\@wrindexbold#1#2{\let\thepage\relax \let\bf\relax \xdef\@gtempa{\write#1{\string \entry{#2}{\b{\thepage}}{#2}}}\endgroup \def\@tempa{}\def\thing{#2}\ifx\thing\@tempa\relax\else\@gtempa\fi \if@nobreak \ifvmode\nobreak\fi\fi\@esphack} \def\@wrsubindex#1#2#3{\let\thepage\relax \xdef\@gtempa{\write#1{\string \entry{#2 #3}{\thepage}{#2}{#3}}}\endgroup% \@gtempa \if@nobreak \ifvmode\nobreak\fi\fi\@esphack} \def\@index#1{\endgroup\@esphack} \def\pgindex{\@bsphack\begingroup \@sanitize\@index} \def\newindexpg{\if@filesw \newwrite\@pgindexfile \immediate\openout\@pgindexfile=\jobname.pg \def\pgindex{\@bsphack\begingroup \def\protect####1{\string####1\space}\@sanitize \@wrindex\@pgindexfile} \def\pgindexbold{\@bsphack\begingroup \def\protect####1{\string####1\space}\@sanitize \@wrindexbold\@pgindexfile} \typeout{Writing index file \jobname.pg }\fi} \def\pgindex{\@bsphack\begingroup \@sanitize\@index} \def\pgindexbold{\@bsphack\begingroup \@sanitize\@index} \def\newindexvr{\if@filesw \newwrite\@vrindexfile \immediate\openout\@vrindexfile=\jobname.vr \def\vrindex{\@bsphack\begingroup \def\protect####1{\string####1\space}\@sanitize \@wrindex\@vrindexfile} \def\vrindexbold{\@bsphack\begingroup \def\protect####1{\string####1\space}\@sanitize \@wrindexbold\@vrindexfile} \typeout{Writing variable index file \jobname.vr }\fi} \def\vrindex{\@bsphack\begingroup \@sanitize\@index} \def\vrindexbold{\@bsphack\begingroup \@sanitize\@index} \def\newindextp{\if@filesw \newwrite\@tpindexfile \immediate\openout\@tpindexfile=\jobname.tp \def\tpindex{\@bsphack\begingroup \def\protect####1{\string####1\space}\@sanitize \@wrindex\@tpindexfile} \def\tpindexbold{\@bsphack\begingroup \def\protect####1{\string####1\space}\@sanitize \@wrindexbold\@tpindexfile} \typeout{Writing datatype index file \jobname.tp }\fi} \def\tpindex{\@bsphack\begingroup \@sanitize\@index} \def\tpindexbold{\@bsphack\begingroup \@sanitize\@index} \def\newindexky{\if@filesw \newwrite\@kyindexfile \immediate\openout\@kyindexfile=\jobname.ky \def\kyindex{\@bsphack\begingroup \def\protect####1{\string####1\space}\@sanitize \@wrindex\@kyindexfile}\typeout{Writing key index file \jobname.ky} \fi} \def\kyindex{\@bsphack\begingroup \@sanitize\@index} \def\kyindexbold{\@bsphack\begingroup \@sanitize\@index} \def\newindexfn{\if@filesw \newwrite\@fnindexfile \immediate\openout\@fnindexfile=\jobname.fn \def\fnindex{\@bsphack\begingroup \def\protect####1{\string####1\space}\@sanitize \@wrindex\@fnindexfile} \def\fnindexbold{\@bsphack\begingroup \def\protect####1{\string####1\space}\@sanitize \@wrindexbold\@fnindexfile} \typeout{Writing function index file \jobname.fn }\fi} \def\fnindex{\@bsphack\begingroup \@sanitize\@index} \def\fnindexbold{\@bsphack\begingroup \@sanitize\@index} \def\synindex#1#2{\expandafter\xdef \csname @#1index\endcsname{% \noexpand\csname @#2index\endcsname}% \expandafter \chardef \csname @#1indexfile\endcsname=\csname @#2indexfile\endcsname} \def\syncodeindex#1#2{% \expandafter\let\expandafter\synindexfoo\expandafter=\csname#2indfile\endcsname \expandafter\let\csname#1indfile\endcsname=\synindexfoo \expandafter\xdef\csname#1index\endcsname{% % Define \xxxindex \csname#1boldindex\endcsname{#2}}% } \newskip\secondaryindent \secondaryindent=0.5cm \ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)} \fi \ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)} \fi \def\printindex#1{ \def\indexbackslash{\rawbackslashxx} \tolerance=9500 \advance\baselineskip -1pt \openin 1 \jobname.#1s \ifeof 1 \putwordIndexNonexistent \else \read 1 to \temp \ifeof 1 \putwordIndexIsEmpty \else \begin{ltxmulticols} \input \jobname.#1s \end{ltxmulticols} \fi \fi \closein 1 } \def\Dotsbox{\hbox to 1em{\hss.\hss}} % Used by index macros \def\pline{\hbox to\hsize} \def\initial#1{% {\bigbreak\pline{\large\bf#1\hfill}\kern 2pt\penalty3000}} \def\entry #1#2{ {\parfillskip=0in \parskip=0in \parindent=0in \small \hangindent=1in \hangafter=1% \noindent\hbox{#1}\leaders\Dotsbox\hskip 0pt plus 1filll\relax #2\par }} \def\primary #1{\pline{\small#1\hfil}} \def\secondary #1#2{ {\parfillskip=0in \parskip=0in \small \hangindent =1in \hangafter=1 \noindent\hskip\secondaryindent\hbox{#1}\leaders\Dotsbox\hskip 0pt plus 1filll#2\par }} \def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi} \newindex{cp} \newcommand{\indexcp}[1]{#1\cpindex{#1}} \newcommand{\subindexcp}[2]{#1\cpsubindex{#2}{#1}} \ExecuteOptions{} \ProcessOptions \endinput %% %% End of file `ltxindex.sty'.