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 # uses \ptt instead of \tt since that happens to explicit \tt's
9 # a space terminates the \tt part to allow \index{*NE theorem}, etc.
11 # change *"X"Y"Z"W to "X"Y"Z"W@{\ptt "X"Y"Z"W}
12 # change *"X"Y"Z to "X"Y"Z@{\ptt "X"Y"Z}
13 # change *"X"Y to "X"Y@{\ptt "X"Y}
14 # change *"X to "X@{\ptt "X}
15 # change *IDENT to IDENT@{\ptt IDENT}
16 # where IDENT is any string not containing | ! or @
17 # FOUR backslashes: to escape the shell AND sed
18 sed -e "s~\*\(\".\".\".\".\)~\1@{\\\\ptt \1}~g
19 s~\*\(\".\".\".\)~\1@{\\\\ptt \1}~g
20 s~\*\(\".\".\)~\1@{\\\\ptt \1}~g
21 s~\*\(\".\)~\1@{\\\\ptt \1}~g
22 s~\*\([^ |!@{}][^ |!@{}]*\)~\1@{\\\\ptt \1}~g" $1.idx | makeindex -c -q -o $1.ind