3 #sedindex - shell script to create indexes, preprocessing LaTeX's .idx file
5 # puts strings prefixed by * into \tt font
6 # terminator characters for strings are |!@{}
8 # a space terminates the \tt part to allow \index{*NE theorem}, etc.
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
17 sed -e "s~\*\(\".\".\".\".\)~\1@{\\\\tt \1}~g
18 s~\*\(\".\".\".\)~\1@{\\\\tt \1}~g
19 s~\*\(\".\".\)~\1@{\\\\tt \1}~g
20 s~\*\(\".\)~\1@{\\\\tt \1}~g
21 s~\*\([^ |!@{}][^ |!@{}]*\)~\1@{\\\\tt \1}~g" $1.idx | makeindex -c -q -o $1.ind