| 103 |      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 | #
 | 
| 357 |      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.
 | 
|  |     10 | #
 | 
|  |     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}  
 | 
| 103 |     16 | #    where IDENT is any string not containing | ! or @
 | 
|  |     17 | # FOUR backslashes: to escape the shell AND sed
 | 
| 357 |     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
 |