1#! /bin/sh
2#
3#sedindex - shell script to create indexes, preprocessing LaTeX's .idx file
4#
5#  puts strings prefixed by * into \tt font
6#    terminator characters for strings are |!@{}
7#
8# a space terminates the \tt part to allow \index{*NE theorem}, etc.
9#
10# change *"X"Y"Z"W  to  "X"Y"Z"W@{\tt "X"Y"Z"W}
11# change *"X"Y"Z    to  "X"Y"Z@{\tt "X"Y"Z}
12# change *"X"Y      to  "X"Y@{\tt "X"Y}
13# change *"X        to  "X@{\tt "X}
14# change *IDENT  to  IDENT@{\tt IDENT}  
15#    where IDENT is any string not containing | ! or @
16# FOUR backslashes: to escape the shell AND sed
17sed -e "s~\*\(\".\".\".\".\)~\1@{\\\\tt \1}~g
18s~\*\(\".\".\".\)~\1@{\\\\tt \1}~g
19s~\*\(\".\".\)~\1@{\\\\tt \1}~g
20s~\*\(\".\)~\1@{\\\\tt \1}~g
21s~\*\([^ |!@{}][^ |!@{}]*\)~\1@{\\\\tt \1}~g" $1.idx | makeindex -c -q -o $1.ind
22