summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/splitindex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-09 00:44:40 +0000
committerKarl Berry <karl@freefriends.org>2006-01-09 00:44:40 +0000
commitb4fc5f639874db951177ec539299d20908adb654 (patch)
tree52f08823ca58fffe3db6a9b075635038c567626c /Master/texmf-dist/doc/latex/splitindex
parentdec3d98ebe442d7ea93efbaa8dd2e2be8149a467 (diff)
doc 4
git-svn-id: svn://tug.org/texlive/trunk@80 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/splitindex')
-rw-r--r--Master/texmf-dist/doc/latex/splitindex/README37
-rw-r--r--Master/texmf-dist/doc/latex/splitindex/install.txt131
-rw-r--r--Master/texmf-dist/doc/latex/splitindex/manifest.txt63
-rw-r--r--Master/texmf-dist/doc/latex/splitindex/splitindex.164
-rw-r--r--Master/texmf-dist/doc/latex/splitindex/splitindex.tex163
5 files changed, 458 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/splitindex/README b/Master/texmf-dist/doc/latex/splitindex/README
new file mode 100644
index 00000000000..0acc94a5036
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/splitindex/README
@@ -0,0 +1,37 @@
+Welcome to SplitIndex, the TeX index splitter. SplitIndex creates
+multiple index files from one raw index. See manifest.txt if you want
+to know the files SplitIndex exists of.
+
+There are a lot of alternatives in using SplitIndex, because I wanted
+solutions at every platform. Not all of the programs are distributed
+in binary form. But splitindex.tex will work at every platform. And you
+need only TeX (even not LaTeX) to run it.
+
+Currently I support binaries for the following platforms:
+
+ Linux ELF i386, OpenBSD 3.0 i386, CygWIN Windows 32 Bit i386
+
+If you need support, you can write me a mail. Use
+
+ To: splitindex <kohm@gmx.de>
+ Subject: SPLITINDEX: <YourProblem>
+
+And replace <YourProblem> by a short (at least 60 chars) description
+of your problem.
+
+
+See file install.txt for a description how to install this
+distribution and how to get the manual, which describes how to use
+SplitIndex.
+
+LEGALESE: This package is freely distributable software; you can
+ redistribute it and/or modify it under the conditions of the
+ LaTeX Project Public License, either version 1.2 of this
+ license or (at your option) any later version.
+ The latest version of this license is in
+ http://www.latex-project.org/lppl.txt and version 1.2 or
+ later is part of all distributions of LaTeX version
+ 1999/12/01 or later.
+
+
+Enjoy, Markus.
diff --git a/Master/texmf-dist/doc/latex/splitindex/install.txt b/Master/texmf-dist/doc/latex/splitindex/install.txt
new file mode 100644
index 00000000000..b3277c4d803
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/splitindex/install.txt
@@ -0,0 +1,131 @@
+ SplitIndex Installation Guide
+
+ 2003/01/15
+
+
+INTRODUCTION
+============
+
+If you know how to install LaTeX packages and how to install binary
+programs, just do it. If you don't know, read the following. If you
+are using Linux-i386 or OpenBSD-i386 or another Unix like environment
+with installed Gnu fileutils and installed Gnu-C-Compiler, you may try
+install.sh for installation. See
+
+ ./install.sh --help
+
+for more information. If you don't have GCC, Linux-i386 or
+OpenBSD-i386 you may also use install.sh, but you have to compile
+and link splitindex.c before. See the splitidx manual for this.
+
+But you may also try the following step by step installation:
+
+
+HOW TO GENERATE THE splitidx PACKAGE
+====================================
+
+1st) process splitidx.ins with TeX or LaTeX, e.g. using the following
+input at a command shell (e.g. bash or command.com):
+
+ latex splitidx.ins
+
+Maybe you'll be asked, if you want to overwrite existing files. Answer
+this question with yes.
+
+2nd) have a look where your LaTeX Distribution searchs for
+files. With teTeX you can ask kpathsea for this, e.g. using a unix
+shell:
+
+ kpsexpand \$TEXMFLOCAL
+
+to use the local texmf tree or:
+
+ kpsexpand \$HOMETEXMF
+
+to use your private texmf tree. Following uses "TEXMF" to be a synonym
+for the texmf tree you want to use.
+
+3rd) create folder TEXMF/tex/latex/misc (at Windows:
+TEXMF\tex\latex\misc), if it doesn't exist. Copy splitidx.sty to this
+folder.
+
+4th) call the program, which is used to update the filename data
+base, e.g. texhash or mktexlsr if you are using teTeX/TeX Live.
+
+
+HOW TO INSTALL THE BINARIES
+===========================
+
+5th) Rename the suitable binary (e.g. splitindex-Linux-i386, if you're
+using Linux-i386) to splitindex or compile splitindex.c to generate
+a binary named splitindex.
+
+6th) copy splitindex.java to the binary search path of SUN JAVA
+1.4.1.
+
+7th) copy splitindex.pl and splitindex or splitindex.exe somewhere to
+your binary search path (ask environment variable PATH).
+
+8th) copy the manual page splitindex.1 to your manual seach path.
+
+9th) copy splitindex.tex to the same location you've copied
+splitidx.sty to and do 4th step again.
+
+
+HOW TO GENERATE THE MANUAL
+==========================
+
+10th) process splitidx.dtx with LaTeX to generate the user manual of
+splitidx and SplitIndex, e.g. using the following input at a command
+shell:
+
+ latex splitidx.dtx
+ latex splitidx.dtx
+ mkindex splitidx
+ latex splitidx.dtx
+
+or (if you do not have the mkindex script):
+
+ latex splitidx.dtx
+ latex splitidx.dtx
+ makeindex -s gind.ist splitidx
+ makeindex -s gglo.ist -o splitidx.gls splitidx.glo
+ latex splitidx.dtx
+
+You may print the resulting splitidx.dvi. If you prefere PDF files,
+use pdflatex instead of latex.
+
+11th) read the manual you produced at 10th step.
+
+
+HOW TO TEST YOUR INSTALLATION
+=============================
+
+Use the following LaTeX source to test the installation. See
+splitidx.dvi or splitidx.pdf to see how to do this.
+
+\documentclass{article} % We use \Class{article} class ...
+\usepackage{splitidx} % ... and the \Package{splitidx} package
+\makeindex % And we want index generation
+\usepackage{hyperref}
+% We define 4 indices:
+\newindex[General Index]{idx} % Name and shortcut of the 1st index
+\newindex[Index of Animals]{ani} % ... 2nd index
+\newindex[Index of Fruits]{fru} % ... 3rd index
+\newindex[Index of Vegetables]{veg} % ... \dots\ 4th index
+
+\begin{document}
+Apples\sindex[fru]{apple} % an entry to fru index
+and oranges\sindex[fru]{orange} % an entry to fru index
+are fruits\sindex{fruits}. % an implicite entry to idx index
+Tomatos\sindex[veg]{tomato} % an entry to veg index
+are vegetables\index{vegetables}. % an implicite entry to idx index
+Cats\sindex[ani]{cat} % an entry to ani index
+are animals\sindex[idx]{animals}. % an explicite entry to idx index
+
+\twocolumn[%
+ \section*{Indices}%
+ \markboth{Indices}{Indices}%
+]
+\printsubindex* % print all indices
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/splitindex/manifest.txt b/Master/texmf-dist/doc/latex/splitindex/manifest.txt
new file mode 100644
index 00000000000..89dc68ddd16
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/splitindex/manifest.txt
@@ -0,0 +1,63 @@
+%
+% The following files form the SplitIndex Dsitribution 2002/01/05
+%
+%
+% CONTENTS OF THE SplitIndex DISTRIBUTION
+% =======================================
+%
+% Documentation:
+% --------------
+%
+% manifest.txt -- This file.
+% install.txt -- How to install SplitIndex (overview).
+% splitindex.1 -- The unix manual page of all SplitIndex
+% programs.
+%
+%
+% LaTeX files:
+% ------------
+%
+% splitidx.dtx -- The source of the splitidx package and of the
+% manual.
+% splitidx.ins -- The installation script for the splitidx
+% package.
+%
+%
+% Program sources:
+% ----------------
+%
+% splitindex.pl -- The source of the reference implementation of
+% the SplitIndex program.
+% splitindex.java -- The source of the SUN JAVA 1.4.1 implementation
+% of the SplitIndex program.
+% splitindex.c -- The source of the C implementation of the
+% SplitIndex program.
+% splitindex.tex -- The source of the TeX implementation of the
+% SplitIndex program.
+%
+%
+% Programs (binaries):
+% --------------------
+%
+% splitindex.pl -- Perl is an interpreter, so this is the source
+% and the program itself (but not binary)
+% splitindex.class -- The SUN JAVA 1.4.1 bitcode of the SplitIndex
+% program.
+% splitindex-Linux-i386
+% -- The Linux-i386-ELF binary of the SplitIndex
+% program.
+% splitindex-OpenBSD-i386
+% -- The OpenBSD-i386 binary of the SplitIndex
+% program.
+% splitindex.exe -- The CygWin-i386 (Win32) binary the SplitIndex
+% program.
+%
+%
+% Installation programs:
+% ----------------------
+%
+% install.sh -- See `install.txt' for more information about
+% this.
+%
+% ====================================================================
+%
diff --git a/Master/texmf-dist/doc/latex/splitindex/splitindex.1 b/Master/texmf-dist/doc/latex/splitindex/splitindex.1
new file mode 100644
index 00000000000..98188409f60
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/splitindex/splitindex.1
@@ -0,0 +1,64 @@
+.TH SPLITINDEX "1" "November 2002" "splitindex 0.2a" "User Commands"
+.SH NAME
+splitindex \- manual page for splitindex 0.2a
+.SH SYNOPSIS
+.B splitindex.pl
+[\fIOPTION\fR]... \fIRAWINDEXFILE \fR[\fIMAKEINDEXOPTION\fR]...
+.PP
+.B splitindex
+[\fIOPTION\fR]... \fIRAWINDEXFILE \fR[\fIMAKEINDEXOPTION\fR]...
+.PP
+.B java splitindex
+[\fIOPTION\fR]... \fIRAWINDEXFILE \fR[\fIMAKEINDEXOPTION\fR]...
+.PP
+.B tex splitindex
+.SH DESCRIPTION
+splitindex 0.2a
+Copyright (c) 2002 Markus Kohm <kohm@gmx.de>
+.PP
+Split a single raw index file into multiple raw index files.
+.PP
+Example: splitindex.pl foo.idx.
+.SH OPTIONS
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+show this help and terminate
+.TP
+\fB\-m\fR, \fB\-\-makeindex\fR PROGNAME
+call PROGNAME instead of default `makeindex'.
+.TP
+\fB\-i\fR, \fB\-\-identify\fR EXPRESSION
+use regular EXPRESSION to match entries
+(see also option \fB\-\-resultis\fR and \fB\-\-suffixis\fR).
+Default is `^(\e\eindexentry)\e[([^]]*)\e](.*)$'.
+.TP
+\fB\-r\fR, \fB\-\-resultis\fR PATTERN
+create line to be written from PATTERN after matching
+lines (see also option \fB\-\-identify\fR).
+Default is `$1$3'.
+.TP
+\fB\-s\fR, \fB\-\-suffixis\fR PATTERN
+create suffix to be used from PATTERN after matching
+lines (see also option \fB\-\-identify\fR).
+Default is `-$2'.
+.TP
+\fB\-v\fR, \fB\-\-verbose\fR
+be more verbose
+(can be used multiple to increase verbosity)
+.TP
+\fB\-\-version\fR
+show version and terminate
+.SH COPYRIGHT
+Copyright \(co 2002 Markus Kohm <kohm@gmx.de>
+.SH "SEE ALSO"
+The full documentation for
+.B splitindex
+is maintained as a LaTeX manual. If the
+.B texdoc
+and
+.B splitindex
+programs are properly installed at your site, the command
+.IP
+.B texdoc splitidx
+.PP
+should give you access to the complete manual.
diff --git a/Master/texmf-dist/doc/latex/splitindex/splitindex.tex b/Master/texmf-dist/doc/latex/splitindex/splitindex.tex
new file mode 100644
index 00000000000..c0aea07b097
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/splitindex/splitindex.tex
@@ -0,0 +1,163 @@
+% ======================================================================
+% splitindex.tex
+% Copyright (c) Markus Kohm, 2002
+%
+% $Id: splitindex.tex,v 1.2 2002/11/03 16:17:41 mjk Exp $
+%
+% This file is part of the SplitIndex package
+%
+% This file can be redistributed and/or modified under the conditions
+% of the LaTeX Project Public License, either version 1.2 of this
+% license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.2 or later is part of all distributions of LaTeX
+% version 1999/12/01 or later.
+%
+% You are not allowed to redistribute this file without all the
+% other files of the SplitIndex package
+% ======================================================================
+
+% Set newlinechar
+\newlinechar`\^^J
+
+% Tell program information
+\message{splitindex.tex 0.1^^J%
+ Copyright (c) 2002 Markus Kohm <kohm@gmx.de>^^J^^J}
+
+% Change \catcode of At to be a letter
+\catcode`\@11\relax
+
+% New end processing command (one of these should do the job)
+\def\endprocessing{%
+ \csname @@end\endcsname
+ \csname end\endcsname
+ \csname endinput\endcsname
+}
+
+% Check out, if we are using LaTeX or plainTeX:
+\let\@earlyend\relax
+\def\@tempa{LaTeX2e}
+\expandafter\ifx\csname fmtname\endcsname\@tempa
+\else
+ \def\@tempa{plain}
+ \expandafter\ifx\csname fmtname\endcsname\@tempa
+ \def\newwrite{\alloc@7\write\chardef\sixt@@n}% not longer \outer
+ \chardef\@inputcheck=0\relax
+ \else
+ \message{Unkown format \csname fmtname\endcsname^^J
+ You have to use plainTeX or LaTeX2e to run
+ splitindex.tex!^^J}
+ \let\@earlyend\endprocessing
+ \fi
+\fi
+\@earlyend
+
+% Is \idx defined to the name of the raw index file?
+\expandafter\ifx\csname idx\endcsname\relax
+% no it isn't
+ \message{Enter the name of the idx file to be processed: }%
+ \advance\endlinechar\@M
+ \read\m@ne to\idx
+ \advance\endlinechar-\@M
+\fi
+
+% Sorry to late for log file
+\def\setjobname#1.idx#2\\{\def\jobname{#1}}
+\expandafter\setjobname\idx.idx\\
+
+\let\@earlyend\relax
+\openin\@inputcheck\idx %
+\ifeof\@inputcheck
+ \ifx\jobname\idx
+ \openin\@inputcheck\jobname.idx %
+ \ifeof\@inputcheck
+ \message{Error: Neither file `\idx' nor file `\jobname.idx' found!^^J}%
+ \let\@earlyend\endprocessing
+ \else
+ \xdef\idx{\jobname.idx}%
+ \fi
+ \else
+ \message{Error: File `\idx' not found!^^J}%
+ \let\@earlyend\endprocessing
+ \fi
+\fi
+\@earlyend
+
+\message{Read from file: \idx^^J%
+ Write to files: \jobname-*.idx^^J}
+
+% We are ready to do the processing
+
+% First we have to do the tricky splitting of the input line.
+% We do not allow lines which don't start with \indexentry.
+% We do not support other index file definitions but with an
+% optional argument of \indexentry.
+% We need some catcode changes to read and split the line. So
+% we do this part of the processing at a group.
+\newtoks\verbatim@line
+\begingroup
+\catcode`\^^M\active
+
+\begingroup
+\catcode`\|=0
+\catcode`\\=12
+|gdef|splitidxline\indexentry#1{%
+ |if #1[%
+ |expandafter|@splitidxline%
+ |else%
+ |expandafter |@splitidxline |expandafter i|expandafter d%
+ |expandafter x|expandafter ]|expandafter#1%
+ |fi%
+}
+|endgroup
+
+\gdef\@splitidxline#1]#2^^M{%
+ \idxwrite{#1}{\string\indexentry#2}%
+}
+
+\gdef\processidxline{%\message{\the\verbatim@line}%
+ \expandafter\splitidxline\verbatim@line^^M
+}
+\endgroup
+
+% Now, we can do the main job: writing to the index files
+\def\idxwrite#1#2{%
+ \expandafter\ifx\csname write@#1\endcsname\relax
+ % We need a new file
+ \message{New index file: \jobname-#1.idx^^J}%
+ \expandafter\newwrite\csname write@#1\endcsname
+ \immediate\openout\csname write@#1\endcsname \jobname-#1.idx %
+ % FixMe: Don't close by end TeX run but use \closeout
+ \fi
+ \immediate\write\csname write@#1\endcsname{#2}%
+}
+
+% Read the file verbatim and process the lines
+\newif\ifnoteof
+\newtoks\par@tok\par@tok{\par}
+\def\@makeother#1{\catcode`#112\relax}
+\def\processidxfile{
+ \immediate\openin\@inputcheck \idx %
+ \noteoftrue
+ \loop
+ \ifeof\@inputcheck \noteoffalse\fi
+ \ifnoteof
+ \begingroup
+ \let\do\@makeother\dospecials
+ \immediate\read\@inputcheck to \verbatim@line
+ \if\par@tok\verbatim@line\else
+ \processidxline
+ \fi
+ \endgroup
+ \repeat
+}
+
+\processidxfile
+
+% Trick to end processing in TeX and LaTeX
+\endprocessing
+%%% Local Variables:
+%%% mode: tex
+%%% TeX-master: t
+%%% End: