|
|
1.1 ! root 1: .so ../ADM/mac ! 2: .XX index 609 "Index" ! 3: .TL ! 4: Index ! 5: .AU ! 6: L. L. Cherry ! 7: .AI ! 8: .MH ! 9: .AB ! 10: .AE ! 11: .2C ! 12: .NH ! 13: Introduction ! 14: .PP ! 15: Because the index that follows was generated mechanically, ! 16: a description of its layout and contents will help ! 17: you use it more effectively. ! 18: I'll describe how the index is organized, ! 19: how the terms were generated, how the index was generated from ! 20: the terms, and finally, the difficulties. ! 21: .NH ! 22: The Organization ! 23: .PP ! 24: Each of the papers is assigned a nickname that ! 25: is printed in italic to the left of the title in the ! 26: Table of Contents and in the header of the paper. ! 27: So, for example, the paper ! 28: "A System for ! 29: Algorithm Animation" is called \fIanim\fR and ! 30: the paper ``A Troff Tutorial'' is called \fItrofftut\fR. ! 31: In the index the paper nicknames always appear in italics. ! 32: Literals, which may be file names, command names or keywords ! 33: in a language, appear in constant width, i.e. \f(CW/bin\fR, ! 34: \f(CWawk\fR, \f(CWcircle\fR. ! 35: The terms in the index are not fully cross-referenced. ! 36: Each paper appears alphabetically under its nickname, followed by an ! 37: indented mini-index of terms specific to that paper. ! 38: Generally, these terms are not cross-referenced in the top or global level. ! 39: So, for example, the terms \f(CWagain\fR, \f(CWbackward\fR, ! 40: and ``current view'' in \fIanim\fR only appear indented under \fIanim\fR. ! 41: Terms you might look up to determine whether a topic is ! 42: discussed anywhere in this volume, however, are fully cross-referenced, ! 43: like ``Movie Program'' or ``binary search tree.'' ! 44: File names and program names are also indexed globally. ! 45: Terms that would be redundant or useless under the specific ! 46: paper only appear at the global ! 47: level. ! 48: So, ``Algorithm Animation'' is not in the mini-index under \fIanim\fR. ! 49: .NH ! 50: Getting the terms ! 51: .PP ! 52: The terms for the index were generated mechanically ! 53: from the text of the papers. ! 54: For each paper, a file containing the title and headings, repeated noun phrases, ! 55: and distinguished words was generated. ! 56: By distinguished words, I mean those that appear in the paper in ! 57: a distinguishing font like italics, bold or constant width. ! 58: This file was than manually edited to a reasonable list of ! 59: indexing terms. ! 60: Finally, the terms were coded with indexing level (only global, only specific or ! 61: fully cross-referenced) and font information. ! 62: .NH ! 63: Index Generation ! 64: .PP ! 65: Production of the index was completely automatic once the terms were generated ! 66: and edited. ! 67: A form of the \fIdiction\fP program that does pattern matching on English ! 68: text, mapping upper case letters to lower case and punctuation to blanks, ! 69: located the terms in the text of the paper. ! 70: Using this location information, \f(CW.Tm\fR commands ! 71: were inserted in the paper to cause \fItroff\fR to print the page number ! 72: for each term. ! 73: An \fIawk\fR program combined the page numbers for each term and ! 74: generated the global and local versions of the indexing term for each paper. ! 75: For example, in \fIbackup\fR, references to \f(CW/n\fR, the network ! 76: file system, appear in the file generated ! 77: by \fItroff\fR as, ! 78: .P1 ! 79: 596 /n c ! 80: 597 /n c ! 81: 602 /n c ! 82: .P2 ! 83: and become two indexing entries ! 84: .P1 ! 85: /n, backup, 596-597, 602 c ! 86: backup, /n, 596-597, 602 c ! 87: .P2 ! 88: The \f(CWc\fR is a code for constant width font. ! 89: .PP ! 90: Finally the indexes for all of the papers are sorted into one index ! 91: and another \fIawk\fR program merges like terms and adds font changes. ! 92: So for the term \f(CW/n\fR, which is referenced in \fIbackup\fR, \fInetb\fR, and \fIsetup\fR, ! 93: we get ! 94: .DS ! 95: \f(CW/n\fP, \fIbackup\fR, 596-597, 602 ! 96: \fInetb\fR, 519 ! 97: \fIsetup\fR, 499-500 ! 98: .DE ! 99: at the global level and \f(CW/n\fR also appears in the mini-indexes ! 100: for \fIbackup\fR, \fInetb\fR, and \fIsetup\fR. ! 101: .NH ! 102: Difficulties ! 103: .PP ! 104: Because the terms are generated directly from the text ! 105: and the text was written by 40 authors, ! 106: language choices differ among the papers, and hence ! 107: among the terms in the index. ! 108: To locate a paper of interest, you may have to look ! 109: in the vicinity of the term. ! 110: For example, although there are 14 papers that deal with ! 111: ``typesetting'', not all of them explicitly include the term. ! 112: So we have indexing terms ``typeset,'' ``typesetter'' and ! 113: ``typesetter graphics.'' ! 114: .PP ! 115: Terms as they appear in the papers may not be in the same ! 116: font or case as they appear in the index. ! 117: There are several reasons for this. ! 118: First the matching is done solely in lower case ! 119: in order to match terms that begin sentences ! 120: or appear in headings. ! 121: Terms that were derived from headings ! 122: have their upper case letters restored but may appear in the text ! 123: of the paper in lower case as well. ! 124: For some indexing terms case is significant, like the \f(CWd\fR and \f(CWD\fR ! 125: commands in \fIsam\fR, but unfortunately lost. ! 126: Both commands are mapped to lower case. ! 127: Because font changes in the index carry information ! 128: (paper nickname, literal) the font in the index may differ ! 129: from that used in the paper. ! 130: Although most of language papers use constant width font for ! 131: literals, UNIX commands appear in italic. ! 132: In the index UNIX commands are in constant width. ! 133: .PP ! 134: Where possible, indexing terms are matched in programming ! 135: examples as well as in the text of the papers. ! 136: For some terms, like the \f(CWif\fR statement in \fIspin\fR, ! 137: this is not possible without matching every occurrence ! 138: of the word ``if'' in the text. ! 139: .PP ! 140: Finally, the page number of the term in the index may be off by one, ! 141: referring to the page before the actual occurrence of the term. ! 142: When the terms are inserted in the text of the papers ! 143: for \fItroff\fR to compute their page numbers, they are ! 144: added in front of the sentence in which they occur. ! 145: If this sentence begins on the preceding page, then ! 146: the term will be attributed to that page rather than ! 147: the one on which it physically appears. ! 148: .PP ! 149: If you remember to look in the vicinity of ! 150: the term you're looking for in the index and not ! 151: expect the font or case to be identical in the paper, ! 152: you should find the information you want in this volume. ! 153: .NH ! 154: Acknowledgements ! 155: .PP ! 156: I am indebted to Doug McIlroy, N. Peter Nelson ! 157: and Lloyd Nakatani for looking at early ! 158: versions of the index and for their helpful suggestions ! 159: on its form. ! 160: .... ! 161: .... augmented term in index - 5620 ->5620 terminal ! 162: ..... sometimes lc used to enhence folding of terms
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.