summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/texsis/base/index.tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-05-24 00:31:38 +0000
committerKarl Berry <karl@freefriends.org>2009-05-24 00:31:38 +0000
commit3db8854079e5f66bff8e115d3e53b74a9e6b1b94 (patch)
treec76f77b61118c210746b2b9a513369908249ae7e /Master/texmf-dist/doc/texsis/base/index.tex
parent631b5bbb9b2878fe0c658883d594124839413456 (diff)
move doc for lesser-used formats to subdirs
git-svn-id: svn://tug.org/texlive/trunk@13440 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/texsis/base/index.tex')
-rw-r--r--Master/texmf-dist/doc/texsis/base/index.tex296
1 files changed, 0 insertions, 296 deletions
diff --git a/Master/texmf-dist/doc/texsis/base/index.tex b/Master/texmf-dist/doc/texsis/base/index.tex
deleted file mode 100644
index dbb9a09bf13..00000000000
--- a/Master/texmf-dist/doc/texsis/base/index.tex
+++ /dev/null
@@ -1,296 +0,0 @@
-%% file: index.tex - creating an index - TeXsis 2.18
-% @(#) $Id: index.tex,v 18.0 2000/05/16 22:37:11 myers Exp $
-%======================================================================*
-% index.tex -- Macros for creating an index using MakeIndex
-%
-% Use \index{key} or \idx{word} to make an entry in the index file
-% [\idx{word} is more or less the same as ``word\index{word}''].
-% At the end of the job the file \jobname.idx is the raw index file,
-% ready to be fed into the MakeIndex program to create the index.
-% The MakeIndex output file \jobname.ind is then fed back through TeX with
-% the output formatting macros below to print the final formatted index.
-%
-% To process the index file with MakeIndex the command is simply
-%
-% makeindex jobname.idx
-%
-% You can leave off the .idx extension for the raw file and makeindex
-% will assume it. This will produce the processed index file, called
-% \jobname.ind. To print the index you can either include it in
-% another pass of the full document with ``\input \jobname.ind'' or
-% print it separately by adding ``\input index'' to the begining of the
-% \jobname.ind file and running it through TeX.
-%
-% If you set \markindextrue then indexed words selected with \idx
-% will appear in the printed output inside a ruled box. This is
-% useful for draft copies when you are putting together the index,
-% but obviously you do not want to use it in a final copy.
-% The box does not interfere with or change the line spacing.
-%
-% These macros are completely compatible with Plain TeX, although
-% they can also be used with TeXsis (some of the macros used below
-% are a part of TeXsis). Note however that these macros support output
-% from MakeIndex in it's default LaTeX mode. You don't need a separate
-% style file for MakeIndex!
-%
-% For more information about how to make full use of MakeIndex read
-% the man page for makeindex(1) and/or the paper ``Index Preparation
-% and Processing'' by Pehong Chen and Michale A. Harrison,
-% Software: Practice and Experience, Vol 19, No. 9, Sep. 1988, pp. 897-915
-% (a copy is available at ftp://ftp.texsis.org/texsis/index/index.tex )
-%
-% It is possible to make more than one index by creating a few extra
-% macros based on the ones below. See the documentation at the end
-% of this file for details.
-%
-%======================================================================*
-% (C) Copyright 1992, 1999, 2000 by Eric Myers and Frank Paige.
-% This file is a part of TeXsis. Distribution and/or modifications
-% are allowed under the terms of the LaTeX Project Public License (LPPL).
-% See the file COPYING or ftp://ftp.texsis.org/texsis/LPPL
-%======================================================================*
-\message{- indexing macros}
-\catcode`@=11 % @ is a letter here to hide workings
-
-\newif\ifmarkindex \markindexfalse % put proof marks in text?
-\newif\ifmakeindex \makeindextrue % set false to suppress .idx output
-
-%---------------------------*
-% Index Entries:
-%
-% \idx{word} is the quickest way to make an index entry.
-% The word is put in the text and an index entry is made at the
-% same time. It is the same as typing ``word\index{word}''.
-% If \markintdextrue is selected the word appears in the text with a
-% box around it so you know it has been included in the index.
-
-
-\def\idx#1{% include a word in the index output file
- #1\index{#1}% % put word in text and \index it
- \ifmarkindex % proof marks?
- \llap{\lower\jot\vbox to 0pt{\vss % box it
- \tightboxit{\loosebox{\phantom{#1}}}}\hskip-\jot}%
- \fi} % put a ruled box around word
-
-
-% \index{key} makes an index entry for the given key.
-% Since MakeIndex can use special characters like @ | ! and " in the key
-% we must make sure that they are printed correctly to the raw index file.
-
-\def\index{% make an index entry for a given key
- \begingroup % turn MakeIndex special characters to letters
- \catcode`@=11 \catcode`"=11 \catcode`!=11 \catcode`|=11 \catcode`-=11
- \@index}
-
-\def\@index#1{% get the index entry and write it to the file
- \endgroup % special characters back to before
- \ifmakeindex % .idx file output enabled?
- \indexwrite\indexout{\indexentry{#1}}% write entry to file
- \fi}
-
-
-% \loosebox put a loose box around a box.
-% \tightboxit draws a rule box around the box #1 without any added space
-
-\def\loosebox#1{%
- \vbox{\vskip\jot
- \hbox{\hskip\jot #1\hskip\jot}%
- \vskip\jot}}
-
-\def\tightboxit#1{\vbox{\hrule\hbox{\vrule\vbox{#1}\vrule}\hrule}}
-
-%---------------------------*
-% Index Formatting (printing the processed index file)
-
-
-% The index is begun by \theindex or \begin{theindex} and ended
-% with \endtheindex or \end{theindex}
-
-
-\def\theindex{% begin a formatted index
- \begingroup
- \parskip = 0pt % no extra space between items
- \def\item{\indexitem{0pt}}% % level 0 item separator
- \def\subitem{\indexitem{20pt}}% % level 1 item separator
- \def\subsubitem{\indexitem{30pt}}% % level 2 item separator
- \def\indexspace{\medskip}% % intergroup vertical space
- \def\setcounter##1##2{\global\csname ##1no\endcsname=##2}% to set page counter
- \def\bold##1{{\bf ##1}}% % boldface for |bold
- \def\italic##1{{\it ##1}}% % italics for |italic
- \def\slanted##1{{\sl ##1}}% % slanted for |slanted
- \def\see##1##2{{\it see} ##1}% % italics for |see
- \def\seealso##1{{\it see also}##1}%% italics for |seealso
- \def\also##1{{\it see also}##1}% % italics for |also
- }
-
-\def\indexitem#1{% how to make an entry for an item in the index
- \vskip 0pt % force vertical mode
- \hangindent=30pt\hangafter=1 % hanging indent for extra lines
- \noindent\hskip #1} % level N item separator
-
-\def\endtheindex{% end a formatted index
- \endgroup}
-
-
-% If you don't have MakeIndex you can still make a sorted index.
-% (Even though it may not look as good. If you are really going to
-% do it right, do get MakeIndex). The Unix sort(1) command or a similar
-% program can be used to sort the \jobname.idx file. You can then
-% edit the file to collect all the page numbers for a key into
-% one \indexentry, like ``\indexentry{foo}{29,47-48}'' , and \indexentry
-% will format the items as best it can.
-
-
-\def\indexentry#1#2{% prints an index entry (from the raw file)
- \indexitem{0pt}#1, #2} % keyword, page number
-
-
-%-------------------------*
-% Simple \begin .. \end support (like in LaTeX): There is a conspiracy
-% to preserve job security for typists by making sure one has to
-% type \begin{thing} and \end{thing} everywhere. In TeXsis it's just
-% \thing and \endthing, so here we just make \begin{thing} become \thing
-% and \end{thing} become \endthing. Then we can use MakeIndex in it's
-% default mode, even though that is for LaTeX.
-% Note: we don't check that you begin and end the same thing. After all,
-% you might want to say \begin{midfigure} followed by \end{figure}.
-
-
-\def\begin#1{% \begin{foo} just becomes \foo
- \begingroup % changes to \end are temporary
- \let\end=\endbegin % now \end will end the \begin
- \expandafter\ifx\csname #1\endcsname\relax\relax % is \thing defined?
- \def\next{\beginerror{#1}}% NO: flag an error
- \else %
- \def\next{\csname #1\endcsname}% YES: just invoke it
- \fi\next}
-
-\def\endbegin#1{% \end{foo} just becomes \endfoo
- \endgroup % now \end goes back to normal
- \expandafter\ifx\csname end#1\endcsname\relax\relax % is \endthing defined?
- \def\next{\begingroup\beginerror{end#1}}% % NO: flag an error
- \else %
- \def\next{\csname end#1\endcsname}% YES: just invoke it
- \fi\next}
-
-
-\newhelp\beginhelp{begin:
- The \string\begin\space or \string\end\space marked above is for a^^M%
- non-existant environment. Check for spelling errors and such.}
-
-
-\def\beginerror#1{% \begin{foo} or \end{foo} fail if no \foo or \endfoo
- \endgroup % make sure \end is back to normal
- \errhelp=\beginhelp % longer help message
- \newlinechar=`\^^M % ^^M is line break
- \errmessage{Undefined environment for \string\begin\space or \string\end}}
-
-
-%---------------------------*
-% Index file output:
-%
-
-\newwrite\indexout % raw index output file
-
-
-% \indexinit will only get called once. It opens the output file,
-% write an identifying comment to it, and then undefines itself.
-
-\def\indexinit{% open and initialize raw index file
- \immediate\openout\indexout=\jobname.idx % open file as \jobname.idx
- \immediate\write\indexout{\@comment Raw index file ``\jobname.idx''}%
- \immediate\write\indexout{\@comment ====================================}%
- \gdef\indexinit{\relax}} % so we initialize only once
-
-% \@comment is for writing % to a file. It expands to '% '.
-
-{\catcode`\%=11 \gdef\@comment{% }}
-
-
-% \indexwrite writes an entry to the raw index file named by #1. Argument
-% #2 is the \indexentry{foo}, so it is not expanded (which is why this is so
-% complicated), while \@indexpage is the page number, which *is* expanded.
-
-\def\indexwrite#1#2{% % write entry to raw index file
- \indexinit % open output file if not already
- \def\@finwrite{\write#1}% % to write to index output file (#1)
- \begingroup % begin collecting tokens on stack
- \aftergroup\@finwrite % put \write\indexout on stack
- \aftergroup{\relax % put { on stack
- \@stackNX#2\@endstack % puts \noexpand\token... on stack
- \aftergroup\@indexpage % expanded {enclosed} page number
- \aftergroup}\relax % put } on stack
- \endgroup} % now dump from stack to \write
-
-\def\@indexpage{{\folio}} % to get the {enclosed} page number
-
-% Saying \@stackNX <stuff>\@endstack will take all the tokens
-% in <stuff> and put them on the stack, with every control sequence
-% prefaced by \noexpand. \indexwrite uses this for unexpanded write.
-
-\def\@stackNX{\futurelet\next\@stackswitch}
-
-\def\@stackswitch{% decides what to do with various types of tokens
- \ifx\next\@endstack\relax % if \@endstack then we'll quit
- \else\ifcat\noexpand\next\@stoken % if token is a space,
- \aftergroup\space\let\next=\@eatnext% write \space and eat token
- \else\ifcat\noexpand\next\bgroup % if token is \bgroup
- \aftergroup{\let\next=\@eatnext % write { and eat it
- \else\ifcat\noexpand\next\egroup % if token is \egroup
- \aftergroup}\let\next=\@eatnext % write a } and eat it
- \else % otherwize
- \let\next=\@stacktoken % just copy to the stack with \NX
- \fi\fi\fi\fi % end all \if's
- \next} % do it to the token
-
-\def\\{\global\let\@stoken= }\\
-
-% \@eatnext ignores the \next token and goes on to the
-% one following in the argument list
-
-\def\@eatnext{\afterassignment\@stackNX\let\next= }
-
-% \@stacktoken copies one token to the stack with \aftergroup,
-% then calls \@stackNX to get the one following.
-
-\long\def\@stacktoken#1{% write token to stack, unexpanded
- \ifcat\noexpand#1\relax % if token is a control sequence
- \aftergroup\noexpand % preface with \noexpand
- \else\ifcat\noexpand#1\noexpand~\relax % if token is an active character
- \aftergroup\noexpand % preface with \noexpand
- \fi\fi %
- \aftergroup#1\relax % put the next token on the list
- \@stackNX} % do next token from argument...
-
-\def\@endstack\@endstack{} % just marks the end of token list
-
-\catcode`@=12 % @ goes back to \other, not a letter
-
-%---------------------------*
-% MULTIPLE INDICES:
-%
-% If you want more than one index I can't guess how you will want to
-% use them, so all I can do is tell you how to use the macros above to
-% create another (or several other) additional indices:
-%
-% 1) Create another output file and open it, with something like:
-%
-% \newwrite\otherindexout
-% \immediate\openout\otherindexout=other.idx
-%
-% 2) Define a macro to make the entry to the second index, following
-% the pattern of \index and \@index above, but using the other index
-% file (but don't use @ in a macro name). For example:
-%
-% \def\OtherIndex{\begingroup % special characters letters
-% \catcode`@=11 \catcode`"=11 \catcode`!=11 \catcode`|=11
-% \catcode`-=11
-% \Oindex}
-%
-% \def\Oindex#1{\endgroup % special characters return
-% \indexwrite\otherindexout{\indexentry{#1}}}
-%
-% Then saying \OtherIndex{word} will make an entry into the alternate
-% index for ``word''.
-%
-%>>> EOF index.tex <<<