diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-09 00:44:40 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-09 00:44:40 +0000 |
commit | b4fc5f639874db951177ec539299d20908adb654 (patch) | |
tree | 52f08823ca58fffe3db6a9b075635038c567626c /Master/texmf-dist/doc/latex/splitindex | |
parent | dec3d98ebe442d7ea93efbaa8dd2e2be8149a467 (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/README | 37 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/splitindex/install.txt | 131 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/splitindex/manifest.txt | 63 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/splitindex/splitindex.1 | 64 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/splitindex/splitindex.tex | 163 |
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: |