summaryrefslogtreecommitdiff
path: root/obsolete/indexing/corridx/doc/corridx.tex
diff options
context:
space:
mode:
Diffstat (limited to 'obsolete/indexing/corridx/doc/corridx.tex')
-rw-r--r--obsolete/indexing/corridx/doc/corridx.tex321
1 files changed, 321 insertions, 0 deletions
diff --git a/obsolete/indexing/corridx/doc/corridx.tex b/obsolete/indexing/corridx/doc/corridx.tex
new file mode 100644
index 0000000000..8a825ebe84
--- /dev/null
+++ b/obsolete/indexing/corridx/doc/corridx.tex
@@ -0,0 +1,321 @@
+\documentclass{article}
+\usepackage{makeidx}
+\makeindex
+\begin{document}
+ \title{The CorrIdx Package}
+ \author{ J. K. Fink\\ Uni Leoben}
+ \maketitle
+
+\begin{abstract}
+
+The CorrIdx package can be used to sort an index with chemical
+names containing leading numbers, etc. into a proper alphabetical
+order. It is intended as a preprocessor to the MakeIndex program.
+
+\end{abstract}
+
+\tableofcontents
+
+\begin{center}
+ {\em The author is not liable for whatever will happen by the use of the material presented
+ here.}\vskip2ex
+
+ NOTE: In the examples below, the INDEX comes always on a new page
+\end{center}
+
+\section{Introduction}
+
+In a text containing chemical names like N,N'-diallyl p-phenyl
+diamine , 1,2-ethanediol, o-chlorobisphenol~A,
+endo-methylenetetrahydrophthalic acid anhydride, tert-butanol, you
+may want to include these compounds into the index. If you use the
+index command \verb"\index{...}", \LaTeX\space will produce from
+the entries
+\begin{verbatim}
+ \index{1,2-ethanediol}
+ \index{o-chlorobisphenol~A}
+ \index{endo-methylenetetrahydrophthalic acid anhydride}
+ \index{tert-butanol}
+ \index{N,N'-diallyl p-phenyl diamine}
+\end{verbatim}
+with the \LaTeX\space command \verb"\MakeIndex" a \verb"*.idx"
+file looking like
+\begin{verbatim}
+ \indexentry{1,2-ethanediol}{1} \indexentry{o-chlorobisphenol~A}{1}
+ \indexentry{endo-methylenetetrahydrophthalic acid anhydride}{1}
+ \indexentry{tert-butanol}{1} \indexentry{N,N'-diallyl p-phenyl
+ diamine}{1}
+\end{verbatim}
+and the program MakeIndex produces
+\begin{theindex}
+ \item 1,2-ethanediol, 1
+
+ \indexspace
+
+ \item endo-methylenetetrahydrophthalic acid anhydride, 1
+
+ \indexspace
+
+ \item N,N'-diallyl p-phenyl diamine, 1
+
+ \indexspace
+
+ \item o-chlorobisphenol~A, 1
+
+ \indexspace
+
+ \item tert-butanol, 1
+\end{theindex}
+Note that we differentiate in between the \LaTeX\space command
+\verb"\MakeIndex" and the MakeIndex program. We are using
+\verb"\usepackage{makeidx}".
+
+Now, you may find that the sort order in the example above is not
+satisfactory. Therefore you must use the \verb"@" in the index
+command to force a certain sort order. Try now the following index
+entries
+\begin{verbatim}
+ \index{ethanediol@1,2-ethanediol}
+ \index{chlorobisphenol@o-chlorobisphenol~A}
+ \index{methylenetetrahydrophthalic@endo-methylenetetrahydrophthalic acid anhydride}
+ \index{butanol@tert-butanol}
+ \index{diallyl@N,N'-diallyl-p-phenyl diamine}
+\end{verbatim}
+and the MakeIndex program will produce now a more satisfactory
+result. This is shown now:
+\begin{theindex}
+
+ \item tert-butanol, 3
+
+ \indexspace
+
+ \item o-chlorobisphenol~A, 3
+
+ \indexspace
+
+ \item N,N'-diallyl-p-phenyl diamine, 3
+
+ \indexspace
+
+ \item 1,2-ethanediol, 3
+
+ \indexspace
+
+ \item endo-methylenetetrahydrophthalic acid anhydride, 3
+
+\end{theindex}
+The MakeIndex program uses the \verb"*.idx" file and produces a
+*.ind file. We try now another type of index entries like this
+\begin{verbatim}
+ \index{chem @1,2-ethanediol}
+ \index{chem @o-chlorobisphenol~A}
+ \index{chem @endo-methylenetetrahydrophthalic acid anhydride}
+ \index{chem @tert-butanol}
+ \index{chem @N,N'-diallyl p-phenyl diamine}
+ \index{chem @curing}
+ \index{chem @synthesis}
+\end{verbatim}
+A single run with the \LaTeX\space command \verb"\MakeIndex" in
+the text produces
+\begin{verbatim}
+ \indexentry{chem @1,2-ethanediol}{5}
+ \indexentry{chem @o-chlorobisphenol~A}{5}
+ \indexentry{chem @endo-methylenetetrahydrophthalic acid anhydride}{5}
+ \indexentry{chem @tert-butanol}{5}
+ \indexentry{chem @N,N'-diallyl p-phenyl diamine}{5}
+ \indexentry{chem @curing}{5}
+ \indexentry{chem @synthesis}{5}
+\end{verbatim}
+Now we run the corridx program as preprocessor and get a modified
+preprocessed file \verb"*.idx" looking like
+\begin{verbatim}
+ \indexentry{chem ethanediol@1,2-Ethanediol}{5}
+ \indexentry{chem chlorobisphenol~a@o-Chlorobisphenol~A}{5}
+ \indexentry{chem methylenetetrahydrophthalicacidanhydride@endo-Methylenetetrahydrophthalic acid anhydride}{5}
+ \indexentry{chem butanol@tert-Butanol}{5}
+ \indexentry{chem diallylphenyldiamine@N,N'-Diallyl p-phenyl diamine}{5}
+ \indexentry{chem curing@Curing}{5}
+ \indexentry{chem synthesis@Synthesis}{5}
+\end{verbatim}
+Further, the MakeIndex program produces from this file an *.ind
+file that is printed out as
+\begin{theindex}
+ \item tert-Butanol, 5
+ \item o-Chlorobisphenol~A, 5
+ \item Curing, 5
+ \item N,N'-Diallyl p-phenyl diamine, 5
+ \item 1,2-Ethanediol, 5
+ \item endo-Methylenetetrahydrophthalic acid anhydride, 5
+ \item Synthesis, 5
+\end{theindex}
+This is probably what you want.
+\section{The Corridx Program}
+
+The source code of the program is in Pascal compiled with Free
+Pascal \newline (\verb"http://www.freepascal.org/")
+
+\subsection{Using the Program}
+
+Corridx stands for correct the \verb"*.idx" file. The simplest
+call is to run \verb"corridx.exe". Then a file \verb"in.txt" must
+be in the same directory as \verb"corridx.exe" and the output
+comes in a file \verb"out.txt". Therefore you may copy your
+\verb"*.idx" file into the \verb"in.txt", run \verb"corridx.exe"
+and collect the output from \verb"out.txt". This output copy back
+in your \verb"*.idx" file and run immediately the \verb"MakeIndex"
+program.
+
+If a command line parameter just one meaning a valid file name is
+there, then the \verb"corridx.exe" takes this as input file and
+copies the output back to this file. If more than one command line
+is there, or if the filename is not correct, I did not check what
+will happen.
+
+I am running from Winedt both programs, as I have changed the
+index menu into
+\begin{verbatim}
+ Run("c:\fullpathtocorridx\corridx.exe %P\%N.idx","%P",0,0,"CorrIdx",1,1);
+ Prompt('Finished CorrIdx');
+ Exe('%B\Exec\MiKTeX\MakeIndex.edt');
+\end{verbatim}
+The prompt is necessary to retard the program execution. Or else
+you may use instead of the \verb"Run" command the \verb"WinExe"
+command with the synchronize option. I did not check out this.
+
+\subsection{Program Description}
+
+Note that every index entry you create must contain a \verb"@",
+otherwise an error will be created. For example create the entry
+\verb"\index{chem @1,4-butanediol}". The program scans each line
+in the \verb"*.idx" file. When it finds \verb"chem" just behind
+the opening bracket \verb"{", it ignores what is after \verb"chem"
+until it finds the \verb"@". Then it reads the name string until
+the closing bracket comes. There should be no \verb"\}" in
+between. Finally it reads the string with the page number. The
+name string is copied to a sort string which is now processed:
+
+\begin{enumerate}
+ \item Every text in between dollar signs is replaced by a
+ blank.
+ \item Every non letter besides the tilde \verb"~" is replaced by a blank.
+ So you may protect \verb"bisphenol~A".
+ \item Every single letter in between blanks is replaced by a blank.
+ \item Special sequences like exo, endo, tert, sec, cis,
+ trans, syn, anti, cyclo, spiro are replaced by blanks.
+ \item what is left over is made lower case.
+\end{enumerate}
+
+The program is looking now in the sort string for the first
+appearance of a letter and makes in the name string this position
+as uppercase. Then in the sort string all spaces are eliminated.
+Finally, the index entry is rebuilt to result in
+\verb"\indexentry{chem butanediol@1,4-Butanediol}{8}"%
+
+\subsection{Further Options}
+
+Four types of index are allowed:
+\begin{enumerate}
+ \item Index of chemicals \verb"\index{chem @1,3-Butadiene}"
+ \item General Index \verb"\index{gen @Synthesis}"
+ \item Index of acronyms \verb"\index{acr LCD@LCD!Liquid crystal display}"
+ \item Index of other items \verb"\index{whatever you want@abc}"
+\end{enumerate}
+In an index entry of acronyms, a \verb"!" is compulsory. The
+example above produces the index:
+
+\begin{theindex}
+
+ \item LCD
+ \subitem Liquid crystal display, 8
+
+ \indexspace
+
+ \item 1,3-Butadiene, 8
+
+ \indexspace
+
+ \item Synthesis, 8
+
+ \indexspace
+
+ \item abc, 8
+
+\end{theindex}
+
+\section{User Defined Commands}
+
+To get a better performance, it is a good idea to define the
+following commands:
+
+\begin{verbatim}
+\newcommand{\ia}[2]{#1 {\nobreak(#2)}\index{acr #2@#2!#1}}
+% is is an acronym index. Example: \ia{Polyalkylene oxide}{PAO} %
+\newcommand{\ic}[1]{#1\index{chem #1@#1}}
+% ic is a chemical index
+\newcommand{\ib}[2]{#1 {\nobreak(#2)}\index{acr #2@#2!#1}\index{chem #1@#1}}
+% ib is both acronym and chemical index
+\newcommand{\ig}[2][]{#2\index{gen #2@#2#1}}
+% ig is a general index
+\end{verbatim}
+
+\newcommand{\ia}[2]{#1 {\nobreak(#2)}\index{acr #2@#2!#1}}
+% Example: \ia{Polyalkylene oxide}{PAO} %
+\newcommand{\ic}[1]{#1\index{chem #1@#1}}
+\newcommand{\ib}[2]{#1 {\nobreak(#2)}\index{acr #2@#2!#1}\index{chem #1@#1}}
+% ib is both acronym and chemical
+\newcommand{\ig}[2][]{#2\index{gen #2@#2#1}}
+
+We show now the use of these commands in the following sample
+text. You should look in the original \LaTeX\space file.
+
+Note that we have in the text also the commands
+\begin{verbatim}
+ \newcommand\swallow[1]{\relax}
+ \index{acr @\section*{Acronyms}\swallow|swallow}%
+ \index{chem @\section*{Chemicals}\swallow|swallow}%
+ \index{gen @\section*{General}\swallow|swallow}%
+\end{verbatim}
+
+\section{Sample Text}
+
+There are various types of novolak resins with different \ig[
+resins]{ortho} to para ratios of the methylene linkages, \ia{high
+ortho novolak resins}{HON}, \ia{general-purpose novolak
+resins}{GPN} and \ia{high para novolak resins}{HPN}.
+
+The liquid-phase oxidation of cumene to \ib{cumene
+hydroperoxide}{CHP} results in \ic{acetone} and \ic{phenol}. This
+is used for \ic{bisphenol~A}, \ic{bisphenol~B}, \ic{resorcinol},
+\ic{cresol}s, and \ic{xylenol}s. \ic{2-Cyclohexyl-5-methylphenol}
+is used for \ig[!positive]{photoresist}s. \ic{m-Methoxyphenol},
+\ic{2-naphthol}, \ic{cardanol}, and \ic{cardol}, are other
+suitable \ig[!other]{phenols}.
+
+
+\section{The Sample Text Verbatim}
+
+\begin{verbatim}
+There are various types of novolak resins with different \ig[
+resins]{ortho} to para ratios of the methylene linkages, \ia{high
+ortho novolak resins}{HON}, \ia{general-purpose novolak
+resins}{GPN} and \ia{high para novolak resins}{HPN}.
+
+The liquid-phase oxidation of cumene to \ib{cumene
+hydroperoxide}{CHP} results in \ic{acetone} and \ic{phenol}. This
+is used for \ic{bisphenol~A}, \ic{bisphenol~B}, \ic{resorcinol},
+\ic{cresol}s, and \ic{xylenol}s. \ic{2-Cyclohexyl-5-methylphenol}
+is used for \ig[!positive]{photoresist}s. \ic{m-Methoxyphenol},
+\ic{2-naphthol}, \ic{cardanol}, and \ic{cardol}, are other
+suitable \ig[!other]{phenols}.
+\end{verbatim}
+
+
+ \newcommand\swallow[1]{\relax}
+ \index{acr @\section*{Acronyms}\swallow|swallow}%
+ \index{chem @\section*{Chemicals}\swallow|swallow}%
+ \index{gen @\section*{General}\swallow|swallow}%
+
+\printindex
+
+\end{document}
+%