BEGIN { LIMIT="`" FS=LIMIT parts="@ABCDEFGHIJKLMNOPQRSTUVWXYZ" last_tag=" " part_no=0 ind="" low_ind="" line="" entry="" entry_lim=4 no_entry=0 IND_FORMAT="l r" #{{{}}} # {{{ init lowercase field lowercase["A"]="a"; lowercase["B"]="b"; lowercase["C"]="c" lowercase["D"]="d"; lowercase["E"]="e"; lowercase["F"]="f" lowercase["G"]="g"; lowercase["H"]="h"; lowercase["I"]="i" lowercase["J"]="j"; lowercase["K"]="k"; lowercase["L"]="l" lowercase["M"]="m"; lowercase["N"]="n"; lowercase["O"]="o" lowercase["P"]="p"; lowercase["Q"]="q"; lowercase["R"]="r" lowercase["S"]="s"; lowercase["T"]="t"; lowercase["U"]="u" lowercase["V"]="v"; lowercase["W"]="w"; lowercase["X"]="x" lowercase["Y"]="y"; lowercase["Z"]="z" # }}} # {{{ print auto-gen tag printf(".\\%c generated automatically, containing the index data\n",34) # }}} # {{{ print header of table printf(".bp\n") printf(".nH 1 Index\n") printf(".LP\n") printf(".if \\n(gR .2C\n") printf("There are 3 types of indices:\n") printf(".TS\n") printf("center tab(" LIMIT ");\n") printf("l l.\n") printf(" \\fBline\\fP" LIMIT "marks a definition.\n") printf(" \\fIline\\fP" LIMIT "marks an example.\n") printf(" line" LIMIT "marks a normal reference.\n") printf(".TE\n") printf(".if \\n(gR .SM\n") printf(".TS\n") printf("center tab(" LIMIT ");\n") printf("%s.\n",IND_FORMAT) # }}} } { # {{{ handle index if (substr($1,1,1)==" ") in_index=substr($1,2) else in_index=$1 # {{{ set low_in_index to tolower(in_index) low_in_index="" for (i=0; i