#!/bin/csh -f
#
# texindex -- create an index from a LaTeX .idx file
#
# The | character is reserved to separate primary from secondary fields.
# If you have an R: at the beginning of your entry it means it is an
# Author index entry. (Like, \index{R: Dellinger | (1991) Thesis})
#
# keywords: tex index texindex
#
set HERE = /sepcd5/src/tex/texindex
set TEMP = /tmp/texindex.$$
set TEMP2 = /tmp/texindex2.$$

if ($#argv > 0 && $1 == "Author") then
grep '^\\indexentry{R: ' | sed -e 's/^\\indexentry{R: /\\indexentry{/' > $TEMP
else
grep -v '^\\indexentry{R: ' > $TEMP
endif

cat >> $TEMP <<xxx_xxx_xyz
%\indexentry{%AZZZZZZ}{}
%\indexentry{%BZZZZZZ}{}
%\indexentry{%CZZZZZZ}{}
%\indexentry{%DZZZZZZ}{}
%\indexentry{%EZZZZZZ}{}
%\indexentry{%FZZZZZZ}{}
%\indexentry{%GZZZZZZ}{}
%\indexentry{%HZZZZZZ}{}
%\indexentry{%IZZZZZZ}{}
%\indexentry{%JZZZZZZ}{}
%\indexentry{%KZZZZZZ}{}
%\indexentry{%LZZZZZZ}{}
%\indexentry{%MZZZZZZ}{}
%\indexentry{%NZZZZZZ}{}
%\indexentry{%OZZZZZZ}{}
%\indexentry{%PZZZZZZ}{}
%\indexentry{%QZZZZZZ}{}
%\indexentry{%RZZZZZZ}{}
%\indexentry{%SZZZZZZ}{}
%\indexentry{%TZZZZZZ}{}
%\indexentry{%UZZZZZZ}{}
%\indexentry{%VZZZZZZ}{}
%\indexentry{%WZZZZZZ}{}
%\indexentry{%XZZZZZZ}{}
%\indexentry{%YZZZZZZ}{}
%\indexentry{%ZZZZZZZ}{}
xxx_xxx_xyz

# Yeah I know this is a hack, but what the hey, it works.

sed -f $HERE/hack.sed < $TEMP | sed -f $HERE/hack2.sed > $TEMP2
grep "|" < $TEMP2 | sed -e "s/|/]|[/" > $TEMP
grep -v "|" < $TEMP2 | sed -e "s/\]\[/]|[][/" >> $TEMP
sort -bdfu -t\[ +1 -2 +2 -3 +3n < $TEMP |\
sed -e "s/\]|\[\]\[/][/" |\
sed -e "s/\]|\[/|/" |\
awk -f $HERE/index.awk | sed -f $HERE/hack3.sed | uniq
\r\m -f $TEMP $TEMP2
