#! /bin/sh # #sedindex - shell script to create indexes, preprocessing LaTeX's .idx file # # puts strings prefixed by * into \tt font # terminator characters for strings are |!@{} # # a space terminates the \tt part to allow \index{*NE theorem}, etc. # # change *"X"Y"Z"W to "X"Y"Z"W@{\tt "X"Y"Z"W} # change *"X"Y"Z to "X"Y"Z@{\tt "X"Y"Z} # change *"X"Y to "X"Y@{\tt "X"Y} # change *"X to "X@{\tt "X} # change *IDENT to IDENT@{\tt IDENT} # where IDENT is any string not containing | ! or @ # FOUR backslashes: to escape the shell AND sed sed -e "s~\*\(\".\".\".\".\)~\1@{\\\\tt \1}~g s~\*\(\".\".\".\)~\1@{\\\\tt \1}~g s~\*\(\".\".\)~\1@{\\\\tt \1}~g s~\*\(\".\)~\1@{\\\\tt \1}~g s~\*\([^ |!@{}][^ |!@{}]*\)~\1@{\\\\tt \1}~g" $1.idx | makeindex -c -q -o $1.ind