0K`y@@cmr10MAKEINDEX(1L)+MAKEINDEX(1L)"V @cmbx10pNAMEp%mak#eindex!",@@cmsy10 m ka kgeneral mpurpose, mformatter-independen$t kindex lprocessor4SYNOPSIS"V@@cmbx10p%makeindex)[c]([g]'[i]'[l]'[o':@@cmti10ind=][pnumg][q]'[r]'[ss le[][tlohg][ idx0Yidx1%idx2>.:.:.]4DESCRIPTIONp%The Cprogram Bmakeindex is Ba Ageneral Cpurpose Dhierarc$hical Cindex Cgenerator; Dit Baccepts Fone Cor Bmore%input les (often produced b"y a text formatter suc$h as TǞEyX (tex(1L)) or trho (1), sorts the en#tries,%and fproduces ian foutput f le gwhic$h fcan gbe gformatted.The hindex gcan gha"v"e gup fto fthree hlev#els h(0, f1,%and 12) 1of 1subitem 4nesting.The 3w#a"y 1in 1whic$h 1w#ords 2are 2 agged 2for 1indexing 2within 1the 1main 1doc-%umen$tisspeci ctotheformatterused;makeindexzdoesnotwautomatetheprocessofselecting%these Iw#ords.As Gthe Goutput Eindex Fis Fhierarc$hical, Fmakeindex can Fbe Fconsidered Icomplimen&tary Eto%the awk`(1)-based make.index(1L) system of Ben$tley and Kernighan, whic$h is speci c to trho (1),%generates non-hierarc%hical indices, and emplo$ys a m#uc#h simpler syn#tax for indicating index en#tries.%Feor killustration lof kuse mwith ltrho 0and kTƞEyX, ksee nthe lsectionK`y@cmr10 nEXAMPLES pbelo#w.4The uformats uof sthe tinput sand soutput t les vare uspeci ed win ta tst#yle u le; ub"y tdefault, uinput tis uassumed%to kbe la k.idx / le, las lgenerated nb"y kL[ALTǞEyX.4Unlessspeci edexplicitlyg,thebasenameofthe rstinput le( idx0>)isusedtodeterminethe%names of other les.Feor eac$h input le name speci ed, a le of that name is sough#t.If this le is%not found and the le name has no extension, the extension .idx is appended.JIf no le with this%name mis lfound, kmakeindex 4aborts.4Feor importan"t notes on ho"w to select index k"eyw$ords, see the documen%t b"y Lamport cited belo#w.%Asanissueseparatefromselectingindexk"eyw$ords,asystematicmec%hanismforplacingindex%terms nin ka kdocumen%t kis lsuggested oin kIndex 1Prhepiarhation 2and 1Prhohchessing, ka kpaper lcited mbelo#w.4OPTIONSp%ctCompress)in"termediate(blanks%(ignoring$leading&and%trailing%blanks&and%tabs).By֞%default, lblanks lin kthe lindex lk"ey lare lretained.c*4grEmplo#yGermanw#ordorderingintheindex,inaccordwithrulessetforthinDIN֞%5007.By default, makeindex Vemplo$ys a w#ord ordering in whic$h precedence is: sym$bols,%n"um#bers, uppercase letters, lo"w#ercase letters.The sequence in German w#ord ordering%is:sym$bols,lo"w#ercaseletters,uppercaseletters,n"um#bers.iAdditionallye,thisoption%enablesUmakeindextoRrecognizeVtheSGermanUTǞEyX-commandsVf).c*4p .num)Setthestartingpagen"um#beroftheoutputindex letobenum(usefulwhenthe֞%index T le Tis Tto Sbe Sformatted Tseparately).The Targumen$t Rnum ma#y Rbe Sn"umerical Uor Rone%of kthe lfollo"wing:4anyl!The mstarting lpage lis lthe llast lsource npage ln"um#ber lplus l1.4ohddnThe starting page is the rst odd page follo"wing the last source page n"um-֞%ber.c*4even`(The 0starting /page /is /the . rst .ev#en .page .follo"wing .the .last .source 0page .n"um-֞%ber.Uh10 kDecem&ber l1991-1-MAKEINDEX(1L)+MAKEINDEX(1L) žpThelastsourcepageisobtainedb"ysearc%hingbac#kw#ardinthelog leforthe rst%instance of a n"um#ber included within paired square brac#k"ets ([.;.:.]).AIf a page n"um#ber%is missing or the log le is not found, no attempt will be made to set the starting page%n"um#ber.The qsource rlog o le pname qis odetermined rb"y nappending othe oextension q.lohg 2to nthe%base mname mof kthe l rst linput k le l( idx0>).c*4qqQuiet Cmode; Csend Dno Bmessages Hto Bstderr`.By Cdefault, Cprogress Eand Berror Cmessages Iare֞%sen$t kto kstderr 1as lw#ell las lto kthe ltranscript m le.c*4ruDisable implicit page range formation; page ranges m#ust be created b"y using explicit֞%rangeoperators;seeSPECIALEFFECTSbelo#w.,Bydefault,threeormoresuccessiv(e%pages mare lautomatically mabbreviated mas la krange l(e.g. l1|5).c*4s lst#yCEmplo#yWstyasWtheWst#yleW leW(noVdefault).TheXen#vironmen$tVv"ariableWINDEXSTYLE֞%de nes nthe lpath kwhere nthe lst#yle l le lshould lbe lfound.c*4t llogD5Emplo#y7lohgas8the8transcript9 le.By8default,8the9 le9name:is9created;b"y8appending֞%the lextension n.ilg /to kthe lbase mname mof kthe l rst linput k le l( idx0>).>4STYLE FILEp%The st#yle  le informs makeindex about the format of the .idx input  les and the in"tended format%of the nal output le; examples appear belo#w.4This le can reside an"ywhere in the path de ned%b"y the en#vironmen$t v"ariable INDEXSTYLE.The st#yle le con#tains a list of b>@@cmmi10 %pairs. There are t"w#o t"ypes of speci ers: input and output. P"airs do not ha"v"e to appear in an"y%particular order.A line begun b"y `%' is a commen&t.In the follo"wing list of speci ers and argu-%men$ts, is an arbitrary string delimited b"y double quotes (".;.:."), is a single let-%ter]em$braced^b"y\single^quotes^('.:.:.'),\and\]is]a[nonnegativ#e\in"teger.The]maxim$um%lengthofais2048.Aliteralbac#kslashorquotem#ustbeescaped(b"yabac#kslash).%An"ything not speci ed in the st#yle le will be assigned a default v"alue, whic$h is sho#wn at the head%of kthe lrigh"tmost mcolumn.!4INPUT STYLE SPECIFIERSAߞ%actual n@%Sym#bol indicating that the next en#try is to appear in the output le.w4argwAclose pRg%Closing mdelimiter nfor kthe lindex len#try kargumen$t.w4argwAopen lf%Opening ldelimiter nfor kthe lindex len#try kargumen$t.w4encap mj%Sym#bol indicating that the rest of the argumen$t list is to be used as%the lencapsulating ncommand nfor kthe lpage ln"um#ber.w4escape lJnn%Sym#bol whic$h escapes the follo"wing letter, unless its preceding letter%isescape.yNote:quoteisusedto escapetheletterwhic$h immedi-%ately ~follo"ws it, ~but ~if ~it ~is preceded b"y ~escape, it ~is treated as a ~ordi-%nary kc#haracter.These ot"w#o ksym$bols lmust /be ldistinct.w4keyword m{"nnindexen%try"%Command whic$h tells makeindex that its argumen$t is an index en#trye.w4level m!%Delimiter ndenoting la knew mlev#el lof ksubitem.w4quote ow"%Note: quote Ois used to escape the letter whic$h immediately follo"ws it,%but Mif Mit Mis Npreceded Qb"y Mescape, Nit Mis Ntreated Oas Ma Lordinary Lc#haracter.%These ot"w#o ksym$bols lmust /be ldistinct.10 kDecem&ber l1991-2-MAKEINDEX(1L)+MAKEINDEX(1L)pprangewAclose pa)%Closing mdelimiter nindicating lthe lend lof kan kexplicit mpage lrange.w4rangewAopen la(%Opening Edelimiter Gindicating Ethe Ebeginning Eof Dan Dexplicit Gpage Frange.6 4OUTPUT STYLE SPECIFIERSAߞ%preamble mn"nnbeginftheindexgnn"%Pream$ble lof koutput k le.w4postamble m^"nnnnnnendftheindexgnn"%P"ostam$ble lof koutput k le.w4setpagewApre x n T"nnnnsetcoun%terfpagegf"%Pre x lof kcommand nwhic$h ksets nthe lstarting lpage ln"um#ber.w4setpagewAsux n'q"gnn"%Sux lof kcommand nwhic$h ksets nthe lstarting lpage ln"um#ber.w4groupwAskip nU="nnnnnnindexspacenn"%Veertical mspace nto kbe linserted nbefore ma knew mgroup kbegins.w4headingswA ag l/0%Flag indicating treatmen%t of new group headers,whic$h are inserted%when before a new group (sym$bols, n"um#bers, and the 26 letters): pos-%itiv"ev"alues cause!anuppercase"letter tobeinserted!bet#w#eenpre x%and sux, and negativ#e v"alues cause a lo"w#ercase letter to be inserted%(default lis l0, kwhic$h kproduces nno kheader).w4headingwApre x n ""%Header mpre x lto kbe linserted nbefore ma knew mletter mbegins.w4symheadwApositive l%"Sym$bols"%Heading lfor ksym$bols lto kbe linserted nif kheadingswA ag is lpositiv#e.w4symheadwAnegative l%"sym%bols"%Heading lfor ksym$bols lto kbe linserted nif kheadingswA ag is lnegativ#e.w4numheadwApositive l%"Num$bers"%Heading lfor kn"um#bers mto kbe linserted nif kheadingswA ag is lpositiv#e.w4numheadwAnegative l%"n#um#bers"%Heading lfor kn"um#bers mto kbe linserted nif kheadingswA ag is lnegativ#e.w4itemwA0 l"nnnnitem m"%Command nto kbe linserted nbet#w#een mt"w#o kprimary l(lev#el l0) kitems.w4itemwA1 l"nn4nnsubitem n"%Command nto kbe linserted nbet#w#een mt"w#o ksecondary n(lev#el l1) kitems.w4itemwA2 l"nnHnnsubsubitem o"%Command nto kbe linserted nbet#w#een mt"w#o klev#el l2 kitems.w4itemwA01j"nn)nnsubitem n"%Command nto kbe linserted nbet#w#een ma klev#el l0 kitem mand ka klev#el l1 kitem.w4itemwAx1 m"nn)nnsubitem n"%Command to be inserted bet#w#een a lev#el 0 item and a lev#el 1 item,%where nthe llev#el l0 kitem mdoes mnot kha"v"e lassociated mpage ln"um#bers.10 kDecem&ber l1991-3-)MAKEINDEX(1L)+MAKEINDEX(1L)ppitemwA12 m"nn)nnsubsubitem o"%Command nto kbe linserted nbet#w#een ma klev#el l1 kitem mand ka klev#el l2 kitem.w4itemwAx2 m"nn)nnsubsubitem o"%Command to be inserted bet#w#een a lev#el 1 item and a lev#el 2 item,%where nthe llev#el l1 kitem mdoes mnot kha"v"e lassociated mpage ln"um#bers.w4delimwA0 l", l"%Delimiter=to:be;inserted=bet#w#een", l"%Delimiter", l"%Delimiter=to:be;inserted=bet#w#een", l"%Delimiter Oto Lbe Minserted Obet#w#een Nt"w#o Lpage Mn"um#bers Nfor Mthe Nsame Pk"ey%in kan"y klev#el l(default: lcomma nfollo"w#ed lb"y ka kblank).w4delimwAr l"--"%Delimiter eto bbe cinserted ebet#w#een dthe cstarting cand aending bpage bn"um-%bers mof ka krange.w4delimwAt l""%Delimiter to be inserted at the end of a page list.\This delimiter has%no ke ect oon ken#tries mwhic$h kha"v"e lno kassociated mpage llist.w4encapwApre x n:"nn"%Firstpartofpre xforthecommandwhic$hencapsulatesthepage%n"um#ber.w4encapwAin x mPF"f"%Second part of pre x for the command whic$h encapsulates the page%n"um#ber.w4encapwAsux nB"g".%Sux lfor kthe lcommand nwhic$h kencapsulates pthe lpage ln"um#ber.w4linewAmax m[572%Maxim#um llength lof ka kline lin kthe loutput, kbey#ond kwhic$h ka kline lwraps.w4indentwAspace n7"ntnt"%Space mto kbe linserted nin kfron"t kof ka kwrapped lline l(default: lt"w#o ktabs).w4indentwAlength oW16%Length lof kindentwAspace (default: l16, kequiv#alen#t kto k2 ktabs).4EXAMPLES/ %TǞEyX EXAMPLEAߞ%The follo"wing example sho#ws a st#yle le called bhohok.ist, whic$h de nes an index for a book whic$h%can lbe lformatted mindependen$tly kof kthe lmain lsource:i/dev/nullq2>jsample.tmp4Some sites will require ditrio instead of psrho .=Tfo lter out an"y gen#uine error messages, in"v"ok"e%grhep(1):p4grepl'^IX:m'isample.tmpr>isample.idxM54CREATING THE INDEX FILE USING U>CʞxSF ENHANCED TROFF/T "V@cmbx10RANSCRIPTAߞ%With {U>CʞxSF {Enhanced ~tro /TRANSCRIPT, the }I option |of |psrho (1L) |can }produce ~both |formatter%output kand kan kindex l le:p4psroffn-msk-Ijsample.inpr-Tpscmsample.txt4If lit kis lwished nto ksuppress othe lformatter moutput:p4psroffn-msk-Ijsample.inpr-Tpscm-tjsample.txtr>i/dev/nullM54COMPLETING THE INDEXAߞ%An"y of the abo"v"e procedures lea#v"es the input for makeindexmin sample.inp.The next step is to%in"v"ok"e lmakeindex:p4makeindexq-sjsample.istrsample.idx4This mlea#v"es mtrho (1)-ready moutput kin kthe l le lsample.ind@.4ORDERINGp%By zdefault, zmakeindex Cassumes worid >orhdering; zif zthe {l option zis {in ze ect, ~letter Aorhdering Ais {used.%In w#ord ordering, a blank precedes an"y letter in the alphabet, whereas in letter ordering, it does%not kcoun#t kat kall.This mis lillustrated mb"y kthe lfollo"wing lexample:p4worid /orhderletter 2orhder%sea mlionseal(10 kDecem&ber l1991-6-P}MAKEINDEX(1L)+MAKEINDEX(1L)؞pseal#sea mlion4Num#bers mare lalw#a"ys lsorted min kn"umeric norder.Feor kinstance,p49 k(nine),123%10 k(ten), lsee nDerek, mBo4Lettersare rstsortedwithoutregardtocase;whenw#ordsareiden#tical,theuppercasev"ersion%precedes pits llo"w#ercase ocoun#terpart.4A special sym$bol is de ned here to be an"y c#haracter not appearing in the union of digits and the%Englishalphabeticc#haracters.P"atternsstartingwithspecialsym$bolspreceden"um#bers,whic$h%precede patterns starting with letters.wAs a special case, a string starting with a digit but mixed%with lnon-digits mis lconsidered oto kbe la kpattern lstarting lwith la kspecial mc#haracter.4SPECIAL EFFECTSp%En"tries msuc$h kasp4\indexentry{alpha}{1}%\indexentry{alpha!beta}{3}%\indexentry{alpha!beta!gamma}{10}4in kthe linput k le lwill lbe lcon#v"erted mtop4\itemmalpha,n118%\subitempbeta,m318%\subsubitemsgamma,n10,4in Hthe Ioutput Hindex I le.Notice Jthat Hthe Ilevelsym$bol H(`!') His Iused Jabo"v"e Ito Hdelimit Jhierarc$hical%lev#els.4It is possible to mak#e an item appear in a designated form b"y using the actualW(`@') operator.%Feor kinstance,p4\indexentry{alpha@{\it~alpha\/}}{1}4will lbecomep4\itemm{\itlalpha\/}, 14after_processing.The`pattern_precedinga`@'^is_used`as_sort_k"eyf,_whereascthe`one`follo"wing`it_is%written to the output le. Note that t"w#o appearances of the same k"eyf, one with and one without%the lactual operator, lare lregarded mas ldistinct 3en#tries.4The mitem, msubitem, nand ksubsubitem o elds mma#y kha"v"e lindividual ksort lk"eys:p4\indexentry{aa@{\it{aa\/}!bb@{\itubb\/}!cc@{\itucc\/}}{1}4This mwill lbe lcon#v"erted mtop4\itemm{\itlaa},l118%\subitemp{\itlbb},l318%\subsubitems{\itlcc},l10,4It"is"possible$to!encapsulate%a!page"n"um#ber"with"a!designated$command%using#the#encap(`j')%operator:p4\indexentry{alpha|bold}{1}4will lbe lcon#v"erted mtop4\itemmalpha,n\bold{1}4where, 1with .a -suitable /de nition .for -TǞEyX, -\bold{n} 5will .expand .to -{\bf.n}.In .this .example, 0the%three]output[attributes]associated]with\page\encapsulation^encapwApre x,_encapwAin x,^and%encapwAsux, correspond to bac#kslash, left brace, and righ"t brace, respectiv$elyf.}This mec%hanism%allo"ws -page ,n"um#bers -to +be ,set -in ,di eren%t ,fon"ts.Feor ,example, /the -page -where /the -de nition -of ,a%k"eyw$ord appears can be in one fon"t, the location of a primary example can be in another fon"t,10 kDecem&ber l1991-7-_ MAKEINDEX(1L)+MAKEINDEX(1L)ppand kother lappearances oin ky"et la kthird kfon"t.4The mencap operator lcan lalso lbe lused mto kcreate ncross nreferences qin kthe lindex:p4\indexentry{alpha|see{beta}}{1}4will lbecomep4\itemmalpha,n\see{beta}{1}4in kthe loutput k le, lwherep4\see{beta}{1}4will lexpand ltop4{\itlsee\/}nbeta4Note lthat kin ka kcross nreference plik"e lthis lthe lpage ln"um#ber ldisappears.4A npair nof nencapconcatenated rwith orangewAopen(`j(') oand orangewAclose(`j)') ocreates san oexplicit%page lrange:p4\indexentry{alpha|(}{1}%\indexentry{alpha|)}{5}4will lbecomep4\itemmalpha,n1|54In#termediatepagesindexedb"ythesamek"eywillbemergedin"totherangeimplicitlyg.Thisis%especially useful when an en#tire section about a particular subject is to be indexed, in whic$h case%only the range opening and closing operators need to be inserted at the beginning and end of the%section.Explicit kpage krange kformation kcan kalso kinclude lan kextra lcommand nto kset mthe lpage lrange%in ka kdesignated nfon"t:p4\indexentry{alpha|(bold}{1}%\indexentry{alpha|)}{5}4will lbecomep4\itemmalpha,n\bold{1--5}4Sev#eral lpoten#tial kproblems nare lw#orth kmen$tioning.First, len#tries mlik"ep4\indexentry{alpha|(}{1}%\indexentry{alpha|bold}{3}%\indexentry{alpha|)}{5}4will lbe lin"terpreted nasp4\itemmalpha,n\bold{3},q1--54but with a w#arning message #in the transcript about encoun$tering an inconsisten&t page encapsula-%tor.An explicit range beginning in a Roman page n"um#ber and ending in Arabic is also considered%an Derror.In Dthis Dinstance, F(if Cpossible) Fthe Drange Dis Dbrok"en Din"to Ct"w#o Csubranges, Fone Din CRoman Eand%the lother lin kArabic.Feor kinstance,p4\indexentry{alpha|(}{i}%\indexentry{alpha}{iv}%\indexentry{alpha}{3}%\indexentry{alpha|)}{7}4will lbe lturned lin"top4\itemmalpha,ni--iv,n3--74with la kw#arning kmessage pin kthe ltranscript m le lcomplaining mabout kan killegal lrange lformation.4Finallye,ev#eryspecialsym$bolmen$tionedinthissectionma#ybeescapedb"ythequoteCoperator%(`"').Th#usx~10 kDecem&ber l1991-8- m/MAKEINDEX(1L)+MAKEINDEX(1L)؞\indexentry{alpha"@beta}{1}4will lactually lbecomep4\itemmalpha@beta, 14as a result of executing makeindex..The quoting po"w#er of quote Wis eliminated if it is immediately%preceded ob"y kescape (`n').Feor kexample,p4\indexentry{f\"ur}{1}4becomesp4\itemmf\"ur,n14whic$h krepresen&ts lan kumlaut-accen'ted l`u' kto kthe lTǞEyX kfamily lof kprocessors.4Ferom zv"ersion {2.11 yof ymakeindex, zthe {quoteoperator {ma#y zquote {any ?c#haracter |in zthe {range {1 z.:.:.%255.$:Characterg0diseexcludedgbecausehitdiseusedfin"ternallyeindthedmakeindex,sourcefcodedasda%string terminator.`With this c#hange, sort k"eys can be created for all eigh#t-bit c#haracters except 0.%The msorting lorder lispKHpunctuation lc#haracters n(in kASCII lorder),%digits,%con#trol kc#haracters n(1 k.:.:. k31),%space n(32),%letters n(ignoring kcase),%c#haracters n127 k.:.:. k255.KHHere 3is 2an 1example 4sho#wing 2the 2indexing 2of 1all 1prin"table 2ASCII 2c#haracters 4other 1than 0letters 3and%digits,,assuming.the,default,TǞEyX+format.Feor+con#v"enience,/the-page-n"um#ber-references2are-the%corresponding kASCII lordinal kv"alues.pKH\indexentry{"u@" (space)}{32}%\indexentry{"!@"!y(exclamationtpoint)}{33}%\indexentry{""@""y(quotationrmark)}{34}%\indexentry{"#@"\#z(sharpnsign)}{35}%\indexentry{"$@"\$z(dollarosign)}{36}%\indexentry{"%@"\%z(percentpsign)}{37}%\indexentry{"&@"\&z(ampersand)}{38}%\indexentry{"<@"$<${(leftmanglembracket)}{60}%\indexentry{"=@"=y(equals)}{61}%\indexentry{">@"$>${(rightnanglembracket)}{62}%\indexentry{"?@"?y(query)}{63}%\indexentry{"@@"@y(atksign)}{64}%\indexentry{"[@"[y(leftmsquarenbracket)}{91}%\indexentry{"\@"\verb=\=(backslash)}{92}%\indexentry{"]@"]y(rightnsquarenbracket)}{93}%\indexentry{"^@"\verb=^=(caret)}{94}%\indexentry{" wA@"\verb=wA=i(underscore)}{95}%\indexentry{"`@"\verb=~=(gravenaccent)}{96}%\indexentry{"{@"\"{{(leftmbrace)}{123}%\indexentry{"|@"\verb="|=(verticalqbar)}{124}%\indexentry{"}@"\"}{(rightnbrace)}{125}%\indexentry{"~@"\verb=~=(tilde)}{126}KHCharacters in the actual elds follo"wing the `@' c#haracter whic$h ha"v"e special signi cance to TǞEyX%m#ust 7be 7represen&ted 7as 7con#trol 6sequences, $k(rightnanglembracket),q62%\itemm?i(query),p63%\itemm@i(atksign),n64%\itemm[i(leftmsquarenbracket),q91%\itemm\verb=\=p(backslash),t92%\itemm]i(rightnsquarenbracket),q93%\itemm\verb=^=p(caret),p94%\itemm\verb=wA=i(underscore),u95%\itemm\verb=~=p(gravenaccent),p96%\itemm\{j(leftmbrace),o123%\itemm\verb=|=p(verticalqbar),m124%\itemm\}j(rightnbrace),o125%\itemm\verb=~=p(tilde),p126KH\indexspaceKH\item1=(space),p320KH\end{theindex}(4FILESp%/usr/lojchal/bin/makeindexdexecutable o le4/usr/lojchal/lib/tex/macrpos/idxmac-amstex.tex۞%TǞEyX kmacro m le lused mb"y kmakeindex%4/usr/lojchal/lib/tex/macrpos/idxmac.tex۞%TǞEyX kmacro m le lused mb"y kmakeindex%4/usr/lojchal/lib/tex/macrpos/makeidx.dooc۞%TǞEyX kmacro m le lused mb"y kmakeindex%4/usr/lojchal/lib/tex/macrpos/makeidx.sty۞%TǞEyX kmacro m le lused mb"y kmakeindex94SEE ALSOp%ditro (1L), llatex(1L), lmak#e.index m(1L), kqsort(3), ltex(1L), ltro (1L)4U>CʞxSF ǞEnhancmehd trho /T ':@cmti10RANSCRIPT | A5n Overviewb, R. Pe. C. Rodgers and Conrad Huang, LSMB%Tfec$hnical lReport k90-2, lUCSF lSc#hool kof kPharmacyg, kSan kFerancisco, n1990.4Index Prhepiarhation and Prhohchessing, P"ehong Chen and Mic#hael A. Harrison, Softwarle: Prhacticke and%ExpierienckeZ, k19(9), m897{915, kSeptem%ber l1988.4A5utomating kIndex hPrhepiarhationj, P"ehong Chen and Mic#hael A. Harrison.Tfec$hnical Report 87/347,%Computer Science Division, Univ"ersit$y of California, Berk$eleyg, 1987 (a L[ALTǞEyX documen%t supplied%with lmakeindex).4MakeIndex:OA5nJIndexMPrhohchessorLforKL[ALTƞEyX,LeslieLamport,Feebruary1987(aL[ALTǞEyXdocumen%tp10 kDecem&ber l1991J-10- MAKEINDEX(1L)+MAKEINDEX(1L)ppsupplied mwith lmakeindex).4ToholsCforCPrintingGIndicjes,JonL.Ben$tleyandBrianW.Kernighan,EleictrionicEPublishingF|%Origination,FDissemination,HandDDesignj,~1(1),~3{18,~June1988~(alsoa"v"ailableas:Computing%Science oTfec$hnical lReport kNo. k128, kAeT&T mBell mLaboratories, mMurra"y kHill, kNJ k07974, k1986).4AUTHORp%P"ehongQChen,RChenR&PHarrisonQIn#ternationalPSystems,SInc."P"aloOAlto,OCalifornia,PUSA%.%Man"ualpageextensiv%elyrevisedandcorrected,andtrho (1)examplescreatedb"yRic$kPe.C.%Rodgers, mUCSF lSc#hool kof kPharmacy m.4ACKNOWLEDGMENTSp%Leslie Lamport con#tributed signi can$tly to the design.YMic#hael Harrison pro"vided v"aluable com-%men$ts 0and 0suggestions.Nelson 2Beebe 1impro#v"ed 1on 0the 1portable 1v"ersion, 2and 0main#tains 1the 1source%distribution for the TǞEyX Users Group.Andreas Brosig con#tributed to the German w#ord ordering.%Themodi cationtothemsJmacrosw#asderiv#edfromamethodproposedb"yRa#viSethiof%AeT&TBellLaboratories.TheLOGvandCONTRIBv lesinthemakeindexzsourcedistribution%record mother lcon#tributions.10 kDecem&ber l1991J-11-0 i K`y@@cmr10"V @cmbx10!",@@cmsy10"V@@cmbx10':@@cmti10K`y@cmr10@@cmmi10